/*
Theme Name: CN Vallirana
Theme URI: https://cnvallirana.cat/
Description: Tema fill de Hello Elementor per al Club Natació Vallirana (sistema de disseny Claude Design, set 2026)
Author: Damos en el Blanco
Template: hello-elementor
Version: 1.0.0
Text Domain: cnv-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* =====================================================================
   1. TOKENS — copiats de design/tokens/*.css (CN Vallirana DS)
   ===================================================================== */
:root{
--cnv-red:#E5101A;--cnv-red-700:#A70B12;--cnv-red-600:#C60D16;--cnv-red-200:#F7A7AB;--cnv-red-050:#FDECEE;
--cnv-ink:#101114;--cnv-ink-800:#1C1E23;--cnv-ink-700:#33363D;--cnv-ink-500:#5C616B;--cnv-ink-300:#9AA0AA;
--cnv-white:#FFFFFF;--cnv-paper:#F4F5F7;--cnv-line:#E2E4E8;
--cnv-aigua:#0E5C9C;--cnv-aigua-700:#0A4577;--cnv-aigua-300:#7FB6DE;--cnv-aigua-050:#EBF3FA;
--cnv-verd:#1E8E5A;--cnv-groc:#E0A82E;--cnv-alerta:#C60D16;
--text-strong:var(--cnv-ink);--text-body:var(--cnv-ink-700);--text-muted:var(--cnv-ink-500);--text-invert:var(--cnv-white);
--text-accent:var(--cnv-red);--text-link:var(--cnv-red);--text-link-hover:var(--cnv-red-700);
--surface-page:var(--cnv-white);--surface-card:var(--cnv-white);--surface-sunken:var(--cnv-paper);--surface-ink:var(--cnv-ink);
--surface-accent:var(--cnv-red);--surface-accent-soft:var(--cnv-red-050);--surface-aigua:var(--cnv-aigua);--surface-aigua-soft:var(--cnv-aigua-050);
--border-subtle:var(--cnv-line);--border-strong:var(--cnv-ink);--border-accent:var(--cnv-red);--focus-ring:var(--cnv-aigua);
--overlay-ink:rgba(16,17,20,.62);
--font-display:"Archivo","Helvetica Neue",Helvetica,sans-serif;
--font-body:"Barlow","Helvetica Neue",Helvetica,sans-serif;
--font-condensed:"Barlow Condensed","Archivo Narrow",sans-serif;
--font-mono:"JetBrains Mono",ui-monospace,monospace;
--text-xs:12px;--text-sm:14px;--text-base:16px;--text-md:18px;--text-lg:21px;--text-xl:26px;--text-2xl:32px;--text-3xl:40px;--text-4xl:52px;--text-5xl:66px;--text-6xl:84px;
--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-black:800;
--leading-tight:0.98;--leading-snug:1.12;--leading-normal:1.5;--leading-relaxed:1.65;
--tracking-display:-0.02em;--tracking-label:0.08em;--tracking-eyebrow:0.14em;
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;
--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-pill:999px;
--border-hairline:1px;--border-thick:2px;--border-rule:4px;
--container-max:1200px;--container-narrow:760px;--gutter:24px;--section-y:clamp(48px,7vw,112px);--header-h:76px;
--shadow-card:0 1px 2px rgba(16,17,20,.06),0 8px 20px rgba(16,17,20,.06);
--shadow-card-hover:0 2px 4px rgba(16,17,20,.08),0 16px 32px rgba(16,17,20,.12);
--shadow-sticky:0 1px 0 rgba(16,17,20,.08);
--protect-bottom:linear-gradient(to top,rgba(16,17,20,.82) 0%,rgba(16,17,20,.45) 45%,rgba(16,17,20,0) 100%);
--duration-fast:120ms;--duration-base:200ms;--duration-slow:340ms;--ease-out:cubic-bezier(.22,.7,.3,1);
}

