@font-face {
  font-family: "ASC Menu"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("/assets/asc-local/font-ea1f264039fed13fd36e.ttf") format("truetype");
}
/* Barra principale condivisa. La fascia istituzionale scorre con la pagina. */
:root { --asc-bar-height: 74px; }
html:has(.asc-sitebar) { scroll-padding-top: calc(var(--asc-bar-height) + 10px); }
body:has(> .asc-sitebar) { overflow-x: clip; }
body > header:has(+ .asc-sitebar) { position: static; }
body > .asc-sitebar {
  position: sticky; top: 0; z-index: 60; width: 100%;
  background: #fff; color: #102d48; border-bottom: 1px solid #d5e1ea;
  box-shadow: 0 3px 10px rgb(16 45 72 / 8%);
  font: 700 15px/1.35 "ASC Menu", Arial, sans-serif;
}
.asc-bar-inner {
  width: min(1540px, 100%); height: var(--asc-bar-height); margin-inline: auto;
  padding-inline: clamp(12px, 1.6vw, 28px); display: flex;
  align-items: center; justify-content: space-between; gap: 12px; position: relative;
}
.asc-sitebar .asc-bar-logo { display: flex; flex: 0 1 155px; min-width: 60px; align-items: center; }
.asc-sitebar .asc-bar-logo img { width: auto; max-width: 100%; height: 62px; object-fit: contain; }
.asc-sitebar details { margin: 0; padding: 0; border: 0; background: transparent; }
.asc-sitebar summary { list-style: none; cursor: pointer; }
.asc-sitebar summary::-webkit-details-marker { display: none; }
.asc-sitebar .asc-mainmenu > summary { display: none; }
.asc-sitebar .asc-links {
  display: flex; align-items: center; gap: clamp(2px, .32vw, 7px);
  position: static; width: auto; margin: 0; padding: 0; background: white;
}
.asc-sitebar .asc-links > a, .asc-sitebar .asc-gallery-menu > summary, .asc-sitebar .asc-mainmenu > summary {
  min-height: 44px; display: inline-flex; align-items: center; padding: 4px 5px;
  white-space: nowrap; color: #102d48; text-decoration: none; font: inherit;
}
.asc-sitebar .asc-mainmenu > summary { display: none; }
.asc-sitebar a:focus-visible, .asc-sitebar summary:focus-visible, .asc-album-link:focus-visible {
  outline: 3px solid #075ca8; outline-offset: 2px; border-radius: 3px;
}
.asc-sitebar .asc-links a:hover, .asc-sitebar summary:hover { text-decoration: underline; text-underline-offset: 4px; }
.asc-sitebar .asc-links > .asc-external { border: 1px solid #bdcdda; border-radius: 8px; padding-inline: 12px; color: #07539a; }
.asc-sitebar .asc-links > .asc-members { color: #122238; background: #fb711b; border-color: #fb711b; }
.asc-gallery-menu { position: relative; }
.asc-gallery-menu > summary::after, .asc-mainmenu > summary::after {
  content: ''; display: inline-block; width: .42em; height: .42em; margin: -.22em .15em 0 .55em;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg);
}
.asc-gallery-menu[open] > summary::after, .asc-mainmenu[open] > summary::after { transform: rotate(225deg); margin-top: .25em; }
.asc-sitebar .asc-gallery-panel {
  position: absolute; top: 100%; inset-inline-end: 0; width: max-content; max-width: 90vw;
  max-height: min(60vh, 520px); overflow-y: auto; overscroll-behavior: contain;
  padding: 6px; border: 1px solid #d5e1ea; border-radius: 8px; background: #fff; box-shadow: 0 8px 24px #102d4824;
}
.asc-gallery-panel ul, .asc-gallery-panel li { list-style: none; margin: 0; padding: 0; }
.asc-sitebar .asc-gallery-panel a {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  min-height: 44px; padding: 8px 12px; color: #143550; font: inherit; text-decoration: none;
}
.asc-sitebar .asc-gallery-panel a:hover { background: #edf4f9; }
.asc-gallery-panel small { font-size: 12px; font-weight: 600; color: #475d71; }
.asc-section-links { background: #f2f6f9; }
.asc-section-links > nav {
  display: flex; position: static; flex-wrap: wrap; gap: 0 18px; align-items: center;
  width: min(1180px, calc(100% - 32px)); margin: auto; padding: 3px 0; background: transparent;
}
.asc-section-links > nav a { display: inline-flex; align-items: center; min-height: 40px; padding: 4px 0; font: 600 14px/1.35 system-ui,sans-serif; color: #254864; }
.asc-album-state, .asc-album-index { width: min(1180px, calc(100% - 40px)); margin: 28px auto; padding: 22px; border-inline-start: 4px solid #ed7426; background: #fff; }
.asc-album-state h2, .asc-album-index h2 { margin: 0 0 8px; font: 700 clamp(20px,3vw,28px)/1.2 system-ui,sans-serif; color: #102d48; }
.asc-album-state p, .asc-album-index ul { font: 400 16px/1.55 system-ui,sans-serif; margin: 0; }
.asc-album-link, .asc-album-index a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.asc-sitebar ~ main > .jump { top: var(--asc-bar-height); }
html:has(.asc-sitebar ~ main > .jump) { scroll-padding-top: calc(var(--asc-bar-height) + 65px); }
@media (min-width: 1351px) {
  .asc-gallery-panel ul { display: grid; grid-template-columns: repeat(2, minmax(205px, 1fr)); }
}
@media (max-width: 1350px) {
  :root { --asc-bar-height: 58px; }
  .asc-sitebar .asc-bar-logo img { height: 48px; }
  .asc-sitebar .asc-mainmenu > summary { display: flex; border: 1px solid #bdcdda; padding-inline: 13px; border-radius: 7px; }
  .asc-sitebar .asc-links {
    position: absolute; inset-inline: 0; top: 100%; max-height: 68vh; max-height: 68dvh;
    overflow-y: auto; overscroll-behavior: contain; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch;
    gap: 0; padding: 8px 15px; border-bottom: 1px solid #bdcdda; box-shadow: 0 9px 14px #102d481c;
  }
  .asc-sitebar .asc-links > a, .asc-sitebar .asc-gallery-menu > summary { width: 100%; padding-inline: 12px; }
  .asc-sitebar .asc-gallery-menu[open] { grid-column: 1 / -1; }
  .asc-sitebar .asc-links > a { white-space: normal; }
  .asc-sitebar .asc-external { margin: 3px; }
  .asc-sitebar .asc-gallery-panel {
    position: static; width: auto; max-width: none; max-height: none; overflow: visible;
    box-shadow: none; border-radius: 0; border: 0; border-inline-start: 3px solid #ed7426; margin: 0 10px 10px; padding: 0;
  }
}
@media print {
  .asc-sitebar, .asc-section-links { display: none; }
}

.asc-sitebar .asc-mainmenu:not([open]) > summary { display: inline-flex; }

/* BOIARDI palette, 2026-11-06. Color-only layer: keep layout and automation hooks. */
:root{--bo-bordeaux:#781f3d;--bo-dark:#451b2e;--bo-pink:#f4bfd3;--bo-sky:#c4e7f5;--bo-green:#22694f;--bo-mint:#e4f3eb;--ink:#451b2e;--blue:#24627d;--orange:#781f3d;--green:#22694f;--wash:#f9f1f5;--line:#e4d6de}
body{background-color:#fff}
body>.asc-sitebar{border-bottom-color:#e4d6de;box-shadow:0 3px 15px #451b2e12}
.asc-links>a,.asc-links>details>summary,.asc-gallery-menu a{color:#451b2e}
.asc-links>.asc-external{border-color:#b6dce9;color:#24627d}
.asc-links>.asc-members{background-color:#781f3d;border-color:#781f3d;color:#fff}
.asc-links>a:hover,.asc-gallery-menu a:hover,.asc-links>details>summary:hover{background-color:#f9e8ef;color:#451b2e}
.asc-links>.asc-members:hover{background-color:#451b2e;color:#fff}
.asc-section-links{background-color:#eaf5fb;border-color:#c4e7f5}
.asc-section-links a{color:#24627d}
.asc-album-state{border-left-color:#22694f;background-color:#e4f3eb}
header .asc-testata-rete,header .asc-testata-identita,.top{background-color:#451b2e;color:#fff}
header .asc-testata-rete a:hover{background-color:#781f3d}
.hero{background-color:#451b2e}
.hero-shade{background:linear-gradient(110deg,#451b2ef5 0%,#781f3de6 55%,#24627d99 100%)}
.hero h1 span,.hero small,.hero .pill,.ticker b,.disc i,.scroll span{color:#f4bfd3}
.hero p,.hero-stats span,.scroll{color:#f7eaf0}
.hero .asc-aff-promo{background-color:#ffffff0d;border-color:#f4bfd355;border-top-color:#c4e7f5}
.hero .asc-aff-promo .asc-aff-date span,.hero .asc-aff-promo .asc-aff-note,.hero .asc-aff-promo .asc-aff-source{color:#f7eaf0}
.asc-aff-cta.btn.orange,.btn.orange,.nav .orange{background-color:#781f3d;color:#fff}
.hero .asc-aff-cta.btn.orange{background-color:#f4bfd3;color:#451b2e}
.hero .asc-aff-cta.btn.orange:hover{background-color:#c4e7f5}
.ticker{background-color:#22694f;color:#fff}
.ticker .tickerin{scrollbar-color:#c4e7f5 #22694f}
.ticker b{color:#fff}
.soft,.feature,.academy-feature,.asc-aff-season{background-color:#f9f1f5}
.heading small,.feature-copy small,.affgrid>div>small,.about-grid>div>small,.president-copy small,.asc-aff-label{color:#781f3d}
.video-section,.pay{background-color:#451b2e;color:#fff}
.video-wrap p,.pay p{color:#f0dce5}
.president-band{background:linear-gradient(120deg,#451b2e,#781f3d);color:#fff}
.blue{background-color:#24627d;color:#fff}
.play{background-color:#781f3d;color:#fff}
.text,.eventmeta a,.eday,.contact-card a,.portal-more a,.skating-next a{color:#24627d}
.asc-aff-panel,.facts div,.academy-lazio-card{border-left-color:#22694f!important}
.asc-aff-panel .asc-aff-date,.courses span{background-color:#e4f3eb;color:#22694f}
.asc-ref-card{background-color:#22694f;color:#fff}
.asc-ref-card .asc-ref-role{color:#e4f3eb}
.filters button.active,.filters button[aria-pressed="true"],.filter.active,.button.orange{background-color:#781f3d;border-color:#781f3d;color:#fff}
.hero .eyebrow{color:#f4bfd3}
.note{background-color:#e4f3eb;border-color:#22694f}
.note.amber{background-color:#f9e8ef;border-color:#f4bfd3}
.asc-sitebar :focus-visible{outline-color:#781f3d}

.asc-sitebar .asc-links > a,.asc-sitebar .asc-gallery-menu > summary{color:#451b2e}
.asc-sitebar .asc-links > .asc-external{color:#24627d;border-color:#c4e7f5}
.asc-sitebar .asc-links > .asc-members{background:#781f3d;border-color:#781f3d;color:#fff}
.asc-sitebar .asc-gallery-panel a:hover{background:#f9e8ef}
