.p-shop-services__grid{display:grid;grid-template-columns:repeat(var(--service-columns,3),minmax(0,1fr));gap:24px}
.p-shop-service{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--service-border);border-radius:14px;background:var(--service-card-bg)}
.p-shop-service__image{aspect-ratio:4/3;overflow:hidden;border-block-end:1px solid var(--service-border);background:var(--service-card-bg)}
.p-shop-service__image img{display:block;width:100%;height:100%;object-fit:var(--service-image-fit,contain)}
.p-shop-service__body{display:flex;flex-direction:column;flex:1;padding:26px}
.p-shop-service__body>.p-h3{font-size:1.35rem;line-height:1.4;letter-spacing:-.02em}
.p-shop-service__summary{margin:15px 0;font-size:.88rem;line-height:1.85;color:var(--p-muted)}
.p-shop-service__items{margin:0 0 22px;padding:0;list-style:none;font-size:.82rem;line-height:1.75}
.p-shop-service__items li{position:relative;padding-inline-start:18px;margin-block:8px}
.p-shop-service__items li::before{position:absolute;inset-inline-start:0;content:'✓';color:var(--service-accent)}
.p-shop-service__scope{margin:0 0 24px;font-size:.75rem;line-height:1.85;color:var(--p-muted);padding-block-start:16px;border-block-start:1px solid var(--service-border)}
.p-shop-service__price{font-size:1.2rem;font-weight:600;line-height:1.5;margin:0 0 16px}
.p-shop-service__book{width:100%;margin-block-start:auto;background:var(--service-accent);color:var(--service-button-text)}
.p-shop-service__book:hover,.p-booking-dialog__submit:hover{background:var(--service-accent);filter:brightness(.9)}
.p-shop-services__note{margin:24px 0 0;color:var(--p-muted);font-size:.82rem;line-height:1.8;text-align:center}
.p-booking-dialog{width:min(620px,calc(100% - 28px));max-height:90vh;max-height:90svh;margin:auto;padding:0;overflow:auto;overscroll-behavior:contain;border:1px solid var(--service-border);border-radius:16px;background:var(--service-card-bg);color:var(--section-color);box-shadow:0 24px 90px #14291f33}
.p-booking-dialog::backdrop{background:#152b236b;backdrop-filter:blur(5px)}
.p-booking-dialog__panel{padding:32px;position:relative}
.p-booking-dialog__close{position:absolute;inset-inline-end:22px;inset-block-start:22px}
.p-booking-dialog h2{margin:0;padding-inline-end:48px;font-size:1.55rem;line-height:1.45;font-weight:550}
.p-booking-dialog__service{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin:18px 0 24px;padding:14px 16px;border:1px solid var(--service-border);border-radius:8px;font-size:.92rem;line-height:1.5}
.p-booking-dialog__service>span{color:var(--p-muted);font-size:.82rem}
.p-booking-dialog__fields{display:grid;gap:16px}
.p-booking-dialog .p-field label{font-size:.85rem}
.p-booking-dialog__note{margin:18px 0;font-size:.79rem;color:var(--p-muted);line-height:1.8}
.p-booking-dialog__submit{width:100%;background:var(--service-accent);color:var(--service-button-text)}
.p-shop-services--detail .p-shop-services__grid{grid-template-columns:minmax(0,1fr)}
.p-shop-services--detail .p-shop-service{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.p-shop-services--detail .p-shop-service__image{position:sticky;inset-block-start:110px;align-self:start;border-block-end:0}
.p-shop-services--detail .p-shop-service__body{padding:36px}
.p-shop-service__richtext{font-size:.92rem;line-height:1.85;color:var(--p-muted);margin:22px 0}
.p-shop-service__richtext h2{display:none}
.p-shop-service__richtext ul{padding-inline-start:20px}
html[dir=rtl] .p-shop-service__summary{font-size:.94rem}
html[dir=rtl] .p-shop-service__items{font-size:.9rem}
html[dir=rtl] .p-shop-service__scope{font-size:.84rem}
@media(max-width:989px){.p-shop-services__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.p-shop-service__body{padding:23px}.p-shop-services--detail .p-shop-service{grid-template-columns:minmax(0,1fr)}.p-shop-services--detail .p-shop-service__image{position:static;max-height:500px;border-block-end:1px solid var(--service-border)}}
@media(max-width:639px){.p-shop-services__grid{grid-template-columns:minmax(0,1fr)}.p-shop-service__body,.p-shop-services--detail .p-shop-service__body{padding:22px}.p-shop-service__body>.p-h3{font-size:1.3rem}.p-booking-dialog__panel{padding:24px 20px}.p-booking-dialog__close{inset-inline-end:16px;inset-block-start:16px}.p-booking-dialog h2{font-size:1.35rem}.p-shop-services__note{font-size:.8rem}}
