/* ALTERRA VR / Birthday responsive v2 / Mobile text & overflow correction.
   ADDITIVE only. Desktop starts at 1101px and remains exactly FROZEN.
   Refined from real 390x844 screenshots, tested across fluid widths. */

@media (max-width:1100px) {
  /* A scaled hero photograph previously extended the document by 2px,
     triggering horizontal scroll and clipping in narrow emulators. */
  html,body { max-width:100%; overflow-x:clip; }
  .bp-hero-media { overflow:hidden; }
  .bp-hero-content,.bp-intro-v2,.bp-intro-v2-head,.bp-formats,
  .bp-how-v4-left,.bp-proof-live-head,.bp-proof-live-gallery,
  .bp-proof-live-trust,.bp-proof-live-reviews,.bp-location,
  .bp-details-v1 .bp-section-head,.bp-risk-v1 .bp-risk-copy,
  .bp-faq,.bp-contact { min-width:0; }
  /* Text must never force a fixed-width desktop line on small screens. */
  .bp-hero h1,.bp-section-head h2,.bp-how-v4-head h2,
  .bp-proof-live-head h2,.bp-location h2,.bp-risk-v1 h2,
  .bp-faq h2,.bp-contact h2 { max-width:100%; overflow-wrap:break-word; }
  .bp-hero h1 span,.bp-section-head h2 span,.bp-how-v4-head h2 span,
  .bp-proof-live-head h2 span,.bp-contact h2 span {
    white-space:normal!important;
    overflow-wrap:break-word;
  }
  .bp-kicker { overflow-wrap:break-word; }
  .bp-feature-v2,.bp-format-card,.bp-proof-live-review,
  .bp-location-map,.bp-location-trust,.bp-detail,.bp-risk-inner,
  .bp-contact { max-width:100%; }
}

@media (max-width:520px) {
  /* Hero: keep the complete city name, and both buttons inside the screen. */
  .bp-hero h1 {
    font-size:clamp(26px,7.5vw,39px)!important;
    line-height:1.065!important;
    letter-spacing:-.049em!important;
    text-wrap:balance;
  }
  .bp-hero h1 span { font-size:.98em; }
  .bp-hero .bp-kicker { font-size:9px;letter-spacing:.09em;line-height:1.55; }
  .bp-hero-lead { overflow-wrap:break-word; }
  .bp-hero-actions,.bp-hero-facts { min-width:0; }

  /* Oversized highlighted second lines were being cropped on right. */
  .bp-intro-v2 .bp-section-head h2,
  .bp-details-v1 .bp-section-head h2,
  .bp-location h2 { font-size:clamp(28px,7.6vw,37px)!important;line-height:1.04; }
  .bp-how-v4-head h2 {
    font-size:clamp(28px,7.35vw,37px)!important;
    line-height:1.08;
    letter-spacing:-.038em;
  }
  .bp-proof-live-head h2 {
    font-size:clamp(28px,7.6vw,38px)!important;
    line-height:1.045;
  }
  .bp-risk-v1 .bp-risk-copy h2 {
    font-size:clamp(28px,7.5vw,38px)!important;
    line-height:1.045;
  }
  .bp-faq .bp-section-head h2,
  .bp-contact h2 {
    font-size:clamp(27px,7.5vw,37px)!important;
    line-height:1.065;
    letter-spacing:-.046em;
  }
  /* Small decorative right icons must not take away a whole line of copy. */
  .bp-proof-live-reviewtop { min-width:0; }
  .bp-proof-live-reviewtop h3 { overflow-wrap:break-word; }
  .bp-faq summary { min-width:0;overflow-wrap:break-word; }
  .bp-contact-actions { min-width:0; }
  .bp-contact-actions a { max-width:100%; }
}

@media (max-width:360px) {
  .bp-hero h1 { font-size:26px!important; }
  .bp-hero h1 span { font-size:.95em; }
  .bp-how-v4-head h2 { font-size:28px!important; }
  .bp-proof-live-head h2 { font-size:28px!important; }
  .bp-faq .bp-section-head h2 { font-size:27px!important; }
  .bp-contact h2 { font-size:27px!important; }
  .bp-kicker { letter-spacing:.075em; }
}
