/**
 * Hot House — site-wide fixes (Elementor + WooCommerce + WP defaults)
 * Typography: Heebo only · Links: navy/gold · Readable text on light sections
 */

/* -------------------------------------------------------------------------- */
/* No horizontal scroll / layout shift                                          */
/* -------------------------------------------------------------------------- */

html {
  /* clip on html breaks position:sticky site-wide — clip content areas only */
  overflow-x: visible;
  max-width: 100%;
}

body.hh-theme {
  /* Do NOT clip body — breaks position:sticky on header descendants */
  overflow-x: visible;
  max-width: 100%;
}

body.hh-theme #page,
body.hh-theme .site {
  max-width: 100%;
}

/* Clip horizontal bleed on main content only (not header/footer). */
body.hh-theme .elementor-location-single,
body.hh-theme main.site-main {
  max-width: 100%;
  overflow-x: clip;
}

/* Header/footer must stay overflow:visible for sticky nav */
body.hh-theme .elementor-location-header,
body.hh-theme header.elementor-location-header,
body.hh-theme .elementor-location-footer,
body.hh-theme footer.elementor-location-footer {
  max-width: 100%;
  overflow: visible !important;
}

body.hh-theme .elementor-location-header .e-con,
body.hh-theme .elementor-location-header .e-con.e-parent,
body.hh-theme .elementor-location-header .e-con.e-child {
  overflow: visible !important;
}

body.hh-theme .e-con.e-parent,
body.hh-theme .e-con.e-child {
  max-width: 100%;
}

/* -------------------------------------------------------------------------- */
/* Typography — Heebo everywhere                                                */
/* -------------------------------------------------------------------------- */

body.hh-theme,
body.hh-theme .elementor-widget-heading .elementor-heading-title,
body.hh-theme .elementor-widget-text-editor,
body.hh-theme .woocommerce,
body.hh-theme .woocommerce-loop-product__title {
  font-family: var(--hh-font-sans) !important;
}

/* -------------------------------------------------------------------------- */
/* Links — remove pink / purple Woo & Elementor defaults                        */
/* -------------------------------------------------------------------------- */

body.hh-theme a:not(.hh-btn):not(.button):not(.wp-block-button__link):not(.added_to_cart):not([class*="elementor-button"]) {
  color: var(--hh-navy);
}

body.hh-theme a:not(.hh-btn):not(.button):not(.wp-block-button__link):not(.added_to_cart):not([class*="elementor-button"]):hover,
body.hh-theme a:not(.hh-btn):not(.button):not(.wp-block-button__link):not(.added_to_cart):not([class*="elementor-button"]):focus {
  color: var(--hh-gold);
}

body.hh-theme .woocommerce a,
body.hh-theme .woocommerce-page a,
body.hh-theme .woocommerce-breadcrumb a,
body.hh-theme .elementor a:not([class*="elementor-button"]) {
  color: var(--hh-navy);
}

body.hh-theme .woocommerce a:hover,
body.hh-theme .woocommerce-page a:hover,
body.hh-theme .woocommerce-breadcrumb a:hover,
body.hh-theme .elementor a:not([class*="elementor-button"]):hover {
  color: var(--hh-gold);
}

/* WooCommerce legacy accent (often pink/magenta) */
body.hh-theme .woocommerce-info a,
body.hh-theme .woocommerce-message a,
body.hh-theme .woocommerce-error a,
body.hh-theme .woocommerce-MyAccount-navigation a,
body.hh-theme .product_meta a,
body.hh-theme .woocommerce-tabs a,
body.hh-theme .widget a {
  color: var(--hh-navy) !important;
}

body.hh-theme .woocommerce-info a:hover,
body.hh-theme .woocommerce-message a:hover,
body.hh-theme .product_meta a:hover,
body.hh-theme .woocommerce-tabs a:hover,
body.hh-theme .widget a:hover {
  color: var(--hh-gold) !important;
}

