/* Baobab responsive experience layer
   Keeps the animated/visual design, but rebuilds spacing, grids and motion for touch devices. */
:root{
  --mobile-gutter: clamp(14px,4vw,28px);
  --tap-size: 44px;
}
html{
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body{
  width:100%;
  overscroll-behavior-y: none;
}
main,
.site-shell,
.container,
.hero-cinema-grid,
.product-detail-grid,
.checkout-grid,
.cart-layout,
.order-manage-grid,
.contact-grid,
.about-block,
.roast-story-grid,
.track-grid,
.order-track-modern{
  min-width:0;
}
img,svg,video,canvas{max-width:100%;}
input,textarea,select,button{max-width:100%;}
.header-wrap,
.product-card,
.motion-card,
.category-circle,
.glass-card,
.footer-card,
.filters-card,
.contact-card,
.about-block,
.order-summary,
.cart-summary,
.cart-panel{
  -webkit-tap-highlight-color: transparent;
}

@media (max-width: 1180px){
  :root{--container:1080px;}
  .container{width:min(var(--container),calc(100% - 44px));}
  .main-nav a{padding:10px 11px;font-size:.84rem;}
  .brand-modern{min-width:180px;}
  .hero-cinema-grid{gap:34px;grid-template-columns:minmax(0,1fr) minmax(320px,460px);}
  .hero-stage{min-height:500px;}
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
  .motion-card{min-height:340px;}
}

@media (max-width: 1020px){
  body.nav-open{overflow:hidden;}
  .container{width:calc(100% - 34px);}
  .announcement-modern{position:relative;z-index:120;}
  .announcement-inner{min-width:0;}
  .announcement-viewport{min-width:0;overflow:hidden;}
  .announcement-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
  .site-header{z-index:300;padding:10px 0;}
  .header-wrap{gap:10px;border-radius:26px;padding:8px 10px;}
  .brand-modern{min-width:0;flex:1;overflow:hidden;}
  .brand-copy{min-width:0;}
  .brand-copy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:34vw;}
  .brand-logo,.brand-mark{width:44px;height:44px;border-radius:15px;flex:0 0 auto;}
  .header-actions{gap:7px;flex:0 0 auto;}
  .lang-switch,.cart-icon-btn{width:44px;min-width:44px;height:44px;}
  .nav-toggle{width:44px;height:44px;padding:13px;display:grid;place-content:center;flex:0 0 auto;}
  .main-nav{
    position:fixed;
    inset:82px var(--mobile-gutter) auto var(--mobile-gutter);
    z-index:310;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    max-height:calc(100dvh - 104px);
    overflow:auto;
    overscroll-behavior:contain;
    padding:14px;
    border:1px solid rgba(255,255,255,.74);
    border-radius:28px;
    background:rgba(255,248,236,.94);
    -webkit-backdrop-filter:blur(22px);
    backdrop-filter:blur(22px);
    box-shadow:0 30px 85px rgba(28,17,10,.24);
  }
  .main-nav:before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    background:rgba(24,18,13,.18);
    opacity:0;
    pointer-events:none;
    transition:.25s var(--ease);
  }
  .main-nav.is-open:before{opacity:1;}
  .main-nav a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:13px 12px;
    text-align:center;
    background:rgba(255,255,255,.62);
    border:1px solid rgba(32,61,45,.08);
    box-shadow:0 8px 22px rgba(42,25,13,.06);
  }
  .hero-cinema{padding:34px 0 72px;min-height:auto;}
  .hero-cinema-grid{grid-template-columns:1fr;gap:24px;}
  .hero-stage{order:-1;min-height:clamp(340px,58vw,490px);}
  .hero-pack-wrap{width:min(360px,72vw);}
  .hero-product-img{max-height:390px;}
  .hero-copy{text-align:center;margin-inline:auto;}
  .hero-kicker,.eyebrow{justify-content:center;}
  .hero-actions,.hero-micro{justify-content:center;}
  .scroll-hint{display:none;}
  .motion-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;transform:none!important;}
  .motion-card{min-height:300px;border-radius:30px;}
  .motion-card img{height:210px;}
  .category-orbits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
  .category-circle{width:min(178px,26vw);height:min(178px,26vw);}
  .product-grid,.blog-grid,.brand-notes,.recovered-orders-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
  .section-head{align-items:flex-end;gap:18px;}
  .roast-story-grid,.about-block,.contact-grid,.cart-layout,.order-manage-grid,.checkout-grid,.order-track-modern,.product-detail-grid{grid-template-columns:1fr;}
  .detail-gallery,.detail-info,.cart-summary,.order-summary{position:relative;top:auto;}
  .footer-main{display:grid;grid-template-columns:1fr;}
  .footer-links{justify-content:space-between;}
  .cart-panel{width:min(480px,100%);}
}

