/* ==============================
   Vars
============================== */
:root{
  --brand:#d6a238;        /* gold */
  --brand2:#f3d787;       /* light gold */
  --brand-hi:#ffe9a6;     /* highlight */
  --brand-deep:#b5831a;   /* border/edge */
  --ink:#0f172a;
  --muted:#64748b;
  --radius:18px;
  --shadow:0 12px 30px rgba(16,24,40,.08);
}

/* ==============================
   Base
============================== */
*{box-sizing:border-box}
html,body{margin:0}
body{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  line-height:1.6;color:var(--ink);background:#fff;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
h1,h2,h3{font-family:"Playfair Display",serif;letter-spacing:.2px;color:var(--ink)}
h1{font-weight:700}
h2,h3{font-weight:600}
a{color:inherit;text-decoration:none}
a:hover{opacity:.9}
ul{margin:0;padding-left:1.1rem}
li{margin:.35rem 0}
.wrap{max-width:1180px;margin:auto;padding:0 18px}

/* ==============================
   Top bar & Header
============================== */
.topbar{
  background:linear-gradient(90deg,var(--brand-hi),var(--brand));
  color:#111; font-size:14px; border-bottom:1px solid rgba(0,0,0,.05);
}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding:8px 18px;flex-wrap:wrap}
.top-left a,.top-right a{color:#111;margin-right:14px;white-space:nowrap}

.site-header{position:sticky;top:0;background:#fff;z-index:50;border-bottom:1px solid #eee}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;gap:14px}
.logo img{height:68px;width:auto;display:block}
.nav{display:flex;gap:18px;align-items:center}
.nav a{font-weight:600}
.menu-toggle{display:none;background:none;border:none;font-size:24px}

/* ==============================
   Buttons (glossy gold)
============================== */
.btn{
  position:relative;
  background-image:linear-gradient(180deg,var(--brand-hi),var(--brand));
  color:#111;
  border:1px solid var(--brand-deep);
  padding:12px 18px;border-radius:999px;font-weight:800;box-shadow:var(--shadow);
  display:inline-block;
}
.btn::after{
  content:""; position:absolute; inset:0; border-radius:999px;
  background:linear-gradient(to bottom,rgba(255,255,255,.55),rgba(255,255,255,0) 46%);
  pointer-events:none;
}
.btn:hover{filter:brightness(1.02)}
.btn-sm{padding:9px 14px;font-size:14px}

/* ==============================
   Hero / Page headers
============================== */
.page-hero{min-height:38vh;background-size:cover;background-position:center;display:grid;place-items:center;position:relative}
.page-hero .overlay{background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.35));inset:0;position:absolute}
.page-hero h1{position:relative;color:#fff;font-size:42px;margin:0;text-align:center;text-shadow:0 4px 18px rgba(0,0,0,.45)}

.hero{background:linear-gradient(180deg,#fff,var(--brand-hi),#fff5da)}
.hero .inner{display:grid;gap:24px;align-items:center}
.hero h2{font-size:44px;margin:0}
.tag{display:inline-flex;align-items:center;gap:8px;background:#fff;border:2px solid var(--brand-deep);color:#111;padding:6px 12px;border-radius:999px;font-weight:800}

/* ==============================
   Sections & grids
============================== */
.section{padding:68px 0}
.section--cream{background:linear-gradient(180deg,#fff,#fff8ea)}
.section--blush{background:linear-gradient(180deg,#fff9fb,#fdeaff)}
.section--mist{background:linear-gradient(180deg,#ffffff,#f2f5ff)}

.grid{display:grid;gap:18px}
.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}

.card{background:#fff;border:1px solid #eef0f5;border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}
.card h4{margin:0 0 6px}
.badge{font-size:12px;background:#fff3cd;border:1px solid #ffe49b;color:#7a5a00;padding:4px 8px;border-radius:999px}

/* icon chips */
.icon,.ico{
  width:30px;height:30px;border-radius:50%;
  display:inline-grid;place-items:center;margin-right:8px;
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  color:#000; font-size:16px;
}
.ico svg{fill:#000}

/* ==============================
   Services (mini cards on Home)
============================== */
.services-mini-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.service-mini{display:block;background:#fff;border:1px solid #eef0f5;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s;color:inherit}
.service-mini:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.12)}
.service-mini-img{height:140px;background-size:cover;background-position:center}
.service-mini-txt{padding:16px 18px 18px}
.service-mini h4{margin:0 0 6px;display:flex;align-items:center;gap:8px;font-family:"Playfair Display",serif}
.service-mini p{margin:0;color:var(--ink);opacity:.85}

/* ==============================
   Services page (modern cards)
============================== */
.service-grid{display:grid;gap:36px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.service-card-modern{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 25px rgba(0,0,0,.08);transition:transform .3s,box-shadow .3s}
.service-card-modern:hover{transform:translateY(-6px);box-shadow:0 16px 35px rgba(0,0,0,.15)}
.service-card-modern img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}
.service-card-modern .text{padding:22px}
.service-card-modern h3{margin:0 0 10px;font-family:"Playfair Display",serif;color:var(--brand-deep)}
.service-card-modern .desc{margin-bottom:14px;color:var(--ink)}
.service-card-modern .includes ul{margin:0 0 16px;padding-left:20px}
.service-card-modern .includes li{margin-bottom:6px;color:var(--muted)}
.service-card-modern .btn{background-image:linear-gradient(180deg,var(--brand-hi),var(--brand));color:#111;font-weight:700;padding:10px 18px;border-radius:999px;box-shadow:0 3px 8px rgba(0,0,0,.2)}

/* ==============================
   Testimonials
============================== */
.testimonials{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.quote-card{background:#fff;border:1px solid #eef0f5;border-radius:18px;box-shadow:var(--shadow);padding:18px;position:relative}
.quote-card:before{content:"“";position:absolute;left:12px;top:-10px;font:700 54px/1 "Playfair Display",serif;color:var(--brand);opacity:.35}
.quote-author{margin-top:10px;color:var(--muted);font-size:14px}

/* ==============================
   CTA with image (text always white)
============================== */
.section--cta{
  color:#fff;
  background-image:
    linear-gradient(rgba(11,16,32,.80),rgba(11,16,32,.82)),
    var(--cta-bg, url('/assets/hero/makeup-hero.jpg'));
  background-size:cover;background-position:center;
}
.section--cta h3,.section--cta p{color:#fff}

/* ==============================
   Gallery & Lightbox
============================== */
.gallery{columns:1;column-gap:12px}
@media(min-width:680px){.gallery{columns:2}}
@media(min-width:980px){.gallery{columns:3}}
.gallery a{display:block;break-inside:avoid;margin:0 0 12px;border-radius:14px;overflow:hidden}
.gallery img{width:100%;display:block;transition:transform .4s}
.gallery a:hover img{transform:scale(1.03)}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:1000}
.lightbox.active{display:flex}
.lightbox img{max-width:92vw;max-height:86vh;border-radius:12px}
.lightbox .nav{position:absolute;top:50%;width:100%;display:flex;justify-content:space-between;padding:0 16px;color:#fff;font-size:36px}
.lightbox .close{position:absolute;top:12px;right:16px;color:#fff;font-size:28px;cursor:pointer}
.caption{color:#fff;text-align:center;margin-top:10px;max-width:92vw}

/* ==============================
   Modal / Forms
============================== */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;z-index:900}
.modal .modal-content{background:#fff;border-radius:18px;padding:22px;max-width:680px;width:min(92vw,680px)}
.modal .modal-close{float:right;border:none;background:none;font-size:20px;cursor:pointer}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:12px;border:1px solid #e6e6ef;border-radius:12px}

/* ==============================
   Footer
============================== */
.site-footer{background:#0b1020;color:#eaeaf1;margin-top:56px}
.site-footer a{color:#fff}
.footer-grid{display:grid;gap:20px;padding:42px 18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.site-footer h4{margin:0 0 10px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:.4rem 0}
.copy{text-align:center;border-top:1px solid #1b2240;padding:14px 0;color:#c9cbe3}

/* ==============================
   Home carousel (Recent Work)
============================== */
#carousel{display:flex;gap:14px;overflow:hidden}
#carousel .slide{flex:0 0 auto}
#carousel img{height:240px;border-radius:16px;display:block}
@media(max-width:900px){#carousel img{height:180px}}

/* ==============================
   Floating WhatsApp (icon + text)
============================== */
.wa-float{
  position:fixed;bottom:24px;right:24px;display:flex;align-items:center;gap:8px;
  z-index:999;text-decoration:none;transition:transform .3s ease;
}
.wa-float:hover{transform:scale(1.05)}
.wa-icon{
  background:#25D366;color:#fff;width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;font-size:22px;box-shadow:0 4px 10px rgba(0,0,0,.25)
}
.wa-bubble{
  background:#25D366;color:#fff;padding:10px 16px;border-radius:20px;font-weight:600;font-size:14px;
  white-space:nowrap;box-shadow:0 4px 10px rgba(0,0,0,.25);animation:pulse 2s ease-in-out infinite
}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}

/* ==============================
   Responsive tweaks
============================== */
@media(max-width:700px){
  .topbar .wrap{display:grid;grid-template-columns:1fr;row-gap:6px}
  .top-left{display:grid;grid-template-columns:1fr;gap:4px}
  .top-right{order:-1;display:flex;justify-content:flex-end;gap:10px}
}
@media(max-width:900px){
  .nav{position:fixed;inset:60px 0 auto 0;background:#fff;border-bottom:1px solid #eee;padding:18px;display:none;flex-direction:column}
  .menu-toggle{display:block}
  .nav.open{display:flex}
  .page-hero{min-height:28vh}
  .hero h2{font-size:34px}
  .grid.cols-2,.grid.cols-3{grid-template-columns:1fr}
}
@media (max-width:600px){
  .wa-bubble{display:none} /* hide text bubble on small screens */
  .wa-icon{width:56px;height:56px;font-size:26px}
}

/* Floating WhatsApp (icon + text, responsive, safe-area aware) */
.wa-float{
  position:fixed;
  right: max(16px, env(safe-area-inset-right));
  bottom:max(16px, env(safe-area-inset-bottom));
  display:flex; align-items:center; gap:8px;
  z-index:2147483647; /* topmost */
  text-decoration:none; transition:transform .3s ease;
}
.wa-float:hover{ transform:scale(1.05) }

.wa-icon{
  background:#25D366; color:#fff;
  width:48px; height:48px; border-radius:50%;
  display:grid; place-items:center; font-size:22px;
  box-shadow:0 4px 10px rgba(0,0,0,.25);
}
.wa-bubble{
  background:#25D366; color:#fff;
  padding:10px 16px; border-radius:20px; font-weight:600; font-size:14px;
  white-space:nowrap; box-shadow:0 4px 10px rgba(0,0,0,.25);
  animation:pulse 2s ease-in-out infinite;
}
@keyframes pulse{ 0%,100%{transform:scale(1)} 50%{transform:scale(1.08)} }
@media (max-width:600px){
  .wa-bubble{ display:none; }         /* icon-only on small screens */
  .wa-icon{ width:56px; height:56px; font-size:26px; }
}
