/* Camada responsiva final do site público — Android, iOS e tablets. */
:root{
  --mobile-gutter:clamp(14px,4vw,22px);
  --safe-top:env(safe-area-inset-top,0px);
  --safe-right:env(safe-area-inset-right,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-left:env(safe-area-inset-left,0px)
}

/* Android e iOS — cards folheáveis horizontalmente em todas as seções */
@media (max-width:900px){
  html:is([data-platform="android"],[data-platform="ios"]) body,
  html:is([data-platform="android"],[data-platform="ios"]) body:not(.scroll-locked):not(.nav-open),
  html:is([data-platform="android"],[data-platform="ios"]) body:not(.scroll-locked):not(.nav-open) main{
    touch-action:pan-x pan-y pinch-zoom!important;
  }
  html:is([data-platform="android"],[data-platform="ios"]) :is(
    .future-categories,
    .future-product-grid,
    .future-combo-grid,
    .catalog-grid,
    .offers-grid,
    .service-grid,
    .occasion-grid,
    .contact-grid,
    .contact-channel-grid,
    .flavor-list,
    .commercial-grid
  ){
    display:flex!important;
    grid-template-columns:none!important;
    gap:12px!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding-top:2px!important;
    padding-right:max(12px,calc(50% - min(160px,43vw)))!important;
    padding-bottom:12px!important;
    padding-left:max(12px,calc(50% - min(160px,43vw)))!important;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:50%;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    touch-action:pan-x pan-y;
  }
  html:is([data-platform="android"],[data-platform="ios"]) :is(
    .future-categories,
    .future-product-grid,
    .future-combo-grid,
    .catalog-grid,
    .offers-grid,
    .service-grid,
    .occasion-grid,
    .contact-grid,
    .contact-channel-grid,
    .flavor-list,
    .commercial-grid
  )::-webkit-scrollbar{display:none}
  html:is([data-platform="android"],[data-platform="ios"]) :is(
    .future-category,
    .future-product-card,
    .future-combo-card,
    .catalog-card,
    .offer-card,
    .service-card,
    .occasion-card,
    .contact-card,
    .contact-info-row,
    .flavor-card,
    .commercial-card
  ){
    flex:0 0 min(320px,86vw);
    width:min(320px,86vw);
    max-width:min(360px,86vw);
    min-width:min(280px,86vw);
    scroll-snap-align:center;
    scroll-snap-stop:always;
  }
  html:is([data-platform="android"],[data-platform="ios"]) .future-categories{
    padding-right:6px!important;
    padding-left:6px!important;
    scroll-padding-inline:6px!important;
    scroll-snap-type:x proximity!important;
  }
  html:is([data-platform="android"],[data-platform="ios"]) .future-category{
    flex:0 0 calc(100% - 12px)!important;
    width:calc(100% - 12px)!important;
    min-width:calc(100% - 12px)!important;
    max-width:calc(100% - 12px)!important;
    margin:0!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    scroll-snap-align:start!important;
  }
  html:is([data-platform="android"],[data-platform="ios"]) :is(
    .future-category-image img,
    .future-product-image img,
    .future-combo-image img,
    .catalog-image img,
    .commercial-image img,
    .card-image,
    .service-image
  ){
    object-position:center center!important;
  }
}
*,*::before,*::after{box-sizing:border-box}
html{width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
html{min-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch}
body{width:100%;min-width:320px;min-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto;touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch;-webkit-font-smoothing:antialiased}
body:not(.scroll-locked):not(.nav-open),body:not(.scroll-locked):not(.nav-open) main,body:not(.scroll-locked):not(.nav-open) .footer{overflow-y:visible;touch-action:pan-y pinch-zoom}
.page-inicio{display:flex;flex-direction:column}
img,svg,video,canvas{max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
input,select,textarea{font-size:16px!important}
[hidden]{display:none!important}
body.scroll-locked{overflow:hidden!important;touch-action:none!important}

@supports(padding:max(0px)){
  .public-header{padding-left:max(var(--mobile-gutter),var(--safe-left));padding-right:max(var(--mobile-gutter),var(--safe-right))}
  .footer{padding-right:max(var(--mobile-gutter),var(--safe-right));padding-bottom:max(24px,var(--safe-bottom));padding-left:max(var(--mobile-gutter),var(--safe-left))}
}

@media(max-width:900px){
  .public-header{position:sticky!important;z-index:100;top:0;width:100%;height:64px!important;min-height:64px;padding:0 var(--mobile-gutter)!important;gap:8px}
  .public-header .brand{min-width:0;flex:1;gap:9px}
  .public-header .brand img{width:42px!important;height:42px!important;flex:0 0 42px;object-fit:contain}
  .public-header .brand span{min-width:0;overflow:hidden;font-size:12px!important;white-space:nowrap;text-overflow:ellipsis}
  .public-header .brand small{display:none}
  .mobile-nav-button{order:3!important;display:grid!important;place-items:center;width:44px!important;min-width:44px;height:44px!important;margin:0!important;padding:0!important;border-radius:10px!important}
  .header-actions{order:2!important;display:flex!important;flex:0 0 auto;gap:5px!important;margin:0!important}
  .header-actions .theme-toggle,.header-actions .admin-panel-link{display:none!important}
  .header-actions .account-link,.header-actions .cart-link{position:relative;width:42px!important;min-width:42px!important;height:42px!important;padding:0!important;justify-content:center!important;border-radius:10px!important}
  .header-actions .account-link span,.header-actions .cart-link>span{display:none!important}
  .header-actions svg,.mobile-nav-button svg{width:20px;height:20px}
  .cart-link b{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px}

  .main-nav{position:fixed!important;z-index:102!important;top:calc(64px + var(--safe-top))!important;right:var(--mobile-gutter)!important;left:var(--mobile-gutter)!important;width:auto!important;max-height:calc(100dvh - 80px - var(--safe-top) - var(--safe-bottom));padding:10px!important;display:flex!important;flex-direction:column!important;gap:4px!important;overflow-y:auto!important;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-12px) scale(.98);transform-origin:top center;transition:opacity .2s ease,transform .2s ease,visibility .2s;border:1px solid var(--page-header-border,var(--future-line))!important;border-radius:14px!important;background:var(--page-header-bg,var(--future-bg))!important;box-shadow:0 22px 55px rgba(0,0,0,.42)!important;-webkit-overflow-scrolling:touch}
  .main-nav.open{visibility:visible;opacity:1;pointer-events:auto;transform:none}
  .main-nav a{width:100%;min-height:48px;padding:0 15px!important;display:flex;align-items:center;border:0!important;border-radius:9px!important;color:var(--page-header-text,var(--future-text))!important;text-align:left!important}
  .main-nav a.active{background:var(--page-button-bg,var(--future-yellow))!important;color:var(--page-button-text,var(--future-text))!important}
  .mobile-nav-backdrop{position:fixed;z-index:101;inset:64px 0 0;background:rgba(0,0,0,.58);opacity:0;transition:opacity .2s;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
  .mobile-nav-backdrop.open{opacity:1}
  body.nav-open{overflow:hidden}

  .future-top-strip{min-height:38px;padding:0 var(--mobile-gutter)!important;justify-content:flex-start!important;gap:18px!important;overflow:hidden;white-space:nowrap}
  .future-top-strip span{flex:0 0 auto}
  .future-hero{min-height:auto!important;padding:38px var(--mobile-gutter) 28px!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
  .future-hero-copy{width:100%;max-width:none!important}
  .future-pill{max-width:100%;gap:12px!important;white-space:normal}
  .future-hero h1{max-width:100%!important;margin:20px 0 14px!important;font-size:clamp(34px,10vw,52px)!important;line-height:1.04!important;overflow-wrap:anywhere}
  .future-hero p{font-size:15px!important;line-height:1.6!important}
  .future-actions{width:100%;gap:9px!important}
  .future-button{min-height:50px;flex:1 1 190px;gap:16px!important}
  .future-benefits{margin-top:24px!important;gap:12px!important}
  .future-hero-media{min-height:280px!important}
  .future-hero-media img{width:100%!important;height:min(76vw,360px)!important;object-fit:contain!important}
  .future-orbit{max-width:92vw;max-height:54vw}

  .future-category-shell,.future-products,.future-combos,.future-builder,.future-trust{width:auto!important;margin-right:var(--mobile-gutter)!important;margin-left:var(--mobile-gutter)!important}
  .future-category-shell{padding:16px!important}
  .future-section-heading{margin-bottom:17px!important;gap:10px!important}
  .future-section-heading h2,.future-combo-intro h2,.future-builder h2{font-size:clamp(25px,7vw,34px)!important}
  .future-categories{margin-right:-16px;margin-left:-16px;padding:0 16px 8px;display:flex!important;gap:9px!important;overflow-x:auto!important;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .future-categories::-webkit-scrollbar{display:none}
  .future-category{scroll-snap-align:center}
  .future-products{padding:48px 16px 16px!important}
  .future-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .future-product-image{height:clamp(140px,42vw,210px)!important}
  .future-product-copy{padding:13px!important}
  .future-product-copy h3{min-height:0!important;font-size:15px!important}
  .future-product-copy footer{gap:8px}
  .future-product-copy footer span{font-size:14px!important}
  .future-product-copy footer button,.future-product-copy footer a,.future-combo-copy footer button,.future-combo-copy footer a{width:auto!important;min-width:88px!important;height:44px!important;padding:0 12px!important}
  .future-combos{margin-top:40px!important;padding:16px!important;grid-template-columns:minmax(0,1fr)!important}
  .future-combo-intro{padding:5px!important}
  .future-combo-grid{grid-template-columns:minmax(0,1fr)!important}
  .future-combo-card{min-height:290px}
  .future-builder{margin-top:40px!important;margin-bottom:40px!important;padding:22px!important;grid-template-columns:minmax(0,1fr)!important;gap:25px!important}
  .future-builder-copy ol{flex-direction:column!important}
  .future-builder-panel{padding:18px!important}
  .future-trust{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-bottom:40px!important}
  .future-trust div{min-height:96px;padding:16px!important}

  .page-hero{min-height:190px!important;padding:35px var(--mobile-gutter)!important}
  .page-hero h1{font-size:clamp(30px,9vw,44px)!important;overflow-wrap:anywhere}
  .page-content,.commercial-section,.portal-shell{padding-right:var(--mobile-gutter)!important;padding-left:var(--mobile-gutter)!important}
  .catalog-grid,.commercial-grid,.services-grid,.contact-grid,.flavor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}
  .filter-bar{display:flex;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .filter-bar::-webkit-scrollbar{display:none}
  .filter-bar button{min-width:max-content;min-height:44px}

  .cart-drawer{top:0!important;width:min(430px,100%)!important;max-width:100%;height:100dvh;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}
  .cart-drawer>header{min-height:68px;height:auto!important;padding:12px var(--mobile-gutter)!important}
  .cart-drawer-items{padding:8px var(--mobile-gutter)!important;-webkit-overflow-scrolling:touch}
  .cart-drawer>footer{padding:14px var(--mobile-gutter) max(14px,var(--safe-bottom))!important}
  .cart-overlay{inset:0!important}
  .commerce-cart-row{grid-template-columns:minmax(0,1fr) auto!important;gap:9px!important}
  .commerce-cart-row>span{grid-column:1/-1!important;text-align:left!important;font-weight:600}
  .commerce-quantity button{width:40px!important;height:40px!important;font-size:20px}

  .portal-shell{padding-top:28px!important;padding-bottom:max(45px,var(--safe-bottom))!important}
  .portal-heading{align-items:flex-start!important;flex-direction:column!important}
  .portal-heading h1,.portal-intro h1{font-size:clamp(28px,8vw,38px)!important}
  .portal-summary,.checkout-layout,.payment-layout,.order-detail-grid,.auth-shell{grid-template-columns:minmax(0,1fr)!important}
  .checkout-form,.payment-summary,.order-side{position:static!important}
  .checkout-items,.checkout-form,.payment-methods,.payment-summary,.order-detail,.order-side,.invoice-card,.auth-card{padding:18px!important}
  .payment-methods label>span{min-height:76px}
  .commerce-primary{min-height:48px}
  .pix-card img{width:min(290px,100%)!important}
  .portal-actions{width:100%;flex-wrap:wrap}
  .portal-actions>*{flex:1 1 145px}
  .order-history-row{grid-template-columns:minmax(0,1fr) auto!important;padding:15px!important}
  .order-history-row>span:nth-child(3),.order-history-row>i{display:none!important}
  .invoice-data{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  .footer{padding:28px var(--mobile-gutter) max(28px,var(--safe-bottom))!important;display:grid!important;gap:24px!important;text-align:center}
  .footer>div{justify-content:center}
  .footer nav{display:flex!important;justify-content:center;flex-wrap:wrap;gap:10px 16px!important}
  .footer>span{text-align:center}
}

@media(max-width:560px){
  .public-header .brand span{display:none!important}
  .public-header .brand{flex:1}
  .future-top-strip span:nth-child(n+3){display:none!important}
  .future-hero{padding-top:30px!important}
  .future-hero-media{min-height:230px!important}
  .future-product-grid,.catalog-grid,.commercial-grid,.services-grid,.contact-grid,.flavor-grid{grid-template-columns:minmax(0,1fr)!important}
  .future-product-image{height:min(68vw,280px)!important}
  .future-product-copy p{display:block!important;height:auto!important}
  .future-trust{grid-template-columns:minmax(0,1fr)!important}
  .future-trust div{border-right:0!important}
  .future-actions{flex-direction:column!important}
  .future-button{width:100%;flex-basis:auto}
  .form-pair,.invoice-data{grid-template-columns:minmax(0,1fr)!important}
  .portal-empty{padding:38px 18px!important}
  .site-flash{top:72px!important;width:calc(100% - 24px)}
}

@media(max-width:360px){
  :root{--mobile-gutter:10px}
  .header-actions .account-link{display:none!important}
  .future-hero h1{font-size:32px!important}
}

@media(hover:none) and (pointer:coarse){
  a,button{min-height:44px}
  .future-product-card:hover,.commercial-card:hover{transform:none!important}
  .gallery-control{width:44px!important;height:44px!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
