/* GOCCE responsive hardening: deliberately conservative outside mobile widths. */
html{-webkit-text-size-adjust:100%}body.gocce-mobile-hardening{overflow-x:hidden}body.gocce-mobile-hardening img,body.gocce-mobile-hardening video,body.gocce-mobile-hardening iframe{max-width:100%}body.gocce-mobile-hardening input,body.gocce-mobile-hardening select,body.gocce-mobile-hardening textarea,body.gocce-mobile-hardening button{max-width:100%;box-sizing:border-box}
@media(max-width:782px){
body.gocce-mobile-hardening{--gocce-mobile-gap:12px}body.gocce-mobile-hardening #page,body.gocce-mobile-hardening .site,body.gocce-mobile-hardening .site-content,body.gocce-mobile-hardening .content-area,body.gocce-mobile-hardening main{max-width:100%;min-width:0}body.gocce-mobile-hardening .container,body.gocce-mobile-hardening .site-container,body.gocce-mobile-hardening .content-container,body.gocce-mobile-hardening .woocommerce,body.gocce-mobile-hardening .woocommerce-page{min-width:0;max-width:100%}
/* Product grids: keep the user's preferred 2-column mobile layout while preventing card overlap. */
body.gocce-mobile-hardening .woocommerce ul.products,body.gocce-mobile-hardening .woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 10px!important;align-items:start}body.gocce-mobile-hardening .woocommerce ul.products:before,body.gocce-mobile-hardening .woocommerce ul.products:after{display:none!important}body.gocce-mobile-hardening .woocommerce ul.products li.product,body.gocce-mobile-hardening .woocommerce-page ul.products li.product{float:none!important;clear:none!important;width:auto!important;min-width:0!important;margin:0!important;padding:0!important}body.gocce-mobile-hardening .woocommerce ul.products li.product a{min-width:0}body.gocce-mobile-hardening .woocommerce ul.products li.product a img{display:block;width:100%!important;max-width:100%!important;height:auto!important;margin:0 0 8px!important}body.gocce-mobile-hardening .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:clamp(13px,3.5vw,15px)!important;line-height:1.28!important;margin:.25rem 0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}body.gocce-mobile-hardening .woocommerce ul.products li.product .price{font-size:clamp(13px,3.4vw,15px)!important;line-height:1.3!important;margin:.3rem 0!important;overflow-wrap:anywhere}body.gocce-mobile-hardening .woocommerce ul.products li.product .button,body.gocce-mobile-hardening .woocommerce ul.products li.product a.button{display:flex!important;align-items:center;justify-content:center;width:100%!important;min-height:42px;padding:9px 8px!important;line-height:1.2!important;white-space:normal!important;text-align:center!important;font-size:13px!important}
/* Single product: stop gallery/summary, variation controls and cart buttons from colliding. */
body.gocce-mobile-hardening .woocommerce div.product,body.gocce-mobile-hardening .woocommerce-page div.product{min-width:0}body.gocce-mobile-hardening .woocommerce div.product div.images,body.gocce-mobile-hardening .woocommerce div.product div.summary,body.gocce-mobile-hardening .woocommerce-page div.product div.images,body.gocce-mobile-hardening .woocommerce-page div.product div.summary{float:none!important;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}body.gocce-mobile-hardening .woocommerce div.product div.images img{width:100%;height:auto}body.gocce-mobile-hardening .woocommerce div.product form.cart{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:stretch!important;width:100%!important}body.gocce-mobile-hardening .woocommerce div.product form.cart .quantity{float:none!important;margin:0!important;flex:0 0 auto}body.gocce-mobile-hardening .woocommerce div.product form.cart .quantity .qty{min-height:46px;max-width:84px!important}body.gocce-mobile-hardening .woocommerce div.product form.cart .single_add_to_cart_button{float:none!important;flex:1 1 170px!important;min-width:0!important;min-height:46px!important;margin:0!important;white-space:normal!important}body.gocce-mobile-hardening .woocommerce div.product form.cart .variations{width:100%!important;table-layout:fixed}body.gocce-mobile-hardening .woocommerce div.product form.cart .variations tbody,body.gocce-mobile-hardening .woocommerce div.product form.cart .variations tr,body.gocce-mobile-hardening .woocommerce div.product form.cart .variations th,body.gocce-mobile-hardening .woocommerce div.product form.cart .variations td{display:block!important;width:100%!important;max-width:100%!important}body.gocce-mobile-hardening .woocommerce div.product form.cart .variations th,body.gocce-mobile-hardening .woocommerce div.product form.cart .variations td{padding-left:0!important;padding-right:0!important}body.gocce-mobile-hardening .woocommerce div.product form.cart .variations select{width:100%!important;min-height:44px}body.gocce-mobile-hardening .woocommerce div.product .product_meta{overflow-wrap:anywhere}
/* Cart: prevent coupon/update/checkout controls from entering each other. */
body.gocce-mobile-hardening .woocommerce-cart .woocommerce-cart-form,body.gocce-mobile-hardening .woocommerce-cart .cart-collaterals,body.gocce-mobile-hardening .woocommerce-cart .cart_totals{width:100%!important;max-width:100%!important;float:none!important}body.gocce-mobile-hardening .woocommerce-cart table.shop_table{width:100%!important;max-width:100%!important}body.gocce-mobile-hardening .woocommerce-cart table.cart .actions{padding-left:0!important;padding-right:0!important}body.gocce-mobile-hardening .woocommerce-cart table.cart .actions .coupon{display:flex!important;flex-wrap:wrap!important;gap:8px!important;width:100%!important;float:none!important;margin:0 0 8px!important}body.gocce-mobile-hardening .woocommerce-cart table.cart .actions .coupon .input-text{flex:1 1 150px!important;width:auto!important;min-width:0!important;min-height:44px}body.gocce-mobile-hardening .woocommerce-cart table.cart .actions .coupon .button{flex:1 1 130px!important;min-height:44px;white-space:normal!important}body.gocce-mobile-hardening .woocommerce-cart table.cart .actions>button.button,body.gocce-mobile-hardening .woocommerce-cart table.cart .actions>input.button{width:100%!important;min-height:44px;white-space:normal!important}body.gocce-mobile-hardening .woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:flex!important;align-items:center;justify-content:center;width:100%!important;min-height:48px;white-space:normal!important;line-height:1.25!important}
/* Checkout/account/forms: stack columns, avoid horizontal scroll and iOS input zoom. */
body.gocce-mobile-hardening .woocommerce-checkout #customer_details,body.gocce-mobile-hardening .woocommerce-checkout .col2-set,body.gocce-mobile-hardening .woocommerce-checkout .col-1,body.gocce-mobile-hardening .woocommerce-checkout .col-2,body.gocce-mobile-hardening .woocommerce-account .col2-set,body.gocce-mobile-hardening .woocommerce-account .col-1,body.gocce-mobile-hardening .woocommerce-account .col-2{width:100%!important;max-width:100%!important;float:none!important}body.gocce-mobile-hardening .woocommerce form .form-row,body.gocce-mobile-hardening .woocommerce-page form .form-row{float:none!important;width:100%!important;max-width:100%!important}body.gocce-mobile-hardening .woocommerce form .form-row input.input-text,body.gocce-mobile-hardening .woocommerce form .form-row textarea,body.gocce-mobile-hardening .woocommerce form .form-row select,body.gocce-mobile-hardening .select2-container .select2-selection{font-size:16px!important;max-width:100%!important}body.gocce-mobile-hardening .woocommerce-checkout #payment,body.gocce-mobile-hardening .woocommerce-checkout #order_review,body.gocce-mobile-hardening .woocommerce-checkout #order_review_heading{width:100%!important;max-width:100%!important;min-width:0;overflow-wrap:anywhere}body.gocce-mobile-hardening .woocommerce-checkout #payment .payment_box{max-width:100%;overflow-wrap:anywhere}body.gocce-mobile-hardening .woocommerce-checkout button#place_order{width:100%!important;min-height:48px;white-space:normal!important}
/* Notices/tables/text: wrap instead of forcing page width. */
body.gocce-mobile-hardening .woocommerce-error,body.gocce-mobile-hardening .woocommerce-info,body.gocce-mobile-hardening .woocommerce-message{max-width:100%;overflow-wrap:anywhere}body.gocce-mobile-hardening .woocommerce table.shop_table td,body.gocce-mobile-hardening .woocommerce table.shop_table th{overflow-wrap:anywhere;word-break:normal}body.gocce-mobile-hardening .woocommerce a,body.gocce-mobile-hardening .woocommerce p{overflow-wrap:anywhere}
/* Common sticky add-to-cart implementations: keep within viewport and respect iPhone safe area. */
body.gocce-mobile-hardening .sticky-add-to-cart,body.gocce-mobile-hardening .wc-sticky-add-to-cart,body.gocce-mobile-hardening .ast-sticky-add-to-cart,body.gocce-mobile-hardening .gocce-sticky-add-to-cart{left:0!important;right:0!important;width:auto!important;max-width:100vw!important;padding-left:max(10px,env(safe-area-inset-left))!important;padding-right:max(10px,env(safe-area-inset-right))!important;padding-bottom:max(8px,env(safe-area-inset-bottom))!important;box-sizing:border-box!important}body.gocce-mobile-hardening .sticky-add-to-cart .button,body.gocce-mobile-hardening .wc-sticky-add-to-cart .button,body.gocce-mobile-hardening .ast-sticky-add-to-cart .button,body.gocce-mobile-hardening .gocce-sticky-add-to-cart .button{min-width:0!important;max-width:100%!important;white-space:normal!important}
}
@media(max-width:380px){body.gocce-mobile-hardening .woocommerce ul.products,body.gocce-mobile-hardening .woocommerce-page ul.products{gap:12px 8px!important}body.gocce-mobile-hardening .woocommerce ul.products li.product .button{font-size:12px!important;padding-left:5px!important;padding-right:5px!important}}

