/* 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;
}

/* =========================================================
   02. GLOBAL WOOCOMMERCE FOUNDATION
   ========================================================= */

body.woocommerce,
body.woocommerce-page {
  /* v36: `clip` instead of `hidden`. `hidden` makes the body a
     scroll container, which silently disables position:sticky on
     the desktop account sidebar. `clip` prevents the same
     horizontal overflow without that side effect. */
  overflow-x: clip;
  background: var(--burnigan-bg);
}

body.woocommerce main#main,
body.woocommerce-page main#main {
  background: var(--burnigan-bg);
}

body.woocommerce a,
body.woocommerce-page a {
  text-underline-offset: 3px;
}

body.woocommerce button,
body.woocommerce input,
body.woocommerce select,
body.woocommerce textarea,
body.woocommerce-page button,
body.woocommerce-page input,
body.woocommerce-page select,
body.woocommerce-page textarea {
  font-family: var(--burnigan-font);
}

body.woocommerce input:not([type="checkbox"]):not([type="radio"]),
body.woocommerce select,
body.woocommerce textarea,
body.woocommerce-page input:not([type="checkbox"]):not([type="radio"]),
body.woocommerce-page select,
body.woocommerce-page textarea {
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.woocommerce .woocommerce-notices-wrapper:empty,
body.woocommerce .blocksy-woo-messages-default:empty,
body.woocommerce-page .woocommerce-notices-wrapper:empty,
body.woocommerce-page .blocksy-woo-messages-default:empty {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Notices */
body.woocommerce .woocommerce-message,
body.woocommerce .woocommerce-info,
body.woocommerce .woocommerce-error,
body.woocommerce-page .woocommerce-message,
body.woocommerce-page .woocommerce-info,
body.woocommerce-page .woocommerce-error,
body.woocommerce .wc-block-components-notice-banner,
body.woocommerce-page .wc-block-components-notice-banner {
  margin: 0 0 28px !important;
  padding: 18px 20px !important;
  border: 1px solid var(--burnigan-black) !important;
  border-radius: 0 !important;
  background: var(--burnigan-white) !important;
  color: var(--burnigan-black) !important;
  font-family: var(--burnigan-font) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  box-shadow: none !important;
}

body.woocommerce .woocommerce-error,
body.woocommerce-page .woocommerce-error,
body.woocommerce .wc-block-components-notice-banner.is-error,
body.woocommerce-page .wc-block-components-notice-banner.is-error {
  border-color: #9f1d1d !important;
}

body.woocommerce .woocommerce-message::before,
body.woocommerce .woocommerce-info::before,
body.woocommerce-page .woocommerce-message::before,
body.woocommerce-page .woocommerce-info::before {
  color: var(--burnigan-black) !important;
}

body.woocommerce .woocommerce-message a.button,
body.woocommerce .woocommerce-info a.button,
body.woocommerce-page .woocommerce-message a.button,
body.woocommerce-page .woocommerce-info a.button {
  float: right;
  border: 0 !important;
  background: transparent !important;
  color: var(--burnigan-black) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Shared primary buttons */
body.woocommerce a.button,
body.woocommerce button.button,
body.woocommerce input.button,
body.woocommerce-page a.button,
body.woocommerce-page button.button,
body.woocommerce-page input.button,
body.woocommerce .wc-block-components-button,
body.woocommerce-page .wc-block-components-button {
  min-height: 48px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 14px 22px !important;
  border: 1px solid var(--burnigan-black) !important;
  border-radius: 0 !important;
  background: var(--burnigan-black) !important;
  color: var(--burnigan-white) !important;
  box-shadow: none !important;
  font-family: var(--burnigan-font) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.14em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

body.woocommerce a.button:hover,
body.woocommerce a.button:focus-visible,
body.woocommerce button.button:hover,
body.woocommerce button.button:focus-visible,
body.woocommerce-page a.button:hover,
body.woocommerce-page a.button:focus-visible,
body.woocommerce-page button.button:hover,
body.woocommerce-page button.button:focus-visible,
body.woocommerce .wc-block-components-button:hover,
body.woocommerce .wc-block-components-button:focus-visible,
body.woocommerce-page .wc-block-components-button:hover,
body.woocommerce-page .wc-block-components-button:focus-visible {
  background: transparent !important;
  color: var(--burnigan-black) !important;
  transform: translateY(-2px);
}

/* Shared page-title hero for WooCommerce utility pages */
body:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .hero-section {
  position: relative;
  min-height: 220px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 50px 24px !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 255, 255, 0.08), transparent 38%),
    var(--burnigan-black) !important;
  color: var(--burnigan-white) !important;
  text-align: center;
}

body:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .hero-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.25;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 42px 42px;
}

body:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .hero-section > * {
  position: relative;
  z-index: 1;
}

body:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .hero-section h1 {
  margin: 0 !important;
  color: var(--burnigan-white) !important;
  font-family: var(--burnigan-font) !important;
  font-size: clamp(46px, 6vw, 78px) !important;
  font-weight: 900 !important;
  line-height: 0.92 !important;
  letter-spacing: -0.055em !important;
  text-transform: uppercase !important;
}

/* =========================================================
   09. RESPONSIVE RULES
   ========================================================= */

@media (max-width: 1050px) {
  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.single-product div.product {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr) !important;
    column-gap: 38px !important;
  }

  body.single-product div.product > .summary {
    position: static !important;
  }

  body.single-product .summary .product_title {
    font-size: 40px !important;
  }

  body.woocommerce-checkout form.checkout {
    gap: 35px !important;
  }

  body.woocommerce-account .woocommerce {
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 30px;
  }
}

