/* Mobile storefront: navigation, readable cards and checkout entry points. */
.mobile-nav-backdrop{display:none}
.category-expand{display:none}

@media (max-width:950px){
  .site-header{height:82px;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;padding:8px 18px;z-index:31}
  .site-header #menu{grid-column:1;grid-row:1;display:grid;align-content:center;justify-items:center;gap:5px;width:44px;height:44px;padding:0;border:1px solid #dbe6d6;border-radius:13px;background:#f5f8f2;color:#17372e;cursor:pointer}
  .site-header #menu span{width:20px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
  .mobile-menu-open .site-header #menu span:first-child{transform:translateY(7px) rotate(45deg)}
  .mobile-menu-open .site-header #menu span:nth-child(2){opacity:0}
  .mobile-menu-open .site-header #menu span:last-child{transform:translateY(-7px) rotate(-45deg)}
  .site-header .logo{grid-column:2;grid-row:1;justify-self:center;width:min(330px,100%);min-width:0;margin:0}
  .site-header .logo img{width:100%;height:58px}
  .site-header .admin-link{grid-column:3;grid-row:1;justify-self:end;white-space:nowrap;padding:11px 14px;font-size:11px}
  .mobile-nav-ready .category-nav{display:none;position:fixed;top:var(--mobile-nav-top,82px);left:0;right:0;bottom:0;z-index:30;height:auto;overflow-y:auto;overscroll-behavior:contain;padding:10px 18px calc(30px + env(safe-area-inset-bottom));box-shadow:0 22px 35px #17372e24}
  .mobile-nav-ready .mobile-menu-open .category-nav{display:block}
  .mobile-nav-ready .mobile-menu-open .mobile-nav-backdrop{display:block;position:fixed;inset:var(--mobile-nav-top,82px) 0 0;z-index:29;width:100%;border:0;background:#17372e77;cursor:pointer}
  .mobile-menu-open{overflow:hidden}
  .mobile-menu-open .cart-trigger{visibility:hidden}
  .mobile-nav-ready #category-menu{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;height:auto;padding:0;gap:5px}
  .mobile-nav-ready .category-group{display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:stretch;border:1px solid #dbe6d6;border-radius:15px;overflow:hidden;background:#fff}
  .mobile-nav-ready .category-group>a{min-height:54px;padding:12px 15px;white-space:normal;font-size:13px;line-height:1.3}
  .mobile-nav-ready .category-expand{display:grid;place-items:center;width:46px;min-height:54px;border:0;border-left:1px solid #e6eee2;background:#f4f8f1;color:#2f7149;font-size:26px;cursor:pointer}
  .mobile-nav-ready .category-dropdown,.mobile-nav-ready .category-group:hover .category-dropdown,.mobile-nav-ready .category-group:focus-within .category-dropdown{display:none!important}
  .mobile-nav-ready .category-group.expanded .category-dropdown{display:grid!important;position:static;grid-column:1/-1;width:auto;padding:3px 12px 12px;border:0;border-top:1px solid #e6eee2;box-shadow:none;background:#f8faf6}
  .mobile-nav-ready .category-dropdown a{min-height:44px;display:flex;align-items:center;padding:10px 12px;font-size:13px;line-height:1.3}
  :is(a,button,input,select,textarea):focus-visible{outline:3px solid #43865a;outline-offset:2px}
}

@media (max-width:700px){
  html,body{max-width:100%;overflow-x:clip}
  .site-header{height:76px;padding:7px 12px;gap:7px}
  .site-header #menu{width:42px;height:42px}
  .site-header .logo img{height:52px}
  .site-header .admin-link{padding:10px 11px;font-size:10px}
  .mobile-nav-ready .category-nav{top:var(--mobile-nav-top,76px)}
  .mobile-nav-ready .mobile-menu-open .mobile-nav-backdrop{top:var(--mobile-nav-top,76px)}
  .green-hero{min-height:0;grid-template-columns:minmax(0,1fr);background:#f5f8f2}
  .green-hero-copy{padding:34px 20px 28px}
  .green-hero h1{font-size:clamp(36px,10vw,47px);line-height:1;overflow-wrap:normal}
  .green-hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.55}
  .green-hero .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .green-hero .button{width:100%;min-height:52px;padding:12px 16px;text-align:center;font-size:13px}
  .hero-promises{gap:11px 16px;font-size:11px}
  .green-hero-visual{min-height:265px;padding:15px 7% 12px}
  .green-hero-visual img{height:245px;max-width:75%}
  .hero-note{font-size:15px;right:5%;top:8%}
  .hero-imprint{left:7%;bottom:16px;padding:7px 11px;font-size:11px}
  .start-panel{margin:12px;gap:9px}
  .start-panel>a{min-height:75px;grid-template-columns:42px minmax(0,1fr) 18px;padding:10px 12px;gap:9px}
  .start-panel a i{width:40px;height:40px;font-size:19px}
  .start-panel a b{font-size:14px}
  .start-panel a small{font-size:11px}
  .professional-main{grid-template-columns:1fr;gap:13px;padding:24px}
  .professional-mark{width:52px;height:52px;font-size:17px}
  .professional-copy h2{font-size:clamp(27px,8vw,35px)}
  .professional-side{min-height:155px;padding:20px 23px}
  .professional-links a{min-height:36px;display:inline-flex;align-items:center;font-size:11px}
  .showcase,.catalog,.detail{padding:32px 14px}
  .section-title{gap:8px;margin-bottom:18px}
  .section-title h2{font-size:clamp(28px,8vw,36px)}
  .carousel-controls button{min-width:42px;min-height:42px;border-radius:50%}
  .home-bestsellers{padding:24px 14px 8px}
  .home-bestsellers .product-rail,.product-rail{grid-auto-columns:minmax(225px,78%);gap:12px;scroll-padding-inline:3px}
  .home-bestsellers .product-image{height:165px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .product-grid .product-image{height:155px;padding:12px}
  .product-card h3{min-height:0;font-size:13px;line-height:1.3}
  .product-card small{font-size:9px}
  .product-card .price{font-size:16px}
  .product-card small,.product-card h3,.product-card .price{margin-left:10px;margin-right:10px}
  .subcategory-cards{grid-template-columns:1fr;gap:13px}
  .subcategory-card{aspect-ratio:auto;min-height:230px;grid-template-rows:minmax(145px,1fr) auto}
  .subcategory-card-copy{min-height:76px;padding:12px 17px}
  .subcategory-card-copy b{font-size:17px}
  .subcategory-card-visual img{max-height:155px}
  .category-landing-copy{margin:0 0 15px;font-size:14px}
  .detail .back{margin-bottom:18px;min-height:44px}
  #detail-content[data-cards=true]{grid-template-columns:minmax(0,1fr);gap:13px}
  #detail-content[data-cards=true] .gallery{padding:12px;border-radius:18px}
  #detail-content .detail-image{height:clamp(245px,72vw,350px);max-height:none;border-radius:14px}
  #detail-content .summary-card,#detail-content[data-cards=true] .description,.configurator-slot{padding:19px!important;border-radius:19px}
  #detail-content .summary-card h1{font-size:clamp(27px,8vw,35px);line-height:1.07}
  #detail-content .summary-card .lead{font-size:14px;line-height:1.55}
  #detail-content .buy-info{padding:14px;gap:8px}
  #detail-content .buy-info strong{font-size:27px}
  #detail-content .add-cart-box{grid-template-columns:68px minmax(0,1fr);gap:9px;max-width:none}
  #detail-content .add-cart-box input{width:68px;min-width:0}
  #detail-content .add-cart-box button{min-width:0;padding:12px;font-size:14px}
  #detail-content .add-cart-box .start-configurator{grid-column:1/-1}
  #detail-content .product-delivery{max-width:none}
  #detail-content .delivery-option{min-height:62px}
  .variant-picker select{width:100%;max-width:none;min-height:48px;font-size:16px}
  .site-footer{padding:38px 18px 24px;gap:23px}
  .footer-brand-card{padding:25px 18px}
  .footer-side a,.footer-side span{min-height:30px}
  .cart-drawer{width:100%;padding:16px 14px max(18px,env(safe-area-inset-bottom))}
  .cart-items{min-height:0;overscroll-behavior:contain}
  .cart-item{grid-template-columns:58px minmax(0,1fr) auto;gap:8px;padding:10px}
  .cart-item img{width:58px;height:58px}
  .cart-item strong{font-size:13px}
  .cart-total{padding:15px}
  .cart-trigger{right:12px;bottom:max(12px,env(safe-area-inset-bottom));min-height:48px}
  .cookie-banner{left:9px;right:9px;bottom:max(9px,env(safe-area-inset-bottom));max-height:calc(100dvh - 18px);overflow-y:auto;padding:17px;gap:10px}
  .cookie-banner b{font-size:17px}
  .configurator-modal>section{height:100dvh}
  .configurator-modal header{padding:11px 13px}
  .configurator-modal header strong{font-size:15px}
}

@media (max-width:360px){
  .site-header{grid-template-columns:42px minmax(0,1fr) auto}
  .site-header .admin-link{padding:8px;font-size:9px}
  .product-grid{grid-template-columns:1fr}
  .product-grid .product-image{height:205px}
  .hero-note{font-size:13px}
}
