/*
 * Heavenly Blinds WordPress adapter layer.
 * Canonical visual rules live in the generated scoped design-system stylesheet.
 * This file only guards proven/high-risk WordPress / Elementor collisions.
 */

/* Prevent host :visited rules from recolouring canonical links. */
.hb-design-system .text-link:visited,
.hb-design-system .area-card__link:visited,
.hb-design-system .area-nav__link:visited:not(.is-active) {
  color: var(--surface-link);
}

.hb-design-system .area-nav__link.is-active:visited {
  color: var(--surface-heading);
}

.hb-design-system .comparison-matrix__link:visited {
  color: var(--surface-kicker);
}

.hb-design-system a.content-card:visited,
.hb-design-system a.mosaic-card:visited,
.hb-design-system a.showcase-card:visited {
  color: inherit;
}

.hb-design-system .button--primary:visited {
  color: var(--button-primary-fg);
}

.hb-design-system .button--secondary:visited {
  color: var(--button-secondary-fg);
}

/* Host anchor/button Theme Styles must not change component sizing on hover. */
.hb-design-system .area-card__link,
.hb-design-system .area-nav__link,
.hb-design-system .text-link,
.hb-design-system .button {
  font-family: var(--font-body);
  text-transform: none;
}

.hb-design-system .area-card__link,
.hb-design-system .area-nav__link {
  font-size: var(--type-body-sm);
  line-height: var(--leading-ui);
}

/* Native-table isolation. Elementor/theme zebra and hover rules must not replace canonical matrix variables. */
.hb-design-system table.comparison-matrix {
  margin: 0;
  border: 0;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--surface-card);
  color: var(--surface-text);
}

.hb-design-system .comparison-matrix thead > tr > th {
  background: var(--matrix-head-bg);
  color: var(--matrix-head-fg);
}

.hb-design-system .comparison-matrix tbody > tr:nth-child(odd) > th,
.hb-design-system .comparison-matrix tbody > tr:nth-child(odd) > td {
  background: var(--matrix-row-bg);
}

.hb-design-system .comparison-matrix tbody > tr:nth-child(even) > th,
.hb-design-system .comparison-matrix tbody > tr:nth-child(even) > td {
  background: var(--matrix-row-alt);
}

@media (hover: hover) and (pointer: fine) {
  .hb-design-system .comparison-matrix tbody > tr:hover > th,
  .hb-design-system .comparison-matrix tbody > tr:hover > td {
    background: var(--matrix-row-hover);
  }
}

.hb-design-system .comparison-matrix th,
.hb-design-system .comparison-matrix td {
  border-inline-start: 0;
  border-inline-end: 0;
}

/* Fluent Forms must inherit the canonical panel typography rather than Elementor global controls. */
.hb-design-system .form-panel :where(.fluentform, .frm-fluent-form) {
  font-family: var(--font-body);
  color: var(--color-charcoal);
}