@media (max-width: 850px) {
  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) main#main > :is(.ct-container, .ct-container-full) {
    padding: 50px 22px 75px !important;
  }

  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.single-product main#main > :is(.ct-container, .ct-container-full) {
    padding: 24px 22px 80px !important;
  }

  body.single-product div.product {
    display: block !important;
  }

  body.single-product div.product > .woocommerce-product-gallery {
    margin-bottom: 36px !important;
  }

  body.single-product div.product > .woocommerce-tabs {
    margin-top: 60px !important;
    padding-top: 45px !important;
  }

  body.single-product :is(.related.products, .upsells.products) {
    margin-top: 60px !important;
  }

  body.single-product :is(.related.products, .upsells.products) ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.single-product #reviews {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  body.woocommerce-checkout form.checkout {
    display: block !important;
  }

  body.woocommerce-checkout #order_review_heading {
    margin-top: 50px !important;
  }

  body.woocommerce-account .woocommerce {
    display: block;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation {
    margin-bottom: 28px;
  }

  body.woocommerce-order-received .woocommerce-order-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  body:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .hero-section {
    min-height: 175px !important;
    padding: 40px 18px !important;
  }

  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) .hero-section {
    min-height: 190px !important;
    padding: 42px 20px !important;
  }

  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) .hero-section :is(h1, .page-title) {
    font-size: 48px !important;
  }

  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) main#main > :is(.ct-container, .ct-container-full) {
    padding: 38px 18px 60px !important;
  }

  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) .woocommerce-result-count,
  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) .woocommerce-ordering {
    width: 100% !important;
    float: none !important;
  }

  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) .woocommerce-result-count {
    margin: 0 0 15px !important;
  }

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

  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) .woocommerce-ordering select {
    width: 100% !important;
  }

  body:is(
    .woocommerce-shop,
    .post-type-archive-product,
    .tax-product_cat,
    .tax-product_tag
  ) ul.products,
  body.single-product :is(.related.products, .upsells.products) ul.products {
    grid-template-columns: 1fr !important;
    gap: 42px !important;
  }

  body.single-product main#main > :is(.ct-container, .ct-container-full) {
    padding: 18px 18px 65px !important;
  }

  body.single-product .woocommerce-breadcrumb {
    margin-bottom: 22px !important;
  }

  body.single-product .summary .product_title {
    font-size: 38px !important;
  }

  body.single-product .summary form.cart {
    grid-template-columns: 1fr !important;
  }

  body.single-product .woocommerce-tabs ul.tabs {
    gap: 22px !important;
  }

  body.single-product :is(.related.products, .upsells.products) > h2 {
    font-size: 40px !important;
  }

  body.woocommerce-checkout main#main > :is(.ct-container, .ct-container-full),
  body.woocommerce-account main#main > :is(.ct-container, .ct-container-full) {
    padding: 45px 18px 65px !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-step,
  body.woocommerce-checkout .wc-block-components-sidebar,
  body.woocommerce-checkout #order_review {
    padding: 22px !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-content {
    padding: 24px !important;
  }

  body.woocommerce-order-received .woocommerce-order-overview {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.woocommerce *,
  body.woocommerce-page * {
    scroll-behavior: auto !important;
  }

  body.woocommerce li.product img,
  body.woocommerce li.product .button,
  body.woocommerce-page li.product img,
  body.woocommerce-page li.product .button {
    transition: none !important;
  }
}

/* =========================================================
   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
   ========================================================= */

/* =========================================================
   40. BURNIGAN PREMIUM SINGLE PRODUCT — v42
   Authoritative desktop + mobile product system.
   Replaces all earlier single-product layout patches.
   ========================================================= */

body.single-product {
  --burnigan-product-ink: #080808;
  --burnigan-product-muted: #686864;
  --burnigan-product-line: rgba(8, 8, 8, 0.14);
  --burnigan-product-surface: #ffffff;
  --burnigan-product-page: #f4f4f1;
  background: var(--burnigan-product-page) !important;
}

body.single-product main#main {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--burnigan-product-page) !important;
}

body.single-product main#main > :is(.ct-container, .ct-container-full) {
  width: calc(100% - 48px) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 28px 0 92px !important;
  box-sizing: border-box !important;
}

body.single-product .woocommerce-breadcrumb {
  margin: 0 0 22px !important;
  color: #777772 !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
}

body.single-product div.product {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 42px 46px 56px !important;
  background: var(--burnigan-product-surface) !important;
  box-sizing: border-box !important;
}

body.single-product .product-entry-wrapper {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, 0.92fr) !important;
  gap: clamp(44px, 5vw, 72px) !important;
  align-items: start !important;
}

body.single-product .woocommerce-product-gallery,
body.single-product .summary {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
}

body.single-product .summary {
  position: sticky !important;
  top: 92px !important;
  padding: 0 !important;
}

body.single-product .summary .product_title {
  margin: 0 0 15px !important;
  color: var(--burnigan-product-ink) !important;
  font-size: clamp(30px, 2.45vw, 42px) !important;
  font-weight: 900 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.045em !important;
  text-transform: uppercase !important;
}

