/* =====================================================
   CannaBlossom — Full Site Restyle v1.1
   Target: cannablossom.easwrk.com (Flatsome child theme)
   Apply via: Flatsome > Advanced > Custom CSS box
   Revert: delete everything in that box (site has no other custom CSS)

   Palette:
     --cb-bg      #f4efe4  warm cream base
     --cb-ink     #1f1b16  espresso ink
     --cb-accent  #c46a3f  terracotta
     --cb-leaf    #5d7c4f  sage
     --cb-gold    #c8a24a  gold
   Fonts: Fraunces (display serif) + Hanken Grotesk (body)
   ===================================================== */

/* ---------- GOOGLE FONTS ---------- */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400&family=Hanken+Grotesk:wght@400;500;600;700&display=swap');

/* ---------- DESIGN TOKENS ---------- */
:root {
  --cb-bg:     #f4efe4;
  --cb-bg2:    #efe8d8;
  --cb-ink:    #1f1b16;
  --cb-soft:   #5b5346;
  --cb-brand:  #6f4a2e;
  --cb-deep:   #3f2a1a;
  --cb-accent: #c46a3f;
  --cb-leaf:   #5d7c4f;
  --cb-gold:   #c8a24a;
  --cb-card:   #fbf8f1;
  --cb-line:   rgba(63,42,26,.14);
  --cb-shadow: 0 24px 60px -28px rgba(63,42,26,.4);
  --cb-radius: 18px;
}

/* =====================================================
   GLOBAL
   ===================================================== */
body {
  background-color: var(--cb-bg) !important;
  color: var(--cb-ink) !important;
  font-family: "Hanken Grotesk", sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Fraunces", serif !important;
  color: var(--cb-ink) !important;
}

a { color: var(--cb-accent); }
a:hover { color: var(--cb-deep); }

/* Flatsome page/section backgrounds */
.page-wrapper,
#wrapper { background-color: var(--cb-bg) !important; }

/* =====================================================
   TOP UTILITY BAR
   ===================================================== */
.header-top,
.header-top.nav-dark {
  background: var(--cb-deep) !important;
  color: #e9dcc6 !important;
  border-bottom: none !important;
}
.header-top a,
.header-top span,
.header-top li { color: #e9dcc6 !important; opacity: 1; }
.header-top a:hover { color: var(--cb-gold) !important; }
.cb-top-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--cb-gold) !important;
  box-shadow: 0 0 0 3px rgba(200,162,74,.25);
  display: inline-block;
  vertical-align: middle;
}

/* =====================================================
   HEADER & NAV
   ===================================================== */
header.header,
.header-main,
.header-wrapper {
  background: rgba(244,239,228,.92) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--cb-line) !important;
}

/* Nav links */
.nav > li > a,
.nav.nav-left > li > a {
  font-family: "Hanken Grotesk", sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: var(--cb-ink) !important;
  letter-spacing: .01em;
}
.nav > li > a:hover,
.nav > li.active > a,
.nav > li:hover > a { color: var(--cb-accent) !important; }

/* Active nav underline */
.nav > li.active > a::after {
  background: var(--cb-accent) !important;
}

/* Cart icon counter */
.cart-icon strong,
.header-cart strong {
  background: var(--cb-accent) !important;
  color: #fff !important;
  border-radius: 10px !important;
}

/* Search icon */
.icon-search { color: var(--cb-deep) !important; }

/* Mobile nav toggle */
.nav-toggle { color: var(--cb-deep) !important; }

/* =====================================================
   BREADCRUMB
   ===================================================== */
.woocommerce-breadcrumb,
nav.breadcrumbs {
  font-size: 11.5px !important;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--cb-soft) !important;
  font-family: "Hanken Grotesk", sans-serif !important;
  font-weight: 600 !important;
}
.woocommerce-breadcrumb a,
nav.breadcrumbs a { color: var(--cb-soft) !important; }
.woocommerce-breadcrumb a:hover,
nav.breadcrumbs a:hover { color: var(--cb-accent) !important; }
/* Last breadcrumb item (current page) */
.woocommerce-breadcrumb > span:last-child,
nav.breadcrumbs > span:last-child { color: var(--cb-accent) !important; }

/* =====================================================
   PRODUCT PAGE - IMAGE GALLERY STAGE
   ===================================================== */
.woocommerce-product-gallery,
.product-images {
  border-radius: 22px !important;
  overflow: hidden !important;
  border: 1px solid var(--cb-line) !important;
  box-shadow: var(--cb-shadow) !important;
  background: linear-gradient(180deg, #fdfdfb 0%, #f0eeec 55%, #e8e6e3 100%) !important;
}
/* Do NOT change product images themselves */
.woocommerce-product-gallery .woocommerce-product-gallery__image img,
.woocommerce-product-gallery img.wp-post-image {
  background: transparent !important;
}
.flex-viewport { background: transparent !important; }

/* Thumbnail strip */
.woocommerce-product-gallery__wrapper .flex-control-thumbs li img {
  border-radius: 8px !important;
  border: 1px solid var(--cb-line) !important;
  background: linear-gradient(180deg, #fdfdfb, #eceae7) !important;
}
.woocommerce-product-gallery__wrapper .flex-control-thumbs li img.flex-active {
  border-color: var(--cb-accent) !important;
}

/* =====================================================
   PRODUCT PAGE - TITLE, PRICE, META
   ===================================================== */
.product_title.entry-title {
  font-family: "Fraunces", serif !important;
  font-size: 38px !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  letter-spacing: -.02em !important;
  color: var(--cb-ink) !important;
  margin-bottom: 6px !important;
  text-transform: none !important;
}

.woocommerce-product-details__short-description {
  font-family: "Hanken Grotesk", sans-serif !important;
  font-size: 15px !important;
  color: var(--cb-soft) !important;
}

/* Price */
.price,
p.price {
  font-family: "Fraunces", serif !important;
  font-size: 34px !important;
  font-weight: 600 !important;
  color: var(--cb-ink) !important;
}
.price del {
  opacity: .4;
  font-size: 20px !important;
}
.price ins { text-decoration: none !important; }
.woocommerce-Price-amount.amount { color: inherit !important; }

/* Star ratings */
.star-rating span::before,
.woocommerce-product-rating .star-rating::before {
  color: var(--cb-gold) !important;
}
.woocommerce-review-link {
  color: var(--cb-accent) !important;
  font-size: 13px !important;
}

/* Out of stock */
.stock.out-of-stock {
  background: rgba(63,42,26,.07) !important;
  border: 1px solid var(--cb-line) !important;
  color: var(--cb-soft) !important;
  border-radius: 8px !important;
  padding: 8px 14px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  display: inline-block;
}

/* Product navigation (prev/next) */
.product-nav .product-nav-prev,
.product-nav .product-nav-next {
  color: var(--cb-soft) !important;
  font-size: 12px !important;
}

/* =====================================================
   PRODUCT PAGE - PRODUCT BRIEF (.cb-pdp-selling)
   ===================================================== */
.cb-pdp-selling {
  background: linear-gradient(165deg, #f6f0fa, #efe7d2) !important;
  border: 1px solid rgba(106,76,147,.22) !important;
  border-radius: var(--cb-radius) !important;
  padding: 20px 22px 22px !important;
  position: relative !important;
  overflow: hidden !important;
  margin: 18px 0 !important;
}
.cb-pdp-selling::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, #6a4c93, var(--cb-accent));
  border-radius: 0 !important;
}
.cb-pdp-selling__badge {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  background: #3f2a5e !important;
  color: #efe6f7 !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: 5px 12px !important;
  border-radius: 999px !important;
  margin-bottom: 10px !important;
}
/* Lead sentence */
.cb-pdp-selling > p:first-of-type,
.cb-pdp-selling .lead {
  font-family: "Fraunces", serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  margin-bottom: 13px !important;
  color: var(--cb-ink) !important;
}
.cb-pdp-selling ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid;
  gap: 10px;
}
.cb-pdp-selling li {
  font-size: 14px !important;
  color: #46402f !important;
  line-height: 1.5 !important;
  padding: 4px 0 4px 28px !important;
  position: relative;
}
.cb-pdp-selling li::before {
  content: "✓";
  position: absolute;
  left: 0;
  width: 18px; height: 18px;
  background: #6a4c93;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  top: 5px;
  font-style: normal;
}

/* =====================================================
   PRODUCT PAGE - ADD TO CART
   ===================================================== */
.single_add_to_cart_button,
button.single_add_to_cart_button {
  background: linear-gradient(160deg, var(--cb-accent), #a4502b) !important;
  color: #fff !important;
  font-family: "Hanken Grotesk", sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  border: none !important;
  border-radius: 13px !important;
  padding: 16px 28px !important;
  box-shadow: 0 16px 30px -14px rgba(164,80,43,.65) !important;
  letter-spacing: .02em;
  transition: box-shadow .2s, transform .15s !important;
}
.single_add_to_cart_button:hover,
button.single_add_to_cart_button:hover {
  background: linear-gradient(160deg, #d47543, #8a4023) !important;
  box-shadow: 0 18px 34px -12px rgba(164,80,43,.85) !important;
  transform: translateY(-1px);
}

/* Quantity input */
.quantity .qty {
  border: 1px solid var(--cb-line) !important;
  border-radius: 11px !important;
  font-family: "Hanken Grotesk", sans-serif !important;
  font-weight: 700 !important;
  color: var(--cb-ink) !important;
  background: var(--cb-card) !important;
}

/* =====================================================
   PRODUCT PAGE - TRUST BADGES
   ===================================================== */
.cb-trust-row {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
  margin-top: 20px !important;
}
.cb-trust-item {
  background: var(--cb-card) !important;
  border: 1px solid var(--cb-line) !important;
  border-radius: 13px !important;
  padding: 12px 14px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--cb-ink) !important;
  text-align: center;
}
.cb-trust-item svg {
  color: var(--cb-accent) !important;
  stroke: var(--cb-accent) !important;
  fill: none !important;
}

/* =====================================================
   PRODUCT PAGE - ACCORDION
   ===================================================== */
.accordion .accordion-title.plain {
  font-family: "Hanken Grotesk", sans-serif !important;
  font-weight: 700 !important;
  font-size: 12.5px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--cb-deep) !important;
  border-bottom: 1px solid var(--cb-line) !important;
  padding: 16px 2px !important;
  background: transparent !important;
}
.accordion .accordion-title.plain:hover { color: var(--cb-accent) !important; }
.accordion .accordion-inner {
  background: var(--cb-card) !important;
  border-radius: 0 0 12px 12px !important;
  padding: 16px 4px !important;
}
.accordion .accordion-inner table.shop_attributes { width: 100%; }
.accordion .accordion-inner table.shop_attributes th,
.accordion .accordion-inner table.shop_attributes td {
  font-size: 14px !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--cb-line) !important;
  color: var(--cb-ink) !important;
}
.accordion .accordion-inner table.shop_attributes th {
  color: var(--cb-soft) !important;
  font-weight: 600 !important;
  width: 140px;
}

/* =====================================================
   PRODUCT PAGE - SPEC TABLE & QUICK GLANCE BAND
   ===================================================== */
