/* Burnigan Core 1.6 — split legacy compatibility bundle.
   Generated from legacy v1.1.6 without changing rule contents. */

/* =========================================================
   01. DESIGN TOKENS
   ========================================================= */

:root {
  --burnigan-black: #080808;
  --burnigan-black-soft: #171717;
  --burnigan-white: #ffffff;
  --burnigan-bg: #f4f4f1;
  --burnigan-bg-alt: #ecece8;
  --burnigan-border: rgba(8, 8, 8, 0.16);
  --burnigan-muted: #70706b;
  --burnigan-max: 1320px;
  --burnigan-font: Arial, Helvetica, sans-serif;
}

/* =========================================================
   HOMEPAGE NEW ARRIVALS — VIEW CART BUTTON
   ========================================================= */

body.home .woocommerce a.added_to_cart,
body.home .burnigan-new-arrivals-grid a.added_to_cart,
body.home ul.products li.product a.added_to_cart {
  width: 100% !important;
  min-height: 48px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 10px 0 0 !important;
  padding: 14px 18px !important;

  border: 1px solid #080808 !important;
  border-radius: 0 !important;

  background: #080808 !important;
  color: #ffffff !important;

  box-shadow: none !important;

  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;

  letter-spacing: 0.15em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;

  transition:
    background-color 0.25s ease,
    color 0.25s ease,
    transform 0.25s ease;
}

body.home .woocommerce a.added_to_cart:hover,
body.home .woocommerce a.added_to_cart:focus-visible,
body.home .burnigan-new-arrivals-grid a.added_to_cart:hover,
body.home .burnigan-new-arrivals-grid a.added_to_cart:focus-visible {
  background: transparent !important;
  color: #080808 !important;
  transform: translateY(-2px);
}

/* =========================================================
   36. BURNIGAN BLOCKSY HEADER + MOBILE MENU — CLEAN v2
   Keep this section LAST.

   Compatibility-first approach:
   - Blocksy controls layout, panel position and animation.
   - This section changes appearance only.
   - No forced fixed positioning, panel sizing or internal
     display overrides that can hide menu items.
   ========================================================= */

:root {
  --burnigan-header-bg: #ffffff;
  --burnigan-header-text: #080808;
  --burnigan-header-soft: #f4f4f1;
  --burnigan-header-border: rgba(8, 8, 8, 0.10);
  --burnigan-header-shadow: 0 10px 34px rgba(8, 8, 8, 0.08);
  --burnigan-header-transition: 220ms cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Shared header foundation ---------- */

header#header,
header.ct-header,
#header,
.ct-header {
  z-index: 9999;
  width: 100%;
}

header#header [data-row="middle"],
header.ct-header [data-row="middle"],
#header [data-row="middle"],
.ct-header [data-row="middle"] {
  min-height: 78px;
  border-bottom: 1px solid var(--burnigan-header-border);
  background: rgba(255, 255, 255, 0.97);
  transition:
    min-height var(--burnigan-header-transition),
    background-color var(--burnigan-header-transition),
    box-shadow var(--burnigan-header-transition);
}

header#header [data-row="middle"] > div,
header.ct-header [data-row="middle"] > div,
#header [data-row="middle"] > div,
.ct-header [data-row="middle"] > div {
  min-height: inherit;
}

header#header .ct-container,
header.ct-header .ct-container,
#header .ct-container,
.ct-header .ct-container {
  width: 100%;
  max-width: 1380px;
  margin-inline: auto;
  padding-inline: clamp(20px, 2.3vw, 38px);
}

/* Sticky state: retain Blocksy mechanics, add only the finish */
header#header [data-sticky*="yes"],
header.ct-header [data-sticky*="yes"],
#header [data-sticky*="yes"],
.ct-header [data-sticky*="yes"],
header#header .ct-sticky-container,
header.ct-header .ct-sticky-container,
#header .ct-sticky-container,
.ct-header .ct-sticky-container {
  border-bottom-color: transparent;
  background: rgba(255, 255, 255, 0.90) !important;
  -webkit-backdrop-filter: blur(14px) saturate(145%);
  backdrop-filter: blur(14px) saturate(145%);
  box-shadow: var(--burnigan-header-shadow);
}

/* ---------- Logo ---------- */

header#header .site-logo-container,
header.ct-header .site-logo-container,
#header .site-logo-container,
.ct-header .site-logo-container {
  display: inline-flex;
  align-items: center;
}

header#header .site-logo-container img,
header.ct-header .site-logo-container img,
#header .site-logo-container img,
.ct-header .site-logo-container img {
  display: block;
  width: auto !important;
  max-width: 260px !important;
  max-height: 38px !important;
  object-fit: contain;
  transition: transform var(--burnigan-header-transition);
}

header#header .site-logo-container:hover img,
header.ct-header .site-logo-container:hover img,
#header .site-logo-container:hover img,
.ct-header .site-logo-container:hover img {
  transform: scale(1.012);
}

/* ---------- Desktop navigation ---------- */

@media (min-width: 1000px) {
  header#header .menu,
  header.ct-header .menu,
  #header .menu,
  .ct-header .menu {
    display: flex;
    align-items: center;
    gap: clamp(28px, 2.3vw, 44px);
  }

  header#header .menu > li,
  header.ct-header .menu > li,
  #header .menu > li,
  .ct-header .menu > li {
    position: relative;
  }

  header#header .menu > li > a,
  header.ct-header .menu > li > a,
  #header .menu > li > a,
  .ct-header .menu > li > a {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding: 0 !important;
    color: var(--burnigan-header-text) !important;
    font-family: var(--burnigan-font, Arial, Helvetica, sans-serif);
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    opacity: 1;
    transition:
      color var(--burnigan-header-transition),
      opacity var(--burnigan-header-transition);
  }

  header#header .menu > li > a::after,
  header.ct-header .menu > li > a::after,
  #header .menu > li > a::after,
  .ct-header .menu > li > a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 7px;
    left: 0;
    height: 2px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform var(--burnigan-header-transition);
  }

  header#header .menu > li:hover > a::after,
  header#header .menu > li.current-menu-item > a::after,
  header#header .menu > li.current-menu-ancestor > a::after,
  header.ct-header .menu > li:hover > a::after,
  header.ct-header .menu > li.current-menu-item > a::after,
  header.ct-header .menu > li.current-menu-ancestor > a::after,
  #header .menu > li:hover > a::after,
  #header .menu > li.current-menu-item > a::after,
  #header .menu > li.current-menu-ancestor > a::after,
  .ct-header .menu > li:hover > a::after,
  .ct-header .menu > li.current-menu-item > a::after,
  .ct-header .menu > li.current-menu-ancestor > a::after {
    transform: scaleX(1);
    transform-origin: left center;
  }

  header#header .menu > li > a:hover,
  header.ct-header .menu > li > a:hover,
  #header .menu > li > a:hover,
  .ct-header .menu > li > a:hover {
    color: var(--burnigan-header-text) !important;
    opacity: 0.62;
  }

  /* Dropdown appearance only; Blocksy keeps positioning/behavior */
  header#header .sub-menu,
  header.ct-header .sub-menu,
  #header .sub-menu,
  .ct-header .sub-menu {
    padding: 12px;
    border: 1px solid var(--burnigan-header-border);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: var(--burnigan-header-shadow);
  }

  header#header .sub-menu a,
  header.ct-header .sub-menu a,
  #header .sub-menu a,
  .ct-header .sub-menu a {
    padding: 12px 14px;
    color: var(--burnigan-header-text) !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition:
      padding-left var(--burnigan-header-transition),
      background-color var(--burnigan-header-transition);
  }

  header#header .sub-menu a:hover,
  header.ct-header .sub-menu a:hover,
  #header .sub-menu a:hover,
  .ct-header .sub-menu a:hover {
    padding-left: 18px;
    background: var(--burnigan-header-soft);
  }

  header#header [data-column="end"],
  header.ct-header [data-column="end"],
  #header [data-column="end"],
  .ct-header [data-column="end"] {
    gap: 7px;
  }
}