/* =====================================================================
   2. BASE
   ===================================================================== */
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}
body{background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-strong);letter-spacing:var(--tracking-display);line-height:var(--leading-snug);margin:0;text-wrap:balance}
h1{font-size:var(--text-4xl);font-weight:var(--weight-black)}
h2{font-size:var(--text-3xl);font-weight:var(--weight-bold)}
h3{font-size:var(--text-xl);font-weight:var(--weight-bold)}
h4{font-size:var(--text-md);font-weight:var(--weight-semibold)}
p{margin:0}
a{color:var(--text-link);text-decoration:none;font-weight:var(--weight-medium);transition:color var(--duration-fast) var(--ease-out)}
a:hover{color:var(--text-link-hover);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
img{display:block;max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
::selection{background:var(--cnv-red);color:#fff}
.cnv-tabular,.cnv-table{font-variant-numeric:tabular-nums}
.elementor-widget-text-editor{color:var(--text-body)}
.elementor-widget-text-editor p+p,.elementor-widget-text-editor ul+p,.elementor-widget-text-editor p+ul{margin-top:1em}
.elementor-widget-text-editor ul,.elementor-widget-text-editor ol{padding-left:1.25em;margin:0}
.elementor-widget-text-editor li+li{margin-top:.35em}
.elementor-widget-text-editor h2,.elementor-widget-text-editor h3,.elementor-widget-text-editor h4{margin:1.4em 0 .5em}
.elementor-widget-text-editor strong{font-weight:var(--weight-semibold);color:var(--text-strong)}
.elementor-widget-text-editor a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
/* Els contenidors de secció apliquen el gutter; res de padding per defecte d'Elementor. */
.e-con.cnv-section{--padding-top:var(--section-y);--padding-bottom:var(--section-y)}
.cnv-paper{background:var(--surface-sunken)}
.cnv-ink{background:var(--surface-ink);color:rgba(255,255,255,.82)}
.cnv-ink h1,.cnv-ink h2,.cnv-ink h3,.cnv-ink .elementor-heading-title,.cnv-ink .elementor-widget-text-editor{color:var(--cnv-white)}
.cnv-ink .cnv-muted,.cnv-ink .cnv-muted p,.cnv-ink .cnv-lead,.cnv-ink .cnv-lead p{color:rgba(255,255,255,.82)}
.cnv-rule-top{border-top:var(--border-rule) solid var(--cnv-red)}
.cnv-hairline-top{border-top:1px solid var(--border-subtle)}

/* =====================================================================
   3. TIPOGRAFIA (headings d'Elementor)
   ===================================================================== */
.cnv-h1 .elementor-heading-title{font-size:clamp(36px,5vw,var(--text-4xl));font-weight:var(--weight-black);line-height:var(--leading-snug);letter-spacing:var(--tracking-display);max-width:22ch}
.cnv-h2 .elementor-heading-title{font-size:clamp(28px,3.4vw,var(--text-3xl));font-weight:var(--weight-black);line-height:var(--leading-snug);letter-spacing:var(--tracking-display);max-width:24ch}
.cnv-h3 .elementor-heading-title{font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:var(--leading-snug);letter-spacing:var(--tracking-display)}
.cnv-h4 .elementor-heading-title{font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}
.cnv-hero-title .elementor-heading-title{font-size:clamp(40px,6vw,84px);font-weight:var(--weight-black);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);color:var(--cnv-white);max-width:20ch}
.cnv-center .elementor-heading-title,.cnv-center{text-align:center}
.cnv-center .elementor-heading-title{margin-left:auto;margin-right:auto}
.cnv-eyebrow .elementor-heading-title{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);font-weight:var(--weight-bold);font-size:var(--text-sm);color:var(--cnv-ink-500);line-height:1.2}
.cnv-eyebrow--red .elementor-heading-title{color:var(--cnv-red)}
.cnv-eyebrow--box .elementor-heading-title{display:inline-block;background:var(--cnv-red);color:var(--cnv-white);padding:5px 10px 4px}
.cnv-ink .cnv-eyebrow .elementor-heading-title{color:var(--cnv-red-200)}
.cnv-claim .elementor-heading-title{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:var(--weight-semibold);font-size:var(--text-lg);color:rgba(255,255,255,.88)}
.cnv-lead,.cnv-lead p{font-size:var(--text-md);color:var(--text-muted);max-width:58ch}
.cnv-prose,.cnv-prose p{max-width:62ch;font-size:var(--text-md);line-height:var(--leading-relaxed)}
.cnv-muted,.cnv-muted p,.cnv-muted .elementor-heading-title{color:var(--text-muted)}
.cnv-small,.cnv-small p{font-size:var(--text-sm)}
.cnv-caption,.cnv-caption p,.cnv-caption .elementor-heading-title{font-size:var(--text-sm);color:var(--text-muted)}
.cnv-label .elementor-heading-title{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:var(--weight-bold);font-size:var(--text-sm);color:var(--text-muted)}
.cnv-label--strong .elementor-heading-title{color:var(--cnv-white)}
.cnv-mono,.cnv-mono p{font-family:var(--font-mono);font-size:var(--text-sm)}
/* SectionHeading: el filet vermell de 4 px va dins del pretítol (no al contenidor: Elementor hi posa els seus pseudo-elements) */
.cnv-sh .cnv-eyebrow .elementor-heading-title::before{content:"";display:block;width:56px;height:var(--border-rule);background:var(--cnv-red);margin-bottom:var(--space-3)}
.cnv-sh--norule .cnv-eyebrow .elementor-heading-title::before{display:none}
.cnv-center .cnv-eyebrow .elementor-heading-title::before{margin-left:auto;margin-right:auto}
.cnv-eyebrow .elementor-heading-title{line-height:1.3}

/* =====================================================================
   4. BOTONS
   ===================================================================== */
.elementor-widget-button .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-condensed);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-label);font-size:var(--text-base);line-height:1;padding:12px 22px;border:2px solid var(--cnv-red);border-radius:var(--radius-sm);background:var(--cnv-red);color:var(--cnv-white);white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}
.elementor-widget-button .elementor-button:hover,.elementor-widget-button .elementor-button:focus{background:var(--cnv-red-700);border-color:var(--cnv-red-700);color:var(--cnv-white);text-decoration:none}
.elementor-widget-button .elementor-button:active{transform:translateY(1px)}
.elementor-widget-button .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:var(--space-2)}
.elementor-widget-button .elementor-button-icon{display:inline-flex;line-height:0}
.elementor-widget-button .elementor-button-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.cnv-btn--secondary .elementor-button{background:transparent;color:var(--cnv-ink);border-color:var(--cnv-ink)}
.cnv-btn--secondary .elementor-button:hover{background:var(--cnv-ink);color:var(--cnv-white);border-color:var(--cnv-ink)}
.cnv-btn--ghost .elementor-button{background:transparent;color:var(--cnv-ink);border-color:transparent}
.cnv-btn--ghost .elementor-button:hover{background:var(--cnv-paper);color:var(--cnv-ink);border-color:transparent}
.cnv-btn--inverse .elementor-button{background:var(--cnv-white);color:var(--cnv-ink);border-color:var(--cnv-white)}
.cnv-btn--inverse .elementor-button:hover{background:transparent;color:var(--cnv-white);border-color:var(--cnv-white)}
.cnv-btn--outline-white .elementor-button{background:transparent;color:var(--cnv-white);border-color:var(--cnv-white)}
.cnv-btn--outline-white .elementor-button:hover{background:var(--cnv-white);color:var(--cnv-ink)}
.cnv-btn--sm .elementor-button{padding:8px 14px;font-size:var(--text-sm)}
.cnv-btn--sm .elementor-button-icon svg{width:16px;height:16px}
.cnv-btn--lg .elementor-button{padding:16px 30px;font-size:var(--text-md)}
.cnv-btn--lg .elementor-button-icon svg{width:20px;height:20px}
.cnv-ink .cnv-btn--secondary .elementor-button{color:var(--cnv-white);border-color:var(--cnv-white)}
.cnv-ink .cnv-btn--secondary .elementor-button:hover{background:var(--cnv-white);color:var(--cnv-ink)}

/* =====================================================================
   5. ICONES (Lucide via SVG a la mediateca)
   ===================================================================== */