.cb-pdp-bottom {
  background: linear-gradient(180deg, var(--cb-bg2), #ece4d2) !important;
  border-top: 1px solid var(--cb-line) !important;
  border-bottom: 1px solid var(--cb-line) !important;
  padding: 48px 0 !important;
}

.cb-pdp-s3 {
  background: var(--cb-card) !important;
  border: 1px solid var(--cb-line) !important;
  border-radius: 20px !important;
  overflow: hidden;
  box-shadow: var(--cb-shadow) !important;
}

.cb-pdp-s2 {
  background: var(--cb-card) !important;
  border: 1px solid var(--cb-line) !important;
  border-radius: 20px !important;
  overflow: hidden;
  box-shadow: var(--cb-shadow) !important;
}

.cb-pdp-sec-badge {
  display: flex !important;
  align-items: center;
  gap: 10px;
  font-family: "Fraunces", serif !important;
  font-size: 12px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  padding: 16px 24px !important;
  color: var(--cb-deep) !important;
  border-bottom: 1px solid var(--cb-line) !important;
  background: transparent !important;
}
.cb-pdp-sec-name { color: var(--cb-deep) !important; }

table.cb-pdp-spec-table {
  width: 100% !important;
  border-collapse: collapse !important;
}
table.cb-pdp-spec-table tr {
  border-bottom: 1px solid var(--cb-line) !important;
}
table.cb-pdp-spec-table tr:last-child { border-bottom: none !important; }
table.cb-pdp-spec-table td,
table.cb-pdp-spec-table th {
  padding: 12px 24px !important;
  font-size: 14px !important;
  vertical-align: top;
  font-family: "Hanken Grotesk", sans-serif !important;
}
table.cb-pdp-spec-table td:first-child,
table.cb-pdp-spec-table th:first-child {
  color: var(--cb-soft) !important;
  font-weight: 600 !important;
  width: 160px;
  min-width: 140px;
}
table.cb-pdp-spec-table td:last-child { color: var(--cb-ink) !important; }

.cb-pdp-qg { padding: 20px 24px 24px !important; }
.cb-pdp-qg__group { margin-bottom: 16px !important; }
.cb-pdp-qg__group:last-child { margin-bottom: 0 !important; }
.cb-pdp-qg__label {
  display: block;
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--cb-soft) !important;
  margin-bottom: 8px !important;
  font-family: "Hanken Grotesk", sans-serif !important;
}
.cb-pdp-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
}
.cb-pdp-pill {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  padding: 6px 13px !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  text-decoration: none !important;
  font-family: "Hanken Grotesk", sans-serif !important;
  transition: opacity .15s !important;
}
.cb-pdp-pill:hover { opacity: .8; }

.cb-pdp-pills--effects .cb-pdp-pill {
  background: rgba(106,76,147,.13) !important;
  color: #4a3270 !important;
  border-color: rgba(106,76,147,.32) !important;
}
.cb-pdp-pills--relieve .cb-pdp-pill {
  background: rgba(196,106,63,.13) !important;
  color: #8c4824 !important;
  border-color: rgba(196,106,63,.3) !important;
}
.cb-pdp-pills--flavors .cb-pdp-pill {
  background: rgba(200,162,74,.16) !important;
  color: #7a611f !important;
  border-color: rgba(200,162,74,.35) !important;
}
.cb-pdp-pills--aromas .cb-pdp-pill {
  background: rgba(63,42,26,.07) !important;
  color: #5b4a36 !important;
  border-color: rgba(63,42,26,.16) !important;
}

/* =====================================================
   PRODUCT PAGE - RELATED / UPSELL PRODUCTS
   ===================================================== */
.related.products h2,
.upsells.products h2 {
  font-family: "Fraunces", serif !important;
  font-weight: 500 !important;
  font-size: 28px !important;
  letter-spacing: -.01em !important;
  color: var(--cb-ink) !important;
  margin-bottom: 20px !important;
}
.related .product-small,
.upsells .product-small {
  background: var(--cb-card) !important;
  border: 1px solid var(--cb-line) !important;
  border-radius: var(--cb-radius) !important;
  overflow: hidden;
  box-shadow: 0 8px 24px -16px rgba(63,42,26,.35) !important;
}
.related .product-small .box-image,
.upsells .product-small .box-image {
  background: linear-gradient(180deg, #fdfdfb, #eceae7) !important;
}
.related .product-small .name a,
.upsells .product-small .name a {
  font-weight: 600 !important;
  font-size: 13.5px !important;
  color: var(--cb-ink) !important;
  font-family: "Hanken Grotesk", sans-serif !important;
}
.related .product-small .price,
.upsells .product-small .price {
  font-family: "Fraunces", serif !important;
  font-size: 18px !important;
  color: var(--cb-ink) !important;
}

/* =====================================================
   SHOP / ARCHIVE PAGES
   ===================================================== */
.archive.woocommerce-page #main,
.tax-product_cat #main {
  background: var(--cb-bg) !important;
}
.shop-container .page-title,
.woocommerce-products-header__title,
.archive.woocommerce .entry-title {
  font-family: "Fraunces", serif !important;
  font-weight: 500 !important;
  color: var(--cb-ink) !important;
}

.woocommerce-ordering select {
  font-family: "Hanken Grotesk", sans-serif !important;
  border-color: var(--cb-line) !important;
  border-radius: 8px !important;
  color: var(--cb-soft) !important;
}
.woocommerce-result-count {
  color: var(--cb-soft) !important;
  font-size: 13px !important;
}

