/*
Theme Name:   Lunar Sanctuary
Template:     astra
Description:  Lunar Sanctuary Church child theme
Version:      1.3.0
*/

/* ── Palette ──────────────────────────────────────────────────────────────────
   Cobalt deep:  #05091e  (Starry Night sky base)
   Cobalt mid:   #0c1a4a  (rich blue like the painting)
   Panel:        #0d1f5c  (deep cobalt card bg)
   Border:       #1e3a8a  (cobalt blue border)
   Gold bright:  #e8c547  (Van Gogh star gold)
   Gold mid:     #c9a227
   Amber:        #d4730a  (church window warm glow)
   Purple:       #6d28d9  (mushroom/flora accent)
   Text light:   #dde8ff  (cool white)
   Text muted:   #7a9acc  (blue-tinted muted)
*/

:root {
  --ls-bg:        #05091e;
  --ls-navy:      #0c1a4a;
  --ls-panel:     #0d1f5c;
  --ls-border:    #1e3a8a;
  --ls-gold:      #e8c547;
  --ls-gold-mid:  #c9a227;
  --ls-amber:     #d4730a;
  --ls-purple:    #6d28d9;
  --ls-text:      #dde8ff;
  --ls-muted:     #7a9acc;
  --ls-font:      'Cinzel', 'Georgia', serif;
  --ls-body-font: 'Inter', sans-serif;
}

/* ── Remap Astra's global color tokens to the dark palette ────────────────────
   Astra drives nearly every element (price, body text, card backgrounds, borders)
   off these CSS variables. Overriding them here dark-modes the whole site at the
   source instead of patching each component. */
:root, body, .ast-separate-container, .woocommerce, .tribe-common {
  --ast-global-color-0: #e8c547 !important; /* theme/link → gold */
  --ast-global-color-1: #c9a227 !important; /* link hover → gold mid */
  --ast-global-color-2: #dde8ff !important; /* headings → light text */
  --ast-global-color-3: #dde8ff !important; /* body/price text → light text */
  --ast-global-color-4: #0d1f5c !important; /* card/box background → panel */
  --ast-global-color-5: #0c1a4a !important; /* alt background → navy */
  --ast-global-color-6: #dde8ff !important; /* dark text → light text */
  --ast-global-color-7: #1e3a8a !important; /* light border → cobalt border */
  --ast-global-color-8: #dde8ff !important; /* text → light text */
}

/* ── Base ─────────────────────────────────────────────────────────────────── */
html, body,
#page, .site, #content, .site-content, #primary, .content-area,
.ast-container, .ast-row, main.site-main, .page-content,
.hentry, .entry-content, .entry-header,
.woocommerce-page .site-content { background: var(--ls-bg) !important; color: var(--ls-text); }
body { font-family: var(--ls-body-font); }
*, *::before, *::after { box-sizing: border-box; }
a { color: var(--ls-gold); text-decoration: none; }
a:hover { color: var(--ls-gold-mid); }

/* ── Typography ──────────────────────────────────────────────────────────── */
body h1, body h2, body h3, body h4 { font-family: var(--ls-font); color: var(--ls-gold); letter-spacing: 2px; }
p { color: #c8caee; line-height: 1.8; }

/* ── Animated star canvas ─────────────────────────────────────────────────── */
#ls-starfield {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
#page, .ast-container { position: relative; z-index: 1; }

/* ── Van Gogh swirl sections ──────────────────────────────────────────────── */
.ls-swirl-bg {
  position: relative;
}
.ls-swirl-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 120% 80% at 15% 20%, rgba(30,58,138,.35) 0%, transparent 55%),
    radial-gradient(ellipse 100% 60% at 85% 15%, rgba(232,197,71,.12) 0%, transparent 55%),
    radial-gradient(ellipse 90% 70% at 50% 90%, rgba(13,31,92,.40) 0%, transparent 55%),
    radial-gradient(ellipse 70% 50% at 70% 50%, rgba(109,40,217,.12) 0%, transparent 60%);
  pointer-events: none;
  z-index: 0;
}
.ls-swirl-bg > * { position: relative; z-index: 1; }

/* ── Hero ─────────────────────────────────────────────────────────────────── */
.ls-hero {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 60px 24px 80px;
}
.ls-hero-logo {
  width: min(480px, 85vw);
  height: auto;
  border-radius: 20px;
  box-shadow: 0 0 80px rgba(232,197,71,.25), 0 0 160px rgba(124,58,237,.15);
  margin-bottom: 40px;
  animation: ls-glow 4s ease-in-out infinite alternate;
}
@keyframes ls-glow {
  from { box-shadow: 0 0 60px rgba(232,197,71,.2), 0 0 120px rgba(124,58,237,.1); }
  to   { box-shadow: 0 0 100px rgba(232,197,71,.4), 0 0 200px rgba(124,58,237,.25); }
}
.ls-hero h1 {
  font-size: clamp(2rem, 5vw, 3.5rem);
  margin: 0 0 16px;
  color: #fff;
  text-shadow:
    0 0 20px rgba(232,197,71,.9),
    0 0 60px rgba(232,197,71,.5),
    0 2px 4px rgba(0,0,0,.9),
    0 4px 24px rgba(0,0,0,.8);
}
.ls-hero-text { will-change: transform; transition: transform .05s linear; }
.ls-hero .ls-tagline { font-size: clamp(1rem, 2.5vw, 1.25rem); color: rgba(255,255,255,.85); max-width: 540px; margin: 0 auto 40px; font-style: italic; text-shadow: 0 1px 8px rgba(0,0,0,.8); }
.ls-hero-cta { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* ── Buttons ──────────────────────────────────────────────────────────────── */
.ls-btn {
  display: inline-block;
  padding: 14px 36px;
  border-radius: 999px;
  font-family: var(--ls-font);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .25s;
  border: none;
}
.ls-btn-primary { background: var(--ls-gold); color: #07091a; }
.ls-btn-primary:hover { background: var(--ls-gold-mid); color: #07091a; transform: translateY(-2px); box-shadow: 0 8px 32px rgba(232,197,71,.3); }
.ls-btn-outline { background: transparent; color: var(--ls-gold); border: 1.5px solid var(--ls-gold); }
.ls-btn-outline:hover { background: rgba(232,197,71,.08); transform: translateY(-2px); }

/* ── Divider ──────────────────────────────────────────────────────────────── */
.ls-divider { display: flex; align-items: center; gap: 16px; margin: 0 auto 64px; max-width: 400px; }
.ls-divider-line { flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--ls-border), transparent); }
.ls-divider-moon { color: var(--ls-gold); font-size: 18px; }

/* ── Section — full width with inner container ────────────────────────────── */
.ls-section { padding: 100px 0; width: 100%; }
.ls-section-inner { max-width: 1100px; margin: 0 auto; padding: 0 32px; }
.ls-section-title { text-align: center; font-size: clamp(1.5rem, 3.5vw, 2.5rem); margin-bottom: 16px; }
.ls-section-sub { text-align: center; color: #c8caee; font-size: 1.05rem; max-width: 600px; margin: 0 auto 56px; }

/* ── Cards ────────────────────────────────────────────────────────────────── */
.ls-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.ls-card {
  background: var(--ls-panel);
  border: 1px solid var(--ls-border);
  border-radius: 16px;
  padding: 32px 28px;
  text-align: center;
  transition: transform .25s, border-color .25s;
}
.ls-card:hover { transform: translateY(-4px); border-color: rgba(232,197,71,.4); }
.ls-card-icon { font-size: 2.5rem; margin-bottom: 20px; display: block; }
.ls-card h3 { font-size: 1.1rem; margin: 0 0 12px; color: var(--ls-gold); }
.ls-card p { font-size: .9rem; margin: 0; color: #c8caee; }
.ls-card .ls-card-icon { color: var(--ls-gold); }

/* ── Sacrament (shop) section ─────────────────────────────────────────────── */
.ls-sacrament-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; }

/* WooCommerce product card overrides */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: var(--ls-panel) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  text-align: center;
  transition: transform .25s, border-color .25s !important;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px) !important; border-color: rgba(232,197,71,.4) !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--ls-gold) !important; font-family: var(--ls-font) !important; }
.woocommerce ul.products li.product .price { color: var(--ls-gold-mid) !important; font-family: var(--ls-font) !important; }
.woocommerce ul.products li.product .button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  background: var(--ls-gold) !important;
  color: #07091a !important;
  border-radius: 999px !important;
  font-family: var(--ls-font) !important;
  letter-spacing: 1px !important;
  border: none !important;
  transition: background .2s !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--ls-gold-mid) !important; }

