/*
Theme Name:   Alpina Luxury
Theme URI:    https://alpinamotorsports.com
Description:  Alpina Motorsports luxury dark child theme for Astra
Author:       Alpina Motorsports
Template:     astra
Version:      1.0.5
*/

/* ─── Google Fonts ─────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Inter:wght@300;400;500;600&display=swap');

/* ─── Astra Global Color Palette Override ────────────
   Remaps --ast-global-color-0..8 so Spectra/UAGB blocks
   on the homepage and all pages use dark theme colors.
   Original palette: red accent, light gray bg, dark text.
   New palette:      gold accent, near-black bg, white text.
──────────────────────────────────────────────────── */
:root {
  --ast-global-color-0: #C8A96E; /* gold  (was red #df453e) */
  --ast-global-color-1: #D4BA82; /* gold hover (was dark red #b62d25) */
  --ast-global-color-2: #0A0A0A; /* near-black bg (was #161616) */
  --ast-global-color-3: #FFFFFF; /* white text (was #4B4F58 gray) */
  --ast-global-color-4: #0A0A0A; /* page bg (was #f5f5f5 light!) */
  --ast-global-color-5: #FFFFFF; /* white (unchanged) */
  --ast-global-color-6: #111111; /* secondary bg (was #F2F5F7 light) */
  --ast-global-color-7: #888888; /* muted text (was #424242) */
  --ast-global-color-8: #000000; /* black (unchanged) */

  /* Astra WC-specific variables that hardcode light backgrounds */
  --ast-wc-container-head-bg-color: #0A0A0A;
  --ast-code-block-background:      #1A1A1A;
  --ast-comment-inputs-background:  #141414;
  --ast-title-layout-bg:            #111111;
  --ast-widget-bg-color:            #141414;
  --ast-global-dark-bg-style:       #0A0A0A;
  --ast-global-dark-lfs:            #111111;
  --ast-search-border-color:        #2A2A2A;
  --ast-lifter-hover-bg:            #1A1A1A;
}

/* ─── Design Tokens ────────────────────────────────── */
:root {
  --al-bg:           #0A0A0A;
  --al-bg-secondary: #111111;
  --al-bg-card:      #141414;
  --al-bg-elevated:  #1A1A1A;
  --al-text:         #FFFFFF;
  --al-text-muted:   #888888;
  --al-text-subtle:  #555555;
  --al-accent:       #C8A96E;
  --al-accent-hover: #D4BA82;
  --al-accent-dark:  #A08550;
  --al-border:       #242424;
  --al-border-light: #2E2E2E;
  --al-font-heading: 'Playfair Display', Georgia, serif;
  --al-font-body:    'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --al-radius:       4px;
  --al-transition:   0.2s ease;
}

/* ─── Base ─────────────────────────────────────────── */
html,
body,
.ast-page-builder-template {
  background-color: var(--al-bg) !important;
  color: var(--al-text) !important;
}

