.nbhc{--nbhc-grey:#666;--nbhc-radius:999px;position:relative;width:100%;overflow:hidden;font-family:var(--nbhc-font,'Montserrat',sans-serif);color:var(--nbhc-grey);padding:50px 0 20px;box-sizing:border-box}
.nbhc--full{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}
.nbhc *{box-sizing:border-box}
.nbhc__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.nbhc__track::-webkit-scrollbar{display:none}
.nbhc__track:focus-visible{outline:2px solid var(--nbhc-grey);outline-offset:-4px}
.nbhc__slide{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:48% 52%;align-items:center;min-height:620px;margin:0;padding:0}
.nbhc__slide--img-left .nbhc__media{order:1;padding-right:60px}
.nbhc__slide--img-left .nbhc__text{order:2;padding:0 8% 0 4%}
.nbhc__slide--img-left .nbhc__img{border-radius:0 var(--nbhc-radius) var(--nbhc-radius) 0}
.nbhc__slide--img-right{grid-template-columns:52% 48%}
.nbhc__slide--img-right .nbhc__text{order:1;padding:0 4% 0 8%}
.nbhc__slide--img-right .nbhc__media{order:2;padding-left:60px}
.nbhc__slide--img-right .nbhc__img{border-radius:var(--nbhc-radius) 0 0 var(--nbhc-radius)}
.nbhc__media{padding-top:40px;padding-bottom:60px}
.nbhc__img{display:block;width:100%;height:520px;object-fit:cover;box-shadow:0 0 70px rgba(0,0,0,.16)}
.nbhc .nbhc__title{margin:0 0 22px;padding:0;font-family:inherit;font-weight:400;font-size:clamp(26px,2.6vw,42px);line-height:1.3;color:var(--nbhc-grey);text-transform:none}
.nbhc__stars{letter-spacing:2px}
.nbhc .nbhc__logo{display:block;max-width:150px;max-height:90px;width:auto;height:auto;margin:0 0 28px}
.nbhc .nbhc__text p{margin:0 0 18px;padding:0;font-size:15px;font-weight:300;line-height:1.95;color:var(--nbhc-grey);text-align:justify}
.nbhc .nbhc__btn{display:inline-block;margin-top:14px;padding:14px 40px;border:2px solid var(--nbhc-grey);border-radius:var(--nbhc-radius);font-family:inherit;font-size:18px;font-weight:400;line-height:1.2;text-transform:uppercase;text-decoration:none;color:var(--nbhc-grey);background:transparent;transition:background-color .25s,color .25s}
.nbhc .nbhc__btn:hover,.nbhc .nbhc__btn:focus-visible{background:var(--nbhc-grey);color:#fff}
.nbhc__nav{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:10px}
.nbhc .nbhc__arrow{width:50px;height:50px;border:2px solid var(--nbhc-grey);border-radius:50%;background:#fff;color:var(--nbhc-grey);font-size:22px;line-height:1;cursor:pointer;padding:0;transition:background-color .25s,color .25s}
.nbhc .nbhc__arrow:hover,.nbhc .nbhc__arrow:focus-visible{background:var(--nbhc-grey);color:#fff}
.nbhc__dots{display:flex;gap:10px}
.nbhc .nbhc__dot{width:12px;height:12px;border:2px solid var(--nbhc-grey);border-radius:50%;background:transparent;padding:0;cursor:pointer;transition:background-color .25s}
.nbhc .nbhc__dot[aria-current="true"]{background:var(--nbhc-grey)}
.nbhc .nbhc__dot:focus-visible,.nbhc .nbhc__arrow:focus-visible,.nbhc .nbhc__btn:focus-visible{outline:2px solid #000;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.nbhc__track{scroll-behavior:auto}}
@media (max-width:980px){
  .nbhc__slide,.nbhc__slide--img-right{grid-template-columns:1fr;min-height:0}
  .nbhc__slide .nbhc__media{order:1;padding:20px 0 30px}
  .nbhc__slide .nbhc__text{order:2;padding:0 24px 20px}
  .nbhc__slide--img-left .nbhc__media{padding-right:40px}
  .nbhc__slide--img-right .nbhc__media{padding-left:40px}
  .nbhc__img{height:300px}
  .nbhc .nbhc__text p{text-align:left}
}

/* ===== Carrousel « Ils nous ont fait confiance » ===== */
.nbt{position:relative;width:100%;overflow:hidden;font-family:var(--nbhc-font,'Montserrat',sans-serif);color:#fff;background:#2b2b2b;box-sizing:border-box}
.nbt *{box-sizing:border-box}
.nbt--full{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}
.nbt__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.nbt__track::-webkit-scrollbar{display:none}
.nbt__track:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.nbt__slide{position:relative;flex:0 0 100%;scroll-snap-align:start;display:flex;align-items:center;justify-content:center;text-align:center;min-height:clamp(480px,48vw,700px);padding:60px 90px 100px;background:#2b2b2b;margin:0}
.nbt__bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}
.nbt__slide::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.38);z-index:1}
.nbt__content{position:relative;z-index:2;max-width:1100px;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.nbt .nbt__title{margin:0 0 12px;padding:0;font-family:inherit;font-weight:300;font-size:clamp(26px,4vw,56px);line-height:1.2;text-transform:uppercase;color:#fff}
.nbt__stars{font-size:1.25em;letter-spacing:.04em;vertical-align:-.04em}
.nbt .nbt__badge{margin:0 0 24px;padding:0;font-size:clamp(14px,1.4vw,18px);font-weight:600;text-transform:uppercase;color:#fff}
.nbt .nbt__heading{margin:0 0 20px;padding:0;font-family:inherit;font-size:clamp(20px,2.1vw,28px);font-weight:400;text-transform:uppercase;color:#fff}
.nbt .nbt__mission p{margin:0 0 14px;padding:0;font-size:clamp(14px,1.45vw,18px);font-weight:600;line-height:1.6;color:#fff}
.nbt__nav{position:absolute;left:0;right:0;bottom:26px;z-index:3;display:flex;align-items:center;justify-content:center;gap:22px}
.nbt .nbt__arrow{width:46px;height:46px;border:2px solid #fff;border-radius:50%;background:rgba(0,0,0,.15);color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:0;transition:background-color .25s,color .25s}
.nbt .nbt__arrow:hover,.nbt .nbt__arrow:focus-visible{background:#fff;color:#333}
.nbt__dots{display:flex;gap:10px}
.nbt .nbt__dot{width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:transparent;padding:0;cursor:pointer;transition:background-color .25s}
.nbt .nbt__dot[aria-current="true"]{background:#fff}
.nbt .nbt__dot:focus-visible,.nbt .nbt__arrow:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.nbt__track{scroll-behavior:auto}}
@media (max-width:980px){.nbt__slide{padding:50px 24px 100px}}

/* ===== Carrousel hôtels : flèches sur les côtés ===== */
.nbhc__stage{position:relative}
.nbhc .nbhc__stage .nbhc__arrow{position:absolute;top:50%;margin-top:-26px;width:52px;height:52px;z-index:3;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px rgba(0,0,0,.14)}
.nbhc .nbhc__stage .nbhc__prev{left:24px}
.nbhc .nbhc__stage .nbhc__next{right:24px}
.nbhc .nbhc__arrow svg{display:block}
.nbhc__nav{margin-top:6px}
.nbhc__slide--img-left .nbhc__text{padding-right:max(8%,100px)}
.nbhc__slide--img-right .nbhc__text{padding-left:max(8%,100px)}
@media (max-width:980px){
  .nbhc .nbhc__stage .nbhc__arrow{width:40px;height:40px;top:170px;margin-top:-20px}
  .nbhc .nbhc__stage .nbhc__prev{left:10px}
  .nbhc .nbhc__stage .nbhc__next{right:10px}
  .nbhc__slide--img-left .nbhc__text,.nbhc__slide--img-right .nbhc__text{padding-left:24px;padding-right:24px}
}

/* ===== Logo de l'hôtel + logos d'affiliation (Relais & Châteaux, Virtuoso…) ===== */
.nbhc .nbhc__logos{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:0 0 28px}
.nbhc .nbhc__logos .nbhc__logo{margin:0}
.nbhc .nbhc__logos .nbhc__logo--group{max-width:130px;max-height:70px}
.nbhc .nbhc__sep{font-size:28px;font-weight:300;line-height:1;color:var(--nbhc-grey)}

/* ===== Hôtels affichés les uns sous les autres : [nb_hotels_carousel layout="list"] ===== */
.nbhc--list{padding:30px 0 10px}
.nbhc--list .nbhc__track{display:block;overflow:visible;scroll-snap-type:none}
.nbhc--list .nbhc__slide{min-height:0;scroll-snap-align:none}
.nbhc--list .nbhc__slide + .nbhc__slide{margin-top:20px}
