/* Clínica Longevidade e Saúde — Site
   Spa/wellness mood: soft, organic curves, generous whitespace,
   warm photography vibe. Built on the Bodrum Sweet + brand palette. */

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }

/* Tweakable tokens — defaults overridden by Tweaks panel */
:root{
  --tk-radius: 24px;
  --tk-section-py: 112px;
  --tk-primary: #B97F80;
  --tk-primary-soft: rgba(185,127,128,0.08);
  --tk-primary-strong: rgba(185,127,128,0.16);
}

/* ========================================================================
   APP SCROLL CONTAINER + PAGE FADE
   ======================================================================== */
.app{
  min-height:100vh;
  background:var(--bg);
}
.page-enter{
  animation: page-fade 520ms var(--ease-out);
}
@keyframes page-fade{
  from{opacity:0; transform: translateY(8px);}
  to  {opacity:1; transform: translateY(0);}
}

/* ========================================================================
   ANNOUNCEMENT BAR
   ======================================================================== */
.bar{
  background:var(--vinho-profundo);
  color:var(--marfim-sereno);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:500;
}
.bar__inner{
  max-width:1320px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 32px;gap:24px;
}
.bar__inner a{
  color:var(--areia-essencial);
  border-bottom-color:transparent;
}
.bar__inner a:hover{color:var(--marfim-sereno);}
.bar__pill{
  background: var(--dourado-vital-gradient);
  color:var(--vinho-profundo);
  padding:4px 12px;border-radius:999px;
  font-weight:600;letter-spacing:.1em;
}
@media (max-width:760px){
  .bar__inner{padding:8px 20px;font-size:10.5px;}
  .bar__inner > span:last-child{display:none;}
}

/* ========================================================================
   HEADER
   ======================================================================== */
.hdr{
  position:sticky;top:0;z-index:50;
  background:rgba(255,251,244,.86);
  backdrop-filter:blur(14px) saturate(160%);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  border-bottom:1px solid var(--divider);
  transition:background var(--dur-base) var(--ease-soft),
             border-color var(--dur-base) var(--ease-soft),
             box-shadow var(--dur-base) var(--ease-soft);
}
.hdr--expanded{
  background:rgba(255,251,244,.96);
  border-bottom-color:transparent;
}
.hdr--compact{
  background:rgba(255,251,244,.9);
  box-shadow:0 1px 0 rgba(80,59,59,.04);
}
.hdr__inner{
  max-width:1320px;margin:0 auto;
  padding:18px 32px;
  display:flex;align-items:center;gap:32px;
  transition:padding var(--dur-base) var(--ease-soft),
             gap var(--dur-base) var(--ease-soft);
}
.hdr--expanded .hdr__inner{padding:34px 32px;gap:48px;}
.hdr--compact  .hdr__inner{padding:18px 32px;gap:32px;}
.hdr__logo{display:flex;align-items:center;border:none;outline:none;background:transparent;padding:0;cursor:pointer;border-bottom:none;-webkit-appearance:none;appearance:none;}
.hdr__logo:focus,.hdr__logo:hover,.hdr__logo:active{border:none;outline:none;background:transparent;}
.hdr__logo img{display:block;border:0;height:64px;width:auto;transition:height var(--dur-base) var(--ease-soft);}
.hdr--expanded .hdr__logo img{height:96px;}
.hdr--compact  .hdr__logo img{height:72px;}
.hdr__nav{flex:1;display:flex;gap:32px;justify-content:center;transition:gap var(--dur-base) var(--ease-soft);}
.hdr--expanded .hdr__nav{gap:40px;}
.hdr__nav button{
  background:none;border:0;cursor:pointer;
  font-family:var(--font-sans);font-size:12px;font-weight:500;
  color:var(--vinho-profundo);letter-spacing:.16em;
  text-transform:uppercase;padding:8px 0;
  border-bottom:1px solid transparent;
  transition:color var(--dur-fast) var(--ease-soft),
             border-color var(--dur-fast) var(--ease-soft),
             font-size var(--dur-base) var(--ease-soft),
             letter-spacing var(--dur-base) var(--ease-soft);
}
.hdr--expanded .hdr__nav button{font-size:13px;letter-spacing:.2em;}
.hdr__nav button:hover,
.hdr__nav button[data-active="1"]{
  color:var(--rosa-tempo);
  border-bottom-color:var(--rosa-tempo);
}
.hdr__cta{display:flex;align-items:center;gap:12px;transition:gap var(--dur-base) var(--ease-soft);}
.hdr--expanded .hdr__cta{gap:20px;}
.hdr__phone{
  display:flex;align-items:center;gap:8px;
  font-size:13px;color:var(--vinho-profundo);
  letter-spacing:.04em;border-bottom:0;white-space:nowrap;
  transition:font-size var(--dur-base) var(--ease-soft);
}
.hdr--expanded .hdr__phone{font-size:14px;}
.hdr__phone svg{color:var(--rosa-tempo);}
.hdr__menu{
  display:none;background:none;border:0;cursor:pointer;
  width:44px;height:44px;border-radius:999px;
  align-items:center;justify-content:center;
  color:var(--vinho-profundo);
}
.hdr__menu:hover{background:var(--vinho-08);}
@media (max-width:1100px){
  .hdr__phone{display:none;}
}
@media (max-width:880px){
  .hdr__nav{display:none;}
  .hdr__menu{display:inline-flex;}
  .hdr__inner,
  .hdr--expanded .hdr__inner,
  .hdr--compact .hdr__inner{padding:14px 20px;gap:16px;}
  .hdr--expanded .hdr__inner{padding:22px 20px;}
  .hdr__logo img,
  .hdr--compact .hdr__logo img{height:56px;}
  .hdr--expanded .hdr__logo img{height:68px;}
  .hdr__cta .btn--primary{display:none;}
}