body {
  font-family: var(--al-font-body) !important;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ─── Typography ───────────────────────────────────── */
h1, h2, h3, h4, h5, h6,
.entry-title,
.page-title,
.ast-archive-description .ast-archive-title,
.woocommerce-loop-product__title,
.product_title,
.woocommerce-page h1,
.woocommerce-page h2,
.woocommerce-page h3 {
  font-family: var(--al-font-heading) !important;
  color: var(--al-text) !important;
  font-weight: 600;
  letter-spacing: -0.01em;
}

p, li, td, th, label, input, select, textarea, span {
  font-family: var(--al-font-body) !important;
}

.ast-single-post-order .entry-title {
  color: var(--al-text) !important;
}

/* ─── Links ─────────────────────────────────────────── */
a {
  color: var(--al-accent);
  transition: color var(--al-transition);
}

a:hover,
a:focus {
  color: var(--al-accent-hover);
  text-decoration: none;
}

/* ─── Header ────────────────────────────────────────── */
#masthead,
.site-header,
.ast-primary-header-bar,
.ast-primary-header-bar.ast-sticky-shrunk,
.ast-header-break-point .ast-primary-header-bar,
.ast-desktop .ast-primary-header-bar {
  background-color: var(--al-bg) !important;
  border-bottom: 1px solid var(--al-border) !important;
  box-shadow: none !important;
}

.ast-above-header-bar,
.ast-above-header {
  background-color: var(--al-bg-secondary) !important;
  border-bottom: 1px solid var(--al-border) !important;
}

.ast-below-header-bar,
.ast-below-header {
  background-color: var(--al-bg-secondary) !important;
  border-top: 1px solid var(--al-border) !important;
}

/* Site logo / title */
.site-title a,
.ast-site-identity .site-title a {
  color: var(--al-text) !important;
  font-family: var(--al-font-heading) !important;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.site-description,
.ast-site-identity .site-description {
  color: var(--al-text-muted) !important;
}

/* Search field in header */
.ast-search-icon a,
.ast-search-icon svg,
.ast-header-search-wrap .search-icon {
  color: var(--al-text) !important;
  fill: var(--al-text) !important;
}

/* Cart icon */
.ast-site-header-cart .cart-icon,
.ast-site-header-cart a,
.ast-site-header-cart .count,
.ast-cart-menu-wrap .count {
  color: var(--al-text) !important;
}

.ast-cart-menu-wrap .count {
  background: var(--al-accent) !important;
  color: #000 !important;
}

/* Sticky header */
.ast-header-sticked #masthead,
.ast-header-sticked .ast-primary-header-bar {
  background-color: rgba(10, 10, 10, 0.96) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

/* ─── Navigation ─────────────────────────────────────── */
#ast-primary-nav-menu .menu-item a,
.ast-primary-menu-enabled .ast-main-nav-wrap .menu-item > a,
.ast-nav-list > li > a,
#ast-desktop-navigation .ast-nav-list > li > a {
  color: var(--al-text) !important;
  font-family: var(--al-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  transition: color var(--al-transition) !important;
}

#ast-primary-nav-menu .menu-item a:hover,
.ast-nav-list > li > a:hover,
.ast-nav-list > li.current-menu-item > a,
.ast-nav-list > li.current-menu-ancestor > a {
  color: var(--al-accent) !important;
}

/* Active nav item — gold underline, never dark background or invisible text */
.ast-nav-list > li.current-menu-item > a,
.ast-nav-list > li.current-menu-ancestor > a,
.ast-nav-list > li.current-menu-parent > a,
#ast-desktop-navigation .ast-nav-list > li.current-menu-ancestor > a,
#ast-desktop-navigation .ast-nav-list > li.current-menu-item > a {
  color: var(--al-accent) !important;
  background-color: transparent !important;
  border-bottom: 2px solid var(--al-accent) !important;
  padding-bottom: 2px !important;
}

/* Kill any Astra hover/active pill backgrounds on top-level nav */
.ast-nav-list > li > a,
#ast-desktop-navigation .ast-nav-list > li > a {
  background-color: transparent !important;
}

/* Dropdown menus — fully opaque solid background, no bleed-through */
.ast-primary-menu-enabled .ast-main-nav-wrap ul.sub-menu,
.ast-nav-list ul.sub-menu,
.ast-desktop .ast-nav-list > li > ul.sub-menu,
ul.sub-menu,
.sub-menu {
  background-color: rgb(23, 23, 23) !important;
  background: rgb(23, 23, 23) !important;
  border: 1px solid var(--al-border) !important;
  border-top: 2px solid var(--al-accent) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.8) !important;
  opacity: 1 !important;
}

