/* ==========================================
   ERS — BASE STYLES
   Global resets, cards, buttons, price, links
   ========================================== */

/* ---- Body & Global ---- */
body.elementor-page,
body.woocommerce {
  background-color: var(--ers-panel) !important;
  color: var(--ers-text);
  font-family: var(--ers-body);
}

/* ---- Links ---- */
a { color: var(--ers-link); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--ers-link-hover); }

/* ---- Headings ---- */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: var(--ers-head);
  color: var(--ers-text);
  letter-spacing: 0.02em;
}

/* ---- Buttons ---- */
.ers-btn,
.elementor-button {
  font-family: var(--ers-body);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: var(--ers-radius-sm);
  transition: all .25s ease;
}

/* Primary CTA */
.ers-btn--primary,
.elementor-button.elementor-size-md {
  background: var(--ers-cta) !important;
  color: var(--ers-cta-contrast) !important;
  border: none;
}
.ers-btn--primary:hover,
.elementor-button.elementor-size-md:hover {
  background: var(--ers-cta-hover) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(200,168,75,.3);
}

/* Secondary / Teal CTA */
.ers-btn--secondary {
  background: var(--ers-teal);
  color: #fff;
  border: none;
}
.ers-btn--secondary:hover {
  background: var(--ers-teal-2);
}

/* Ghost / Outline */
.ers-btn--ghost {
  background: transparent;
  color: var(--ers-cta);
  border: 2px solid var(--ers-cta);
}
.ers-btn--ghost:hover {
  background: var(--ers-cta);
  color: var(--ers-cta-contrast);
}

/* ---- Cards (generic) ---- */
.ers-card {
  background: var(--ers-panel-2);
  border: 1px solid var(--ers-border);
  border-radius: var(--ers-radius);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease;
}
.ers-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,.4);
}

/* ---- Price ---- */
.ers-price {
  font-family: var(--ers-head);
  font-weight: 600;
  color: var(--ers-text);
}
.ers-price--sale {
  color: var(--ers-sale-1);
}
.ers-price--was {
  color: var(--ers-text-dim);
  text-decoration: line-through;
  font-size: 0.85em;
}

/* ---- Sale Badge ---- */
.ers-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  font-family: var(--ers-body);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.ers-badge--sale {
  background: var(--ers-green-2);
  color: var(--ers-green);
}
.ers-badge--new {
  background: rgba(62,122,141,.2);
  color: var(--ers-teal-light);
}

/* ---- Utility ---- */
.ers-text-muted { color: var(--ers-muted); }
.ers-text-gold { color: var(--ers-cta); }
.ers-text-teal { color: var(--ers-teal-light); }
.ers-bg-panel { background: var(--ers-panel); }
.ers-bg-panel-2 { background: var(--ers-panel-2); }
.ers-bg-warm { background: var(--ers-panel-warm); }

/* ---- Cross-site Banner ---- */
.ers-crosslink-bar {
  background: var(--ers-teal-3);
  color: #fff;
  text-align: center;
  padding: 10px 16px;
  font-family: var(--ers-body);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
}
.ers-crosslink-bar a {
  color: var(--ers-cta);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ers-crosslink-bar a:hover {
  color: var(--ers-cta-hover);
}

/* ---- WooCommerce Dark Theme Overrides ---- */

/* Shop / Archive */
body.woocommerce,
body.woocommerce-page,
body.archive,
body.single-product,
body.page {
  background-color: var(--ers-panel) !important;
  color: var(--ers-text);
}

/* Product titles in shop */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product a {
  color: var(--ers-text);
}
.woocommerce ul.products li.product a:hover {
  color: var(--ers-link-hover);
}

/* Prices */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce .price {
  color: var(--ers-text) !important;
}
.woocommerce .price del {
  color: var(--ers-text-dim) !important;
}
.woocommerce .price ins {
  color: var(--ers-sale-1) !important;
}

/* Sale badge */
.woocommerce span.onsale {
  background: var(--ers-sale-1);
  color: #fff;
  border-radius: 999px;
}

/* Add to cart buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background-color: var(--ers-cta) !important;
  color: var(--ers-cta-contrast) !important;
  border-radius: var(--ers-radius-sm) !important;
  font-family: var(--ers-body);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border: none !important;
  transition: all .25s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background-color: var(--ers-cta-hover) !important;
  color: var(--ers-cta-contrast) !important;
}

/* Alt buttons (view cart, etc) */
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background-color: var(--ers-teal) !important;
  color: #fff !important;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background-color: var(--ers-teal-2) !important;
}

/* Cart / Checkout tables */
.woocommerce table.shop_table {
  background: var(--ers-panel-2);
  border-color: var(--ers-border);
  color: var(--ers-text);
}
.woocommerce table.shop_table th {
  color: var(--ers-cta);
  font-family: var(--ers-head);
  border-color: var(--ers-border);
}
.woocommerce table.shop_table td {
  color: var(--ers-text);
  border-color: var(--ers-border);
}

/* Cart totals */
.woocommerce .cart_totals h2,
.woocommerce .cross-sells h2 {
  color: var(--ers-text) !important;
  font-family: var(--ers-head);
}

/* Form fields */
.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
  color: var(--ers-text);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea {
  background: var(--ers-panel-2);
  color: var(--ers-text);
  border: 1px solid var(--ers-border);
  border-radius: var(--ers-radius-sm);
}

/* Breadcrumbs */
.woocommerce .woocommerce-breadcrumb {
  color: var(--ers-text-dim);
}
.woocommerce .woocommerce-breadcrumb a {
  color: var(--ers-link);
}

/* Notices / Messages */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info {
  background: var(--ers-panel-2);
  color: var(--ers-text);
  border-top-color: var(--ers-teal);
}
.woocommerce .woocommerce-error {
  background: var(--ers-panel-2);
  color: var(--ers-text);
  border-top-color: var(--ers-red);
}

/* Quantity inputs */
.woocommerce .quantity .qty {
  background: var(--ers-panel-2);
  color: var(--ers-text);
  border: 1px solid var(--ers-border);
}

/* Tabs on product pages */
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--ers-text-dim);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--ers-cta);
}

/* Elementor form overrides */
.elementor-field-textual {
  background: var(--ers-panel-2) !important;
  color: var(--ers-text) !important;
  border: 1px solid var(--ers-border) !important;
  border-radius: var(--ers-radius-sm) !important;
}
.elementor-field-label {
  color: var(--ers-text) !important;
}

/* Widget titles (sidebar etc) */
.widget-title,
.wp-block-heading {
  color: var(--ers-text);
  font-family: var(--ers-head);
}

/* Generic text on dark */
p, li, td, th, dd, dt, span, label {
  color: var(--ers-muted);
}
