/*
Theme Name: Weemergency Child
Theme URI: https://weemergency.com
Description: Child theme for Weemergency WooCommerce store
Author: Weemergency
Template: blocksy
Version: 1.0.0
*/

/* ─── Reset & Base ─────────────────────────────────────────────────────────── */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  font-family: 'Inter', sans-serif;
  color: #1a1a1a;
  background: #FFF8F2 !important;
  background-color: #FFF8F2 !important;
}

img {
  max-width: 100%;
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
}

/* ─── Variables ─────────────────────────────────────────────────────────────── */
:root {
  --color-primary:   #F58634;
  --color-dark:      #1a1a1a;
  --color-light-gray:#f7f7f7;
  --color-white:     #ffffff;
  --color-border:    #eeeeee;
  --max-width:       1200px;
}

/* ─── Page wrapper ───────────────────────────────────────────────────────────── */
.wee-page {
  width: 100%;
  overflow-x: clip;
}

/* Remove WordPress/Blocksy injected containers */
.wp-site-blocks,
.entry-content,
.page-content {
  padding: 0 !important;
  margin: 0 !important;
}

.ct-sidebar-area,
.ct-sidebar,
#secondary,
.widget-area {
  display: none !important;
  width: 0 !important;
}

.ct-container {
  display: contents;
}

/* ─── Container ─────────────────────────────────────────────────────────────── */
.wee-container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 40px;
}

/* ─── Cart icon in header ────────────────────────────────────────────────────── */
.wee-cart-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #444444;
  transition: color 0.2s;
  line-height: 1;
}

.wee-cart-icon:hover {
  color: #F58634;
}

.wee-cart-count {
  position: absolute;
  top: -7px;
  right: -9px;
  background: #F58634;
  color: #ffffff;
  font-size: 10px;
  font-weight: 700;
  min-width: 17px;
  height: 17px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 3px;
  line-height: 1;
  pointer-events: none;
}

/* ─── Header ─────────────────────────────────────────────────────────────────── */
#wee-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #EDEDEA;
  border-bottom: 1px solid #FFE0C2;
  height: 100px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

@media (min-width: 1024px) {
  /* Lock header position — defeat all Blocksy scroll states */
  #wee-header,
  #wee-header.ct-sticky-active,
  #wee-header.is-sticky,
  #wee-header[data-sticky],
  .ct-scrolled #wee-header,
  .has-sticky-header #wee-header,
  body.admin-bar #wee-header {
    position: sticky !important;
    top: 0 !important;
    height: 100px !important;
    min-height: 100px !important;
    max-height: 100px !important;
    padding: 0 !important;
    margin-top: 0 !important;
    background: #EDEDEA !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
  }
  #wee-header .wee-header-inner,
  #wee-header.ct-sticky-active .wee-header-inner,
  .ct-scrolled #wee-header .wee-header-inner,
  .has-sticky-header #wee-header .wee-header-inner {
    height: 100px !important;
    min-height: 100px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    transform: none !important;
    transition: none !important;
  }
  /* Prevent Blocksy from adding body padding for its own sticky header */
  body.has-sticky-header,
  html.has-sticky-header {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
}

.wee-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100px;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 40px 0 24px;
}

.wee-logo {
  margin-left: -16px;
}

.wee-logo img {
  max-height: 100px;
  width: auto;
}

.wee-nav {
  display: flex;
  align-items: center;
  gap: 40px;
}

.wee-nav a {
  color: #444444;
  font-size: 17px;
  font-weight: 600;
  transition: color 0.2s;
}

.wee-nav a:hover {
  color: var(--color-primary);
}

.wee-btn-buynow {
  display: inline-block;
  background: var(--color-primary);
  color: var(--color-white) !important;
  font-size: 16px;
  font-weight: 600;
  padding: 12px 28px;
  border-radius: 100px;
  transition: opacity 0.2s, transform 0.15s;
  white-space: nowrap;
}

.wee-btn-buynow:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

/* Hamburger */
.wee-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}

.wee-hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--color-dark);
  border-radius: 2px;
  transition: all 0.25s;
}

/* Mobile nav */
.wee-mobile-nav {
  display: none;
  flex-direction: column;
  background: var(--color-white);
  border-top: 1px solid var(--color-border);
  padding: 16px 20px 20px;
  gap: 16px;
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  box-shadow: 0 8px 20px rgba(0,0,0,0.07);
}

.wee-mobile-nav a {
  color: #444444;
  font-size: 16px;
  font-weight: 500;
}

