/* BOREALIS Art School */
:root{
  --ink:#080808; --ink2:#0d0d0c; --line:#1c1c1a;
  --paper:#f0ece4; --mute:#7a7a72; --acid:#c8ff00;
  --warn:#ff8a3d; --ok:#6ec46e;
  --wrap:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--paper);font-family:'DM Sans',system-ui,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}

.mono{font-family:'Space Mono',ui-monospace,monospace}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}

/* header */
.as-head{position:sticky;top:0;z-index:50;background:rgba(8,8,8,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.as-head-in{max-width:var(--wrap);margin:0 auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.as-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.as-brand img{height:34px;width:auto}
.as-brand b{font-family:'Space Mono',monospace;font-size:15px;letter-spacing:.14em}
.as-navlink{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--mute);border:1px solid var(--line);padding:8px 15px;transition:.15s}
.as-navlink:hover{color:var(--acid);border-color:var(--acid)}
.as-navlink.hot{background:var(--acid);color:#000;border-color:var(--acid);font-weight:700}
.as-navlink.hot:hover{background:transparent;color:var(--acid)}

/* ── MENU DEL SITO nell'intestazione (16 ago 2026) ──────────────────
   Prima l'intestazione delle pagine interne aveva due soli link fissi:
   il menu del pannello si vedeva solo in home. Ora e' lo stesso ovunque. */
.as-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.as-navgrp{position:relative}
.as-navtop{display:inline-flex;align-items:center;gap:6px;font-family:'Space Mono',monospace;
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);
  background:none;border:1px solid transparent;padding:8px 12px;cursor:pointer;transition:.15s}
.as-navtop:hover,.as-navgrp.on .as-navtop{color:var(--acid)}
.as-navtop:focus-visible,.as-navlink:focus-visible,.as-burger:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
.as-caret{font-size:8px;transition:transform .15s}
.as-navgrp.on .as-caret{transform:rotate(180deg)}

.as-navdrop{display:none;position:absolute;top:100%;left:0;min-width:210px;z-index:60;
  background:var(--ink2);border:1px solid var(--line);padding:6px;
  box-shadow:0 14px 34px rgba(0,0,0,.5)}
.as-navgrp.on .as-navdrop{display:block}
.as-navdrop a{display:block;padding:9px 12px;font-size:13px;text-decoration:none;
  color:var(--paper);transition:.12s}
.as-navdrop a:hover{background:var(--line);color:var(--acid)}

.as-burger{display:none;background:none;border:1px solid var(--line);color:var(--paper);
  font-size:17px;line-height:1;padding:9px 13px;cursor:pointer}
.as-burger:hover{color:var(--acid);border-color:var(--acid)}
.as-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media(max-width:860px){
  .as-head-in{flex-wrap:wrap}
  .as-burger{display:block;order:2}
  .as-nav{display:none;order:3;width:100%;flex-direction:column;align-items:stretch;
    gap:2px;padding:10px 0 4px;border-top:1px solid var(--line);margin-top:12px}
  .as-nav.on{display:flex}
  .as-navtop{width:100%;justify-content:space-between;border-color:var(--line)}
  .as-navdrop{position:static;min-width:0;box-shadow:none;border-top:none;margin:0 0 6px}
  .as-navlink{text-align:center}
}

/* hero */
.as-hero{padding:76px 0 40px;border-bottom:1px solid var(--line)}
.as-eyebrow{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.3em;color:var(--acid);text-transform:uppercase;margin-bottom:18px}
.as-title{font-family:'Bebas Neue','Space Mono',sans-serif;font-weight:400;font-size:clamp(42px,8vw,92px);line-height:.92;letter-spacing:.02em;text-transform:uppercase;margin-bottom:22px}
.as-lede{max-width:56ch;color:#a8a8a0;font-size:17px;line-height:1.8}
.as-stats{display:flex;flex-wrap:wrap;gap:34px;margin-top:34px;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.12em;color:var(--mute);text-transform:uppercase}
.as-stats b{display:block;font-size:26px;color:var(--paper);letter-spacing:0;margin-bottom:2px}

/* filtri */
.as-filters{display:flex;flex-wrap:wrap;gap:7px;padding:26px 0 8px}
.as-chip{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:8px 14px;border:1px solid var(--line);color:var(--mute);background:none;cursor:pointer;transition:.15s;text-decoration:none;display:inline-block}
.as-chip:hover{color:var(--paper);border-color:#333}
.as-chip.on{background:var(--paper);color:#000;border-color:var(--paper);font-weight:700}

/* mese */
.as-month{display:flex;align-items:baseline;gap:16px;padding:52px 0 18px;border-bottom:1px solid var(--line);margin-bottom:22px}
.as-month .num{font-family:'Space Mono',monospace;font-size:12px;color:#2e2e2a;letter-spacing:.1em}
.as-month h2{font-family:'Space Mono',monospace;font-size:20px;letter-spacing:.2em;text-transform:uppercase;font-weight:400}
.as-month .cnt{margin-left:auto;font-family:'Space Mono',monospace;font-size:10px;color:var(--mute);letter-spacing:.14em}

/* card corso */
.as-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:14px}
.as-card{display:flex;flex-direction:column;background:var(--ink2);border:1px solid var(--line);border-left:3px solid var(--disc,#333);text-decoration:none;transition:.18s;min-height:100%}
.as-card:hover{border-color:#2e2e2a;border-left-color:var(--disc,var(--acid));transform:translateY(-2px)}
.as-card-cover{aspect-ratio:3/4;background:#0a0a0a;overflow:hidden}
.as-card-cover img{width:100%;height:100%;object-fit:cover;object-position:center top}
.as-card-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.as-disc{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--disc,var(--mute));margin-bottom:10px}
.as-card h3{font-size:20px;line-height:1.22;font-weight:600;margin-bottom:7px}
.as-teacher{font-size:13px;color:var(--mute);margin-bottom:14px}
.as-meta{font-family:'Space Mono',monospace;font-size:11px;color:#8c8c84;line-height:1.9;margin-bottom:16px}
.as-meta span{color:var(--paper)}
.as-card-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.as-price{font-family:'Space Mono',monospace;font-size:19px;font-weight:700}
.as-price small{display:block;font-size:9px;font-weight:400;color:var(--mute);letter-spacing:.14em;text-transform:uppercase;margin-top:2px}
.as-free{color:var(--acid);font-size:13px;font-weight:700;font-family:'Space Mono',monospace}

/* contapersone: il pezzo forte */
.as-seats{flex:1;max-width:170px}
.as-seats-bar{height:3px;background:#1c1c1a;display:flex;gap:2px;margin-bottom:6px}
.as-seats-bar i{flex:1;background:#232320}
.as-seats-bar i.f{background:var(--acid)}
.as-seats-bar i.n{background:#3d3d36}
.as-seats-txt{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.08em;color:var(--mute);line-height:1.4}
.as-seats-txt b{color:var(--warn);font-weight:700}
.as-seats-txt b.go{color:var(--ok)}
.as-seats-txt b.no{color:#ff5f6d}

/* dettaglio */
.as-detail{display:grid;grid-template-columns:1fr 340px;gap:56px;padding:48px 0 90px;align-items:start}
.as-cover-detail{max-width:340px;margin:0 0 34px;border:1px solid var(--line)}
.as-body h2{font-family:'Space Mono',monospace;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--acid);margin:44px 0 14px;font-weight:400}
.as-body p{margin-bottom:16px;color:#c4c4bc;line-height:1.85}
.as-body ul{margin:0 0 16px 20px;color:#c4c4bc}
.as-body li{margin-bottom:7px;line-height:1.7}

.as-cal{border-top:1px solid var(--line)}
.as-cal-row{display:flex;align-items:baseline;gap:18px;padding:12px 0;border-bottom:1px solid var(--line);font-family:'Space Mono',monospace;font-size:13px}
.as-cal-row .n{color:#2e2e2a;font-size:10px;width:22px;flex-shrink:0}
.as-cal-row .d{flex:1}
.as-cal-row .h{color:var(--mute);font-size:12px}
.as-cal-row .nt{color:var(--acid);font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.as-cal-row.past{opacity:.34}

.as-teachers{margin-top:44px;border-top:1px solid var(--line);padding-top:34px}
.as-tcard{display:flex;gap:20px;margin-bottom:28px}
.as-tcard img{width:88px;height:88px;object-fit:cover;flex-shrink:0;border:1px solid var(--line)}
.as-tcard .ph{width:88px;height:88px;flex-shrink:0;border:1px solid var(--line);background:#111;display:flex;align-items:center;justify-content:center;font-family:'Space Mono',monospace;font-size:24px;color:#26261f}
.as-tcard h4{font-size:17px;margin-bottom:3px}
.as-tcard .ig{font-family:'Space Mono',monospace;font-size:10px;color:var(--acid);letter-spacing:.1em;text-decoration:none;margin-bottom:8px;display:inline-block}
.as-tcard p{font-size:14px;color:#9a9a92;line-height:1.7;margin:0}

/* colonna iscrizione */
.as-side{position:sticky;top:78px}
.as-box{background:var(--ink2);border:1px solid var(--line);padding:26px 24px}
.as-box .big{font-family:'Space Mono',monospace;font-size:38px;font-weight:700;line-height:1}
.as-box .big small{font-size:11px;font-weight:400;color:var(--mute);letter-spacing:.16em;text-transform:uppercase;display:block;margin-top:6px}
.as-cta{display:block;width:100%;text-align:center;background:var(--acid);color:#000;font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:16px;text-decoration:none;margin-top:22px;transition:.15s;border:1px solid var(--acid)}
.as-cta:hover{background:transparent;color:var(--acid)}
.as-cta.off{background:#1c1c1a;color:#55554e;border-color:#1c1c1a;cursor:not-allowed}
.as-note{font-size:12px;color:var(--mute);line-height:1.65;margin-top:16px}
.as-note a{color:var(--acid)}
.as-spec{list-style:none;margin:22px 0 0;padding:22px 0 0;border-top:1px solid var(--line)}
.as-spec li{display:flex;justify-content:space-between;gap:14px;font-family:'Space Mono',monospace;font-size:11px;padding:7px 0;color:var(--mute);letter-spacing:.04em}
.as-spec li span{color:var(--paper);text-align:right}

.as-back{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);text-decoration:none;display:inline-block;margin-bottom:26px}
.as-back:hover{color:var(--acid)}

.as-empty{padding:70px 0;text-align:center;color:var(--mute);font-family:'Space Mono',monospace;font-size:13px}

.as-foot{border-top:1px solid var(--line);padding:34px 0;text-align:center;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.14em;color:#44443e}
.as-foot a{color:#66665e;text-decoration:none}
.as-foot a:hover{color:var(--acid)}

@media(max-width:900px){
  .as-detail{grid-template-columns:1fr;gap:34px}
  .as-side{position:static}
}
@media(max-width:560px){
  .wrap,.as-head-in{padding-left:16px;padding-right:16px}
  .as-hero{padding:46px 0 30px}
  .as-grid{grid-template-columns:1fr}
  .as-stats{gap:22px}
}
@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  html{scroll-behavior:auto}
}

/* carrello */
.as-cta.as-in-cart{background:transparent;color:var(--acid)}
.as-cta[data-aggiungi]{cursor:pointer;font-family:'Space Mono',monospace}


/* aurora: lo sfondo che identifica Borealis */
.as-aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 52%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0%,#000 52%,transparent 100%)}
.as-aurora i{position:absolute;display:block;border-radius:50%;filter:blur(100px);opacity:.24;
  animation:as-drift 26s ease-in-out infinite alternate}
.as-aurora i:nth-child(1){width:52vw;height:34vw;left:-8vw;top:-14vw;background:#1f9e6e;animation-delay:0s}
.as-aurora i:nth-child(2){width:44vw;height:30vw;left:26vw;top:-20vw;background:#7b3fa0;animation-delay:-7s}
.as-aurora i:nth-child(3){width:48vw;height:26vw;right:-10vw;top:-10vw;background:#1d7fa8;animation-delay:-14s}
.as-aurora i:nth-child(4){width:26vw;height:15vw;left:46vw;top:2vw;background:#c8ff00;opacity:.07;animation-delay:-20s}
@keyframes as-drift{
  from{transform:translate3d(0,0,0) scale(1)}
  to{transform:translate3d(4vw,3vw,0) scale(1.18)}
}
.as-hero{position:relative}
.as-hero > .wrap{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){ .as-aurora i{animation:none} }
