/* Shared final mobile pass. Preserve approved desktop design and every URL. */
:root { --hf-header-height: 110px; }
html { -webkit-text-size-adjust: 100%; }
.live-review-frame { min-height: 380px; width: 100%; }
.live-review-frame iframe { display: block; max-width: 100%; }
.live-reviews .section-head > p { max-width: 36ch; }
.pricing-tabs { top: var(--hf-header-height); }
.pricing-panel { scroll-margin-top: calc(var(--hf-header-height) + 80px); }
.course-booking-link, .laser-price-booking, .pricing-item-action, .sale-buy-link { touch-action: manipulation; }
@media (max-width: 700px) {
  .container { width: calc(100% - 36px); }
  .main-nav { padding-inline: 24px; padding-bottom: max(28px, env(safe-area-inset-bottom)); }
  .main-nav .hf-menu-group a { display: inline-flex; align-items: center; min-height: 44px; }
  .main-nav .hf-menu-group li + li { margin-top: 2px; }
  .main-nav .hf-menu-panel-title { flex-wrap: wrap; }
  .main-nav > a:not(.nav-account), .hf-menu-all { min-height: 48px; }
  .pricing-tabs { top: var(--hf-header-height); }
  .pricing-panel { scroll-margin-top: calc(var(--hf-header-height) + 76px); }
  .pricing-tab, .service-page-nav a, .service-sibling-nav a, .sale-collection-nav a,
  .sale-collection-filters button { min-height: 44px; display: inline-flex; align-items: center; }
  .pricing-item-action, .course-booking-link, .sale-buy-link { min-height: 46px; font-size: .875rem; }
  .pricing-item-action { width: 100%; white-space: normal; }
  .pricing-item, .pricing-consult-note { padding-inline: 18px; }
  .treatment-payment-note > span { font-size: .8125rem; flex-wrap: wrap; }
  .treatment-payment-note > small, .autumn-klarna small { font-size: .75rem; line-height: 1.55; }
  .autumn-sale-footnote, .sale-collection-terms p, .sale-collection-note { font-size: .8125rem; line-height: 1.65; }
  .footer a { overflow-wrap: anywhere; }
  .footer .footer-label { margin-top: 4px; }
  .home-contact-lines a, .callback-contact-details a { overflow-wrap: anywhere; }
  /* No side-scroll is needed to choose a laser rate on a phone. */
  .pricing-laser-block { overflow: visible; }
  .pricing-swipe-hint { padding: 15px 18px 0; font-size: .8125rem; }
  .pricing-laser-table { display: block; min-width: 0; }
  .pricing-laser-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .pricing-laser-table tbody { display: block; }
  .pricing-laser-table tr { display: block; padding: 4px 18px 20px; border-bottom: 1px solid #ded7cb; }
  .pricing-laser-table tr:last-child { border-bottom: 0; }
  .pricing-laser-table th[scope="row"] { display: block; padding: 18px 0 14px; border: 0; font-size: 1.0625rem; text-align: left; }
  .pricing-laser-table td[data-label] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(130px, 1fr); gap: 0 14px; align-items: center; padding: 12px 0; border: 0; border-top: 1px solid #ece6dc; white-space: normal; }
  .pricing-laser-table td[data-label]::before { content: attr(data-label); text-align: left; color: #67583d; font-size: .875rem; font-weight: 600; }
  .pricing-laser-table td[data-label] > a { font-size: 1.25rem; min-height: 46px; display: flex; flex-direction: column; justify-content: center; }
  .pricing-laser-table .laser-price-booking > small { font-size: .8125rem; margin-top: 4px; }
  .pricing-laser-table .laser-course-saving { grid-column: 2; margin-top: 5px; white-space: normal; font-size: .75rem; }
  .pricing-laser-table .pricing-laser-next { display: block; padding: 12px 0 0; border: 0; text-align: left; white-space: normal; }
  .pricing-laser-next > a { display: none; } /* Same six-session link already visible in its labelled row. */
  .pricing-laser-table .treatment-payment-note { max-width: none; }
  .pricing-laser-table .treatment-payment-note > span { white-space: normal; }
  .pricing-laser-table .treatment-payment-note small { display: block; white-space: normal; overflow-wrap: anywhere; max-width: 100%; line-height: 1.55; }
}
@media (max-width: 600px) {
  /* Compact, legible comparisons with a separate touch target for every rate. */
  .treatment-journey-site .treatment-inline-rates,
  .treatment-journey-site .laser-tariff-values { display: grid; grid-template-columns: 1fr; gap: 0; }
  .treatment-journey-site .treatment-inline-rates > div,
  .treatment-journey-site .laser-tariff-values > div,
  .treatment-journey-site .treatment-compact-has-course .treatment-inline-rates > div {
    display: grid; grid-template-columns: minmax(85px, .75fr) minmax(0, 1.25fr);
    align-items: center; gap: 14px; padding: 12px 10px !important;
    border: 0; border-top: 1px solid #e4ddd1;
  }
  .treatment-journey-site .treatment-inline-rates dt,
  .treatment-journey-site .laser-tariff-values dt { font-size: .875rem; line-height: 1.4; }
  .treatment-journey-site .treatment-inline-rates dd,
  .treatment-journey-site .treatment-compact-has-course .treatment-inline-rates dd,
  .treatment-journey-site .laser-tariff-values dd { display: flex; flex-direction: column; align-items: stretch; margin: 0; min-width: 0; }
  .treatment-journey-site .treatment-inline-rates dd > strong,
  .treatment-journey-site .laser-tariff-values dd { font-size: 1.3rem; }
  .treatment-journey-site .treatment-inline-rates .course-booking-link,
  body.treatment-journey-site #main .treatment-compact-has-course .treatment-inline-rates .button { min-height: 44px; font-size: .8125rem; margin-top: 7px; }
  .treatment-journey-site .laser-price-booking { min-height: 48px; }
  .treatment-journey-site .laser-price-booking > small { font-size: .8125rem; }
  .treatment-journey-site .treatment-inline-saving,
  .treatment-journey-site .laser-rate-saving { font-size: .75rem; }
  .treatment-journey-site.treatment-site .treatment-compact-row .treatment-option-copy p { font-size: .9375rem; }
  .treatment-journey-site.treatment-site .treatment-compact-row .treatment-explore { min-height: 44px; font-size: .8125rem; }
  .sale-course-row { grid-template-columns: 1fr; padding: 20px; }
  .sale-course-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 12px; }
  .sale-course-price > small, .sale-course-price > span { flex-basis: 100%; }
  .sale-course-price > strong { font-size: 1.75rem; }
  .sale-laser-rate, .sale-laser-rate:last-child { padding: 16px 0 0; border: 0; border-top: 1px solid #ded4c5; }
  .sale-laser-rate > span:first-child { font-size: 1rem; }
  .sale-buy-link { min-height: 48px; padding: 12px 16px; font-size: .875rem; }
  .sale-group-heading { flex-wrap: wrap; gap: 5px; }
  .sale-collection .treatment-payment-note > small { font-size: .75rem; }
  .sale-collection .treatment-payment-note > span { font-size: .8125rem; }
  .live-reviews .section-head { gap: 18px; }
  .live-reviews .reviews-foot { gap: 18px; }
  .live-reviews .reviews-foot .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}
