.service-booking{max-width:1180px;margin:0 auto}.service-booking h2,.service-manager h2{font-size:clamp(32px,4vw,52px);line-height:1.12;margin:20px 0}.service-booking .booking-layout{grid-template-columns:minmax(0,1fr) 330px;gap:36px;align-items:start}.service-categories{display:flex;gap:9px;overflow:auto;padding:16px 0 22px;scrollbar-width:thin}.service-categories button{flex-shrink:0;background:transparent;border:1px solid #d8d2c8;border-radius:30px;padding:11px 18px;color:#142436;cursor:pointer;font:inherit;font-size:14px}.service-categories button.selected{background:#142436;color:#fff;border-color:#142436}.service-list{display:grid;gap:14px}.service-card{background:#fff;border:1px solid #e6dfd5;border-radius:16px;padding:24px;display:flex;gap:20px;align-items:center;justify-content:space-between}.service-card.chosen{border-color:#a86640;box-shadow:0 0 0 1px #a86640}.service-card-copy{min-width:0}.service-card h3{font:600 19px/1.35 Arial,sans-serif;margin:8px 0}.service-category-label{font-size:10px;text-transform:uppercase;letter-spacing:1.8px;color:#956340;font-weight:700}.service-card .service-duration{color:#66716f;margin:0;font-size:14px}.service-card .service-description{color:#68716c;font-size:14px;line-height:1.6;margin:12px 0 18px;white-space:pre-wrap;overflow-wrap:anywhere}.service-price{font-size:16px}.service-add{width:40px;height:40px;flex-shrink:0;border:1px solid #d8d2c8;border-radius:50%;background:#fff;color:#142436;font-size:24px;line-height:1;cursor:pointer}.service-add.selected{background:#142436;color:#fff;border-color:#142436;font-size:18px}.service-cart{position:sticky;top:18px;background:#fff;border:1px solid #e6dfd5;border-radius:18px;padding:26px}.service-cart h3{font:28px Georgia;margin:15px 0}.cart-lines{border-top:1px solid #ece7df;margin:22px 0 16px;padding-top:12px}.cart-line{display:flex;gap:15px;justify-content:space-between;padding:12px 0}.cart-line>div:last-child{text-align:right;flex-shrink:0}.cart-line strong{font-size:14px;line-height:1.5}.cart-line span{display:block;color:#727a74;font-size:13px;margin-top:5px}.cart-remove{display:block;margin-left:auto;background:none;border:0;color:#956340;text-decoration:underline;font:inherit;font-size:12px;cursor:pointer;padding:6px 0}.cart-total{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #ece7df;padding-top:20px;font-weight:700}.service-cart .cart-duration{font-size:13px;color:#727a74}.service-continue{width:100%;margin-top:18px}.service-booking button:disabled{opacity:.45;cursor:not-allowed}.service-message{color:#a13f31}.service-manager{max-width:900px;margin:auto}.service-manager textarea{box-sizing:border-box;width:100%;border:1px solid #d8d2c8;border-radius:8px;background:white;padding:14px;font:inherit;color:#142436}.service-manager .service-list{margin-top:24px}.service-card button:focus-visible,.service-categories button:focus-visible,.cart-remove:focus-visible{outline:3px solid #c37643;outline-offset:4px}.service-manager .row{flex-wrap:wrap;gap:14px}.service-manager .service-card .outline{flex-shrink:0}@media(max-width:800px){.service-booking .booking-layout{grid-template-columns:1fr;gap:22px}.service-cart{position:static}.service-card{padding:20px}.service-booking .booking-progress{gap:7px;font-size:12px}.service-manager .portal-grid{grid-template-columns:1fr}.service-booking .booking-progress li{font-size:12px}.service-manager h2{font-size:36px}}@media(max-width:420px){.service-card{gap:12px;padding:18px}.service-add{width:36px;height:36px}.service-categories button{font-size:13px;padding:10px 14px}}
dialog.portal:has(.service-booking){width:min(1180px,96vw);max-width:96vw;padding:38px}.portal .service-cart .service-continue{width:100%}.portal .service-booking .booking-progress{font-size:12px}.portal .service-booking .service-card h3{font-size:19px}.portal .service-booking .service-cart h3{font-size:27px}@media(max-width:800px){dialog.portal:has(.service-booking){padding:24px;max-width:96vw}.portal .service-booking h2{font-size:34px}.service-categories{padding-bottom:14px}.service-booking .booking-layout{grid-template-columns:1fr}.service-cart{position:static}}