/* WooCommerce single product */
.woocommerce div.product .product_title { color: var(--ls-gold) !important; font-family: var(--ls-font) !important; }
.woocommerce div.product p.price { color: var(--ls-gold-mid) !important; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--ls-muted) !important; }
.woocommerce-cart table.cart, .woocommerce-checkout form.checkout { color: var(--ls-text) !important; }
.woocommerce table.shop_table { background: var(--ls-panel) !important; border-color: var(--ls-border) !important; }

/* ── Ornamental border ────────────────────────────────────────────────────── */
.ls-ornament {
  border-top: 1px solid var(--ls-border);
  position: relative;
  text-align: center;
  margin: 0;
}
.ls-ornament::before {
  content: '☽ ✦ ☾';
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--ls-bg);
  padding: 0 16px;
  color: var(--ls-gold);
  font-size: 13px;
  letter-spacing: 4px;
}

/* ── Footer ───────────────────────────────────────────────────────────────── */
.ls-footer {
  text-align: center;
  padding: 48px 24px;
  border-top: 1px solid var(--ls-border);
  font-size: 12px;
  color: var(--ls-muted);
  line-height: 2;
}
.ls-footer a { color: var(--ls-muted); }
.ls-footer a:hover { color: var(--ls-gold); }

/* ── Nav / Header (Astra builder classes) ─────────────────────────────────── */
.site-header,
header.site-header,
.main-header-bar,
.ast-primary-header-bar,
.ast-mobile-header-wrap,
.ast-main-header-wrap,
#ast-mobile-header,
.ast-primary-header-bar.main-header-bar {
  background: rgba(5,9,30,.95) !important;
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--ls-border) !important;
}
.ast-primary-header-bar { position: sticky !important; top: 0; z-index: 9999; }
.ast-mobile-header-wrap { position: sticky !important; top: 0; z-index: 9999; }
.site-header .site-branding .site-title a,
.ast-site-name-wrap a { color: var(--ls-gold) !important; font-family: var(--ls-font) !important; letter-spacing: 2px; }
.site-header img.custom-logo,
.ast-site-name-wrap img.custom-logo { max-height: 48px !important; width: auto !important; }
nav a,
.main-header-menu .menu-item > a,
.ast-builder-menu .menu-item > a { color: var(--ls-muted) !important; font-family: var(--ls-font) !important; letter-spacing: 1px; font-size: 12px; text-transform: uppercase; transition: color .2s; }
nav a:hover,
.main-header-menu .menu-item > a:hover { color: var(--ls-gold) !important; }
/* Mobile hamburger icon */
.menu-toggle, .ast-mobile-menu-trigger-minimal svg,
.ast-mobile-menu-trigger-fill { color: var(--ls-gold) !important; fill: var(--ls-gold) !important; }
/* Mobile open menu dropdown */
.ast-mobile-popup-header-section,
.ast-mobile-popup-content,
.ast-flyout-menu-enable .main-navigation,
.ast-mobile-header .main-navigation { background: rgba(5,9,30,.98) !important; }
.ast-mobile-header .menu-item a,
.ast-mobile-popup-content .menu-item a { color: var(--ls-muted) !important; border-color: var(--ls-border) !important; }
.ast-mobile-header .menu-item a:hover { color: var(--ls-gold) !important; }

/* ── Inner page content areas ─────────────────────────────────────────────── */
.site-content, #content, main.site-main, .page-content,
.woocommerce-page .site-content, .hentry,
#primary, .content-area, .ast-container, .ast-row { background: transparent !important; }
.entry-content, .entry-header, .entry-title { color: var(--ls-text) !important; background: transparent !important; }
.page-template-default .entry-content { max-width: 760px; margin: 0 auto; padding: 60px 24px; }
/* Woo inner pages get nice padding */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content { padding: 48px 24px; max-width: 1100px; margin: 0 auto; }
/* Kill any stray white backgrounds Astra injects */
.ast-separate-container .site-content, .ast-page-builder-template { background: transparent !important; }

/* ── WooCommerce — general ────────────────────────────────────────────────── */
.woocommerce, .woocommerce-page { color: var(--ls-text); }
.woocommerce h2, .woocommerce h3, .woocommerce-page h2, .woocommerce-page h3 { color: var(--ls-gold) !important; font-family: var(--ls-font) !important; }

/* Notices */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info {
  background: var(--ls-panel) !important;
  border-top-color: var(--ls-gold) !important;
  color: var(--ls-text) !important;
}
.woocommerce-notices-wrapper .woocommerce-error {
  background: rgba(248,113,113,.1) !important;
  border-top-color: #f87171 !important;
  color: #f87171 !important;
}
.woocommerce-notices-wrapper .woocommerce-message a,
.woocommerce-notices-wrapper .woocommerce-info a { color: var(--ls-gold) !important; }

/* Breadcrumbs */
.woocommerce .woocommerce-breadcrumb { color: var(--ls-muted) !important; font-size: 12px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--ls-muted) !important; }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--ls-gold) !important; }

/* ── WooCommerce — form fields (shop, cart, checkout) ─────────────────────── */
.woocommerce form .form-row label,
.woocommerce-page form .form-row label,
.woocommerce-checkout .form-row label { color: var(--ls-muted) !important; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row input[type=text],
.woocommerce form .form-row input[type=email],
.woocommerce form .form-row input[type=tel],
.woocommerce form .form-row input[type=password],
.woocommerce form .form-row input[type=number],
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select,
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
#billing_first_name, #billing_last_name, #billing_email, #billing_phone,
#billing_address_1, #billing_address_2, #billing_city, #billing_postcode,
#billing_state, #billing_country, #order_comments {
  background: var(--ls-panel) !important;
  border: 1px solid var(--ls-border) !important;
  color: var(--ls-text) !important;
  border-radius: 8px !important;
  padding: 11px 14px !important;
  font-family: var(--ls-body-font) !important;
  font-size: 16px !important;
  transition: border-color .15s !important;
}
.woocommerce form .form-row input:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus { border-color: var(--ls-gold) !important; outline: none !important; }
.woocommerce form .form-row select option,
.woocommerce-checkout select option { background: var(--ls-panel); color: var(--ls-text); }
.woocommerce form .form-row .required { color: var(--ls-gold) !important; }
/* Kill Astra's white background on form wrappers */
.woocommerce-checkout #customer_details,
.woocommerce-billing-fields,
.woocommerce-billing-fields__field-wrapper,
.woocommerce-additional-fields,
.woocommerce form p,
.woocommerce form div { background: transparent !important; }

/* ── WooCommerce — shop / archive ─────────────────────────────────────────── */
.woocommerce .woocommerce-result-count { color: var(--ls-muted) !important; }
.woocommerce .woocommerce-ordering select { background: var(--ls-panel) !important; border-color: var(--ls-border) !important; color: var(--ls-text) !important; border-radius: 8px !important; padding: 8px 12px !important; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { background: var(--ls-panel) !important; border-color: var(--ls-border) !important; color: var(--ls-muted) !important; }
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--ls-gold) !important; border-color: var(--ls-gold) !important; color: #07091a !important; }

/* ── WooCommerce — single product ─────────────────────────────────────────── */
.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom-color: var(--ls-border) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: var(--ls-panel) !important; border-color: var(--ls-border) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--ls-muted) !important; font-family: var(--ls-font) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--ls-navy) !important; border-bottom-color: var(--ls-navy) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ls-gold) !important; }
.woocommerce div.product .woocommerce-tabs .panel { background: var(--ls-navy) !important; border-color: var(--ls-border) !important; padding: 24px !important; border-radius: 0 0 12px 12px !important; color: var(--ls-text) !important; }
.woocommerce div.product .quantity input.qty { background: var(--ls-panel) !important; border-color: var(--ls-border) !important; color: var(--ls-text) !important; border-radius: 8px !important; text-align: center; }
.woocommerce div.product p.stock { color: var(--ls-muted) !important; }
.woocommerce div.product .woocommerce-product-rating .star-rating span { color: var(--ls-gold) !important; }

/* ── WooCommerce — hide coupon ───────────────────────────────────────────── */
.woocommerce-cart .coupon { display: none !important; }

