
/* =====================================================================
   eCampus Sanit\00e0  \2014  Design System
   ===================================================================== */

/* ---------- Tokens ---------- */
:root{
  /* Brand */
  --navy-900:#071B33;
  --navy-800:#0B2545;
  --navy-700:#123A63;
  --brand:#0F4C90;
  --brand-600:#0D3F79;
  --azure:#2E86DE;
  --azure-100:#E8F1FC;
  --teal:#00A98F;
  --teal-100:#E1F7F2;
  --amber:#F5A524;
  --amber-100:#FEF4E2;
  --rose:#DB2777;

  /* Neutrals */
  --ink:#0E1B2C;
  --ink-70:#3D4C5F;
  --ink-50:#697887;
  --ink-30:#A5B0BC;
  --line:#E3E8EE;
  --line-soft:#EFF3F7;
  --bg:#FFFFFF;
  --bg-soft:#F6F9FC;
  --bg-tint:#EEF4FA;

  /* Shape */
  --r-sm:8px; --r:14px; --r-lg:22px; --r-xl:32px;
  --sh-1:0 1px 2px rgba(11,37,69,.06), 0 1px 3px rgba(11,37,69,.05);
  --sh-2:0 4px 14px rgba(11,37,69,.08);
  --sh-3:0 18px 50px -12px rgba(11,37,69,.22);

  /* Type */
  --f-display:"Newsreader", Georgia, "Times New Roman", serif;
  --f-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  --wrap:1200px;
  --nav-h:76px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{
  margin:0;font-family:var(--f-ui);color:var(--ink);background:var(--bg);
  font-size:16.5px;line-height:1.62;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
button{font:inherit}
h1,h2,h3,h4{margin:0;font-family:var(--f-display);font-weight:600;line-height:1.14;letter-spacing:-.015em;color:var(--navy-800)}
h1{font-size:clamp(2.3rem,4.6vw,3.75rem)}
h2{font-size:clamp(1.75rem,3.1vw,2.6rem)}
h3{font-size:clamp(1.2rem,1.9vw,1.5rem)}
p{margin:0 0 1em}
.wrap{width:min(100% - 2.5rem, var(--wrap));margin-inline:auto}
.wrap-narrow{width:min(100% - 2.5rem, 880px);margin-inline:auto}
section{padding:clamp(3.5rem,7vw,6rem) 0}
.soft{background:var(--bg-soft)}
.tint{background:var(--bg-tint)}
.dark{background:var(--navy-800);color:#DCE7F3}
.dark h2,.dark h3{color:#fff}

/* ---------- Utilities ---------- */
.eyebrow{
  font-size:.735rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--azure);margin:0 0 .85rem;display:flex;align-items:center;gap:.6rem;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--azure);border-radius:2px;flex:none}
.dark .eyebrow{color:var(--amber)}
.dark .eyebrow::before{background:var(--amber)}
.lede{font-size:clamp(1.02rem,1.4vw,1.2rem);color:var(--ink-70);max-width:62ch}
.dark .lede{color:#B9CBDE}
.sec-head{max-width:66ch;margin-bottom:2.6rem}
.center{text-align:center;margin-inline:auto}
.center .eyebrow{justify-content:center}
.muted{color:var(--ink-50)}
.small{font-size:.86rem}

/* ---------- Buttons ---------- */
.btn{
  --bg-btn:var(--brand);--fg-btn:#fff;
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.86rem 1.5rem;border-radius:999px;border:1px solid transparent;
  background:var(--bg-btn);color:var(--fg-btn);font-weight:600;font-size:.94rem;
  letter-spacing:-.005em;cursor:pointer;transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
  text-decoration:none;white-space:nowrap;
}
.btn:hover{text-decoration:none;transform:translateY(-1px);box-shadow:var(--sh-2)}
.btn:active{transform:translateY(0)}
.btn-lg{padding:1.02rem 1.9rem;font-size:1rem}
.btn-amber{--bg-btn:var(--amber);--fg-btn:#3B2500}
.btn-teal{--bg-btn:var(--teal)}
.btn-ghost{--bg-btn:transparent;--fg-btn:var(--brand);border-color:var(--line)}
.btn-ghost:hover{background:var(--azure-100);border-color:var(--azure-100)}
.btn-white{--bg-btn:#fff;--fg-btn:var(--navy-800)}
.btn-outline-white{--bg-btn:transparent;--fg-btn:#fff;border-color:rgba(255,255,255,.35)}
.btn-outline-white:hover{background:rgba(255,255,255,.1)}
.btn-block{width:100%}

/* ---------- Header ---------- */
.hdr{
  position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line);
}
.hdr-in{display:flex;align-items:center;gap:1.5rem;height:var(--nav-h)}
.logo{display:flex;align-items:center;gap:.7rem;text-decoration:none;flex:none}
.logo:hover{text-decoration:none}
.logo img{height:48px;width:auto;display:block}
@media (max-width:520px){ .logo img{height:34px} }
.nav{display:flex;align-items:center;gap:.25rem;margin-left:auto}
.nav a{
  padding:.55rem .8rem;border-radius:9px;color:var(--ink-70);font-weight:550;font-size:.93rem;
  text-decoration:none;transition:background .15s,color .15s;
}
.nav a:hover{background:var(--bg-tint);color:var(--brand);text-decoration:none}
.nav a.on{color:var(--brand);background:var(--azure-100)}
.nav > .btn{display:none}
.hdr .btn{flex:none}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;cursor:pointer}
.burger span{display:block;width:20px;height:2px;background:var(--navy-800);border-radius:2px}
.burger span+span{margin-top:5px}

@media (max-width:1040px){
  .nav{
    position:fixed;inset:var(--nav-h) 0 auto;background:#fff;flex-direction:column;
    align-items:stretch;gap:0;padding:1rem 1.25rem 1.5rem;border-bottom:1px solid var(--line);
    box-shadow:var(--sh-2);display:none;
  }
  .nav.open{display:flex}
  .nav a{padding:.85rem .5rem;border-bottom:1px solid var(--line-soft);border-radius:0}
  .nav > .btn{display:inline-flex;margin-top:1rem;border-radius:999px}
  .burger{display:block}
  .hdr-in > .btn{display:none}
}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--navy-800);color:#fff;isolation:isolate}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(900px 480px at 82% 12%, rgba(46,134,222,.42), transparent 62%),
    radial-gradient(700px 500px at 8% 92%, rgba(0,169,143,.30), transparent 60%),
    linear-gradient(160deg,var(--navy-900),var(--navy-700));
}
.hero-img{
  position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;
  opacity:.30;filter:saturate(.75);
}
.hero-in{padding:clamp(3.5rem,7vw,6rem) 0 clamp(3rem,6vw,5rem);display:grid;gap:3rem;grid-template-columns:1.15fr .85fr;align-items:center}
.hero h1{color:#fff;max-width:16ch}
.hero .lede{color:#C6D8EC;font-size:clamp(1.05rem,1.5vw,1.24rem);margin-top:1.2rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.hero-note{margin-top:1.3rem;font-size:.87rem;color:#93AECB;display:flex;align-items:center;gap:.5rem}
.hero-badge{
  display:inline-flex;align-items:center;gap:.6rem;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);color:#DDEAF7;padding:.42rem .95rem .42rem .5rem;
  border-radius:999px;font-size:.82rem;font-weight:550;margin-bottom:1.5rem;
}
.hero-badge b{background:var(--amber);color:#3B2500;padding:.16rem .6rem;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.02em}

/* price card in hero */
.price-hero{
  background:#fff;color:var(--ink);border-radius:var(--r-xl);padding:2rem;box-shadow:var(--sh-3);
}
.price-hero .ph-label{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-50)}
.price-hero .ph-row{display:flex;align-items:baseline;gap:.9rem;margin:.5rem 0 .2rem}
.ph-old{font-size:1.3rem;color:var(--ink-30);text-decoration:line-through;font-weight:600}
.ph-new{font-family:var(--f-display);font-size:3.1rem;font-weight:600;color:var(--navy-800);line-height:1}
.ph-save{
  display:inline-block;background:var(--teal-100);color:#00705F;font-weight:700;font-size:.8rem;
  padding:.32rem .75rem;border-radius:999px;margin-top:.4rem;
}
.ph-list{list-style:none;margin:1.4rem 0 1.5rem;padding:0;display:grid;gap:.7rem}
.ph-list li{display:flex;gap:.65rem;font-size:.92rem;color:var(--ink-70);align-items:flex-start}
.ph-list svg{flex:none;margin-top:.22rem;color:var(--teal)}
.ph-foot{font-size:.78rem;color:var(--ink-50);margin-top:.9rem;text-align:center}

@media (max-width:900px){ .hero-in{grid-template-columns:1fr} }

/* ---------- Trust strip ---------- */
.trust{border-bottom:1px solid var(--line);background:#fff}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.trust-grid > div{background:#fff;padding:1.6rem 1.4rem;text-align:center}
.trust-grid b{display:block;font-family:var(--f-display);font-size:2rem;color:var(--brand);font-weight:600;line-height:1}
.trust-grid span{display:block;font-size:.82rem;color:var(--ink-50);margin-top:.4rem;font-weight:550}
@media (max-width:720px){ .trust-grid{grid-template-columns:repeat(2,1fr)} }

/* ---------- Cards ---------- */
.grid{display:grid;gap:1.6rem}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){ .g3,.g4{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){ .g2,.g3,.g4{grid-template-columns:1fr} }

.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  display:flex;flex-direction:column;transition:transform .2s ease, box-shadow .2s ease, border-color .2s;
  position:relative;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--sh-3);border-color:transparent}
.card-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--bg-tint)}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.card:hover .card-media img{transform:scale(1.055)}
.card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,27,51,.55),rgba(7,27,51,0) 55%)}
.chip-area{
  position:absolute;left:.9rem;bottom:.9rem;z-index:2;display:inline-flex;align-items:center;gap:.4rem;
  background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-radius:999px;
  padding:.3rem .75rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
}
.chip-area i{width:7px;height:7px;border-radius:50%;background:var(--brand);display:block}
.chip-top{
  position:absolute;right:.9rem;top:.9rem;z-index:2;background:var(--amber);color:#3B2500;
  border-radius:999px;padding:.28rem .7rem;font-size:.71rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;
}
.card-body{padding:1.4rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}
.card-body h3{font-size:1.16rem;line-height:1.28;margin-bottom:.6rem}
.card-body h3 a{color:inherit;text-decoration:none}
.card-body h3 a::after{content:"";position:absolute;inset:0;z-index:3}
.card-abs{font-size:.9rem;color:var(--ink-50);margin:0 0 1.1rem;flex:1;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.meta-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
.pill{
  font-size:.75rem;font-weight:600;color:var(--ink-70);background:var(--bg-soft);
  border:1px solid var(--line);border-radius:7px;padding:.24rem .55rem;
}
.card-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--line-soft)}
.price-mini .old{font-size:.8rem;color:var(--ink-30);text-decoration:line-through;display:block;line-height:1.2}
.price-mini .new{font-family:var(--f-display);font-size:1.55rem;font-weight:600;color:var(--navy-800);line-height:1.1}
.price-mini .cnv{font-size:.7rem;color:var(--teal);font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.card-foot .go{
  font-size:.85rem;font-weight:650;color:var(--brand);display:inline-flex;align-items:center;gap:.35rem;
  padding-bottom:.3rem;
}

/* ---------- Filters ---------- */
.filters{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.25rem;box-shadow:var(--sh-1);margin-bottom:2rem}
.f-row{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
.f-search{flex:1;min-width:240px;position:relative}
.f-search input{
  width:100%;padding:.8rem 1rem .8rem 2.7rem;border:1px solid var(--line);border-radius:11px;
  font-size:.94rem;font-family:inherit;background:var(--bg-soft);
}
.f-search input:focus{outline:2px solid var(--azure);outline-offset:1px;background:#fff}
.f-search svg{position:absolute;left:.95rem;top:50%;transform:translateY(-50%);color:var(--ink-30)}
select.f-sel{
  padding:.8rem 2.2rem .8rem 1rem;border:1px solid var(--line);border-radius:11px;background:var(--bg-soft);
  font-family:inherit;font-size:.94rem;color:var(--ink-70);appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23697887' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .9rem center;
}
.chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}
.chip{
  border:1px solid var(--line);background:#fff;border-radius:999px;padding:.42rem .95rem;
  font-size:.84rem;font-weight:550;color:var(--ink-70);cursor:pointer;transition:.15s;
  display:inline-flex;align-items:center;gap:.45rem;
}
.chip i{width:8px;height:8px;border-radius:50%;display:block;background:currentColor;opacity:.8}
.chip:hover{border-color:var(--azure);color:var(--brand)}
.chip.on{background:var(--navy-800);border-color:var(--navy-800);color:#fff}
.f-count{font-size:.88rem;color:var(--ink-50);margin-bottom:1.2rem}
.f-count b{color:var(--ink)}
.empty{text-align:center;padding:4rem 1rem;color:var(--ink-50)}

/* ---------- Page hero (interne) ---------- */
.phero{background:linear-gradient(155deg,var(--navy-900),var(--navy-700));color:#fff;padding:3.2rem 0 3.6rem;position:relative;overflow:hidden}
.phero::after{content:"";position:absolute;inset:0;background:radial-gradient(760px 400px at 88% 0%,rgba(46,134,222,.42),transparent 60%);pointer-events:none}
.phero h1{color:#fff;position:relative}
.phero .lede{color:#B9CBDE;position:relative}
.crumbs{font-size:.83rem;color:#8FAAC8;margin-bottom:1.1rem;position:relative;display:flex;gap:.5rem;flex-wrap:wrap}
.crumbs a{color:#B9CBDE;text-decoration:none}
.crumbs a:hover{color:#fff}
.crumbs span{color:#5C7A9B}

/* ---------- Detail layout ---------- */
.detail{display:grid;grid-template-columns:minmax(0,1fr) 372px;gap:3.2rem;align-items:start}
@media (max-width:1040px){ .detail{grid-template-columns:1fr} }

.dhero{position:relative;overflow:hidden;background:var(--navy-800);color:#fff}
.dhero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.34}
.dhero::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(7,27,51,.95) 30%,rgba(7,27,51,.55))}
.dhero-in{position:relative;z-index:2;padding:3rem 0 3.4rem;max-width:60ch}
.dhero h1{color:#fff;font-size:clamp(1.9rem,3.4vw,2.9rem)}
.dhero .tagline{color:#C6D8EC;margin-top:1rem;font-size:1.06rem}
.dhero-facts{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.6rem}
.fact{
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:10px;
  padding:.45rem .85rem;font-size:.83rem;color:#DDEAF7;font-weight:550;
}
.fact b{color:#fff}

.block{margin-bottom:2.8rem}
.block h2{font-size:1.6rem;margin-bottom:1rem}
.block p{color:var(--ink-70)}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}
.ticks li{display:flex;gap:.75rem;align-items:flex-start;color:var(--ink-70)}
.ticks svg{flex:none;color:var(--teal);margin-top:.28rem}

.acc{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.acc + .acc{margin-top:.65rem}
.acc summary{
  cursor:pointer;padding:1.05rem 1.25rem;font-weight:620;color:var(--navy-800);
  display:flex;align-items:center;gap:.9rem;list-style:none;font-size:1rem;
}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{
  content:"";margin-left:auto;width:9px;height:9px;border-right:2px solid var(--ink-30);
  border-bottom:2px solid var(--ink-30);transform:rotate(45deg);transition:transform .2s;flex:none;
}
.acc[open] summary::after{transform:rotate(-135deg)}
.acc summary:hover{background:var(--bg-soft)}
.acc .num{
  width:28px;height:28px;border-radius:8px;background:var(--azure-100);color:var(--brand);
  display:grid;place-items:center;font-size:.8rem;font-weight:700;flex:none;font-family:var(--f-ui);
}
.acc-body{padding:0 1.25rem 1.25rem 3.4rem;color:var(--ink-70);font-size:.94rem}

/* Sticky sidebar */
.side{position:sticky;top:calc(var(--nav-h) + 20px);display:grid;gap:1rem}
.side-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.6rem;box-shadow:var(--sh-2)}
.side-card h3{font-size:1.05rem;font-family:var(--f-ui);font-weight:700;margin-bottom:.9rem}
.pricebox .lab{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-50)}
.pricebox .row{display:flex;align-items:baseline;gap:.8rem;margin:.35rem 0}
.pricebox .old{font-size:1.15rem;color:var(--ink-30);text-decoration:line-through;font-weight:600}
.pricebox .new{font-family:var(--f-display);font-size:2.6rem;font-weight:600;color:var(--navy-800);line-height:1}
.pricebox .bollo{font-size:.8rem;color:var(--ink-50)}
.savebar{
  background:var(--teal-100);color:#00705F;border-radius:10px;padding:.6rem .85rem;font-size:.84rem;
  font-weight:650;margin:1rem 0 1.2rem;display:flex;align-items:center;gap:.55rem;
}
.rate-list{list-style:none;padding:0;margin:1.1rem 0 0;font-size:.86rem;color:var(--ink-70);display:grid;gap:.5rem}
.rate-list li{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.5rem;border-bottom:1px dashed var(--line)}
.rate-list li:last-child{border:0;padding-bottom:0}
.rate-list b{color:var(--navy-800)}
.side-note{font-size:.78rem;color:var(--ink-50);line-height:1.5}

/* Mobile sticky CTA */
.mobile-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;border-top:1px solid var(--line);
  padding:.7rem 1rem;display:none;align-items:center;gap:1rem;box-shadow:0 -6px 24px rgba(11,37,69,.1);
}
.mobile-cta .mc-price{line-height:1.15}
.mobile-cta .mc-price .o{font-size:.72rem;color:var(--ink-30);text-decoration:line-through;display:block}
.mobile-cta .mc-price .n{font-family:var(--f-display);font-size:1.35rem;font-weight:600;color:var(--navy-800)}
.mobile-cta .btn{margin-left:auto}
@media (max-width:1040px){ .mobile-cta{display:flex} body{padding-bottom:76px} }

/* ---------- Steps ---------- */
.steps{counter-reset:s;display:grid;gap:1.4rem;grid-template-columns:repeat(3,1fr)}
@media (max-width:800px){.steps{grid-template-columns:1fr}}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.8rem;position:relative}
.step::before{
  counter-increment:s;content:counter(s);
  font-family:var(--f-display);font-size:2.6rem;font-weight:600;color:var(--azure);opacity:.35;
  line-height:1;display:block;margin-bottom:.7rem;
}
.step h3{font-size:1.1rem;font-family:var(--f-ui);font-weight:700;margin-bottom:.5rem}
.step p{font-size:.9rem;color:var(--ink-50);margin:0}

/* ---------- Feature list ---------- */
.feat{display:flex;gap:1.1rem;align-items:flex-start}
.feat-ico{
  width:48px;height:48px;border-radius:13px;background:var(--azure-100);color:var(--brand);
  display:grid;place-items:center;flex:none;
}
.dark .feat-ico{background:rgba(255,255,255,.1);color:var(--amber)}
.feat h3{font-size:1.06rem;font-family:var(--f-ui);font-weight:700;margin-bottom:.35rem}
.feat p{font-size:.92rem;color:var(--ink-50);margin:0}
.dark .feat p{color:#9FB6CE}

/* ---------- Forms ---------- */
.field{margin-bottom:1.05rem}
.field label{display:block;font-size:.85rem;font-weight:620;color:var(--ink-70);margin-bottom:.4rem}
.field label .req{color:var(--rose)}
.field input,.field select,.field textarea{
  width:100%;padding:.8rem .95rem;border:1px solid var(--line);border-radius:11px;
  font-family:inherit;font-size:.95rem;background:#fff;color:var(--ink);
}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--azure);outline-offset:1px;border-color:var(--azure)}
.field textarea{min-height:110px;resize:vertical}
.field .hint{font-size:.78rem;color:var(--ink-50);margin-top:.35rem}
.field.err input,.field.err select{border-color:var(--rose)}
.field .msg{display:none;font-size:.78rem;color:var(--rose);margin-top:.3rem}
.field.err .msg{display:block}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
@media (max-width:640px){.f2{grid-template-columns:1fr}}
.check{display:flex;gap:.65rem;align-items:flex-start;font-size:.85rem;color:var(--ink-70);margin-bottom:.8rem}
.check input{width:auto;margin-top:.25rem;flex:none;accent-color:var(--brand)}

/* ---------- Multi-step wizard ---------- */
.wizard{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-2);overflow:hidden}
.wz-steps{display:grid;grid-template-columns:repeat(3,1fr);background:var(--bg-soft);border-bottom:1px solid var(--line)}
.wz-step{padding:1.1rem 1rem;text-align:center;font-size:.85rem;font-weight:620;color:var(--ink-30);position:relative}
.wz-step .n{
  display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;
  background:var(--line);color:var(--ink-50);font-size:.78rem;font-weight:700;margin-right:.5rem;vertical-align:middle;
}
.wz-step.on{color:var(--brand);background:#fff}
.wz-step.on .n{background:var(--brand);color:#fff}
.wz-step.done{color:var(--teal)}
.wz-step.done .n{background:var(--teal);color:#fff}
.wz-body{padding:2rem}
@media (max-width:640px){.wz-body{padding:1.4rem} .wz-step{font-size:0} .wz-step .n{margin:0}}
.wz-pane{display:none}
.wz-pane.on{display:block;animation:fade .28s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.wz-nav{display:flex;gap:.8rem;justify-content:space-between;margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--line-soft)}
.wz-title{font-family:var(--f-display);font-size:1.45rem;margin-bottom:.4rem}
.wz-sub{font-size:.92rem;color:var(--ink-50);margin-bottom:1.6rem}

.summary{background:var(--bg-tint);border-radius:var(--r-lg);padding:1.5rem;margin-top:1.5rem}
.summary h4{margin:0 0 1rem;font-family:var(--f-ui);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-50);font-weight:700}
.summary dl{margin:0;display:grid;gap:.6rem}
.summary .sr{display:flex;justify-content:space-between;gap:1rem;font-size:.92rem;padding-bottom:.6rem;border-bottom:1px dashed rgba(11,37,69,.14)}
.summary .sr:last-of-type{border:0;padding-bottom:0}
.summary .sr dt{color:var(--ink-50)}
.summary .sr dd{margin:0;font-weight:650;color:var(--navy-800);text-align:right}
.summary .total{margin-top:1rem;padding-top:1rem;border-top:2px solid rgba(11,37,69,.14);display:flex;justify-content:space-between;align-items:baseline}
.summary .total span{font-weight:700;color:var(--navy-800)}
.summary .total b{font-family:var(--f-display);font-size:2rem;font-weight:600;color:var(--brand)}

.upload{
  border:2px dashed var(--line);border-radius:var(--r);padding:1.6rem;text-align:center;
  background:var(--bg-soft);cursor:pointer;transition:.18s;
}
.upload:hover{border-color:var(--azure);background:var(--azure-100)}
.upload strong{display:block;color:var(--navy-800);font-size:.95rem}
.upload span{font-size:.8rem;color:var(--ink-50)}

/* ---------- Convenzioni ---------- */
.conv{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.6rem;height:100%}
.conv .feat-ico{margin-bottom:1rem}
.conv h3{font-size:1.05rem;font-family:var(--f-ui);font-weight:700;margin-bottom:.45rem}
.conv p{font-size:.89rem;color:var(--ink-50);margin:0}

/* ---------- CTA band ---------- */
.band{
  background:linear-gradient(140deg,var(--brand),var(--navy-800) 70%);color:#fff;border-radius:var(--r-xl);
  padding:clamp(2.4rem,5vw,3.6rem);text-align:center;position:relative;overflow:hidden;
}
.band::after{content:"";position:absolute;inset:0;background:radial-gradient(500px 300px at 50% -10%,rgba(255,255,255,.16),transparent 70%);pointer-events:none}
.band h2{color:#fff;position:relative}
.band p{color:#C6D8EC;max-width:56ch;margin:1rem auto 1.8rem;position:relative}
.band .btns{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;position:relative}

/* ---------- Footer ---------- */
.ftr{background:var(--navy-900);color:#94AAC4;padding:4rem 0 2rem;font-size:.9rem}
.ftr-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.1)}
@media (max-width:880px){.ftr-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ftr-grid{grid-template-columns:1fr}}
.ftr h4{color:#fff;font-family:var(--f-ui);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem;font-weight:700}
.ftr ul{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}
.ftr a{color:#94AAC4;text-decoration:none}
.ftr a:hover{color:#fff}
.ftr-logo{height:52px;width:auto;filter:brightness(0) invert(1);opacity:.92}
.ftr ul .n{display:inline-block;margin-left:.4rem;font-size:.75rem;color:#5C7A9B}
.ftr-bot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1.5rem;font-size:.82rem;color:#6A87A8}
.socials{display:flex;gap:.6rem;margin-top:1.2rem}
.socials a{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#B9CBDE}
.socials a:hover{background:var(--azure);color:#fff}

/* ---------- Misc ---------- */
.note-proto{
  background:var(--amber-100);border:1px solid #F3D9A6;color:#6B4A05;border-radius:var(--r);
  padding:.9rem 1.15rem;font-size:.85rem;display:flex;gap:.7rem;align-items:flex-start;margin-bottom:1.5rem;
}
.note-proto svg{flex:none;margin-top:.15rem}
.hr{height:1px;background:var(--line);border:0;margin:0}
.related .card-media{aspect-ratio:16/9}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}


/* ---------- Aggiunte v2 ---------- */
.area-tag{
  display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  color:var(--ac,var(--brand));margin-bottom:.55rem;
}
.price-mini .old{font-size:.74rem;color:var(--ink-30);text-decoration:line-through;display:block;line-height:1.2;letter-spacing:.02em}
.pricebox .listino{font-size:1.15rem;color:var(--ink-30);text-decoration:line-through;font-weight:600}
.pricebox .row .new{font-family:var(--f-display);font-size:2.5rem;font-weight:600;color:var(--navy-800);line-height:1}

/* Selettore segmenti */
.seg{
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s;
}
.seg:hover{text-decoration:none;transform:translateY(-4px);box-shadow:var(--sh-3);border-color:transparent}
.seg-img{position:relative;aspect-ratio:16/7;overflow:hidden;background:var(--bg-tint)}
.seg-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.seg:hover .seg-img img{transform:scale(1.06)}
.seg-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,27,51,.5),transparent 60%)}
.seg-body{padding:1.4rem;display:flex;flex-direction:column;flex:1}
.seg-body .feat-ico{margin:-3.2rem 0 .9rem;position:relative;z-index:2;background:#fff;box-shadow:var(--sh-2)}
.seg-body h3{font-family:var(--f-ui);font-size:1.12rem;font-weight:700;margin-bottom:.25rem}
.seg-sub{font-size:.78rem;color:var(--ink-30);font-weight:600;margin:0 0 .7rem;text-transform:uppercase;letter-spacing:.04em}
.seg-body p{font-size:.9rem;color:var(--ink-50);margin:0 0 1rem}
.seg-body .go{margin-top:auto;font-size:.85rem;font-weight:650;color:var(--brand);display:inline-flex;align-items:center;gap:.35rem}

/* Pillar (i due mondi in home) */
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;align-items:stretch}
@media (max-width:900px){.pillars{grid-template-columns:1fr}}
.pillar{
  border:1px solid var(--line);border-radius:var(--r-xl);padding:1.9rem;background:#fff;
  display:flex;flex-direction:column;
}
.pillar.accent{background:linear-gradient(160deg,var(--bg-tint),#fff 60%)}
.pillar .feat-ico{margin-bottom:1.1rem}
.pillar h3{font-size:1.5rem;margin-bottom:.6rem}
.pillar p{color:var(--ink-50);font-size:.95rem}
.pillar .btn{align-self:flex-start;margin-top:auto}
.pillar ul{list-style:none;padding:0;margin:1.1rem 0 1.6rem;display:grid;gap:.55rem}
.pillar ul li{display:flex;gap:.6rem;font-size:.92rem;color:var(--ink-70);align-items:flex-start}
.pillar ul svg{flex:none;margin-top:.25rem;color:var(--teal)}

/* Facolt\00e0  */
.fac{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.5rem}
.fac h3{font-family:var(--f-ui);font-size:1rem;font-weight:700;margin-bottom:.9rem;padding-bottom:.7rem;border-bottom:1px solid var(--line-soft)}
.fac ul{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}
.fac li{display:flex;flex-direction:column;gap:.1rem}
.fac li a{font-size:.92rem;font-weight:550;color:var(--ink)}
.fac li a:hover{color:var(--brand)}
.fac li span{font-size:.74rem;color:var(--ink-30);font-weight:600;letter-spacing:.03em;text-transform:uppercase}

/* Filtri: due file di chip */
.f-block{margin-top:1rem}
.f-block > label{display:block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-30);margin-bottom:.5rem}
.chip b{font-weight:700;color:var(--ink-30);margin-left:.1rem}
.chip.on b{color:rgba(255,255,255,.6)}

/* Nota prezzo */
.price-note{
  background:var(--azure-100);border:1px solid #CFE2F7;color:#0D3F79;border-radius:var(--r);
  padding:.85rem 1.1rem;font-size:.85rem;display:flex;gap:.7rem;align-items:flex-start;
}
.price-note svg{flex:none;margin-top:.15rem}

/* ============================================================================
   LIVELLO SOBRIO \2014  la pulizia di convenzioni.izeos.it, rifinita.
   Fondo bianco, molto respiro, colore usato con parsimonia.
   Due pelli: rosso Pegaso (#CF1D56) e blu eCampus (#1E2D52).
   ============================================================================ */
:root{
  /* Palette del Polo: bordeaux #9B2242. Resta nella famiglia calda del sito attuale
     ma non e piu il magenta campionato dal logo Pegaso (#CF1D56) ne il rosso
     Multiversity. Per cambiarla basta questo blocco. */
  --navy-900:#2B1016; --navy-800:#3F1620; --navy-700:#6A2434;
  --brand:#9B2242; --brand-600:#7F1B36; --azure:#C25574; --azure-100:#F8EBEF;
  --amber:#C98A16; --amber-100:#FAF0DC;
  --teal:#0A9257; --teal-100:#E5F4EE;
  --f-display:'Inter',system-ui,sans-serif;
  --alone:155,34,66;
  /* grigi piu scuri: le etichette piccole devono restare leggibili */
  --ink-70:#33404F; --ink-50:#5C6875; --ink-30:#6E7A88;
  --r:14px; --r-lg:18px;
  --sh-2:0 1px 2px rgba(24,8,15,.04), 0 8px 22px -14px rgba(24,8,15,.16);
  --sh-3:0 2px 4px rgba(24,8,15,.05), 0 20px 40px -20px rgba(24,8,15,.25);
}
.pelle-ecampus{
  --navy-900:#0A1220; --navy-800:#131E38; --navy-700:#24365E;
  --brand:#1E2D52; --brand-600:#16223E; --azure:#41598F; --azure-100:#E8EDF6;
  --alone:30,45,82;
}

h1,h2,h3,h4{ font-family:var(--f-display); font-weight:700; letter-spacing:-.03em }

/* fondo neutro e serio; il colore vive in testata, fasce e componenti */
body{ background:#F2F3F5 }
section{ background:transparent }
.soft{ background:#fff }

/* ---------- barra di anteprima ---------- */
.notice-bar{ background:var(--navy-900); color:#D9C6CE; font-size:.84rem }
.pelle-ecampus .notice-bar{ color:#C2CDE2 }
.notice-bar b{ color:#fff }
.notice-bar code{ background:rgba(255,255,255,.12); border-radius:4px; padding:.05rem .3rem;
  font-family:ui-monospace,monospace; font-size:.85em; color:#fff }
.notice-bar .wrap{ display:flex; gap:1rem; align-items:center; flex-wrap:wrap }
.pelle-sel{ display:flex; gap:.3rem; margin-left:auto }
.pelle-sel button{ background:rgba(255,255,255,.14); border:0; color:#fff; cursor:pointer;
  border-radius:999px; padding:.3rem .85rem; font:inherit; font-size:.8rem; font-weight:650 }
.pelle-sel button[aria-pressed="true"]{ background:#fff; color:var(--navy-900) }

/* ---------- testata: due piani, tono piu profondo dell'eroe ---------- */
.hdr{ background:var(--navy-900); border-bottom:1px solid rgba(255,255,255,.1);
  box-shadow:0 10px 30px -22px rgba(0,0,0,.9) }
.hdr-utility{ background:rgba(0,0,0,.22); border-bottom:1px solid rgba(255,255,255,.07) }
.hdr-utility-in{ display:flex; align-items:center; gap:1.2rem; padding:.5rem 1.5rem;
  font-size:.78rem; color:rgba(255,255,255,.72); font-weight:550 }
.hu-voce{ display:inline-flex; align-items:center; gap:.4rem; white-space:nowrap }
.hu-voce svg{ width:12px; height:12px; stroke-width:3.2; color:#4ED597 }
.hu-sep{ width:1px; height:12px; background:rgba(255,255,255,.18) }
.hu-tel{ margin-left:auto; display:inline-flex; align-items:center; gap:.4rem; color:#fff;
  font-weight:700; text-decoration:none; letter-spacing:.01em }
.hu-tel:hover{ text-decoration:underline }
.hdr-in{ padding-top:1rem; padding-bottom:1rem }
@media (max-width:760px){
  .hu-desk, .hu-sep{ display:none }
  .hdr-utility-in{ font-size:.72rem; gap:.8rem }
}
.logo{ display:flex; align-items:center }
.logo-cu, .logo-iz{ display:flex; align-items:center; gap:.65rem }
.logo-iz{ display:none }
.pelle-ecampus .logo-cu{ display:none }
.pelle-ecampus .logo-iz{ display:flex }
.logo svg{ flex:none; color:#fff }
.logo-parole{ line-height:1.05 }
.logo-parole b{ display:block; font-size:1.12rem; font-weight:800; letter-spacing:-.03em;
  color:#fff }
.logo-parole span{ display:block; font-size:.6rem; letter-spacing:.24em; text-transform:uppercase;
  color:rgba(255,255,255,.65); font-weight:650; margin-top:.1rem }
.nav a{ border-radius:9px; color:#fff }
.nav a:hover{ background:rgba(255,255,255,.12); color:#fff }
.nav a.on{ color:#fff; background:rgba(255,255,255,.14) }
.hdr .drop-btn{ color:#fff }
.hdr .drop-btn:hover, .hdr .drop-btn.on{ background:rgba(255,255,255,.12); color:#fff }
.hdr .btn:not(.btn-ghost){ background:#fff; color:var(--navy-800) }
.hdr .btn:not(.btn-ghost):hover{ background:#fff }
.hdr .btn-ghost{ border-color:rgba(255,255,255,.35); color:#fff }
.hdr .btn-ghost:hover{ background:rgba(255,255,255,.12); border-color:transparent }
.burger span{ background:#fff }
/* pulsanti: si usano le variabili del tema, cosi le varianti chiare
   restano leggibili sui fondi scuri */
.btn{ border-radius:999px; font-weight:650; --bg-btn:var(--brand); --fg-btn:#fff;
  transition:transform .16s, background .16s, box-shadow .16s }
.btn:hover{ transform:translateY(-1px) }
.btn:not(.btn-ghost):not(.btn-white):not(.btn-outline-white):hover{ --bg-btn:var(--brand-600) }
.btn-ghost{ --bg-btn:transparent; --fg-btn:var(--brand); border-color:var(--line) }
.btn-ghost:hover{ --bg-btn:var(--azure-100); border-color:var(--azure-100) }
.btn-white{ --bg-btn:#fff; --fg-btn:var(--navy-800) }
.btn-white:hover{ --bg-btn:#fff }
.btn-outline-white{ --bg-btn:transparent; --fg-btn:#fff; border-color:rgba(255,255,255,.45) }
.btn-outline-white:hover{ --bg-btn:rgba(255,255,255,.14) }
.btn-teal{ --bg-btn:var(--brand); --fg-btn:#fff }
.btn-teal:hover{ --bg-btn:var(--brand-600) }

/* ---------- eroe: scuro, piatto, essenziale ---------- */
.hero-corta{ padding:0 }
.hero::after{
  background:
    radial-gradient(820px 420px at 50% -20%, rgba(255,255,255,.07), transparent 60%),
    var(--navy-800) !important;
}
.hero-corta .hero-centro{ padding:clamp(2.2rem,4vw,3.2rem) 0 clamp(4.6rem,7vw,5.8rem);
  text-align:center }
.hero-centro h1{ max-width:22ch; margin:0 auto; font-size:clamp(1.85rem,3.6vw,2.7rem);
  line-height:1.08; text-wrap:balance; letter-spacing:-.035em }
.hero-badge{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16);
  margin-bottom:1.2rem }
.hero-centro .hero-note{ margin:1rem auto 0; font-size:.87rem; color:#CBB3BE;
  display:flex; justify-content:center; flex-wrap:wrap; gap:.5rem }
.pelle-ecampus .hero-centro .hero-note{ color:#AFBCD8 }

/* ---------- atenei sovrapposti ---------- */
.atenei-sovra{ padding-top:0; margin-top:clamp(-3.6rem,-5vw,-2.8rem); position:relative; z-index:5 }
.atenei-sovra .seg-ateneo{ background:#fff; box-shadow:var(--sh-2) }

.seg{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  transition:transform .2s, box-shadow .2s, border-color .2s }
.seg:hover{ transform:translateY(-4px); box-shadow:var(--sh-3); border-color:transparent;
  text-decoration:none }
.seg-ateneo{ display:flex; flex-direction:column; overflow:hidden }
.seg-testa{ display:flex; align-items:center; gap:.85rem; padding:1.3rem 1.5rem;
  background:var(--navy-800) }
.seg-testa.con-logo{ background:#fff; border-bottom:0;
  justify-content:center; padding:2.4rem 1.6rem 1.6rem; min-height:140px }
.seg-logo-img{ height:66px; max-width:88%; object-fit:contain }
.seg-logo-svg{ height:60px; width:auto; max-width:90% }
.atenei-due{ max-width:840px; margin-left:auto; margin-right:auto }
.seg-sigla{
  width:44px; height:44px; flex:none; border-radius:12px;
  background:rgba(255,255,255,.15); color:#fff;
  display:grid; place-items:center; font-weight:800; font-size:1rem;
  text-transform:uppercase; letter-spacing:-.02em;
}
.seg-testa h3{ font-size:1.1rem; font-weight:700; margin:0; color:#fff;
  letter-spacing:-.02em; font-family:var(--f-ui) }
/* card ateneo: il vantaggio, in tono discreto e centrato */
.seg-sconto{ background:transparent; border-radius:0; padding:0; margin-bottom:1.5rem;
  text-align:center }
.seg-sconto b{ display:block; font-size:1.4rem; font-weight:800; letter-spacing:-.03em;
  color:#0A6B4C; line-height:1.1 }
.seg-sconto span{ display:block; font-size:.85rem; color:var(--ink-50); margin-top:.4rem;
  line-height:1.45; max-width:30ch; margin-left:auto; margin-right:auto }
.seg-sconto-alt b{ color:var(--navy-800); font-size:1.1rem }

/* card ateneo: due cifre in evidenza, un bollino, le aree, il pulsante */
.seg-cifre{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; align-items:start;
  margin-bottom:1.4rem; text-align:center }
.seg-cifre div:last-child{ border-left:1px solid var(--line-soft) }
.seg-cifre b{ display:block; font-size:1.7rem; font-weight:800; letter-spacing:-.04em;
  color:var(--navy-800); line-height:1; font-variant-numeric:tabular-nums }
.seg-cifre span{ display:block; font-size:.75rem; color:var(--ink-50); font-weight:600;
  margin-top:.35rem }
.seg-cta{ margin-top:auto; text-align:center; justify-content:center }
.seg:hover .seg-cta{ background:var(--brand-600) }
.seg-ateneo .seg-body{ display:flex; flex-direction:column; padding:1.5rem 1.6rem 1.5rem }
.seg-ateneo .cat-mini{ margin-bottom:1.35rem }
.seg-ateneo .go{ margin-top:auto }
.seg-numeri .dd-verde{ color:#0A6B4C }
.cat-tit{ font-size:.62rem; font-weight:750; letter-spacing:.07em; text-transform:uppercase;
  color:var(--ink-30); margin:0 0 .5rem }
.cat-mini{ display:flex; flex-wrap:wrap; gap:.35rem }
.cat-mini span{ border-radius:999px; padding:.3rem .65rem; background:var(--bg-tint);
  border:1px solid var(--line-soft); font-size:.76rem; font-weight:600; color:var(--ink-70);
  display:inline-flex; align-items:baseline; gap:.3rem; white-space:nowrap }
.cat-mini span b{ color:var(--ink-30); font-weight:750; font-size:.72rem }
.cat-mini .cat-piu{ background:transparent; border-style:dashed; color:var(--ink-30) }
.seg-body .go{ color:var(--brand) }

/* ---------- fascia numeri: il ponte fra atenei e orientamento ---------- */
.fascia-numeri{ background:var(--navy-800); color:#fff; margin-top:clamp(2.2rem,4vw,3.2rem) }
.fascia-numeri .wrap{ display:grid; grid-template-columns:repeat(4,1fr); gap:2rem;
  padding:1.8rem 1.5rem }
.fn{ text-align:center }
.fn b{ display:block; font-size:1.9rem; font-weight:800; letter-spacing:-.03em;
  line-height:1.1; font-variant-numeric:tabular-nums }
.fn span{ display:block; font-size:.78rem; color:rgba(255,255,255,.65); font-weight:600;
  margin-top:.25rem; letter-spacing:.03em; text-transform:uppercase }
@media (max-width:760px){ .fascia-numeri .wrap{ grid-template-columns:repeat(2,1fr); gap:1.2rem } }

/* ---------- per chi ---------- */
.perchi{ padding:clamp(2.8rem,5vw,4rem) 0 clamp(1.2rem,2.5vw,1.8rem) }
.pc{
  display:flex; flex-direction:column; gap:.85rem; text-decoration:none; color:inherit;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:1.3rem 1.3rem 1.15rem;
  transition:transform .2s, box-shadow .2s, border-color .2s;
}
.pc:hover{ transform:translateY(-4px); box-shadow:var(--sh-3); border-color:transparent;
  text-decoration:none }
.pc-ico{ width:48px; height:48px; border-radius:13px; display:grid; place-items:center;
  background:var(--brand); color:#fff }
.pc-corpo b{ display:block; font-size:1.05rem; font-weight:700; letter-spacing:-.02em;
  color:var(--navy-800) }
.pc-corpo i{ display:block; font-style:normal; font-size:.84rem; color:var(--ink-50);
  margin-top:.25rem }
.pc-n{ margin-top:auto; display:inline-flex; align-items:center; gap:.35rem;
  font-size:.84rem; font-weight:700; color:var(--brand) }

/* ---------- banda di ricerca ---------- */
.banda-cerca{ padding:clamp(1.4rem,2.5vw,2rem) 0 clamp(2.6rem,5vw,3.6rem) }
.banda-cerca-in{
  display:grid; grid-template-columns:auto 1fr; gap:2.5rem; align-items:center;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:1.5rem 1.8rem; box-shadow:var(--sh-2);
}
.banda-cerca h2{ font-size:1.2rem; letter-spacing:-.02em }
.banda-cerca .eyebrow{ margin-bottom:.3rem }
.banda-cerca .hero-search{ margin:0; max-width:none; box-shadow:none;
  border:1.5px solid var(--line); background:#fff }
.banda-cerca .hero-search:focus-within{ border-color:var(--brand);
  box-shadow:0 0 0 4px var(--azure-100) }
@media (max-width:860px){ .banda-cerca-in{ grid-template-columns:1fr; gap:1rem } }

/* ---------- ricerca con filtri laterali: pannello scuro, niente bianco/rosa ---------- */
.cerca-lato{ display:grid; grid-template-columns:265px 1fr; gap:2.4rem; align-items:start;
  padding-top:2rem }
.cerca-filtri{ position:sticky; top:1.2rem; display:grid; gap:1.3rem;
  grid-template-columns:minmax(0,1fr);
  background:var(--navy-800); border:0; border-radius:var(--r-lg);
  padding:1.35rem 1.25rem; color:#fff; box-shadow:var(--sh-2) }
.cerca-filtri > *, .filtri-corpo > *{ min-width:0; max-width:100% }
.cerca-filtri .f-sel{ width:100%; min-width:0 }
.filtri-corpo{ grid-template-columns:minmax(0,1fr) }
.cerca-filtri .f-block > label{ margin-bottom:.55rem; color:rgba(255,255,255,.5) }
.cerca-filtri .chips{ display:flex; flex-direction:column; gap:.3rem; align-items:stretch }
.cerca-filtri .chip{ justify-content:space-between; width:100%; border-radius:10px;
  display:flex; text-align:left; background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.85) }
.cerca-filtri .chip b{ color:rgba(255,255,255,.4) }
.cerca-filtri .chip:hover{ border-color:rgba(255,255,255,.5); color:#fff }
.cerca-filtri .chip.on{ background:#fff; border-color:#fff; color:var(--navy-800) }
.cerca-filtri .chip.on b{ color:var(--ink-50) }
.cerca-filtri .f-search{ display:flex; align-items:center; gap:.5rem;
  background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.16);
  border-radius:10px; padding:.1rem .7rem }
.cerca-filtri .f-search svg{ color:rgba(255,255,255,.55); flex:none; position:static }
.cerca-filtri .f-search input{ padding-left:0 !important }
.cerca-filtri .f-search input{ flex:1; min-width:0; background:transparent; border:0; outline:0;
  font:inherit; font-size:.9rem; color:#fff; padding:.6rem 0 }
.cerca-filtri .f-search input::placeholder{ color:rgba(255,255,255,.4) }
.cerca-filtri .f-sel{ background:rgba(255,255,255,.09); color:#fff;
  border:1px solid rgba(255,255,255,.16); border-radius:10px; padding:.6rem .7rem;
  font-size:.88rem; outline:0; font-weight:600 }
.cerca-filtri .f-sel option{ color:#16212C; background:#fff }
.f-agev{ display:flex; align-items:center; gap:.55rem; font-size:.86rem; font-weight:650;
  color:rgba(255,255,255,.9); cursor:pointer; padding:.1rem 0;
  border-top:1px solid rgba(255,255,255,.12); padding-top:1rem }
.f-agev input{ width:17px; height:17px; accent-color:#2FBF8B }
.filtri-toggle, .filtri-barra, .filtri-testa, .filtri-applica, .filtri-velo{ display:none }
.barra-basso{ display:none }
.altri{ display:flex; justify-content:center; padding:.6rem 0 1rem }
.altri .btn .muted{ font-weight:500; margin-left:.35rem }
.sotto-menu{ display:none }
/* i blocchi della scheda corso su desktop restano sempre aperti */
.blocco > summary{ list-style:none; cursor:default }
.blocco > summary::-webkit-details-marker{ display:none }
.blocco > summary > svg:last-child{ display:none }
.blocco:not([open]) > *:not(summary){ display:block }
.filtri-corpo{ display:grid; gap:1.3rem }
.cerca-filtri .area-attiva{ background:rgba(255,255,255,.09); margin-bottom:0 }
.cerca-filtri .area-attiva span{ color:rgba(255,255,255,.5) }
.cerca-filtri .area-attiva b{ color:#fff }
.cerca-filtri .area-attiva a{ color:#fff; text-decoration:underline }
@media (max-width:900px){
  .cerca-lato{ grid-template-columns:minmax(0,1fr); gap:1.2rem }
  .cerca-lato > *{ min-width:0 }
}

/* ---------- pagina iscrizione ---------- */
.iscr{ display:grid; grid-template-columns:1fr 340px; gap:2.6rem; align-items:start;
  padding:2.2rem 0 3.5rem }
.iscr-form{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:1.8rem; box-shadow:var(--sh-2) }
.iscr-form h2{ font-size:1.25rem; margin-bottom:1.2rem }
.iscr-form .campi{ display:grid; grid-template-columns:1fr 1fr; gap:1rem }
.iscr-form label{ display:grid; gap:.35rem; font-size:.83rem; font-weight:650;
  color:var(--ink-70) }
.iscr-form label.tutto{ grid-column:1/-1 }
.iscr-form input, .iscr-form select, .iscr-form textarea{
  border:1.5px solid var(--line); border-radius:10px; padding:.75rem .9rem;
  font:inherit; font-size:.95rem; font-weight:400; outline:0; background:#fff;
  transition:border-color .16s, box-shadow .16s }
.iscr-form input:focus, .iscr-form select:focus, .iscr-form textarea:focus{
  border-color:var(--brand); box-shadow:0 0 0 4px var(--azure-100) }
.iscr-consenso{ display:flex; gap:.6rem; align-items:flex-start; font-size:.85rem;
  font-weight:400; color:var(--ink-50); margin-top:1rem }
.iscr-consenso input{ margin-top:.25rem }
.iscr-form .btn{ margin-top:1.2rem; width:100% ; padding:.9rem }
.wpforms-nota{ margin-top:1.1rem; background:var(--bg-tint); border:1px dashed var(--line);
  border-radius:10px; padding:.75rem .95rem; font-size:.8rem; color:var(--ink-50) }
.wpforms-nota code{ background:rgba(0,0,0,.07); border-radius:4px; padding:.06rem .3rem;
  font-family:ui-monospace,monospace }
.iscr-passi{ display:grid; gap:.8rem }
.iscr-passo{ background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:1rem 1.1rem; display:grid; grid-template-columns:auto 1fr; gap:.85rem }
.iscr-passo i{ width:28px; height:28px; border-radius:50%; background:var(--brand);
  color:#fff; display:grid; place-items:center; font-style:normal; font-weight:700;
  font-size:.85rem }
.iscr-passo b{ display:block; font-size:.94rem }
.iscr-passo span{ display:block; font-size:.85rem; color:var(--ink-50); margin-top:.15rem }
@media (max-width:900px){ .iscr{ grid-template-columns:1fr } }

/* ---------- supporto ---------- */
.supporto{ background:var(--navy-800); border:0; color:#fff }
.supporto-in{ display:grid; grid-template-columns:1.1fr .9fr; gap:3.5rem; align-items:center;
  padding:clamp(2.8rem,5.5vw,4.2rem) 0 }
.supporto h2{ color:#fff; font-size:clamp(1.5rem,2.8vw,2rem) }
.supporto .eyebrow{ color:#fff; opacity:.7 }
.supporto .eyebrow::before{ background:#fff }
.supporto .lede{ color:#D3BFC9 }
.pelle-ecampus .supporto .lede{ color:#BDC9E0 }
.supporto .btn{ margin-top:1.6rem; background:#fff; color:var(--navy-800) }
.supporto .btn:hover{ background:#fff }
.supporto .ph-list{ margin:0; display:grid; gap:.85rem }
.supporto .ph-list li{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16);
  border-radius:12px; padding:.85rem 1rem; color:#fff; font-size:.95rem; font-weight:500 }
.supporto .ph-list svg{ color:#5BE0A5; opacity:1 }
.supporto .eyebrow{ color:rgba(255,255,255,.75); opacity:1 }
.supporto .eyebrow::before{ background:rgba(255,255,255,.75) }

/* ---------- leggibilita: testi su fondi scuri ---------- */
.hero .lede, .phero .lede, .dhero .lede{ color:#E7DCE2 }
.pelle-ecampus .hero .lede, .pelle-ecampus .phero .lede,
.pelle-ecampus .dhero .lede{ color:#D3DCEC }
.crumbs, .crumbs a{ color:rgba(255,255,255,.72) }
.crumbs a:hover{ color:#fff }
.band{ background:linear-gradient(140deg, var(--navy-700), var(--navy-900) 75%) }
.band p{ color:rgba(255,255,255,.8) }
.band .eyebrow{ color:rgba(255,255,255,.8) }
.band .eyebrow::before{ background:rgba(255,255,255,.8) }
.dark .eyebrow, .supporto .eyebrow, .hero .eyebrow{ color:rgba(255,255,255,.75) }
.dark .eyebrow::before, .hero .eyebrow::before{ background:rgba(255,255,255,.75) }
.ftr{ color:rgba(255,255,255,.72) }
.ftr a{ color:rgba(255,255,255,.85) }
.ftr a:hover{ color:#fff }
.ftr h4{ color:#fff }
.ftr .n{ color:rgba(255,255,255,.5) }
.ftr-bot{ color:rgba(255,255,255,.55) }
.mobile-cta .mc-price .o{ color:var(--ink-50) }

/* ---------- leggibilita: testi su fondo chiaro ---------- */
.card-abs, .conv p, .lede{ color:var(--ink-70) }
.small.muted, .side-note, .micro{ color:var(--ink-50) }
.ticks li{ color:var(--ink-70) }
.ticks svg{ color:#12B76A }
.acc-body{ color:var(--ink-70) }
.pill{ color:var(--ink-70) }

/* ---------- card corso ---------- */
.card{ border-radius:var(--r-lg); border:1px solid var(--line);
  transition:transform .2s, box-shadow .2s, border-color .2s; overflow:hidden }
.card:hover{ transform:translateY(-4px); box-shadow:var(--sh-3); border-color:transparent }
.card-media img{ width:100%; height:100%; object-fit:cover; display:block }
.card-media svg, .seg-img svg, .dhero-art svg{ width:100%; height:100%; display:block }
.dhero-art{ position:absolute; inset:0 }
.dhero-art img{ width:100%; height:100%; object-fit:cover }
.chip-cat{ position:absolute; right:.9rem; top:.9rem; z-index:2; background:rgba(255,255,255,.94);
  color:var(--navy-800); border-radius:999px; padding:.26rem .7rem; font-size:.7rem; font-weight:700 }
.area-tag{ display:inline-block; font-size:.7rem; font-weight:800; letter-spacing:.08em;
  text-transform:uppercase; color:var(--brand); margin-bottom:.5rem }
.price-mini{ display:flex; flex-direction:column; align-items:flex-start; gap:.12rem }
.price-mini .old{ font-size:.82rem; color:var(--ink-50); text-decoration:line-through;
  text-decoration-thickness:1.5px; text-decoration-color:var(--ink-30);
  display:block; line-height:1.2; font-weight:600 }
.price-mini .new{ font-weight:800; letter-spacing:-.02em; display:inline-flex;
  align-items:center; gap:.45rem }
.price-mini .cnv{ color:var(--teal); display:block; font-size:.66rem; font-weight:750;
  letter-spacing:.07em; text-transform:uppercase; margin-top:.1rem }
.price-mini .cnv.plain{ color:var(--ink-30) }
.pct{ display:inline-block; background:#E7F7EF; color:#067647; font-size:.72rem;
  font-weight:800; border-radius:7px; padding:.16rem .45rem; line-height:1;
  letter-spacing:0; white-space:nowrap }
.card .go{ color:var(--brand) }

/* ---------- filtri ---------- */
.chip{ border-radius:999px }
.chip:hover{ border-color:var(--brand); color:var(--brand) }
.chip.on{ background:var(--brand); border-color:var(--brand) }
.chip b{ font-weight:700; color:var(--ink-30); margin-left:.1rem }
.chip.on b{ color:rgba(255,255,255,.65) }
.f-block > label{ display:block; font-size:.72rem; font-weight:800; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink-30); margin-bottom:.5rem }

/* ---------- menu a tendina ---------- */
.drop{ position:relative }
.drop-btn{ display:inline-flex; align-items:center; gap:.4rem; background:none; border:0;
  cursor:pointer; padding:.55rem .8rem; border-radius:9px; color:var(--ink-70);
  font-weight:550; font-size:.93rem }
.drop-btn:hover, .drop-btn.on{ background:var(--azure-100); color:var(--brand) }
.drop-menu{ position:absolute; top:calc(100% + .5rem); left:0; min-width:275px; background:#fff;
  border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-3); padding:.45rem;
  display:none; z-index:70 }
.drop:hover .drop-menu, .drop:focus-within .drop-menu{ display:block }
.drop-menu a{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem;
  padding:.6rem .75rem; border-radius:9px; text-decoration:none }
.drop-menu a:hover{ background:var(--bg-tint); text-decoration:none }
.drop-menu b{ color:var(--navy-800); font-weight:650; font-size:.92rem }
.drop-menu span{ color:var(--ink-30); font-size:.78rem; font-weight:600; white-space:nowrap }
@media (max-width:1040px){
  .drop, .drop-menu{ position:static }
  .drop-menu{ display:block; box-shadow:none; border:0; padding:0 0 0 .5rem }
  .drop-btn{ width:100%; justify-content:space-between; padding:.85rem .5rem;
    border-bottom:1px solid var(--line-soft); border-radius:0 }
  .nav > .btn{ display:inline-flex; margin-top:1rem }
  .hdr-cta{ display:none }
}
.nav-login{ margin-left:.4rem }
@media (min-width:1041px){ .nav > .btn:not(.btn-ghost){ display:none } }

/* ---------- ricerca ---------- */
.hero-search{ display:flex; align-items:center; gap:.6rem; background:#fff; border-radius:999px;
  padding:.45rem .45rem .45rem 1.1rem; margin-top:1.8rem; max-width:560px; box-shadow:var(--sh-2) }
.hero-search svg{ color:var(--ink-30); flex:none }
.hero-search input{ flex:1; border:0; outline:0; font:inherit; font-size:.98rem; padding:.55rem 0;
  background:transparent; color:var(--ink); min-width:0 }
.phero .hero-search{ margin-top:0 }
.phero{ position:relative; isolation:isolate; background:var(--navy-800) }
.phero::after{ content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(700px 380px at 85% 0%, rgba(255,255,255,.07), transparent 60%) }

/* ---------- scheda corso: eroe diviso stile UniPegaso ---------- */
.dhero{ background:var(--navy-800); position:relative; isolation:isolate }
.dhero-split::after{ content:none !important }
.dhero-cols{ display:block; position:relative; z-index:1 }
.dhero-left{ display:flex; flex-direction:column; justify-content:center;
  max-width:1200px; margin:0 auto; padding:2.8rem 1.5rem 3rem }
.dhero-left h1{ color:#fff; font-size:clamp(1.6rem,3vw,2.3rem); max-width:24ch;
  letter-spacing:-.03em; margin:.35rem 0 0 }
.dhero-tags{ display:flex; flex-wrap:wrap; gap:.45rem; margin:.9rem 0 .8rem }
.tagq{ display:inline-block; border:1.5px solid rgba(255,255,255,.6); color:#fff;
  background:rgba(0,0,0,.14); font-size:.66rem; font-weight:750; letter-spacing:.09em;
  text-transform:uppercase; padding:.3rem .6rem; border-radius:5px }
.dhero-right{ position:relative; overflow:hidden }
.dhero-right img, .dhero-right svg{ position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; display:block }
.dhero-right::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(var(--alone),.32), transparent 45%) }
@media (max-width:860px){ .dhero-left{ padding:1.8rem 1.5rem 2.2rem } }
.dhero-art{ z-index:-1; opacity:.8; filter:saturate(.65) }
.dhero-in{ position:relative; z-index:1 }
.dhero .hero-badge{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.22) }
.dhero .hero-badge b{ background:#fff; color:var(--navy-900) }
.dhero .tagline{ color:#EFDCE4; max-width:60ch }
.pelle-ecampus .dhero .tagline{ color:#CDD7EA }
.fact{ background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.16);
  border-radius:999px; color:#fff }
.fact b{ color:#fff }

/* elenco fatti nella colonna laterale, come UniPegaso */
.fatti{ list-style:none; margin:1.3rem 0 1.2rem; padding:0 }
.fatti li{ display:flex; align-items:center; gap:.6rem; padding:.6rem 0;
  border-bottom:1px solid var(--line-soft); font-size:.88rem; color:var(--ink-50) }
.fatti li:last-child{ border-bottom:0 }
.fatti svg{ color:var(--brand); flex:none }
.fatti b{ margin-left:auto; color:var(--navy-800); font-weight:700; text-align:right }

/* riepilogo iscrizione */
.iscr-promessa p.riep-tit{ font-size:.62rem; font-weight:800; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink-30); margin:1.2rem 0 .2rem }
.iscr-promessa p.riep-tit:first-of-type{ margin-top:.3rem }
.riep{ list-style:none; margin:0; padding:0 }
.riep b.vuoto{ color:var(--ink-30); font-weight:600 }
.riep li{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem;
  padding:.6rem 0; border-bottom:1px solid var(--line-soft); font-size:.87rem }
.riep li:last-child{ border-bottom:0 }
.riep span{ color:var(--ink-50); flex:none }
.riep b{ color:var(--navy-800); text-align:right; font-weight:700 }
.detail .block h2{ font-size:1.22rem; letter-spacing:-.02em }
.savebar{ background:#E7F7EF; color:#067647; border-radius:10px; font-weight:700 }
.savebar svg{ color:#12B76A }
.btn-teal{ background:var(--brand); color:#fff }
.btn-teal:hover{ background:var(--brand-600) }
.side-card{ border-radius:var(--r-lg); border:1px solid var(--line); box-shadow:var(--sh-2) }
.pricebox .row{ display:flex; align-items:center; gap:.7rem; flex-wrap:wrap }
.pricebox .row .new{ font-size:2.4rem; font-weight:800; letter-spacing:-.04em;
  color:var(--navy-800); line-height:1 }
.pricebox .row .pct{ font-size:1rem; padding:.32rem .6rem; border-radius:9px }
.pricebox .listino{ font-size:1.25rem; color:var(--ink-50); text-decoration:line-through;
  text-decoration-thickness:2px; text-decoration-color:var(--ink-30); font-weight:650 }
.pricebox .ateneo-name{ font-weight:700; color:var(--navy-800); margin:.15rem 0 1.1rem }
.nosave{ background:var(--bg-tint); color:var(--ink-50); border-radius:10px; padding:.6rem .85rem;
  font-size:.83rem; font-weight:600; margin:.9rem 0 1.2rem }
.acc summary{ padding-left:1.25rem; border-radius:10px }
.acc summary:hover{ background:var(--bg-tint) }
.mini-stats b{ display:block; font-size:1.8rem; font-weight:800; color:var(--brand); line-height:1 }
.mini-stats span{ font-size:.82rem; color:var(--ink-50) }
.mobile-cta .btn{ background:var(--brand) }

/* ---------- animazioni d'ingresso, discrete ---------- */
.svela{ opacity:0; transform:translateY(12px);
  transition:opacity .45s ease, transform .45s ease }
.svela.vista{ opacity:1; transform:none }

.skip{ position:absolute; left:-9999px }
.skip:focus{ left:1rem; top:1rem; z-index:100; background:#fff; padding:.6rem 1rem;
  border-radius:8px }
:focus-visible{ outline:3px solid var(--brand); outline-offset:2px }

@media (max-width:900px){ .supporto-in{ grid-template-columns:1fr; gap:2rem } }
/* ---------- tablet e telefono: filtri in un pannello laterale ---------- */
@media (max-width:900px){
  /* ricerca: i filtri sono un pannello che entra dal lato */
  .cerca-lato{ padding-top:.7rem; gap:0; display:block }
  .filtri-barra{ display:flex; align-items:center; gap:.7rem; margin-bottom:.7rem }
  .filtri-toggle{ display:inline-flex; align-items:center; gap:.45rem;
    background:var(--navy-800); color:#fff; border:0; cursor:pointer; border-radius:999px;
    font:inherit; font-size:.9rem; font-weight:700; padding:.6rem 1.1rem }
  .filtri-toggle svg{ width:15px; height:15px }
  .fb-conta{ font-size:.9rem; color:var(--ink-50) }
  .fb-conta b{ color:var(--navy-800); font-weight:800 }
  .f-count{ display:none }

  .cerca-filtri{ position:fixed; top:0; right:0; bottom:0; z-index:130;
    width:min(88vw,370px); max-width:none; margin:0; border-radius:0;
    background:var(--navy-900); padding:0; gap:0; display:flex; flex-direction:column;
    transform:translateX(102%); transition:transform .28s cubic-bezier(.3,.8,.3,1);
    box-shadow:-20px 0 50px -20px rgba(0,0,0,.8); overflow:hidden }
  .cerca-filtri.aperto{ transform:none }
  .filtri-velo{ display:block; position:fixed; inset:0; z-index:120;
    background:rgba(10,6,12,.55); backdrop-filter:blur(2px) }
  .filtri-velo[hidden]{ display:none }
  body.con-pannello{ overflow:hidden }

  .filtri-testa{ display:flex; align-items:center; justify-content:space-between;
    padding:1rem 1.1rem; border-bottom:1px solid rgba(255,255,255,.14); flex:none }
  .filtri-testa b{ color:#fff; font-size:1.05rem; font-weight:750 }
  .filtri-chiudi{ display:grid; place-items:center; width:38px; height:38px; border-radius:50%;
    background:rgba(255,255,255,.12); border:0; color:#fff; cursor:pointer }
  .filtri-corpo{ display:grid; gap:1.2rem; padding:1.1rem; overflow-y:auto; flex:1;
    align-content:start }
  .filtri-applica{ display:flex; flex:none; margin:0; border-radius:0; width:100%;
    padding:1rem; font-size:1rem; --bg-btn:#fff; --fg-btn:var(--navy-900) }
  .cerca-filtri .chips{ flex-direction:column; flex-wrap:nowrap; overflow:visible }
  .cerca-filtri .chip{ width:100%; border-radius:10px; justify-content:space-between;
    padding:.7rem .85rem; font-size:.92rem }
  .cerca-filtri .f-block > label{ font-size:.66rem; margin-bottom:.5rem }
  .f-agev{ border-top:1px solid rgba(255,255,255,.14); padding-top:1rem }
  .area-attiva{ padding:.75rem .85rem .85rem }
}

/* ============================================================================
   VERSIONE MOBILE \2014  non un desktop rimpicciolito
   ============================================================================ */
@media (max-width:760px){
  /* barra di anteprima: solo il selettore di pelle */
  .notice-bar .wrap > span:first-child{ display:none }
  .notice-bar .wrap{ justify-content:center; padding-top:.5rem; padding-bottom:.5rem }
  .pelle-sel{ margin-left:0 }
  .pelle-sel button{ font-size:.75rem; padding:.28rem .7rem }

  /* striscia di servizio: una riga sola, telefono toccabile */
  .hdr-utility-in{ padding:.15rem 1rem; gap:.6rem; font-size:.72rem }
  .hu-voce{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
  .hu-tel{ white-space:nowrap; font-size:.84rem; padding:.7rem .4rem; min-height:44px }
  /* link del piede e dei testi: area di tocco decente */
  .ftr li a{ display:inline-block; padding:.3rem 0 }
  .ftr li{ margin-bottom:.15rem }
  .altri{ display:flex; justify-content:center; padding:.4rem 0 .6rem }
  .altri .btn{ width:100%; padding:.9rem 1rem }

  /* testata compatta e sempre visibile */
  #site-header{ position:sticky; top:0; z-index:80 }
  .hdr-in{ padding:.7rem 1rem }
  .logo svg{ width:30px; height:30px }
  .logo-parole b{ font-size:.98rem }
  .logo-parole span{ font-size:.54rem; letter-spacing:.18em }
  .burger{ width:44px; height:44px; display:grid; place-content:center; border-radius:10px;
    border:1px solid rgba(255,255,255,.28); background:transparent }
  /* menu a tendina: stesso fondo scuro della testata, non bianco su bianco */
  .nav{ position:absolute; inset:auto 0 auto 0; top:100%; z-index:90;
    background:var(--navy-900); box-shadow:0 18px 36px -18px rgba(0,0,0,.85);
    border-bottom:1px solid rgba(255,255,255,.14);
    padding:.5rem 1.1rem 1.2rem; max-height:calc(100vh - 100%); overflow-y:auto }
  .nav a{ padding:.9rem .3rem; font-size:1rem; color:#fff;
    border-bottom:1px solid rgba(255,255,255,.1) }
  .nav a:hover, .nav a.on{ background:transparent; color:#fff }
  .nav .drop-btn{ padding:.9rem .3rem; border-bottom:1px solid rgba(255,255,255,.1);
    font-size:1rem; color:#fff }
  .nav .drop-menu{ background:transparent; padding:.2rem 0 .4rem .8rem }
  .nav .drop-menu a{ padding:.7rem .3rem; border-bottom:0 }
  .nav .drop-menu b{ color:#fff; font-weight:600 }
  .nav .drop-menu span{ color:rgba(255,255,255,.55) }
  .nav .drop-menu a:hover{ background:rgba(255,255,255,.08) }
  .nav > .btn{ width:100%; padding:.95rem 1.2rem; font-size:1rem; margin-top:.9rem }
  .nav > .btn:not(.btn-ghost){ --bg-btn:#fff; --fg-btn:var(--navy-900) }
  .nav-login{ margin-left:0; --fg-btn:#fff; border-color:rgba(255,255,255,.35) }

  /* eroe: titolo leggibile, non gigante */
  .wrap{ padding-left:.9rem; padding-right:.9rem }
  .hero-corta .hero-centro{ padding:1.2rem 0 3.4rem }
  .hero-centro h1{ font-size:1.62rem; line-height:1.15; letter-spacing:-.03em }
  .hero-badge{ font-size:.74rem; padding:.35rem .8rem; margin-bottom:.9rem }
  .hero-centro .hero-note{ font-size:.8rem; gap:.25rem }
  .phero{ padding:1.4rem 0 1.8rem }
  .phero h1, .dhero-left h1{ font-size:1.55rem; line-height:1.18 }
  .phero .lede{ font-size:.95rem }
  .crumbs{ font-size:.78rem; flex-wrap:wrap }
  .crumbs a{ padding:.35rem 0; display:inline-block }
  .area-attiva a{ display:inline-block; padding:.45rem 0 .1rem }
  .dhero-left{ padding:1.4rem 1.1rem 1.8rem }
  .tagq{ font-size:.6rem; padding:.26rem .5rem }

  /* atenei: card compatte, quasi a tutta larghezza */
  .atenei-sovra{ margin-top:-2.4rem }
  .grid, .grid.g2, .grid.g3, .grid.g4{ grid-template-columns:1fr; gap:.8rem }
  .seg{ border-radius:14px }
  .seg-testa.con-logo{ min-height:0; padding:1.3rem 1rem .9rem }
  .seg-logo-img{ height:48px }
  .seg-logo-svg{ height:42px }
  .seg-ateneo .seg-body{ padding:.9rem 1rem 1rem }
  .seg-sconto{ margin-bottom:1rem }
  .seg-sconto b{ font-size:1.2rem }
  .seg-sconto span{ font-size:.8rem; max-width:none }
  .seg-cta{ padding:.85rem 1.2rem }

  /* fasce e sezioni: spazi stretti, niente aria sprecata */
  section{ padding:.6rem 0 }
  .fascia-numeri .wrap{ padding:1.1rem .9rem; gap:.8rem }
  .fascia-numeri{ margin-top:1.4rem }
  .fn b{ font-size:1.45rem }
  .fn span{ font-size:.66rem }
  .sec-head{ margin-bottom:1.1rem }
  .sec-head h2, .band h2{ font-size:1.4rem; line-height:1.2 }
  .sec-head .lede{ margin-top:.5rem }
  .lede{ font-size:.95rem }
  .perchi{ padding:1.6rem 0 .6rem }
  .pc{ padding:1rem 1.1rem; gap:.6rem }
  .pc-corpo i{ font-size:.85rem }
  .banda-cerca{ padding:.8rem 0 1.4rem }
  .banda-cerca-in{ padding:1.1rem }
  .banda-cerca .hero-search{ flex-wrap:wrap }
  .banda-cerca .hero-search .btn{ width:100% }
  .supporto-in{ padding:2.2rem 0 }
  .band{ padding:1.8rem 1.2rem }
  .band .btns{ flex-direction:column }
  .band .btns .btn{ width:100% }

  /* catalogo: card corso */
  .card{ border-radius:14px }
  .card-media{ aspect-ratio:16/7 }
  .card-body{ padding:.85rem 1rem 1rem }
  .card-foot{ flex-wrap:wrap; gap:.6rem; padding-top:.6rem }
  .f-count{ font-size:.9rem; margin-bottom:.8rem }
  .related{ padding-top:.4rem }
  .related .card:nth-child(n+3){ display:none }
  .related .sec-head{ margin-bottom:.9rem }

  /* barra di navigazione in basso */
  .barra-basso{ display:grid; grid-template-columns:repeat(4,1fr); position:fixed;
    left:0; right:0; bottom:0; z-index:100; background:var(--navy-900);
    border-top:1px solid rgba(255,255,255,.12);
    padding-bottom:env(safe-area-inset-bottom) }
  .barra-basso a{ display:flex; flex-direction:column; align-items:center; gap:.15rem;
    padding:.55rem 0 .5rem; color:rgba(255,255,255,.6); text-decoration:none;
    font-size:.66rem; font-weight:650; letter-spacing:.01em }
  .barra-basso a.on{ color:#fff }
  .barra-basso a.on svg{ color:#fff }
  .barra-basso svg{ width:21px; height:21px }
  body{ padding-bottom:66px }

  /* scheda corso: prima prezzo e pulsanti, poi i contenuti a fisarmonica */
  .detail{ display:flex; flex-direction:column; gap:.9rem; padding-top:1rem }
  .detail > *{ min-width:0; max-width:100% }
  .detail > div{ width:100% }
  .side{ display:contents }
  .side-card{ position:static; margin:0 }
  .side-card.pricebox{ order:-1; display:flex; flex-direction:column }
  .side-card:not(.pricebox){ order:9 }
  /* dentro la card prezzo: prima quanto costa, poi i pulsanti */
  .pricebox .fatti{ display:none }
  .pricebox > a.btn{ order:5 }
  .pricebox > a.btn + .btn{ order:6; margin-top:.6rem }
  .pricebox > .side-note{ order:7; margin-top:.8rem }
  .pricebox .bollo-verde{ margin-bottom:.7rem }
  .blocco{ padding:0 }
  .blocco > summary{ list-style:none; cursor:pointer; padding:.95rem 1rem;
    margin:0; border-bottom:0; display:flex; align-items:center; gap:.7rem }
  .blocco > summary::-webkit-details-marker{ display:none }
  .blocco > summary > svg:last-child{ display:block; margin-left:auto; flex:none;
    color:var(--ink-30); transition:transform .2s }
  .blocco[open] > summary{ border-bottom:1px solid var(--line-soft) }
  .blocco[open] > summary > svg:last-child{ transform:rotate(180deg) }
  .blocco > *:not(summary){ padding-left:1rem; padding-right:1rem }
  .blocco > *:not(summary):first-of-type{ padding-top:.9rem }
  .blocco > *:last-child{ padding-bottom:1rem }
  .blocco{ scroll-margin-top:calc(var(--h-testata, 106px) + 58px) }

  /* sotto-menu della scheda: resta sotto la testata e porta alla sezione */
  .sotto-menu{ display:flex; gap:.4rem; overflow-x:auto; scrollbar-width:none;
    position:sticky; top:var(--h-testata, 106px); z-index:60;
    background:#F2F3F5; margin:0 -.9rem .2rem; padding:.55rem .9rem;
    border-bottom:1px solid var(--line-soft) }
  .sotto-menu::-webkit-scrollbar{ display:none }
  .sotto-menu button{ flex:none; border:1px solid var(--line); background:#fff;
    border-radius:999px; padding:.5rem .9rem; font:inherit; font-size:.82rem;
    font-weight:650; color:var(--ink-70); cursor:pointer; white-space:nowrap }
  .sotto-menu button.on{ background:var(--navy-800); border-color:var(--navy-800); color:#fff }
  .blocco .dati-corso{ margin-left:1rem; margin-right:1rem; padding:0 }
  .blocco{ padding:1rem 1rem 1.05rem; margin-bottom:.8rem; border-radius:14px }
  .blocco-testa{ gap:.6rem; padding-bottom:.7rem; margin-bottom:.8rem }
  .blocco-ico{ width:34px; height:34px; border-radius:9px }
  .blocco-ico svg{ width:18px; height:18px }
  .blocco-testa h2{ font-size:1rem }
  .blocco p{ font-size:.94rem; line-height:1.6 }
  .blocco .elenco li{ font-size:.92rem; line-height:1.55 }
  .dati-corso{ margin-top:1rem }
  .dati-corso div{ padding:.7rem .8rem }
  .side-card{ padding:1.1rem }
  .fatti li{ padding:.5rem 0; font-size:.85rem }
  .acc summary{ font-size:.94rem }
  .related{ padding-bottom:1rem }
  .mobile-cta{ display:none }


  /* iscrizione */
  .iscr{ grid-template-columns:1fr; gap:1.2rem; padding:1.4rem 0 2rem }
  .iscr-form{ padding:1.2rem }
  .iscr-form .campi{ grid-template-columns:1fr }
  .iscr-form label{ min-width:0 }
  .iscr-form input, .iscr-form select, .iscr-form textarea{ font-size:16px; width:100%;
    max-width:100%; min-width:0 }
  .upsteps-card{ margin-top:-2rem; padding:1.2rem .9rem 1rem }
  .upstep > span{ font-size:.58rem; letter-spacing:.06em }
  .upsteps-lab{ font-size:.78rem }
  .iscr-promessa{ padding:1.2rem }

  /* iscrizione e riepilogo piu stretti */
  .iscr-form h2{ font-size:1.12rem; margin-bottom:.9rem }
  .iscr-form .campi{ gap:.75rem }

  /* fiducia e piede */
  .fiducia{ padding:1.6rem 0 }
  .fid-griglia{ gap:1rem }
  .recensioni{ margin-top:1.4rem; padding-top:1.2rem }
  .rec{ padding:.9rem 1rem }
  .supporto .ph-list li{ padding:.7rem .85rem; font-size:.9rem }
  .rec-testa{ flex-direction:column; gap:.4rem }
  .ftr{ padding-top:2.2rem }
  .ftr-grid{ grid-template-columns:1fr; gap:1.6rem }
  .ftr-bot{ flex-direction:column; gap:.5rem; text-align:center }
}
@media (max-width:400px){
  .hu-voce{ display:none }
  .hu-tel{ margin-left:0 }
  .hdr-utility-in{ justify-content:center }
}

@media (prefers-reduced-motion:reduce){
  *{ transition:none !important; animation:none !important }
  .svela{ opacity:1; transform:none }
  .seg:hover,.card:hover,.pc:hover,.btn:hover{ transform:none }
}

/* ---------- fascia fiducia + recensioni ---------- */
.fiducia{ background:#fff; border-top:1px solid var(--line); padding:clamp(2.4rem,4vw,3.4rem) 0 }
.fid-griglia{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.8rem }
.fid{ border-left:3px solid var(--brand); padding-left:1rem }
.fid b{ display:block; font-size:.98rem; font-weight:750; color:var(--navy-800);
  letter-spacing:-.015em; margin-bottom:.3rem }
.fid span{ display:block; font-size:.87rem; color:var(--ink-50); line-height:1.5 }
@media (max-width:900px){ .fid-griglia{ grid-template-columns:1fr 1fr; gap:1.3rem } }
@media (max-width:560px){ .fid-griglia{ grid-template-columns:1fr } }

.recensioni{ margin-top:clamp(2rem,3.5vw,2.8rem); padding-top:1.8rem;
  border-top:1px solid var(--line-soft) }
.rec-testa{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem;
  flex-wrap:wrap; margin-bottom:1.1rem }
.rec-testa b{ font-size:1.15rem; font-weight:750; color:var(--navy-800); letter-spacing:-.02em }
.rec-nota{ font-size:.76rem; font-weight:650; color:var(--ink-30); background:var(--bg-tint);
  border-radius:999px; padding:.28rem .7rem }
.rec{ background:var(--bg-tint); border:1px dashed var(--line); border-radius:var(--r);
  padding:1.1rem 1.2rem }
.rec-stelle{ color:#C9CFD6; font-size:1rem; letter-spacing:.12em; margin-bottom:.5rem }
.rec-vuota{ margin:0 0 .7rem; font-size:.88rem; color:var(--ink-50); line-height:1.5 }
.rec-chi{ font-size:.78rem; font-weight:650; color:var(--ink-30) }
.rec-dev{ margin:1.1rem 0 0; font-size:.8rem; color:var(--ink-50);
  background:var(--bg-tint); border:1px dashed var(--line); border-radius:10px;
  padding:.75rem .95rem }

/* piede: logo bianco, doppia pelle */
.ftr .logo-ftr svg{ color:#fff }
.ftr .logo-ftr .logo-parole b{ color:#fff }
.ftr .logo-ftr .logo-parole span{ color:rgba(255,255,255,.6) }
.ftr{ background:var(--navy-900) }

/* ---------- rifinitura: respiro e dettagli professionali ---------- */
.wrap{ max-width:1200px }
section{ padding:clamp(1rem,2vw,1.6rem) 0 }
.seg-body{ padding:1.6rem 1.7rem 1.7rem }
.seg-numeri{ gap:2rem; margin-bottom:1.15rem; padding-bottom:1.15rem;
  border-bottom:1px solid var(--line-soft) }
.cat-mini{ gap:.4rem; margin-bottom:1.25rem }
/* card corso piu compatte: meno immagine, meno aria, prezzo in una riga */
.card-media{ aspect-ratio:16/7 }
.card-body{ padding:1rem 1.2rem 1.1rem }
.card-body h3{ font-size:1.05rem; line-height:1.25; margin-bottom:.35rem }
.card-abs{ font-size:.86rem; margin:0 0 .7rem; line-height:1.45;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden }
.card .area-tag{ font-size:.64rem; margin-bottom:.3rem }
.card .meta-row{ gap:.3rem; margin-bottom:.7rem }
.card .pill{ padding:.22rem .55rem; font-size:.73rem }
.card-foot{ padding-top:.7rem; align-items:center }
.card .price-mini{ flex-direction:row; align-items:baseline; flex-wrap:wrap; gap:.4rem }
.card .price-mini .old{ order:1; font-size:.78rem }
.card .price-mini .new{ order:0; font-size:1.32rem }
.card .price-mini .cnv{ order:2; width:100%; margin-top:-.1rem; font-size:.62rem }
.card .chip-area{ font-size:.66rem; padding:.24rem .6rem }
.card .chip-cat{ font-size:.66rem; padding:.22rem .6rem }
.grid{ gap:1.6rem }
.perchi .grid{ gap:1.4rem }
.pc{ padding:1.5rem 1.5rem 1.35rem; gap:1rem }
.sec-head{ margin-bottom:2.2rem }
.f-count{ margin:0 0 1.3rem; font-size:.95rem }
.f-count b{ font-size:1.05rem }
.ftr{ padding-top:3.2rem }
.detail{ padding-top:2.6rem }
.block{ margin-bottom:2.4rem }

/* dentro un'area: intestazione con ritorno */
.area-attiva{ display:grid; gap:.15rem; padding:.9rem 1rem 1rem;
  background:var(--azure-100); border-radius:12px; margin-bottom:.3rem }
.area-attiva span{ font-size:.68rem; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink-30) }
.area-attiva b{ font-size:1.05rem; font-weight:800; letter-spacing:-.02em;
  color:var(--navy-800) }
.area-attiva a{ font-size:.8rem; font-weight:650; color:var(--brand);
  text-decoration:none; margin-top:.2rem }
.area-attiva a:hover{ text-decoration:underline }

/* bollino "Convenzione attiva": pastiglia tonda, verde acceso */
.dhero-bolli{ display:flex; flex-wrap:wrap; gap:.55rem; align-items:center;
  margin:0 0 1.1rem }
.bollo-verde{ display:inline-flex; align-items:center; gap:.5rem;
  background:#0A9257; color:#fff; border-radius:999px; padding:.42rem 1rem .42rem .45rem;
  font-size:.82rem; font-weight:750; letter-spacing:-.01em;
  box-shadow:0 6px 16px -8px rgba(10,146,87,.75) }
.bollo-verde svg{ width:13px; height:13px; stroke-width:3.4 }
.bollo-verde > svg{ width:20px; height:20px; padding:3.5px; border-radius:50%;
  background:rgba(255,255,255,.25); box-sizing:border-box }
.pricebox .bollo-verde{ margin-bottom:1rem }
.pricebox .lab{ display:block }

/* ---------- per chi: una sola linea grafica, sobria ---------- */
.pc-testa{ display:flex; align-items:center; gap:.6rem }
.pc .pc-ico{ background:transparent; border:1px solid var(--line); color:var(--navy-800);
  width:44px; height:44px; border-radius:11px }
.pc .pc-ico svg{ width:22px; height:22px; stroke-width:1.7 }
.pc .pc-n{ color:var(--brand) }
.pc:hover{ box-shadow:0 2px 4px rgba(24,8,15,.05), 0 20px 40px -20px rgba(24,8,15,.25) }
.pc:hover .pc-ico{ border-color:var(--brand); color:var(--brand) }
.pc::after{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--brand); border-radius:3px 0 0 3px; opacity:0; transition:opacity .2s }
.pc{ position:relative }
.pc:hover::after{ opacity:1 }

/* ---------- scheda corso a blocchi ---------- */
.blocco{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:1.5rem 1.7rem; margin-bottom:1.3rem }
.blocco-testa{ display:flex; align-items:center; gap:.7rem; margin-bottom:1rem }
/* icone dei blocchi: una sola linea, sobria, nel colore del sito */
.blocco-ico{ width:38px; height:38px; flex:none; border-radius:10px; display:grid;
  place-items:center; background:transparent; border:1px solid var(--line);
  color:var(--navy-800) }
.blocco-ico svg{ width:20px; height:20px; stroke-width:1.7 }
.blocco-testa{ padding-bottom:.9rem; border-bottom:1px solid var(--line-soft) }
.blocco-testa h2{ margin:0; font-size:1.08rem; letter-spacing:-.02em; font-weight:700 }
/* testo della scheda corso: gerarchia e respiro */
.blocco p{ max-width:none; font-size:.98rem; line-height:1.65; color:var(--ink-70);
  margin:0 0 .85rem }
.blocco p:last-child{ margin-bottom:0 }
.blocco p.lead{ font-size:1.06rem; line-height:1.6; color:var(--ink); font-weight:500 }
.blocco b{ color:var(--ink); font-weight:700 }
.blocco .elenco{ list-style:none; margin:0; padding:0; display:grid; gap:.75rem }
.blocco .elenco li{ display:flex; gap:.7rem; align-items:flex-start;
  font-size:.96rem; line-height:1.6; color:var(--ink-70) }
.blocco .elenco svg{ flex:none; margin-top:.35rem; color:#0A9257; width:15px; height:15px }
.blocco .elenco b{ color:var(--ink) }
.acc summary{ font-size:.98rem }
.acc-body{ font-size:.95rem; line-height:1.6 }
.dhero-left h1{ max-width:none }
.dhero-left{ max-width:1200px }
/* dati del corso: striscia sobria con separatori, niente riquadri colorati */
.dati-corso{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:0; margin:1.4rem 0 0; border:1px solid var(--line); border-radius:12px;
  overflow:hidden; background:#fff }
.dati-corso div{ background:transparent; padding:.85rem 1rem;
  border-left:1px solid var(--line-soft) }
.dati-corso div:first-child{ border-left:0 }
.dati-corso dt{ font-size:.66rem; letter-spacing:.09em; text-transform:uppercase;
  color:var(--ink-50); font-weight:700 }
.dati-corso dd{ margin:.25rem 0 0; font-weight:700; color:var(--ink); font-size:.98rem }
@media (max-width:620px){
  .dati-corso{ grid-template-columns:1fr 1fr }
  .dati-corso div{ border-top:1px solid var(--line-soft) }
  .dati-corso div:nth-child(-n+2){ border-top:0 }
  .dati-corso div:nth-child(odd){ border-left:0 }
}
.detail .block{ background:transparent; border:0; padding:0 }

/* ---------- stepper iscrizione: pallini numerati stile UniPegaso ---------- */
.upsteps-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:1.6rem 1.2rem 1.35rem; margin-top:-2.8rem; position:relative; z-index:5;
  box-shadow:var(--sh-2) }
.upsteps{ list-style:none; display:flex; margin:0; padding:0 }
.upstep{ flex:1; text-align:center; position:relative; padding:0 .4rem }
.upstep::before{ content:"" !important; position:absolute; top:19px; right:50%; width:100%;
  height:3px; background:var(--line); border-radius:2px }
.upstep:first-child::before{ content:none !important }
.upstep.fatto::before, .upstep.on::before{ background:#0A9257 }
.upstep::before{ height:2px; top:15px }
.upstep i{ position:relative; z-index:2; width:32px; height:32px; margin:0 auto;
  border-radius:50%; background:#fff; border:2px solid var(--line); box-sizing:border-box;
  display:grid; place-items:center; font-style:normal; font-weight:750; font-size:.85rem;
  color:var(--ink-30) }
.upstep.on i{ background:#fff; border-color:#0A9257; color:#0A9257;
  box-shadow:0 0 0 4px #E5F4EE }
.upstep.fatto i{ background:#0A9257; border-color:#0A9257; color:#fff; font-size:0 }
.upstep.fatto i::after{ content:""; width:11px; height:6px; border-left:2.4px solid #fff;
  border-bottom:2.4px solid #fff; transform:rotate(-45deg) translate(1px,-1px) }
.upstep > span{ display:block; margin-top:.6rem; font-size:.7rem; font-weight:750;
  letter-spacing:.09em; text-transform:uppercase; color:var(--ink-30) }
.upstep.on > span{ color:#0A6B4C }
.upstep.fatto > span{ color:#0A6B4C }
.upsteps-lab{ text-align:center; font-size:.82rem; color:var(--ink-50); margin:1rem 0 0 }
@media (max-width:560px){
  .upstep > span{ font-size:.66rem }
  .upstep i{ width:32px; height:32px; font-size:.85rem }
  .upstep::before{ top:16px }
}

.iscr-promessa{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:1.5rem 1.6rem; position:sticky; top:1.2rem }
.iscr-promessa h3{ margin:.9rem 0 .5rem; font-size:1.2rem; letter-spacing:-.02em }
.iscr-promessa p{ font-size:.95rem; color:var(--ink-70); margin:0 0 .8rem }
.iscr-promessa .micro{ font-size:.8rem; color:var(--ink-30); margin:0 }


/* ============================================================================
   LIVELLO CONFORMITA - Linee guida digitali per i Poli di orientamento.
   1) in testata solo il marchio del Polo   2) palette propria
   3) loghi degli atenei solo in sezione secondaria e piu piccoli
   4) dicitura di Polo e avviso in ogni pagina che nomina un ateneo
   ============================================================================ */

/* --- marchio del Polo: bussola + nome + qualifica --- */
.logo-link{ display:flex; align-items:center; text-decoration:none }
.logo-link:hover{ text-decoration:none }
.logo-parole b{ font-size:1.02rem; letter-spacing:-.032em; white-space:nowrap }
.logo-parole span{ font-size:.58rem; letter-spacing:.2em }
@media (max-width:420px){
  .logo-parole b{ font-size:.86rem }
  .logo-parole span{ font-size:.5rem; letter-spacing:.16em }
  .logo svg{ width:30px; height:30px }
}
/* qualifica sempre visibile nella striscia di servizio */
.hu-ruolo{ display:inline-flex; align-items:center; white-space:nowrap;
  background:rgba(255,255,255,.14); color:#fff; font-weight:700; font-size:.72rem;
  letter-spacing:.02em; border-radius:999px; padding:.24rem .7rem }
@media (max-width:760px){ .hu-ruolo{ font-size:.66rem; padding:.2rem .55rem } }


/* --- marchio del Polo: logo Nurse24 + nome del servizio --- */
.logo img.logo-polo{ height:21px; width:auto; display:block; flex:none }
.logo-riga{ width:1px; height:26px; background:rgba(255,255,255,.26); flex:none }
.logo-cu{ gap:.7rem }
@media (max-width:900px){
  .logo img.logo-polo{ height:19px }
  .logo-riga{ height:23px }
  .logo-cu{ gap:.6rem }
}
/* sotto i 480 px in testata resta il solo marchio del Polo: la qualifica
   e comunque nella pastiglia della striscia di servizio, sopra */
@media (max-width:480px){
  .logo-cu .logo-parole, .logo-cu .logo-riga{ display:none }
  .logo img.logo-polo{ height:23px }
}

/* --- eroe: invariato, cambia solo la pastiglia --- */
.hero-centro .hero-lede{ max-width:60ch; margin:1.1rem auto 0; font-size:1.02rem;
  line-height:1.62; color:rgba(255,255,255,.86) }
.hero-btns{ display:flex; gap:.7rem; justify-content:center; flex-wrap:wrap; margin-top:1.6rem }
.hero-centro .hero-note{ color:rgba(255,255,255,.62) }
.pelle-ecampus .hero-centro .hero-note{ color:rgba(255,255,255,.62) }
@media (max-width:560px){
  .hero-centro .hero-lede{ font-size:.95rem; line-height:1.55 }
  .hero-btns{ flex-direction:column; align-items:stretch }
  .hero-btns .btn{ justify-content:center }
}


/* --- striscia "In convenzione con": garanzia visibile, peso grafico minimo --- */
.in-conv{ background:#fff; border-bottom:1px solid var(--line); padding:.95rem 0 }
.ic-in{ display:flex; align-items:center; gap:1.6rem; flex-wrap:wrap }
.ic-eti{ font-size:.7rem; font-weight:750; letter-spacing:.11em; text-transform:uppercase;
  color:var(--ink-30); white-space:nowrap }
.ic-loghi{ display:flex; align-items:center; gap:2rem; flex-wrap:wrap }
.ic-loghi img{ height:25px; width:auto; object-fit:contain }
.ic-svg svg{ height:23px; width:auto }
.ic-nome{ font-size:.9rem; font-weight:700; color:var(--ink-70) }
.ic-link{ margin-left:auto; font-size:.82rem; font-weight:700; color:var(--brand);
  display:inline-flex; align-items:center; gap:.35rem; white-space:nowrap }
.ic-link:hover{ text-decoration:underline }
@media (max-width:860px){
  .ic-in{ justify-content:center; gap:.9rem }
  .ic-loghi{ gap:1.5rem; justify-content:center; width:100% }
  .ic-loghi img{ height:22px }
  .ic-svg svg{ height:20px }
  .ic-link{ margin-left:0 }
}
@media (max-width:420px){
  .ic-loghi{ gap:1.1rem }
  .ic-loghi img{ height:19px }
}

/* --- chi siamo in home: il soggetto del sito e il Polo --- */
.chi-polo{ background:#fff }
.chi-polo-in{ display:grid; grid-template-columns:minmax(0,300px) minmax(0,1fr);
  gap:clamp(1.6rem,4vw,3.4rem); align-items:center }
.chi-polo-segno{ background:linear-gradient(155deg, var(--brand), var(--navy-800));
  border-radius:var(--r-lg); padding:1.6rem 1.4rem; color:#fff }
.chi-polo-segno p{ margin:0 0 1.1rem; font-size:.7rem; font-weight:750; letter-spacing:.12em;
  text-transform:uppercase; color:rgba(255,255,255,.72) }
.chi-polo-segno ol{ list-style:none; margin:0; padding:0; display:grid; gap:.9rem;
  counter-reset:pp }
.chi-polo-segno li{ display:flex; gap:.7rem; align-items:flex-start; font-size:.88rem;
  line-height:1.4; color:rgba(255,255,255,.92) }
.chi-polo-segno li::before{ counter-increment:pp; content:counter(pp); flex:none;
  width:24px; height:24px; border-radius:50%; background:rgba(255,255,255,.16);
  display:grid; place-items:center; font-size:.75rem; font-weight:750; color:#fff }
.chi-polo h2{ font-size:clamp(1.5rem,2.6vw,2rem); margin:.2rem 0 .8rem }
.chi-polo .lede{ margin-bottom:1.2rem }
.chi-polo .ticks{ margin-bottom:1.4rem }
@media (max-width:820px){
  .chi-polo-in{ grid-template-columns:minmax(0,1fr) }
  .chi-polo-segno{ display:none }
}

/* --- offerta formativa: sezione secondaria, loghi ridotti --- */
.offerta .seg-testa.con-logo{ min-height:96px; padding:1.5rem 1.4rem 1rem }
.offerta .seg-logo-img{ height:38px; max-width:78% }
.offerta .seg-logo-svg{ height:34px; max-width:80% }
.offerta .seg-sconto b{ font-size:1.16rem; color:#0A6B4C }
.offerta .seg-sconto span{ font-size:.82rem }
@media (max-width:760px){
  .offerta .seg-logo-img{ height:34px }
  .offerta .seg-testa.con-logo{ min-height:0; padding:1.2rem 1rem .8rem }
}

/* --- nota di qualificazione accanto ai riferimenti agli atenei --- */
.nota-polo{ display:flex; gap:.6rem; align-items:flex-start; margin:1.6rem auto 0;
  max-width:76ch; padding:.85rem 1rem; border:1px solid var(--line);
  border-radius:12px; background:#fff; color:var(--ink-50); font-size:.84rem;
  line-height:1.55 }
.nota-polo svg{ flex:none; margin-top:.15rem; color:var(--ink-30) }
.micro-fonte{ margin:1rem 0 0; font-size:.82rem; color:var(--ink-50); font-style:italic }

/* avviso sulle testate scure */
.phero-avviso{ margin:1.5rem 0 0; font-size:.8rem; line-height:1.5;
  color:rgba(255,255,255,.66); max-width:74ch;
  border-left:2px solid rgba(255,255,255,.3); padding-left:.8rem }
.phero-sotto{ margin:.9rem 0 0; font-size:1rem; color:rgba(255,255,255,.86) }
.phero-sotto b{ color:#fff }
.crumb-ora{ color:rgba(255,255,255,.72) }
.ftr-avviso{ margin:2rem 0 0; padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.12);
  font-size:.8rem; line-height:1.6; color:rgba(255,255,255,.6); max-width:86ch }

/* --- scheda corso: testata propria, non ripresa dai portali ufficiali --- */
.chero{ background:var(--navy-800); color:#fff; position:relative; isolation:isolate;
  padding:clamp(1.4rem,3vw,2rem) 0 clamp(1.8rem,3.4vw,2.6rem) }
.chero h1{ color:#fff; font-size:clamp(1.55rem,3.1vw,2.35rem); line-height:1.1;
  letter-spacing:-.035em; margin:.2rem 0 0; max-width:26ch }
.chero a{ color:#fff }
.chero .tagq{ background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.22);
  color:#fff }
.chero .crumbs{ margin-bottom:.9rem }
.chero .dhero-tags{ margin:0 0 .5rem }
.chero-dati{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:0; margin:1.5rem 0 0; border:1px solid rgba(255,255,255,.16); border-radius:12px;
  overflow:hidden; background:rgba(255,255,255,.05) }
.chero-dati > div{ padding:.8rem 1rem; border-left:1px solid rgba(255,255,255,.13) }
.chero-dati > div:first-child{ border-left:0 }
.chero-dati dt{ font-size:.64rem; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.62); font-weight:700 }
.chero-dati dd{ margin:.28rem 0 0; font-weight:700; font-size:.95rem; color:#fff }
@media (max-width:700px){
  .chero-dati{ grid-template-columns:1fr 1fr }
  .chero-dati > div{ border-top:1px solid rgba(255,255,255,.13) }
  .chero-dati > div:nth-child(-n+2){ border-top:0 }
  .chero-dati > div:nth-child(odd){ border-left:0 }
  .chero-dati > div:last-child:nth-child(odd){ grid-column:1/-1 }
}

/* --- colonna quota: prima il prezzo, poi le azioni, poi cosa e incluso --- */
.pb-tit{ margin:0 0 .9rem; font-size:1.05rem; letter-spacing:-.02em;
  padding-bottom:.8rem; border-bottom:1px solid var(--line) }
.pricebox .side-note{ margin:.9rem 0 1.2rem }
.incluso{ list-style:none; margin:1.2rem 0 0; padding:1.1rem 0 0; display:grid; gap:.6rem;
  border-top:1px solid var(--line) }
.incluso li{ display:flex; gap:.55rem; align-items:flex-start; font-size:.85rem;
  color:var(--ink-70); line-height:1.45 }
.incluso svg{ flex:none; margin-top:.15rem; color:#0A9257; width:14px; height:14px }

/* su mobile la card quota resta la prima cosa utile */
@media (max-width:760px){
  .pricebox .incluso{ display:none }
  .phero-avviso{ font-size:.76rem }
  .nota-polo{ font-size:.8rem }
}