@media (max-width: 760px){
  :root{--radius:24px;--radius-sm:16px;}
  .container{width:calc(100% - 26px);}
  .section-pad{padding:64px 0;}
  .section-pad.slim{padding:46px 0;}
  .section-pad.compact{padding:34px 0;}
  .site-header{padding:8px 0;}
  .site-header.is-scrolled{padding:6px 0;}
  .header-wrap{border-radius:22px;}
  .brand-copy strong{max-width:42vw;font-size:.94rem;}
  .brand-copy small{display:none;}
  .hero-copy h1,.page-hero h1{font-size:clamp(2.35rem,13vw,4.1rem);line-height:1.06;margin:14px 0;}
  .hero-copy p,.page-hero p,.section-head p{font-size:.98rem;line-height:1.9;}
  .hero-stage{min-height:clamp(300px,78vw,430px);}
  .hero-pack-wrap{width:min(315px,78vw);}
  .orbit-ring.ring-a{width:86%;}
  .orbit-ring.ring-b{width:58%;}
  .bean-satellite{width:36px;height:24px;}
  .coffee-steam{transform:scale(.78);top:20px;}
  .hero-micro span,.detail-chips span,.shipping-clean-list span{padding:9px 11px;font-size:.82rem;}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .hero-actions .btn{width:100%;padding-inline:12px;}
  .motion-strip-section{overflow:hidden;}
  .motion-strip{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:14px;
    padding:4px 13px 18px;
    margin-inline:-13px;
    -webkit-overflow-scrolling:touch;
  }
  .motion-strip::-webkit-scrollbar,.category-orbits::-webkit-scrollbar{display:none;}
  .motion-card{flex:0 0 78vw;min-height:300px;scroll-snap-align:center;}
  .motion-card img{height:220px;}
  .category-orbits{
    display:flex;
    justify-content:flex-start;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:14px;
    padding:8px 13px 18px;
    margin-inline:-13px;
    -webkit-overflow-scrolling:touch;
  }
  .category-orb{flex:0 0 38vw;scroll-snap-align:center;}
  .category-circle{width:min(148px,36vw);height:min(148px,36vw);}
  .product-grid,.blog-grid,.blog-grid.wide,.brand-notes,.track-grid,.recovered-orders-grid{grid-template-columns:1fr;gap:16px;}
  .product-card{border-radius:28px;}
  .product-media{aspect-ratio:1.06/1;}
  .product-media img{padding:18px;}
  .product-body{padding:17px;gap:10px;}
  .product-topline,.price-row,.product-actions,.footer-bottom,.summary-line,.manage-item,.order-info-list div,.spec-list div{gap:10px;}
  .product-actions{flex-wrap:wrap;align-items:stretch;}
  .product-actions .text-link{display:inline-flex;align-items:center;min-height:42px;}
  .quick-add-form{flex:1 1 150px;}
  .quick-add-btn{width:100%;min-height:44px;justify-content:center;}
  .filters-card{padding:16px;border-radius:24px;}
  .filters-form{grid-template-columns:1fr;}
  .filters-form input,.filters-form select,.filters-form button,.order-track-form input,.contact-card input,.contact-card textarea,.checkout-grid input,.checkout-grid textarea,.checkout-grid select,.track-card input{min-height:var(--tap-size);font-size:16px;}
  .form-row,.form-two-col{grid-template-columns:1fr;}
  .gallery-main{border-radius:30px;}
  .main-detail-image{max-height:360px;}
  .detail-info,.contact-card,.order-summary,.cart-summary,.footer-card,.success-card,.order-main-panel,.order-side-panel{padding:20px;border-radius:26px;}
  .about-block{padding:18px;border-radius:28px;}
  .about-block:nth-child(even){direction:inherit;}
  .about-block img,.image-placeholder.tall{height:260px;border-radius:22px;}
  .shipping-clean{gap:18px;}
  .shipping-clean-list{justify-content:flex-start;}
  .blog-card img{height:210px;}
  .footer-brand-block{display:grid;grid-template-columns:auto 1fr;align-items:start;}
  .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  .floating-cart{left:auto;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:52px;min-width:52px;height:52px;}
  .rtl .floating-cart{right:auto;left:16px;}
  .messages{top:82px;}
  .message{width:100%;}
  .cart-modal.is-open .cart-backdrop{opacity:1;}
  .cart-panel,
  .rtl .cart-panel{
    top:auto;
    right:10px;
    left:10px;
    bottom:10px;
    width:auto;
    height:min(86dvh,720px);
    border-radius:30px;
    overflow:hidden;
    transform:translateY(112%);
    box-shadow:0 -26px 70px rgba(0,0,0,.22);
  }
  .cart-modal.is-open .cart-panel,
  .rtl .cart-modal.is-open .cart-panel{transform:translateY(0);}
  .cart-panel-head,.cart-panel-foot{padding:16px;}
  .cart-panel-body{padding:14px;}
  .cart-modal-item{grid-template-columns:66px 1fr;gap:10px;border-radius:22px;}
  .cart-modal-side{grid-column:1/-1;justify-items:stretch;display:grid;grid-template-columns:1fr auto;align-items:center;}
  .modal-qty{justify-self:start;}
  .modal-remove{justify-self:end;}
  .cart-item{grid-template-columns:1fr;}
  .cart-product{align-items:flex-start;}
  .cart-product img,.mini-placeholder{width:72px;height:72px;flex:0 0 72px;}
  .cart-actions{justify-content:stretch;}
  .cart-actions .btn{width:100%;}
  .order-manage-head{display:grid;}
  .order-manage-head h1{font-size:2.2rem;}
  .status-timeline{grid-template-columns:repeat(2,1fr);}
  .saved-order{grid-template-columns:1fr;}
}

