/* =============================================================================
   WIESENBACH IMMOBILIÈRE — Brand skin v2 for the Apimo Connector
   Makes the plugin's property cards identical to the site's .prop cards:
   muted location + pin, Montserrat title, spec icons, bold price + arrow button,
   sharp corners, red tag, NO green. Targets real plugin classes.
   ============================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

:root{
  --wb-red:#BC081A; --wb-red-deep:#96060F;
  --wb-ink:#161616; --wb-ink2:#3A3A3A; --wb-muted:#6B6B6B;
  --wb-cream:#FFFFFF; --wb-cream2:#F6F6F6; --wb-line:rgba(22,22,22,.12);
}

.apimo-content-wrapper, .apimo-wrapper, .apimo-properties-item, .apimo-properties-item *{
  font-family:'Montserrat',system-ui,-apple-system,sans-serif !important;
}

/* ---------- LAYOUT: use plugin flex columns, 26px gaps ---------- */
.apimo-wrapper__inner, .apimo-row{
  display:flex !important; flex-wrap:wrap !important;
  grid-template-columns:none !important; gap:0 !important;
  margin-left:-13px !important; margin-right:-13px !important;
  align-items:stretch !important;
}
.apimo-row > div[class*="column-"]{ padding:13px !important; box-sizing:border-box !important; }

/* ---------- CARD ---------- */
.apimo-properties-item.Product-block{
  background:var(--wb-cream2) !important;
  border:1px solid var(--wb-line) !important;
  border-radius:0 !important;
  clip-path:none !important;
  padding:11px !important;
  margin:0 !important;
  box-shadow:none !important;
  display:flex !important; flex-direction:column !important; height:100% !important;
  overflow:hidden;
  transition:transform .5s cubic-bezier(.32,.72,0,1), box-shadow .5s cubic-bezier(.32,.72,0,1) !important;
}
.apimo-properties-item.Product-block:hover{
  transform:translateY(-6px) !important;
  box-shadow:0 40px 80px -32px rgba(22,22,22,.30) !important;
}

/* ---------- IMAGE (single, 4:3) ---------- */
.apimo-properties-item .Pro-Image{
  position:relative !important; margin:0 !important;
  aspect-ratio:4/3 !important; overflow:hidden !important; border-radius:0 !important;
}
.apimo-properties-item .Pro-Image img,
.apimo-properties-item .single-apimo-img,
.apimo-properties-item .Pro-Image .apimo-image img{
  width:100% !important; height:100% !important; object-fit:cover !important;
  border-radius:0 !important; display:block !important;
  transition:transform 1s cubic-bezier(.32,.72,0,1) !important;
}
.apimo-properties-item.Product-block:hover .Pro-Image img{ transform:scale(1.06) !important; }
/* tame gallery slider if still enabled */
.apimo-properties-item .apimo-propery-images-archive,
.apimo-properties-item .slick-list, .apimo-properties-item .slick-track,
.apimo-properties-item .slick-slide, .apimo-properties-item .apimo-image{ height:100% !important; }
.apimo-properties-item .slick-dots, .apimo-properties-item .slick-arrow{ display:none !important; }

/* ---------- TAG (subtype/category) top-left, red, sharp ---------- */
.apimo-properties-item .Pro-category{ position:absolute !important; top:12px; left:12px; z-index:3; margin:0 !important; }
.apimo-properties-item .Pro-category span{
  background:var(--wb-red) !important; color:#fff !important;
  font-size:.72rem !important; font-weight:600 !important; letter-spacing:.04em !important;
  text-transform:uppercase !important; padding:6px 12px !important; border-radius:0 !important; display:inline-block;
}

/* ---------- CONTENT ---------- */
.apimo-properties-item .Pro-content{
  display:flex !important; flex-direction:column !important; flex:1 !important;
  padding:18px 10px 8px !important; text-decoration:none !important; color:var(--wb-ink) !important;
}
.apimo-properties-item .Pro-top-info{ display:flex !important; flex-direction:column !important; flex:1; }