/* ---------- Header action icons ---------- */

header#header :is(
  .ct-header-search,
  .ct-account-item,
  .ct-cart-item,
  .ct-header-trigger
),
header.ct-header :is(
  .ct-header-search,
  .ct-account-item,
  .ct-cart-item,
  .ct-header-trigger
),
#header :is(
  .ct-header-search,
  .ct-account-item,
  .ct-cart-item,
  .ct-header-trigger
),
.ct-header :is(
  .ct-header-search,
  .ct-account-item,
  .ct-cart-item,
  .ct-header-trigger
) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  border-radius: 999px;
  color: var(--burnigan-header-text) !important;
  transition:
    background-color var(--burnigan-header-transition),
    transform var(--burnigan-header-transition);
}

header#header :is(
  .ct-header-search,
  .ct-account-item,
  .ct-cart-item,
  .ct-header-trigger
):hover,
header.ct-header :is(
  .ct-header-search,
  .ct-account-item,
  .ct-cart-item,
  .ct-header-trigger
):hover,
#header :is(
  .ct-header-search,
  .ct-account-item,
  .ct-cart-item,
  .ct-header-trigger
):hover,
.ct-header :is(
  .ct-header-search,
  .ct-account-item,
  .ct-cart-item,
  .ct-header-trigger
):hover {
  background: var(--burnigan-header-soft);
  transform: translateY(-1px);
}

header#header svg,
header.ct-header svg,
#header svg,
.ct-header svg {
  width: 21px;
  height: 21px;
}

/* ---------- Tablet/mobile header ---------- */

@media (max-width: 999.98px) {
  header#header [data-row="middle"],
  header.ct-header [data-row="middle"],
  #header [data-row="middle"],
  .ct-header [data-row="middle"] {
    min-height: 72px;
  }

  header#header .ct-container,
  header.ct-header .ct-container,
  #header .ct-container,
  .ct-header .ct-container {
    padding-inline: 18px;
  }

  header#header .site-logo-container img,
  header.ct-header .site-logo-container img,
  #header .site-logo-container img,
  .ct-header .site-logo-container img {
    max-width: 205px !important;
    max-height: 29px !important;
  }

  header#header [data-column="end"],
  header.ct-header [data-column="end"],
  #header [data-column="end"],
  .ct-header [data-column="end"] {
    gap: 3px;
  }

  header#header :is(
    .ct-header-search,
    .ct-account-item,
    .ct-cart-item,
    .ct-header-trigger
  ),
  header.ct-header :is(
    .ct-header-search,
    .ct-account-item,
    .ct-cart-item,
    .ct-header-trigger
  ),
  #header :is(
    .ct-header-search,
    .ct-account-item,
    .ct-cart-item,
    .ct-header-trigger
  ),
  .ct-header :is(
    .ct-header-search,
    .ct-account-item,
    .ct-cart-item,
    .ct-header-trigger
  ) {
    min-width: 40px;
    min-height: 40px;
    padding: 0;
  }
}

@media (max-width: 420px) {
  header#header .ct-container,
  header.ct-header .ct-container,
  #header .ct-container,
  .ct-header .ct-container {
    padding-inline: 14px;
  }

  header#header .site-logo-container img,
  header.ct-header .site-logo-container img,
  #header .site-logo-container img,
  .ct-header .site-logo-container img {
    max-width: 184px !important;
    max-height: 26px !important;
  }

  header#header :is(
    .ct-header-search,
    .ct-account-item,
    .ct-cart-item,
    .ct-header-trigger
  ),
  header.ct-header :is(
    .ct-header-search,
    .ct-account-item,
    .ct-cart-item,
    .ct-header-trigger
  ),
  #header :is(
    .ct-header-search,
    .ct-account-item,
    .ct-cart-item,
    .ct-header-trigger
  ),
  .ct-header :is(
    .ct-header-search,
    .ct-account-item,
    .ct-cart-item,
    .ct-header-trigger
  ) {
    min-width: 36px;
    min-height: 36px;
  }
}

/* ---------- Native Blocksy mobile menu intentionally unstyled ----------
   Burnigan Independent Mobile Navigation v5 supplies its own
   trigger, markup, panel, animation and accessibility behavior.
   Do not add #offcanvas or .ct-panel layout rules here.
--------------------------------------------------------- */

/* Search overlay */
#search-modal .ct-search-form,
.ct-search-form {
  max-width: 760px;
  margin-inline: auto;
}