body.single-product .summary .price {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 25px !important;
  color: var(--burnigan-product-ink) !important;
  font-size: 23px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

body.single-product .summary .woocommerce-product-details__short-description {
  margin: 0 0 26px !important;
  padding: 0 0 26px !important;
  border-bottom: 1px solid var(--burnigan-product-line) !important;
  color: #484844 !important;
  font-size: 15px !important;
  line-height: 1.72 !important;
}

body.single-product .summary .woocommerce-product-details__short-description p:last-child {
  margin-bottom: 0 !important;
}

/* Gallery */
body.single-product .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery__image {
  width: 100% !important;
  margin: 0 !important;
}

body.single-product .woocommerce-product-gallery__image {
  overflow: hidden !important;
  background: #ecece8 !important;
}

body.single-product .woocommerce-product-gallery__image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform .45s ease, opacity .25s ease !important;
}

@media (hover: hover) and (pointer: fine) {
  body.single-product .woocommerce-product-gallery__image:hover img {
    transform: scale(1.018);
  }
}

body.single-product .flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
}

body.single-product .flex-control-thumbs li {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

body.single-product .flex-control-thumbs img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border: 1px solid transparent !important;
  opacity: .58 !important;
}

body.single-product .flex-control-thumbs img.flex-active,
body.single-product .flex-control-thumbs img:hover {
  border-color: var(--burnigan-product-ink) !important;
  opacity: 1 !important;
}

/* Variations */
body.single-product form.variations_form,
body.single-product form.cart {
  width: 100% !important;
  margin: 0 0 24px !important;
  padding: 0 0 25px !important;
  border-bottom: 1px solid var(--burnigan-product-line) !important;
}

body.single-product table.variations,
body.single-product table.variations tbody,
body.single-product table.variations tr,
body.single-product table.variations th,
body.single-product table.variations td {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: left !important;
}

body.single-product table.variations tr {
  margin-bottom: 18px !important;
}

body.single-product table.variations th {
  margin-bottom: 10px !important;
}

body.single-product table.variations label {
  color: var(--burnigan-product-ink) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

body.single-product .variable-items-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  width: 100% !important;
}

body.single-product .variable-item {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 48px !important;
  min-height: 44px !important;
  margin: 0 !important;
  border: 1px solid rgba(8, 8, 8, .25) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--burnigan-product-ink) !important;
  box-shadow: none !important;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease !important;
}

body.single-product .variable-item:hover,
body.single-product .variable-item.selected {
  border-color: var(--burnigan-product-ink) !important;
  background: var(--burnigan-product-ink) !important;
  color: #fff !important;
}

body.single-product .reset_variations {
  display: inline-block !important;
  margin-top: 10px !important;
  color: var(--burnigan-product-muted) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

/* Quantity + Add to Cart */
body.single-product .woocommerce-variation-add-to-cart,
body.single-product form.cart:not(.variations_form) {
  display: grid !important;
  grid-template-columns: 128px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: stretch !important;
}

body.single-product .summary .quantity {
  display: grid !important;
  grid-template-columns: 40px minmax(42px, 1fr) 40px !important;
  width: 128px !important;
  min-width: 128px !important;
  height: 54px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--burnigan-product-ink) !important;
  background: #fff !important;
  overflow: hidden !important;
}

body.single-product .summary .quantity input.qty {
  width: 100% !important;
  min-width: 0 !important;
  height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 52px !important;
  text-align: center !important;
}

body.single-product .summary .quantity :is(.ct-increase,.ct-decrease,.plus,.minus,button) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--burnigan-product-ink) !important;
}

body.single-product .summary .single_add_to_cart_button {
  width: 100% !important;
  min-height: 54px !important;
  margin: 0 !important;
  border: 1px solid var(--burnigan-product-ink) !important;
  background: var(--burnigan-product-ink) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

body.single-product .summary .single_add_to_cart_button:hover,
body.single-product .summary .single_add_to_cart_button:focus-visible {
  background: #fff !important;
  color: var(--burnigan-product-ink) !important;
}

body.single-product .summary .single_add_to_cart_button.disabled {
  opacity: .48 !important;
  cursor: not-allowed !important;
}

/* Trust row */
body.single-product .burnigan-product-trust {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1px !important;
  margin: 0 0 24px !important;
  border: 1px solid var(--burnigan-product-line) !important;
  background: var(--burnigan-product-line) !important;
}

body.single-product .burnigan-product-trust__item {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 58px !important;
  padding: 10px !important;
  background: #fff !important;
  color: #343431 !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

/* Product information accordions */
body.single-product .burnigan-product-information {
  width: 100% !important;
  margin: 0 !important;
  border-top: 1px solid var(--burnigan-product-line) !important;
}

body.single-product .burnigan-product-accordion {
  border-bottom: 1px solid var(--burnigan-product-line) !important;
}

body.single-product .burnigan-product-accordion__button {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  width: 100% !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--burnigan-product-ink) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  text-align: left !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

body.single-product .burnigan-product-accordion__icon {
  flex: 0 0 auto !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  transition: transform .22s ease !important;
}

body.single-product .burnigan-product-accordion.is-open .burnigan-product-accordion__icon {
  transform: rotate(45deg) !important;
}

body.single-product .burnigan-product-accordion__panel {
  display: grid !important;
  grid-template-rows: 0fr !important;
  transition: grid-template-rows .24s ease !important;
}

body.single-product .burnigan-product-accordion.is-open .burnigan-product-accordion__panel {
  grid-template-rows: 1fr !important;
}

body.single-product .burnigan-product-accordion__content {
  min-height: 0 !important;
  overflow: hidden !important;
  color: #4b4b47 !important;
  font-size: 14px !important;
  line-height: 1.72 !important;
}

body.single-product .burnigan-product-accordion.is-open .burnigan-product-accordion__content {
  padding: 0 0 22px !important;
}

body.single-product .burnigan-product-accordion__content > :first-child {
  margin-top: 0 !important;
}

body.single-product .burnigan-product-accordion__content > :last-child {
  margin-bottom: 0 !important;
}

/* Hide replaced default description/additional tabs, preserve Reviews */
body.single-product .woocommerce-tabs {
  margin-top: 56px !important;
  padding-top: 42px !important;
  border-top: 1px solid var(--burnigan-product-line) !important;
}

body.single-product .woocommerce-tabs ul.tabs li.description_tab,
body.single-product .woocommerce-tabs ul.tabs li.additional_information_tab,
body.single-product .woocommerce-tabs #tab-description,
body.single-product .woocommerce-tabs #tab-additional_information {
  display: none !important;
}

/* Related products */
body.single-product :is(.related.products,.upsells.products) {
  width: 100% !important;
  margin: 62px 0 0 !important;
  padding: 48px 0 0 !important;
  border-top: 1px solid var(--burnigan-product-line) !important;
}

body.single-product :is(.related.products,.upsells.products) > h2 {
  margin: 0 0 30px !important;
  color: var(--burnigan-product-ink) !important;
  font-size: clamp(34px, 4vw, 58px) !important;
  font-weight: 900 !important;
  line-height: .92 !important;
  letter-spacing: -.055em !important;
  text-transform: uppercase !important;
}

body.single-product :is(.related.products,.upsells.products) ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 36px 18px !important;
}

