/* Approved public UX refinements: no header, photography or business-rule changes. */
.happy-price { display: grid; gap: 3px; text-align: right; }
.happy-saving { color: #e3c597; font: 400 .8rem/1.4 var(--sans); }
.service-happy-note { padding: 14px 16px; border-left: 3px solid #c6a170; background: #21160f; color: #f0d4ad; line-height: 1.6; }
.service-happy-note strong, .service-happy-note span { display: block; }
.service-happy-status { color: #f0d4ad; line-height: 1.5; }
.service-happy-retry { min-height: 44px; padding: 10px 16px; background: transparent; border: 1px solid #c6a170; color: #f0d4ad; font: inherit; cursor: pointer; }
.service-happy-retry[hidden], .service-price-list[hidden], .service-happy-status[hidden] { display: none; }
.booking-progress, .booking-progress-action { display: none; }
.service-card[data-home-service] .service-meta { flex-wrap: wrap; gap: 10px 12px; }
.service-card[data-home-service] [data-home-price] { white-space: nowrap; }
.service-card[data-home-service] .service-meta a { flex: 0 0 auto; min-height: 44px; }
@media (max-width: 620px) {
  .massages-page .massages-hero { min-height: 0; padding-block: 90px 18px; }
  .massages-page .massages-hero h1 { font-size: 2.4rem; }
  .massages-page .booking-assurance-item { padding-block: 7px; }
  .massages-page .booking-assurance-item strong { font-size: .88rem; line-height: 1.5; }
  .massages-page .massage-catalog { padding-top: 18px; }
  .massages-page .catalog-heading { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
  .massages-page .massage-catalog > .wrap > p { margin-block: 0 14px; }
  .massages-page .massage-discovery { margin-bottom: 16px; }
  .massages-page .massage-filter { padding: 8px 11px; }
  #services.services .section-heading h2 { font-size: clamp(2rem,8vw,2.5rem); }
}
@media (max-width: 900px) {
  .booking-progressive .booking-progress { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; scroll-margin-top: 90px; }
  .booking-progressive .booking-progress-step { display: grid; grid-template-columns: 1fr; justify-items: start; align-content: start; gap: 7px; padding: 12px 10px; border: 1px solid #806749; background: #291e18; color: #e7dacb; text-align: left; font: 400 .82rem/1.4 var(--sans); cursor: pointer; min-width: 0; }
  .booking-progress-step > span { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid #b79566; border-radius: 50%; color: #e7c594; }
  .booking-progress-step strong { font-weight: 600; }
  .booking-progress-step small { font-size: .75rem; line-height: 1.4; overflow-wrap: anywhere; }
  .booking-progress-step small:empty { display: none; }
  .booking-progressive .booking-progress-step[aria-current="step"] { background: #ded2c2; color: #2b211b; border-color: #d9b783; }
  .booking-progress-step[aria-current="step"] > span { background: #725332; border-color: #725332; color: #fff; }
  .booking-progress-step:disabled { cursor: default; }
  .booking-progress-step:disabled:not([aria-current]) { color: #bcae9e; }
  .booking-progressive .booking-progress-action { display: block; min-height: 48px; width: 100%; margin-top: 18px; padding: 13px 16px; border: 1px solid #c6a170; background: #c6a170; color: #211711; font: 600 .95rem/1.4 var(--sans); cursor: pointer; }
  .booking-progress-action:disabled { opacity: .55; cursor: default; }
  .booking-progress-step:focus-visible, .booking-progress-action:focus-visible { outline: 2px solid #d9b783; outline-offset: 3px; }
  .booking-progressive .booking-summary > .booking-progress-action { width: auto; background: transparent; margin: 0 0 20px; }
  .booking-progressive .booking-step-number { display: none; }
  .booking-progressive .booking-package-coverage strong { color: #e3c597; }
  .booking-progressive .booking-shell { gap: 16px; }
  .booking-progressive[data-booking-step="1"] [data-flow-section="2"],
  .booking-progressive[data-booking-step="2"] [data-flow-section="1"],
  .booking-progressive:not([data-booking-step="3"]) .booking-summary,
  .booking-progressive[data-booking-step="3"] .booking-panel,
  .booking-progressive[data-booking-step="1"] .booking-selection-context,
  .booking-progressive[data-booking-step="2"] .booking-selection-description,
  .booking-progressive[data-booking-step="2"] .booking-selection-payment,
  .booking-progressive[data-booking-step="2"] .booking-offer-context > p:not(:nth-child(2)),
  .booking-progressive[data-booking-step="2"] .booking-package-coverage,
  .booking-progressive .booking-progress-action[hidden] { display: none; }
}
