/* Appointment lengths are visible at the point of choosing a service. */
.appointment-durations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 28px}
.duration-summary{position:relative;display:flex;flex-direction:column;gap:12px;padding:24px 28px;border-radius:14px;background:#285563;color:#fff;min-width:0}
.duration-summary-label{display:block;padding-right:38px;font-size:1rem;font-weight:500;line-height:1.4}
.duration-summary>svg{position:absolute;top:25px;right:28px;width:25px;height:25px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.duration-summary>strong{font-family:"Inter",sans-serif;font-size:2.5rem;font-weight:600;line-height:1.1;letter-spacing:-.04em}
.duration-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #bed2d3;border-radius:999px;padding:5px 10px;background:#e6f0ee;color:#214f5b;font-family:"Inter",sans-serif;font-size:.8rem;font-weight:600;line-height:1.3;letter-spacing:0;white-space:nowrap;text-transform:none}
.duration-badge>svg{width:15px;height:15px;flex:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.prices .pr{align-items:center}
.prices .pr-v{display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.service-duration{margin-top:14px}
.service-duration .duration-badge{font-size:.86rem;padding:6px 12px}
.service-page .service-duration-callout{display:flex;align-items:center;gap:14px;margin:18px 0 22px;padding:18px;border:1px solid #bed2d3;border-radius:12px;background:#e6f0ee;color:#214f5b}
.service-duration-callout>svg{width:30px;height:30px;flex:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.service-duration-callout>div{display:flex;flex-direction:column;gap:5px;min-width:0}
.service-duration-callout span{font-size:.79rem;font-weight:500;line-height:1.4}
.service-duration-callout strong{font-family:"Inter",sans-serif;font-size:1.65rem;font-weight:600;line-height:1.2;letter-spacing:-.025em}
.table-duration{margin-top:8px}
.table-duration .duration-badge{font-size:.76rem;padding:4px 8px}
@media(max-width:600px){
  .appointment-durations{grid-template-columns:1fr;gap:12px;margin-bottom:22px}
  .duration-summary{padding:20px 22px;gap:9px}
  .duration-summary>svg{top:22px;right:22px}
  .duration-summary>strong{font-size:2.15rem}
  .prices .pr{gap:12px}
  .duration-badge{font-size:.76rem;padding:5px 9px}
  .service-page .service-duration-callout{padding:16px;gap:12px}
}