.cnv-icon .elementor-icon{display:inline-flex;line-height:0;color:var(--cnv-red)}
.cnv-icon .elementor-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2}
.cnv-icon--brand .elementor-icon svg{fill:currentColor;stroke:none}
.cnv-icon--ink .elementor-icon{color:var(--cnv-ink)}
.cnv-icon--white .elementor-icon{color:var(--cnv-white)}
.cnv-icon--muted .elementor-icon{color:var(--text-muted)}
.cnv-icon--aigua .elementor-icon{color:var(--cnv-aigua)}
.cnv-icon--sm .elementor-icon svg{width:16px;height:16px}
.cnv-icon--md .elementor-icon svg{width:20px;height:20px}
.cnv-icon--lg .elementor-icon svg{width:28px;height:28px}
.cnv-icon a.elementor-icon:hover{color:var(--cnv-red-700)}
/* IconButton (icona amb enllaç dins d'un quadrat) */
.cnv-iconbtn .elementor-icon{width:40px;height:40px;align-items:center;justify-content:center;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--cnv-ink);transition:background var(--duration-fast) var(--ease-out)}
.cnv-iconbtn .elementor-icon svg{width:18px;height:18px}
.cnv-iconbtn a.elementor-icon:hover{background:var(--cnv-paper);color:var(--cnv-ink)}
.cnv-iconbtn--inverse .elementor-icon{border-color:rgba(255,255,255,.3);color:var(--cnv-white)}
.cnv-iconbtn--inverse a.elementor-icon:hover{background:rgba(255,255,255,.1);color:var(--cnv-white)}

/* =====================================================================
   6. TAGS, BADGES, NOTICE
   ===================================================================== */
.cnv-tag .elementor-heading-title,.cnv-tag-span{display:inline-flex;align-items:center;padding:4px 8px 3px;border-radius:var(--radius-xs);font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:var(--weight-bold);font-size:var(--text-xs);line-height:1.2;white-space:nowrap;background:var(--cnv-paper);color:var(--cnv-ink-700)}
.cnv-tag--red .elementor-heading-title{background:var(--cnv-red);color:var(--cnv-white)}
.cnv-tag--redSoft .elementor-heading-title{background:var(--cnv-red-050);color:var(--cnv-red-700)}
.cnv-tag--aigua .elementor-heading-title{background:var(--cnv-aigua);color:var(--cnv-white)}
.cnv-tag--aiguaSoft .elementor-heading-title{background:var(--cnv-aigua-050);color:var(--cnv-aigua-700)}
.cnv-tag--ink .elementor-heading-title{background:var(--cnv-ink);color:var(--cnv-white)}
.cnv-notice{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4) var(--space-5);border:1px solid var(--cnv-aigua-300);border-left:4px solid var(--cnv-aigua);border-radius:var(--radius-md);background:var(--cnv-aigua-050)}
.cnv-notice .cnv-icon .elementor-icon{color:var(--cnv-aigua)}
.cnv-notice--alert{border-color:var(--cnv-red-200);border-left-color:var(--cnv-red);background:var(--cnv-red-050)}
.cnv-notice--alert .cnv-icon .elementor-icon{color:var(--cnv-red)}
.cnv-notice__title .elementor-heading-title{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-base);color:var(--text-strong)}
.cnv-notice .elementor-widget-text-editor,.cnv-notice .elementor-widget-text-editor p{font-size:var(--text-sm);color:var(--text-body)}

/* =====================================================================
   7. TARGETES: card base, quick links, valors, notícies, stats, docs, resultats
   ===================================================================== */
.cnv-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}
.cnv-card--hover{transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}
.cnv-card--hover:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}
a.e-con:hover,a.e-con:hover *{text-decoration:none}
.cnv-quick__title .elementor-heading-title{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-md);color:var(--text-strong)}
.cnv-value{border-top:var(--border-rule) solid var(--cnv-red)}
.cnv-value .cnv-h3 .elementor-heading-title{font-weight:var(--weight-black)}
.cnv-stat__value .elementor-heading-title{font-family:var(--font-condensed);font-weight:var(--weight-bold);font-size:clamp(48px,6vw,var(--text-5xl));line-height:.92;letter-spacing:-.01em;color:var(--cnv-red);font-variant-numeric:tabular-nums}
.cnv-stat__label .elementor-heading-title{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--text-muted)}
.cnv-ink .cnv-stat__value .elementor-heading-title{color:var(--cnv-white)}
.cnv-ink .cnv-stat__label .elementor-heading-title{color:rgba(255,255,255,.72)}
/* Document list */
.cnv-doc{background:var(--cnv-white);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:box-shadow var(--duration-base) var(--ease-out)}
.cnv-doc:hover{box-shadow:var(--shadow-card)}
.cnv-doc__title .elementor-heading-title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-base);color:var(--text-strong)}
.cnv-doc__meta .elementor-heading-title{font-size:var(--text-sm);color:var(--text-muted);font-family:var(--font-body);font-weight:400}
/* Results list */
.cnv-results{border-top:1px solid var(--border-subtle)}
.cnv-result{border-bottom:1px solid var(--border-subtle)}
.cnv-result:hover{background:var(--cnv-paper)}
.cnv-result__title .elementor-heading-title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-base);color:var(--text-strong)}
.cnv-result__src .elementor-heading-title{font-size:var(--text-sm);color:var(--text-muted);font-family:var(--font-body);font-weight:400;white-space:nowrap}
/* Media: imatges amb ràtio */
.cnv-media .elementor-widget-container,.cnv-media figure{overflow:hidden;background:var(--cnv-paper);line-height:0}
.cnv-media img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10}
.cnv-media--43 img{aspect-ratio:4/3}
.cnv-media--45 img{aspect-ratio:4/5}
.cnv-media--11 img{aspect-ratio:1/1}
.cnv-media--auto img{aspect-ratio:auto;object-fit:contain;background:var(--cnv-white)}
.cnv-media--r8 .elementor-widget-container,.cnv-media--r8 img{border-radius:var(--radius-md)}
.cnv-media figcaption{font-size:var(--text-sm);color:var(--text-muted);padding-top:var(--space-2);line-height:1.4}
/* Instagram: graella quadrada */
.cnv-ig-grid .cnv-media img{aspect-ratio:1/1}
.cnv-ig-grid .cnv-media .elementor-widget-container{border-radius:var(--radius-md)}
.cnv-ig-handle .elementor-heading-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-display)}
#sb_instagram{padding:0!important}
/* Sponsors */
.cnv-sponsor{background:var(--cnv-white);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-5);min-height:120px;display:flex;align-items:center;justify-content:center}
.cnv-sponsor img{max-height:80px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.8;transition:filter var(--duration-base) var(--ease-out),opacity var(--duration-base) var(--ease-out)}
.cnv-sponsor:hover img{filter:none;opacity:1}

