.servicepro-app-pwrentals { --rental-border: var(--servicepro-border,#d8d1c8); --rental-accent: var(--servicepro-accent); }
.servicepro-pwrentals { padding-top:28px; padding-bottom:56px; }
.servicepro-app-pwrentals :is(h1,h2,h3,a,button,summary) { word-break:normal; overflow-wrap:normal; hyphens:none; }
.servicepro-pwrentals :is(h1,h2,h3) { color:var(--servicepro-ink); font-weight:600; text-transform:none; letter-spacing:-.035em; }
.servicepro-pwrentals :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid var(--servicepro-accent); outline-offset:4px; }
.servicepro-pwrentals .servicepro-breadcrumbs { margin-bottom:24px; font-size:13px; }
.servicepro-rentals-page-title { margin:0; max-width:760px; font-size:clamp(32px,3.6vw,54px); line-height:1.12; text-wrap:balance; }
.servicepro-rentals-slider { margin:12px 0 44px; background:transparent; border:0; overflow:visible; }
.servicepro-rentals-slider__viewport { position:relative; display:grid; grid-auto-flow:column; grid-auto-columns:100%; align-items:stretch; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; border-radius:24px; background:var(--servicepro-surface); }
.servicepro-rentals-slider__viewport::-webkit-scrollbar { display:none; }
.servicepro-rentals-slider__slide { position:relative; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); min-width:0; min-height:500px; scroll-snap-align:start; scroll-snap-stop:always; background:#efeae1; }
.servicepro-rentals-slider__slide--text { grid-template-columns:1fr; }
.servicepro-rentals-slider__content { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:24px; min-width:0; padding:48px; box-sizing:border-box; color:var(--servicepro-ink); }
.servicepro-app-pwrentals .servicepro-rentals-slider__content :is(h1,h2) { max-width:100%; margin:0; color:var(--servicepro-ink); font-size:clamp(32px,3.5vw,50px); font-weight:550; line-height:1.07; letter-spacing:-.045em; text-wrap:balance; }
.servicepro-app-pwrentals .servicepro-rentals-slider__content p { max-width:430px; margin:0; color:var(--servicepro-ink); font-size:16px; line-height:1.65; }
.servicepro-app-pwrentals .servicepro-rentals-slider__content .servicepro-rentals-eyebrow { display:inline-flex; align-items:center; gap:9px; color:var(--servicepro-accent); font-size:11px; line-height:1.4; letter-spacing:.13em; font-weight:600; text-transform:uppercase; }
.servicepro-rentals-slider__content .servicepro-rentals-eyebrow::before { content:''; flex:none; width:6px; height:6px; border-radius:50%; background:currentColor; }
.servicepro-rentals-slider__media { position:relative; min-width:0; min-height:100%; overflow:hidden; }
.servicepro-rentals-slider__image { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; }
.servicepro-rentals-home .servicepro-rentals-slider__cta { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; max-width:100%; min-height:48px; padding:8px 8px 8px 22px; box-sizing:border-box; border:1px solid var(--servicepro-accent); border-radius:100px; background:var(--servicepro-accent); color:#fff; font-size:14px; font-weight:550; line-height:1.4; text-decoration:none; transition:filter .2s; }
.servicepro-rentals-slider__cta:hover { filter:brightness(.92); }
.servicepro-rentals-slider__cta-icon { display:grid; flex:none; place-items:center; width:32px; height:32px; border-radius:50%; background:#fff; color:var(--servicepro-accent); }
.servicepro-rentals-slider__controls { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:20px; align-items:center; padding:16px 2px 0; }
.servicepro-rentals-slider__counter { display:flex; align-items:baseline; gap:9px; font-size:12px; font-variant-numeric:tabular-nums; color:var(--servicepro-ink); }
.servicepro-rentals-slider__counter strong { font-size:20px; font-weight:550; }
.servicepro-rentals-slider__counter > span { opacity:.6; }
.servicepro-rentals-slider__arrows { display:flex; justify-self:end; gap:10px; }
.servicepro-app-pwrentals .servicepro-rentals-slider__arrows > button { display:grid; place-items:center; width:48px; height:48px; min-height:48px; padding:0; border:1px solid var(--rental-border); border-radius:50%; background:transparent; color:var(--servicepro-ink); cursor:pointer; transition:background .2s,border-color .2s,color .2s; }
.servicepro-app-pwrentals .servicepro-rentals-slider__arrows > button:hover { background:var(--servicepro-accent); border-color:var(--servicepro-accent); color:#fff; }
.servicepro-rentals-slider__dots { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; }
.servicepro-app-pwrentals .servicepro-rentals-slider__dots button { display:grid; place-items:center; width:48px; min-height:44px; margin:0; padding:0; border:0; background:transparent; cursor:pointer; }
.servicepro-rentals-slider__dots button span { display:block; width:100%; height:2px; border-radius:2px; background:var(--servicepro-ink); opacity:.22; transition:background .2s,opacity .2s; }
.servicepro-rentals-slider__dots button[aria-current=true] span { height:3px; background:var(--servicepro-accent); opacity:1; }
.servicepro-rentals-slider [data-rental-slider-status] { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.servicepro-app-pwrentals .pwrentals-front { --rental-border:var(--servicepro-border,#d8d1c8); --rental-accent:var(--servicepro-accent); padding:0; font-size:16px; line-height:1.55; color:var(--servicepro-ink); }
.servicepro-app-pwrentals .pwrentals-front h1 { margin:12px 0 20px; font-size:clamp(30px,3vw,44px); line-height:1.15; }
.servicepro-app-pwrentals .pwrentals-front h2 { font-size:clamp(23px,2vw,30px); line-height:1.25; }
.servicepro-app-pwrentals .pwrentals-front .servicepro-rental-catalog-title { margin:0 0 18px; font-size:32px; }
.servicepro-app-pwrentals .pwrentals-front :is(button,.pwrentals-button) { background:var(--servicepro-button-background,var(--servicepro-accent)); color:var(--servicepro-button-foreground,#fff); border-radius:var(--servicepro-button-radius,10px); min-height:46px; font-size:14px; font-weight:550; line-height:1.4; }
.servicepro-app-pwrentals .pwrentals-front :is(input,select,textarea) { background:var(--servicepro-surface); border-color:var(--rental-border); border-radius:var(--servicepro-input-radius,8px); font-size:16px; color:var(--servicepro-ink); }
.servicepro-app-pwrentals .pwrentals-front :is(input[type=checkbox],input[type=radio]) { accent-color:var(--servicepro-accent); }
.servicepro-app-pwrentals .pwrentals-front :is(.pwrentals-search,.pwrentals-summary) { border-color:var(--rental-border); border-radius:var(--servicepro-card-radius,12px); background:var(--servicepro-surface); }
.servicepro-app-pwrentals .pwrentals-catalog .pwrentals-search { margin:0 0 20px; padding:22px; gap:16px; }
.servicepro-app-pwrentals .pwrentals-catalog .pwrentals-search > label { flex:1 1 150px; font-size:13px; }
.servicepro-app-pwrentals .pwrentals-catalog .pwrentals-search > button { flex:1 1 170px; white-space:normal; height:auto; min-height:50px; }
.servicepro-app-pwrentals .servicepro-number-filter { min-width:0; margin:0; padding:0; border:0; font-size:13px; }
.servicepro-number-filter legend { max-width:100%; margin-bottom:4px; padding:0; font-size:inherit; font-weight:500; }
.servicepro-number-filter__inputs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.servicepro-number-filter__inputs > label { display:grid; min-width:0; gap:4px; }
.servicepro-number-filter__inputs > label > span { font-size:11px; opacity:.7; }
.servicepro-app-pwrentals .servicepro-number-filter__inputs input { width:100%; min-width:0; box-sizing:border-box; padding:10px 12px; }
.servicepro-range { position:relative; height:44px; margin:0 11px; }
.servicepro-range__rail { position:absolute; inset:20px 0; border-radius:4px; background:linear-gradient(to right,var(--rental-border) var(--range-start,0%),var(--servicepro-accent) var(--range-start,0%),var(--servicepro-accent) var(--range-end,100%),var(--rental-border) var(--range-end,100%)); }
.servicepro-app-pwrentals .pwrentals-front .servicepro-range input[type=range] { position:absolute; inset:0; z-index:2; width:100%; height:44px; min-height:0; margin:0; padding:0; border:0; border-radius:0; outline:0; box-shadow:none; background:transparent; appearance:none; -webkit-appearance:none; pointer-events:none; }
.servicepro-range input[type=range]::-webkit-slider-runnable-track { height:4px; background:transparent; }
.servicepro-range input[type=range]::-moz-range-track { height:4px; background:transparent; }
.servicepro-range input[type=range]::-webkit-slider-thumb { width:22px; height:22px; margin-top:-9px; border:2px solid var(--servicepro-surface); border-radius:50%; box-shadow:0 0 0 1px var(--servicepro-accent); background:var(--servicepro-accent); -webkit-appearance:none; pointer-events:auto; cursor:ew-resize; }
.servicepro-range input[type=range]::-moz-range-thumb { width:18px; height:18px; border:2px solid var(--servicepro-surface); border-radius:50%; box-shadow:0 0 0 1px var(--servicepro-accent); background:var(--servicepro-accent); pointer-events:auto; cursor:ew-resize; }
.servicepro-range input[type=range]:focus-visible::-webkit-slider-thumb { outline:2px solid var(--servicepro-ink); outline-offset:4px; }
.servicepro-range input[type=range]:focus-visible::-moz-range-thumb { outline:2px solid var(--servicepro-ink); outline-offset:4px; }
.servicepro-range__limits { display:flex; justify-content:space-between; gap:12px; margin:-2px 0 12px; font-size:11px; opacity:.7; }
.servicepro-app-pwrentals .pwrentals-catalog .pwrentals-results-count { margin:20px 0; font-size:14px; opacity:.8; }
.servicepro-app-pwrentals .pwrentals-catalog .pwrentals-grid { grid-template-columns:repeat(var(--servicepro-rental-columns,3),minmax(0,1fr)); gap:24px; }
.servicepro-app-pwrentals .pwrentals-catalog .pwrentals-card { background:var(--servicepro-surface); border-color:var(--rental-border); border-radius:var(--servicepro-card-radius,12px); color:var(--servicepro-ink); }
.servicepro-app-pwrentals .pwrentals-card-photo { background:var(--servicepro-page); }
.servicepro-app-pwrentals .pwrentals-card-photo:not(:has(img))::before { content:'⌂'; position:absolute; inset:0; display:grid; place-items:center; color:var(--servicepro-ink); opacity:.35; font-size:52px; }
.servicepro-app-pwrentals .pwrentals-catalog .pwrentals-card-badge { background:var(--servicepro-surface); color:var(--servicepro-ink); }
.servicepro-app-pwrentals .pwrentals-catalog .pwrentals-card h2 { color:var(--servicepro-ink); font-size:21px !important; font-weight:600; }
.servicepro-app-pwrentals .pwrentals-catalog .pwrentals-card-body { padding:22px; }
.servicepro-app-pwrentals .pwrentals-catalog :is(.pwrentals-card-meta,.pwrentals-card-price) { color:var(--servicepro-ink); }
.servicepro-app-pwrentals .pwrentals-catalog .pwrentals-card-meta { opacity:.75; }
.servicepro-app-pwrentals .pwrentals-catalog .pwrentals-card-price { border-color:var(--rental-border); }
.servicepro-app-pwrentals .pwrentals-catalog .pwrentals-card-price strong { color:var(--servicepro-ink); font-size:25px; font-weight:600; }
.servicepro-app-pwrentals .pwrentals-catalog .pwrentals-card-amenities li { background:var(--servicepro-page); color:var(--servicepro-ink); }
.servicepro-app-pwrentals .pwrentals-catalog .pwrentals-card .pwrentals-button { background:transparent; color:var(--servicepro-accent); border-color:var(--rental-border); }
.servicepro-app-pwrentals .pwrentals-catalog .pwrentals-card .pwrentals-button:hover { background:var(--servicepro-page); }
.servicepro-app-pwrentals .pwrentals-amenity-options { background:var(--servicepro-surface); }
.servicepro-app-pwrentals .pwrentals-pagination [aria-current=page] { background:var(--servicepro-accent); color:#fff; }
.servicepro-app-pwrentals .pwrentals-layout { grid-template-columns:minmax(0,1.65fr) minmax(310px,1fr); gap:36px; }
.servicepro-app-pwrentals .pwrentals-front .pwrentals-booking-panel { background:var(--servicepro-surface); border-color:var(--rental-border); border-radius:var(--servicepro-card-radius,12px); box-shadow:0 8px 28px #00000008; top:calc(var(--servicepro-header-height,90px) + 20px); }
.servicepro-app-pwrentals .pwrentals-front .pwrentals-booking-panel :is(h2,strong) { color:var(--servicepro-ink); }
.servicepro-app-pwrentals .pwrentals-front .pwrentals-booking-panel .pwrentals-search :is(input:not([type=hidden]),select) { background:var(--servicepro-page); border-color:var(--rental-border); }
.servicepro-app-pwrentals .pwrentals-front .pwrentals-booking-panel .pwrentals-search button { background:var(--servicepro-button-background,var(--servicepro-accent)); }
.servicepro-app-pwrentals .pwrentals-base-prices { border-color:var(--rental-border); }
.servicepro-app-pwrentals .pwrentals-base-prices :is(small,span) { color:var(--servicepro-ink); opacity:.75; }
.servicepro-app-pwrentals .pwrentals-front .pwrentals-features { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 20px; margin:0 0 28px; }
.servicepro-app-pwrentals .pwrentals-features :is(dt,dd) { margin:0; padding:11px 0; border-bottom:1px solid var(--rental-border); font-size:14px; line-height:1.5; }
.servicepro-app-pwrentals .pwrentals-features dt { font-weight:550; }
.servicepro-app-pwrentals .pwrentals-details :is(.pwrentals-overview,.pwrentals-map-layout) { grid-template-columns:1fr; }
.servicepro-app-pwrentals .pwrentals-details h2 { font-size:25px; }
.servicepro-app-pwrentals .pwrentals-amenities li span { overflow-wrap:normal; }
.servicepro-app-pwrentals .pwrentals-front .pwrentals-availability-grid > button.pwrentals-availability-day { min-height:36px; color:var(--servicepro-ink); background:transparent; }
.servicepro-app-pwrentals .pwrentals-front .pwrentals-availability-grid > button.is-occupied { background:#edd4cb; color:#652d24; }
.servicepro-app-pwrentals .pwrentals-front .pwrentals-availability-grid > button.is-selected { outline-color:var(--servicepro-accent); }
.servicepro-app-pwrentals .pwrentals-availability-head a:hover { background:var(--servicepro-page); }
.servicepro-app-pwrentals .pwrentals-front .pwrentals-booking-dialog { background:var(--servicepro-surface); color:var(--servicepro-ink); border-radius:var(--servicepro-modal-radius,16px); }
.servicepro-app-pwrentals .pwrentals-front .pwrentals-booking-close { min-height:38px; background:var(--servicepro-page); color:var(--servicepro-ink); }
.servicepro-app-pwrentals .pwrentals-front .pwrentals-booking-dialog .pwrentals-summary { background:var(--servicepro-page); }
.servicepro-app-pwrentals .pwrentals-front .pwrentals-summary h2 { margin-top:0; }
.servicepro-app-pwrentals .pwrentals-front .pwrentals-summary details { overflow-x:auto; }
.servicepro-app-pwrentals .pwrentals-front .pwrentals-summary :is(th,td) { font-size:13px; white-space:nowrap; }
.servicepro-app-pwrentals .pwrentals-front .pwrentals-booking-dialog .pwrentals-consent { display:block; font-size:13px; }
.servicepro-app-pwrentals .pwrentals-front .pwrentals-booking-dialog .pwrentals-consent input { width:18px; height:18px; min-height:0; vertical-align:middle; margin-right:6px; }
.servicepro-app-pwrentals .pwrentals-success-icon { background:var(--servicepro-page); color:var(--servicepro-accent); }
.servicepro-app-pwrentals .pwrentals-success h2 { color:var(--servicepro-ink); }
.servicepro-rentals-steps { margin-top:52px; padding:30px; background:var(--servicepro-surface); border-radius:var(--servicepro-section-radius,12px); }
.servicepro-rentals-steps h2, .servicepro-rentals-faq h2, .servicepro-rentals-contacts h2 { margin:0; font-size:clamp(25px,2.5vw,34px); line-height:1.2; }
.servicepro-rentals-steps ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; list-style:none; margin:28px 0 0; padding:0; }
.servicepro-rentals-steps li { display:flex; gap:14px; align-items:baseline; min-width:0; }
.servicepro-rentals-steps li > span { color:var(--servicepro-accent); font-weight:650; }
.servicepro-app-pwrentals .servicepro-rentals-steps h3 { margin:0 0 10px; font-size:18px; line-height:1.3; }
.servicepro-rentals-steps p { font-size:14px; margin:0; line-height:1.6; }
.servicepro-rentals-faq { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.3fr); gap:48px; margin-top:52px; }
.servicepro-rentals-faq details { border-bottom:1px solid var(--rental-border); padding:16px 0; }
.servicepro-rentals-faq summary { display:flex; align-items:baseline; justify-content:space-between; gap:16px; list-style:none; cursor:pointer; font-size:16px; }
.servicepro-rentals-faq summary::-webkit-details-marker { display:none; }
.servicepro-rentals-faq summary > span { flex:none; font-size:22px; }
.servicepro-rentals-faq details[open] summary > span { transform:rotate(45deg); }
.servicepro-rentals-faq p { font-size:14px; line-height:1.65; }
.servicepro-rentals-contacts { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:40px; margin-top:52px; padding:30px; background:var(--servicepro-surface); border-radius:var(--servicepro-section-radius,12px); }
.servicepro-rentals-contacts p { margin-bottom:0; font-size:15px; }
.servicepro-rentals-contacts > div:last-child { display:grid; align-content:center; gap:10px; }
.servicepro-rentals-contacts a { text-decoration:none; overflow-wrap:anywhere; }
.servicepro-pwrentals :is(#rental-catalog,#rental-steps,#rental-conditions,#rental-contacts) { scroll-margin-top:120px; }
.servicepro-app-pwrentals .servicepro-rentals-home.servicepro-home { display:grid; width:100%; margin:0; padding:0; gap:48px; }
.servicepro-rentals-home .servicepro-rentals-slider { margin:0 0 16px; }
.servicepro-rentals-home .servicepro-home-search { margin:0; }
.servicepro-rentals-home :is(.servicepro-rentals-steps,.servicepro-rentals-faq,.servicepro-rentals-contacts) { margin-top:0; }
.servicepro-rentals-home :is(.servicepro-rentals-steps,.servicepro-rentals-contacts) { background:#ede6da; padding:28px 32px; }
.servicepro-rentals-home .servicepro-rentals-contacts { grid-template-columns:minmax(0,1.6fr) auto minmax(0,1fr); align-items:center; gap:32px; }
.servicepro-rentals-home .servicepro-rentals-contacts h2 { font-size:28px; }
.servicepro-rentals-home .servicepro-rentals-contacts p { margin-top:10px; font-size:14px; }
.servicepro-rentals-home .servicepro-rentals-steps ol { margin-top:24px; }
.servicepro-rentals-home .servicepro-rentals-steps h3 { margin-bottom:8px; font-size:17px; }
.servicepro-rentals-home .servicepro-rentals-faq { grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr); }
.servicepro-rentals-home .servicepro-rentals-faq details { padding:14px 0; }
.servicepro-rentals-home .servicepro-rentals-faq summary { font-weight:550; }
.servicepro-rentals-home .servicepro-rentals-contacts > div:last-child { border-left:1px solid var(--rental-border); padding-left:24px; }
.servicepro-rentals-home #rental-search { scroll-margin-top:120px; }
.servicepro-rentals-home .servicepro-rental-property__body { min-width:0; }
.servicepro-rentals-home .servicepro-rental-property__body h3 { font-size:20px; }
.servicepro-rentals-home .servicepro-rental-property[hidden] { display:none!important; }
@media(max-width:1100px) {
 .servicepro-app-pwrentals .pwrentals-catalog .pwrentals-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .servicepro-app-pwrentals .pwrentals-layout { gap:24px; }
}
@media(max-width:800px) {
 .servicepro-rentals-slider__content { padding:32px; }
 .servicepro-app-pwrentals .pwrentals-layout { display:flex; }
 .servicepro-rentals-steps ol,.servicepro-rentals-faq,.servicepro-rentals-contacts { grid-template-columns:1fr; gap:24px; }
 .servicepro-rentals-home .servicepro-rentals-faq { grid-template-columns:1fr; gap:18px; }
 .servicepro-rentals-home .servicepro-rentals-contacts { grid-template-columns:1fr; }
 .servicepro-rentals-home .servicepro-rentals-contacts > div:last-child { padding:18px 0 0; border-left:0; border-top:1px solid var(--rental-border); }
}
@media(max-width:600px) {
 .servicepro-pwrentals { padding-top:18px; padding-bottom:32px; }
 .servicepro-rentals-slider { margin-top:0; margin-bottom:32px; }
 .servicepro-rentals-slider__controls { gap:10px; padding-top:12px; }
 .servicepro-rentals-slider__arrows { gap:8px; }
 .servicepro-app-pwrentals .servicepro-rentals-slider__arrows > button { width:44px; height:44px; min-height:44px; }
 .servicepro-rentals-slider__dots { gap:4px; }
 .servicepro-app-pwrentals .servicepro-rentals-slider__dots button { width:24px; }
 .servicepro-app-pwrentals .pwrentals-catalog .pwrentals-grid { grid-template-columns:1fr; gap:20px; }
 .servicepro-app-pwrentals .pwrentals-catalog .pwrentals-search { gap:12px; padding:14px; }
 .servicepro-app-pwrentals .pwrentals-catalog .pwrentals-search > label { flex-basis:calc(50% - 6px); }
 .servicepro-app-pwrentals .pwrentals-catalog .pwrentals-search .pwrentals-more > div { grid-template-columns:1fr; }
 .servicepro-app-pwrentals .pwrentals-front .pwrentals-features { gap:0 14px; }
 .servicepro-rentals-steps,.servicepro-rentals-contacts { padding:24px 20px; }
 .servicepro-rentals-home :is(.servicepro-rentals-steps,.servicepro-rentals-contacts) { padding:24px 20px; }
 .servicepro-app-pwrentals .servicepro-rentals-home.servicepro-home { gap:32px; }
 .servicepro-rentals-steps,.servicepro-rentals-faq,.servicepro-rentals-contacts { margin-top:34px; }
}
@media(max-width:700px) {
 .servicepro-rentals-home .servicepro-home-search > label:nth-of-type(2) { grid-column:auto; }
 .servicepro-rentals-home .servicepro-home-search > label:nth-of-type(3) { grid-column:1; }
 .servicepro-rentals-home .servicepro-home-search > button { grid-column:2; min-height:44px; padding:6px 4px; font-size:13px; line-height:1.25; }
}

@media(max-width:760px) {
 .servicepro-rentals-slider__viewport { border-radius:20px; }
 .servicepro-rentals-slider__slide { grid-template-columns:1fr; grid-template-rows:auto 1fr; min-height:0; }
 .servicepro-rentals-slider__media { grid-row:1; min-height:0; height:clamp(220px,55vw,360px); }
 .servicepro-rentals-slider__content { grid-row:2; padding:26px 24px 28px; gap:18px; }
 .servicepro-rentals-slider__slide--text .servicepro-rentals-slider__content { grid-row:1; min-height:320px; }
 .servicepro-app-pwrentals .servicepro-rentals-slider__content :is(h1,h2) { font-size:clamp(28px,7.6vw,38px); }
 .servicepro-app-pwrentals .servicepro-rentals-slider__content p { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) {
 .servicepro-rentals-slider :is(a,button,button span) { transition:none; }
}
@media(max-width:360px) {
 .servicepro-rentals-slider__controls:has(.servicepro-rentals-slider__dots button:nth-child(4)) { grid-template-columns:1fr 1fr; row-gap:0; }
 .servicepro-rentals-slider__controls:has(.servicepro-rentals-slider__dots button:nth-child(4)) .servicepro-rentals-slider__dots { grid-column:1 / -1; grid-row:2; }
 .servicepro-rentals-slider__controls:has(.servicepro-rentals-slider__dots button:nth-child(4)) .servicepro-rentals-slider__arrows { grid-column:2; grid-row:1; }
}
/* Каталог: короткий поиск и отдельная панель уточнений. */
.servicepro-app-pwrentals .pwrentals-catalog .servicepro-catalog-filter { display:block; padding:0; border:0; border-radius:0; background:transparent; }
.servicepro-catalog-filter [hidden] { display:none!important; }
.servicepro-filter-types { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; }
.servicepro-filter-types a { display:inline-flex; align-items:center; min-height:42px; padding:9px 16px; box-sizing:border-box; border:1px solid var(--rental-border); border-radius:24px; background:var(--servicepro-surface); color:var(--servicepro-ink); font-size:13px; font-weight:500; line-height:1.4; text-decoration:none; }
.servicepro-filter-types a[aria-current=true] { border-color:var(--servicepro-accent); background:var(--servicepro-accent); color:#fff; }
.servicepro-filter-main { display:flex; flex-wrap:wrap; align-items:end; gap:12px; padding:16px; border:1px solid var(--rental-border); border-radius:14px; background:var(--servicepro-surface); }
.servicepro-filter-main > label { display:grid; flex:1 1 145px; min-width:0; gap:7px; font-size:12px; }
.servicepro-app-pwrentals .pwrentals-front .servicepro-filter-main :is(input,select) { width:100%; height:46px; min-width:0; box-sizing:border-box; border:1px solid var(--rental-border); padding:10px 12px; background:var(--servicepro-page); }
.servicepro-app-pwrentals .pwrentals-front .servicepro-filter-find { display:flex; flex:1 1 140px; align-items:center; justify-content:center; gap:24px; min-height:46px; padding:10px 18px; background:var(--servicepro-accent); border:1px solid var(--servicepro-accent); color:#fff; }
.servicepro-filter-tools { display:flex; flex-wrap:wrap; align-items:start; gap:8px; margin:14px 0 0; }
.servicepro-app-pwrentals .pwrentals-front .servicepro-filter-shortcut,.servicepro-filter-details > summary { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:42px; margin:0; padding:9px 15px; box-sizing:border-box; border:1px solid var(--rental-border); border-radius:24px; background:var(--servicepro-surface); color:var(--servicepro-ink); font-size:13px; font-weight:500; line-height:1.4; cursor:pointer; list-style:none; }
.servicepro-filter-details > summary::-webkit-details-marker { display:none; }
.servicepro-filter-details > summary::after { display:none; }
.servicepro-filter-details > summary [data-filter-count] { display:grid; place-items:center; min-width:20px; height:20px; padding:0 4px; border-radius:20px; background:var(--servicepro-accent); color:#fff; font-size:11px; }
.servicepro-filter-details[open] { flex-basis:100%; }
.servicepro-filter-panel { display:flex; flex-direction:column; min-height:0; margin-top:12px; border:1px solid var(--rental-border); border-radius:14px; background:var(--servicepro-surface); }
.servicepro-app-pwrentals .pwrentals-front .servicepro-filter-dialog { position:fixed; inset:0; width:calc(100% - 40px); max-width:780px; height:auto; max-height:calc(100dvh - 48px); margin:auto; padding:0; overflow:hidden; border:0; border-radius:18px; background:var(--servicepro-surface); color:var(--servicepro-ink); box-shadow:0 24px 80px #0003; }
.servicepro-filter-dialog:not([open]) { display:none; }
.servicepro-filter-dialog::backdrop { background:#18251e75; backdrop-filter:blur(3px); }
.servicepro-filter-dialog .servicepro-filter-panel { max-height:calc(100dvh - 48px); margin:0; border:0; border-radius:0; }
.servicepro-filter-panel__header { display:flex; flex:none; align-items:center; justify-content:space-between; gap:20px; padding:24px 28px 20px; border-bottom:1px solid var(--rental-border); }
.servicepro-filter-panel__header p { margin:0 0 6px; font-size:11px; letter-spacing:.08em; text-transform:uppercase; opacity:.65; }
.servicepro-app-pwrentals .pwrentals-front .servicepro-filter-panel__header h2 { margin:0; font-size:26px; font-weight:600; line-height:1.2; }
.servicepro-app-pwrentals .pwrentals-front .servicepro-filter-panel__header button { display:grid; flex:none; place-items:center; width:42px; height:42px; min-height:42px; padding:0; border:1px solid var(--rental-border); border-radius:50%; background:transparent; color:var(--servicepro-ink); font-size:27px; font-weight:400; }
.servicepro-filter-panel__body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 28px; scrollbar-gutter:stable; }
.servicepro-filter-section { padding:24px 0; border-bottom:1px solid var(--rental-border); }
.servicepro-filter-section:last-child { border-bottom:0; }
.servicepro-app-pwrentals .pwrentals-front .servicepro-filter-section h3 { margin:0 0 16px; font-size:16px!important; font-weight:600; line-height:1.4; }
.servicepro-filter-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 24px; }
.servicepro-filter-fields > label { display:grid; min-width:0; align-content:start; gap:7px; font-size:13px; }
.servicepro-app-pwrentals .pwrentals-front .servicepro-filter-fields :is(input:not([type=range]):not([type=checkbox]):not([data-range-bound]),select) { width:100%; min-width:0; box-sizing:border-box; padding:10px 12px; border:1px solid var(--rental-border); border-radius:8px; background:var(--servicepro-surface); }
.servicepro-filter-feature { min-width:0; }
.servicepro-filter-feature .pwrentals-amenity-field { display:grid; gap:7px; font-size:13px; }
.servicepro-filter-feature .pwrentals-amenity-filter > summary { min-height:44px; box-sizing:border-box; border-color:var(--rental-border); background:var(--servicepro-surface); font-size:14px; }
.servicepro-filter-feature .pwrentals-amenity-options { position:static; max-height:200px; margin:0; border:0; box-shadow:none; background:transparent; }
.servicepro-filter-feature .pwrentals-amenity-options label { font-size:14px; }
.servicepro-filter-feature .servicepro-number-filter legend { margin-bottom:8px; }
.servicepro-filter-feature .servicepro-number-filter__inputs { gap:0; border:1px solid var(--rental-border); border-radius:8px; }
.servicepro-filter-feature .servicepro-number-filter__inputs > label { display:flex; flex-direction:row; align-items:center; gap:7px; min-height:42px; padding:9px 10px; box-sizing:border-box; }
.servicepro-filter-feature .servicepro-number-filter__inputs > label + label { border-left:1px solid var(--rental-border); }
.servicepro-filter-feature .servicepro-number-filter__inputs > label > span { flex:none; font-size:12px; }
.servicepro-app-pwrentals .pwrentals-front .servicepro-filter-feature .servicepro-number-filter__inputs input { min-width:0; height:24px; padding:0; border:0; border-radius:0; outline:0; box-shadow:none; background:transparent; font-size:15px; }
.servicepro-filter-feature .servicepro-number-filter__inputs:focus-within { outline:2px solid var(--servicepro-accent); outline-offset:2px; }
.servicepro-filter-feature .servicepro-range__limits { display:none; }
.servicepro-filter-choose > p { margin:0 0 18px; font-size:14px; line-height:1.6; opacity:.7; }
.servicepro-filter-choose .servicepro-filter-types { margin:0; }
.servicepro-filter-panel__footer { display:flex; flex:none; align-items:center; justify-content:space-between; gap:20px; padding:18px 28px; border-top:1px solid var(--rental-border); background:var(--servicepro-surface); }
.servicepro-filter-panel__footer > a { color:var(--servicepro-ink); font-size:13px; }
.servicepro-app-pwrentals .pwrentals-front .servicepro-filter-panel__footer > button { display:flex; align-items:center; justify-content:space-between; gap:32px; min-height:46px; padding:10px 20px; border:0; background:var(--servicepro-accent); color:#fff; }
.servicepro-filter-selected { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:14px; }
.servicepro-filter-selected[hidden] { display:none; }
.servicepro-app-pwrentals .pwrentals-front .servicepro-filter-selected .servicepro-filter-chip { display:inline-flex; flex:0 1 auto; align-items:center; justify-content:space-between; gap:10px; width:auto; max-width:100%; height:auto; min-height:36px; padding:7px 12px; border:1px solid var(--rental-border); border-radius:8px; background:var(--servicepro-surface); color:var(--servicepro-ink); font-size:12px; font-weight:400; line-height:1.5; text-align:left; white-space:normal; overflow-wrap:anywhere; }
.servicepro-filter-chip > span { flex:none; font-size:18px; }
.servicepro-catalog-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; margin:22px 0 18px; }
.servicepro-catalog-toolbar > p { margin:0; font-size:14px; opacity:.7; }
.servicepro-catalog-toolbar > label { display:flex; align-items:center; gap:12px; font-size:12px; }
.servicepro-app-pwrentals .pwrentals-front .servicepro-catalog-toolbar select { max-width:220px; padding:8px 10px; border:1px solid var(--rental-border); border-radius:8px; background:var(--servicepro-surface); font-size:13px; }
.servicepro-filter-types a:focus-visible,.servicepro-filter-details > summary:focus-visible { outline:2px solid var(--servicepro-accent); outline-offset:3px; }
@media(max-width:760px) {
 .servicepro-filter-types { flex-wrap:nowrap; overflow-x:auto; padding:3px 2px 8px; margin-bottom:12px; scrollbar-width:thin; }
 .servicepro-filter-types a { flex:none; min-height:40px; padding:8px 13px; font-size:12px; }
 .servicepro-filter-main { gap:12px; padding:14px; }
 .servicepro-filter-main > label { flex:1 1 calc(50% - 6px); }
 .servicepro-filter-main > label:has(select[name=city]) { flex-basis:100%; }
 .servicepro-filter-main .servicepro-filter-find { flex:1 1 calc(50% - 6px); }
 .servicepro-app-pwrentals .pwrentals-front .servicepro-filter-dialog { width:100%; max-width:none; height:100dvh; max-height:100dvh; border-radius:0; }
 .servicepro-filter-dialog .servicepro-filter-panel { height:100dvh; max-height:100dvh; }
 .servicepro-filter-panel__header { padding:20px 18px 16px; }
 .servicepro-filter-panel__body { padding:0 18px; }
 .servicepro-filter-panel__footer { padding:14px 18px calc(14px + env(safe-area-inset-bottom)); }
 .servicepro-filter-fields { gap:18px 14px; }
 .servicepro-filter-choose .servicepro-filter-types { flex-wrap:wrap; overflow:visible; }
 .servicepro-catalog-toolbar { margin-top:22px; }
 .servicepro-catalog-toolbar > p { display:none; }
 .servicepro-catalog-toolbar > label { width:100%; justify-content:space-between; }
 .servicepro-app-pwrentals .pwrentals-front .servicepro-catalog-toolbar select { max-width:240px; }
}
@media(max-width:420px) { .servicepro-filter-fields { grid-template-columns:1fr; } }
.servicepro-app-pwrentals .pwrentals-front .servicepro-filter-tools > button { width:auto; flex:none; }
.servicepro-app-pwrentals .pwrentals-front .servicepro-catalog-toolbar > label { display:flex; flex-direction:row; align-items:center; }
.servicepro-app-pwrentals .pwrentals-front .servicepro-filter-panel__footer > button { width:auto; }

.servicepro-app-pwrentals .pwrentals-front .servicepro-catalog-toolbar .pwrentals-results-count { margin:0; font-size:13px; }
@media(max-width:760px) { .servicepro-app-pwrentals .servicepro-catalog-toolbar > .pwrentals-results-count { display:block; } }

/* Высота общих кнопок формы не должна менять геометрию панели фильтров. */
.servicepro-app-pwrentals .pwrentals-front .servicepro-filter-tools > .servicepro-filter-shortcut,
.servicepro-app-pwrentals .pwrentals-front .servicepro-filter-tools .servicepro-filter-details > summary { box-sizing:border-box; height:46px; min-height:46px; padding:9px 15px; }
