/*
 * 1.0.0-rc2-design10.10 — search result card models.
 *
 * The search widget can render either Listnova's fallback .ln-card or an
 * Elementor Template Builder card (.ln-native-card). Both must consume the
 * exact same CSS variables. This file loads late and intentionally uses
 * !important only on properties owned by the Resultats de recherche widget,
 * so older rental/charter rules cannot silently cancel Elementor controls.
 */
html body .ln-elementor-search-results .ln-search-x__results-head strong{
  color:var(--ln-result-count-color,var(--ln-brand,var(--ln-front-brand-text,#123f35)))!important;
  font-size:var(--ln-result-count-size,1.34rem)!important;
}
html body .ln-elementor-search-results .ln-search-result-card:not(.ln-card-model--template) :is(.ln-card h3,.ln-card h3 a,.ln-native-card__title,.ln-native-card__title a){
  color:var(--ln-result-title-color,var(--ln-ink,var(--ln-front-text,#222)))!important;
  font-size:var(--ln-result-title-size,1rem)!important;
}
html body .ln-elementor-search-results .ln-search-result-card:not(.ln-card-model--template) :is(.ln-card__meta,.ln-card__facts,.ln-native-card__meta,.ln-native-card__facts){
  color:var(--ln-result-meta-color,var(--ln-muted,var(--ln-front-muted,#717171)))!important;
  font-size:var(--ln-result-meta-size,.75rem)!important;
}
html body .ln-elementor-search-results .ln-search-result-card:not(.ln-card-model--template) :is(.ln-price,.ln-price strong,.ln-price span,.ln-native-card__price,.ln-native-card__price strong,.ln-native-card__price span){
  color:var(--ln-result-price-color,var(--ln-ink,var(--ln-front-text,#222)))!important;
  font-size:var(--ln-result-price-size,.92rem)!important;
}

/* The Elementor card widget has a structural wrapper around the actual card.
 * It must never become a second visible card inside search results. */
html body .ln-elementor-search-results .ln-search-result-card .ln-elementor-listing-card{
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
html body .ln-elementor-search-results .ln-search-result-card .ln-elementor-listing-card:hover{
  box-shadow:none!important;
  transform:none!important;
}

/* Favorite wrapper: only the child button/link is visual. This prevents the
 * double white square/circle visible when charter CSS styles parent + child. */
html body .ln-elementor-search-results .ln-search-result-card :is(.ln-card__favorite,.ln-native-card__favorite){
  z-index:8!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
  transform:none!important;
}
html body .ln-elementor-search-results .ln-search-result-card :is(.ln-card__favorite,.ln-native-card__favorite):hover{
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
  transform:none!important;
}

/* Shared model base: Template Builder cards may be configured horizontal;
 * search-card models are always self-contained vertical cards. */
html body .ln-elementor-search-results[class*="ln-card-model--"] .ln-search-result-card :is(.ln-card,.ln-native-card),
html body .ln-search-module--listings[class*="ln-card-model--"] .ln-search-result-card :is(.ln-card,.ln-native-card){
  position:relative;
  width:100%;
  min-width:0;
}

/* Horizon — clean photographic card. */
html body .ln-card-model--horizon .ln-search-result-card :is(.ln-card,.ln-native-card){
  display:flex!important;
  grid-template-columns:none!important;
  flex-direction:column!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body .ln-card-model--horizon .ln-search-result-card :is(.ln-card__media,.ln-native-card__media){
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:var(--ln-result-image-height,auto)!important;
  min-height:0!important;
  aspect-ratio:4/3!important;
  overflow:hidden!important;
  border-radius:var(--ln-result-image-radius,12px)!important;
}
html body .ln-card-model--horizon .ln-search-result-card :is(.ln-card__media,.ln-native-card__media) img{
  width:100%!important;height:100%!important;border-radius:inherit!important;object-fit:cover!important;
}
html body .ln-card-model--horizon .ln-search-result-card .ln-native-card__overlay{background:transparent!important}
html body .ln-card-model--horizon .ln-search-result-card :is(.ln-card__body,.ln-native-card__body){
  position:relative!important;inset:auto!important;padding:11px 0 0!important;background:transparent!important;
}

/* Compact — lower image height and lower information density. */
html body .ln-card-model--compact .ln-search-result-card :is(.ln-card,.ln-native-card){
  display:flex!important;grid-template-columns:none!important;flex-direction:column!important;
  overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
html body .ln-card-model--compact .ln-search-result-card :is(.ln-card__media,.ln-native-card__media){
  position:relative!important;inset:auto!important;width:100%!important;height:var(--ln-result-image-height,168px)!important;min-height:0!important;
  aspect-ratio:auto!important;overflow:hidden!important;border-radius:var(--ln-result-image-radius,10px)!important;
}
html body .ln-card-model--compact .ln-search-result-card :is(.ln-card__media,.ln-native-card__media) img{width:100%!important;height:100%!important;border-radius:inherit!important;object-fit:cover!important}
html body .ln-card-model--compact .ln-search-result-card .ln-native-card__overlay{background:transparent!important}
html body .ln-card-model--compact .ln-search-result-card :is(.ln-card__body,.ln-native-card__body){position:relative!important;inset:auto!important;padding:9px 0 0!important;background:transparent!important}
html body .ln-card-model--compact .ln-search-result-card :is(.ln-card h3,.ln-card h3 a,.ln-native-card__title,.ln-native-card__title a){font-size:var(--ln-result-title-size,.88rem)!important}
html body .ln-card-model--compact .ln-search-result-card :is(.ln-card__meta,.ln-card__facts,.ln-native-card__meta,.ln-native-card__facts){font-size:var(--ln-result-meta-size,.66rem)!important}
html body .ln-card-model--compact .ln-search-result-card :is(.ln-card__facts,.ln-native-card__facts){display:none!important}
html body .ln-card-model--compact .ln-search-result-card :is(.ln-card__arrow,.ln-native-card__arrow){width:27px!important;height:27px!important}

/* Framed — visible surface and border. */
html body .ln-card-model--framed .ln-search-result-card :is(.ln-card,.ln-native-card){
  display:flex!important;grid-template-columns:none!important;flex-direction:column!important;
  overflow:hidden!important;border:1px solid var(--ln-line,var(--ln-front-border,#dedede))!important;border-radius:18px!important;background:var(--ln-card,var(--ln-front-surface,#fff))!important;box-shadow:none!important;
}
html body .ln-card-model--framed .ln-search-result-card :is(.ln-card__media,.ln-native-card__media){
  position:relative!important;inset:auto!important;width:100%!important;height:var(--ln-result-image-height,220px)!important;min-height:0!important;
  aspect-ratio:auto!important;border-radius:var(--ln-result-image-radius,17px 17px 0 0)!important;
}
html body .ln-card-model--framed .ln-search-result-card :is(.ln-card__media,.ln-native-card__media) img{width:100%!important;height:100%!important;border-radius:inherit!important;object-fit:cover!important}
html body .ln-card-model--framed .ln-search-result-card .ln-native-card__overlay{background:linear-gradient(180deg,transparent 65%,rgba(8,18,15,.12))!important}
html body .ln-card-model--framed .ln-search-result-card :is(.ln-card__body,.ln-native-card__body){position:relative!important;inset:auto!important;padding:14px 15px 16px!important;background:transparent!important}

/* Immersive — content overlays the photograph. */
html body .ln-card-model--immersive .ln-search-result-card :is(.ln-card,.ln-native-card){
  position:relative!important;display:block!important;grid-template-columns:none!important;
  min-height:var(--ln-result-image-height,360px)!important;overflow:hidden!important;border:0!important;
  border-radius:var(--ln-result-image-radius,20px)!important;background:#17231f!important;box-shadow:0 16px 38px rgba(18,35,31,.16)!important;
}
html body .ln-card-model--immersive .ln-search-result-card :is(.ln-card__media,.ln-native-card__media){
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:auto!important;border-radius:inherit!important;
}
html body .ln-card-model--immersive .ln-search-result-card .ln-card__media:after{
  position:absolute!important;inset:0!important;display:block!important;background:linear-gradient(180deg,rgba(8,18,15,.04) 30%,rgba(8,18,15,.9) 100%)!important;content:""!important;
}
html body .ln-card-model--immersive .ln-search-result-card .ln-native-card__overlay{
  display:block!important;background:linear-gradient(180deg,rgba(8,18,15,.04) 30%,rgba(8,18,15,.9) 100%)!important;
}
html body .ln-card-model--immersive .ln-search-result-card :is(.ln-card__media,.ln-native-card__media) img{width:100%!important;height:100%!important;border-radius:inherit!important;object-fit:cover!important}
html body .ln-card-model--immersive .ln-search-result-card :is(.ln-card__body,.ln-native-card__body){
  position:absolute!important;right:0!important;bottom:0!important;left:0!important;z-index:3!important;
  padding:88px 17px 17px!important;background:transparent!important;pointer-events:none!important;
}
html body .ln-card-model--immersive .ln-search-result-card :is(.ln-card__body,.ln-native-card__body) a{pointer-events:auto!important}
html body .ln-card-model--immersive .ln-search-result-card :is(.ln-card h3,.ln-card h3 a,.ln-native-card__title,.ln-native-card__title a){color:var(--ln-result-title-color,#fff)!important;font-size:var(--ln-result-title-size,1.08rem)!important}
html body .ln-card-model--immersive .ln-search-result-card :is(.ln-card__meta,.ln-card__facts,.ln-native-card__meta,.ln-native-card__facts){color:var(--ln-result-meta-color,rgba(255,255,255,.8))!important}
html body .ln-card-model--immersive .ln-search-result-card :is(.ln-price,.ln-price strong,.ln-price span,.ln-native-card__price,.ln-native-card__price strong,.ln-native-card__price span){color:var(--ln-result-price-color,#fff)!important}
html body .ln-card-model--immersive .ln-search-result-card :is(.ln-card__arrow,.ln-native-card__arrow){border-color:rgba(255,255,255,.4)!important;background:rgba(255,255,255,.14)!important;color:#fff!important;backdrop-filter:blur(8px)}
html body .ln-card-model--immersive .ln-search-result-card :is(.ln-card__badge,.ln-card__featured,.ln-card__photos,.ln-card__favorite,.ln-native-card__badge,.ln-native-card__featured,.ln-native-card__photos,.ln-native-card__favorite){z-index:7!important}
html body .ln-card-model--immersive .ln-search-result-card__trip{top:14px!important;bottom:auto!important;z-index:9!important}

@media(max-width:580px){
  html body .ln-card-model--compact .ln-search-result-card :is(.ln-card__media,.ln-native-card__media){height:var(--ln-result-image-height,210px)!important}
  html body .ln-card-model--immersive .ln-search-result-card :is(.ln-card,.ln-native-card){min-height:var(--ln-result-image-height,330px)!important}
}

/* Stable carriers used by editor iframe, preview and published frontend. */
html body .ln-elementor-search-results[class*="ln-card-model--"]{isolation:isolate}
html body .ln-search-card-model-host[class*="ln-card-model--"] .ln-search-module--listings,
html body .ln-elementor-search-results[class*="ln-card-model--"],
html body .ln-search-module--listings[class*="ln-card-model--"]{isolation:isolate}

/* 1.0.0-rc2-design10.10 — one authority at a time for Elementor card templates.
 * "template" preserves the card template exactly. Every other model is an
 * explicit Search Results preset and therefore neutralises the template's
 * outer Elementor shell before styling the actual Listnova card. */
html body .ln-elementor-search-results .ln-search-result-card:not(.ln-card-model--template) > .elementor,
html body .ln-elementor-search-results .ln-search-result-card:not(.ln-card-model--template) > [data-elementor-type]{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body .ln-elementor-search-results .ln-search-result-card:not(.ln-card-model--template) > .elementor > .e-con,
html body .ln-elementor-search-results .ln-search-result-card:not(.ln-card-model--template) > [data-elementor-type] > .e-con,
html body .ln-elementor-search-results .ln-search-result-card:not(.ln-card-model--template) .ln-template-builder-default--card{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  gap:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  --padding-top:0px!important;
  --padding-right:0px!important;
  --padding-bottom:0px!important;
  --padding-left:0px!important;
  --gap:0px!important;
}
html body .ln-elementor-search-results .ln-search-result-card:not(.ln-card-model--template) .elementor-widget-listnova-listing-card,
html body .ln-elementor-search-results .ln-search-result-card:not(.ln-card-model--template) .elementor-widget-listnova-listing-card > .elementor-widget-container{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}

/* In "Modèle Elementor" mode, the Search Results widget does not repaint the
 * card. The template keeps its own layout, typography, colours and surfaces. */
html body .ln-elementor-search-results .ln-search-result-card.ln-card-model--template .ln-elementor-listing-card{
  width:100%;
  max-width:none;
}

/* Category + featured are a badge stack, never two elements on the same
 * absolute coordinates. Coup de cœur is placed below the category badge. */
html body .ln-elementor-search-results .ln-search-result-card :is(.ln-card__badges,.ln-native-card__badges){
  position:absolute!important;
  z-index:8!important;
  top:13px!important;
  left:13px!important;
  right:auto!important;
  bottom:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:7px!important;
  width:auto!important;
  max-width:calc(100% - 78px)!important;
  pointer-events:none!important;
}
html body .ln-elementor-search-results .ln-search-result-card :is(.ln-card__badges,.ln-native-card__badges) :is(.ln-card__badge,.ln-card__featured,.ln-native-card__badge,.ln-native-card__featured){
  position:static!important;
  inset:auto!important;
  max-width:100%!important;
  margin:0!important;
  pointer-events:auto!important;
}


/* 1.0.0-rc2-design10.11 — authoritative per-card model carrier.
 * The model is now written directly on every rendered search result. This
 * makes presets independent from Elementor wrapper caching and preserves the
 * selected variant after REST/AJAX refreshes. */
html body .ln-search-result-card.ln-card-model--horizon :is(.ln-card,.ln-native-card){display:flex!important;grid-template-columns:none!important;flex-direction:column!important;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html body .ln-search-result-card.ln-card-model--horizon :is(.ln-card__media,.ln-native-card__media){position:relative!important;inset:auto!important;width:100%!important;height:var(--ln-result-image-height,auto)!important;min-height:0!important;aspect-ratio:4/3!important;overflow:hidden!important;border-radius:var(--ln-result-image-radius,12px)!important}
html body .ln-search-result-card.ln-card-model--horizon :is(.ln-card__media,.ln-native-card__media) img{width:100%!important;height:100%!important;border-radius:inherit!important;object-fit:cover!important}
html body .ln-search-result-card.ln-card-model--horizon .ln-native-card__overlay{background:transparent!important}
html body .ln-search-result-card.ln-card-model--horizon :is(.ln-card__body,.ln-native-card__body){position:relative!important;inset:auto!important;padding:11px 0 0!important;background:transparent!important}

html body .ln-search-result-card.ln-card-model--compact :is(.ln-card,.ln-native-card){display:flex!important;grid-template-columns:none!important;flex-direction:column!important;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html body .ln-search-result-card.ln-card-model--compact :is(.ln-card__media,.ln-native-card__media){position:relative!important;inset:auto!important;width:100%!important;height:var(--ln-result-image-height,168px)!important;min-height:0!important;aspect-ratio:auto!important;overflow:hidden!important;border-radius:var(--ln-result-image-radius,10px)!important}
html body .ln-search-result-card.ln-card-model--compact :is(.ln-card__media,.ln-native-card__media) img{width:100%!important;height:100%!important;border-radius:inherit!important;object-fit:cover!important}
html body .ln-search-result-card.ln-card-model--compact .ln-native-card__overlay{background:transparent!important}
html body .ln-search-result-card.ln-card-model--compact :is(.ln-card__body,.ln-native-card__body){position:relative!important;inset:auto!important;padding:9px 0 0!important;background:transparent!important}
html body .ln-search-result-card.ln-card-model--compact :is(.ln-card__facts,.ln-native-card__facts){display:none!important}

html body .ln-search-result-card.ln-card-model--framed :is(.ln-card,.ln-native-card){display:flex!important;grid-template-columns:none!important;flex-direction:column!important;overflow:hidden!important;border:1px solid var(--ln-line,var(--ln-front-border,#dedede))!important;border-radius:18px!important;background:var(--ln-card,var(--ln-front-surface,#fff))!important;box-shadow:none!important}
html body .ln-search-result-card.ln-card-model--framed :is(.ln-card__media,.ln-native-card__media){position:relative!important;inset:auto!important;width:100%!important;height:var(--ln-result-image-height,220px)!important;min-height:0!important;aspect-ratio:auto!important;border-radius:var(--ln-result-image-radius,17px 17px 0 0)!important}
html body .ln-search-result-card.ln-card-model--framed :is(.ln-card__media,.ln-native-card__media) img{width:100%!important;height:100%!important;border-radius:inherit!important;object-fit:cover!important}
html body .ln-search-result-card.ln-card-model--framed .ln-native-card__overlay{background:linear-gradient(180deg,transparent 65%,rgba(8,18,15,.12))!important}
html body .ln-search-result-card.ln-card-model--framed :is(.ln-card__body,.ln-native-card__body){position:relative!important;inset:auto!important;padding:14px 15px 16px!important;background:transparent!important}

html body .ln-search-result-card.ln-card-model--immersive :is(.ln-card,.ln-native-card){position:relative!important;display:block!important;grid-template-columns:none!important;min-height:var(--ln-result-image-height,360px)!important;overflow:hidden!important;border:0!important;border-radius:var(--ln-result-image-radius,20px)!important;background:#17231f!important;box-shadow:0 16px 38px rgba(18,35,31,.16)!important}
html body .ln-search-result-card.ln-card-model--immersive :is(.ln-card__media,.ln-native-card__media){position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:auto!important;border-radius:inherit!important}
html body .ln-search-result-card.ln-card-model--immersive .ln-card__media:after{position:absolute!important;inset:0!important;display:block!important;background:linear-gradient(180deg,rgba(8,18,15,.04) 30%,rgba(8,18,15,.9) 100%)!important;content:""!important}
html body .ln-search-result-card.ln-card-model--immersive .ln-native-card__overlay{display:block!important;background:linear-gradient(180deg,rgba(8,18,15,.04) 30%,rgba(8,18,15,.9) 100%)!important}
html body .ln-search-result-card.ln-card-model--immersive :is(.ln-card__media,.ln-native-card__media) img{width:100%!important;height:100%!important;border-radius:inherit!important;object-fit:cover!important}
html body .ln-search-result-card.ln-card-model--immersive :is(.ln-card__body,.ln-native-card__body){position:absolute!important;right:0!important;bottom:0!important;left:0!important;z-index:3!important;padding:88px 17px 17px!important;background:transparent!important;pointer-events:none!important}
html body .ln-search-result-card.ln-card-model--immersive :is(.ln-card__body,.ln-native-card__body) a{pointer-events:auto!important}
html body .ln-search-result-card.ln-card-model--immersive :is(.ln-card h3,.ln-card h3 a,.ln-native-card__title,.ln-native-card__title a){color:var(--ln-result-title-color,#fff)!important;font-size:var(--ln-result-title-size,1.08rem)!important}
html body .ln-search-result-card.ln-card-model--immersive :is(.ln-card__meta,.ln-card__facts,.ln-native-card__meta,.ln-native-card__facts){color:var(--ln-result-meta-color,rgba(255,255,255,.8))!important}
html body .ln-search-result-card.ln-card-model--immersive :is(.ln-price,.ln-price strong,.ln-price span,.ln-native-card__price,.ln-native-card__price strong,.ln-native-card__price span){color:var(--ln-result-price-color,#fff)!important}
html body .ln-search-result-card.ln-card-model--immersive :is(.ln-card__arrow,.ln-native-card__arrow){border-color:rgba(255,255,255,.4)!important;background:rgba(255,255,255,.14)!important;color:#fff!important;backdrop-filter:blur(8px)}
html body .ln-search-result-card.ln-card-model--immersive :is(.ln-card__badge,.ln-card__featured,.ln-card__photos,.ln-card__favorite,.ln-native-card__badge,.ln-native-card__featured,.ln-native-card__photos,.ln-native-card__favorite){z-index:7!important}
html body .ln-search-result-card.ln-card-model--immersive .ln-search-result-card__trip{top:14px!important;bottom:auto!important;z-index:9!important}
@media(max-width:580px){html body .ln-search-result-card.ln-card-model--compact :is(.ln-card__media,.ln-native-card__media){height:var(--ln-result-image-height,210px)!important}html body .ln-search-result-card.ln-card-model--immersive :is(.ln-card,.ln-native-card){min-height:var(--ln-result-image-height,330px)!important}}
