/* Mockup leggibili: prodotto protagonista, proporzioni condivise in tutto il sito. */
:root{--phone-large:390px;--phone-standard:340px;--phone-hero:300px}
.menu-preview{display:grid;justify-items:center;gap:26px;width:100%;min-width:0}
.menu-preview-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;width:100%}
.menu-preview-tabs .btn{min-height:44px;padding:10px 19px}
.menu-preview-phone{width:min(var(--phone-large),100%)}
.detail-visual .menu-preview .capture-phone{width:100%;max-width:none;margin:0;transform:none}
.gift-management-proof .section-intro>div:last-child{max-width:540px}
.gift-management-proof .section-intro p{max-width:none}
.gift-management-proof .checks{margin-top:24px}
.gift-management-figure{width:100%;margin:0}
.gift-management-figure .capture-open{padding:0;background:transparent}
.gift-management-figure img{width:100%;height:auto}
@media(max-width:600px){.menu-preview{gap:20px}.menu-preview-tabs{gap:7px}.menu-preview-tabs .btn{font-size:13px;padding:10px 14px}.detail-visual.capture-visual:has(.menu-preview){padding:54px 16px 24px}.gift-management-proof .section-intro>div:last-child{margin-top:24px}}
.capture-phone{flex-shrink:0;max-width:100%;padding:6px;border:4px solid var(--deep);border-radius:38px}
.capture-phone>img{border-radius:26px}
.capture-phone:before{display:none}
.booking-fixed-screen{border-radius:26px}
.home-hero .hero-customer-phone .booking-fixed-phone .booking-fixed-screen img{border-radius:0}
@media(max-width:600px){.home-hero .hero-customer-phone .booking-fixed-screen{border-radius:12px}}

/* Home: monitor completo e telefono grande, affiancati senza sovrapposizioni. */
.home-hero .hero-product-stage{display:grid;grid-template-columns:minmax(0,1fr) var(--phone-hero);gap:20px 30px;align-items:center;width:min(1200px,100%);margin:64px auto 0;padding:0}
.home-hero .hero-workspace{grid-column:1;grid-row:1;min-width:0}
.home-hero .hero-customer-phone{position:static;grid-column:2;grid-row:1;width:100%;margin:0;align-self:center}
.home-hero .hero-customer-phone .capture-phone{width:100%;padding:6px;border:4px solid var(--deep);border-radius:38px}
.home-hero .hero-customer-phone .capture-phone img{border-radius:26px}
.home-hero .hero-phone-label{font-size:12px;margin:0 0 14px;padding:0;background:none;border:0}
.home-hero .hero-product-stage>figcaption{grid-column:1/-1;position:static;width:auto;max-width:none;margin:0;text-align:center;font-size:11px;line-height:1.7}

/* Le coppie di schermate hanno un'area visiva più ampia. */
.menu-story-visual{width:100%;min-width:0;padding:28px 24px;gap:22px;max-width:none;overflow:visible}
.menu-story-visual figure{width:calc((100% - 22px)/2);max-width:280px;flex:none}
.menu-story-visual figure+figure{margin-top:40px}
.menu-story-visual .capture-phone{width:100%;padding:6px;border:4px solid var(--deep);border-radius:36px}
.menu-story-visual .capture-phone img{border-radius:24px}
.menu-story-visual figcaption{font-size:12px}
.detail-visual.capture-visual{padding:54px 22px 28px;gap:22px;overflow:visible}
.detail-visual.capture-visual>.capture-phone,
.detail-visual.capture-visual>.capture-phone+.capture-phone{width:calc((100% - 22px)/2);max-width:320px;transform:none;padding:6px;border-radius:36px;flex:none}
.detail-visual.capture-visual>.capture-phone+.capture-phone{margin:44px 0 0}