.ast-primary-menu-enabled .ast-main-nav-wrap ul.sub-menu li a,
.ast-nav-list ul.sub-menu li a {
  color: var(--al-text-muted) !important;
  border-bottom: 1px solid var(--al-border) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

.ast-nav-list ul.sub-menu li a:hover {
  color: var(--al-accent) !important;
  background: var(--al-bg-elevated) !important;
}

/* Mobile menu toggle */
.ast-menu-toggle,
button.menu-toggle {
  color: var(--al-text) !important;
  background: transparent !important;
  border-color: var(--al-border) !important;
}

/* Mobile nav panel */
#ast-hfb-mobile-header,
.ast-mobile-popup-drawer,
.ast-offcanvas-container {
  background-color: var(--al-bg-secondary) !important;
}

.ast-mobile-popup-content .menu-item a {
  color: var(--al-text) !important;
  border-bottom: 1px solid var(--al-border) !important;
}

/* ─── Buttons ─────────────────────────────────────────── */
.ast-button,
.button,
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #payment #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #payment #place_order,
.woocommerce .wc-block-components-button,
a.checkout-button {
  background-color: var(--al-accent) !important;
  color: #000000 !important;
  border: none !important;
  border-radius: var(--al-radius) !important;
  font-family: var(--al-font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 13px 30px !important;
  transition: background-color var(--al-transition), transform var(--al-transition) !important;
  cursor: pointer;
}

.ast-button:hover,
.button:hover,
button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background-color: var(--al-accent-hover) !important;
  color: #000000 !important;
  transform: translateY(-1px);
}

/* Outline variant */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #respond input#submit.alt {
  background-color: var(--al-accent) !important;
  color: #000 !important;
}