ul.products li.product,
.products .product-small {
  background: var(--cb-card) !important;
  border: 1px solid var(--cb-line) !important;
  border-radius: var(--cb-radius) !important;
  overflow: hidden;
}
.products .product-small .box-image {
  background: linear-gradient(180deg, #fdfdfb, #eceae7) !important;
}
.products .woocommerce-loop-product__title,
.products .product-small .name a {
  font-family: "Hanken Grotesk", sans-serif !important;
  font-weight: 600 !important;
  color: var(--cb-ink) !important;
}
.products .price {
  font-family: "Fraunces", serif !important;
  color: var(--cb-ink) !important;
}

a.quick-view {
  font-family: "Hanken Grotesk", sans-serif !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  background: rgba(244,239,228,.93) !important;
  color: var(--cb-deep) !important;
  border-radius: 9px !important;
  border: 1px solid var(--cb-line) !important;
}

.badge-container .badge.out-stock,
.out-of-stock-badge {
  background: rgba(63,42,26,.65) !important;
  color: #e9dcc6 !important;
  border-radius: 7px !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
}

/* =====================================================
   HOMEPAGE - HERO
   ===================================================== */
.cb-flatsome-hero-eyebrow {
  font-family: "Hanken Grotesk", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}
.cb-flatsome-hero-title {
  font-family: "Fraunces", serif !important;
  font-weight: 500 !important;
  letter-spacing: -.02em !important;
  line-height: 1.05 !important;
}
.cb-flatsome-hero-sub {
  font-family: "Hanken Grotesk", sans-serif !important;
  font-weight: 400 !important;
  font-size: 16px !important;
}

/* =====================================================
   HOMEPAGE - TRUST BAR
   ===================================================== */
.cb-module-trust {
  background: var(--cb-card) !important;
  border-top: 1px solid var(--cb-line) !important;
  border-bottom: 1px solid var(--cb-line) !important;
}

/* =====================================================
   HOMEPAGE - SECTION HEADINGS
   ===================================================== */
.cb-module-heading {
  font-family: "Fraunces", serif !important;
  font-weight: 500 !important;
  color: var(--cb-ink) !important;
  letter-spacing: -.01em !important;
}
.cb-module-eyebrow {
  font-family: "Hanken Grotesk", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: var(--cb-soft) !important;
}
.cb-module-link a {
  color: var(--cb-accent) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}

/* =====================================================
   HOMEPAGE - PRODUCT GRID CARDS
   ===================================================== */
.cb-products .product-small,
.cb-module-products .product-small {
  background: var(--cb-card) !important;
  border: 1px solid var(--cb-line) !important;
  border-radius: var(--cb-radius) !important;
  overflow: hidden;
  box-shadow: 0 8px 24px -16px rgba(63,42,26,.3) !important;
}
.cb-products .product-small .box-image {
  background: linear-gradient(180deg, #fdfdfb, #eceae7) !important;
}

/* =====================================================
   HOMEPAGE - CATEGORY GRID
   ===================================================== */
.cb-module-category {
  border-radius: var(--cb-radius) !important;
  overflow: hidden;
}
.cb-module-card-kicker {
  font-family: "Hanken Grotesk", sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

/* =====================================================
   HOMEPAGE - WHY / FEATURES SECTION
   ===================================================== */
.cb-module-why {
  border-top: 1px solid var(--cb-line) !important;
  border-bottom: 1px solid var(--cb-line) !important;
}
/* Flatsome uses .section-bg child for backgrounds set in UX Builder */
.cb-module-why > .section-bg,
.cb-module-why > .section-bg.fill {
  background: linear-gradient(180deg, var(--cb-bg2), #ece4d2) !important;
}
.cb-module-feature .title,
.cb-module-feature h3,
.cb-module-feature h4 {
  font-family: "Fraunces", serif !important;
  font-weight: 500 !important;
  color: var(--cb-ink) !important;
}
.cb-module-feature p {
  font-family: "Hanken Grotesk", sans-serif !important;
  color: var(--cb-soft) !important;
  font-size: 14px !important;
}

/* =====================================================
   HOMEPAGE - OUR STORY SECTION
   ===================================================== */
.cb-module-story {
  background: var(--cb-card) !important;
  border-top: 1px solid var(--cb-line) !important;
  border-bottom: 1px solid var(--cb-line) !important;
}
.cb-story-divider {
  background: var(--cb-accent) !important;
}

/* =====================================================
   HOMEPAGE - FAQ
   ===================================================== */
.cb-module-faq { background: var(--cb-bg) !important; }
.cb-module-faq-card {
  background: var(--cb-card) !important;
  border: 1px solid var(--cb-line) !important;
  border-radius: var(--cb-radius) !important;
  overflow: hidden;
}
.cb-module-faq-item {
  border-bottom: 1px solid var(--cb-line) !important;
}
.cb-module-faq-item:last-child { border-bottom: none !important; }
.cb-module-faq-item summary,
.cb-module-faq-item .question {
  font-family: "Hanken Grotesk", sans-serif !important;
  font-weight: 700 !important;
  color: var(--cb-ink) !important;
  padding: 16px 20px !important;
}
.cb-module-faq-item .answer,
.cb-module-faq-item p {
  font-size: 14px !important;
  color: var(--cb-soft) !important;
  padding: 0 20px 16px !important;
  line-height: 1.6 !important;
}

/* =====================================================
   HOMEPAGE - NEWSLETTER
   ===================================================== */
.cb-module-newsletter {
  color: #e7dac3 !important;
}
.cb-module-newsletter > .section-bg,
.cb-module-newsletter > .section-bg.fill {
  background: linear-gradient(180deg, #43301f, #2a1c10) !important;
}
.cb-module-newsletter h2,
.cb-module-newsletter h3,
.cb-module-newsletter .cb-module-heading {
  color: #e7dac3 !important;
}
.cb-module-newsletter p,
.cb-newsletter-copy-desktop,
.cb-newsletter-copy-compact {
  color: #cbbb9f !important;
  font-size: 14px !important;
}
.cb-module-newsletter-form input[type="email"],
.cb-newsletter-form-desktop input[type="email"],
.cb-newsletter-form-compact input[type="email"] {
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 11px !important;
  color: #fff !important;
  padding: 13px 16px !important;
  font-family: "Hanken Grotesk", sans-serif !important;
}
.cb-module-newsletter-form button,
.cb-module-newsletter-form input[type="submit"],
.cb-newsletter-form-desktop button,
.cb-newsletter-form-compact button {
  background: var(--cb-accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 11px !important;
  font-weight: 700 !important;
  font-family: "Hanken Grotesk", sans-serif !important;
  padding: 13px 24px !important;
}

/* =====================================================
   FOOTER
   ===================================================== */
footer.footer,
footer.footer-wrapper,
#footer,
.footer-wrapper,
.cb-footer {
  background: linear-gradient(180deg, #43301f, #2a1c10) !important;
  color: #e7dac3 !important;
}
/* Flatsome dark sections inside footer */
.cb-footer.dark > .section-bg,
.cb-footer.dark > .section-bg.fill {
  background: linear-gradient(180deg, #43301f, #2a1c10) !important;
}
footer h3, footer h4, footer h5,
footer .widget-title {
  font-family: "Fraunces", serif !important;
  color: #e7dac3 !important;
  font-weight: 600 !important;
}
footer p { color: #cbbb9f !important; font-size: 13.5px !important; }
footer a,
.footer-center a { color: #e7dac3 !important; }
footer a:hover,
.footer-center a:hover { color: var(--cb-gold) !important; }
footer ul li { color: #e7dac3 !important; }

.footer-bottom,
.absolute-footer {
  background: rgba(0,0,0,.25) !important;
  border-top: 1px solid rgba(255,255,255,.1) !important;
}
.footer-bottom,
.footer-bottom a,
.absolute-footer,
.absolute-footer a {
  color: #b39d77 !important;
  font-size: 12.5px !important;
}
/* Space out footer bottom links */
.absolute-footer .copyright {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px 14px;
  align-items: center;
}
.absolute-footer .footer-menu,
.absolute-footer nav.footer-menu {
  display: flex !important;
  gap: 14px;
}
.absolute-footer .footer-menu li {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Tone down Flatsome branding */
.absolute-footer a[href*="flatsome"] {
  opacity: .35 !important;
  font-size: 10px !important;
}

/* Age badge */
.age-badge,
span.age-badge {
  background: var(--cb-accent) !important;
  color: #fff !important;
  border-radius: 6px !important;
  padding: 4px 9px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

.footer-bottom .pays span,
.footer-bottom .payment-icons span {
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 6px !important;
  padding: 4px 8px !important;
  font-size: 11px !important;
  color: #b39d77 !important;
}

/* =====================================================
   GLOBAL BUTTONS
   ===================================================== */
.button,
.btn,
input[type="submit"],
input[type="button"] {
  font-family: "Hanken Grotesk", sans-serif !important;
  font-weight: 700 !important;
  border-radius: 12px !important;
}
.button.primary,
.button.alt,
.wc-proceed-to-checkout .checkout-button,
.woocommerce #respond input#submit,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background: linear-gradient(160deg, var(--cb-accent), #a4502b) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 10px 24px -10px rgba(164,80,43,.6) !important;
}
.button.primary:hover,
.button.alt:hover {
  background: linear-gradient(160deg, #d47543, #8a4023) !important;
}
.button.secondary,
.button.outline,
.button.white {
  background: var(--cb-card) !important;
  color: var(--cb-deep) !important;
  border: 1px solid var(--cb-line) !important;
}

/* =====================================================
   MISC / UTILITY
   ===================================================== */
.divider, hr { border-color: var(--cb-line) !important; }
.section { background-color: transparent; }

.widget-title {
  font-family: "Fraunces", serif !important;
  font-weight: 600 !important;
  color: var(--cb-ink) !important;
  font-size: 13px !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.woocommerce-message,
.woocommerce-info {
  border-top-color: var(--cb-accent) !important;
  background: var(--cb-card) !important;
  color: var(--cb-ink) !important;
}
.woocommerce-error {
  border-top-color: #c0392b !important;
  background: #fdf3f2 !important;
}

#back-to-top,
.go-top,
button[aria-label="Scroll to top"],
button[aria-label="Go to top"] {
  background: var(--cb-deep) !important;
  color: #e9dcc6 !important;
  border-radius: 50% !important;
  border: 1px solid var(--cb-line) !important;
}

/* =====================================================
   RESPONSIVE
   ===================================================== */
@media (max-width: 849px) {
  .product_title.entry-title { font-size: 28px !important; }
  .price, p.price { font-size: 26px !important; }
  .cb-trust-row { grid-template-columns: 1fr 1fr !important; }
  .cb-pdp-bottom { padding: 32px 0 !important; }
  table.cb-pdp-spec-table td,
  table.cb-pdp-spec-table th { padding: 10px 16px !important; }
  .cb-pdp-qg { padding: 16px !important; }
}

/* Footer sub-bar copyright + policy links spacing */
.cb-footer__sub p {
  display: flex !important;
  flex-wrap: wrap;
  gap: 4px 16px;
  align-items: center;
  color: rgba(179,157,119,.75) !important;
  font-size: 12px !important;
}
.cb-footer__sub p a {
  color: rgba(231,218,195,.65) !important;
  text-decoration: none !important;
}
.cb-footer__sub p a:hover { color: var(--cb-gold) !important; }

/* =====================================================
   v1.2 — MOCKUP FIDELITY PASS
   Body hazes · CSS logo · Nav case · Trust · Haze · Pills
   ===================================================== */

/* BODY — subtle radial hazes matching the mockup */
body {
  background:
    radial-gradient(1200px 600px at 85% -5%, rgba(106,76,147,.07), transparent 60%),
    radial-gradient(900px 500px at -10% 20%, rgba(93,124,79,.05), transparent 55%),
    var(--cb-bg) !important;
}

/* LOGO — hide PNG images, build mark + wordmark with CSS */
#logo img.header_logo,
#logo img.header-logo-dark,
#logo img { display: none !important; }

#logo a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  height: 100%;
}



/* NAV — remove Flatsome forced uppercase */
.nav.nav-uppercase > li > a,
.header-nav.nav-uppercase > li > a {
  text-transform: none !important;
  letter-spacing: .02em !important;
}

/* PRODUCT GALLERY — strain accent haze at top */
.woocommerce-product-gallery { position: relative !important; }
.woocommerce-product-gallery::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(ellipse 70% 45% at 65% -2%, rgba(106,76,147,.15), transparent 72%) !important;
  pointer-events: none !important;
  z-index: 2 !important;
  border-radius: 22px !important;
}

/* TRUST BADGES — column layout, dark icon box */
.cb-trust-item {
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
  text-align: left !important;
  padding: 16px !important;
}
.cb-trust-item svg {
  display: block !important;
  background: var(--cb-deep) !important;
  border-radius: 10px !important;
  color: #f0e4cd !important;
  stroke: #f0e4cd !important;
  width: 36px !important;
  height: 36px !important;
  padding: 7px !important;
  box-sizing: border-box !important;
  fill: none !important;
  flex-shrink: 0 !important;
}
.cb-trust-item span {
  font-weight: 700 !important;
  font-size: 12px !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  color: var(--cb-ink) !important;
}

/* QUICK GLANCE PILLS — clickable visual treatment */
.cb-pdp-pill { cursor: pointer !important; }
.cb-pdp-pill:hover {
  opacity: .72 !important;
  transform: translateY(-1px) !important;
}

/* FOOTER SUB-BAR — dot separators */
.cb-footer__sub p span + a::before,
.cb-footer__sub p a + a::before {
  content: "·" !important;
  margin: 0 4px 0 0 !important;
  opacity: .35 !important;
}

/* STICKY HEADER glass effect */
.header-main.is-sticky {
  background: rgba(244,239,228,.96) !important;
  box-shadow: 0 1px 0 var(--cb-line), 0 8px 24px -12px rgba(63,42,26,.12) !important;
}

@media (max-width: 849px) {
  
  
}

/* LOGO PATCH — force mixed case, fix glyph */
#logo a, #logo a * { text-transform: none !important; }




/* =============================================
   v1.3 — HEADER NAV: MEGA MENU REDESIGN
   ============================================= */

/* Center the single nav button within the wide flex-grow column */
.flex-col.hide-for-medium.flex-left.flex-grow > ul.header-nav-main {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* The "Shop All Departments" top-level nav link -> compact pill */
ul.header-nav-main > li.mega-menu-item > a.mega-menu-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: transparent !important;
  border: 1.5px solid rgba(31,27,22,.18) !important;
  border-radius: 8px !important;
  color: var(--cb-ink) !important;
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  padding: 9px 16px 9px 13px !important;
  white-space: nowrap !important;
  width: auto !important;
  max-width: none !important;
  line-height: 1 !important;
  transition: background .18s, border-color .18s, color .18s !important;
}

/* Replace dashicons icon with clean hamburger char */
ul.header-nav-main > li.mega-menu-item > a.mega-menu-link::before,
ul.header-nav-main > li.mega-menu-item > a.mega-menu-link.dashicons-grid-view::before,
ul.header-nav-main > li.mega-menu-item > a.mega-menu-link[class*="dashicon"]::before {
  font-family: sans-serif !important;
  content: '☰' !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  display: inline-block !important;
  opacity: .7 !important;
}

/* Hover + open states */
ul.header-nav-main > li.mega-menu-item > a.mega-menu-link:hover,
ul.header-nav-main > li.mega-menu-item > a.mega-menu-link[aria-expanded="true"] {
  background: var(--cb-deep) !important;
  border-color: var(--cb-deep) !important;
  color: #fff !important;
}
ul.header-nav-main > li.mega-menu-item > a.mega-menu-link:hover::before,
ul.header-nav-main > li.mega-menu-item > a.mega-menu-link[aria-expanded="true"]::before {
  opacity: 1 !important;
}

/* Hide chevron indicator */
ul.header-nav-main > li.mega-menu-item > a.mega-menu-link .mega-indicator {
  display: none !important;
}

/* Mega dropdown panel */
#mega-menu-primary .mega-sub-menu {
  background: var(--cb-card) !important;
  border: 1px solid rgba(31,27,22,.08) !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 48px -8px rgba(31,27,22,.2), 0 2px 8px -2px rgba(31,27,22,.08) !important;
  padding: 16px !important;
}

#mega-menu-primary .mega-sub-menu a.mega-menu-link {
  color: var(--cb-ink) !important;
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  border-radius: 6px !important;
  padding: 7px 12px !important;
  background: transparent !important;
  transition: background .14s !important;
}

#mega-menu-primary .mega-sub-menu a.mega-menu-link:hover {
  background: rgba(196,106,63,.09) !important;
  color: var(--cb-accent) !important;
}

#mega-menu-primary .mega-sub-menu .mega-menu-column > .mega-menu-link {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  color: rgba(31,27,22,.45) !important;
}

/* v1.3b — HEADER NAV CORRECTED SELECTORS
   DOM path: ul.header-nav-main > div#mega-menu-wrap-primary > ul#mega-menu-primary > li > a
*/

/* Center the mega-menu-wrap inside the nav UL */
ul.header-nav-main {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* The top-level "Shop All Departments" link — correct path */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link,
#mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: transparent !important;
  border: 1.5px solid rgba(31,27,22,.2) !important;
  border-radius: 8px !important;
  color: var(--cb-ink) !important;
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  padding: 9px 16px 9px 13px !important;
  white-space: nowrap !important;
  width: auto !important;
  line-height: 1 !important;
  transition: background .18s, border-color .18s, color .18s !important;
}

/* Replace dashicons grid icon with hamburger */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link::before,
#mega-menu-primary > li.mega-menu-item > a.mega-menu-link::before {
  font-family: sans-serif !important;
  content: '☰' !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  display: inline-block !important;
  opacity: .65 !important;
}

/* Hover + expanded states */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link[aria-expanded="true"],
#mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-primary > li.mega-menu-item > a.mega-menu-link[aria-expanded="true"] {
  background: var(--cb-deep) !important;
  border-color: var(--cb-deep) !important;
  color: #fff !important;
}

/* Hide the chevron */
#mega-menu-primary > li.mega-menu-item > a.mega-menu-link .mega-indicator { display: none !important; }

/* Mega dropdown panel styling */
#mega-menu-wrap-primary .mega-sub-menu,
.mega-menu-wrap .mega-sub-menu {
  background: var(--cb-card) !important;
  border: 1px solid rgba(31,27,22,.08) !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 48px -8px rgba(31,27,22,.2), 0 2px 8px -2px rgba(31,27,22,.08) !important;
  padding: 16px !important;
}

/* Sub-menu links */
#mega-menu-wrap-primary .mega-sub-menu a.mega-menu-link,
.mega-menu-wrap .mega-sub-menu a.mega-menu-link {
  color: var(--cb-ink) !important;
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  border-radius: 6px !important;
  padding: 7px 12px !important;
  background: transparent !important;
  transition: background .14s !important;
  border: none !important;
}

#mega-menu-wrap-primary .mega-sub-menu a.mega-menu-link:hover,
.mega-menu-wrap .mega-sub-menu a.mega-menu-link:hover {
  background: rgba(196,106,63,.09) !important;
  color: var(--cb-accent) !important;
}

/* v1.3c — MEGA MENU BUTTON: HIGHER SPECIFICITY OVERRIDE
   brand.css uses li.cb-cascade-root > a — we beat it with li.cb-cascade-root.mega-menu-item
   Same two IDs + one extra class = wins regardless of source order */

.header-wrapper #mega-menu-wrap-primary #mega-menu-primary > li.cb-cascade-root.mega-menu-item > a.mega-menu-link,
.header-wrapper #mega-menu-wrap-primary_mobile #mega-menu-primary_mobile > li.cb-cascade-root.mega-menu-item > a.mega-menu-link {
  background: transparent !important;
  background-color: transparent !important;
  border: 1.5px solid rgba(31,27,22,.22) !important;
  border-radius: 8px !important;
  color: var(--cb-ink) !important;
  box-shadow: none !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  font: 600 11.5px/1 'Hanken Grotesk', sans-serif !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  padding: 9px 16px 9px 13px !important;
  justify-content: center !important;
  gap: 7px !important;
  transition: background .18s, border-color .18s, color .18s, box-shadow .18s !important;
}

/* Hover + open state */
.header-wrapper #mega-menu-wrap-primary #mega-menu-primary > li.cb-cascade-root.mega-menu-item > a.mega-menu-link:hover,
.header-wrapper #mega-menu-wrap-primary #mega-menu-primary > li.cb-cascade-root.mega-toggle-on > a.mega-menu-link {
  background: var(--cb-deep) !important;
  border-color: var(--cb-deep) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px -4px rgba(31,27,22,.3) !important;
}

/* ::before icon — override the dashicons with a hamburger */
.header-wrapper #mega-menu-wrap-primary #mega-menu-primary > li.cb-cascade-root.mega-menu-item > a.mega-menu-link::before {
  font-family: sans-serif !important;
  content: '☰' !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  display: inline-block !important;
  opacity: .65 !important;
  margin-right: 2px !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
}
.header-wrapper #mega-menu-wrap-primary #mega-menu-primary > li.cb-cascade-root.mega-menu-item > a.mega-menu-link:hover::before,
.header-wrapper #mega-menu-wrap-primary #mega-menu-primary > li.cb-cascade-root.mega-toggle-on > a.mega-menu-link::before {
  opacity: 1 !important;
}

/* v1.3d — LOGO: hide raw text node (Flatsome outputs site name as text inside <a>)
   font-size:0 on the <a> collapses the text node; ::before and ::after keep their own explicit sizes */
#logo a {
  font-size: 0 !important;
}

/* =============================================
   v1.4 — CANNABIS LEAF LOGO + CART + CHECKOUT
   ============================================= */

/* --- LOGO: replace ✿ with cannabis leaf SVG --- */


/* =============================================
   CART PAGE — woocommerce blocks
   ============================================= */

/* Page background */
.woocommerce-cart .entry-content,
.page-id-cart .entry-content,
body.woocommerce-cart main,
.wp-block-woocommerce-cart {
  background: var(--cb-bg) !important;
}

/* Cart layout */
.wc-block-components-sidebar-layout.wc-block-cart {
  gap: 32px !important;
  align-items: flex-start !important;
}

/* Cart main panel */
.wc-block-cart__main {
  background: var(--cb-card) !important;
  border: 1px solid rgba(31,27,22,.07) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: 0 2px 12px -4px rgba(31,27,22,.08) !important;
}

/* Cart item rows */
.wc-block-cart-items__row {
  border-bottom: 1px solid rgba(31,27,22,.08) !important;
  padding: 16px 0 !important;
}
.wc-block-cart-items__row:last-child { border-bottom: none !important; }

/* Cart product name */
.wc-block-components-product-name,
.wc-block-cart-item__product-name {
  font-family: 'Fraunces', serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--cb-ink) !important;
}

