/* DEFAULT HIDE overlay */
.ms-mobileMenu{ display:none !important; }
:root { --pad: 16px; --gap: 16px; --gold: #d4af37; }
html, body { overflow-x: hidden; }
body { padding: 0; margin: 0; }
.container { padding-left: var(--pad); padding-right: var(--pad); }

h1 { font-size: 1.75rem; line-height: 1.2; }
h2 { font-size: 1.25rem; line-height: 1.3; margin-top: 1.25rem; }
p, li { font-size: 1rem; line-height: 1.65; }

.header, header.site, .site-header { position: relative; }
.nav, .site-nav, nav[role="navigation"] { display: none; }

.burger { 
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; cursor: pointer; border: 1px solid rgba(0,0,0,.1);
  border-radius: 10px; background: #fff; position: absolute; right: var(--pad); top: 10px; z-index: 9999;
}
.burger span, .burger::before, .burger::after{
  content:""; display:block; width:22px; height:2px; background:#111; margin:4px auto;
}

.mobile-menu { 
  display:none; position: fixed; inset: 0; background: rgba(255,255,255,.98);
  padding: 72px var(--pad) var(--pad); z-index: 9998; overflow:auto;
}
.mobile-menu a { display:block; padding:14px 8px; font-size: 1.05rem; border-bottom:1px solid rgba(0,0,0,.06); }

.mobile-open .mobile-menu { display:block; }
.mobile-open body { overflow: hidden; }

.section .grid, .grid, .cards, .features {
  display: grid; grid-template-columns: 1fr; gap: var(--gap);
}
.card, .tile { border-radius: 16px; }

img, video { max-width: 100%; height: auto; }

.button, .btn, button[type="submit"], a[role="button"] {
  display: inline-flex; align-items: center; justify-content: center;
  width: 100%; min-height: 44px; font-weight: 600; text-align: center;
}

input[type="text"], input[type="email"], input[type="tel"], textarea, select {
  width: 100%; min-height: 44px; padding: 10px 12px; font-size: 16px;
}

#slider { overflow: hidden; width: 100%; margin: 0 auto; }
#slides { display: flex; flex-wrap: nowrap; transform: translateX(0); transition: transform .6s ease; }
#slides > .slide { min-width: 100%; display: flex; align-items: center; justify-content: center; padding: 20px 0; }
#slides .tile { width: calc(100% - 24px); margin: 0 12px; }

.footer-grid, .footer .container, .footer-row {
  display: grid; grid-template-columns: 1fr; gap: 10px; text-align: center;
}
.footer .socials { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.footer-left, .footer-center, .footer-right { text-align: center; }
.footer-left p, .footer-right p { margin: 6px 0; }
.footer .footer-copy { margin-top: 8px; }

#cookie-banner {
  position: fixed; left: var(--pad); right: var(--pad); bottom: var(--pad);
  background: rgba(255,255,255,.98); border: 1px solid rgba(0,0,0,.1);
  box-shadow: 0 8px 30px rgba(0,0,0,.1); border-radius: 14px; padding: 14px; z-index: 99999;
}
#cookie-banner p { margin: 0 0 10px; font-size: 0.95rem; }
#cookie-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
#cookie-actions button { min-height: 44px; border-radius: 10px; }

.table-responsive { width: 100%; overflow-x: auto; }
.hide-mobile { display: none !important; }

/* --- Burger & overlay hardening --- */
.burger { display: inline-flex !important; position: fixed; top: 10px; right: var(--pad); z-index: 10001; background: #fff; }
.mobile-menu { z-index: 10000; }
.mobile-open body { overflow: hidden; }

/* === Burger with 3 bars === */
.burger { display:inline-flex !important; position:fixed; top:12px; right:var(--pad); z-index:10001; background:#fff; border:1px solid rgba(0,0,0,.1); border-radius:10px; width:44px; height:44px; justify-content:center; align-items:center; }
.burger .bar { display:block; width:22px; height:2px; background:#111; margin:3px 0; }
/* Overlay full height */
.mobile-menu { position:fixed; inset:0; background:rgba(255,255,255,.98); padding:96px var(--pad) var(--pad); z-index:10000; overflow-y:auto; }
.mobile-menu a { display:block; padding:14px 8px; font-size:1.06rem; border-bottom:1px solid rgba(0,0,0,.06); text-align:center; }

/* Hide desktop nav on small screens, even if class names differ */
header nav, .nav, .site-nav, .desktop-nav, .menu, .main-menu { display:none !important; }


/* Prevent content overlaying the burger */
#slider, .hero, .section { position: relative; z-index: 1; }

/* --- HARDEN burger icon to always show 3 bars --- */
.burger::before, .burger::after { display: none !important; content:none !important; }
.burger .bar { display:block !important; width:22px !important; height:2px !important; background:#111 !important; margin:3px 0 !important; }
/* Ensure burger visible in mobile only */

/* Desktop default: hide burger */
/* Desktop defaults: hide burger + overlay menu */
.ms-mobileMenu{ display:none !important; }

@media (max-width: 1024px){
  .burger{ display:inline-flex !important; }
}
/* Avoid overlapping content above burger */
header, .hero, #slider, .section, main { position: relative; z-index: 1; }
.burger { z-index: 10001 !important; position: fixed !important; top: 12px !important; right: var(--pad) !important; }

/* === Moon&Star isolated mobile nav === */
@media (max-width: 1024px){
  .ms-burger{
    position: fixed; top: 12px; right: 16px;
    z-index: 2147483647;
    width: 44px; height: 44px;
    display: inline-flex !important !important; align-items: center; justify-content: center;
    background: #fff; border: 1px solid rgba(0,0,0,.12); border-radius: 10px;
    padding: 0; margin: 0; cursor: pointer;
  }
  .ms-burger svg{ display:block; }
  .ms-burger line{ stroke:#111; stroke-width:2.2; stroke-linecap:round; }

  .ms-mobileMenu{
    position: fixed; inset: 0; z-index: 2147483646;
    background: rgba(255,255,255,.98);
    padding: 96px 16px 16px;
    overflow-y: auto;
    display: none;
  }
  .ms-mobileMenu a{ color:#111 !important; 
    display:block; padding:14px 8px;
    text-align:center; font-size:1.06rem; border-bottom:1px solid rgba(0,0,0,.06);
  }

  .ms-open .ms-mobileMenu{ display:block !important; }
  .ms-open body{ overflow:hidden; }

  header nav, .nav, .site-nav, .desktop-nav, .menu, .main-menu{ display:none !important; }

  #slider, .section, .hero, main{ position: relative; z-index: 1; }

  body.page-avis #slider, body.page-avis .reviews{ overflow: visible !important; }
  body.page-avis #slider, body.page-avis #slides, body.page-avis .slide, body.page-avis .tile,
  body.page-avis .reviews, body.page-avis .reviews *{ position: relative !important; z-index: 1 !important; }
}

body.page-avis .burger {
  position: fixed !important;
  top: 12px !important;
  right: var(--pad) !important;
  z-index: 2147483647 !important;
}


/* Bulletproof desktop kill (>=769px) */

  .ms-open .ms-mobileMenu{ display:none !important; }
}




}

/* Desktop HIDE >=1025px */
@media (min-width: 1025px){
  #ms-burger, .ms-burger{ display:none !important; visibility:hidden !important; opacity:0 !important; pointer-events:none !important; }
  #ms-mobileMenu, .ms-open #ms-mobileMenu{ display:none !important; }
}



/* MOBILE MENU LAYOUT (<=1024px) */
@media (max-width: 1024px){
  #ms-burger, .ms-burger{
    display: inline-flex !important;
    align-items: center; justify-content: center;
    width: 44px; height: 44px;
    position: fixed; top: 12px; right: 16px;
    z-index: 2147483647;
    background: #fff; border: 1px solid rgba(0,0,0,.12); border-radius: 10px;
    padding: 0; margin: 0; cursor: pointer;
  }
  .ms-burger svg{ display:block; }
  .ms-burger line{ stroke:#111; stroke-width:2.2; stroke-linecap:round; }

  .ms-mobileMenu{
    position: fixed; inset: 0;
    display: none !important;
    z-index: 2147483646;
    background: rgba(255,255,255,.985);
    padding: 96px 16px 24px;
    overflow-y: auto;
  }
  .ms-open #ms-mobileMenu{ display: block !important; }

  /* Column layout, readable links */
  .ms-mobileMenu a{
    display: block;
    padding: 14px 10px;
    font-size: 18px;
    line-height: 1.2;
    border-bottom: 1px solid rgba(0,0,0,.06);
    color: #111 !important;
    text-decoration: none;
  }
  .ms-mobileMenu a:last-child{ border-bottom: 0; }
}


/* MOBILE MENU — full-screen, single column */
@media (max-width: 1024px){
  #ms-burger, .ms-burger{
    display:inline-flex !important; align-items:center; justify-content:center;
    width:44px; height:44px; position:fixed; top:12px; right:16px;
    z-index:2147483647; background:#fff; border:1px solid rgba(0,0,0,.12); border-radius:10px;
    padding:0; margin:0; cursor:pointer;
  }
  .ms-burger svg{ display:block; }
  .ms-burger line{ stroke:#111; stroke-width:2.2; stroke-linecap:round; }

  .ms-mobileMenu{
    position:fixed; inset:0; width:100vw; height:100vh; max-width:none;
    z-index:2147483646; background:rgba(255,255,255,.985);
    padding:96px 16px 24px; overflow-y:auto; display:none !important;
  }
  .ms-open #ms-mobileMenu{ display:block !important; }

  .ms-mobileMenu *{ box-sizing:border-box; }
  .ms-mobileMenu a{
    display:block !important; width:100% !important;
    padding:14px 10px !important; margin:0 !important;
    font-size:18px !important; line-height:1.2 !important;
    color:#111 !important; text-decoration:none !important;
    border-bottom:1px solid rgba(0,0,0,.06) !important;
    white-space:normal !important; text-align:left !important;
  }
  .ms-mobileMenu a:last-child{ border-bottom:0 !important; }
}

/* MENU OPEN: ensure overlay on top and clicks captured */
.ms-open #ms-mobileMenu{ pointer-events:auto !important; }
.ms-open body *:not(#ms-mobileMenu):not(#ms-mobileMenu *):not(#ms-burger){ pointer-events:auto; } /* keep defaults but overlay z-index wins */

/* Neutralize legacy generic .burger rules */
.burger, .burger::before, .burger::after, .burger .bar, .burger .line{
  all: unset !important;
  display: none !important;
}

