/* Clearer therapy selection and calmer booking presentation. */
#specjalizacje .section-title { text-align:left; max-width:800px; margin-left:0; }
#specjalizacje .divider { margin-left:0; }
#dynamic-spec-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 48px; }
#specjalizacje .spec-card { display:grid; grid-template-columns:36% 1fr; border:0; border-bottom:1px solid #decec1; border-radius:0; box-shadow:none; background:transparent; padding-bottom:28px; align-items:start; }
#specjalizacje .spec-card:hover { transform:none; box-shadow:none; }
#specjalizacje .spec-img, #specjalizacje .spec-card:hover .spec-img { height:250px; border-radius:4px; transition:none; }
#specjalizacje .spec-img img, #specjalizacje .spec-card:hover .spec-img img { transform:none; }
#specjalizacje .spec-content { padding:8px 0 0 26px; background:transparent; }
#specjalizacje .spec-content h3 { font-size:1.85rem; line-height:1.15; }
#specjalizacje .spec-expand-wrapper { display:block; }
#specjalizacje .spec-expand-wrapper p { opacity:1; padding:0; height:auto; max-height:none; display:block; line-height:1.65; }
#specjalizacje .spec-cta-text { opacity:1; transform:none; color:var(--wine); letter-spacing:.08em; }
#specjalizacje .spec-card:hover .spec-cta-text { text-decoration:underline; text-underline-offset:5px; }
#treatment-modal .t-modal-content.booking-mode { width:min(1120px,calc(100vw - 48px)); height:min(900px,calc(100dvh - 48px)); border-radius:12px; overflow:hidden; background:#fffdfa; }
.booking-mode .booking-v2-header { padding:22px 32px 20px; background:#fffdfa; }
.booking-mode .booking-v2-brand { margin-bottom:16px; }
.booking-mode .booking-v2-progress { max-width:730px; }
.booking-mode .booking-v2-step.active span { background:var(--wine); border-color:var(--wine); }
.booking-mode .booking-v2-layout { grid-template-columns:minmax(0,1fr) 260px; gap:32px; padding:28px 32px 20px; }
.booking-mode .booking-v2-title { font-size:2.5rem; margin-bottom:10px; }
.booking-mode .booking-v2-kicker { color:#795b3c; }
.booking-mode .booking-v2-tools { grid-template-columns:minmax(0,1fr) 210px; gap:12px; }
.booking-mode .booking-v2-search input, .booking-mode .booking-v2-category-select { border-radius:6px; min-height:48px; background:#fff; border-color:#d6c8bd; }
.booking-mode .booking-v2-services { display:grid; grid-template-columns:1fr; gap:0; border-top:1px solid #ddcfc4; }
.booking-mode .booking-v2-service { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; min-height:85px; padding:16px 14px; border:0; border-bottom:1px solid #ddcfc4; border-radius:0; box-shadow:none; background:transparent; }
.booking-mode .booking-v2-service strong { font-size:1.2rem; line-height:1.25; margin-bottom:6px; }
.booking-mode .booking-v2-service.selected { background:#f2e5e7; box-shadow:inset 0 0 0 1px #672c38; border-radius:6px; }
.booking-mode .booking-v2-service:hover { background:#f6efea; }
.booking-mode .booking-v2-service.selected:hover { background:#f2e5e7; }
.booking-mode .booking-v2-service-price { align-self:center; font-variant-numeric:tabular-nums; }
.booking-mode .booking-v2-summary { background:#f5ede6; border:0; border-radius:8px; box-shadow:none; padding:24px 20px; position:static; overflow:auto; }
.booking-mode .booking-v2-actions { padding:12px 32px; box-shadow:none; background:#fffdfa; }
.booking-mode .booking-v2-section[data-booking-step='3'] { overflow-y:auto; }
.booking-mode .booking-v2-data-grid { grid-template-columns:1fr; }
.booking-mode .booking-v2-data-panel, .booking-mode .booking-v2-data-card { box-shadow:none; }
.booking-mode .booking-v2-page-btn { width:44px; height:44px; }
.booking-mode .t-modal-close { width:44px; height:44px; top:14px; right:14px; box-shadow:none; border:1px solid #d6c8bd; }
@media(max-width:1000px) {
 #dynamic-spec-grid { gap:28px; }
 #specjalizacje .spec-card { grid-template-columns:1fr; }
 #specjalizacje .spec-content { padding:22px 0 0; }
 #specjalizacje .spec-img, #specjalizacje .spec-card:hover .spec-img { height:240px; }
}
@media(max-width:760px) {
 #treatment-modal .t-modal-content.booking-mode { width:100vw; height:100dvh; max-height:100dvh; border-radius:0; margin:0; }
 #treatment-modal:has(.booking-mode) { padding:0; }
 .booking-mode .booking-v2-header { padding:16px 20px; }
 .booking-mode .booking-v2-progress { padding-right:0; gap:6px; }
 .booking-mode .booking-v2-step { font-size:.58rem; gap:5px; }
 .booking-mode .booking-v2-layout { grid-template-columns:1fr; gap:20px; padding:24px 20px; overflow:auto; display:block; }
 .booking-mode .booking-v2-section { overflow:visible; padding-right:0; }
 .booking-mode .booking-v2-main { display:block; }
 .booking-mode .booking-v2-summary { margin-top:24px; max-height:none; }
 .booking-mode .booking-v2-tools { grid-template-columns:1fr; }
 .booking-mode .booking-v2-actions { padding:10px 20px calc(10px + env(safe-area-inset-bottom)); height:auto; gap:8px; }
 .booking-mode .booking-v2-actions .btn-cta { min-width:0; }
 .booking-mode .booking-v2-service { gap:14px; padding:16px 10px; }
 .booking-mode .booking-v2-service strong { font-size:1.15rem; }
}
@media(max-width:540px) {
 #dynamic-spec-grid { grid-template-columns:1fr; gap:26px; }
 #specjalizacje .spec-card { grid-template-columns:110px minmax(0,1fr); }
 #specjalizacje .spec-img, #specjalizacje .spec-card:hover .spec-img { height:160px; }
 #specjalizacje .spec-content { padding:0 0 0 18px; }
 #specjalizacje .spec-content h3 { font-size:1.5rem; }
 #specjalizacje .spec-expand-wrapper p { font-size:.88rem; }
 #specjalizacje .spec-cta-text { font-size:.66rem; }
}
@media(max-width:760px) {
 #treatment-modal .t-modal-content.booking-mode { width:100vw !important; max-width:100vw !important; height:100dvh !important; max-height:100dvh !important; }
}