.wee-mobile-nav .wee-btn-buynow {
  align-self: flex-start;
  font-size: 15px;
}

.wee-mobile-nav.is-open {
  display: flex;
}

/* ─── Hero Section ──────────────────────────────── */
#wee-hero {
  width: 100%;
  overflow: hidden;
  background: #FFF8F2;
}

.wee-hero-inner {
  display: grid;
  grid-template-columns: minmax(480px, 45%) 1fr;
  width: 100%;
  min-height: 78vh;
  align-items: center;
  background: #FFF8F2;
}

.wee-hero-text {
  padding: clamp(32px, 5vw, 72px) clamp(32px, 5vw, 64px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(16px, 2.5vh, 32px);
}

.wee-hero-eyebrow {
  font-size: clamp(13px, 1.6vw, 20px);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #1a1a1a;
  margin: 0;
}

.wee-hero-title {
  font-size: clamp(32px, 4vw, 72px);
  font-weight: 800;
  color: #F58634;
  margin: 0;
  white-space: nowrap;
  line-height: 1.0;
  letter-spacing: -0.02em;
  white-space: nowrap;
}

.wee-hero-tagline {
  font-size: clamp(20px, 2.8vw, 34px);
  color: #333333;
  margin: 0;
  line-height: 1.4;
}

.wee-social-proof {
  font-size: clamp(14px, 1.4vw, 18px);
  color: #888888;
  margin: 0;
}

.wee-hero-rule {
  border: none;
  border-top: 3px solid #F58634;
  width: 80px;
  margin: 0;
}

.wee-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}

.wee-badge {
  background: #FFF3E8;
  border: 1.5px solid #F58634;
  color: #C4621A;
  font-size: clamp(13px, 1.2vw, 16px);
  font-weight: 500;
  padding: 6px 14px;
  border-radius: 100px;
  white-space: nowrap;
}

.wee-hero-cta {
  display: inline-block;
  background: #F58634;
  color: #ffffff;
  font-size: clamp(15px, 1.4vw, 19px);
  font-weight: 700;
  padding: clamp(12px, 1.5vh, 18px) clamp(24px, 2.5vw, 38px);
  border-radius: 100px;
  align-self: flex-start;
  transition: opacity 0.2s, transform 0.15s;
  margin: 0;
}

.wee-hero-cta:hover {
  opacity: 0.9;
  transform: translateY(-2px);
}

.wee-hero-secondary {
  color: #666666;
  font-size: clamp(13px, 1.1vw, 15px);
  text-decoration: underline;
  text-underline-offset: 3px;
  align-self: flex-start;
  transition: color 0.2s;
}

.wee-hero-secondary:hover {
  color: #1a1a1a;
}

.wee-hero-contact {
  font-size: clamp(13px, 1.1vw, 15px);
  color: #666666;
  text-decoration: underline;
  text-underline-offset: 3px;
  align-self: flex-start;
  transition: color 0.2s;
  margin-top: -6px;
}

.wee-hero-contact:hover {
  color: #1a1a1a;
}

.wee-hero-image {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}


.wee-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center top;
  display: block;
}

/* ─── Mobile Breakpoints ─────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  /* Header */
  #wee-header {
    height: 60px;
    position: sticky;
    top: 0;
  }

  .wee-logo img {
    max-height: 40px;
  }

  .wee-header-inner {
    height: 60px;
    padding: 0 20px;
    position: relative;
  }

  .wee-nav {
    display: none;
  }

  .wee-nav {
    display: flex !important;
    background: none !important;
    position: absolute !important;
    right: 64px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    flex-direction: row !important;
    gap: 0 !important;
    padding: 0 !important;
  }

  .wee-nav a:not(.wee-cart-icon) {
    display: none !important;
  }

  .wee-hamburger {
    display: flex;
  }

  /* Hero */
  #wee-hero {
    min-height: auto;
  }

  .wee-hero-inner {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }

  .wee-hero-image {
    order: -1;
    min-height: 280px;
    position: relative;
  }

  .wee-hero-text {
    padding: 48px 20px;
    max-width: 100%;
    margin-left: 0;
  }

  .wee-hero-title {
    font-size: clamp(36px, 9vw, 56px);
  }

  .wee-container {
    padding: 0 20px;
  }
}

/* ─── WooCommerce Global ─────────────────── */
.woocommerce a:not(.button):not(.wc-block-components-product-name) {
  color: #1a1a1a;
}