/* ── WooCommerce — cart : standard two-column layout ──────────────────────── */
.woocommerce-cart .woocommerce {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 32px !important;
}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { flex: 1 1 100% !important; }
.woocommerce-cart form.woocommerce-cart-form { flex: 1 1 520px !important; margin: 0 !important; }
.woocommerce-cart .cart-collaterals {
  flex: 1 1 320px !important;
  width: auto !important;
  max-width: 380px !important;
  float: none !important;
  margin: 0 !important;
  position: sticky;
  top: 90px;
}
.woocommerce-cart .cart-collaterals .cart_totals { width: 100% !important; float: none !important; }
.woocommerce-cart .cart-collaterals .cross-sells { display: none !important; }
.woocommerce-cart-form, .cart-collaterals { color: var(--ls-text) !important; background: transparent !important; }
.woocommerce table.cart { background: var(--ls-panel) !important; border-color: var(--ls-border) !important; border-radius: 12px !important; overflow: hidden; }
.woocommerce table.cart thead tr th { background: var(--ls-navy) !important; color: var(--ls-gold) !important; font-family: var(--ls-font) !important; letter-spacing: 1px; font-size: 11px; text-transform: uppercase; border-color: var(--ls-border) !important; }
.woocommerce table.cart td { border-color: var(--ls-border) !important; color: var(--ls-text) !important; vertical-align: middle; }
.woocommerce table.cart td.product-name a { color: var(--ls-text) !important; }
.woocommerce table.cart td.product-name a:hover { color: var(--ls-gold) !important; }
.woocommerce table.cart td.product-price, .woocommerce table.cart td.product-subtotal { color: var(--ls-gold-mid) !important; }
.woocommerce table.cart td.product-remove a { color: var(--ls-muted) !important; font-size: 18px; }
.woocommerce table.cart td.product-remove a:hover { color: #f87171 !important; }
.woocommerce table.cart input.qty { background: var(--ls-bg) !important; border-color: var(--ls-border) !important; color: var(--ls-text) !important; border-radius: 6px !important; text-align: center; width: 60px !important; padding: 6px !important; }
.woocommerce table.cart td.actions .coupon input { background: var(--ls-panel) !important; border-color: var(--ls-border) !important; color: var(--ls-text) !important; border-radius: 8px !important; padding: 10px 14px !important; margin-right: 8px; }
.woocommerce #respond input#submit,
.woocommerce table.cart td.actions .button { background: var(--ls-gold) !important; color: #07091a !important; border-radius: 999px !important; font-family: var(--ls-font) !important; border: none !important; }
.cart-collaterals .cart_totals { background: var(--ls-panel) !important; border: 1px solid var(--ls-border) !important; border-radius: 12px !important; padding: 28px !important; }
.cart-collaterals .cart_totals h2 { color: var(--ls-gold) !important; font-size: 16px !important; margin-bottom: 20px !important; }
.cart-collaterals .cart_totals table { background: transparent !important; }
.cart-collaterals .cart_totals table th,
.cart-collaterals .cart_totals table td { border-color: var(--ls-border) !important; color: var(--ls-text) !important; background: transparent !important; }
.cart-collaterals .cart_totals table .order-total th,
.cart-collaterals .cart_totals table .order-total td { color: var(--ls-gold) !important; font-size: 16px; }
.cart-collaterals .wc-proceed-to-checkout .checkout-button { width: 100%; text-align: center; padding: 14px !important; border-radius: 999px !important; font-size: 14px !important; letter-spacing: 1px !important; }

/* ── WooCommerce — checkout ───────────────────────────────────────────────── */
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading { color: var(--ls-gold) !important; font-family: var(--ls-font) !important; font-size: 14px !important; letter-spacing: 2px !important; text-transform: uppercase !important; padding-bottom: 12px !important; border-bottom: 1px solid var(--ls-border) !important; margin-bottom: 20px !important; background: transparent !important; }
#payment, #payment *, #payment div, #payment p { background: transparent !important; }
/* Payment sits flat inside the order-review card — no nested box, just a divider */
#payment { background: transparent !important; border: none !important; border-radius: 0 !important; border-top: 1px solid var(--ls-border) !important; margin-top: 20px !important; padding-top: 20px !important; }
#payment ul.payment_methods { border-bottom-color: var(--ls-border) !important; background: transparent !important; }
#payment ul.payment_methods li { color: var(--ls-text) !important; background: transparent !important; }
#payment ul.payment_methods li label { color: var(--ls-text) !important; }
#payment .payment_box { background: rgba(30,58,138,.3) !important; color: var(--ls-muted) !important; border: 1px solid var(--ls-border) !important; border-radius: 8px !important; }
#payment .payment_box::before { border-bottom-color: rgba(30,58,138,.3) !important; }
#payment div.place-order { padding-bottom: 0 !important; background: transparent !important; }
#place_order { width: 100% !important; padding: 16px !important; font-size: 15px !important; border-radius: 999px !important; letter-spacing: 2px !important; }
.woocommerce-checkout-review-order-table { background: var(--ls-panel) !important; border: 1px solid var(--ls-border) !important; border-radius: 12px !important; overflow: hidden; }
.woocommerce-checkout-review-order-table thead th { background: var(--ls-navy) !important; color: var(--ls-gold) !important; font-family: var(--ls-font) !important; font-size: 11px !important; letter-spacing: 1px !important; text-transform: uppercase !important; border-color: var(--ls-border) !important; }
.woocommerce-checkout-review-order-table td, .woocommerce-checkout-review-order-table th { border-color: var(--ls-border) !important; color: var(--ls-text) !important; background: transparent !important; }
.woocommerce-checkout-review-order-table .order-total td, .woocommerce-checkout-review-order-table .order-total th { color: var(--ls-gold) !important; }
#order_review, .woocommerce #order_review { background: transparent !important; border: none !important; border-radius: 0 !important; padding: 0 !important; }
#order_review * { background: transparent !important; }
#order_review .woocommerce-checkout-review-order-table { background: transparent !important; border: none !important; }
/* Woo checkout — single column, full width, no nested boxes */
#customer_details, #order_review_heading, #order_review { color: var(--ls-text) !important; }
.woocommerce-checkout form.checkout.woocommerce-checkout { display: block; }
.woocommerce-checkout form.checkout #customer_details,
.woocommerce-checkout form.checkout #order_review_heading,
.woocommerce-checkout form.checkout #order_review {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}
.woocommerce-checkout form.checkout #order_review_heading { margin: 32px 0 16px !important; }
/* The ENTIRE checkout is ONE box — form.checkout is the only card */
.woocommerce-checkout form.checkout.woocommerce-checkout {
  max-width: 820px;
  margin: 0 auto !important;
  background: var(--ls-panel) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 16px !important;
  padding: 36px !important;
}
/* Inner sections are flat — no nested boxes, no borders, no padding */
.woocommerce-checkout #customer_details .woocommerce-billing-fields,
.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
.woocommerce-checkout #customer_details .woocommerce-additional-fields {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
}
.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
.woocommerce-checkout #customer_details .woocommerce-additional-fields { margin-top: 24px !important; }

/* ── Age/identity verification — gold button, then a verified status badge ──── */
#didit-wc-verify.didit-verify-wrap {
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}
#didit-wc-verify.didit-verify-wrap h3,
#didit-wc-verify.didit-verify-wrap > p { display: none !important; }
/* The verify button — identical shape to "Complete Donation" */
#didit-wc-verify .didit-verify-btn {
  display: block !important;
  width: 100% !important;
  background: var(--ls-gold) !important;
  color: #07091a !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 16px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  font-family: var(--ls-font) !important;
  opacity: 1 !important;
}
/* Once verified: NOT a button — a green status badge reading "Identity Verified" */
#didit-wc-verify .didit-verify-btn.didit-verified {
  background: rgba(65,217,127,.12) !important;
  color: #41D97F !important;
  border: 1px solid rgba(65,217,127,.55) !important;
  cursor: default !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  opacity: 1 !important;
  box-shadow: none !important;
}
#didit-wc-verify .didit-verify-btn.didit-in-review {
  background: rgba(245,158,11,.12) !important;
  color: #F59E0B !important;
  border: 1px solid rgba(245,158,11,.55) !important;
}
/* Hide "Complete Donation" until age is verified; reveal it once the badge shows */
.woocommerce-checkout .place-order:has(.didit-verify-btn) #place_order { display: none !important; }
.woocommerce-checkout .place-order:has(.didit-verify-btn.didit-verified) #place_order { display: block !important; }

