/* ====================================================================
   Deluxe Spa · Aesthetics & Wellness
   Hoja de estilos — complementa Bootstrap 5.3
   ==================================================================== */

:root{
  --ivory:    #F6F1E9;   /* fondo principal */
  --cream:    #FBF8F2;   /* tarjetas */
  --gold:     #B89A5E;   /* dorado acento */
  --gold-deep:#A07F44;
  --gold-soft:#C9B98F;
  --sage-deep:#4E5F52;   /* verde profundo */
  --sage:     #2E322B;   /* verde casi negro (secciones oscuras) */
  --sage-dk:  #23261F;   /* footer */
  --sage-mist:#A9B2A0;   /* verde claro de apoyo */
  --stone:    #7C736A;   /* gris cálido para texto */
  --ink:      #2C2A26;   /* texto principal */
  --line:     rgba(44,42,38,.08);
}

*{ box-sizing:border-box; }

body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:'Jost',system-ui,sans-serif;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

a{ text-decoration:none; }
::selection{ background:var(--gold); color:#fff; }

.g{ color:var(--gold); }
em.sage{ color:var(--sage-deep); font-weight:500; font-style:italic; }
em.gold{ color:var(--gold); font-weight:500; font-style:italic; }

/* ---------- Tipografía de apoyo ---------- */
.lbl{
  font-size:11px; letter-spacing:4px; text-transform:uppercase;
  color:var(--gold); margin:0;
}
.section-title{
  font-family:'Cormorant Garamond',serif; font-weight:400;
  font-size:clamp(34px,4.4vw,54px); line-height:1.05; color:var(--ink); margin:0;
}
.section-title.light{ color:var(--ivory); }
.section-title em{ font-style:italic; }
.section-intro{
  font-size:14px; color:var(--stone); line-height:1.95; max-width:520px;
  margin:14px 0 0; font-weight:300;
}
.section-intro.mist{ color:var(--sage-mist); }
.section-head{ margin-bottom:48px; }

/* Divisor dorado con asterisco */
.divider-gold{
  display:flex; align-items:center; justify-content:center;
  gap:14px; margin:18px 0; color:var(--gold); font-size:14px;
}
.divider-gold.start{ justify-content:flex-start; }
.divider-gold span{ display:block; width:42px; height:1px; background:var(--gold-soft); }
.divider-gold.on-dark span{ background:rgba(184,154,94,.5); }

/* ---------- Botones ---------- */
.btn-gold{
  display:inline-block; background:var(--gold); color:var(--sage);
  font-size:12px; letter-spacing:2px; text-transform:uppercase; font-weight:500;
  padding:16px 34px; border-radius:2px; transition:.25s;
}
.btn-gold:hover{ background:var(--gold-deep); color:#fff; }
.btn-ghost-light{
  display:inline-block; border:1px solid rgba(255,255,255,.35); color:var(--ivory);
  font-size:12px; letter-spacing:2px; text-transform:uppercase;
  padding:16px 30px; border-radius:2px; transition:.25s;
}
.btn-ghost-light:hover{ background:rgba(255,255,255,.08); color:#fff; }

/* ---------- WhatsApp flotante ---------- */
.wa-float{
  position:fixed; right:22px; bottom:22px; z-index:1080;
  width:58px; height:58px; border-radius:50%; background:#25D366; color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:28px;
  box-shadow:0 10px 28px rgba(37,211,102,.45);
}
.wa-float:hover{ color:#fff; }
.wa-pulse{
  position:absolute; inset:0; border-radius:50%; background:#25D366;
  animation:wapulse 2.4s ease-out infinite;
}
.wa-float i{ position:relative; z-index:1; }
@keyframes wapulse{
  0%{ transform:scale(1); opacity:.55; }
  70%{ transform:scale(2.2); opacity:0; }
  100%{ opacity:0; }
}

/* ---------- Topbar ---------- */
.topbar{
  background:var(--sage); color:#C9CFC1; text-align:center;
  font-size:11px; letter-spacing:2px; text-transform:uppercase; font-weight:300;
  padding:9px 16px;
}
.topbar .sep{
  display:inline-block; width:1px; height:11px;
  background:rgba(255,255,255,.18); margin:0 16px; vertical-align:middle;
}

/* ---------- Navbar ---------- */
.navbar{
  background:rgb(250 250 250 / 92%); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.navbar-brand img { width: auto; height: 100px; }
.brand-name{
  display:block; font-family:'Cormorant Garamond',serif; font-size:26px;
  font-weight:600; letter-spacing:1px; color:var(--ink); line-height:1;
}
.brand-sub{
  display:block; font-size:9.5px; letter-spacing:5px; text-transform:uppercase;
  color:var(--stone); margin-top:2px;
}
.navbar-toggler{ box-shadow:none; }
.navbar-toggler i{ font-size:30px; color:var(--ink); }
.navbar .nav-link{
  font-size:12px; letter-spacing:2px; text-transform:uppercase;
  color:#3a382f; padding:8px 16px;
}
.navbar .nav-link:hover{ color:var(--gold); }
.btn-nav-cta{
  display:inline-block; color:#fff !important; background:var(--sage);
  padding:11px 24px !important; border-radius:2px;
}
.btn-nav-cta:hover{ background:var(--gold); }

/* ---------- Placeholder de imagen ---------- */
.img-ph{
  position:relative; display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center;
  /* color:#9b9382;
  background:repeating-linear-gradient(135deg,#E7E0D3,#E7E0D3 14px,#E1D9C9 14px,#E1D9C9 28px); */
}
.img-ph i{ font-size:42px; opacity:.5; }
.img-ph span{ font-family:monospace; font-size:11px; margin-top:10px; line-height:1.6; }
.img-ph .ph-tag{
  position:absolute; top:18px; left:18px; font-family:monospace; font-size:10px;
  letter-spacing:1px; color:#a79c84; background:rgba(255,255,255,.6); padding:4px 9px;
}

/* ---------- Hero ---------- */
.hero-left{
  background:var(--sage); color:var(--ivory);
  padding:84px 7vw; position:relative; overflow:hidden; min-height:90vh;
}
.hero-content{ position:relative; z-index:1; width:100%; }
.hero-ring{ position:absolute; border-radius:50%; }
.hero-ring.r1{ right:-120px; top:-120px; width:380px; height:380px; border:1px solid rgba(184,154,94,.25); }
.hero-ring.r2{ right:-60px; bottom:-160px; width:300px; height:300px; border:1px solid rgba(184,154,94,.15); }
.hero-title{
  font-family:'Cormorant Garamond',serif; font-weight:400;
  font-size:clamp(48px,6vw,82px); line-height:1.02; margin:0;
}
.hero-title em{ color:var(--gold); font-weight:500; font-style:italic; }
.hero-sub{ font-size:15px; line-height:1.9; color:#C9CFC1; max-width:440px; }
.hero-img-col{ position:relative; min-height:90vh; }
.hero-img-col .img-ph{ position:absolute; inset:0; background: url('./../images/mujer-principal.jpg'); background-position: center; background-size: cover; }
.hero-badge{
  position:absolute; left:34px; bottom:34px; background:var(--ivory);
  padding:22px 28px; box-shadow:0 18px 40px rgba(0,0,0,.18); text-align:center; z-index:2;
}
.hero-badge-num{ font-family:'Cormorant Garamond',serif; font-size:46px; line-height:1; color:var(--sage); }
.hero-badge-num sup{ font-size:18px; color:var(--gold); }
.hero-badge-lbl{ font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--stone); margin-top:4px; }

/* ---------- Banda dorada ---------- */
.band{ background:var(--gold); padding:14px 12px; }
.band-item{
  color:var(--sage); font-size:11.5px; letter-spacing:2.5px;
  text-transform:uppercase; font-weight:500;
}

/* ---------- Servicios ---------- */
#servicios{ padding:96px 0 0; }
.svc-card{
  background:var(--cream); border:1px solid var(--line); border-right:none;
  padding:40px 34px; position:relative;
}
.row > [class*="col-"]:last-child .svc-card{ border-right:1px solid var(--line); }
.sc-num{
  position:absolute; top:28px; right:30px;
  font-family:'Cormorant Garamond',serif; font-size:30px; color:#E2D6BF;
}
.sc-tag{ font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin:0 0 12px; }
.sc-title{
  font-family:'Cormorant Garamond',serif; font-weight:500; font-size:28px;
  line-height:1.1; color:var(--ink); margin:0 0 14px;
}
.sc-desc{ font-size:13px; color:var(--stone); line-height:1.85; margin:0 0 20px; }
.svc-img{ margin-bottom:18px; }
.svc-img i{ font-size:22px; }
.svc-img span{ font-size:9px; }
.sc-more{
  font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--sage-deep);
  border-bottom:1px solid var(--sage-deep); padding-bottom:3px; cursor:pointer;
}

/* IV Therapy */
.iv-feature{ background:var(--sage); color:var(--ivory); padding:64px 7vw; }
.iv-title{
  font-family:'Cormorant Garamond',serif; font-weight:400;
  font-size:clamp(32px,4vw,48px); line-height:1.05; margin:0 0 18px;
}
.iv-title em{ color:var(--gold); font-weight:500; font-style:italic; }
.iv-desc{ font-size:14px; color:#C9CFC1; line-height:1.9; margin:0 0 28px; max-width:420px; }
.iv-point{ display:flex; gap:12px; }
.iv-bullet{ flex-shrink:0; width:8px; height:8px; border-radius:50%; background:var(--gold); margin-top:7px; }
.iv-point p{ margin:0; font-size:13px; color:#C9CFC1; line-height:1.7; }
.iv-point strong{ display:block; color:var(--ivory); font-weight:500; font-size:13.5px; margin-bottom:2px; }
.iv-img{ height:260px; border:1px solid rgba(184,154,94,.2);
  background:repeating-linear-gradient(135deg,#3a3f36,#3a3f36 12px,#343931 12px,#343931 24px); color:#8a917f; }

/* ---------- Nosotros ---------- */
.nos-img-col{ position:relative; min-height:560px; }
.nos-quote-overlay{
  position:absolute; left:34px; right:34px; bottom:34px; z-index:2;
  background:rgba(46,50,43,.92); color:var(--ivory); padding:26px 30px;
}
.nos-quote{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:21px; line-height:1.4; margin:0 0 8px; }
.nos-quote-src{ font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin:0; }
.nos-content{ padding:84px 7vw; }
.stat-num{ font-family:'Cormorant Garamond',serif; font-size:46px; line-height:1; color:var(--sage); }
.stat-num sup{ font-size:16px; color:var(--gold); }
.stat-lbl{ font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--stone); margin-top:6px; }
.check-list{ list-style:none; padding:0; margin:0; }
.check-list li{
  display:flex; align-items:flex-start; gap:12px; font-size:13.5px; color:#3a382f;
  padding:9px 0; border-top:1px solid var(--line);
}
.check-list li i{ color:var(--sage-deep); font-size:18px; flex-shrink:0; }

/* ---------- Ritual ---------- */
#ritual{ background:var(--sage); padding:96px 0; }
.ritual-card{
  flex:1; border:1px solid rgba(184,154,94,.25); padding:36px 28px;
  text-align:center; background:rgba(255,255,255,.02);
}
.ritual-num{ font-family:'Cormorant Garamond',serif; font-size:50px; color:var(--gold); line-height:1; margin-bottom:14px; }
.ritual-title{ font-family:'Cormorant Garamond',serif; font-weight:500; font-size:22px; color:var(--ivory); margin:0 0 10px; }
.ritual-desc{ font-size:13px; color:var(--sage-mist); line-height:1.8; margin:0; }

/* ---------- Testimonios ---------- */
#testimonios{ padding:96px 0; }
.testi-card{
  background:var(--cream); border:1px solid var(--line); padding:38px 34px;
  display:flex; flex-direction:column;
}
.testi-stars{ color:var(--gold); font-size:15px; letter-spacing:3px; margin-bottom:18px; }
.testi-text{
  font-family:'Cormorant Garamond',serif; font-style:italic; font-size:19px;
  line-height:1.5; color:#3a382f; margin:0 0 26px; flex:1;
}
.testi-avatar{
  width:46px; height:46px; border-radius:50%; background:#E7E0D3;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.testi-avatar i{ font-size:20px; color:#b3a988; }
.testi-name{ font-size:14px; font-weight:500; color:var(--ink); margin:0; }
.testi-role{ font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--gold); margin:2px 0 0; }

/* ---------- CTA ---------- */
.cta-left-col{ background:#F0EADF; }
.cta-left{ padding:80px 6vw; }
.cta-perk{ display:flex; align-items:center; gap:12px; }
.cta-icon{
  width:30px; height:30px; border-radius:50%; background:var(--gold); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:13px; flex-shrink:0;
}
.cta-perk p{ font-size:13.5px; color:#3a382f; margin:0; }
.cta-form-col{ background:var(--sage); }
.cta-form{ padding:80px 6vw; }
.cta-form-title{
  font-family:'Cormorant Garamond',serif; font-weight:400;
  font-size:clamp(30px,3.6vw,42px); color:var(--ivory); line-height:1.05; margin:0 0 32px;
}
.cta-form-title em{ color:var(--gold); font-weight:500; font-style:italic; }
.f-label{ display:block; font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--sage-mist); margin-bottom:8px; }
.f-input{
  width:100%; background:transparent; border:none; border-bottom:1px solid rgba(255,255,255,.22);
  color:var(--ivory); padding:10px 2px; font-size:14px; font-family:'Jost',sans-serif; outline:none;
}
.f-input::placeholder{ color:rgba(201,207,193,.45); }
.f-input:focus{ border-bottom-color:var(--gold); }
select.f-input{ background:var(--sage); }
select.f-input option{ background:var(--sage); color:var(--ivory); }
.btn-submit{
  width:100%; background:var(--gold); color:var(--sage); border:none;
  font-size:12px; letter-spacing:2px; text-transform:uppercase; font-weight:600;
  padding:16px; border-radius:2px; cursor:pointer; transition:.25s;
}
.btn-submit:hover{ background:var(--gold-deep); color:#fff; }
.form-note{ font-size:10px; letter-spacing:1px; text-align:center; color:var(--sage-mist); opacity:.75; margin-top:16px; }
.success-view{ text-align:center; padding:40px 0; }
.success-icon{
  width:74px; height:74px; border-radius:50%; background:var(--gold); color:var(--sage);
  display:flex; align-items:center; justify-content:center; font-size:38px; margin:0 auto 24px;
}
.success-text{ font-size:14px; color:#C9CFC1; line-height:1.8; max-width:360px; margin:0 auto; }

/* ---------- Footer ---------- */
footer{ background:var(--sage-dk); color:var(--sage-mist); padding:72px 0 0; }
.footer-brand{ font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:600; color:var(--ivory); }
.footer-brand-sub{ font-size:9.5px; letter-spacing:4px; text-transform:uppercase; color:#7d8472; margin-top:2px; }
.footer-desc{ font-size:13px; line-height:1.85; margin:18px 0 0; max-width:280px; }
.footer-social a{
  width:36px; height:36px; border:1px solid rgba(255,255,255,.15); border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:var(--sage-mist); transition:.25s;
}
.footer-social a:hover{ background:var(--gold); border-color:var(--gold); color:#fff; }
.footer-col-h{ font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--ivory); margin:0 0 16px; }
.footer-links{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:11px; font-size:13px; }
.footer-links a{ color:var(--sage-mist); transition:.2s; }
.footer-links a:hover{ color:var(--gold); }
.footer-links i{ color:var(--gold); }
.footer-divider{ border-color:rgba(255,255,255,.1); margin:0; opacity:1; }
.footer-copy{ font-size:12px; color:#7d8472; margin:0; }
.footer-policy a{ font-size:12px; color:#7d8472; }
.footer-policy a:hover{ color:var(--gold); }

/* ---------- Responsive ---------- */
@media (max-width:991.98px){
  .hero-left,.hero-img-col{ min-height:auto; }
  .hero-img-col .img-ph{ position:relative; height:360px; }
  .nos-img-col{ min-height:420px; }
  .navbar-collapse{ padding-bottom:8px; }
  .row > [class*="col-"] .svc-card{ border-right:1px solid var(--line); }
}

@import url('./booking-toast.css');