/* ─── WooCommerce secondary buttons → dark (replaces default blue) ───────── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .return-to-shop a,
.woocommerce a.button.wc-backward {
  background-color: #1a1a1a !important;
  border-color: #1a1a1a !important;
  color: #ffffff !important;
  border-radius: 100px !important;
}

/* ─── Primary CTA buttons → orange (overrides dark above) ────────────────── */
.woocommerce button.button.alt,
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-checkout__actions_row button,
.added_to_cart,
a.added_to_cart,
.wp-element-button,
.wp-block-button__link {
  background-color: #F58634 !important;
  border-color: #F58634 !important;
  color: #ffffff !important;
  border-radius: 100px !important;
}

/* ─── Product name links → dark, no bg ───── */
a.wc-block-components-product-name,
.wc-block-cart-item__product-name a,
.wc-block-components-order-summary-item__name a {
  color: #1a1a1a !important;
  background: none !important;
  font-weight: 600 !important;
}

/* ─── Prices → orange ────────────────────── */
.wc-block-formatted-money-amount,
.woocommerce-Price-amount {
  color: #F58634 !important;
  font-weight: 700 !important;
}

/* ─── Font sizes ─────────────────────────── */
.wc-block-cart,
.wc-block-checkout {
  font-size: 18px !important;
}

.wc-block-cart-item__product-name,
.wc-block-components-order-summary-item__name {
  font-size: 18px !important;
}

.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
  font-size: 18px !important;
}

.wc-block-cart__submit-button,
.wc-block-checkout__actions_row button {
  font-size: 18px !important;
  padding: 16px 32px !important;
}

/* ─── Almost there line ──────────────────── */
.wc-block-checkout__sidebar::before {
  content: 'Almost there \2014 relief is on the way!';
  display: block;
  font-size: 18px;
  font-style: italic;
  color: #F58634;
  font-weight: 600;
  margin-bottom: 16px;
}

/* ─── View Cart button after add to cart ── */
.added_to_cart.wc-forward {
  display: inline-block !important;
  background-color: #F58634 !important;
  color: #ffffff !important;
  border-radius: 100px !important;
  padding: 10px 24px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border: none !important;
  margin-left: 8px !important;
}

/* ─── Stronger font-size overrides ──────────────── */
body .wc-block-cart *,
body .wc-block-checkout * {
  font-size: 17px;
}

body .wc-block-cart-item__product-name,
body .wc-block-components-order-summary-item__name {
  font-size: 19px !important;
  font-weight: 600 !important;
}

/* ─── Hide empty notice wrappers & product card View Cart ── */
.wc-block-store-notices:empty,
.woocommerce-notices-wrapper:empty {
  display: none !important;
}

.woocommerce ul.products li.product .added_to_cart {
  display: none !important;
}

