/* Stile CALDO condiviso per le pagine interne (estratto da index-caldo.html).
   Le pagine caricano app.css (base) + questo file. */
:root{--sans:"Wix Madefor Display","Inter","Helvetica Neue",Arial,sans-serif;--serif:"Wix Madefor Display","Inter",Arial,sans-serif;
--navy:#002855;--navy-2:#001f42;--accent:#FBCE0D;--paper:#F4F6F9;--paper-2:#E9EDF3;--line:#E1E6EC;--warm:#FBF7EF}
.top{background:var(--navy);border-bottom:0}
.brand__logo{display:none}
.brand__divider{background:#fff;opacity:.35}
.nav a.navlink{color:#fff}
.nav a.navlink::after{background:var(--accent)}
.nav a.navlink.on{color:var(--accent)}
.btn{border-radius:96px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800;padding:15px 26px}
.btn--solid{background:var(--accent);color:var(--navy);border:0}
.btn--light{background:var(--accent);color:var(--navy);border:0}
.btn--outline-light{border:2px solid #fff;color:#fff;background:transparent}
.eyebrow{color:var(--navy)}
.sect{padding:88px 0}
.sect--paper{background:var(--paper)}
.sect--warm{background:var(--warm)}
.sect h2{font:800 32px/1.25 var(--sans);color:var(--navy);margin:0 0 14px;max-width:760px;position:relative;padding-bottom:16px}
.sect h2::after{content:"";position:absolute;left:0;bottom:0;width:64px;height:5px;background:var(--accent);border-radius:3px}
.sect .lead{color:var(--muted);max-width:680px;margin:0 0 8px;font-size:18px;line-height:1.65}
.tri{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:34px}
.tri .card{background:var(--white,#fff);border:1px solid var(--line);padding:34px 30px;border-radius:12px;box-shadow:0 10px 30px rgba(0,31,66,.06);transition:transform .2s,box-shadow .2s}
.tri .card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(0,31,66,.12)}
.tri .card h3{font:700 21px/1.3 var(--sans);color:var(--navy);margin:0 0 12px}
.tri .card p{margin:0;color:var(--muted);font-size:15.5px}
.tri .card .pill{display:inline-block;font:700 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--navy);background:var(--accent);padding:6px 14px;border-radius:96px;margin-bottom:14px}
.tri .card .cred{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font:600 12px/1.5 var(--sans);letter-spacing:.04em;color:var(--muted)}
.dates{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:34px}
.dates .card{background:var(--white,#fff);border:1px solid var(--line);padding:32px 30px;border-radius:12px;box-shadow:0 10px 30px rgba(0,31,66,.06)}
.dates .card h3{font:700 19px/1.3 var(--sans);color:var(--navy);margin:0 0 8px}
.dates .card .tag{display:inline-block;font:700 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--navy);background:var(--accent);padding:6px 14px;border-radius:96px;margin-bottom:14px}
.dates .card p{color:var(--muted);margin:0}
.mentorbox{background:var(--navy);color:#fff;padding:64px 56px;border-radius:16px;display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:center}
.mentorbox h2{color:#fff;font:800 30px/1.3 var(--sans);margin:0 0 16px;padding:0}
.mentorbox h2::after{display:none}
.mentorbox p{color:#c7d3de;margin:0 0 12px}
.mentorbox ul{margin:0;padding-left:20px;color:#c7d3de}
.mentorbox ul li{margin-bottom:10px}
.honest{border-left:3px solid var(--accent);background:#FFF9E3;padding:22px 26px;margin-top:30px;font-size:15.5px;color:var(--ink,#12212f);max-width:820px;border-radius:0 12px 12px 0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:34px;counter-reset:step}
.steps .card{background:var(--white,#fff);border:1px solid var(--line);padding:30px 26px;position:relative;border-radius:12px;box-shadow:0 10px 30px rgba(0,31,66,.06)}
.steps .card::before{counter-increment:step;content:counter(step);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;font:800 20px/1 var(--sans);color:var(--navy);background:var(--accent);margin-bottom:14px}
.steps .card h3{font:700 17px/1.35 var(--sans);color:var(--navy);margin:0 0 8px}
.steps .card p{margin:0;color:var(--muted);font-size:14.5px}
footer.premed{background:var(--navy);color:#9fb1c1;padding:56px 0;font-size:14px}
footer.premed a{color:#d7e2ec}
footer.premed a:hover{color:var(--accent)}
footer.premed .fl{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:18px}
html{scroll-behavior:smooth}
::selection{background:var(--accent);color:var(--navy)}

/* Testata di pagina interna: navy + foto */
.page-hero{position:relative;min-height:52vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--navy)}
.page-hero::before{content:"";position:absolute;inset:0;background:var(--ph,none) center 35%/cover no-repeat}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,20,42,.55) 0%,rgba(0,26,52,.05) 55%),linear-gradient(90deg,rgba(0,26,52,.72) 0%,rgba(0,31,66,.40) 46%,rgba(0,40,85,.05) 100%)}
.page-hero .wrap{position:relative;z-index:2;padding-top:120px;padding-bottom:64px;max-width:none;margin:0;padding-left:24px;padding-right:32px}
.page-hero .eyebrow{color:var(--accent);font:800 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;margin:0 0 18px}
.page-hero h1{font:800 clamp(30px,4.2vw,52px)/1.1 var(--sans);color:#fff;margin:0 0 18px;max-width:600px;text-shadow:0 2px 18px rgba(0,20,40,.6)}
.page-hero h1 em{font-style:normal;color:var(--accent)}
.page-hero .lead{color:#e6edf4;max-width:480px;font-size:18px;line-height:1.6;margin:0;text-shadow:0 1px 14px rgba(0,20,40,.55)}

/* Settimana tipo */
.week{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:34px}
.week .day{background:var(--white,#fff);border:1px solid var(--line);border-radius:12px;padding:22px 18px;box-shadow:0 10px 30px rgba(0,31,66,.06)}
.week .day b{display:inline-block;font:800 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--navy);background:var(--accent);padding:6px 12px;border-radius:96px;margin-bottom:12px}
.week .day p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}

/* FAQ */
.faq{margin-top:30px;max-width:860px}
.faq details{background:var(--white,#fff);border:1px solid var(--line);border-radius:12px;margin-bottom:14px;box-shadow:0 8px 24px rgba(0,31,66,.05)}
.faq summary{cursor:pointer;list-style:none;font:700 17px/1.4 var(--sans);color:var(--navy);padding:20px 24px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:22px;top:16px;font:800 24px/1 var(--sans);color:var(--accent)}
.faq details[open] summary::after{content:"−"}
.faq .a{padding:0 24px 22px;color:var(--muted);font-size:15.5px;line-height:1.65}

/* Burger su header navy */
.nav__burger span{background:#fff}

/* Form lead */
.leadform{max-width:640px;margin:30px auto 0;text-align:left}
.leadform .frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.leadform label{display:block;font:700 13px/1.4 var(--sans);color:var(--navy);letter-spacing:.04em;margin:16px 0 6px}
.leadform input,.leadform select,.leadform textarea{width:100%;box-sizing:border-box;font:400 16px/1.5 var(--sans);color:#12212f;background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:13px 14px;transition:border-color .15s}
.leadform input:focus,.leadform select:focus,.leadform textarea:focus{outline:none;border-color:var(--navy)}
.leadform textarea{min-height:110px;resize:vertical}
.leadform .btn{margin-top:22px;cursor:pointer;border:0}
.leadform .fnote{font:400 13px/1.5 var(--sans);color:var(--muted);margin-top:14px}
.leadform .fok{display:none;background:#EDF7EE;border-left:3px solid #2E7D32;border-radius:0 12px 12px 0;padding:22px 26px;font:600 17px/1.5 var(--sans);color:#1b4d1e}
.leadform.sent form{display:none}
.leadform.sent .fok{display:block}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
@media(max-width:900px){.tri,.dates{grid-template-columns:1fr}.mentorbox{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.week{grid-template-columns:1fr 1fr}.leadform .frow{grid-template-columns:1fr}}

/* Foto di sezione (cernita 17/08) */
.photofig{margin:36px 0 0;max-width:760px}
.photofig img{width:100%;display:block;border-radius:4px}
.photofig figcaption{font:400 14.5px/1.55 var(--sans);color:var(--muted);padding:10px 2px 0}