/* -------------------------------------------------------------------------- */
/* Light sections — prevent white text on pale backgrounds                    */
/* -------------------------------------------------------------------------- */

body.hh-theme [style*="background-color: #F6F6F7"] .elementor-heading-title,
body.hh-theme [style*="background-color: #f6f6f7"] .elementor-heading-title,
body.hh-theme [style*="background-color: #ECE8E1"] .elementor-heading-title,
body.hh-theme [style*="background-color: #ece8e1"] .elementor-heading-title,
body.hh-theme [style*="background-color: #D9D6D1"] .elementor-heading-title,
body.hh-theme [style*="background-color: #d9d6d1"] .elementor-heading-title,
body.hh-theme [style*="background-color: #FFFFFF"] .elementor-heading-title,
body.hh-theme [style*="background-color: #ffffff"] .elementor-heading-title,
body.hh-theme [style*="background-color: rgb(246, 246, 247)"] .elementor-heading-title,
body.hh-theme [style*="background-color: rgb(236, 232, 225)"] .elementor-heading-title,
body.hh-theme [style*="background-color: rgb(217, 214, 209)"] .elementor-heading-title,
body.hh-theme [style*="background-color: rgb(255, 255, 255)"] .elementor-heading-title,
body.hh-theme [style*="background-color: #F6F6F7"] .elementor-widget-text-editor,
body.hh-theme [style*="background-color: #f6f6f7"] .elementor-widget-text-editor,
body.hh-theme [style*="background-color: #ECE8E1"] .elementor-widget-text-editor,
body.hh-theme [style*="background-color: #ece8e1"] .elementor-widget-text-editor,
body.hh-theme [style*="background-color: #FFFFFF"] .elementor-widget-text-editor,
body.hh-theme [style*="background-color: #ffffff"] .elementor-widget-text-editor,
body.hh-theme [style*="background-color: rgb(246, 246, 247)"] .elementor-widget-text-editor,
body.hh-theme [style*="background-color: rgb(236, 232, 225)"] .elementor-widget-text-editor,
body.hh-theme [style*="background-color: rgb(255, 255, 255)"] .elementor-widget-text-editor {
  color: var(--hh-black) !important;
}

body.hh-theme [style*="background-color: #F6F6F7"] .elementor-widget-text-editor p,
body.hh-theme [style*="background-color: #f6f6f7"] .elementor-widget-text-editor p,
body.hh-theme [style*="background-color: #ECE8E1"] .elementor-widget-text-editor p,
body.hh-theme [style*="background-color: #ece8e1"] .elementor-widget-text-editor p,
body.hh-theme [style*="background-color: #FFFFFF"] .elementor-widget-text-editor p,
body.hh-theme [style*="background-color: #ffffff"] .elementor-widget-text-editor p {
  color: var(--hh-soft-gray) !important;
}

/* Inline white on light (common Elementor copy-paste) */
body.hh-theme .elementor-heading-title[style*="color: #ffffff"],
body.hh-theme .elementor-heading-title[style*="color: #FFFFFF"],
body.hh-theme .elementor-heading-title[style*="color: rgb(255, 255, 255)"],
body.hh-theme .elementor-widget-text-editor[style*="color: #ffffff"],
body.hh-theme .elementor-widget-text-editor[style*="color: #FFFFFF"],
body.hh-theme .elementor-widget-text-editor[style*="color: rgb(255, 255, 255)"] {
  color: var(--hh-black) !important;
}

/* Narrow / sand sections from child theme */
body.hh-theme .hh-section--sand .elementor-heading-title,
body.hh-theme .hh-section--white .elementor-heading-title,
body.hh-theme .hh-section--light .elementor-heading-title,
body.hh-theme .hh-landing .elementor-heading-title,
body.hh-theme .hh-landing .elementor-widget-text-editor {
  color: var(--hh-black);
}