#search-modal input[type="search"],
.ct-search-form input[type="search"] {
  min-height: 58px;
  padding-inline: 18px;
  border: 0;
  border-bottom: 1px solid var(--burnigan-header-text);
  border-radius: 0;
  background: transparent;
  font-size: clamp(22px, 3vw, 36px);
  font-weight: 600;
}

/* Accessibility */
header#header :is(a, button):focus-visible,
header.ct-header :is(a, button):focus-visible,
#header :is(a, button):focus-visible,
.ct-header :is(a, button):focus-visible {
  outline: 2px solid var(--burnigan-header-text);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  header#header *,
  header.ct-header *,
  #header *,
  .ct-header * {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* =========================================================
   37. BURNIGAN PREMIUM HEADER REFINEMENT — v38
   Keep this section LAST.
   Refines desktop polish and narrows the mobile drawer.
   ========================================================= */

/* ---------- Desktop: stronger premium presence ---------- */
@media (min-width: 1000px) {
  header#header [data-row="middle"],
  header.ct-header [data-row="middle"],
  #header [data-row="middle"],
  .ct-header [data-row="middle"] {
    min-height: 84px !important;
    background: rgba(255,255,255,.98) !important;
  }

  header#header .ct-container,
  header.ct-header .ct-container,
  #header .ct-container,
  .ct-header .ct-container {
    max-width: 1480px !important;
    padding-inline: clamp(28px, 3vw, 54px) !important;
  }

  header#header .site-logo-container img,
  header.ct-header .site-logo-container img,
  #header .site-logo-container img,
  .ct-header .site-logo-container img {
    max-width: 285px !important;
    max-height: 42px !important;
  }

  header#header .menu,
  header.ct-header .menu,
  #header .menu,
  .ct-header .menu {
    gap: clamp(34px, 2.7vw, 52px) !important;
  }

  header#header .menu > li > a,
  header.ct-header .menu > li > a,
  #header .menu > li > a,
  .ct-header .menu > li > a {
    min-height: 52px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .14em !important;
  }

  header#header [data-column="end"],
  header.ct-header [data-column="end"],
  #header [data-column="end"],
  .ct-header [data-column="end"] {
    gap: 10px !important;
  }

  header#header :is(.ct-header-search,.ct-account-item,.ct-cart-item),
  header.ct-header :is(.ct-header-search,.ct-account-item,.ct-cart-item),
  #header :is(.ct-header-search,.ct-account-item,.ct-cart-item),
  .ct-header :is(.ct-header-search,.ct-account-item,.ct-cart-item) {
    min-width: 44px !important;
    min-height: 44px !important;
    border: 1px solid transparent;
  }

  header#header :is(.ct-header-search,.ct-account-item,.ct-cart-item):hover,
  header.ct-header :is(.ct-header-search,.ct-account-item,.ct-cart-item):hover,
  #header :is(.ct-header-search,.ct-account-item,.ct-cart-item):hover,
  .ct-header :is(.ct-header-search,.ct-account-item,.ct-cart-item):hover {
    border-color: rgba(8,8,8,.12);
    background: #fff !important;
  }
}

/* ---------- Sticky desktop: refined glass ---------- */
@media (min-width: 1000px) {
  header#header [data-sticky*="yes"],
  header.ct-header [data-sticky*="yes"],
  #header [data-sticky*="yes"],
  .ct-header [data-sticky*="yes"],
  header#header .ct-sticky-container,
  header.ct-header .ct-sticky-container,
  #header .ct-sticky-container,
  .ct-header .ct-sticky-container {
    background: rgba(255,255,255,.86) !important;
    -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
    backdrop-filter: blur(18px) saturate(160%) !important;
    box-shadow: 0 14px 36px rgba(8,8,8,.09) !important;
  }
}

/* ---------- Mobile header proportions ---------- */
@media (max-width: 999.98px) {
  header#header [data-row="middle"],
  header.ct-header [data-row="middle"],
  #header [data-row="middle"],
  .ct-header [data-row="middle"] {
    min-height: 70px !important;
  }

  header#header .site-logo-container img,
  header.ct-header .site-logo-container img,
  #header .site-logo-container img,
  .ct-header .site-logo-container img {
    max-width: 190px !important;
    max-height: 27px !important;
  }
}

/* ---------- Mobile navigation ----------
   The mobile navigation is intentionally excluded from this
   stylesheet. Use only the independent v5 PHP navigation.
   ========================================================= */

/* =========================================================
   38. INDEPENDENT MOBILE NAVIGATION COMPATIBILITY — v41

   The master stylesheet contains no #offcanvas, .ct-panel,
   #menu-main-menu-1 or legacy .burnigan-mobile-nav rules.

   Mobile navigation is supplied exclusively by:
   Burnigan_Independent_Mobile_Navigation_Final_v5.php
   ========================================================= */

/* =========================================================
   47. PREMIUM PRODUCT CARDS — v49
   Secondary-image hover, cleaner actions, subtle motion.
   ========================================================= */

body:is(
  .woocommerce-shop,
  .post-type-archive-product,
  .tax-product_cat,
  .tax-product_tag
) ul.products > li.product {
  overflow: visible !important;
  transform: translateY(0);
  transition: transform .24s ease !important;
}

@media (hover: hover) and (pointer: fine) {
  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) ul.products > li.product:hover {
    transform: translateY(-3px);
  }
}

/* Secondary product image injected by the companion PHP snippet */
body:is(
  .woocommerce-shop,
  .post-type-archive-product,
  .tax-product_cat,
  .tax-product_tag
) ul.products > li.product .burnigan-secondary-image {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 2 !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition:
    opacity .34s ease,
    visibility 0s linear .34s !important;
}

body:is(
  .woocommerce-shop,
  .post-type-archive-product,
  .tax-product_cat,
  .tax-product_tag
) ul.products > li.product .burnigan-secondary-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: scale(1.01) !important;
  transition: transform .45s ease !important;
}

@media (hover: hover) and (pointer: fine) {
  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) ul.products > li.product:hover .burnigan-secondary-image {
    opacity: 1 !important;
    visibility: visible !important;
    transition-delay: 0s !important;
  }

  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) ul.products > li.product:hover .burnigan-secondary-image img {
    transform: scale(1.025) !important;
  }
}