/* Cart product price */
.wc-block-components-product-price .price,
.wc-block-cart-item__prices .wc-block-components-product-price {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--cb-accent) !important;
}

/* Quantity input */
.wc-block-components-quantity-selector {
  border: 1.5px solid rgba(31,27,22,.15) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #fff !important;
}
.wc-block-components-quantity-selector__input {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-weight: 600 !important;
}

/* Cart sidebar totals panel */
.wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.wc-block-cart__sidebar {
  background: var(--cb-card) !important;
  border: 1px solid rgba(31,27,22,.07) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: 0 2px 12px -4px rgba(31,27,22,.08) !important;
}

/* Totals rows */
.wc-block-components-totals-item {
  border-bottom: 1px solid rgba(31,27,22,.07) !important;
  padding: 10px 0 !important;
}
.wc-block-components-totals-item__label {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 13px !important;
  color: rgba(31,27,22,.65) !important;
}
.wc-block-components-totals-item__value {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--cb-ink) !important;
}

/* Total row (big) */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-family: 'Fraunces', serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--cb-ink) !important;
}

/* Coupon toggle */
.wc-block-components-totals-coupon__button,
.wc-block-components-panel__button {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--cb-accent) !important;
  background: none !important;
  border: none !important;
}

/* Proceed to checkout button */
.wc-block-cart__submit-button,
.wc-block-cart__submit .wc-block-components-button {
  background: var(--cb-accent) !important;
  color: #fff !important;
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  border-radius: 10px !important;
  padding: 14px 28px !important;
  border: none !important;
  box-shadow: 0 4px 18px -4px rgba(196,106,63,.45) !important;
  transition: all .18s !important;
  width: 100% !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-cart__submit .wc-block-components-button:hover {
  background: var(--cb-brand) !important;
  box-shadow: 0 6px 22px -4px rgba(196,106,63,.5) !important;
  transform: translateY(-1px) !important;
}

/* =============================================
   CHECKOUT PAGE — woocommerce blocks
   ============================================= */

/* Outer wrapper */
.wp-block-woocommerce-checkout {
  background: var(--cb-bg) !important;
  padding-top: 32px !important;
}

/* Section headings */
.wc-block-components-title,
.wc-block-checkout h2 {
  font-family: 'Fraunces', serif !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  color: var(--cb-ink) !important;
  letter-spacing: -.01em !important;
  margin-bottom: 16px !important;
}

/* Main form area */
.wc-block-checkout__main {
  background: var(--cb-card) !important;
  border: 1px solid rgba(31,27,22,.07) !important;
  border-radius: 16px !important;
  padding: 32px !important;
  box-shadow: 0 2px 12px -4px rgba(31,27,22,.08) !important;
}

/* Checkout steps / sections */
.wc-block-checkout__step {
  border-bottom: 1px solid rgba(31,27,22,.07) !important;
  padding-bottom: 24px !important;
  margin-bottom: 24px !important;
}
.wc-block-checkout__step:last-child { border-bottom: none !important; }

/* Form inputs */
.wc-block-checkout__main input[type="text"],
.wc-block-checkout__main input[type="email"],
.wc-block-checkout__main input[type="tel"],
.wc-block-checkout__main input[type="password"],
.wc-block-checkout__main input[type="date"],
.wc-block-checkout__main select,
.wc-block-components-text-input input,
.wc-blocks-components-select select,
.wc-blocks-components-select__select {
  background: #fff !important;
  border: 1.5px solid rgba(31,27,22,.15) !important;
  border-radius: 10px !important;
  color: var(--cb-ink) !important;
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 14px !important;
  padding: 12px 14px !important;
  transition: border-color .15s !important;
  box-shadow: none !important;
}
.wc-block-checkout__main input:focus,
.wc-block-checkout__main select:focus,
.wc-block-components-text-input input:focus,
.wc-blocks-components-select__select:focus {
  border-color: var(--cb-accent) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(196,106,63,.12) !important;
}

/* Field labels */
.wc-block-components-text-input label,
.wc-block-checkout__main label {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  color: rgba(31,27,22,.55) !important;
}

/* Order summary sidebar */
.wc-block-checkout__sidebar {
  background: var(--cb-card) !important;
  border: 1px solid rgba(31,27,22,.07) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: 0 2px 12px -4px rgba(31,27,22,.08) !important;
}

/* Order summary heading */
.wc-block-checkout__sidebar .wc-block-components-title {
  font-size: 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(31,27,22,.08) !important;
  margin-bottom: 16px !important;
}

/* Order summary product row */
.wc-block-components-order-summary-item__description,
.wc-block-components-product-name {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 13px !important;
}

/* Sidebar totals */
.wc-block-checkout__sidebar .wc-block-components-totals-item {
  border-bottom: 1px solid rgba(31,27,22,.06) !important;
  padding: 8px 0 !important;
}
.wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-family: 'Fraunces', serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--cb-ink) !important;
}

/* Payment options */
.wc-block-components-radio-control__option {
  border: 1.5px solid rgba(31,27,22,.12) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  margin-bottom: 8px !important;
  transition: border-color .15s !important;
  background: #fff !important;
}
.wc-block-components-radio-control__option:has(input:checked) {
  border-color: var(--cb-accent) !important;
  background: rgba(196,106,63,.04) !important;
}

/* Place Order button */
#place_order,
.wc-block-components-checkout-place-order-button,
.wc-block-checkout__place-order button {
  background: var(--cb-accent) !important;
  color: #fff !important;
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  border-radius: 10px !important;
  padding: 16px 28px !important;
  border: none !important;
  box-shadow: 0 4px 18px -4px rgba(196,106,63,.45) !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: all .18s !important;
}
#place_order:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-checkout__place-order button:hover {
  background: var(--cb-brand) !important;
  box-shadow: 0 6px 22px -4px rgba(196,106,63,.5) !important;
  transform: translateY(-1px) !important;
}

/* Notice / error banners */
.wc-block-components-notice-banner {
  border-radius: 10px !important;
  border-left: 4px solid var(--cb-accent) !important;
  background: rgba(196,106,63,.06) !important;
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 13px !important;
}
.wc-block-components-notice-banner.is-error {
  border-left-color: #b20000 !important;
  background: rgba(178,0,0,.05) !important;
}

/* Privacy / terms text */
.wc-block-checkout__privacy-policy,
.wc-block-checkout__terms {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 11.5px !important;
  color: rgba(31,27,22,.5) !important;
}

/* Shipping options */
.wc-block-components-shipping-rates-control__package {
  background: #fff !important;
  border: 1.5px solid rgba(31,27,22,.1) !important;
  border-radius: 10px !important;
  padding: 14px !important;
}










#logo a {
  font-size: 0 !important;
  gap: 0 !important;
}


#logo a { gap: 0 !important; }





#logo a { gap: 0 !important; }


/* [removed 2026-06-10] old CSS-only two-tone text logo (#logo a::before "Canna" / ::after
   "Blossom") — superseded by the JS wordmark in CB · Branding. Was causing duplicate brand name. */
/* === MY ACCOUNT PAGE ==================================
   refined header, nav sidebar, avatar
   ===================================================== */
.my-account-header h1.uppercase,
.my-account-header h1 {
  font-family: 'Fraunces', serif !important;
  font-size: 46px !important;
  font-weight: 500 !important;
  letter-spacing: -.02em !important;
  text-transform: none !important;
  color: #1f1b16 !important;
  line-height: 1.02 !important;
}
.my-account-header small.uppercase {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  color: #c46a3f !important;
  display: block !important;
  margin-bottom: 6px !important;
  order: -1 !important;
}
.my-account-header .flex-col { display: flex !important; flex-direction: column !important; }