/* v1.5 — footer social icons: prevent oversized Instagram/WhatsApp SVG/IMG icons. */
:is(footer,.site-footer,.elementor-location-footer) a[href*="instagram.com"] :is(svg,img),
:is(footer,.site-footer,.elementor-location-footer) a[href*="wa.me"] :is(svg,img),
:is(footer,.site-footer,.elementor-location-footer) a[href*="whatsapp.com"] :is(svg,img){
  width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important;
  min-width:0!important;min-height:0!important;object-fit:contain!important;
}
:is(footer,.site-footer,.elementor-location-footer) a[href*="instagram.com"] i,
:is(footer,.site-footer,.elementor-location-footer) a[href*="wa.me"] i,
:is(footer,.site-footer,.elementor-location-footer) a[href*="whatsapp.com"] i{
  font-size:24px!important;line-height:1!important;width:auto!important;height:auto!important;
}
:is(footer,.site-footer,.elementor-location-footer) .wp-block-social-link svg{
  width:20px!important;height:20px!important;max-width:20px!important;max-height:20px!important;
}

/* v1.6 — robust footer social icon sizing across Elementor/theme/widget variants. */
footer :is(a,button)[href*="instagram"],
footer :is(a,button)[href*="whatsapp"],
footer :is(a,button)[href*="wa.me"],
.site-footer :is(a,button)[href*="instagram"],
.site-footer :is(a,button)[href*="whatsapp"],
.site-footer :is(a,button)[href*="wa.me"],
.elementor-location-footer :is(a,button)[href*="instagram"],
.elementor-location-footer :is(a,button)[href*="whatsapp"],
.elementor-location-footer :is(a,button)[href*="wa.me"]{
  width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;
  max-width:40px!important;max-height:40px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  padding:8px!important;box-sizing:border-box!important;overflow:hidden!important;
}
footer :is(a[href*="instagram"],a[href*="whatsapp"],a[href*="wa.me"]) :is(svg,img,i),
.site-footer :is(a[href*="instagram"],a[href*="whatsapp"],a[href*="wa.me"]) :is(svg,img,i),
.elementor-location-footer :is(a[href*="instagram"],a[href*="whatsapp"],a[href*="wa.me"]) :is(svg,img,i),
footer :is(.elementor-social-icon,.wp-social-link) :is(svg,img,i){
  width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important;
  min-width:0!important;min-height:0!important;font-size:22px!important;line-height:1!important;object-fit:contain!important;
}