/* Ensure card text stays above any visual overlay */
body:is(
  .woocommerce-shop,
  .post-type-archive-product,
  .tax-product_cat,
  .tax-product_tag
) ul.products > li.product :is(
  .woocommerce-loop-product__title,
  .price,
  .button,
  .added_to_cart
) {
  position: relative !important;
  z-index: 3 !important;
}

/* Refined product-card title and price motion */
body:is(
  .woocommerce-shop,
  .post-type-archive-product,
  .tax-product_cat,
  .tax-product_tag
) ul.products > li.product .woocommerce-loop-product__title,
body:is(
  .woocommerce-shop,
  .post-type-archive-product,
  .tax-product_cat,
  .tax-product_tag
) ul.products > li.product .price {
  transition:
    color .2s ease,
    transform .2s ease !important;
}

@media (hover: hover) and (pointer: fine) {
  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) ul.products > li.product:hover .woocommerce-loop-product__title {
    transform: translateY(-1px);
  }
}

/* Premium action treatment */
body:is(
  .woocommerce-shop,
  .post-type-archive-product,
  .tax-product_cat,
  .tax-product_tag
) ul.products > li.product .button {
  position: relative !important;
  overflow: hidden !important;
}

body:is(
  .woocommerce-shop,
  .post-type-archive-product,
  .tax-product_cat,
  .tax-product_tag
) ul.products > li.product .button::after {
  content: "→" !important;
  display: inline-block !important;
  margin-left: 8px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  transform: translateX(0);
  transition: transform .18s ease !important;
}

@media (hover: hover) and (pointer: fine) {
  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) ul.products > li.product .button:hover::after {
    transform: translateX(3px);
  }
}

/* New badge injected by PHP */
body:is(
  .woocommerce-shop,
  .post-type-archive-product,
  .tax-product_cat,
  .tax-product_tag
) ul.products > li.product .burnigan-new-badge {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  z-index: 6 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 26px !important;
  padding: 6px 9px !important;
  border: 1px solid rgba(255,255,255,.7) !important;
  background: rgba(255,255,255,.92) !important;
  color: #080808 !important;
  font-size: 8px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

/* Mobile: no hover image swapping, calmer cards */
@media (max-width: 767px) {
  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) ul.products > li.product {
    transform: none !important;
  }

  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) ul.products > li.product .burnigan-secondary-image {
    display: none !important;
  }

  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) ul.products > li.product .button::after {
    margin-left: 5px !important;
    font-size: 10px !important;
  }

  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) ul.products > li.product .burnigan-new-badge {
    top: 7px !important;
    left: 7px !important;
    min-height: 22px !important;
    padding: 5px 7px !important;
    font-size: 7px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) ul.products > li.product,
  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) ul.products > li.product * {
    transition: none !important;
  }
}

/* =========================================================
   48. PREMIUM HEADER & NAVIGATION — v51
   Blocksy-focused desktop header, sticky state, nav motion,
   account/cart polish, and premium mobile drawer.
   ========================================================= */

:root {
  --burnigan-header-height: 78px;
  --burnigan-header-bg: rgba(255, 255, 255, .94);
  --burnigan-header-bg-solid: #ffffff;
  --burnigan-header-text: #080808;
  --burnigan-header-line: rgba(8, 8, 8, .10);
  --burnigan-header-shadow: 0 10px 30px rgba(0, 0, 0, .055);
  --burnigan-header-blur: 18px;
}

/* Main Blocksy header shell */
#header,
.ct-header {
  position: relative;
  z-index: 9990 !important;
}

#header [data-row],
.ct-header [data-row] {
  transition:
    background-color .24s ease,
    border-color .24s ease,
    box-shadow .24s ease,
    backdrop-filter .24s ease !important;
}

