/* Mobile layout overrides, shared by the storefront and dashboard. */
@media(max-width:760px){
  body{font-size:15px;line-height:1.75}
  main,header,footer,.section,.hero,.hero-copy,.hero-photo,.header-tools{min-width:0}
  input,textarea,select{font-size:16px;max-width:100%}
  button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
  body:not(.admin-page)>header{display:grid;grid-template-columns:auto minmax(0,1fr);padding:10px 4.5%;gap:10px;align-items:center}
  body:not(.admin-page)>header>a{display:block;line-height:0}
  body:not(.admin-page)>header .logo{width:88px;height:52px}
  body:not(.admin-page)>header>.header-tools{display:flex;justify-content:flex-end;gap:6px;margin:0;min-width:0;flex-wrap:nowrap}
  body:not(.admin-page)>header>nav{display:none}
  .store-menu-button{font-size:12px;padding:8px 5px;min-height:42px;white-space:nowrap}
  .language{font-size:12px;padding:8px 5px;min-height:42px}
  .cart{font-size:12px;padding:8px;gap:6px;min-height:42px}
  .cart #count{width:22px;height:22px;flex-basis:22px;font-size:12px}
  .top{justify-content:center;text-align:center;padding:7px 4%;gap:3px 12px}
  .top span{font-size:11px;line-height:1.6}
  .top>a{font-size:11px}
  .mobile-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 4.5%;gap:4px 8px}
  .mobile-menu[hidden]{display:none}
  .mobile-menu a{padding:11px 12px;border-radius:8px;background:#fff;font-size:14px}
  .hero{padding:26px 5% 30px;gap:26px;grid-template-columns:minmax(0,1fr)}
  .hero h1,html[dir=ltr] .hero h1,.season-hero h1,html[dir=ltr] .season-hero h1{font-size:clamp(30px,8.4vw,42px);line-height:1.5;letter-spacing:0;margin:12px 0 16px}
  .hero p{font-size:15px;max-width:none;margin-block:12px}
  .hero .eyebrow{font-size:12px}
  .hero .actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:20px}
  .hero .actions .primary{width:100%;min-height:46px;font-size:15px}
  .hero .actions .text-link{text-align:center;min-height:42px;display:flex;justify-content:center;align-items:center}
  .hero-note{margin-top:20px;padding-top:14px;font-size:12px}
  .hero-photo{width:100%;max-width:400px;justify-self:center;margin:0 auto}
  .hero-photo>img{width:100%;height:auto;border-radius:18px}
  .photo-label{font-size:11px;padding:7px 12px;bottom:12px;left:12px}
  .section{padding:32px 5%;width:100%}
  .section-head{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:20px}
  .section-head h2,h2{font-size:25px;line-height:1.5}
  .section-head p{margin:0;font-size:13px}
  .benefits{grid-template-columns:minmax(0,1fr);padding:18px 5%;gap:10px}
  .benefits .benefit-inner{min-height:88px;padding:16px;gap:14px}
  .benefits .benefit-icon{width:48px;height:48px;flex-basis:48px}
  .benefits .benefit-copy{font-size:15px}
  .benefits .benefit-copy small{font-size:12px;line-height:1.6}
  .benefits .benefit-arrow{display:block}
  .merch-links,.categories,.product-grid,.services{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .merch-links>.merch-link:last-child:nth-child(odd){grid-column:1/-1}
  .merchandising .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shortcut-image{height:clamp(110px,33vw,170px);object-fit:contain}
  .merch-link.illustrated-shortcut{background:#f7fafc}
  .shortcut-label{font-size:14px;line-height:1.5;padding:12px 8px;background:#fff;flex:1}
  .category{padding:12px;min-width:0}
  .category-image{height:125px;object-fit:contain;margin-bottom:12px}
  .category h3{font-size:15px;line-height:1.6;overflow-wrap:anywhere}
  .category small{font-size:12px;line-height:1.6}
  .category-link{font-size:13px;min-height:40px;display:flex;align-items:center}
  .product-card{min-width:0}
  .product-card img,.product-placeholder{height:155px}
  .product-card-body{padding:12px}
  .product-card h3{font-size:15px;line-height:1.6;overflow-wrap:anywhere}
  .product-card p{font-size:14px}
  .product-action,.whatsapp-product{font-size:13px;min-height:42px;padding:9px 10px;text-align:center;white-space:normal}
  .services article{padding:12px;min-width:0}
  .services .service-image{height:120px;object-fit:contain;margin-bottom:12px}
  .services h3{font-size:15px;line-height:1.6}
  .services p{font-size:12px}
  .services article>span{margin-bottom:12px}
  .how{grid-template-columns:minmax(0,1fr);gap:18px}
  .how h2{font-size:28px}
  .steps article{gap:12px}
  .contact{margin:10px 5% 30px;padding:28px 18px}
  .contact h2{font-size:27px}
  footer{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;padding:26px 5% calc(94px + env(safe-area-inset-bottom))}
  footer .footer-links{order:initial;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;padding:0;border:0;gap:4px 16px}
  .footer-links>a{font-size:14px;min-height:40px;display:flex;align-items:center}
  footer>div,footer>section{width:100%;min-width:0}
  .marketing-optin{max-width:none}
  footer p,.metrics-choice p{font-size:12px;line-height:1.8}
  .whatsapp-float{left:max(12px,env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));padding:9px 13px;gap:8px;max-width:calc(100vw - 24px);font-size:12px;line-height:1.5;border-radius:28px}
  .whatsapp-float small{font-size:10px;line-height:1.5}
  .whatsapp-float>span:first-child{line-height:0}
  .whatsapp-float svg{width:27px;height:27px}
  dialog{width:calc(100% - 24px);max-width:520px;padding:20px 16px;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
  .product-layout{grid-template-columns:minmax(0,1fr);gap:24px}
  .detail-image{max-height:340px}
  .detail-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px}
  .product-description{overflow-wrap:anywhere}
  .shop-filters,.marketing-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
  .marketing-benefits{padding:18px}
  .review-grid{grid-template-columns:minmax(0,1fr)}
  .admin-page>header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:10px 5%}
  .admin-page>header .logo{width:96px;height:58px}
  .admin-page>header .header-tools{margin:0;justify-content:flex-end;gap:10px;flex-wrap:wrap}
  .admin-page .login-box{width:calc(100% - 32px);max-width:470px;margin:28px auto;padding:24px 20px}
  .admin-page .login-box h1{font-size:26px}
  .admin-page .login-box label{font-size:14px}
  .admin-page .login-box button{min-height:48px;font-size:16px}
  .admin-wrap{width:100%;margin:24px auto;padding:0 4.5% 36px;min-width:0}
  .admin-head{gap:12px;align-items:center}
  .admin-head h1{font-size:24px;line-height:1.5}
  .admin-head .secondary{padding:9px 12px;font-size:13px;flex-shrink:0}
  .admin-note{font-size:13px;line-height:1.8}
  .admin-wrap .tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;gap:8px;padding:4px 2px 12px;margin:20px 0;overscroll-behavior-x:contain}
  .admin-wrap .tabs button{flex:0 0 auto;white-space:nowrap;padding:11px 14px;font-size:13px;min-height:44px}
  .admin-wrap .section-head{align-items:center}
  .admin-wrap .section-head h2{font-size:22px}
  .admin-wrap .section-head .header-tools{display:flex;flex-wrap:wrap;gap:8px;margin:0;width:100%}
  .admin-wrap .section-head .header-tools>*{flex:1 1 140px;min-height:44px;margin:0;white-space:normal}
  .admin-table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
  .admin-table{min-width:560px}
  .admin-table th,.admin-table td{padding:12px;font-size:13px}
  .tools-panel{min-width:0;max-width:100%;padding:18px 14px}
  .tools-panel form{display:block}
  .tools-panel .fields,.editor .fields{grid-template-columns:minmax(0,1fr)}
  .tools-panel h2{font-size:23px}
  .tools-panel pre{max-width:100%;overflow-x:auto}
  .editor{width:calc(100% - 20px);padding:20px 14px}
  .editor .dialog-head h2{font-size:22px}
  .editor-footer{display:flex;flex-wrap:wrap;gap:10px}
  .editor-footer button{flex:1;min-height:44px}
  .appearance-categories{grid-template-columns:minmax(0,1fr)}
  #marketingPanel fieldset{grid-template-columns:minmax(0,1fr);padding:14px}
}
@media(max-width:360px){
  body:not(.admin-page)>header .logo{width:74px}
  body:not(.admin-page)>header{gap:6px;padding-inline:4%}
  body:not(.admin-page)>header>.header-tools{gap:3px}
  .store-menu-button,.language{font-size:11px;padding-inline:3px}
  .cart{font-size:11px;padding:7px;gap:4px}
  .services{grid-template-columns:minmax(0,1fr)}
  .services .service-image{height:155px}
}
/* Keep page navigation and loading stable on touch screens. */
@media(max-width:760px){
  html{width:100%;max-width:100%;scroll-behavior:auto;overflow-x:clip}
  body{width:100%;max-width:100%;overflow-x:clip}
  #main,#adminMain{width:100%;max-width:100%;min-width:0}
  main>*,.hero>*,.product-layout>*,.section-head>*,.categories>*,.services>*,.product-grid>*,.merch-links>*,.fields>*{min-width:0}
  .section,.hero,.benefits,.how,.mobile-menu,header,footer{max-width:100%}
  body:not(.admin-page)>header>.header-tools{flex-wrap:wrap;justify-content:flex-end;row-gap:0}
  .hero-photo{aspect-ratio:1/1;background:#f4f8fb;border-radius:18px;overflow:hidden}
  .hero-photo>img{width:100%;height:100%;object-fit:contain;display:block}
  .detail-image{display:block;aspect-ratio:1/1;width:100%;height:auto;max-height:none;object-fit:contain}
  .season-art{width:100%;min-width:0;max-width:100%;overflow:hidden}
  .season-bar{max-width:100%;min-width:0;flex-wrap:wrap;gap:8px;padding:10px 5%}
  .season-bar>a{min-width:0;overflow-wrap:anywhere;flex:1 1 160px}
  .season-bar button{max-width:100%;white-space:normal;flex:0 1 auto}
  .brand-strip a,.product-description,.hero-copy p,.prose p,.box-components span{overflow-wrap:anywhere}
  .gallery{min-width:0;max-width:100%;overscroll-behavior-x:contain}
  .box-components article>span,.marketing-addons article>span{min-width:0;overflow-wrap:anywhere}
  .box-components img{flex:0 0 64px}
  .marketing-addons article{flex-wrap:wrap}
  .benefits>.benefit-card{animation:none;transition:none;transform:none}
  .benefit-icon,.category,.category-image,.merch-link.illustrated-shortcut{transition:none}
  .benefits>.benefit-card:hover,.benefit-card:hover .benefit-icon,.category:hover,.category:hover .category-image,.merch-link.illustrated-shortcut:hover{transform:none}
}
@supports not (overflow-x:clip){
  @media(max-width:760px){html,body{overflow-x:hidden}}
}
