@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800&family=Open+Sans:wght@400;600;700&display=swap');

:root{
  --accent:#c47a3d;
  --accent-dark:#a5622c;
  --ink:#2a2320;
  --muted:#6f665f;
  --dark:#191512;
  --card:#ffffff;
  --line:#e7e1d9;
  --container:1160px;
}

/* ---------- Base ----------------------------------------------------- */
*{box-sizing:border-box}
body.body{
  margin:0;
  font-family:"Open Sans",Helvetica,Arial,sans-serif;
  color:var(--ink);
  line-height:1.7;
  background:
    linear-gradient(rgba(20,17,14,.55),rgba(20,17,14,.68)),
    url("https://image.jimcdn.com/app/cms/image/transf/none/path/s7b4d56bbda3acc76/backgroundarea/icf93db03b26f7b5d/version/1593033004/image.jpg") center top / cover fixed no-repeat;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;border:0;vertical-align:middle}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-dark)}
.cc-clear,.cc-m-hgrid-overlay{clear:both}
[data-display="cms-only"]{display:none !important}   /* hide editor-only separators/overlays */
.hidden{display:none}

/* ---------- Header / logo -------------------------------------------- */
.jtpl-header__inner{
  display:flex;justify-content:center;align-items:center;
  padding:26px 16px 20px;
}
.jtpl-logo img{max-width:161px;width:auto;height:auto}

