#detail-copy { display: contents; }
.service-count { display: none; }
.booking-actions { display: contents; }
.booking-call[hidden] { display: none; }
.booking-actions.is-booking { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; gap: 12px; margin-top: 26px; }
.booking-actions.is-booking .button { margin: 0; min-width: 0; min-height: 68px; padding: 14px 16px; gap: 12px; text-align: center; line-height: 1.5; }
.booking-actions.is-booking .booking-call { display: flex; flex-direction: column; gap: 3px; }
.booking-actions .booking-call-label { font: inherit; transform: none !important; }
.booking-call small { font-size: 11px; font-weight: 400; letter-spacing: 1px; }
.booking-actions.is-booking #detail-action { background: transparent; color: var(--gold); }
.booking-actions.is-booking #detail-action:hover { background: #c3a77515; }
@media(max-width:420px) { .booking-actions.is-booking { gap: 8px; } .booking-actions.is-booking .button { padding: 12px 9px; font-size: 11px; gap: 7px; } }
#detail:not(.has-service-media) #detail-description { margin: 22px 0; font-size: 13px; line-height: 1.9; color: #c7c9be; }
#detail.has-service-media { width: min(1180px, calc(100vw - 32px)); max-width: 1180px; padding: 0; overflow: auto; }
#detail { transform: none; box-shadow: 0 14px 38px #00000035; }
#detail::backdrop { backdrop-filter: none; background: #080b08e8; }
#detail[open],#detail.is-closing[open] { transform: none; }
@starting-style { #detail[open] { transform: none; } }
#detail.has-service-media > .dialog-close { z-index: 3; }
#detail.has-service-media[open] { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); align-items: stretch; }
#detail.has-service-media #detail-copy { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 64px 44px 48px; min-width: 0; }
#detail-copy .eyebrow { margin-bottom: 22px; }
#detail.has-service-media #detail-title { font-size: clamp(36px,3.5vw,52px); }
#detail.has-service-media #detail-description { font-size: 12px; line-height: 1.95; color: var(--muted); margin: 25px 0; }
#detail.has-service-media #detail-action { align-self: center; margin-top: 12px; }
.service-gallery { position: relative; min-width: 0; overflow: hidden; background: transparent; display: flex; flex-direction: column; justify-content: center; border: 0; }
.service-gallery[hidden],.service-gallery [hidden] { display: none; }
.service-stage { display: flex; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; height: min(78svh,780px); min-height: 350px; }
.service-stage::-webkit-scrollbar { display: none; }
.service-stage:focus-visible { outline-offset: -4px; }
.service-stage { touch-action: pan-x pan-y pinch-zoom; -webkit-overflow-scrolling: touch; }
.service-slide { position: relative; isolation: isolate; overflow: hidden; flex: 0 0 100%; min-width: 0; scroll-snap-align: start; display: flex; align-items: center; justify-content: center; }
.service-slide img,.service-slide video { position: relative; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; border: 0; outline: 0; border-radius: 0; }
.service-slide video { opacity: 1; transition: none; }
.service-slide video.is-ready { opacity: 1; }
@media(prefers-reduced-motion:reduce) { .service-slide video { transition: none; } }
.service-gallery[data-media-category=care] .service-slide img { object-fit: contain; }
.service-gallery-bar { position: absolute; z-index: 2; bottom: 0; left: 0; right: 0; display: flex; align-items: center; gap: 12px; padding: 36px 22px 16px; border: 0; background: linear-gradient(transparent,#0b100bd9); }
.service-gallery-bar button,.service-play { border: 1px solid #c3a77550; background: transparent; color: var(--gold); width: 36px; height: 36px; border-radius: 50%; padding: 0; flex-shrink: 0; }
.service-gallery-bar button:hover:not(:disabled),.service-play:hover { background: #c3a7751a; }
.service-gallery-bar button:disabled { opacity: .25; cursor: default; }
.service-gallery-bar button,.service-play { min-width: 44px; min-height: 44px; transition: background 160ms ease, opacity 160ms ease, transform 200ms var(--ease-out); touch-action: manipulation; }
.service-gallery-bar button:active:not(:disabled),.service-play:active { transform: scale(.94); }
.service-count { font-size: 9px; letter-spacing: 2px; color: var(--gold); white-space: nowrap; }
.service-dots { display: flex; justify-content: center; flex: 1; flex-wrap: wrap; }
.service-dots button { width: 25px; height: 32px; border: 0; position: relative; }
.service-dots button { min-width: 26px; min-height: 44px; }
.service-dots button::after { transition: background 160ms ease, transform 220ms var(--ease-out); }
.service-dots button[aria-current=true]::after { transform: scale(1.5); }
.service-dots button::after { content: ''; display: block; width: 5px; height: 5px; margin: auto; border-radius: 50%; background: #c3a77550; }
.service-dots button[aria-current=true]::after { background: var(--gold); }
.service-play { position: absolute; top: 14px; left: 14px; background: #11140fbf; z-index: 1; }
@media(max-width:800px){
 #detail.has-service-media[open] { display: block; width: min(560px,calc(100vw - 24px)); }
 #detail.has-service-media #detail-copy { padding: 30px 26px 34px; }
 .service-gallery { border-right: 0; }
 .service-stage { height: min(58svh,580px); min-height: 300px; }
 .service-gallery-bar { padding: 30px 15px 12px; gap: 8px; }
 #detail.has-service-media #detail-title { font-size: 38px; }
 #detail.has-service-media .dialog-close { background: #11140fcc; }
 #detail.has-service-media #detail-description { margin: 20px 0; }
}