/* Account nav sidebar */
.woocommerce-MyAccount-navigation ul.account-nav {
  background: #fbf8f1 !important;
  border: 1px solid #e6ddcd !important;
  border-radius: 14px !important;
  padding: 8px !important;
  box-shadow: 0 8px 24px -18px rgba(63,42,26,.4) !important;
}
.woocommerce-MyAccount-navigation li { border: none !important; }
.woocommerce-MyAccount-navigation li a {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13.5px !important;
  letter-spacing: .02em !important;
  color: #5b5346 !important;
  padding: 11px 14px !important;
  border-radius: 9px !important;
  display: block !important;
  transition: all .15s ease !important;
  text-transform: none !important;
}
.woocommerce-MyAccount-navigation li a:hover {
  background: rgba(196,106,63,.08) !important;
  color: #1f1b16 !important;
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a[aria-current="page"] {
  background: #3f2a1a !important;
  color: #fff !important;
}

/* Avatar */
.woocommerce-MyAccount-content + * img.avatar,
.account-user img.avatar,
img.avatar {
  border-radius: 50% !important;
  border: 2px solid #e6ddcd !important;
  box-shadow: 0 4px 12px -4px rgba(63,42,26,.3) !important;
}

/* Dashboard intro links */
.woocommerce-MyAccount-content a { color: #c46a3f !important; }
.woocommerce-MyAccount-content a:hover { color: #3f2a1a !important; }
/* === END MY ACCOUNT === */
/* === BASE CANVAS FIX ==================================
   <main> ships white from the theme; the site base is cream.
   Make it transparent so the cream body is the canvas everywhere,
   and kill the grey (#f7f7f7) account-header band.
   ===================================================== */
main, #main, .page-wrapper > main {
  background-color: transparent !important;
}
.my-account-header,
.my-account-header .page-title-inner {
  background-color: transparent !important;
  background: transparent !important;
}
/* === END BASE CANVAS FIX === */
/* === WOO CLASSIC FORMS ================================
   account details / address / login / register inputs
   (Blocks checkout is styled separately)
   ===================================================== */
.woocommerce-account .woocommerce form,
.woocommerce form.woocommerce-form-login,
.woocommerce form.woocommerce-form-register,
.woocommerce form.edit-account,
.woocommerce-address-fields {
  font-family: 'Hanken Grotesk', sans-serif !important;
}

/* Labels (visible ones, not screen-reader) */
.woocommerce-account form .form-row > label,
.woocommerce form .form-row > label,
.woocommerce-address-fields label {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: #5b5346 !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* Inputs / selects / textareas */
.woocommerce-account input.input-text,
.woocommerce form input.input-text,
.woocommerce-address-fields input.input-text,
.woocommerce form .select2-selection,
.woocommerce form select,
.woocommerce form textarea {
  background: #fdfbf6 !important;
  border: 1.5px solid #e0d6c4 !important;
  border-radius: 10px !important;
  padding: 13px 15px !important;
  font-size: 15px !important;
  font-family: 'Hanken Grotesk', sans-serif !important;
  color: #1f1b16 !important;
  box-shadow: none !important;
  transition: border-color .15s ease, box-shadow .15s ease !important;
  min-height: 0 !important;
}
.woocommerce-account input.input-text:focus,
.woocommerce form input.input-text:focus,
.woocommerce-address-fields input.input-text:focus,
.woocommerce form textarea:focus,
.woocommerce form select:focus {
  border-color: #c46a3f !important;
  box-shadow: 0 0 0 3px rgba(196,106,63,.15) !important;
  outline: none !important;
}

/* Fieldset section headings (Password change, etc.) */
.woocommerce form fieldset legend,
.woocommerce-EditAccountForm fieldset legend {
  font-family: 'Fraunces', serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: #3f2a1a !important;
  padding-top: 18px !important;
  margin-top: 12px !important;
  border-top: 1px solid #e6ddcd !important;
  width: 100% !important;
}

/* Field hint text */
.woocommerce form .form-row em,
.woocommerce-account form span.description {
  color: #8a7f6d !important;
  font-style: italic !important;
  font-size: 13px !important;
}

/* Primary submit buttons in these forms */
.woocommerce-account form button.button,
.woocommerce form.edit-account button.button,
.woocommerce-address-fields button.button,
.woocommerce form.woocommerce-form-login button.button,
.woocommerce form.woocommerce-form-register button.button {
  background: #c46a3f !important;
  color: #fff !important;
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  font-size: 12.5px !important;
  border-radius: 10px !important;
  padding: 14px 26px !important;
  border: none !important;
  box-shadow: 0 6px 18px -8px rgba(196,106,63,.5) !important;
  transition: transform .12s ease, box-shadow .12s ease !important;
}
.woocommerce-account form button.button:hover,
.woocommerce form button.button:hover {
  background: #b35d34 !important;
  transform: translateY(-1px) !important;
}
/* === END WOO CLASSIC FORMS === */

/* === PRODUCT HERO 3-TIER ==============================
   matched to mockup (cannablossom-simple.html): kicker / h1 / h1-sub
   ===================================================== */
.cb-hero-eyebrow {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: #c46a3f !important;
  margin: 0 0 10px !important;
  display: block !important;
}
.single-product .product_title.entry-title,
.single-product h1.cb-hero-title {
  font-family: 'Fraunces', serif !important;
  font-size: 44px !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
  letter-spacing: -.02em !important;
  color: #1f1b16 !important;
  margin: 0 0 7px !important;
  text-transform: none !important;
}
.cb-hero-sub {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  color: #5b5346 !important;
  margin: 0 0 16px !important;
  display: block !important;
}
/* === END PRODUCT HERO 3-TIER === */
/* === PRODUCT PAGE MOCKUP MATCH ========================
   image-stage chips, ship line, declutter — matches cannablossom-simple.html
   ===================================================== */

/* Image stage */
.single-product .woocommerce-product-gallery { position: relative !important; border-radius: 24px !important; overflow: visible !important; }
.cb-stage-tag, .cb-stage-stock {
  position: absolute !important; top: 18px !important; z-index: 9 !important;
  font: 700 11px/1 'Hanken Grotesk', sans-serif !important;
  letter-spacing: .1em !important; text-transform: uppercase !important;
  padding: 7px 13px !important; border-radius: 999px !important; pointer-events: none !important;
}
.cb-stage-tag { left: 18px !important; background: #3f2a1a !important; color: #f0e4cd !important; box-shadow: 0 4px 12px -4px rgba(63,42,26,.5) !important; }
.cb-stage-stock { right: 18px !important; }
.cb-stage-stock.in { background: rgba(93,124,79,.18) !important; border: 1px solid rgba(93,124,79,.5) !important; color: #3f5733 !important; }
.cb-stage-stock.out { background: rgba(63,42,26,.62) !important; color: #e9dcc6 !important; }

/* Ship reassurance line */
.cb-ship-line {
  font: 500 12.5px/1.5 'Hanken Grotesk', sans-serif !important;
  color: #5b5346 !important; display: flex !important; align-items: center !important;
  gap: 7px !important; margin-top: 13px !important;
}
.cb-ship-line b { color: #5d7c4f !important; font-weight: 700 !important; }
.cb-ship-line.cb-ship-out, .cb-ship-line.cb-ship-out b { color: #9a7d5a !important; }

/* Declutter title block to match mockup (no stray divider / prev-next thumbs) */
.single-product .summary .is-divider { display: none !important; }
.single-product .next-prev-thumbs { display: none !important; }
/* Hide redundant default tabs (mockup has spec band + reviews block instead) */
.single-product #accordion-additional_information,
.single-product #accordion-cr_qna,
.single-product #accordion-reviews { display: none !important; }
/* === END PRODUCT PAGE MOCKUP MATCH === */
/* === MY ACCOUNT ORDERS ================================
   notices/empty state + orders table (ready for migrated orders)
   ===================================================== */
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-error {
  background: #fbf8f1 !important;
  border-top: none !important;
  border-left: 3px solid #c46a3f !important;
  border-radius: 12px !important;
  color: #46402f !important;
  font-family: 'Hanken Grotesk', sans-serif !important;
  box-shadow: 0 8px 24px -18px rgba(63,42,26,.4) !important;
  padding: 18px 22px !important;
  display: flex !important; align-items: center !important; gap: 14px !important; flex-wrap: wrap !important;
}
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-message::before { color: #c46a3f !important; }
.woocommerce-account .woocommerce-info a.button,
.woocommerce-account .woocommerce-Button.button,
.woocommerce-account .woocommerce-info a.wc-forward {
  background: #c46a3f !important; color: #fff !important; border-radius: 9px !important;
  font-family: 'Hanken Grotesk', sans-serif !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: .05em !important; font-size: 12px !important;
  padding: 10px 18px !important; border: none !important;
}

/* Orders table */
.woocommerce-orders-table {
  border-collapse: separate !important; border-spacing: 0 8px !important; width: 100% !important;
  font-family: 'Hanken Grotesk', sans-serif !important;
}
.woocommerce-orders-table thead th {
  font-size: 11px !important; font-weight: 700 !important; letter-spacing: .1em !important;
  text-transform: uppercase !important; color: #5b5346 !important;
  padding: 10px 16px !important; border: none !important; text-align: left !important;
}
.woocommerce-orders-table tbody td {
  padding: 16px !important; border: none !important; border-top: 1px solid #efe8d8 !important;
  border-bottom: 1px solid #efe8d8 !important; font-size: 14px !important; color: #1f1b16 !important;
  background: #fbf8f1 !important; vertical-align: middle !important;
}
.woocommerce-orders-table tbody td:first-child { border-left: 1px solid #efe8d8 !important; border-radius: 12px 0 0 12px !important; }
.woocommerce-orders-table tbody td:last-child { border-right: 1px solid #efe8d8 !important; border-radius: 0 12px 12px 0 !important; }
.woocommerce-orders-table mark.order-status,
.woocommerce-orders-table .order-status {
  display: inline-block !important; padding: 4px 12px !important; border-radius: 999px !important;
  font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: .04em !important; background: rgba(93,124,79,.16) !important; color: #3f5733 !important;
}
.woocommerce-orders-table .woocommerce-button,
.woocommerce-orders-table a.button {
  background: #c46a3f !important; color: #fff !important; border-radius: 9px !important;
  font-weight: 700 !important; font-size: 12px !important; text-transform: uppercase !important;
  letter-spacing: .05em !important; padding: 9px 16px !important; border: none !important;
}
/* === END MY ACCOUNT ORDERS === */
/* === HERO BYLINE ====================================== */
.cb-by { display:flex !important; align-items:center !important; gap:11px !important; margin:2px 0 16px !important; flex-wrap:wrap !important; }
.cb-stars { color:#c8a24a !important; letter-spacing:2px !important; font-size:15px !important; line-height:1 !important; }
.cb-stars-empty { color:rgba(200,162,74,.38) !important; }
.cb-by-link { color:#c46a3f !important; text-decoration:none !important; font-weight:600 !important; font-size:13.5px !important; font-family:'Hanken Grotesk',sans-serif !important; }
.cb-by-link:hover { color:#3f2a1a !important; }
.cb-price-unit { font-size:13px !important; color:#5b5346 !important; font-family:'Hanken Grotesk',sans-serif !important; margin:6px 0 14px !important; }
/* === END HERO BYLINE === */
/* === MOCKUP ATMOSPHERE ================================
   subtle purple/sage radial hazes + round header icon buttons
   ===================================================== */
body, body.single-product {
  background-color: #f4efe4 !important;
  background-image:
    radial-gradient(1200px 600px at 85% -5%, rgba(106,76,147,.10), transparent 60%),
    radial-gradient(900px 500px at -10% 20%, rgba(93,124,79,.08), transparent 55%) !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
}

/* Header right-side icons as round buttons (mockup .icon-btn) */
.header-main .icon-search,
.header-main .header-cart-link,
.header-main li.account-item > a {
  width: 42px !important; height: 42px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(63,42,26,.14) !important;
  background: #fbf8f1 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  color: #3f2a1a !important;
}
.header-main .header-cart-link { position: relative !important; }
.header-main .header-account-title { display: none !important; }
.header-main li.account-item > a { padding: 0 !important; gap: 0 !important; }
.header-main li.account-item > a .account-icon, .header-main li.account-item > a img { margin: 0 !important; }
/* === END MOCKUP ATMOSPHERE === */
/* === PAIRS WELL WITH ================================== */
.cb-pairs { padding: 44px 0 64px !important; }
.cb-pairs-inner { max-width: 1240px; margin: 0 auto; padding: 0 40px; }
.cb-pairs-head { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:24px; gap:14px; }
.cb-pairs-head h2 { font-family:'Fraunces',serif !important; font-weight:500 !important; font-size:30px !important; letter-spacing:-.01em !important; color:#1f1b16 !important; margin:0 !important; }
.cb-pairs-all { color:#c46a3f !important; text-decoration:none !important; font-weight:600 !important; font-size:14px !important; white-space:nowrap; }
.cb-pairs-grid { display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:22px !important; }
.cb-pc { background:#fbf8f1 !important; border:1px solid rgba(63,42,26,.14) !important; border-radius:18px !important; overflow:hidden !important; text-decoration:none !important; display:block !important; transition:transform .15s ease, box-shadow .15s ease !important; }
.cb-pc:hover { transform:translateY(-3px) !important; box-shadow:0 18px 40px -24px rgba(63,42,26,.45) !important; }
.cb-pc-pic { aspect-ratio:1/1 !important; position:relative !important; display:grid !important; place-items:center !important; background:linear-gradient(180deg,#fdfdfb,#eceae7) !important; }
.cb-pc-pic img { max-width:84% !important; max-height:84% !important; object-fit:contain !important; width:auto !important; }
.cb-pc-badge { position:absolute !important; top:12px !important; left:12px !important; background:rgba(93,124,79,.92) !important; color:#fff !important; font-size:10px !important; font-weight:700 !important; letter-spacing:.05em !important; text-transform:uppercase !important; padding:5px 10px !important; border-radius:7px !important; }
.cb-pc-body { padding:15px 16px 18px !important; display:block !important; }
.cb-pc-brand { font-size:10.5px !important; font-weight:700 !important; letter-spacing:.1em !important; text-transform:uppercase !important; color:#c46a3f !important; display:block !important; margin-bottom:5px !important; font-family:'Hanken Grotesk',sans-serif !important; }
.cb-pc-nm { font-weight:600 !important; font-size:14px !important; line-height:1.35 !important; color:#1f1b16 !important; display:block !important; min-height:38px !important; font-family:'Hanken Grotesk',sans-serif !important; }
.cb-pc-pr { font-family:'Fraunces',serif !important; font-weight:600 !important; font-size:19px !important; color:#1f1b16 !important; margin-top:8px !important; display:block !important; }
.cb-pc-pr del { color:#9a8e7a !important; font-weight:400 !important; font-size:14px !important; }
.cb-pc-pr ins { text-decoration:none !important; }
@media(max-width:980px){ .cb-pairs-grid{grid-template-columns:1fr 1fr !important;} }
/* === END PAIRS WELL WITH === */
/* === VERIFIED REVIEWS SECTION ========================= */
.cb-reviews { padding: 56px 0 8px !important; }
.cb-reviews-inner { max-width: 1240px; margin: 0 auto; padding: 0 40px; }
.cb-rev-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; flex-wrap:wrap; gap:14px; }
.cb-rev-head h2 { font-family:'Fraunces',serif !important; font-weight:500 !important; font-size:30px !important; letter-spacing:-.01em !important; color:#1f1b16 !important; margin:0 !important; display:flex; align-items:center; gap:12px; }
.cb-vchip { font-family:'Hanken Grotesk',sans-serif !important; font-size:11px !important; font-weight:700 !important; letter-spacing:.08em !important; text-transform:uppercase !important; background:rgba(93,124,79,.16) !important; color:#3f5733 !important; border:1px solid rgba(93,124,79,.4) !important; padding:5px 11px !important; border-radius:999px !important; }
.cb-rev-summary { background:#fbf8f1; border:1px solid rgba(63,42,26,.14); border-radius:20px; padding:30px 34px; box-shadow:0 18px 40px -30px rgba(63,42,26,.5); }
.cb-rev-score { display:flex; flex-direction:column; align-items:flex-start; }
.cb-rev-num { font-family:'Fraunces',serif; font-size:62px; font-weight:600; line-height:1; color:#3f2a1a; }
.cb-rev-stars { color:#c8a24a; font-size:20px; letter-spacing:3px; margin:8px 0 6px; }
.cb-rev-cnt { font-size:13px; color:#5b5346; }
.cb-rev-seal { margin-top:14px; display:inline-flex; align-items:center; gap:7px; font-size:11.5px; font-weight:700; color:#3f5733; background:rgba(93,124,79,.12); border:1px solid rgba(93,124,79,.3); padding:7px 12px; border-radius:10px; }
/* empty state */
.cb-rev-empty { background:#fbf8f1; border:1px solid rgba(63,42,26,.14); border-radius:20px; padding:40px 34px; text-align:center; box-shadow:0 18px 40px -30px rgba(63,42,26,.5); }
.cb-rev-stars-empty { color:rgba(200,162,74,.4) !important; font-size:26px; letter-spacing:4px; display:block; }
.cb-rev-empty-t { font-family:'Fraunces',serif; font-size:22px; font-weight:500; color:#1f1b16; margin:14px 0 6px; }
.cb-rev-empty-s { font-size:14px; color:#5b5346; max-width:460px; margin:0 auto; line-height:1.5; }
/* === END VERIFIED REVIEWS SECTION === */
/* === QA FIXES ========================================= */
/* checkmark inside the brief bullet circles */
.cb-pdp-selling li::before {
  content: "✓" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: #fff !important;
}
/* hide WooCommerce default related + up-sells (we use "Pairs well with") */
.single-product .related.products,
.single-product .up-sells.products,
.single-product section.related,
.single-product section.up-sells { display: none !important; }
/* === END QA FIXES === */


/* === CONTENT WIDTH 1200 (full-bleed backgrounds) ======
   Constrain content to 1200px centered; section/banner backgrounds stay full width.
   Higher-specificity selectors beat Flatsome's site-width !important rule.
   ===================================================== */
html body .container,
html body .cb-container { max-width: 1200px !important; }

/* product page: hero row, details band, custom sections */
.single-product .product-main > .row.content-row,
.single-product .cb-pdp-bottom > .container,
.cb-pdp-bottom--two,
.cb-reviews-inner,
.cb-pairs-inner {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* details band: two EQUAL, EQUAL-HEIGHT cards like the mockup */
.cb-pdp-bottom--two {
  display: flex !important;
  gap: 30px !important;
  align-items: stretch !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}
.cb-pdp-bottom--two > section {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
}
/* === END CONTENT WIDTH 1240 === */
/* === LOGO EST ========================================= */
#logo { display: inline-flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; line-height: 1 !important; }
#logo a { line-height: 1 !important; }
.cb-est {
  font: 700 9px/1 'Hanken Grotesk', sans-serif !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
  color: #8a7f6d !important;
  margin-top: 5px !important;
  text-align: center !important;
  width: 100% !important;
  display: block !important;
}
/* === END LOGO EST === */
/* === SHOP SIDEBAR (filters) — mockup vibe ============= */
.shop-sidebar .widget, .col.large-3 .widget {
  background: #fbf8f1 !important;
  border: 1px solid rgba(63,42,26,.12) !important;
  border-radius: 14px !important;
  padding: 16px 18px !important;
  margin-bottom: 16px !important;
  box-shadow: 0 8px 22px -18px rgba(63,42,26,.4) !important;
}
.shop-sidebar .widget .widget-title,
.shop-sidebar .widget .widgettitle,
.col.large-3 .widget .widget-title,
.col.large-3 .widget .widgettitle {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: #3f2a1a !important;
  margin: 0 0 13px !important;
  padding-bottom: 11px !important;
  border-bottom: 1px solid rgba(63,42,26,.12) !important;
}

/* layered-nav filter lists (Effects / May Help With / Flavor / Aroma) */
.woocommerce-widget-layered-nav-list { margin: 0 !important; }
.woocommerce-widget-layered-nav-list li {
  border: none !important; padding: 0 !important; margin: 0 0 3px !important; list-style: none !important;
}
.woocommerce-widget-layered-nav-list li a {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 13.5px !important; font-weight: 500 !important;
  color: #5b5346 !important; text-decoration: none !important;
  padding: 6px 8px !important; border-radius: 8px !important; display: inline-block !important;
  transition: all .12s ease !important;
}
.woocommerce-widget-layered-nav-list li a:hover { background: rgba(196,106,63,.09) !important; color: #1f1b16 !important; }
.woocommerce-widget-layered-nav-list li.chosen a { color: #c46a3f !important; font-weight: 700 !important; }
.woocommerce-widget-layered-nav-list li .count {
  color: #a89c88 !important; font-size: 11.5px !important; font-weight: 600 !important;
}

/* sliders: THC / CBD / Price — terracotta + sage */
.cq-slider-widget .noUi-connect,
.price_slider .ui-slider-range,
.noUi-connect { background: #c46a3f !important; }
.cq-slider-widget .noUi-handle,
.price_slider .ui-slider-handle,
.noUi-handle {
  background: #fbf8f1 !important; border: 2px solid #c46a3f !important;
  border-radius: 50% !important; box-shadow: 0 2px 6px -2px rgba(63,42,26,.5) !important;
}
.cq-slider-widget .noUi-base, .price_slider .ui-slider, .noUi-target {
  background: rgba(93,124,79,.18) !important; border: none !important; box-shadow: none !important;
}
.cq-slider-widget input, .price_slider_amount input { color: #1f1b16 !important; }
.cq-slider-widget .cq-slider-values, .price_slider_amount .price_label { color: #5b5346 !important; font-size: 13px !important; }

/* availability toggles + filter buttons */
.shop-sidebar .button, .col.large-3 .widget .button,
.price_slider_amount .button {
  background: #c46a3f !important; color: #fff !important; border: none !important;
  border-radius: 9px !important; font-family: 'Hanken Grotesk', sans-serif !important;
  font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .05em !important;
  font-size: 12px !important; padding: 9px 16px !important;
}
/* === END SHOP SIDEBAR === */
/* === IMAGE SIZING (tighter, less oversized) =========== */
/* 1. homepage hero shorter (constrain the flickity slider) */
.cb-flatsome-hero-slider,
.cb-flatsome-hero-slider .slider,
.cb-flatsome-hero-slider .flickity-viewport,
.cb-flatsome-hero-slider .flickity-slider { height: 450px !important; min-height: 450px !important; }
.cb-flatsome-hero-banner,
.cb-flatsome-hero-banner .banner-inner { min-height: 450px !important; height: 450px !important; }

/* 2. shop grid 5-up (smaller product cards/images) */
.shop-container ul.products li.product.product-small,
.shop-container .products.row > .product-small.col,
ul.products.columns-4 li.product { 
  width: 20% !important; max-width: 20% !important; flex-basis: 20% !important;
}

/* 3. single product gallery smaller */
.single-product .product-gallery.col.large-5 {
  max-width: 460px !important; flex-basis: 460px !important;
}
/* 4. "Shop by Category" tiles smaller (square aspect-ratio 1/1 -> fixed height) */
.cb-module-categories .banner.cb-module-category,
body.home .cb-module-categories .banner.cb-module-category {
  aspect-ratio: auto !important;
  height: 250px !important;
  min-height: 250px !important;
  padding-top: 0 !important;
}
/* === END IMAGE SIZING === */
/* === HERO BUTTONS + BANNERS =========================== */
/* hero primary CTAs -> terracotta filled */
.cb-flatsome-hero-slider .button.primary {
  background: #c46a3f !important; background-image: none !important;
  color: #fff !important; border: none !important;
  border-radius: 10px !important; box-shadow: 0 10px 24px -10px rgba(63,42,26,.55) !important;
  font-family: 'Hanken Grotesk', sans-serif !important; font-weight: 700 !important;
  letter-spacing: .06em !important; text-transform: uppercase !important;
}
.cb-flatsome-hero-slider .button.primary:hover { background: #b35d34 !important; transform: translateY(-1px) !important; }

/* hero secondary ("View Bulk") -> readable white outline on the dark hero */
.cb-flatsome-hero-slider .button.white.is-outline,
.cb-flatsome-hero-secondary {
  background: transparent !important; color: #fff !important;
  border: 2px solid rgba(255,255,255,.65) !important;
  border-radius: 10px !important;
  font-family: 'Hanken Grotesk', sans-serif !important; font-weight: 700 !important;
  letter-spacing: .06em !important; text-transform: uppercase !important;
}
.cb-flatsome-hero-secondary:hover, .cb-flatsome-hero-slider .button.white.is-outline:hover {
  background: rgba(255,255,255,.14) !important; border-color: #fff !important; color: #fff !important;
}

/* bottom wholesale "Bulk Depot" banner shorter (was 440px padding-top) */
.cb-module-wholesale-banner { padding-top: 250px !important; min-height: 0 !important; height: auto !important; }
/* === END HERO BUTTONS + BANNERS === */
/* === GLOBAL DESIGN SYSTEM (site-wide cohesion) ========
   Standardizes type, links, buttons, forms on EVERY page
   (incl. Contact, FAQ, policy, blog). No !important on
   buttons/links so page-specific styles still win.
   ===================================================== */
body { font-family: 'Hanken Grotesk', sans-serif; color: #1f1b16; }
h1,h2,h3,h4,h5,.heading-font,blockquote { font-family: 'Fraunces', serif; color: #1f1b16; letter-spacing: -.01em; }
a { color: #c46a3f; }
a:hover { color: #3f2a1a; }

/* base buttons (low specificity → specific rules still win) */
.button:not(.is-outline):not(.is-link), input[type=submit], button[type=submit] {
  background-color: #c46a3f; border-radius: 10px;
  font-family: 'Hanken Grotesk', sans-serif; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
}
.button.is-outline { border-radius: 10px; border-color: #c46a3f; color: #c46a3f; }
.button.is-outline:hover { background: #c46a3f; color: #fff; }

/* base form fields site-wide */
input[type=text], input[type=email], input[type=tel], input[type=url], input[type=password],
input[type=number], input[type=search], input[type=date], textarea, select {
  background: #fdfbf6 !important; border: 1.5px solid #e0d6c4 !important; border-radius: 10px !important;
  color: #1f1b16 !important; padding: 12px 14px !important; box-shadow: none !important;
}
input:focus, textarea:focus, select:focus {
  border-color: #c46a3f !important; box-shadow: 0 0 0 3px rgba(196,106,63,.15) !important; outline: none !important;
}

/* Contact Form 7 */
.wpcf7 label { font-family:'Hanken Grotesk',sans-serif; font-weight:600; font-size:13px; color:#5b5346; }
.wpcf7 .wpcf7-submit { background:#c46a3f !important; color:#fff !important; border:none !important; border-radius:10px !important; font-weight:700 !important; text-transform:uppercase !important; letter-spacing:.05em !important; padding:13px 28px !important; }

/* generic page titles (blog / policy) */
.entry-title, .page-title h1, .blog-single .entry-title { font-family:'Fraunces',serif !important; color:#1f1b16 !important; }
.entry-content { font-family:'Hanken Grotesk',sans-serif; color:#46402f; }
/* === END GLOBAL DESIGN SYSTEM === */
/* === SEO BLOCK (home, above footer) =================== */
.cb-seo { background: #efe8d8 !important; border-top: 1px solid rgba(63,42,26,.12) !important; padding: 46px 0 50px !important; }
.cb-seo-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.cb-seo h2 { font-family: 'Fraunces', serif !important; font-weight: 500 !important; font-size: 26px !important; letter-spacing: -.01em !important; color: #1f1b16 !important; margin: 0 0 16px !important; }
.cb-seo p { font-family: 'Hanken Grotesk', sans-serif !important; font-size: 14px !important; line-height: 1.65 !important; color: #5b5346 !important; margin: 0 0 12px !important; max-width: 920px !important; }
.cb-seo p strong { color: #46402f !important; font-weight: 700 !important; }
.cb-seo a { color: #c46a3f !important; text-decoration: underline !important; }
.cb-seo .cb-seo-tags { font-size: 12px !important; color: #8a7f6d !important; letter-spacing: .02em !important; margin-top: 6px !important; }
@media(max-width:780px){ .cb-seo-inner{padding:0 22px;} }
/* === END SEO BLOCK === */
/* === STICKY CART (product pages) ====================== */
.cb-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; transform: translateY(110%); transition: transform .28s ease; background: #fff; border-top: 1px solid rgba(63,42,26,.14); box-shadow: 0 -10px 34px -14px rgba(63,42,26,.4); }
.cb-sticky.cb-sticky-show { transform: translateY(0); }
.cb-sticky-inner { max-width: 1200px; margin: 0 auto; padding: 10px 40px; display: flex; align-items: center; gap: 16px; }
.cb-sticky-img { width: 48px; height: 48px; border-radius: 10px; object-fit: cover; border: 1px solid rgba(63,42,26,.12); flex: none; }
.cb-sticky-info { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.cb-sticky-name { font-family: 'Fraunces', serif; font-size: 16px; color: #1f1b16; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 42vw; }
.cb-sticky-price { font-family: 'Hanken Grotesk', sans-serif; font-size: 13px; color: #c46a3f; font-weight: 700; }
.cb-sticky-price del { color: #a89c88; font-weight: 400; margin-right: 5px; }
.cb-sticky-btn { margin-left: auto; background: #c46a3f; color: #fff; border: none; border-radius: 10px; padding: 14px 32px; font-family: 'Hanken Grotesk', sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; font-size: 13px; cursor: pointer; white-space: nowrap; transition: background .15s ease; }
.cb-sticky-btn:hover { background: #b35d34; }
@media(max-width:600px){ .cb-sticky-inner{ padding: 8px 16px; gap: 11px; } .cb-sticky-name{ max-width: 36vw; font-size: 15px; } .cb-sticky-btn{ padding: 12px 18px; } }
/* === END STICKY CART === */

/* Align Quick Glance card top with spec table (remove extra badge gap) */
.cb-pdp-s2 .cb-pdp-sec-badge{margin-bottom:0!important;}


/* ===== FLOWER WEIGHT-VARIATION SWATCHES (variations mockup match) — applies only to variable products ===== */
/* label e.g. "WEIGHT" */
.single-product .variations_form .variations label,
.single-product .variations_form .variations th.label label{
  font-size:12px!important;font-weight:700!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#5b5346!important;
}
/* lay swatches out as a flex row of cards */
.single-product .variations_form .ux-swatches,
.single-product .variations_form td.value .ux-swatches{
  display:flex!important;gap:10px!important;flex-wrap:wrap!important;margin-top:6px!important;
}
/* each weight option = mockup .opt card */
.single-product .variations_form .ux-swatch{
  position:relative!important;flex:1 1 84px!important;min-width:84px!important;
  border:1.5px solid rgba(63,42,26,.14)!important;background:#fbf8f1!important;color:#1f1b16!important;
  border-radius:14px!important;padding:14px 12px!important;height:auto!important;min-height:0!important;
  text-align:center!important;font-family:"Fraunces",Georgia,serif!important;font-weight:600!important;font-size:18px!important;line-height:1!important;
  box-shadow:none!important;transition:border-color .16s,box-shadow .16s,background .16s!important;
}
.single-product .variations_form .ux-swatch:hover{border-color:#6a4c93!important}
.single-product .variations_form .ux-swatch.selected,
.single-product .variations_form .ux-swatch.ux-swatch-selected,
.single-product .variations_form .ux-swatch.active{
  border-color:#6a4c93!important;background:linear-gradient(165deg,#f6f0fa,#fbf8f1)!important;
  box-shadow:0 0 0 3px rgba(106,76,147,.14)!important;color:#3f2a5e!important;
}
/* sold-out / disabled weight */
.single-product .variations_form .ux-swatch.disabled,
.single-product .variations_form .ux-swatch[disabled]{
  opacity:.5!important;cursor:not-allowed!important;
  background:repeating-linear-gradient(135deg,#f3efe6 0 8px,#ece6d8 8px 16px)!important;
}
/* fallback: if swatches off, make the dropdown match the apothecary inputs */
.single-product .variations_form .variations select{
  border:1.5px solid rgba(63,42,26,.14)!important;border-radius:13px!important;background:#fbf8f1!important;
  padding:13px 14px!important;font-family:inherit!important;font-size:15px!important;color:#1f1b16!important;
}
/* the chosen-variation price block (Fraunces, like main price) */
.single-product .variations_form .woocommerce-variation-price .price,
.single-product .single_variation .price{
  font-family:"Fraunces",Georgia,serif!important;font-weight:600!important;color:#1f1b16!important;
}


/* ===== ARCHIVE 5-UP GRID (fill the row; responsive) ===== */
.woocommerce .products.row,.woocommerce ul.products{display:flex!important;flex-wrap:wrap!important}
@media(min-width:850px){
  .woocommerce .products.row > .product-small.col,
  .woocommerce ul.products > li.product,
  .archive .products.row > .product-small{
    flex:0 0 20%!important;max-width:20%!important;width:20%!important;
  }
}
@media(min-width:550px) and (max-width:849px){
  .woocommerce .products.row > .product-small.col,
  .woocommerce ul.products > li.product{flex:0 0 33.333%!important;max-width:33.333%!important;width:33.333%!important}
}
@media(max-width:549px){
  .woocommerce .products.row > .product-small.col,
  .woocommerce ul.products > li.product{flex:0 0 50%!important;max-width:50%!important;width:50%!important}
}

/* ===== FILTER SIDEBAR RESTYLE (match mockup) ===== */
.shop-sidebar .widget{border-top:1px solid rgba(63,42,26,.12)!important;padding:18px 0 6px!important;margin:0!important}
.shop-sidebar .widget:first-child{border-top:none!important}
.shop-sidebar .widget-title,.shop-sidebar .widgettitle{font-family:"Hanken Grotesk",sans-serif!important;font-size:12px!important;font-weight:700!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#1f1b16!important;margin:0 0 12px!important;display:flex!important;align-items:center;justify-content:space-between}
.shop-sidebar .widget-title::after{content:"\2013";color:#9a8e78;font-weight:400;font-size:16px;margin-left:8px}
.shop-sidebar .woocommerce-widget-layered-nav-list,.shop-sidebar ul.product-categories{list-style:none!important;margin:0!important;padding:0!important}
.shop-sidebar .woocommerce-widget-layered-nav-list__item,.shop-sidebar .cat-item{display:flex!important;align-items:center;gap:9px;padding:5px 0!important;position:relative;border:none!important}
.shop-sidebar .woocommerce-widget-layered-nav-list__item a,.shop-sidebar .cat-item a{flex:1;display:flex!important;align-items:center;gap:9px;color:#1f1b16!important;text-decoration:none!important;font-family:"Hanken Grotesk",sans-serif!important;font-size:14px!important}
.shop-sidebar .woocommerce-widget-layered-nav-list__item a::before,.shop-sidebar .cat-item a::before{content:"";width:16px;height:16px;border:1.5px solid rgba(63,42,26,.3);border-radius:4px;flex:none;background:#fff;transition:.15s}
.shop-sidebar .woocommerce-widget-layered-nav-list__item.chosen a::before,.shop-sidebar .cat-item.chosen a::before{background:#5d7c4f;border-color:#5d7c4f}
.shop-sidebar .woocommerce-widget-layered-nav-list__item.chosen a::after{content:"\2713";position:absolute;left:3px;color:#fff;font-size:11px;font-weight:700}
.shop-sidebar .count{margin-left:auto!important;color:#9a8e78!important;font-size:12.5px!important;font-weight:400!important}
.shop-sidebar .price_slider,.shop-sidebar .ui-slider{height:5px!important;background:rgba(63,42,26,.15)!important;border:none!important;border-radius:6px!important;margin:14px 4px}
.shop-sidebar .ui-slider-range,.shop-sidebar .price_slider_range{background:#5d7c4f!important}
.shop-sidebar .ui-slider-handle{width:18px!important;height:18px!important;border-radius:50%!important;background:#fff!important;border:2px solid #5d7c4f!important;top:-7px!important;margin-left:-9px!important}
.shop-sidebar .price_slider_amount .price_label{color:#5b5346!important;font-size:13px!important}
.shop-sidebar .price_slider_amount .button,.shop-sidebar .price_slider_wrapper .button{background:#c46a3f!important;color:#fff!important;border-radius:9px!important;border:none!important}
.shop-sidebar .woocommerce-widget-layered-nav-filters a{display:inline-flex!important;align-items:center;gap:6px;background:rgba(93,124,79,.14)!important;color:#3f5733!important;border:1px solid rgba(93,124,79,.35)!important;border-radius:999px!important;padding:4px 11px!important;font-size:12.5px!important;font-weight:600!important;text-decoration:none!important;margin:0 6px 6px 0!important}
.shop-sidebar .show-more,.shop-sidebar a.cb-brand-more{color:#c46a3f!important;font-weight:600!important;font-size:13px!important}


/* ===== PREMIUM CARD POLISH ===== */
.woocommerce ul.products li.product .col-inner,
.shop-container .products.row .product-small.col .col-inner{
  background:#fbf8f1!important;border:1px solid rgba(63,42,26,.1)!important;border-radius:16px!important;
  overflow:hidden!important;box-shadow:0 2px 10px -5px rgba(63,42,26,.18)!important;
  transition:transform .22s ease, box-shadow .22s ease!important;height:100%!important;
}
.woocommerce ul.products li.product:hover .col-inner,
.shop-container .products.row .product-small.col:hover .col-inner{
  transform:translateY(-5px)!important;box-shadow:0 24px 44px -24px rgba(63,42,26,.45)!important;
}
.product-small .box-image{overflow:hidden!important}
.product-small.col:hover .box-image img{transform:scale(1.06)!important}
.product-small .box-text{padding:14px 15px 16px!important}
/* category tiles: zoom on hover */
.cb-module-categories .banner,.cb-module-categories .box-image{overflow:hidden!important}
.cb-module-categories .banner img,.cb-module-categories .banner .bg,.cb-module-categories img{transition:transform .4s ease!important}
.cb-module-categories a:hover img,.cb-module-categories .banner:hover img,.cb-module-categories .banner:hover .bg,.cb-module-categories .box:hover .bg{transform:scale(1.07)!important}


/* ===== BUTTON HOVER POLISH ===== */
.button,.button.primary,.single_add_to_cart_button,button.button,.add_to_cart_button,.checkout-button,.cb-empty-btn{
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease !important;
}
.button.primary:hover,.single_add_to_cart_button:hover,.add_to_cart_button:hover,.checkout-button:hover,.cb-empty-btn:hover{
  transform:translateY(-2px)!important;box-shadow:0 16px 28px -12px rgba(164,80,43,.65)!important;filter:saturate(1.06)!important;
}
.button:not(.primary):hover{transform:translateY(-1px)!important}
/* round header icons subtle lift */
.header .nav-top-link:hover .icon,.header a.icon-cart:hover{transform:translateY(-1px)}


/* ===== HERO BANNER FIX V2 (remove View Bulk, center content, fix placement) ===== */
.cb-flatsome-hero-section .button.is-outline,
.cb-flatsome-hero-section .cb-flatsome-hero-secondary{display:none!important}
.cb-flatsome-hero-section,
.cb-flatsome-hero-section .flickity-viewport,
.cb-flatsome-hero-section .flickity-slider,
.cb-flatsome-hero-section .banner{height:500px!important;min-height:500px!important;max-height:500px!important}
.cb-flatsome-hero-section .banner{padding-top:0!important;padding-bottom:0!important}
.cb-flatsome-hero-section .banner-inner.fill,
.cb-flatsome-hero-section .banner-inner{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;height:500px!important;padding:0 0!important}
.cb-flatsome-hero-section .banner-inner .col,
.cb-flatsome-hero-section .banner-inner .col-inner{padding-top:0!important;padding-bottom:0!important;width:100%!important}
/* tidy hero text + button spacing */
.cb-flatsome-hero-section h1,.cb-flatsome-hero-section h2{margin-bottom:14px!important}
.cb-flatsome-hero-section .button.primary{margin:8px 0 0!important}


/* ===== HERO TEXT CENTER V3 ===== */
.cb-flatsome-hero-section .banner-layers,
.cb-flatsome-hero-section .banner-layers.container{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;height:500px!important}
.cb-flatsome-hero-section .banner-layer:not(.banner-bg),
.cb-flatsome-hero-section .text-box{position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;padding:0!important;margin:0!important;width:100%!important;max-width:560px!important}
.cb-flatsome-hero-section .banner-bg{position:absolute!important;inset:0!important;height:100%!important}

/* HERO TEXT LEGIBILITY FIX v4 — force light text over theme h1 */
.cb-hero2 h1,.cb-hero2 .cb-hero2-inner h1{color:#ffffff!important;font-weight:600!important;font-size:58px!important;line-height:1.02!important;text-shadow:0 2px 20px rgba(0,0,0,.65),0 1px 3px rgba(0,0,0,.5)!important}
.cb-hero2 h1 em{color:#f0a877!important;font-style:italic!important}
.cb-hero2 .cb-sub{color:rgba(248,244,236,.92)!important;text-shadow:0 1px 10px rgba(0,0,0,.55)!important}
.cb-hero2 .cb-eyb{color:#ecce86!important;text-shadow:0 1px 8px rgba(0,0,0,.5)!important}
.cb-hero2::before{background:linear-gradient(100deg,rgba(16,10,6,.96) 0%,rgba(16,10,6,.86) 42%,rgba(16,10,6,.5) 100%)!important}
@media(max-width:600px){.cb-hero2 h1,.cb-hero2 .cb-hero2-inner h1{font-size:38px!important}}

/* ===== QUICK GLANCE -> match Spec Table row format (label left | chips right), tighter v1 ===== */
.cb-pdp-qg__group{display:grid!important;grid-template-columns:190px 1fr!important;align-items:center!important;column-gap:18px!important;margin:0!important;padding:11px 24px!important;border:0!important;border-bottom:1px solid rgba(63,42,26,.14)!important;border-radius:0!important}
.cb-pdp-qg__group:last-child{border-bottom:0!important}
.cb-pdp-qg__label{display:block!important;margin:0!important;font-size:14px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;color:#1f1b16!important;white-space:nowrap}
.cb-pdp-qg .cb-pdp-pills{gap:7px!important;margin:0!important;padding:0!important}
@media(max-width:600px){.cb-pdp-qg__group{grid-template-columns:1fr!important;row-gap:8px!important;padding:11px 18px!important}.cb-pdp-qg__label{white-space:normal}}
/* ===== Flower strain H1 — make it POP ===== */
.single-product h1.product_title.entry-title{font-size:clamp(40px,4.7vw,56px)!important;font-weight:600!important;line-height:1.0!important;letter-spacing:-.018em!important;color:#1f1b16!important}

/* ===== Quantity stepper redesign — clean bordered pill v1 ===== */
.single-product form.cart .quantity{display:inline-flex!important;align-items:stretch!important;border:1.5px solid #e2d8c4!important;border-radius:12px!important;background:#fff!important;overflow:hidden!important;height:48px!important;box-shadow:0 1px 2px rgba(0,0,0,.04)!important}
.single-product form.cart .quantity .ux-quantity__button{width:42px!important;height:auto!important;min-height:0!important;background:transparent!important;color:#3f2a1a!important;border:0!important;border-radius:0!important;font-size:20px!important;font-weight:500!important;line-height:1!important;cursor:pointer;transition:background .15s,color .15s;box-shadow:none!important}
.single-product form.cart .quantity .ux-quantity__button:hover{background:#f4efe4!important;color:#c46a3f!important}
.single-product form.cart .quantity input.qty{width:50px!important;height:auto!important;background:transparent!important;border:0!important;border-left:1px solid #ece4d3!important;border-right:1px solid #ece4d3!important;border-radius:0!important;text-align:center!important;font-size:15px!important;font-weight:600!important;color:#1f1b16!important;box-shadow:none!important}
/* ===== Rewards points -> pill badge ===== */
.wlr-product-message{display:inline-flex!important;align-items:center!important;gap:7px!important;background:#f3ecd9!important;color:#876122!important;font-size:13px!important;font-weight:600!important;letter-spacing:.01em!important;padding:7px 14px 7px 12px!important;border-radius:999px!important;border:1px solid #e8dcbf!important;margin:0 0 14px!important;width:auto!important}
.wlr-product-message::before{content:'\2726';font-size:13px;color:#c8a24a}

/* ===== Buy box layout — compact stepper + Add-to-Cart on one row v1 ===== */
.single-product form.cart{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;gap:12px!important}
.single-product form.cart .quantity{flex:0 0 auto!important;width:auto!important;height:54px!important;align-self:center!important}
.single-product form.cart .single_add_to_cart_button{flex:1 1 240px!important;width:auto!important;margin:0!important;height:54px!important;line-height:1!important;border-radius:12px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.single-product form.cart .cb-ship-line,.single-product form.cart .tinv-wraper,.single-product form.cart .tinv-wishlist{flex:0 0 100%!important;width:100%!important;margin-top:2px!important}
@media(max-width:549px){.single-product form.cart{flex-direction:column!important;align-items:stretch!important}.single-product form.cart .quantity{align-self:flex-start!important}.single-product form.cart .single_add_to_cart_button{width:100%!important;flex-basis:auto!important}}

/* ===== Buy-box polish: center trust-badge icon w/ label + tighten gap ===== */
.cb-trust-item{align-items:center!important}
.cb-trust-row{margin-top:14px!important}

/* ===== Variation selector chips (cb-weight-chips/cb-chip) — GLOBAL redesign v1 ===== */
.cb-weight-chips{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:10px!important}
.cb-weight-chips .cb-chip{display:flex!important;align-items:center!important;gap:8px!important;justify-content:flex-start!important;background:#fff!important;border:1.5px solid #e2d8c4!important;border-radius:12px!important;padding:13px 16px!important;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s,transform .12s;font-weight:600!important;color:#1f1b16!important;text-align:left!important;min-height:0!important;box-shadow:none!important}
.cb-weight-chips .cb-chip:hover{border-color:#c8a24a!important;background:#fdfbf6!important;transform:translateY(-1px)!important;box-shadow:0 4px 12px -6px rgba(0,0,0,.18)!important}
.cb-weight-chips .cb-chip.selected{border:1.5px solid #c46a3f!important;background:#fbf1ea!important;box-shadow:inset 0 0 0 1px #c46a3f!important;color:#1f1b16!important}
.cb-weight-chips .cb-chip.selected::before{background:#c46a3f!important;border-color:#c46a3f!important;box-shadow:inset 0 0 0 2px #fff!important}
.cb-weight-chips .cb-chip strong{font-weight:700!important;font-size:15px!important;letter-spacing:0!important}
.cb-weight-chips .cb-chip .cb-chip-price,.cb-weight-chips .cb-chip .price,.cb-weight-chips .cb-chip ins,.cb-weight-chips .cb-chip>span:last-child{margin-left:auto!important;font-weight:700!important;color:#3f2a1a!important}

/* ===== Variation selector layout fix (label top-align + consistent columns) GLOBAL ===== */
.single-product table.variations th.label,.single-product table.variations td.value{vertical-align:top!important}
.single-product table.variations th.label{padding-top:15px!important}
.cb-weight-chips{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))!important}

/* ===== Weight/variation price card balance (tame 26px price, fit cards) GLOBAL ===== */
.cb-weight-chips .cb-chip__price .woocommerce-Price-amount{font-size:15px!important;font-weight:700!important}
.cb-weight-chips .cb-chip__price{font-size:15px!important;margin-left:auto!important;color:#3f2a1a!important;white-space:nowrap!important}
.cb-weight-chips .cb-chip strong{font-size:13px!important;font-weight:700!important;white-space:nowrap!important}
.cb-weight-chips .cb-chip{padding:11px 12px!important;gap:6px!important}
.cb-weight-chips{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))!important}
.cb-weight-chips:has(.cb-chip__price){grid-template-columns:repeat(auto-fit,minmax(178px,1fr))!important}

/* ===== Flower products: BIG strain name (eyebrow) + small type/grade (h1) GLOBAL ===== */
body.cb-flower .cb-hero-eyebrow{font-family:'Fraunces',Georgia,serif!important;font-size:clamp(36px,4.7vw,54px)!important;font-weight:600!important;text-transform:none!important;letter-spacing:-.015em!important;color:#1f1b16!important;line-height:1.0!important;margin:0 0 4px!important}
body.cb-flower h1.product_title.entry-title{font-size:18px!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#9a7a58!important;line-height:1.3!important;margin:2px 0 6px!important}

/* ===== Spec / Quick-Glance section fix: stop card-stretch void + give pills room (no 3+1 wrap) GLOBAL ===== */
.cb-pdp-s2,.cb-pdp-s3{align-self:flex-start!important}
.cb-pdp-qg__group{grid-template-columns:108px 1fr!important;column-gap:14px!important}

/* ===== Unify spec/QG header accent bars to brand terracotta GLOBAL ===== */
.cb-pdp-s2 .cb-pdp-sec-badge,.cb-pdp-s3 .cb-pdp-sec-badge,.cb-pdp-sec-badge{border-left-color:#c46a3f!important}

/* ===== Spec/QG section redesign: remove dated tan box + soften card shadow GLOBAL ===== */
.cb-pdp-bottom,.cb-pdp-bottom--two{background:none!important;background-image:none!important;padding:8px 0!important}
.cb-pdp-s2,.cb-pdp-s3{box-shadow:0 14px 36px -24px rgba(31,27,22,.22)!important;border:1px solid #eadfca!important}

/* ===== Sticky add-to-cart bar redesign ===== */
.cb-sticky{background:#fffdf9!important;border-top:1px solid #ece4d3!important;box-shadow:0 -8px 30px -14px rgba(31,27,22,.18)!important}
.cb-sticky-inner{max-width:1180px!important;margin:0 auto!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:26px!important;padding:11px 24px!important}
.cb-sticky-img{width:50px!important;height:50px!important;border-radius:11px!important;object-fit:cover!important;background:#EDE9E1!important;border:1px solid #ece4d3!important;flex:0 0 auto!important;padding:0!important}
.cb-sticky-img[src*='woocommerce-placeholder']{display:none!important}
.cb-sticky-info{display:flex!important;flex-direction:column!important;line-height:1.18!important;gap:1px!important}
.cb-sticky-name{font-family:'Fraunces',Georgia,serif!important;font-size:16px!important;font-weight:600!important;color:#1f1b16!important}
.cb-sticky-price,.cb-sticky-price .woocommerce-Price-amount{font-family:'Fraunces',Georgia,serif!important;font-size:18px!important;font-weight:600!important;color:#c46a3f!important}
.cb-sticky-btn{margin-left:0!important;background:linear-gradient(160deg,#c46a3f,#a4502b)!important;color:#fff!important;border:0!important;border-radius:12px!important;padding:13px 30px!important;font-weight:700!important;font-size:14px!important;letter-spacing:.03em!important;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 10px 24px -12px rgba(196,106,63,.7)!important}
.cb-sticky-btn:hover{transform:translateY(-1px)!important;box-shadow:0 14px 28px -12px rgba(196,106,63,.85)!important}
@media(max-width:600px){.cb-sticky-inner{padding:9px 16px!important;gap:10px!important}.cb-sticky-btn{padding:12px 20px!important}.cb-sticky-name{font-size:14.5px!important}}
