/* Correre in Puglia 2.0 — component system */
:root{
  --cip-ink:#071d32;
  --cip-surface:#ffffff;
  --cip-soft:#f3f7fb;
  --cip-soft-2:#eaf1f7;
  --cip-accent:#b9f52a;
  --cip-accent-strong:#8edb00;
  --cip-danger:#e64b4b;
  --cip-success:#0b9e66;
  --cip-radius-lg:24px;
  --cip-radius-xl:30px;
  --cip-shadow-lg:0 24px 70px rgba(2,24,43,.13);
}
body.cip-v2{background:#fff}
.cip-v2 .cip-card{border-radius:20px;border-color:#e2eaf2;box-shadow:0 10px 32px rgba(4,26,48,.055)}
.cip-card-eyebrow{font-size:.72rem;line-height:1.1;font-weight:950;letter-spacing:.11em;text-transform:uppercase;color:#637890}
.cip-btn-light{background:#fff;color:var(--cip-navy);border-color:#fff}
.cip-btn-glass{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35);color:#fff;backdrop-filter:blur(10px)}
.cip-btn-ghost{background:transparent;border-color:#d7e1ea;color:#496076}
.cip-btn-block{display:flex;width:100%}

/* Home hero */
.cip-home-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,#031b31,#0b4d75);color:#fff}
.cip-home-hero.has-photo{background-image:linear-gradient(90deg,rgba(2,19,35,.95) 0%,rgba(3,30,54,.86) 38%,rgba(4,42,70,.52) 72%,rgba(4,42,70,.22) 100%),var(--cip-home-bg);background-size:cover;background-position:center center;background-repeat:no-repeat}
.cip-home-hero-overlay{position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 85% 22%,rgba(185,245,42,.16),transparent 34%)}
.cip-home-hero-grid{min-height:590px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:54px;align-items:center;padding:72px 0}
.cip-home-hero-copy h1{font-size:clamp(3.8rem,7.5vw,7.1rem);line-height:.86;letter-spacing:-.072em;margin:16px 0 24px;max-width:850px}
.cip-home-hero-copy h1 em{color:var(--cip-lime);font-style:normal}
.cip-home-hero-copy>p{font-size:clamp(1.05rem,1.8vw,1.35rem);max-width:660px;color:rgba(255,255,255,.86);margin:0 0 30px}
.cip-home-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.cip-home-trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:34px;color:rgba(255,255,255,.68);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.cip-home-trust span::before{content:'✓';color:var(--cip-lime);margin-right:6px}
.cip-card-glass{background:linear-gradient(155deg,rgba(255,255,255,.97),rgba(246,250,253,.92));color:var(--cip-text);border:1px solid rgba(255,255,255,.8);border-radius:28px;box-shadow:0 30px 75px rgba(0,0,0,.2);backdrop-filter:blur(14px)}
.cip-next-race-v2{padding:28px}
.cip-next-race-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:26px;color:#708195;font-size:.78rem;font-weight:800}
.cip-next-race-v2 h2{font-size:2.05rem;line-height:1.02;letter-spacing:-.045em;margin:9px 0 18px;color:var(--cip-navy)}
.cip-next-race-facts{display:grid;gap:8px;color:#50667b;margin-bottom:24px;font-size:.92rem}
.cip-next-race-actions{display:flex;gap:10px}
.cip-status-badge{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:7px 11px;font-size:.7rem;line-height:1;font-weight:950;text-transform:uppercase;letter-spacing:.055em;background:#e8eef4;color:#506176}
.cip-status-badge.open{background:#dfff82;color:#183d00}
.cip-status-badge.soon{background:#dfeeff;color:#0e557f}
.cip-status-badge.results{background:#dcf7ec;color:#08744a}

/* Quick access */
.cip-quick-access{position:relative;z-index:6;margin-top:28px;margin-bottom:32px}
.cip-quick-access-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid #e0e8f0;border-radius:22px;box-shadow:var(--cip-shadow-lg);overflow:hidden}
.cip-quick-v2{display:grid;grid-template-columns:46px 1fr auto;gap:14px;align-items:center;padding:22px 24px;border-right:1px solid #e5edf3;transition:.2s ease}
.cip-quick-v2:last-child{border-right:0}
.cip-quick-v2:hover{background:#f8fbfd;transform:translateY(-2px)}
.cip-quick-v2>span{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#ecf4fa;font-size:1.35rem}
.cip-quick-v2 strong,.cip-quick-v2 small{display:block}
.cip-quick-v2 strong{font-size:1rem}
.cip-quick-v2 small{color:#7a8c9f;margin-top:3px}
.cip-quick-v2>b{color:#6f8395}

/* Section system */
.cip-section-v2{padding:62px 0}
.cip-section-soft{background:var(--cip-soft)}
.cip-section-dark{background:linear-gradient(135deg,#03192d,#092f50);color:#fff}
.cip-section-head-v2{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}
.cip-section-head-v2 h2{font-size:clamp(1.8rem,3vw,2.55rem);letter-spacing:-.045em;margin:5px 0 0}
.cip-section-head-v2>a{color:#2468c8;font-weight:900;font-size:.9rem}
.cip-section-head-v2.light>a{color:#b9f52a}
.cip-section-head-v2.light .cip-card-eyebrow{color:#9db2c4}

/* Race cards */
.cip-race-grid-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cip-race-card-v2{position:relative;display:flex;flex-direction:column;transition:.25s ease;overflow:hidden}
.cip-race-card-v2:hover{transform:translateY(-5px);box-shadow:0 24px 55px rgba(3,28,48,.12)}
.cip-race-card-media{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#0a3152,#0d557a);overflow:hidden}
.cip-race-card-media>a{display:block;width:100%;height:100%}
.cip-race-card-media img{width:100%;height:100%;object-fit:cover;transition:.35s ease}
.cip-race-card-v2:hover .cip-race-card-media img{transform:scale(1.035)}
.cip-media-placeholder{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,#0a3354,#0a5678);color:#fff;text-align:center;font-size:1.25rem;font-weight:1000;letter-spacing:-.04em}
.cip-race-date-badge{position:absolute;left:14px;top:14px;width:58px;min-height:70px;padding:7px 4px;display:grid;place-items:center;background:#fff;border-radius:13px;box-shadow:0 12px 28px rgba(0,0,0,.16);color:var(--cip-navy);line-height:1}
.cip-race-date-badge small,.cip-race-date-badge span{font-size:.61rem;font-weight:950;letter-spacing:.06em}
.cip-race-date-badge strong{font-size:1.55rem;letter-spacing:-.05em}
.cip-race-card-media>.cip-status-badge{position:absolute;right:14px;top:14px}
.cip-race-card-body{padding:20px;display:flex;flex-direction:column;flex:1}
.cip-race-card-body h3{font-size:1.42rem;line-height:1.08;letter-spacing:-.04em;margin:7px 0 14px}
.cip-race-card-meta{display:flex;gap:8px 16px;flex-wrap:wrap;color:#66798d;font-size:.84rem;margin-bottom:15px}
.cip-race-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:12px}
.cip-race-card-actions .cip-btn{padding:9px 13px;font-size:.78rem}

/* Home results */
.cip-home-results-grid{display:grid;grid-template-columns:1.6fr .9fr;gap:20px}
.cip-home-result-card{background:#fff;color:var(--cip-text);border-radius:24px;padding:0;display:grid;grid-template-columns:minmax(175px,34%) minmax(0,1fr);gap:0;align-items:stretch;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.13)}
.cip-home-result-card h3{font-size:1.75rem;letter-spacing:-.045em;margin:5px 0 18px}.cip-home-result-photo{position:relative;min-height:270px;background:#dbe5ed;overflow:hidden}.cip-home-result-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.cip-home-result-photo:hover img{transform:scale(1.025)}.cip-home-result-photo>span{position:absolute;left:12px;bottom:12px;padding:5px 8px;border-radius:999px;background:rgba(4,26,48,.88);color:#fff;font-size:.58rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.cip-home-result-content{padding:25px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center}
.cip-result-podiums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cip-result-podiums>div{background:#f2f6f9;border-radius:14px;padding:13px}
.cip-result-podiums span,.cip-result-podiums strong,.cip-result-podiums b{display:block}
.cip-result-podiums span{font-size:.65rem;font-weight:900;color:#789}
.cip-result-podiums strong{font-size:.9rem;margin:3px 0}
.cip-result-podiums b{font-size:1.1rem;color:var(--cip-navy)}
.cip-home-result-stats{min-width:150px;display:grid;gap:10px}
.cip-home-result-stats>div{background:#eef4f8;padding:12px;border-radius:13px;text-align:center}
.cip-home-result-stats strong,.cip-home-result-stats span{display:block}
.cip-home-result-stats strong{font-size:1.45rem}
.cip-home-result-stats span{font-size:.7rem;color:#708397;text-transform:uppercase;font-weight:900}
.cip-empty-dark{padding:24px;border:1px dashed rgba(255,255,255,.23);border-radius:18px;color:#b8c6d2}

/* News */
.cip-news-grid-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cip-news-grid-archive{grid-template-columns:repeat(3,1fr)}
.cip-news-card-v2{display:flex;flex-direction:column;transition:.25s ease}
.cip-news-card-v2:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(3,28,48,.11)}
.cip-news-card-image{aspect-ratio:16/9;background:#e7eef4;overflow:hidden}
.cip-news-card-image img{width:100%;height:100%;object-fit:cover;transition:.35s ease}
.cip-news-card-v2:hover img{transform:scale(1.035)}
.cip-news-card-body{padding:20px;display:flex;flex-direction:column;flex:1}
.cip-news-card-body h2,.cip-news-card-body h3{font-size:1.35rem;line-height:1.13;letter-spacing:-.035em;margin:8px 0 9px}
.cip-news-card-body p{color:#62758a;font-size:.91rem;margin:0 0 16px}
.cip-news-card-body .cip-link{margin-top:auto}

/* Gallery */
.cip-gallery-grid-v2{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cip-gallery-tile{position:relative;aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:#0a3e62;box-shadow:0 10px 32px rgba(2,25,44,.08)}
.cip-gallery-tile img{width:100%;height:100%;object-fit:cover;transition:.35s ease}
.cip-gallery-tile:hover img{transform:scale(1.05)}
.cip-gallery-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;background:linear-gradient(transparent 34%,rgba(2,20,37,.91));color:#fff}
.cip-gallery-overlay small{font-size:.7rem;font-weight:800;opacity:.75}
.cip-gallery-overlay strong{font-size:1.08rem;line-height:1.1;margin:4px 0}
.cip-gallery-overlay em{font-size:.74rem;font-style:normal;color:var(--cip-lime);font-weight:900}

/* Timing */
.cip-timing-v2{background:linear-gradient(115deg,#04172a,#0a4268);color:#fff;padding:47px 0}
.cip-timing-v2-grid{display:grid;grid-template-columns:1.2fr 1.2fr auto;gap:35px;align-items:center}
.cip-timing-v2 h2{font-size:2rem;line-height:1.05;margin:8px 0 8px;letter-spacing:-.04em}
.cip-timing-v2 p{margin:0;color:#b8c8d6}
.cip-timing-features{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 18px;font-size:.85rem;font-weight:800}
.cip-timing-features span{color:#d8e2eb}.cip-timing-features span::first-letter{color:var(--cip-lime)}
.cip-home-widget-area{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}

/* Page heroes */
.cip-page-hero{background:linear-gradient(135deg,#031a30,#0b4c74);color:#fff;padding:64px 0 54px;position:relative;overflow:hidden}
.cip-page-hero::after{content:'';position:absolute;width:420px;height:420px;border-radius:50%;right:-110px;top:-230px;background:rgba(185,245,42,.09)}
.cip-page-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:30px;align-items:end}
.cip-page-hero h1{font-size:clamp(2.9rem,5vw,5.3rem);line-height:.9;letter-spacing:-.06em;margin:12px 0 16px;max-width:900px}
.cip-page-hero p{font-size:1.05rem;max-width:720px;color:#c7d5e0;margin:0}
.cip-page-hero-stats{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.cip-page-hero-stats>div{min-width:120px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);border-radius:16px;padding:14px;text-align:center}
.cip-page-hero-stats strong,.cip-page-hero-stats span{display:block}.cip-page-hero-stats strong{font-size:1.7rem;color:var(--cip-lime)}.cip-page-hero-stats span{font-size:.66rem;text-transform:uppercase;font-weight:900;color:#c2d2df}

/* Calendar */
.cip-calendar-page,.cip-results-archive,.cip-news-archive,.cip-gallery-hub{background:#f5f8fb;padding:32px 0 74px}
.cip-filter-panel{padding:20px 22px;margin-top:-22px;position:relative;z-index:5}
.cip-filter-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}
.cip-filter-panel-head h2{margin:4px 0 0;font-size:1.45rem;letter-spacing:-.03em}
.cip-filter-toggle{border:0;background:#eef3f7;color:#486076;border-radius:10px;padding:8px 11px;font-weight:850;font-size:.75rem;cursor:pointer}
.cip-calendar-filters{display:grid;grid-template-columns:2fr repeat(5,1fr) auto auto;gap:10px;align-items:end}
.cip-calendar-filters label,.cip-results-search label{display:grid;gap:5px}.cip-calendar-filters label span,.cip-results-search label span{font-size:.68rem;text-transform:uppercase;font-weight:950;color:#6e8295}
.cip-calendar-filters input,.cip-calendar-filters select,.cip-results-search input,.cip-results-search select{width:100%;border:1px solid #d9e3eb;border-radius:10px;background:#fff;padding:10px 11px;color:var(--cip-text)}
.cip-calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:28px 0 18px;color:#63768a}
.cip-calendar-toolbar strong{color:var(--cip-navy);font-size:1.15rem}
.cip-view-switch{display:flex;background:#e8eef4;border-radius:10px;padding:3px}
.cip-view-switch a{padding:8px 11px;border-radius:8px;font-size:.76rem;font-weight:900}.cip-view-switch a.is-active{background:#fff;box-shadow:0 3px 12px rgba(2,23,40,.08);color:var(--cip-navy)}
.cip-calendar-list{display:grid;gap:12px}.cip-calendar-row{display:grid;grid-template-columns:90px 1fr auto;gap:22px;align-items:center;padding:15px 18px}.cip-calendar-row-date{display:flex;align-items:center;gap:9px;border-right:1px solid #e4ebf1}.cip-calendar-row-date strong{font-size:2rem;letter-spacing:-.06em}.cip-calendar-row-date span{font-size:.68rem;line-height:1.25;font-weight:900;color:#708397}.cip-calendar-row-main h2{margin:3px 0 8px;font-size:1.25rem}.cip-calendar-row-actions{display:flex;gap:8px}
.cip-month-view{padding:20px}.cip-month-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.cip-month-title h2{margin:0;font-size:1.5rem}.cip-month-title span{color:#788b9e;font-size:.75rem;font-weight:800}.cip-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cip-month-weekdays>div{text-align:center;padding:7px;color:#75889b;font-size:.7rem;font-weight:950;text-transform:uppercase}.cip-month-day{min-height:125px;border:1px solid #e2e9ef;background:#fff;border-radius:12px;padding:8px;overflow:hidden}.cip-month-day.is-empty{background:#f4f7f9;border-style:dashed}.cip-month-day.is-today{outline:2px solid var(--cip-lime);outline-offset:-2px}.cip-month-number{display:block;font-size:.75rem;font-weight:950;color:#657a8f;margin-bottom:5px}.cip-month-event{display:block;background:#edf5fa;border-left:3px solid #1269a7;border-radius:6px;padding:5px 6px;margin-bottom:5px}.cip-month-event strong,.cip-month-event small{display:block}.cip-month-event strong{font-size:.68rem;line-height:1.15}.cip-month-event small{font-size:.58rem;color:#65798d}.cip-month-more{font-size:.6rem;color:#64788c;font-weight:850}
.cip-empty-state{padding:52px 24px;text-align:center}.cip-empty-state>span{font-size:2.4rem}.cip-empty-state h2{font-size:1.7rem;margin:9px 0}.cip-empty-state p{color:#6d8194}

/* Results archive */
.cip-results-search{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:end;padding:18px;margin-top:-22px;position:relative;z-index:5;margin-bottom:26px}.cip-results-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cip-result-card-v2{padding:22px;position:relative;overflow:hidden}.cip-result-card-icon{width:48px;height:48px;border-radius:14px;background:#edf5fa;display:grid;place-items:center;font-size:1.35rem;margin-bottom:18px}.cip-result-card-v2 h2{font-size:1.38rem;line-height:1.1;letter-spacing:-.035em;margin:7px 0 8px}.cip-result-card-v2 p{color:#6b7f92;font-size:.83rem}.cip-result-card-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e5edf3;margin-top:18px;padding-top:14px;color:#718497;font-size:.75rem}.cip-result-card-footer b{color:var(--cip-navy)}.cip-result-card-footer a{font-weight:950;color:#1767b7}

/* Single classification */
.cip-classifica-hero{background:linear-gradient(135deg,#031a30,#0a4c74);color:#fff;padding:54px 0 38px}.cip-classifica-hero h1{font-size:clamp(2.6rem,5vw,5rem);line-height:.93;letter-spacing:-.06em;margin:10px 0 10px}.cip-classifica-hero p{color:#c5d3df}.cip-race-breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#a9bdcd;font-size:.78rem;font-weight:800;margin-bottom:20px}.cip-race-breadcrumb a{color:#fff}.cip-classifica-kpis{display:flex;gap:10px;flex-wrap:wrap;margin-top:27px}.cip-classifica-kpis>div{min-width:135px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);padding:13px 15px;border-radius:14px}.cip-classifica-kpis strong,.cip-classifica-kpis span{display:block}.cip-classifica-kpis strong{font-size:1.15rem;color:#fff}.cip-classifica-kpis span{font-size:.63rem;color:#b8c9d6;text-transform:uppercase;font-weight:950;margin-top:2px}
.cip-classifica-main{background:#f4f7fa;padding:28px 0 70px}.cip-classifica-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 16px;margin-bottom:12px}.cip-classifica-search{display:flex;align-items:center;gap:9px;flex:1;max-width:580px;background:#f4f7f9;border:1px solid #dce5ec;border-radius:11px;padding:0 12px}.cip-classifica-search input{width:100%;border:0;background:transparent;outline:0;padding:11px 0}.cip-table-count{font-size:.78rem;color:#74879a}.cip-table-count strong{color:var(--cip-navy);font-size:1rem}.cip-classifica-table-wrap{overflow-x:auto}.cip-classifica-table{width:100%;border-collapse:collapse;min-width:850px}.cip-classifica-table th{background:#082846;color:#fff;text-align:left;padding:12px 13px;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.cip-classifica-table td{padding:11px 13px;border-bottom:1px solid #e5edf3;font-size:.84rem}.cip-classifica-table tbody tr:nth-child(even){background:#f8fafc}.cip-classifica-table tbody tr:hover{background:#eef6fb}.cip-pos span{display:inline-grid;place-items:center;min-width:29px;height:29px;border-radius:9px;font-weight:950}.cip-pos .podium{background:#e9eef3}.cip-pos .podium-1{background:#ffdd61;color:#503b00}.cip-pos .podium-2{background:#dce3e9;color:#374651}.cip-pos .podium-3{background:#e8bf91;color:#56300d}.cip-athlete strong,.cip-athlete small{display:block}.cip-athlete small{color:#8091a2;font-size:.68rem}.cip-category-chip{display:inline-flex;border-radius:999px;padding:4px 8px;background:#edf2f6;color:#496176;font-size:.7rem;font-weight:900}.cip-time-cell{font-weight:950;color:var(--cip-navy);font-variant-numeric:tabular-nums}.cip-legacy-result{display:flex;justify-content:space-between;gap:28px;align-items:center;padding:24px;margin-bottom:20px}.cip-legacy-result h2{margin:5px 0 8px}.cip-legacy-result p{color:#64788c;max-width:760px}.cip-back-race{margin-top:22px}

/* Race single */
.cip-race-detail-hero{position:relative;isolation:isolate;background:linear-gradient(135deg,#031a30,#0a5078);color:#fff;min-height:500px;display:flex;align-items:end;overflow:hidden}.cip-race-detail-hero.has-photo{background-image:var(--cip-race-bg);background-size:cover;background-position:center}.cip-race-detail-overlay{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(2,19,35,.98),rgba(3,28,50,.84) 48%,rgba(3,28,50,.27)),linear-gradient(transparent 50%,rgba(2,17,31,.5))}.cip-race-detail-hero-inner{padding:65px 0 52px}.cip-race-detail-copy{max-width:900px}.cip-race-detail-badges{display:flex;gap:8px;flex-wrap:wrap}.cip-glass-badge{display:inline-flex;border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);font-size:.7rem;font-weight:900}.cip-race-detail-copy h1{font-size:clamp(3.2rem,7vw,6.6rem);line-height:.85;letter-spacing:-.072em;margin:14px 0 26px}.cip-race-detail-facts{display:flex;gap:12px;flex-wrap:wrap}.cip-race-detail-facts>span{min-width:115px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:11px 13px}.cip-race-detail-facts b,.cip-race-detail-facts small{display:block}.cip-race-detail-facts b{font-size:1rem}.cip-race-detail-facts small{font-size:.65rem;color:#b8cad7;text-transform:uppercase;font-weight:900}.cip-race-detail-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}.cip-race-tabs-v2{position:sticky;top:78px;z-index:40;background:#fff;border-bottom:1px solid #dfe7ed}.cip-race-tabs-v2 .cip-container{display:flex;gap:2px;overflow-x:auto}.cip-race-tabs-v2 a{white-space:nowrap;padding:15px 13px;font-size:.78rem;font-weight:950;color:#4b6175}.cip-race-tabs-v2 a:hover{color:#0b65a5;background:#f3f7fa}.cip-race-detail-main{background:#f5f8fb;padding:34px 0 75px}.cip-race-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:27px}.cip-race-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.cip-race-kpis>div{background:#fff;border:1px solid #e0e8ef;border-radius:17px;padding:16px}.cip-race-kpis span,.cip-race-kpis strong,.cip-race-kpis b{display:block}.cip-race-kpis span{font-size:.63rem;font-weight:950;color:#7b8d9f}.cip-race-kpis strong{font-size:1rem;margin:4px 0}.cip-race-kpis b{font-size:1.15rem;color:#092845}.cip-article-surface{background:#fff;border:1px solid #e2e9ef;border-radius:20px;padding:clamp(22px,4vw,42px);box-shadow:0 10px 30px rgba(3,26,45,.04)}.cip-article-surface>p:first-of-type{font-size:1.12rem}.cip-race-resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.cip-resource-card{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:16px}.cip-resource-card>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#edf4f8}.cip-resource-card strong,.cip-resource-card small{display:block}.cip-resource-card small{color:#708398;font-size:.73rem;margin-top:2px}.cip-race-sidebar{display:flex;flex-direction:column;gap:16px}.cip-race-info-v2{padding:22px;position:sticky;top:143px}.cip-race-info-v2 h2{font-size:1.25rem;line-height:1.08;margin:7px 0 18px}.cip-race-info-v2 dl{margin:0 0 17px}.cip-race-info-v2 dl>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #e8eef3}.cip-race-info-v2 dt{font-size:.7rem;text-transform:uppercase;font-weight:900;color:#7b8d9f}.cip-race-info-v2 dd{margin:0;text-align:right;font-weight:850;font-size:.82rem}

/* Articles */
.cip-article-hero{position:relative;isolation:isolate;background:linear-gradient(135deg,#031a30,#0a5078);color:#fff;min-height:470px;display:flex;align-items:end}.cip-article-hero.has-image{background-image:var(--cip-article-bg);background-size:cover;background-position:center}.cip-article-hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,19,35,.96),rgba(3,30,53,.72) 62%,rgba(3,30,53,.34)),linear-gradient(transparent,rgba(2,17,30,.6))}.cip-article-hero-inner{padding:75px 0 52px}.cip-article-meta-top{display:flex;gap:10px 18px;align-items:center;flex-wrap:wrap;font-size:.75rem;font-weight:800;color:#bfd0dc}.cip-article-category{display:inline-flex;padding:6px 9px;border-radius:999px;background:var(--cip-lime);color:#133100;text-transform:uppercase;font-size:.65rem;font-weight:1000}.cip-article-hero h1{font-size:clamp(3rem,6vw,5.8rem);line-height:.88;letter-spacing:-.065em;max-width:1050px;margin:17px 0}.cip-article-deck{max-width:820px;font-size:1.15rem;color:#d1dee7}.cip-article-main{background:#f5f8fb;padding:32px 0 76px}.cip-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:27px}.cip-related-race-strip{display:grid;grid-template-columns:60px 1fr auto;gap:14px;align-items:center;padding:13px 16px;margin-bottom:15px}.cip-related-race-date{display:grid;place-items:center;background:#092a47;color:#fff;border-radius:12px;padding:7px;line-height:1}.cip-related-race-date b{font-size:1.35rem}.cip-related-race-strip small,.cip-related-race-strip strong,.cip-related-race-strip em{display:block}.cip-related-race-strip small{font-size:.6rem;font-weight:950;color:#718599}.cip-related-race-strip em{font-style:normal;color:#718599;font-size:.75rem}.cip-article-footer{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:18px 0 4px;color:#788a9c;font-size:.75rem}.cip-tags a{display:inline-flex;margin-right:6px;padding:5px 8px;border-radius:999px;background:#e8eef4;color:#4c6378}.cip-article-sidebar{display:flex;flex-direction:column;gap:16px}.cip-related-news{margin-top:34px}.cip-related-news .cip-section-head h2{margin:0}.cip-widget-title{font-size:1.05rem;margin:0 0 12px}.cip-widget-kicker{font-size:.65rem;font-weight:950;color:#6f8294;letter-spacing:.09em}.cip-widget-race-title{font-size:1.18rem;line-height:1.1;margin:5px 0 13px}.cip-widget-meta{display:grid;gap:5px;color:#687d90;font-size:.75rem;margin-bottom:14px}.cip-widget-list{display:grid}.cip-widget-list>a{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #e7edf2}.cip-widget-list strong,.cip-widget-list small{display:block}.cip-widget-list strong{font-size:.82rem}.cip-widget-list small{font-size:.68rem;color:#7c8ea0;margin-top:2px}.cip-widget-search{display:grid;gap:8px}.cip-widget-search input{width:100%;border:1px solid #d9e3eb;border-radius:10px;padding:10px}.cip-widget-featured-image{display:block;margin:-20px -20px 14px;aspect-ratio:16/9;overflow:hidden}.cip-widget-featured-image img{width:100%;height:100%;object-fit:cover}

/* Legacy plugin styling — visual bridge, not destructive */
.cip-v2 .wpem-main,.cip-v2 .wpem-event-listings,.cip-v2 .wpem-single-event-wrapper,.cip-v2 .qcopd-list-wrapper,.cip-v2 .qc-grid-item{font-family:inherit;max-width:100%}
.cip-v2 .wpem-event-listings .wpem-event-layout-wrapper,.cip-v2 .wpem-event-listings .event_listing{border-radius:16px!important;border:1px solid #dfe7ed!important;box-shadow:0 8px 24px rgba(2,24,43,.05)!important;overflow:hidden;background:#fff!important}
.cip-v2 .qcopd-list-wrapper ul,.cip-v2 .qcopd-list-wrapper li{font-family:inherit!important}
.cip-v2 .qcopd-list-wrapper .qcopd-single-list,.cip-v2 .qcopd-list-wrapper .qc-grid-item{border-radius:16px!important;overflow:hidden}
.cip-v2 .entry-content [class*="qcopd"] a{text-decoration:none}

/* Responsive */
@media(max-width:1180px){
  .cip-calendar-filters{grid-template-columns:2fr repeat(3,1fr)}
  .cip-calendar-filters .cip-btn{align-self:end}
}
@media(max-width:1000px){
  .cip-home-hero-grid,.cip-page-hero-grid,.cip-timing-v2-grid{grid-template-columns:1fr}
  .cip-home-hero-grid{min-height:auto;padding:58px 0}.cip-home-hero-copy h1{font-size:clamp(3.6rem,11vw,6.3rem)}
  .cip-next-race-v2{max-width:700px}
  .cip-quick-access-grid{grid-template-columns:repeat(2,1fr)}.cip-quick-v2:nth-child(2){border-right:0}.cip-quick-v2:nth-child(-n+2){border-bottom:1px solid #e5edf3}
  .cip-race-grid-v2,.cip-news-grid-v2,.cip-results-card-grid{grid-template-columns:repeat(2,1fr)}
  .cip-home-results-grid{grid-template-columns:1fr}.cip-home-result-card{grid-template-columns:minmax(200px,32%) minmax(0,1fr)}
  .cip-gallery-grid-v2{grid-template-columns:repeat(2,1fr)}
  .cip-race-detail-grid,.cip-article-layout{grid-template-columns:1fr}.cip-race-info-v2{position:static}.cip-article-sidebar{display:grid;grid-template-columns:repeat(2,1fr)}
  .cip-page-hero-stats{justify-content:flex-start}
}
@media(max-width:760px){
  .cip-section-v2{padding:42px 0}.cip-section-head-v2{align-items:start}.cip-section-head-v2>a{display:none}
  .cip-calendar-filters{grid-template-columns:1fr 1fr}.cip-filter-search{grid-column:1/-1}.cip-calendar-toolbar{align-items:start;flex-direction:column}.cip-calendar-row{grid-template-columns:68px 1fr}.cip-calendar-row-actions{grid-column:1/-1}.cip-month-view{overflow-x:auto}.cip-month-grid{min-width:780px}
  .cip-results-search{grid-template-columns:1fr}.cip-results-search label:first-child{grid-column:auto}
  .cip-classifica-tools{align-items:stretch;flex-direction:column}.cip-classifica-search{max-width:none}.cip-classifica-kpis{display:grid;grid-template-columns:1fr 1fr}
  .cip-race-detail-copy h1,.cip-article-hero h1{font-size:clamp(2.8rem,13vw,5rem)}.cip-race-detail-facts{display:grid;grid-template-columns:repeat(2,1fr)}.cip-race-kpis{grid-template-columns:1fr}.cip-race-resource-grid{grid-template-columns:1fr}
  .cip-article-sidebar{grid-template-columns:1fr}.cip-legacy-result{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
  .cip-home-hero-grid{padding:48px 0 62px}.cip-home-hero-copy h1{font-size:clamp(3.25rem,16vw,5.1rem)}.cip-home-hero-actions{display:grid;grid-template-columns:1fr 1fr}.cip-home-trust{gap:9px 16px}
  .cip-quick-access{margin-top:-20px}.cip-quick-access-grid{grid-template-columns:1fr}.cip-quick-v2{border-right:0;border-bottom:1px solid #e5edf3!important;padding:16px 18px}.cip-quick-v2:last-child{border-bottom:0!important}
  .cip-race-grid-v2,.cip-news-grid-v2,.cip-results-card-grid,.cip-gallery-grid-v2{grid-template-columns:1fr}
  .cip-home-result-card{grid-template-columns:1fr}.cip-home-result-photo{min-height:0;aspect-ratio:16/7}.cip-home-result-content{grid-template-columns:1fr}.cip-result-podiums{grid-template-columns:1fr 1fr}.cip-home-result-stats{grid-template-columns:1fr 1fr;min-width:0}.cip-home-result-stats .cip-btn{grid-column:1/-1}
  .cip-page-hero{padding:48px 0 40px}.cip-page-hero h1{font-size:clamp(2.8rem,14vw,4.3rem)}.cip-page-hero-stats{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .cip-calendar-filters{grid-template-columns:1fr}.cip-filter-search{grid-column:auto}.cip-view-switch{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.cip-view-switch a{text-align:center}
  .cip-race-detail-hero{min-height:470px}.cip-race-detail-hero-inner{padding:46px 0 38px}.cip-race-detail-facts{grid-template-columns:1fr 1fr}.cip-race-tabs-v2{top:76px}
  .cip-related-race-strip{grid-template-columns:52px 1fr}.cip-related-race-strip>b{grid-column:1/-1}.cip-article-hero{min-height:430px}.cip-article-hero-inner{padding:55px 0 38px}
  .cip-timing-features{grid-template-columns:1fr}.cip-home-widget-area{grid-template-columns:1fr}
}
.cip-article-native-assets{margin-top:28px}.cip-native-assets-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cip-native-asset{display:flex;align-items:center;gap:14px;padding:18px;text-decoration:none;color:var(--cip-text)}.cip-native-asset>span{font-size:28px}.cip-native-asset div{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.cip-native-asset small{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--cip-blue)}.cip-native-asset strong{font-size:15px}.cip-native-asset>b{font-size:13px;white-space:nowrap}.cip-native-asset:hover{transform:translateY(-2px)}
@media(max-width:720px){.cip-native-assets-grid{grid-template-columns:1fr}.cip-native-asset{padding:15px}}

/* Correre in Puglia 2.6 — Portale, Circuiti e Archivio */
.cip-portal-strip{padding:28px 0 4px;background:#fff}.cip-portal-strip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.cip-portal-strip-grid>a{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:16px;padding:20px 22px;border:1px solid #dce6ee;border-radius:20px;background:linear-gradient(145deg,#fff,#f6f9fc);box-shadow:0 10px 30px rgba(4,26,48,.055);transition:.2s ease}.cip-portal-strip-grid>a:hover{transform:translateY(-3px);box-shadow:0 20px 45px rgba(4,26,48,.09)}.cip-portal-strip-grid>a>span{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:#071f36;color:var(--cip-lime);font-size:1.35rem}.cip-portal-strip-grid small,.cip-portal-strip-grid strong,.cip-portal-strip-grid em{display:block}.cip-portal-strip-grid small{font-size:.65rem;letter-spacing:.1em;font-weight:950;color:#6d8194}.cip-portal-strip-grid strong{font-size:1.08rem;color:var(--cip-navy);margin:2px 0}.cip-portal-strip-grid em{font-size:.78rem;color:#718398;font-style:normal}.cip-portal-strip-grid b{font-size:1.2rem;color:#54708a}
.cip-circuit-hub,.cip-circuit-detail,.cip-historical-hub,.cip-unassigned-hub{padding:48px 0 72px;background:#f5f8fb}.cip-circuit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cip-circuit-card{padding:24px;display:flex;flex-direction:column;gap:20px}.cip-circuit-card-top{display:flex;gap:15px;align-items:center}.cip-circuit-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;background:#071f36;color:var(--cip-lime);font-size:1.35rem}.cip-circuit-card h2{font-size:1.45rem;line-height:1.05;letter-spacing:-.04em;margin:4px 0}.cip-circuit-editions{padding:15px;border-radius:15px;background:#f1f5f8}.cip-circuit-editions>span{display:block;font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#77899b;margin-bottom:9px}.cip-circuit-editions>div{display:flex;flex-wrap:wrap;gap:7px}.cip-circuit-editions a{padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #d8e2eb;font-weight:850;font-size:.78rem}.cip-circuit-editions a:hover{border-color:#9fc72c;background:#f8ffdf}.cip-section-soft-edge{padding-left:24px;padding-right:24px;border-radius:28px;background:#edf3f7}.cip-admin-preview-note{padding:14px 18px;margin-bottom:22px;background:#fffbe8;border-color:#f0ce62;box-shadow:none}.cip-admin-preview-note a{color:#1667b1;font-weight:900}.cip-assoc-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 11px;background:#edf3f7;color:#34536c;font-size:.75rem;font-weight:900}.cip-assoc-chip.circuito{background:#ecf8d1;color:#365700}.cip-assoc-chip.gara{background:#e4f0ff;color:#164f85}
.cip-archive-filters{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:13px;padding:18px;margin-bottom:20px}.cip-archive-filters label,.cip-results-search-v26 label{display:grid;gap:6px}.cip-archive-filters label>span,.cip-results-search-v26 label>span{font-size:.69rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase;color:#667d92}.cip-archive-filters input,.cip-archive-filters select,.cip-results-search-v26 input,.cip-results-search-v26 select{height:44px;border:1px solid #cbd7e2;border-radius:10px;padding:0 11px;background:#fff;color:#17344e}.cip-archive-filters .cip-btn,.cip-results-search-v26 .cip-btn{align-self:end;height:44px}.cip-year-summary{display:grid;grid-template-columns:1.3fr repeat(3,1fr);border-radius:20px;overflow:hidden;background:#071f36;color:#fff;margin-bottom:10px}.cip-year-summary>div{padding:20px 22px;border-right:1px solid rgba(255,255,255,.1)}.cip-year-summary>div:last-child{border-right:0}.cip-year-summary strong,.cip-year-summary span{display:block}.cip-year-summary strong{font-size:1.85rem;line-height:1;color:var(--cip-lime)}.cip-year-summary span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#b9c8d5;margin-top:7px;font-weight:850}.cip-results-search-v26{grid-template-columns:2fr 1fr 1fr 1.3fr auto}.cip-results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0}.cip-results-toolbar p{margin:0;color:#60768a}.cip-results-toolbar a{font-weight:900;color:#1768b7}.cip-results-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cip-result-card-v2 h2,.cip-result-card-v2 h3{font-size:1.2rem;line-height:1.12;letter-spacing:-.03em}.cip-result-card-v2{padding:20px}.cip-result-card-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:15px;padding-top:13px;border-top:1px solid #edf1f5;color:#718296;font-size:.8rem}.cip-result-card-footer a{font-weight:950;color:#1769bc}.cip-result-card-icon{font-size:1.35rem;margin-bottom:10px}.cip-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cip-review-card{padding:20px}.cip-review-card h3{font-size:1.13rem;line-height:1.15;margin:10px 0}.cip-review-card p{color:#6c7f91}.cip-review-type{font-size:.7rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase;color:#597087}.cip-widget-years{display:grid;gap:8px;margin-bottom:14px}.cip-widget-years a{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #e8eef3}.cip-widget-years strong{font-size:1rem}.cip-widget-years span{font-size:.72rem;color:#72869a;text-align:right}.cip-related-race-strip.is-circuit .cip-related-race-date{background:#eaf8ca;color:#244800}
@media(max-width:1100px){.cip-circuit-grid,.cip-results-card-grid,.cip-review-grid{grid-template-columns:repeat(2,1fr)}.cip-archive-filters,.cip-results-search-v26{grid-template-columns:2fr 1fr 1fr}.cip-archive-filters .cip-btn,.cip-results-search-v26 .cip-btn{align-self:end}.cip-results-search-v26 label:nth-child(4){grid-column:auto}}
@media(max-width:760px){.cip-portal-strip-grid,.cip-circuit-grid,.cip-results-card-grid,.cip-review-grid{grid-template-columns:1fr}.cip-archive-filters,.cip-results-search-v26{grid-template-columns:1fr 1fr}.cip-archive-filters label:first-child,.cip-results-search-v26 label:first-child{grid-column:1/-1}.cip-year-summary{grid-template-columns:1fr 1fr}.cip-year-summary>div{border-bottom:1px solid rgba(255,255,255,.1)}.cip-results-toolbar{align-items:flex-start;flex-direction:column}.cip-section-soft-edge{padding-left:14px;padding-right:14px}}
@media(max-width:560px){.cip-archive-filters,.cip-results-search-v26,.cip-year-summary{grid-template-columns:1fr}.cip-archive-filters label:first-child,.cip-results-search-v26 label:first-child{grid-column:auto}.cip-portal-strip-grid>a{grid-template-columns:44px 1fr auto;padding:16px}.cip-portal-strip-grid>a>span{width:44px;height:44px}.cip-year-summary>div{border-right:0}.cip-circuit-card{padding:18px}}

/* === Correre in Puglia 3.0 — Classifiche annual archive === */
.cip-classifications-hero{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(4,26,48,.97),rgba(7,53,89,.84)),linear-gradient(135deg,#082846,#0a4a72);color:#fff;padding:46px 0 42px}
.cip-classifications-hero:after{content:"";position:absolute;right:-80px;top:-120px;width:420px;height:420px;border-radius:50%;background:rgba(183,242,31,.08)}
.cip-classifications-hero h1{font-size:clamp(2.5rem,5vw,4.6rem);line-height:.95;letter-spacing:-.055em;margin:10px 0 12px;position:relative;z-index:1}
.cip-classifications-hero h1 span{color:var(--cip-lime)}
.cip-classifications-hero p{margin:0;color:rgba(255,255,255,.9);font-size:1.08rem;position:relative;z-index:1}
.cip-classifications-page{background:var(--cip-bg);padding:30px 0 50px;min-height:65vh}
.cip-classifications-layout{display:grid;grid-template-columns:286px minmax(0,1fr);gap:18px;align-items:start}
.cip-class-years{padding:16px;position:sticky;top:98px;box-shadow:var(--cip-shadow)}
.cip-class-years-head{display:flex;gap:10px;align-items:center;margin-bottom:13px}
.cip-class-years-icon{width:38px;height:38px;border-radius:11px;background:#fff6cd;display:grid;place-items:center;font-size:1.25rem}
.cip-class-years-head h2{font-size:1.05rem;margin:0;letter-spacing:-.02em}
.cip-class-years-head p{font-size:.76rem;color:var(--cip-muted);margin:2px 0 0}
.cip-class-years-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.cip-class-year-chip{min-height:43px;border:1px solid var(--cip-line);border-radius:11px;background:#f8fbfe;display:flex;align-items:center;justify-content:space-between;padding:8px 10px;transition:.18s ease}
.cip-class-year-chip:hover{border-color:#9fb8d3;background:#fff;transform:translateY(-1px)}
.cip-class-year-chip strong{font-size:.92rem;color:var(--cip-navy)}
.cip-class-year-chip span{display:grid;place-items:center;min-width:27px;height:22px;border-radius:999px;background:#e5edf6;color:#35506a;font-size:.68rem;font-weight:900;padding:0 6px}
.cip-class-year-chip.is-active{background:linear-gradient(135deg,#1d69d5,#1554ba);border-color:#1d69d5;box-shadow:0 6px 16px rgba(29,105,213,.22)}
.cip-class-year-chip.is-active strong{color:#fff}.cip-class-year-chip.is-active span{background:#fff;color:#1456bd}
.cip-class-years-all{display:flex;justify-content:space-between;align-items:center;margin-top:11px;padding:8px 3px 0;color:var(--cip-blue);font-size:.78rem;font-weight:900;border-top:1px solid #edf1f5}
.cip-classifications-main{padding:18px 18px 14px;box-shadow:var(--cip-shadow)}
.cip-class-main-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.cip-class-main-head>div{display:flex;gap:12px;align-items:center}
.cip-class-main-icon{width:44px;height:44px;border-radius:12px;background:#e7f1ff;color:#0d4e97;font-size:1.55rem;font-weight:1000;display:grid;place-items:center}
.cip-class-main-head h2{margin:0;font-size:1.55rem;letter-spacing:-.035em}.cip-class-main-head p{margin:2px 0 0;color:var(--cip-muted);font-size:.83rem}
.cip-class-back{padding:9px 13px;font-size:.78rem}
.cip-class-filters{display:grid;grid-template-columns:minmax(220px,1fr) 175px auto auto;gap:9px;margin-bottom:14px}
.cip-class-filters input,.cip-class-filters select{width:100%;height:44px;border:1px solid #cfdbe7;border-radius:10px;background:#fff;padding:0 12px;color:var(--cip-text)}
.cip-class-search{position:relative}.cip-class-search span{position:absolute;left:13px;top:8px;font-size:1.2rem;color:#375a7e}.cip-class-search input{padding-left:40px}
.cip-class-filters .cip-btn{height:44px;padding:0 18px}.cip-class-reset{align-self:center;color:var(--cip-blue);font-size:.78rem;font-weight:900;padding:0 6px}
.cip-class-table-wrap{overflow:auto;border:1px solid #d8e3ed;border-radius:13px}
.cip-class-table{width:100%;border-collapse:collapse;min-width:720px;background:#fff}
.cip-class-table thead{background:linear-gradient(90deg,#082846,#0d426d);color:#fff}.cip-class-table th{font-size:.74rem;text-align:left;padding:11px 12px;font-weight:900;white-space:nowrap}
.cip-class-table td{padding:10px 12px;border-bottom:1px solid #e5edf4;font-size:.82rem;vertical-align:middle}.cip-class-table tbody tr:nth-child(even){background:#f7fafd}.cip-class-table tbody tr:hover{background:#eef6ff}
.cip-class-table tbody tr:last-child td{border-bottom:0}.cip-class-num{font-variant-numeric:tabular-nums;color:#6f8092;font-weight:800;width:46px}.cip-class-table td strong{display:block;font-size:.9rem;color:#0a3761}.cip-class-sub{display:block;color:#6c7d8e;margin-top:2px;font-size:.71rem}.cip-class-muted{color:#8290a0;font-size:.76rem}
.cip-class-action{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #84b2ed;border-radius:8px;color:#075cc5;background:#f4f9ff;font-weight:900;font-size:.76rem;white-space:nowrap}.cip-class-action:hover{background:#e8f3ff}.cip-class-unavailable{color:#8a98a8;font-size:.72rem}
.cip-class-no-results{text-align:center;padding:36px;color:var(--cip-muted)}
.cip-class-pagination{display:flex;justify-content:center;align-items:center;gap:6px;padding-top:14px}.cip-class-pagination a{min-width:34px;height:34px;border:1px solid #d3dfeb;border-radius:8px;display:grid;place-items:center;padding:0 10px;background:#fff;color:#31506d;font-weight:800;font-size:.76rem}.cip-class-pagination a.is-current{background:var(--cip-blue);border-color:var(--cip-blue);color:#fff}
@media(max-width:980px){.cip-classifications-layout{grid-template-columns:1fr}.cip-class-years{position:static}.cip-class-years-grid{grid-template-columns:repeat(5,1fr)}.cip-class-years-head{margin-bottom:10px}.cip-class-years-all{display:none}}
@media(max-width:720px){.cip-classifications-page{padding-top:18px}.cip-classifications-layout{width:100%}.cip-class-years{padding:12px}.cip-class-years-grid{display:flex;overflow-x:auto;gap:7px;padding-bottom:4px;scrollbar-width:none}.cip-class-years-grid::-webkit-scrollbar{display:none}.cip-class-year-chip{flex:0 0 92px}.cip-classifications-main{padding:13px}.cip-class-main-head{align-items:flex-start}.cip-class-back{display:none}.cip-class-main-head h2{font-size:1.28rem}.cip-class-filters{grid-template-columns:1fr 1fr}.cip-class-search{grid-column:1/-1}.cip-class-filters .cip-btn{grid-column:1/2}.cip-classifications-hero{padding:34px 0 30px}.cip-classifications-hero h1{font-size:2.65rem}}
@media(max-width:480px){.cip-class-filters{grid-template-columns:1fr}.cip-class-search,.cip-class-filters .cip-btn{grid-column:auto}.cip-class-reset{text-align:center}.cip-class-table{min-width:650px}}

/* v3.4 Classifiche: chronological race archive, visible date/locality columns */
.cip-v34 .cip-class-table th:nth-child(1),.cip-v34 .cip-class-table td:nth-child(1){width:52px}
.cip-v34 .cip-class-table th:nth-child(3),.cip-v34 .cip-class-table td:nth-child(3){width:118px;white-space:nowrap}
.cip-v34 .cip-class-table th:nth-child(4),.cip-v34 .cip-class-table td:nth-child(4){min-width:150px}
.cip-v34 .cip-class-table th:nth-child(5),.cip-v34 .cip-class-table td:nth-child(5){width:150px}
.cip-v34 .cip-class-table td:nth-child(4){font-weight:750;color:#233f5d}

/* Correre in Puglia 3.6 — iscrizioni e contenuti per edizione */
.cip-status-badge.closed{background:#ffe2e2;color:#9f1c1c}
.cip-registration-countdown{display:inline-grid;gap:3px;margin-top:20px;padding:13px 16px;border-radius:15px;background:rgba(183,242,31,.14);border:1px solid rgba(183,242,31,.45);backdrop-filter:blur(8px)}
.cip-registration-countdown>span{font-size:.64rem;font-weight:950;letter-spacing:.09em;color:#dfff82}
.cip-registration-countdown>strong{font-size:1.25rem;line-height:1.1;color:#fff;letter-spacing:.01em}
.cip-registration-countdown>small{font-size:.72rem;color:#c4d4df}
.cip-registration-countdown.is-closed{background:rgba(230,75,75,.17);border-color:rgba(255,132,132,.45)}
.cip-registration-countdown.is-closed>span{color:#ffb2b2}
.cip-btn-disabled{background:#7d8995!important;border-color:#7d8995!important;color:#fff!important;cursor:not-allowed;pointer-events:none;opacity:.9}
.cip-unavailable-page{min-height:70vh;display:grid;align-items:center;padding:70px 0;background:radial-gradient(circle at 50% 0,#eaf4fb,#f5f8fb 46%,#f5f8fb)}
.cip-unavailable-card{max-width:760px;margin:auto;padding:clamp(34px,6vw,72px);text-align:center}
.cip-unavailable-icon{width:72px;height:72px;display:grid;place-items:center;margin:0 auto 18px;border-radius:22px;background:#082846;color:#b7f21f;font-size:2rem}
.cip-unavailable-card h1{font-size:clamp(2.35rem,5vw,4.8rem);line-height:.94;letter-spacing:-.055em;margin:10px 0 12px;color:#082846}
.cip-unavailable-card h2{font-size:1.15rem;margin:0 0 18px;color:#415a70}
.cip-unavailable-card p{font-size:1.08rem;font-weight:950;letter-spacing:.05em;color:#63788c;margin:0 0 28px}
.cip-unavailable-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
@media(max-width:620px){.cip-registration-countdown{width:100%}.cip-unavailable-page{padding:38px 0}.cip-unavailable-card{margin:0 12px}}

/* Correre in Puglia 3.7 — automatic CLASSIFICHE E GALLERY panel */
.cip37-auto-results{margin:0 0 26px;padding:22px;box-shadow:var(--cip-shadow)}
.cip37-auto-winners{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.cip37-auto-winners>div{border:1px solid #dce7f0;border-radius:14px;padding:16px;background:linear-gradient(180deg,#fff,#f8fbfe)}
.cip37-auto-winners span{display:block;font-size:.7rem;font-weight:950;letter-spacing:.08em;color:#557086;margin-bottom:7px}
.cip37-auto-winners strong{display:block;color:#082846;font-size:1.04rem}
.cip37-auto-winners small{display:block;color:#65788b;margin-top:4px}
.cip37-auto-winners b{display:block;margin-top:10px;font-size:1.1rem;color:#0d5ab7}
.cip37-auto-classifications h2{margin:0 0 12px;color:#082846;font-size:1.35rem}
.cip37-auto-classifications>div{display:flex;flex-wrap:wrap;gap:9px}
.cip37-class-link{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;background:#0d67d8;color:#fff;font-weight:900;font-size:.82rem;box-shadow:0 5px 12px rgba(13,103,216,.16)}
.cip37-class-link:hover{background:#084fa8;color:#fff}
.cip37-class-link:nth-child(2){background:#087a3e}.cip37-class-link:nth-child(2):hover{background:#056331}
.cip37-class-link:nth-child(n+3){background:#6a39b2}.cip37-class-link:nth-child(n+3):hover{background:#542d8e}
.cip-race-kpis>div small{display:block;margin-top:3px;color:#718394;font-size:.72rem;font-weight:700}
.cip-winner-club{display:block;color:#718394;margin:2px 0 5px;font-size:.7rem}
.cip-class-winners-mini{color:#3d668e!important}
@media(max-width:650px){.cip37-auto-winners{grid-template-columns:1fr}.cip37-auto-results{padding:16px}.cip37-auto-classifications>div{display:grid}.cip37-class-link{justify-content:center}}


/* 5.2.1 — Barra rapida globale: sotto l'intestazione, mai sovrapposta. */
.cip-global-quick-access{width:100%;margin-top:28px;margin-bottom:32px;}
body:not(.home) .cip-global-quick-access{margin-top:30px;margin-bottom:34px;}
body:not(.home) .cip-global-quick-access:not(.is-positioned){display:none;}
body:not(.home) .cip-global-quick-access + main,
body:not(.home) .cip-global-quick-access + .cip-race-tabs-v2{margin-top:0;}
@media(max-width:760px){
  .cip-global-quick-access,body:not(.home) .cip-global-quick-access{margin-top:20px;margin-bottom:24px;}
}


/* 5.2.4 — no-photo result card */
.cip-home-result-card.no-result-photo{grid-template-columns:1fr}
.cip-home-result-card.no-result-photo .cip-home-result-content{grid-column:1/-1}
.cip-home-result-card .cip-home-result-content>*{min-width:0}
@media(max-width:460px){.cip-result-podiums{grid-template-columns:1fr}}

/* 5.2.6 — Countdown chiusura iscrizioni nella card Prossima gara */
.cip-next-race-countdown{display:grid;gap:2px;margin:-4px 0 20px;padding:12px 14px;border-radius:14px;background:#eef7dc;border:1px solid #d8ec9d}
.cip-next-race-countdown>span{font-size:.62rem;font-weight:950;letter-spacing:.08em;color:#587116}
.cip-next-race-countdown>strong{font-size:1.05rem;line-height:1.15;color:var(--cip-navy);font-variant-numeric:tabular-nums}
.cip-next-race-countdown>small{font-size:.68rem;color:#708195}
.cip-next-race-countdown.is-closed{background:#f8eeee;border-color:#efcaca}
.cip-next-race-countdown.is-closed>span{color:#a54040}

/* 5.2.7 — Home: countdown compatto accanto a Iscriviti + risultati in vere card */
.cip-next-race-actions{
  display:grid;
  grid-template-columns:auto auto minmax(128px,1fr);
  gap:10px;
  align-items:stretch;
}
.cip-next-race-actions>.cip-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  white-space:nowrap;
}
.cip-next-race-actions .cip-next-race-countdown{
  margin:0;
  min-width:0;
  padding:8px 11px;
  border-radius:13px;
  align-content:center;
  gap:1px;
}
.cip-next-race-actions .cip-next-race-countdown>span{font-size:.56rem;line-height:1.1}
.cip-next-race-actions .cip-next-race-countdown>strong{font-size:.9rem;line-height:1.08;white-space:nowrap}
.cip-next-race-actions .cip-next-race-countdown>small{display:none}

/* Le due ultime gare hanno lo stesso peso visivo: foto sopra e contenuto sotto. */
.cip-home-results-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.cip-home-result-card,
.cip-home-result-card.has-result-photo,
.cip-home-result-card.no-result-photo{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
}
.cip-home-result-photo{
  width:100%;
  min-height:0;
  aspect-ratio:16/7;
  flex:0 0 auto;
}
.cip-home-result-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.cip-home-result-content,
.cip-home-result-card.no-result-photo .cip-home-result-content{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  padding:24px 26px 26px;
}
.cip-home-result-main{min-width:0}
.cip-home-result-card h3{
  font-size:clamp(1.45rem,2vw,1.85rem);
  line-height:1.08;
  margin:6px 0 18px;
  overflow-wrap:break-word;
  word-break:normal;
}
.cip-result-podiums{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.cip-result-podiums>div{padding:14px 15px;min-width:0}
.cip-result-podiums strong,
.cip-result-podiums b{
  overflow-wrap:break-word;
  word-break:normal;
}
.cip-result-podiums strong{font-size:.92rem;line-height:1.25}
.cip-result-podiums b{font-size:1.08rem;line-height:1.15;margin-top:5px}
.cip-home-result-stats{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:10px;
  min-width:0;
  margin-top:auto;
  padding-top:18px;
}
.cip-home-result-stats>div{min-width:92px;padding:10px 12px}
.cip-home-result-stats .cip-btn{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:145px;
}

@media(max-width:1100px){
  .cip-home-results-grid{grid-template-columns:1fr}
  .cip-home-result-photo{aspect-ratio:16/6}
}
@media(max-width:640px){
  .cip-next-race-actions{grid-template-columns:auto auto minmax(112px,1fr);gap:8px}
  .cip-next-race-actions>.cip-btn{padding-inline:11px}
  .cip-next-race-actions .cip-next-race-countdown{padding-inline:8px}
  .cip-next-race-actions .cip-next-race-countdown>strong{font-size:.78rem}
  .cip-home-result-photo{aspect-ratio:16/9}
  .cip-home-result-content,.cip-home-result-card.no-result-photo .cip-home-result-content{padding:20px}
  .cip-home-result-stats .cip-btn{width:100%;margin-left:0}
}
@media(max-width:460px){
  .cip-next-race-actions{grid-template-columns:1fr 1fr}
  .cip-next-race-actions>.cip-btn{min-height:52px;padding-inline:10px}
  .cip-next-race-actions .cip-next-race-countdown{grid-column:1/-1}
  .cip-result-podiums{grid-template-columns:1fr}
}