/* Desktop primary row */
@media (min-width: 1000px) {
  #header [data-device="desktop"] [data-row="middle"],
  .ct-header [data-device="desktop"] [data-row="middle"] {
    min-height: var(--burnigan-header-height) !important;
    border-bottom: 1px solid var(--burnigan-header-line) !important;
    background: var(--burnigan-header-bg) !important;
    backdrop-filter: blur(var(--burnigan-header-blur)) saturate(140%) !important;
    -webkit-backdrop-filter: blur(var(--burnigan-header-blur)) saturate(140%) !important;
  }

  body.burnigan-header-scrolled #header [data-device="desktop"] [data-row="middle"],
  body.burnigan-header-scrolled .ct-header [data-device="desktop"] [data-row="middle"] {
    background: var(--burnigan-header-bg-solid) !important;
    box-shadow: var(--burnigan-header-shadow) !important;
  }

  /* Wider, calmer header canvas */
  #header [data-device="desktop"] .ct-container,
  .ct-header [data-device="desktop"] .ct-container {
    width: calc(100% - 56px) !important;
    max-width: 1440px !important;
    margin-inline: auto !important;
  }

  /* Brand/logo */
  #header [data-device="desktop"] .site-branding,
  .ct-header [data-device="desktop"] .site-branding {
    transition: transform .22s ease !important;
    transform-origin: left center !important;
  }

  body.burnigan-header-scrolled #header [data-device="desktop"] .site-branding,
  body.burnigan-header-scrolled .ct-header [data-device="desktop"] .site-branding {
    transform: scale(.96) !important;
  }

  #header [data-device="desktop"] .site-logo-container img,
  .ct-header [data-device="desktop"] .site-logo-container img {
    max-height: 42px !important;
    width: auto !important;
    object-fit: contain !important;
  }

  /* Primary navigation */
  #header [data-device="desktop"] .menu,
  .ct-header [data-device="desktop"] .menu {
    display: flex !important;
    align-items: center !important;
    gap: clamp(22px, 2vw, 34px) !important;
  }

  #header [data-device="desktop"] .menu > li,
  .ct-header [data-device="desktop"] .menu > li {
    position: relative !important;
  }

  #header [data-device="desktop"] .menu > li > a,
  .ct-header [data-device="desktop"] .menu > li > a {
    position: relative !important;
    min-height: 76px !important;
    padding: 0 !important;
    color: var(--burnigan-header-text) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 76px !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    transition: opacity .18s ease !important;
  }

  #header [data-device="desktop"] .menu > li > a::after,
  .ct-header [data-device="desktop"] .menu > li > a::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    bottom: 20px !important;
    left: 0 !important;
    height: 1px !important;
    background: currentColor !important;
    transform: scaleX(0) !important;
    transform-origin: right center !important;
    transition: transform .22s ease !important;
  }

  #header [data-device="desktop"] .menu > li:hover > a::after,
  #header [data-device="desktop"] .menu > li.current-menu-item > a::after,
  #header [data-device="desktop"] .menu > li.current-menu-ancestor > a::after,
  .ct-header [data-device="desktop"] .menu > li:hover > a::after,
  .ct-header [data-device="desktop"] .menu > li.current-menu-item > a::after,
  .ct-header [data-device="desktop"] .menu > li.current-menu-ancestor > a::after {
    transform: scaleX(1) !important;
    transform-origin: left center !important;
  }

  /* Dropdown menus */
  #header [data-device="desktop"] .sub-menu,
  .ct-header [data-device="desktop"] .sub-menu {
    min-width: 230px !important;
    padding: 14px !important;
    border: 1px solid var(--burnigan-header-line) !important;
    background: #fff !important;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .09) !important;
  }

  #header [data-device="desktop"] .sub-menu a,
  .ct-header [data-device="desktop"] .sub-menu a {
    padding: 12px 14px !important;
    color: #080808 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  #header [data-device="desktop"] .sub-menu a:hover,
  .ct-header [data-device="desktop"] .sub-menu a:hover {
    background: #f3f3ef !important;
  }

  /* Right-side actions */
  #header [data-device="desktop"] :is(
    .ct-header-search,
    .ct-header-account,
    .ct-header-cart,
    .ct-header-wishlist
  ),
  .ct-header [data-device="desktop"] :is(
    .ct-header-search,
    .ct-header-account,
    .ct-header-cart,
    .ct-header-wishlist
  ) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 42px !important;
    min-height: 42px !important;
    border-radius: 50% !important;
    transition:
      background-color .18s ease,
      transform .18s ease !important;
  }

  #header [data-device="desktop"] :is(
    .ct-header-search,
    .ct-header-account,
    .ct-header-cart,
    .ct-header-wishlist
  ):hover,
  .ct-header [data-device="desktop"] :is(
    .ct-header-search,
    .ct-header-account,
    .ct-header-cart,
    .ct-header-wishlist
  ):hover {
    background: #f1f1ed !important;
    transform: translateY(-1px) !important;
  }

  /* Cart count */
  #header [data-device="desktop"] .ct-cart-item,
  .ct-header [data-device="desktop"] .ct-cart-item {
    position: relative !important;
  }

  #header [data-device="desktop"] .ct-cart-item-count,
  .ct-header [data-device="desktop"] .ct-cart-item-count {
    top: -7px !important;
    right: -9px !important;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 5px !important;
    border: 2px solid #fff !important;
    border-radius: 999px !important;
    background: #080808 !important;
    color: #fff !important;
    font-size: 8px !important;
    font-weight: 900 !important;
    line-height: 14px !important;
  }
}

/* Homepage header: overlays hero while remaining readable */
@media (min-width: 1000px) {
  body.home:not(.burnigan-header-scrolled) #header,
  body.home:not(.burnigan-header-scrolled) .ct-header {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
  }

  body.home:not(.burnigan-header-scrolled) #header [data-device="desktop"] [data-row="middle"],
  body.home:not(.burnigan-header-scrolled) .ct-header [data-device="desktop"] [data-row="middle"] {
    border-bottom-color: rgba(255,255,255,.25) !important;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,.90),
      rgba(255,255,255,.72)
    ) !important;
  }
}

/* Mobile header */
@media (max-width: 999px) {
  #header [data-device="mobile"] [data-row="middle"],
  .ct-header [data-device="mobile"] [data-row="middle"] {
    min-height: 66px !important;
    border-bottom: 1px solid var(--burnigan-header-line) !important;
    background: rgba(255,255,255,.96) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
  }

  body.burnigan-header-scrolled #header [data-device="mobile"] [data-row="middle"],
  body.burnigan-header-scrolled .ct-header [data-device="mobile"] [data-row="middle"] {
    box-shadow: 0 8px 24px rgba(0,0,0,.055) !important;
  }

  #header [data-device="mobile"] .ct-container,
  .ct-header [data-device="mobile"] .ct-container {
    width: 100% !important;
    padding-inline: 16px !important;
  }

  #header [data-device="mobile"] .site-logo-container img,
  .ct-header [data-device="mobile"] .site-logo-container img {
    max-height: 34px !important;
  }

  #header [data-device="mobile"] :is(
    .ct-header-trigger,
    .ct-header-search,
    .ct-header-account,
    .ct-header-cart
  ),
  .ct-header [data-device="mobile"] :is(
    .ct-header-trigger,
    .ct-header-search,
    .ct-header-account,
    .ct-header-cart
  ) {
    min-width: 40px !important;
    min-height: 40px !important;
    border-radius: 50% !important;
  }

  /* Premium mobile off-canvas */
  #offcanvas,
  .ct-panel {
    --side-panel-width: min(88vw, 390px) !important;
  }

  #offcanvas .ct-panel-content,
  .ct-panel .ct-panel-content {
    background: #fff !important;
  }

  #offcanvas .mobile-menu,
  .ct-panel .mobile-menu {
    padding: 28px 22px 36px !important;
  }

  #offcanvas .mobile-menu > li,
  .ct-panel .mobile-menu > li {
    border-bottom: 1px solid rgba(8,8,8,.09) !important;
  }

  #offcanvas .mobile-menu > li > a,
  .ct-panel .mobile-menu > li > a {
    min-height: 58px !important;
    padding: 0 !important;
    color: #080808 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 58px !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  #offcanvas .sub-menu,
  .ct-panel .sub-menu {
    padding: 0 0 16px 14px !important;
  }

  #offcanvas .sub-menu a,
  .ct-panel .sub-menu a {
    padding: 9px 0 !important;
    color: #5e5e59 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
  }
}