@media (max-width: 520px){
  .container{width:calc(100% - 22px);}
  .announcement-modern{font-size:.82rem;}
  .header-wrap{gap:7px;padding:7px;}
  .brand-logo,.brand-mark{width:40px;height:40px;border-radius:14px;}
  .brand-copy strong{max-width:34vw;font-size:.88rem;}
  .lang-switch,.cart-icon-btn,.nav-toggle{width:40px;min-width:40px;height:40px;}
  .cart-icon-btn svg{width:20px;}
  .main-nav{inset:70px 11px auto 11px;grid-template-columns:1fr;padding:12px;border-radius:24px;}
  .main-nav a{min-height:46px;}
  .hero-cinema{padding-top:22px;padding-bottom:56px;}
  .hero-stage{min-height:285px;}
  .hero-pack-wrap{width:min(270px,76vw);}
  .hero-product-img{max-height:300px;}
  .ring-a{width:84%;}
  .ring-b{width:54%;}
  .bean-satellite-1{right:1%;top:20%;}
  .bean-satellite-2{left:2%;bottom:24%;}
  .bean-satellite-3{right:13%;bottom:8%;}
  .hero-actions{grid-template-columns:1fr;}
  .hero-micro{display:grid;grid-template-columns:1fr 1fr;}
  .hero-micro span{text-align:center;}
  .section-head{display:grid;text-align:center;justify-items:center;}
  .section-head .btn{width:100%;}
  .motion-card{flex-basis:84vw;min-height:275px;}
  .motion-card h2{font-size:1.55rem;}
  .motion-card span{font-size:1.45rem;}
  .category-orb{flex-basis:43vw;}
  .category-circle{width:min(132px,39vw);height:min(132px,39vw);}
  .price-row{display:grid;align-items:start;}
  .boxed-actions{display:grid;grid-template-columns:1fr;}
  .product-actions .text-link{justify-content:center;width:100%;}
  .quick-add-form{width:100%;}
  .blog-card div{padding:18px;}
  .contact-card h2,.order-summary h2,.detail-info h1{font-size:1.65rem;}
  .payable-box,.summary-total.large,.footer-bottom{display:grid;gap:8px;text-align:center;}
  .footer-links{grid-template-columns:1fr;}
  .footer-brand-block{grid-template-columns:1fr;text-align:center;justify-items:center;}
  .success-actions{display:grid;}
  .success-actions .btn{width:100%;}
  .status-timeline{grid-template-columns:1fr;}
  .track-card-head{display:grid;justify-items:start;}
}

@media (max-width: 370px){
  .brand-copy{display:none;}
  .hero-copy h1,.page-hero h1{font-size:2.2rem;}
  .hero-micro{grid-template-columns:1fr;}
  .category-orb{flex-basis:54vw;}
  .motion-card{flex-basis:88vw;}
  .product-body{padding:15px;}
}

@media (hover:none), (pointer:coarse){
  .cursor-orb{display:none!important;}
  .magnetic,.tilt-active,[data-tilt]{transform:none!important;}
  .product-card:hover .product-media img,.motion-card:hover img,.category-orb:hover img,.blog-card:hover{transform:none;}
  .btn:hover{transform:none;}
  .product-card,.motion-card,.blog-card,.category-circle{touch-action:manipulation;}
}

@media (prefers-reduced-motion: reduce){
  .hero-bg-video span,.ambient,.orbit-ring,.hero-pack-wrap,.bean-satellite,.coffee-steam i,.category-circle:before,.story-bean-track i{animation:none!important;}
}