/* =====================================================================
   8. TAULES (horaris, equip tècnic, junta)
   ===================================================================== */
.cnv-table{overflow-x:auto}
.cnv-table table{width:100%;border-collapse:separate;border-spacing:0;min-width:560px;font-size:var(--text-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;background:var(--cnv-white)}
.cnv-table caption{caption-side:top;text-align:left;padding-bottom:var(--space-3);font-size:var(--text-sm);color:var(--text-muted)}
.cnv-table th{text-align:left;padding:12px var(--space-4);background:var(--cnv-ink);color:var(--cnv-white);font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-size:var(--text-sm);font-weight:var(--weight-bold);white-space:nowrap}
.cnv-table th:first-child{border-left:4px solid var(--cnv-red)}
.cnv-table td{padding:12px var(--space-4);border-bottom:1px solid var(--border-subtle);color:var(--text-body);vertical-align:top;line-height:1.45}
.cnv-table tbody tr:last-child td{border-bottom:0}
.cnv-table tbody tr{transition:background var(--duration-fast) var(--ease-out)}
.cnv-table tbody tr:hover{background:var(--cnv-aigua-050)}
.cnv-table td:first-child{color:var(--text-strong);font-weight:var(--weight-semibold);white-space:nowrap;font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.01em}
.cnv-table td:nth-child(2){min-width:12ch}
.cnv-table .t{font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--text-strong);white-space:nowrap;min-width:9.5ch}
.cnv-table .s{display:flex;align-items:baseline;gap:10px;padding:5px 0}
.cnv-table .s+.s{border-top:1px dashed var(--border-subtle)}
.cnv-table .l{color:var(--text-body)}
.cnv-table .k,.cnv-agenda .k{display:inline-block;flex:0 0 auto;padding:2px 7px 1px;border-radius:var(--radius-xs);font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-size:11px;font-weight:var(--weight-bold);line-height:1.3;background:var(--cnv-red-050);color:var(--cnv-red-700)}
.cnv-table .k--wp,.cnv-agenda .k--wp{background:var(--cnv-aigua-050);color:var(--cnv-aigua-700)}
.cnv-table .k--fx{background:var(--cnv-paper);color:var(--cnv-ink-500)}
.cnv-table .k--casa,.cnv-agenda .k--casa{background:var(--cnv-red);color:var(--cnv-white)}
.cnv-table .k--fora,.cnv-agenda .k--fora{background:var(--cnv-white);color:var(--cnv-ink-700);box-shadow:inset 0 0 0 1px var(--border-subtle)}
.cnv-table .k--comp,.cnv-agenda .k--comp{background:var(--cnv-white);color:var(--cnv-aigua-700);box-shadow:inset 0 0 0 1px var(--cnv-aigua-300)}
.cnv-table .k--club,.cnv-agenda .k--club{background:var(--cnv-ink);color:var(--cnv-white)}
.cnv-table .k--pendent,.cnv-agenda .k--pendent{background:var(--cnv-groc);color:var(--cnv-ink)}
.cnv-table .k--muted,.cnv-agenda .k--muted{background:var(--cnv-paper);color:var(--text-muted)}
.cnv-table .k--festa,.cnv-agenda .k--festa{background:var(--cnv-red-050);color:var(--cnv-red-700)}
.cnv-table .muted{color:var(--text-muted)}
.cnv-table--compact table{min-width:0}
.cnv-table--compact td:first-child{width:11ch}
.cnv-legend,.cnv-legend p{font-size:var(--text-sm);color:var(--text-muted);display:flex;flex-wrap:wrap;align-items:center;gap:8px}
@media (max-width:640px){
  .cnv-table--compact table,.cnv-table--compact tbody,.cnv-table--compact tr,.cnv-table--compact td{display:block;width:100%}
  .cnv-table--compact thead{display:none}
  .cnv-table--compact caption{display:block;width:100%}
  .cnv-table--compact td:first-child{width:auto;background:var(--cnv-paper);border-bottom:0;padding:8px var(--space-4) 6px;font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-size:var(--text-sm)}
  .cnv-table--compact td:first-child::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--cnv-red);margin-right:8px;vertical-align:middle}
  .cnv-table--compact td+td{padding:6px var(--space-4) 10px}
  .cnv-table .s{flex-wrap:wrap;gap:6px 10px}
  .cnv-table .l{flex-basis:100%}
}

/* =====================================================================
   9. ACORDIÓ (widget clàssic d'Elementor), SUB-NAV, PESTANYES
   ===================================================================== */
.cnv-accordion .elementor-accordion{border-top:1px solid var(--border-subtle)}
.cnv-accordion .elementor-accordion-item{border:0;border-bottom:1px solid var(--border-subtle)}
.cnv-accordion .elementor-tab-title{padding:var(--space-5) 0;font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-md);color:var(--text-strong);border:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.cnv-accordion .elementor-tab-title.elementor-active{color:var(--cnv-red)}
.cnv-accordion .elementor-tab-title .elementor-accordion-icon{order:2;color:inherit;width:auto}
.cnv-accordion .elementor-tab-title .elementor-accordion-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;transition:transform var(--duration-base) var(--ease-out)}
.cnv-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon svg{transform:rotate(180deg)}
.cnv-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-right{float:none}
.cnv-accordion .elementor-tab-content{border:0;padding:0 0 var(--space-6);color:var(--text-body)}
.cnv-accordion .elementor-tab-content p+p{margin-top:1em}
.cnv-accordion .elementor-tab-content img{border-radius:var(--radius-md);margin-top:var(--space-4)}
.cnv-accordion .elementor-tab-content ul{padding-left:1.25em}
.cnv-subnav{display:flex;flex-wrap:wrap;gap:var(--space-6);border-bottom:1px solid var(--border-subtle)}
.cnv-subnav__item .elementor-heading-title{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:var(--weight-bold);font-size:var(--text-base)}
.cnv-subnav__item .elementor-heading-title a{display:inline-block;padding:0 0 var(--space-3);color:var(--text-muted);text-decoration:none;box-shadow:inset 0 -3px 0 transparent;transition:color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}
.cnv-subnav__item .elementor-heading-title a:hover,.cnv-subnav__item--active .elementor-heading-title a{color:var(--cnv-ink);box-shadow:inset 0 -3px 0 var(--cnv-red)}