/* ─── WPForms confirmation ───────────────────────── */
.wpforms-confirmation-container-full {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ─── WPForms input styles ───────────────────────── */
.wpforms-form input[type="text"],
.wpforms-form input[type="email"],
.wpforms-form textarea {
  font-size: 16px !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  border: 1.5px solid #e8e8e8 !important;
}

.wpforms-form textarea {
  min-height: 72px !important;
  resize: vertical !important;
}

.wpforms-form input[type="text"]:focus,
.wpforms-form input[type="email"]:focus,
.wpforms-form textarea:focus {
  border-color: #F58634 !important;
  box-shadow: 0 0 0 3px rgba(245, 134, 52, 0.12) !important;
  outline: none !important;
}

.wpforms-submit {
  background: #F58634 !important;
  color: #ffffff !important;
  font-size: 17px !important;
  padding: 14px 32px !important;
  border-radius: 100px !important;
  border: none !important;
  cursor: pointer !important;
}

/* ─── WPForms field width fix ────────────────────────────────────────────── */
.wpforms-container-full .wpforms-field-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.wpforms-container-full .wpforms-field-row-block,
.wpforms-container-full .wpforms-one-half {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  float: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ─── Orange button hover: flip to outlined style ───────────────────────── */
.wee-btn-buynow,
.wee-hero-cta,
a.wee-hero-cta,
.woocommerce ul.products li.product .button,
.woocommerce .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a,
.wpforms-submit,
.wee-contact-card input[type="submit"],
.wc-block-components-checkout-place-order-button {
  transition: background-color 0.25s ease, color 0.25s ease, border 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
}

/* ─── Orange buttons: resting depth shadow (excludes black add-to-cart) ── */
.wee-btn-buynow,
.wee-hero-cta,
a.wee-hero-cta,
.woocommerce .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a,
.wpforms-submit,
.wee-contact-card input[type="submit"],
.wc-block-components-checkout-place-order-button {
  box-shadow: 0 3px 10px rgba(245, 134, 52, 0.30) !important;
}

.wee-btn-buynow:hover,
.wee-hero-cta:hover,
a.wee-hero-cta:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce .checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a:hover,
.wpforms-submit:hover,
.wee-contact-card input[type="submit"]:hover,
.wc-block-components-checkout-place-order-button:hover {
  background: transparent !important;
  background-color: transparent !important;
  color: #F58634 !important;
  border: 2px solid #F58634 !important;
  transform: scale(1.04) !important;
  opacity: 1 !important;
}

/* ─── Shop page: prevent product thumbnail zoom/crop ────────────────────── */
.woocommerce ul.products li.product img,
.wc-block-grid__product-image img {
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
}

/* ─── Hide UNCATEGORIZED label on shop product cards ─────────────────────── */
a.ct-term-15 { display: none !important; }
.posted_in { display: none !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__cat,
.woocommerce ul.products li.product .woocommerce-loop-product__category,
.woocommerce ul.products li.product .posted_in,
.woocommerce ul.products li.product .cat-links,
.woocommerce-loop-category__title,
.wc-block-components-product-metadata,
.wc-block-components-product-category-list {
  display: none !important;
}

/* ─── Empty cart: hide "New in store" cross-sell block ───────────────────── */
.wp-block-woocommerce-empty-cart-block .wp-block-query,
.wp-block-woocommerce-empty-cart-block ul.products,
.wp-block-woocommerce-empty-cart-block h2 {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   PRODUCT PAGE — QUANTITY AND ADD TO CART
   ═══════════════════════════════════════════════════════════════════════════ */



/* ═══════════════════════════════════════════════════════════════════════════
   CART PAGE — Continue Shopping link
   ═══════════════════════════════════════════════════════════════════════════ */
.wee-continue-shopping {
  display: inline-block;
  margin-bottom: 1.5em;
  color: #F58634;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.95rem;
  transition: all 0.2s ease;
}
.wee-continue-shopping:hover {
  color: #1a1a1a;
}



/* ═══════════════════════════════════════════════════════════════════════════
   FIX 3 — SHOP PAGE: Contain card hover scale inside card boundary
   ═══════════════════════════════════════════════════════════════════════════ */
.woocommerce ul.products li.product {
  overflow: hidden !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   FIX 4 — CART PAGE: Continue Shopping link size
   ═══════════════════════════════════════════════════════════════════════════ */
.wee-continue-shopping {
  font-size: 1.05rem !important;
  font-weight: 600 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   PRODUCT PAGE — Add to Cart button (single consolidated rule)
   ═══════════════════════════════════════════════════════════════════════════ */
form.cart .single_add_to_cart_button,
form.cart .single_add_to_cart_button:focus {
  background-color: #1a1a1a !important;
  color: #ffffff !important;
  border: 2px solid #1a1a1a !important;
  border-radius: 9999px !important;
  padding: 0.75em 2.5em !important;
  font-weight: 600 !important;
  transition: all 0.2s ease !important;
  outline: none !important;
  box-shadow: none !important;
}
form.cart .single_add_to_cart_button:hover {
  background-color: #ffffff !important;
  color: #1a1a1a !important;
  border-color: #1a1a1a !important;
  transform: scale(1.04) !important;
}

/* ── Quantity stepper: pill-shaped +/- buttons ── */
form.cart .quantity {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

form.cart .quantity .ct-decrease { order: 1 !important; }
form.cart .quantity input.qty    { order: 2 !important; }
form.cart .quantity .ct-increase { order: 3 !important; }

form.cart .quantity .ct-decrease,
form.cart .quantity .ct-increase {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  border-radius: 9999px !important;
  border: 1.5px solid #ccc !important;
  background: #ffffff !important;
  color: #1a1a1a !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  outline: none !important;
  box-shadow: none !important;
}

form.cart .quantity .ct-decrease:hover,
form.cart .quantity .ct-increase:hover,
form.cart .quantity .ct-decrease:focus,
form.cart .quantity .ct-increase:focus {
  border-color: #1a1a1a !important;
  color: #1a1a1a !important;
  background: #ffffff !important;
  outline: none !important;
  box-shadow: none !important;
}

form.cart .quantity input.qty {
  width: 50px !important;
  text-align: center !important;
  border-radius: 9999px !important;
  border: 1.5px solid #ccc !important;
  padding: 6px 8px !important;
  outline: none !important;
  box-shadow: none !important;
}

form.cart .quantity input.qty:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: #1a1a1a !important;
}

/* ── Product page: form.cart flex layout (− qty +  Add to Cart in a row) ── */
body .woocommerce-page form.cart,
body form.cart {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   PRODUCT PAGE — SPACING & GALLERY POLISH
   ═══════════════════════════════════════════════════════════════════════════ */

/* 1 — Breathing room below the header */
.wee-single-product {
  padding-top: 32px;
}

/* 2 — Main product image: subtle warm frame */
.woocommerce-product-gallery .woocommerce-product-gallery__image img {
  border: 1px solid #d8d2cb !important;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06), 0 4px 18px rgba(0, 0, 0, 0.07) !important;
  border-radius: 6px !important;
}

/* 3 — Thumbnails: lighter version of the same frame */
.flex-control-thumbs li img {
  border: 1px solid #e2ddd8 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  opacity: 0.82;
  transition: opacity 0.2s, border-color 0.2s;
}

.flex-control-thumbs li img.flex-active,
.flex-control-thumbs li img:hover {
  border-color: #c8c2bb !important;
  opacity: 1;
}

/* ═══════════════════════════════════════════════════════════════════════════
   PRODUCT PAGE — DESKTOP LAYOUT IMPROVEMENTS
   ═══════════════════════════════════════════════════════════════════════════ */

/* FIX 1 — Widen the product page content area */
@media (min-width: 768px) {
  .woocommerce div.product,
  .single-product .entry-content,
  .single-product .product {
    max-width: 1100px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
}

/* FIX 2 — Short description font size */
.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
  font-style: normal !important;
  color: #1a1a1a !important;
}

/* FIX 3 — Description tab text size */
.woocommerce div.product .woocommerce-Tabs-panel,
.woocommerce div.product .woocommerce-Tabs-panel p {
  font-size: 1.05rem !important;
  line-height: 1.8 !important;
  color: #1a1a1a !important;
}

/* Product tab spacing */
.woocommerce div.product .woocommerce-tabs {
  margin-top: 10px;
}
.woocommerce div.product .woocommerce-tabs .panel {
  margin-top: 20px;
}

/* Product tab link styling */
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  color: #F58634 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  opacity: 0.8;
}

/* Stronger overrides for Blocksy */
.woocommerce-tabs {
  margin-bottom: 12px !important;
}
.woocommerce-tabs .panel,
.woocommerce-tabs .woocommerce-Tabs-panel {
  margin-top: 24px !important;
}
.woocommerce-tabs ul li a,
.woocommerce-tabs a {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  color: #f47c2c !important;
}
.woocommerce-tabs ul li a:hover,
.woocommerce-tabs a:hover {
  opacity: 0.8;
}

/* Active tab styling */
.woocommerce-tabs ul li.active a,
.woocommerce-tabs .active a {
  color: #1f2d3d !important;
  opacity: 1 !important;
}

/* Inactive tabs slightly softer */
.woocommerce-tabs ul li:not(.active) a {
  opacity: 0.7;
}

/* Tab panel left-alignment */
.woocommerce div.product .woocommerce-Tabs-panel {
  text-align: left !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* Standardize all product tab headings */
.woocommerce div.product .woocommerce-Tabs-panel h2,
.woocommerce div.product .woocommerce-tabs .panel h2 {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
  line-height: 1.3 !important;
}

.woocommerce div.product .woocommerce-Tabs-panel h3,
.woocommerce div.product .woocommerce-tabs .panel h3 {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  margin-top: 1.25rem !important;
  margin-bottom: 0.5rem !important;
  line-height: 1.3 !important;
}

/* ── Product page: trust badges ── */
.wee-product-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 20px !important;
  padding-top: 20px !important;
  border-top: 1px solid #eee !important;
}
.wee-badge {
  display: inline-block !important;
  background: #FFF8F2 !important;
  color: #1a1a1a !important;
  border: 1.5px solid #F58634 !important;
  border-radius: 9999px !important;
  padding: 6px 14px !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  font-family: 'Inter', sans-serif !important;
}

/* ── Homepage hero slideshow ── */
.wee-hero-image {
  overflow: hidden !important;
}
.wee-slideshow {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: inherit;
}
.wee-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  opacity: 0;
  transition: opacity 0.8s ease-in-out;
}
.wee-slide.active {
  opacity: 1;
  transition: opacity 0.8s ease-in-out;
}
@media (max-width: 767px) {
  .wee-hero-image {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
  }
}

/* ── Site footer ── */
.wee-footer {
  background: #1a1a1a;
  color: #cccccc;
  padding: 60px 40px 40px;
  margin-top: 60px;
  font-family: 'Inter', sans-serif;
}
.wee-footer-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
}
.wee-footer-logo {
  font-size: 1.3rem;
  font-weight: 800;
  color: #F58634;
  letter-spacing: -0.5px;
  margin-bottom: 12px;
}
.wee-footer-tagline {
  font-size: 0.9rem;
  line-height: 1.6;
  color: #888888;
  margin-bottom: 16px;
}
.wee-footer-copy {
  font-size: 0.8rem;
  color: #555555;
}
.wee-footer-heading {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #ffffff;
  margin-bottom: 16px;
}
.wee-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.wee-footer-links li {
  margin-bottom: 10px;
  font-size: 0.9rem;
  color: #888888;
}
.wee-footer-links a {
  color: #888888;
  text-decoration: none;
  transition: color 0.2s ease;
}
.wee-footer-links a:hover {
  color: #F58634;
}
@media (max-width: 767px) {
  .wee-footer-inner {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
}

/* ── Empty cart message ── */
.wee-empty-cart-message {
  text-align: center;
  padding: 48px 20px 24px;
}
.wee-empty-cart-message span {
  font-size: 3rem;
  display: block;
  margin-bottom: 16px;
}
.wee-empty-cart-message h2 {
  font-size: 1.8rem;
  font-weight: 800;
  color: #1a1a1a;
  margin-bottom: 8px;
  font-family: 'Inter', sans-serif;
}
.wee-empty-cart-message p {
  font-size: 1.05rem;
  color: #555555;
  max-width: 420px;
  margin: 0 auto;
}

/* ── Empty cart product title color fix ── */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title a,
.wp-block-woocommerce-empty-cart-block a:not(.wp-block-button__link) {
  color: #1a1a1a !important;
}
.wp-block-woocommerce-empty-cart-block a:not(.wp-block-button__link):hover {
  color: #F58634 !important;
}

/* ── How It Works section ── */
.wee-how-it-works {
  background: #ffffff;
  padding: 80px 40px;
}
.wee-how-inner {
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}
.wee-how-title {
  font-size: 2.2rem;
  font-weight: 800;
  color: #1a1a1a;
  margin-bottom: 16px;
  font-family: 'Inter', sans-serif;
}
.wee-how-subtitle {
  font-size: 1.05rem;
  color: #555555;
  max-width: 600px;
  margin: 0 auto 56px;
  line-height: 1.7;
}
.wee-how-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.wee-how-step {
  background: #FFF8F2;
  border-radius: 16px;
  padding: 32px 24px;
  text-align: center;
  border: 1.5px solid #f0e6dc;
}
.wee-how-number {
  width: 52px;
  height: 52px;
  background: #F58634;
  color: #ffffff;
  border-radius: 9999px;
  font-size: 1.4rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  font-family: 'Inter', sans-serif;
}
.wee-how-step h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 12px;
  font-family: 'Inter', sans-serif;
}
.wee-how-step p {
  font-size: 0.95rem;
  color: #555555;
  line-height: 1.7;
  margin: 0;
}
@media (max-width: 767px) {
  .wee-how-steps {
    grid-template-columns: repeat(2, 1fr);
  }
  .wee-how-it-works {
    padding: 60px 20px;
  }
}


/* ── WooCommerce block empty cart — center and style after AJAX removal ── */
.wp-block-woocommerce-empty-cart-block,
.wc-block-cart__empty-cart__title {
    text-align: center !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 32px !important;
    list-style: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    max-width: 1200px !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
    background: #ffffff !important;
    border-radius: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 24px !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
    width: 100% !important;
    height: auto !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title a {
    color: #1a1a1a !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
    color: #F58634 !important;
    font-weight: 700 !important;
}

@media (max-width: 768px) {
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
        grid-template-columns: 1fr !important;
    }
}

/* ── Empty cart product suggestions ── */
.woocommerce-cart .woocommerce.columns-3 ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 32px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.woocommerce-cart .woocommerce.columns-3 ul.products li.product {
    background: #ffffff !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 0 24px !important;
}

.woocommerce-cart .woocommerce.columns-3 ul.products li.product figure {
    margin: 0 !important;
    padding: 24px 24px 0 !important;
}

.woocommerce-cart .woocommerce.columns-3 ul.products li.product figure img {
    width: 100% !important;
    height: auto !important;
}

.woocommerce-cart .woocommerce.columns-3 ul.products li.product h2,
.woocommerce-cart .woocommerce.columns-3 ul.products li.product h2 a {
    color: #1a1a1a !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    padding: 16px 24px 4px !important;
    margin: 0 !important;
    display: block !important;
}

.woocommerce-cart .woocommerce.columns-3 ul.products li.product .price {
    color: #F58634 !important;
    font-weight: 700 !important;
    padding: 0 24px 16px !important;
    display: block !important;
}

.woocommerce-cart .woocommerce.columns-3 ul.products li.product .button {
    background: #1a1a1a !important;
    color: #ffffff !important;
    border-radius: 50px !important;
    padding: 10px 24px !important;
    margin: auto 24px 0 !important;
    display: inline-block !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border: none !important;
    font-size: 15px !important;
}

@media (max-width: 768px) {
    .woocommerce-cart .woocommerce.columns-3 ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* Hide WooCommerce's native empty cart block — we use our own PHP empty state */
.wp-block-woocommerce-empty-cart-block {
    display: none !important;
}

/* === Review form submit button === */
.woocommerce #review_form #respond .form-submit input#submit {
  background-color: #f58220 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 12px 28px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 10px rgba(245,130,32,0.25);
}

.woocommerce #review_form #respond .form-submit input#submit:hover {
  background-color: #ffffff !important;
  color: #f58220 !important;
  border: 2px solid #f58220 !important;
  transform: scale(1.03);
  box-shadow: 0 6px 14px rgba(245,130,32,0.35);
}

/* === Review form submit button (correct selector) === */
.woocommerce #review_form #respond .form-submit .submit {
  background-color: #f58220 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 12px 28px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 10px rgba(245,130,32,0.25) !important;
}

.woocommerce #review_form #respond .form-submit .submit:hover {
  background-color: #ffffff !important;
  color: #f58220 !important;
  border: 2px solid #f58220 !important;
  transform: scale(1.03);
  box-shadow: 0 6px 14px rgba(245,130,32,0.35) !important;
}

.woocommerce #review_form #respond .form-submit button {
  background-color: #f58220 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  border: none !important;
  padding: 12px 28px !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 10px rgba(245,130,32,0.25) !important;
}

