/* GSTACKIT storefront — UI-CLEAN-4.
 * Sole owner of storefront geometry. Cart/account-specific rules remain in custom.css.
 * WooCommerce scripts retain control of slider widths and variation visibility. */
:root {
  --gs-blue:#0869d7; --gs-blue-dark:#0056b8; --gs-pink:#b50959;
  --gs-ink:#2f3033; --gs-muted:#74777d; --gs-line:#dedfe2; --gs-soft:#f4f4f4;
  --gs-container:1500px; --gs-gutter:clamp(20px,3vw,48px); --gs-control:48px;
}
*,*::before,*::after { box-sizing:border-box }
body { margin:0; background:#fff; color:var(--gs-ink); font:14px/1.5 Arial,Helvetica,sans-serif }
a { color:inherit; text-decoration:none }
img { max-width:100% }
button,input,select,textarea { font:inherit }
button,a,input,select,textarea { touch-action:manipulation }
:focus-visible { outline:2px solid var(--gs-blue); outline-offset:3px }
.container,.shop-page,.search-products-page,.product-page {
  width:100%; max-width:var(--gs-container); margin-inline:auto; padding-inline:var(--gs-gutter);
}
.container .container { max-width:none; padding-inline:0 }
.topbar { display:none }
.site-header { position:relative; z-index:30; background:#fff; border-bottom:1px solid var(--gs-line) }
.header-main { display:grid; grid-template-columns:minmax(150px,220px) minmax(0,1fr) auto; align-items:center; gap:clamp(20px,3vw,44px); padding-block:12px }
.brand,.custom-logo-link { display:flex; align-items:center; min-width:0 }
.custom-logo { display:block; width:auto; max-width:100%; max-height:48px }
.brand-fallback { display:flex; align-items:center; gap:8px; color:#092e67; font-size:22px; font-weight:800 }
.brand em { font-style:normal; color:#168edb }
.brand-mark { display:grid; place-items:center; width:38px; height:38px; border:3px solid var(--gs-blue); border-radius:50% }
.search-form { display:flex; align-items:center; height:40px; min-width:0; overflow:hidden; background:#eee; border-radius:999px }
.search-icon { padding-left:16px; font-size:22px }
.search-form input[type=search] { flex:1; min-width:0; height:100%; padding:0 12px; border:0; background:transparent; color:var(--gs-ink) }
.search-form button { flex:0 0 48px; height:40px; padding:0; border:0; background:transparent; color:#333; cursor:pointer }
.search-form button svg { width:20px; height:20px; vertical-align:middle; fill:none; stroke:currentColor; stroke-width:1.5 }
.header-actions { display:flex; align-items:center; gap:12px }
.header-action { position:relative; display:grid; place-items:center; width:40px; min-height:44px; color:#222 }
.header-action>span:first-child { font-size:28px; line-height:1 }
.header-action small { display:none }
.header-action svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round }
.cart-count { position:absolute; right:-3px; top:0; display:grid; place-items:center; min-width:17px; height:17px; padding:0 4px; border-radius:9px; background:var(--gs-blue); color:#fff; font-size:10px }
.mobile-toggle { display:none }
.nav { background:#fff }
.nav-inner { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; min-height:44px; padding-block:6px }
.nav .menu { display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; min-width:0; margin:0; padding:0; list-style:none }
.nav a { display:block; font-size:13px; font-weight:700 }
.nav li { position:relative }
.nav .sub-menu { display:none; position:absolute; top:100%; left:0; z-index:40; min-width:210px; max-width:280px; margin:0; padding:12px; list-style:none; background:#fff; border:1px solid var(--gs-line); box-shadow:0 6px 18px #0001 }
.nav li:hover>.sub-menu,.nav li:focus-within>.sub-menu,.nav li.submenu-open>.sub-menu { display:block }
.nav .sub-menu a { padding:8px }
.nav .sub-menu .sub-menu { position:static; border:0; box-shadow:none; min-width:0 }
.header-whatsapp { margin-left:auto; padding:5px 14px; border-radius:999px; background:#1fc557; color:#fff; white-space:nowrap }
.service-strip { background:var(--gs-soft) }
.service-strip-inner { display:flex; flex-wrap:wrap; justify-content:space-around; gap:12px 24px; padding-block:10px }
.service-strip-inner span { display:flex; align-items:center; gap:10px; font-size:13px; font-weight:600 }
.service-strip-inner b { font-size:20px; font-weight:400 }
.breadcrumbs { margin:0; padding:20px 0; color:var(--gs-muted); font-size:12px; overflow-wrap:anywhere }
.breadcrumbs .woocommerce-breadcrumb { margin:0; font-size:inherit }
.shop-page,.search-products-page,.product-page { padding-bottom:64px }
.home-section { padding-top:48px }
.home-section:first-child { padding-top:24px }
.section-heading { gap:16px }
.section-heading h1,.section-heading h2,.center-title { margin:0 0 24px; font-size:clamp(23px,2.3vw,32px); line-height:1.25 }
.section-heading a { flex-shrink:0 }
.shop-head,.search-products-head { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:24px; padding-bottom:18px; border-bottom:1px solid var(--gs-line) }
.shop-head h1,.search-products-head h1 { margin:0 0 6px; font-size:clamp(26px,3vw,40px); line-height:1.2; overflow-wrap:anywhere }
.shop-head p,.search-products-head p { margin:0; color:var(--gs-muted) }
.woocommerce .woocommerce-ordering { margin:0; float:none }
.woocommerce-ordering select,.catalog-toolbar select { width:100%; max-width:100%; min-height:42px; padding:8px; border:1px solid var(--gs-line); background:#fff }
.shop-layout,.search-results-shell { display:grid; grid-template-columns:220px minmax(0,1fr); gap:32px; align-items:start }
.shop-results,.search-results-content { min-width:0 }
.shop-sidebar,.search-filter-sidebar { min-width:0; padding-right:24px; border-right:1px solid var(--gs-line); background:#fff }
.shop-sidebar ul { padding:0; list-style:none }
.shop-sidebar li { padding:6px 0 }
.shop-sidebar h2,.shop-sidebar h3,.filter-title,.search-filter-form legend { margin:0 0 14px; font-size:14px; font-weight:700 }
.filter-widget,.shop-sidebar .widget,.search-filter-form fieldset { margin:0 0 24px; padding:0 0 24px; border:0; border-bottom:1px solid var(--gs-line); min-width:0 }
.search-filter-title { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; font-size:18px }
.filter-options { display:grid; gap:12px }
.filter-options label { display:grid; grid-template-columns:18px minmax(0,1fr) auto; align-items:start; gap:8px }
.filter-options input { accent-color:var(--gs-blue); margin:3px 0 }
.filter-options small { color:var(--gs-muted) }
.price-inputs { display:grid; grid-template-columns:1fr 1fr; gap:10px }
.price-inputs label span { display:block; margin-bottom:5px }
.price-inputs input { width:100%; min-width:0; min-height:40px; border:1px solid var(--gs-line); border-radius:20px; padding:8px }
.price-range { width:100%; margin-top:16px; accent-color:var(--gs-blue) }
.apply-filters { width:100%; min-height:44px; border:0; border-radius:24px; background:var(--gs-blue); color:#fff; font-weight:700 }
.clear-filters { display:block; margin-top:12px; text-align:center; text-decoration:underline }
.catalog-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-bottom:26px; padding-block:12px; border-block:1px solid var(--gs-line) }
.toolbar-filter,.catalog-view { min-height:40px; border:0; background:transparent; cursor:pointer }
.toolbar-sort,.toolbar-view { display:flex; align-items:center; gap:10px; min-width:0 }
.toolbar-view { margin-left:auto }
.catalog-view.is-active { color:var(--gs-blue); background:var(--gs-soft) }
.filter-drawer-head,.filter-close,.filter-overlay,.shop-page>.filter-toggle { display:none }
.catalog-filters-hidden .search-results-shell { grid-template-columns:minmax(0,1fr) }
.catalog-filters-hidden .search-filter-sidebar { display:none }

/* One card system for all WooCommerce loops. No floated widths or clearing pseudo-items. */
body :is(.product-grid,.product-grid-5,.search-product-grid,ul.products) {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch;
  gap:32px 26px; width:100%; margin:0; padding:0; list-style:none;
}
body.gstack-woocommerce ul.products::before,body.gstack-woocommerce ul.products::after { content:none }
body.gstack-woocommerce :is(.product-grid,ul.products)>li.product.product-card {
  float:none; clear:none; width:auto; min-width:0; max-width:none; margin:0; padding:0;
}
body.gstack-woocommerce li.product.product-card { display:flex; flex-direction:column; height:100%; background:#fff; border:0; border-radius:0; box-shadow:none }
body.gstack-woocommerce li.product.product-card .product-image { position:relative; display:flex; align-items:center; justify-content:center; flex:none; width:100%; aspect-ratio:1; height:auto; padding:14px; overflow:hidden; background:var(--gs-soft) }
body.gstack-woocommerce li.product.product-card .product-image img { display:block; width:100%; height:100%; max-height:100%; margin:0; object-fit:contain; transition:transform .22s ease }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  body.gstack-woocommerce li.product.product-card:hover .product-image img,
  body.gstack-woocommerce li.product.product-card:focus-within .product-image img { transform:scale(1.09) }
}
.product-image-link { display:flex; align-items:center; justify-content:center; width:100%; height:100% }
.product-wishlist { position:absolute; top:8px; right:8px; z-index:2; max-width:calc(100% - 16px) }
body.gstack-woocommerce li.product.product-card .product-body { display:flex; flex:1; flex-direction:column; min-width:0; padding:8px 0 0 }
.product-badge-row { min-height:26px; margin-bottom:6px }
body.gstack-woocommerce li.product.product-card .sale-badge { display:inline-block; padding:3px 7px; background:var(--gs-pink); color:#fff; font-size:11px; line-height:1.4; font-weight:700 }
body.gstack-woocommerce li.product.product-card .product-brand { min-height:18px; margin-bottom:6px; color:var(--gs-muted); font-size:12px }
body.gstack-woocommerce li.product.product-card .product-category,body.gstack-woocommerce li.product.product-card .product-rating { display:none }
body.gstack-woocommerce li.product.product-card h3 { display:-webkit-box; height:2.84em; margin:0 0 16px; overflow:hidden; color:var(--gs-ink); font-size:14px; line-height:1.42; font-weight:700; -webkit-box-orient:vertical; -webkit-line-clamp:2 }
body.gstack-woocommerce li.product.product-card h3 a { overflow-wrap:anywhere }
body.gstack-woocommerce li.product.product-card .price { display:flex; flex-wrap:wrap; align-content:start; align-items:baseline; gap:2px 8px; min-height:50px; margin:0; color:var(--gs-ink); font-size:18px; font-weight:700 }
body.gstack-woocommerce li.product.product-card .price ins { background:none; text-decoration:none; font-weight:700 }
body.gstack-woocommerce li.product.product-card .price del { order:2; width:100%; color:var(--gs-muted); font-size:12px; font-weight:400; opacity:1 }
body.gstack-woocommerce li.product.product-card .price .amount { display:inline-block }
body.gstack-woocommerce li.product.product-card .product-delivery { margin:8px 0 14px; color:var(--gs-muted); font-size:11px; line-height:1.5; min-height:17px }
body.gstack-woocommerce li.product.product-card :is(.add-cart,a.button) { position:static; display:flex; align-items:center; justify-content:center; width:100%; min-height:42px; margin:auto 0 0; padding:10px 12px; border:0; border-radius:999px; background:var(--gs-blue); color:#fff; font-size:13px; line-height:1.4; font-weight:700; text-align:center }
body.gstack-woocommerce li.product.product-card :is(.add-cart,a.button):hover { background:var(--gs-blue-dark) }
body.gstack-woocommerce li.product.product-card .added_to_cart { display:block; padding:8px 0; font-size:12px; text-align:center }
body .catalog-list-view .product-grid { grid-template-columns:1fr }
body .catalog-list-view li.product.product-card { display:grid; grid-template-columns:minmax(120px,28%) minmax(0,1fr); gap:24px }
body .catalog-list-view li.product.product-card h3 { height:auto; min-height:2.84em; -webkit-line-clamp:3 }

/* Gallery slides: FlexSlider owns widths. The image ratio defines a bounded stage. */
body .product-page div.gstack-product-detail { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:clamp(28px,3vw,48px); align-items:start; width:100%; margin:0; padding:0; background:#fff; border:0; box-shadow:none }
.gstack-product-gallery,.gstack-product-panel { min-width:0 }
body .product-page div.product .woocommerce-product-gallery { float:none; width:100%; margin:0 }
.gstack-product-gallery .woocommerce-product-gallery__wrapper { margin:0 }
.gstack-product-gallery .woocommerce-product-gallery__image>a,.gstack-product-gallery .woocommerce-product-gallery__image--placeholder {
  display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:1; padding:clamp(16px,3vw,40px); background:var(--gs-soft);
}
body .product-page div.product .woocommerce-product-gallery__image a img,body .product-page div.product .woocommerce-product-gallery__image--placeholder img {
  display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; margin:0;
}
body .product-page div.product .flex-control-thumbs { display:flex; gap:10px; margin:12px 0 0; padding:0; overflow-x:auto; list-style:none }
body .product-page div.product .flex-control-thumbs li { flex:0 0 68px; float:none; width:68px; border:1px solid var(--gs-line) }
.gstack-product-gallery .flex-control-thumbs img { display:block; width:100%; aspect-ratio:1; object-fit:contain }
.gstack-product-gallery .onsale { display:none }
body .product-page div.product .summary { float:none; width:auto; margin:0; padding:4px 0 0; }
.product-identity { display:flex; flex-wrap:wrap; gap:4px 12px; margin-bottom:12px; color:var(--gs-muted); font-size:12px; overflow-wrap:anywhere }
.single-discount { display:inline-block; margin-bottom:14px; padding:4px 8px; background:var(--gs-pink); color:#fff; font-size:11px; font-weight:700 }
body .product-page div.product .product_title { margin:0 0 14px; color:var(--gs-ink); font-size:clamp(22px,1.8vw,28px); line-height:1.3; font-weight:700; overflow-wrap:anywhere }
.gstack-product-panel .woocommerce-product-rating { margin:0 0 12px }
body .product-page div.product .summary>.price { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; margin:0 0 6px; color:var(--gs-ink); font-size:26px; font-weight:700 }
body .product-page div.product .summary .price ins { background:none; text-decoration:none; font-weight:700 }
body .product-page div.product .summary .price del { order:2; color:var(--gs-muted); font-size:.7em; font-weight:400; opacity:1 }
.vat-note { margin:0 0 20px; color:var(--gs-muted); font-size:11px }
.gstack-product-panel .woocommerce-product-details__short-description { margin:24px 0; padding-top:20px; border-top:1px solid var(--gs-line); font-size:14px; line-height:1.7; overflow-wrap:anywhere }
.gstack-product-panel .woocommerce-product-details__short-description ul { padding-left:20px }
.gstack-product-panel .woocommerce-product-details__short-description li { margin:6px 0 }
.gstack-product-panel .woocommerce-product-details__short-description p { margin:0 0 12px }
.gstack-highlights { margin:24px 0 }
.gstack-highlights h2 { margin:0 0 12px; font-size:16px }
body .product-page table.woocommerce-product-attributes { width:100%; border:0; border-collapse:collapse; font-size:13px; table-layout:fixed }
body .product-page table.woocommerce-product-attributes :is(th,td) { padding:12px 8px; border:0; border-bottom:1px dashed var(--gs-line); background:transparent; text-align:start; font-style:normal; vertical-align:top; overflow-wrap:anywhere }
body .product-page table.woocommerce-product-attributes th { width:35%; font-weight:700 }
body .product-page table.woocommerce-product-attributes p { margin:0 }
.product-status-row { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 12px }
.product-status-row>div { flex:1; min-width:130px; padding:12px; background:var(--gs-soft); border:1px solid var(--gs-line); border-radius:6px; font-size:12px }
.product-status-row .stock { margin:0 }
.warranty-panel { margin-bottom:20px; padding:14px 16px; border-radius:6px; background:#111a2a; color:#fff; font-size:13px }
.gstack-addons { margin:20px 0; padding:14px; border:1px solid #cfe0f4; border-radius:6px; font-size:13px }
.gstack-addons span { display:block; margin-top:10px; padding:10px; background:#f0f6fd }
/* Only purchasing rows are flex. Variations tables, availability and plugin fields stay full width. */
body .product-page div.product .gstack-purchase-actions form.cart { display:flex; flex-wrap:wrap; align-items:start; gap:12px; margin:20px 0; }
body .product-page div.product .gstack-purchase-actions form.cart>* { flex-basis:100%; min-width:0 }
body .product-page div.product .gstack-purchase-actions form.variations_form { display:block }
body .product-page div.product .gstack-purchase-actions .woocommerce-variation-add-to-cart { display:flex; flex-wrap:wrap; gap:12px; align-items:start }
body .product-page div.product .gstack-purchase-actions :is(form.cart,.woocommerce-variation-add-to-cart)>.quantity { flex:0 0 126px; float:none; width:126px; margin:0 }
body .product-page div.product .gstack-purchase-actions .qty { width:100%; height:var(--gs-control); min-height:0; margin:0; padding:0 5px; border:1px solid var(--gs-line); border-radius:24px; text-align:center; background:#fff; color:var(--gs-ink) }
body .product-page div.product .gstack-purchase-actions .gstack-quantity-ready { display:grid; grid-template-columns:34px minmax(0,1fr) 34px; height:var(--gs-control); border:1px solid var(--gs-line); border-radius:24px; overflow:hidden }
body .product-page div.product .gstack-purchase-actions .gstack-quantity-ready .qty { height:100%; border:0; border-radius:0; appearance:textfield }
.gstack-quantity-ready .qty::-webkit-inner-spin-button,.gstack-quantity-ready .qty::-webkit-outer-spin-button { appearance:none; margin:0 }
.gstack-qty-button { width:34px; height:100%; padding:0; border:0; background:#fff; color:var(--gs-ink); font-size:20px; cursor:pointer }
body .product-page div.product .gstack-purchase-actions :is(form.cart,.woocommerce-variation-add-to-cart)>.single_add_to_cart_button { flex:1 1 160px; float:none; width:auto }
body .product-page div.product .gstack-purchase-actions :is(.single_add_to_cart_button,.gstack-buy-now) { display:flex; justify-content:center; align-items:center; min-height:var(--gs-control); margin:0; padding:12px 16px; border:0; border-radius:24px; background:var(--gs-blue); color:#fff; font-size:14px; line-height:24px; font-weight:700 }
body .product-page div.product .gstack-purchase-actions .gstack-buy-now { flex:1 0 100%; width:100%; }
body .product-page div.product .gstack-purchase-actions button:disabled { cursor:not-allowed; opacity:.5 }
body .product-page div.product .gstack-purchase-actions .variations { width:100%; margin-bottom:16px }
.gstack-purchase-actions .variations select { max-width:100%; min-height:44px; padding:8px; border:1px solid var(--gs-line) }
.gstack-purchase-actions .woocommerce-variation { margin-bottom:16px }
.delivery-panel { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 18px; margin:24px 0 14px; padding:14px; border:1px solid var(--gs-line); border-radius:6px; color:var(--gs-muted); font-size:12px }
.delivery-panel strong { color:var(--gs-ink) }
.product-whatsapp { display:flex; align-items:center; justify-content:center; min-height:44px; margin-bottom:18px; padding:10px; border-radius:24px; background:#20c563; color:#fff; text-align:center; font-weight:700 }
.gstack-product-panel .product_meta { display:grid; gap:8px; margin-top:20px; padding-top:16px; border-top:1px solid var(--gs-line); color:var(--gs-muted); font-size:12px; overflow-wrap:anywhere }
.product-tabs { width:100%; margin-top:40px }
.product-tabs .woocommerce-tabs ul.tabs { display:flex; flex-wrap:wrap; gap:0; margin:0; padding:0; border-block:1px solid var(--gs-line); list-style:none }
.product-tabs .woocommerce-tabs ul.tabs::before,.product-tabs .woocommerce-tabs ul.tabs li::before,.product-tabs .woocommerce-tabs ul.tabs li::after { content:none }
.product-tabs .woocommerce-tabs ul.tabs li { margin:0; padding:0; border:0; border-radius:0; background:#fff }
.product-tabs .woocommerce-tabs ul.tabs li a { display:block; padding:16px 20px; color:var(--gs-muted); font-size:14px; font-weight:700 }
.product-tabs .woocommerce-tabs ul.tabs li.active a { color:var(--gs-ink); box-shadow:inset 0 -2px var(--gs-blue) }
.product-tabs .woocommerce-Tabs-panel { width:100%; margin:0; padding:28px 0; font-size:14px; line-height:1.7; overflow-wrap:anywhere }
.product-tabs .woocommerce-Tabs-panel>h2 { margin:0 0 20px; font-size:22px }
.product-tabs #review_form_wrapper { margin-top:24px; padding-top:24px; border-top:1px solid var(--gs-line) }
.product-tabs #review_form .comment-form { display:grid; gap:14px; max-width:760px }
.product-tabs #review_form .comment-form p { margin:0 }
.product-tabs #review_form label { display:block; margin-bottom:6px }
.product-tabs #review_form :is(textarea,input[type=text],input[type=email]) { width:100%; min-height:44px; padding:12px; border:1px solid var(--gs-line); background:#fff }
.product-tabs #review_form textarea { min-height:140px; resize:vertical }
.product-payment-security { width:100%; margin-top:32px; padding:28px; background:var(--gs-soft) }
.product-payment-security h2 { margin:0 0 16px; font-size:22px }
.product-payment-security h3 { margin:0 0 16px; font-size:14px }
.product-payment-security p { margin:0; font-size:13px; line-height:1.7 }
.product-recommendations { margin-top:48px }
body .product-page :is(.related.products,.upsells.products) { width:100%; margin-top:40px }
.related.products>h2,.upsells.products>h2 { margin:0 0 24px; font-size:26px }
.gstack-empty-state { padding:40px 20px; border:1px solid var(--gs-line); text-align:center }
.empty-search-form { display:flex; flex-wrap:wrap; gap:8px; max-width:500px; margin:20px auto }
.empty-search-form input { flex:1; min-width:0; padding:12px; border:1px solid var(--gs-line) }
.empty-search-form button { border:0; background:var(--gs-blue); color:#fff; padding:12px }
.gstack-cart-notice { display:none; position:fixed; z-index:1005; top:20px; right:var(--gs-gutter); width:min(400px,calc(100% - 2 * var(--gs-gutter))); max-height:85dvh; overflow:auto; padding:24px; background:#fff; border:1px solid var(--gs-line); box-shadow:0 8px 28px #0002 }
.gstack-cart-notice.is-open { display:block }
.cart-notice-close { float:right; border:0; background:transparent; font-size:24px }
.gstack-mini-cart-body img { width:64px; height:64px; object-fit:contain }
.footer { margin-top:48px }
.footer-grid { padding-inline:var(--gs-gutter) }
.storefront-build-marker { padding:8px 16px 14px; background:#061f49; color:#b5c7df; font-size:10px; text-align:center }
.whatsapp { right:20px; bottom:20px; padding:12px 16px; border-radius:24px }
@media(max-width:1279px) {
  body :is(.product-grid,.product-grid-5,.search-product-grid,ul.products) { grid-template-columns:repeat(3,minmax(0,1fr)) }
  .shop-layout,.search-results-shell { grid-template-columns:200px minmax(0,1fr); gap:24px }
  .header-main { grid-template-columns:180px minmax(0,1fr) auto; gap:20px }
}
@media(max-width:991px) {
  body .product-page div.gstack-product-detail { grid-template-columns:minmax(0,1fr); gap:28px }
  body .product-page div.product .summary { padding-top:24px; border-top:1px solid var(--gs-line) }
  .gstack-product-gallery { width:100%; max-width:700px; margin-inline:auto }
  body :is(.product-grid,.product-grid-5,.search-product-grid,ul.products) { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .header-main { grid-template-columns:150px minmax(0,1fr) auto; gap:16px }
  .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .trust { flex-wrap:wrap; gap:20px }
}
@media(max-width:767px) {
  :root { --gs-gutter:18px }
  .header-main { display:flex; flex-wrap:wrap; gap:10px; padding-block:10px }
  .mobile-toggle { display:flex; flex-direction:column; justify-content:center; gap:4px; width:36px; height:44px; padding:7px; border:0; background:#fff }
  .mobile-toggle span { display:block; width:22px; height:2px; background:#222 }
  .brand { flex:1; max-width:180px }
  .brand-fallback { font-size:17px; gap:5px }
  .brand-mark { width:30px; height:30px }
  .custom-logo { max-height:40px }
  .header-actions { margin-left:auto; gap:2px }
  .header-action { width:34px }
  .search-form { order:4; flex-basis:100%; height:44px }
  .nav { display:none }
  .nav.is-open { display:block }
  .nav-inner,.nav .menu { display:block }
  .nav a { padding:12px 0 }
  .nav .sub-menu { position:static; width:100%; max-width:none; border:0; box-shadow:none }
  .header-whatsapp { display:inline-block; margin:10px 0; padding:8px 14px }
  .service-strip { display:none }
  .shop-layout,.search-results-shell { display:block }
  .shop-page>.filter-toggle { display:inline-flex; min-height:44px; align-items:center; margin-bottom:18px; padding:10px 16px; border:1px solid var(--gs-line); background:#fff; border-radius:22px }
  .filter-drawer-head { display:flex; justify-content:space-between; margin-bottom:20px }
  .filter-close { display:block; border:0; background:transparent; font-size:26px }
  .shop-sidebar,.search-filter-sidebar { display:none; position:fixed; z-index:1002; inset:0 auto 0 0; width:min(340px,90%); height:100dvh; overflow:auto; padding:24px; border:0 }
  .filters-open :is(.shop-sidebar,.search-filter-sidebar) { display:block }
  .filters-open .filter-overlay { display:block; position:fixed; z-index:1001; inset:0; background:#0006 }
  .filters-open { overflow:hidden }
  .toolbar-view { margin-left:0 }
  .toolbar-sort { flex:1; flex-wrap:wrap }
  .toolbar-sort .woocommerce-ordering { flex:1; min-width:140px }
  .shop-head { display:block }
  .shop-head .woocommerce-ordering { margin-top:16px }
  .product-tabs .woocommerce-tabs ul.tabs li a { padding:14px 12px }
  .product-payment-security { padding:22px 18px }
  .footer-grid { gap:24px }
  .whatsapp { right:14px; bottom:calc(14px + env(safe-area-inset-bottom)); font-size:12px }
}
@media(max-width:479px) {
  body :is(.product-grid,.product-grid-5,.search-product-grid,ul.products) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 12px }
  body.gstack-woocommerce li.product.product-card .product-image { padding:8px }
  body.gstack-woocommerce li.product.product-card h3 { font-size:12px }
  body.gstack-woocommerce li.product.product-card .price { font-size:14px; min-height:44px }
  body.gstack-woocommerce li.product.product-card :is(.add-cart,a.button) { min-height:40px; padding:8px; font-size:12px; white-space:normal }
  body .catalog-list-view li.product.product-card { display:flex }
  .section-heading { flex-wrap:wrap; margin-bottom:20px }
  .section-heading h1,.section-heading h2 { margin-bottom:0 }
  .footer-grid { grid-template-columns:minmax(0,1fr) }
}
@media(prefers-reduced-motion:reduce) {
  body.gstack-woocommerce li.product.product-card .product-image img { transition:none }
}
