/* ===== HYDROCORE: responsive fine-tuning (loaded last) ===== */

/* never allow sideways page scroll */
html, body { overflow-x: clip; }
img, svg, video { max-width: 100%; }

/* --- hero quote form below the hero (tablet + phone) --- */
@media (max-width: 991px) {
  .hero-content-right { top: calc(100% + 10px); bottom: auto !important; }
  .section.hero { margin-bottom: var(--hc-hero-form-h, 470px) !important; }
  .hero-form-block { min-height: 0 !important; }

  /* readable texts on the teal card */
  .hero-form-block .hcq-top { color: rgba(255,255,255,.72); }
  .hero-form-block .hcq-top b { color: #fff; }
  .hero-form-block .hcq-bar { background: rgba(255,255,255,.18); }
  .hero-form-block .hcq-title { color: #fff; }
  .hero-form-block .hcq-field label { color: #fff; }
  .hero-form-block .hcq-field label small { color: rgba(255,255,255,.7); }
  .hero-form-block .hcq-err { color: #ffc2b8; }
  .hero-form-block .hcq-field.has-error .hcq-input { border-color: #ff8f7a; box-shadow: 0 0 0 4px rgba(255,143,122,.25); }
  .hero-form-block .hcq-input { border-color: rgba(255,255,255,.3); }
  .hero-form-block .hcq-consent { color: rgba(255,255,255,.9); }
  .hero-form-block .hcq-consent.has-error { color: #ffc2b8; }
  .hero-form-block .hcq-consent a { color: #fff; }
  .hero-form-block .hcq-back { color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.45); }
  .hero-form-block .hcq-back:hover { color: #fff; box-shadow: inset 0 0 0 1.5px #fff; }
  .hero-form-block .hcq-trust { color: rgba(255,255,255,.85); }
  .hero-form-block .hcq-trust li::before { background: rgba(255,255,255,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/9px no-repeat; }
  .hero-form-block .hcq-done .hcq-title { color: #fff; }
  .hero-form-block .hcq-done p { color: rgba(255,255,255,.9); }
  .hero-form-block .hcq-done a { color: #ffb08f; }
  .hero-form-block .hcq-opt input:checked + span { box-shadow: 0 0 0 3px rgba(247,94,42,.45); }
}

/* --- before/after arrows: keep them inside the viewport on small laptops --- */
@media (min-width: 992px) and (max-width: 1239px) {
  .before-after-slider-arrow { right: 14px; box-shadow: 0 8px 20px -8px rgba(2,18,21,.5); }
  .before-after-slider-arrow.left { left: 14px; right: auto; }
}

/* --- horizontal card rows on phones: snap card by card --- */
@media (max-width: 767px) {
  .steps-box { scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; overscroll-behavior-x: contain; }
  .steps-box::-webkit-scrollbar { display: none; }
  .step-card { scroll-snap-align: start; }
}

/* --- comfortable touch targets on phones/tablets --- */
@media (max-width: 991px) {
  .navbar-menu-button { padding: 13px 10px !important; margin: -13px -10px; box-sizing: content-box; }
  .brand, .brand-2 { min-height: 44px; display: inline-flex; align-items: center; }
}
@media (max-width: 767px) {
  .contact-link { display: inline-block; padding: 10px 0; }
  .contact-link-underline { bottom: 8px; }
  .footer-links-list { row-gap: 0 !important; }
  .footer-link { display: inline-block; padding: 9px 0; }
  .hc-legal-links { gap: 0 20px; }
  .hc-legal-links a, .hc-legal-links button { padding: 10px 0; }
  .social-link-box { min-width: 44px; min-height: 44px; }
  .faq-title-text { padding-right: 8px; }
}

/* --- typography safety on very small phones --- */
@media (max-width: 380px) {
  .heading-1 { font-size: clamp(34px, 10.5vw, 44px) !important; line-height: 1.05 !important; }
  .heading-2 { font-size: clamp(28px, 8.6vw, 38px) !important; }
  .hcq-opts { gap: 8px; }
  .hcq-opt span { min-height: 92px; font-size: 14px; padding: 12px 6px; }
}

/* --- privacy page: tables become stacked cards on phones --- */
@media (max-width: 600px) {
  .hc-legal .hc-table-wrap { border: 0; overflow: visible; }
  .hc-legal .hc-table { min-width: 0; }
  .hc-legal .hc-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .hc-legal .hc-table, .hc-legal .hc-table tbody, .hc-legal .hc-table tr, .hc-legal .hc-table td { display: block; width: 100%; }
  .hc-legal .hc-table tr { border: 1px solid rgba(8,87,100,.12); border-radius: 14px; padding: 12px 14px; margin-bottom: 10px; background: #fff; }
  .hc-legal .hc-table td { border: 0; padding: 4px 0; }
  .hc-legal .hc-table td::before { content: attr(data-label); display: block; font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #6b7a7d; margin-bottom: 1px; }
  .hc-legal .hc-toc a { padding: 12px 16px; }
  .hc-legal h1 { font-size: clamp(32px, 9vw, 40px); }
  .hc-legal h2 { font-size: 22px; }
}

/* trust line under the teal hero form: always white */
@media (max-width: 991px) {
  .hero-form-block .hcq-trust,
  .hero-form-block .hcq-trust li { color: #fff !important; opacity: 1; }
  .hero-form-block .hcq-top span:last-child { color: rgba(255,255,255,.85) !important; }
}