/* =====================================================================
   10. HERO
   ===================================================================== */
.cnv-hero{position:relative;overflow:hidden;color:var(--cnv-white)}
.cnv-hero::after{content:"";position:absolute;inset:0;background:var(--protect-bottom);pointer-events:none;z-index:0}
.cnv-hero>.e-con-inner,.cnv-hero>.elementor-element{position:relative;z-index:1}
.cnv-hero .elementor-widget-text-editor,.cnv-hero .elementor-widget-text-editor p{color:rgba(255,255,255,.88);font-size:var(--text-md);max-width:54ch}
.cnv-hero--short{min-height:340px}

/* =====================================================================
   11. CAPÇALERA
   ===================================================================== */
.cnv-header{background:var(--cnv-white);box-shadow:var(--shadow-sticky);min-height:var(--header-h);z-index:60}
.cnv-header.elementor-sticky--effects{box-shadow:var(--shadow-card)}
.cnv-header__logo{flex:0 0 auto!important;width:auto!important}
.cnv-header__logo img{height:46px!important;width:auto!important;max-width:none!important}
.cnv-header>.e-con-inner>.e-con,.cnv-header .e-con{min-width:0}
.cnv-nav .elementor-nav-menu--main .elementor-item{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:var(--weight-bold);font-size:var(--text-sm);color:var(--cnv-ink);padding:10px 12px;box-shadow:inset 0 -3px 0 transparent;transition:color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}
.cnv-nav .elementor-nav-menu--main .elementor-item:hover,.cnv-nav .elementor-nav-menu--main .elementor-item.elementor-item-active,.cnv-nav .elementor-nav-menu--main .elementor-item.highlighted{color:var(--cnv-red);box-shadow:inset 0 -3px 0 var(--cnv-red);text-decoration:none}
.cnv-nav .elementor-nav-menu--main .elementor-item.elementor-item-anchor{box-shadow:none}
.cnv-nav .elementor-nav-menu--dropdown{background:var(--cnv-white);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-2);min-width:240px}
.cnv-nav .elementor-nav-menu--dropdown a{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-medium);text-transform:none;letter-spacing:0;color:var(--text-body);padding:10px 12px;border-radius:var(--radius-sm)}
.cnv-nav .elementor-nav-menu--dropdown a:hover,.cnv-nav .elementor-nav-menu--dropdown a.elementor-item-active{background:var(--cnv-paper);color:var(--cnv-ink)}
.cnv-nav .elementor-menu-toggle{color:var(--cnv-ink);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:44px;height:44px}
.cnv-nav .elementor-menu-toggle:hover,.cnv-nav .elementor-menu-toggle.elementor-active{color:var(--cnv-red);background:var(--cnv-paper)}
.cnv-nav .elementor-nav-menu--main .sub-arrow{color:var(--text-muted)}
.cnv-header .cnv-btn--sm .elementor-button{padding:10px 16px}
@media (max-width:1024px){
  .cnv-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container{border-radius:0;box-shadow:var(--shadow-card);margin-top:12px}
  .cnv-nav .elementor-nav-menu--dropdown .elementor-item{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:var(--weight-bold);font-size:var(--text-md);padding:14px var(--gutter)}
  .cnv-nav .elementor-nav-menu--dropdown .elementor-sub-item{font-family:var(--font-body);text-transform:none;letter-spacing:0;font-weight:var(--weight-medium);font-size:var(--text-base);padding-left:calc(var(--gutter) + 16px)}
}

/* =====================================================================
   12. PEU
   ===================================================================== */
.cnv-footer{background:var(--surface-ink);color:rgba(255,255,255,.76)}
.cnv-footer .elementor-widget-text-editor,.cnv-footer .elementor-widget-text-editor p{color:rgba(255,255,255,.76);font-size:var(--text-sm)}
.cnv-footer .elementor-widget-text-editor a{color:rgba(255,255,255,.76)}
.cnv-footer .elementor-widget-text-editor a:hover{color:var(--cnv-white)}
.cnv-footer__plate{display:inline-block;background:var(--cnv-white);padding:10px 12px;border-radius:var(--radius-sm)}
.cnv-footer__plate{width:auto!important}
.cnv-footer__plate .elementor-widget-image{width:auto}
.cnv-footer__plate img{height:34px!important;width:auto!important;max-width:none!important}
.cnv-footer__logo{width:auto!important}
.cnv-footer__logo img{height:56px!important;width:auto!important;max-width:none!important}
.cnv-footer__title .elementor-heading-title{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:var(--weight-bold);font-size:var(--text-sm);color:var(--cnv-white)}
.cnv-footer .elementor-icon-list-item{font-size:var(--text-sm)}
.cnv-footer .elementor-icon-list-item a,.cnv-footer .elementor-icon-list-text{color:rgba(255,255,255,.76);font-weight:400}
.cnv-footer .elementor-icon-list-item a:hover .elementor-icon-list-text{color:var(--cnv-white)}
.cnv-footer .elementor-icon-list-icon{width:16px}
.cnv-footer .elementor-icon-list-icon svg{width:16px;height:16px;fill:none;stroke:rgba(255,255,255,.76);stroke-width:2}
.cnv-footer__bottom{border-top:1px solid rgba(255,255,255,.14)}
.cnv-footer__bottom .elementor-widget-text-editor,.cnv-footer__bottom .elementor-widget-text-editor p{font-size:var(--text-xs);color:rgba(255,255,255,.55)}
.cnv-footer__bottom a{color:rgba(255,255,255,.55)}