/* ── WooCommerce — order received / thank you ──────────────────────────────── */
.woocommerce-order { color: var(--ls-text) !important; }
.woocommerce-order ul.order_details { background: var(--ls-panel) !important; border-color: var(--ls-border) !important; border-radius: 12px !important; padding: 24px !important; }
.woocommerce-order ul.order_details li { border-right-color: var(--ls-border) !important; color: var(--ls-muted) !important; }
.woocommerce-order ul.order_details li strong { color: var(--ls-gold) !important; font-size: 20px; display: block; }
.woocommerce-order .woocommerce-notice { background: var(--ls-panel) !important; border-color: var(--ls-border) !important; color: var(--ls-text) !important; }
.woocommerce-order-details, .woocommerce-customer-details { margin-top: 40px; }
.woocommerce-order-details h2, .woocommerce-customer-details h2 { color: var(--ls-gold) !important; font-family: var(--ls-font) !important; }
.woocommerce-table--order-details { background: var(--ls-panel) !important; border-color: var(--ls-border) !important; border-radius: 12px !important; overflow: hidden; }
.woocommerce-table--order-details thead th { background: var(--ls-navy) !important; color: var(--ls-gold) !important; border-color: var(--ls-border) !important; }
.woocommerce-table--order-details td, .woocommerce-table--order-details th { border-color: var(--ls-border) !important; color: var(--ls-text) !important; }
.woocommerce-table--order-details .order-total td { color: var(--ls-gold) !important; }

/* ── Cart & account nav icons ─────────────────────────────────────────────── */
.ls-nav-cart a, .ls-nav-account a { font-size: 20px !important; letter-spacing: 0 !important; padding: 4px 8px !important; display: inline-flex !important; align-items: center !important; }
.ls-nav-icon { display: inline-block; vertical-align: middle; color: var(--ls-text); transition: color .2s ease; }
.ls-nav-cart a:hover .ls-nav-icon, .ls-nav-account a:hover .ls-nav-icon { color: var(--ls-gold); }
.ls-cart-count { display: inline-block; background: var(--ls-gold); color: #07091a; font-size: 10px; font-weight: 700; border-radius: 999px; padding: 1px 5px; vertical-align: super; margin-left: 2px; font-family: var(--ls-body-font); }

/* ── Two-row header: church name on top, nav below ───────────────────────── */
.ast-primary-header-bar,
.main-header-bar { padding: 0 !important; }
.site-primary-header-wrap.ast-builder-grid-row-container,
.ast-builder-grid-row-container { flex-direction: column !important; align-items: center !important; padding: 12px 0 0 !important; }
.ast-builder-grid-row { flex-direction: column !important; align-items: center !important; width: 100% !important; gap: 0 !important; }
/* Row 1 — logo / site name centered */
.ast-builder-layout-element[data-section="title_tagline"],
.site-branding, .ast-site-name-wrap { text-align: center !important; width: 100% !important; padding: 8px 24px !important; }
/* Row 2 — navigation centered */
.ast-builder-layout-element[data-section="primary-menu"],
.main-navigation, nav.main-navigation { width: 100% !important; display: flex !important; justify-content: center !important; border-top: none !important; padding: 4px 0 !important; margin-top: 4px !important; }
/* Kill any horizontal rule / separator Astra injects between header rows */
.ast-builder-grid-row hr, .site-primary-header-wrap hr, .main-header-bar hr { display: none !important; }
.main-header-menu { justify-content: center !important; }
/* Tighten nav link padding in this layout */
.main-header-menu .menu-item > a { padding: 10px 14px !important; font-size: 11px !important; }

/* ── Astra mobile nav ─────────────────────────────────────────────────────── */
.ast-mobile-header-wrap, .ast-mobile-header,
.ast-mobile-header .site-header-section { background: rgba(5,9,30,.97) !important; }
.ast-button-wrap .menu-toggle, .ast-mobile-menu-trigger-fill { color: var(--ls-gold) !important; }
#ast-mobile-header { background: rgba(5,9,30,.97) !important; }
.main-header-menu .menu-item a, .ast-mobile-header .menu-item a { color: var(--ls-muted) !important; }
.main-header-menu .menu-item a:hover, .ast-mobile-header .menu-item a:hover { color: var(--ls-gold) !important; }
.ast-mobile-popup-header-section { background: rgba(5,9,30,.97) !important; }
.ast-flyout-menu-enable .main-navigation { background: rgba(5,9,30,.97) !important; }

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
  .ls-hero { padding: 40px 20px 60px; }
  .ls-section { padding: 56px 20px; }
  .ls-cards { grid-template-columns: 1fr; }
  .woocommerce-checkout #order_review { padding: 20px !important; margin-top: 24px; }
  .cart-collaterals .cart_totals { padding: 20px !important; }
  .woocommerce-cart .woocommerce { padding: 20px 16px; }
  .woocommerce-checkout .woocommerce { padding: 20px 16px; }
  .woocommerce table.cart td { display: block; width: 100%; text-align: left !important; padding: 8px 12px !important; }
  .woocommerce table.cart thead { display: none; }
  .woocommerce table.cart td::before { content: attr(data-title) ': '; font-weight: 700; color: var(--ls-muted); font-size: 11px; text-transform: uppercase; letter-spacing: .5px; display: block; margin-bottom: 4px; }
  .woocommerce table.cart td.product-remove { text-align: right !important; }
  .woocommerce table.cart td.product-remove::before { display: none; }
  /* Inner page padding on mobile */
  .woocommerce-cart .entry-content,
  .woocommerce-checkout .entry-content,
  .woocommerce-shop .entry-content,
  .single-product .entry-content { padding: 24px 16px !important; }
  .woocommerce-cart-form, .cart-collaterals { padding: 0 !important; }
  .page-template-default .entry-content { padding: 40px 16px !important; }
}

/* ── Shop archive — kill white title bar ──────────────────────────────────── */
.woocommerce-products-header { background: transparent !important; }
.woocommerce-products-header .woocommerce-products-header__title { color: var(--ls-gold) !important; font-family: var(--ls-font) !important; }
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count { color: var(--ls-muted) !important; }
.woocommerce .woocommerce-ordering select { background: var(--ls-panel) !important; border: 1px solid var(--ls-border) !important; color: var(--ls-text) !important; border-radius: 8px !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   bbPress — Dark Theme
   ═══════════════════════════════════════════════════════════════════════════ */

/* Wrappers & page backgrounds */
#bbpress-forums,
#bbpress-forums .bbp-forum-content,
.bbpress-page .site-content { background: transparent !important; color: var(--ls-text) !important; }

/* Forum list & topic list backgrounds */
#bbpress-forums ul.bbp-forums,
#bbpress-forums ul.bbp-topics,
#bbpress-forums ul.bbp-replies,
#bbpress-forums div.bbp-forum-content { background: var(--ls-panel) !important; border: 1px solid var(--ls-border) !important; border-radius: 8px !important; overflow: hidden !important; }

/* Header rows */
#bbpress-forums li.bbp-header,
#bbpress-forums li.bbp-footer,
#bbpress-forums div.bbp-forum-header,
#bbpress-forums div.bbp-topic-header,
#bbpress-forums div.bbp-reply-header {
  background: var(--ls-navy) !important;
  border-color: var(--ls-border) !important;
  color: var(--ls-muted) !important;
  font-family: var(--ls-font) !important;
  font-size: 11px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

/* Body rows */
#bbpress-forums .bbp-body ul.bbp-forums > li,
#bbpress-forums .bbp-body ul.bbp-topics > li,
#bbpress-forums .bbp-body ul.bbp-replies > li {
  background: var(--ls-panel) !important;
  border-bottom: 1px solid var(--ls-border) !important;
  color: var(--ls-text) !important;
}
#bbpress-forums .bbp-body ul.bbp-forums > li:last-child,
#bbpress-forums .bbp-body ul.bbp-topics > li:last-child,
#bbpress-forums .bbp-body ul.bbp-replies > li:last-child { border-bottom: none !important; }

/* Links & titles — gold */
#bbpress-forums a,
#bbpress-forums .bbp-forum-title,
#bbpress-forums .bbp-topic-title a,
#bbpress-forums .bbp-topic-permalink,
#bbpress-forums .bbp-reply-title a { color: var(--ls-gold) !important; }
#bbpress-forums a:hover { color: var(--ls-gold-mid) !important; }

/* Meta / muted text */
#bbpress-forums .bbp-forum-freshness,
#bbpress-forums .bbp-topic-freshness,
#bbpress-forums .bbp-forum-reply-count,
#bbpress-forums .bbp-forum-topic-count,
#bbpress-forums .bbp-topic-reply-count,
#bbpress-forums .bbp-topic-voice-count,
#bbpress-forums .bbp-reply-post-date,
#bbpress-forums .bbp-topic-meta { color: var(--ls-muted) !important; font-size: 12px !important; }

/* Forum moderation/delete links — visible and tappable */
#bbpress-forums .bbp-admin-links,
#bbpress-forums .bbp-reply-admin-links,
#bbpress-forums .bbp-topic-admin-links { font-size: 12px !important; }
#bbpress-forums .bbp-admin-links a,
#bbpress-forums .bbp-reply-admin-links a,
#bbpress-forums .bbp-topic-admin-links a { color: var(--ls-gold) !important; text-decoration: underline !important; padding: 2px 4px; }
#bbpress-forums .bbp-admin-links a:hover { color: #fff !important; }

