/* Cartes : styles de repli. Le Quick CSS existant conserve la direction graphique. */
:where(#top) :where(#kb-hebergements.kba-dynamique) {
  --kbh-brun:#674c2d; --kbh-bleu:#5b9fc5; --kbh-bord:#d3c2aa;
  position:relative; z-index:5; box-sizing:border-box; width:100%;
  margin-top:-70px; padding:0 clamp(20px,3vw,55px) 45px;
  background:transparent; color:var(--kbh-brun); overflow:visible;
}
:where(#kb-hebergements.kba-dynamique) .kbh-cartes {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
:where(#kb-hebergements.kba-dynamique) .kbh-carte {display:flex;flex-direction:column;min-width:0;overflow:visible;border:1px solid #d3c2aa;border-radius:16px;background:#fcf8f1;box-shadow:0 10px 30px #372d1e1a;}
:where(#kb-hebergements.kba-dynamique) .kbh-photo {position:relative;display:block;overflow:visible;}
:where(#kb-hebergements.kba-dynamique) .kbh-photo img {display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:15px 15px 0 0;}
:where(#kb-hebergements.kba-dynamique) .kbh-photo::after {content:"";position:absolute;top:-12px;left:50%;width:30px;height:30px;transform:translateX(-50%);background:var(--kba-coquille,none) center/contain no-repeat;pointer-events:none;z-index:2;}
/* L'image décorative est configurable ; aucun lien de chambre n'est codé en dur. */
#top #kb-hebergements.kba-dynamique .kbh-photo::after {background-image:var(--kba-coquille,none);}
:where(#kb-hebergements.kba-dynamique) .kba-sans-photo {display:grid;place-items:center;aspect-ratio:4/3;background:#ece5d9;color:#6b6457;border-radius:15px 15px 0 0;}
:where(#kb-hebergements.kba-dynamique) .kbh-contenu {display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:23px;}
:where(#kb-hebergements.kba-dynamique) .kbh-categorie {font-size:10px;letter-spacing:1.5px;line-height:1.5;}
:where(#kb-hebergements.kba-dynamique) h3 {font-size:28px;line-height:1.3;margin:12px 0 16px;}
:where(#kb-hebergements.kba-dynamique) .kbh-surface {border:1px solid #5b9fc5;border-radius:5px;padding:5px 9px;color:#32769e;font-size:12px;line-height:1.5;}
:where(#kb-hebergements.kba-dynamique) .kbh-contenu p {font-size:15px;line-height:1.7;margin:15px 0 24px;}
:where(#kb-hebergements.kba-dynamique) .kbh-decouvrir {margin-top:auto;padding-bottom:4px;color:#674c2d;border-bottom:1px solid #674c2d;text-decoration:none;}
:where(#kb-hebergements.kba-dynamique) .kbh-pied {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:38px;padding-top:25px;border-top:1px solid #d3c2aa;}
:where(#kb-hebergements.kba-dynamique) .kbh-pied a {padding:12px 20px;border:1px solid #674c2d;border-bottom:2px solid #5b9fc5;border-radius:5px;color:#674c2d;text-decoration:none;}
:where(#kb-hebergements.kba-dynamique) a:focus-visible {outline:2px solid #32769e;outline-offset:4px;}

/* Modèle natif : ce CSS ne cible que la Ligne de grille portant cette classe. */
#top #kb-presentation.kba-native-presentation {
  display:flex !important;align-items:stretch;position:relative;
  width:100%;padding:0 !important;margin:0;border:0;overflow:visible;background:#faf7ef;
}
#top #kb-presentation.kba-native-presentation > .flex_cell {
  box-sizing:border-box;float:none !important;min-width:0;margin:0 !important;border:0;flex:0 0 auto;
}
#top #kb-presentation.kba-native-presentation > .kb-photo-hotel {width:52.38% !important;padding:0 !important;display:flex;}
#top #kb-presentation.kba-native-presentation > .kb-texte-hotel {
  width:47.62% !important;align-self:stretch;display:flex;align-items:center;
  padding:clamp(35px,6vw,90px) !important;
}
#top #kb-presentation.kba-native-presentation .flex_cell_inner {width:100%;}
#top #kb-presentation.kba-native-presentation .kb-photo-hotel .flex_cell_inner,
#top #kb-presentation.kba-native-presentation .kba-photo-native,
#top #kb-presentation.kba-native-presentation .kba-photo-native .avia-image-container-inner,
#top #kb-presentation.kba-native-presentation .kba-photo-native .avia-image-overlay-wrap {
  display:block;width:100%;max-width:none;margin:0;height:100%;
}
#top #kb-presentation.kba-native-presentation .kb-photo-hotel img {width:100% !important;height:100% !important;min-height:540px;object-fit:cover;display:block;}
#top #kb-presentation.kba-native-presentation .kb-surtitre {margin:0 0 25px;}
#top #kb-presentation.kba-native-presentation .kb-surtitre p {margin:0;color:#8a775b;font-size:11px;line-height:1.7;letter-spacing:2px;}
#top #kb-presentation.kba-native-presentation .kba-titre-native {padding:0 !important;margin:0 0 28px;}
#top #kb-presentation.kba-native-presentation .kba-titre-native .special-heading-border {display:none;}
#top #kb-presentation.kba-native-presentation .kba-titre-native::after {content:"";display:block;clear:both;width:55px;height:2px;background:#5b9fc5;margin-top:28px;}
#top #kb-presentation.kba-native-presentation .kba-texte-native p {margin:0 0 20px;font-size:17px;line-height:1.85;color:#68645c;}
#top #kb-presentation.kba-native-presentation .kba-bouton-native {margin:12px 0 0;}
#top #kb-presentation.kba-native-presentation .kba-bouton-native .avia-button {
  padding:0 0 8px !important;background:transparent !important;color:#674c2d !important;
  border:0 !important;border-bottom:1px solid #5b9fc5 !important;border-radius:0;box-shadow:none;font-size:14px;line-height:1.6;
}
#top #kb-presentation.kba-native-presentation .kba-bouton-native .avia-button:hover {color:#32769e !important;}
#top #kb-presentation.kba-native-presentation .kba-bouton-native .avia-button:focus-visible {outline:2px solid #32769e;outline-offset:4px;}

@media(max-width:1100px) {
  :where(#kb-hebergements.kba-dynamique) .kbh-cartes {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:767px) {
  #top #kb-presentation.kba-native-presentation {display:block !important;}
  #top #kb-presentation.kba-native-presentation > .kb-photo-hotel,
  #top #kb-presentation.kba-native-presentation > .kb-texte-hotel {width:100% !important;display:block;}
  #top #kb-presentation.kba-native-presentation > .kb-texte-hotel {padding:35px 25px 75px !important;}
  #top #kb-presentation.kba-native-presentation .kb-photo-hotel img {height:auto !important;min-height:0;}
  :where(#kb-hebergements.kba-dynamique) {margin-top:-25px;}
}
@media(max-width:600px) {
  :where(#kb-hebergements.kba-dynamique) .kbh-cartes {grid-template-columns:1fr;}
  :where(#kb-hebergements.kba-dynamique) .kbh-pied {flex-direction:column;align-items:flex-start;}
}