/* =====================================================================
   13. NOTÍCIES (loop item, arxiu, single)
   ===================================================================== */
.elementor-loop-container .e-loop-item{height:100%}
.cnv-news{background:var(--cnv-white);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;height:100%;transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}
.cnv-news:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}
.cnv-news__media{background:var(--cnv-paper);line-height:0}
.cnv-news__media .elementor-widget-image .elementor-widget-container{line-height:0}
.cnv-news__media img{width:100%;aspect-ratio:16/10;object-fit:cover}
.cnv-news__title .elementor-heading-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:var(--leading-snug);letter-spacing:var(--tracking-display);color:var(--text-strong)}
.cnv-news__excerpt,.cnv-news__excerpt p{font-size:var(--text-base);color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cnv-news__more .elementor-heading-title{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:var(--weight-bold);font-size:var(--text-sm);color:var(--cnv-red)}
/* post-info: data i categoria com a Tag */
.cnv-meta .elementor-post-info{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}
.cnv-meta .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}
.cnv-meta .elementor-icon-list-item{margin:0!important;padding:0!important}
.cnv-meta .elementor-post-info__item--type-date{font-size:var(--text-sm);color:var(--text-muted);order:2}
.cnv-meta .elementor-post-info__terms-list-item{display:inline-flex;align-items:center;padding:4px 8px 3px;border-radius:var(--radius-xs);font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:var(--weight-bold);font-size:var(--text-xs);line-height:1.2;background:var(--cnv-ink);color:var(--cnv-white)!important}
.cnv-meta .elementor-post-info__terms-list-item.cnv-cat-natacio{background:var(--cnv-red)}
.cnv-meta .elementor-post-info__terms-list-item.cnv-cat-waterpolo{background:var(--cnv-aigua)}
.cnv-meta .elementor-post-info__terms-list-item:not(:first-child){display:none}
.cnv-meta .elementor-post-info__terms-list .elementor-post-info__terms-list-item::after{content:none}
.cnv-meta--single .elementor-post-info__item--type-date{font-size:var(--text-base)}
/* Paginació del Loop Grid */
.elementor-pagination{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-10);font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:var(--weight-bold)}
.elementor-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--cnv-ink);text-decoration:none}
.elementor-pagination .page-numbers.current{background:var(--cnv-ink);color:var(--cnv-white);border-color:var(--cnv-ink)}
.elementor-pagination a.page-numbers:hover{background:var(--cnv-paper);text-decoration:none}
/* Single: contingut del bloc */
.cnv-post-title .elementor-heading-title,.cnv-post-title h1{font-size:clamp(30px,4.2vw,var(--text-4xl));font-weight:var(--weight-black);line-height:var(--leading-snug);letter-spacing:var(--tracking-display);max-width:26ch}
.cnv-post-cover img{width:100%;max-height:640px;object-fit:cover;border-radius:var(--radius-md)}
.cnv-post-content{font-size:var(--text-md);line-height:var(--leading-relaxed);max-width:72ch}
.cnv-post-content p{margin:0 0 1.2em}
.cnv-post-content h2,.cnv-post-content h3,.cnv-post-content h4{margin:1.6em 0 .6em}
.cnv-post-content ul,.cnv-post-content ol{margin:0 0 1.2em;padding-left:1.4em}
.cnv-post-content li+li{margin-top:.35em}
.cnv-post-content strong{font-weight:var(--weight-semibold);color:var(--text-strong)}
.cnv-post-content a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.cnv-post-content img,.cnv-post-content figure{max-width:100%;height:auto;border-radius:var(--radius-md)}
.cnv-post-content figure{margin:1.6em 0}
.cnv-post-content .wp-block-gallery{margin:1.6em 0}
.cnv-post-content .wp-block-gallery img{border-radius:var(--radius-md);object-fit:cover}
.cnv-post-content figcaption{font-size:var(--text-sm);color:var(--text-muted);margin-top:.4em}
.cnv-post-content blockquote{border-left:4px solid var(--cnv-red);margin:1.6em 0;padding:.2em 0 .2em 1.2em;color:var(--text-strong);font-family:var(--font-display);font-weight:var(--weight-semibold)}
.cnv-post-content .wp-block-embed iframe{max-width:100%}
.cnv-post-content table{width:100%;border-collapse:collapse;font-size:var(--text-base);margin:1.2em 0}
.cnv-post-content td,.cnv-post-content th{padding:8px 12px;border-bottom:1px solid var(--border-subtle);text-align:left}

/* =====================================================================
   14. FORMULARIS (Elementor Pro)
   ===================================================================== */
.cnv-form .elementor-field-label{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:var(--weight-bold);font-size:var(--text-sm);color:var(--text-strong);margin-bottom:6px}
.cnv-form .elementor-field-group .elementor-field{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-strong);background:var(--cnv-white);border:1px solid var(--cnv-ink-300);border-radius:var(--radius-sm);padding:11px 12px;min-height:44px}
.cnv-form .elementor-field-group .elementor-field:focus{border-color:var(--cnv-aigua);box-shadow:0 0 0 2px var(--cnv-aigua-050);outline:0}
.cnv-form .elementor-field-group .elementor-field::placeholder{color:var(--cnv-ink-300)}
.cnv-form .elementor-field-type-acceptance .elementor-field-subgroup label{font-size:var(--text-sm);color:var(--text-body);display:inline-flex;gap:8px;align-items:flex-start}
.cnv-form .elementor-field-type-acceptance input{width:18px;height:18px;accent-color:var(--cnv-red);margin-top:2px}
.cnv-form .elementor-button{font-family:var(--font-condensed);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-label);font-size:var(--text-base);padding:14px 26px;border-radius:var(--radius-sm);background:var(--cnv-red);color:var(--cnv-white);border:2px solid var(--cnv-red)}
.cnv-form .elementor-button:hover{background:var(--cnv-red-700);border-color:var(--cnv-red-700)}
.cnv-form .elementor-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.cnv-form .elementor-message-success{color:var(--cnv-verd);font-weight:var(--weight-semibold)}
.cnv-form .elementor-message-danger,.cnv-form .elementor-field-group .elementor-field.elementor-error{color:var(--cnv-alerta)}

