/* WBH styling guardrails — Thrive remnant + AI-slop containment.
 * Loaded sitewide after wbh.css. Tokens scoped to brand surfaces.
 * Do not introduce purple/cream AI-default look; stay on AIC teal/navy/gold.
 */

/* ---- Hide parked Thrive / builder chrome that still leaks into HTML ---- */
.thrive-colors-palette-config,
.thrv_wrapper > .tve_s_item:empty,
.tve_editor_main_content .tve_empty_dropzone,
grammarly-extension,
grammarly-extension-vbars,
[class*="grammarly-"],
/* Do NOT hide .tve_flt — Thrive uses it as the live homepage style wrap
   (.tve_flt.tcb-style-wrap). Hiding it collapses #wbh-seo-home to 0×0. */
.tcb-hidden,
.tve_shortcode_rendered:empty {
  display: none !important;
}

/* Visible text dumps of Thrive CONFIG blobs (defense in depth vs PHP strip) */
.entry-content:has(> :first-child:is(p, div):empty) > :first-child:empty {
  display: none;
}

/* ---- Canonical containers — keep commerce/booking surfaces cohesive ---- */
.wbh-container,
.wbh-consult__inner,
.wbh-section > .wbh-container,
.woocommerce .wbh-container {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 3vw, 28px);
  padding-right: clamp(16px, 3vw, 28px);
  box-sizing: border-box;
}

/* Product booking / consult band — one clear job */
.wbh-consult {
  background: var(--paper, #F6FAFD);
  border-top: 1px solid var(--line, #d9e3ee);
}
.wbh-consult__title {
  color: var(--deep, #1F4E79);
  font-weight: 700;
  letter-spacing: -0.01em;
}
.wbh-consult__price {
  color: var(--teal, #1372D3);
  font-weight: 600;
}

/* Sticky mobile booking bar — never overlap footer legal */
.wbh-sticky {
  z-index: 45;
  background: rgba(255, 255, 255, 0.96);
  border-top: 1px solid var(--line, #d9e3ee);
  backdrop-filter: blur(8px);
}
.wbh-sticky .wbh-btn {
  background: var(--teal, #1372D3);
  color: #fff;
  border-radius: 12px;
}
.wbh-sticky .wbh-btn.wbh-sticky__call {
  background: var(--deep, #1F4E79);
}

/* ---- Internal SEO booking rail on product pages ---- */
.wbh-product-booking-links {
  margin: 1.75rem 0 0;
  padding: 1.25rem 1.35rem;
  border: 1px solid var(--line, #d9e3ee);
  border-radius: var(--radius, 16px);
  background: var(--cream, #EEF4FA);
}
.wbh-product-booking-links h2 {
  margin: 0 0 0.75rem;
  font-size: 1.05rem;
  color: var(--deep, #1F4E79);
}
.wbh-product-booking-links ul {
  margin: 0;
  padding-left: 1.15rem;
  columns: 2;
  gap: 1.25rem;
}
.wbh-product-booking-links li {
  margin: 0 0 0.45rem;
  break-inside: avoid;
}
.wbh-product-booking-links a {
  color: var(--teal, #1372D3);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.wbh-pagehead--deal .wbh-pagehead__booking {
  margin: 0.85rem 0 0;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--muted, #5a6b7d);
}
.wbh-pagehead--deal .wbh-pagehead__booking a {
  color: var(--teal, #1372D3);
  font-weight: 600;
}
@media (max-width: 640px) {
  .wbh-product-booking-links ul {
    columns: 1;
  }
}

/* ---- Deal campaign booking band (all deal-template pages) ---- */
.wbh-deal-booking-band {
  margin: 1.75rem 0 0;
  padding: 1.25rem 1.35rem;
  border: 1px solid rgba(19, 114, 211, 0.22);
  border-left: 4px solid var(--teal, #1372D3);
  background: #f7fbff;
  border-radius: 0 12px 12px 0;
}
.wbh-deal-booking-band p {
  margin: 0 0 0.75rem;
  color: var(--navy, #0A1628);
  line-height: 1.55;
}
.wbh-deal-booking-band p:last-child {
  margin-bottom: 0;
}
.wbh-deal-booking-band .wbh-btn {
  margin: 0 0.5rem 0.5rem 0;
}
.wbh-deal-booking-band .wbh-inline-link {
  color: var(--teal, #1372D3);
  font-weight: 600;
}

/* ---- AI-slop visual containment (generic card stacks / glow pills) ---- */
.entry-content .wp-block-buttons .wp-block-button__link.is-style-fill:not(.wbh-btn),
.entry-content a.button:not(.wbh-btn):not(.button.alt):not(.checkout-button) {
  border-radius: 12px;
  box-shadow: none;
}

/* Ubermenu / legacy chrome should not paint Thrive pink/purple leftovers */
.ubermenu .ubermenu-target-title {
  font-family: var(--wbh-font, 'Poppins', system-ui, sans-serif);
}

/* Reduce motion for sticky/consult transitions when requested */
@media (prefers-reduced-motion: reduce) {
  .wbh-sticky,
  .wbh-consult,
  .wbh-btn {
    transition: none !important;
  }
}