/* Mobile menu drawer */
.menu-drawer{
  position:fixed;inset:0;z-index:60;
  display:flex;justify-content:flex-end;
  background:rgba(80,59,59,.32);
  backdrop-filter:blur(4px);
  animation: fade-in 240ms var(--ease-out);
}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
.menu-drawer__panel{
  width:min(380px,90vw);
  background:var(--marfim-sereno);
  height:100%;
  padding:24px 28px 32px;
  display:flex;flex-direction:column;gap:8px;
  animation: slide-in 360ms var(--ease-out);
}
@keyframes slide-in{from{transform:translateX(20px);opacity:.6}to{transform:translateX(0);opacity:1}}
.menu-drawer__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;}
.menu-drawer__head img{height:38px;}
.menu-drawer__close{
  width:40px;height:40px;border-radius:999px;background:var(--vinho-08);border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:var(--vinho-profundo);
}
.menu-drawer__nav{display:flex;flex-direction:column;}
.menu-drawer__nav button{
  background:none;border:0;cursor:pointer;
  font-family:var(--font-display);font-size:22px;font-weight:300;
  color:var(--vinho-profundo);letter-spacing:.04em;text-transform:uppercase;
  padding:14px 0;border-bottom:1px solid var(--divider);
  text-align:left;
}
.menu-drawer__nav button:hover{color:var(--rosa-tempo);}
.menu-drawer__foot{margin-top:auto;display:grid;gap:12px;}

/* ========================================================================
   BUTTONS
   ======================================================================== */