/* Better keyboard focus */
#header a:focus-visible,
#header button:focus-visible,
.ct-header a:focus-visible,
.ct-header button:focus-visible,
#offcanvas a:focus-visible,
#offcanvas button:focus-visible {
  outline: 2px solid #080808 !important;
  outline-offset: 3px !important;
}

/* Motion accessibility */
@media (prefers-reduced-motion: reduce) {
  #header *,
  .ct-header *,
  #offcanvas * {
    transition: none !important;
  }
}

/* =========================================================
   BURNIGAN FOOTER V2
   Desktop: permanently expanded
   Mobile: compact accordion
   ========================================================= */


/* =========================================================
   RESET BLOCKSY FOOTER WRAPPERS
   ========================================================= */

footer.ct-footer,
footer.ct-footer [data-row],
footer.ct-footer [data-row] > div,
footer.ct-footer .ct-footer-row,
footer.ct-footer .ct-container,
footer.ct-footer .ct-footer-column,
footer.ct-footer .ct-widget,
footer.ct-footer .widget,
footer.ct-footer .widget-area,
footer.ct-footer .widget_text,
footer.ct-footer .textwidget {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

footer.ct-footer {
    overflow: hidden;
    background: #050505;
}

footer.ct-footer [data-row] {
    --container-spacing: 0px !important;
    --content-spacing: 0px !important;
}

footer.ct-footer .textwidget > p:empty,
footer.ct-footer .widget_text > p:empty {
    display: none !important;
}


/* =========================================================
   MAIN FOOTER
   ========================================================= */

.burnigan-footer {
    width: 100%;
    margin: 0;
    padding: 28px clamp(28px, 6vw, 110px) 14px;
    box-sizing: border-box;
    background: #050505;
    color: #ffffff;
}

.burnigan-footer__content {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    display: grid;
    grid-template-columns:
        minmax(280px, 1.35fr)
        repeat(3, minmax(170px, 1fr));
    gap: clamp(45px, 7vw, 130px);
    align-items: start;
}


/* =========================================================
   BRAND
   ========================================================= */

.burnigan-footer__brand {
    min-width: 0;
    max-width: 360px;
}

.burnigan-footer__logo {
    display: inline-block;
    width: fit-content;
    margin: 0 0 10px;
    line-height: 0;
    text-decoration: none;
}

.burnigan-footer__logo-crop {
    position: relative;
    display: block;
    width: 245px;
    height: 45px;
    overflow: hidden;
}

.burnigan-footer__logo-crop img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 245px;
    max-width: none;
    height: 245px;
    object-fit: contain;
    transform: translate(-50%, -50%);
}

.burnigan-footer__brand p {
    max-width: 330px;
    margin: 0;
    color: rgba(255, 255, 255, 0.6);
    font-size: 14px;
    line-height: 1.55;
}


/* =========================================================
   FOOTER SECTIONS — DESKTOP
   ========================================================= */

.burnigan-footer__section {
    min-width: 0;
    margin: 0;
    padding: 0;
}

.burnigan-footer__toggle {
    display: block;
    width: 100%;
    margin: 0 0 13px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: rgba(255, 255, 255, 0.5);
    text-align: left;
    font-family: inherit;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    appearance: none;
    cursor: default;
    pointer-events: none;
}

.burnigan-footer__toggle:hover,
.burnigan-footer__toggle:focus,
.burnigan-footer__toggle:active {
    background: transparent;
    box-shadow: none;
    color: rgba(255, 255, 255, 0.5);
    outline: none;
}

.burnigan-footer__plus {
    display: none;
}

