/* D4Y Conversion v7.5 — UX layer outside Routiz Blade templates. */

/* --------------------------------------------------------------------------
 * Explore: real List / Map switch
 * ----------------------------------------------------------------------- */
.d4y-explore-view-switch{display:flex;gap:4px;width:max-content;margin:0 0 12px;padding:4px;background:rgba(0,0,0,.045);border-radius:10px}
.d4y-view-button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:inherit;border-radius:8px;padding:8px 13px;font:inherit;font-weight:600;cursor:pointer}
.d4y-view-button.is-active{background:var(--bg-white,#fff);box-shadow:0 1px 5px rgba(0,0,0,.10)}
body.d4y-explore-list-mode .brk-explore-content{display:none!important}
body.d4y-explore-list-mode .brk-explore-sidebar{flex:1 1 100%!important;max-width:100%!important;width:100%!important}
body.d4y-explore-list-mode .brk-explore-sidebar .rz-explore-listings{max-width:1500px;margin-left:auto;margin-right:auto}
@media(min-width:1200px){body.d4y-explore-list-mode .brk-explore-sidebar .rz-listings[data-cols] .rz-listing-item{flex:0 1 33.333%!important;max-width:33.333%!important}}
body.d4y-explore-map-mode .brk-explore-content{display:block!important}
.d4y-mobile-map-back{display:none}

/* --------------------------------------------------------------------------
 * Extra search filters
 * ----------------------------------------------------------------------- */
.d4y-conversion-filter-toolbar{grid-column:1/-1;width:100%;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;overflow:visible;position:relative;z-index:4}
.d4y-filter-chip{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:1px solid rgba(0,0,0,.10);border-radius:999px;background:var(--bg-white,#fff);color:inherit;font:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:none}
.d4y-filter-chip:hover,.d4y-filter-chip.is-active{border-color:rgba(0,0,0,.25);background:rgba(0,0,0,.025)}
.d4y-filter-chip--select{padding-right:8px}.d4y-filter-chip--select select{border:0!important;background:transparent!important;min-height:38px!important;padding:0 23px 0 2px!important;width:auto!important;box-shadow:none!important;font:inherit!important;font-size:12px!important;font-weight:600!important}
.d4y-filter-chip--check input{width:15px;height:15px;margin:0}.d4y-chip-chevron{font-size:10px;opacity:.55}
.d4y-price-filter{position:relative}.d4y-price-popover{position:absolute;top:calc(100% + 9px);right:0;width:min(390px,calc(100vw - 30px));padding:20px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:18px;box-shadow:0 15px 45px rgba(0,0,0,.16);z-index:999}
.d4y-price-popover[hidden]{display:none!important}.d4y-price-heading strong{display:block;font-size:16px}.d4y-price-heading small{display:block;margin-top:4px;color:#666}
.d4y-range-wrap{position:relative;height:74px;margin:16px 3px 4px}.d4y-range-track{position:absolute;left:9px;right:9px;top:34px;height:3px;border-radius:99px;background:#e4e4e4}.d4y-range-fill{position:absolute;top:0;bottom:0;background:var(--main,#d8ab31)}
.d4y-range-wrap input[type=range]{position:absolute;left:0;top:20px;width:100%;height:30px;margin:0;background:transparent;pointer-events:none;-webkit-appearance:none;appearance:none}
.d4y-range-wrap input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:28px;height:28px;border:1px solid #ddd;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15);pointer-events:auto;cursor:pointer}
.d4y-range-wrap input[type=range]::-moz-range-thumb{width:28px;height:28px;border:1px solid #ddd;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15);pointer-events:auto;cursor:pointer}
.d4y-price-values{display:grid;grid-template-columns:1fr 1fr;gap:12px}.d4y-price-values label>span{display:block;margin-bottom:5px;font-size:11px;color:#777}.d4y-price-input{display:flex;align-items:center;gap:4px;border:1px solid #ddd;border-radius:12px;padding:0 11px}.d4y-price-input input{width:100%;height:43px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.d4y-price-input b{font-weight:500}
.d4y-price-actions{display:flex;justify-content:space-between;align-items:center;margin-top:17px;padding-top:14px;border-top:1px solid #eee}.d4y-price-clear,.d4y-price-apply{border:0;border-radius:10px;padding:10px 14px;font:inherit;font-weight:700;cursor:pointer}.d4y-price-clear{background:transparent;text-decoration:underline}.d4y-price-apply{background:var(--main,#d8ab31);color:#fff}

/* Home search: advanced criteria stay secondary to the original design */
.rz-search-form.d4y-home-search .rz-search-submit{flex:0 0 auto!important;min-width:0;padding:8px!important;box-sizing:border-box}
.rz-search-form.d4y-home-search .rz-search-submit button[type="submit"]{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:auto!important;min-width:132px;min-height:44px;height:auto!important;padding:11px 22px!important;border-radius:8px!important;font:inherit;font-size:14px;font-weight:700;line-height:1.4;white-space:nowrap}
.rz-search-form.d4y-home-search .rz-search-submit .rz--icon[hidden]{display:none!important}
.rz-search-form.d4y-home-search .rz-search-submit button:focus-visible,.d4y-home-browse:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.elementor .elementor-element a.elementor-button.d4y-home-browse{display:inline-block!important;width:auto!important;min-height:44px;padding:11px 8px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#fff!important;font-family:inherit!important;font-size:14px!important;font-weight:500!important;line-height:1.5!important;text-decoration:underline!important;text-underline-offset:4px;text-shadow:0 1px 3px rgba(0,0,0,.45)}
.elementor .elementor-element a.elementor-button.d4y-home-browse:hover{text-decoration-thickness:2px!important}
@media(min-width:768px){
 .rz-search-form.d4y-home-search .rz--form{flex-wrap:nowrap!important}
 .rz-search-form.d4y-home-search .rz-search-mods{flex:1 1 0!important;min-width:0}
 .rz-search-form.d4y-home-search .rz-search-mods>.rz-mod{flex:1 1 0!important;min-width:0;max-width:none!important}
}
@media(max-width:767px){
 .rz-search-form.d4y-home-search .rz--form{display:flex!important;flex-direction:column!important}
 .rz-search-form.d4y-home-search .rz-search-mods{display:flex!important;flex-direction:column!important;width:100%;min-width:0}
 .rz-search-form.d4y-home-search .rz-search-mods>.rz-mod{flex:0 0 auto!important;width:100%;max-width:100%!important}
 .rz-search-form.d4y-home-search .rz-search-submit{width:100%;padding:10px!important}
 .rz-search-form.d4y-home-search .rz-search-submit button[type="submit"]{width:100%!important;min-width:0;min-height:46px}
}
.d4y-home-advanced-wrap{width:100%;margin-top:9px}.d4y-home-advanced-toggle{display:inline-flex;align-items:center;border:0;background:transparent;padding:4px 0;color:inherit;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.d4y-home-advanced-panel{display:none;margin-top:6px}.d4y-home-advanced-wrap.is-open .d4y-home-advanced-panel{display:block}.d4y-home-advanced-panel .d4y-conversion-filter-toolbar{margin-top:0}

/* --------------------------------------------------------------------------
 * Booking contact + phone
 * ----------------------------------------------------------------------- */
.d4y-booking-contact{margin-top:16px;padding-top:16px;border-top:1px solid rgba(0,0,0,.08)}
.d4y-contact-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.d4y-contact-head strong{display:block;font-size:13px}.d4y-contact-head small{display:block;margin-top:3px;font-size:10px;opacity:.62;line-height:1.4}.d4y-login-resume{flex:0 0 auto;font-size:11px;font-weight:700;text-decoration:underline!important;color:inherit!important}
.d4y-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.d4y-contact-field{min-width:0}.d4y-contact-field--full{grid-column:1/-1}.d4y-booking-contact label{display:block;margin-bottom:6px;font-size:11px;font-weight:600}.d4y-booking-contact input[type=text],.d4y-booking-contact input[type=email],.d4y-booking-contact input[type=tel]{width:100%;min-height:43px;padding:0 11px;border:0;border-radius:10px;background:var(--field-bg,#f3f3f3);color:inherit;box-shadow:none;font:inherit}
.d4y-legacy-phone-hidden{display:none!important}
.d4y-phone-row{display:grid;grid-template-columns:112px minmax(0,1fr);gap:8px;align-items:stretch;width:100%;margin-bottom:3px}.d4y-phone-picker{position:relative;min-width:0}.d4y-phone-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:43px;padding:0 12px;margin:0;background:var(--field-bg,#f3f3f3);color:inherit;border:0;border-radius:10px;box-shadow:none;font:inherit;cursor:pointer}.d4y-phone-trigger-code{font-weight:600}.d4y-phone-trigger-chevron{font-size:10px;opacity:.6;transition:transform .15s}.d4y-phone-picker.d4y-open .d4y-phone-trigger-chevron{transform:rotate(180deg)}
.d4y-phone-menu{position:fixed;z-index:2147483000;width:310px;max-width:calc(100vw - 24px);padding:8px;background:#fff;color:#222;border:1px solid rgba(0,0,0,.10);border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.18);overflow:hidden}.d4y-phone-menu[hidden]{display:none!important}.d4y-phone-search{width:100%!important;height:39px!important;padding:8px 11px!important;margin:0 0 7px!important;background:#f3f3f3!important;color:#222!important;border:0!important;border-radius:9px!important;box-shadow:none!important;font:inherit!important}.d4y-phone-options{max-height:238px;overflow:auto;overscroll-behavior:contain;padding-right:2px}.d4y-phone-option{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:37px;padding:8px 10px;margin:0;background:transparent;color:inherit;border:0;border-radius:8px;font:inherit;text-align:left;cursor:pointer}.d4y-phone-option:hover,.d4y-phone-option:focus,.d4y-phone-option.is-selected{background:#f3f3f3;outline:none}.d4y-phone-option-country{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.d4y-phone-option-code{flex:0 0 auto;font-weight:600;opacity:.78}

/* --------------------------------------------------------------------------
 * Booking wizard: 1 Stay / 2 Options / 3 Contact
 * ----------------------------------------------------------------------- */
.d4y-booking-steps{width:100%}.d4y-booking-step-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:0 0 15px;padding:4px;border-radius:12px;background:#f6f6f7}
.d4y-step-indicator{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;padding:7px 4px;border-radius:9px;color:#777;font-size:10px;font-weight:700;transition:.2s}.d4y-step-indicator span{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;background:#e4e4e7;font-size:10px}.d4y-step-indicator em{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.d4y-step-indicator.is-active{background:#fff;color:#16152d;box-shadow:0 1px 5px rgba(0,0,0,.08)}.d4y-step-indicator.is-active span,.d4y-step-indicator.is-done span{background:var(--main,#d8ab31);color:#fff}.d4y-step-indicator.is-done{color:#4d4d55}
.d4y-booking-step{display:none}.d4y-booking-step.is-active{display:block}.d4y-step-heading{margin:0 0 13px}.d4y-step-heading strong{display:block;font-size:14px;color:#17162e}.d4y-step-heading small{display:block;margin-top:3px;font-size:10px;line-height:1.4;color:#73737d}
.d4y-booking-step .rz-form-group,.d4y-booking-step .rz-calendar-date,.d4y-booking-step #service-prestige-container,.d4y-booking-step .rz-action-pricing{margin-bottom:13px}
.d4y-step-controls{display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:13px;border-top:1px solid rgba(0,0,0,.075)}.d4y-step-back,.d4y-step-next{min-height:42px;border:0;border-radius:10px;padding:9px 15px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.d4y-step-back{background:#f1f1f3;color:#1b1a35}.d4y-step-next{margin-left:auto;background:var(--main,#d8ab31);color:#fff;flex:1}.d4y-booking-step[data-step="3"]>.d4y-step-controls{margin-top:10px}.d4y-booking-step[data-step="3"] .rz-action-footer{margin-top:14px!important}.d4y-booking-step[data-step="3"] .rz-action-footer .rz-button{width:100%;margin:0!important}
.d4y-inline-error{margin-top:10px!important}

/* Prestige: compact visually, real checkbox remains connected to Routiz */
#service-prestige-container.d4y-prestige-compact{border:1px solid rgba(214,176,67,.65)!important;padding:13px!important;margin:12px 0!important;border-radius:12px!important;background:#fffaf0!important}
#service-prestige-container.d4y-prestige-compact>div:first-child{gap:10px}#service-prestige-container.d4y-prestige-compact>div:first-child>div{font-size:14px!important}
#service-prestige-container.d4y-prestige-compact .d4y-prestige-summary{margin:8px 0 5px!important;font-size:11px!important;line-height:1.45;color:#5d5b54!important}
#service-prestige-container.d4y-prestige-compact ul{display:none!important;padding-top:7px!important;font-size:11px!important;line-height:1.55!important}#service-prestige-container.d4y-prestige-compact.is-expanded ul{display:block!important}
#service-prestige-container.d4y-prestige-compact .d4y-prestige-more{display:inline-flex;margin:3px 0 0;padding:0;border:0;background:transparent;color:#8c6c08;font:inherit;font-size:10px;font-weight:800;text-decoration:underline;cursor:pointer}
#service-prestige-container.d4y-prestige-compact>div:last-child{font-size:11px!important;margin-top:7px!important;text-align:left!important}.d4y-native-prestige-option{display:none!important}

/* Guidance / confirmation */
.d4y-booking-existing-account{margin:12px 0;padding:14px;background:#fff4f5;border-radius:12px;text-align:center;color:#bc3654}.d4y-booking-existing-account strong{display:block;font-size:14px}.d4y-booking-existing-account p{margin:6px 0 10px;font-size:12px;line-height:1.45}.d4y-booking-login-button{display:inline-flex;justify-content:center;width:100%;padding:10px 12px;border-radius:9px;background:#fff;color:#1a1938!important;font-weight:700;text-decoration:none!important}
.d4y-booking-confirmed-card{padding:18px;background:#e8fbef;border-radius:12px;color:#176c39;text-align:left}.d4y-booking-confirmed-card .d4y-check{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#24c86d;color:#fff;font-weight:900}.d4y-booking-confirmed-card h4{margin:10px 0 6px;color:#176c39!important;font-size:16px}.d4y-booking-confirmed-card p{margin:0;font-size:12px;line-height:1.5}.d4y-booking-confirmed-card .d4y-created-account-note{margin-top:7px}.d4y-booking-confirmed-card .d4y-ref{display:block;margin-top:8px;font-size:11px;font-weight:700}
.d4y-conversion-trust{margin-top:13px;padding:12px;border:1px solid rgba(0,0,0,.09);border-radius:12px}.d4y-trust-list{margin:0 0 10px;padding:0;list-style:none}.d4y-trust-list li{margin:5px 0;font-size:11px}.d4y-explore-cta,.d4y-whatsapp-cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:42px;margin-top:8px;padding:8px 12px;border-radius:9px;font-size:12px;font-weight:700;text-align:center;text-decoration:none!important}.d4y-explore-cta{border:1px solid rgba(0,0,0,.13);background:#fff;color:#1a1938!important}.d4y-whatsapp-cta{background:#f3f3f3;color:#1a1938!important}

/* --------------------------------------------------------------------------
 * Listing content: progressive disclosure, content remains in the DOM/SEO
 * ----------------------------------------------------------------------- */
.d4y-collapsible-module{position:relative;max-height:var(--d4y-collapse-height,420px);overflow:hidden;transition:max-height .25s ease}.d4y-collapsible-module:after{content:"";position:absolute;left:0;right:0;bottom:0;height:72px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);pointer-events:none}.d4y-collapsible-module.is-expanded{max-height:none!important}.d4y-collapsible-module.is-expanded:after{display:none}.d4y-collapse-toggle{display:inline-flex;align-items:center;justify-content:center;margin:8px 0 24px;padding:9px 14px;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:#fff;color:#17162e;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.d4y-single-prestige-info{padding:14px!important;border:1px solid rgba(214,176,67,.35);border-radius:12px;background:#fffaf1}

/* Zero-result alternatives */
.d4y-alternatives-head{margin:0 0 18px;padding:16px 18px;background:#fff8e4;border-radius:14px}.d4y-alternatives-head h4{margin:0 0 5px;font-size:18px}.d4y-alternatives-head p{margin:0;font-size:12px;opacity:.75}.d4y-alt-note{display:block;margin:5px 0 0;font-size:10px;opacity:.7}

/* Related/similar cards on a single villa: hard fallback. */
.single-rz_listing .rz-listings .rz-listing-cover{position:relative}.single-rz_listing .rz-listings .rz-listing-cover-inner{position:relative;overflow:hidden;border-radius:10px}.single-rz_listing .rz-listings .rz-listing-image{position:relative;overflow:hidden}.single-rz_listing .rz-listings .rz-listing-image>.rz-image{display:block;width:100%;padding-top:66.4%;background-size:cover;background-position:center}.single-rz_listing .rz-listings .rz-listing-gallery{position:absolute;inset:0;height:100%}.single-rz_listing .rz-listings .rz-listing-gallery-item{height:100%!important;background-size:cover;background-position:center}

/* --------------------------------------------------------------------------
 * Responsive
 * ----------------------------------------------------------------------- */
@media(max-width:991.98px){
    /* Brikk reserves almost a viewport for its map even after D4Y switches to List. */
    body.d4y-explore-list-mode .brk-explore .brk-explore-sidebar,
    body.d4y-explore-list-mode.rz-explore-type--map .brk-explore-sidebar,
    body.d4y-explore-list-mode.rz-explore-type--map_x3 .brk-explore-sidebar{margin-top:0!important;transform:none!important}
}
@media(max-width:767px){
    .d4y-price-popover{position:fixed;left:12px;right:12px;bottom:14px;top:auto;width:auto}.d4y-contact-grid{grid-template-columns:1fr}.d4y-contact-field--full{grid-column:auto}.d4y-contact-head{display:block}.d4y-login-resume{display:inline-block;margin-top:6px}.d4y-phone-row{grid-template-columns:102px minmax(0,1fr)}.d4y-explore-view-switch{margin-left:10px}.d4y-conversion-filter-toolbar{gap:6px}.d4y-filter-chip{min-height:39px;padding:0 11px}
    .d4y-booking-step-nav{position:sticky;top:0;z-index:3;margin:-1rem -1rem 16px;padding:10px 12px;background:rgba(255,255,255,.96);border-radius:0;border-bottom:1px solid rgba(0,0,0,.07);backdrop-filter:blur(8px)}
    .d4y-step-indicator em{font-size:9px}.d4y-booking-step .rz-calendar{margin-left:-3px;margin-right:-3px}.d4y-booking-step[data-step="3"] .rz-action-footer{margin-top:16px!important}.d4y-conversion-trust{margin-top:14px}
    /* Dedicated full-screen map: one-finger panning, no two-finger conflict with page scroll. */
    body.d4y-explore-mobile-map{overflow:hidden!important;touch-action:none}
    body.d4y-explore-mobile-map #rz-explore .brk-explore-sidebar{display:none!important}
    body.d4y-explore-mobile-map #rz-explore .brk-explore-content{display:block!important;position:fixed!important;inset:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;margin:0!important;z-index:2147482000!important;background:#fff}
    body.d4y-explore-mobile-map #rz-explore .brk-explore-content .rz-dynamic-map,
    body.d4y-explore-mobile-map #rz-explore .brk-explore-content #rz-explore-map,
    body.d4y-explore-mobile-map #rz-explore .brk-explore-content .rz-map{height:100%!important;min-height:100dvh!important}
    body.d4y-explore-mobile-map .d4y-mobile-map-back{display:inline-flex;position:absolute;top:max(14px,env(safe-area-inset-top));left:14px;z-index:2147482500;align-items:center;gap:7px;min-height:42px;padding:0 15px;border:0;border-radius:999px;background:#fff;color:#17162e;box-shadow:0 4px 18px rgba(0,0,0,.18);font:inherit;font-size:12px;font-weight:800;cursor:pointer}
    .brk-mobile-listing-bottom .rz-button span{font-weight:700}
    .d4y-collapse-toggle{width:100%;margin-top:7px}.d4y-collapsible-module:after{height:60px}
}

/* --------------------------------------------------------------------------
 * D4Y Conversion v7 — mobile UX hardening
 * ----------------------------------------------------------------------- */
@media(max-width:991.98px){
    /* Brikk map layouts reserve viewport space on mobile. In List mode, remove it completely. */
    body.d4y-explore-list-mode #rz-explore .brk-explore,
    body.d4y-explore-list-mode #rz-explore .brk-container{min-height:0!important;height:auto!important;margin-top:0!important;padding-top:0!important}
    body.d4y-explore-list-mode #rz-explore .brk-explore-content{display:none!important;position:static!important;inset:auto!important;height:0!important;min-height:0!important;margin:0!important;overflow:hidden!important}
    body.d4y-explore-list-mode #rz-explore .brk-explore-sidebar{position:relative!important;margin-top:0!important;transform:none!important;min-height:0!important;height:auto!important;padding-top:0!important;top:auto!important}
}

@media(max-width:767px){
    /* Search controls: proper mobile gutters instead of touching the viewport edge. */
    .d4y-explore-view-switch{margin:8px 12px 12px!important}
    .d4y-conversion-filter-toolbar{box-sizing:border-box;width:100%!important;margin:8px 0 0!important;padding:0 12px!important;gap:7px!important}
    .d4y-conversion-filter-toolbar--explore{flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:visible!important;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:3px!important}
    .d4y-conversion-filter-toolbar--explore::-webkit-scrollbar{display:none}
    .d4y-conversion-filter-toolbar--explore .d4y-filter-chip{flex:0 0 auto}

    /* Price = mobile bottom sheet above Brikk's fixed bottom navigation. */
    .d4y-price-popover{box-sizing:border-box!important;position:fixed!important;left:10px!important;right:10px!important;top:auto!important;bottom:calc(76px + env(safe-area-inset-bottom,0px))!important;width:auto!important;max-height:calc(100dvh - 106px - env(safe-area-inset-top,0px))!important;margin:0!important;padding:18px 16px 14px!important;border-radius:20px!important;overflow:auto!important;overscroll-behavior:contain!important;z-index:2147482600!important;box-shadow:0 14px 48px rgba(0,0,0,.24)!important}
    .d4y-price-actions{position:sticky!important;left:0;right:0;bottom:-14px!important;z-index:2;margin:17px -16px -14px!important;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))!important;background:#fff!important;border-top:1px solid #eee!important;box-shadow:0 -8px 20px rgba(255,255,255,.94)}
    .d4y-price-clear,.d4y-price-apply{min-height:44px!important}.d4y-price-apply{min-width:120px!important}

    /* Guest choices stay beside their field, in normal page flow. */
    .rz-guests.d4y-guests-v7 .rz--dropdown{box-sizing:border-box!important;position:static!important;inset:auto!important;min-width:0!important;width:100%!important;max-width:100%!important;max-height:none!important;margin:8px 0 0!important;border:1px solid #e8e8ed!important;border-radius:12px!important;box-shadow:none!important;overflow:visible!important;z-index:auto!important;background:#fff!important}
    .rz-guests.d4y-guests-v7.rz-open .rz--dropdown{display:flex!important;flex-direction:column!important}
    .rz-guests.d4y-guests-v7 .rz--dropdown .rz--inner{padding:17px 16px 8px!important}
    .rz-guests.d4y-guests-v7 .rz--dropdown .rz--title{margin:0 0 3px!important;font-size:16px!important;line-height:1.25!important;color:#17162e!important}
    .d4y-guests-live{margin:0 0 14px;color:#777;font-size:11px;line-height:1.35}
    .rz-guests.d4y-guests-v7 .rz--dropdown table{width:100%!important;margin:0!important}
    .rz-guests.d4y-guests-v7 .rz--dropdown table tr{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:62px!important;border-top:1px solid #f0f0f1!important}
    .rz-guests.d4y-guests-v7 .rz--dropdown table tr:first-child{border-top:0!important}
    .rz-guests.d4y-guests-v7 .rz--dropdown table td{display:block!important;margin:0!important;padding:10px 0!important;border:0!important}
    .rz-guests.d4y-guests-v7 .rz--dropdown table td.rz--field{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex:0 0 auto!important}
    .rz-guests.d4y-guests-v7 .rz--dropdown .rz--name strong{display:block!important;font-size:13px!important;color:#17162e!important}
    .d4y-guest-age{display:block!important;margin-top:2px!important;font-size:10px!important;line-height:1.2!important;font-weight:400!important;color:#84848d!important}
    .rz-guests.d4y-guests-v7 .rz-stepper .rz-stepper-button{width:38px!important;height:38px!important;line-height:38px!important;font-size:13px!important}
    .rz-guests.d4y-guests-v7 .rz-stepper .rz-stepper-text{min-width:26px!important;margin:0 7px!important;font-size:14px!important;font-weight:700!important}
    .rz-guests.d4y-guests-v7 .rz--footer{padding:7px 16px 13px!important;margin:0!important;border-top:0!important}
    .rz-guests.d4y-guests-v7 .rz--footer .rz-text-right{display:block!important;margin-top:10px}
    .rz-guests.d4y-guests-v7 .rz--footer .rz--info{margin:0!important;font-size:10px!important;line-height:1.35!important;color:#8a8a91!important}
    .rz-guests.d4y-guests-v7 .rz--label{overflow:hidden;text-overflow:ellipsis;padding-right:34px!important}
    .rz-guests.d4y-guests-v7 .rz--label span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

    /* Calendar: clear arrival/departure state, then a new tap starts a new stay automatically. */
    .d4y-calendar-summary{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;gap:8px!important;margin:0 0 12px!important;padding:0!important}
    .d4y-calendar-date-box{min-width:0;padding:9px 11px;border:1px solid #e8e8eb;border-radius:11px;background:#fff;transition:.16s}
    .d4y-calendar-date-box.is-active{border-color:var(--main,#d8ab31);box-shadow:0 0 0 1px var(--main,#d8ab31) inset;background:#fffdf6}
    .d4y-calendar-date-box small{display:block;margin-bottom:2px;color:#8a8a92;font-size:9px;line-height:1;text-transform:uppercase;letter-spacing:.02em}
    .d4y-calendar-date-box strong{display:block;overflow:hidden;color:#17162e;font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
    .d4y-calendar-arrow{color:#aaa;font-size:13px}
    .d4y-booking-step .rz-calendar-actions{display:none!important}
    .d4y-booking-step .rz-calendar{margin-left:0!important;margin-right:0!important}
    .d4y-booking-step .rz-calendar-month .rz-days li{touch-action:manipulation}
}


/* --------------------------------------------------------------------------
 * D4Y Conversion v7.2 — reservation state + calendar edit UX
 * ----------------------------------------------------------------------- */
.d4y-booking-account-summary{margin-top:0;padding-top:0;border-top:0}
.d4y-account-recap{display:flex;flex-direction:column;gap:2px;padding:12px 13px;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:#fafafa}
.d4y-account-recap span{font-size:10px;color:#7d7d85}
.d4y-account-recap strong{font-size:13px;line-height:1.25;color:#17162e}
.d4y-account-recap small{font-size:10px;line-height:1.35;color:#777;overflow-wrap:anywhere}
.d4y-account-phone-fix{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.07)}
.d4y-account-phone-fix>label{display:block;margin-bottom:3px;font-size:11px;font-weight:700}
.d4y-account-phone-fix>small{display:block;margin-bottom:8px;font-size:10px;line-height:1.35;color:#777}

.d4y-booking-step[data-step="3"] .rz-action-footer .rz-button>span{font-size:13px!important;font-weight:800!important;white-space:nowrap}
.d4y-calendar-date-box{appearance:none;-webkit-appearance:none;width:100%;font:inherit;text-align:left;cursor:pointer}
.d4y-calendar-date-box:focus-visible{outline:2px solid var(--main,#d8ab31);outline-offset:2px}

/* One full-width native button; the theme still controls when the bar is shown. */
#rz-explore .rz-search-bar.d4y-filter-bar{padding:0!important;align-items:center}
#rz-explore .rz-search-bar .d4y-filter-bar-button{
    appearance:none;-webkit-appearance:none;display:flex;align-items:center;justify-content:space-between;
    box-sizing:border-box;flex:1 1 auto;width:100%;min-width:0;min-height:44px;margin:0;padding:12px 24px;
    border:0;border-radius:inherit;background:transparent;box-shadow:none;color:inherit;
    font:inherit;font-weight:600;line-height:1.5;text-align:left;text-transform:none;letter-spacing:normal;
    gap:16px;cursor:pointer;touch-action:manipulation;
}
#rz-explore .d4y-filter-bar-label{flex:1;min-width:0}
#rz-explore .d4y-filter-bar-icon{flex:none;font-size:17px;line-height:1}
#rz-explore .d4y-filter-bar-button:focus-visible{outline:2px solid var(--main,#d8ab31);outline-offset:2px}
#rz-explore .d4y-filter-bar-button:active{background:rgba(0,0,0,.035)}

@media(max-width:767px){
    /* List / Map lives directly below Routiz's sticky Explorer bar, never behind it. */
    #rz-explore .rz-search-filter>.d4y-explore-view-switch{
        position:relative!important;
        z-index:8!important;
        box-sizing:border-box!important;
        width:max-content!important;
        max-width:calc(100% - 24px)!important;
        margin:8px 12px 10px!important;
        clear:both!important;
    }

    /* The third step should read as a compact confirmation, not an empty form. */
    .d4y-booking-account-summary{margin-bottom:12px!important}
    .d4y-booking-step[data-step="3"] .d4y-step-heading{margin-bottom:10px!important}
    .d4y-booking-step[data-step="3"] .rz-action-footer{margin-top:12px!important}
    .d4y-booking-step[data-step="3"] .rz-action-footer .rz-button{min-height:44px!important;padding:0 14px!important}

    /* Arrival / departure cards are true controls. */
    .d4y-calendar-date-box{min-height:50px!important}
}

/* --------------------------------------------------------------------------
 * D4Y Conversion v7.3 — calendar, filters, map-only mode and resume polish
 * ----------------------------------------------------------------------- */

/* Calendar controls are styled on desktop AND mobile. */
.d4y-calendar-summary{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:8px!important;
    width:100%!important;
    margin:0 0 14px!important;
    padding:0!important;
}
.d4y-calendar-date-box{
    appearance:none!important;
    -webkit-appearance:none!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:54px!important;
    margin:0!important;
    padding:9px 12px!important;
    border:1px solid #e4e4e8!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#17162e!important;
    box-shadow:none!important;
    font:inherit!important;
    line-height:1.2!important;
    text-align:left!important;
    cursor:pointer!important;
    transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
}
.d4y-calendar-date-box:hover{border-color:#cfcfd5!important}
.d4y-calendar-date-box.is-active{
    border-color:var(--main,#d8ab31)!important;
    background:#fffdf6!important;
    box-shadow:0 0 0 1px var(--main,#d8ab31) inset!important;
}
.d4y-calendar-date-box small{
    display:block!important;
    margin:0 0 4px!important;
    color:#888891!important;
    font-size:9px!important;
    font-weight:600!important;
    line-height:1!important;
    text-transform:uppercase!important;
    letter-spacing:.04em!important;
}
.d4y-calendar-date-box strong{
    display:block!important;
    overflow:hidden!important;
    color:#17162e!important;
    font-size:13px!important;
    font-weight:750!important;
    line-height:1.25!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
.d4y-calendar-arrow{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:#aaa!important;
    font-size:15px!important;
    line-height:1!important;
}

/* Final booking action: compact, readable, premium. */
.d4y-booking-step[data-step="3"] .rz-action-footer{margin-top:14px!important}
.d4y-booking-step[data-step="3"] .rz-action-footer .rz-button{
    width:100%!important;
    min-height:48px!important;
    padding:0 18px!important;
    border-radius:12px!important;
}
.d4y-booking-step[data-step="3"] .rz-action-footer .rz-button>span{
    font-size:14px!important;
    font-weight:800!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
}

/* Keep a comfortable gap between D4Y quick filters and Routiz's Search button. */
.d4y-conversion-filter-toolbar--explore{margin-bottom:14px!important}
#rz-explore .rz-search-footer{padding-top:4px!important}

/* Desktop: List = listings only, Map = map only with filter panel floating above it. */
@media(min-width:768px){
    body.d4y-explore-map-mode #rz-explore.brk-explore{
        display:block!important;
        position:relative!important;
        min-height:calc(100vh - 70px)!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-content{
        display:block!important;
        position:relative!important;
        width:100%!important;
        max-width:none!important;
        height:calc(100vh - 70px)!important;
        min-height:620px!important;
        margin:0!important;
        flex:0 0 100%!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-content .brk--map{
        width:100%!important;
        height:100%!important;
        min-height:620px!important;
        margin:0!important;
        padding-top:0!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar{
        display:block!important;
        position:absolute!important;
        top:16px!important;
        left:50%!important;
        width:min(1180px,calc(100% - 36px))!important;
        max-width:none!important;
        margin:0!important;
        transform:translateX(-50%)!important;
        z-index:60!important;
        background:transparent!important;
        pointer-events:none!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-dynamic-filter{
        pointer-events:auto!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-explore-listings{
        display:none!important;
    }
    body.d4y-explore-map-mode #rz-explore .rz-search-filter--inline .rz--content{
        border:1px solid rgba(0,0,0,.06)!important;
        border-radius:16px!important;
        background:rgba(255,255,255,.97)!important;
        box-shadow:0 10px 34px rgba(0,0,0,.14)!important;
        backdrop-filter:blur(7px)!important;
        -webkit-backdrop-filter:blur(7px)!important;
    }
    body.d4y-explore-map-mode #rz-explore .d4y-explore-view-switch{
        margin:0 0 8px!important;
        pointer-events:auto!important;
        background:#fff!important;
        box-shadow:0 6px 20px rgba(0,0,0,.12)!important;
    }
    /* Quick D4Y filters are instant in Map mode; the Search button remains for native filters. */
    body.d4y-explore-map-mode #rz-explore .d4y-conversion-filter-toolbar--explore{
        margin-bottom:10px!important;
    }
}

@media(max-width:767px){
    /* No horizontal carousel for the three quick filters. */
    .d4y-conversion-filter-toolbar--explore{
        display:grid!important;
        grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
        align-items:stretch!important;
        width:100%!important;
        gap:8px!important;
        margin:10px 0 12px!important;
        padding:0 12px!important;
        overflow:visible!important;
    }
    .d4y-conversion-filter-toolbar--explore .d4y-filter-chip,
    .d4y-conversion-filter-toolbar--explore .d4y-price-filter{
        width:100%!important;
        min-width:0!important;
        max-width:none!important;
    }
    .d4y-conversion-filter-toolbar--explore .d4y-filter-chip{
        justify-content:space-between!important;
        padding-left:11px!important;
        padding-right:11px!important;
    }
    .d4y-conversion-filter-toolbar--explore .d4y-price-filter{
        grid-column:1/-1!important;
    }
    .d4y-conversion-filter-toolbar--explore .d4y-price-toggle{
        justify-content:center!important;
    }
    .d4y-filter-chip--select select{
        min-width:0!important;
        max-width:100%!important;
        width:100%!important;
    }
    #rz-explore .rz-search-footer{
        margin-top:3px!important;
        padding:0 12px 10px!important;
    }
    #rz-explore .rz-search-footer .rz--submit .rz-button{
        margin-top:4px!important;
    }
    .d4y-calendar-summary{
        grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr)!important;
        gap:6px!important;
    }
    .d4y-calendar-date-box{min-height:52px!important;padding:8px 10px!important}
    .d4y-calendar-date-box strong{font-size:12px!important}
}

/* --------------------------------------------------------------------------
 * D4Y Conversion v7.4 — stable desktop split + true map-only/list-only modes
 * ----------------------------------------------------------------------- */
@media(min-width:768px){
    /* Default desktop mode is Brikk's native split: listings left, map right. */
    body.d4y-explore-split-mode #rz-explore.brk-explore{
        display:flex!important;
        flex-wrap:wrap!important;
    }
    body.d4y-explore-split-mode #rz-explore .brk-explore-content{
        display:block!important;
        position:relative!important;
        flex:1!important;
        order:2!important;
        width:auto!important;
        max-width:none!important;
        height:auto!important;
        min-height:0!important;
        margin:0!important;
    }
    body.d4y-explore-split-mode #rz-explore .brk-explore-sidebar{
        display:block!important;
        position:relative!important;
        flex:0 1 780px!important;
        max-width:780px!important;
        width:auto!important;
        order:1!important;
        top:auto!important;
        left:auto!important;
        transform:none!important;
        margin:0!important;
        pointer-events:auto!important;
        background:inherit!important;
    }
    @media(max-width:1199.98px){
        body.d4y-explore-split-mode #rz-explore .brk-explore-sidebar{
            flex-basis:420px!important;
            max-width:420px!important;
        }
    }

    /* Map button = map only. Do not cover the map with the full search form. */
    body.d4y-explore-map-mode #rz-explore.brk-explore{
        display:block!important;
        position:relative!important;
        min-height:calc(100vh - 70px)!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-content{
        display:block!important;
        position:relative!important;
        width:100%!important;
        max-width:none!important;
        height:calc(100vh - 70px)!important;
        min-height:620px!important;
        margin:0!important;
        flex:0 0 100%!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-content .brk--map{
        position:relative!important;
        top:auto!important;
        width:100%!important;
        height:100%!important;
        min-height:620px!important;
        margin:0!important;
        padding-top:0!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar{
        display:block!important;
        position:absolute!important;
        top:14px!important;
        left:14px!important;
        width:auto!important;
        max-width:calc(100% - 28px)!important;
        margin:0!important;
        transform:none!important;
        z-index:80!important;
        background:transparent!important;
        pointer-events:none!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-explore-listings,
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-summary,
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-paging{
        display:none!important;
    }
    body.d4y-explore-map-mode #rz-explore .rz-dynamic-filter,
    body.d4y-explore-map-mode #rz-explore .rz-dynamic-filter .rz-search{
        width:auto!important;
        max-width:100%!important;
        background:transparent!important;
        pointer-events:none!important;
    }
    body.d4y-explore-map-mode #rz-explore .d4y-explore-view-switch{
        display:flex!important;
        margin:0 0 8px!important;
        background:#fff!important;
        box-shadow:0 6px 20px rgba(0,0,0,.13)!important;
        pointer-events:auto!important;
    }
    body.d4y-explore-map-mode #rz-explore .rz-search-filter{
        width:auto!important;
        max-width:100%!important;
        pointer-events:none!important;
    }
    body.d4y-explore-map-mode #rz-explore .rz-search-filter .rz-search-bar,
    body.d4y-explore-map-mode #rz-explore .rz-search-footer{
        display:none!important;
    }
    body.d4y-explore-map-mode #rz-explore .rz-search-filter--inline .rz--content{
        display:block!important;
        width:auto!important;
        padding:0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
        backdrop-filter:none!important;
        -webkit-backdrop-filter:none!important;
        pointer-events:none!important;
    }
    body.d4y-explore-map-mode #rz-explore .rz-search-filter-inner{
        padding:0!important;
        margin:0!important;
        pointer-events:none!important;
    }
    body.d4y-explore-map-mode #rz-explore .rz-search-filter-inner .rz-form,
    body.d4y-explore-map-mode #rz-explore .rz-search-filter-inner .rz-grid{
        margin:0!important;
        padding:0!important;
        pointer-events:none!important;
    }
    body.d4y-explore-map-mode #rz-explore .rz-search-filter-inner .rz-grid > *:not(.d4y-conversion-filter-toolbar--explore){
        display:none!important;
    }
    body.d4y-explore-map-mode #rz-explore .d4y-conversion-filter-toolbar--explore{
        display:flex!important;
        width:auto!important;
        max-width:min(720px,calc(100vw - 28px))!important;
        margin:0!important;
        padding:6px!important;
        gap:6px!important;
        flex-wrap:wrap!important;
        border:1px solid rgba(0,0,0,.06)!important;
        border-radius:14px!important;
        background:rgba(255,255,255,.97)!important;
        box-shadow:0 8px 28px rgba(0,0,0,.14)!important;
        backdrop-filter:blur(7px)!important;
        -webkit-backdrop-filter:blur(7px)!important;
        pointer-events:auto!important;
    }
    body.d4y-explore-map-mode #rz-explore .d4y-conversion-filter-toolbar--explore .d4y-price-popover{
        z-index:120!important;
    }

    /* List button = listings only, full width. */
    body.d4y-explore-list-mode #rz-explore .brk-explore-content{display:none!important}
    body.d4y-explore-list-mode #rz-explore .brk-explore-sidebar{
        display:block!important;
        position:relative!important;
        flex:1 1 100%!important;
        width:100%!important;
        max-width:100%!important;
        margin:0!important;
        transform:none!important;
        top:auto!important;
        left:auto!important;
    }
}


/* --------------------------------------------------------------------------
 * D4Y Conversion v7.5 — service continuity + premium final CTA
 * ----------------------------------------------------------------------- */
/* If Prestige is the only addon, the native flyout would open an empty panel
   because its duplicate Prestige row is intentionally hidden. Remove that
   redundant chooser and keep the inline Prestige card inside step 2. */
.d4y-booking-step [data-id="addons"].d4y-services-prestige-only{display:none!important}

/* Final action: clearer, warmer and more tappable on desktop and mobile. */
.d4y-booking-step[data-step="3"] .rz-action-footer{margin-top:16px!important}
.d4y-booking-step[data-step="3"] .rz-action-footer .rz-button{
    position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;
    width:100%!important;min-height:54px!important;padding:0 48px 0 22px!important;
    border:0!important;border-radius:14px!important;
    background:linear-gradient(135deg,#f4cf55 0%,#e4b936 55%,#d6a82c 100%)!important;
    color:#17162e!important;box-shadow:0 9px 22px rgba(190,145,25,.24)!important;
    transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important;
    overflow:hidden!important;
}
.d4y-booking-step[data-step="3"] .rz-action-footer .rz-button>span{
    color:#17162e!important;font-size:15px!important;font-weight:850!important;letter-spacing:.01em!important;line-height:1!important;
}
.d4y-booking-step[data-step="3"] .rz-action-footer .rz-button:after{
    content:'→';position:absolute;right:18px;top:50%;transform:translateY(-52%);font-size:20px;font-weight:700;line-height:1;color:#17162e;
}
.d4y-booking-step[data-step="3"] .rz-action-footer .rz-button:hover{transform:translateY(-1px)!important;box-shadow:0 12px 26px rgba(190,145,25,.30)!important;filter:saturate(1.04)!important}
.d4y-booking-step[data-step="3"] .rz-action-footer .rz-button:active{transform:translateY(0)!important;box-shadow:0 6px 15px rgba(190,145,25,.20)!important}
@media(max-width:767px){
    .d4y-booking-step[data-step="3"] .rz-action-footer .rz-button{min-height:56px!important;border-radius:13px!important}
    .d4y-booking-step[data-step="3"] .rz-action-footer .rz-button>span{font-size:15px!important}
}


/* --------------------------------------------------------------------------
 * D4Y Conversion v7.7 — reliable service chooser + step-1 validation
 * ----------------------------------------------------------------------- */
/* The native checklist remains in the DOM for Routiz pricing but is replaced
   visually by a deterministic chooser, preventing an empty flyout. */
.d4y-booking-step [data-id="addons"].d4y-services-prestige-only,
.d4y-booking-step [data-id="addons"].d4y-service-chooser-group{display:block!important}
.d4y-service-chooser .d4y-native-prestige-option{display:flex!important}
.d4y-service-chooser .d4y-service-native-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;margin:-1px!important;padding:0!important;border:0!important}
.d4y-service-cards{display:grid!important;gap:9px!important;width:100%!important}
.d4y-service-card{
    appearance:none!important;-webkit-appearance:none!important;display:grid!important;grid-template-columns:32px minmax(0,1fr) auto!important;
    align-items:center!important;gap:10px!important;width:100%!important;min-height:72px!important;margin:0!important;padding:11px 12px!important;
    border:1px solid rgba(23,22,46,.12)!important;border-radius:13px!important;background:#fff!important;color:#17162e!important;text-align:left!important;
    box-shadow:none!important;cursor:pointer!important;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease!important;
}
.d4y-service-card:hover{border-color:rgba(214,176,67,.7)!important}
.d4y-service-card.is-selected{border-color:#d6b043!important;background:#fffaf0!important;box-shadow:0 0 0 2px rgba(214,176,67,.10)!important}
.d4y-service-card-check{display:flex!important;align-items:center!important;justify-content:center!important;width:30px!important;height:30px!important;border-radius:999px!important;background:#f2f2f4!important;color:#17162e!important;font-size:17px!important;font-weight:900!important;line-height:1!important}
.d4y-service-card.is-selected .d4y-service-card-check{background:#d6b043!important;color:#fff!important}
.d4y-service-card-main{display:block!important;min-width:0!important}
.d4y-service-card-main strong{display:block!important;margin:0 0 3px!important;font-size:13px!important;font-weight:800!important;line-height:1.25!important;color:#17162e!important}
.d4y-service-card-main small{display:block!important;font-size:10.5px!important;font-weight:500!important;line-height:1.4!important;color:#74727c!important}
.d4y-service-card-price{display:block!important;padding-left:6px!important;font-size:12px!important;font-weight:800!important;white-space:nowrap!important;color:#8a6907!important}
.d4y-service-chooser .rz-tab-footer{display:none!important}
.d4y-service-chooser .rz-tab-content{padding:12px!important}
.d4y-service-chooser .rz-tab-content>.rz-grid{display:block!important}

/* Required guest selection before leaving step 1. */
.d4y-guests-v7.d4y-guest-required>.rz--label{box-shadow:0 0 0 2px rgba(190,50,50,.13)!important;border-color:#c94545!important}

/* Final CTA: override the older v7.5 arrow/padding styles with a stable button. */
.d4y-booking-step[data-step="3"] .rz-action-footer{margin-top:16px!important}
.d4y-booking-step[data-step="3"] .rz-action-footer .rz-button{
    display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;
    width:100%!important;min-height:52px!important;padding:0 18px!important;margin:0!important;
    border:0!important;border-radius:12px!important;background:linear-gradient(135deg,#f2cb4a 0%,#dfb236 100%)!important;
    color:#17162e!important;box-shadow:0 7px 18px rgba(180,135,18,.20)!important;overflow:hidden!important;
    transition:transform .15s ease,box-shadow .15s ease,filter .15s ease!important;
}
.d4y-booking-step[data-step="3"] .rz-action-footer .rz-button:after,
.d4y-booking-step[data-step="3"] .rz-action-footer .rz-button:before{content:none!important;display:none!important}
.d4y-booking-step[data-step="3"] .rz-action-footer .rz-button>span{display:block!important;color:#17162e!important;font-size:15px!important;font-weight:800!important;line-height:1.2!important;letter-spacing:0!important;white-space:nowrap!important}
.d4y-booking-step[data-step="3"] .rz-action-footer .rz-button .rz-preloader{color:#17162e!important}
.d4y-booking-step[data-step="3"] .rz-action-footer .rz-button:hover{transform:translateY(-1px)!important;box-shadow:0 9px 21px rgba(180,135,18,.24)!important}
.d4y-booking-step[data-step="3"] .rz-action-footer .rz-button:active{transform:none!important;box-shadow:0 4px 11px rgba(180,135,18,.17)!important}

@media(max-width:991.98px){
    .d4y-service-chooser .rz-tab-flyout{top:auto!important;right:10px!important;bottom:calc(76px + env(safe-area-inset-bottom))!important;left:10px!important;max-height:min(64vh,520px)!important;margin:0!important;border:1px solid rgba(0,0,0,.08)!important;border-radius:18px!important;box-shadow:0 18px 55px rgba(0,0,0,.22)!important;overflow:auto!important;background:#fff!important;z-index:2147482500!important}
    .d4y-service-card{grid-template-columns:32px minmax(0,1fr)!important}
    .d4y-service-card-price{grid-column:2!important;padding:0!important;margin-top:-3px!important;font-size:11px!important}
}

/* --------------------------------------------------------------------------
 * D4Y Conversion v7.8 — service chooser inline on mobile
 * ----------------------------------------------------------------------- */
@media(max-width:991.98px){
    /* Routiz normally turns every filter flyout into a fixed bottom/full-screen
       panel on mobile. Inside the booking wizard the service chooser is clearer
       as an inline accordion anchored directly below its trigger. */
    .d4y-service-chooser .rz-tab-flyout{
        position:static!important;
        display:none!important;
        top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
        width:100%!important;min-width:0!important;max-width:none!important;max-height:none!important;
        margin:8px 0 0!important;
        border:1px solid rgba(214,176,67,.45)!important;
        border-radius:14px!important;
        background:#fff!important;
        box-shadow:0 7px 20px rgba(23,22,46,.08)!important;
        overflow:visible!important;
        z-index:auto!important;
    }
    .d4y-service-chooser.rz-expand .rz-tab-flyout{
        display:block!important;
        opacity:1!important;
        visibility:visible!important;
    }
    .d4y-service-chooser .rz-tab-content{
        max-height:none!important;
        padding:10px!important;
        overflow:visible!important;
    }
    .d4y-service-chooser .d4y-service-cards{gap:8px!important}
    .d4y-service-chooser .d4y-service-card{min-height:68px!important;border-radius:12px!important}
}


/* --------------------------------------------------------------------------
 * D4Y v7.6 — Google reviews + flexible dates (lightweight visual layer)
 * ----------------------------------------------------------------------- */
.d4y-flexible-dates{
    display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;
    margin:7px 0 0!important;padding:0!important;font-size:12px!important;color:#57556b!important;
}
.d4y-flexible-toggle{display:inline-flex!important;align-items:center!important;gap:7px!important;margin:0!important;cursor:pointer!important;font-weight:650!important}
.d4y-flexible-toggle input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.d4y-flex-check{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:18px!important;height:18px!important;border:1px solid #d9d5e9!important;border-radius:6px!important;background:#fff!important;color:transparent!important;font-size:11px!important;transition:.15s ease!important}
.d4y-flexible-dates.is-active .d4y-flex-check{border-color:#6652c7!important;background:#6652c7!important;color:#fff!important}
.d4y-flexible-select{height:30px!important;min-width:92px!important;padding:0 26px 0 9px!important;border:1px solid #e3e0ec!important;border-radius:9px!important;background:#fff!important;color:#3e3b51!important;font-size:11px!important;font-weight:700!important;box-shadow:none!important}
.d4y-flexible-select:disabled{display:none!important}
.d4y-flexible-dates--home{justify-content:flex-end!important;margin:6px 0 0 auto!important;width:max-content!important;max-width:100%!important}
#rz-explore .d4y-flexible-dates--explore{margin:8px 12px 2px!important}

.d4y-google-reviews-home{width:100%!important;margin:18px auto 0!important;padding:18px!important;border:1px solid rgba(79,63,148,.10)!important;border-radius:18px!important;background:linear-gradient(135deg,#fff 0%,#fbfaff 100%)!important;box-shadow:0 9px 30px rgba(37,31,68,.055)!important;color:#25233a!important}
.d4y-google-reviews-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:14px!important;margin-bottom:13px!important}
.d4y-google-kicker{display:block!important;margin-bottom:3px!important;color:#6652c7!important;font-size:10px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.08em!important}
.d4y-google-reviews-head h3{margin:0 0 5px!important;font-size:19px!important;line-height:1.2!important;font-weight:800!important;color:#242139!important}
.d4y-google-score{display:flex!important;align-items:center!important;gap:6px!important;font-size:12px!important;color:#777486!important}
.d4y-google-score strong{color:#2f2b46!important;font-size:13px!important}
.d4y-google-stars{color:#f4b400!important;letter-spacing:.02em!important}
.d4y-google-all{flex:0 0 auto!important;color:#5a47b8!important;font-size:11px!important;font-weight:750!important;text-decoration:none!important}
.d4y-google-review-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
.d4y-google-review-card{min-width:0!important;padding:12px!important;border:1px solid #efedf5!important;border-radius:14px!important;background:#fff!important}
.d4y-google-review-top{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important}
.d4y-google-author{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important}
.d4y-google-author img{width:30px!important;height:30px!important;flex:0 0 30px!important;border-radius:50%!important;object-fit:cover!important}
.d4y-google-author strong{display:block!important;overflow:hidden!important;color:#29263f!important;font-size:11px!important;font-weight:800!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.d4y-google-author span{display:block!important;margin-top:1px!important;color:#8a8797!important;font-size:9px!important}
.d4y-google-stars--mini{font-size:9px!important;white-space:nowrap!important}
.d4y-google-review-card p{display:-webkit-box!important;overflow:hidden!important;margin:10px 0 8px!important;color:#5e5b6c!important;font-size:11px!important;line-height:1.5!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important}
.d4y-google-review-card>a{color:#6250bd!important;font-size:9px!important;font-weight:750!important;text-decoration:none!important}
.d4y-google-result-rating{display:flex!important;align-items:center!important;gap:4px!important;width:max-content!important;max-width:100%!important;margin:2px 0 7px!important;padding:4px 7px!important;border-radius:999px!important;background:#faf8ef!important;color:#625f6d!important;font-size:9.5px!important;line-height:1!important}
.d4y-google-result-rating strong{color:#302d40!important;font-size:10px!important}
.d4y-google-result-rating span:not(.d4y-google-stars){font-weight:700!important;color:#75717e!important}
.d4y-google-result-rating em{overflow:hidden!important;max-width:110px!important;font-style:normal!important;text-overflow:ellipsis!important;white-space:nowrap!important}

.d4y-alternatives-head{margin:8px 0 16px!important;padding:15px 16px!important;border:1px solid #eee9d8!important;border-radius:15px!important;background:#fffaf0!important}
.d4y-alternatives-kicker{display:block!important;margin-bottom:4px!important;color:#8e6b14!important;font-size:9px!important;font-weight:850!important;text-transform:uppercase!important;letter-spacing:.08em!important}
.d4y-alternatives-head h4{margin:0 0 4px!important;font-size:17px!important;color:#29263f!important}
.d4y-alternatives-head p{margin:0!important;color:#706b5f!important;font-size:11px!important;line-height:1.45!important}
.d4y-alternative-listings .rz-listing-item{position:relative!important}
.d4y-alternative-listings .d4y-alt-note{display:block!important;margin:-2px 10px 10px!important;padding:7px 9px!important;border-radius:9px!important;background:#f6f4ff!important;color:#605b73!important;font-size:9.5px!important;line-height:1.35!important}
.d4y-alternative-listings .d4y-alt-note strong{color:#4b3da0!important}

@media(max-width:900px){.d4y-google-review-grid{grid-template-columns:1fr!important}}
@media(max-width:767px){
    .d4y-flexible-dates--home{justify-content:flex-start!important;margin:7px 0 0!important;width:100%!important}
    #rz-explore .d4y-flexible-dates--explore{margin:8px 12px 4px!important}
    .d4y-google-reviews-home{margin-top:12px!important;padding:14px!important;border-radius:15px!important}
    .d4y-google-reviews-head{align-items:flex-start!important;margin-bottom:10px!important}
    .d4y-google-reviews-head h3{font-size:16px!important}
    .d4y-google-all{font-size:10px!important}
    .d4y-google-review-card{padding:11px!important}
    .d4y-google-review-grid .d4y-google-review-card:nth-child(n+3){display:none!important}
}

/* Failed incoming stays remain explicit without inventing an arrival. */
.d4y-calendar-restore-error{margin:0 0 12px;padding:10px 12px;border-left:3px solid #d5ac39;background:#fff9e8;color:#51401b;font-size:13px;line-height:1.5;overflow-wrap:anywhere}

/* v20: explicit guest controls; the counters remain the native Routiz fields. */
.rz-guests.d4y-guests-v7 .d4y-guests-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 3px}
.rz-guests.d4y-guests-v7 .d4y-guests-heading .rz--title{margin:0!important}
.rz-guests.d4y-guests-v7 .d4y-guests-close{flex:0 0 40px;width:40px;min-height:40px;padding:0;border:0;border-radius:8px;background:#f4f4f6;color:#17162e;box-shadow:none;font:inherit;font-size:24px;line-height:1;cursor:pointer}
.rz-guests.d4y-guests-v7 .d4y-guests-done{box-sizing:border-box;display:block;width:100%;min-height:44px;margin:0;padding:11px 14px;font:inherit;font-weight:700;line-height:1.4;text-align:center;text-decoration:none}
.rz-guests.d4y-guests-v7 .rz--label:focus-visible,.rz-guests.d4y-guests-v7 .d4y-guests-close:focus-visible,.rz-guests.d4y-guests-v7 .d4y-guests-done:focus-visible{outline:2px solid var(--main,#d8ab31);outline-offset:2px}
@media(min-width:768px) and (max-width:991.98px){
 .rz-guests.d4y-guests-v7 .rz--dropdown{box-sizing:border-box!important;position:static!important;inset:auto!important;min-width:0!important;width:100%!important;max-width:100%!important;max-height:none!important;margin:8px 0 0!important;border:1px solid #e8e8ed!important;border-radius:12px!important;box-shadow:none!important;overflow:visible!important;z-index:auto!important}
}


/* --------------------------------------------------------------------------
 * D4Y Conversion v7.9 — reservation actions: one obvious next action
 * ----------------------------------------------------------------------- */
.d4y-booking-step .d4y-step-controls{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:10px!important;
    align-items:center!important;
    margin-top:16px!important;
    padding-top:14px!important;
}
.d4y-booking-step[data-step="1"] .d4y-step-controls{grid-template-columns:1fr!important}
.d4y-booking-step .d4y-step-back,
.d4y-booking-step .d4y-step-next{
    min-height:48px!important;
    border-radius:12px!important;
    padding:0 16px!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1.2!important;
}
.d4y-booking-step .d4y-step-back{
    min-width:88px!important;
    border:1px solid rgba(23,22,46,.10)!important;
    background:#f4f4f5!important;
    color:#34333f!important;
}
.d4y-booking-step .d4y-step-next{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    margin:0!important;
    border:0!important;
    background:linear-gradient(135deg,#f2cb4a 0%,#dfb236 100%)!important;
    color:#17162e!important;
    box-shadow:0 6px 15px rgba(180,135,18,.16)!important;
}
.d4y-booking-step .d4y-step-next:not(:disabled):after{
    content:'→';
    margin-left:9px;
    font-size:17px;
    font-weight:800;
    line-height:1;
}
.d4y-booking-step .d4y-step-next:disabled{
    background:#e7e7e9!important;
    color:#777680!important;
    box-shadow:none!important;
    opacity:1!important;
    cursor:wait!important;
}
.d4y-booking-step .d4y-step-next:disabled:after{content:none!important}
.d4y-booking-step .d4y-step-next:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(180,135,18,.20)!important}
.d4y-booking-step .d4y-step-next:not(:disabled):active{transform:none}
.d4y-booking-step-nav{margin-bottom:17px!important}
.d4y-step-indicator.is-done span{font-size:0!important}
.d4y-step-indicator.is-done span:before{content:'✓';font-size:11px;font-weight:900}
.d4y-step-heading strong{font-size:15px!important}
.d4y-step-heading small{font-size:11px!important;line-height:1.45!important}
@media(max-width:767px){
    .d4y-booking-step .d4y-step-controls{position:relative!important;gap:8px!important;padding-bottom:4px!important}
    .d4y-booking-step .d4y-step-back{min-width:78px!important;padding:0 12px!important}
    .d4y-booking-step .d4y-step-next{min-height:50px!important;font-size:14px!important}
}


/* --------------------------------------------------------------------------
 * D4Y Conversion v7.10 — desktop split restored + usable sorting on map
 * ----------------------------------------------------------------------- */
@media(min-width:768px){
    /* "Liste" on desktop is the productive split layout: results keep the
       majority of the width while the map remains continuously visible. */
    body.d4y-explore-split-mode #rz-explore.brk-explore{
        display:flex!important;
        flex-wrap:nowrap!important;
        align-items:stretch!important;
    }
    body.d4y-explore-split-mode #rz-explore .brk-explore-sidebar{
        flex:0 0 60%!important;
        width:60%!important;
        max-width:60%!important;
        min-width:0!important;
    }
    body.d4y-explore-split-mode #rz-explore .brk-explore-content{
        flex:0 0 40%!important;
        width:40%!important;
        max-width:40%!important;
        min-width:0!important;
    }

    /* The sidebar is click-through in map-only mode so the map can be dragged.
       Re-enable pointer events only on the compact sort control. */
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-dynamic-listings{
        pointer-events:none!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .d4y-result-sort{
        position:relative!important;
        z-index:95!important;
        pointer-events:auto!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .d4y-result-sort select{
        position:relative!important;
        z-index:96!important;
        pointer-events:auto!important;
        cursor:pointer!important;
    }
}
@media(min-width:768px) and (max-width:1199.98px){
    body.d4y-explore-split-mode #rz-explore .brk-explore-sidebar{
        flex-basis:55%!important;
        width:55%!important;
        max-width:55%!important;
    }
    body.d4y-explore-split-mode #rz-explore .brk-explore-content{
        flex-basis:45%!important;
        width:45%!important;
        max-width:45%!important;
    }
}

/* --------------------------------------------------------------------------
 * D4Y Conversion v7.11 — map desktop = compact results rail + wide map
 * ----------------------------------------------------------------------- */
@media(min-width:768px){
    /* In Carte mode keep a compact, scrollable results rail on the left and
       give every remaining pixel to the live map. */
    body.d4y-explore-map-mode #rz-explore.brk-explore{
        display:flex!important;
        flex-wrap:nowrap!important;
        align-items:flex-start!important;
        position:relative!important;
        min-height:calc(100vh - 70px)!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar{
        display:block!important;
        position:relative!important;
        inset:auto!important;
        flex:0 0 clamp(360px,29vw,460px)!important;
        width:clamp(360px,29vw,460px)!important;
        max-width:460px!important;
        height:calc(100vh - 70px)!important;
        min-height:620px!important;
        margin:0!important;
        transform:none!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
        z-index:3!important;
        background:#fff!important;
        pointer-events:auto!important;
        scrollbar-gutter:stable!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-content{
        display:block!important;
        position:sticky!important;
        top:0!important;
        flex:1 1 auto!important;
        width:auto!important;
        max-width:none!important;
        min-width:0!important;
        height:calc(100vh - 70px)!important;
        min-height:620px!important;
        margin:0!important;
        z-index:1!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-content .brk--map,
    body.d4y-explore-map-mode #rz-explore .brk-explore-content .rz-dynamic-map,
    body.d4y-explore-map-mode #rz-explore .brk-explore-content #rz-explore-map,
    body.d4y-explore-map-mode #rz-explore .brk-explore-content .rz-map{
        width:100%!important;
        max-width:none!important;
        height:100%!important;
        min-height:620px!important;
        margin:0!important;
        padding-top:0!important;
    }

    /* Results stay usable in Carte mode. One villa per row keeps the rail
       readable and avoids squeezing two cards beside each other. */
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-dynamic-listings{
        display:block!important;
        pointer-events:auto!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-explore-listings{
        display:block!important;
        width:100%!important;
        max-width:none!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-listings[data-cols]{
        display:flex!important;
        flex-wrap:wrap!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-listings[data-cols] > .rz-listing-item{
        flex:0 0 100%!important;
        width:100%!important;
        max-width:100%!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-paging{
        display:block!important;
    }

    /* Sorting is a List-view tool. Keep the selected value in the URL/session
       so switching back to Liste does not destroy the visitor's context, but
       do not show a sorting control while Carte is active. */
    body.d4y-explore-map-mode #rz-explore .d4y-result-sort{
        display:none!important;
        pointer-events:none!important;
    }

    /* Keep only the compact map filters above the rail. */
    body.d4y-explore-map-mode #rz-explore .d4y-explore-view-switch{
        position:relative!important;
        z-index:5!important;
        margin:8px 8px 6px!important;
        box-shadow:none!important;
        border:1px solid rgba(0,0,0,.06)!important;
    }
    body.d4y-explore-map-mode #rz-explore .d4y-conversion-filter-toolbar--explore{
        width:calc(100% - 16px)!important;
        max-width:none!important;
        margin:0 8px 10px!important;
        padding:6px!important;
        box-sizing:border-box!important;
    }
}

@media(min-width:768px) and (max-width:1099.98px){
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar{
        flex-basis:360px!important;
        width:360px!important;
        max-width:360px!important;
    }
}

@media(max-width:767px){
    /* Mobile Carte remains intentionally map-only: no result rail and no sort. */
    body.d4y-explore-map-mode #rz-explore .d4y-result-sort,
    body.d4y-explore-mobile-map #rz-explore .d4y-result-sort{
        display:none!important;
    }
}


/* --------------------------------------------------------------------------
 * D4Y Conversion v7.12 — Carte desktop: filters always visible and actionable
 * ----------------------------------------------------------------------- */
@media(min-width:768px){
    /* Keep the view switch + the three useful quick filters at the top of the
       left rail while villas scroll underneath. Native search fields and sort
       remain hidden in Carte mode. */
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-dynamic-filter{
        display:block!important;
        position:sticky!important;
        top:0!important;
        z-index:40!important;
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding:0 0 8px!important;
        background:#fff!important;
        pointer-events:auto!important;
        box-shadow:0 1px 0 rgba(0,0,0,.07)!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-dynamic-filter .rz-search,
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-search-filter,
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-search-filter--inline,
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-search-filter--inline>.rz--content,
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-search-filter-inner,
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-search-filter-inner .rz-form,
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-search-filter-inner .rz-grid{
        display:block!important;
        visibility:visible!important;
        opacity:1!important;
        width:100%!important;
        max-width:none!important;
        height:auto!important;
        min-height:0!important;
        margin:0!important;
        pointer-events:auto!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-search-filter--inline{
        border:0!important;
        background:#fff!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-search-filter-inner{
        padding:0!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .rz-search-filter-inner .rz-grid > .d4y-conversion-filter-toolbar--explore{
        display:flex!important;
        visibility:visible!important;
        opacity:1!important;
        width:calc(100% - 16px)!important;
        max-width:none!important;
        margin:0 8px!important;
        padding:6px!important;
        gap:6px!important;
        flex-wrap:wrap!important;
        box-sizing:border-box!important;
        border:1px solid rgba(0,0,0,.07)!important;
        border-radius:12px!important;
        background:#fff!important;
        box-shadow:0 4px 14px rgba(0,0,0,.07)!important;
        pointer-events:auto!important;
    }
    body.d4y-explore-map-mode #rz-explore .d4y-conversion-filter-toolbar--explore .d4y-filter-chip,
    body.d4y-explore-map-mode #rz-explore .d4y-conversion-filter-toolbar--explore .d4y-price-filter,
    body.d4y-explore-map-mode #rz-explore .d4y-conversion-filter-toolbar--explore select,
    body.d4y-explore-map-mode #rz-explore .d4y-conversion-filter-toolbar--explore input,
    body.d4y-explore-map-mode #rz-explore .d4y-conversion-filter-toolbar--explore button{
        pointer-events:auto!important;
    }
    body.d4y-explore-map-mode #rz-explore .d4y-conversion-filter-toolbar--explore .d4y-price-popover{
        left:0!important;
        right:auto!important;
        width:min(390px,calc(100vw - 32px))!important;
        z-index:150!important;
    }
}

@media(max-width:767px){
    /* Carte mobile deliberately stays map-only, as requested. */
    body.d4y-explore-mobile-map #rz-explore .d4y-conversion-filter-toolbar--explore,
    body.d4y-explore-mobile-map #rz-explore .rz-search-filter--inline,
    body.d4y-explore-mobile-map #rz-explore .d4y-result-sort{
        display:none!important;
    }
}

/* --------------------------------------------------------------------------
 * D4Y Conversion v7.13 — Carte desktop: keep sorting below quick filters
 * ----------------------------------------------------------------------- */
@media(min-width:768px){
    /* In desktop Carte mode there is still a visible result rail, therefore
       sorting remains useful. It sits directly between the quick filters and
       the first villa. Mobile Carte remains map-only and keeps sorting hidden. */
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .d4y-result-sort{
        display:flex!important;
        position:relative!important;
        z-index:35!important;
        align-items:center!important;
        justify-content:space-between!important;
        width:100%!important;
        max-width:none!important;
        min-height:52px!important;
        margin:0!important;
        padding:8px 14px!important;
        box-sizing:border-box!important;
        border:0!important;
        border-bottom:1px solid rgba(0,0,0,.07)!important;
        background:#fff!important;
        color:#17162e!important;
        font-size:12px!important;
        font-weight:600!important;
        pointer-events:auto!important;
    }
    body.d4y-explore-map-mode #rz-explore .brk-explore-sidebar .d4y-result-sort select{
        display:block!important;
        flex:1 1 auto!important;
        width:auto!important;
        min-width:0!important;
        max-width:245px!important;
        min-height:38px!important;
        margin-left:10px!important;
        padding:7px 30px 7px 10px!important;
        border:1px solid #e2e2e7!important;
        border-radius:8px!important;
        background:#fff!important;
        color:#17162e!important;
        font-size:12px!important;
        cursor:pointer!important;
        pointer-events:auto!important;
    }
}
@media(max-width:767px){
    body.d4y-explore-map-mode #rz-explore .d4y-result-sort,
    body.d4y-explore-mobile-map #rz-explore .d4y-result-sort{
        display:none!important;
    }
}
