/* =====================================================================
   VANITY MEALS — WooCommerce + Astra chrome brand skin
   Applies the black-and-gold palette to shop, single product, cart,
   checkout, and my-account pages (which use Astra's default layout
   rather than the brand canvas template). Loaded only on those pages.
   !important is used deliberately to override Astra/WooCommerce defaults.
   ===================================================================== */

:root {
  --black:      #0B0B0B;
  --black-soft: #16120B;
  --black-card: #191510;
  --logo-black: #000000;
  --gold:       #C8A46B;
  --gold-deep:  #A8823F;
  --gold-light: #E6CE9E;
  --white:      #FFFFFF;
  --soft:       #F5F5F5;
  --muted:      #B9B4A9;
  --line:       rgba(200, 164, 107, 0.28);
  --serif: "Playfair Display", Georgia, serif;
  --sans:  "Montserrat", system-ui, -apple-system, sans-serif;
  --gold-grad: linear-gradient(135deg, #E6CE9E 0%, #C8A46B 45%, #A8823F 100%);
}

/* ---------- Base surfaces ---------- */
body.woocommerce-page,
body.woocommerce {
  background: var(--black);
  color: var(--soft);
  font-family: var(--sans);
}
/* The body is the dark canvas; every inner wrapper is transparent so it shows through.
   (Do NOT put a body selector in the transparent list — it would out-specify the black rule.) */
html { background-color: var(--black); }
body.woocommerce-page,
body.woocommerce { background-color: var(--black) !important; }
.woocommerce-page .site-content,
.woocommerce-page #content,
.woocommerce-page .ast-container,
.woocommerce-page #primary,
.woocommerce-page .content-area,
.woocommerce-page .site-main,
.woocommerce-page .ast-woocommerce-container { background-color: transparent !important; }

.woocommerce-page p,
.woocommerce-page li,
.woocommerce-page td,
.woocommerce-page dd,
.woocommerce-page dt,
.woocommerce-page span:not(.amount):not(.woocommerce-Price-amount) { color: var(--soft); }

.woocommerce-page h1, .woocommerce-page h2, .woocommerce-page h3,
.woocommerce-page h4, .woocommerce-page h5,
.entry-title, .page-title,
.woocommerce-products-header__title,
.product_title, .related > h2, .cross-sells > h2,
.cart_totals h2, .woocommerce-column__title,
.woocommerce-order-details__title, .woocommerce-column__title,
#order_review_heading {
  font-family: var(--serif) !important;
  color: var(--white) !important;
  font-weight: 500;
}
.woocommerce-page a { color: var(--gold); }
.woocommerce-page a:hover { color: var(--gold-light); }

/* ---------- Astra header ---------- */
.site-header,
.ast-primary-header-bar,
.main-header-bar { background-color: var(--logo-black) !important; }
.main-header-bar { border-bottom: 1px solid var(--line) !important; }
.site-title a, .site-title { color: var(--gold) !important; font-family: var(--serif) !important; }
.main-header-menu a, .ast-nav-menu a, .ast-header-navigation-wrap a { color: var(--soft) !important; }
.main-header-menu a:hover,
.ast-nav-menu .current-menu-item > a,
.ast-nav-menu .current-menu-item > a:hover { color: var(--gold) !important; }
.main-header-menu .sub-menu,
.ast-nav-menu .sub-menu { background-color: var(--black-card) !important; border-color: var(--line) !important; }
.ast-header-break-point .main-header-menu,
.ast-mobile-popup-drawer .main-header-menu { background-color: var(--logo-black) !important; }
/* header cart / account / search icons */
.ast-header-account-wrap .ast-header-account-type-icon,
.ast-icon, .ast-cart-menu-wrap .count,
.ast-header-woo-cart .ast-woo-header-cart-info-wrap,
.ast-menu-toggle { color: var(--gold) !important; }
.ast-cart-menu-wrap .count { background: var(--gold) !important; color: var(--black) !important; }

/* Logo sizing + hide the redundant text title (the logo already shows the brand name) */
.site-header .custom-logo,
.ast-site-identity img.custom-logo {
  max-height: 52px !important;
  width: auto !important;
  height: auto !important;
}
.ast-site-title-wrap .site-title { display: none !important; }

/* ---------- Astra footer (incl. footer-builder wrappers) ---------- */
.site-footer, #colophon,
.ast-small-footer, .footer-sml-layout-2, .ast-footer-overlay,
.site-primary-footer-wrap, .site-below-footer-wrap,
.site-below-footer-wrap[data-section="section-below-footer-builder"],
.site-primary-footer-wrap[data-section="section-primary-footer-builder"],
.site-footer .ast-builder-grid-row-container {
  background-color: #070707 !important;
  color: var(--muted) !important;
}
/* Gold hairline separating the footer from the darker page above it */
.site-below-footer-wrap, .site-footer { border-top: 1px solid var(--line) !important; }
.site-footer p, .ast-footer-copyright, .ast-footer-copyright * { color: var(--muted) !important; }
.site-footer a, #colophon a { color: var(--muted) !important; }
.site-footer a:hover, #colophon a:hover { color: var(--gold) !important; }

/* ---------- Page title banner ---------- */
.ast-archive-description,
.woocommerce-products-header { color: var(--soft); }
.ast-single-post .entry-header, .ast-archive-description { border-color: var(--line); }