.burnigan-footer__links {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.burnigan-footer__links a {
    display: block;
    width: fit-content;
    color: rgba(255, 255, 255, 0.92);
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
    transition:
        opacity 0.2s ease,
        transform 0.2s ease;
}

.burnigan-footer__links a:hover {
    color: #ffffff;
    opacity: 0.72;
    transform: translateX(3px);
}


/* =========================================================
   LEGAL ROW
   ========================================================= */

.burnigan-footer__legal {
    width: 100%;
    max-width: 1600px;
    margin: 20px auto 0;
    padding-top: 11px;
    border-top: 1px solid rgba(255, 255, 255, 0.11);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: rgba(255, 255, 255, 0.4);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) and (min-width: 690px) {

    .burnigan-footer {
        padding: 24px 28px 12px;
    }

    .burnigan-footer__content {
        grid-template-columns:
            minmax(220px, 1.25fr)
            repeat(3, minmax(135px, 1fr));
        gap: 32px;
    }

    .burnigan-footer__logo-crop {
        width: 205px;
        height: 38px;
    }

    .burnigan-footer__logo-crop img {
        width: 205px;
        height: 205px;
    }

    .burnigan-footer__brand p {
        font-size: 13px;
    }

    .burnigan-footer__toggle {
        font-size: 10px;
    }

    .burnigan-footer__links a {
        font-size: 13px;
    }

    .burnigan-footer__legal {
        font-size: 9px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 689px) {

    footer.ct-footer {
        width: 100% !important;
        overflow: hidden !important;
        background: #050505 !important;
    }

    .burnigan-footer {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 22px 22px 12px !important;
        background: #050505 !important;
    }

    .burnigan-footer__content {
        display: block;
        width: 100%;
        max-width: none;
        margin: 0;
    }


    /* Brand */

    .burnigan-footer__brand {
        width: 100%;
        max-width: none;
        margin: 0 0 17px;
    }

    .burnigan-footer__logo {
        margin-bottom: 8px;
    }

    .burnigan-footer__logo-crop {
        width: 185px;
        height: 34px;
    }

    .burnigan-footer__logo-crop img {
        width: 185px;
        height: 185px;
    }

    .burnigan-footer__brand p {
        max-width: 330px;
        margin: 0;
        font-size: 12px;
        line-height: 1.5;
    }


    /* Accordion rows */

    .burnigan-footer__section {
        width: 100%;
        border-top: 1px solid rgba(255, 255, 255, 0.13);
    }

    .burnigan-footer__section:last-child {
        border-bottom: 1px solid rgba(255, 255, 255, 0.13);
    }

    .burnigan-footer__toggle {
        position: relative;
        display: flex;
        width: 100%;
        min-height: 0;
        margin: 0;
        padding: 14px 36px 14px 0;
        align-items: center;
        justify-content: space-between;
        border: 0;
        background: transparent;
        color: rgba(255, 255, 255, 0.92);
        box-shadow: none;
        font-size: 11px;
        line-height: 1.3;
        letter-spacing: 0.2em;
        cursor: pointer;
        pointer-events: auto;
    }

    .burnigan-footer__toggle:hover,
    .burnigan-footer__toggle:focus,
    .burnigan-footer__toggle:active {
        background: transparent;
        color: #ffffff;
        box-shadow: none;
        outline: none;
    }


    /* Plus/minus icon */

    .burnigan-footer__plus {
        position: absolute;
        top: 50%;
        right: 1px;
        display: block;
        width: 17px;
        height: 17px;
        transform: translateY(-50%);
    }

    .burnigan-footer__plus::before,
    .burnigan-footer__plus::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 15px;
        height: 1.5px;
        background: rgba(255, 255, 255, 0.78);
        transition: transform 0.2s ease;
    }

    .burnigan-footer__plus::before {
        transform: translate(-50%, -50%);
    }

    .burnigan-footer__plus::after {
        transform: translate(-50%, -50%) rotate(90deg);
    }

    .burnigan-footer__section.is-open
    .burnigan-footer__plus::after {
        transform: translate(-50%, -50%) rotate(0deg);
    }


    /* Closed by default */

    .burnigan-footer__links {
        display: none;
        width: 100%;
        gap: 0;
        padding: 0 0 12px;
    }

    .burnigan-footer__section.is-open
    .burnigan-footer__links {
        display: flex;
    }

    .burnigan-footer__links a {
        display: block;
        width: 100%;
        padding: 6px 0;
        color: rgba(255, 255, 255, 0.82);
        font-size: 12px;
        font-weight: 550;
        line-height: 1.4;
    }

    .burnigan-footer__links a:hover {
        opacity: 0.72;
        transform: none;
    }


    /* Legal row */

    .burnigan-footer__legal {
        width: 100%;
        max-width: none;
        margin: 14px 0 0;
        padding: 10px 0 0;
        border-top: 0;
        display: block;
        text-align: center;
        font-size: 7px;
        line-height: 1.55;
        letter-spacing: 0.13em;
    }

    .burnigan-footer__legal span {
        display: block;
    }

    .burnigan-footer__legal span:last-child {
        margin-top: 2px;
    }
}


/* =========================================================
   100. GLOBAL PAGE SPACING SYSTEM — v1.1.5
   ---------------------------------------------------------
   Single source of truth for the vertical band between the
   Blocksy header and the first page component, and between the
   last component and the footer.

   This section replaces the two earlier, conflicting blocks
   (old "100. GLOBAL COMPACT PAGE RHYTHM" v1.1.2 and
   "101. FULL-BLEED PAGE HERO ALIGNMENT" v1.1.4). Those set the
   variable `--content-vertical-spacing`, which is NOT Blocksy's
   token — Blocksy uses `--theme-content-vertical-spacing` — so
   their variable resets never applied and the header/hero gap
   persisted on About / Contact / FAQ and on the mobile homepage.

   Strategy:
   1. Drive spacing through Blocksy's real container token
      `--theme-content-vertical-spacing` so we cooperate with the
      theme instead of fighting it. This alone removes the gap
      without depending on exact child nesting.
   2. Keep a small, resilient padding fallback on the content
      shell for pages where the token is not honoured.
   3. Scope everything to real Blocksy wrappers
      (main#main / .site-main / .ct-container[-full]) and to
      specific body classes — never the header or footer, never
      global element selectors.

   Keep this block LAST so it wins over legacy page modules
   without needing extra specificity escalation.
   ========================================================= */

:root {
  /* Compact page rhythm. Adjust these two (and the mobile pair
     below) to retune every page's top/bottom spacing at once. */
  --burnigan-page-top-space: 24px;
  --burnigan-page-bottom-space: 24px;
  --burnigan-page-top-space-mobile: 0px;
  --burnigan-page-bottom-space-mobile: 16px;
}

@media (max-width: 689px) {
  :root {
    --burnigan-page-top-space: var(--burnigan-page-top-space-mobile);
    --burnigan-page-bottom-space: var(--burnigan-page-bottom-space-mobile);
  }
}

/* ---------------------------------------------------------
   Homepage: hero sits flush directly beneath the header on
   every device. This removes the desktop band AND the small
   mobile strip between header and hero image.
   --------------------------------------------------------- */
body.home main#main,
body.home .site-main {
  /* Neutralise Blocksy's own top spacing token. */
  --theme-content-vertical-spacing: 0px;
}

body.home main#main > :is(.ct-container, .ct-container-full),
body.home .site-main > :is(.ct-container, .ct-container-full) {
  padding-top: 0 !important;
}

/* First rendered block on the homepage must not add its own top
   margin (covers a hero that is / is not the direct first child). */
body.home main#main .entry-content > :first-child,
body.home main#main > :is(.ct-container, .ct-container-full) > :first-child,
body.home .site-main > :is(.ct-container, .ct-container-full) > :first-child {
  margin-top: 0 !important;
}

/* ---------------------------------------------------------
   Standard content pages (About, Contact, FAQ, etc.):
   compact, consistent top/bottom spacing. Excludes the
   homepage and all WooCommerce pages, which are handled
   separately.
   --------------------------------------------------------- */
body.page:not(.home):not(.woocommerce-page) main#main,
body.page:not(.home):not(.woocommerce-page) .site-main {
  --theme-content-vertical-spacing: var(--burnigan-page-top-space);
}

body.page:not(.home):not(.woocommerce-page) main#main > :is(.ct-container, .ct-container-full),
body.page:not(.home):not(.woocommerce-page) .site-main > :is(.ct-container, .ct-container-full) {
  padding-top: var(--burnigan-page-top-space) !important;
  padding-bottom: var(--burnigan-page-bottom-space) !important;
}

/* A page whose first block is a full-bleed / designed hero should
   sit flush under the header. Opt in by adding the body class
   `burnigan-flush-hero` (Blocksy: Page > Content Type, or a body
   class field) — safer than force-zeroing every page. */
body.page.burnigan-flush-hero:not(.home) main#main,
body.page.burnigan-flush-hero:not(.home) .site-main {
  --theme-content-vertical-spacing: 0px;
}

body.page.burnigan-flush-hero:not(.home) main#main > :is(.ct-container, .ct-container-full),
body.page.burnigan-flush-hero:not(.home) .site-main > :is(.ct-container, .ct-container-full) {
  padding-top: 0 !important;
}

body.page.burnigan-flush-hero:not(.home) main#main .entry-content > :first-child,
body.page.burnigan-flush-hero:not(.home) main#main > :is(.ct-container, .ct-container-full) > :first-child,
body.page.burnigan-flush-hero:not(.home) .site-main > :is(.ct-container, .ct-container-full) > :first-child {
  margin-top: 0 !important;
}

/* ---------------------------------------------------------
   Shop / taxonomy archives: compact top/bottom shell, and the
   product grid ends close to the footer while keeping normal
   row spacing inside the grid. (Overrides the legacy 55px/90px
   archive shell.)
   --------------------------------------------------------- */
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag)
main#main > :is(.ct-container, .ct-container-full) {
  padding-top: var(--burnigan-page-top-space) !important;
  padding-bottom: var(--burnigan-page-bottom-space) !important;
}

