/* Desktop: spacious catalogue and a side cart. Mobile: dedicated navigation and full-screen cart. */
.menu-toggle,.mobile-bar{display:none}
input:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.product-bottom>div{min-width:0}.product h3{overflow-wrap:anywhere}
@media(min-width:761px){
  header{gap:18px;flex-wrap:wrap}
  header nav{flex-wrap:wrap;justify-content:center;gap:14px 22px}
  .products{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 26px}
  .product h3{font-size:25px}.product small{font-size:12px}.price{font-size:13px;line-height:1.7}
  .add{width:44px;height:44px}.product-bottom{padding:19px 0;align-items:start}
  .filter{font-size:12px;min-height:44px}.section-head>p{font-size:14px}
  .product-visual{border-radius:9px}.product-tag{font-size:9px}
  #cartDialog{width:510px;padding:32px}.qty button{width:36px;height:36px}
}
@media(min-width:761px) and (max-width:1050px){
  header nav{order:3;width:100%;padding-top:12px;border-top:1px solid var(--line);font-size:12px}
  .products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  html{scroll-padding-top:90px}body{padding-bottom:calc(76px + env(safe-area-inset-bottom));font-size:16px}
  .wrap{padding-left:18px;padding-right:18px;min-width:0}
  .topline{font-size:10px;padding:7px 12px}.topline span{display:none}
  header{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;gap:10px;padding:12px 18px;background:var(--paper);border-bottom:1px solid var(--line)}
  .brand{font-size:18px;gap:8px;flex:1;min-width:0}.brand svg{width:32px;flex-shrink:0}.brand small{font-size:6px;letter-spacing:1.5px}
  header>.cart-button{display:none}.menu-toggle{display:flex;align-items:center;gap:8px;min-height:44px;padding:9px 10px;background:transparent;border:1px solid var(--line);border-radius:7px;font-size:12px}
  header #mainNav{display:none;order:3;flex-basis:100%;width:100%;padding:8px 0 0;margin:0;border:0}
  header #mainNav.is-open{display:grid;grid-template-columns:1fr 1fr;gap:5px}
  header #mainNav a{padding:12px;background:#e9ecdf;border-radius:5px;font-size:13px;min-height:44px}
  .hero{grid-template-columns:1fr;gap:24px;padding-top:24px;padding-bottom:24px}.hero-copy{padding:0}
  h1{font-size:clamp(45px,11vw,68px);letter-spacing:-2px}.hero-copy>p{font-size:14px}.hero-copy .button{width:100%;font-size:14px;min-height:52px}
  .hero-photo{min-height:0;height:340px;margin:0 4px;border-radius:90px 90px 6px 6px}.round-seal{right:0;width:78px;height:78px;top:22px;font-size:7px}
  .photo-caption{font-size:27px}.hero-note{margin-top:20px;font-size:11px}.values{flex-wrap:wrap;margin-bottom:48px;gap:14px}.values span{min-width:120px;font-size:11px}
  h2{font-size:32px;letter-spacing:-1.3px}.section-head{display:block}.section-head>p{font-size:13px;margin-top:16px}
  .filter-row{flex-wrap:nowrap;overflow-x:auto;gap:8px;margin:24px 0 20px;padding:4px 2px 10px;scrollbar-width:thin}.filter{flex-shrink:0;min-height:44px;font-size:12px;padding:10px 15px}
  .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
  .product-visual:has(.product-photo){aspect-ratio:1/1;border-radius:8px}.product-visual .product-tag{display:none}
  .product-bottom{display:flex;flex-direction:column;align-items:stretch;padding:12px 0 0;gap:10px}.product{display:flex;flex-direction:column}.product-bottom{flex:1}.product-bottom>div{flex:1}
  .product h3{font-size:20px;line-height:1.2;letter-spacing:-.4px}.product small{font-size:11px;line-height:1.5}.price{font-size:12px;line-height:1.6;margin-top:10px}
  .add{width:100%;min-height:44px;height:auto;border-radius:6px;align-self:stretch;background:var(--green);color:var(--paper);font-size:22px;display:flex;align-items:center;justify-content:center;gap:8px}.add:after{content:'В корзину';font-size:12px}
  .catalog-note{flex-wrap:wrap;font-size:12px}.catalog-note p{font-size:12px;min-width:0}.catalog-note a{font-size:12px;margin-left:0;white-space:normal}
  .farm{grid-template-columns:1fr;gap:28px;margin-top:56px}.farm-visual{height:330px}.farm-copy>p,.steps p{font-size:14px}
  .farm-gallery,.order,.delivery-section{margin-top:56px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.gallery-item figcaption{display:block;font-size:12px}.gallery-item figcaption small{display:block}
  .farm-videos,.steps,.delivery-layout{grid-template-columns:1fr}.steps{gap:24px}.farm-videos p{font-size:13px}
  #deliveryMap{height:340px}.delivery-map-toolbar,.map-bottom{flex-wrap:wrap}.delivery-map-toolbar button,.map-bottom button{min-height:44px;font-size:12px}.zone-choice{min-height:48px}.map-data-note{font-size:10px}
  .contact{grid-template-columns:1fr;margin:56px 18px 0;padding:28px 20px}.contact-art{display:none}.contact h2{font-size:34px}.phone{font-size:clamp(21px,5.7vw,30px);letter-spacing:-.6px}.location{font-size:12px}.contact p{font-size:13px}.map-link{font-size:12px}
  footer{flex-wrap:wrap;padding-top:28px;padding-bottom:28px;gap:20px}footer>p{font-size:11px}
  .mobile-bar{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:6px;position:fixed;z-index:20;bottom:0;left:0;right:0;margin:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -4px 20px #2346380a}
  .mobile-bar a,.mobile-bar button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;border:0;border-radius:7px;font-size:13px}.mobile-bar a{background:#e9ecdf}.mobile-bar button{background:var(--green);color:white}.mobile-bar span{min-width:22px;padding:0 4px;border-radius:12px;background:#ffffff25;font-size:12px}
  #cartDialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:20px 18px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain}
  .drawer-head{position:sticky;top:-20px;background:var(--paper);z-index:1;padding:12px 0;border-bottom:1px solid var(--line)}.close,.qty button{width:44px;height:44px;flex-shrink:0}.qty{gap:8px}.cart-item>div:first-child{min-width:0}.cart-item h3{font-size:15px}.cart-item small{font-size:12px}.cart-item{gap:8px}.inquiry-note,.comment-label{font-size:13px}
  #deliveryAddress,#fulfillment,textarea{font-size:16px;min-height:48px}.full,.download,.call-order{font-size:14px;min-height:48px}.toast{bottom:calc(85px + env(safe-area-inset-bottom));font-size:13px}
}
@media(max-width:360px){.brand{font-size:16px}.menu-toggle{font-size:11px}.product h3{font-size:18px}.qty{gap:5px}.cart-item{flex-wrap:wrap}.product small{font-size:11px}}