/* General text */
#bbpress-forums p,
#bbpress-forums span,
#bbpress-forums li,
#bbpress-forums .bbp-reply-content,
#bbpress-forums .bbp-topic-content { color: var(--ls-text) !important; background: transparent !important; }

/* Logged-in user info bar */
#bbpress-forums .bbp-logged-in,
div.bbp-template-notice,
p.bbp-template-notice {
  background: var(--ls-navy) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 8px !important;
  color: var(--ls-muted) !important;
  padding: 10px 16px !important;
}
#bbpress-forums .bbp-logged-in a,
div.bbp-template-notice a { color: var(--ls-gold) !important; }

/* Reply / new topic form */
#bbpress-forums #new-post,
#bbpress-forums #bbp-your-profile {
  background: var(--ls-panel) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 12px !important;
  padding: 24px !important;
}
#bbpress-forums .bbp-the-content-wrapper textarea,
#bbpress-forums input[type="text"],
#bbpress-forums input[type="email"],
#bbpress-forums input[type="password"],
#bbpress-forums textarea,
#bbpress-forums select {
  background: var(--ls-panel) !important;
  border: 1px solid var(--ls-border) !important;
  color: var(--ls-text) !important;
  border-radius: 8px !important;
  padding: 11px 14px !important;
  font-family: var(--ls-body-font) !important;
  font-size: 15px !important;
  transition: border-color .15s !important;
  width: 100% !important;
}
#bbpress-forums .bbp-the-content-wrapper textarea:focus,
#bbpress-forums input[type="text"]:focus,
#bbpress-forums textarea:focus { border-color: var(--ls-gold) !important; outline: none !important; }
#bbpress-forums label { color: var(--ls-muted) !important; font-size: 12px !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: .5px !important; }

/* New Topic / Submit buttons — .ls-btn-primary style */
#bbpress-forums input[type="submit"],
#bbpress-forums button[type="submit"],
#bbpress-forums .bbp-submit-wrapper input {
  background: var(--ls-gold) !important;
  color: #07091a !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: var(--ls-font) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 12px 32px !important;
  cursor: pointer !important;
  transition: background .2s, transform .2s !important;
}
#bbpress-forums input[type="submit"]:hover,
#bbpress-forums button[type="submit"]:hover {
  background: var(--ls-gold-mid) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 32px rgba(232,197,71,.3) !important;
}

/* Pagination — match WooCommerce style */
#bbpress-forums .bbp-pagination .bbp-pagination-links a,
#bbpress-forums .bbp-pagination .bbp-pagination-links span {
  background: var(--ls-panel) !important;
  border: 1px solid var(--ls-border) !important;
  color: var(--ls-muted) !important;
  border-radius: 4px !important;
  padding: 6px 11px !important;
  margin: 0 2px !important;
  display: inline-block !important;
  transition: background .15s !important;
}
#bbpress-forums .bbp-pagination .bbp-pagination-links a:hover,
#bbpress-forums .bbp-pagination .bbp-pagination-links span.current {
  background: var(--ls-gold) !important;
  border-color: var(--ls-gold) !important;
  color: #07091a !important;
}

/* Breadcrumb */
#bbpress-forums .bbp-breadcrumb { color: var(--ls-muted) !important; font-size: 12px !important; }
#bbpress-forums .bbp-breadcrumb a { color: var(--ls-muted) !important; }
#bbpress-forums .bbp-breadcrumb a:hover { color: var(--ls-gold) !important; }

/* Avatars */
#bbpress-forums .bbp-reply-author img,
#bbpress-forums .bbp-topic-author img { border: 2px solid var(--ls-border) !important; border-radius: 50% !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   The Events Calendar — Dark Theme
   ═══════════════════════════════════════════════════════════════════════════ */

/* Page / wrapper */
.tribe-events,
.tribe-events-pg-template,
.tribe-events-page .site-content,
.events-archive .site-content { background: transparent !important; color: var(--ls-text) !important; }

/* All text */
.tribe-events p,
.tribe-events span,
.tribe-events div,
.tribe-events li,
.tribe-events td,
.tribe-events th { color: var(--ls-text) !important; }

/* Headings & event titles — gold */
.tribe-events h1,
.tribe-events h2,
.tribe-events h3,
.tribe-events h4,
.tribe-events-calendar-month__calendar-event-title a,
.tribe-events-list .tribe-events-list-event-title a,
.tribe-events-calendar-list__event-title a,
.tribe-events-pro-summary__event-title a { color: var(--ls-gold) !important; font-family: var(--ls-font) !important; }

/* Links */
.tribe-events a { color: var(--ls-gold) !important; }
.tribe-events a:hover { color: var(--ls-gold-mid) !important; }

/* ── Calendar grid — month view ── */
.tribe-events-calendar,
.tribe-events-calendar td,
.tribe-events-calendar th { background: var(--ls-panel) !important; border-color: var(--ls-border) !important; color: var(--ls-text) !important; }
.tribe-events-calendar thead td,
.tribe-events-calendar thead th { background: var(--ls-navy) !important; color: var(--ls-gold) !important; font-family: var(--ls-font) !important; font-size: 11px !important; letter-spacing: 1px !important; text-transform: uppercase !important; }
.tribe-events-calendar td.tribe-events-past { background: rgba(5,9,30,.6) !important; }
/* Today highlight */
.tribe-events-calendar td.tribe-events-present { background: rgba(232,197,71,.2) !important; border: 2px solid var(--ls-gold) !important; }
.tribe-events-calendar td .tribe-events-calendar-event-link { color: var(--ls-gold) !important; }

/* TEC v2 grid cells */
.tribe-events-calendar-month__grid-cell { background: var(--ls-panel) !important; border-color: var(--ls-border) !important; }
.tribe-events-calendar-month__grid-cell--current { background: rgba(232,197,71,.2) !important; border: 2px solid var(--ls-gold) !important; }
.tribe-events-calendar-month__grid-cell-date,
.tribe-events-calendar-month__grid-cell-date-link { color: var(--ls-muted) !important; }
.tribe-events-calendar-month__grid-cell--current .tribe-events-calendar-month__grid-cell-date-link { color: var(--ls-gold) !important; }

/* ── Event cards / list view ── */
.tribe-events-calendar-list__event-wrapper,
.tribe-events-calendar-list__event-row-wrapper,
.tribe-events-list .type-tribe_events {
  background: var(--ls-panel) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin-bottom: 20px !important;
}
.tribe-events-calendar-list__event-details,
.tribe-events-calendar-list__event-datetime-wrapper { background: var(--ls-panel) !important; padding: 20px !important; }

/* Legacy list separator */
.tribe-events-loop .tribe-events-list-separator-month span { background: var(--ls-navy) !important; color: var(--ls-gold) !important; font-family: var(--ls-font) !important; letter-spacing: 2px !important; }
.tribe-events-loop .tribe-events-list-separator-month:before { border-bottom-color: var(--ls-border) !important; }

/* ── Nav buttons (prev/next/today) ── */
.tribe-events-c-nav__prev-link,
.tribe-events-c-nav__next-link,
a.tribe-events-nav-previous,
a.tribe-events-nav-next {
  display: inline-block !important;
  padding: 10px 24px !important;
  border-radius: 999px !important;
  font-family: var(--ls-font) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  background: transparent !important;
  color: var(--ls-gold) !important;
  border: 1.5px solid var(--ls-gold) !important;
  transition: all .25s !important;
}
.tribe-events-c-nav__prev-link:hover,
.tribe-events-c-nav__next-link:hover,
a.tribe-events-nav-previous:hover,
a.tribe-events-nav-next:hover { background: rgba(232,197,71,.08) !important; transform: translateY(-2px) !important; }

/* Today button */
.tribe-events .tribe-events-c-top-bar__today-button,
a.tribe-button-default {
  background: var(--ls-gold) !important;
  color: #07091a !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: var(--ls-font) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 9px 20px !important;
  transition: background .2s !important;
}
.tribe-events .tribe-events-c-top-bar__today-button:hover,
a.tribe-button-default:hover { background: var(--ls-gold-mid) !important; }

/* View selector (month/list/day tabs) */
.tribe-events-header .tribe-events__view-selector-list-item-button {
  background: var(--ls-panel) !important;
  border-color: var(--ls-border) !important;
  color: var(--ls-muted) !important;
  border-radius: 6px !important;
}
.tribe-events-header .tribe-events__view-selector-list-item-button:hover,
.tribe-events-header .tribe-events__view-selector-list-item-button--active {
  background: var(--ls-gold) !important;
  color: #07091a !important;
  border-color: var(--ls-gold) !important;
}