body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag)
ul.products,
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag)
.woocommerce-pagination {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ---------------------------------------------------------
   Cart / Checkout: these pages keep their own finalized shells
   defined earlier (Sections 10–21). We only normalise the outer
   top/bottom band so it matches the rest of the site.
   --------------------------------------------------------- */
body.woocommerce-cart #main > :is(.ct-container, .ct-container-full),
body.woocommerce-checkout #main > :is(.ct-container, .ct-container-full) {
  padding-top: var(--burnigan-page-top-space) !important;
  padding-bottom: var(--burnigan-page-bottom-space) !important;
}

/* ---------------------------------------------------------
   My Account: portal grid controls its own inner spacing; we
   only set the outer band.
   --------------------------------------------------------- */
body.woocommerce-account #main .woocommerce {
  margin-top: var(--burnigan-page-top-space) !important;
  margin-bottom: var(--burnigan-page-bottom-space) !important;
}

/* ---------------------------------------------------------
   Trailing space: the last rendered block should not push extra
   margin against the footer. Applies to standard and Woo pages;
   never touches the footer element itself.
   --------------------------------------------------------- */
body:not(.home) main#main > :is(.ct-container, .ct-container-full) > :last-child,
body:not(.home) .site-main > :is(.ct-container, .ct-container-full) > :last-child,
body.woocommerce :is(.woocommerce, .entry-content) > :last-child,
body.woocommerce-page :is(.woocommerce, .entry-content) > :last-child {
  margin-bottom: 0 !important;
}

/* Footer stays flush with the page shell (unchanged behaviour). */
footer.ct-footer {
  margin-top: 0 !important;
}

/* =========================================================
   101. MOBILE HEADER + PAGE GAP CORRECTION — v1.1.6
   ---------------------------------------------------------
   Root cause fixed:
   Earlier header sections assigned a 70px minimum height to
   every Blocksy [data-row]. Empty top/bottom rows therefore
   rendered as blank bands below the visible mobile header.

   This final guard keeps only the middle row height, collapses
   unused row minimums, removes the residual mobile content
   offset, and tightens the shop tabs / sorting / product flow.
   ========================================================= */

@media (max-width: 999.98px) {
  /* Empty Blocksy header rows must not inherit the middle-row height. */
  #header [data-device="mobile"] [data-row]:not([data-row="middle"]),
  .ct-header [data-device="mobile"] [data-row]:not([data-row="middle"]),
  .site-header [data-device="mobile"] [data-row]:not([data-row="middle"]) {
    min-height: 0 !important;
  }

  #header [data-device="mobile"] [data-row]:not([data-row="middle"]) > div,
  .ct-header [data-device="mobile"] [data-row]:not([data-row="middle"]) > div,
  .site-header [data-device="mobile"] [data-row]:not([data-row="middle"]) > div {
    min-height: 0 !important;
  }

  /* No extra outer margin between the header and page shell. */
  body main#main,
  body .site-main {
    margin-top: 0 !important;
  }

  body main#main > :is(.ct-container, .ct-container-full, .ct-container-fluid),
  body .site-main > :is(.ct-container, .ct-container-full, .ct-container-fluid) {
    margin-top: 0 !important;
  }
}

@media (max-width: 700px) {
  /* Homepage and normal pages begin directly below the visible header. */
  body.home main#main,
  body.home .site-main,
  body.page:not(.woocommerce-page) main#main,
  body.page:not(.woocommerce-page) .site-main {
    padding-top: 0 !important;
  }

  body.home main#main > :is(.ct-container, .ct-container-full, .ct-container-fluid),
  body.home .site-main > :is(.ct-container, .ct-container-full, .ct-container-fluid),
  body.page:not(.woocommerce-page) main#main > :is(.ct-container, .ct-container-full, .ct-container-fluid),
  body.page:not(.woocommerce-page) .site-main > :is(.ct-container, .ct-container-full, .ct-container-fluid) {
    padding-top: 0 !important;
  }

  /* Shop: category tabs, toolbar and product grid form one compact flow. */
  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) .ct-shop-tabs,
  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) .ct-shop-tabs > :is(.ct-container, .ct-container-full, .ct-container-fluid) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) main#main {
    margin: 0 !important;
    padding-top: 0 !important;
  }

  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) main#main > :is(.ct-container, .ct-container-full, .ct-container-fluid) {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) main#main .woocommerce {
    margin-top: 0 !important;
    padding-top: 0 !important;
    gap: 0 !important;
  }

  /* Remove legacy generated archive labels/dividers that reserve rows. */
  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) .ct-shop-tabs > :is(.ct-container, .ct-container-full, .ct-container-fluid)::before,
  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) .ct-shop-tabs > :is(.ct-container, .ct-container-full, .ct-container-fluid)::after,
  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) main#main > :is(.ct-container, .ct-container-full, .ct-container-fluid)::before,
  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) .woocommerce::before,
  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) ul.products::before,
  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) ul.products::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    clear: none !important;
  }

  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) .woocommerce-ordering {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
  }

  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) ul.products {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

