:root{
  --bg:#fffaf7;
  --bg-soft:#faf1ec;
  --dark:#2b1c1f;
  --accent:#c9a15a;
  --accent-2:#e6b3b9;
  --text-muted:#6f6062;
  --radius:1rem;
  color-scheme: light;
}

*{scroll-behavior:smooth;}

html, body{
  overflow-x:hidden;
  max-width:100%;
  touch-action:pan-y;
}

body{
  font-family:'Poppins',sans-serif;
  color:var(--dark);
  background:var(--bg);
  position:relative;
}

h1,h2,h3,.navbar-brand{
  font-family:'Playfair Display',serif;
}

.text-accent{color:var(--accent);}
.bg-soft{background:var(--bg-soft);}

/* ===== Navbar ===== */
#mainNav{
  background:rgba(255,250,247,0.85);
  backdrop-filter:blur(10px);
  transition:.3s;
  padding:.6rem 0;
  border-bottom:1px solid rgba(43,28,31,0.06);
}
.navbar-brand{
  font-weight:700;
  font-size:1.4rem;
  color:var(--dark) !important;
  padding:0;
}
.navbar-brand span{color:var(--accent);}
.navbar-logo{
  height:52px;
  width:auto;
  display:block;
}
.nav-link{
  color:var(--dark) !important;
  font-weight:500;
  position:relative;
}
.nav-link::after{
  content:"";
  position:absolute;
  left:0;bottom:-2px;
  width:0;height:2px;
  background:var(--accent);
  transition:.25s;
}
.nav-link:hover::after{width:100%;}

.btn-book{
  background:var(--dark);
  color:#fff !important;
  border:none;
  font-weight:600;
  border-radius:50px;
  transition:.25s;
}
.btn-book:hover{background:var(--accent);color:#fff;transform:translateY(-2px);}

.btn-google{
  background:#fff;
  border:1px solid #dadce0;
  color:#3c4043;
  font-weight:600;
  border-radius:50px;
}
.btn-google:hover{background:#f8f9fa;color:#3c4043;}

/* ===== Hero ===== */
.hero{
  min-height:100vh;
  padding-top:95px;
  background:
    radial-gradient(circle at 85% 15%, rgba(230,179,185,.35), transparent 45%),
    radial-gradient(circle at 10% 90%, rgba(201,161,90,.25), transparent 45%),
    linear-gradient(160deg,#2b1c1f 0%, #4a2f33 55%, #6b3f42 100%);
  color:#fff;
}
.badge-rating{
  display:inline-flex;align-items:center;gap:.5rem;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.25);
  padding:.4rem .9rem;
  border-radius:50px;
  font-size:.85rem;
}
.hero-trust span{color:rgba(255,255,255,.8);}
.hero-card{
  animation:float 6s ease-in-out infinite;
}
@keyframes float{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-14px);}
}

/* ===== Section titles ===== */
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:.8rem;
  font-weight:600;
  color:var(--accent);
  display:flex;
  align-items:center;
  gap:.5rem;
  margin-bottom:.5rem;
}
.section-title{
  font-size:2.2rem;
  font-weight:700;
  margin-bottom:1rem;
}

/* ===== Stats ===== */
.stat-box{
  background:#fff;
  border-radius:var(--radius);
  padding:1.2rem;
  text-align:center;
  box-shadow:0 8px 24px rgba(43,28,31,.06);
}
.stat-num{font-family:'Playfair Display',serif;font-size:1.7rem;font-weight:700;color:var(--accent);}
.stat-label{font-size:.8rem;color:var(--text-muted);}

/* ===== Services ===== */
.nav-pills .nav-link{
  border-radius:50px;
  padding:.55rem 1.3rem;
  font-weight:600;
  color:var(--dark) !important;
  background:#fff;
  border:1px solid rgba(43,28,31,.08);
}
.nav-pills .nav-link.active{
  background:var(--dark);
  color:#fff !important;
}
.accordion-item{
  border:none;
  border-bottom:1px solid rgba(43,28,31,.08);
  background:transparent;
}
.accordion-button{
  font-weight:600;
  background:#fff;
}
.accordion-button:not(.collapsed){
  color:var(--dark);
  background:#fff;
  box-shadow:none;
}
.accordion-button:focus{box-shadow:none;}
.service-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:.55rem 0;
  border-bottom:1px dashed rgba(43,28,31,.1);
}
.service-row:last-child{border-bottom:none;}
.service-name{color:var(--dark);}
.service-price{
  font-weight:700;
  color:var(--accent);
  white-space:nowrap;
  padding-left:1rem;
}

/* ===== Reviews ===== */
.review-card{
  background:#fff;
  border-radius:var(--radius);
  padding:1.6rem;
  box-shadow:0 8px 24px rgba(43,28,31,.06);
}
.stars{color:#f5b400;letter-spacing:2px;}
.reviewer{font-size:.85rem;color:var(--text-muted);font-weight:600;}

/* ===== Booking CTA ===== */
.booking-cta{
  background:linear-gradient(135deg,#2b1c1f,#4a2f33);
}

/* ===== Contact ===== */
.contact-list li{
  display:flex;align-items:center;gap:.75rem;
  padding:.5rem 0;
  color:var(--text-muted);
}
.contact-list li i{color:var(--accent);font-size:1.1rem;width:20px;}
.contact-list a{color:var(--dark);text-decoration:none;}
.contact-list a:hover{color:var(--accent);}
.social-icons a{
  width:42px;height:42px;
  display:flex;align-items:center;justify-content:center;
  background:#fff;border-radius:50%;
  color:var(--dark);
  box-shadow:0 6px 16px rgba(43,28,31,.08);
  transition:.25s;
}
.social-icons a:hover{background:var(--dark);color:#fff;transform:translateY(-3px);}

/* ===== Footer ===== */
footer{
  background:var(--dark);
  color:rgba(255,255,255,.7);
  font-size:.9rem;
}
.footer-credit-link{
  color:var(--accent);
  text-decoration:none;
  font-weight:600;
}
.footer-credit-link:hover{text-decoration:underline;}

/* ===== Back to top ===== */
.back-to-top{
  position:fixed;
  right:20px;bottom:20px;
  width:46px;height:46px;
  display:flex;align-items:center;justify-content:center;
  background:var(--dark);
  color:#fff;
  border-radius:50%;
  opacity:0;visibility:hidden;
  transform:translateY(10px);
  transition:.3s;
  z-index:999;
}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0);}
.back-to-top:hover{background:var(--accent);color:#fff;}

/* ===== Reveal animation ===== */
[data-reveal]{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .6s ease, transform .6s ease;
}
[data-reveal].in-view{
  opacity:1;
  transform:translateY(0);
}

@media (max-width:991.98px){
  .section-title{font-size:1.7rem;}
  .hero{padding-top:115px;}
}
