/* V31: editorial CTAs, with offer and action separated by hierarchy. */
.button.booking-cta,
.hero-action .button.booking-cta,
.diagnosis-reserve .button.booking-cta,
.sticky-cta .button.booking-cta,
#site-menu .button.booking-cta{
  display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:16px;
  min-height:84px;padding:18px 24px;border:1px solid var(--ink);border-radius:3px;
  background:var(--ink);color:#fff;box-shadow:none;text-align:left;
  transition:background .2s ease,border-color .2s ease;
}
.booking-cta .booking-label{display:grid;gap:5px;min-width:0}
.booking-cta .booking-note{font-size:11px;font-weight:500;line-height:1.4;letter-spacing:.04em;color:#b3e4e7}
.booking-cta .booking-label strong,
.sticky-cta .booking-cta .booking-label strong,
#site-menu .booking-cta .booking-label strong,
.diagnosis-reserve .booking-cta .booking-label strong{
  font-size:clamp(17px,4.8vw,21px);font-weight:700;line-height:1.4;letter-spacing:0;white-space:nowrap;
}
.booking-cta .booking-arrow,
.sticky-cta .booking-cta .booking-arrow,
#site-menu .booking-cta .booking-arrow,
.diagnosis-reserve .booking-cta .booking-arrow{
  width:28px;height:28px;border:0;border-radius:0;background:none;color:inherit;font:28px/1 Arial,sans-serif;transform:none;
}
.work-action .button.booking-cta{background:#8bdee0;border-color:#8bdee0;color:var(--ink)}
.work-action .booking-note{color:#174b60}
.button.booking-cta:focus-visible{outline:3px solid #2097a5;outline-offset:5px}
.work-action .button.booking-cta:focus-visible{outline-color:#fff}
.button.booking-cta:active{background:#16446a}
.work-action .button.booking-cta:active{background:#70ced4}
.sticky-cta .button.booking-cta{min-height:64px;padding:10px 20px}
.sticky-cta .booking-cta .booking-label{gap:2px}
.sticky-cta .booking-cta .booking-label strong{font-size:17px}
#site-menu .button.booking-cta{padding-inline:18px}
.diagnosis-description,.flow-list p{line-break:strict;text-wrap:pretty}
.diagnosis-item h3,.diagnosis-consultation h3{line-break:strict;text-wrap:pretty}
@media(hover:hover){
 .button.booking-cta:hover{background:#16446a;border-color:#16446a;box-shadow:none}
 .work-action .button.booking-cta:hover{background:#b1eded;border-color:#b1eded}
 .booking-cta:hover .booking-arrow{transform:translateX(3px)}
}
@media(min-width:960px){
 .button.booking-cta,.hero-action .button.booking-cta,.diagnosis-reserve .button.booking-cta{min-height:92px;padding:20px 30px}
 .booking-cta .booking-note{font-size:12px}
 .booking-cta .booking-label strong,.diagnosis-reserve .booking-cta .booking-label strong{font-size:23px}
 .desktop-header nav .nav-booking{gap:14px;padding:14px 18px;border-radius:3px}
 .nav-booking>.nav-booking-label{font:700 13px/1.5 var(--gothic)}
}
@media(max-width:359.98px){
 .button.booking-cta,.hero-action .button.booking-cta,.diagnosis-reserve .button.booking-cta,#site-menu .button.booking-cta{padding:16px;gap:10px;grid-template-columns:minmax(0,1fr) 24px}
 .sticky-cta .button.booking-cta{padding:10px 16px;gap:10px}
 .booking-cta .booking-note{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.button.booking-cta,.booking-cta .booking-arrow{transition:none}.booking-cta:hover .booking-arrow{transform:none}}
