:root{--mobile-nav-height:76px;--mobile-safe-bottom:env(safe-area-inset-bottom,0px)}
.arribau-mobile-only,.arribau-mobile-supplier-link{display:none!important}
.arribau-mobile-drawer,.arribau-mobile-backdrop,.arribau-mobile-bottom-nav{display:none}
@media(max-width:768px){
  *,*::before,*::after{box-sizing:border-box}
  html,body{max-width:100%;overflow-x:hidden}
  img,svg,video,canvas{max-width:100%;height:auto}
  html{scroll-padding-bottom:calc(var(--mobile-nav-height) + 24px)}
  body{padding-bottom:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom) + 18px)!important}
  body.arribau-menu-open{overflow:hidden!important;touch-action:none}
  .arribau-mobile-only{display:flex!important}
  .arribau-app-nav{display:none!important}
  .topbar{position:sticky!important;top:0;z-index:9000;min-height:62px!important;padding:7px 12px!important;gap:8px!important;background:rgba(255,249,238,.97)!important;backdrop-filter:blur(14px);border-bottom:1px solid rgba(14,53,35,.12)}
  .topbar .logo{display:flex;align-items:center;min-width:0}
  .topbar .logo img{width:auto!important;max-width:132px!important;max-height:48px!important;object-fit:contain}
  .topbar>.nav,.topbar nav.nav,.topbar .global-site-search{display:none!important}
  .header-quick-actions{margin-left:auto!important;gap:5px!important}
  .header-action{width:42px!important;min-width:42px!important;height:42px!important;padding:0!important}
  .header-action-label{display:none!important}
  main{width:100%;overflow:hidden}
  .section,section.section{padding-left:16px!important;padding-right:16px!important}
  h1,.hero-title{font-size:clamp(32px,10vw,46px)!important;line-height:1.02!important;overflow-wrap:anywhere}
  h2{font-size:clamp(25px,7vw,34px)!important;line-height:1.08!important;overflow-wrap:anywhere}
  h3{line-height:1.18}
  p{overflow-wrap:anywhere}
  .hero,.section.hero{grid-template-columns:1fr!important;min-height:auto!important;padding-top:28px!important;padding-bottom:24px!important;gap:22px!important}
  .hero-copy,.hero-map-panel{min-width:0;width:100%}
  .hero-lead{font-size:17px!important;line-height:1.5!important}
  .hero-map-panel img{width:100%;height:auto!important;object-fit:contain!important}
  .actions,.home-hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%}
  .actions .button,.home-hero-actions .button,.button,.btn,button,input[type=submit]{min-height:46px;font-size:16px}
  .actions .button{width:100%;justify-content:center;text-align:center}
  .grid-2,.grid-3,.grid-4,.product-grid,.producer-grid,.guide-grid,.form-row,.form-row.three,.checkout-grid,.cart-grid{grid-template-columns:1fr!important}
  .card,.guide-card,.product-card,.producer-card,.panel,.box{min-width:0;width:100%}
  .category-strip{display:flex!important;overflow-x:auto!important;gap:9px!important;padding:4px 2px 10px!important;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .category-chip{flex:0 0 auto;scroll-snap-align:start;min-height:44px}
  .home-section-head{display:block!important}
  .home-section-head>.button{width:100%;margin-top:12px;text-align:center;justify-content:center}
  .supplier-cta,.story-band{grid-template-columns:1fr!important;padding:22px!important;gap:18px!important}
  footer{grid-template-columns:1fr!important;padding:30px 18px calc(26px + var(--mobile-safe-bottom))!important;text-align:center}
  .footer-links{justify-content:center!important}
  form,input,select,textarea{max-width:100%!important}
  input,select,textarea{font-size:16px!important;min-height:46px}
  label{line-height:1.35}
  .modal,.dialog,[role=dialog],.popup,.sheet{max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important;overflow:auto!important}
  table{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  th,td{white-space:normal!important;min-width:120px}
  .product-card img,.product-image img,.card img{object-fit:cover;max-height:280px}
  .arribau-mobile-supplier-link{display:flex!important;align-items:center;justify-content:space-between;gap:12px;margin:18px 16px 4px;padding:16px 18px;border:1px solid rgba(14,53,35,.2);border-radius:18px;background:#fff9ee;color:#0e3523;text-decoration:none;font-weight:900;box-shadow:0 8px 24px rgba(14,53,35,.08)}
  .arribau-mobile-supplier-link span:last-child{font-size:22px}
  .arribau-mobile-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:8px;right:8px;bottom:calc(8px + var(--mobile-safe-bottom));z-index:9996;min-height:68px;padding:6px;border:1px solid rgba(14,53,35,.16);border-radius:22px;background:rgba(255,251,243,.97);backdrop-filter:blur(18px);box-shadow:0 12px 38px rgba(14,53,35,.22)}
  .arribau-mobile-bottom-nav a,.arribau-mobile-bottom-nav button{appearance:none;border:0;background:transparent;color:#0e3523;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:54px;padding:5px 2px;border-radius:15px;font:900 10px/1.1 inherit;cursor:pointer}
  .arribau-mobile-bottom-nav .nav-icon{font-size:20px;line-height:1}
  .arribau-mobile-bottom-nav .is-active{background:#0e3523;color:#fff9ee}
  .arribau-mobile-bottom-nav .cart-badge{position:absolute;transform:translate(13px,-13px);min-width:18px;height:18px;padding:0 4px;border-radius:20px;background:#f2aa00;color:#0e3523;font-size:10px;display:grid;place-items:center;border:2px solid #fff9ee}
  .arribau-mobile-backdrop{position:fixed;display:block;inset:0;z-index:9997;background:rgba(5,24,15,.55);opacity:0;pointer-events:none;transition:opacity .2s ease}
  .arribau-mobile-drawer{position:fixed;display:flex;flex-direction:column;top:0;right:0;bottom:0;z-index:9998;width:min(88vw,380px);background:#fffaf1;box-shadow:-20px 0 60px rgba(4,25,15,.28);transform:translateX(105%);transition:transform .22s ease;overflow:auto;padding:calc(18px + env(safe-area-inset-top,0px)) 18px calc(28px + env(safe-area-inset-bottom,0px))}
  body.arribau-menu-open .arribau-mobile-backdrop{opacity:1;pointer-events:auto}
  body.arribau-menu-open .arribau-mobile-drawer{transform:translateX(0)}
  .arribau-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(14,53,35,.14)}
  .arribau-drawer-head strong{font-size:21px;color:#0e3523}
  .arribau-drawer-close{width:44px;height:44px;border:0;border-radius:50%;background:#0e3523;color:#fff;font-size:22px}
  .arribau-drawer-user{margin:14px 0;padding:13px 14px;border-radius:15px;background:#f5ead4;color:#0e3523;font-weight:800;line-height:1.35}
  .arribau-drawer-section{padding:13px 0 4px}
  .arribau-drawer-section h3{margin:0 0 8px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#6a766d}
  .arribau-drawer-links{display:grid;gap:7px}
  .arribau-drawer-links a,.arribau-drawer-links button{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:11px 13px;border:1px solid rgba(14,53,35,.13);border-radius:14px;background:#fff;color:#0e3523;text-decoration:none;text-align:left;font-weight:850;font-size:15px}
  .arribau-drawer-links .supplier-primary{background:#0e3523;color:#fff9ee;border-color:#0e3523}
  .arribau-drawer-links .logout{color:#8c2424}
}
@media(max-width:480px){
  .section,section.section{padding-left:13px!important;padding-right:13px!important}
  .topbar{padding-left:10px!important;padding-right:10px!important}
  .topbar .logo img{max-width:118px!important}
  .header-action{width:39px!important;min-width:39px!important;height:39px!important}
  .arribau-mobile-bottom-nav{left:5px;right:5px;bottom:calc(5px + var(--mobile-safe-bottom));border-radius:19px}
  .arribau-mobile-bottom-nav a,.arribau-mobile-bottom-nav button{font-size:9.5px}
  .arribau-mobile-bottom-nav .nav-icon{font-size:19px}
}
@media(min-width:769px) and (max-width:1024px){
  .section,section.section{padding-left:28px!important;padding-right:28px!important}
  .grid-3,.product-grid,.producer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .topbar{flex-wrap:wrap}
}

@media(min-width:1025px){
  .arribau-mobile-only,.arribau-mobile-supplier-link,.arribau-mobile-drawer,.arribau-mobile-backdrop,.arribau-mobile-bottom-nav{display:none!important}
  body{padding-bottom:0!important}
}