/* ---------- Desktop navigation --------------------------------------- */
.jtpl-navigation{
  position:sticky;top:0;z-index:100;
  background:rgba(21,18,15,.94);
  backdrop-filter:blur(6px);
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:2px solid var(--accent);
}
.jtpl-navigation__inner ul.cc-nav-level-0{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:4px 6px;list-style:none;margin:0 auto;padding:0;max-width:var(--container);
}
.jtpl-navigation__inner li{margin:0}
.jtpl-navigation__inner a{
  display:block;padding:16px 18px;
  font-family:"Montserrat",sans-serif;font-weight:600;font-size:.82rem;
  letter-spacing:.08em;text-transform:uppercase;color:#f2ece4;
  transition:color .2s ease,background .2s ease;
}
.jtpl-navigation__inner a:hover{color:#fff;background:rgba(196,122,61,.25)}
.jtpl-navigation__inner a.cc-nav-current,
.jtpl-navigation__inner .jmd-nav__link--current{color:var(--accent)}

/* ---------- Mobile navigation (pure-CSS checkbox toggle) ------------- */
.jtpl-navigation__checkbox{display:none}
.jtpl-mobile-topbar{display:none;position:sticky;top:0;z-index:100;background:rgba(21,18,15,.96);padding:12px 16px}
.jtpl-navigation__label{display:inline-flex;align-items:center;cursor:pointer;padding:6px}
.jtpl-navigation__borders{position:relative;display:block;width:26px;height:2px;background:#fff}
.jtpl-navigation__borders:before,
.jtpl-navigation__borders:after{content:"";position:absolute;left:0;width:26px;height:2px;background:#fff}
.jtpl-navigation__borders:before{top:-8px}
.jtpl-navigation__borders:after{top:8px}
.jtpl-mobile-navigation{display:none;background:var(--dark)}
.jtpl-mobile-navigation ul.cc-nav-level-0{list-style:none;margin:0;padding:6px 0}
.jtpl-mobile-navigation a{
  display:block;padding:14px 22px;color:#f2ece4;
  font-family:"Montserrat",sans-serif;font-weight:600;font-size:.9rem;
  text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(255,255,255,.06);
}
.jtpl-mobile-navigation a:hover,
.jtpl-mobile-navigation a.cc-nav-current{color:var(--accent)}
/* checkbox and .jtpl-main are siblings under #cc-inner */
.jtpl-navigation__checkbox:checked ~ .jtpl-main .jtpl-mobile-navigation{display:block}

/* ---------- Content shell -------------------------------------------- */
.jtpl-content{padding:26px 16px 10px}
.jtpl-content__inner{
  max-width:var(--container);margin:0 auto 26px;
  background:var(--card);
  padding:46px 48px;
  border-radius:10px;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.jtpl-breadcrumbs{margin-bottom:18px}
.jtpl-breadcrumbs ol{list-style:none;margin:0;padding:0;font-size:.78rem;color:var(--muted)}
.jtpl-breadcrumbs li{display:inline}
.jtpl-breadcrumbs a{color:var(--muted)}

/* ---------- Modules -------------------------------------------------- */
.j-module{margin:0 0 18px}
.j-module.n{padding:0}

/* headings */
.j-header h1,.j-header h2,.j-header h3{
  font-family:"Montserrat",sans-serif;color:var(--ink);line-height:1.2;margin:0 0 .5em;
}
.j-header h1{font-size:2.3rem;font-weight:800;text-align:center;margin-bottom:.2em}
.j-header h2{font-size:1.7rem;font-weight:700}
.j-header h3{font-size:1.25rem;font-weight:700}
.j-header h1:after{
  content:"";display:block;width:70px;height:3px;background:var(--accent);
  margin:14px auto 0;border-radius:2px;
}

/* text */
.j-text p{margin:0 0 1em;line-height:1.75;color:var(--ink)}
.j-text a{color:var(--accent);font-weight:600}
.j-text a:hover{text-decoration:underline}

/* spacing / hr */
.cc-m-spacer{width:100%}
.j-hr hr{border:0;border-top:1px solid var(--line);margin:20px 0}

/* image subtitle (alignment classes come from the page's inline CSS) */
.j-imageSubtitle figure.cc-imagewrapper{margin:0}
.j-imageSubtitle img{height:auto;border-radius:6px}
.cc-m-width-maxed img{width:100%}

/* ---------- H-grid (columns keep their inline % widths) -------------- */
.j-hgrid{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start}
.cc-m-hgrid-column{box-sizing:border-box}
.cc-m-hgrid-column .j-module:last-child{margin-bottom:0}

/* ---------- Call-to-action button ------------------------------------ */
.j-calltoaction-wrapper{margin:6px 0 4px}
.j-calltoaction-align-1{text-align:left}
.j-calltoaction-align-2{text-align:right}
.j-calltoaction-align-3{text-align:center}
.j-calltoaction-link{
  display:inline-block;
  font-family:"Montserrat",sans-serif;font-weight:700;font-size:.82rem;
  letter-spacing:.08em;text-transform:uppercase;
  color:#fff;background:var(--accent);
  padding:13px 34px;border-radius:4px;
  transition:background .2s ease,transform .2s ease;
}
.j-calltoaction-link:hover{background:var(--accent-dark);color:#fff;transform:translateY(-2px)}

/* ---------- Gallery (CSS scroll-snap fallback for the slider) -------- */
.cc-m-gallery-slider ul{
  display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
  list-style:none;margin:0;padding:0;border-radius:8px;-webkit-overflow-scrolling:touch;
}
.cc-m-gallery-slider li{flex:0 0 100%;scroll-snap-align:center}
.cc-m-gallery-slider li img{width:100%;height:auto;display:block}
.cc-m-gallery-slider-bar{margin-top:10px}
.cc-m-gallery-slider-thumbnails{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.cc-m-gallery-slider-thumbnails a img{
  width:44px;height:44px;object-fit:cover;border-radius:4px;opacity:.6;transition:opacity .2s ease;
}
.cc-m-gallery-slider-thumbnails a:hover img{opacity:1}

/* ---------- Reviews block: centre the little icons & names ----------- */
.cc-m-image-align-3 img{display:inline-block}

/* ---------- Sidebar footer (Pages / Partenaires / Reservation) ------- */
.jtpl-section-aside{
  background:var(--dark);
  color:#d8cfc5;
  margin-top:20px;
}
.jtpl-section-aside__inner{max-width:var(--container);margin:0 auto;padding:48px 24px}
.jtpl-section-aside .j-hgrid{gap:24px}
.jtpl-section-aside h3,
.jtpl-section-aside .headline{
  font-family:"Montserrat",sans-serif;color:#fff;font-size:1.05rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;text-align:center;margin:0 0 14px;
}
.jtpl-section-aside .j-text p{color:#cbc1b6;margin:0 0 .5em;font-size:.95rem}
.jtpl-section-aside a{color:#e8dccd}
.jtpl-section-aside a:hover{color:var(--accent)}

/* footer meta strip (kept in case the page's inline "display:none" is removed) */
.jtpl-footer{background:#100d0b;color:#8a8078;font-size:.78rem;padding:16px}
.jtpl-footer .j-meta-links{text-align:center}
.jtpl-footer a{color:#8a8078}
.jtpl-footer a:hover{color:var(--accent)}

/* ---------- Responsive ----------------------------------------------- */
@media (max-width:767px){
  .jtpl-navigation{display:none}
  .jtpl-mobile-topbar{display:block}
  .jtpl-content__inner{padding:28px 20px}
  .j-header h1{font-size:1.7rem}
  .j-header h2{font-size:1.4rem}
  /* stack every h-grid column (override inline widths) */
  .j-hgrid .cc-m-hgrid-column{width:100% !important;margin-bottom:24px}
  .j-hgrid .cc-m-hgrid-column:last-child{margin-bottom:0}
}

@media (min-width:768px){
  .jtpl-mobile-topbar,.jtpl-mobile-navigation{display:none !important}
}