/* =====================================================================
   15. MAPA, CALENDARI, INCRUSTACIONS
   ===================================================================== */
.cnv-embed iframe{width:100%;border:0;display:block;border-radius:var(--radius-md)}
.cnv-map .elementor-custom-embed{line-height:0}
.cnv-map iframe{border-radius:var(--radius-md)}
.cnv-calendar iframe{aspect-ratio:4/3;min-height:480px}
@media (max-width:767px){.cnv-calendar iframe{aspect-ratio:auto;height:560px}}

/* =====================================================================
   16. CTA BANNER
   ===================================================================== */
.cnv-cta{background:var(--cnv-red);color:var(--cnv-white)}
.cnv-cta--ink{background:var(--surface-ink)}
.cnv-cta .elementor-heading-title{color:var(--cnv-white)}
.cnv-cta .elementor-widget-text-editor,.cnv-cta .elementor-widget-text-editor p{color:rgba(255,255,255,.86);max-width:54ch}
.cnv-cta__title .elementor-heading-title{font-family:var(--font-display);font-weight:var(--weight-black);font-size:clamp(26px,3vw,var(--text-2xl));letter-spacing:var(--tracking-display)}

/* =====================================================================
   16b. DETALLS I MOVIMENT
   ===================================================================== */
.cnv-news__media{overflow:hidden}
.cnv-news__media img{transition:transform var(--duration-slow) var(--ease-out)}
.cnv-news:hover .cnv-news__media img{transform:scale(1.04)}
.cnv-news:hover .cnv-news__more .elementor-heading-title{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.elementor-widget-button .elementor-button:hover .elementor-button-icon{transform:translateX(3px)}
.elementor-widget-button .elementor-button-icon{transition:transform var(--duration-base) var(--ease-out)}
.cnv-quick:hover .cnv-icon .elementor-icon,.cnv-value:hover .cnv-icon .elementor-icon{transform:translateY(-2px)}
.cnv-icon .elementor-icon{transition:transform var(--duration-base) var(--ease-out),color var(--duration-fast) var(--ease-out)}
.cnv-ig-grid .cnv-media img{transition:transform var(--duration-slow) var(--ease-out),filter var(--duration-slow) var(--ease-out)}
.cnv-ig-grid a:hover .cnv-media img{transform:scale(1.05)}
.cnv-hero .elementor-background-slideshow{z-index:0}
.cnv-hero .elementor-background-slideshow__slide__image{background-position:center 30%}
.cnv-hero::after{z-index:1}
.cnv-hero>.e-con-inner,.cnv-hero>.elementor-element{z-index:2}
.cnv-result .cnv-icon .elementor-icon{transition:transform var(--duration-base) var(--ease-out)}
.cnv-result:hover .cnv-icon .elementor-icon{transform:translate(2px,-2px)}
.cnv-doc:hover .cnv-icon--muted .elementor-icon{color:var(--cnv-red);transform:translateY(2px)}
.cnv-sponsor img{transform:scale(.98)}
.cnv-sponsor:hover img{transform:scale(1.02)}
/* Xarxa de seguretat: si l'observador d'Elementor no dispara l'animació (JS lent, salt d'àncora, lector), el contingut apareix igualment al cap d'1,2 s. */
.elementor-invisible{visibility:hidden;animation:cnv-reveal 0s 1.2s forwards}
@keyframes cnv-reveal{to{visibility:visible}}
.animated{animation-duration:.55s!important}
@media (prefers-reduced-motion:reduce){.elementor-invisible{visibility:visible;animation:none}.animated{animation:none!important}}
/* sub-nav: estat actiu als arxius de categoria (la pàgina és la mateixa plantilla) */
.category-natacio .cnv-subnav__item a[href$="/category/natacio/"],.category-waterpolo .cnv-subnav__item a[href$="/category/waterpolo/"],.category-club .cnv-subnav__item a[href$="/category/club/"],.category-social .cnv-subnav__item a[href$="/category/social/"]{color:var(--cnv-ink);box-shadow:inset 0 -3px 0 var(--cnv-red)}
.cnv-accordion .e-n-accordion-item{border-bottom:1px solid var(--border-subtle)}
.cnv-accordion .e-n-accordion-item-title{padding:var(--space-5) 0!important;font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-md);color:var(--text-strong);border:0!important;background:transparent!important;transition:color var(--duration-fast) var(--ease-out)}
.cnv-accordion .e-n-accordion-item-title:hover,.cnv-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title{color:var(--cnv-red)}
.cnv-accordion .e-n-accordion-item>.e-con{padding-top:0!important;padding-left:0!important;padding-right:0!important}
.cnv-accordion .e-n-accordion-item-title-icon{color:var(--cnv-red)}
.cnv-accordion .e-n-accordion-item-title-icon svg{width:18px;height:18px}
.cnv-accordion .e-n-accordion{border-top:1px solid var(--border-subtle)}

/* =====================================================================
   17. RESPONSIVE
   ===================================================================== */
