:root{
  /* Brand colors (from logo) */
  --brand-red: #C02028;
  --brand-red-dark: #A82020;
  --brand-blue: #203088;
  --brand-blue-dark: #203080;
  --brand-soft: #E3D3DC;

  --bg: #ffffff;
  --text: #0f172a; /* slate-900 */
  --muted: #475569; /* slate-600 */
  --border: #e2e8f0; /* slate-200 */
  --card: #ffffff;

  --radius: 14px;
  --shadow: 0 8px 24px rgba(2,6,23,.08);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  color:var(--text);
  background:var(--bg);
  line-height:1.45;
}

a{color:var(--brand-blue);text-decoration:none}
a:hover{color:var(--brand-blue-dark)}
img{max-width:100%;height:auto}

.gs-container{width:min(1180px, calc(100% - 32px)); margin-inline:auto}
.gs-main{min-height:60vh; padding: 18px 0 40px}

/* Header */
.gs-topbar{
  background: var(--brand-blue-dark);
  color:#fff;
  font-size: 13px;
}
.gs-topbar-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding: 10px 0;
}
.gs-topbar-pill{
  display:inline-flex; align-items:center; padding: 4px 10px;
  border-radius: 999px; background: rgba(255,255,255,.10);
}
.gs-topbar-text{opacity:.9}
.gs-topbar-sep{opacity:.5; margin:0 8px}
.gs-topbar-link{color:#fff; opacity:.95}
.gs-topbar-link:hover{opacity:1; text-decoration:underline}

.gs-nav{background:#fff; border-bottom:1px solid var(--border)}
.gs-nav-inner{
  display:grid; grid-template-columns: 260px 1fr auto;
  align-items:center; gap:16px; padding: 14px 0;
}
.custom-logo{max-height:54px; width:auto}
.gs-logo-text{font-weight:800; letter-spacing:.2px; color:var(--brand-blue-dark); font-size:20px}
.gs-searchform{display:flex; gap:10px; width:100%}
.gs-search-input{
  flex:1; padding: 12px 14px; border:1px solid var(--border);
  border-radius: 999px; outline:none;
}
.gs-search-input:focus{border-color: rgba(32,48,136,.5); box-shadow: 0 0 0 4px rgba(32,48,136,.10)}
.gs-search-btn{
  padding: 12px 16px; border:none; border-radius: 999px;
  background: var(--brand-blue); color:#fff; font-weight:700; cursor:pointer;
}
.gs-search-btn:hover{background: var(--brand-blue-dark)}

/* Keep header layers predictable so AJAX search results are visible */
.gs-nav{position:relative; z-index:40}
.gs-nav-inner{overflow:visible}
.gs-search{position:relative; z-index:60; overflow:visible}

/* FiboSearch (DGWT WC Ajax Search) integration */
.gs-search .dgwt-wcas-search-wrapp,
.gs-search .dgwt-wcas-sf-wrapp{width:100%}
.gs-search input.dgwt-wcas-search-input,
.gs-search input[type="search"].dgwt-wcas-search-input{
  width:100% !important;
  padding: 12px 14px !important;
  border:1px solid var(--border) !important;
  border-radius: 999px !important;
  outline:none !important;
}
.gs-search input.dgwt-wcas-search-input:focus{border-color: rgba(32,48,136,.5) !important; box-shadow: 0 0 0 4px rgba(32,48,136,.10) !important}
.gs-search .dgwt-wcas-search-submit,
.gs-search button.dgwt-wcas-search-submit{
  border-radius: 999px !important;
}
.gs-search .dgwt-wcas-suggestions-wrapp,
.gs-search .dgwt-wcas-preloader,
.gs-search .dgwt-wcas-details-wrapp{z-index:9999 !important}

.gs-actions{display:flex; align-items:center; gap:10px}
.gs-action{display:inline-flex; align-items:center; gap:8px; padding:10px 12px; border:1px solid var(--border); border-radius:999px; color:var(--text)}
.gs-action:hover{border-color: rgba(32,48,136,.35)}
.gs-badge{
  display:inline-flex; min-width: 20px; height:20px; align-items:center; justify-content:center;
  border-radius:999px; background: var(--brand-red); color:#fff; font-size:12px; font-weight:800;
}

.gs-burger{
  display:none; border:1px solid var(--border); background:#fff; border-radius: 12px;
  padding:10px; cursor:pointer;
}
.gs-burger span{display:block; width:18px; height:2px; background:var(--text); margin:4px 0; border-radius: 2px}

/* Menu */
.gs-menu{padding: 0 0 12px; position:relative}
.gs-menu-list{display:flex; gap:18px; flex-wrap:wrap; list-style:none; padding:0; margin:0}
.gs-menu-list a{color:var(--text); font-weight:700}
.gs-menu-list a:hover{color:var(--brand-red)}
.gs-menu-list > li.menu-item-has-children > a::after{
  content:"▾";
  font-size: 12px;
  margin-left: 6px;
  opacity:.7;
}

/* Desktop dropdown / mega-style (keeps it lightweight) */
.gs-menu-list > li{position:static}
.gs-menu-list .sub-menu{
  list-style:none; margin:0; padding: 14px;
  background:#fff; border:1px solid var(--border);
  border-radius: var(--radius); box-shadow: var(--shadow);
}
.gs-menu-list > li > .sub-menu{
  display:none;
  position:absolute;
  left:0;
  top: calc(100% + 10px);
  width: min(980px, calc(100vw - 32px));
  max-height: 70vh;
  overflow:auto;
  column-count: 3;
  column-gap: 20px;
}
.gs-menu-list > li:hover > .sub-menu{display:block}
.gs-menu-list > li:focus-within > .sub-menu{display:block}
.gs-menu-list .sub-menu li{break-inside:avoid; margin:0 0 8px}
.gs-menu-list .sub-menu a{font-weight:800; font-size:13px}
.gs-menu-list .sub-menu .sub-menu{padding: 6px 0 0 10px; border:none; box-shadow:none}
.gs-menu-list .sub-menu .sub-menu a{font-weight:700; color: var(--muted)}
.gs-menu-list .sub-menu .sub-menu a:hover{color: var(--brand-red)}

/* Remove default bullets/indent for menu across browsers */
.gs-menu-list ul{list-style:none; padding-left:0}
.gs-mobile-menu{border-top:1px solid var(--border); background:#fff; padding: 12px 0}
.gs-mobile-menu-list{list-style:none; padding:0; margin:0; display:grid; gap:8px}
.gs-mobile-links{display:flex; gap:12px; padding-top:12px; border-top:1px solid var(--border); margin-top:12px}

.gs-mobile-menu-list .sub-menu{list-style:none; margin:6px 0 0; padding: 6px 0 0 14px; border-left:2px solid rgba(32,48,136,.18)}
.gs-sub-toggle{
  margin-left: 8px;
  width: 30px; height:30px;
  border-radius: 999px;
  border:1px solid var(--border);
  background:#fff;
  cursor:pointer;
  font-weight:900;
}
.gs-mobile-menu-list li.is-open > a{color: var(--brand-red)}

/* Buttons */
.gs-btn{display:inline-flex; align-items:center; justify-content:center; padding: 12px 16px; border-radius: 999px; border:1px solid transparent; font-weight:800}
.gs-btn-primary{background: var(--brand-red); color:#fff}
.gs-btn-primary:hover{background: var(--brand-red-dark); color:#fff}
.gs-btn-ghost{background:#fff; border-color: var(--border); color: var(--text)}
.gs-btn-ghost:hover{border-color: rgba(192,32,40,.35)}

/* Hero */
.gs-hero{padding: 26px 0}
.gs-hero-inner{display:grid; grid-template-columns: 1.35fr .65fr; gap: 18px; align-items:stretch}
.gs-hero-copy{padding: 16px 0}
.gs-hero-title{font-size: clamp(28px, 4vw, 44px); line-height:1.05; margin:0 0 10px}
.gs-hero-sub{color:var(--muted); margin:0 0 16px; font-size: 16px}
.gs-hero-cta{display:flex; gap:10px; flex-wrap:wrap}
.gs-hero-card{
  background: var(--card); border:1px solid var(--border); border-radius: var(--radius);
  box-shadow: var(--shadow); padding: 16px;
}
.gs-hero-card-title{font-weight:900; margin-bottom:10px}
.gs-hero-card-hint{color:var(--muted); font-size:13px; margin-top:10px}

/* Trust strip */
.gs-trust-strip{
  display:flex; flex-wrap:wrap; gap:10px;
  margin-top:16px;
}
.gs-trust-item{
  display:flex; align-items:center; gap:10px;
  padding: 10px 12px; border:1px solid var(--border);
  border-radius: 999px; background:#fff;
}
.gs-trust-icon{color: var(--brand-red)}
.gs-trust-text{font-weight:700; font-size:13px}

/* Sections */
.gs-section{padding: 26px 0}
.gs-section-soft{background: linear-gradient(180deg, rgba(227,211,220,.35), rgba(255,255,255,0))}
.gs-section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:14px}
.gs-h2{font-size:22px; margin:0}
.gs-link{font-weight:800}

/* Category grid */
.gs-cats-grid{display:grid; grid-template-columns: repeat(4, 1fr); gap: 12px}
.gs-cat-card{
  border:1px solid var(--border); border-radius: var(--radius);
  background:#fff; padding: 12px; display:grid; gap:8px;
}
.gs-cat-card:hover{border-color: rgba(32,48,136,.35); box-shadow: 0 10px 22px rgba(2,6,23,.06)}
.gs-cat-img{aspect-ratio: 16 / 10; min-height: 110px; border-radius: 12px; overflow:hidden; background: #f8fafc; display:flex; align-items:center; justify-content:center}
.gs-cat-placeholder{width: 100%; height:100%; display:flex; align-items:center; justify-content:center;
  background: radial-gradient(circle at 30% 20%, rgba(32,48,136,.12), transparent 55%), radial-gradient(circle at 70% 80%, rgba(192,32,40,.10), transparent 55%), #f8fafc}
.gs-cat-letter{display:inline-flex; align-items:center; justify-content:center;
  width: 48px; height:48px; border-radius: 16px;
  background: rgba(32,48,136,.10);
  border:1px solid rgba(32,48,136,.18);
  color: var(--brand-blue-dark);
  font-weight: 1000;
  font-size: 20px;
}
.gs-cat-name{font-weight:900; color:var(--text)}
.gs-cat-count{color:var(--muted); font-size:13px}

@media (max-width: 1100px){
  .gs-cats-grid{grid-template-columns: repeat(3, 1fr)}
}
@media (max-width: 860px){
  .gs-cats-grid{grid-template-columns: repeat(2, 1fr)}
}
@media (max-width: 520px){
  .gs-cats-grid{grid-template-columns: 1fr}
}

/* Woo cards (aplica también en Home/Search donde no existe wrapper .woocommerce) */
.woocommerce ul.products,
ul.products{display:grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin:0; padding:0}
.woocommerce ul.products li.product,
ul.products li.product{list-style:none; margin:0 !important; width:auto !important}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
ul.products li.product a.woocommerce-LoopProduct-link{display:block}
.woocommerce ul.products li.product .gs-card,
ul.products li.product .gs-card{
  border:1px solid var(--border); border-radius: var(--radius); background:#fff; overflow:hidden;
  display:flex; flex-direction:column; height:100%;
}
.gs-card-media{aspect-ratio: 1 / 1; background:#f8fafc; display:flex; align-items:center; justify-content:center; overflow:hidden}
.gs-card-body{padding: 12px; display:grid; gap:8px; flex:1}
.gs-card-title{font-weight:900; color:var(--text); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height: 42px}
.gs-sku{font-size:12px; color: var(--muted)}
.gs-sku-row{display:flex; gap:8px; align-items:center; flex-wrap:wrap}
.gs-stock-badge{
  display:inline-flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:900;
  padding: 4px 10px; border-radius: 999px;
  border:1px solid var(--border);
}
.gs-stock-in{background: rgba(22,163,74,.14); border-color: rgba(22,163,74,.35); color: #15803d}
.gs-stock-low{background: rgba(245,158,11,.16); border-color: rgba(245,158,11,.40); color: #b45309}
.gs-stock-out{background: #f1f5f9; border-color: var(--border); color: var(--muted)}
.gs-price{font-weight:900; color: var(--brand-red)}
.gs-iva{margin-top:6px; font-size:12px; color: var(--muted); font-weight:800}
.gs-stockline{font-weight:900; color:#0f766e}
.gs-card-actions{padding: 0 12px 14px}
/* Loop add-to-cart button (scoped, so it doesn't break Cart/Checkout) */
.woocommerce ul.products li.product a.button,
ul.products li.product a.button{display:inline-flex; align-items:center; justify-content:center; width:100%;
  padding: 12px 14px; border-radius: 999px; background: var(--brand-red); color:#fff; border:none; font-weight:900
}
.woocommerce ul.products li.product a.button:hover,
ul.products li.product a.button:hover{background: var(--brand-red-dark); color:#fff}

@media (max-width: 980px){
  .woocommerce ul.products,
  ul.products{grid-template-columns: repeat(2, 1fr)}
}
@media (max-width: 560px){
  .woocommerce ul.products,
  ul.products{grid-template-columns: 1fr}
}

/* Global Woo buttons */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button{
  border-radius: 999px;
  font-weight: 900;
}
.woocommerce button.button,
.woocommerce input.button{
  padding: 12px 14px;
  border:1px solid var(--border);
  background:#fff;
  color: var(--text);
}
.woocommerce button.button:hover,
.woocommerce input.button:hover{border-color: rgba(32,48,136,.35)}

/* Single product */
.gs-product-top{display:grid; grid-template-columns: 1.1fr .9fr; gap: 18px; align-items:start}
.gs-product-gallery{
  border:1px solid var(--border); border-radius: var(--radius); background:#fff; overflow:hidden;
}
.gs-product-summary{
  border:1px solid var(--border); border-radius: var(--radius); background:#fff;
  padding: 16px; box-shadow: 0 10px 22px rgba(2,6,23,.05);
}
.gs-product-title{margin:0 0 8px; font-size: 26px; line-height:1.1}
.gs-meta-line{display:flex; flex-wrap:wrap; gap:10px; color:var(--muted); font-size:13px}
.gs-chip{display:inline-flex; align-items:center; gap:6px; padding: 6px 10px; border:1px solid var(--border); border-radius: 999px; background:#fff}
.gs-chip strong{color:var(--text)}
.woocommerce div.product p.price, .woocommerce div.product span.price{color: var(--brand-red); font-weight:900; font-size: 22px}
.woocommerce div.product form.cart{margin-top: 10px}
.woocommerce div.product form.cart .quantity .qty{width: 92px; padding:10px 10px; border-radius: 12px; border:1px solid var(--border)}
.woocommerce div.product form.cart .single_add_to_cart_button{
  background: var(--brand-red) !important; color:#fff !important;
  padding: 12px 16px; border-radius: 999px; font-weight:900; border:none;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover{background: var(--brand-red-dark) !important}

.gs-cta-row{display:flex; gap:10px; margin-top: 12px; flex-wrap:wrap}
.gs-cta{flex:1; min-width: 180px; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding: 12px 14px; border-radius: 999px; border:1px solid var(--border); font-weight:900; color: var(--text); background:#fff;
}
.gs-cta:hover{border-color: rgba(32,48,136,.35)}
.gs-cta.primary{background: rgba(192,32,40,.10); border-color: rgba(192,32,40,.25); color: var(--brand-red)}
.gs-cta.primary:hover{background: rgba(192,32,40,.14)}
.gs-cta .icon{color: var(--brand-green, var(--brand-blue))}

.gs-product-sections{margin-top: 18px; display:grid; gap: 12px}
.gs-accordion{
  border:1px solid var(--border); border-radius: var(--radius); background:#fff; overflow:hidden;
}
.gs-acc-btn{
  width:100%; text-align:left; padding: 14px 14px; background:#fff; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.gs-acc-title{font-weight:900}
.gs-acc-icon{width: 22px; height:22px; border-radius: 999px; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--border); color: var(--muted)
}
.gs-acc-panel{padding: 0 14px 14px; color: var(--text)}
.gs-acc-panel[hidden]{display:none}
.gs-product-sections .woocommerce-Tabs-panel > h2{display:none}
.gs-product-sections .woocommerce-product-attributes{width:100%; border-collapse: collapse}
.gs-product-sections .woocommerce-product-attributes th,
.gs-product-sections .woocommerce-product-attributes td{border:1px solid var(--border); padding:10px; vertical-align:top}
.gs-product-sections .woocommerce-product-attributes th{background: rgba(227,211,220,.20); font-weight:900}
.gs-kv{display:grid; gap:8px}
.gs-kv .row{display:flex; flex-wrap:wrap; gap:8px}
.gs-kv .k{color:var(--muted); min-width: 130px}
.gs-kv .v{font-weight:800}

.woocommerce .related.products{margin-top: 26px}

/* Shop sidebar */
.gs-shop-sidebar{
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding: 14px;
  background:#fff;
  position: sticky;
  top: 14px;
  align-self: start;
}
.gs-side-title{font-weight:900; margin-bottom:10px}
.gs-side-sep{height:12px}
.gs-side-cats{max-height: 320px; overflow:auto; padding-right: 6px}
.gs-side-cats-list{list-style:none; padding:0; margin:0; display:grid; gap:6px}
.gs-side-cats-list li{margin:0}
.gs-side-cats-list a{font-weight:800; color:var(--text)}
.gs-side-cats-list a:hover{color: var(--brand-red)}
.gs-side-cats-list .children{list-style:none; padding-left: 14px; margin: 6px 0 0; display:grid; gap:6px}
.gs-side-cats-list .children a{font-weight:700; color: var(--muted)}

.gs-price-filter{display:grid; gap:8px}
.gs-price-filter input[type="number"]{
  padding:10px; border:1px solid var(--border); border-radius:12px;
}
.gs-price-filter input[type="number"]:focus{border-color: rgba(32,48,136,.5); box-shadow: 0 0 0 4px rgba(32,48,136,.10); outline:none}

.gs-select{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius: 999px;
  background:#fff;
  font-weight:900;
}

/* Ordering (select) */
.woocommerce .woocommerce-ordering{margin: 0 0 12px}
.woocommerce .woocommerce-ordering select.orderby,
.woocommerce .woocommerce-ordering select{
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius: 999px;
  background:#fff;
  font-weight:900;
  outline:none;
}
.woocommerce .woocommerce-ordering select:focus{border-color: rgba(32,48,136,.5); box-shadow: 0 0 0 4px rgba(32,48,136,.10)}

/* Cart/Checkout steps */
.gs-steps{margin: 8px 0 16px}
.gs-steps-inner{display:flex; gap:14px; flex-wrap:wrap; align-items:center}
.gs-step{display:flex; align-items:center; gap:8px; font-weight:900; font-size:13px; color: var(--muted)}
.gs-step-label{color:inherit}
.gs-step-dot{width:10px; height:10px; border-radius:999px; background: #cbd5e1}
.gs-step-done .gs-step-dot{background: rgba(32,48,136,.65)}
.gs-step-current{color: var(--text)}
.gs-step-current .gs-step-dot{background: var(--brand-red)}

/* Cart layout */
.woocommerce-cart .woocommerce{display:grid; grid-template-columns: 1fr 360px; gap: 16px; align-items:start}
/* Asegura que los notices no empujen el formulario a la columna derecha */
.woocommerce-cart .woocommerce .woocommerce-notices-wrapper{grid-column: 1 / -1}
.woocommerce-cart .woocommerce form.woocommerce-cart-form{grid-column: 1; min-width:0}
.woocommerce-cart .woocommerce .cart-collaterals{grid-column: 2; position: sticky; top: 14px}
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals{background:#fff}
.woocommerce-cart table.shop_table{
  border:1px solid var(--border);
  border-radius: var(--radius);
  overflow:hidden;
  background:#fff;
  width:100%;
}
.woocommerce-cart table.shop_table th{
  background: #f8fafc;
  font-weight:900;
}
.woocommerce-cart table.shop_table td,
.woocommerce-cart table.shop_table th{padding: 12px}
.woocommerce-cart .cart-collaterals .cart_totals{
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding: 14px;
  box-shadow: 0 10px 22px rgba(2,6,23,.05);
}
.woocommerce-cart .cart_totals h2{margin-top:0}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  background: var(--brand-red) !important;
  color:#fff !important;
  padding: 14px 16px !important;
  border-radius: 999px !important;
  font-weight:900 !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{background: var(--brand-red-dark) !important}

@media (max-width: 980px){
  .woocommerce-cart .woocommerce{grid-template-columns: 1fr}
  .woocommerce-cart .woocommerce .cart-collaterals{grid-column: 1; position: relative; top:auto}
}

/* Cart mobile UX (flujo rápido de compra) */
@media (max-width: 640px){
  body.woocommerce-cart{padding-bottom: 92px;}

  .woocommerce-cart table.shop_table{border-radius: 14px;}
  .woocommerce-cart table.shop_table thead{display:none;}
  .woocommerce-cart table.shop_table tr.woocommerce-cart-form__cart-item{
    display:block;
    padding: 10px 12px;
    border-bottom:1px solid var(--border);
  }
  .woocommerce-cart table.shop_table tr.woocommerce-cart-form__cart-item td{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding: 8px 0;
    border:none;
  }
  .woocommerce-cart table.shop_table tr.woocommerce-cart-form__cart-item td::before{
    content: attr(data-title);
    font-weight:900;
    color: var(--muted);
    margin-right: 10px;
  }
  .woocommerce-cart td.product-name{
    align-items:flex-start;
  }
  .woocommerce-cart td.product-name::before{content:"Producto";}
  .woocommerce-cart td.product-name a{font-weight:900; color: var(--brand-blue-dark);}
  .woocommerce-cart td.product-remove{justify-content:flex-end;}
  .woocommerce-cart td.product-remove::before{content:"";}
  .woocommerce-cart td.product-thumbnail{display:none;}
  .woocommerce-cart td.product-quantity .quantity .qty{width: 90px;}

  .woocommerce-cart .coupon{display:grid; grid-template-columns: 1fr; gap:10px;}
  .woocommerce-cart .coupon input.input-text{width:100%; min-width:0;}
  .woocommerce-cart .coupon button{width:100%;}

  /* Barra fija de continuar compra */
  .woocommerce-cart .cart-collaterals .wc-proceed-to-checkout{
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 999;
    background: #fff;
    border-top: 1px solid var(--border);
    padding: 10px 16px;
    box-shadow: 0 -10px 22px rgba(2,6,23,.10);
  }
  .woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button{
    width:100% !important;
    margin:0 !important;
  }
}

/* Checkout layout */
.woocommerce-checkout form.checkout{display:grid; grid-template-columns: 1fr 360px; gap:16px; align-items:start}
.woocommerce-checkout #customer_details{
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding: 14px;
  background:#fff;
}
.woocommerce-checkout #order_review{
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding: 14px;
  background:#fff;
  box-shadow: 0 10px 22px rgba(2,6,23,.05);
  position: sticky;
  top: 14px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  padding: 12px 12px;
  border:1px solid var(--border);
  border-radius: 12px;
  outline:none;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{
  border-color: rgba(32,48,136,.5);
  box-shadow: 0 0 0 4px rgba(32,48,136,.10);
}
.woocommerce-checkout #payment{
  background:#fff;
  border:1px solid var(--border);
  border-radius: var(--radius);
}
.woocommerce-checkout #place_order{
  background: var(--brand-red) !important;
  color:#fff !important;
  padding: 14px 16px !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
}
.woocommerce-checkout #place_order:hover{background: var(--brand-red-dark) !important}

/* My Account (logged-in layout) */
body.woocommerce-account.logged-in .woocommerce{display:grid; grid-template-columns: 260px 1fr; gap:16px; align-items:start}
body.woocommerce-account.logged-in .woocommerce{width:100%}
body.woocommerce-account.logged-in .woocommerce .woocommerce-notices-wrapper{grid-column: 1 / -1}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{grid-column: 1}
body.woocommerce-account.logged-in .woocommerce-MyAccount-content{grid-column: 2}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
  border:1px solid var(--border);
  border-radius: var(--radius);
  background:#fff;
  padding: 12px;
  position: sticky;
  top: 14px;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul{list-style:none; padding:0; margin:0; display:grid; gap:6px}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a{
  display:flex; padding:10px 12px; border-radius: 12px; font-weight:900; color: var(--text);
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation .is-active a{background: rgba(32,48,136,.08); color: var(--brand-blue)}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:hover{background: rgba(192,32,40,.08); color: var(--brand-red)}
body.woocommerce-account.logged-in .woocommerce-MyAccount-content{
  border:1px solid var(--border);
  border-radius: var(--radius);
  background:#fff;
  padding: 14px;
}

/* My Account (logged-out login/register) */
body.woocommerce-account:not(.logged-in) .woocommerce{max-width: 980px; margin: 0 auto}
body.woocommerce-account:not(.logged-in) #customer_login{display:grid; grid-template-columns: 1fr 1fr; gap:16px}

/* Login/Register cards */
.woocommerce-account form.login,
.woocommerce-account form.register{
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding: 14px;
  background:#fff;
  box-shadow: 0 10px 22px rgba(2,6,23,.05);
}
.woocommerce-account form.login button.button,
.woocommerce-account form.register button.button{background: var(--brand-red); color:#fff; border:none}
.woocommerce-account form.login button.button:hover,
.woocommerce-account form.register button.button:hover{background: var(--brand-red-dark)}

/* Footer */
.gs-footer{border-top:1px solid var(--border); background:#fff}
.gs-footer-inner{display:grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 18px; padding: 22px 0}
.gs-footer-title{font-weight:900; margin-bottom: 10px}
.gs-footer-text{color:var(--muted)}
.gs-footer-menu{list-style:none; padding:0; margin:0; display:grid; gap:8px}
.gs-footer-badges{display:flex; flex-wrap:wrap; gap:8px}
.gs-footer-badges span{padding: 6px 10px; border:1px solid var(--border); border-radius:999px; font-size:12px; font-weight:900; color:var(--muted)}
.gs-footer-badges .gs-pay{display:inline-flex; align-items:center; gap:8px; padding: 6px 10px}
.gs-footer-badges .gs-pay svg{width:18px; height:18px; fill: currentColor; opacity:.9}
.gs-footer-badges .gs-pay > span{padding:0; border:none; border-radius:0; font-size:12px; font-weight:900; color:var(--muted)}
.gs-footer-small{color:var(--muted); font-size:13px; margin-top:10px}
.gs-footer-bottom{border-top:1px solid var(--border); padding: 12px 0; color:var(--muted); font-size:13px}
.gs-footer-bottom-inner{display:flex; gap:10px; flex-wrap:wrap; align-items:center; justify-content:center}
.gs-footer-dot{opacity:.6}

/* Content pages */
.gs-page{padding: 10px 0 24px}
.gs-h1{font-size: 30px; margin: 0 0 10px}
.gs-content{color:var(--text)}

/* Responsive */
@media (max-width: 980px){
  .gs-nav-inner{grid-template-columns: 1fr auto; grid-template-areas: "brand actions" "search search";}
  .gs-brand{grid-area: brand}
  .gs-actions{grid-area: actions}
  .gs-search{grid-area: search}
  .gs-menu{display:none}
  .gs-burger{display:inline-flex}
  .gs-hero-inner{grid-template-columns: 1fr}
  .gs-cats-grid{grid-template-columns: repeat(2, 1fr)}
  .woocommerce ul.products{grid-template-columns: repeat(2, 1fr)}
  .gs-footer-inner{grid-template-columns: 1fr}
  .gs-product-top{grid-template-columns: 1fr}

  .gs-shop-layout{grid-template-columns: 1fr !important}
  .gs-shop-sidebar{position: relative; top:auto}

  .woocommerce-cart .woocommerce{grid-template-columns: 1fr}
  .woocommerce-checkout form.checkout{grid-template-columns: 1fr}
  .woocommerce-checkout #order_review{position: static}
  body.woocommerce-account.logged-in .woocommerce{grid-template-columns: 1fr}
  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{position: static}
  body.woocommerce-account:not(.logged-in) #customer_login{grid-template-columns: 1fr}
}
@media (max-width: 520px){
  .woocommerce ul.products{grid-template-columns: 1fr}
}


/* Woo wrapper */
.gs-woo{padding: 10px 0 24px}
@media (max-width: 980px){
  .gs-shop-layout{grid-template-columns: 1fr !important}
}


/* =========================
   Sticky Add-to-Cart (mobile)
========================= */

.gs-atc-highlight{outline:3px solid rgba(192,32,40,.28); outline-offset:6px; border-radius:12px;}
.gs-sticky-atc{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:9999;
  background:rgba(255,255,255,.96);
  border-top:1px solid var(--border);
  box-shadow:0 -10px 30px rgba(2,6,23,.10);
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
}
.gs-sticky-atc-inner{
  max-width:1200px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.gs-sticky-atc-meta{min-width:0}
.gs-sticky-atc-title{
  font-weight:800;
  font-size:12px;
  color:var(--text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:44vw;
}
.gs-sticky-atc-price{
  font-weight:900;
  color:var(--brand-red);
  font-size:14px;
  line-height:1.2;
}
.gs-sticky-atc-btn{
  border:0;
  border-radius:999px;
  background:var(--brand-red);
  color:#fff;
  font-weight:900;
  padding:12px 16px;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(192,32,40,.22);
}
.gs-sticky-atc-btn:active{transform:translateY(1px)}
@media(min-width:821px){ .gs-sticky-atc{display:none;} }


/* =========================
   Search results page (products)
========================= */

.gs-search-page{padding:18px 0 34px;}
.gs-search-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin:10px 0 16px;
}
.gs-search-term{color:var(--brand-blue);}
.gs-search-form-wrap{min-width:280px; flex:1; max-width:520px;}
@media(max-width: 820px){
  .gs-search-head{flex-direction:column; align-items:stretch;}
  .gs-search-form-wrap{max-width:none;}
  body.single-product{padding-bottom:68px;} /* room for sticky add-to-cart */
}
.gs-shop-layout{
  display:grid;
  grid-template-columns: 280px 1fr;
  gap:16px;
  align-items:start;
}
@media(max-width: 980px){ .gs-shop-layout{grid-template-columns:1fr;} }
.gs-shop-toolbar{display:flex; justify-content:flex-end; margin:0 0 10px;}


/* =========================
   Shop filters drawer (mobile)
========================= */

.gs-shop-head{margin-top:8px;}
.gs-shop-layout{
  display:grid;
  grid-template-columns: 280px 1fr;
  gap:16px;
  align-items:start;
}
.gs-shop-main{min-width:0;}
.gs-shop-toolbar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin:0 0 12px;
}
.gs-filter-btn{
  display:none;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  background:#fff;
  color:var(--text);
  font-weight:900;
  border-radius:999px;
  padding:10px 14px;
  cursor:pointer;
}
.gs-filter-btn:hover{border-color:#cbd5e1;}
.gs-filter-close{
  display:none;
  border:0;
  background:transparent;
  font-size:32px;
  line-height:1;
  font-weight:900;
  position:sticky;
  top:0;
  margin-left:auto;
  color:var(--text);
  cursor:pointer;
}
.gs-filter-overlay{
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.45);
  z-index:9999;
}
@media(max-width: 980px){
  .gs-shop-layout{grid-template-columns:1fr;}
  .gs-shop-toolbar{justify-content:space-between;}
  .gs-filter-btn{display:inline-flex;}
  .gsc-shop-sidebar{
    position:fixed;
    top:0; left:0;
    width:86vw;
    max-width:360px;
    height:100vh;
    overflow:auto;
    background:#fff;
    z-index:10000;
    transform:translateX(-110%);
    transition:transform .18s ease;
    padding:16px;
    box-shadow: 20px 0 40px rgba(2,6,23,.18);
  }
  body.gs-filters-open .gsc-shop-sidebar{transform:translateX(0);}
  .gs-filter-close{display:block;}
}



/* Fix WooCommerce legacy clearfix pseudo-elements occupying a grid cell (hides first product) */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after{
  content: none !important;
  display: none !important;
}

/* FiboSearch icon overlap fix: reserve space for the magnifier inside the input */
.gs-search .dgwt-wcas-search-wrapp,
.gs-search .dgwt-wcas-sf-wrapp{
  position: relative;
}
.gs-search .dgwt-wcas-search-submit,
.gs-search button.dgwt-wcas-search-submit{
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: transparent !important;
  padding: 0 !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  border: none !important;
  box-shadow: none !important;
  opacity: .85;
}
.gs-search input.dgwt-wcas-search-input,
.gs-search input[type="search"].dgwt-wcas-search-input{
  padding-left: 46px !important; /* space for icon */
}


/* =========================
   HOTFIX v1.1.3
   - FiboSearch icon overlap
   - Woo products grid first cell
   - Cart/Checkout polish
========================= */

/* FiboSearch: force icon to not overlap placeholder/text */
.gs-search .dgwt-wcas-search-wrapp,
.gs-search .dgwt-wcas-sf-wrapp{
  position: relative !important;
}
.gs-search .dgwt-wcas-search-submit,
.gs-search button.dgwt-wcas-search-submit{
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  z-index: 2 !important;
}
.gs-search .dgwt-wcas-search-submit svg,
.gs-search .dgwt-wcas-search-submit img{
  width: 18px !important;
  height: 18px !important;
}
.gs-search input.dgwt-wcas-search-input,
.gs-search input[type="search"].dgwt-wcas-search-input{
  padding-left: 56px !important;
  text-indent: 0 !important;
}

/* Some FiboSearch skins place icon as a span — keep it left aligned */
.gs-search .dgwt-wcas-ico-magnifier{
  position:absolute !important;
  left: 22px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  pointer-events:none !important;
  z-index: 3 !important;
}

/* Woo products grid: prevent legacy clearfix pseudo elements from becoming grid items */
ul.products::before,
ul.products::after,
.products::before,
.products::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce .products::before,
.woocommerce .products::after{
  content: none !important;
  display: none !important;
}

/* Force true grid and remove floats that can break first item rendering */
.woocommerce ul.products,
ul.products,
.woocommerce .products,
.products{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
  list-style:none !important;
  padding: 0 !important;
  margin: 0 !important;
}
@media(max-width: 980px){
  .woocommerce ul.products,
  ul.products,
  .woocommerce .products,
  .products{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media(max-width: 560px){
  .woocommerce ul.products,
  ul.products,
  .woocommerce .products,
  .products{ grid-template-columns: 1fr; }
}
.woocommerce ul.products li.product,
ul.products li.product{
  float: none !important;
  width: auto !important;
  clear: none !important;
  margin: 0 !important;
}

/* Cart: make table readable and aligned (desktop + mobile) */
.woocommerce-cart table.shop_table{
  table-layout: fixed;
}
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td{
  vertical-align: middle;
}
.woocommerce-cart td.product-remove{width:44px; text-align:center;}
.woocommerce-cart th.product-remove{width:44px;}
.woocommerce-cart th.product-thumbnail,
.woocommerce-cart td.product-thumbnail{width:92px;}
.woocommerce-cart th.product-price,
.woocommerce-cart td.product-price{width:140px;}
.woocommerce-cart th.product-quantity,
.woocommerce-cart td.product-quantity{width:140px;}
.woocommerce-cart th.product-subtotal,
.woocommerce-cart td.product-subtotal{width:140px; text-align:right;}
.woocommerce-cart td.product-name a{
  font-weight: 900;
  color: var(--brand-blue-dark);
  display:inline-block;
  max-width: 100%;
  overflow:hidden;
  text-overflow: ellipsis;
}
.woocommerce-cart .coupon{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.woocommerce-cart .coupon input.input-text{
  border-radius:999px !important;
  padding:10px 12px !important;
  min-width: 220px;
}
.woocommerce-cart button[name="apply_coupon"],
.woocommerce-cart button[name="update_cart"]{
  border-radius:999px !important;
  font-weight:900 !important;
  padding: 10px 14px !important;
}
.woocommerce-cart button[name="update_cart"]{
  background:#fff !important;
  border:1px solid var(--border) !important;
}

/* Footer social */
.gs-footer-social{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}
.gs-footer-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid var(--border);
  background: #fff;
  color: var(--brand-blue-dark);
  transition: transform .12s ease, background .12s ease;
}
.gs-footer-social a:hover{
  transform: translateY(-1px);
  background: rgba(32,48,136,.06);
}
.gs-footer-social svg{width:20px;height:20px; fill: currentColor;}