/* Prenotazioni e demo: stessi rapporti, logo e comandi restano fissi. */
.booking-preview{grid-template-columns:104px minmax(0,1fr);gap:20px;max-width:560px}
.detail-visual .booking-preview .capture-phone{width:var(--phone-standard);max-width:100%;padding:6px;border-radius:38px}
.demo-body .demo-cols .capture-phone{width:var(--phone-large);max-width:100%}
.preview-steps button{font-size:12px;padding:15px 10px}
.phone-swipe-note{display:none}
.gallery-image{height:460px}
@media(min-width:1100px){
 .menu-story .split{grid-template-columns:1.2fr .9fr;gap:64px}
 .detail-hero:has(.capture-visual){grid-template-columns:.8fr 1.2fr;gap:54px}
}
@media(min-width:601px) and (max-width:1099px){
 :root{--phone-hero:260px;--phone-standard:300px;--phone-large:340px}
 .home-hero .hero-product-stage{gap:20px 24px}
 .menu-story .split{grid-template-columns:1fr;gap:42px}
 .menu-story .split>div:last-child{order:1}
 .menu-story-visual{order:2}
 .menu-story-visual{max-width:640px;margin-left:auto;margin-right:auto;padding:28px 20px}
 .menu-story-visual figure{max-width:270px}
 .detail-hero:has(.capture-visual){grid-template-columns:1fr;gap:42px}
 .detail-hero:has(.capture-visual)>div:first-child{max-width:740px}
 .detail-visual.capture-visual{max-width:680px;width:100%;margin:0 auto}
 .detail-visual.capture-visual>.capture-phone,
 .detail-visual.capture-visual>.capture-phone+.capture-phone{max-width:290px}
}
@media(max-width:600px){
 :root{--phone-hero:290px;--phone-standard:300px;--phone-large:310px}
 .home-hero .hero-product-stage{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:40px}
 .home-hero .hero-workspace{grid-column:1;grid-row:1}
 .home-hero .hero-customer-phone{grid-column:1;grid-row:2;width:min(var(--phone-hero),100%);margin:0 auto;align-self:auto}
 .home-hero .hero-product-stage>figcaption{grid-column:1;grid-row:3;font-size:11px}
 .home-hero .hero-phone-label{font-size:12px}
 .menu-story-visual,
 .detail-visual.capture-visual:has(>.capture-phone){display:flex;justify-content:flex-start;align-items:flex-start;gap:20px;padding:24px 16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:16px;scrollbar-width:thin}
 .menu-story-visual{max-width:100%;border-radius:20px}
 .menu-story-visual figure{flex:0 0 min(280px,100%);width:min(280px,100%);max-width:none;scroll-snap-align:center}
 .menu-story-visual figure+figure{margin-top:0}
 .menu-story-visual .capture-phone{padding:6px;border-width:4px;border-radius:36px}
 .menu-story-visual .capture-phone img{border-radius:24px}
 .menu-story-visual figcaption{font-size:12px}
 .detail-visual.capture-visual:has(>.capture-phone){padding-top:54px}
 .detail-visual .phone-swipe-note{display:block;position:absolute;top:25px;left:16px;right:16px;font-size:10px;font-weight:700;color:var(--muted)}
 .detail-visual:has(.phone-swipe-note)>.proof-label{display:none}
 .detail-visual.capture-visual>.capture-phone,
 .detail-visual.capture-visual>.capture-phone+.capture-phone{flex:0 0 min(290px,100%);width:min(290px,100%);max-width:none;margin:0;scroll-snap-align:center}
 .booking-preview{grid-template-columns:minmax(0,1fr);max-width:360px;gap:22px}
 .preview-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 .preview-steps button{flex-direction:column;justify-content:center;gap:4px;padding:11px 4px;font-size:11px;text-align:center}
 .detail-visual .booking-preview .capture-phone{width:min(var(--phone-standard),100%);padding:6px;border-radius:38px}
 .detail-visual.capture-visual:has(.booking-preview){padding:54px 16px 24px}
 .demo-body .demo-cols .capture-phone{width:min(var(--phone-large),100%)}
 .gallery-image{height:500px}
}

/* Home mobile: un'unica composizione monitor + telefono, come vetrina di prodotto.
   I mockup grandi delle pagine dedicate e delle demo restano invariati. */
@media(max-width:600px){
 body[data-route=""] .prototype-bar{display:none}
 .hero.home-hero{padding:48px 0 38px}
 .home-hero .hero-grid{display:flex;flex-direction:column;gap:0}
 .home-hero-copy{display:contents}
 .home-hero-copy>.eyebrow{align-self:center;max-width:32ch;margin:0 auto 24px;text-align:center;font-size:9px;line-height:1.6}
 .hero.home-hero h1{width:100%;font-size:38px;line-height:1.14;font-weight:800;text-align:center}
 .home-hero h1 .mark{margin:6px auto 0}
 .home-hero .lead{max-width:36ch;margin:26px auto 0;font-size:16px;line-height:1.65;text-align:center}
 .hero.home-hero .actions{flex-direction:column;align-items:center;width:100%;gap:12px;margin:24px 0 0}
 .hero.home-hero .actions .btn{width:min(250px,100%);min-height:48px;padding:14px 20px;font-size:14px}
 .home-hero .hero-product-stage{order:1;position:relative;display:block;width:100%;margin:42px 0 0;padding:0}
 .home-hero .hero-workspace{display:block;width:94%;margin:0 0 64px;border-width:2px;border-radius:14px;box-shadow:0 10px 24px #171b3617}
 .home-hero .hero-customer-phone{position:absolute;top:34px;right:0;bottom:auto;width:31%;max-width:138px;margin:0}
 .home-hero .hero-phone-label{display:none}
 .home-hero .hero-customer-phone .capture-phone{padding:3px;border-width:2px;border-radius:18px;box-shadow:0 6px 15px #171b3626}
 .home-hero .hero-customer-phone .capture-phone img{border-radius:12px}
 .home-hero .hero-product-stage>figcaption{width:100%;margin:0;text-align:center;font-size:9px;line-height:1.6}
 .home-hero .home-hero-note{order:2;max-width:40ch;margin:18px auto 0;font-size:10px;line-height:1.7;text-align:center}
}
@media(max-width:360px){
 .hero.home-hero h1{font-size:33px}
 .home-hero .lead{font-size:15px}
 .home-hero .hero-customer-phone{top:28px}
 .home-hero .hero-workspace{margin-bottom:62px}
}
