/* =============================================================
   Demon Seed — Storefront Override / Full Width Fix v3.7.0
   ============================================================= */

/* ── Reset Storefront layout ── */
body { background: #0d0f14 !important; color: #e8e8e8 !important; font-family: 'Open Sans', sans-serif !important; }

/* Homepage — pull hero flush behind the sticky header, no gap */
body.home,
body.home #content,
body.home .site-content,
body.home #ds-main { background: transparent !important; padding: 0 !important; margin: 0 !important; }
body.home .site-content::before { display: none !important; }
body.home #ds-main { margin-top: -74px !important; } /* same specificity, declared last = wins */

/* Kill Storefront's wrapper padding and width limits */
.site { max-width: 100% !important; }
.col-full { max-width: 1200px !important; margin: 0 auto !important; padding: 0 20px !important; width: 100% !important; overflow: visible !important; }

/* Force content full width — no sidebar */
#primary, .content-area { width: 100% !important; float: none !important; }
#secondary, .widget-area { display: none !important; }

/* ── Hero full width ── */
.hero {
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  min-height: 90vh;
  background: linear-gradient(160deg, #0d0f14 0%, #13161e 60%, #0d0f14 100%);
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 80px 20px;
}
.hero-content { max-width: 700px; }
.hero .custom-logo { width: 120px !important; height: auto !important; margin: 0 auto 24px !important; }
.hero-title { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(3rem, 10vw, 6rem) !important; color: #fff !important; letter-spacing: 0.06em; line-height: 1; margin: 0 0 12px !important; }
.hero-tagline { color: #c9a84c; font-size: 1rem; letter-spacing: 0.25em; text-transform: uppercase; margin-bottom: 40px; }
.hero-btn { font-size: 1rem !important; padding: 16px 48px !important; }

/* ── Sections ── */
.section-featured { padding: 80px 0; }
.section-title { font-family: 'Bebas Neue', sans-serif !important; font-size: 2.5rem !important; color: #fff !important; margin-bottom: 40px; letter-spacing: 0.05em; }
.section-cta { text-align: center; margin-top: 40px; }
.section-brand { padding: 80px 20px; background: #13161e; text-align: center; }
.brand-statement h2 { font-family: 'Bebas Neue', sans-serif !important; font-size: 2rem !important; color: #c9a84c !important; margin-bottom: 16px; }
.brand-statement p { max-width: 580px; margin: 0 auto 32px; color: #aaa; line-height: 1.8; }

/* ── WooCommerce product grid ── */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 20px !important; list-style: none !important; padding: 0 !important; margin: 0 !important; clear: both !important; }
.woocommerce ul.products li.product { background: #13161e !important; border: 1px solid #1e2230 !important; border-radius: 4px !important; float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; transition: border-color 0.2s; }
.woocommerce ul.products li.product:hover { border-color: #009477 !important; }
.woocommerce ul.products li.product img { width: 100% !important; height: 220px !important; object-fit: cover !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: 'Bebas Neue', sans-serif !important; font-size: 1.1rem !important; color: #fff !important; padding: 12px 14px 4px !important; }
.woocommerce ul.products li.product .price { color: #009477 !important; font-weight: 700 !important; padding: 0 14px 10px !important; display: block; }
.woocommerce ul.products li.product .button { display: block !important; margin: 0 14px 14px !important; padding: 10px !important; background: #009477 !important; color: #fff !important; font-weight: 700 !important; text-transform: uppercase !important; font-size: 0.8rem !important; letter-spacing: 0.05em !important; border: none !important; border-radius: 2px !important; text-align: center; }
.woocommerce ul.products li.product .button:hover { background: #007860 !important; }

/* ── Buttons global ── */
.button, a.button, button.button, input[type=submit],
.woocommerce a.button, .woocommerce button.button {
  background: #009477 !important; color: #fff !important;
  font-family: 'Open Sans', sans-serif !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.06em !important;
  border-radius: 2px !important; border: none !important;
  padding: 12px 28px !important; cursor: pointer !important;
  transition: background 0.2s !important;
}
.button:hover, a.button:hover, .woocommerce a.button:hover { background: #007860 !important; color: #fff !important; }
.button-outline { background: transparent !important; border: 2px solid #009477 !important; color: #009477 !important; }
.button-outline:hover { background: #009477 !important; color: #fff !important; }

/* ── Header ── */
.site-header {
  background: #000 !important;
  border-bottom: 2px solid #009477 !important;
  padding: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;
}

/* Flex header: logo flush left | nav centered | cart right */
.header-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 20px 0 8px !important;
  display: flex !important;
  align-items: center !important;
  height: 72px !important;
}

/* Logo: left section, anchored to TOP so it drops DOWN below the header */
.site-branding {
  flex: 1 !important;
  display: flex !important;
  align-items: flex-start !important;
  align-self: flex-start !important;
  justify-content: flex-start !important;
}

/* Logo taller than header — hangs down below */
.site-branding img.custom-logo,
.custom-logo {
  height: 100px !important;
  width: auto !important;
  max-width: none !important;
  display: block !important;
  position: relative !important;
  z-index: 1001 !important;
}

.site-title a, .site-branding a { font-family: 'Bebas Neue', sans-serif !important; font-size: 1.6rem !important; color: #009477 !important; }

/* Nav: center section, centered content */
.nav-toggle { display: none !important; }
.main-navigation {
  flex: 1 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 !important;
}
.main-navigation ul {
  list-style: none !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.main-navigation ul li a { color: #e8e8e8 !important; font-size: 0.85rem !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 0.07em !important; padding: 8px 14px !important; display: block !important; white-space: nowrap !important; }
.main-navigation ul li a:hover { color: #009477 !important; }

/* Cart: right section — equal width to branding so nav stays truly centered */
.header-cart-link {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  color: #e8e8e8 !important;
  text-decoration: none !important;
}
.header-cart-link:hover { color: #009477 !important; }
.cart-count { background: #009477 !important; color: #fff !important; font-size: 0.7rem !important; font-weight: 700 !important; border-radius: 50% !important; width: 18px !important; height: 18px !important; display: flex !important; align-items: center !important; justify-content: center !important; }

/* ── Footer ── */
.site-footer { background: #000 !important; border-top: 2px solid #009477 !important; color: #666 !important; padding: 48px 20px 24px !important; }
.footer-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; }
.footer-title { font-family: 'Bebas Neue', sans-serif !important; font-size: 1.5rem !important; color: #009477 !important; letter-spacing: 0.1em !important; }
.footer-tagline { color: #555; font-size: 0.82rem; margin-top: 4px; }
.footer-nav ul { list-style: none !important; display: flex !important; gap: 20px !important; flex-wrap: wrap; padding: 0 !important; }
.footer-nav ul li a { color: #666 !important; font-size: 0.82rem !important; text-transform: uppercase; letter-spacing: 0.06em; }
.footer-nav ul li a:hover { color: #009477 !important; }
.footer-copy { color: #333; font-size: 0.76rem; margin-top: 32px; grid-column: 1/-1; text-align: center; }

/* ── Forms ── */
input[type=text], input[type=email], input[type=password], input[type=tel],
input[type=number], textarea, select {
  background: #0d0f14 !important; border: 1px solid #1e2230 !important;
  color: #e8e8e8 !important; border-radius: 2px !important;
}
input:focus, textarea:focus, select:focus { border-color: #009477 !important; outline: none !important; }

/* ── Mobile ── */
@media (max-width: 900px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; }
  .footer-inner { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  /* Switch back to flex for mobile — logo left, hamburger right */
  .header-inner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 0 !important;
  }

  /* Logo back to header height on mobile */
  .site-branding {
    align-self: center !important;
  }
  .site-branding img.custom-logo,
  .custom-logo {
    height: 56px !important;
  }

  /* Restore hamburger on mobile — override the desktop absolute/none above */
  .nav-toggle { display: flex !important; position: static !important; }

  .main-navigation {
    display: none !important;
    position: fixed !important;
    top: 72px !important;
    left: 0 !important;
    right: 0 !important;
    background: #000 !important;
    padding: 12px 0 20px !important;
    border-bottom: 2px solid #009477 !important;
    z-index: 999 !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    max-height: calc(100vh - 72px) !important;
    overflow-y: auto !important;
  }
  .main-navigation.open { display: flex !important; }

  .main-navigation ul {
    flex-direction: column !important;
    width: 100% !important;
    gap: 0 !important;
    justify-content: flex-start !important;
  }
  .main-navigation ul li { width: 100% !important; border-bottom: 1px solid #111 !important; }
  .main-navigation ul li a { display: block !important; padding: 14px 24px !important; }

  .hero { min-height: 70vh; }
}
@media (max-width: 480px) {
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
}

/* ══════════════════════════════════════════════════════════════
   SHOP PAGE — White theme override
   Targets body.woocommerce-shop (WooCommerce shop)
   ══════════════════════════════════════════════════════════════ */
body.woocommerce-shop,
body.page-id-817,
body.woocommerce-shop .site,
body.page-id-817 .site,
body.woocommerce-shop #content,
body.page-id-817 #content,
body.woocommerce-shop .site-content,
body.page-id-817 .site-content,
body.woocommerce-shop .content-area,
body.page-id-817 .content-area,
body.woocommerce-shop .site-main,
body.page-id-817 .site-main,
body.woocommerce-shop .entry-content,
body.page-id-817 .entry-content,
body.woocommerce-shop,
body.page-id-817 .woocommerce {
  background: #ffffff !important;
  color: #2B323D !important;
}

/* Shop page title */
body.woocommerce-shop h1.woocommerce-products-header__title,
body.woocommerce-shop-products-header h1,
body.woocommerce-shop .page-title {
  font-family: 'Nova Cut', sans-serif !important;
  font-size: 48px !important;
  font-weight: 400 !important;
  color: #2B323D !important;
  text-align: center !important;
  padding: 48px 30px 16px !important;
  margin: 0 !important;
}

/* Results count + ordering */
body.woocommerce-shop-result-count {
  color: #888 !important;
  font-family: 'Open Sans', sans-serif !important;
}
body.woocommerce-shop-ordering select {
  background: #ffffff !important;
  color: #2B323D !important;
  border: 1px solid #e0e0e0 !important;
}

/* Product grid */
body.woocommerce-shop ul.products {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 24px 30px 80px !important;
  margin: 0 auto !important;
  max-width: 1200px !important;
  background: #ffffff !important;
}

/* Kill Storefront's columns-3 width override */
body.woocommerce-shop ul.products.columns-3 li.product,
body.woocommerce-shop ul.products.columns-4 li.product { width: calc(25% - 15px) !important; }

/* Product card */
body.woocommerce-shop ul.products li.product {
  background: #ffffff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  float: none !important;
  width: calc(25% - 15px) !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: box-shadow 0.3s ease, background-image 0.3s ease !important;
}
body.woocommerce-shop ul.products li.product:hover {
  background: #ffffff !important;
  background-image: linear-gradient(180deg, #f4f4f4 96%, #009477 96%) !important;
  box-shadow: 1px 4px 35px 0px rgba(0,0,0,0.08) !important;
  border-color: #e0e0e0 !important;
  transform: none !important;
}

/* Product image */
body.woocommerce-shop ul.products li.product img {
  width: calc(100% - 2px) !important;
  height: 200px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  margin: 1px !important;
}

/* Product title */
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Nova Cut', sans-serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: #2B323D !important;
  padding: 14px 16px 4px !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

/* Price */
body.woocommerce-shop ul.products li.product .price {
  color: #2B323D !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  padding: 4px 16px 12px !important;
  display: block !important;
}
body.woocommerce-shop ul.products li.product .price del {
  color: #aaa !important;
  font-weight: 400 !important;
}
body.woocommerce-shop ul.products li.product .price ins {
  color: #009477 !important;
  text-decoration: none !important;
  font-weight: 700 !important;
}

/* Add to Cart button — teal outline pill */
body.woocommerce-shop ul.products li.product .button,
body.woocommerce-shop ul.products li.product a.button {
  display: inline-block !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #009477 !important;
  background: transparent !important;
  border: 1.5px solid #009477 !important;
  border-radius: 20px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  padding: 7px 20px !important;
  margin: 0 16px 16px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}
body.woocommerce-shop ul.products li.product:hover .button,
body.woocommerce-shop ul.products li.product:hover a.button {
  background: #009477 !important;
  color: #fff !important;
}

/* Sale badge */
body.woocommerce-shop span.onsale {
  background: #009477 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  border-radius: 20px !important;
  padding: 4px 10px !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1.4 !important;
}

/* Responsive */
@media (max-width: 900px) {
  body.woocommerce-shop ul.products li.product {
    width: calc(33.333% - 14px) !important;
  }
}
@media (max-width: 640px) {
  body.woocommerce-shop ul.products li.product {
    width: calc(50% - 10px) !important;
  }
}
@media (max-width: 480px) {
  body.woocommerce-shop ul.products {
    padding: 16px 20px 60px !important;
  }
  body.woocommerce-shop ul.products li.product {
    width: 100% !important;
  }
}

/* ══════════════════════════════════════════════════════════════
   CART & CHECKOUT — White theme override
   ══════════════════════════════════════════════════════════════ */
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-cart .site,
body.woocommerce-checkout .site,
body.woocommerce-cart #content,
body.woocommerce-checkout #content,
body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-content,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content,
body.woocommerce-cart .container,
body.woocommerce-checkout .container {
  background: #ffffff !important;
  color: #2B323D !important;
}

/* Page title */
body.woocommerce-cart .entry-title,
body.woocommerce-checkout .entry-title,
body.woocommerce-cart h1,
body.woocommerce-checkout h1 {
  font-family: 'Nova Cut', sans-serif !important;
  font-size: 48px !important;
  font-weight: 400 !important;
  color: #2B323D !important;
  text-align: center !important;
  padding: 48px 30px 16px !important;
  margin: 0 !important;
}

/* WooCommerce block wrappers */
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout {
  background: #ffffff !important;
  color: #2B323D !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 0 30px 80px !important;
}

/* Headings inside cart/checkout blocks */
body.woocommerce-cart h2,
body.woocommerce-cart h3,
body.woocommerce-checkout h2,
body.woocommerce-checkout h3 {
  font-family: 'Nova Cut', sans-serif !important;
  color: #2B323D !important;
  font-weight: 400 !important;
}

/* Table */
body.woocommerce-cart table.woocommerce-cart-form__contents,
body.woocommerce-cart table.shop_table {
  background: #ffffff !important;
  border-color: #e0e0e0 !important;
  color: #2B323D !important;
}
body.woocommerce-cart table th,
body.woocommerce-cart table td,
body.woocommerce-checkout table th,
body.woocommerce-checkout table td {
  background: #ffffff !important;
  color: #2B323D !important;
  border-color: #e0e0e0 !important;
}

/* Inputs */
body.woocommerce-cart input,
body.woocommerce-cart select,
body.woocommerce-cart textarea,
body.woocommerce-checkout input,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea {
  background: #ffffff !important;
  color: #2B323D !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 2px !important;
}
body.woocommerce-cart input:focus,
body.woocommerce-cart select:focus,
body.woocommerce-checkout input:focus,
body.woocommerce-checkout select:focus {
  border-color: #009477 !important;
  outline: none !important;
}

/* Labels */
body.woocommerce-cart label,
body.woocommerce-checkout label {
  color: #2B323D !important;
}

/* Order summary / totals box */
body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .wc-block-cart__totals,
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  background: #f8f8f8 !important;
  border: 1px solid #e0e0e0 !important;
  color: #2B323D !important;
  border-radius: 2px !important;
}

/* Proceed to checkout / Place order button */
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .checkout-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout #place_order {
  background: #009477 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 2px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 14px 32px !important;
}
body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .checkout-button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout #place_order:hover {
  background: #007860 !important;
}

/* Price / total text */
body.woocommerce-cart .woocommerce-Price-amount,
body.woocommerce-checkout .woocommerce-Price-amount {
  color: #2B323D !important;
  font-weight: 600 !important;
}

/* Links inside */
body.woocommerce-cart a,
body.woocommerce-checkout a {
  color: #009477 !important;
}
body.woocommerce-cart a:hover,
body.woocommerce-checkout a:hover {
  color: #007860 !important;
}

/* ══════════════════════════════════════════════════════════════
   MOBILE — Shop, Cart, Checkout
   ══════════════════════════════════════════════════════════════ */

/* Shop heading */
@media (max-width: 768px) {
  body.woocommerce-shop h1.woocommerce-products-header__title,
  body.woocommerce-shop .woocommerce-products-header h1,
  body.woocommerce-shop .page-title {
    font-size: 32px !important;
    padding: 32px 20px 12px !important;
  }
  body.woocommerce-shop ul.products {
    padding: 16px 20px 60px !important;
    gap: 14px !important;
  }
  body.woocommerce-shop ul.products li.product img {
    height: 160px !important;
  }
  body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title {
    font-size: 16px !important;
    padding: 10px 10px 2px !important;
  }
  body.woocommerce-shop ul.products li.product .price {
    font-size: 13px !important;
    padding: 2px 10px 8px !important;
  }
  body.woocommerce-shop ul.products li.product .button {
    padding: 6px 12px !important;
    font-size: 10px !important;
    margin: 0 10px 12px !important;
  }
}

@media (max-width: 480px) {
  body.woocommerce-shop h1.woocommerce-products-header__title,
  body.woocommerce-shop .page-title {
    font-size: 26px !important;
  }
  body.woocommerce-shop ul.products li.product img {
    height: 200px !important;
  }
}

/* Cart & Checkout */
@media (max-width: 768px) {
  body.woocommerce-cart h1,
  body.woocommerce-checkout h1 {
    font-size: 32px !important;
    padding: 32px 20px 12px !important;
  }
  body.woocommerce-cart .wp-block-woocommerce-cart,
  body.woocommerce-checkout .wp-block-woocommerce-checkout {
    padding: 0 16px 60px !important;
  }
  body.woocommerce-cart .wc-block-cart__submit-button,
  body.woocommerce-cart .checkout-button,
  body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
  body.woocommerce-checkout #place_order {
    width: 100% !important;
    padding: 16px !important;
    font-size: 1rem !important;
  }
  body.woocommerce-cart table,
  body.woocommerce-checkout table {
    font-size: 14px !important;
  }
  body.woocommerce-checkout .wc-block-checkout__sidebar,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    margin-top: 24px !important;
  }
}

@media (max-width: 480px) {
  body.woocommerce-cart h1,
  body.woocommerce-checkout h1 {
    font-size: 24px !important;
  }
  body.woocommerce-cart .wp-block-woocommerce-cart,
  body.woocommerce-checkout .wp-block-woocommerce-checkout {
    padding: 0 12px 40px !important;
  }
}
