/* Shared responsive layout. Loaded after the theme to resolve legacy rules. */
:root{--store-header-height:82px}
input,select,textarea{min-width:0;max-width:100%}
button{max-width:100%}
h1,h2,h3,h4,p,.notice,.empty,.form-error,.note-help{overflow-wrap:anywhere}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-grid>*,.report-top>*,.stat-grid>*,.table-grid>*,.qr-grid>*,.option-editor,.panel,.login-form>div{min-width:0}
.btn{white-space:normal;overflow-wrap:anywhere;text-align:center}
.modal{width:min(600px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;margin:auto}
.modal .dialog-body{min-width:0}
.dialog-actions{flex-wrap:wrap;gap:12px}
.dialog-actions>.btn{min-width:min(180px,100%)}
.option-title{gap:12px;align-items:flex-start;flex-wrap:wrap}
.option-row{gap:12px;align-items:flex-start}
.option-row>span:first-child{min-width:0;overflow-wrap:anywhere}
.option-row input{flex-shrink:0;margin-top:3px}
.option-row>span:last-child{flex-shrink:0;white-space:nowrap}
.cart-line{gap:12px;min-width:0;flex-wrap:wrap}
.cart-line>div:first-child{flex:1 1 150px;min-width:0;overflow-wrap:anywhere}
.cart-line>div:last-child{max-width:100%}
.totals>div{gap:16px;align-items:flex-start}
.totals>div>span{min-width:0;overflow-wrap:anywhere}
.totals>div>b{flex-shrink:0}
.modern-store .store-shell{width:100%;max-width:1440px;padding-inline:clamp(16px,3vw,40px)}
.modern-store .hero{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}
.modern-store .hero-visual,.modern-store .hero-copy{min-width:0}
.modern-store .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.modern-store .product-card{display:flex;flex-direction:column;min-width:0;width:100%;height:100%;align-items:stretch}
.modern-store .product-img{width:100%;min-width:0;max-width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;order:0}
.modern-store .product-copy{width:100%;min-width:0;max-width:100%;flex:1;padding:20px;order:1}
.modern-store .product-copy>*{min-width:0;max-width:100%}
.modern-store .product-copy h3{font-size:clamp(18px,1.4vw,22px);line-height:1.25;overflow-wrap:anywhere}
.modern-store .product-copy p{font-size:12px;min-height:0;line-height:1.65;overflow-wrap:anywhere}
.modern-store .product-bottom{gap:12px;flex-wrap:wrap;min-width:0}
.modern-store .product-bottom strong{font-size:18px;line-height:1.4;overflow-wrap:anywhere}
.modern-store .add-square{flex:0 0 36px;width:36px;height:36px;min-width:36px;align-self:center;display:grid;place-items:center}
.modern-store .store-info{flex-wrap:wrap;min-width:0}
.modern-store .store-info>p{max-width:100%;overflow-wrap:anywhere;flex:1 1 210px}
.modern-store .segmented{max-width:100%;flex-wrap:wrap}
.modern-store .segmented button{min-height:40px}
.modern-store .search{max-width:100%;min-width:0}
.modern-store .search input{min-width:0;flex:1}
.modern-store .category-tabs{max-width:100%;top:var(--store-header-height);overscroll-behavior-x:contain}
.modern-store .category-tabs button{flex-shrink:0;white-space:normal;max-width:85vw}
.modern-store .menu-heading{gap:16px;flex-wrap:wrap}
.modern-store .menu-heading h2{font-size:clamp(34px,4vw,52px)}
.modern-store .cart-fab{bottom:max(14px,env(safe-area-inset-bottom));width:calc(100% - 32px);gap:10px;padding:14px 16px;min-height:52px}
.modern-store .cart-fab b{min-width:0;overflow-wrap:anywhere;text-align:left}
.modern-store .cart-fab strong{flex-shrink:0;white-space:nowrap}
.modern-store .cart-fab #cart-count{flex-shrink:0}
.modern-store .shop-section{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.modern-store .shop-section.no-photos{grid-template-columns:minmax(0,1fr)}
.modern-store .shop-copy,.modern-store .footer-top>*{min-width:0;overflow-wrap:anywhere}
.modern-store .footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr)}
.modern-store .footer-location a,.modern-store #instagram-handle{overflow-wrap:anywhere}
.modern-store .gallery-controls{gap:12px;flex-wrap:wrap}
.modern-store .shop-thumbs{max-width:100%;flex-wrap:wrap}
.modern-store .gallery-arrows button{min-height:40px}
body.modern-store.menu-open .site-footer{padding-bottom:95px}
.admin-layout{grid-template-columns:230px minmax(0,1fr)}
.admin-header{height:auto;min-height:85px;flex-wrap:wrap;padding-block:15px}
.admin-header>*,.dashboard-intro>*,.board-toolbar>*,.order-card,.table-card,.stat,.data-wrap{min-width:0}
.admin-header h1{overflow-wrap:anywhere}
.dashboard-intro{flex-wrap:wrap}
.dashboard-intro>.toolbar{max-width:100%}
.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.table-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.data-wrap{max-width:100%;overscroll-behavior-x:contain}
.order-card-footer,.table-card-top{gap:10px;flex-wrap:wrap}
.order-card .items-short,.order-card h4,.order-details .item,.order-details .address{overflow-wrap:anywhere}
.call-card{max-width:100%;flex-wrap:wrap;gap:12px;overflow-wrap:anywhere}
.report-top{grid-template-columns:repeat(2,minmax(0,1fr))}
.option-edit-row{grid-template-columns:minmax(0,1fr) 80px 34px}
.store-photo-list{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.store-photo-actions{flex-wrap:wrap}
.schedule-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}
.login-form>div{width:min(370px,100%)}
@media(min-width:1600px){.modern-store .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.admin-layout{grid-template-columns:195px minmax(0,1fr)}.table-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.modern-store .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modern-store .footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}.modern-store .footer-social{grid-column:2}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){:root{--store-header-height:70px}.modern-store .store-header{height:70px;padding-inline:16px}.modern-store .hero-scene{height:calc(100svh - 70px)}.admin-layout{display:block;padding-bottom:90px}.report-top{grid-template-columns:minmax(0,1fr)}.table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-header-right{flex-wrap:wrap}.mobile-nav{padding-bottom:max(10px,env(safe-area-inset-bottom))}.modern-store .hero h1{font-size:clamp(56px,10vw,78px)}}
@media(max-width:640px){.modern-store .product-grid{grid-template-columns:minmax(0,1fr);gap:14px}.modern-store .product-card{display:grid;grid-template-columns:clamp(88px,28vw,150px) minmax(0,1fr);align-items:stretch}.modern-store .product-img{width:100%;height:100%;min-height:155px;aspect-ratio:auto;object-fit:cover}.modern-store .product-copy{padding:clamp(12px,3vw,18px);width:auto;gap:8px}.modern-store .product-copy h3{font-size:18px}.modern-store .product-copy p{font-size:11px}.modern-store .product-bottom strong{font-size:16px}.modern-store .product-bottom{gap:8px}.modern-store .shop-section{grid-template-columns:minmax(0,1fr);gap:30px}.modern-store .footer-top{grid-template-columns:minmax(0,1fr);gap:28px}.modern-store .footer-social{grid-column:auto;align-items:flex-start}.modern-store .hero{display:flex;flex-direction:column}.modern-store .hero-copy{display:contents}.modern-store .hero h1{font-size:clamp(44px,12vw,64px);text-align:center}.modern-store .hero h1 br{display:none}.modern-store .hero h1 em{margin-left:8px}.modern-store .hero-visual{min-height:270px;max-height:460px}.modern-store .cream{margin-top:0}.modern-store .store-info>p{flex-basis:100%;font-size:11px}.modern-store .hero-scene{min-height:520px}.modern-store .footer-location{max-width:100%}}
@media(max-width:520px){.form-grid,.option-editor .form-grid{grid-template-columns:minmax(0,1fr)}.full{grid-column:auto}.dialog-body{padding:24px 18px}.modal input,.modal select,.modal textarea,.login-form input{font-size:16px}.schedule-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.schedule-row>.check{grid-column:1/-1}.panel{padding:16px}.admin-header h1{font-size:21px}.admin-header{gap:8px}.admin-main{padding-inline:14px}.qr-card{padding:20px}.install-page{padding:16px}.install-card{padding:24px 18px}.modern-store .shop-copy h2{font-size:clamp(32px,10vw,40px)}}
@media(max-width:359px){.modern-store .store-header{padding-inline:12px}.modern-store .brand{gap:6px;font-size:17px}.modern-store .brand img{width:32px;height:32px}.modern-store .header-right{gap:6px}.modern-store .header-right .ghost{padding-inline:8px;font-size:9px}.modern-store .status-pill{font-size:8px}.modern-store .product-card{grid-template-columns:84px minmax(0,1fr)}.modern-store .product-copy{padding:12px}.modern-store .product-copy h3{font-size:17px}.modern-store .cart-fab{gap:7px;padding-inline:12px}.modern-store .cart-fab b,.modern-store .cart-fab strong{font-size:11px}.table-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-height:550px) and (orientation:landscape){.modern-store .hero-scene{min-height:420px;height:auto}.book-object{width:180px;height:250px}.book-stage{padding-left:80px}.skip-animation{bottom:12px}.cover-face img{width:42px;height:42px;margin-bottom:12px}.cover-face strong{font-size:30px}.book-paper{padding:20px}.book-paper img{height:85px}}
@media print{.modal{width:100%;max-height:none;overflow:visible}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-layout{display:block}}