.btn{
  font-family:var(--font-sans);font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;
  border-radius:999px;border:1px solid transparent;cursor:pointer;
  display:inline-flex;align-items:center;gap:10px;
  text-decoration:none;
  transition:transform var(--dur-fast) var(--ease-soft),
             background-color var(--dur-fast) var(--ease-soft),
             box-shadow var(--dur-base) var(--ease-soft),
             color var(--dur-fast) var(--ease-soft);
}
.btn--md{padding:16px 28px;font-size:12px;}
.btn--lg{padding:20px 36px;font-size:13px;}
.btn--sm{padding:11px 20px;font-size:11px;}
.btn--primary{background:var(--rosa-tempo);color:var(--marfim-sereno);box-shadow:var(--shadow-rosa);}
.btn--primary:hover{background:#A56F70;transform:translateY(-2px);}
.btn--primary:active{transform:scale(.98);}
.btn--vinho{background:var(--vinho-profundo);color:var(--marfim-sereno);}
.btn--vinho:hover{background:#3F2F2F;transform:translateY(-2px);}
.btn--gold{background:var(--dourado-vital-gradient);color:var(--vinho-profundo);}
.btn--gold:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.btn--outline{background:transparent;color:var(--vinho-profundo);border-color:var(--border-strong);}
.btn--outline:hover{background:var(--vinho-08);}
.btn--ghost{background:transparent;color:var(--rosa-tempo);}
.btn--ghost:hover{background:var(--rosa-tempo-08);}
.btn--marfim{background:var(--marfim-sereno);color:var(--vinho-profundo);}
.btn--marfim:hover{transform:translateY(-2px);}

/* ========================================================================
   SECTION + UTILITIES
   ======================================================================== */
.section{
  max-width:1320px;margin:0 auto;
  padding:var(--tk-section-py) 32px;
}
.section--narrow{max-width:1080px;}
.section--soft{background:var(--bg-soft);}
.section--vinho{background:var(--vinho-profundo);color:var(--marfim-sereno);}
.section--rosa{background:var(--rosa-tempo);color:var(--marfim-sereno);}
.section--full{max-width:none;padding-left:0;padding-right:0;}
.section__head{
  max-width:760px;margin:0 auto 64px;text-align:center;
}
.section__head--left{margin:0 0 48px;text-align:left;}
.section__head .eyebrow{display:block;margin-bottom:16px;}
.section__head h2{
  font-size:clamp(32px,4.2vw,56px);font-weight:300;
  letter-spacing:.02em;line-height:1.06;
  text-transform:uppercase;text-wrap:balance;margin:0;
}
.section__head h2 em{
  font-style:italic;font-weight:300;color:var(--rosa-tempo);
}
.section__head p{
  margin:18px auto 0;max-width:600px;
  font-size:18px;line-height:1.5;color:var(--fg-muted);
}
.section--vinho .section__head h2,
.section--rosa .section__head h2{color:var(--marfim-sereno);}
.section--vinho .section__head p,
.section--rosa .section__head p{color:rgba(255,251,244,.78);}

.divider-dot{
  display:flex;align-items:center;justify-content:center;
  gap:14px;color:var(--rosa-tempo);
}
.divider-dot::before,.divider-dot::after{
  content:"";display:block;width:48px;height:1px;background:var(--rosa-tempo);opacity:.4;
}
.divider-dot i{
  width:6px;height:6px;border-radius:50%;background:var(--rosa-tempo);
}

@media (max-width:760px){
  .section{padding:64px 20px;}
  .section__head{margin-bottom:40px;}
}

/* ========================================================================
   FLOATING WHATSAPP
   ======================================================================== */
.wa-float{
  position:fixed;right:24px;bottom:24px;z-index:40;
  width:60px;height:60px;border-radius:999px;
  background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 32px -8px rgba(37,211,102,.5);
  border:0;cursor:pointer;
  transition:transform var(--dur-base) var(--ease-out),
             box-shadow var(--dur-base) var(--ease-soft);
  animation: wa-pulse 2.4s ease-in-out infinite;
}
.wa-float:hover{transform:scale(1.08);}
@keyframes wa-pulse{
  0%,100%{box-shadow:0 12px 32px -8px rgba(37,211,102,.5),0 0 0 0 rgba(37,211,102,.4);}
  50%{box-shadow:0 12px 32px -8px rgba(37,211,102,.5),0 0 0 14px rgba(37,211,102,0);}
}
@media (max-width:760px){
  .wa-float{right:16px;bottom:16px;width:54px;height:54px;}
}

/* ========================================================================
   ICON UTIL
   ======================================================================== */
.icon{width:1em;height:1em;stroke:currentColor;fill:none;
  stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