body.single-product :is(.related.products,.upsells.products) li.product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

body.single-product :is(.related.products,.upsells.products) li.product img {
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
}

/* Sticky mobile purchase bar */
body.single-product .burnigan-sticky-cart {
  display: none;
}

/* Tablet */
@media (max-width: 1024px) {
  body.single-product main#main > :is(.ct-container,.ct-container-full) {
    width: calc(100% - 32px) !important;
  }

  body.single-product div.product {
    padding: 34px !important;
  }

  body.single-product .product-entry-wrapper {
    grid-template-columns: minmax(0, 1fr) minmax(340px, .88fr) !important;
    gap: 36px !important;
  }

  body.single-product .summary {
    position: static !important;
  }

  body.single-product :is(.related.products,.upsells.products) ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  body.single-product {
    padding-bottom: 76px !important;
  }

  body.single-product main#main > :is(.ct-container,.ct-container-full) {
    width: 100% !important;
    max-width: none !important;
    padding: 8px 8px 54px !important;
  }

  body.single-product .woocommerce-breadcrumb {
    display: none !important;
  }

  body.single-product div.product {
    padding: 13px 8px 30px !important;
  }

  body.single-product .product-entry-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  body.single-product .woocommerce-product-gallery {
    order: 1 !important;
    margin: 0 0 18px !important;
  }

  body.single-product .summary {
    order: 2 !important;
  }

  body.single-product .summary .product_title {
    margin-bottom: 10px !important;
    font-size: clamp(24px, 7.4vw, 31px) !important;
    line-height: 1.04 !important;
  }

  body.single-product .summary .price {
    margin-bottom: 18px !important;
    font-size: 20px !important;
  }

  body.single-product .woocommerce-product-gallery__image img {
    aspect-ratio: 4 / 5 !important;
  }

  body.single-product .flex-control-thumbs {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.single-product .flex-control-thumbs::-webkit-scrollbar {
    display: none !important;
  }

  body.single-product .flex-control-thumbs li {
    flex: 0 0 62px !important;
    width: 62px !important;
  }

  body.single-product .summary .woocommerce-product-details__short-description {
    font-size: 14px !important;
    line-height: 1.66 !important;
  }

  body.single-product .variable-items-wrapper {
    flex-wrap: nowrap !important;
    gap: 7px !important;
    overflow-x: auto !important;
    padding-bottom: 3px !important;
    scrollbar-width: none !important;
  }

  body.single-product .variable-items-wrapper::-webkit-scrollbar {
    display: none !important;
  }

  body.single-product .variable-item {
    flex: 0 0 47px !important;
    min-width: 47px !important;
    min-height: 44px !important;
  }

  body.single-product .woocommerce-variation-add-to-cart,
  body.single-product form.cart:not(.variations_form) {
    grid-template-columns: 108px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body.single-product .summary .quantity {
    grid-template-columns: 34px minmax(38px,1fr) 34px !important;
    width: 108px !important;
    min-width: 108px !important;
  }

  body.single-product .summary .quantity :is(.ct-increase,.ct-decrease,.plus,.minus,button) {
    width: 34px !important;
    min-width: 34px !important;
  }

  body.single-product .burnigan-product-trust {
    grid-template-columns: 1fr !important;
  }

  body.single-product .burnigan-product-trust__item {
    min-height: 44px !important;
  }

  body.single-product .woocommerce-tabs {
    margin-top: 38px !important;
    padding-top: 28px !important;
  }

  body.single-product :is(.related.products,.upsells.products) {
    margin-top: 44px !important;
    padding-top: 34px !important;
  }

  body.single-product :is(.related.products,.upsells.products) > h2 {
    margin-bottom: 22px !important;
    font-size: 34px !important;
  }

  body.single-product :is(.related.products,.upsells.products) ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 26px 10px !important;
  }

  body.single-product :is(.related.products,.upsells.products) .woocommerce-loop-product__title {
    font-size: 10px !important;
    line-height: 1.35 !important;
  }

  body.single-product :is(.related.products,.upsells.products) li.product .price {
    font-size: 11px !important;
  }

  body.single-product :is(.related.products,.upsells.products) li.product .button {
    min-height: 39px !important;
    padding: 10px 5px !important;
    font-size: 8px !important;
  }

  body.single-product .burnigan-sticky-cart {
    position: fixed !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 99990 !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(150px,1.25fr) !important;
    gap: 10px !important;
    align-items: center !important;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
    border-top: 1px solid rgba(8,8,8,.14) !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 -8px 28px rgba(8,8,8,.10) !important;
    transform: translateY(110%) !important;
    transition: transform .24s ease !important;
  }

  body.single-product .burnigan-sticky-cart.is-visible {
    transform: translateY(0) !important;
  }

  body.single-product .burnigan-sticky-cart__price {
    min-width: 0 !important;
    color: var(--burnigan-product-ink) !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }

  body.single-product .burnigan-sticky-cart__button {
    min-height: 46px !important;
    border: 1px solid var(--burnigan-product-ink) !important;
    background: var(--burnigan-product-ink) !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
  }

  body.single-product .burnigan-sticky-cart__button:disabled {
    opacity: .48 !important;
  }
}