/* ---------- Buttons ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt,
.woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce .single_add_to_cart_button, .woocommerce #place_order,
.wc-proceed-to-checkout a.checkout-button, .woocommerce .wc-forward,
.ast-on-card-button, .ast-select-options-trigger,
.wc-block-components-button, .wp-element-button {
  background: var(--gold-grad) !important;
  color: var(--black) !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-family: var(--sans) !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-shadow: none !important;
  transition: filter 0.3s ease, transform 0.3s ease !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover, .woocommerce .single_add_to_cart_button:hover,
.woocommerce #place_order:hover, .wc-proceed-to-checkout a.checkout-button:hover,
.ast-on-card-button:hover, .wc-block-components-button:hover, .wp-element-button:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
  color: var(--black) !important;
}
/* secondary / ghost buttons (e.g. "View cart", "Return to shop") */
.woocommerce a.added_to_cart, .woocommerce a.button.wc-backward,
.woocommerce .cart .button[name="update_cart"] {
  background: transparent !important;
  color: var(--gold) !important;
  border: 1px solid var(--gold) !important;
}
.woocommerce a.added_to_cart:hover, .woocommerce a.button.wc-backward:hover {
  background: var(--gold) !important;
  color: var(--black) !important;
}

/* ---------- Prices ---------- */
.woocommerce .price, .woocommerce-Price-amount, .woocommerce .amount,
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price, .woocommerce div.product span.price {
  color: var(--gold) !important;
  font-weight: 600;
}
.woocommerce .price del, .woocommerce del .amount { color: var(--muted) !important; opacity: 0.7; }
.woocommerce .onsale {
  background: var(--gold-grad) !important;
  color: var(--black) !important;
  border: 0 !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.star-rating span::before, .star-rating::before, p.stars a { color: var(--gold) !important; }

/* ---------- Shop archive product cards ---------- */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: var(--black-card);
  border: 1px solid var(--line);
  padding: 16px 16px 22px;
  transition: transform 0.35s ease, border-color 0.35s ease;
}
.woocommerce ul.products li.product:hover { transform: translateY(-5px); border-color: var(--gold); }
.woocommerce ul.products li.product a img { margin-bottom: 14px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  color: var(--white) !important;
  font-family: var(--serif) !important;
  font-size: 1.15rem;
  padding: 0 4px;
}
.woocommerce-result-count { color: var(--muted); }
.woocommerce .woocommerce-ordering select,
.woocommerce select.orderby { background: var(--black-card); color: var(--soft); border: 1px solid var(--line); padding: 8px; }

/* ---------- Single product ---------- */
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .product_meta { color: var(--muted); }
.woocommerce div.product form.cart .variations label { color: var(--soft); }
.woocommerce div.product form.cart .reset_variations { color: var(--gold); }
.woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-color: var(--line) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: var(--black-card) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--black) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--soft) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--gold) !important; }

/* ---------- Form fields ---------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .quantity input.qty,
.woocommerce input[type="text"], .woocommerce input[type="email"],
.woocommerce input[type="tel"], .woocommerce input[type="password"],
.woocommerce input[type="number"], .woocommerce textarea, .woocommerce select,
.select2-container .select2-selection,
.select2-container--default .select2-selection--single {
  background: var(--black-card) !important;
  border: 1px solid var(--line) !important;
  color: var(--soft) !important;
  border-radius: 0 !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce .quantity input.qty:focus,
.woocommerce input:focus, .woocommerce textarea:focus, .woocommerce select:focus {
  border-color: var(--gold) !important;
  box-shadow: none !important;
  outline: none !important;
}
.woocommerce form .form-row label, .woocommerce-checkout label,
.woocommerce-cart label, .select2-results { color: var(--soft) !important; }
::placeholder { color: var(--muted); opacity: 0.7; }
.select2-dropdown, .select2-container--default .select2-results__option {
  background: var(--black-card) !important; color: var(--soft) !important;
}

/* ---------- Tables (cart, order review, account) ---------- */
.woocommerce table.shop_table,
.woocommerce table.shop_table_responsive,
.woocommerce .cart-collaterals .cart_totals table {
  background: var(--black-card) !important;
  border: 1px solid var(--line) !important;
  border-radius: 0 !important;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce table.shop_table tr,
.woocommerce .cart_totals th, .woocommerce .cart_totals td {
  border-color: var(--line) !important;
  color: var(--soft) !important;
}
.woocommerce table.shop_table thead th,
.woocommerce .cart_totals h2 { color: var(--gold) !important; }
.woocommerce table.shop_table tfoot th, .order-total .amount { color: var(--gold) !important; }
.woocommerce-cart table.cart td.actions .coupon .input-text { max-width: 200px; }

/* ---------- Notices ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.woocommerce-noreviews, .wc-block-components-notice-banner {
  background: var(--black-soft) !important;
  color: var(--soft) !important;
  border-top: 3px solid var(--gold) !important;
}
.woocommerce-message::before, .woocommerce-info::before,
.wc-block-components-notice-banner svg { color: var(--gold) !important; fill: var(--gold) !important; }
.woocommerce-error { border-top-color: #c0563f !important; }

/* ---------- Breadcrumb ---------- */
.woocommerce-breadcrumb { color: var(--muted) !important; }
.woocommerce-breadcrumb a { color: var(--gold) !important; }

/* ---------- My account ---------- */
.woocommerce-MyAccount-navigation ul li { border-bottom: 1px solid var(--line); }
.woocommerce-MyAccount-navigation ul li a { color: var(--soft) !important; }
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover { color: var(--gold) !important; }
.woocommerce-Address address, .woocommerce-MyAccount-content { color: var(--soft); }

/* ---------- Empty cart (block template) ---------- */
.wp-block-woocommerce-empty-cart-block,
.cart-empty.woocommerce-info { color: var(--soft) !important; }