.woocommerce #review_form #respond .form-submit button:hover {
  background-color: #ffffff !important;
  color: #f58220 !important;
  border: 2px solid #f58220 !important;
}

/* Prevent layout shift on hover */
.woocommerce #review_form #respond .form-submit {
  display: inline-block;
  padding-bottom: 8px;
}

.woocommerce #review_form #respond .form-submit .submit {
  display: inline-block;
  transform-origin: center;
}

/* ─── Suppress test-mode notice bars (visual only — payments stay in test mode) ─ */
.woocommerce-store-notice.demo_store,
.wc-stripe-test-mode-notice { display: none !important; }

/* ── Hero supporting text — high-specificity to defeat inheritance ── */
#wee-hero .wee-hero-descriptor {
  font-size: clamp(13px, 1.4vw, 17px) !important;
  color: #3a3a3a !important;
  margin: 0;
  line-height: 1.6;
}

#wee-hero .wee-hero-vehicle-note {
  font-size: clamp(13px, 1.1vw, 15px) !important;
  color: #505050 !important;
  margin: 0;
  font-style: italic;
}

#wee-hero a.wee-hero-secondary {
  color: #444444 !important;
  font-size: clamp(14px, 1.25vw, 17px) !important;
  font-weight: 500 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(0, 0, 0, 0.28) !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
  letter-spacing: 0.01em !important;
  align-self: flex-start;
  transition: color 0.2s, text-decoration-color 0.2s;
}

