/*
Theme Name: MyoLab
Template: twentytwentyfive
Description: Tema figlio leggero per MyoLab Garlasco (stile B). Blocchi nativi, font in locale.
Version: 1.0.0
Text Domain: myolab
*/

:root{--n:#17324a;--p:#2c6997;--a:#5588c7;--l:#aec5e4;--g:#bcab25;--bg:#f4f7fb;--t:#3c4650;--line:#e3eaf3}
html{scroll-behavior:smooth;scroll-padding-top:90px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--p);text-underline-offset:.15em}
:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--g);outline-offset:3px}
.mh :focus-visible,.hero :focus-visible,.cta :focus-visible,.mf :focus-visible{outline-color:#fff}
.wp-site-blocks>*+*{margin-block-start:0}
.wp-block-post-content>*{margin-block:0}

/* layout */
.wrap{max-width:1220px;margin-inline:auto;padding-inline:24px}
.sec{padding-block:88px}.sec.soft{background:var(--bg)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.eyebrow{font:700 13px Lato,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--p);margin:0 0 10px}
h2.big{font-size:clamp(30px,4vw,44px)}
.lead{font-size:20px;max-width:44em}
.narrow{max-width:820px}
.sec :where(ul,ol){padding-left:1.3em}

/* header */
.mh{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.mh .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.mh .logo img{height:46px;width:auto;display:block}
.mh .wp-block-navigation{font:700 15px Lato,sans-serif}
.mh .wp-block-navigation a{color:var(--n);text-decoration:none}
.mh .wp-block-navigation a:hover{color:var(--p)}
.mh .wp-block-navigation__submenu-container{border:1px solid var(--line);padding:6px}
.mh .cta-d{display:none}
@media (min-width:1000px){.mh .cta-d{display:inline-block}}
@media (min-width:600px) and (max-width:999px){
 .mh .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex}
 .mh .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:none}
}
.pill,.wp-block-button__link{display:inline-block;border-radius:999px;padding:14px 28px;font:700 16px Lato,sans-serif;text-decoration:none;background:var(--g);color:var(--n);border:2px solid var(--g);transition:background .2s}
.pill:hover,.wp-block-button__link:hover{background:#cdbc38;color:var(--n)}
.pill.sm{padding:10px 20px;font-size:15px}
.is-style-outline>.wp-block-button__link,.pill.o{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.pill.p,.wp-block-button.p .wp-block-button__link{background:var(--p);border-color:var(--p);color:#fff}
.pill.p:hover,.wp-block-button.p .wp-block-button__link:hover{background:var(--n);color:#fff}
.wp-block-buttons{gap:10px;margin-top:22px}

/* hero (home + pagine) */
.hero{background:var(--n);color:#dbe6f2;position:relative;overflow:hidden}
.hero .arcs{position:absolute;right:-40px;bottom:-60px;width:560px;opacity:.10;pointer-events:none}
.hero .wrap{position:relative;padding-block:72px}
.hero.home .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(34px,4.6vw,56px);color:#fff}
.hero .tagline{font:italic 600 24px/1.3 "Source Serif 4",Georgia,serif;color:var(--g);margin:0 0 14px}
.hero p{font-size:20px;max-width:32em}
.hero .eyebrow{color:var(--l)}
.hero .ph-img{position:relative}.hero .ph-img figure{margin:0}
.hero .ph-img img{position:relative;z-index:1;border-radius:22px;aspect-ratio:4/3.4;object-fit:cover;width:100%;object-position:50% 30%}
.hero .ph-img:before{content:"";position:absolute;inset:auto -18px -18px auto;width:60%;height:60%;border:3px solid var(--g);border-radius:22px}
.hero.page .wrap{padding-block:56px}
.hero .crumbs,.hero .crumbs a{color:var(--l)}
.crumbs{font-size:14px;margin:0 0 18px}
.stats{display:flex;gap:36px;margin-top:34px;padding:0;list-style:none}
.stats b{display:block;font:600 34px "Source Serif 4",serif;color:var(--g)}
.stats span{font-size:14px;color:#dbe6f2}

/* cards, team, reviews */
.area{border-radius:20px;overflow:hidden;background:var(--bg);display:flex;flex-direction:column}
.area figure{margin:0}.area img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}
.area .body{padding:24px 26px 28px}.area h3{font-size:26px}
.area ul{list-style:none;margin:12px 0 0;padding:0}
.area li{padding:8px 0;border-top:1px solid #dbe5f1;font-size:16px}
.tm{display:flex;gap:16px;align-items:center;background:#fff;border-radius:18px;padding:14px;border:1px solid var(--line)}
.tm h3{font:700 17px Lato,sans-serif;margin:0}.tm p{margin:0;font-size:15px}.tm a{text-decoration:none;color:var(--n)}
.rev blockquote{margin:0;background:var(--n);color:#fff;border-radius:18px;padding:26px;font:italic 400 19px/1.5 "Source Serif 4",Georgia,serif;height:100%}
.rev blockquote:before{content:"\201C";display:block;font:700 60px/1 "Source Serif 4",serif;color:var(--g);height:30px}
.rev p{margin:0;color:#fff}.rev cite{display:block;margin-top:16px;font:700 14px Lato,sans-serif;font-style:normal;color:var(--g)}
.photo{margin:0}.photo img{border-radius:22px;aspect-ratio:4/5;object-fit:cover;width:100%;display:block}.photo.team img{aspect-ratio:3/2}
.gal{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gal figure{margin:0}.gal figure:first-child{grid-column:span 2}
.gal img{border-radius:18px;aspect-ratio:4/3;object-fit:cover;width:100%;display:block}
.gal figure:first-child img{aspect-ratio:16/9}
.box{background:#fff;border-radius:20px;padding:34px;border:1px solid var(--line)}
.hours table{width:100%;border-collapse:collapse}.hours th,.hours td{text-align:left;padding:10px 8px;border:0;border-top:1px solid var(--line);font-size:16px;vertical-align:top}
.hours th{color:var(--n);border-top:0}.hours{margin:18px 0}
.cta{background:var(--p);color:#fff;text-align:center;padding-block:64px}.cta h2{color:#fff}.cta p{color:#fff}
.map-ph{background:#e8eef6;border-radius:20px;padding:34px;min-height:280px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.steps{counter-reset:s;list-style:none;padding:0}.steps li{counter-increment:s;padding:14px 0 14px 54px;position:relative;border-top:1px solid var(--line)}
.steps li:before{content:counter(s);position:absolute;left:0;top:12px;width:36px;height:36px;border-radius:50%;background:var(--n);color:#fff;font:700 16px/36px Lato,sans-serif;text-align:center}

/* FAQ (details nativo, accessibile da tastiera) */
.wp-block-details{border-top:1px solid var(--line);padding:0}
.wp-block-details summary{cursor:pointer;font:700 18px Lato,sans-serif;color:var(--n);padding:16px 0}
.wp-block-details>*:not(summary){margin-bottom:16px}

/* segnaposto visibili solo su staging: da risolvere prima del go-live */
mark.tbc{background:#fff8c5;color:#5a4d00;border:1px dashed #b39b00;padding:1px 6px;font-size:.85em;border-radius:3px}

/* footer */
.mf{background:var(--n);color:#c9d6e4;padding-block:48px 32px;font-size:15px}
.mf a{color:#fff}.mf img{height:44px;width:auto;margin-bottom:16px}
.mf .foot{display:grid;grid-template-columns:1.4fr 1fr;gap:32px}
.mf p{margin:0 0 8px}.mf ul{list-style:none;margin:0;padding:0}.mf li{padding:3px 0}
.mf .legal{border-top:1px solid rgba(255,255,255,.2);margin-top:28px;padding-top:18px;font-size:14px}
.callbar{display:none}
.mf a.callbar{color:var(--n)}
@media (max-width:999px){
 .callbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--g);color:var(--n);text-align:center;font:700 18px Lato,sans-serif;padding:16px;text-decoration:none}
 body{padding-bottom:58px}
}

/* modulo contatti */
.mform input,.mform select,.mform textarea{box-sizing:border-box}
.mform label{display:block;font-weight:700;color:var(--n);margin:16px 0 4px}
.mform input[type=text],.mform input[type=email],.mform input[type=tel],.mform select,.mform textarea{width:100%;font:inherit;padding:12px 14px;border:1.5px solid #8a97a6;border-radius:10px;background:#fff;color:var(--t)}
.mform .help{font-size:14px;margin:0 0 4px}
.mform .chk{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--t);margin:14px 0}
.mform .chk input{margin-top:6px;width:20px;height:20px;flex:none}
.mform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.mform .fine{font-size:14px;margin-top:14px}
.mform button{margin-top:18px;cursor:pointer}
.msg{border-radius:12px;padding:16px 20px;margin-bottom:20px}
.msg.ok{background:#e7f3ea;border:1px solid #2f7a45;color:#173d24}.msg.ko{background:#fdeeee;border:1px solid #a33;color:#5b1717}

@media (max-width:860px){
 .sec{padding-block:56px}
 .grid2,.grid3,.grid4,.hero.home .wrap,.mf .foot{grid-template-columns:1fr;gap:32px}
 .grid3,.grid4{gap:20px}
 .hero .arcs{width:320px}.stats{gap:20px}
}

/* segnaposto foto in attesa di liberatoria */
.img-ph{box-sizing:border-box;margin:0;background:#e8eef6;border-radius:18px;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;font-size:14px;color:var(--t);width:100%}
.area .img-ph{border-radius:0;aspect-ratio:4/3!important}

.logos{display:flex;gap:24px;align-items:center;margin-top:18px}.logos figure{margin:0}.logos img{height:80px;width:auto;border-radius:8px}
/* pulsante "Gestisci preferenze cookie" nel footer: aspetto da link */
.linkbtn{background:none;border:0;padding:0;margin:0;font:inherit;color:#fff;text-decoration:underline;cursor:pointer}
.map-embed{margin-top:8px}.map-embed iframe{display:block;width:100%;height:380px;border:0;border-radius:16px}