/* location: muted + pin */
.apimo-properties-item .Pro-address{ display:flex !important; align-items:center !important; gap:6px !important; }
.apimo-properties-item .Pro-address svg{ width:14px !important; height:14px !important; flex:0 0 auto; }
.apimo-properties-item .Pro-address svg path{ fill:var(--wb-muted) !important; }
.apimo-properties-item .Pro-address .value{
  color:var(--wb-muted) !important; font-size:.84rem !important; font-weight:500 !important;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* title: dark Montserrat (kills green) */
.apimo-properties-item .Pro-name{ margin:8px 0 14px !important; }
.apimo-properties-item .Pro-name h3,
.apimo-properties-item .Pro-name h3 a,
.apimo-properties-item .Pro-name a{
  font-size:1.15rem !important; font-weight:700 !important; line-height:1.18 !important;
  letter-spacing:-.01em !important; color:var(--wb-ink) !important; margin:0 !important; text-decoration:none !important;
}

/* specs: gray icons, top border */
.apimo-properties-item .Pro-description{
  display:flex !important; flex-wrap:wrap !important; gap:8px 14px !important;
  padding-top:14px !important; border-top:1px solid var(--wb-line) !important; margin:0 !important;
}
.apimo-properties-item .Pro-description.Flex-col{ flex-direction:row !important; }
.apimo-properties-item .Pro-meta{ display:inline-flex !important; align-items:center !important; gap:6px !important; margin:0 !important; }
.apimo-properties-item .Pro-meta svg{ width:15px !important; height:15px !important; flex:0 0 auto; }
.apimo-properties-item .Pro-meta svg path{ fill:var(--wb-muted) !important; }
.apimo-properties-item .Pro-meta .value{ font-size:.84rem !important; color:var(--wb-ink2) !important; font-weight:500 !important; }

/* ---------- PRICE + ARROW BUTTON ---------- */
.apimo-properties-item .Pro-price{
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  margin-top:16px !important; gap:10px !important;
}
.apimo-properties-item .Pro-price > span:first-child{
  font-family:'Montserrat' !important; font-weight:700 !important; font-size:1.3rem !important;
  letter-spacing:-.01em !important; color:var(--wb-ink) !important;
}
.apimo-properties-item .apimo-property-reference{ display:none !important; }
.apimo-properties-item .Pro-price::after{
  content:"" !important; width:36px; height:36px; flex:0 0 auto;
  background:var(--wb-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpath d='M7 17L17 7M17 7H8M17 7v9'/%3E%3C/svg%3E") no-repeat center;
  transition:background-color .4s ease, transform .5s cubic-bezier(.32,.72,0,1);
}
.apimo-properties-item.Product-block:hover .Pro-price::after{ background-color:var(--wb-red); transform:translate(3px,-3px); }

/* ---------- FILTERS / PAGINATION accents ---------- */
.apimo-filters *{ border-radius:0 !important; }
.apimo-filters .btn-apply, .apimo-filters .apimo-apply-filter{
  background:var(--wb-red) !important; color:#fff !important; border:none !important; font-weight:600 !important;
}
.apimo-filters .btn-apply:hover, .apimo-filters .apimo-apply-filter:hover{ background:var(--wb-red-deep) !important; }
.apimo-archive-pagination .current, .apimo-archive-pagination a:hover{
  background:var(--wb-red) !important; color:#fff !important; border-color:var(--wb-red) !important; border-radius:0 !important;
}
.apimo-loader{ border-top-color:var(--wb-red) !important; }

/* force title dark (beat plugin primary color) */
.apimo-content-wrapper .apimo-properties-item.Product-block .Pro-content .Pro-top-info .Pro-name h3,
.apimo-content-wrapper .apimo-properties-item.Product-block .Pro-content .Pro-name h3 a,
.apimo-wrapper .apimo-properties-item .Pro-name h3,
.apimo-wrapper .apimo-properties-item .Pro-name h3 a{ color:#161616 !important; }

/* =============================================================================
   SINGLE PROPERTY DETAIL PAGE (style_2 .apimo_* classes) — brand DA
   ============================================================================= */
.apimo_container{
  max-width:1180px !important; margin:0 auto !important;
  padding:clamp(24px,5vw,56px) clamp(20px,5vw,40px) clamp(60px,8vw,110px) !important;
  color:var(--wb-ink) !important;
}
.apimo_container, .apimo_container *{ font-family:'Montserrat',system-ui,-apple-system,sans-serif !important; }
.apimo_container p{ color:var(--wb-ink2) !important; line-height:1.7 !important; }

/* ---- header: title / price / location ---- */
.apimo_section_compagne{ display:flex !important; flex-wrap:wrap !important; align-items:flex-start !important; justify-content:space-between !important; gap:14px 30px !important; }
.apimo_info_compagne{ flex:1 1 60% !important; }
.apimo_container h1.apimo_title{
  font-weight:700 !important; font-size:clamp(1.7rem,3.2vw,2.6rem) !important;
  line-height:1.08 !important; letter-spacing:-.03em !important; color:var(--wb-ink) !important; margin:0 0 10px !important;
}
.apimo_price{
  font-weight:800 !important; font-size:clamp(1.5rem,2.6vw,2.1rem) !important;
  letter-spacing:-.02em !important; white-space:nowrap !important; margin:0 !important;
}
.apimo_location_info{
  display:flex !important; align-items:center !important; gap:8px !important; flex-wrap:wrap !important;
  color:var(--wb-muted) !important; font-size:.95rem !important; font-weight:500 !important; margin-top:4px !important;
}
.apimo_location_info svg{ width:15px !important; height:15px !important; }
.apimo_location_info svg path{ fill:var(--wb-muted) !important; }
.apimo_reference{
  display:inline-block !important; background:rgba(22,22,22,.06) !important; color:var(--wb-muted) !important;
  font-size:.76rem !important; font-weight:600 !important; letter-spacing:.03em !important;
  padding:5px 11px !important; border-radius:0 !important; margin-left:4px !important;
}

/* ---- dividers ---- */
.apimo_line{
  border:0 !important; border-top:1px solid var(--wb-line) !important; height:0 !important;
  background:none !important; margin:clamp(30px,4vw,50px) 0 !important;
}

/* ---- section headings ---- */
.apimo_title_h2, .apimo_form_title, .apimo_container h2, .apimo_container h3{
  font-weight:700 !important; font-size:clamp(1.25rem,2vw,1.7rem) !important;
  letter-spacing:-.02em !important; color:var(--wb-ink) !important; margin:0 0 20px !important;
}

/* ---- gallery ---- */
.apimo_property_gallery img, .apimo_list_image img, .apimo_img, .apimo_image img,
.apimo_single-apimo-img, .apimo_performance_images img{ border-radius:0 !important; object-fit:cover !important; display:block !important; }
.apimo_list_image, .apimo_property_gallery{ gap:12px !important; }
.apimo_view_all_images, .apimo_container .apimo_view_all_images{
  background:var(--wb-ink) !important; color:#fff !important; border-radius:0 !important;
  font-weight:600 !important; font-size:.9rem !important; padding:11px 20px !important;
  letter-spacing:.01em !important; border:none !important; transition:background .3s ease !important;
}
.apimo_view_all_images:hover{ background:var(--wb-red) !important; }

/* ---- specs row (icons) ---- */
.apimo_immobilier, .apimo_info_immobilier{ display:flex !important; flex-wrap:wrap !important; gap:10px 22px !important; }
.apimo_container .apimo_icon svg path, .apimo_general_information svg path{ fill:var(--wb-muted) !important; }

/* ---- general information (specs table) ---- */
.apimo_general_information dl, .apimo_property_list{
  display:grid !important; grid-template-columns:1fr 1fr !important; gap:0 clamp(30px,5vw,70px) !important; margin:0 !important;
}
@media(max-width:640px){ .apimo_general_information dl, .apimo_property_list{ grid-template-columns:1fr !important; } }
.apimo_property_title, .apimo_general_information dt{
  color:var(--wb-muted) !important; font-weight:500 !important; font-size:.9rem !important;
  padding:11px 0 !important; border-bottom:1px solid var(--wb-line) !important; margin:0 !important;
}
.apimo_property_value, .apimo_general_information dd{
  color:var(--wb-ink) !important; font-weight:600 !important; font-size:.92rem !important; text-align:right !important;
  padding:11px 0 !important; border-bottom:1px solid var(--wb-line) !important; margin:0 !important;
}
.apimo_more{ display:inline-block !important; margin-top:16px !important; font-weight:600 !important; font-size:.9rem !important;
  color:var(--wb-red) !important; cursor:pointer !important; }

/* ---- map ---- */
.apimo_iframe, .apimo_container iframe, .apimo_container .map, [id*="map"]{ border-radius:0 !important; border:1px solid var(--wb-line) !important; }

/* ---- réglementation / energy (DPE) ---- */
.apimo_regulations .apimo_property_value, .energy-class{
  font-weight:800 !important; color:var(--wb-ink) !important;
}

/* ---- prestations / services (features) ---- */
.apimo_list_prestations{ display:grid !important; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)) !important; gap:10px 24px !important; list-style:none !important; padding:0 !important; }
.apimo_item_prestations, .apimo_list_prestations li{
  display:flex !important; align-items:center !important; gap:10px !important;
  color:var(--wb-ink2) !important; font-size:.92rem !important; font-weight:500 !important; padding:6px 0 !important;
}
.apimo_item_prestations::before, .apimo_list_prestations li::before{
  content:"" !important; width:16px; height:16px; flex:0 0 auto;
  background:var(--wb-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") no-repeat center;
}

/* ---- agent band (override inline pale-red bg) ---- */
.apimo_section_immobilier{
  background:var(--wb-cream2) !important; border:1px solid var(--wb-line) !important; border-radius:0 !important;
  padding:22px 24px !important;
}
.apimo_info_immobilier strong, .apimo_section_immobilier strong{ color:var(--wb-ink) !important; font-weight:700 !important; font-size:1.05rem !important; }
.apimo_section_immobilier .apimo_user_image img, .apimo_section_immobilier img{ border-radius:0 !important; }
.apimo_btn_click, .apimo_btn{
  background:var(--wb-red) !important; color:#fff !important; border:none !important; border-radius:0 !important;
  font-weight:600 !important; padding:12px 22px !important; letter-spacing:.01em !important; transition:background .3s ease !important;
}
.apimo_btn_click:hover, .apimo_btn:hover{ background:var(--wb-red-deep) !important; }

/* ---- contact form ---- */
.apimo_form_container{ background:var(--wb-cream2) !important; border:1px solid var(--wb-line) !important; padding:clamp(24px,4vw,44px) !important; border-radius:0 !important; }
.apimo_form_title{ text-align:left !important; }
.apimo_label{ color:var(--wb-muted) !important; font-size:.8rem !important; font-weight:600 !important; letter-spacing:.04em !important; text-transform:uppercase !important; }
.apimo_required, .apimo_form_container .apimo_required{ color:var(--wb-red) !important; }
.apimo_input, .apimo_textarea, .apimo_form input, .apimo_form textarea, .apimo_form select{
  border:1px solid var(--wb-line) !important; border-radius:0 !important; background:#fff !important;
  padding:12px 14px !important; font-size:.95rem !important; color:var(--wb-ink) !important; width:100% !important;
  transition:border-color .3s ease !important;
}
.apimo_input:focus, .apimo_textarea:focus, .apimo_form input:focus, .apimo_form textarea:focus{
  outline:none !important; border-color:var(--wb-red) !important;
}
.apimo_submit_button, .apimo_send_email, .apimo_form button[type=submit], .apimo_form input[type=submit]{
  background:var(--wb-red) !important; color:#fff !important; border:none !important; border-radius:0 !important;
  font-weight:600 !important; font-size:.98rem !important; padding:14px 26px !important; cursor:pointer !important;
  letter-spacing:.01em !important; transition:background .3s ease, transform .3s ease !important;
}
.apimo_submit_button:hover, .apimo_send_email:hover, .apimo_form button[type=submit]:hover{ background:var(--wb-red-deep) !important; }

/* price: red accent, pushed right */
.apimo_container p.apimo_price, .apimo_container .apimo_price{ color:var(--wb-red) !important; margin-left:auto !important; padding-left:24px !important; text-align:right !important; align-self:flex-start !important; }
/* hide broken agent avatar */
.apimo_section_immobilier img[src=''], .apimo_section_immobilier img:not([src]){ display:none !important; }

/* =============================================================================
   SINGLE PROPERTY — MODERN REFINEMENT (overrides earlier single block)
   ============================================================================= */
.apimo_container{ max-width:1080px !important; }

/* ---- header: title + price as a clean block ---- */
.apimo_section_compagne{ align-items:center !important; gap:20px 40px !important; padding-bottom:6px !important; }
.apimo_info_compagne{ flex:1 1 55% !important; }
.apimo_container h1.apimo_title{ font-size:clamp(1.9rem,3.4vw,2.9rem) !important; letter-spacing:-.035em !important; margin:0 0 12px !important; }

/* price: clean bordered card, dark number, red top accent (not floating red text) */
.apimo_container p.apimo_price, .apimo_container .apimo_price{
  color:var(--wb-ink) !important; background:#fff !important;
  border:1px solid var(--wb-line) !important; border-top:3px solid var(--wb-red) !important;
  padding:14px 24px !important; margin:0 !important;
  font-size:clamp(1.5rem,2.4vw,2rem) !important; font-weight:800 !important; letter-spacing:-.02em !important;
  text-align:center !important; align-self:center !important; white-space:nowrap !important;
  box-shadow:0 2px 4px rgba(22,22,22,.03), 0 18px 40px -24px rgba(22,22,22,.18) !important;
}

/* location + reference on their own line under header */
.apimo_location_info{ margin-top:2px !important; font-size:.98rem !important; }

/* ---- editorial section headings: red accent bar ---- */
.apimo_title_h2, .apimo_container h2:not(.apimo_title){
  position:relative !important; padding-left:18px !important; margin:0 0 24px !important;
  font-size:clamp(1.15rem,1.8vw,1.5rem) !important; text-transform:none !important;
}
.apimo_title_h2::before, .apimo_container h2:not(.apimo_title)::before{
  content:"" !important; position:absolute !important; left:0; top:.15em; bottom:.15em;
  width:4px !important; background:var(--wb-red) !important;
}

/* ---- description readability ---- */
.apimo_compagne_describe, .apimo_info_compagne + *, .apimo_container .description{ max-width:760px !important; }
.apimo_container p{ font-size:1rem !important; line-height:1.78 !important; }

/* ---- spec chips (icon row) ---- */
.apimo_immobilier, .apimo_info_immobilier{ gap:10px !important; }
.apimo_immobilier > *, .apimo_info_immobilier > *{
  display:inline-flex !important; align-items:center !important; gap:8px !important;
  background:#fff !important; border:1px solid var(--wb-line) !important; padding:9px 15px !important;
  font-size:.88rem !important; font-weight:600 !important; color:var(--wb-ink) !important;
}
.apimo_immobilier svg, .apimo_info_immobilier svg{ width:16px !important; height:16px !important; }

/* ---- Informations & Réglementation as clean cards ---- */
.apimo_general_information, .apimo_regulations{
  background:var(--wb-cream2) !important; border:1px solid var(--wb-line) !important;
  padding:clamp(22px,3vw,34px) !important; border-radius:0 !important;
}
.apimo_general_information .apimo_property_title, .apimo_general_information dt,
.apimo_regulations .apimo_property_title{ font-size:.86rem !important; }

/* DPE energy badge */
.apimo_regulations .apimo_property_value{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  min-width:34px !important; height:30px !important; padding:0 10px !important;
  background:var(--wb-ink) !important; color:#fff !important; font-weight:800 !important; font-size:.9rem !important;
  border-radius:0 !important; text-align:center !important;
}

/* ---- gallery: taller hero feel ---- */
.apimo_list_image, .apimo_property_gallery{ gap:10px !important; }

/* ---- spacing rhythm ---- */
.apimo_line{ margin:clamp(36px,5vw,60px) 0 !important; }

/* ---- contact form: tighter, 2-col rows ---- */
.apimo_form_row{ display:grid !important; grid-template-columns:1fr 1fr !important; gap:18px !important; }
@media(max-width:560px){ .apimo_form_row{ grid-template-columns:1fr !important; } }
.apimo_form_group{ margin-bottom:16px !important; }
.apimo_form_title{ position:relative !important; padding-left:18px !important; }
.apimo_form_title::before{ content:"" !important; position:absolute !important; left:0; top:.15em; bottom:.15em; width:4px !important; background:var(--wb-red) !important; }


/* =============================================================================
   SINGLE PROPERTY — 2-column sticky layout (JS-restructured markup)
   ============================================================================= */
.wb-grid{
  display:grid !important; grid-template-columns:1fr 340px !important;
  gap:clamp(28px,4vw,52px) !important; align-items:start !important;
  margin-top:clamp(28px,4vw,42px) !important;
}
.wb-main{ min-width:0 !important; }
.wb-main > section, .wb-main > .apimo_section_compagne{ margin:0 0 clamp(30px,4vw,46px) !important; }
.wb-main .apimo_line{ display:none !important; }

/* header in left column: stack (price is now in sidebar) */
.wb-main .apimo_section_compagne{ display:block !important; }
.wb-main .apimo_info_compagne{ flex:none !important; }

/* sticky sidebar */
.wb-side{ position:sticky !important; top:96px !important; display:flex !important; flex-direction:column !important; gap:18px !important; align-self:start !important; }

/* price card */
.wb-pricecard{
  background:#fff !important; border:1px solid var(--wb-line) !important; border-top:3px solid var(--wb-red) !important;
  padding:20px 22px !important; box-shadow:0 2px 4px rgba(22,22,22,.03),0 18px 40px -24px rgba(22,22,22,.18) !important;
}
.wb-plabel{ font-size:.72rem !important; font-weight:700 !important; letter-spacing:.16em !important; text-transform:uppercase !important; color:var(--wb-muted) !important; margin-bottom:8px !important; }
.wb-pricecard .apimo_price, .apimo_container .wb-pricecard .apimo_price{
  border:none !important; box-shadow:none !important; padding:0 !important; margin:0 !important;
  text-align:left !important; background:transparent !important; font-size:clamp(1.6rem,2.2vw,2.05rem) !important; color:var(--wb-ink) !important;
}

/* agent card in sidebar */
.wb-side .apimo_section_immobilier{ margin:0 !important; }

/* CTA button */
.wb-cta{
  display:flex !important; align-items:center !important; justify-content:center !important; gap:10px !important;
  background:var(--wb-red) !important; color:#fff !important; font-weight:600 !important; font-size:.98rem !important;
  padding:15px 20px !important; text-decoration:none !important; letter-spacing:.01em !important; transition:background .3s ease !important;
}
.wb-cta:hover{ background:var(--wb-red-deep) !important; }
.wb-cta span{ display:inline-block; transition:transform .4s ease; }
.wb-cta:hover span{ transform:translate(3px,-3px); }

/* form full width below grid */
#wb-contact{ margin-top:clamp(30px,4vw,46px) !important; }

@media(max-width:900px){
  .wb-grid{ grid-template-columns:1fr !important; }
  .wb-side{ position:static !important; }
}


/* =============================================================================
   SINGLE PROPERTY — sidebar agent card cleanup
   ============================================================================= */
.wb-side .apimo_section_immobilier{ padding:20px 22px !important; }
.wb-side .apimo_immobilier{ display:block !important; }
.wb-side .apimo_user_image{ display:none !important; }
.wb-side .apimo_info_immobilier{ display:block !important; }
.wb-side .apimo_info_immobilier p{
  border:none !important; background:transparent !important; box-shadow:none !important;
  padding:0 !important; margin:0 !important; text-align:left !important;
}
.wb-side .apimo_info_immobilier p:first-child{
  display:flex !important; align-items:center !important; gap:7px !important;
  font-size:1.02rem !important; font-weight:700 !important; color:var(--wb-ink) !important; line-height:1.3 !important;
}
.wb-side .apimo_info_immobilier p:first-child img{ width:15px !important; height:15px !important; flex:0 0 auto !important; }
.wb-side .apimo_info_immobilier p + p{
  margin-top:5px !important; font-size:.85rem !important; font-weight:500 !important; color:var(--wb-muted) !important;
}
.wb-side .apimo_btn_click{ display:none !important; }
.wb-alabel{
  font-size:.72rem !important; font-weight:700 !important; letter-spacing:.16em !important;
  text-transform:uppercase !important; color:var(--wb-muted) !important; margin-bottom:10px !important;
}


/* agent card fix v2: kill leaked spec-chip box + stack label above */
.wb-side .apimo_section_immobilier{ display:block !important; }
.wb-side .apimo_immobilier > .apimo_info_immobilier,
.wb-side .apimo_info_immobilier{
  border:none !important; background:transparent !important; box-shadow:none !important;
  padding:0 !important; margin:0 !important;
}


/* =============================================================================
   SINGLE PROPERTY — prominent key-spec chips (moved to top of header)
   ============================================================================= */
.apimo_section_compagne .apimo_list_image{
  display:flex !important; flex-wrap:wrap !important; gap:12px !important;
  list-style:none !important; padding:0 !important; margin:20px 0 28px !important;
}
.apimo_section_compagne .apimo_list_item{
  display:flex !important; align-items:center !important; gap:11px !important;
  background:#fff !important; border:1px solid var(--wb-line) !important;
  padding:13px 20px !important; margin:0 !important;
  box-shadow:0 2px 4px rgba(22,22,22,.03) !important;
}
.apimo_section_compagne .apimo_list_item svg{ width:24px !important; height:24px !important; flex:0 0 auto !important; }
.apimo_section_compagne .apimo_list_item svg path{ fill:var(--wb-red) !important; }
.apimo_section_compagne .apimo_list_item p{
  margin:0 !important; font-size:1.05rem !important; font-weight:700 !important;
  color:var(--wb-ink) !important; line-height:1.1 !important; white-space:nowrap !important;
}

/* cache-bust 1786359438392 */


/* =============================================================================
   ARCHIVE / GRID CARD — clean key-spec chip row (fixes cramped wrapping)
   ============================================================================= */
.apimo-properties-item .Pro-description.with-icon{
  display:flex !important; flex-wrap:wrap !important; gap:9px 20px !important;
  align-items:center !important; width:auto !important;
}
.apimo-properties-item .Pro-meta{
  display:inline-flex !important; align-items:center !important; gap:8px !important;
  width:auto !important; flex:0 0 auto !important; white-space:nowrap !important; margin:0 !important;
}
.apimo-properties-item .Pro-meta svg{ width:18px !important; height:18px !important; flex:0 0 auto !important; }
.apimo-properties-item .Pro-meta .value{
  width:auto !important; white-space:nowrap !important; margin:0 !important;
  font-size:.88rem !important; font-weight:600 !important; color:var(--wb-ink) !important; line-height:1 !important;
}

/* cache-bust 1786361233684 */


/* =============================================================================
   ARCHIVE / GRID CARD — redesign v2: no divider lines, spec pills
   ============================================================================= */
/* kill the divider lines */
.apimo-properties-item .Pro-description.with-icon,
.apimo-properties-item .Pro-price{ border-top:0 !important; }

/* spec pills (light tag look), horizontal */
.apimo-properties-item .Pro-description.with-icon{
  display:flex !important; flex-direction:row !important; flex-wrap:wrap !important;
  gap:8px !important; margin-top:8px !important; padding-top:0 !important; width:auto !important;
}
.apimo-properties-item .Pro-meta{
  display:inline-flex !important; align-items:center !important; gap:7px !important;
  background:rgba(22,22,22,.05) !important; padding:7px 12px !important;
  white-space:nowrap !important; width:auto !important; flex:0 0 auto !important; margin:0 !important;
}
.apimo-properties-item .Pro-meta svg{ width:16px !important; height:16px !important; flex:0 0 auto !important; }
.apimo-properties-item .Pro-meta .value{
  width:auto !important; white-space:nowrap !important; margin:0 !important;
  font-size:.82rem !important; font-weight:600 !important; color:var(--wb-ink) !important; line-height:1 !important;
}

/* price row: airy, no line */
.apimo-properties-item .Pro-price{ padding-top:0 !important; margin-top:16px !important; }

/* cache-bust 1786363472273 */


/* =============================================================================
   SINGLE PROPERTY — fine tuning (price size, ref badge, form labels, width)
   ============================================================================= */
.apimo_container{ max-width:1280px !important; }
.wb-pricecard .apimo_price,
.apimo_container .wb-pricecard .apimo_price{ font-size:clamp(1.35rem,1.8vw,1.7rem) !important; }
.apimo_location_info p.apimo_color,
.apimo_container p.apimo_color{
  background:rgba(188,8,26,.09) !important; color:var(--wb-red) !important; font-weight:600 !important;
}
.apimo_form_container .apimo_label,
.apimo_form_container label,
.apimo_container .apimo_form_container label,
.apimo_container .apimo_label{ color:var(--wb-ink) !important; }
.apimo_form_container .apimo_label::after,
.apimo_form_container label .apimo_required,
.apimo_form_container .apimo_star{ color:var(--wb-red) !important; }


/* =============================================================================
   COLOUR SYSTEM — RED = interactive only (CTA / links / arrows / hover +
   required asterisk). Ink + muted + neutral chips for everything else.
   ============================================================================= */

/* price: secondary to the title, calmer, no red accent bar on the card */
.wb-pricecard{ border-top:1px solid var(--wb-line) !important; }
.wb-pricecard .apimo_price,
.apimo_container .wb-pricecard .apimo_price{
  font-size:clamp(1.2rem,1.5vw,1.45rem) !important; font-weight:700 !important; color:var(--wb-ink) !important;
}

/* reference badge = neutral tag (informational, not clickable) */
.apimo_location_info p.apimo_color,
.apimo_container p.apimo_color{
  background:rgba(22,22,22,.06) !important; color:var(--wb-muted) !important; font-weight:600 !important;
}

/* decorative accents -> ink (structure, not interactive) */
.apimo_title_h2::before,
.apimo_container h2:not(.apimo_title)::before,
.apimo_form_title::before{ background:var(--wb-ink) !important; }
.apimo_item_prestations::before,
.apimo_list_prestations li::before{ background-color:var(--wb-ink) !important; }

/* interactive -> red: "View photos" link */
.apimo_view_all_images,
.apimo_container .apimo_view_all_images{ background:var(--wb-red) !important; color:#fff !important; }
.apimo_view_all_images:hover,
.apimo_container .apimo_view_all_images:hover{ background:var(--wb-red-deep) !important; }

/* interactive -> red: grid-card arrow button */
.apimo-properties-item .Pro-price::after{ background-color:var(--wb-red) !important; }
.apimo-properties-item:hover .Pro-price::after{ background-color:var(--wb-red-deep) !important; }


/* =============================================================================
   CTA HIERARCHY — primary actions = red solid; secondary actions = ink (subtle),
   red on hover. (overrides the COLOUR SYSTEM block above for the two secondaries)
   ============================================================================= */
/* "View photos" = subtle ink overlay button, red on hover */
.apimo_view_all_images,
.apimo_container .apimo_view_all_images{ background:var(--wb-ink) !important; color:#fff !important; }
.apimo_view_all_images:hover,
.apimo_container .apimo_view_all_images:hover{ background:var(--wb-red) !important; }

/* grid-card arrow = subtle ink, red on hover */
.apimo-properties-item .Pro-price::after{ background-color:var(--wb-ink) !important; }
.apimo-properties-item:hover .Pro-price::after{ background-color:var(--wb-red) !important; }


/* =============================================================================
   SINGLE PROPERTY — gallery overlay + custom lightbox
   ============================================================================= */
.apimo_property_gallery{ position:relative !important; }
.apimo_property_gallery a{ position:relative !important; overflow:hidden !important; display:block !important; cursor:pointer !important; }
.apimo_property_gallery a img{ transition:transform .55s cubic-bezier(.2,.7,.2,1) !important; }
.apimo_property_gallery a:hover img{ transform:scale(1.045) !important; }
.apimo_property_gallery a::after{ content:"" !important; position:absolute !important; inset:0 !important; background:rgba(22,22,22,0) !important; transition:background .3s ease !important; }
.apimo_property_gallery a:hover::after{ background:rgba(22,22,22,.14) !important; }

/* overlay CTA on the gallery */
.apimo_view_all_images,
.apimo_container .apimo_view_all_images{
  position:absolute !important; right:16px !important; bottom:16px !important; z-index:4 !important;
  background:rgba(22,22,22,.82) !important; color:#fff !important; -webkit-backdrop-filter:blur(4px) !important; backdrop-filter:blur(4px) !important;
  padding:13px 22px !important; display:inline-flex !important; align-items:center !important; gap:8px !important;
  font-weight:600 !important; font-size:.92rem !important; letter-spacing:.01em !important; border:0 !important; cursor:pointer !important;
  transition:background .3s ease, transform .3s ease !important;
}
.apimo_view_all_images:hover,
.apimo_container .apimo_view_all_images:hover{ background:var(--wb-red) !important; transform:translateY(-2px) !important; }

/* ---- lightbox ---- */
.wb-lb{ position:fixed !important; inset:0 !important; z-index:99999 !important; display:none !important; }
.wb-lb.is-open{ display:block !important; }
.wb-lb *{ box-sizing:border-box; }
.wb-lb__backdrop{ position:absolute; inset:0; background:rgba(17,19,15,.95); }
.wb-lb__stage{ position:absolute; inset:0; margin:0; display:flex; align-items:center; justify-content:center; padding:6vh 7vw 130px; }
.wb-lb__img{ max-width:100%; max-height:100%; object-fit:contain; box-shadow:0 24px 70px rgba(0,0,0,.55); }
.wb-lb__close{ position:absolute; top:16px; right:22px; z-index:5; background:transparent; border:0; color:#fff; font-size:36px; line-height:1; cursor:pointer; opacity:.85; transition:opacity .2s, transform .2s; }
.wb-lb__close:hover{ opacity:1; transform:scale(1.1); }
.wb-lb__counter{ position:absolute; top:26px; left:50%; transform:translateX(-50%); z-index:5; color:#fff; font-weight:600; letter-spacing:.08em; font-size:.85rem; }
.wb-lb__nav{ position:absolute; top:calc(50% - 55px); transform:translateY(-50%); z-index:5; background:rgba(255,255,255,.1); border:0; color:#fff; width:54px; height:54px; font-size:30px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s; }
.wb-lb__nav:hover{ background:var(--wb-red); }
.wb-lb__prev{ left:22px; }
.wb-lb__next{ right:22px; }
.wb-lb__thumbs{ position:absolute; left:0; right:0; bottom:0; height:104px; display:flex; gap:8px; padding:16px 20px; overflow-x:auto; background:linear-gradient(180deg, transparent, rgba(0,0,0,.55)); }
.wb-lb__thumb{ flex:0 0 auto; width:104px; height:72px; border:0; padding:0; cursor:pointer; background-size:cover; background-position:center; opacity:.45; transition:opacity .2s; outline:2px solid transparent; outline-offset:-2px; }
.wb-lb__thumb:hover{ opacity:.8; }
.wb-lb__thumb.is-active{ opacity:1; outline-color:var(--wb-red); }
@media(max-width:700px){
  .wb-lb__stage{ padding:9vh 3vw 96px; }
  .wb-lb__nav{ width:42px; height:42px; font-size:24px; }
  .wb-lb__thumbs{ height:82px; padding:12px; }
  .wb-lb__thumb{ width:84px; height:56px; }
  .apimo_view_all_images, .apimo_container .apimo_view_all_images{ right:10px !important; bottom:10px !important; padding:10px 16px !important; font-size:.82rem !important; }
}


/* FIX: my earlier "display:block" on all gallery anchors revealed the hidden
   photos. Show only the first 3 in the hero grid + keep the CTA; rest live in
   the lightbox. */
.apimo_property_gallery a{ display:none !important; }
.apimo_property_gallery a:nth-of-type(1),
.apimo_property_gallery a:nth-of-type(2),
.apimo_property_gallery a:nth-of-type(3){ display:block !important; }
.apimo_property_gallery .apimo_view_all_images,
.apimo_container .apimo_property_gallery .apimo_view_all_images{ display:inline-flex !important; }


/* =============================================================================
   (a) DETAIL spec chips -> match the grid look: neutral muted icons + light
       pill (no red, so they don't read as clickable)
   (b) GRID cards -> uniform image height (slider was sizing to each aspect)
   ============================================================================= */
/* (a) detail chips */
.apimo_section_compagne .apimo_list_image .apimo_list_item{
  background:rgba(22,22,22,.05) !important; border:0 !important; box-shadow:none !important;
  padding:8px 13px !important; gap:8px !important;
}
.apimo_section_compagne .apimo_list_item svg{ width:18px !important; height:18px !important; }
.apimo_section_compagne .apimo_list_item svg path{ fill:var(--wb-muted) !important; }
.apimo_section_compagne .apimo_list_item p{ font-size:.9rem !important; font-weight:600 !important; color:var(--wb-ink) !important; }

/* (b) uniform card image height */
.apimo-properties-item .Pro-Image{ height:230px !important; overflow:hidden !important; }
.apimo-properties-item .Pro-Image .apimo-propery-images-archive,
.apimo-properties-item .Pro-Image .slick-list,
.apimo-properties-item .Pro-Image .slick-track,
.apimo-properties-item .Pro-Image .apimo-image.slick-slide,
.apimo-properties-item .Pro-Image .apimo-image-slide-wrapper{ height:230px !important; }
.apimo-properties-item .single-apimo-img{ height:230px !important; width:100% !important; object-fit:cover !important; display:block !important; }

/* cache-bust 1787064706216 */

/* V2 grid alignment: neutralise les marges negatives du conteneur du plugin */
.apimo-row{ margin:0 !important; padding:0 !important; }