#wee-hero a.wee-hero-secondary:hover {
  color: #1a1a1a !important;
  text-decoration-color: rgba(0, 0, 0, 0.55) !important;
}

#wee-hero a.wee-hero-contact {
  font-size: clamp(14px, 1.25vw, 17px) !important;
  font-weight: 500 !important;
  color: #444444 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(0, 0, 0, 0.28) !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
  letter-spacing: 0.01em !important;
  align-self: flex-start;
  transition: color 0.2s, text-decoration-color 0.2s;
  margin-top: -6px;
}

#wee-hero a.wee-hero-contact:hover {
  color: #1a1a1a !important;
  text-decoration-color: rgba(0, 0, 0, 0.55) !important;
}

/* ── How It Works closer line ── */
.wee-how-closer {
  text-align: center;
  font-size: 0.95rem;
  color: #888888;
  font-style: italic;
  padding: 20px 40px 28px;
  margin: 0;
  background: #ffffff;
}

/* ── Why Weemergency exists — dark section ── */
.wee-why-section {
  background: #1e1e1e;
  padding: 80px 40px;
}

.wee-why-section .wee-how-title {
  color: #ffffff;
}

.wee-why-section .wee-how-subtitle {
  color: #aaaaaa;
}

/* ── Feature band — light, premium cards ── */
.wee-feature-band {
  background: #FFF8F2;
  padding: 72px 40px;
}