/* Header */
.tribe-events-header,
.tribe-events-header__top-bar,
.tribe-common-l-container { background: transparent !important; }

/* Single event */
.tribe-events-single .tribe-events-schedule,
.tribe-events-single .tribe-venue,
.tribe-events-single .tribe-organizer {
  background: var(--ls-panel) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 12px !important;
  padding: 20px !important;
  margin-bottom: 20px !important;
}
.tribe-events-single h1.tribe-events-single-event-title { color: var(--ls-gold) !important; font-family: var(--ls-font) !important; }
.tribe-events-single .tribe-events-back a { color: var(--ls-muted) !important; font-size: 12px !important; }
.tribe-events-single .tribe-events-back a:hover { color: var(--ls-gold) !important; }

/* ── Single product — layout ──────────────────────────────────────────────── */
/* The whole product is ONE card: gallery + summary live inside it, no gaps */
.single-product div.product {
  background: var(--ls-panel) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 16px !important;
  padding: 32px !important;
  margin: 40px 0 !important;
}
/* Gallery: plain rounded image, no nested card border/background */
.single-product .woocommerce-product-gallery {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}
.single-product .woocommerce-product-gallery__wrapper { border-radius: 12px; overflow: hidden; margin: 0 !important; }
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image a,
.single-product .woocommerce-product-gallery__image img { display: block; margin: 0 !important; border-radius: 12px; width: 100% !important; }
.single-product summary.cart { background: transparent !important; }

/* Price — gold, prominent (range + selected variation) */
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce div.product .woocommerce-variation-price .price,
.single-product .summary .price,
.single-product .summary .price .woocommerce-Price-amount { color: var(--ls-gold) !important; }
.single-product .summary .price { font-size: 26px !important; font-weight: 600 !important; }
.single-product .summary .price del,
.single-product .summary .price del .woocommerce-Price-amount { color: var(--ls-muted) !important; opacity: .7; font-size: 18px !important; }
.single-product .summary .price ins { text-decoration: none !important; }

/* Variation dropdown row + reset link */
.woocommerce div.product form.variations_form .variations,
.woocommerce div.product .variations td,
.woocommerce div.product .variations th { background: transparent !important; border: none !important; color: var(--ls-text) !important; }
.woocommerce div.product .variations th.label { color: var(--ls-gold) !important; font-family: var(--ls-font) !important; letter-spacing: 1px; text-transform: uppercase; font-size: 12px; }
.woocommerce a.reset_variations { color: var(--ls-muted) !important; }

/* Product tabs — clean spacing */
.woocommerce div.product .woocommerce-tabs { margin-top: 40px !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0 !important; margin: 0 !important; display: flex !important; gap: 4px !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border-radius: 10px 10px 0 0 !important; border-bottom: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block !important; padding: 12px 22px !important; font-size: 12px !important; letter-spacing: 1px !important; text-transform: uppercase !important; }
.woocommerce div.product .woocommerce-tabs .panel { margin: 0 !important; }
.woocommerce div.product .woocommerce-tabs .panel h2 { color: var(--ls-gold) !important; font-family: var(--ls-font) !important; }

/* Reviews — dark textarea / inputs */
.woocommerce #reviews #comments ol.commentlist li .comment-text { background: var(--ls-panel) !important; border: 1px solid var(--ls-border) !important; border-radius: 12px !important; padding: 20px !important; color: var(--ls-text) !important; }
.woocommerce #review_form #respond textarea,
.woocommerce #review_form #respond input[type="text"],
.woocommerce #review_form #respond input[type="email"] {
  background: var(--ls-navy) !important;
  border: 1px solid var(--ls-border) !important;
  color: var(--ls-text) !important;
  border-radius: 8px !important;
  padding: 12px !important;
}
.woocommerce #review_form #respond textarea::placeholder { color: var(--ls-muted) !important; }
.woocommerce #reviews #respond .comment-reply-title { color: var(--ls-gold) !important; }
.woocommerce #reviews label { color: var(--ls-text) !important; }

/* ── All borders — normalize to theme border color ────────────────────────── */
.woocommerce table, .woocommerce-page table,
.woocommerce td, .woocommerce th,
.woocommerce-page td, .woocommerce-page th { border-color: var(--ls-border) !important; }
hr { border-color: var(--ls-border) !important; }

/* ── Continue Shopping / breadcrumb links ─────────────────────────────────── */
.woocommerce-info a,
.return-to-shop a { color: var(--ls-gold) !important; }
/* "View basket" / "Return to shop" buttons inside notices — outline, never gold-on-gold */
.woocommerce-message a.button,
.woocommerce-message .button,
.woocommerce-info a.button,
.return-to-shop .button {
  background: transparent !important;
  border: 1.5px solid var(--ls-gold) !important;
  color: var(--ls-gold) !important;
  border-radius: 999px !important;
  padding: 8px 22px !important;
  font-family: var(--ls-font) !important;
  letter-spacing: 1px;
  font-size: 12px;
}
.woocommerce-message a.button:hover,
.woocommerce-message .button:hover,
.return-to-shop .button:hover { background: rgba(232,197,71,.12) !important; color: var(--ls-gold) !important; }

/* ── Select dropdowns — cross-browser dark ────────────────────────────────── */
select, .woocommerce select, .woocommerce-page select {
  background-color: var(--ls-panel) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%237a9acc' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  border: 1px solid var(--ls-border) !important;
  color: var(--ls-text) !important;
  border-radius: 8px !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  padding-right: 36px !important;
}
select option { background: #0c1a4a !important; color: var(--ls-text) !important; }

/* ── Generic page content (static pages — membership, privacy, etc.) ──────── */
.page-id-* .entry-content h1,
.page-id-* .entry-content h2,
.page-id-* .entry-content h3 { color: var(--ls-gold) !important; font-family: var(--ls-font) !important; margin-top: 2em; }
.entry-content h1, .entry-content h2, .entry-content h3,
.entry-content h4 { color: var(--ls-gold) !important; font-family: var(--ls-font) !important; }
.entry-content p { color: var(--ls-text); line-height: 1.8; }
.entry-content ul, .entry-content ol { color: var(--ls-text); line-height: 2; padding-left: 1.5em; }
.entry-content a { color: var(--ls-gold); }
.entry-content a:hover { color: var(--ls-gold-mid); }
.entry-content .ls-btn-primary,
.entry-content .ls-btn-primary:hover { color: #07091a !important; }
.entry-content .ls-btn-outline,
.entry-content .ls-btn-outline:hover { color: var(--ls-gold) !important; }
.entry-content strong { color: var(--ls-text); }
.entry-content blockquote { border-left: 3px solid var(--ls-gold); padding-left: 20px; color: var(--ls-muted); font-style: italic; margin: 24px 0; }
.page-template-default .entry-content { max-width: 780px; margin: 0 auto; padding: 60px 32px; }

/* ── Woo notices — kill grey box ──────────────────────────────────────────── */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  background: var(--ls-panel) !important;
  border-top-color: var(--ls-gold) !important;
  color: var(--ls-text) !important;
  border-radius: 0 0 8px 8px !important;
}
.woocommerce-error { border-top-color: #f87171 !important; }

/* ── My Account (logged-in) ───────────────────────────────────────────────── */
/* Astra caps direct entry-content children at 750px — let the account UI use the full container */
.woocommerce-account .entry-content[data-ast-blocks-layout] > .woocommerce,
.woocommerce-account .entry-content > .woocommerce {
  max-width: 1100px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Page layout */
.woocommerce-account .woocommerce { display: flex; gap: 32px; align-items: flex-start; padding: 48px 0; }
.woocommerce-account .woocommerce-MyAccount-navigation { flex: 0 0 220px; }
.woocommerce-account .woocommerce-MyAccount-content { flex: 1; min-width: 0; }

/* Sidebar nav */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: var(--ls-panel) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 14px !important;
  padding: 12px !important;
  position: sticky; top: 80px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border: none !important; background: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  color: var(--ls-muted) !important;
  padding: 10px 14px !important;
  display: block !important;
  border-radius: 8px !important;
  font-family: var(--ls-body-font) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .3px !important;
  transition: background .15s, color .15s !important;
  text-decoration: none !important;
  border: none !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background: rgba(232,197,71,.12) !important;
  color: var(--ls-gold) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
  color: #f87171 !important;
  margin-top: 8px !important;
  border-top: 1px solid var(--ls-border) !important;
  border-radius: 0 0 8px 8px !important;
  padding-top: 14px !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  background: rgba(248,113,113,.1) !important;
  color: #f87171 !important;
}

/* Content area */
.woocommerce-account .woocommerce-MyAccount-content {
  background: transparent !important;
  color: var(--ls-text) !important;
}
.woocommerce-account .woocommerce-MyAccount-content p { color: var(--ls-text) !important; }
.woocommerce-account .woocommerce-MyAccount-content a { color: var(--ls-gold) !important; }
.woocommerce-account .woocommerce-MyAccount-content strong { color: var(--ls-text) !important; }

/* Dashboard welcome message */
.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
  background: var(--ls-panel) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 12px !important;
  padding: 20px 24px !important;
  margin-bottom: 28px !important;
  line-height: 1.7 !important;
}

/* Orders table */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .woocommerce-MyAccount-orders {
  background: var(--ls-panel) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  width: 100% !important;
}
.woocommerce-account .woocommerce-orders-table thead tr,
.woocommerce-account .woocommerce-MyAccount-orders thead tr { background: var(--ls-navy) !important; }
.woocommerce-account .woocommerce-orders-table thead th,
.woocommerce-account .woocommerce-MyAccount-orders thead th {
  color: var(--ls-gold) !important;
  font-family: var(--ls-font) !important;
  font-size: 11px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  border-color: var(--ls-border) !important;
  background: transparent !important;
  padding: 14px 16px !important;
}
.woocommerce-account .woocommerce-orders-table tbody td,
.woocommerce-account .woocommerce-MyAccount-orders tbody td {
  background: transparent !important;
  border-color: var(--ls-border) !important;
  color: var(--ls-text) !important;
  padding: 14px 16px !important;
  vertical-align: middle !important;
}
.woocommerce-account .woocommerce-orders-table tbody tr:hover td { background: rgba(30,58,138,.2) !important; }
.woocommerce-account .woocommerce-orders-table .woocommerce-button { font-size: 12px !important; padding: 6px 16px !important; }
/* Order status badges */
.woocommerce-account .order-status { border-radius: 999px !important; padding: 3px 10px !important; font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .5px !important; }
.woocommerce-account mark.order-status { background: var(--ls-navy) !important; color: var(--ls-gold) !important; }

/* Account address boxes */
.woocommerce-account .woocommerce-Address {
  background: var(--ls-panel) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 12px !important;
  padding: 24px !important;
}
.woocommerce-account .woocommerce-Address-title h3 { color: var(--ls-gold) !important; font-family: var(--ls-font) !important; font-size: 13px !important; letter-spacing: 1.5px !important; text-transform: uppercase !important; margin-bottom: 16px !important; }
.woocommerce-account .woocommerce-Address address { color: var(--ls-muted) !important; font-style: normal !important; line-height: 1.8 !important; }

/* Section headings */
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
  color: var(--ls-gold) !important;
  font-family: var(--ls-font) !important;
  font-size: 14px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid var(--ls-border) !important;
  padding-bottom: 12px !important;
  margin-bottom: 20px !important;
}