/* Progressive enhancement: reviews remain horizontally readable before/without JS. */
.hb-design-system .reviews-carousel:not(.is-enhanced){overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
.hb-design-system .reviews-carousel:not(.is-enhanced) .reviews-carousel__track{scroll-snap-type:inline proximity}
.hb-design-system .reviews-carousel:not(.is-enhanced) .review-card{scroll-snap-align:start}

/* v6.0.0 — production shell collision guards.
   These are intentionally scoped and important only where host Theme Styles are known
   to override anchor/button presentation after the child-theme component layer. */
@media (min-width:72rem){
  body .hb-site-header .hb-header-desktop-cta,
  body .hb-site-header .hb-header-desktop-cta:link,
  body .hb-site-header .hb-header-desktop-cta:visited{
    display:inline-flex!important;
    color:var(--color-white)!important;
    -webkit-text-fill-color:var(--color-white)!important;
    background:var(--color-navy-deep)!important;
    border-color:var(--color-navy-deep)!important;
    text-decoration:none!important;
  }
  body .hb-site-header .hb-header-desktop-cta:hover,
  body .hb-site-header .hb-header-desktop-cta:focus-visible,
  body .hb-site-header .hb-header-desktop-cta:active{
    color:var(--color-white)!important;
    -webkit-text-fill-color:var(--color-white)!important;
    background:var(--color-navy)!important;
    border-color:var(--color-navy)!important;
  }
}
body .hb-site-footer .hb-footer-link,
body .hb-site-footer .hb-footer-link:link,
body .hb-site-footer .hb-footer-link:visited{
  color:rgba(255,255,255,.78)!important;
  -webkit-text-fill-color:rgba(255,255,255,.78)!important;
}
body .hb-site-footer .hb-footer-link:hover,
body .hb-site-footer .hb-footer-link:focus-visible,
body .hb-site-footer .hb-footer-link:active{
  color:var(--color-gold-soft)!important;
  -webkit-text-fill-color:var(--color-gold-soft)!important;
  text-decoration:none!important;
}

/* v6.0.0 — global-shell action states. Keep integration overrides here, not in components. */
body .hb-site-header .hb-nav-mobile-meta .hb-button--gold,
body .hb-site-header .hb-nav-mobile-meta .hb-button--gold:link,
body .hb-site-header .hb-nav-mobile-meta .hb-button--gold:visited{
  color:var(--color-navy-deep)!important;
  -webkit-text-fill-color:var(--color-navy-deep)!important;
  background:var(--color-gold)!important;
  border-color:var(--color-gold)!important;
  text-decoration:none!important;
}
body .hb-site-header .hb-nav-mobile-meta .hb-button--gold:hover,
body .hb-site-header .hb-nav-mobile-meta .hb-button--gold:focus-visible,
body .hb-site-header .hb-nav-mobile-meta .hb-button--gold:active{
  color:var(--color-navy-deep)!important;
  -webkit-text-fill-color:var(--color-navy-deep)!important;
  background:var(--color-gold-soft)!important;
  border-color:var(--color-gold-soft)!important;
}
body .hb-floating-appointment,
body .hb-floating-appointment:link,
body .hb-floating-appointment:visited{
  color:var(--color-white)!important;
  -webkit-text-fill-color:var(--color-white)!important;
  background:var(--color-navy-deep)!important;
  text-decoration:none!important;
}
body .hb-floating-appointment:hover,
body .hb-floating-appointment:focus-visible,
body .hb-floating-appointment:active{
  color:var(--color-white)!important;
  -webkit-text-fill-color:var(--color-white)!important;
  background:var(--color-navy)!important;
}
body .hb-site-footer .hb-footer-contact__value:link,
body .hb-site-footer .hb-footer-contact__value:visited{
  color:var(--color-white)!important;
  -webkit-text-fill-color:var(--color-white)!important;
}
body .hb-site-footer a.hb-footer-contact__value:hover,
body .hb-site-footer a.hb-footer-contact__value:focus-visible,
body .hb-site-footer a.hb-footer-contact__value:active{
  color:var(--color-gold-soft)!important;
  -webkit-text-fill-color:var(--color-gold-soft)!important;
}
body .hb-site-footer .hb-footer-review,
body .hb-site-footer .hb-footer-review:link,
body .hb-site-footer .hb-footer-review:visited{
  color:var(--color-white)!important;
  -webkit-text-fill-color:var(--color-white)!important;
  text-decoration:none!important;
}
body .hb-site-footer .hb-social-link,
body .hb-site-footer .hb-social-link:link,
body .hb-site-footer .hb-social-link:visited,
body .hb-site-header .hb-social-link,
body .hb-site-header .hb-social-link:link,
body .hb-site-header .hb-social-link:visited{
  text-decoration:none!important;
}
body .hb-error-main .hb-error-primary,
body .hb-error-main .hb-error-primary:link,
body .hb-error-main .hb-error-primary:visited{
  color:var(--color-navy-deep)!important;
  -webkit-text-fill-color:var(--color-navy-deep)!important;
  background:var(--color-gold)!important;
  border-color:var(--color-gold)!important;
  text-decoration:none!important;
}
body .hb-error-main .hb-error-primary:hover,
body .hb-error-main .hb-error-primary:focus-visible,
body .hb-error-main .hb-error-primary:active{
  color:var(--color-navy-deep)!important;
  -webkit-text-fill-color:var(--color-navy-deep)!important;
  background:var(--color-gold-soft)!important;
  border-color:var(--color-gold-soft)!important;
}
body .hb-error-main .hb-error-secondary,
body .hb-error-main .hb-error-secondary:link,
body .hb-error-main .hb-error-secondary:visited{
  color:var(--color-white)!important;
  -webkit-text-fill-color:var(--color-white)!important;
  text-decoration:none!important;
}
body .hb-error-main .hb-error-meta a,
body .hb-error-main .hb-error-meta a:link,
body .hb-error-main .hb-error-meta a:visited{
  color:var(--color-white)!important;
  -webkit-text-fill-color:var(--color-white)!important;
  text-decoration:underline;
  text-decoration-color:rgba(240,161,25,.75);
  text-underline-offset:.18em;
}
body .hb-error-main .hb-error-meta a:hover,
body .hb-error-main .hb-error-meta a:focus-visible{
  color:var(--color-gold-soft)!important;
  -webkit-text-fill-color:var(--color-gold-soft)!important;
}
