/* Modèle natif Enfold — styles limités aux sections kbf et à leurs pages. */
body:has(#kbf-hero) #header,
body:has(#kbf-hero) .title_container,
body:has(#kbf-hero) #footer,
body:has(#kbf-hero) .sidebar {display:none!important;}
body:has(#kbf-hero) #main {padding-top:0!important;}
body:has(#kbf-hero) #socket {display:block!important;background:#123b43!important;color:#fff!important;}
body:has(#kbf-hero) #socket a {color:#fff!important;}
#top #kbf-hero {min-height:72svh!important;background-size:cover!important;display:flex;align-items:center;text-align:center;}
#top #kbf-hero .content {padding:55px 0!important;}
#top #kbf-hero .kbf-logo img {width:210px!important;height:auto!important;margin:0 auto 38px!important;}
#top #kbf-hero h1 {font:400 clamp(36px,5vw,68px)/1.12 Georgia,serif!important;color:#fff!important;text-transform:none!important;letter-spacing:-1px;}
#top #kbf-hero p {color:#fff!important;font-size:19px;line-height:1.6;}
#top #kbf-hero .kbf-eyebrow {font-size:11px;letter-spacing:3px;}
#top :is(#kbf-presentation,#kbf-galerie,#kbf-equipements,#kbf-tarifs,#kbf-contacts,#kbf-autres) h2 {font:400 clamp(29px,3vw,43px)/1.2 Georgia,serif!important;color:#674c2d!important;text-transform:none!important;letter-spacing:-.4px;margin:0 0 24px;}
#top :is(#kbf-presentation,#kbf-equipements,#kbf-tarifs,#kbf-contacts) h3 {font:400 25px/1.25 Georgia,serif!important;color:#674c2d!important;text-transform:none!important;letter-spacing:0;}
#top :is(#kbf-presentation,#kbf-equipements,#kbf-tarifs,#kbf-contacts) p,
#top :is(#kbf-presentation,#kbf-equipements,#kbf-tarifs,#kbf-contacts) li {font-size:16px;line-height:1.8;color:#71685b;}
#top #kbf-presentation .kbf-note {padding:18px 20px;border-left:3px solid #5b9fc5;background:#f1e9db;}
#top #kbf-presentation .kbf-summary {padding:25px;border:1px solid #d8c9af;border-radius:12px;}
#top #kbf-presentation .kbf-summary ul {list-style:none;margin:0;padding:0;}
#top #kbf-presentation .kbf-summary li {padding:11px 0;margin:0;border-bottom:1px solid #e3d8c7;}
#top #kbf-presentation .kbf-summary li:last-child {border:0;}
#top #kbf-presentation .kbf-book {margin-top:18px;}
#top #kbf-presentation .kbf-book a {border-radius:6px;background:#32769e!important;color:#fff!important;border-bottom:3px solid #245875!important;}
#top #kbf-presentation .kbf-book a:hover {background:#234550!important;}
#top #kbf-galerie img {border-radius:12px;}
#top #kbf-equipements .kbf-amenities {list-style:none;margin:0;padding:0;}
#top #kbf-equipements .kbf-amenities li {display:flex;align-items:center;gap:15px;margin:0 0 15px;}
#top #kbf-equipements .kbf-amenities img {position:static!important;display:block!important;flex:0 0 44px;width:44px!important;height:44px!important;max-width:44px!important;object-fit:contain;margin:0!important;transform:none!important;}
#top .kbf-menu {position:fixed!important;top:40px!important;right:25px!important;z-index:999999;display:block;}
#top .kbf-menu summary {display:block;list-style:none;cursor:pointer;text-align:center;padding:8px;color:#fff;text-shadow:0 2px 5px #333;}
#top .kbf-menu summary img {display:block;width:26px;height:26px;object-fit:contain;margin:0 auto 8px;}
#top .kbf-menu summary span {display:block;font:36px/1.4 Arial,sans-serif;}
#top .kbf-menu summary small {display:block;font-size:10px;letter-spacing:2px;}
#top .kbf-menu summary::-webkit-details-marker {display:none;}
#top .kbf-menu nav {position:absolute;right:0;top:110px;width:330px;max-width:calc(100vw - 40px);max-height:calc(100dvh - 200px);overflow:auto;box-sizing:border-box;padding:20px;background:#faf7ef;border-bottom:3px solid #5b9fc5;border-radius:4px;box-shadow:0 10px 35px #0004;}
#top .kbf-menu nav a {display:flex;align-items:center;gap:15px;padding:13px 12px;border-bottom:1px solid #e6dfd3;color:#674c2d;text-decoration:none;font-size:17px;}
#top .kbf-menu nav img {position:static!important;display:block;flex:0 0 34px;width:34px!important;height:34px!important;object-fit:contain;margin:0!important;transform:none!important;}
#top .kbf-menu nav a:hover {background:#5b9fc5;color:#fff;}
#top .kbf-menu :is(summary,a):focus-visible {outline:2px solid #5b9fc5;outline-offset:3px;}
body.admin-bar .kbf-menu {top:72px!important;}
@media(max-width:782px){body.admin-bar .kbf-menu{top:76px!important;}}
@media(max-width:767px){
 #top #kbf-hero {min-height:60svh!important;}
 #top #kbf-hero .kbf-logo img {width:160px!important;}
 #top .kbf-menu {right:12px!important;}
}

/* Prix de la nuitée — encadré supérieur droit */
#top #kbf-presentation .kbf-price-top {margin-top:18px;padding:22px;border:1px solid #5b9fc5;border-radius:12px;background:#234550;text-align:center;}
#top #kbf-presentation .kbf-price-top p {color:#fff!important;margin:0!important;}
#top #kbf-presentation .kbf-price-top .kbf-price-label {font-size:11px;letter-spacing:1.4px;line-height:1.5;}
#top #kbf-presentation .kbf-price-top .kbf-price-amount {font:400 clamp(34px,3.3vw,50px)/1.15 Georgia,serif!important;margin:12px 0 5px!important;}
#top #kbf-presentation .kbf-price-amount span {font:400 17px/1.3 Arial,sans-serif;white-space:nowrap;}
#top #kbf-presentation .kbf-price-top .kbf-price-euro {font-size:19px;}
#top #kbf-presentation .kbf-price-top .kbf-price-note {font-size:12px;line-height:1.5;margin-top:10px!important;}

/* Galerie native dans la colonne de présentation, sans décalage artificiel */
#top #kbf-presentation :is(.avia-slideshow,.avia-gallery,.av-masonry,.avia-image-container) {margin-top:24px;margin-bottom:0;max-width:100%;}
#top #kbf-presentation :is(.avia-slideshow img,.avia-gallery img,.avia-image-container img) {border-radius:12px;}
#top #kbf-presentation .content {padding-bottom:35px!important;}
#top #kbf-contacts .kbf-contact-card {box-sizing:border-box;padding:24px;border:1px solid #d8c9af;border-radius:12px;background:#fffdf8;}
#top #kbf-contacts a {color:#32769e;overflow-wrap:anywhere;}
#top #kbf-contacts .kbf-emergency {clear:both;padding:15px 20px;border-left:3px solid #5b9fc5;background:#f1e9db;}

/* Autres hébergements : rendu et styles des cartes validées de l’accueil.
   Seuls le placement de la section et le nombre de colonnes changent. */
#top #kbf-autres #kb-hebergements {margin:0!important;padding:0!important;background:transparent!important;}
#top #kbf-autres #kb-hebergements .kbh-cartes {grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:1100px){#top #kbf-autres #kb-hebergements .kbh-cartes{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){#top #kbf-autres #kb-hebergements .kbh-cartes{grid-template-columns:1fr;}}

/* Les données importées suivent la typographie et le rythme des blocs validés. */
#top :is(#kbf-equipements,#kbf-tarifs,#kbf-contacts) .kbf-source-details :is(h1,h2,h3,h4,h5,h6) {font-family:Georgia,serif!important;font-size:25px!important;font-weight:400!important;line-height:1.3!important;text-transform:none!important;letter-spacing:0!important;margin:22px 0 14px!important;}
#top :is(#kbf-equipements,#kbf-tarifs,#kbf-contacts) .kbf-source-details p {margin:0 0 16px!important;font-size:16px!important;line-height:1.8!important;}
#top :is(#kbf-equipements,#kbf-tarifs,#kbf-contacts) .kbf-source-details li {margin:0 0 10px!important;font-size:16px!important;line-height:1.8!important;}
#top #kbf-equipements .kbf-source-details {clear:both;padding-top:20px;}
#top #kbf-tarifs .kbf-source-details > h2:first-child {font-size:clamp(29px,3vw,43px)!important;margin:0 0 24px!important;}