@media (max-width:767px){
  :root{--gutter:16px}
  .cnv-hero-title .elementor-heading-title{font-size:clamp(34px,10vw,48px)}
  .cnv-subnav{gap:var(--space-2) var(--space-5);flex-wrap:wrap!important;--flex-wrap:wrap}
  .cnv-subnav__item{width:auto!important}
  .cnv-subnav__item .elementor-heading-title{white-space:nowrap;font-size:var(--text-sm)}
  .cnv-header__logo img{height:36px!important}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---- Calendari (agenda) ---- */
.cnv-agenda{display:block}
.cnv-agenda__filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 var(--space-5)}
.cnv-agenda__filters button{appearance:none;-webkit-appearance:none;border:1px solid var(--border-subtle);background:var(--cnv-white);color:var(--text-body);padding:7px 14px 6px;border-radius:var(--radius-pill);font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:var(--weight-bold);font-size:var(--text-sm);line-height:1.2;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}
.cnv-agenda__filters button:hover{border-color:var(--cnv-ink);color:var(--text-strong)}
.cnv-agenda__filters button.is-on{background:var(--cnv-ink);border-color:var(--cnv-ink);color:var(--cnv-white)}
.cnv-agenda__month{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--cnv-red);margin:var(--space-8) 0 var(--space-2);padding-bottom:6px;border-bottom:2px solid var(--cnv-red)}
.cnv-agenda__filters+.cnv-agenda__month,.cnv-agenda__month:first-child{margin-top:0}
.cnv-agenda__month[hidden]{display:none}
.cnv-ev{display:grid;grid-template-columns:64px minmax(0,1fr);gap:var(--space-4);padding:12px 0;border-bottom:1px solid var(--border-subtle);align-items:start}
.cnv-ev[hidden]{display:none}
.cnv-ev__date{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--cnv-paper);padding:7px 4px 6px;line-height:1;text-align:center;min-height:60px}
.cnv-ev__date .d{font-family:var(--font-display);font-weight:var(--weight-black);font-size:var(--text-xl);color:var(--text-strong);font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap}
.cnv-ev__date .m{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--cnv-red);margin-top:4px;white-space:nowrap}
.cnv-ev__date .w{font-size:11px;color:var(--text-muted);margin-top:3px;text-transform:uppercase;letter-spacing:.04em}
.cnv-ev--casa .cnv-ev__date,.cnv-ev--compcasa .cnv-ev__date{background:var(--cnv-red)}
.cnv-ev--casa .cnv-ev__date .d,.cnv-ev--casa .cnv-ev__date .m,.cnv-ev--casa .cnv-ev__date .w,.cnv-ev--compcasa .cnv-ev__date .d,.cnv-ev--compcasa .cnv-ev__date .m,.cnv-ev--compcasa .cnv-ev__date .w{color:var(--cnv-white)}
.cnv-ev--club .cnv-ev__date{background:var(--cnv-ink)}
.cnv-ev--club .cnv-ev__date .d,.cnv-ev--club .cnv-ev__date .w{color:var(--cnv-white)}.cnv-ev--club .cnv-ev__date .m{color:var(--cnv-red-200)}
.cnv-ev--festa .cnv-ev__date{background:var(--cnv-white);box-shadow:inset 0 0 0 1px var(--border-subtle)}
.cnv-ev--festa .cnv-ev__title{color:var(--text-muted);font-weight:var(--weight-semibold)}
.cnv-ev__tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 5px}
.cnv-ev__title{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-base);color:var(--text-strong);margin:0!important;line-height:1.3}
.cnv-ev__meta{margin:3px 0 0!important;font-size:var(--text-sm);color:var(--text-muted);line-height:1.4}
.cnv-ev.is-past{opacity:.55}
.cnv-agenda__empty{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--text-muted)}
.cnv-agenda__empty[hidden],.cnv-agenda__more[hidden]{display:none}
.cnv-agenda__more{appearance:none;-webkit-appearance:none;margin-top:var(--space-4);border:0;background:none;padding:0;font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:var(--weight-bold);font-size:var(--text-sm);color:var(--text-link);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cnv-agenda__more:hover{color:var(--text-link-hover)}
.cnv-agenda--compact .cnv-ev{padding:10px 0;gap:var(--space-3);grid-template-columns:56px minmax(0,1fr)}
.cnv-agenda--compact .cnv-ev__date{min-height:52px;padding:6px 3px 5px}
.cnv-agenda--compact .cnv-ev__date .d{font-size:var(--text-lg)}
.cnv-agenda--compact .cnv-ev__date .w{display:none}
.cnv-agenda--compact .cnv-ev__title{font-size:var(--text-sm)}
.cnv-agenda--compact .cnv-ev__meta{font-size:var(--text-xs)}
.cnv-agenda--compact .cnv-ev__tags .k{font-size:10px;padding:2px 6px 1px}
/* Xips d'índex (#ancora) i obertura de l'acordió per enllaç */
.cnv-chips,.cnv-chips-w p{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.cnv-chips a{display:inline-flex;align-items:center;padding:7px 14px 6px;border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:var(--cnv-white);color:var(--text-strong);font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:var(--weight-bold);font-size:var(--text-sm);line-height:1.2;text-decoration:none;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}
.cnv-chips a:hover{background:var(--cnv-red);border-color:var(--cnv-red);color:var(--cnv-white)}
.e-n-accordion-item{scroll-margin-top:calc(var(--header-h) + 16px)}
/* Acordió natiu dels horaris ([cnv_horaris]) */
.cnv-acc{border-top:1px solid var(--border-subtle)}
.cnv-acc__item{border-bottom:1px solid var(--border-subtle)}
.cnv-acc__title{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:var(--space-5) 0;list-style:none;cursor:pointer;font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-md);color:var(--text-strong);transition:color var(--duration-fast) var(--ease-out)}
.cnv-acc__title::-webkit-details-marker{display:none}
.cnv-acc__title:hover,.cnv-acc__item[open]>.cnv-acc__title{color:var(--cnv-red)}
.cnv-acc__icon{position:relative;flex:0 0 18px;width:18px;height:18px;color:var(--cnv-red)}
.cnv-acc__icon::before,.cnv-acc__icon::after{content:"";position:absolute;left:2px;right:2px;top:8px;height:2px;background:currentColor;border-radius:1px;transition:transform var(--duration-fast) var(--ease-out)}
.cnv-acc__icon::after{transform:rotate(90deg)}
.cnv-acc__item[open]>.cnv-acc__title .cnv-acc__icon::after{transform:rotate(0)}
.cnv-acc__body{display:flex;flex-direction:column;gap:16px;padding:0 0 var(--space-6)}
.cnv-acc__body>p{margin:0}
.cnv-acc__fig{margin:8px 0 0}
.cnv-acc__fig img{width:100%;height:auto;border-radius:var(--radius-md);display:block}
.cnv-acc__fig figcaption{margin-top:8px;font-size:var(--text-sm);color:var(--text-muted)}