@media (max-width: 380px) {
  body.single-product div.product {
    padding-right: 6px !important;
    padding-left: 6px !important;
  }

  body.single-product .summary .product_title {
    font-size: 23px !important;
  }

  body.single-product :is(.related.products,.upsells.products) ul.products {
    gap: 22px 8px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.single-product .woocommerce-product-gallery__image img,
  body.single-product .burnigan-product-accordion__panel,
  body.single-product .burnigan-product-accordion__icon,
  body.single-product .burnigan-sticky-cart {
    transition: none !important;
  }
}

/* =========================================================
   41. SINGLE PRODUCT QUANTITY PICKER — v43
   Authoritative order: minus | quantity | plus
   ========================================================= */

body.single-product .summary .quantity {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: stretch !important;

  width: 128px !important;
  min-width: 128px !important;
  max-width: 128px !important;
  height: 54px !important;
  min-height: 54px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 1px solid var(--burnigan-product-ink) !important;
  background: #ffffff !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.single-product .summary .quantity input.qty {
  order: 2 !important;
  flex: 1 1 auto !important;

  display: block !important;
  width: auto !important;
  min-width: 42px !important;
  max-width: none !important;
  height: 52px !important;
  min-height: 52px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;

  color: var(--burnigan-product-ink) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 52px !important;
  text-align: center !important;
  text-indent: 0 !important;

  appearance: textfield !important;
  -webkit-appearance: none !important;
  -moz-appearance: textfield !important;
  box-sizing: border-box !important;
}

body.single-product .summary .quantity input.qty::-webkit-inner-spin-button,
body.single-product .summary .quantity input.qty::-webkit-outer-spin-button {
  margin: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

body.single-product .summary .quantity :is(
  .ct-increase,
  .ct-decrease,
  .plus,
  .minus,
  button
) {
  position: static !important;
  inset: auto !important;

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

  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 52px !important;
  min-height: 52px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;

  color: var(--burnigan-product-ink) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-align: center !important;

  transform: none !important;
  box-sizing: border-box !important;
}

body.single-product .summary .quantity :is(
  .ct-decrease,
  .minus
) {
  order: 1 !important;
  border-right: 1px solid rgba(8, 8, 8, 0.12) !important;
}

body.single-product .summary .quantity :is(
  .ct-increase,
  .plus
) {
  order: 3 !important;
  border-left: 1px solid rgba(8, 8, 8, 0.12) !important;
}

/* Blocksy fallback where generic buttons are emitted without semantic classes */
body.single-product .summary .quantity > button:first-of-type {
  order: 3 !important;
  border-left: 1px solid rgba(8, 8, 8, 0.12) !important;
  border-right: 0 !important;
}

body.single-product .summary .quantity > button:nth-of-type(2) {
  order: 1 !important;
  border-right: 1px solid rgba(8, 8, 8, 0.12) !important;
  border-left: 0 !important;
}

body.single-product .summary .quantity :is(
  .ct-increase,
  .ct-decrease,
  .plus,
  .minus,
  button
):hover,
body.single-product .summary .quantity :is(
  .ct-increase,
  .ct-decrease,
  .plus,
  .minus,
  button
):focus-visible {
  background: var(--burnigan-product-ink) !important;
  color: #ffffff !important;
  transform: none !important;
}

@media (max-width: 767px) {
  body.single-product .summary .quantity {
    width: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
  }

  body.single-product .summary .quantity :is(
    .ct-increase,
    .ct-decrease,
    .plus,
    .minus,
    button
  ) {
    flex-basis: 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
  }
}

/* =========================================================
   42. PREMIUM PRODUCT FINAL REFINEMENT — v44
   Mobile hierarchy, purchase row, gallery, reviews, footer.
   ========================================================= */

/* Desktop purchase row */
body.single-product .summary .woocommerce-variation-add-to-cart,
body.single-product .summary form.cart:not(.variations_form) {
  grid-template-columns: 128px minmax(220px, 1fr) !important;
  align-items: stretch !important;
}

/* Keep quantity and Add to Cart visually connected */
body.single-product .summary .single_add_to_cart_button {
  min-height: 54px !important;
  background: #080808 !important;
  color: #ffffff !important;
  opacity: 1 !important;
}

body.single-product .summary .single_add_to_cart_button.disabled,
body.single-product .summary .single_add_to_cart_button.wc-variation-selection-needed {
  opacity: .48 !important;
}

/* Reviews presentation */
body.single-product .woocommerce-tabs ul.tabs {
  margin-bottom: 28px !important;
}

body.single-product .woocommerce-tabs ul.tabs li.reviews_tab a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

body.single-product .woocommerce-tabs ul.tabs li.reviews_tab a::before {
  content: "★★★★★";
  color: #080808;
  font-size: 11px;
  letter-spacing: 1px;
}

body.single-product #reviews #comments .woocommerce-Reviews-title {
  margin-bottom: 18px !important;
  font-size: clamp(24px, 2.5vw, 34px) !important;
  line-height: 1 !important;
}

body.single-product #reviews .woocommerce-noreviews {
  margin: 0 !important;
  padding: 18px 0 !important;
  border-top: 1px solid rgba(8,8,8,.12) !important;
  border-bottom: 1px solid rgba(8,8,8,.12) !important;
  color: #5f5f5a !important;
  font-size: 13px !important;
}

