/* Padrão responsivo Rainha Nova — outubro 2026 */
*,*::before,*::after{box-sizing:border-box}
img,video{max-width:100%} input,select,textarea{min-width:0}
a,button,input,select,textarea{touch-action:manipulation}
:focus-visible{outline:3px solid #f2cf65;outline-offset:4px}
.product-card{min-width:0;overflow:hidden!important}
.product-info h3{line-height:1.4;overflow-wrap:anywhere}
.add:disabled{opacity:.55;cursor:not-allowed}
.local-shop-info{margin-top:32px;padding:24px;border:1px solid #51401c;border-radius:16px;background:#151512}
.local-shop-info h3{margin:0 0 12px;color:#f2cf65}.local-shop-info p{color:#d0c9b8;line-height:1.7}
.local-shop-info a{color:#f2cf65;text-decoration:underline;text-underline-offset:3px}
@media(max-width:850px){
 header .container.nav{height:72px!important;gap:8px!important}
 header .logo{flex:1 1 auto!important;min-width:0!important;padding:0!important;border:0!important}
 header .logo img{width:44px!important;height:44px!important;flex-shrink:0}
 header .logo-text{display:block!important;font-size:12px!important;letter-spacing:1px!important}
 header .logo-text span{display:none!important}
 .mobile-menu-toggle{margin-left:0!important;min-width:44px;min-height:44px;justify-content:center}
 header .store-cart-button{display:flex!important;min-width:54px;min-height:44px;height:auto!important}
 header nav#mainNav{top:72px!important;max-height:calc(100dvh - 84px)}
 header nav#mainNav a{min-height:44px}
 .hero{min-height:0!important;padding-bottom:48px}.hero-content{padding-top:48px!important}
 .hero h1{font-size:clamp(32px,8vw,48px)!important;line-height:1.12}
 section{padding:48px 0}.container{width:calc(100% - 32px)}
 .store-head{gap:16px}.section-head h2,h2{overflow-wrap:anywhere}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
 .drawer-panel{height:100dvh;padding-bottom:max(24px,env(safe-area-inset-bottom))!important}
 .modal-card{max-height:calc(100dvh - 24px);margin:12px auto;overscroll-behavior:contain}
 .drawer-panel,.modal-card{overscroll-behavior:contain}
 .form-grid input,.shipping-row input,input,select,textarea{font-size:16px!important}
 .qty button,.icon-btn{min-width:44px;min-height:44px}.qty{flex-wrap:wrap}
 .whatsapp{right:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:12px 16px;font-size:13px}
 body:has(.drawer.open) .whatsapp,body:has(.modal.open) .whatsapp{visibility:hidden}
 body:has(.drawer.open),body:has(.modal.open){overflow:hidden}
 .local-shop-info{padding:20px}
}
@media(max-width:600px){
 .product-grid{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
 .product-image{height:auto!important;aspect-ratio:1/1;padding:16px!important;overflow:hidden}
 .product-image img{width:100%!important;height:100%!important;max-height:100%!important;object-fit:contain!important;min-height:0}
 .product-info{padding:20px!important;gap:10px}.product-info h3{font-size:19px!important}
 .product-description>summary{font-size:13px!important;min-height:44px}
 .product-description-content{font-size:14px!important}
 .price-row{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important}
 .price{font-size:23px!important}.add{width:auto!important;min-width:110px;min-height:48px!important;font-size:14px!important}
 .form-grid{grid-template-columns:minmax(0,1fr)}.cart-item{grid-template-columns:44px minmax(0,1fr)!important}
 .cart-item>strong{grid-column:2}.cart-item.no-thumb{grid-template-columns:minmax(0,1fr)!important}.cart-item.no-thumb>strong{grid-column:1}
 .cart-item img{width:44px!important;height:44px!important}.shipping-row{grid-template-columns:minmax(0,1fr) auto!important}
 .btn{white-space:normal;text-align:center;min-height:44px}.hero-actions{display:flex;flex-direction:column;align-items:stretch}
 footer{padding-bottom:80px!important}.toast{max-width:calc(100% - 32px);width:max-content}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Correção do carrinho: impedir corte horizontal e sobreposição de itens. */
#cartDrawer .drawer-panel{box-sizing:border-box!important;max-width:100vw!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain}
#cartDrawer .drawer-panel>*{flex-shrink:0!important;min-width:0!important;max-width:100%!important}
#cartDrawer .cart-items{min-height:0!important;overflow:visible!important}
#cartDrawer .cart-item{width:100%!important;min-width:0!important;flex-shrink:0!important}
#cartDrawer .cart-item>div{min-width:0!important}
#cartDrawer .cart-item h4{overflow-wrap:anywhere;line-height:1.4}
#cartDrawer .shipping-box{position:static!important;width:100%!important}
#cartDrawer .shipping-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;width:100%!important}
#cartDrawer .shipping-row input{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
#cartDrawer .totals{width:100%!important}
#cartDrawer .totals>div{display:flex!important;gap:12px;justify-content:space-between!important;min-width:0}
#cartDrawer .totals strong{white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:700px){
 #cartDrawer .drawer-panel{inset:0!important;width:100%!important;height:100dvh!important;padding:20px 16px max(24px,env(safe-area-inset-bottom))!important;font-size:15px!important;line-height:1.5}
 #cartDrawer .drawer-head h2{font-size:26px!important;margin:4px 0 18px!important}
 #cartDrawer .cart-item{grid-template-columns:48px minmax(0,1fr)!important;padding:12px!important;gap:10px!important}
 #cartDrawer .cart-item.no-thumb{grid-template-columns:minmax(0,1fr)!important}
 #cartDrawer .cart-item img{width:48px!important;height:48px!important}
 #cartDrawer .cart-item h4{font-size:15px!important;margin:0 0 4px!important}
 #cartDrawer .cart-item small{font-size:13px!important}
 #cartDrawer .cart-item>strong{grid-column:2!important;font-size:16px!important}
 #cartDrawer .cart-item.no-thumb>strong{grid-column:1!important}
 #cartDrawer .qty{gap:10px!important;margin-top:10px!important}
 #cartDrawer .qty button{width:44px!important;height:44px!important;font-size:20px!important}
 #cartDrawer .shipping-box{padding:14px!important;margin-top:20px!important}
 #cartDrawer .shipping-box label{font-size:14px!important}
 #cartDrawer .shipping-row{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
 #cartDrawer .shipping-row button{width:100%!important;min-height:46px!important;font-size:14px!important}
 #cartDrawer .totals{margin-top:20px!important;padding-top:16px!important;gap:10px!important;font-size:15px!important}
 #cartDrawer .totals .total{font-size:20px!important}
 #cartDrawer .checkout-btn{min-height:50px!important;width:100%!important;font-size:15px!important;padding:14px!important}
}

/* Acesso ao painel administrativo em computador e celular. */
header .admin-top-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:44px;min-height:44px}
@media(min-width:851px) and (max-width:1400px){
 header nav{gap:9px!important;font-size:12px!important}
 header nav a{padding-left:0!important;padding-right:0!important}
}
@media(min-width:851px) and (max-width:1180px){
 header nav{gap:7px!important;font-size:11px!important}
 header .btn-gold{padding-left:10px!important;padding-right:10px!important;font-size:11px!important}
}
@media(max-width:850px){header .admin-top-link{display:inline-flex!important;padding:8px;font-size:11px}}
@media(max-width:480px){header .logo-text{display:none!important}}

/* Permite navegar pelos patrocinadores quando o sistema reduz animações. */
@media(prefers-reduced-motion:reduce){
 .top-sponsors-viewport{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
 .top-sponsors-track{transform:none!important}
 .top-sponsors-track .top-sponsor[aria-hidden="true"]{display:none}
}