.wee-feature-band-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
}

.wee-feature-card {
  background: #ffffff;
  border: 1.5px solid rgba(245, 134, 52, 0.22);
  border-radius: 16px;
  padding: 44px 40px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06), 0 8px 32px rgba(245, 134, 52, 0.06);
}

.wee-feature-card-title {
  font-size: 1rem;
  font-weight: 700;
  color: #F58634;
  margin: 0 0 24px;
  line-height: 1.55;
  font-family: 'Inter', sans-serif;
  letter-spacing: 0;
}

.wee-feature-list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}

.wee-feature-list li {
  font-size: 0.95rem;
  color: #444444;
  padding: 8px 0;
  line-height: 1.6;
  border-bottom: 1px solid #f0e6dc;
}

.wee-feature-list li:last-child {
  border-bottom: none;
}

.wee-feature-list li::before {
  content: "→";
  color: #F58634;
  font-weight: 700;
  margin-right: 10px;
  font-size: 0.85rem;
}

.wee-feature-blurbs {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.wee-feature-blurbs li {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.wee-feature-blurbs li strong {
  font-size: 0.82rem;
  font-weight: 700;
  color: #1a1a1a;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

.wee-feature-blurbs li span {
  font-size: 0.9rem;
  color: #666666;
  line-height: 1.65;
}

.wee-feature-footer {
  font-size: 0.82rem;
  color: #999999;
  font-style: italic;
  margin: 0;
  line-height: 1.6;
  padding-top: 20px;
  border-top: 1px solid #f0e6dc;
}

@media (max-width: 767px) {
  .wee-feature-band {
    padding: 48px 20px;
  }
  .wee-feature-band-inner {
    grid-template-columns: 1fr;
  }
  .wee-feature-card {
    padding: 32px 24px;
  }
}

/* ── Video demo modal — product pages ────────────────────────────────────── */
.wee-video-trigger-wrap {
  margin: 20px 0 0;
}

.wee-video-trigger {
  display: inline;
  font-size: 1rem;
  font-weight: 600;
  color: #555555;
  text-decoration: underline;
  text-decoration-color: rgba(85, 85, 85, 0.35);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: color 0.2s, text-decoration-color 0.2s;
}

.wee-video-trigger:hover {
  color: #F58634;
  text-decoration-color: rgba(245, 134, 52, 0.5);
}

.wee-video-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.wee-video-modal[hidden] {
  display: none !important;
}

.wee-video-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  cursor: pointer;
}

.wee-video-modal-inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 960px;
  background: #1a1a1a;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55), 0 8px 24px rgba(0, 0, 0, 0.35);
}

.wee-video-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  transition: background 0.2s;
}

.wee-video-modal-close:hover {
  background: rgba(255, 255, 255, 0.3);
}

.wee-video-player {
  display: block;
  width: 100%;
  height: auto;
  max-height: 80vh;
}

@media (max-width: 480px) {
  .wee-video-modal {
    padding: 12px;
  }
  .wee-video-modal-inner {
    border-radius: 8px;
  }
}

.onsale,
.out-of-stock-badge,
[class*="ct-woo-badge-"],
span.onsale[data-shape],
span.onsale[data-shape="type-2"] {
    --badge-background-color: #2d6a4f !important;
    background: #2d6a4f !important;
    background-color: #2d6a4f !important;
    color: #ffffff !important;
}

.wee-price-white,
.wee-price-white * {
    color: #ffffff !important;
}
