/* Mobile enhancements only; desktop keeps the existing layout. */
.mobile-menu-toggle{display:none}
@media(max-width:700px){
 html{scroll-padding-top:16px}
 body{overflow-wrap:break-word}
 header{grid-template-columns:1fr auto;gap:12px;padding:14px 16px 16px}
 header .logo{grid-column:1/-1;grid-row:1;min-width:0;max-width:100%;margin:0}
 header .logo .wordmark-main{font-size:clamp(34px,9.6vw,42px)}
 header .logo .wordmark-main i{font-size:.83em}
 header .logo .brand-slogan{font-size:clamp(23px,6.3vw,27px)}
 header .header-icons{grid-column:2;grid-row:2;justify-self:end;gap:8px}
 header .icon-link{width:44px;height:44px}
 header .icon-link svg{width:22px;height:22px}
 header.mobile-ready .mobile-menu-toggle{display:inline-flex;grid-column:1;grid-row:2;justify-self:start;align-items:center;gap:10px;min-height:44px;padding:9px 16px;border:1px solid var(--line);border-radius:24px;background:#e0e7d4;color:var(--ink);font-weight:700;font-size:16px}
 .mobile-menu-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
 header.mobile-ready nav{display:none}
 header.mobile-ready.mobile-menu-open nav,header:not(.mobile-ready) nav{display:flex;grid-column:1/-1;grid-row:3;flex-direction:column;align-items:stretch;gap:8px;width:100%;max-width:none;min-width:0;white-space:normal;padding:8px 0 0}
 header nav>a,header nav .product-nav>summary{font-size:16px;justify-content:flex-start;min-height:48px;padding:12px 16px;border-radius:12px}
 header nav .product-nav{width:100%;align-self:stretch}
 header nav .product-nav>summary{width:100%;justify-content:space-between}
 header nav .product-nav>summary:after{content:'⌄';font-size:20px}
 header nav .product-nav[open]>summary:after{content:'⌃'}
 header nav .product-menu{position:static;width:100%;min-width:0;max-width:none;max-height:45vh;max-height:45dvh;margin-top:8px;padding:8px;box-shadow:none;overscroll-behavior:contain}
 header nav .product-menu a{display:flex;align-items:center;min-height:48px;padding:10px 12px;font-size:15px}
 main,section,article,.account-panel,.box-builder,.shop-card,.builder-layout>*{min-width:0}
 .shop-hero{padding:18px 16px;gap:16px}
 .shop-hero h1{font-size:clamp(28px,7.8vw,36px)}
 .shop-hero img{width:100%;max-height:240px}
 .compact-shop,.events-main,.reviews-section,.recipes-main{padding-left:16px;padding-right:16px}
 .shop-grid,.product-grid,.mix-product-grid,.recipe-plan-grid,.event-options,.review-grid,.admin-grid,.builder-layout{grid-template-columns:minmax(0,1fr);gap:18px}
 .shop-card{padding:16px}
 .shop-card>img{height:200px;object-fit:contain}
 .shop-card .button,.recipe-plan .button,.contact-form button,.account-panel .button{width:100%;min-height:48px}
 .shop-filters,.shop-tabs{max-width:100%;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:8px;scrollbar-width:thin}
 .shop-filters button,.shop-tabs button{flex-shrink:0;min-height:44px}
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important;max-width:100%;min-height:48px}
 .box-builder input[type=checkbox],.box-builder input[type=radio]{width:22px;height:22px}
 .box-builder .addon-toggle{min-height:44px;padding-top:9px;padding-bottom:9px}
 .box-builder .summary{gap:12px;align-items:flex-start}
 .box-builder .summary strong{flex-shrink:0}
 dialog{width:calc(100% - 16px);max-width:none;max-height:calc(100dvh - 24px);padding:46px 18px 24px;border-radius:18px;overflow-y:auto;overscroll-behavior:contain}
 dialog .close{min-width:44px;min-height:44px;right:6px;top:4px}
 dialog h2{font-size:29px}
 .builder-sidebar,.basket-summary{position:static;max-width:100%}
 .purchase-choice{grid-template-columns:1fr}
 .account-layout{padding:24px 16px 40px;gap:22px}
 .account-panel{padding:22px 18px}
 .account-intro h1,.admin-layout>h1{font-size:36px}
 .account-panel h2,.recipes-main h2{font-size:28px}
 .referral-copy{flex-wrap:wrap}
 .referral-copy input{flex:1 1 100%}
 .reward-balances{gap:10px}
 .reward-balances>div{padding:14px}
 .event-enquiry,.recipe-plan,.recipe-world{padding:20px}
 .recipe-hero,.recipe-preview{margin-bottom:28px}
 .recipe-features{margin-bottom:28px}
 .recipe-plan-grid .recipe-plan{display:flex;flex-direction:column}
 .recipe-plan .button{margin-top:auto}
 footer{gap:20px;padding:28px 16px}
 footer .logo,footer p,footer>span{max-width:100%;width:100%}
 footer .footer-links{gap:8px 18px}
 footer .footer-links a{display:inline-flex;align-items:center;min-height:44px}
 .social-links .icon-link{width:44px;height:44px}
}
