/* Campionati reuses Skate Live surfaces, type, event cards and native select styling. */
.ch { max-width:76rem; margin:0 auto; padding-bottom:calc(1.5rem + env(safe-area-inset-bottom)); color:var(--text-primary); line-height:1.55; min-width:0; overflow-wrap:anywhere; }
.ch * { box-sizing:border-box; }
.ch [hidden] { display:none!important; }
.ch a { color:var(--color-accent); text-underline-offset:.2em; }
.ch .svg-icon { width:1.25rem; height:1.25rem; flex:0 0 auto; }
.ch h1,.ch h2,.ch h3 { overflow-wrap:anywhere; }
.ch h2 { font-size:1.25rem; line-height:1.3; }
.ch h3 { font-size:1.1rem; line-height:1.3; margin:.35rem 0; }
.ch p { overflow-wrap:anywhere; }
.ch a:focus-visible,.ch button:focus-visible,.ch input:focus-visible,.ch select:focus-visible,.ch textarea:focus-visible,.ch summary:focus-visible { outline:3px solid var(--color-accent); outline-offset:4px; }
.ch-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; margin:0 0 1rem; color:var(--text-secondary); font-size:.82rem; }
.ch-breadcrumb a { text-decoration:none; }
.ch-breadcrumb .svg-icon { width:.85rem; height:.85rem; }
.ch-heading { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:clamp(1.25rem,3vw,2rem); border:1px solid var(--border-subtle); border-radius:1.5rem; background:var(--surface-1); margin-bottom:1.5rem; min-width:0; }
.ch-heading--catalog { background:radial-gradient(ellipse at 95% 0%,rgba(var(--color-accent-rgb),.09),transparent 60%),var(--surface-1); }
.ch-heading>div { min-width:0; max-width:100%; }
.ch-heading h1 { font-size:clamp(1.8rem,4.5vw,3rem); line-height:1.08; letter-spacing:-.045em; margin:.4rem 0 .75rem; }
.ch-heading p:not(.ch-eyebrow) { color:var(--text-secondary); margin:.35rem 0; }
.ch-eyebrow { color:var(--color-accent); text-transform:uppercase; font-size:.68rem; letter-spacing:.1em; font-weight:800; margin:.2rem 0; }
.ch-heading .ch-actions { flex-shrink:0; max-width:100%; }
.ch-actions,.ch-pagination { display:flex; align-items:center; flex-wrap:wrap; gap:.6rem; }
.ch-actions a,.ch-actions button,.ch-pagination a,.ch-button { min-height:44px; display:inline-flex; gap:.5rem; align-items:center; justify-content:center; padding:.6rem .85rem; font:inherit; font-size:.85rem; font-weight:700; border-radius:.9rem; text-decoration:none; }
.ch .ch-guide-action { border:1px solid var(--border-subtle); color:var(--text-primary); background:var(--surface-2); white-space:normal; max-width:100%; }
.ch button,.ch-button { border:1px solid var(--border-strong); background:var(--surface-2); color:var(--color-accent); cursor:pointer; min-height:44px; padding:.65rem .9rem; font:inherit; border-radius:.9rem; }
.ch button:disabled { cursor:wait; opacity:.65; }
.ch a.ch-primary,.ch-filter-actions button { background:var(--button-primary-bg); border:1px solid var(--button-primary-bg); color:var(--button-primary-text); font-weight:750; }
.ch-card { display:block; padding:1.25rem; border:1px solid var(--border-subtle); border-radius:1.5rem; background:var(--surface-1); min-width:0; margin-bottom:1rem; text-decoration:none; }
.ch-card h2:first-child { margin-top:0; }
.ch-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1rem 0; }
.ch-grid>.ch-card { margin:0; }
.ch-section-title { display:flex; align-items:center; gap:.65rem; margin:0 0 1rem; font-size:1.15rem; }
.ch-section-title>span { font-size:.75rem; font-weight:600; color:var(--text-secondary); border:1px solid var(--border-subtle); padding:.1rem .45rem; border-radius:999px; }
.ch-family-section { margin-bottom:1.5rem; }
.ch-families { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.ch a.ch-family { display:grid; grid-template-columns:3.5rem minmax(0,1fr) 1.1rem; container:ch-family / inline-size; align-items:center; gap:1rem; min-width:0; padding:1.4rem; border:1px solid var(--border-subtle); border-radius:1.5rem; background:var(--surface-1); color:var(--text-primary); text-decoration:none; transition:border-color .15s,background .15s; }
.ch-family__icon { display:flex; align-items:center; justify-content:center; width:3.5rem; height:3.5rem; flex:0 0 3.5rem; border-radius:1rem; background:rgba(var(--color-accent-rgb),.1); color:var(--color-accent); }
.ch-family__icon .svg-icon { width:1.6rem; height:1.6rem; }
.ch-family__body { display:flex; flex-direction:column; gap:.4rem; min-width:0; overflow-wrap:anywhere; }
.ch-family__body>strong { font-size:1.15rem; letter-spacing:-.02em; line-height:1.25; }
.ch-family__description { font-size:.87rem; color:var(--text-secondary); }
.ch-family__meta { font-size:.74rem; color:var(--color-accent); line-height:1.5; }
.ch-family .ch-family__arrow { width:1.1rem; height:1.1rem; margin-left:auto; color:var(--text-secondary); }
.ch-family-nav,.ch-views { display:flex; align-items:center; flex-wrap:wrap; gap:.4rem; margin:0 0 1.25rem; }
.ch-family-nav a,.ch-views a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.55rem .85rem; color:var(--text-secondary); border:1px solid transparent; border-radius:999px; font-size:.82rem; font-weight:650; text-decoration:none; }
.ch-family-nav a[aria-current],.ch-views a[aria-current] { background:rgba(var(--color-accent-rgb),.1); border-color:rgba(var(--color-accent-rgb),.25); color:var(--color-accent); }
.ch-views { border-bottom:1px solid var(--border-subtle); border-radius:0; padding-bottom:.9rem; margin-bottom:1.5rem; }
.ch-catalog-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem; margin:1.5rem 0 1rem; }
.ch-catalog-toolbar>p { margin:0; color:var(--text-secondary); font-size:.82rem; }
.ch-search { min-width:0; max-width:100%; margin-left:auto; }
.ch-search>summary { display:flex; align-items:center; justify-content:center; gap:.5rem; width:fit-content; min-height:44px; padding:.6rem .9rem; border:1px solid var(--border-subtle); border-radius:1rem; background:var(--surface-1); color:var(--text-primary); font-size:.84rem; font-weight:650; cursor:pointer; list-style:none; }
.ch-search>summary::-webkit-details-marker,.ch-filter-more>summary::-webkit-details-marker,.ch-provenance>summary::-webkit-details-marker { display:none; }
.ch-disclosure-arrow { transition:transform .15s; }
.ch-search[open]>summary .ch-disclosure-arrow,.ch-filter-more[open]>summary .ch-disclosure-arrow { transform:rotate(90deg); }
.ch-search[open] { flex-basis:100%; width:100%; margin-left:0; }
.ch-search[open]>summary { margin-left:auto; }
.ch-filter-count { display:inline-flex; justify-content:center; align-items:center; width:1.4rem; height:1.4rem; font-size:.7rem; border-radius:50%; background:rgba(var(--color-accent-rgb),.15); color:var(--color-accent); }
.ch-filter-panel { display:grid; gap:1rem; margin:1rem 0 0; padding:1.25rem; border:1px solid var(--border-subtle); border-radius:1.5rem; background:var(--surface-1); }
.ch-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; align-items:end; }
.ch label { display:flex; flex-direction:column; gap:.5rem; min-width:0; font-size:.85rem; font-weight:650; }
.ch input:not([type=checkbox]):not([type=hidden]),.ch select,.ch textarea { display:block; box-sizing:border-box; width:100%; min-width:0; min-height:56px; padding:.8rem 1rem; border:1px solid var(--border-subtle); border-radius:1.25rem; background-color:var(--surface-2); color:var(--text-primary); font:inherit; font-size:16px; line-height:1.4; }
/* Same closed control as Guida gare; Safari must not substitute its compact chrome. */
.ch select { -webkit-appearance:none; appearance:none; height:56px; padding:0 48px 0 16px; font-weight:650; cursor:pointer; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23147a2f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; background-size:20px 20px; color-scheme:light; }
:root[data-theme=dark] .ch select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2342ff3b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E"); }
.ch select option,.ch select optgroup { background:#fff; color:#121613; }
.ch input::placeholder { color:var(--text-secondary); opacity:.8; }
.ch input:focus,.ch select:focus,.ch textarea:focus { border-color:var(--color-accent); }
.ch textarea { min-height:6rem; }
.ch-filter-more>summary { display:flex; justify-content:space-between; align-items:center; min-height:44px; padding:.5rem 0; color:var(--text-secondary); cursor:pointer; font-size:.85rem; list-style:none; }
.ch-filter-more[open]>.ch-filters { padding-top:.8rem; }
.ch .ch-checkbox { display:flex; flex-direction:row; align-items:center; gap:.6rem; min-height:44px; font-weight:400; }
.ch .ch-checkbox input { width:1.15rem; height:1.15rem; min-height:1.15rem; margin:0; accent-color:var(--color-accent); flex:none; }
.ch-filter-actions { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.ch-filter-actions button { min-height:48px; border-radius:1rem; padding:.6rem 1.2rem; }
.ch-filter-actions a { font-size:.85rem; }
.ch-edition-groups { display:grid; gap:2rem; margin:1.5rem 0; }
.ch-edition-group { min-width:0; }
.ch-edition-group>.ch-muted { margin:-.4rem 0 1rem; }
.ch-edition-groups--paired { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ch-edition-groups--paired .ch-grid { grid-template-columns:1fr; }
.ch-edition { min-width:0; height:100%; border:1px solid var(--border-subtle); border-radius:1.5rem; overflow:hidden; background:var(--surface-1); }
.ch-edition--original { border-color:rgba(var(--color-accent-rgb),.35); background:radial-gradient(ellipse at 95% 0%,rgba(var(--color-accent-rgb),.09),transparent 70%),var(--surface-1); }
.ch a.ch-edition__link { display:flex; flex-direction:column; gap:1.15rem; height:100%; padding:1.5rem; color:var(--text-primary); text-decoration:none; }
.ch-edition__top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.6rem; }
.ch-edition__year { display:inline-flex; align-items:center; justify-content:center; min-width:3.4rem; min-height:2.6rem; padding:.35rem .6rem; border-radius:.85rem; background:var(--surface-2); font-size:1rem; font-weight:800; letter-spacing:-.03em; }
.ch-edition--original .ch-edition__year { color:var(--color-accent); background:rgba(var(--color-accent-rgb),.1); }
.ch-status { font-size:.72rem; font-weight:650; border:1px solid var(--border-subtle); border-radius:999px; padding:.25rem .65rem; color:var(--text-secondary); }
.ch-status--current { background:rgba(var(--color-accent-rgb),.12); color:var(--color-accent); border-color:rgba(var(--color-accent-rgb),.25); }
.ch-edition__title h3 { font-size:clamp(1.25rem,2.5vw,1.65rem); letter-spacing:-.035em; margin:.4rem 0 0; }
.ch-edition__facts { display:grid; gap:.6rem; }
.ch-edition__facts p { display:flex; align-items:flex-start; gap:.65rem; margin:0; color:var(--text-secondary); font-size:.87rem; }
.ch-edition__facts .svg-icon { width:1.1rem; height:1.1rem; color:var(--color-accent); margin-top:.1rem; }
.ch-edition__description { color:var(--text-secondary); font-size:.85rem; margin:0; }
.ch-edition__cta { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:1rem; border-top:1px solid var(--border-subtle); color:var(--color-accent); font-size:.87rem; font-weight:750; }
.ch-edition__cta .svg-icon { width:1rem; height:1rem; }
.ch-edition:focus-within { outline:3px solid var(--color-accent); outline-offset:4px; }
.ch-edition__link:focus-visible { outline-offset:-5px!important; border-radius:1.5rem; }
.ch a.ch-guide-link { display:grid; grid-template-columns:3.5rem minmax(0,1fr) 1.25rem; container:ch-guide / inline-size; align-items:center; gap:1rem; padding:1.25rem; border:1px solid var(--border-subtle); border-radius:1.5rem; background:var(--surface-1); color:var(--text-primary); text-decoration:none; margin:1.5rem 0; }
.ch-guide-link>span:nth-child(2) { display:flex; flex-direction:column; gap:.3rem; min-width:0; }
.ch-guide-link strong { font-size:.95rem; }
.ch-guide-link>span:nth-child(2)>span { color:var(--text-secondary); font-size:.82rem; }
.ch-guide-link>.svg-icon { margin-left:auto; color:var(--color-accent); }
.ch-tabs { display:flex; align-items:center; flex-wrap:wrap; gap:.4rem; padding:.4rem; border:1px solid var(--border-subtle); border-radius:1rem; background:var(--surface-1); margin:1rem 0; }
.ch-tabs a { min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:.5rem .75rem; color:var(--text-secondary); font-size:.82rem; font-weight:700; border-radius:.75rem; text-decoration:none; }
.ch-tabs a[aria-current] { background:var(--surface-2); color:var(--color-accent); box-shadow:inset 0 0 0 1px var(--border-strong); }
.ch fieldset { border:1px solid var(--border-subtle); border-radius:1rem; padding:1rem; margin:1rem 0; }
.ch legend { font-weight:700; }
.ch-badges { display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; }
.ch-badges>* { display:inline-block; font-size:.72rem; font-weight:700; padding:.18rem .55rem; border:1px solid var(--border-strong); border-radius:2rem; }
.ch-date { font-weight:800; }
.ch-muted,.ch-footer { color:var(--text-secondary); font-size:.82rem; }
.ch-note { padding:.9rem; border-left:3px solid var(--color-accent); background:var(--surface-2); border-radius:.65rem; font-size:.85rem; }
.ch-feedback:empty { display:none; }
.ch-feedback { padding:.8rem; border:1px solid var(--border-subtle); border-radius:1rem; }
.ch-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.ch-facts>div { padding:.65rem; background:var(--surface-2); border-radius:.75rem; min-width:0; }
.ch dt { color:var(--text-secondary); font-size:.73rem; }
.ch dd { margin:.2rem 0; font-weight:700; font-size:.9rem; overflow-wrap:anywhere; }
.ch-result-identity { display:flex; gap:.75rem; align-items:center; }
.ch-result-identity>div { min-width:0; }
.ch-result-identity p { margin:.25rem 0; }
.ch-avatar { display:flex; align-items:center; justify-content:center; width:48px; height:60px; flex:none; border-radius:.5rem; background:var(--surface-2); color:var(--color-accent); font-weight:800; overflow:hidden; }
.ch-avatar img { width:100%; height:100%; object-fit:cover; }
.ch-medal { border-color:var(--border-strong); }
.ch-medal-oro { color:#c89b00; }
.ch-medal-argento { color:var(--text-primary); }
.ch-medal-bronzo { color:#bd8253; }
.ch-table-scroll { overflow-x:auto; max-width:100%; }
.ch table { width:100%; border-collapse:collapse; font-size:.84rem; min-width:20rem; }
.ch th,.ch td { padding:.6rem; text-align:left; border-bottom:1px solid var(--border-subtle); }
.ch caption { text-align:left; font-size:.78rem; color:var(--text-secondary); margin:.5rem 0; }
.ch summary { cursor:pointer; min-height:44px; font-weight:700; }
.ch-pagination { margin:1.2rem 0; justify-content:center; }
.ch-footer { padding:1rem 0; margin-top:1.5rem; }
.ch-provenance { border-top:1px solid var(--border-subtle); padding-top:.5rem; }
.ch-provenance>summary { display:flex; align-items:center; gap:.6rem; list-style:none; font-weight:500; }
.ch-provenance .svg-icon { width:1rem; height:1rem; }
.ch-year { grid-column:1/-1; }
.ch-calendar { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.25rem; }
.ch-weekday { font-size:.75rem; text-align:center; }
.ch-day { border:1px solid var(--border-subtle); min-height:7rem; padding:.3rem; min-width:0; }
.ch-day time { font-size:.75rem; }
.ch-day a { display:block; background:var(--surface-2); font-size:.68rem; padding:.25rem; border-radius:.25rem; margin:.25rem 0; overflow-wrap:anywhere; }
.ch pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:.75rem; max-height:28rem; overflow:auto; }
.ch-diff { padding:.75rem; background:var(--surface-2); border-radius:.75rem; margin:.6rem 0; }
.ch-error { border-color:var(--border-strong); }
@media(hover:hover) { .ch a.ch-family:hover,.ch-edition:hover,.ch a.ch-guide-link:hover { border-color:rgba(var(--color-accent-rgb),.55); } .ch select:not(:disabled):hover { border-color:var(--color-accent); } }
@media(max-width:800px) { .ch-heading { align-items:flex-start; flex-direction:column; gap:.75rem; } .ch-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } .ch-family__icon { width:2.75rem; height:2.75rem; flex-basis:2.75rem; } .ch-family__body>strong { font-size:1.05rem; } .ch-day { min-height:5rem; } }
@media(max-width:600px) { .ch-families,.ch-edition-groups--paired,.ch-grid { grid-template-columns:1fr; } .ch-heading { padding:1.25rem; } .ch-heading h1 { font-size:2rem; } .ch a.ch-family { padding:1.15rem; } .ch-family__body>strong { font-size:1.1rem; } .ch-family__description { font-size:.83rem; } .ch-family__meta { font-size:.7rem; } .ch-family-nav { gap:.15rem; } .ch-family-nav a { font-size:.78rem; padding:.5rem .65rem; } .ch-catalog-toolbar { margin-top:1rem; } .ch-catalog-toolbar>p { font-size:.76rem; flex:1 1 7rem; } .ch-search>summary { font-size:.78rem; padding:.55rem .65rem; } .ch-search>summary>.ch-disclosure-arrow { display:none; } .ch-filter-panel { padding:1rem; } .ch-filters { grid-template-columns:1fr; } .ch-edition-groups { gap:1.5rem; } .ch a.ch-edition__link { padding:1.25rem; gap:1rem; } .ch-edition__title h3 { font-size:1.5rem; } .ch-views { gap:.15rem; } .ch-views a { font-size:.78rem; padding:.5rem .7rem; } .ch-card { padding:1rem; } .ch-facts { gap:.4rem; } .ch-tabs a { font-size:.76rem; padding:.4rem .5rem; } .ch-pagination span { width:100%; text-align:center; } .ch-day { min-height:4rem; padding:.1rem; } .ch-day a { font-size:.55rem; padding:.1rem; } }
@media(forced-colors:active) { .ch select { -webkit-appearance:auto; appearance:auto; background-image:none; padding-right:12px; } .ch-edition,.ch-family,.ch-search>summary { border:1px solid CanvasText; } }
@media(prefers-reduced-motion:reduce) { .ch * { scroll-behavior:auto!important; transition:none!important; } }
/* Keep the edition cards close to the family heading. */
.ch-heading--catalog { padding:1.5rem 2rem; margin-bottom:1rem; }
.ch-heading--catalog h1 { font-size:clamp(1.8rem,4vw,2.5rem); }
.ch-family-nav { margin-bottom:.5rem; }
.ch-catalog-toolbar { margin:.5rem 0 1rem; }
.ch-edition-groups { margin:1rem 0; }
@media(max-width:600px) { .ch-heading--catalog { padding:1.25rem; } }
.ch-search>summary { max-width:100%; flex-wrap:wrap; }
@media(max-width:800px) { .ch a.ch-family { grid-template-columns:2.75rem minmax(0,1fr) 1.1rem; } }
/* Reflow the content, rather than squeeze words between enlarged icons. */
@container ch-family (max-width:14rem) {
  .ch-family__icon { grid-column:1; grid-row:1; }
  .ch-family__arrow { grid-column:3; grid-row:1; }
  .ch-family__body { grid-column:1/-1; grid-row:2; }
}
@media(max-width:800px) { .ch a.ch-guide-link { grid-template-columns:2.75rem minmax(0,1fr) 1.25rem; } }
@container ch-guide (max-width:14rem) {
  .ch-guide-link>.ch-family__icon { grid-column:1; grid-row:1; }
  .ch-guide-link>.svg-icon { grid-column:3; grid-row:1; }
  .ch-guide-link>span:nth-child(2) { grid-column:1/-1; grid-row:2; }
}
