/* Shared responsive adjustments for the GuestEasy marketing website. */
img{max-width:100%;height:auto}
.hero>*,.demo-layout>*,.creator-layout>*,.contact-layout>*,.layout>*{min-width:0}
.menu-toggle{display:none}
.live-kiosk{aspect-ratio:auto}
.live-kiosk::before{content:"";display:block;aspect-ratio:16/10}
.live-kiosk iframe{position:absolute;inset:0 auto auto 0}
.checkout-page>header{padding:0}
.checkout-page header nav a{font:600 18px/1.4 Arial,sans-serif;text-decoration:none;color:var(--ink)}
.checkout-page header nav a:hover,.checkout-page header nav a:focus-visible{color:#fff}
.checkout-page main{width:100%;max-width:1100px;padding-inline:22px}
.checkout-page #pay,.checkout-page #save{width:100%;min-height:48px}
@media(max-width:900px){
 html{scroll-padding-top:112px}
 header .nav{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 16px;padding:12px 22px}
 header .nav .logo{min-width:0;width:min(100%,270px);max-width:100%}
 header .brand-logo{width:100%;height:auto;max-width:270px}
 .nav.mobile-nav-ready .menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:82px;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:600 16px/1.25 Arial,sans-serif;cursor:pointer}
 .menu-toggle-icon{display:inline-block;width:16px;height:12px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}
 .menu-toggle-icon::after{content:"";position:absolute;left:0;right:0;top:4px;border-top:2px solid currentColor}
 header .nav nav{grid-column:1/-1;width:100%;max-width:100%;gap:5px;flex-wrap:wrap}
 .nav.mobile-nav-ready nav{display:none}
 .nav.mobile-nav-ready[data-menu-open="true"] nav{display:flex;flex-direction:column;align-items:stretch;padding-top:8px;border-top:1px solid var(--line)}
 .nav nav a,.nav nav .btn,.checkout-page header nav a{font-size:17px;line-height:1.4;min-height:46px;padding:12px 14px;white-space:normal}
 .nav.mobile-nav-ready nav a{text-align:left;width:100%}
 .nav a:focus-visible,.menu-toggle:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
 .hero,.demo-layout,#demo .demo-layout,.creator-layout,.contact-layout,.checkout-page .layout{grid-template-columns:minmax(0,1fr)}
 .hero{padding-top:36px;gap:32px}
 .checkout-page aside{position:static}
}
@media(max-width:600px){
 body{font-size:17px;line-height:1.65}
 .wrap,.nav{padding-left:20px;padding-right:20px}
 header .nav{padding:10px 20px}
 h1,.checkout-page h1{font-size:clamp(36px,10vw,46px);line-height:1.1;letter-spacing:-1px;overflow-wrap:break-word}
 h2{font-size:clamp(29px,8vw,36px);line-height:1.15}
 h3{font-size:20px}
 .lead{font-size:18px;line-height:1.65}
 .section{padding-top:42px;padding-bottom:42px}
 .hero{padding-top:30px;padding-bottom:40px}
 .actions{flex-direction:column;align-items:stretch;gap:12px}
 .actions .btn{width:100%;text-align:center;min-height:48px;padding:13px 18px;font-size:16px}
 .questions,.steps{grid-template-columns:minmax(0,1fr)}
 .question p,.steps p,details p{font-size:16px}
 .steps{gap:12px;margin-top:26px}
 .strip .wrap{display:grid;gap:10px}
 .strip .wrap span{font-size:14px}
 .creator-copy p{font-size:17px;line-height:1.75}
 .creator-quote{font-size:25px}
 .screen-welcome .screen-message{font-size:13px;line-height:1.35;max-width:none}
 .screen-welcome{padding:16px}
 .screen-welcome h3{font-size:clamp(20px,6vw,28px)}
 .screen-welcome small{font-size:9px;letter-spacing:1px}
 .tag{font-size:12px}
 summary{min-height:44px;padding-right:12px;font-size:17px;line-height:1.5}
 .price{font-size:46px}.offer-price{font-size:38px}
 .pricing-card{padding-top:22px}
 .offer{padding:18px 16px}
 .service-pricing{display:block;max-width:100%;border-collapse:separate!important}
 .service-pricing thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .service-pricing tbody{display:block}
 .service-pricing tr{display:block;margin:0 0 14px;border:1px solid var(--line);border-radius:6px;background:#fff}
 .service-pricing td{display:block;width:auto!important;min-width:0!important;padding:14px 16px!important;font-size:16px;overflow-wrap:anywhere}
 .service-pricing td:first-child{border-bottom:0!important;padding-bottom:8px!important}
 .service-pricing td:last-child{border-bottom:0!important;padding-top:0!important;color:var(--blue);font-size:17px}
 .service-pricing td:last-child::before{content:"Price: ";font-weight:600}
 .contact-layout{gap:18px;margin-top:24px}
 .contact-form label{font-size:16px}
 .contact-form input,.contact-form textarea,.checkout-page input,.checkout-page select{font-size:16px!important;max-width:100%}
 .contact-form .btn{width:100%;min-height:48px;font-size:16px}
 .contact-details a,a[href^="mailto:"]{overflow-wrap:anywhere}
 .checkout-page main{margin-top:28px;padding-inline:20px}
 .checkout-page .layout{gap:0}
 .checkout-page section,.checkout-page aside{padding:22px 18px;margin:16px 0}
 .checkout-page label{font-size:16px;line-height:1.5}
 .checkout-page label small{font-size:14px;margin-left:28px}
 .checkout-page select{min-height:48px;width:100%;min-width:0}
 .checkout-page .line{gap:12px;flex-wrap:wrap}
 .checkout-page .line>span{max-width:100%;flex:1 1 150px;overflow-wrap:anywhere}
 .checkout-page .line>strong{overflow-wrap:anywhere}
 .checkout-page #lines .line strong{white-space:nowrap}
 .checkout-page .line.total{font-size:20px}
 .checkout-page .line label[for="quantity"]{display:flex;align-items:center;gap:10px}
 footer .wrap{flex-direction:column;align-items:flex-start;gap:14px}
 footer .brand-logo{width:220px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a,.btn{transition:none}}

/* Keep desktop navigation on one aligned row. */
@media(min-width:901px){header .nav{flex-wrap:nowrap;gap:18px}header .nav .brand-logo{width:clamp(220px,calc(100vw - 720px),360px)}header .nav nav{width:auto;flex-wrap:nowrap;gap:8px;flex-shrink:0}header .nav nav a,header .nav nav .btn{white-space:nowrap;padding:10px 8px;display:inline-flex;align-items:center;line-height:1.4}}
