/* Reversible 45+ readability trial. Type family and brand colors stay unchanged. */

/* Lift the secondary copy from 9–12px to readable 14px. */
body [class~="text-xs"],
body [class~="text-[10px]"],
body [class~="text-[11px]"],
body [class~="text-[12px]"] {
  font-size:14px !important;
  line-height:1.5;
}

/* Larger titles in mobile service and advantage cards. */
@media (max-width:767px) {
  body #services h3,
  body #features h3 {font-size:16px !important;line-height:1.35}
  body #why-us h4 {font-size:15px !important;line-height:1.4}
  body #services .service-card > div:last-child > span {
    min-width:0;font-size:14px !important;line-height:1.35;overflow-wrap:break-word;
  }
  body #services .service-card > div:last-child > a {
    flex:none;white-space:nowrap;
  }
}

/* Form text stays legible without breaking existing input validation. */
body #calc-form label:not(.sr-only) {font-size:14px !important;line-height:1.5}
body #calc-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
body #calc-form select,
body #calc-form textarea,
body .nsv-picker-custom {font-size:16px !important;line-height:1.5}
body #calc-form button[type="submit"] {font-size:16px !important;line-height:1.4}

/* Visible CTA text increases while keeping original destinations. */
body #services a[href="#calc-form"],
body #services a[href^="tel:"],
body #features a[href="#calc-form"] {font-size:15px !important;line-height:1.45}

/* Existing multi-select menu remains keyboard-operable and finger-friendly. */
body .nsv-picker-trigger {font-size:16px !important;min-height:48px}
body .nsv-picker-intro,
body .nsv-picker-option,
body .nsv-picker-count,
body .nsv-picker-error {font-size:14px !important;line-height:1.5}
body .nsv-picker-option {min-height:40px}
body .nsv-picker-action {font-size:14px !important;min-height:38px}
body .nsv-picker-menu {max-height:min(490px,68dvh)}

/* Small regional and footer links now remain readable. */
body .nsv-footer-services,
body .nsv-footer-services a {font-size:14px !important;line-height:1.5}
body .nsv-region-guide .nsv-region-kicker {font-size:14px !important}
body .nsv-chat-bubble {font-size:14px !important;line-height:1.5}
body .nsv-chat-link {font-size:13.5px !important;line-height:1.35}

/* Compact UI elements missed by Tailwind utility classes. */
body #nsv-service-range,
body #nsv-service-next-text,
body .nsv-footer-copy,
body .nsv-footer-nav a,
body .sub-kicker,
body .breadcrumb,
body .sub-hero-content > span {font-size:14px !important;line-height:1.5}
body #features [class~="text-[9px]"] {font-size:13.5px !important;line-height:1.45}
body .nsv-region-guide p {font-size:15px !important;line-height:1.75}

@media (max-width:767px) {
  /* The mobile build uses smaller rem roots even for text-sm utilities. */
  body [class~="text-sm"] {font-size:14px !important;line-height:1.5}
}

/* Mobile-specific balance: keep desktop trial exactly as it was.
   Previous mobile copy was typically 9-12px; current trial reached 14-16px.
   The intermediate mobile values improve reading without crowding 2-up cards. */
