/* Activitats amb edicions (Cangur, Premi Maria Antònia Canals, ESTALMAT): mateixa estètica que la portada. */
.semcv-act { --a-blau: #1d4f91; --a-pissarra: #3d6081; --a-groc: #f4b200; --a-marina: #1B2A4E; --a-vora: #d0d9e6; --a-gris: #5b6474; --a-fons: #f6f8fb; max-width: 1100px; margin: 0 auto 28px; color: #1d2327; }
.semcv-act-cap { display: flex; gap: 24px; align-items: center; background: #fff; border: 1px solid var(--a-vora); border-top: 5px solid var(--a-groc); border-radius: 12px; padding: 22px 26px; box-shadow: 0 6px 18px rgba(27, 42, 78, .06); margin-bottom: 26px; }
.semcv-act-logo { width: 200px; max-width: 34%; height: auto; border-radius: 8px; object-fit: contain; flex: none; }
.semcv-act-pres { flex: 1; min-width: 0; }
.semcv-act-pres h2 { margin: 0 0 2px; color: var(--a-marina); font-size: 28px; line-height: 1.2; }
.semcv-act-sub { margin: 0 0 12px; color: var(--a-blau); font-weight: 600; }
.semcv-act-intro p { margin: 0 0 10px; line-height: 1.6; }
.semcv-act-enllacos { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; }
.semcv-act-enllacos a, .semcv-act-enllacos button { cursor: pointer; font-family: inherit; line-height: inherit; border: 0; display: inline-block; padding: 7px 14px; border-radius: 999px; background: var(--a-blau); color: #fff !important; text-decoration: none; font-weight: 600; font-size: 14px; }
.semcv-act-enllacos .correu { background: #fff; color: var(--a-blau) !important; border: 1px solid var(--a-blau); }
.semcv-act-enllacos a:hover, .semcv-act-enllacos button:hover { background: var(--a-marina); color: #fff !important; }
.semcv-act-tit { position: relative; font-size: 22px; color: var(--a-marina); margin: 0 0 14px; padding-bottom: 8px; }
.semcv-act-tit::after { content: ""; position: absolute; left: 0; bottom: 0; width: 56px; height: 4px; border-radius: 2px; background: var(--a-groc); }
.semcv-act-actual, .semcv-act-anteriors { margin-bottom: 28px; }
.semcv-act-edicio { background: #fff; border: 1px solid var(--a-vora); border-radius: 12px; padding: 20px 24px; box-shadow: 0 4px 14px rgba(27, 42, 78, .05); }
.semcv-act-edicio header { margin-bottom: 10px; }
.semcv-act-any { display: inline-block; background: var(--a-marina); color: #fff; font-weight: 700; font-size: 13px; padding: 3px 12px; border-radius: 999px; border-bottom: 2px solid var(--a-groc); }
.semcv-act-edicio h3 { margin: 8px 0 4px; font-size: 20px; color: var(--a-blau); }
.semcv-act-data { margin: 0; color: var(--a-gris); font-weight: 600; }
.semcv-act-data .prop { margin-left: 6px; background: #fff4d6; color: #7a5600; font-size: 12px; padding: 2px 8px; border-radius: 999px; }
.semcv-act-cos { display: flex; gap: 20px; align-items: flex-start; }
.semcv-act-img { width: 260px; max-width: 40%; border-radius: 8px; flex: none; }
.semcv-act-text { flex: 1; min-width: 0; line-height: 1.6; }
.semcv-act-text ul { margin: 6px 0 12px 20px; }
.semcv-act-docs { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; margin-top: 14px; }
.semcv-act-doc { display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: var(--a-fons); border: 1px solid var(--a-vora); border-radius: 8px; text-decoration: none; color: var(--a-marina) !important; font-weight: 600; font-size: 14px; }
.semcv-act-doc:hover { border-color: var(--a-blau); background: #eef3fa; }
.semcv-act-doc .ico { flex: none; width: 42px; height: 42px; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; color: #fff; background: var(--a-pissarra); }
.semcv-act-doc .ico.e-pdf { background: #c0392b; }
.semcv-act-doc .ico.e-web { background: var(--a-blau); }
.semcv-act-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.semcv-act-tabs button { cursor: pointer; padding: 7px 16px; border-radius: 999px; border: 1px solid var(--a-vora); background: #fff; color: var(--a-marina); font-weight: 600; font-size: 14px; }
.semcv-act-tabs button[aria-selected="true"] { background: var(--a-blau); border-color: var(--a-blau); color: #fff; }
.semcv-act-buit { color: var(--a-gris); }
@media (max-width: 700px) {
	.semcv-act-cap, .semcv-act-cos { flex-direction: column; align-items: stretch; }
	.semcv-act-logo, .semcv-act-img { max-width: 100%; width: auto; align-self: center; }
	.semcv-act-cap { padding: 18px; }
}

/* Fases de l'Olimpíada per província ([semcv_fase]). */
.semcv-fase-cap { flex-direction: column; align-items: stretch; padding: 0; overflow: hidden; }
.semcv-fase-banner { display: block; width: 100%; max-height: 260px; object-fit: cover; }
.semcv-fase-cap .semcv-act-pres { padding: 18px 26px 22px; }
.semcv-fase-passos { list-style: none; margin: 0 0 18px; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); gap: 10px; }
.semcv-fase-passos li { position: relative; margin: 0 !important; padding: 0; list-style: none; }
.semcv-fase-passos a { box-sizing: border-box; }
.semcv-fase-passos a { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 12px 14px; border-radius: 10px; border: 1px solid var(--a-vora); background: #fff; text-decoration: none !important; color: var(--a-marina) !important; font-weight: 700; font-size: 14px; line-height: 1.3; }
.semcv-fase-passos .ic { font-size: 22px; }
.semcv-fase-passos small { font-weight: 600; color: var(--a-gris); font-size: 12px; }
.semcv-fase-passos li.fet a { border-color: var(--a-blau); border-bottom: 4px solid var(--a-groc); box-shadow: 0 4px 12px rgba(27, 42, 78, .07); }
.semcv-fase-passos li.fet a:hover { background: #eef3fa; }
.semcv-fase-passos li.pendent a { background: var(--a-fons); color: var(--a-gris) !important; border-style: dashed; pointer-events: none; }
.semcv-fase-passos li.pendent .ic { filter: grayscale(1); opacity: .6; }
.semcv-fase-etapa { scroll-margin-top: 90px; display: grid; gap: 14px; margin-bottom: 14px; }
.semcv-fase-noticia { background: #fff; border: 1px solid var(--a-vora); border-left: 5px solid var(--a-blau); border-radius: 12px; padding: 18px 22px; box-shadow: 0 4px 14px rgba(27, 42, 78, .05); }
.semcv-fase-noticia.e-guanyadors, .semcv-fase-noticia.e-guanyadors_p { border-left-color: var(--a-groc); }
.semcv-fase-noticia.e-autonomica { border-left-color: var(--a-marina); }
.semcv-fase-noticia.e-problemes, .semcv-fase-noticia.e-altres { border-left-color: var(--a-pissarra); }
.semcv-fase-noticia header { margin-bottom: 10px; }
.semcv-fase-etiq { display: inline-block; background: var(--a-fons); color: var(--a-marina); font-weight: 700; font-size: 13px; padding: 3px 12px; border-radius: 999px; border: 1px solid var(--a-vora); }
.semcv-fase-noticia h4 { margin: 8px 0 4px; font-size: 20px; color: var(--a-blau); line-height: 1.3; }
.semcv-fase-meta { margin: 0; color: var(--a-gris); font-weight: 600; line-height: 1.6; }
.semcv-fase-meta .prop { margin-left: 6px; background: #fff4d6; color: #7a5600; font-size: 12px; padding: 2px 8px; border-radius: 999px; }
.semcv-fase-problemes { margin-bottom: 28px; }
.semcv-fase-problemes .semcv-act-doc .ico { font-size: 12px; width: 52px; }

/* Sense l'espai que deixa el tema entre la imatge de capçalera i la pàgina de l'activitat. */
:is(p:empty, p:has(> br:only-child), .wp-block-spacer):has(+ .semcv-act, + p > .semcv-act) { display: none !important; }
p:has(> .semcv-act) { margin: 0 !important; }
.section-container:has(.semcv-act), .gdlr-item-start-content:has(.semcv-act) { padding-top: 10px !important; }
.gdlr-full-size-wrapper:has(+ .section-container .semcv-act) { padding-bottom: 0 !important; }

/* Totes les edicions amb la mateixa lletra, encara que el text s'haja apegat amb un altre format. */
.semcv-act-text, .semcv-act-intro { font-family: inherit; font-size: 16px; color: #1d2327; }
.semcv-act-text *, .semcv-act-intro * { font-family: inherit !important; font-size: inherit !important; line-height: inherit !important; color: inherit !important; background: transparent !important; }
.semcv-act-text p { margin: 0 0 10px; }
.semcv-act-text a, .semcv-act-intro a { color: var(--a-blau) !important; }

/* Logo de Matemàtiques al carrer: és apaisat, un poc més ample. */
.semcv-act-carrer .semcv-act-logo { width: 280px; max-width: 38%; border-radius: 0; }
