/**
 * Style Glamz v1.4 — full-bleed layout + sticky header + responsive
 */

html {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: clip;
}
body.sg-woocommerce,
body.sg-home,
body {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: clip;
}

/* Neutralize any page builder / WP container constraints */
body > .site-header,
body > .ticker-wrap,
body > #sg-woocommerce,
body > .sg-woocommerce-wrap,
#sg-woocommerce,
.sg-woocommerce-wrap {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
}

.topbar,
.navbar,
.ticker-wrap,
.hero,
.promo-split,
.watch-banner,
.trust-strip,
.newsletter,
.category-hero,
footer,
.section,
.section.sec-white,
.section.sec-pale,
.section.sec-dark {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}

/* Inner content max-width (readable), outer shell full bleed */
.sg-container,
.footer-grid,
.prod-grid,
.cat-grid,
.blog-grid,
.reviews-grid,
.page,
.phase-page {
  width: 100%;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.phase-page { max-width: 1120px; padding: 55px 4vw 70px; }
.page { padding: 34px 4vw 60px; }

/* Category / shop + single product: full body width (no centered column) */
.shop-layout,
.category-hero-inner,
.category-hero-inner:not(.category-hero-grid),
.page.sg-single-product,
body.single-product .page.sg-single-product,
body.tax-product_cat .shop-layout,
body.post-type-archive-product .shop-layout,
body.woocommerce-shop .shop-layout {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}
.page.sg-single-product {
  padding: 34px 4vw 60px !important;
}
.shop-layout {
  padding: 52px 4vw 76px !important;
  display: grid;
  grid-template-columns: 235px 1fr;
  gap: 34px;
}

.section,
.newsletter,
.watch-banner,
.trust-strip,
footer {
  padding-left: 4vw !important;
  padding-right: 4vw !important;
}
.hero-left { padding-left: 4vw; padding-right: 4vw; }
.category-hero:not(.has-feature) { padding: 64px 0 58px !important; }
.category-hero:not(.has-feature) .category-hero-inner { padding: 0 4vw; }
.category-hero.has-feature {
  padding: 0 !important;
  width: 100% !important;
}
.category-hero.has-feature .category-hero-grid,
.category-hero.has-feature .category-hero-inner {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  min-height: 340px;
}
.category-hero.has-feature .category-hero-content {
  padding: 64px 4vw 58px;
}
.category-hero-media {
  width: 100%;
  min-height: 340px;
  background-size: cover;
  background-position: center;
}

/* Sticky header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 10000;
  width: 100% !important;
  max-width: 100% !important;
  background: #fff;
  box-shadow: 0 1px 0 var(--bd);
  transition: box-shadow .2s ease;
}
.site-header.is-scrolled { box-shadow: 0 6px 24px rgba(26, 5, 51, 0.12); }
body.admin-bar .site-header { top: 32px; }
@media screen and (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}
.site-header .navbar {
  position: relative !important;
  top: auto !important;
  width: 100% !important;
  background: #fff !important;
  box-shadow: none !important;
  border-bottom: 1px solid var(--bd) !important;
  padding: 0 4vw;
}

/* Payment icons */
.payment-methods { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pay-badge {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: #fff !important;
  border: 1px solid var(--bd) !important;
  border-radius: 8px !important;
  padding: 6px 10px !important;
  min-width: 52px;
  height: 34px;
  font-size: 0 !important;
  color: transparent !important;
}
.pay-badge svg { display: block; height: 18px; width: auto; max-width: 46px; }

.filter-panel { top: 120px !important; }
body.admin-bar .filter-panel { top: 152px !important; }

.hero-left, .hero-right, .promo-side, .watch-banner, .newsletter { overflow: hidden; }
.breadcrumb a { color: inherit; text-decoration: none; }
.filter-option a { color: inherit; text-decoration: none; }

/* Sticky offset */
:root { --sg-header-h: 108px; }
html { scroll-padding-top: var(--sg-header-h); }
body.admin-bar { --sg-header-h: 140px; }

/* Search above sticky header */
.sg-search-modal {
  z-index: 10050 !important;
}

/* Mobile filter drawer */
.sg-filter-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(13, 11, 26, 0.45);
  z-index: 10020;
}
.filter-panel.is-open {
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  width: min(320px, 88vw) !important;
  max-width: 100%;
  z-index: 10030 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  overflow-y: auto;
  box-shadow: 8px 0 32px rgba(26, 5, 51, 0.18);
}
body.sg-nav-open,
body.sg-filter-open,
body.sg-search-open {
  overflow: hidden;
}

/* Responsive */
@media (max-width: 1200px) {
  .prod-grid { grid-template-columns: repeat(3, 1fr) !important; }
  .category-products { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 980px) {
  .site-header .navbar { padding: 0 4vw !important; }
  .site-header .nav-toggle { display: inline-flex !important; }
  .site-header .nav-links {
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: #fff !important;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    max-height: min(70vh, 480px);
    overflow-y: auto;
    padding: 8px 0 16px;
    box-shadow: 0 12px 24px rgba(26,5,51,.12);
    z-index: 10010;
  }
  .site-header .nav-links.is-open {
    display: flex !important;
  }
  .site-header .nav-links li a {
    display: block;
    padding: 14px 4vw;
    border-bottom: 1px solid var(--bd);
  }
  .hero { grid-template-columns: 1fr !important; min-height: auto !important; }
  .hero-left { padding: 40px 4vw !important; }
  .hero-right { min-height: 260px; }
  .cat-grid, .prod-grid, .category-products { grid-template-columns: repeat(2, 1fr) !important; }
  .blog-grid, .reviews-grid, .promo-split, .watch-banner, .trust-strip, .footer-grid { grid-template-columns: 1fr !important; }
  .shop-layout { grid-template-columns: 1fr !important; padding: 36px 4vw 56px !important; }
  .filter-panel:not(.is-open) { display: none !important; }
  .mobile-filter { display: inline-flex !important; align-items: center; gap: 6px; }
  .category-hero.has-feature .category-hero-grid,
  .category-hero.has-feature .category-hero-inner { grid-template-columns: 1fr !important; }
  .category-hero-media { min-height: 220px !important; }
  .category-hero.has-feature .category-hero-content,
  .category-hero:not(.has-feature) { padding: 42px 0 !important; }
  .category-hero:not(.has-feature) .category-hero-inner { padding: 0 4vw; }
  .watch-types { grid-template-columns: 1fr !important; }
  .nl-form { flex-direction: column !important; max-width: 100% !important; }
  .nl-btn { width: 100%; white-space: normal !important; }
  .woocommerce-MyAccount-navigation,
  .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
  }
}
@media (max-width: 640px) {
  :root { --sg-header-h: 100px; }
  .site-header .navbar { height: 64px; }
  .logo-img { height: 40px !important; max-width: 150px !important; }
  .prod-grid, .category-products, .cat-grid { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
  .blog-grid { grid-template-columns: 1fr !important; }
  .product-layout, .cart-grid, .checkout-grid { grid-template-columns: 1fr !important; }
  .details-grid, .benefits, .fields { grid-template-columns: 1fr !important; }
  .payment-methods { justify-content: center; }
  .footer-bottom { flex-direction: column; text-align: center; gap: 14px; }
  .sg-auth-grid, .sg-account-grid { grid-template-columns: 1fr !important; }
  .cart-item { grid-template-columns: 80px 1fr !important; gap: 12px !important; }
  .cart-item > :last-child { grid-column: 2; }
  .cart-img { height: 80px !important; }
  .cart-title { font-size: clamp(28px, 8vw, 36px) !important; }
  .thumbs { flex-wrap: wrap; }
  .thumb { width: clamp(56px, 18vw, 74px); height: clamp(56px, 18vw, 74px); }
  .sizes, .swatches { flex-wrap: wrap; }
  .buy { flex-wrap: wrap; }
  .add { min-width: 160px; }
  .related ul.products { grid-template-columns: 1fr !important; }
  .summary { position: static !important; }
  .page-hero h1 { font-size: clamp(28px, 8vw, 40px) !important; }
  .info-grid, .contact-grid { grid-template-columns: 1fr !important; }
  .sg-orders-table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hero-left { padding: 32px 4vw !important; }
  .h-title { font-size: clamp(34px, 10vw, 52px) !important; }
}
@media (max-width: 480px) {
  .prod-grid, .category-products, .cat-grid { grid-template-columns: 1fr !important; }
}
