/* Shared responsive layouts. Print output keeps its existing paper dimensions. */
.mobile-logout{display:none}
@media screen{
 .wrap,.content,.workspace,.card,.panel,.pcard,.demo,.stat,.stat-grid,.pricegrid,.frow,.frow3,.row,.bcard,.detail,.share-box{min-width:0}
 input,select,textarea{min-width:0;max-width:100%}
 .page-landing .grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
 .page-landing .demo .btns{min-width:0}
 .page-landing .slugline input{flex:1;min-width:0}
 .page-h,.wordmark,.brand,.brow,.detail,.share-box,.setup,.upsell,footer{overflow-wrap:anywhere}
 .page-booking header .wrap{padding-bottom:0}
 .page-hub .cal-scroll,.page-hub .snippet{max-width:100%}
 .page-hub .card>div[style*="overflow-x:auto"]{max-width:100%;overscroll-behavior-x:contain}
 .page-admin .detail{overflow-x:auto;overscroll-behavior-x:contain}
}
@media screen and (max-width:900px){
 .page-landing header .wrap{flex-direction:column;align-items:stretch;gap:16px}
 .page-landing header .brand{text-align:center}
 .page-landing .hlinks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
 .page-landing .hlinks .btn{display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px;padding:10px 8px}
}
@media screen and (max-width:820px){
 .page-hub .sidebar nav{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:10px 12px;gap:6px;overscroll-behavior-x:contain}
 .page-hub .sidebar nav a{display:flex;flex:0 0 auto;gap:8px;min-height:44px;white-space:nowrap}
 .page-hub .wordmark{min-height:64px;padding:12px 16px}
 .page-hub .wordmark>span{min-width:0}
 .page-hub .mobile-logout{display:inline-block}
 .page-hub .topbar{position:static;align-items:flex-start;padding:12px 16px}
 .page-hub .topbar-actions{width:100%;gap:8px!important}
 .page-hub .trial-chip{white-space:normal}
}
@media screen and (max-width:640px){
 input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=hidden]),select,textarea{font-size:16px;min-height:44px}
 .btn,.tabs button,.gig button{min-height:44px}
 .page-landing .hero{padding:32px 0 22px}
 .page-landing .hero h1{font-size:clamp(34px,8.4vw,48px);line-height:1.06;overflow-wrap:break-word}
 .page-landing .hero>p{font-size:16px;line-height:1.6;margin:18px 0 22px}
 .page-landing .proof span{max-width:100%;font-size:12px;line-height:1.45}
 .page-landing .demo{padding:20px;gap:18px}
 .page-landing .demo .btns{width:100%}
 .page-landing .grid{gap:16px;padding-top:20px}
 .page-landing .card{padding:20px}
 .page-landing .tap-handles-coming{padding-bottom:80px}
 .page-landing .section-label{margin-top:34px}
 .page-landing .sub{line-height:1.55}
 .page-landing .pcard,.page-landing .panel{padding:20px;max-width:100%}
 .page-landing .amount{flex-wrap:wrap;gap:6px 10px}
 .page-landing .slugline{align-items:stretch;flex-direction:column;gap:4px}
 .page-landing label,.page-booking label,.page-hub label,.page-admin .login-card label{font-size:11px;line-height:1.5}
 .page-landing footer{line-height:1.7}
 .page-hub .content,.page-admin .content{padding:20px 16px 48px}
 .page-hub .card,.page-admin .bcard{padding:16px}
 .page-hub .stat-grid,.page-admin .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .page-hub .stat,.page-admin .stat{padding:12px}
 .page-hub .stat span,.page-admin .stat span{overflow-wrap:anywhere}
 .page-hub .setup{padding:16px}
 .page-hub .setup li>div{min-width:0}
 .page-hub .setup li .tick{flex-shrink:0}
 .page-hub .cal-head>div{flex-wrap:wrap}
 .page-hub .cal-grid{min-width:770px}
 .page-hub .share-box{align-items:flex-start}
 .page-hub .frow,.page-hub .frow3{grid-template-columns:minmax(0,1fr)}
 .page-hub .tog-row>div:first-child{min-width:0;overflow-wrap:anywhere}
 .page-hub .login-card,.page-admin .login-card{padding:22px}
 .page-hub .login-wrap,.page-admin .login-wrap{padding:16px;min-height:100svh}
 .page-admin header{position:static}
 .page-admin header .wrap{align-items:flex-start;gap:14px}
 .page-admin header .wrap>div:last-child{flex-wrap:wrap;gap:8px;width:100%}
 .page-admin header button{min-height:44px;flex:1 1 auto}
 .page-admin .brow>div{min-width:0;max-width:100%}
 .page-admin .detail table{width:100%;table-layout:fixed}
 .page-admin .detail td:first-child{width:34%;white-space:normal}
 .page-admin .detail td{overflow-wrap:anywhere;padding-right:8px}
 .page-booking header{padding:22px 0}
 .page-booking header h1{overflow-wrap:anywhere;line-height:1.1}
 .page-booking .tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px}
 .page-booking .tabs button{padding:10px 8px;white-space:normal;font-size:14px;line-height:1.25}
 .page-booking .panel{padding:18px;margin-top:18px}
 .page-booking .row{grid-template-columns:minmax(0,1fr)}
 .page-booking .gig{padding:12px;align-items:flex-start}
 .page-booking .gig>div{min-width:0;overflow-wrap:anywhere}
 .page-booking .wrap{padding-bottom:40px}
 .page-booking header .wrap{padding-bottom:0}
 .page-print{padding:12px}
 .page-print .bar>div{width:100%;flex-wrap:wrap}
 .page-print .bar select{width:100%;flex:1 1 220px;min-width:0}
 .page-print .bar button{flex:1 1 auto}
}
@media screen and (max-width:480px){
 .page-landing .hlinks{grid-template-columns:repeat(2,minmax(0,1fr))}
 .page-landing .hlinks .btn{font-size:15px}
 .page-landing .hero>.btn{display:block;text-align:center}
 .page-landing .trial-note{line-height:1.6;font-size:11px}
}
@media screen and (max-width:880px){
 .page-print .sheet{width:100%;height:auto;min-height:0;aspect-ratio:auto;padding:clamp(18px,6vw,54px);gap:14px}
 .page-print .sheet>*{flex-shrink:0}
 .page-print .sheet h1{font-size:clamp(26px,6vw,50px);overflow-wrap:anywhere}
 .page-print .sheet h2{font-size:clamp(20px,4vw,28px);margin:0 0 10px}
 .page-print #qr{width:min(100%,306px);padding:clamp(12px,3vw,22px)}
 .page-print #qr img,.page-print #qr canvas{width:100%!important;height:auto!important}
 .page-print .url{font-size:clamp(14px,3vw,22px);margin-top:10px}
 .page-print .small{font-size:12px;margin-top:0}
 .page-print .foot{padding-top:16px}
}
