.ln-page-content>.ln-content-lead:has(+.ln-search-x){display:none}
.ln-search-x--compact{width:100%;padding:0}
.ln-search-x{--sx-ink:var(--ln-ink,var(--ln-front-brand-text,#102f29));--sx-muted:var(--ln-front-muted,var(--ln-muted,#6d7b76));--sx-line:var(--ln-line,var(--ln-front-border,#dfe7e3));--sx-card:var(--ln-front-surface,#fff);--sx-soft:var(--ln-front-surface-soft,#f5f7f6);--sx-accent:#ff385c;--sx-brand:var(--ln-front-brand,var(--ln-brand,#123f35));position:relative;width:min(calc(100% - 32px),1380px);margin:0 auto;padding:34px 0 76px;color:var(--sx-ink)}
.ln-search-x__intro{display:flex;justify-content:center;text-align:center;margin:0 auto 28px}.ln-search-x__intro>div{max-width:880px}.ln-search-x__eyebrow{display:inline-flex;margin-bottom:8px;color:var(--ln-front-muted,#67847b);font-size:.75rem;font-weight:900;letter-spacing:.13em}.ln-search-x__intro h2{margin:0;font-size:clamp(2.4rem,5vw,5rem);line-height:.94;letter-spacing:-.065em}.ln-search-x__intro p{max-width:760px;margin:14px auto 0;color:var(--sx-muted);font-size:1.05rem}
.ln-search-x__form{position:relative;z-index:20}.ln-search-x__bar{display:grid;grid-template-columns:minmax(220px,1.55fr) repeat(2,minmax(150px,.9fr)) minmax(170px,1fr) auto;align-items:stretch;overflow:visible;padding:8px;border:1px solid rgba(16,47,41,.09);border-radius:22px;background:var(--ln-front-surface,#fff);box-shadow:0 18px 48px rgba(20,49,42,.11)}
.ln-search-x__field{position:relative;display:flex;min-width:0;min-height:72px;flex-direction:column;justify-content:center;padding:10px 42px 10px 18px;border-right:1px solid var(--sx-line);cursor:pointer}.ln-search-x__field>span{display:block;margin-bottom:2px;color:var(--ln-front-muted,#7d8985);font-size:.68rem;font-weight:850}.ln-search-x__field>i{position:absolute;right:15px;top:50%;color:var(--ln-front-muted,#64736e);font-size:1.05rem;transform:translateY(-50%)}.ln-search-x__field input[type=search]{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--sx-ink);font:inherit;font-size:.94rem;font-weight:750}.ln-search-x__field input[type=search]::placeholder{color:var(--ln-front-muted,#687873)}.ln-search-x__field--date input[type=date]{position:absolute;inset:0;z-index:2;width:100%;height:100%;opacity:0;cursor:pointer}.ln-search-x__field--date strong{overflow:hidden;color:var(--ln-front-text,#263b35);font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}.ln-search-x__field--guests{padding-right:14px}.ln-search-x__field--guests>i{right:40px}.ln-search-x__field--guests>button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0;border:0;background:transparent;color:var(--ln-front-text,#263b35);text-align:left;cursor:pointer}.ln-search-x__field--guests>button strong{overflow:hidden;font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}
/* RC9 layout fix — Elementor/global button styles must never recolor the guest selector. */
html body .ln-search-x__field--guests>button[data-ln-guests-toggle],
html body .ln-search-x__field--guests>button[data-ln-guests-toggle]:hover,
html body .ln-search-x__field--guests>button[data-ln-guests-toggle]:active,
html body .ln-search-x__field--guests>button[data-ln-guests-toggle][aria-expanded="true"]{
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
  color:var(--ln-front-text,#263b35)!important;
  transform:none!important;
}
html body .ln-search-x__field--guests>button[data-ln-guests-toggle] strong,
html body .ln-search-x__field--guests>button[data-ln-guests-toggle] i{
  background:transparent!important;
  color:inherit!important;
}
.ln-search-x__submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:138px;margin-left:8px;padding:0 24px;border:0;border-radius:16px;background:var(--sx-accent);box-shadow:0 9px 24px rgba(255,56,92,.22);color:#fff;font:inherit;font-weight:850;cursor:pointer;transition:.2s}.ln-search-x__submit:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(255,56,92,.28)}
.ln-search-x__suggestions{position:absolute;left:-8px;top:calc(100% + 14px);z-index:60;width:min(430px,calc(100vw - 32px));padding:9px;border:1px solid var(--sx-line);border-radius:18px;background:var(--ln-front-surface,#fff);box-shadow:0 24px 70px rgba(16,47,41,.18)}.ln-search-x__suggestions button,.ln-search-mobile__suggestions button{display:grid;width:100%;grid-template-columns:36px minmax(0,1fr) 24px;align-items:center;gap:10px;padding:10px;border:0;border-radius:12px;background:transparent;color:var(--sx-ink);text-align:left;cursor:pointer}.ln-search-x__suggestions button:hover,.ln-search-mobile__suggestions button:hover{background:var(--ln-front-surface-soft,#f4f7f5)}.ln-search-x__suggestions button>i:first-child,.ln-search-mobile__suggestions button>i:first-child{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:var(--ln-front-surface-soft,#edf4f1);color:var(--sx-brand)}.ln-search-x__suggestions button span,.ln-search-mobile__suggestions button span{display:flex;min-width:0;flex-direction:column}.ln-search-x__suggestions strong,.ln-search-mobile__suggestions strong{overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.ln-search-x__suggestions small,.ln-search-mobile__suggestions small{color:var(--ln-front-muted,#8a9692);font-size:.66rem}.ln-search-x__suggest-loading{display:grid;height:72px;place-items:center}.ln-search-x__suggest-loading i{animation:ln-search-spin .8s linear infinite}
@keyframes ln-search-spin{to{transform:rotate(360deg)}}
.ln-search-x__guest-popover{position:absolute;right:-8px;top:calc(100% + 14px);z-index:60;width:min(360px,calc(100vw - 32px));padding:15px;border:1px solid var(--sx-line);border-radius:20px;background:var(--ln-front-surface,#fff);box-shadow:0 24px 70px rgba(16,47,41,.18)}.ln-search-x__guest-popover header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:2px 2px 10px}.ln-search-x__guest-popover header>div{display:flex;flex-direction:column}.ln-search-x__guest-popover header strong{font-size:.92rem}.ln-search-x__guest-popover header small{color:var(--ln-front-muted,#87938f);font-size:.68rem}.ln-search-x__guest-popover header button{display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:50%;background:var(--ln-front-surface-soft,#f3f5f4);cursor:pointer}.ln-search-x__stepper{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 2px;border-top:1px solid var(--ln-front-border,#edf0ee)}.ln-search-x__stepper>div:first-child{display:flex;flex-direction:column}.ln-search-x__stepper strong{font-size:.83rem}.ln-search-x__stepper small{color:var(--ln-front-muted,#87938f);font-size:.67rem}.ln-search-x__stepper>div:last-child{display:grid;grid-template-columns:34px 36px 34px;align-items:center}.ln-search-x__stepper button{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--sx-line);border-radius:50%;background:var(--ln-front-surface,#fff);color:var(--ln-front-text,#334842);font-size:1.1rem;cursor:pointer}.ln-search-x__stepper output{text-align:center;font-size:.82rem;font-weight:850}.ln-search-x__guest-done{width:100%;min-height:42px;margin-top:7px;border:0;border-radius:12px;background:var(--sx-brand);color:#fff;font-weight:800;cursor:pointer}
.ln-search-x__mobile-launch{display:none;width:100%;min-height:62px;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--sx-line);border-radius:18px;background:var(--ln-front-surface,#fff);box-shadow:0 12px 35px rgba(20,49,42,.08);color:var(--sx-ink);text-align:left}.ln-search-x__mobile-launch>i{display:grid;width:34px;height:34px;place-items:center}.ln-search-x__mobile-launch span{display:flex;min-width:0;flex-direction:column}.ln-search-x__mobile-launch strong,.ln-search-x__mobile-launch small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ln-search-x__mobile-launch strong{font-size:.83rem}.ln-search-x__mobile-launch small{color:var(--ln-front-muted,#81908a);font-size:.66rem}
.ln-search-x__workspace{margin-top:18px}.ln-search-x__filter-shell{padding:13px;border:1px solid rgba(16,47,41,.08);border-radius:22px;background:var(--ln-front-surface,#fff);box-shadow:0 10px 32px rgba(20,49,42,.05)}.ln-search-x__criteria{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;padding:0 4px 11px;color:var(--ln-front-muted,#50645e);font-size:.75rem;font-weight:760}.ln-search-x__criteria span{display:inline-flex;align-items:center;gap:6px}.ln-search-x__criteria i{color:var(--sx-brand)}.ln-search-x__filters{display:flex;align-items:center;gap:8px;overflow:visible}.ln-search-x__filter,.ln-search-x__filter-toggle,.ln-search-x__all-filters,.ln-search-x__sort select{position:relative;flex:0 0 auto}.ln-search-x__filter summary,.ln-search-x__filter-toggle,.ln-search-x__all-filters,.ln-search-x__sort select{display:inline-flex;min-height:39px;align-items:center;gap:7px;padding:0 12px;border:1px solid var(--sx-line);border-radius:11px;background:var(--ln-front-surface,#fff);color:var(--ln-front-text,#334842);font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}.ln-search-x__filter summary{list-style:none}.ln-search-x__filter summary::-webkit-details-marker{display:none}.ln-search-x__filter-toggle.is-active{border-color:#f7a5b3;background:var(--ln-front-surface-soft,#fff0f3);color:#b31f3f}[data-ln-near-me-toggle].is-active{border-color:#a9c8f5;background:var(--ln-front-surface-soft,#eef4fe);color:#1a56b0}[data-ln-near-me-toggle].is-loading{opacity:.65;pointer-events:none}[data-ln-near-me-toggle].is-loading i{animation:ln-near-me-spin 1s linear infinite}[data-ln-near-me-toggle].is-error{border-color:#f3b7bf;background:var(--ln-front-surface-soft,#fdecee);color:#b31f3f}@keyframes ln-near-me-spin{to{transform:rotate(360deg)}}.ln-search-x__all-filters{margin-left:auto}.ln-search-x__sort select{padding-right:34px}.ln-search-x__filter-pop{position:absolute;left:0;top:calc(100% + 9px);z-index:45;display:grid;width:270px;gap:10px;padding:14px;border:1px solid var(--sx-line);border-radius:15px;background:var(--ln-front-surface,#fff);box-shadow:0 18px 55px rgba(16,47,41,.14)}.ln-search-x__filter-pop label{display:grid;gap:4px}.ln-search-x__filter-pop label span{color:var(--ln-front-muted,#6f7d78);font-size:.67rem;font-weight:800}.ln-search-x__filter-pop input,.ln-search-x__filter-pop select{width:100%;min-height:39px;padding:8px 10px;border:1px solid var(--sx-line);border-radius:10px;background:var(--ln-front-surface,#fff)}.ln-search-x__filter-pop button{min-height:38px;border:0;border-radius:10px;background:var(--sx-brand);color:#fff;font-weight:800}.ln-search-x__chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.ln-search-x__chips a{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:var(--ln-front-surface-soft,#f1f5f3);color:var(--ln-front-text,#40544d);font-size:.68rem;font-weight:800}.ln-search-x__chips a.is-reset{background:transparent;color:var(--ln-front-muted,#87938f)}.ln-search-x__filter-form{display:none}
.ln-search-x__results{position:relative;min-height:200px}.ln-search-x.is-loading .ln-search-x__results:after{position:absolute;inset:0;z-index:30;display:grid;place-items:start center;padding-top:70px;background:rgba(247,249,248,.7);backdrop-filter:blur(3px);content:"Recherche en cours…";color:var(--ln-front-muted,#50645e);font-size:.8rem;font-weight:850}.ln-search-x__results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:28px 2px 14px}.ln-search-x__results-head>div:first-child{display:flex;flex-direction:column}.ln-search-x__results-head span{color:var(--ln-front-muted,#84918d);font-size:.66rem;font-weight:900;letter-spacing:.1em}.ln-search-x__results-head strong{font-size:1.28rem}.ln-search-x__view-switch{display:flex;gap:6px}.ln-search-x__view-switch button{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 10px;border:1px solid var(--sx-line);border-radius:10px;background:var(--ln-front-surface,#fff);color:var(--ln-front-muted,#53655f);font-size:.7rem;font-weight:800}.ln-search-x__view-switch button.is-active{background:var(--sx-brand);color:#fff}.ln-search-x__results-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.8fr);gap:18px;align-items:start}.ln-search-x__cards{min-width:0}.ln-search-x .ln-results-grid{display:grid!important;grid-template-columns:repeat(var(--ln-search-columns,2),minmax(0,1fr))!important;gap:18px!important}.ln-search-result-card{position:relative;min-width:0;border-radius:20px;transition:.2s}.ln-search-result-card.is-map-active{box-shadow:0 0 0 3px rgba(255,56,92,.18);transform:translateY(-2px)}.ln-search-result-card .ln-card{height:100%;border-radius:20px;background:var(--ln-front-surface,#fff)}.ln-search-result-card .ln-card__media{aspect-ratio:1.42}.ln-search-result-card__trip{position:absolute;left:14px;right:14px;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:10px;background:var(--ln-front-surface-glass,rgba(255,255,255,.94));box-shadow:0 8px 22px rgba(20,49,42,.09);backdrop-filter:blur(8px)}.ln-search-result-card__trip span{color:var(--ln-front-muted,#7a8883);font-size:.65rem}.ln-search-result-card__trip strong{font-size:.76rem}.ln-search-result-card:has(.ln-search-result-card__trip) .ln-card__body{padding-bottom:58px!important}
.ln-search-x__map{position:sticky;top:98px}.ln-search-x__map-canvas{position:relative;min-height:640px;overflow:hidden;border:1px solid var(--ln-front-border,#d5e0db);border-radius:24px;background:linear-gradient(25deg,var(--ln-front-surface-soft,#e4ecdf) 0 26%,#d9e8e4 26% 29%,var(--ln-front-surface-soft,#eff0df) 29% 49%,#dbe8e3 49% 52%,#e7ecd9 52% 100%);box-shadow:0 18px 44px rgba(20,49,42,.08)}.ln-search-x__map-canvas:before,.ln-search-x__map-canvas:after,.ln-search-x__map-roads:before,.ln-search-x__map-roads:after{position:absolute;background:var(--ln-front-surface-glass,rgba(255,255,255,.85));content:"";transform-origin:center}.ln-search-x__map-canvas:before{left:-15%;top:33%;width:130%;height:5px;transform:rotate(-16deg)}.ln-search-x__map-canvas:after{left:44%;top:-8%;width:5px;height:120%;transform:rotate(13deg)}.ln-search-x__map-roads:before{left:8%;top:63%;width:95%;height:3px;transform:rotate(9deg)}.ln-search-x__map-roads:after{left:70%;top:5%;width:3px;height:100%;transform:rotate(-21deg)}.ln-search-x__marker{position:absolute;left:var(--x);top:var(--y);z-index:5;transform:translate(-50%,-50%);transition:.18s}.ln-search-x__marker span{display:inline-flex;align-items:center;justify-content:center;min-width:58px;min-height:32px;padding:0 9px;border:2px solid var(--ln-front-border,#fff);border-radius:999px;background:var(--ln-front-surface,#fff);box-shadow:0 6px 18px rgba(20,49,42,.2);color:var(--ln-front-text,#243b34);font-size:.69rem;font-weight:900;white-space:nowrap}.ln-search-x__marker.is-active span,.ln-search-x__marker:hover span{background:var(--sx-brand);color:#fff;transform:scale(1.08)}.ln-search-x__map-label{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:10px;background:var(--ln-front-surface-glass,rgba(255,255,255,.88));color:var(--ln-front-muted,#61736d);font-size:.64rem;font-weight:800;backdrop-filter:blur(8px)}.ln-search-x__map-area{display:flex;align-items:center;gap:7px;margin:10px auto 0;padding:9px 13px;border:1px solid var(--sx-line);border-radius:999px;background:var(--ln-front-surface,#fff);box-shadow:0 8px 25px rgba(20,49,42,.08);color:var(--ln-front-text,#40544d);font-size:.7rem;font-weight:850;cursor:pointer}.ln-search-x__map-area.is-confirmed{background:var(--ln-front-surface-soft,#eaf6f0);color:#187151}.ln-search-x.is-map-only .ln-search-x__cards{display:none}.ln-search-x.is-map-only .ln-search-x__results-layout{grid-template-columns:1fr}.ln-search-x.is-map-only .ln-search-x__map{position:relative;top:auto}.ln-search-x.is-map-only .ln-search-x__map-canvas{min-height:72vh}
.ln-search-filter-drawer{width:min(720px,calc(100% - 32px));max-height:88vh;padding:0;border:0;border-radius:24px;background:var(--ln-front-surface,#fff);box-shadow:0 32px 100px rgba(9,30,25,.25)}.ln-search-filter-drawer::backdrop,.ln-search-mobile::backdrop{background:rgba(7,25,21,.42);backdrop-filter:blur(4px)}.ln-search-filter-drawer__close{position:absolute;right:16px;top:16px;z-index:2}.ln-search-filter-drawer__close button{display:grid;width:38px;height:38px;place-items:center;border:0;border-radius:50%;background:var(--ln-front-surface-soft,#f1f4f2);font-size:1.05rem}.ln-search-filter-drawer__content{padding:28px}.ln-search-filter-drawer header{padding-right:50px}.ln-search-filter-drawer header>span{color:var(--ln-front-muted,#6b877f);font-size:.7rem;font-weight:900;letter-spacing:.12em}.ln-search-filter-drawer h2{margin:5px 0 4px;font-size:2rem;letter-spacing:-.04em}.ln-search-filter-drawer header p{margin:0;color:var(--ln-front-muted,#7e8b87)}.ln-search-filter-drawer__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.ln-search-filter-drawer__grid label{display:grid;gap:5px}.ln-search-filter-drawer__grid label>span{color:var(--ln-front-muted,#64756f);font-size:.7rem;font-weight:850}.ln-search-filter-drawer__grid input,.ln-search-filter-drawer__grid select{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--sx-line);border-radius:11px;background:var(--ln-front-surface,#fff)}.ln-search-filter-drawer__checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.ln-search-filter-drawer__checks label input{position:absolute;opacity:0}.ln-search-filter-drawer__checks label span{display:flex;align-items:center;gap:9px;padding:13px;border:1px solid var(--sx-line);border-radius:13px;cursor:pointer}.ln-search-filter-drawer__checks label input:checked+span{border-color:#f5a2b0;background:var(--ln-front-surface-soft,#fff2f4)}.ln-search-filter-drawer__content footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:24px;padding-top:17px;border-top:1px solid var(--ln-front-border,#edf0ee)}.ln-search-filter-drawer__content footer a{color:var(--ln-front-muted,#6d7c77);font-size:.78rem;font-weight:800}.ln-search-filter-drawer__content footer button{min-height:46px;padding:0 18px;border:0;border-radius:12px;background:var(--sx-accent);color:#fff;font-weight:850}
.ln-search-mobile{width:min(520px,100%);max-width:none;height:100dvh;max-height:none;margin:0 0 0 auto;padding:0;border:0;background:var(--ln-front-surface,#f8faf9);color:var(--sx-ink)}.ln-search-mobile form{display:grid;height:100%;grid-template-rows:auto auto 1fr auto}.ln-search-mobile__header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--ln-front-border,#e7ece9);background:var(--ln-front-surface,#fff)}.ln-search-mobile__header button{display:grid;width:38px;height:38px;place-items:center;border:0;border-radius:50%;background:var(--ln-front-surface-soft,#f1f4f2)}.ln-search-mobile__header strong{text-align:center;font-size:.84rem}.ln-search-mobile__progress{display:flex;align-items:center;justify-content:center;padding:16px 24px 4px}.ln-search-mobile__progress span{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:var(--ln-front-surface-soft,#e4eae7);color:var(--ln-front-muted,#87938f);font-size:.65rem;font-weight:900}.ln-search-mobile__progress span.is-active{background:var(--sx-brand);color:#fff}.ln-search-mobile__progress b{width:40px;height:2px;background:var(--ln-front-surface-soft,#e4eae7)}.ln-search-mobile__step{display:none;overflow:auto;padding:30px 22px}.ln-search-mobile__step.is-active{display:block}.ln-search-mobile__kicker{color:var(--ln-front-muted,#708a82);font-size:.69rem;font-weight:900;letter-spacing:.12em}.ln-search-mobile__step h2{margin:8px 0 6px;font-size:2rem;line-height:1;letter-spacing:-.045em}.ln-search-mobile__step>p{margin:0 0 22px;color:var(--ln-front-muted,#7a8984);font-size:.9rem}.ln-search-mobile__destination{display:flex;align-items:center;gap:9px;min-height:56px;padding:0 14px;border:1px solid var(--sx-line);border-radius:15px;background:var(--ln-front-surface,#fff)}.ln-search-mobile__destination input{flex:1;border:0;outline:0;background:transparent;font:inherit}.ln-search-mobile__suggestions{display:grid;gap:4px;margin-top:10px}.ln-search-mobile__dates{display:grid;gap:12px}.ln-search-mobile__dates label{display:grid;gap:6px;padding:15px;border:1px solid var(--sx-line);border-radius:16px;background:var(--ln-front-surface,#fff)}.ln-search-mobile__dates span{color:var(--ln-front-muted,#687873);font-size:.72rem;font-weight:850}.ln-search-mobile__dates input{min-height:42px;border:0;background:transparent;color:var(--ln-front-brand-text,#1b322b);font:inherit;font-size:1.05rem;font-weight:850}.ln-search-mobile__guest-list{overflow:hidden;border:1px solid var(--sx-line);border-radius:18px;background:var(--ln-front-surface,#fff)}.ln-search-mobile__guest-list .ln-search-x__stepper{padding:17px 15px}.ln-search-mobile__summary{display:grid;gap:10px}.ln-search-mobile__summary>div{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--sx-line);border-radius:15px;background:var(--ln-front-surface,#fff)}.ln-search-mobile__summary>div>i{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:var(--ln-front-surface-soft,#edf5f1);color:var(--sx-brand)}.ln-search-mobile__summary span{display:flex;min-width:0;flex-direction:column}.ln-search-mobile__summary small{color:var(--ln-front-muted,#82908b);font-size:.68rem}.ln-search-mobile__summary strong{overflow:hidden;font-size:.85rem;text-overflow:ellipsis;white-space:nowrap}.ln-search-mobile__footer{display:flex;align-items:center;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--ln-front-border,#e4eae7);background:var(--ln-front-surface,#fff)}.ln-search-mobile__footer button{min-height:50px;border:0;border-radius:14px;font-weight:850}.ln-search-mobile__back{flex:0 0 92px;background:var(--ln-front-surface-soft,#eef2f0);color:var(--ln-front-muted,#435750)}.ln-search-mobile__next,.ln-search-mobile__submit{flex:1;background:var(--sx-accent);color:#fff}.ln-search-mobile__submit{display:flex;align-items:center;justify-content:center;gap:8px}.ln-search-dialog-open{overflow:hidden}
@media(max-width:1100px){.ln-search-x__bar{grid-template-columns:minmax(190px,1.25fr) repeat(2,minmax(130px,.75fr)) minmax(155px,.8fr) auto}.ln-search-x__results-layout{grid-template-columns:minmax(0,1.4fr) minmax(290px,.72fr)}.ln-search-x__map-canvas{min-height:560px}.ln-search-x__filters{overflow-x:auto;padding-bottom:3px}.ln-search-x__all-filters{margin-left:0}.ln-search-x__sort{margin-left:auto}}
@media(max-width:820px){.ln-search-x{width:min(calc(100% - 24px),1380px);padding-top:22px}.ln-search-x__intro{text-align:left;justify-content:flex-start}.ln-search-x__intro h2{font-size:clamp(2.25rem,10vw,3.4rem)}.ln-search-x__intro p{margin-left:0}.ln-search-x__form{display:none}.ln-search-x__mobile-launch{display:grid}.ln-search-x__criteria{display:none}.ln-search-x__filter-shell{margin-top:12px;padding:9px;border-radius:17px}.ln-search-x__filters{gap:6px}.ln-search-x__filter summary,.ln-search-x__filter-toggle,.ln-search-x__all-filters,.ln-search-x__sort select{min-height:37px;font-size:.68rem}.ln-search-x__results-head{margin-top:22px}.ln-search-x__results-layout{grid-template-columns:1fr}.ln-search-x__map{display:none;position:relative;top:auto}.ln-search-x .ln-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ln-search-x.is-map-only .ln-search-x__map{display:block}.ln-search-x.is-map-only .ln-search-x__cards{display:none}.ln-search-x__map-canvas{min-height:68vh}.ln-search-filter-drawer{width:100%;height:92dvh;max-height:none;margin:auto 0 0;border-radius:24px 24px 0 0}.ln-search-filter-drawer__content{padding:24px 18px}.ln-search-filter-drawer__grid,.ln-search-filter-drawer__checks{grid-template-columns:1fr}}
@media(max-width:560px){.ln-search-x .ln-results-grid{grid-template-columns:1fr!important}.ln-search-x__view-switch button span{display:none}.ln-search-x__results-head strong{font-size:1.12rem}.ln-search-result-card .ln-card__media{aspect-ratio:1.46}.ln-search-filter-drawer__content footer{position:sticky;bottom:0;margin:20px -18px -24px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:var(--ln-front-surface,#fff)}.ln-search-mobile{width:100%}}
.ln-search-x__ideas{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.ln-search-x__ideas a{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid rgba(16,47,41,.12);border-radius:999px;background:var(--ln-front-surface-glass,rgba(255,255,255,.92));color:var(--ln-front-text,#41554e);font-size:.7rem;font-weight:800;box-shadow:0 5px 18px rgba(20,49,42,.04)}.ln-search-x__ideas a:hover{border-color:#f4a7b4;background:var(--ln-front-surface-soft,#fff3f5);color:#9f2540}

/* 0.31.2 — search picker hardening */
.ln-search-x__field--date input[type=date]{pointer-events:none!important}
.ln-search-x__field--date.is-open{background:var(--ln-front-surface,#fff8fa)}
.ln-search-x__date-popover[hidden]{display:none!important}
.ln-search-x__date-popover{position:absolute;z-index:120;padding:18px;border:1px solid var(--sx-line);border-radius:22px;background:var(--ln-front-surface,#fff);box-shadow:0 28px 80px rgba(16,47,41,.2);color:var(--sx-ink)}
.ln-search-x__date-popover>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.ln-search-x__date-popover>header>div{display:grid;gap:2px}.ln-search-x__date-popover>header strong{font-size:.98rem}.ln-search-x__date-popover>header small{color:var(--ln-front-muted,#82908b);font-size:.7rem}.ln-search-x__date-popover>header button{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:11px;background:var(--ln-front-surface-soft,#f2f5f3);color:var(--ln-front-muted,#51635d);cursor:pointer}
.ln-search-x__date-summary{display:grid;grid-template-columns:1fr 28px 1fr;align-items:center;gap:7px;margin-bottom:14px;padding:7px;border:1px solid var(--ln-front-border,#e7ece9);border-radius:16px;background:var(--ln-front-surface,#f7f9f8)}.ln-search-x__date-summary>button{display:grid;gap:2px;min-height:54px;padding:9px 11px;border:1px solid transparent;border-radius:12px;background:transparent;text-align:left;cursor:pointer}.ln-search-x__date-summary>button.is-active{border-color:#ffb5c1;background:var(--ln-front-surface,#fff);color:#c9284a}.ln-search-x__date-summary small{color:var(--ln-front-muted,#8a9692);font-size:.62rem;font-weight:800}.ln-search-x__date-summary strong{font-size:.78rem}.ln-search-x__date-summary>i{text-align:center;color:var(--ln-front-muted,#b1bbb7)}
.ln-search-x__calendar-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;margin:2px 0 9px}.ln-search-x__calendar-head strong{text-align:center;text-transform:capitalize;font-size:.9rem}.ln-search-x__calendar-head button{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--ln-front-border,#e5ebe8);border-radius:11px;background:var(--ln-front-surface,#fff);color:var(--ln-front-muted,#52655e);cursor:pointer}
.ln-search-x__weekdays,.ln-search-x__calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.ln-search-x__weekdays{margin-bottom:5px}.ln-search-x__weekdays span{padding:4px 0;text-align:center;color:var(--ln-front-muted,#9aa5a1);font-size:.61rem;font-weight:900}.ln-search-x__calendar-grid button{position:relative;display:grid;min-height:42px;place-items:center;border:0;border-radius:11px;background:var(--ln-front-surface,#fff);color:var(--ln-front-text,#2e433c);font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}.ln-search-x__calendar-grid button:hover:not(:disabled){background:var(--ln-front-surface-soft,#f1f6f3)}.ln-search-x__calendar-grid button.is-outside{color:#c3cbc8}.ln-search-x__calendar-grid button:disabled{text-decoration:line-through;color:#c7cecb;background:var(--ln-front-surface-soft,#f7f8f8);cursor:not-allowed}.ln-search-x__calendar-grid button.is-range{border-radius:0;background:var(--ln-front-surface-soft,#fff0f3);color:#a92b47}.ln-search-x__calendar-grid button.is-arrival,.ln-search-x__calendar-grid button.is-departure{border-radius:11px;background:var(--sx-accent);box-shadow:0 7px 18px rgba(255,56,92,.22);color:#fff}
.ln-search-x__date-popover>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:11px;border-top:1px solid var(--ln-front-border,#edf0ee)}.ln-search-x__date-popover>footer button{padding:0;border:0;background:transparent;color:var(--ln-front-muted,#6c7b76);font-size:.69rem;font-weight:850;text-decoration:underline;cursor:pointer}.ln-search-x__date-popover>footer span{color:var(--ln-front-muted,#63736d);font-size:.68rem;font-weight:750}
.ln-search-mobile:not([open]),.ln-search-filter-drawer:not([open]){display:none!important}.ln-search-mobile[open]{display:block!important}.ln-search-mobile__step:not(.is-active){display:none!important}.ln-search-mobile__step.is-active{display:block!important}
@media(max-width:820px){.ln-search-x__date-popover{display:none!important}}

/* 0.31.3 — calendar aligned with the Listnova search/booking UI */
.ln-search-x__field--date.is-open{
  background:var(--ln-front-surface,#fff9fa);
  box-shadow:inset 0 -3px 0 rgba(255,56,92,.34);
}
.ln-search-x__date-popover{
  padding:16px 16px 14px;
  border:1px solid rgba(16,47,41,.11);
  border-radius:20px;
  background:var(--ln-front-surface,#fff);
  box-shadow:0 24px 60px rgba(20,49,42,.16);
  overflow:visible;
}
.ln-search-x__date-popover:before{
  position:absolute;
  top:-7px;
  left:42px;
  width:14px;
  height:14px;
  border-top:1px solid rgba(16,47,41,.11);
  border-left:1px solid rgba(16,47,41,.11);
  background:var(--ln-front-surface,#fff);
  content:"";
  transform:rotate(45deg);
}
.ln-search-x__date-popover>header{
  position:relative;
  z-index:1;
  align-items:center;
  margin:0 0 12px;
  padding:0 1px;
}
.ln-search-x__date-popover>header>div{gap:1px}
.ln-search-x__date-popover>header strong{
  color:var(--sx-ink);
  font-size:.94rem;
  font-weight:900;
  letter-spacing:-.015em;
}
.ln-search-x__date-popover>header small{
  color:var(--ln-front-muted,#84918d);
  font-size:.66rem;
  font-weight:650;
}
.ln-search-x__date-popover>header button{
  width:32px;
  height:32px;
  border:1px solid var(--ln-front-border,#e6ebe8);
  border-radius:50%;
  background:var(--ln-front-surface,#f7f9f8);
  color:var(--ln-front-muted,#5b6d67);
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.ln-search-x__date-popover>header button:hover{border-color:var(--ln-front-border,#d7dfdb);background:var(--ln-front-surface-soft,#eef3f1);transform:scale(1.03)}
.ln-search-x__date-summary{
  grid-template-columns:1fr 22px 1fr;
  gap:5px;
  margin:0 0 14px;
  padding:0;
  overflow:hidden;
  border:1px solid var(--sx-line);
  border-radius:15px;
  background:var(--ln-front-surface,#fff);
}
.ln-search-x__date-summary>button{
  position:relative;
  min-height:58px;
  padding:10px 13px 11px;
  border:0;
  border-radius:0;
  background:var(--ln-front-surface,#fff);
  color:var(--ln-front-text,#30443e);
}
.ln-search-x__date-summary>button:first-child{border-right:0}
.ln-search-x__date-summary>button.is-active{
  border:0;
  background:var(--ln-front-surface,#fff9fa);
  color:#b92546;
  box-shadow:inset 0 -3px 0 #ff9db0;
}
.ln-search-x__date-summary small{color:var(--ln-front-muted,#85928e);font-size:.62rem;font-weight:850}
.ln-search-x__date-summary strong{font-size:.8rem;font-weight:900;letter-spacing:-.01em}
.ln-search-x__date-summary>button.is-active small{color:#c85d73}
.ln-search-x__date-summary>i{color:var(--ln-front-muted,#b6c0bc);font-size:.9rem}
.ln-search-x__calendar-head{
  grid-template-columns:34px 1fr 34px;
  margin:1px 0 8px;
  padding:2px 0;
}
.ln-search-x__calendar-head strong{
  color:var(--ln-front-text,#263b35);
  font-size:.88rem;
  font-weight:900;
  letter-spacing:-.01em;
}
.ln-search-x__calendar-head button{
  width:32px;
  height:32px;
  border:1px solid var(--ln-front-border,#e4eae7);
  border-radius:10px;
  background:var(--ln-front-surface,#fff);
  color:var(--ln-front-muted,#5e706a);
  transition:background .18s ease,border-color .18s ease;
}
.ln-search-x__calendar-head button:hover{border-color:var(--ln-front-border,#d6dfdb);background:var(--ln-front-surface-soft,#f3f6f4)}
.ln-search-x__weekdays,.ln-search-x__calendar-grid{gap:3px}
.ln-search-x__weekdays{margin-bottom:4px}
.ln-search-x__weekdays span{
  padding:5px 0;
  color:var(--ln-front-muted,#98a4a0);
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.04em;
}
.ln-search-x__calendar-grid button{
  min-height:43px;
  border:1px solid transparent;
  border-radius:12px;
  background:transparent;
  color:var(--ln-front-text,#30443e);
  font-size:.7rem;
  font-weight:850;
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}
.ln-search-x__calendar-grid button:hover:not(:disabled):not(.is-arrival):not(.is-departure){
  border-color:var(--ln-front-border,#e1e8e4);
  background:var(--ln-front-surface-soft,#f4f7f5);
  transform:translateY(-1px);
}
.ln-search-x__calendar-grid button.is-outside{color:#bdc6c2}
.ln-search-x__calendar-grid button:disabled{
  border-color:transparent;
  background:transparent;
  color:#c8cfcc;
  text-decoration:line-through;
  text-decoration-thickness:1px;
  opacity:.75;
}
.ln-search-x__calendar-grid button.is-range{
  border-color:var(--ln-front-border,#ffe0e6);
  border-radius:11px;
  background:var(--ln-front-surface-soft,#fff1f4);
  color:#a72b46;
}
.ln-search-x__calendar-grid button.is-arrival,
.ln-search-x__calendar-grid button.is-departure{
  border-color:var(--sx-accent);
  border-radius:12px;
  background:var(--sx-accent);
  box-shadow:0 7px 18px rgba(255,56,92,.19);
  color:#fff;
}
.ln-search-x__date-popover>footer{
  min-height:36px;
  margin-top:10px;
  padding:10px 2px 0;
  border-top:1px solid var(--ln-front-border,#edf1ef);
}
.ln-search-x__date-popover>footer button{
  color:var(--ln-front-muted,#6d7c77);
  font-size:.66rem;
  font-weight:850;
  text-decoration:none;
}
.ln-search-x__date-popover>footer button:hover{color:var(--sx-brand);text-decoration:underline}
.ln-search-x__date-popover>footer span{
  color:var(--ln-front-muted,#5c7069);
  font-size:.66rem;
  font-weight:800;
}


/* 1.0.0-rc2-design9.7 — calendrier de la barre de recherche plus compact.
   Le mode Compact est le nouveau défaut ; « Confortable » reste disponible dans Elementor. */
.ln-search-x .ln-search-x__date-popover{
  padding:12px 12px 10px;
  border-radius:18px;
  box-shadow:0 18px 46px rgba(20,49,42,.15);
}
.ln-search-x .ln-search-x__date-popover:before{top:-6px;left:36px;width:12px;height:12px}
.ln-search-x .ln-search-x__date-popover>header{margin-bottom:8px}
.ln-search-x .ln-search-x__date-popover>header strong{font-size:.88rem}
.ln-search-x .ln-search-x__date-popover>header small{font-size:.61rem}
.ln-search-x .ln-search-x__date-popover>header button{width:28px;height:28px}
.ln-search-x .ln-search-x__date-summary{grid-template-columns:1fr 18px 1fr;margin-bottom:8px;border-radius:13px}
.ln-search-x .ln-search-x__date-summary>button{min-height:46px;padding:7px 10px 8px}
.ln-search-x .ln-search-x__date-summary small{font-size:.57rem}
.ln-search-x .ln-search-x__date-summary strong{font-size:.74rem}
.ln-search-x .ln-search-x__calendar-head{grid-template-columns:30px 1fr 30px;margin:0 0 5px;padding:0}
.ln-search-x .ln-search-x__calendar-head strong{font-size:.81rem}
.ln-search-x .ln-search-x__calendar-head button{width:28px;height:28px;border-radius:9px}
.ln-search-x .ln-search-x__calendar-head button:disabled{opacity:.32;cursor:not-allowed}
.ln-search-x .ln-search-x__weekdays,.ln-search-x .ln-search-x__calendar-grid{gap:2px}
.ln-search-x .ln-search-x__weekdays{margin-bottom:2px}
.ln-search-x .ln-search-x__weekdays span{padding:3px 0;font-size:.54rem}
.ln-search-x .ln-search-x__calendar-grid button{min-height:34px;border-radius:9px;font-size:.66rem}
.ln-search-x .ln-search-x__calendar-grid button.is-range{border-radius:9px}
.ln-search-x .ln-search-x__calendar-grid button.is-arrival,.ln-search-x .ln-search-x__calendar-grid button.is-departure{border-radius:10px;box-shadow:0 5px 14px rgba(255,56,92,.17)}
.ln-search-x .ln-search-x__date-popover>footer{min-height:28px;margin-top:6px;padding:7px 1px 0}
.ln-search-x .ln-search-x__date-popover>footer span,.ln-search-x .ln-search-x__date-popover>footer button{font-size:.61rem}

.ln-search-calendar--comfortable .ln-search-x__date-popover{padding:16px 16px 14px;border-radius:20px}
.ln-search-calendar--comfortable .ln-search-x__date-popover>header{margin-bottom:12px}
.ln-search-calendar--comfortable .ln-search-x__date-popover>header strong{font-size:.94rem}
.ln-search-calendar--comfortable .ln-search-x__date-popover>header small{font-size:.66rem}
.ln-search-calendar--comfortable .ln-search-x__date-popover>header button{width:32px;height:32px}
.ln-search-calendar--comfortable .ln-search-x__date-summary{grid-template-columns:1fr 22px 1fr;margin-bottom:14px;border-radius:15px}
.ln-search-calendar--comfortable .ln-search-x__date-summary>button{min-height:56px;padding:10px 13px 11px}
.ln-search-calendar--comfortable .ln-search-x__date-summary small{font-size:.62rem}
.ln-search-calendar--comfortable .ln-search-x__date-summary strong{font-size:.8rem}
.ln-search-calendar--comfortable .ln-search-x__calendar-head{grid-template-columns:34px 1fr 34px;margin:1px 0 8px;padding:2px 0}
.ln-search-calendar--comfortable .ln-search-x__calendar-head strong{font-size:.88rem}
.ln-search-calendar--comfortable .ln-search-x__calendar-head button{width:32px;height:32px;border-radius:10px}
.ln-search-calendar--comfortable .ln-search-x__weekdays,.ln-search-calendar--comfortable .ln-search-x__calendar-grid{gap:3px}
.ln-search-calendar--comfortable .ln-search-x__weekdays{margin-bottom:4px}
.ln-search-calendar--comfortable .ln-search-x__weekdays span{padding:5px 0;font-size:.58rem}
.ln-search-calendar--comfortable .ln-search-x__calendar-grid button{min-height:40px;border-radius:11px;font-size:.7rem}
.ln-search-calendar--comfortable .ln-search-x__date-popover>footer{min-height:34px;margin-top:9px;padding:9px 2px 0}



/* 1.0.0-rc2-design9.8 — mini calendrier flottant.
   En mode Compact, le calendrier devient un popover réellement léger :
   pas de résumé Arrivée/Départ dupliqué, une seule consigne courte et des cellules resserrées. */
.ln-search-calendar--compact .ln-search-x__date-popover{
  padding:9px 10px 8px;
  border-radius:16px;
  box-shadow:0 16px 38px rgba(20,49,42,.14);
}
.ln-search-calendar--compact .ln-search-x__date-popover:before{
  top:-5px;
  left:28px;
  width:10px;
  height:10px;
}
.ln-search-calendar--compact .ln-search-x__date-popover>header{
  min-height:27px;
  align-items:center;
  margin:0 0 3px;
  padding:0 1px;
}
.ln-search-calendar--compact .ln-search-x__date-popover>header>div{
  display:block;
  min-width:0;
}
.ln-search-calendar--compact .ln-search-x__date-popover>header strong{display:none}
.ln-search-calendar--compact .ln-search-x__date-popover>header small{
  display:block;
  overflow:hidden;
  color:var(--ln-front-muted,#667871);
  font-size:.62rem;
  font-weight:800;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ln-search-calendar--compact .ln-search-x__date-popover>header button{
  width:26px;
  height:26px;
  flex:0 0 26px;
  border-radius:9px;
  background:var(--ln-front-surface-soft,#f5f7f6);
}
.ln-search-calendar--compact .ln-search-x__date-summary{display:none}
.ln-search-calendar--compact .ln-search-x__calendar-head{
  grid-template-columns:27px 1fr 27px;
  margin:0 0 2px;
  padding:0;
}
.ln-search-calendar--compact .ln-search-x__calendar-head strong{
  font-size:.78rem;
  font-weight:900;
}
.ln-search-calendar--compact .ln-search-x__calendar-head button{
  width:26px;
  height:26px;
  border-radius:8px;
}
.ln-search-calendar--compact .ln-search-x__weekdays,
.ln-search-calendar--compact .ln-search-x__calendar-grid{gap:1px}
.ln-search-calendar--compact .ln-search-x__weekdays{margin-bottom:1px}
.ln-search-calendar--compact .ln-search-x__weekdays span{
  padding:2px 0;
  font-size:.51rem;
}
.ln-search-calendar--compact .ln-search-x__calendar-grid button{
  min-height:30px;
  border-radius:8px;
  font-size:.63rem;
}
.ln-search-calendar--compact .ln-search-x__calendar-grid button.is-range{border-radius:8px}
.ln-search-calendar--compact .ln-search-x__calendar-grid button.is-arrival,
.ln-search-calendar--compact .ln-search-x__calendar-grid button.is-departure{
  border-radius:9px;
  box-shadow:0 4px 11px rgba(255,56,92,.16);
}
.ln-search-calendar--compact .ln-search-x__date-popover>footer{
  min-height:24px;
  margin-top:4px;
  padding:5px 1px 0;
}
.ln-search-calendar--compact .ln-search-x__date-popover>footer span{
  display:inline-flex;
  min-width:0;
  align-items:center;
  gap:5px;
  font-size:.58rem;
}
.ln-search-calendar--compact .ln-search-x__date-popover>footer span>i{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#ffc4d0;
}
.ln-search-calendar--compact .ln-search-x__date-popover>footer span>strong{
  overflow:hidden;
  max-width:220px;
  color:var(--ln-front-muted,#65756f);
  font-size:.58rem;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ln-search-calendar--compact .ln-search-x__date-popover>footer button{
  flex:0 0 auto;
  font-size:.58rem;
}

/* 0.31.5 — Mobile search: Listnova calendar + spacing + premium actions */
.ln-search-mobile__footer [hidden]{display:none!important}
.ln-search-mobile__dates{display:grid;gap:12px}
.ln-search-mobile__date-summary{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);align-items:stretch;overflow:hidden;border:1px solid var(--ln-front-border,#dfe7e3);border-radius:18px;background:var(--ln-front-surface,#f7f9f8)}
.ln-search-mobile__date-summary>button{position:relative;display:flex;min-width:0;min-height:74px;flex-direction:column;justify-content:center;gap:3px;padding:13px 38px 13px 14px;border:0;background:transparent;color:var(--ln-front-text,#344741);text-align:left}
.ln-search-mobile__date-summary>button>span{color:var(--ln-front-muted,#87938f);font-size:.68rem;font-weight:850}
.ln-search-mobile__date-summary>button>strong{overflow:hidden;font-size:.9rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}
.ln-search-mobile__date-summary>button>i{position:absolute;right:13px;top:50%;color:var(--ln-front-muted,#71817b);font-size:1.05rem;transform:translateY(-50%)}
.ln-search-mobile__date-summary>button.is-active{background:var(--ln-front-surface,#fff9fa);box-shadow:inset 0 -3px 0 #ff9db0;color:#b92546}
.ln-search-mobile__date-summary>button.is-active>span,.ln-search-mobile__date-summary>button.is-active>i{color:#d14d69}
.ln-search-mobile__date-summary>i{display:grid;place-items:center;color:#bdc6c2}
.ln-search-mobile__calendar{padding:15px;border:1px solid var(--ln-front-border,#e1e7e4);border-radius:20px;background:var(--ln-front-surface,#fff);box-shadow:0 16px 42px rgba(20,49,42,.08)}
.ln-search-mobile__calendar-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;margin-bottom:8px}
.ln-search-mobile__calendar-head strong{text-align:center;color:var(--ln-front-text,#243a34);font-size:1rem;font-weight:900;text-transform:capitalize}
.ln-search-mobile__calendar-head button{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--ln-front-border,#e2e8e5);border-radius:11px;background:var(--ln-front-surface,#fff);color:var(--ln-front-muted,#5f716a);font-size:1.1rem}
.ln-search-mobile__weekdays,.ln-search-mobile__calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.ln-search-mobile__weekdays{margin:2px 0 5px}
.ln-search-mobile__weekdays span{padding:5px 0;color:var(--ln-front-muted,#9aa5a1);text-align:center;font-size:.6rem;font-weight:900}
.ln-search-mobile__calendar-grid button{display:grid;min-width:0;min-height:44px;place-items:center;padding:0;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--ln-front-text,#354841);font:inherit;font-size:.72rem;font-weight:850}
.ln-search-mobile__calendar-grid button.is-outside{color:#bdc6c2}
.ln-search-mobile__calendar-grid button:disabled{background:var(--ln-front-surface-soft,#f6f8f7);color:#c3cbc8;text-decoration:line-through;opacity:.82}
.ln-search-mobile__calendar-grid button.is-range{border-color:var(--ln-front-border,#ffe1e7);background:var(--ln-front-surface-soft,#fff1f4);color:#a62c46}
.ln-search-mobile__calendar-grid button.is-arrival,.ln-search-mobile__calendar-grid button.is-departure{border-color:#ff385c;background:#ff385c;box-shadow:0 7px 18px rgba(255,56,92,.18);color:#fff;text-decoration:none;opacity:1}
.ln-search-mobile__calendar-meta{margin-top:12px;padding-top:11px;border-top:1px solid var(--ln-front-border,#edf1ef)}
.ln-search-mobile__calendar-legend{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ln-front-muted,#8a9692);font-size:.68rem;font-weight:800}
.ln-search-mobile__calendar-legend span{display:inline-flex;align-items:center;gap:7px}.ln-search-mobile__calendar-legend span i{width:13px;height:13px;border-radius:4px;background:#ffc4d0}
.ln-search-mobile__calendar-legend button{padding:0;border:0;background:transparent;color:var(--ln-front-muted,#65756f);font:inherit;font-weight:850;text-decoration:underline}
.ln-search-mobile__calendar-chips{display:flex;margin-top:10px}.ln-search-mobile__calendar-chips span{display:inline-flex;padding:7px 10px;border:1px solid var(--ln-front-border,#e4e9e7);border-radius:999px;background:var(--ln-front-surface,#f7f9f8);color:var(--ln-front-muted,#7a8883);font-size:.64rem;font-weight:800}
.ln-search-mobile__guest-list{overflow:hidden;padding:8px 16px;border:1px solid var(--sx-line);border-radius:20px;background:var(--ln-front-surface,#fff);box-shadow:0 12px 32px rgba(20,49,42,.05)}
.ln-search-mobile__guest-list .ln-search-x__stepper{padding:16px 2px}
.ln-search-mobile__guest-list .ln-search-x__stepper:first-child{border-top:0}
.ln-search-mobile__footer{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--ln-front-border,#e4eae7);background:var(--ln-front-surface-glass,rgba(255,255,255,.96));box-shadow:0 -8px 26px rgba(20,49,42,.05);backdrop-filter:blur(14px)}
.ln-search-mobile__footer button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:9px;border-radius:16px;font-size:.86rem;font-weight:900;transition:transform .18s ease,box-shadow .18s ease}
.ln-search-mobile__back{min-width:108px;padding:0 16px;border:1px solid var(--ln-front-border,#dfe7e3)!important;background:var(--ln-front-surface,#fff)!important;color:var(--ln-front-text,#3f544d)!important}
.ln-search-mobile__next,.ln-search-mobile__submit{width:100%;padding:0 20px;border:0!important;background:#ed6255!important;box-shadow:0 10px 24px rgba(237,98,85,.22);color:#fff!important}
.ln-search-mobile__next i,.ln-search-mobile__submit i{font-size:1.1rem}.ln-search-mobile__next:active,.ln-search-mobile__submit:active{transform:translateY(1px);box-shadow:0 5px 14px rgba(237,98,85,.18)}
@media(max-width:380px){.ln-search-mobile__step{padding-inline:16px}.ln-search-mobile__calendar{padding:12px}.ln-search-mobile__calendar-grid button{min-height:40px}.ln-search-mobile__date-summary>button{padding-left:11px;padding-right:31px}.ln-search-mobile__date-summary>button>i{right:9px}.ln-search-mobile__back{min-width:96px;padding-inline:12px}}

/* 0.31.7 — Recherche Elementor modulaire */
.ln-search-builder-layout{width:min(calc(100% - 32px),1380px)!important;max-width:1380px!important;margin-inline:auto!important;padding:34px 0 76px!important}
.ln-search-native-intro{max-width:900px!important;margin:0 auto 28px!important;text-align:center!important}
.ln-search-native-intro__eyebrow{margin:0 0 8px!important}.ln-search-native-intro__eyebrow .elementor-heading-title{color:var(--ln-front-muted,#67847b);font-size:.75rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.ln-search-native-intro__title{margin:0!important}.ln-search-native-intro__title .elementor-heading-title{margin:0;color:var(--ln-brand,var(--ln-front-brand-text,#123f35));font-size:clamp(2.4rem,5vw,5rem);font-weight:900;line-height:.94;letter-spacing:-.065em}
.ln-search-native-intro__description{max-width:760px;margin:14px auto 0!important}.ln-search-native-intro__description p{margin:0;color:var(--ln-muted,var(--ln-front-muted,#6d7b76));font-size:1.05rem;line-height:1.55}
.ln-search-module{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.ln-search-builder-controls,.ln-search-builder-search-row,.ln-search-builder-filter-row{width:100%;min-width:0}
.ln-search-builder-controls{display:flex!important;flex-direction:column!important;gap:18px!important}
.ln-search-module--filters{margin-top:0!important}.ln-search-module--filters .ln-search-x__workspace{margin:0}
.ln-search-builder-results{display:grid!important;grid-template-columns:minmax(0,2.03fr) minmax(300px,1fr)!important;align-items:start!important;gap:24px!important;margin-top:0!important;width:100%!important}
.ln-search-builder-results>.elementor-element,.ln-search-builder-results>.e-con{min-width:0!important;max-width:none!important}
.ln-search-builder-listings-col{width:auto!important;min-width:0!important;max-width:none!important}
.ln-search-builder-map-col{width:auto!important;min-width:0!important;max-width:none!important;align-self:stretch!important}
.ln-search-module--listings .ln-search-x__results-head{margin-top:28px}
.ln-search-module--listings .ln-results-grid{grid-template-columns:repeat(var(--ln-search-columns,2),minmax(0,1fr))!important}
.ln-search-module--map{display:block!important;padding-top:28px!important}.ln-search-module--map .ln-search-x__map{position:sticky;top:98px;width:100%}
.ln-search-module.is-loading{position:relative;pointer-events:none}.ln-search-module.is-loading:after{position:absolute;inset:0;z-index:80;display:grid;place-items:start center;padding-top:64px;border-radius:18px;background:rgba(247,249,248,.72);backdrop-filter:blur(3px);content:"Recherche en cours…";color:var(--ln-front-muted,#50645e);font-size:.76rem;font-weight:850}
/* Desktop: la carte est une vraie sidebar Elementor. Le switch Liste/Carte est réservé au mobile. */
@media(min-width:821px){.ln-search-module--listings .ln-search-x__view-switch{display:none!important}.ln-search-builder-results.is-map-only{grid-template-columns:minmax(0,2.03fr) minmax(300px,1fr)!important}.ln-search-builder-results.is-map-only .ln-search-builder-listings-col,.ln-search-builder-results.is-map-only .ln-search-builder-map-col{display:flex!important;width:auto!important;min-width:0!important}.ln-search-builder-results.is-map-only .ln-search-module--map{display:block!important;padding-top:28px!important}.ln-search-builder-results.is-map-only .ln-search-module--map .ln-search-x__map{position:sticky;top:98px}.ln-search-builder-results.is-map-only .ln-search-x__map-canvas{min-height:640px}}
.ln-search-map-empty{display:grid;min-height:420px;place-items:center;align-content:center;gap:8px;padding:32px;border:1px solid var(--sx-line,var(--ln-front-border,#dfe7e3));border-radius:24px;background:var(--ln-front-surface-soft,#f5f7f6);text-align:center}.ln-search-map-empty>i{display:grid;width:54px;height:54px;place-items:center;border-radius:50%;background:var(--ln-front-surface-soft,#e6ece9);font-size:1.35rem}.ln-search-map-empty strong{font-size:1rem}.ln-search-map-empty span{max-width:320px;color:var(--sx-muted,var(--ln-front-muted,#6d7b76));font-size:.78rem}

@media(max-width:1100px) and (min-width:821px){.ln-search-builder-results{grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr)!important;gap:18px!important}}
@media(max-width:820px){
 .ln-search-builder-layout{width:min(calc(100% - 24px),1380px)!important;padding-top:22px!important}
 .ln-search-native-intro{text-align:left!important;margin-bottom:24px!important}.ln-search-native-intro__eyebrow .elementor-heading-title,.ln-search-native-intro__title .elementor-heading-title,.ln-search-native-intro__description{text-align:left!important}.ln-search-native-intro__title .elementor-heading-title{font-size:clamp(2.25rem,10vw,3.4rem)}.ln-search-native-intro__description{margin-left:0!important}
 .ln-search-builder-results{display:flex!important;flex-direction:column!important;gap:0!important}.ln-search-builder-listings-col,.ln-search-builder-map-col{width:100%!important;min-width:0!important}.ln-search-builder-map-col{display:none!important}.ln-search-module--map{display:none!important;padding-top:0!important}.ln-search-builder-results.is-map-only .ln-search-builder-listings-col{display:none!important}.ln-search-builder-results.is-map-only .ln-search-builder-map-col,.ln-search-builder-results.is-map-only .ln-search-module--map{display:block!important}.ln-search-builder-results.is-map-only .ln-search-module--map .ln-search-x__map{position:relative;top:auto}.ln-search-builder-results.is-map-only .ln-search-x__map-canvas{min-height:68vh}.ln-search-module--listings .ln-results-grid{grid-template-columns:repeat(var(--ln-search-columns,2),minmax(0,1fr))!important}
}
@media(max-width:580px){.ln-search-module--listings .ln-results-grid{grid-template-columns:repeat(var(--ln-search-columns,1),minmax(0,1fr))!important}}
/* Elementor desktop editor: force the same two-column composition even when the editor iframe is narrower. */
body.elementor-editor-active:not(.elementor-device-mobile):not(.elementor-device-tablet) .ln-search-builder-results{display:grid!important;grid-template-columns:minmax(0,2.03fr) minmax(260px,1fr)!important;gap:18px!important}
body.elementor-editor-active:not(.elementor-device-mobile):not(.elementor-device-tablet) .ln-search-builder-map-col,body.elementor-editor-active:not(.elementor-device-mobile):not(.elementor-device-tablet) .ln-search-module--map{display:block!important;width:auto!important;min-width:0!important}
body.elementor-editor-active:not(.elementor-device-mobile):not(.elementor-device-tablet) .ln-search-builder-listings-col{display:flex!important;width:auto!important;min-width:0!important}
body.elementor-editor-active:not(.elementor-device-mobile):not(.elementor-device-tablet) .ln-search-module--listings .ln-search-x__view-switch{display:none!important}


/* 0.32.1 — Elementor-native search page layout: stable frontend/editor sidebar */
.ln-search-builder-layout{
  width:min(calc(100% - 48px),1440px)!important;
  max-width:1440px!important;
  margin-inline:auto!important;
  padding:38px 0 84px!important;
  align-items:stretch!important;
}
.ln-search-native-intro{max-width:1080px!important;margin:0 auto 34px!important}
.ln-search-native-intro__description{max-width:820px!important}
.ln-search-builder-controls{
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  margin:0 auto!important;
  gap:16px!important;
  align-items:stretch!important;
}
.ln-search-builder-search-row,.ln-search-builder-filter-row{width:100%!important;max-width:none!important;align-items:stretch!important}
.ln-search-builder-search-row>.elementor-element,.ln-search-builder-filter-row>.elementor-element,
.ln-search-builder-search-row>.e-con-inner>.elementor-element,.ln-search-builder-filter-row>.e-con-inner>.elementor-element{
  width:100%!important;max-width:none!important;flex:1 1 100%!important;
}
.ln-search-builder-results{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  gap:28px!important;
  width:100%!important;
  max-width:none!important;
  margin:44px 0 0!important;
}
.ln-search-builder-listings-col{
  display:flex!important;
  flex:0 1 calc(66% - 14px)!important;
  width:calc(66% - 14px)!important;
  max-width:calc(66% - 14px)!important;
  min-width:0!important;
  align-items:stretch!important;
}
.ln-search-builder-map-col{
  display:flex!important;
  flex:0 1 calc(34% - 14px)!important;
  width:calc(34% - 14px)!important;
  max-width:calc(34% - 14px)!important;
  min-width:300px!important;
  align-items:stretch!important;
}
.ln-search-builder-listings-col>.elementor-element,.ln-search-builder-map-col>.elementor-element,
.ln-search-builder-listings-col>.e-con-inner>.elementor-element,.ln-search-builder-map-col>.e-con-inner>.elementor-element{
  width:100%!important;max-width:none!important;flex:1 1 100%!important;
}
.ln-search-module--listings .ln-search-x__results-head{margin:0 2px 16px!important}
.ln-search-module--listings .ln-results-grid{grid-template-columns:repeat(var(--ln-search-columns,2),minmax(0,1fr))!important;gap:18px!important}
.ln-search-module--map{display:block!important;width:100%!important;padding-top:48px!important}
.ln-search-module--map .ln-search-x__map{position:sticky!important;top:98px!important;width:100%!important}
.ln-search-module--map .ln-search-x__map-canvas{min-height:680px!important;height:calc(100vh - 130px);max-height:820px}

/* 1.0.0-rc2-design10.19 — the "design6" Explore page (demo-content/presets/stays/elementor/search-page.json,
   the layout actually auto-seeded onto every real Recherche page by maybe_seed_search_page()) wraps the
   listings/map columns in `.ln-m6-search-grid` / `.ln-m6-search-list` / `.ln-m6-search-map`, not the older
   `.ln-search-builder-*-col` classes above. Until now, only the active theme's own marketing.css gave that
   grid real column tracks (via a higher-specificity !important rule); Core — the actual owner of the Mapbox
   widget — never guaranteed it itself. If the theme stylesheet ever lost that cascade (a child theme, a
   future theme, an aborted stylesheet load) the map column had no width/flex-basis anywhere and could
   collapse to a sliver sized by its own loading-spinner text, making Mapbox render into a near-zero-width
   canvas — i.e. "the map doesn't show". These rules make Core self-sufficient for that layout, at a
   specificity (`html body ...`) that also wins over the theme's copy so the two never fight. */
html body .ln-m6-search-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr)!important;
  gap:24px!important;
  align-items:start!important;
  width:100%!important;
}
html body .ln-m6-search-list{min-width:0!important;width:100%!important}
html body .ln-m6-search-map{
  position:sticky!important;
  top:96px!important;
  display:block!important;
  min-width:0!important;
  width:100%!important;
  overflow:hidden!important;
}
html body .ln-m6-search-map>.elementor-widget-listnova-search-map,
html body .ln-m6-search-map>.elementor-widget-listnova-search-map>.elementor-widget-container{
  width:100%!important;
  height:100%!important;
}
@media(max-width:820px){
  html body .ln-m6-search-grid{grid-template-columns:1fr!important}
  html body .ln-m6-search-map{position:relative!important;top:auto!important}
}

/* Keep the same composition inside the Elementor canvas. */
body.elementor-editor-active:not(.elementor-device-mobile) .ln-search-builder-results{
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:20px!important;
}
body.elementor-editor-active:not(.elementor-device-mobile) .ln-search-builder-listings-col{
  display:flex!important;flex:0 1 calc(64% - 10px)!important;width:calc(64% - 10px)!important;max-width:calc(64% - 10px)!important;
}
body.elementor-editor-active:not(.elementor-device-mobile) .ln-search-builder-map-col{
  display:flex!important;flex:0 1 calc(36% - 10px)!important;width:calc(36% - 10px)!important;max-width:calc(36% - 10px)!important;min-width:250px!important;
}
body.elementor-editor-active:not(.elementor-device-mobile) .ln-search-module--map{display:block!important;padding-top:48px!important}
body.elementor-editor-active:not(.elementor-device-mobile) .ln-search-module--map .ln-search-x__map{position:relative!important;top:auto!important}
body.elementor-editor-active:not(.elementor-device-mobile) .ln-search-module--map .ln-search-x__map-canvas{min-height:620px!important;height:620px!important}

@media(max-width:1180px) and (min-width:821px){
  .ln-search-builder-layout{width:min(calc(100% - 32px),1440px)!important}
  .ln-search-builder-results{gap:20px!important}
  .ln-search-builder-listings-col{flex-basis:calc(62% - 10px)!important;width:calc(62% - 10px)!important;max-width:calc(62% - 10px)!important}
  .ln-search-builder-map-col{flex-basis:calc(38% - 10px)!important;width:calc(38% - 10px)!important;max-width:calc(38% - 10px)!important;min-width:280px!important}
  .ln-search-module--listings .ln-results-grid{grid-template-columns:repeat(var(--ln-search-columns,1),minmax(0,1fr))!important}
}
@media(max-width:820px){
  .ln-search-builder-layout{width:min(calc(100% - 24px),1440px)!important;padding:24px 0 64px!important}
  .ln-search-builder-controls{width:100%!important;max-width:none!important}
  .ln-search-builder-results{display:flex!important;flex-direction:column!important;gap:0!important;margin-top:28px!important}
  .ln-search-builder-listings-col,.ln-search-builder-map-col{flex:0 0 100%!important;width:100%!important;max-width:100%!important;min-width:0!important}
  .ln-search-builder-map-col{display:none!important}
  .ln-search-module--map{display:none!important;padding-top:0!important}
  .ln-search-builder-results.is-map-only .ln-search-builder-listings-col{display:none!important}
  .ln-search-builder-results.is-map-only .ln-search-builder-map-col,.ln-search-builder-results.is-map-only .ln-search-module--map{display:block!important}
  .ln-search-builder-results.is-map-only .ln-search-module--map .ln-search-x__map{position:relative!important;top:auto!important}
  .ln-search-module--listings .ln-results-grid{grid-template-columns:repeat(var(--ln-search-columns,2),minmax(0,1fr))!important}
}
@media(max-width:580px){.ln-search-module--listings .ln-results-grid{grid-template-columns:repeat(var(--ln-search-columns,1),minmax(0,1fr))!important}}

/* 0.32.2 — Search page aligned to Horizon gutters + true Elementor map sidebar */
/* Use exactly the same horizontal rhythm as the rest of the Horizon site. */
html body .ln-search-builder-layout,
html body .ln-elementor-demo-page--recherche.ln-search-builder-layout{
  width:min(calc(100% - 56px),var(--ln-max,var(--ln-kit-width,1320px)))!important;
  max-width:var(--ln-max,var(--ln-kit-width,1320px))!important;
  margin-inline:auto!important;
  padding:34px 0 84px!important;
  box-sizing:border-box!important;
  align-items:stretch!important;
}
html body .ln-search-builder-layout>.e-con-inner{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
/* Search + filters are no longer placed inside a narrower "boxed" area. */
html body .ln-search-builder-controls,
html body .ln-search-builder-search-row,
html body .ln-search-builder-filter-row{
  width:100%!important;
  max-width:none!important;
  margin-inline:0!important;
}
html body .ln-search-builder-controls>.e-con-inner,
html body .ln-search-builder-search-row>.e-con-inner,
html body .ln-search-builder-filter-row>.e-con-inner{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
/* The results are a real 2-column Elementor layout. The .e-con-inner rule is
   intentional: Elementor can insert that wrapper depending on container mode. */
html body .ln-search-builder-results,
html body .ln-search-builder-results>.e-con-inner{
  display:grid!important;
  grid-template-columns:minmax(0,1.94fr) minmax(330px,1fr)!important;
  grid-auto-flow:column!important;
  align-items:start!important;
  gap:26px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:38px 0 0!important;
  padding:0!important;
  flex-direction:unset!important;
  flex-wrap:unset!important;
}
html body .ln-search-builder-results>.e-con-inner{
  grid-column:1 / -1!important;
  margin:0!important;
}
html body .ln-search-builder-results>.ln-search-builder-listings-col,
html body .ln-search-builder-results>.e-con-inner>.ln-search-builder-listings-col{
  grid-column:1!important;
  grid-row:1!important;
}
html body .ln-search-builder-results>.ln-search-builder-map-col,
html body .ln-search-builder-results>.e-con-inner>.ln-search-builder-map-col{
  grid-column:2!important;
  grid-row:1!important;
}
html body .ln-search-builder-listings-col,
html body .ln-search-builder-map-col{
  display:flex!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  flex:initial!important;
  flex-basis:auto!important;
  align-self:start!important;
  margin:0!important;
  padding:0!important;
}
html body .ln-search-builder-listings-col>.e-con-inner,
html body .ln-search-builder-map-col>.e-con-inner{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
html body .ln-search-builder-listings-col .elementor-widget-listnova-search-listings,
html body .ln-search-builder-map-col .elementor-widget-listnova-search-map,
html body .ln-search-builder-listings-col .ln-search-module,
html body .ln-search-builder-map-col .ln-search-module{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
html body .ln-search-module--listings .ln-results-grid{
  grid-template-columns:repeat(var(--ln-search-columns,2),minmax(0,1fr))!important;
  gap:var(--ln-search-gap,18px)!important;
}
/* Sidebar: sticky widget, full column width, aligned with the listing cards. */
html body .ln-search-module--map{
  display:block!important;
  position:sticky!important;
  top:96px!important;
  width:100%!important;
  padding-top:46px!important;
  align-self:start!important;
}
html body .ln-search-module--map .ln-search-x__map{
  position:relative!important;
  top:auto!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
html body .ln-search-module--map .ln-search-x__map-canvas{
  width:100%!important;
  min-width:0!important;
  min-height:650px!important;
  height:min(760px,calc(100vh - 132px))!important;
  max-height:760px!important;
}
/* Desktop should never hide one of the two Elementor columns. */
@media(min-width:821px){
  html body .ln-search-builder-results.is-map-only,
  html body .ln-search-builder-results.is-map-only>.e-con-inner{
    display:grid!important;
    grid-template-columns:minmax(0,1.94fr) minmax(330px,1fr)!important;
  }
  html body .ln-search-builder-results.is-map-only .ln-search-builder-listings-col,
  html body .ln-search-builder-results.is-map-only .ln-search-builder-map-col,
  html body .ln-search-builder-results.is-map-only .ln-search-module--map{
    display:flex!important;
  }
  html body .ln-search-builder-results.is-map-only .ln-search-module--map{display:block!important}
}
/* Same composition in Elementor's desktop/tablet canvas. */
body.elementor-editor-active:not(.elementor-device-mobile) .ln-search-builder-results,
body.elementor-editor-active:not(.elementor-device-mobile) .ln-search-builder-results>.e-con-inner{
  display:grid!important;
  grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr)!important;
  grid-auto-flow:column!important;
  gap:20px!important;
}
body.elementor-editor-active:not(.elementor-device-mobile) .ln-search-builder-listings-col,
body.elementor-editor-active:not(.elementor-device-mobile) .ln-search-builder-map-col{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  flex:initial!important;
}
body.elementor-editor-active:not(.elementor-device-mobile) .ln-search-module--map{
  display:block!important;
  position:relative!important;
  top:auto!important;
  padding-top:46px!important;
}
body.elementor-editor-active:not(.elementor-device-mobile) .ln-search-module--map .ln-search-x__map-canvas{
  min-height:580px!important;
  height:580px!important;
}
@media(max-width:1180px) and (min-width:821px){
  html body .ln-search-builder-layout{width:min(calc(100% - 40px),var(--ln-max,var(--ln-kit-width,1320px)))!important}
  html body .ln-search-builder-results,
  html body .ln-search-builder-results>.e-con-inner{grid-template-columns:minmax(0,1.55fr) minmax(300px,.9fr)!important;gap:20px!important}
  html body .ln-search-module--listings .ln-results-grid{grid-template-columns:repeat(var(--ln-search-columns,1),minmax(0,1fr))!important}
}
@media(max-width:820px){
  html body .ln-search-builder-layout{width:min(calc(100% - 28px),var(--ln-max,var(--ln-kit-width,1320px)))!important;padding:24px 0 64px!important}
  html body .ln-search-builder-results,
  html body .ln-search-builder-results>.e-con-inner{display:flex!important;flex-direction:column!important;gap:0!important;margin-top:28px!important}
  html body .ln-search-builder-listings-col,
  html body .ln-search-builder-map-col{width:100%!important;max-width:100%!important;min-width:0!important}
  html body .ln-search-builder-map-col{display:none!important}
  html body .ln-search-module--map{display:none!important;position:relative!important;top:auto!important;padding-top:0!important}
  html body .ln-search-builder-results.is-map-only .ln-search-builder-listings-col{display:none!important}
  html body .ln-search-builder-results.is-map-only .ln-search-builder-map-col,
  html body .ln-search-builder-results.is-map-only .ln-search-module--map{display:block!important}
  html body .ln-search-module--listings .ln-results-grid{grid-template-columns:repeat(var(--ln-search-columns,2),minmax(0,1fr))!important}
}
@media(max-width:580px){html body .ln-search-module--listings .ln-results-grid{grid-template-columns:repeat(var(--ln-search-columns,1),minmax(0,1fr))!important}}
.ln-search-x__results-layout--list-only{grid-template-columns:minmax(0,1fr)!important}
html body.ln-search-map-disabled .ln-search-builder-results,html body.ln-search-map-disabled .ln-search-builder-results>.e-con-inner{grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row!important}
html body.ln-search-map-disabled .ln-search-builder-map-col{display:none!important}
html body.ln-search-map-disabled .ln-search-builder-listings-col{grid-column:1/-1!important;width:100%!important}

/* 1.0.0-rc2-design9.15 — connected listing presentations */
[data-ln-search-presentation] [data-ln-presentation-target]{transition:opacity .18s ease}
[data-ln-search-presentation].is-loading [data-ln-presentation-target]{opacity:.48;pointer-events:none}


/* 1.0.0-rc2-design9.18 — calendar can open as a real popup on the results page.
   The hero/home search keeps the inline compact popover, while the search results
   page uses a centered modal to avoid covering the listings awkwardly. */
html.ln-search-datepicker-open{overflow:hidden}
.ln-search-x__date-backdrop[hidden]{display:none!important}
.ln-search-x__date-backdrop{position:fixed;inset:0;z-index:118;background:rgba(15,23,20,.22);backdrop-filter:blur(4px)}
.ln-search-x__date-popover.is-modal{position:fixed!important;left:50%!important;top:96px!important;z-index:119;max-width:calc(100vw - 32px)!important;border-radius:24px!important;box-shadow:0 28px 80px rgba(15,23,20,.2)!important;transform:translateX(-50%)}
.ln-search-x__date-popover.is-modal:before{display:none!important}
.ln-search-x__date-popover.is-modal>header strong{display:block!important}
.ln-search-x__date-popover.is-modal .ln-search-x__date-summary{display:grid!important}
@media(max-width:820px){html.ln-search-datepicker-open{overflow:auto}.ln-search-x__date-backdrop{display:none!important}}


/* 1.0.0-rc2-design9.19 — explicit Elementor calendar display modes. */
html.ln-search-datepicker-open{overflow:hidden}
.ln-search-x__date-backdrop[hidden]{display:none!important}
.ln-search-x__date-backdrop{position:fixed;inset:0;z-index:99990;background:rgba(15,23,20,.22);backdrop-filter:blur(4px)}
html body .ln-search-x__date-popover.is-modal{position:fixed!important;left:50%!important;top:50%!important;z-index:100000!important;max-width:calc(100vw - 32px)!important;max-height:calc(100vh - 64px)!important;overflow:auto!important;border-radius:24px!important;box-shadow:0 28px 80px rgba(15,23,20,.22)!important;transform:translate(-50%,-50%)!important}
html body .ln-search-x__date-popover.is-modal:before{display:none!important}
html body .ln-search-x__date-popover.is-modal>header strong{display:block!important}
html body .ln-search-x__date-popover.is-modal .ln-search-x__date-summary{display:grid!important}
@media(max-width:820px){html.ln-search-datepicker-open{overflow:auto}.ln-search-x__date-backdrop{display:none!important}}


/* 1.0.0-rc2-design9.20 — reliable Elementor calendar modes.
   Modes are applied directly to the popover so Elementor preview and frontend
   behave identically even when the widget wrapper is regenerated. */
html body .ln-search-x__date-popover.is-display-inline:not(.is-modal){
  max-width:430px!important;
}
html body .ln-search-x__date-popover.is-display-compact:not(.is-modal){
  max-width:328px!important;
  padding:9px 10px 8px!important;
  border-radius:16px!important;
  box-shadow:0 16px 38px rgba(20,49,42,.14)!important;
}
html body .ln-search-x__date-popover.is-display-compact:not(.is-modal):before{
  top:-5px!important;left:28px!important;width:10px!important;height:10px!important;
}
html body .ln-search-x__date-popover.is-display-compact:not(.is-modal)>header{
  min-height:27px!important;margin:0 0 3px!important;
}
html body .ln-search-x__date-popover.is-display-compact:not(.is-modal)>header strong{display:none!important}
html body .ln-search-x__date-popover.is-display-compact:not(.is-modal)>header small{
  display:block!important;font-size:.62rem!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
html body .ln-search-x__date-popover.is-display-compact:not(.is-modal) .ln-search-x__date-summary{display:none!important}
html body .ln-search-x__date-popover.is-display-compact:not(.is-modal) .ln-search-x__calendar-head{margin:0 0 3px!important}
html body .ln-search-x__date-popover.is-display-compact:not(.is-modal) .ln-search-x__calendar-grid button{min-height:34px!important;height:34px!important}
html body .ln-search-x__date-popover.is-display-compact:not(.is-modal) .ln-search-x__weekdays span{min-height:23px!important;padding:0!important}
html body .ln-search-x__date-popover.is-display-compact:not(.is-modal)>footer{min-height:28px!important;margin-top:5px!important;padding-top:6px!important}
html body .ln-search-x__date-popover.is-display-popup.is-modal{
  width:min(430px,calc(100vw - 32px))!important;
}


/* 1.0.0-rc2-design9.21 — authoritative calendar display modes. */
html body .ln-search-x__date-popover[data-ln-calendar-display="inline"]:not(.is-modal),
html body .ln-search-x__date-popover.is-display-inline:not(.is-modal){width:430px!important;max-width:min(430px,calc(100vw - 32px))!important;padding:16px!important}
html body .ln-search-x__date-popover[data-ln-calendar-display="inline"] .ln-search-x__date-summary,
html body .ln-search-x__date-popover.is-display-inline .ln-search-x__date-summary{display:grid!important}
html body .ln-search-x__date-popover[data-ln-calendar-display="compact"]:not(.is-modal),
html body .ln-search-x__date-popover.is-display-compact:not(.is-modal){width:306px!important;max-width:min(306px,calc(100vw - 24px))!important;padding:10px 11px 9px!important;border-radius:16px!important}
html body .ln-search-x__date-popover[data-ln-calendar-display="compact"]:not(.is-modal)>header strong,
html body .ln-search-x__date-popover.is-display-compact:not(.is-modal)>header strong{display:none!important}
html body .ln-search-x__date-popover[data-ln-calendar-display="compact"]:not(.is-modal) .ln-search-x__date-summary,
html body .ln-search-x__date-popover.is-display-compact:not(.is-modal) .ln-search-x__date-summary{display:none!important}
html body .ln-search-x__date-popover[data-ln-calendar-display="compact"]:not(.is-modal) .ln-search-x__calendar-grid button,
html body .ln-search-x__date-popover.is-display-compact:not(.is-modal) .ln-search-x__calendar-grid button{min-height:32px!important;height:32px!important}
html body .ln-search-x__date-popover[data-ln-calendar-display="compact"]:not(.is-modal)>footer,
html body .ln-search-x__date-popover.is-display-compact:not(.is-modal)>footer{margin-top:4px!important;padding-top:6px!important}
html body .ln-search-x__date-popover[data-ln-calendar-display="popup"].is-modal,
html body .ln-search-x__date-popover.is-display-popup.is-modal{position:fixed!important;inset:auto!important;left:50%!important;top:50%!important;width:min(430px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px)!important;max-height:calc(100vh - 48px)!important;z-index:2147483001!important;transform:translate(-50%,-50%)!important;border-radius:24px!important;overflow:auto!important}
html body .ln-search-x__date-popover[data-ln-calendar-display="popup"].is-modal:before,
html body .ln-search-x__date-popover.is-display-popup.is-modal:before{display:none!important}
html body .ln-search-x__date-popover[data-ln-calendar-display="popup"].is-modal>header strong,
html body .ln-search-x__date-popover.is-display-popup.is-modal>header strong{display:block!important}
html body .ln-search-x__date-popover[data-ln-calendar-display="popup"].is-modal .ln-search-x__date-summary,
html body .ln-search-x__date-popover.is-display-popup.is-modal .ln-search-x__date-summary{display:grid!important}
html body .ln-search-x__date-backdrop{z-index:2147483000!important;background:rgba(17,24,22,.28)!important;backdrop-filter:blur(5px)!important}


/* 1.0.0-rc2-design9.23 — filters are now part of the search bar. */
@media(min-width:821px){
  .ln-search-has-filters .ln-search-x__bar{grid-template-columns:minmax(220px,1.45fr) repeat(2,minmax(145px,.78fr)) minmax(155px,.82fr) auto auto}
  .ln-search-x__filter-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:108px;min-height:54px;margin-left:8px;padding:0 16px;border:1px solid var(--sx-line);border-radius:16px;background:var(--ln-front-surface,#fff);color:var(--sx-ink);font:inherit;font-size:.76rem;font-weight:850;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}
  .ln-search-x__filter-trigger:hover{border-color:var(--ln-front-border,#bfc9c5);background:var(--ln-front-surface,#f8faf9);transform:translateY(-1px)}
  .ln-search-x__filter-trigger i{font-size:1rem}
  .ln-search-x__filter-trigger b{display:grid;min-width:20px;height:20px;place-items:center;padding:0 5px;border-radius:999px;background:var(--sx-accent);color:#fff;font-size:.62rem;line-height:1}
  .ln-search-x__filter-trigger b[hidden]{display:none!important}
  .ln-search-x__filter-trigger.has-active-filters{border-color:color-mix(in srgb,var(--sx-accent) 45%,var(--sx-line));background:color-mix(in srgb,var(--sx-accent) 6%,var(--ln-front-surface,#fff))}
  .ln-search-x__field--destination:focus-within{z-index:6;border-radius:16px;background:var(--ln-front-surface,#fff);box-shadow:0 0 0 2px rgba(18,35,31,.08)}
  .ln-search-x__field--destination input[type=search]:focus{outline:0!important;box-shadow:none!important}
  .ln-search-x__suggestions{max-height:min(430px,58vh);overflow:auto;overscroll-behavior:contain;padding:8px!important}
  .ln-search-x__suggestions button{grid-template-columns:34px minmax(0,1fr) 20px!important;gap:9px!important;min-height:58px;padding:8px 10px!important;border-radius:12px!important}
  .ln-search-x__suggestions button>i:first-child{width:34px!important;height:34px!important;border-radius:11px!important}
  .ln-search-x__suggestions strong{font-size:.78rem!important}.ln-search-x__suggestions small{font-size:.64rem!important}
}
@media(max-width:1180px) and (min-width:821px){
  .ln-search-has-filters .ln-search-x__bar{grid-template-columns:minmax(190px,1.25fr) repeat(2,minmax(126px,.7fr)) minmax(145px,.75fr) 52px auto}
  .ln-search-x__filter-trigger{width:52px;min-width:52px;padding:0}.ln-search-x__filter-trigger>span{display:none}
}
.ln-search-x__filters-dialog:not([open]){display:none!important}
.ln-search-x__filters-dialog{--ln-filter-accent:var(--sx-accent,#ff385c);width:min(760px,calc(100vw - 32px));max-width:760px;max-height:min(88vh,820px);padding:0;border:0;border-radius:28px;background:var(--ln-front-surface,#fff);color:var(--sx-ink);box-shadow:0 32px 100px rgba(9,30,25,.24);overflow:hidden}
.ln-search-x__filters-dialog::backdrop{background:rgba(10,20,18,.38);backdrop-filter:blur(5px)}
.ln-search-x__filters-modal{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:min(88vh,820px)}
.ln-search-x__filters-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:26px 28px 20px;border-bottom:1px solid var(--ln-front-border,#edf0ee);background:var(--ln-front-surface,#fff)}
.ln-search-x__filters-head>div{display:grid;gap:3px}.ln-search-x__filters-head>div>span{color:var(--ln-front-muted,#81908b);font-size:.64rem;font-weight:900;letter-spacing:.13em}.ln-search-x__filters-head h2{margin:0;font-size:1.65rem;line-height:1.05;letter-spacing:-.035em}.ln-search-x__filters-head p{margin:3px 0 0;color:var(--ln-front-muted,#7b8984);font-size:.82rem}
.ln-search-x__filters-head>button{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;padding:0;border:1px solid var(--ln-front-border,#e5eae8);border-radius:50%;background:var(--ln-front-surface,#f7f9f8);color:var(--ln-front-text,#334842);font-size:1rem;cursor:pointer}
.ln-search-x__filters-body{overflow:auto;padding:0 28px}.ln-search-x__filter-section{padding:22px 0;border-bottom:1px solid var(--ln-front-border,#edf0ee)}.ln-search-x__filter-section:last-child{border-bottom:0}.ln-search-x__filter-section h3{margin:0 0 13px;font-size:.91rem;letter-spacing:-.01em}
.ln-search-x__filter-grid{display:grid;gap:12px}.ln-search-x__filter-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.ln-search-x__filter-grid>label,.ln-search-x__filter-sort{display:grid;gap:6px}.ln-search-x__filter-grid label>span{color:var(--ln-front-muted,#6f7d78);font-size:.67rem;font-weight:820}
.ln-search-x__filter-grid input,.ln-search-x__filter-grid select,.ln-search-x__filter-sort select{width:100%;min-height:48px;padding:10px 13px;border:1px solid var(--sx-line);border-radius:13px;background:var(--ln-front-surface,#fff);color:var(--sx-ink);font:inherit;font-size:.82rem;outline:0}.ln-search-x__filter-grid input:focus,.ln-search-x__filter-grid select:focus,.ln-search-x__filter-sort select:focus{border-color:var(--ln-front-muted,#9caaa5);box-shadow:0 0 0 3px rgba(18,35,31,.05)}
.ln-search-x__filter-input{position:relative}.ln-search-x__filter-input input{padding-right:34px}.ln-search-x__filter-input b{position:absolute;right:13px;top:50%;color:var(--ln-front-muted,#84918d);font-size:.76rem;transform:translateY(-50%)}
.ln-search-x__filter-toggles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ln-search-x__filter-toggles label{position:relative}.ln-search-x__filter-toggles input{position:absolute;opacity:0;pointer-events:none}.ln-search-x__filter-toggles span{display:grid;min-height:86px;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-content:center;padding:13px 14px;border:1px solid var(--sx-line);border-radius:16px;background:var(--ln-front-surface,#fff);cursor:pointer;transition:border-color .16s ease,background .16s ease}.ln-search-x__filter-toggles i{grid-row:1/3;display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:var(--ln-front-surface-soft,#f0f5f2);color:var(--ln-front-muted,#425851);font-size:1rem}.ln-search-x__filter-toggles b{align-self:end;font-size:.76rem}.ln-search-x__filter-toggles small{align-self:start;color:var(--ln-front-muted,#82908b);font-size:.62rem;line-height:1.3}.ln-search-x__filter-toggles input:checked+span{border-color:color-mix(in srgb,var(--ln-filter-accent) 48%,var(--ln-front-border,#ddd));background:color-mix(in srgb,var(--ln-filter-accent) 6%,var(--ln-front-surface,#fff))}.ln-search-x__filter-toggles input:checked+span i{background:color-mix(in srgb,var(--ln-filter-accent) 13%,var(--ln-front-surface,#fff));color:var(--ln-filter-accent)}
.ln-search-x__filters-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 28px 20px;border-top:1px solid var(--ln-front-border,#e9eeeb);background:var(--ln-front-surface,#fff)}.ln-search-x__filters-footer button{font:inherit;cursor:pointer}.ln-search-x__filters-reset{padding:9px 0;border:0;background:transparent;color:var(--ln-front-muted,#61716b);font-size:.76rem;font-weight:800;text-decoration:underline}.ln-search-x__filters-apply{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:8px;padding:0 20px;border:0;border-radius:14px;background:var(--ln-filter-accent);color:#fff;font-size:.78rem;font-weight:850}
@media(max-width:820px){.ln-search-x__filters-dialog{width:100%;max-width:none;height:92dvh;max-height:none;margin:auto 0 0;border-radius:24px 24px 0 0}.ln-search-x__filters-modal{height:100%;max-height:none}.ln-search-x__filters-head{padding:22px 18px 17px}.ln-search-x__filters-body{padding:0 18px}.ln-search-x__filter-grid--2,.ln-search-x__filter-toggles{grid-template-columns:1fr}.ln-search-x__filters-footer{padding:14px 18px calc(14px + env(safe-area-inset-bottom))}}


/* 1.0.0-rc2-design9.24 — search bar actions refined.
   - Filters and Search buttons are less bulky.
   - "Tout effacer" in the filters popup is now link-like with no background. */
html body .ln-search-x__bar .ln-search-x__filter-trigger,
html body .ln-search-x__bar .ln-search-x__submit{
  min-height:46px!important;
  border-radius:14px!important;
  font-size:.74rem!important;
}
html body .ln-search-x__bar .ln-search-x__filter-trigger{
  min-width:94px!important;
  margin-left:6px!important;
  padding:0 14px!important;
}
html body .ln-search-x__bar .ln-search-x__filter-trigger i,
html body .ln-search-x__bar .ln-search-x__submit i{
  font-size:.95rem!important;
}
html body .ln-search-x__bar .ln-search-x__filter-trigger b{
  min-width:18px!important;
  height:18px!important;
  font-size:.58rem!important;
}
html body .ln-search-x__bar .ln-search-x__submit{
  min-width:122px!important;
  margin-left:6px!important;
  padding:0 18px!important;
  box-shadow:0 8px 18px rgba(255,56,92,.18)!important;
}
html body .ln-search-x__filters-footer .ln-search-x__filters-reset,
html body .ln-search-x__filters-footer .ln-search-x__filters-reset:hover,
html body .ln-search-x__filters-footer .ln-search-x__filters-reset:focus,
html body .ln-search-x__filters-footer .ln-search-x__filters-reset:active{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--ln-front-muted,#6a7973)!important;
  font-size:.78rem!important;
  font-weight:800!important;
  text-decoration:underline!important;
}
html body .ln-search-x__filters-footer .ln-search-x__filters-apply{
  min-height:44px!important;
  padding:0 18px!important;
  border-radius:13px!important;
  font-size:.76rem!important;
}
@media (max-width: 1024px){
  html body .ln-search-x__bar .ln-search-x__filter-trigger,
  html body .ln-search-x__bar .ln-search-x__submit{
    min-height:44px!important;
  }
  html body .ln-search-x__bar .ln-search-x__filter-trigger{min-width:88px!important;padding:0 12px!important}
  html body .ln-search-x__bar .ln-search-x__submit{min-width:116px!important;padding:0 16px!important}
}


/* 1.0.0-rc2-design9.25 — active filters button readability.
   When filters are active, the button must stay readable even if the default
   filter colors are too light. */
html body .ln-search-x__bar .ln-search-x__filter-trigger.has-active-filters,
html body .ln-search-x__bar .ln-search-x__filter-trigger.has-active-filters:hover,
html body .ln-search-x__bar .ln-search-x__filter-trigger.has-active-filters:focus{
  border-color:#f2a4b8!important;
  background:var(--ln-front-surface-soft,#fff2f6)!important;
  color:#cf1f50!important;
  box-shadow:0 6px 16px rgba(255,56,92,.10)!important;
}
html body .ln-search-x__bar .ln-search-x__filter-trigger.has-active-filters i,
html body .ln-search-x__bar .ln-search-x__filter-trigger.has-active-filters > span{
  color:#cf1f50!important;
  opacity:1!important;
}
html body .ln-search-x__bar .ln-search-x__filter-trigger.has-active-filters b{
  background:#e91e63!important;
  color:#fff!important;
  box-shadow:0 4px 10px rgba(233,30,99,.22)!important;
}


/* 1.0.0-rc2-design9.26 — live archive header synchronization. */
.ln-archive-header__filters[hidden]{display:none!important}
.ln-archive-header[data-ln-search-component="archive"].is-loading{opacity:.72;transition:opacity .15s ease}


/* 1.0.0-rc2-design9.29 — guided search UX. */
.ln-search-x__suggestions{padding:10px!important}
.ln-search-x__suggest-group{display:grid;gap:3px;padding:4px 0}
.ln-search-x__suggest-group+.ln-search-x__suggest-group{margin-top:7px;padding-top:11px;border-top:1px solid var(--ln-front-border,#edf0ee)}
.ln-search-x__suggest-group-title{padding:3px 10px 5px;color:var(--ln-front-muted,#84918d);font-size:.61rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ln-search-x__suggest-group button{min-height:52px!important}
.ln-search-x__suggest-group button span{justify-content:center}
.ln-search-x__suggest-group button strong{font-size:.8rem!important}
.ln-search-x__suggest-empty{margin:0;padding:18px 12px;color:var(--ln-front-muted,#7d8985);font-size:.75rem;text-align:center}
.ln-search-x__filters-apply [data-ln-search-filters-apply-label].is-counting{opacity:.72}
.ln-search-x__submit[aria-busy="true"]{cursor:wait!important;opacity:.88}
.ln-search-x__submit[aria-busy="true"] i{animation:ln-search-spin .75s linear infinite}
.ln-archive-header__filters>button{
  display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:0;border-radius:999px;background:var(--ln-front-surface-soft,#edf3f0);color:var(--ln-brand,var(--ln-front-brand-text,#123f35));font:inherit;font-size:.78rem;font-weight:750;cursor:pointer;transition:background .15s ease,transform .15s ease
}
.ln-archive-header__filters>button:hover{background:var(--ln-front-surface-soft,#e4ece8);transform:translateY(-1px)}
.ln-archive-header__filters>button i{font-size:.9em;opacity:.72}
.ln-archive-header__filters>button span{padding:0!important;background:transparent!important;color:inherit!important;font:inherit!important}
@media(max-width:820px){
  .ln-search-mobile__suggestions .ln-search-x__suggest-group{gap:4px}
  .ln-search-mobile__suggestions .ln-search-x__suggest-group-title{padding-inline:4px}
}


/* 1.0.0-rc2-design9.30 — search results UX pass.
   Results, archive header, map and mobile controls now behave as one connected surface. */
.ln-search-module--listings{position:relative}
.ln-search-skeleton[hidden]{display:none!important}
.ln-search-skeleton{position:absolute;inset:0;z-index:60;display:grid;grid-template-columns:repeat(var(--ln-search-columns,2),minmax(0,1fr));gap:var(--ln-search-gap,18px);padding-top:54px;background:var(--ln-front-surface-glass,rgba(255,255,255,.86));backdrop-filter:blur(2px);pointer-events:none}
.ln-search-skeleton>span{display:grid;align-content:start;gap:10px;min-height:310px}
.ln-search-skeleton>span i,.ln-search-skeleton>span b,.ln-search-skeleton>span em{display:block;border-radius:12px;background:linear-gradient(90deg,var(--ln-front-surface-soft,#eef1ef) 25%,var(--ln-front-surface,#f8faf9) 45%,var(--ln-front-surface-soft,#eef1ef) 65%);background-size:220% 100%;animation:ln-search-shimmer 1.15s linear infinite}
.ln-search-skeleton>span i{height:230px}.ln-search-skeleton>span b{width:74%;height:18px}.ln-search-skeleton>span em{width:46%;height:13px}
@keyframes ln-search-shimmer{to{background-position:-220% 0}}

.ln-search-load-more-wrap{display:flex;justify-content:center;padding:28px 0 4px}
.ln-search-load-more{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:9px;padding:0 20px;border:1px solid var(--sx-line,var(--ln-front-border,#dfe7e3));border-radius:999px;background:var(--ln-front-surface,#fff);color:var(--sx-ink,var(--ln-front-brand-text,#102f29));font:inherit;font-size:.76rem;font-weight:850;cursor:pointer;box-shadow:0 7px 20px rgba(16,47,41,.06);transition:.18s ease}
.ln-search-load-more:hover{border-color:var(--ln-front-border,#bfc9c5);transform:translateY(-1px)}
.ln-search-load-more.is-loading i{animation:ln-search-spin .8s linear infinite}
.ln-search-load-more:disabled{opacity:.62;cursor:wait}

.ln-empty--search{display:grid;min-height:360px;place-items:center;align-content:center;gap:9px;padding:44px 28px;border:1px solid var(--sx-line,var(--ln-front-border,#dfe7e3));border-radius:24px;background:linear-gradient(180deg,var(--ln-front-surface,#fff),var(--ln-front-surface,#f8faf9));text-align:center}
.ln-empty--search>span{display:grid;width:56px;height:56px;place-items:center;border-radius:50%;background:var(--ln-front-surface-soft,#edf3f0);color:var(--sx-brand,var(--ln-front-brand-text,#123f35));font-size:1.35rem}
.ln-empty--search h3{margin:5px 0 0;font-size:1.3rem;letter-spacing:-.025em}.ln-empty--search p{max-width:520px;margin:0;color:var(--sx-muted,#6d7b76)}
.ln-empty--search__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px}.ln-empty--search__actions .ln-button{min-height:42px;padding:0 15px;border-radius:12px;cursor:pointer}
.ln-button--soft{border:0;background:var(--sx-brand,#123f35);color:#fff}

.ln-archive-header__titleline{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px}
.ln-archive-header__titleline h1{margin-bottom:0!important}
.ln-archive-header__titleline .ln-archive-header__count{padding:7px 11px;border-color:var(--ln-front-border,#dfe6e3);background:var(--ln-front-surface-soft,#f6f8f7);color:var(--ln-front-muted,#53645e);font-size:.72rem;white-space:nowrap}
.ln-archive-header__row{align-items:flex-start!important}.ln-archive-header__filters{gap:7px!important}
.ln-archive-header__filters>button,.ln-archive-header__filters>a{min-height:34px!important;padding:0 10px!important;border-radius:999px!important;font-size:.7rem!important}
.ln-archive-header__filters>button{display:inline-flex;align-items:center;gap:5px;border:0;background:var(--ln-front-surface-soft,#edf3f0);color:var(--ln-front-text,#324840);font:inherit;font-weight:800;cursor:pointer}
.ln-archive-header__filters>a{display:inline-flex;align-items:center;gap:5px;background:transparent!important}

.ln-search-x__map-canvas{cursor:grab}.ln-search-x__map-canvas:active{cursor:grabbing}
.ln-search-x__map-preview[hidden]{display:none!important}
.ln-search-x__map-preview{position:absolute;left:16px;right:16px;bottom:16px;z-index:15;display:grid;grid-template-columns:78px minmax(0,1fr) 30px;align-items:center;gap:12px;padding:10px;border:1px solid rgba(16,47,41,.1);border-radius:18px;background:var(--ln-front-surface-glass,rgba(255,255,255,.97));box-shadow:0 18px 44px rgba(16,47,41,.18);backdrop-filter:blur(12px)}
.ln-search-x__map-preview img{width:78px;height:70px;object-fit:cover;border-radius:12px}.ln-search-x__map-preview>div{display:grid;gap:3px;min-width:0}.ln-search-x__map-preview strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}.ln-search-x__map-preview span{font-size:.74rem;font-weight:900}.ln-search-x__map-preview a{display:inline-flex;align-items:center;gap:4px;color:var(--sx-brand,var(--ln-front-brand-text,#123f35));font-size:.68rem;font-weight:850;text-decoration:none}.ln-search-x__map-preview>button{display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:50%;background:var(--ln-front-surface-soft,#f1f4f2);color:var(--ln-front-muted,#435750);cursor:pointer}
.ln-search-x__map-area[hidden]{display:none!important}.ln-search-x__map-area.is-visible{display:inline-flex!important}

.ln-search-x__mobile-actions{display:none}
@media(max-width:820px){
  /* Keep the form alive so its integrated filters dialog can use the top layer. */
  .ln-search-module--search .ln-search-x__form{display:block!important;height:0!important;min-height:0!important;overflow:visible!important}
  .ln-search-module--search .ln-search-x__form>.ln-search-x__bar{display:none!important}
  .ln-search-x__mobile-actions{position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) + 8px);z-index:105;display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px;width:100%;margin-bottom:14px}
  .ln-search-x__mobile-launch{display:grid!important;min-height:56px;border-radius:16px;box-shadow:0 10px 28px rgba(20,49,42,.1)}
  .ln-search-x__mobile-filter-trigger{position:relative;display:grid;width:48px;height:56px;place-items:center;border:1px solid var(--sx-line,var(--ln-front-border,#dfe7e3));border-radius:16px;background:var(--ln-front-surface,#fff);color:var(--sx-ink,var(--ln-front-brand-text,#102f29));font-size:1.05rem;box-shadow:0 10px 28px rgba(20,49,42,.08);cursor:pointer}
  .ln-search-x__mobile-filter-trigger b{position:absolute;right:-4px;top:-4px;display:grid;min-width:20px;height:20px;place-items:center;padding:0 5px;border-radius:999px;background:var(--sx-accent,#ff385c);color:#fff;font-size:.59rem;font-weight:900}
  .ln-search-x__mobile-filter-trigger b[hidden]{display:none!important}.ln-search-x__mobile-filter-trigger.has-active-filters{border-color:#f2a4b8;background:var(--ln-front-surface-soft,#fff2f6);color:#cf1f50}
  .ln-search-module--listings .ln-search-x__results-head{position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) + 76px);z-index:95;align-items:center;margin:0 -4px 14px!important;padding:9px 4px;background:var(--ln-front-surface-glass,rgba(255,255,255,.94));backdrop-filter:blur(12px)}
  .ln-search-module--listings .ln-search-x__results-head>div:first-child span{display:none}.ln-search-module--listings .ln-search-x__results-head strong{font-size:1rem!important}
  .ln-search-module--listings .ln-search-x__view-switch{display:flex!important;padding:3px;border-radius:999px;background:var(--ln-front-surface-soft,#f0f3f1)}.ln-search-module--listings .ln-search-x__view-switch button{min-height:34px;border:0;border-radius:999px;background:transparent}.ln-search-module--listings .ln-search-x__view-switch button.is-active{background:var(--ln-front-surface,#fff);color:var(--sx-ink,var(--ln-front-brand-text,#102f29));box-shadow:0 2px 8px rgba(16,47,41,.1)}
  .ln-search-builder-results.is-map-only .ln-search-builder-listings-col{display:block!important}
  .ln-search-builder-results.is-map-only .ln-search-module--listings .ln-search-x__cards,.ln-search-builder-results.is-map-only .ln-search-module--listings .ln-empty--search{display:none!important}
  .ln-search-builder-results.is-map-only .ln-search-builder-map-col,.ln-search-builder-results.is-map-only .ln-search-module--map{display:block!important}
  .ln-search-builder-results.is-map-only .ln-search-module--map{padding-top:0!important}
  .ln-search-x__filters-dialog{height:min(92dvh,760px)!important;margin:auto 0 0!important;border-radius:24px 24px 0 0!important}
  .ln-search-skeleton{grid-template-columns:repeat(var(--ln-search-columns,2),minmax(0,1fr));padding-top:52px}.ln-search-skeleton>span i{height:190px}
}
@media(max-width:580px){.ln-search-skeleton{grid-template-columns:1fr}.ln-search-skeleton>span:nth-child(n+4){display:none}.ln-search-x__map-preview{grid-template-columns:64px minmax(0,1fr) 28px;left:10px;right:10px;bottom:10px}.ln-search-x__map-preview img{width:64px;height:58px}}

/* Real Mapbox surface. The existing illustrated map remains the no-token/no-coordinate fallback. */
.ln-search-x__mapbox-surface{position:absolute;inset:0;z-index:1;opacity:0;pointer-events:none;transition:opacity .18s ease}
.ln-search-x__map-canvas.is-mapbox-active .ln-search-x__mapbox-surface{opacity:1;pointer-events:auto}
.ln-search-x__map-canvas.is-mapbox-active:before,
.ln-search-x__map-canvas.is-mapbox-active:after,
.ln-search-x__map-canvas.is-mapbox-active .ln-search-x__map-roads{display:none!important}
.ln-search-x__map-canvas.is-mapbox-active .ln-search-x__marker{left:0!important;top:0!important;z-index:5;transition:none!important}
.ln-search-x__map-canvas.is-mapbox-active .ln-search-x__marker:not([data-ln-mapbox-positioned="1"]){display:none!important}
.ln-search-x__map-canvas.is-mapbox-active .ln-search-x__map-label{z-index:8;bottom:34px}
.ln-search-x__map-canvas.is-mapbox-active .ln-search-x__map-preview{z-index:20}
.ln-search-x__map-canvas.is-mapbox-active .mapboxgl-map{font:inherit}
.ln-search-x__map-canvas.is-mapbox-active .mapboxgl-ctrl-top-right{top:10px;right:10px}
.ln-search-x__map-canvas.is-mapbox-active .mapboxgl-ctrl-group{overflow:hidden;border:1px solid rgba(17,50,42,.1);border-radius:12px;box-shadow:0 8px 24px rgba(20,49,42,.12)}
.ln-search-x__map-canvas.is-mapbox-active .mapboxgl-ctrl-group button{width:34px;height:34px}
.ln-search-x__map-canvas.is-mapbox-active .mapboxgl-ctrl-attrib{font-size:10px}

/* 1.0.0-rc2-design10.14 — Mapbox widget runtime hardening. */
html body .ln-search-module--map .ln-search-x__map-canvas{
  height:var(--ln-search-map-height,min(760px,calc(100vh - 132px)))!important;
  min-height:min(100%,var(--ln-search-map-height,650px))!important;
}
.ln-search-x__mapbox-surface{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
  border-radius:inherit;
}
.ln-search-x__mapbox-surface>.mapboxgl-map,
.ln-search-x__mapbox-surface .mapboxgl-canvas-container,
.ln-search-x__mapbox-surface .mapboxgl-canvas{
  width:100%!important;
  height:100%!important;
}
.ln-search-x__map-canvas.is-mapbox-booting .ln-search-x__map-label{z-index:9}
.ln-search-x__map-canvas.is-mapbox-error .ln-search-x__map-label{z-index:9}

/* 1.0.0-rc2-design10.15 — direct Mapbox paint + real sticky/search behaviour. */
.ln-search-x__map-canvas.is-mapbox-requested{
  background:var(--ln-map-loading-bg,var(--ln-front-surface-soft,#edf2ef))!important;
  isolation:isolate;
}
.ln-search-x__map-canvas.is-mapbox-requested:before,
.ln-search-x__map-canvas.is-mapbox-requested:after,
.ln-search-x__map-canvas.is-mapbox-requested .ln-search-x__map-roads{display:none!important}
.ln-search-x__map-canvas.is-mapbox-requested .ln-search-x__mapbox-surface{
  z-index:1!important;
  display:block!important;
  opacity:1!important;
  pointer-events:auto!important;
  background:var(--ln-map-loading-bg,var(--ln-front-surface-soft,#edf2ef))!important;
  transition:none!important;
}
.ln-search-x__map-canvas.is-mapbox-requested .ln-search-x__marker:not([data-ln-mapbox-positioned="1"]){visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.ln-search-x__map-canvas.is-mapbox-requested .ln-search-x__marker[data-ln-mapbox-positioned="1"]{visibility:visible!important;opacity:1!important;pointer-events:auto!important;left:0!important;top:0!important;z-index:6;transition:none!important}
/* 1.0.0-rc2-design10.21 — "Recherche près de moi": a fixed Mapbox Marker (not one of
   the positioned price-bubble elements above) placed at the visitor's own captured
   coordinates via ListnovaMapbox.setUserLocation(). Deliberately non-interactive and
   z-indexed above the price bubbles so it never gets mistaken for a listing. */
.ln-search-x__user-marker{width:20px;height:20px;pointer-events:none;z-index:8}
.ln-search-x__user-marker span{position:absolute;inset:0;display:block;border-radius:50%;background:#1a73e8;border:3px solid var(--ln-front-border,#fff);box-shadow:0 0 0 2px rgba(26,115,232,.35),0 2px 8px rgba(16,32,28,.35)}
.ln-search-x__user-marker::after{content:"";position:absolute;inset:-10px;border-radius:50%;background:rgba(26,115,232,.22);animation:ln-user-marker-pulse 2.4s ease-out infinite}
@keyframes ln-user-marker-pulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.6);opacity:0}}
.ln-search-x__map-loading{
  position:absolute;inset:0;z-index:7;display:grid;place-content:center;justify-items:center;gap:10px;
  background:var(--ln-map-loading-bg,var(--ln-front-surface-soft,#edf2ef));color:var(--ln-front-muted,#60706a);font-size:.72rem;font-weight:750;letter-spacing:.01em;
  pointer-events:none;
}
.ln-search-x__map-loading[hidden]{display:none!important}
.ln-search-x__map-loading i{width:26px;height:26px;border:2px solid rgba(16,47,41,.14);border-top-color:currentColor;border-radius:50%;animation:ln-map-spin .7s linear infinite}
@keyframes ln-map-spin{to{transform:rotate(360deg)}}
.ln-search-x__map-canvas.is-mapbox-error .ln-search-x__map-loading{display:none!important}
.ln-search-x__map-canvas.is-mapbox-unconfigured{display:grid;place-items:center;background:var(--ln-map-loading-bg,var(--ln-front-surface-soft,#edf2ef))!important}
.ln-search-x__map-canvas.is-mapbox-unconfigured:before,.ln-search-x__map-canvas.is-mapbox-unconfigured:after{display:none!important}
.ln-search-map-empty--mapbox{min-height:100%!important;width:100%;border:0!important;border-radius:inherit!important;background:transparent!important}

/* The technical provider badge is opt-in from Elementor. */
.ln-search-x__map-label[hidden]{display:none!important}

/* Search-this-area belongs on the map, not below it. */
.ln-search-x__map{position:relative!important;top:auto!important}
.ln-search-x__map-area{
  position:absolute!important;left:50%!important;top:16px!important;z-index:25!important;
  margin:0!important;transform:translateX(-50%);white-space:nowrap;
  border-color:rgba(16,47,41,.12)!important;background:var(--ln-front-surface-glass,rgba(255,255,255,.96));backdrop-filter:blur(10px);
  box-shadow:0 10px 30px rgba(16,47,41,.14);
}
.ln-search-x__map-area.is-loading{opacity:.7;pointer-events:none}
.ln-search-x__map-area.is-confirmed{background:var(--ln-front-surface-soft,#eaf6f0)!important;color:#187151!important}

/* Let the map remain visible while the listing column keeps scrolling. */
@media(min-width:821px){
  html body .ln-search-builder-results>.ln-search-builder-map-col,
  html body .ln-search-builder-results>.e-con-inner>.ln-search-builder-map-col,
  html body .ln-search-results-v2 .ln-search-builder-map-col{
    align-self:stretch!important;
    overflow:visible!important;
  }
  html body .ln-search-builder-map-col>.e-con-inner,
  html body .ln-search-results-v2 .ln-search-builder-map-col>.e-con-inner{
    height:100%!important;
    min-height:100%!important;
    overflow:visible!important;
    align-items:flex-start!important;
  }
  html body .elementor-widget-listnova-search-map.ln-map-widget-sticky-yes,
  html body .elementor-widget-listnova-search-map.ln-map-widget-runtime-sticky{
    position:sticky!important;
    top:var(--ln-map-sticky-offset,96px)!important;
    align-self:flex-start!important;
    z-index:8;
  }
  html body .elementor-widget-listnova-search-map .ln-search-module--map,
  html body .ln-search-module--map.ln-map-sticky--yes{
    top:auto!important;
  }
  html body .elementor-widget-listnova-search-map .ln-search-module--map{position:relative!important}
}

/* Elementor controls the map height: viewport-fit by default or fixed when selected. */
html body .ln-search-module--map.ln-map-height--viewport .ln-search-x__map-canvas{
  height:clamp(440px,calc(100vh - var(--ln-map-viewport-offset,150px)),860px)!important;
  min-height:440px!important;
  max-height:860px!important;
}
html body .ln-search-module--map.ln-map-height--fixed .ln-search-x__map-canvas{
  height:var(--ln-search-map-height,640px)!important;
  min-height:var(--ln-search-map-height,640px)!important;
  max-height:none!important;
}
body.elementor-editor-active:not(.elementor-device-mobile) .elementor-widget-listnova-search-map{
  position:relative!important;top:auto!important;
}
@media(max-width:820px){
  html body .ln-search-module--map.ln-map-height--viewport .ln-search-x__map-canvas{height:max(520px,calc(100dvh - 150px))!important;min-height:520px!important;max-height:none!important}
  .ln-search-x__map-area{top:12px!important;max-width:calc(100% - 24px)}
}

/* 1.0.0-rc2-design10.16 — stable Mapbox rendering in Elementor and public pages. */
.elementor-widget-listnova-search-map .ln-search-x__mapbox-surface,
.elementor-widget-listnova-search-map .ln-search-x__mapbox-surface>.mapboxgl-map,
.elementor-widget-listnova-search-map .ln-search-x__mapbox-surface .mapboxgl-canvas-container,
.elementor-widget-listnova-search-map .ln-search-x__mapbox-surface .mapboxgl-canvas{
  box-sizing:border-box!important;
  max-width:none!important;
  max-height:none!important;
}
.elementor-widget-listnova-search-map .ln-search-x__mapbox-surface>.mapboxgl-map{
  position:absolute!important;
  inset:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.elementor-widget-listnova-search-map .ln-search-x__map-canvas.is-mapbox-requested{
  background:var(--ln-map-loading-bg,var(--ln-front-surface-soft,#edf2ef))!important;
}
.elementor-widget-listnova-search-map .ln-search-x__map-canvas.is-mapbox-active .ln-search-x__map-loading{display:none!important}
.elementor-widget-listnova-search-map .ln-search-x__map-area.is-visible{display:flex!important}
body.elementor-editor-active .elementor-widget-listnova-search-map .ln-search-x__mapbox-surface{pointer-events:auto!important}
@media(max-width:820px){
  html body .elementor-widget-listnova-search-map .ln-search-module--map.ln-map-height--viewport .ln-search-x__map-canvas{
    height:max(380px,calc(100dvh - var(--ln-map-viewport-offset,150px)))!important;
    min-height:380px!important;
    max-height:none!important;
  }
}


/* 1.0.0-rc2-design10.17 — isolated Mapbox WebGL host + frontend geometry guard. */
.elementor-widget-listnova-search-map .ln-search-x__map-canvas,
.ln-search-module--map .ln-search-x__map-canvas{
  position:relative!important;
  overflow:hidden!important;
  contain:layout paint;
}
.elementor-widget-listnova-search-map .ln-search-x__mapbox-surface,
.ln-search-module--map .ln-search-x__mapbox-surface{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  opacity:1!important;
  pointer-events:auto!important;
  border-radius:inherit!important;
  background:var(--ln-map-loading-bg,var(--ln-front-surface-soft,#edf2ef))!important;
}
.elementor-widget-listnova-search-map .ln-search-x__mapbox-host,
.ln-search-module--map .ln-search-x__mapbox-host,
.elementor-widget-listnova-search-map .ln-search-x__mapbox-host.mapboxgl-map,
.ln-search-module--map .ln-search-x__mapbox-host.mapboxgl-map{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:inherit!important;
  background:transparent!important;
}
.elementor-widget-listnova-search-map .ln-search-x__mapbox-host .mapboxgl-canvas-container,
.elementor-widget-listnova-search-map .ln-search-x__mapbox-host .mapboxgl-canvas,
.ln-search-module--map .ln-search-x__mapbox-host .mapboxgl-canvas-container,
.ln-search-module--map .ln-search-x__mapbox-host .mapboxgl-canvas{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
}
.ln-search-x__map-canvas[data-ln-mapbox-state="active"] .ln-search-x__map-loading{display:none!important}

/* 1.0.0-rc2-design10.22 — Search Engine 2.0 result state toolbar. */
.ln-search-module--listings .ln-search-x__result-tools{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  margin:-2px 2px 16px;
}
.ln-search-module--listings .ln-search-x__result-chips{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  min-width:0;
}
.ln-search-module--listings .ln-search-x__result-chips a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:7px 10px;
  border:1px solid var(--sx-line,var(--ln-front-border,#dfe7e3));
  border-radius:999px;
  background:var(--ln-front-surface-soft,#f4f7f5);
  color:var(--ln-front-text,#40544d);
  font-size:.7rem;
  line-height:1;
  font-weight:800;
  text-decoration:none;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.ln-search-module--listings .ln-search-x__result-chips a:hover{
  border-color:var(--ln-front-border,#bfcac5);
  background:var(--ln-front-surface,#fff);
  transform:translateY(-1px);
}
.ln-search-module--listings .ln-search-x__result-chips a.is-reset{
  border-color:transparent;
  background:transparent;
  color:var(--ln-front-muted,#7a8883);
}
.ln-search-module--listings .ln-search-x__results-sort{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
  color:var(--ln-front-muted,#75837e);
  font-size:.68rem;
  font-weight:800;
  white-space:nowrap;
}
.ln-search-module--listings .ln-search-x__results-sort select{
  min-height:36px;
  padding:0 34px 0 11px;
  border:1px solid var(--sx-line,var(--ln-front-border,#dfe7e3));
  border-radius:10px;
  background:var(--ln-front-surface,#fff);
  color:var(--ln-front-text,#334842);
  font:inherit;
  font-size:.72rem;
  font-weight:800;
}
.ln-search-module--listings.is-loading .ln-search-x__result-tools{
  opacity:.58;
  pointer-events:none;
}
@media(max-width:820px){
  .ln-search-module--listings .ln-search-x__result-tools{margin:0 0 12px;gap:8px}
  .ln-search-module--listings .ln-search-x__result-chips{flex-wrap:nowrap;max-width:100%;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
  .ln-search-module--listings .ln-search-x__result-chips::-webkit-scrollbar{display:none}
  .ln-search-module--listings .ln-search-x__result-chips a{flex:0 0 auto}
  .ln-search-module--listings .ln-search-x__results-sort{width:100%;justify-content:space-between;margin-left:0}
  .ln-search-module--listings .ln-search-x__results-sort select{min-width:0;flex:1}
}

/* 1.0.0-rc2-design10.26 — Explorer Experience 2.0. */
.ln-search-module--search .ln-search-x__form{
  display:grid;
  gap:12px;
}
.ln-search-module--search .ln-search-x__bar{
  border-color:rgba(16,47,41,.10);
  box-shadow:0 14px 38px rgba(18,48,41,.09);
}
/* Results toolbar: one clear hierarchy for count, active filters and sorting. */
.ln-search-module--listings .ln-search-x__results-head{
  min-height:48px;
  align-items:center!important;
  margin:0 0 10px!important;
}
.ln-search-module--listings .ln-search-x__results-head>div:first-child{gap:1px}
.ln-search-module--listings .ln-search-x__results-head>div:first-child span{font-size:.62rem;letter-spacing:.11em}
.ln-search-module--listings .ln-search-x__results-head>div:first-child strong{
  color:var(--ln-result-count-color,var(--sx-ink,var(--ln-front-brand-text,#102f29)));
  font-size:var(--ln-result-count-size,1.28rem);
  letter-spacing:-.025em;
}
.ln-search-module--listings .ln-search-x__result-tools{
  min-height:42px;
  margin:0 0 16px!important;
  padding-bottom:2px;
}
.ln-search-module--listings .ln-search-x__results-sort select{min-height:38px;border-radius:999px;padding-left:13px}
.ln-search-result-card{
  transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;
}
.ln-search-result-card.is-map-active{
  z-index:3;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--sx-accent,#ff385c) 38%,transparent),0 16px 36px rgba(16,47,41,.10)!important;
  transform:translateY(-3px)!important;
}
.ln-search-x__marker.is-active{z-index:20!important}
.ln-search-x__marker.is-active span,.ln-search-x__marker:hover span{
  transform:scale(1.08);
  box-shadow:0 10px 24px rgba(16,47,41,.22)!important;
}

/* Filter modal: section focus and calmer visual rhythm. */
.ln-search-x__filter-section[data-ln-filter-section]{scroll-margin:24px}
.ln-search-x__filter-section:focus-within{border-color:color-mix(in srgb,var(--sx-accent,#ff385c) 24%,var(--sx-line,var(--ln-front-border,#dfe7e3)))}

/* Mobile map chrome is created by search-modular.js and re-used after AJAX. */
.ln-search-mobile-map__topbar,.ln-search-mobile-map__carousel{display:none}
@media(max-width:820px){
  html.ln-search-mobile-map-open,body.ln-search-mobile-map-open{overflow:hidden!important;overscroll-behavior:none}

  /* Keep the result header useful while browsing the list. */
  .ln-search-module--listings .ln-search-x__results-head{
    top:calc(var(--wp-admin--admin-bar--height,0px) + 74px)!important;
    min-height:50px;
    margin:0 -2px 12px!important;
    padding:8px 2px!important;
  }
  .ln-search-module--listings .ln-search-x__view-switch{
    position:fixed!important;
    left:50%!important;
    bottom:calc(16px + env(safe-area-inset-bottom))!important;
    z-index:250!important;
    gap:2px!important;
    padding:4px!important;
    transform:translateX(-50%);
    border:1px solid rgba(16,47,41,.10);
    border-radius:999px!important;
    background:var(--ln-front-surface-glass,rgba(255,255,255,.96))!important;
    box-shadow:0 14px 42px rgba(16,47,41,.20)!important;
    backdrop-filter:blur(14px);
  }
  .ln-search-module--listings .ln-search-x__view-switch button{
    min-height:42px!important;
    padding:0 15px!important;
    border-radius:999px!important;
  }
  .ln-search-module--listings .ln-search-x__view-switch button span{display:inline!important}
  .ln-search-module--listings .ln-search-x__result-tools{gap:8px;margin-bottom:12px!important}
  .ln-search-module--listings .ln-search-x__results-sort{width:auto;min-width:0;margin-left:auto}
  .ln-search-module--listings .ln-search-x__results-sort>span{display:none}
  .ln-search-module--listings .ln-search-x__results-sort select{max-width:154px;min-height:34px}

  /* A hidden Elementor map column cannot host a fixed descendant: promote the column itself. */
  .ln-search-builder-map-col.is-mobile-map-host,
  .ln-search-builder-results>.e-con-inner>.ln-search-builder-map-col.is-mobile-map-host{
    position:fixed!important;
    inset:0!important;
    z-index:999980!important;
    display:block!important;
    width:100vw!important;
    max-width:none!important;
    height:100dvh!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:var(--ln-front-surface-soft,#eef2ef)!important;
  }
  .ln-search-builder-map-col.is-mobile-map-host>.e-con-inner{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .ln-search-module--map.is-mobile-fullscreen,
  .elementor-widget-listnova-search-map:has(.ln-search-module--map.is-mobile-fullscreen){
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:100dvh!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  .ln-search-module--map.is-mobile-fullscreen .ln-search-x__map{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .ln-search-module--map.is-mobile-fullscreen .ln-search-x__map-canvas{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:none!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .ln-search-module--map.is-mobile-fullscreen .ln-search-x__map-area{
    top:calc(72px + env(safe-area-inset-top))!important;
    max-width:calc(100% - 32px)!important;
    min-height:42px;
    padding:0 15px!important;
    border-radius:999px!important;
    font-size:.75rem;
  }
  .ln-search-module--map.is-mobile-fullscreen .mapboxgl-ctrl-top-left{top:calc(58px + env(safe-area-inset-top))!important}
  .ln-search-module--map.is-mobile-fullscreen .mapboxgl-ctrl-top-right{top:calc(58px + env(safe-area-inset-top))!important}
  .ln-search-module--map.is-mobile-fullscreen .mapboxgl-ctrl-bottom-left,
  .ln-search-module--map.is-mobile-fullscreen .mapboxgl-ctrl-bottom-right{bottom:146px!important}
  .ln-search-module--map.is-mobile-fullscreen .ln-search-x__map-preview{display:none!important}

  .ln-search-module--map.is-mobile-fullscreen .ln-search-mobile-map__topbar{
    position:absolute;
    left:12px;
    right:12px;
    top:calc(10px + env(safe-area-inset-top));
    z-index:40;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:9px;
    min-height:48px;
    padding:5px 7px;
    border:1px solid rgba(16,47,41,.09);
    border-radius:16px;
    background:var(--ln-front-surface-glass,rgba(255,255,255,.96));
    box-shadow:0 12px 34px rgba(16,47,41,.15);
    backdrop-filter:blur(14px);
  }
  .ln-search-mobile-map__topbar>button{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:36px;
    padding:0 9px;
    border:0;
    border-radius:11px;
    background:var(--ln-front-surface-soft,#f1f4f2);
    color:var(--sx-ink,var(--ln-front-brand-text,#102f29));
    font:inherit;
    font-size:.69rem;
    font-weight:850;
  }
  .ln-search-mobile-map__topbar>strong{overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}
  .ln-search-mobile-map__topbar>small{color:var(--ln-front-muted,#7c8a85);font-size:.64rem;font-weight:800;white-space:nowrap}
  .ln-search-module--map.is-mobile-fullscreen .ln-search-mobile-map__carousel:not([hidden]){
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:38;
    display:flex;
    gap:10px;
    overflow-x:auto;
    padding:10px 12px calc(12px + env(safe-area-inset-bottom));
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    pointer-events:auto;
  }
  .ln-search-mobile-map__carousel::-webkit-scrollbar{display:none}
  .ln-search-mobile-map__card{
    display:grid;
    flex:0 0 min(78vw,330px);
    grid-template-columns:92px minmax(0,1fr);
    align-items:center;
    gap:10px;
    min-height:92px;
    padding:8px;
    scroll-snap-align:center;
    border:1px solid rgba(16,47,41,.10);
    border-radius:18px;
    background:var(--ln-front-surface-glass,rgba(255,255,255,.97));
    box-shadow:0 16px 40px rgba(16,47,41,.18);
    color:var(--sx-ink,var(--ln-front-brand-text,#102f29));
    text-decoration:none;
    backdrop-filter:blur(14px);
    transition:transform .18s ease,border-color .18s ease;
  }
  .ln-search-mobile-map__card.is-active{border-color:color-mix(in srgb,var(--sx-accent,#ff385c) 58%,var(--ln-front-border,#fff));transform:translateY(-2px)}
  .ln-search-mobile-map__card img{width:92px;height:76px;object-fit:cover;border-radius:13px;background:var(--ln-front-surface-soft,#eef2ef)}
  .ln-search-mobile-map__card>span{display:grid;gap:6px;min-width:0}
  .ln-search-mobile-map__card strong{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.22}
  .ln-search-mobile-map__card b{font-size:.76rem}
  body.ln-search-mobile-map-open .ln-search-module--listings .ln-search-x__view-switch{display:none!important}
}

@media(max-width:560px){
  .ln-search-module--listings .ln-search-x__results-head>div:first-child strong{font-size:1rem!important}
  .ln-search-mobile-map__topbar>small{display:none}
  .ln-search-module--map.is-mobile-fullscreen .ln-search-mobile-map__topbar{grid-template-columns:auto minmax(0,1fr)}
  .ln-search-mobile-map__card{flex-basis:min(84vw,320px)}
}
@media(min-width:1101px){
  html body .ln-search-builder-results,
  html body .ln-search-builder-results>.e-con-inner,
  html body .ln-search-results-v2 .ln-search-builder-results,
  html body .ln-search-results-v2 .ln-search-builder-results>.e-con-inner{
    grid-template-columns:minmax(0,3fr) minmax(360px,2fr)!important;
    gap:26px!important;
  }
}
@media(min-width:821px) and (max-width:1100px){
  html body .ln-search-builder-results,
  html body .ln-search-builder-results>.e-con-inner{
    grid-template-columns:minmax(0,1.62fr) minmax(300px,1fr)!important;
    gap:20px!important;
  }
}

/* 1.0.0-rc2-design10.28 — Compact results header: count + sorting share one row. */
.ln-search-module--listings .ln-search-x__results-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  column-gap:24px!important;
  row-gap:10px!important;
  min-height:0!important;
  margin:0 0 18px!important;
  padding:0!important;
}
.ln-search-module--listings .ln-search-x__results-summary{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  gap:4px!important;
  min-width:0;
}
.ln-search-module--listings .ln-search-x__results-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  min-width:0;
  align-self:end;
}
.ln-search-module--listings .ln-search-x__results-sort{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin:0!important;
  color:var(--ln-front-muted,#73817c);
  font-size:.76rem;
  font-weight:800;
  white-space:nowrap;
}
.ln-search-module--listings .ln-search-x__results-sort>span{
  display:inline-block;
  color:var(--ln-front-muted,#73817c);
  font-size:.76rem;
  letter-spacing:0;
  text-transform:none;
}
.ln-search-module--listings .ln-search-x__results-sort select{
  width:auto;
  min-width:210px;
  max-width:270px;
  min-height:42px;
  margin:0;
  padding:0 42px 0 16px;
  border-radius:999px;
}
.ln-search-module--listings .ln-search-x__result-tools{
  min-height:0!important;
  margin:-4px 0 14px!important;
  padding:0!important;
}
@media(max-width:820px){
  .ln-search-module--listings .ln-search-x__results-head{
    grid-template-columns:minmax(0,1fr) auto!important;
    top:calc(var(--wp-admin--admin-bar--height,0px) + 74px)!important;
    min-height:0!important;
    margin:0 0 12px!important;
    padding:8px 0!important;
    column-gap:10px!important;
  }
  .ln-search-module--listings .ln-search-x__results-actions{gap:8px}
  .ln-search-module--listings .ln-search-x__results-sort>span{display:none!important}
  .ln-search-module--listings .ln-search-x__results-sort select{
    min-width:0;
    width:auto;
    max-width:160px;
    min-height:36px;
    padding-left:12px;
  }
}
@media(max-width:480px){
  .ln-search-module--listings .ln-search-x__results-head{
    align-items:center!important;
  }
  .ln-search-module--listings .ln-search-x__results-summary>span{font-size:.56rem!important}
  .ln-search-module--listings .ln-search-x__results-summary strong{font-size:1.05rem!important}
  .ln-search-module--listings .ln-search-x__results-sort select{max-width:138px}
}

/* 1.0.0-rc2-design10.29 — Mobile results are list-first; Mapbox opens as a body-level fullscreen view. */
@media(max-width:820px){
  html body .ln-search-builder-results,
  html body .ln-search-builder-results>.e-con-inner,
  html body .ln-search-results-v2 .ln-search-builder-results,
  html body .ln-search-results-v2 .ln-search-builder-results>.e-con-inner{
    display:flex!important;
    width:100%!important;
    max-width:none!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
    gap:0!important;
  }
  html body .ln-search-builder-listings-col,
  html body .ln-search-builder-results>.e-con-inner>.ln-search-builder-listings-col{
    display:flex!important;
    width:100%!important;
    max-width:none!important;
    flex:0 0 100%!important;
  }
  html body .ln-search-builder-map-col:not(.is-mobile-map-host),
  html body .ln-search-builder-results>.e-con-inner>.ln-search-builder-map-col:not(.is-mobile-map-host),
  html body .ln-search-builder-map-col:not(.is-mobile-map-host) .ln-search-module--map{
    display:none!important;
  }
  html body .ln-search-builder-results.is-map-only .ln-search-builder-listings-col{
    display:flex!important;
  }
  html body .ln-search-builder-results.is-map-only .ln-search-module--listings .ln-search-x__cards,
  html body .ln-search-builder-results.is-map-only .ln-search-module--listings .ln-empty--search{
    display:block!important;
  }
  html body .ln-search-builder-results.is-map-only .ln-search-builder-map-col:not(.is-mobile-map-host),
  html body .ln-search-builder-results.is-map-only .ln-search-module--map:not(.is-mobile-fullscreen){
    display:none!important;
  }
  html body .ln-search-module--listings .ln-results-grid,
  html body .ln-search-module--listings .ln-search-x__cards .ln-results-grid,
  html body .ln-elementor-search-results .ln-results-grid{
    grid-template-columns:minmax(0,1fr)!important;
    --ln-search-columns:1!important;
  }
  html body .ln-search-module--listings .ln-search-x__view-switch [data-ln-view="list"]{
    display:none!important;
  }
  html body .ln-search-module--listings .ln-search-x__view-switch{
    display:flex!important;
    left:50%!important;
    right:auto!important;
    width:auto!important;
    min-width:0!important;
    padding:4px!important;
    transform:translateX(-50%)!important;
  }
  html body .ln-search-module--listings .ln-search-x__view-switch [data-ln-view="map"]{
    display:inline-flex!important;
    min-width:112px!important;
    min-height:44px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    padding:0 18px!important;
    background:var(--sx-ink,#102f29)!important;
    color:#fff!important;
    box-shadow:none!important;
  }
  html body .ln-search-module--listings .ln-search-x__view-switch [data-ln-view="map"][hidden]{display:none!important}

  /* Once opened, the Elementor map column is physically moved under body. */
  html body>.ln-search-builder-map-col.is-mobile-map-host,
  html body>.elementor-element.ln-search-builder-map-col.is-mobile-map-host,
  html body>.e-con.ln-search-builder-map-col.is-mobile-map-host{
    position:fixed!important;
    inset:0!important;
    z-index:2147482000!important;
    display:block!important;
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    transform:none!important;
    border:0!important;
    border-radius:0!important;
    background:var(--ln-front-surface-soft,#eef2ef)!important;
  }
  html body>.ln-search-builder-map-col.is-mobile-map-host>.e-con-inner{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    min-height:100%!important;
    margin:0!important;
    padding:0!important;
  }
  html body>.ln-search-builder-map-col.is-mobile-map-host .elementor-widget-listnova-search-map,
  html body>.ln-search-builder-map-col.is-mobile-map-host .elementor-widget-container,
  html body>.ln-search-builder-map-col.is-mobile-map-host .ln-search-module--map,
  html body>.ln-search-builder-map-col.is-mobile-map-host .ln-search-x__map,
  html body>.ln-search-builder-map-col.is-mobile-map-host .ln-search-x__map-canvas{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
  }
  html body.ln-search-mobile-map-open .ln-search-module--listings .ln-search-x__view-switch{display:none!important}
}

/* 1.0.0-rc2-design10.30 — mobile Explore: full-width list + real Mapbox fullscreen for m6 layout. */
@media(max-width:820px){
  /* The current Stay demo uses ln-m6-* classes on the Elementor containers. */
  html body .ln-m6-search-results,
  html body .ln-m6-search-grid,
  html body .ln-m6-search-grid>.e-con-inner,
  html body .ln-m6-search-list,
  html body .ln-m6-search-list>.e-con-inner,
  html body .ln-m6-search-list>.elementor-widget-listnova-search-listings,
  html body .ln-m6-search-list>.elementor-widget-listnova-search-listings>.elementor-widget-container,
  html body .ln-m6-search-list .ln-search-module--listings,
  html body .ln-m6-search-list [data-ln-listings-target],
  html body .ln-m6-search-list .ln-search-x__cards,
  html body .ln-m6-search-list .ln-results-grid{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:0 0 100%!important;
    flex-basis:100%!important;
    box-sizing:border-box!important;
  }
  html body .ln-m6-search-grid,
  html body .ln-m6-search-grid>.e-con-inner{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    grid-template-columns:none!important;
    gap:0!important;
  }
  html body .ln-m6-search-list .ln-results-grid,
  html body .ln-m6-search-list .ln-search-x__cards .ln-results-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    --ln-search-columns:1!important;
  }
  html body .ln-m6-search-list .ln-search-result-card,
  html body .ln-m6-search-list .ln-card,
  html body .ln-m6-search-list .ln-native-card{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  /* In list mode the map must not consume any Elementor width. */
  html body .ln-m6-search-map:not(.is-mobile-map-host),
  html body .ln-m6-search-map:not(.is-mobile-map-host) .ln-search-module--map{
    display:none!important;
    width:0!important;
    max-width:0!important;
    min-width:0!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    flex:0 0 0!important;
  }

  /* The m6 map container is detached under body by search-modular.js. */
  html body>.ln-m6-search-map.is-mobile-map-host,
  html body>.e-con.ln-m6-search-map.is-mobile-map-host,
  html body>.elementor-element.ln-m6-search-map.is-mobile-map-host{
    position:fixed!important;
    inset:0!important;
    z-index:2147482000!important;
    display:block!important;
    width:100vw!important;
    max-width:100vw!important;
    min-width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    transform:none!important;
    border:0!important;
    border-radius:0!important;
    background:var(--ln-front-surface-soft,#eef2ef)!important;
    flex:none!important;
    order:initial!important;
  }
  html body>.ln-m6-search-map.is-mobile-map-host>.e-con-inner,
  html body>.ln-m6-search-map.is-mobile-map-host>.elementor-widget-listnova-search-map,
  html body>.ln-m6-search-map.is-mobile-map-host>.elementor-widget-listnova-search-map>.elementor-widget-container,
  html body>.ln-m6-search-map.is-mobile-map-host .elementor-widget-listnova-search-map,
  html body>.ln-m6-search-map.is-mobile-map-host .elementor-widget-container,
  html body>.ln-m6-search-map.is-mobile-map-host .ln-search-module--map,
  html body>.ln-m6-search-map.is-mobile-map-host .ln-search-x__map,
  html body>.ln-m6-search-map.is-mobile-map-host .ln-search-x__map-canvas{
    display:block!important;
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
  }
  html body.ln-search-mobile-map-open{overflow:hidden!important;touch-action:none}
}


/* 1.0.0-rc2-design10.32 — Voxel-like mobile List / Map views.
   The map is a mutually exclusive result view, never a second Elementor column
   and never a detached body overlay. */
@media(max-width:820px){
  html body .ln-m6-search-results,
  html body .ln-m6-search-results>.e-con-inner,
  html body .ln-m6-search-grid,
  html body .ln-m6-search-grid>.e-con-inner,
  html body .ln-search-builder-results,
  html body .ln-search-builder-results>.e-con-inner{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    --width:100%!important;
    --content-width:100%!important;
    --container-widget-width:100%!important;
    --container-widget-flex-grow:1!important;
    box-sizing:border-box!important;
  }
  html body .ln-m6-search-grid,
  html body .ln-m6-search-grid>.e-con-inner,
  html body .ln-search-builder-results,
  html body .ln-search-builder-results>.e-con-inner{
    display:block!important;
    grid-template-columns:none!important;
    gap:0!important;
  }

  /* List view owns the complete result width. */
  html body .ln-m6-search-list,
  html body .ln-m6-search-list>.e-con-inner,
  html body .ln-m6-search-list .elementor-widget-listnova-search-listings,
  html body .ln-m6-search-list .elementor-widget-listnova-search-listings>.elementor-widget-container,
  html body .ln-m6-search-list .ln-elementor-search-results,
  html body .ln-m6-search-list .ln-search-module--listings,
  html body .ln-m6-search-list [data-ln-listings-target],
  html body .ln-search-builder-listings-col,
  html body .ln-search-builder-listings-col>.e-con-inner,
  html body .ln-search-builder-listings-col .elementor-widget-listnova-search-listings,
  html body .ln-search-builder-listings-col .elementor-widget-container,
  html body .ln-search-builder-listings-col .ln-search-module--listings,
  html body .ln-search-builder-listings-col [data-ln-listings-target]{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    flex:0 0 100%!important;
    flex-basis:100%!important;
    --width:100%!important;
    --content-width:100%!important;
    --container-widget-width:100%!important;
    --container-widget-flex-grow:1!important;
    box-sizing:border-box!important;
  }
  html body .ln-m6-search-list .ln-results-grid,
  html body .ln-search-builder-listings-col .ln-results-grid,
  html body .ln-search-module--listings .ln-results-grid{
    display:grid!important;
    width:100%!important;
    max-width:none!important;
    grid-template-columns:minmax(0,1fr)!important;
    --ln-search-columns:1!important;
  }
  html body .ln-m6-search-list .ln-search-result-card,
  html body .ln-m6-search-list .ln-card,
  html body .ln-m6-search-list .ln-native-card,
  html body .ln-search-builder-listings-col .ln-search-result-card,
  html body .ln-search-builder-listings-col .ln-card,
  html body .ln-search-builder-listings-col .ln-native-card{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  /* List mode: map consumes exactly zero layout space. */
  html body .ln-m6-search-map,
  html body .ln-search-builder-map-col{
    display:none!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    transform:none!important;
    flex:0 0 100%!important;
    --width:100%!important;
    --content-width:100%!important;
  }

  /* Map mode: keep the results header/switch, hide cards, show Mapbox in place. */
  html body .ln-m6-search-grid.is-mobile-map-view .ln-m6-search-list .ln-search-x__cards,
  html body .ln-m6-search-grid.is-mobile-map-view .ln-m6-search-list .ln-search-x__result-tools,
  html body .ln-search-builder-results.is-mobile-map-view .ln-search-builder-listings-col .ln-search-x__cards,
  html body .ln-search-builder-results.is-mobile-map-view .ln-search-builder-listings-col .ln-search-x__result-tools{
    display:none!important;
  }
  html body .ln-m6-search-grid.is-mobile-map-view .ln-m6-search-map,
  html body .ln-search-builder-results.is-mobile-map-view .ln-search-builder-map-col{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    transform:none!important;
    flex:0 0 100%!important;
    --width:100%!important;
    --content-width:100%!important;
  }
  html body .ln-m6-search-grid.is-mobile-map-view .ln-m6-search-map>.e-con-inner,
  html body .ln-m6-search-grid.is-mobile-map-view .ln-m6-search-map .elementor-widget-listnova-search-map,
  html body .ln-m6-search-grid.is-mobile-map-view .ln-m6-search-map .elementor-widget-container,
  html body .ln-m6-search-grid.is-mobile-map-view .ln-m6-search-map .ln-search-module--map,
  html body .ln-search-builder-results.is-mobile-map-view .ln-search-builder-map-col>.e-con-inner,
  html body .ln-search-builder-results.is-mobile-map-view .ln-search-builder-map-col .elementor-widget-listnova-search-map,
  html body .ln-search-builder-results.is-mobile-map-view .ln-search-builder-map-col .elementor-widget-container,
  html body .ln-search-builder-results.is-mobile-map-view .ln-search-builder-map-col .ln-search-module--map{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    transform:none!important;
  }
  html body .ln-m6-search-grid.is-mobile-map-view .ln-search-x__map,
  html body .ln-search-builder-results.is-mobile-map-view .ln-search-x__map{
    display:block!important;
    position:relative!important;
    top:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
  }
  html body .ln-m6-search-grid.is-mobile-map-view .ln-search-x__map-canvas,
  html body .ln-search-builder-results.is-mobile-map-view .ln-search-x__map-canvas{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:clamp(480px,calc(100dvh - 210px),760px)!important;
    min-height:480px!important;
    max-height:none!important;
    margin:0!important;
  }

  /* One real two-state switch, like Voxel: both choices stay accessible. */
  html body .ln-search-module--listings .ln-search-x__view-switch{
    display:flex!important;
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    bottom:calc(16px + env(safe-area-inset-bottom))!important;
    z-index:9990!important;
    width:auto!important;
    min-width:0!important;
    gap:2px!important;
    padding:4px!important;
    transform:translateX(-50%)!important;
    border:1px solid rgba(16,47,41,.10)!important;
    border-radius:999px!important;
    background:var(--ln-front-surface-glass,rgba(255,255,255,.96))!important;
    box-shadow:0 14px 42px rgba(16,47,41,.20)!important;
    backdrop-filter:blur(14px);
  }
  html body .ln-search-module--listings .ln-search-x__view-switch [data-ln-view="list"],
  html body .ln-search-module--listings .ln-search-x__view-switch [data-ln-view="map"]{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    min-width:94px!important;
    min-height:42px!important;
    padding:0 14px!important;
    border:0!important;
    border-radius:999px!important;
    background:transparent!important;
    color:var(--sx-ink,var(--ln-front-brand-text,#102f29))!important;
    box-shadow:none!important;
  }
  html body .ln-search-module--listings .ln-search-x__view-switch button span{display:inline!important}
  html body .ln-search-module--listings .ln-search-x__view-switch button.is-active{
    background:var(--sx-ink,#102f29)!important;
    color:#fff!important;
    box-shadow:0 2px 8px rgba(16,47,41,.14)!important;
  }
  html body .ln-search-module--listings .ln-search-x__view-switch [hidden]{display:none!important}

  /* The old overlay/fullscreen mode is retired in 10.31. */
  html body>.is-mobile-map-host,
  html body .is-mobile-fullscreen{position:relative!important;inset:auto!important;width:auto!important;height:auto!important;max-height:none!important;transform:none!important}
  html.ln-search-mobile-map-open,html body.ln-search-mobile-map-open{overflow:auto!important;touch-action:auto!important;overscroll-behavior:auto!important}
}
@media(max-width:820px){
  html body .ln-search-module--listings .ln-search-x__results-actions{
    display:grid!important;
    grid-template-columns:auto!important;
    justify-items:end!important;
    align-items:center!important;
    gap:6px!important;
  }
  html body .ln-search-module--listings .ln-search-x__view-switch{
    position:static!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    z-index:auto!important;
    transform:none!important;
    justify-self:end!important;
    box-shadow:0 3px 14px rgba(16,47,41,.10)!important;
  }
  html body .ln-search-module--listings .ln-search-x__view-switch [data-ln-view="list"],
  html body .ln-search-module--listings .ln-search-x__view-switch [data-ln-view="map"]{
    min-width:76px!important;
    min-height:36px!important;
    padding:0 11px!important;
    font-size:.68rem!important;
  }
}

/* 1.0.0-rc2-design10.32 — mobile search is list-only.
   Mapbox remains available on desktop/tablet-large, but on phones the search
   map widget is removed from layout entirely and results always occupy one
   full-width column. This intentionally retires every former List/Map switch. */
@media (max-width:820px){
  html body .ln-m6-search-results,
  html body .ln-m6-search-results>.e-con-inner,
  html body .ln-m6-search-grid,
  html body .ln-m6-search-grid>.e-con-inner,
  html body .ln-search-builder-results,
  html body .ln-search-builder-results>.e-con-inner{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    grid-template-columns:minmax(0,1fr)!important;
    flex-basis:100%!important;
    --width:100%!important;
    --content-width:100%!important;
    --container-widget-width:100%!important;
    --container-widget-flex-grow:1!important;
    box-sizing:border-box!important;
  }
  html body .ln-m6-search-list,
  html body .ln-m6-search-list>.e-con-inner,
  html body .ln-m6-search-list>.elementor-widget-listnova-search-listings,
  html body .ln-m6-search-list>.elementor-widget-listnova-search-listings>.elementor-widget-container,
  html body .ln-m6-search-list .ln-elementor-search-results,
  html body .ln-m6-search-list .ln-search-module--listings,
  html body .ln-m6-search-list [data-ln-listings-target],
  html body .ln-search-builder-listings-col,
  html body .ln-search-builder-listings-col>.e-con-inner,
  html body .ln-search-builder-listings-col .elementor-widget-listnova-search-listings,
  html body .ln-search-builder-listings-col .elementor-widget-listnova-search-listings>.elementor-widget-container,
  html body .ln-search-builder-listings-col .ln-elementor-search-results,
  html body .ln-search-builder-listings-col .ln-search-module--listings,
  html body .ln-search-builder-listings-col [data-ln-listings-target]{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    margin-left:0!important;
    margin-right:0!important;
    flex:0 0 100%!important;
    flex-basis:100%!important;
    --width:100%!important;
    --content-width:100%!important;
    --container-widget-width:100%!important;
    --container-widget-flex-grow:1!important;
    box-sizing:border-box!important;
  }
  html body .ln-m6-search-list .ln-results-grid,
  html body .ln-search-builder-listings-col .ln-results-grid,
  html body .elementor-widget-listnova-search-listings .ln-results-grid,
  html body .ln-search-module--listings .ln-results-grid,
  html body .ln-search-module--listings .ln-search-x__cards>.ln-results-grid{
    display:grid!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-template-columns:minmax(0,1fr)!important;
    --ln-search-columns:1!important;
    gap:16px!important;
  }
  html body .ln-m6-search-list .ln-search-result-card,
  html body .ln-m6-search-list .ln-card,
  html body .ln-m6-search-list .ln-native-card,
  html body .ln-search-builder-listings-col .ln-search-result-card,
  html body .ln-search-builder-listings-col .ln-card,
  html body .ln-search-builder-listings-col .ln-native-card,
  html body .elementor-widget-listnova-search-listings [data-ln-result-card]{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-column:1/-1!important;
    flex:0 0 100%!important;
    box-sizing:border-box!important;
  }
  /* Search Mapbox is desktop-only from 10.32 onward. Hide both the Elementor
     widget and every legacy map column so no hidden 50% track can survive. */
  html body .ln-m6-search-map,
  html body .ln-search-builder-map-col,
  html body .elementor-widget-listnova-search-map,
  html body [data-ln-search-component="map"],
  html body .ln-search-module--map,
  html body .ln-m6-search-grid.is-mobile-map-view .ln-m6-search-map,
  html body .ln-search-builder-results.is-mobile-map-view .ln-search-builder-map-col{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    max-width:0!important;
    min-width:0!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
    position:absolute!important;
    pointer-events:none!important;
    flex:0 0 0!important;
  }
  html body .ln-search-module--listings .ln-search-x__view-switch,
  html body .ln-search-x__view-switch,
  html body [data-ln-view="map"],
  html body [data-ln-view="list"]{
    display:none!important;
  }
  /* Cached 10.29–10.31 state classes must never alter the phone layout. */
  html body .ln-m6-search-grid.is-mobile-map-view .ln-m6-search-list .ln-search-x__cards,
  html body .ln-m6-search-grid.is-mobile-map-view .ln-m6-search-list .ln-search-x__result-tools,
  html body .ln-search-builder-results.is-mobile-map-view .ln-search-builder-listings-col .ln-search-x__cards,
  html body .ln-search-builder-results.is-mobile-map-view .ln-search-builder-listings-col .ln-search-x__result-tools{
    display:block!important;
  }
  html.ln-search-mobile-map-open,
  html body.ln-search-mobile-map-open{
    overflow:auto!important;
    overscroll-behavior:auto!important;
    touch-action:auto!important;
  }
}


/* 1.0.0-rc2-design10.39 — configuration de recherche par type */
.ln-search-x__bar{grid-auto-flow:column;grid-auto-columns:minmax(145px,.85fr)}
.ln-search-x__field--custom{min-width:145px}
.ln-search-x__field--custom input,.ln-search-x__field--custom select{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--sx-ink);font:inherit;font-size:.9rem;font-weight:750}
.ln-search-x__field--custom select{padding-right:18px;cursor:pointer}
.ln-search-x__filter-sort input{width:100%;min-height:48px;padding:10px 13px;border:1px solid var(--sx-line);border-radius:13px;background:var(--ln-front-surface,#fff);color:var(--sx-ink);font:inherit;font-size:.82rem;outline:0}
@media(min-width:821px){.ln-search-device-desktop-off{display:none!important}.ln-search-x__filters-dialog .ln-search-facet--primary,.ln-search-filter-drawer .ln-search-facet--primary{display:none!important}}
@media(max-width:820px){.ln-search-device-mobile-off{display:none!important}}


/* design10.222 — Mapbox geometry hardening for Elementor grid columns. */
.elementor-widget-listnova-search-map,
.elementor-widget-listnova-search-map > .elementor-widget-container,
.elementor-widget-listnova-search-map .ln-search-module--map,
.elementor-widget-listnova-search-map [data-ln-map-target],
.elementor-widget-listnova-search-map .ln-search-x__map,
.elementor-widget-listnova-search-map .ln-search-x__map-canvas{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
.elementor-widget-listnova-search-map,
.elementor-widget-listnova-search-map > .elementor-widget-container,
.elementor-widget-listnova-search-map .ln-search-module--map,
.elementor-widget-listnova-search-map [data-ln-map-target]{display:block!important;}
.elementor-widget-listnova-search-map .ln-search-x__map-canvas{position:relative!important;}
.elementor-widget-listnova-search-map .ln-search-x__mapbox-surface,
.elementor-widget-listnova-search-map .ln-search-x__mapbox-host,
.elementor-widget-listnova-search-map .mapboxgl-map,
.elementor-widget-listnova-search-map .mapboxgl-canvas-container,
.elementor-widget-listnova-search-map .mapboxgl-canvas{width:100%!important;height:100%!important;}
