.elementor-11 .elementor-element.elementor-element-cda67a8{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--overlay-opacity:0.5;}.elementor-11 .elementor-element.elementor-element-cda67a8:not(.elementor-motion-effects-element-type-background), .elementor-11 .elementor-element.elementor-element-cda67a8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("http://fermedelaplace.fr/wp-content/uploads/2025/08/ChatGPT-Image-Aug-15-2025-09_26_47-AM.png");background-repeat:no-repeat;background-size:cover;}.elementor-11 .elementor-element.elementor-element-cda67a8::before, .elementor-11 .elementor-element.elementor-element-cda67a8 > .elementor-background-video-container::before, .elementor-11 .elementor-element.elementor-element-cda67a8 > .e-con-inner > .elementor-background-video-container::before, .elementor-11 .elementor-element.elementor-element-cda67a8 > .elementor-background-slideshow::before, .elementor-11 .elementor-element.elementor-element-cda67a8 > .e-con-inner > .elementor-background-slideshow::before, .elementor-11 .elementor-element.elementor-element-cda67a8 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-11 .elementor-element.elementor-element-df62602 img{width:80%;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-11 .elementor-element.elementor-element-a245018{color:#FFFFFF;}.elementor-11 .elementor-element.elementor-element-a245018 a{color:#FFFFFF;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-11 .elementor-element.elementor-element-8a6a227 .elementor-button{background-color:#FFFFFF;font-family:"Poppins", Sans-serif;font-size:15px;font-weight:500;fill:#000000;color:#000000;border-radius:100px 100px 100px 100px;}.elementor-11 .elementor-element.elementor-element-150e79e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-11 .elementor-element.elementor-element-d760b6e{width:100%;max-width:100%;}.elementor-11 .elementor-element.elementor-element-d760b6e.elementor-element{--align-self:center;}.elementor-11 .elementor-element.elementor-element-9c9aac9{text-align:center;color:#000000;}.elementor-11 .elementor-element.elementor-element-9c9aac9 a{color:#000000;}body.elementor-page-11:not(.elementor-motion-effects-element-type-background), body.elementor-page-11 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-11 .elementor-element.elementor-element-cda67a8:not(.elementor-motion-effects-element-type-background), .elementor-11 .elementor-element.elementor-element-cda67a8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-11 .elementor-element.elementor-element-df62602 img{width:90%;}}@media(min-width:768px){.elementor-11 .elementor-element.elementor-element-cda67a8{--content-width:1300px;}}/* Start custom CSS for html, class: .elementor-element-d760b6e *//* ===== Smoobu Booking iframe — container polish ===== */
#apartmentIframeAll {
  /* Design tokens */
  --radius: 16px;
  --shadow: 0 12px 30px rgba(0, 0, 0, 0.10);
  --border: 1px solid rgba(0, 0, 0, 0.06);
  --bg: #ffffff;

  max-width: 1100px;   /* limite la largeur pour une meilleure lisibilité */
  margin: 32px auto;
  padding: 0;          /* pas de padding pour que l’iframe colle aux bords arrondis */
  position: relative;  /* nécessaire pour le loader optionnel */
  display: block;      /* neutralise l'ancien <center> */
}

#apartmentIframeAll iframe {
  width: 100% !important;
  height: 100%;
  min-height: 980px;           /* hauteur par défaut (augmente si besoin) */
  border: 0 !important;
  background: var(--bg);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  outline: none;
  display: block;
  border: var(--border);
  overflow: hidden;
}

/* Focus accessible (si l’iframe prend le focus via tabulation) */
#apartmentIframeAll iframe:focus-visible {
  box-shadow:
    0 0 0 2px #fff,
    0 0 0 6px rgba(59, 130, 246, 0.45),
    var(--shadow);
  border-color: transparent;
}

/* Layout plus “app-like” sur grands écrans */
@media (min-width: 1200px) {
  #apartmentIframeAll { max-width: 1200px; }
}

/* Responsiveness: on augmente la hauteur minimale sur petits écrans 
   car l’UI interne scroll plus */
@media (max-width: 1024px) {
  #apartmentIframeAll iframe { min-height: 1200px; }
}
@media (max-width: 768px) {
  #apartmentIframeAll { margin: 20px auto; }
  #apartmentIframeAll iframe { min-height: 1400px; border-radius: 14px; }
}
@media (max-width: 480px) {
  #apartmentIframeAll iframe { min-height: 1600px; border-radius: 12px; }
}

/* Dark mode: ombre plus légère + bordure douce */
@media (prefers-color-scheme: dark) {
  #apartmentIframeAll {
    --bg: #0f1115;
    --shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
    --border: 1px solid rgba(255, 255, 255, 0.08);
  }
}

/* ===== Optionnel : loader élégant tant que l’iframe charge =====
   Ajoute la classe .is-loading à #apartmentIframeAll avant l’injection,
   puis retire-la en JS quand l’iframe a chargé. */
#apartmentIframeAll.is-loading::before {
  content: "";
  position: absolute; inset: 0;
  border-radius: var(--radius);
  background:
    linear-gradient(90deg,
      rgba(0,0,0,0.05) 25%,
      rgba(0,0,0,0.10) 37%,
      rgba(0,0,0,0.05) 63%
    );
  animation: smoobu-shimmer 1.2s infinite;
}
@keyframes smoobu-shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* ===== Optionnel : encart titre/description au-dessus de l’iframe =====
   Si tu ajoutes un <div class="booking-header"> avant l’iframe. */
#apartmentIframeAll .booking-header {
  margin: 0 auto 14px auto;
  max-width: 1100px;
  padding: 0 6px;
  font: 600 18px/1.3 system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  color: #111827;
}
@media (prefers-color-scheme: dark) {
  #apartmentIframeAll .booking-header { color: #e5e7eb; }
}/* End custom CSS */