/* Mobile: stack sidebar above content */
@media (max-width: 768px) {
  .woocommerce-account .woocommerce { flex-direction: column; padding: 24px 16px; gap: 20px; }
  .woocommerce-account .woocommerce-MyAccount-navigation { flex: none; width: 100%; position: static; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 6px; }
  .woocommerce-account .woocommerce-MyAccount-navigation li a { padding: 8px 12px !important; font-size: 12px !important; }
  .woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 0 !important; }
  .woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a { border-top: none !important; padding-top: 8px !important; }
}

/* ── The Events Calendar — dark mode ──────────────────────────────────────── */
.tribe-common,
.tribe-events,
.tribe-common .tribe-common-l-container,
.single-tribe_events,
#tribe-events,
#tribe-events-pg-template { background: transparent !important; color: var(--ls-text) !important; }

/* Let the events UI use the full container (Astra caps children at 750px) */
.tribe-events-pg-template,
.single-tribe_events .entry-content[data-ast-blocks-layout] > *,
.post-type-archive-tribe_events .entry-content[data-ast-blocks-layout] > *,
.tribe-events .entry-content[data-ast-blocks-layout] > * { max-width: 1200px !important; }

/* Text colors */
.tribe-common .tribe-common-h1, .tribe-common .tribe-common-h2, .tribe-common .tribe-common-h3,
.tribe-common .tribe-common-h4, .tribe-common .tribe-common-h5, .tribe-common .tribe-common-h6,
.tribe-common .tribe-common-h7, .tribe-common .tribe-common-h8,
.tribe-events h1, .tribe-events h2, .tribe-events h3 { color: var(--ls-text) !important; }
.tribe-common .tribe-common-b1, .tribe-common .tribe-common-b2, .tribe-common .tribe-common-b3,
.tribe-events .tribe-events-calendar-list__event-datetime,
.tribe-common a, .tribe-events a { color: var(--ls-text) !important; }
.tribe-events a:hover, .tribe-common a:hover,
.tribe-events .tribe-events-calendar-list__event-title-link:hover { color: var(--ls-gold) !important; }

/* Event cards / rows */
.tribe-events-calendar-list__event-row,
.tribe-events-calendar-list__event,
.tribe-events-calendar-month__day,
.tribe-events-calendar-month__day-cell,
.tribe-events-calendar-day__event,
.tribe-events-calendar-list__month-separator,
.tribe-events-pro-summary__event,
.tribe-events-widget {
  background: var(--ls-panel) !important;
  border-color: var(--ls-border) !important;
  color: var(--ls-text) !important;
}
.tribe-events-calendar-list__event { border: 1px solid var(--ls-border) !important; border-radius: 12px !important; }
.tribe-events-calendar-list__event-date-tag { background: transparent !important; color: var(--ls-gold) !important; }
.tribe-events-calendar-list__event-date-tag-datetime { color: var(--ls-gold) !important; }
.tribe-events-calendar-list__month-separator-text { color: var(--ls-gold) !important; }

/* Top bar / events bar / nav / search / datepicker / view-selector — all white by default */
.tribe-events-header,
.tribe-events-c-events-bar,
.tribe-events-c-events-bar__search-container,
.tribe-events-c-top-bar,
.tribe-events-c-search,
.tribe-events-c-search__input-group,
.tribe-events-c-view-selector,
.tribe-events-c-view-selector__list,
.tribe-events-c-view-selector__content,
.tribe-events-c-subscribe-dropdown__content,
.tribe-events-c-subscribe-dropdown__list,
.datepicker.dropdown-menu,
.tribe-events-c-top-bar__datepicker-container {
  background: var(--ls-panel) !important;
  border-color: var(--ls-border) !important;
  color: var(--ls-text) !important;
}

/* Inputs */
.tribe-common .tribe-common-form-control-text__input,
.tribe-events-c-search__input,
.tribe-events-c-top-bar__datepicker-input,
.tribe-common input[type="text"],
.tribe-common input[type="search"] {
  background: var(--ls-navy) !important;
  border: 1px solid var(--ls-border) !important;
  color: var(--ls-text) !important;
}
.tribe-common .tribe-common-form-control-text__input::placeholder { color: var(--ls-muted) !important; }

/* Buttons (bordered white buttons → dark/gold) */
.tribe-common .tribe-common-c-btn-border,
.tribe-events-c-view-selector__button,
.tribe-events-c-subscribe-dropdown__button,
.tribe-events-c-events-bar__search-button {
  background: transparent !important;
  border: 1px solid var(--ls-border) !important;
  color: var(--ls-text) !important;
}
.tribe-common .tribe-common-c-btn-border:hover,
.tribe-events-c-view-selector__button:hover,
.tribe-events-c-subscribe-dropdown__button:hover {
  border-color: var(--ls-gold) !important;
  color: var(--ls-gold) !important;
}
.tribe-common .tribe-common-c-btn {
  background: var(--ls-gold) !important;
  color: #07091a !important;
}
.tribe-events-c-view-selector__list-item-link.tribe-events-c-view-selector__list-item-link--active,
.tribe-events-c-top-bar__today-button:hover { color: var(--ls-gold) !important; }

/* Nav prev/next */
.tribe-events-c-nav,
.tribe-events-calendar-list-nav,
.tribe-events-c-nav__list { background: transparent !important; border-color: var(--ls-border) !important; }
.tribe-events-c-nav__prev, .tribe-events-c-nav__next,
.tribe-events-c-nav__today { color: var(--ls-text) !important; }
.tribe-events-c-nav__prev:hover, .tribe-events-c-nav__next:hover { color: var(--ls-gold) !important; }

/* SVG icons inherit color */
.tribe-common-c-svgicon { color: var(--ls-text) !important; fill: currentColor !important; }
.tribe-common-c-svgicon__svg-fill { fill: var(--ls-text) !important; }
.tribe-common-c-svgicon__svg-stroke { stroke: var(--ls-text) !important; }