/* ─── Forms & Inputs ──────────────────────────────────── */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="url"],
textarea,
select,
.woocommerce-input-wrapper input,
.woocommerce form .input-text {
  background-color: var(--al-bg-elevated) !important;
  color: var(--al-text) !important;
  border: 1px solid var(--al-border-light) !important;
  border-radius: var(--al-radius) !important;
  font-family: var(--al-font-body) !important;
  transition: border-color var(--al-transition) !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus,
.woocommerce form .input-text:focus {
  border-color: var(--al-accent) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(200, 169, 110, 0.15) !important;
}

input::placeholder,
textarea::placeholder {
  color: var(--al-text-subtle) !important;
}

label {
  color: var(--al-text-muted) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

/* ─── Content / Page Backgrounds ─────────────────────── */
.ast-separate-container .site-content,
.ast-separate-container #primary,
.entry-content,
.page-content,
.post-content,
#content,
.site-content,
.ast-container,
.ast-row,
.ast-grid,
main#main,
.ast-article-post,
.ast-article-single {
  background-color: var(--al-bg) !important;
  color: var(--al-text) !important;
}

.ast-separate-container .ast-article-inner-content {
  background-color: var(--al-bg-card) !important;
}

/* ─── Shop / Archive Pages ────────────────────────────── */
.woocommerce-page #primary,
.woocommerce-page .site-main,
.woocommerce ul.products,
.woocommerce-page ul.products {
  background-color: var(--al-bg) !important;
}

/* Astra WooCommerce outer wrapper — Astra sets this to var(--ast-global-color-5)
   which is white. Override at both variable and selector level. */
.ast-woocommerce-container,
.woocommerce-page .ast-container,
.woocommerce .ast-container,
html body .ast-woocommerce-container,
html body.woocommerce .ast-woocommerce-container,
html body.woocommerce-page .ast-woocommerce-container {
  background-color: var(--al-bg) !important;
}

/* Product grid cards */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.products li.product {
  background-color: var(--al-bg-card) !important;
  border: 1px solid var(--al-border) !important;
  border-radius: 6px !important;
  overflow: hidden;
  transition: border-color var(--al-transition), transform var(--al-transition) !important;
}

.woocommerce ul.products li.product:hover,
.products li.product:hover {
  border-color: var(--al-accent) !important;
  transform: translateY(-2px);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.products li.product h2 {
  color: var(--al-text) !important;
  font-family: var(--al-font-heading) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  padding: 12px 16px 4px !important;
}

.woocommerce ul.products li.product .price,
.products li.product .price {
  color: var(--al-accent) !important;
  font-family: var(--al-font-body) !important;
  font-weight: 500 !important;
  padding: 0 16px 12px !important;
}

.woocommerce ul.products li.product .price del {
  color: var(--al-text-subtle) !important;
}

/* Product image area */
.woocommerce ul.products li.product a img {
  filter: brightness(0.95);
  transition: filter var(--al-transition) !important;
}

.woocommerce ul.products li.product:hover a img {
  filter: brightness(1.05);
}

/* Add to cart on loop */
.woocommerce ul.products li.product .button {
  margin: 0 16px 16px !important;
  width: calc(100% - 32px) !important;
  text-align: center !important;
  display: block !important;
}

/* Sale badge */
.woocommerce span.onsale,
.onsale {
  background-color: var(--al-accent) !important;
  color: #000 !important;
  border-radius: 3px !important;
  font-family: var(--al-font-body) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Shop toolbar (results count, sort) */
.woocommerce-result-count,
.woocommerce-ordering select {
  color: var(--al-text-muted) !important;
  background: var(--al-bg-elevated) !important;
  border-color: var(--al-border) !important;
  font-family: var(--al-font-body) !important;
}

/* Category breadcrumb / page title area */
.ast-archive-description,
.woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb {
  color: var(--al-text-muted) !important;
  font-family: var(--al-font-body) !important;
  font-size: 13px !important;
}

.woocommerce-breadcrumb a {
  color: var(--al-text-muted) !important;
}

.woocommerce-breadcrumb a:hover {
  color: var(--al-accent) !important;
}

/* Category tiles / term pages */
.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
  color: var(--al-text) !important;
  font-family: var(--al-font-heading) !important;
}

/* ─── Single Product Page ─────────────────────────────── */
.single-product .product {
  background-color: var(--al-bg) !important;
}

.single-product .woocommerce-product-gallery {
  background: var(--al-bg-card) !important;
  border-radius: 6px !important;
  overflow: hidden;
}

.single-product .woocommerce-product-gallery__image img {
  background: var(--al-bg-card) !important;
}

.single-product .product_title {
  color: var(--al-text) !important;
  font-family: var(--al-font-heading) !important;
  font-size: clamp(24px, 3vw, 36px) !important;
  font-weight: 600 !important;
}

.single-product .woocommerce-product-details__short-description,
.single-product .woocommerce-product-details__short-description p {
  color: var(--al-text-muted) !important;
  font-family: var(--al-font-body) !important;
  line-height: 1.7 !important;
}

.single-product .price {
  color: var(--al-accent) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
}

.single-product .price del {
  color: var(--al-text-subtle) !important;
}

/* Product meta (SKU, categories) */
.product_meta,
.product_meta span,
.product_meta a {
  color: var(--al-text-muted) !important;
  font-size: 13px !important;
}

.product_meta a:hover {
  color: var(--al-accent) !important;
}

/* Qty input */
.quantity input.qty {
  background: var(--al-bg-elevated) !important;
  color: var(--al-text) !important;
  border: 1px solid var(--al-border-light) !important;
  border-radius: var(--al-radius) !important;
}

/* Tabs on single product */
.woocommerce-tabs ul.tabs {
  background: transparent !important;
  border-bottom: 1px solid var(--al-border) !important;
}

.woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: 1px solid var(--al-border) !important;
  border-bottom: none !important;
}

.woocommerce-tabs ul.tabs li.active {
  background: var(--al-bg-card) !important;
  border-bottom-color: var(--al-bg-card) !important;
}

.woocommerce-tabs ul.tabs li a {
  color: var(--al-text-muted) !important;
  font-family: var(--al-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
}

.woocommerce-tabs ul.tabs li.active a {
  color: var(--al-accent) !important;
}

.woocommerce-tabs .panel {
  background: var(--al-bg-card) !important;
  border: 1px solid var(--al-border) !important;
  border-top: none !important;
  padding: 24px !important;
}

.woocommerce-tabs .panel p,
.woocommerce-tabs .panel li,
.woocommerce-tabs .panel td,
.woocommerce-tabs .panel th,
.woocommerce-tabs .panel h2 {
  color: var(--al-text-muted) !important;
}

/* Reviews */
.comment-respond,
#reviews {
  background: var(--al-bg) !important;
}

.woocommerce #reviews #comments ol.commentlist li {
  background: var(--al-bg-card) !important;
  border: 1px solid var(--al-border) !important;
  border-radius: 6px !important;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
  border: none !important;
}

/* Related products */
.related.products h2,
.upsells.products h2 {
  color: var(--al-text) !important;
  font-family: var(--al-font-heading) !important;
  border-bottom: 1px solid var(--al-border) !important;
  padding-bottom: 12px !important;
  margin-bottom: 24px !important;
}

/* ─── Cart Page ───────────────────────────────────────── */
.woocommerce-cart .woocommerce,
.woocommerce-cart #primary {
  background: var(--al-bg) !important;
}

