/* ModelBook V6.0.2 — mobile menu + themes */

/* Theme tokens */
body.theme-editorial{
  --page-bg:#080808;
  --section-bg:#080808;
  --text-main:#f7f2e9;
  --text-soft:#d6d0c8;
  --gold:#c2a06b;
}

body.theme-dark{
  --page-bg:#000;
  --section-bg:#050505;
  --text-main:#fff;
  --text-soft:#bfbfbf;
  --gold:#b48a55;
}

body.theme-minimal{
  --page-bg:#f4f0e8;
  --section-bg:#f4f0e8;
  --text-main:#111;
  --text-soft:#343434;
  --gold:#9a7848;
}

body.theme-cinematic{
  --page-bg:#090807;
  --section-bg:#0f0d0b;
  --text-main:#f8f0e4;
  --text-soft:#c8b9a6;
  --gold:#d0a15f;
}

body{
  background:var(--page-bg);
  color:var(--text-main);
}

.intro-section,
.photo-section,
.booking-section,
.site-footer,
.services-shell,
.page-shell{
  background:var(--section-bg);
  color:var(--text-main);
}

.kicker,
.section-kicker,
.service-label{
  color:var(--gold) !important;
}

.btn.primary{
  background:var(--gold) !important;
  border-color:var(--gold) !important;
}

/* Minimal theme needs lighter contrasts */
body.theme-minimal .v6-header{
  background:rgba(244,240,232,.94);
}

body.theme-minimal .v6-nav{
  border-bottom-color:rgba(0,0,0,.12);
}

body.theme-minimal .v6-nav a,
body.theme-minimal .brand span{
  color:#111;
}

body.theme-minimal .hero{
  color:#fff;
}

/* Header desktop */
.mobile-menu-toggle{
  display:none;
}

/* Mobile menu */
@media(max-width:800px){
  .v6-header{
    position:relative !important;
    background:rgba(244,240,232,.96);
    color:#111;
    padding:26px 22px 0 !important;
  }

  body.theme-dark .v6-header,
  body.theme-editorial .v6-header,
  body.theme-cinematic .v6-header{
    background:#f4f0e8;
    color:#111;
  }

  .v6-logo-row{
    position:relative;
    margin-bottom:22px !important;
    min-height:72px;
  }

  .v6-header .brand{
    margin:0 auto;
    max-width:70%;
  }

  .v6-header .brand img{
    max-width:250px !important;
    max-height:96px !important;
  }

  .v6-header .brand span{
    color:#111;
    font-size:15px;
    letter-spacing:.20em;
  }

  .mobile-menu-toggle{
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    width:46px;
    height:46px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:7px;
    border:1px solid rgba(0,0,0,.18);
    border-radius:999px;
    background:transparent;
    padding:0 12px;
    z-index:80;
  }

  .mobile-menu-toggle span{
    display:block;
    width:100%;
    height:1.5px;
    background:#111;
    transition:transform .25s, opacity .25s;
  }

  body.menu-open .mobile-menu-toggle span:first-child{
    transform:translateY(4px) rotate(45deg);
  }

  body.menu-open .mobile-menu-toggle span:last-child{
    transform:translateY(-4px) rotate(-45deg);
  }

  .v6-nav{
    display:flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:0 !important;
    max-height:0;
    overflow:hidden !important;
    border-bottom:1px solid rgba(0,0,0,.12) !important;
    padding:0 !important;
    margin:0 -22px !important;
    background:#f4f0e8;
    transition:max-height .32s ease;
    white-space:normal !important;
  }

  body.menu-open .v6-nav{
    max-height:320px;
    padding:10px 22px 24px !important;
  }

  .v6-nav a{
    width:100%;
    text-align:center;
    color:#111;
    padding:17px 0;
    border-bottom:1px solid rgba(0,0,0,.08);
    font-size:13px !important;
    letter-spacing:.22em !important;
  }

  .v6-nav a:last-child{
    border-bottom:0;
  }

  .v6-hero{
    padding-top:70px !important;
    min-height:82vh !important;
  }

  .hero-inner{
    transform:none !important;
  }
}

/* Hide overflow problems on very small screens */
@media(max-width:420px){
  .v6-header .brand img{
    max-width:220px !important;
  }

  .v6-header .brand{
    max-width:68%;
  }
}