/* Month calendar grid */
.tribe-events-calendar-month__header-column-title { color: var(--ls-gold) !important; }
.tribe-events-calendar-month__day-date { color: var(--ls-text) !important; }
.tribe-events-calendar-month__day--current { background: rgba(232,197,71,.08) !important; }
.tribe-events-calendar-month__day-cell--selected,
.tribe-events-calendar-month__day-cell--featured { background: var(--ls-navy) !important; }

/* Single event page */
.single-tribe_events .tribe-events-single,
.tribe-events-meta-group,
.tribe-events-event-meta,
.tribe-events-schedule { background: var(--ls-panel) !important; border-color: var(--ls-border) !important; color: var(--ls-text) !important; }
.tribe-events-back a, .tribe-events-back a:hover { color: var(--ls-gold) !important; }

/* Notice / "no events" message */
.tribe-events-c-messages__message,
.tribe-events-header__messages,
.tribe-common .tribe-events-c-messages__message-list-item {
  background: var(--ls-panel) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 12px !important;
  color: var(--ls-text) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ROUND 2 FIXES — nav labels, page titles, product page, checkout, forum, mobile
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Nav cart/account: icon on desktop, word on mobile menu ────────────────── */
.ls-nav-label { display: none; }                 /* hidden in the desktop bar */
.ls-nav-cart a, .ls-nav-account a { display: inline-flex !important; align-items: center !important; }
/* In the mobile hamburger menu (#ast-hf-mobile-menu): word, not lone icon */
#ast-hf-mobile-menu .ls-nav-icon { display: none !important; }
#ast-hf-mobile-menu .ls-nav-label {
  display: inline !important;
  color: var(--ls-text) !important;
  font-family: var(--ls-font) !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
}

/* ── Header: kill stray top line / shadow, improve readability ─────────────── */
.main-header-bar-wrap, .ast-mobile-header-wrap, .site-header,
.ast-primary-header-bar { box-shadow: none !important; border-top: none !important; }
.ast-primary-header-bar.main-header-bar { border-top: 0 !important; }
.main-header-menu, .ast-nav-menu { border: none !important; }
/* Slightly brighter, more legible nav links */
.main-header-menu .menu-item > a,
.ast-builder-menu .menu-item > a { color: #b9c9ee !important; font-size: 12px !important; }
.main-header-menu .menu-item > a:hover { color: var(--ls-gold) !important; }

/* ── Page titles (Membership, Privacy, etc.) — centered, breathing room ───── */
.entry-header:not(.ast-no-thumbnail),
.ast-single-post .entry-header,
.page .entry-header {
  text-align: center !important;
  padding: 48px 20px 0 !important;
  margin-bottom: 8px !important;
  background: transparent !important;
}
.entry-header .entry-title,
.page .entry-title {
  color: var(--ls-gold) !important;
  font-family: var(--ls-font) !important;
  font-size: 34px !important;
  letter-spacing: 1px !important;
  margin: 0 auto !important;
  float: none !important;
}

/* ── Product: align Add to Basket + quantity, center on mobile ────────────── */
.woocommerce div.product form.cart { display: flex !important; align-items: stretch !important; gap: 12px !important; flex-wrap: wrap !important; }
.woocommerce div.product form.cart .quantity { margin: 0 !important; }
.woocommerce div.product form.cart .quantity input.qty {
  height: 100% !important;
  min-height: 52px !important;
  width: 72px !important;
  border-radius: 10px !important;
  background: var(--ls-navy) !important;
  border: 1px solid var(--ls-border) !important;
  color: var(--ls-text) !important;
  text-align: center !important;
  font-size: 16px !important;
}
.woocommerce div.product form.cart button.single_add_to_cart_button {
  min-height: 52px !important;
  border-radius: 10px !important;
  background: var(--ls-gold) !important;
  color: #07091a !important;
  font-family: var(--ls-font) !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 0 28px !important;
  border: none !important;
  flex: 1 1 auto !important;
}

/* Product tabs — center the tab row */
.woocommerce div.product .woocommerce-tabs ul.tabs { justify-content: center !important; }

/* ── Forum (bbPress) — clean dark layout ──────────────────────────────────── */
.bbp-search-form { display: flex !important; gap: 8px !important; align-items: center !important; margin: 0 0 24px !important; padding: 0 !important; justify-content: flex-end !important; }
.bbp-search-form label { flex: 1 1 auto; margin: 0 !important; }
#bbp_search { width: 100% !important; background: var(--ls-navy) !important; border: 1px solid var(--ls-border) !important; color: var(--ls-text) !important; border-radius: 8px !important; padding: 10px 14px !important; box-sizing: border-box !important; }
.bbp-search-form #bbp_search_submit { background: var(--ls-gold) !important; color: #07091a !important; border: none !important; border-radius: 8px !important; padding: 10px 18px !important; font-family: var(--ls-font) !important; letter-spacing: 1px; cursor: pointer; }
.bbp-forums { background: var(--ls-panel) !important; border: 1px solid var(--ls-border) !important; border-radius: 12px !important; overflow: hidden; }
.bbp-forums-list, .bbp-body, .bbp-header, .bbp-footer { background: transparent !important; border-color: var(--ls-border) !important; }
.bbp-header { background: var(--ls-navy) !important; color: var(--ls-gold) !important; font-family: var(--ls-font) !important; letter-spacing: 1px; text-transform: uppercase; font-size: 11px; }
.bbp-header li, .bbp-forum-info a, .bbp-topic-permalink { color: var(--ls-text) !important; }
.bbp-forum-title { color: var(--ls-text) !important; font-weight: 600 !important; }
.bbp-forum-title:hover { color: var(--ls-gold) !important; }
li.bbp-forum-info, li.bbp-forum-topic-count, li.bbp-forum-reply-count, li.bbp-forum-freshness { border-color: var(--ls-border) !important; color: var(--ls-muted) !important; }
.bbp-forums li.bbp-body ul.forum { border-top: 1px solid var(--ls-border) !important; padding: 16px !important; }
.bbp-forum-content { color: var(--ls-muted) !important; }

/* ═══ MOBILE: drop the cards, use the full screen ═══════════════════════════ */
@media (max-width: 768px) {
  /* Tighter page padding */
  .woocommerce-cart .entry-content,
  .woocommerce-checkout .entry-content { padding: 24px 14px !important; }

  /* Cart: single column, no nested boxes wasting space */
  .woocommerce-cart .woocommerce { gap: 20px !important; }
  .woocommerce-cart form.woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals { flex: 1 1 100% !important; max-width: 100% !important; position: static !important; }

  /* Strip card chrome on checkout + cart totals + account — plain page */
  .woocommerce-checkout #customer_details .woocommerce-billing-fields,
  .woocommerce-checkout #customer_details .woocommerce-shipping-fields,
  .woocommerce-checkout #customer_details .woocommerce-additional-fields,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout #payment,
  .woocommerce-cart .cart-collaterals .cart_totals,
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
  }
  /* Checkout stays one box, just tighter padding on mobile */
  .woocommerce-checkout form.checkout.woocommerce-checkout { padding: 18px 16px !important; }

  /* But keep the data tables readable */
  .woocommerce table.cart,
  .bbp-forums { border: 1px solid var(--ls-border) !important; border-radius: 10px !important; }

  /* Account: sidebar nav becomes a simple full-width list */
  .woocommerce-account .woocommerce { padding: 16px 0 !important; }

  /* Product add-to-cart centered & full width */
  .woocommerce div.product form.cart { justify-content: center !important; }
  .woocommerce div.product form.cart button.single_add_to_cart_button { flex: 1 1 100% !important; }

  /* Strip the product card chrome on mobile — plain page, no wasted gutters */
  .single-product div.product {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 16px 0 !important;
  }
}

/* ── "Update Offering Basket" + secondary buttons — readable ───────────────── */
.woocommerce table.cart td.actions .button,
.woocommerce button.button,
.woocommerce input.button {
  font-weight: 700 !important;
  color: #07091a !important;
}

/* ── Place Order ("Complete Donation") — visible disabled state, no weird box ─ */
#place_order, .woocommerce #place_order {
  background: var(--ls-gold) !important;
  color: #07091a !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}
#place_order:disabled, #place_order[disabled], .woocommerce #place_order:disabled {
  background: var(--ls-gold-mid) !important;
  color: #07091a !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
}
/* Remove the stray boxed background behind the place-order area */
#payment div.place-order, #payment .place-order { background: transparent !important; border: none !important; box-shadow: none !important; }
.woocommerce-checkout #order_review_heading { background: transparent !important; border-radius: 0 !important; }