table.cart,
.woocommerce table.shop_table {
  background: var(--al-bg-card) !important;
  border: 1px solid var(--al-border) !important;
  border-collapse: separate !important;
  border-radius: 6px !important;
  overflow: hidden;
}

table.cart th,
.woocommerce table.shop_table th {
  background: var(--al-bg-elevated) !important;
  color: var(--al-text-muted) !important;
  font-family: var(--al-font-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid var(--al-border) !important;
}

table.cart td,
.woocommerce table.shop_table td {
  color: var(--al-text) !important;
  border-bottom: 1px solid var(--al-border) !important;
}

.woocommerce table.shop_table tr:last-child td {
  border-bottom: none !important;
}

.cart-collaterals .cart_totals,
.woocommerce .cart-collaterals .cart_totals {
  background: var(--al-bg-card) !important;
  border: 1px solid var(--al-border) !important;
  border-radius: 6px !important;
  padding: 24px !important;
}

.cart_totals h2 {
  color: var(--al-text) !important;
  font-family: var(--al-font-heading) !important;
}

/* ─── Checkout ────────────────────────────────────────── */
.woocommerce-checkout #primary,
.woocommerce-checkout .woocommerce {
  background: var(--al-bg) !important;
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
  background: var(--al-bg-card) !important;
  border: 1px solid var(--al-border) !important;
  border-radius: 6px !important;
  padding: 24px !important;
}

.woocommerce-checkout h3 {
  color: var(--al-text) !important;
  font-family: var(--al-font-heading) !important;
  border-bottom: 1px solid var(--al-border) !important;
  padding-bottom: 12px !important;
  margin-bottom: 20px !important;
}

#order_review,
#order_review_heading,
.woocommerce-checkout-review-order {
  background: var(--al-bg-card) !important;
  border: 1px solid var(--al-border) !important;
  border-radius: 6px !important;
  padding: 24px !important;
}

#order_review table,
.woocommerce-checkout-review-order-table {
  background: transparent !important;
  border: none !important;
  color: var(--al-text) !important;
}

#order_review table td,
#order_review table th {
  border-color: var(--al-border) !important;
  color: var(--al-text-muted) !important;
}

#payment,
.woocommerce #payment {
  background: var(--al-bg-elevated) !important;
  border-radius: 6px !important;
}

.woocommerce #payment div.payment_box {
  background: var(--al-bg-card) !important;
  color: var(--al-text-muted) !important;
}

.woocommerce #payment div.payment_box::before {
  border-bottom-color: var(--al-bg-card) !important;
}

/* ─── Sidebar & Widgets ───────────────────────────────── */
#secondary,
.widget-area,
.ast-sidebar-col {
  background: var(--al-bg) !important;
}

.widget,
.wp-block-widget-area .widget {
  background: var(--al-bg-card) !important;
  border: 1px solid var(--al-border) !important;
  border-radius: 6px !important;
  padding: 20px !important;
  margin-bottom: 20px !important;
}

.widget-title,
.widget .widget-title,
.widgettitle {
  color: var(--al-text) !important;
  font-family: var(--al-font-heading) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid var(--al-border) !important;
  padding-bottom: 10px !important;
  margin-bottom: 12px !important;
}

.widget ul li a,
.widget ol li a {
  color: var(--al-text-muted) !important;
  font-size: 14px !important;
}

.widget ul li a:hover {
  color: var(--al-accent) !important;
}

/* WooCommerce widget: filter by price */
.widget_price_filter .price_slider_wrapper .ui-slider {
  background: var(--al-border) !important;
}

.widget_price_filter .price_slider_wrapper .ui-slider .ui-slider-range {
  background: var(--al-accent) !important;
}

.widget_price_filter .price_slider_wrapper .ui-slider .ui-slider-handle {
  background: var(--al-accent) !important;
  border-color: var(--al-accent) !important;
}

