/* ============================================================
   Polish layer - Weddings by Him and Her
   Stays within the existing design system:
   maroon #6e2121, deep maroon #581a1a, tan #b49b7b
   Loaded after the builder stylesheet; small, surgical overrides.
   ============================================================ */

/* 1. Typography: balance multi-line headings so no word hangs
      alone on its own line (fixes the hero "HER" orphan). */
h1, h2, h3 {
  text-wrap: balance;
}

/* 2. CTA hierarchy: one clear primary action in the hero.
      "Inquire" becomes a filled brand button; "Pricing" stays outlined. */
#zLnMt0 {
  background-color: #6e2121 !important;
  border-color: #6e2121 !important;
  color: #ffffff !important;
}
#zLnMt0:hover {
  background-color: #581a1a !important;
  border-color: #581a1a !important;
  color: #ffffff !important;
}

/* 3. Interaction states: gentle press feedback on all buttons. */
.grid-button:active {
  transform: translateY(1px);
}

/* 4. Accessibility: visible keyboard focus in brand color.
      (Invisible to mouse users, essential for keyboard users.) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 2px solid #6e2121;
  outline-offset: 3px;
  border-radius: 2px;
}

/* 5. Branded text selection. */
::selection {
  background: #6e2121;
  color: #ffffff;
}

/* 6. Floating action dock (sticky Inquire + packages jump). */
.wbhh-dock {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9000;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}
.wbhh-dock--visible {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.wbhh-pill {
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 13px 22px;
  border-radius: 999px;
  cursor: pointer;
  box-shadow: 0 6px 22px rgba(29, 30, 32, 0.28);
  transition: background-color 0.2s ease-out, color 0.2s ease-out, transform 0.15s ease-out;
}
.wbhh-pill:active {
  transform: translateY(1px);
}
.wbhh-pill--solid {
  background: #6e2121;
  color: #ffffff;
  border: 1px solid #6e2121;
}
.wbhh-pill--solid:hover {
  background: #581a1a;
  border-color: #581a1a;
}
.wbhh-pill--ghost {
  background: rgba(255, 255, 255, 0.96);
  color: #6e2121;
  border: 1px solid #6e2121;
}
.wbhh-pill--ghost:hover {
  background: #6e2121;
  color: #ffffff;
}

/* 7. Respect reduced-motion for the additions above. */
@media (prefers-reduced-motion: reduce) {
  .grid-button:active,
  .wbhh-pill:active {
    transform: none;
  }
  .wbhh-dock {
    transition: none;
    transform: none;
  }
}

/* 8. Packages quick-view overlay. */
.wbhh-overlay {
  position: fixed;
  inset: 0;
  z-index: 9500;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(29, 30, 32, 0.55);
  backdrop-filter: blur(6px);
}
.wbhh-overlay--open { display: flex; }
.wbhh-overlay__panel {
  position: relative;
  background: #ffffff;
  max-width: 720px;
  width: 100%;
  max-height: 86vh;
  overflow-y: auto;
  padding: 44px 40px 36px;
  box-shadow: 0 30px 80px rgba(29, 30, 32, 0.35);
  font-family: Poppins, sans-serif;
  color: #1d1e20;
}
.wbhh-overlay__close {
  position: absolute;
  top: 10px;
  right: 14px;
  background: none;
  border: none;
  font-size: 30px;
  line-height: 1;
  color: #6e2121;
  cursor: pointer;
  padding: 6px;
}
.wbhh-overlay__eyebrow {
  font-family: Oswald, Poppins, sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #6e2121;
  margin: 0 0 22px;
}
.wbhh-overlay__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
}
@media (max-width: 620px) {
  .wbhh-overlay__cols { grid-template-columns: 1fr; }
  .wbhh-overlay__panel { padding: 38px 22px 28px; }
}
.wbhh-overlay__cols h3 {
  font-family: Merriweather, Georgia, serif;
  font-size: 18px;
  font-weight: 400;
  color: #6e2121;
  margin: 0 0 10px;
}
.wbhh-overlay__cols ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.wbhh-overlay__cols li {
  padding: 9px 0;
  border-top: 1px solid #e8e2d8;
  font-size: 13.5px;
  line-height: 1.5;
}
.wbhh-overlay__cols b { font-weight: 600; }
.wbhh-tag {
  display: inline-block;
  background: #6e2121;
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-radius: 999px;
  padding: 2px 9px;
  margin-left: 6px;
  vertical-align: 1px;
}
.wbhh-overlay__note {
  margin: 22px 0 26px;
  font-size: 12.5px;
  line-height: 1.6;
  color: #6b6259;
}
.wbhh-overlay__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.wbhh-overlay__actions .wbhh-pill--ghost {
  box-shadow: none;
}

/* 9. Duo bundle highlight in overlay. */
.wbhh-bundle {
  margin-top: 22px;
  border: 1px solid #6e2121;
  padding: 14px 16px;
  font-size: 13.5px;
  line-height: 1.55;
}
.wbhh-bundle .wbhh-tag { margin: 0 6px 0 0; }

/* 10. Review quote in overlay. */
.wbhh-overlay__quote {
  margin: 18px 0 0;
  font-size: 13px;
  line-height: 1.6;
  color: #1d1e20;
  font-style: italic;
}
.wbhh-overlay__quote span {
  display: block;
  font-style: normal;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #6e2121;
  margin-top: 4px;
}

/* 11. Mobile: package card line items on one line, "Most Popular!"
       labels never clipped by the card edge (inherited builder quirk). */
@media (max-width: 768px) {
  #zV3Av4 h3, #zQymyA h3, #zfM-Xn h3, #z4tzXr h3,
  #z0WwWw h3, #zzZ00p h3, #zuRPYR h3, #zJ9-gP h3, #z3Qd-U h3,
  #zmljRT h3, #zsjZsW h3 {
    white-space: nowrap;
    overflow: visible;
  }
}

/* 12. "Now Booking" trust strip (replaces the wrapping stats line). */
.wbhh-stat {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  vertical-align: top;
  padding: 2px clamp(14px, 2.2vw, 34px);
  border-left: 1px solid rgba(110, 33, 33, 0.18);
  line-height: 1.2;
}
.wbhh-stat:first-child { border-left: none; }
.wbhh-stat b {
  font-family: Merriweather, Georgia, serif;
  font-weight: 400;
  font-size: clamp(20px, 2vw, 28px);
  color: #6e2121;
  white-space: nowrap;
}
.wbhh-stat i {
  font-style: normal;
  font-family: Oswald, Poppins, sans-serif;
  font-weight: 400;
  font-size: 10.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #6b6259;
  margin-top: 5px;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .wbhh-stat {
    width: 44%;
    padding: 8px 0;
    border-left: none;
  }
  .wbhh-stat b { font-size: 19px; }
  .wbhh-stat i { font-size: 9px; }
}

/* 12b. Let the trust strip span one row on desktop (its builder box is 412px).
       Horizontal centering is measured in polish.js so it holds at every
       viewport width. */
@media (min-width: 769px) {
  #zaUUKw h3 {
    width: max-content;
    max-width: none;
    position: relative;
  }
  #zaUUKw { overflow: visible; }
}