/* Footer polish */
@media (min-width: 768px) {
  body.single-product footer .site-logo-container img,
  body.single-product footer .custom-logo {
    max-width: 190px !important;
  }
}

body.single-product footer a {
  transition: opacity .18s ease !important;
}

body.single-product footer a:hover,
body.single-product footer a:focus-visible {
  opacity: .58 !important;
}

/* Mobile product page */
@media (max-width: 767px) {

  /* Less empty frame around product */
  body.single-product main#main > :is(.ct-container,.ct-container-full) {
    padding-top: 6px !important;
  }

  body.single-product div.product {
    padding-top: 18px !important;
  }

  /* Title is still strong but no longer dominates the first screen */
  body.single-product .summary .product_title {
    margin-bottom: 9px !important;
    font-size: clamp(22px, 6.7vw, 28px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
  }

  body.single-product .summary .price {
    margin-bottom: 16px !important;
    font-size: 21px !important;
  }

  /* Larger, cleaner product photography */
  body.single-product .woocommerce-product-gallery__image {
    border-radius: 2px !important;
  }

  body.single-product .woocommerce-product-gallery__image img {
    width: 100% !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
  }

  /* Cleaner thumbnail rail */
  body.single-product .flex-control-thumbs {
    margin-top: 10px !important;
  }

  body.single-product .flex-control-thumbs li {
    flex-basis: 70px !important;
    width: 70px !important;
  }

  body.single-product .flex-control-thumbs img {
    border-color: rgba(8,8,8,.12) !important;
  }

  /* Horizontal size rail */
  body.single-product .variable-items-wrapper {
    gap: 8px !important;
    padding-bottom: 6px !important;
  }

  body.single-product .variable-item {
    flex-basis: 50px !important;
    min-width: 50px !important;
    min-height: 46px !important;
  }

  /* Quantity + Add to Cart in one row */
  body.single-product .summary .woocommerce-variation-add-to-cart,
  body.single-product .summary form.cart:not(.variations_form) {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    gap: 9px !important;
    width: 100% !important;
  }

  body.single-product .summary .quantity {
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    height: 52px !important;
    min-height: 52px !important;
  }

  body.single-product .summary .quantity input.qty {
    height: 50px !important;
    min-height: 50px !important;
    line-height: 50px !important;
  }

  body.single-product .summary .quantity :is(
    .ct-increase,.ct-decrease,.plus,.minus,button
  ) {
    height: 50px !important;
    min-height: 50px !important;
  }

  body.single-product .summary .single_add_to_cart_button {
    min-height: 52px !important;
    padding: 12px 8px !important;
    font-size: 9px !important;
    line-height: 1.25 !important;
  }

  /* Trust items as a compact premium strip */
  body.single-product .burnigan-product-trust {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    margin-top: 4px !important;
  }

  body.single-product .burnigan-product-trust__item {
    min-height: 54px !important;
    padding: 8px 5px !important;
    font-size: 8px !important;
    letter-spacing: .06em !important;
  }

  /* Accordions */
  body.single-product .burnigan-product-information {
    margin-top: 0 !important;
  }

  body.single-product .burnigan-product-accordion__button {
    min-height: 56px !important;
    font-size: 9px !important;
  }

  body.single-product .burnigan-product-accordion__content {
    font-size: 13px !important;
    line-height: 1.68 !important;
  }

  /* Reviews should not look like two empty default tabs */
  body.single-product .woocommerce-tabs {
    margin-top: 30px !important;
    padding-top: 22px !important;
  }

  body.single-product .woocommerce-tabs ul.tabs {
    justify-content: flex-start !important;
    gap: 18px !important;
    margin-bottom: 22px !important;
  }

  body.single-product .woocommerce-tabs ul.tabs li a {
    font-size: 9px !important;
  }

  /* Sticky bar */
  body.single-product .burnigan-sticky-cart {
    grid-template-columns: minmax(80px,.7fr) minmax(170px,1.3fr) !important;
  }

  /* Related products remain two per row */
  body.single-product :is(.related.products,.upsells.products) ul.products {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  /* Slightly larger footer logo and calmer spacing */
  body.single-product footer .site-logo-container img,
  body.single-product footer .custom-logo {
    max-width: 175px !important;
  }
}

@media (max-width: 360px) {
  body.single-product .summary .woocommerce-variation-add-to-cart,
  body.single-product .summary form.cart:not(.variations_form) {
    grid-template-columns: 104px minmax(0,1fr) !important;
  }

  body.single-product .summary .quantity {
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
  }

  body.single-product .burnigan-product-trust {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   43. PRODUCT PAGE FINISHING PASS — v45
   Removes sticky cart, enlarges mobile gallery, and locks
   quantity + Add to Cart into one clean purchase row.
   ========================================================= */

/* Sticky purchase bar is intentionally removed */
body.single-product .burnigan-sticky-cart {
  display: none !important;
}

/* Strong purchase-row targeting for variable and simple products */
body.single-product .summary .woocommerce-variation-add-to-cart.variations_button,
body.single-product .summary .woocommerce-variation-add-to-cart,
body.single-product .summary form.cart:not(.variations_form) {
  display: grid !important;
  grid-template-columns: 128px minmax(220px, 1fr) !important;
  grid-auto-flow: column !important;
  gap: 10px !important;
  align-items: stretch !important;
  width: 100% !important;
}

body.single-product .summary .woocommerce-variation-add-to-cart.variations_button > .quantity,
body.single-product .summary .woocommerce-variation-add-to-cart > .quantity,
body.single-product .summary form.cart:not(.variations_form) > .quantity {
  grid-column: 1 !important;
  width: 128px !important;
  min-width: 128px !important;
  max-width: 128px !important;
}

body.single-product .summary .woocommerce-variation-add-to-cart.variations_button > .single_add_to_cart_button,
body.single-product .summary .woocommerce-variation-add-to-cart > .single_add_to_cart_button,
body.single-product .summary form.cart:not(.variations_form) > .single_add_to_cart_button {
  grid-column: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

/* Hide the visually noisy reset link while preserving variation reset behavior */
body.single-product .summary .reset_variations {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Lighter gallery arrows */
body.single-product .flex-direction-nav a,
body.single-product .ct-media-container .flex-direction-nav a,
body.single-product .woocommerce-product-gallery .flex-direction-nav a {
  width: 38px !important;
  height: 38px !important;
  opacity: .72 !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 3px 14px rgba(8,8,8,.10) !important;
}

body.single-product .flex-direction-nav a:hover,
body.single-product .woocommerce-product-gallery .flex-direction-nav a:hover {
  opacity: 1 !important;
}

/* Reviews: remove the blue/default active underline */
body.single-product .woocommerce-tabs ul.tabs li a {
  border-bottom-color: transparent !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active a {
  border-bottom-color: #080808 !important;
}

/* Mobile finishing pass */
@media (max-width: 767px) {
  body.single-product {
    padding-bottom: 0 !important;
  }

  body.single-product main#main > :is(.ct-container,.ct-container-full) {
    padding-right: 4px !important;
    padding-left: 4px !important;
  }

  body.single-product div.product {
    padding: 16px 6px 30px !important;
  }

  /* Reduce title height and move photography higher */
  body.single-product .summary .product_title {
    margin-bottom: 8px !important;
    font-size: clamp(21px, 6.2vw, 26px) !important;
    line-height: 1.08 !important;
  }

  /*
   * Blocksy places title in the summary. Keep the visual order intact,
   * but let the gallery use almost the full card width.
   */
  body.single-product .woocommerce-product-gallery {
    width: calc(100% + 4px) !important;
    margin-right: -2px !important;
    margin-left: -2px !important;
  }

  body.single-product .woocommerce-product-gallery__image img {
    width: 100% !important;
    max-width: none !important;
  }

  body.single-product .flex-control-thumbs li {
    flex: 0 0 72px !important;
    width: 72px !important;
  }

  /* Definitive mobile purchase row */
  body.single-product .summary .woocommerce-variation-add-to-cart.variations_button,
  body.single-product .summary .woocommerce-variation-add-to-cart,
  body.single-product .summary form.cart:not(.variations_form) {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    grid-auto-flow: column !important;
    gap: 9px !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  body.single-product .summary .woocommerce-variation-add-to-cart.variations_button > .quantity,
  body.single-product .summary .woocommerce-variation-add-to-cart > .quantity,
  body.single-product .summary form.cart:not(.variations_form) > .quantity {
    grid-column: 1 !important;
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
  }

  body.single-product .summary .woocommerce-variation-add-to-cart.variations_button > .single_add_to_cart_button,
  body.single-product .summary .woocommerce-variation-add-to-cart > .single_add_to_cart_button,
  body.single-product .summary form.cart:not(.variations_form) > .single_add_to_cart_button {
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 52px !important;
    margin: 0 !important;
  }

  /* Cleaner spacing around purchase controls */
  body.single-product form.variations_form,
  body.single-product form.cart {
    margin-bottom: 20px !important;
    padding-bottom: 22px !important;
  }

  body.single-product .burnigan-product-trust {
    margin-top: 0 !important;
  }

  /* Remove any residual sticky-bar spacing from previous versions */
  body.single-product footer {
    margin-bottom: 0 !important;
  }
}

@media (max-width: 360px) {
  body.single-product .summary .woocommerce-variation-add-to-cart.variations_button,
  body.single-product .summary .woocommerce-variation-add-to-cart,
  body.single-product .summary form.cart:not(.variations_form) {
    grid-template-columns: 104px minmax(0, 1fr) !important;
  }

  body.single-product .summary .woocommerce-variation-add-to-cart.variations_button > .quantity,
  body.single-product .summary .woocommerce-variation-add-to-cart > .quantity,
  body.single-product .summary form.cart:not(.variations_form) > .quantity {
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
  }
}

/* =========================================================
   44. ACCORDION + MOBILE SIZE WRAP FIX — v46
   - Size options wrap instead of horizontal swipe
   - Accordion panels open/close correctly
   - Closed panels remain fully collapsed
   ========================================================= */

body.single-product .burnigan-product-accordion__button {
  -webkit-tap-highlight-color: transparent !important;
  touch-action: manipulation !important;
}

body.single-product .burnigan-product-accordion__panel {
  display: grid !important;
  grid-template-rows: 0fr !important;
  visibility: hidden !important;
  opacity: 0 !important;
  transition:
    grid-template-rows .24s ease,
    opacity .18s ease,
    visibility 0s linear .24s !important;
}

body.single-product .burnigan-product-accordion.is-open .burnigan-product-accordion__panel {
  grid-template-rows: 1fr !important;
  visibility: visible !important;
  opacity: 1 !important;
  transition:
    grid-template-rows .24s ease,
    opacity .18s ease,
    visibility 0s linear 0s !important;
}

body.single-product .burnigan-product-accordion__content {
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
}

body.single-product .burnigan-product-accordion.is-open .burnigan-product-accordion__content {
  padding: 0 0 22px !important;
}

/* Mobile sizes: wrap naturally, no sideways swipe */
@media (max-width: 767px) {
  body.single-product .variable-items-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    gap: 8px !important;
    width: 100% !important;
    padding-bottom: 0 !important;
  }

  body.single-product .variable-item {
    flex: 0 0 calc((100% - 32px) / 5) !important;
    width: calc((100% - 32px) / 5) !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 46px !important;
    margin: 0 !important;
  }
}

/* Four columns on very narrow phones for comfortable tap targets */
@media (max-width: 380px) {
  body.single-product .variable-item {
    flex-basis: calc((100% - 24px) / 4) !important;
    width: calc((100% - 24px) / 4) !important;
  }
}

/* =========================================================
   45. DESKTOP PRODUCT WIDTH + DESCRIPTION RESTORE — v47
   - Wider desktop canvas
   - Larger gallery and balanced summary
   - Reliable desktop accordion presentation
   - Preserves all mobile behavior
   ========================================================= */

@media (min-width: 1025px) {

  body.single-product {
    --theme-normal-container-max-width: 1480px !important;
  }

  body.single-product main#main > :is(.ct-container, .ct-container-full) {
    width: calc(100% - 64px) !important;
    max-width: 1480px !important;
    margin-inline: auto !important;
    padding-top: 34px !important;
    padding-bottom: 100px !important;
  }

  body.single-product div.product {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 46px 54px 62px !important;
  }

  body.single-product .product-entry-wrapper {
    display: grid !important;
    grid-template-columns: minmax(0, 1.18fr) minmax(430px, 0.82fr) !important;
    gap: clamp(56px, 5vw, 86px) !important;
    align-items: start !important;
    width: 100% !important;
  }

  body.single-product .woocommerce-product-gallery {
    width: 100% !important;
    max-width: none !important;
  }

  body.single-product .woocommerce-product-gallery__image img {
    width: 100% !important;
    max-height: 860px !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
  }

  body.single-product .summary {
    width: 100% !important;
    max-width: 600px !important;
    position: sticky !important;
    top: 96px !important;
  }

  body.single-product .summary .product_title {
    margin-bottom: 16px !important;
    font-size: clamp(32px, 2.55vw, 44px) !important;
    line-height: 1.03 !important;
  }

  body.single-product .summary .price {
    margin-bottom: 24px !important;
    font-size: 24px !important;
  }

  body.single-product .summary .woocommerce-product-details__short-description {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 0 26px !important;
    padding: 0 0 26px !important;
    border-bottom: 1px solid var(--burnigan-product-line) !important;
  }

  body.single-product .burnigan-product-trust {
    margin-top: 2px !important;
  }

  body.single-product .burnigan-product-information {
    display: block !important;
    width: 100% !important;
  }

  body.single-product .burnigan-product-accordion {
    display: block !important;
    width: 100% !important;
  }

  body.single-product .burnigan-product-accordion__button {
    width: 100% !important;
  }

  body.single-product .burnigan-product-accordion__panel {
    width: 100% !important;
  }

  body.single-product .woocommerce-tabs,
  body.single-product :is(.related.products, .upsells.products) {
    width: 100% !important;
    max-width: none !important;
  }

  body.single-product :is(.related.products, .upsells.products) ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* Medium desktop */
@media (min-width: 1025px) and (max-width: 1280px) {
  body.single-product main#main > :is(.ct-container, .ct-container-full) {
    width: calc(100% - 40px) !important;
  }

  body.single-product div.product {
    padding: 40px !important;
  }

  body.single-product .product-entry-wrapper {
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr) !important;
    gap: 46px !important;
  }

  body.single-product .summary {
    max-width: 540px !important;
  }
}

/* =========================================================
   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;
  }
}