@media (max-width:767px) {
  body [class~="text-xs"],
  body [class~="text-[10px]"],
  body [class~="text-[11px]"],
  body [class~="text-[12px]"] {
    font-size:13px !important;
    line-height:1.45;
  }
  body [class~="text-sm"] {font-size:13.5px !important;line-height:1.45}

  body #services h3,
  body #features h3 {font-size:15px !important;line-height:1.35}
  /* Long Russian service names must wrap inside narrow two-column cards. */
  body #services .service-card h3 {hyphens:auto;overflow-wrap:anywhere}
  body #why-us h4 {font-size:14px !important;line-height:1.4}
  body #services .service-card > div:last-child > span,
  body #services .service-card > div:last-child > span > span {
    font-size:13px !important;line-height:1.4;
  }
  body #services [class~="text-[10px]"] {font-size:12px !important;line-height:1.35}
  body #features [class~="text-[9px]"] {font-size:12px !important;line-height:1.4}

  body #services a[href="#calc-form"],
  body #services a[href^="tel:"],
  body #features a[href="#calc-form"] {font-size:14px !important;line-height:1.4}
  body #calc-form label:not(.sr-only) {font-size:13px !important;line-height:1.45}
  body #calc-form button[type="submit"] {font-size:15px !important;line-height:1.4}
  /* Inputs remain 16px: smaller text triggers automatic zoom on iPhones. */
  body .nsv-picker-trigger {font-size:15px !important;min-height:46px}
  body .nsv-picker-intro,
  body .nsv-picker-option,
  body .nsv-picker-error {font-size:13px !important;line-height:1.45}
  body .nsv-picker-count {font-size:12px !important;line-height:1.4}
  body .nsv-picker-action {font-size:13px !important;min-height:38px}

  body .nsv-footer-services,
  body .nsv-footer-services a,
  body .nsv-footer-copy,
  body .nsv-footer-nav a {font-size:12.5px !important;line-height:1.45}
  body #nsv-service-range,
  body #nsv-service-next-text,
  body .sub-kicker,
  body .breadcrumb,
  body .sub-hero-content > span,
  body .nsv-region-guide .nsv-region-kicker {font-size:13px !important;line-height:1.45}
  body .nsv-region-guide p {font-size:14px !important;line-height:1.7}
  body .nsv-chat-bubble {font-size:13.5px !important;line-height:1.45}
  body .nsv-chat-link {font-size:13px !important;line-height:1.35}

  /* Standalone service pages use another layout and smaller original CTAs. */
  body.sub-page .button-primary,
  body.sub-page .side-contact .button {font-size:14px !important;line-height:1.4}
  body.sub-page .nsv-address-route-aside {font-size:13px !important;line-height:1.5}
  body.sub-page .sub-hero-content > p:not(.sub-kicker),
  body.sub-page .info-section p,
  body.sub-page .faq-section p {font-size:15px !important;line-height:1.7}
}


/* Calculation form: same control height, baseline and vertical centering. */
@media (min-width:768px) {
  body #calc-form #lead-form > div > input:not([type="hidden"]),
  body #calc-form #lead-form .nsv-picker-trigger,
  body #calc-form #lead-form > div > button[type="submit"] {
    box-sizing:border-box;
    width:100%;
    height:54px;
    min-height:54px;
  }
  body #calc-form #lead-form .nsv-picker-trigger {
    align-items:center;
    padding:9px 12px;
  }
  body #calc-form #lead-form > div > button[type="submit"] {
    display:flex;
    align-items:center;
    justify-content:center;
    padding:8px 8px;
    font-size:clamp(13px,1.37vw,14.5px) !important;
    line-height:1.2;
    letter-spacing:.015em;
    white-space:nowrap;
  }
}
@media (max-width:767px) {
  body #calc-form #lead-calc-form > div > input:not([type="hidden"]),
  body #calc-form #lead-calc-form .nsv-picker-trigger,
  body #calc-form #lead-calc-form > button[type="submit"] {
    box-sizing:border-box;
    width:100%;
    height:50px;
    min-height:50px;
  }
  body #calc-form #lead-calc-form .nsv-picker-trigger {
    align-items:center;
    padding:10px 12px;
  }
  body #calc-form #lead-calc-form > button[type="submit"] {
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:8px;
    padding:8px 14px;
    white-space:nowrap;
  }
  /* Restore the original compact tags on the photos; no other type changes. */
  body #services .service-card .relative > span[class~="text-[10px]"] {
    font-size:10px !important;
    line-height:1.35;
  }
  /* Full review action in one line at 320px and up. */
  body #reviews #nsv-review-all-link {
    font-size:12px !important;
    letter-spacing:0;
    white-space:nowrap;
    padding-inline:9px;
  }
  body #reviews #nsv-review-all-link > .nsv-review-cta-label {
    display:block;
    white-space:nowrap;
    line-height:1.25;
  }
}

@media (max-width:375px) {
  body .nsv-chat-head-actions button {white-space:nowrap}
}