.widget_price_filter .price_label {
  color: var(--al-text-muted) !important;
}

/* ─── Footer ──────────────────────────────────────────── */
#colophon,
.site-footer,
.ast-footer-overlay,
.ast-footer-outer-spacing,
.footer-widget-area,
.ast-above-footer,
.ast-below-footer,
.footer-adv,
.footer-adv-overlay {
  background-color: var(--al-bg-secondary) !important;
  border-top: 1px solid var(--al-border) !important;
  color: var(--al-text-muted) !important;
}

.ast-footer-widget-area,
.footer-widgets-area {
  background: var(--al-bg-secondary) !important;
  border-bottom: 1px solid var(--al-border) !important;
}

.footer-widget-area .widget-title,
.ast-footer-widget-area .widget-title {
  color: var(--al-text) !important;
}

.footer-widget-area p,
.footer-widget-area li,
.footer-widget-area a,
.ast-footer-widget-area p,
.ast-footer-widget-area li,
.ast-footer-widget-area a {
  color: var(--al-text-muted) !important;
  font-size: 14px !important;
}

.footer-widget-area a:hover,
.ast-footer-widget-area a:hover {
  color: var(--al-accent) !important;
}

.ast-copyright-wrapper,
.site-info,
.ast-footer-copyright {
  background: var(--al-bg) !important;
  border-top: 1px solid var(--al-border) !important;
  color: var(--al-text-subtle) !important;
  font-size: 12px !important;
  letter-spacing: 0.03em !important;
}

.ast-copyright-wrapper a,
.site-info a {
  color: var(--al-text-muted) !important;
}

.ast-copyright-wrapper a:hover {
  color: var(--al-accent) !important;
}

/* Footer links: white default, gold on hover.
   Astra's dynamic CSS sets footer link colors via --ast-global-color-*.
   Use html body prefix for highest author-origin specificity. */
html body .site-footer a,
html body #colophon a,
html body .ast-footer-widget-area a,
html body .footer-widget-area a,
html body .footer-adv a,
html body .ast-above-footer a,
html body .ast-below-footer a,
html body .ast-footer-overlay a {
  color: #FFFFFF !important;
}

html body .site-footer a:hover,
html body #colophon a:hover,
html body .ast-footer-widget-area a:hover,
html body .footer-widget-area a:hover,
html body .footer-adv a:hover,
html body .ast-above-footer a:hover,
html body .ast-below-footer a:hover,
html body .ast-footer-overlay a:hover {
  color: var(--al-accent) !important;
}

/* ─── Notices & Messages ──────────────────────────────── */
.woocommerce-message,
.woocommerce-info {
  background: var(--al-bg-elevated) !important;
  border-top-color: var(--al-accent) !important;
  color: var(--al-text) !important;
}

.woocommerce-error {
  background: var(--al-bg-elevated) !important;
  border-top-color: #E85555 !important;
  color: var(--al-text) !important;
}

.woocommerce-message a,
.woocommerce-info a {
  color: var(--al-accent) !important;
}

/* ─── Pagination ──────────────────────────────────────── */
.woocommerce-pagination .page-numbers,
.ast-pagination .page-numbers,
.page-numbers {
  color: var(--al-text-muted) !important;
  background: var(--al-bg-card) !important;
  border: 1px solid var(--al-border) !important;
}

.woocommerce-pagination .page-numbers.current,
.page-numbers.current,
.page-numbers:hover {
  background: var(--al-accent) !important;
  border-color: var(--al-accent) !important;
  color: #000 !important;
}

/* ─── Blog / Posts ────────────────────────────────────── */
.ast-article-post,
.ast-article-single,
article.post,
article.page {
  background: var(--al-bg-card) !important;
  border: 1px solid var(--al-border) !important;
  border-radius: 6px !important;
}

.entry-header .entry-title a {
  color: var(--al-text) !important;
}

.entry-header .entry-title a:hover {
  color: var(--al-accent) !important;
}

.entry-meta,
.entry-meta a,
.ast-post-meta,
.posted-on,
.byline {
  color: var(--al-text-subtle) !important;
  font-size: 12px !important;
}

.entry-content p,
.entry-content li {
  color: var(--al-text-muted) !important;
  line-height: 1.8 !important;
}

/* ─── Misc WooCommerce ────────────────────────────────── */
/* Star ratings */
.star-rating span::before,
.woocommerce-product-rating .star-rating span::before {
  color: var(--al-accent) !important;
}

.star-rating::before {
  color: var(--al-border-light) !important;
}

/* Dividers */
hr,
.wp-block-separator {
  border-color: var(--al-border) !important;
}

/* WooCommerce blocks */
.wc-block-grid .wc-block-grid__product {
  background: var(--al-bg-card) !important;
  border: 1px solid var(--al-border) !important;
  border-radius: 6px !important;
}

.wc-block-grid .wc-block-grid__product-title {
  color: var(--al-text) !important;
  font-family: var(--al-font-heading) !important;
}

.wc-block-grid .wc-block-grid__product-price {
  color: var(--al-accent) !important;
}

/* Afterpay — hide everywhere; doesn't match luxury brand aesthetic.
   Plugin uses custom HTML elements AND class names, cover both. */
.afterpay-placement,
.afterpay-paragraph,
.afterpay-widget,
afterpay-placement,
afterpay-modal,
afterpay-widget,
[class*="afterpay"],
[id*="afterpay"],
[class*="Afterpay"],
[id*="Afterpay"] {
  display: none !important;
}

/* ─── Out-of-Stock Badge ──────────────────────────────── */
.ast-shop-product-out-of-stock,
.woocommerce ul.products li.product .ast-shop-product-out-of-stock {
  background: rgba(10, 10, 10, 0.88) !important;
  border: 1px solid var(--al-accent) !important;
  color: var(--al-accent) !important;
  font-family: var(--al-font-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border-radius: 3px !important;
}

/* ─── Breadcrumbs ─────────────────────────────────────── */
.woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb {
  color: rgba(200, 169, 110, 0.65) !important;
}

.woocommerce-breadcrumb a {
  color: rgba(200, 169, 110, 0.65) !important;
}

.woocommerce-breadcrumb a:hover {
  color: var(--al-accent) !important;
}

/* ─── Sort Dropdown ───────────────────────────────────── */
.woocommerce-ordering select,
select.orderby {
  color: #CCCCCC !important;
  background-color: var(--al-bg-elevated) !important;
  border-color: var(--al-border-light) !important;
}

/* ─── Pagination (inactive) ───────────────────────────── */
.woocommerce-pagination .page-numbers,
.ast-pagination .page-numbers,
.page-numbers {
  color: #C0C0C0 !important;
  border-color: #555555 !important;
}

/* ─── Footer refinements ──────────────────────────────── */
.site-below-footer-wrap,
.ast-footer-copyright,
.ast-copyright-wrapper {
  color: #AAAAAA !important;
  border-top: 1px solid var(--al-border) !important;
}

/* Footer widget box — remove visible card border, seamless blend */
.site-footer .widget,
.ast-footer-widget-area .widget,
.footer-widget-area .widget {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 16px !important;
}

.site-footer .widget-title,
.ast-footer-widget-area .widget-title,
.footer-widget-area .widget-title {
  font-size: 18px !important;
  letter-spacing: 0.06em !important;
  padding-bottom: 12px !important;
  margin-bottom: 16px !important;
}

/* ─── Spectra / UAGB product description text ─────────── */
.uagb-ifb-desc,
.uagb-ifb-desc p,
.uagb-icon-list-desc,
[class*="uagb-"] p {
  color: #C0C0C0 !important;
}

/* ─── WooCommerce category labels ─────────────────────── */
.ast-woo-product-category,
.woocommerce ul.products li.product .ast-woo-product-category {
  color: rgba(200, 169, 110, 0.75) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

/* Selection highlight */
::selection {
  background-color: var(--al-accent);
  color: #000;
}

/* Scrollbar (Webkit) */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: var(--al-bg-secondary);
}

::-webkit-scrollbar-thumb {
  background: var(--al-border-light);
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--al-accent);
}
