/* === Nina's Blooming Nails — luxo floral, mobile-first === */
:root{
  --bg: #fdf6f3;
  --bg-2: #fbe9e2;
  --cream: #fffaf6;
  --ink: #3a1f29;
  --ink-2: #6a4c52;
  --muted: #a3878d;
  --rose: #e8a5b8;
  --rose-2: #d97a96;
  --blush: #f7d5d0;
  --burgundy: #5b1e2a;
  --gold: #c9a37a;
  --gold-2: #b8895f;
  --line: rgba(184,137,95,.22);
  --shadow: 0 30px 80px -30px rgba(91,30,42,.25);
  --shadow-soft: 0 12px 36px -16px rgba(184,137,95,.30);
  --radius: 18px;
  --radius-sm: 12px;
  --maxw: 1200px;
  --ease: cubic-bezier(.2,.7,.2,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(1200px 700px at 85% -10%, rgba(232,165,184,.32), transparent 60%),
    radial-gradient(900px 600px at -10% 30%, rgba(247,213,208,.55), transparent 60%),
    radial-gradient(700px 500px at 50% 110%, rgba(201,163,122,.18), transparent 60%),
    var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}

.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{
  display:inline-block;letter-spacing:.32em;text-transform:uppercase;
  font-size:11px;color:var(--gold-2);font-weight:600;margin-bottom:14px;
}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:-.01em;margin:0 0 .4em;color:var(--ink)}
h1{font-size:clamp(40px,7vw,76px);line-height:1.02}
h2{font-size:clamp(30px,4.5vw,50px);line-height:1.08}
h3{font-size:22px}
p{line-height:1.65;color:var(--ink-2);margin:0 0 14px}
.script{font-family:'Italianno',cursive;font-weight:400;font-size:1.35em;color:var(--rose-2);font-style:normal;line-height:.85}

.section-head{text-align:center;margin:0 auto 44px;max-width:680px}
.section-head p{color:var(--muted)}

.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
@media (max-width:880px){.two-col{grid-template-columns:1fr;gap:36px}}

/* ===== NAV ===== */
.nav{
  position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:24px;
  padding:14px 24px;background:rgba(253,246,243,.78);backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{
  width:42px;height:42px;border-radius:50%;object-fit:cover;
  background:#fff;
  border:1.5px solid var(--gold);
  box-shadow:0 0 0 2px rgba(255,255,255,.9), 0 6px 18px -6px rgba(184,137,95,.45);
}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-text em{font-family:'Italianno',cursive;font-style:normal;color:var(--rose-2);font-size:18px;margin-bottom:-2px}
.brand-text strong{font-family:'Cormorant Garamond',serif;font-weight:600;letter-spacing:.18em;font-size:13px;color:var(--ink);text-transform:uppercase}
.nav-links{display:flex;gap:24px;margin-left:auto}
.nav-links a{font-size:14px;color:var(--ink-2);transition:color .25s var(--ease)}
.nav-links a:hover{color:var(--rose-2)}
.nav-cta{margin-left:4px}
.lang-switch{
  position:relative;display:inline-flex;align-items:center;gap:2px;
  padding:3px 4px 3px 10px;border:1px solid var(--line);border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(247,213,208,.45));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);
}
.lang-globe{color:var(--gold-2);opacity:.85;flex:0 0 auto;margin-right:4px}
.lang-thumb{
  position:absolute;top:3px;bottom:3px;left:0;width:0;
  border-radius:999px;background:linear-gradient(140deg,var(--rose),var(--rose-2));
  box-shadow:0 6px 14px -6px rgba(217,122,150,.65);
  transition:left .35s var(--ease), width .35s var(--ease), opacity .25s var(--ease);
  pointer-events:none;opacity:0;
}
.lang-switch.is-ready .lang-thumb{opacity:1}
.lang-btn{
  position:relative;z-index:1;
  font-size:11px;font-weight:700;letter-spacing:.16em;
  padding:6px 11px;border-radius:999px;
  color:var(--ink-2);transition:color .25s var(--ease)
}
.lang-btn[aria-pressed="true"]{color:#fff}
.lang-btn:hover:not([aria-pressed="true"]){color:var(--rose-2)}
.btn-wa{padding:10px 18px;border-radius:999px;background:#25d366;color:#fff;font-weight:600;font-size:13px;box-shadow:0 8px 20px -10px rgba(37,211,102,.55)}
.btn-wa:hover{filter:brightness(1.05)}
.nav-toggle{display:none;flex-direction:column;gap:5px;width:36px;height:36px;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--line);background:rgba(255,255,255,.5)}
.nav-toggle span{display:block;width:18px;height:1.5px;background:var(--ink)}
@media (max-width:760px){
  .nav{gap:8px;padding-left:14px;padding-right:14px}
  .nav-links{position:absolute;top:100%;left:0;right:0;background:rgba(253,246,243,.98);flex-direction:column;padding:18px 24px;border-bottom:1px solid var(--line);transform:translateY(-8px);opacity:0;pointer-events:none;transition:.25s var(--ease)}
  .nav-links.open{opacity:1;transform:translateY(0);pointer-events:auto}
  .nav-cta{display:none}
  .nav-toggle{display:flex}
  .lang-switch{margin-left:auto}
  .nav-ig{padding:8px;width:36px;height:36px;justify-content:center;border-radius:50%}
  .nav-ig span{display:none}
}

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;
  font-weight:600;font-size:14px;letter-spacing:.04em;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease)
}
.btn-primary{background:linear-gradient(140deg,var(--rose),var(--rose-2));color:#fff;box-shadow:0 14px 30px -14px rgba(217,122,150,.7)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 18px 38px -14px rgba(217,122,150,.85)}
.btn-primary svg path{fill:#fff !important}
.btn-ghost{border:1px solid var(--gold);color:var(--ink);background:rgba(255,255,255,.55)}
.btn-ghost:hover{background:var(--gold);color:#fff;border-color:var(--gold)}
.btn-mini{padding:8px 14px;font-size:12px;background:transparent;border:1px solid var(--line);border-radius:999px;color:var(--ink)}
.btn-mini:hover{background:var(--rose-2);color:#fff;border-color:var(--rose-2)}
.btn-block{width:100%;justify-content:center}
.btn-ig{
  display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;
  background:linear-gradient(135deg,#feda75 0%,#fa7e1e 25%,#d62976 50%,#962fbf 75%,#4f5bd5 100%);
  color:#fff;font-weight:600;font-size:12px;letter-spacing:.04em;
  box-shadow:0 8px 22px -10px rgba(214,41,118,.55);
  transition:transform .25s var(--ease),filter .25s var(--ease)
}
.btn-ig:hover{transform:translateY(-1px);filter:brightness(1.08)}
.btn-ig svg{flex:0 0 auto}

/* ===== HERO ===== */
.hero{padding:48px 24px 0;position:relative}
.hero-grid{
  max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;
  padding:24px 0 60px;position:relative;z-index:1
}
@media (max-width:880px){.hero-grid{grid-template-columns:1fr;gap:24px}}
.hero h1{margin-bottom:18px}
.hero .lede{font-size:18px;color:var(--ink-2);max-width:520px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 26px}
.hero-bullets{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.hero-bullets li{display:flex;align-items:center;gap:10px;color:var(--ink-2);font-size:14px}
.hero-bullets li::before{content:"❀";color:var(--rose-2);font-size:14px}
.hero-photo{position:relative}
.photo-frame{
  position:relative;border-radius:24px;overflow:hidden;
  background:linear-gradient(160deg,rgba(232,165,184,.4),rgba(201,163,122,.32));
  padding:14px;box-shadow:var(--shadow)
}
.photo-frame::before{
  content:"";position:absolute;inset:0;border-radius:24px;pointer-events:none;
  background:linear-gradient(160deg,transparent 60%,rgba(255,255,255,.35));mix-blend-mode:overlay
}
.photo-frame img{border-radius:18px;width:100%;height:auto;display:block;aspect-ratio:1/1.05;object-fit:cover}
.hero-tag{
  position:absolute;bottom:24px;left:24px;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);
  padding:8px 14px;border-radius:999px;font-size:12px;letter-spacing:.04em;color:var(--ink);
  border:1px solid var(--line);box-shadow:0 6px 16px -8px rgba(91,30,42,.2)
}
.petal{
  position:absolute;font-size:60px;color:var(--rose);opacity:.32;pointer-events:none;
  filter:blur(.5px);animation:petal-float 12s ease-in-out infinite
}
.petal-a{top:80px;left:5%;animation-delay:0s}
.petal-b{top:200px;right:8%;font-size:80px;color:var(--gold);opacity:.22;animation-delay:-3s}
.petal-c{bottom:120px;left:42%;font-size:48px;color:var(--rose-2);opacity:.28;animation-delay:-6s}
@keyframes petal-float{
  0%,100%{transform:translateY(0) rotate(0)}
  50%{transform:translateY(-18px) rotate(8deg)}
}
.hero-marquee{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  overflow:hidden;background:linear-gradient(180deg,transparent,rgba(247,213,208,.35));
  margin-top:8px
}
.marquee-track{
  display:flex;gap:18px;white-space:nowrap;padding:14px 0;
  animation:marquee 16s linear infinite;font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:18px;color:var(--rose-2);will-change:transform
}
.marquee-track span{flex:0 0 auto}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ===== SOBRE ===== */
.sobre{padding:90px 24px}
.sobre-photo img{border-radius:var(--radius);aspect-ratio:4/5;object-fit:cover;box-shadow:var(--shadow)}
.badges{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;max-width:480px}
.badge{
  border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;text-align:center;
  background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(247,213,208,.35));
  box-shadow:var(--shadow-soft)
}
.badge strong{display:block;font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--rose-2)}
.badge span{font-size:11px;color:var(--ink-2);letter-spacing:.06em}

/* ===== TEAM ===== */
.team{padding:90px 24px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.55) 30%,transparent)}
.team-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:24px;
  max-width:980px;margin:0 auto
}
.team-grid-3{grid-template-columns:repeat(3,1fr);max-width:1120px}
.team-grid-4{grid-template-columns:repeat(4,1fr);max-width:1280px;gap:18px}
@media (max-width:1100px){.team-grid-4{grid-template-columns:repeat(2,1fr);max-width:760px;gap:24px}}
@media (max-width:980px){.team-grid-3{grid-template-columns:repeat(2,1fr);max-width:760px}}
@media (max-width:760px){.team-grid,.team-grid-3,.team-grid-4{grid-template-columns:1fr;max-width:420px}}
.team-card{
  display:flex;flex-direction:column;
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  background:linear-gradient(180deg,#fff,rgba(255,255,255,.7));
  box-shadow:var(--shadow);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease)
}
.team-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -22px rgba(217,122,150,.35)}
.team-photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:#f5e7e2}
.team-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.team-card:hover .team-photo img{transform:scale(1.04)}
.team-badge{
  position:absolute;left:12px;bottom:12px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
  padding:6px 12px;border-radius:999px;font-size:11px;font-weight:600;
  letter-spacing:.06em;color:var(--rose-2);
  border:1px solid var(--line);
  display:inline-flex;align-items:center;gap:6px
}
.team-badge::before{content:"✓";color:var(--rose-2);font-weight:800}
.team-info{padding:24px;display:flex;flex-direction:column;gap:8px}
.team-info h3{margin:0;color:var(--ink);font-size:24px}
.team-role{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:var(--gold-2);letter-spacing:.02em}
.team-info p{margin:6px 0 4px;font-size:14px;color:var(--ink-2)}
.team-tags{list-style:none;padding:0;margin:4px 0 12px;display:flex;flex-wrap:wrap;gap:6px}
.team-tags li{
  font-size:11px;padding:4px 10px;border-radius:999px;
  background:linear-gradient(140deg,var(--blush),rgba(232,165,184,.4));
  color:var(--burgundy);font-weight:600;letter-spacing:.04em
}
.team-info .btn-mini{align-self:flex-start;margin-top:auto;cursor:pointer}

.trust-strip{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  max-width:980px;margin:32px auto 0
}
@media (max-width:760px){.trust-strip{grid-template-columns:1fr}}
.trust-item{
  display:flex;align-items:center;gap:12px;
  padding:16px 18px;border-radius:var(--radius-sm);
  background:linear-gradient(180deg,#fff,rgba(247,213,208,.35));
  border:1px solid var(--line);font-size:13px;color:var(--ink-2);
  box-shadow:var(--shadow-soft)
}
.trust-item strong{color:var(--ink);font-weight:700}
.trust-icon{
  flex:0 0 auto;width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(140deg,var(--rose),var(--rose-2));
  color:#fff;font-size:14px;font-weight:700
}

/* ===== SERVICOS ===== */
.servicos{padding:80px 24px;background:linear-gradient(180deg,transparent,rgba(247,213,208,.4),transparent)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:880px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cards{grid-template-columns:1fr}}
.card{
  border:1px solid var(--line);border-radius:var(--radius);padding:26px;
  background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.55));
  display:flex;flex-direction:column;gap:8px;transition:transform .35s var(--ease),border-color .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease);
  box-shadow:var(--shadow-soft)
}
.card:hover{transform:translateY(-4px);border-color:var(--rose);background:linear-gradient(180deg,#fff,rgba(247,213,208,.25));box-shadow:0 24px 50px -22px rgba(217,122,150,.35)}
.card h3{margin:0;color:var(--ink)}
.card p{margin:0;font-size:14px;color:var(--ink-2);min-height:42px}
.card-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(140deg,var(--blush),rgba(232,165,184,.5));color:var(--rose-2);font-size:18px}
.price{font-size:13px;color:var(--gold-2);letter-spacing:.04em;margin-top:4px;font-weight:600}
.card .btn-mini{align-self:flex-start;margin-top:10px}

/* ===== GALERIA ===== */
.galeria{padding:80px 24px}
.grid{
  --col:3;
  display:grid;grid-template-columns:repeat(var(--col),1fr);gap:10px;
}
@media (max-width:880px){.grid{--col:2}}
.tile{
  position:relative;margin:0;border-radius:var(--radius-sm);overflow:hidden;
  aspect-ratio:1/1;background:#f5e7e2;cursor:zoom-in;
  box-shadow:var(--shadow-soft)
}
.tile img,.tile video{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.tile:hover img,.tile:hover video{transform:scale(1.04)}
.tile[data-type="video"]::after{
  content:"▶";position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;
  background:rgba(255,255,255,.85);color:var(--rose-2);display:grid;place-items:center;font-size:11px;
  border:1px solid var(--line);backdrop-filter:blur(6px);transition:opacity .3s var(--ease)
}
.tile.is-playing::after{opacity:0}

/* ===== Instagram CTA ===== */
.ig-cta{
  margin-top:36px;display:flex;align-items:center;gap:18px;
  padding:20px 22px;border-radius:var(--radius);
  background:
    linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.6)),
    linear-gradient(135deg,rgba(254,218,117,.18) 0%,rgba(250,126,30,.18) 25%,rgba(214,41,118,.22) 55%,rgba(150,47,191,.22) 80%,rgba(79,91,213,.18) 100%);
  border:1px solid transparent;
  background-clip:padding-box;
  position:relative;color:var(--ink);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
  box-shadow:var(--shadow-soft)
}
.ig-cta::before{
  content:"";position:absolute;inset:0;border-radius:var(--radius);padding:1.5px;
  background:linear-gradient(135deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  pointer-events:none;opacity:.7
}
.ig-cta:hover{transform:translateY(-2px);box-shadow:0 24px 50px -24px rgba(214,41,118,.4)}
.ig-cta-icon{
  flex:0 0 auto;width:54px;height:54px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(135deg,#feda75 0%,#fa7e1e 25%,#d62976 55%,#962fbf 80%,#4f5bd5 100%);
  color:#fff;box-shadow:0 14px 30px -12px rgba(214,41,118,.55)
}
.ig-cta-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.ig-cta-text strong{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;color:var(--ink)}
.ig-cta-text span{font-size:13px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ig-cta-btn{
  flex:0 0 auto;font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--ink);
  padding:10px 16px;border-radius:999px;
  background:linear-gradient(135deg,#feda75 0%,#fa7e1e 25%,#d62976 55%,#962fbf 80%,#4f5bd5 100%);
  color:#fff;box-shadow:0 10px 24px -10px rgba(214,41,118,.5);
  transition:filter .25s var(--ease)
}
.ig-cta:hover .ig-cta-btn{filter:brightness(1.08)}
.ig-cta-mini{margin-top:36px}
.ig-cta-mini .ig-cta-icon{width:42px;height:42px;border-radius:11px}
.ig-cta-mini .ig-cta-text strong{font-size:18px}
@media (max-width:560px){
  .ig-cta{flex-wrap:wrap;justify-content:center;text-align:center}
  .ig-cta-text{flex-basis:100%;align-items:center;min-width:0}
  .ig-cta-text span{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word}
  .ig-cta-btn{margin-top:4px}
}

/* ===== AGENDAR ===== */
.agendar{padding:90px 24px;background:linear-gradient(180deg,transparent,rgba(232,165,184,.18),transparent)}
.agendar h2{margin-bottom:14px}
.steps{list-style:none;padding:0;margin:18px 0;display:grid;gap:8px;color:var(--ink-2);font-size:14px}
.steps strong{color:var(--rose-2);margin-right:8px}
.hint{font-size:13px;color:var(--muted)}

.booking{
  background:linear-gradient(180deg,#fff,rgba(255,255,255,.7));
  border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:grid;gap:18px;
  box-shadow:var(--shadow)
}
.field{display:grid;gap:6px;font-size:13px;color:var(--ink-2);letter-spacing:.04em}
.field span{text-transform:uppercase;font-size:11px;letter-spacing:.18em;color:var(--gold-2);font-weight:600}
.field input,.field select{
  background:rgba(255,255,255,.85);border:1px solid var(--line);color:var(--ink);
  padding:14px 14px;border-radius:12px;font:inherit;outline:none;
  transition:border-color .25s var(--ease),background .25s var(--ease)
}
.field input:focus,.field select:focus{border-color:var(--rose-2);background:#fff}
.field input::placeholder{color:var(--muted)}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold-2) 50%),linear-gradient(135deg,var(--gold-2) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:40px;background-color:rgba(255,255,255,.85)}

.calendar{border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px;background:rgba(255,255,255,.6)}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cal-title{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--ink)}
.cal-nav{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);color:var(--rose-2);font-size:18px;background:#fff}
.cal-nav:hover{background:var(--rose-2);color:#fff;border-color:var(--rose-2)}
.cal-weekdays,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-weekdays{margin-bottom:6px}
.cal-weekdays span{text-align:center;font-size:11px;color:var(--muted);letter-spacing:.18em;font-weight:600}
.cal-grid button{
  aspect-ratio:1/1;border-radius:10px;background:rgba(255,255,255,.8);color:var(--ink);
  font-size:14px;border:1px solid transparent;transition:all .2s var(--ease)
}
.cal-grid button:hover:not(:disabled){border-color:var(--rose-2);color:var(--rose-2);background:#fff}
.cal-grid button:disabled{opacity:.3;cursor:not-allowed;background:transparent}
.cal-grid button.is-today{outline:1px dashed var(--gold)}
.cal-grid button.is-active{background:linear-gradient(140deg,var(--rose),var(--rose-2));color:#fff;border-color:transparent;font-weight:700;box-shadow:0 8px 18px -8px rgba(217,122,150,.55)}
.cal-grid .empty{visibility:hidden}

.slots{margin-top:-4px}
.slots-label{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.18em;color:var(--gold-2);margin-bottom:8px;font-weight:600}
.slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
@media (max-width:560px){.slots-grid{grid-template-columns:repeat(3,1fr)}}
.slot{padding:10px 0;border:1px solid var(--line);border-radius:10px;font-size:13px;background:rgba(255,255,255,.7);color:var(--ink)}
.slot:hover{border-color:var(--rose-2);color:var(--rose-2);background:#fff}
.slot.is-active{background:linear-gradient(140deg,var(--rose),var(--rose-2));color:#fff;border-color:transparent;font-weight:700;box-shadow:0 6px 14px -8px rgba(217,122,150,.5)}

.form-note{font-size:13px;color:var(--ink-2);text-align:center;margin:0}
.form-note.error{color:#c2334e}

/* ===== DEPO ===== */
.depo{padding:80px 24px}
.depo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:880px){.depo-grid{grid-template-columns:1fr}}
.depo blockquote{
  margin:0;padding:24px;border:1px solid var(--line);border-radius:var(--radius);
  background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(247,213,208,.25));
  position:relative;box-shadow:var(--shadow-soft)
}
.depo blockquote::before{content:"\201C";position:absolute;top:-6px;left:14px;font-family:'Cormorant Garamond',serif;font-size:80px;color:var(--rose);opacity:.55;line-height:1}
.depo p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;color:var(--ink)}
.depo cite{font-style:normal;font-size:13px;color:var(--rose-2);letter-spacing:.06em;font-weight:600}

/* ===== LOCATION ===== */
.location{padding:80px 24px}
.map-wrap{
  position:relative;border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);border:1px solid var(--line);background:#fff;
  max-width:1100px;margin:0 auto;min-height:380px
}
.map-frame{width:100%;height:480px;display:block;border:0;filter:saturate(.9) contrast(.95)}
.map-overlay{
  position:absolute;left:24px;top:50%;transform:translateY(-50%);
  max-width:340px;pointer-events:none
}
.map-card{
  pointer-events:auto;
  background:rgba(255,255,255,.95);backdrop-filter:blur(12px);
  border:1px solid var(--line);border-radius:var(--radius);
  padding:24px;box-shadow:var(--shadow)
}
.map-card .eyebrow{margin-bottom:8px}
.map-card p{margin:0 0 16px;color:var(--ink);font-size:14px}
.map-card .placeholder{color:var(--ink-2);font-style:italic}
.map-card .btn{width:100%;justify-content:center;font-size:13px;padding:12px 18px}
@media (max-width:760px){
  .map-frame{height:360px}
  .map-overlay{position:static;transform:none;max-width:none;padding:18px;background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(247,213,208,.4))}
  .map-card{box-shadow:none;border:none;background:transparent;padding:0}
}

/* ===== CONTATO ===== */
.contato{padding:80px 24px 40px}
.contact-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px;font-size:15px;color:var(--ink-2)}
.contact-list a:hover{color:var(--rose-2)}
.contact-list .placeholder{color:var(--muted);font-style:italic}
.contact-photo img{border-radius:var(--radius);aspect-ratio:4/5;object-fit:cover;box-shadow:var(--shadow)}

/* ===== FOOTER ===== */
.footer{border-top:1px solid var(--line);padding:30px 24px;font-size:13px;color:var(--ink-2);background:rgba(255,255,255,.5)}
.footer-row{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.footer-links{display:flex;gap:18px}
.footer-links a:hover{color:var(--rose-2)}

/* ===== WA float ===== */
.wa-float{
  position:fixed;right:18px;bottom:18px;z-index:40;width:58px;height:58px;border-radius:50%;
  background:#25d366;display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(37,211,102,.6);
  transition:transform .25s var(--ease)
}
.wa-float svg path{fill:#fff !important}
.wa-float:hover{transform:scale(1.06)}
.wa-float::after{
  content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(37,211,102,.55);
  animation:wa-pulse 2s var(--ease) infinite
}
@keyframes wa-pulse{
  0%{transform:scale(.95);opacity:.9}
  100%{transform:scale(1.4);opacity:0}
}

/* ===== Lightbox ===== */
.lightbox{
  position:fixed;inset:0;z-index:50;background:rgba(58,31,41,.85);backdrop-filter:blur(8px);
  display:grid;place-items:center;padding:24px
}
.lightbox[hidden]{display:none}
.lb-content{max-width:min(96vw,900px);max-height:88vh;display:grid;place-items:center}
.lb-content img,.lb-content video{max-height:88vh;border-radius:14px;box-shadow:var(--shadow)}
.lb-close{
  position:absolute;top:18px;right:18px;width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);color:#fff;font-size:22px
}
.lb-close:hover{background:#fff;color:var(--ink)}

/* ===== Reveal animation ===== */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important}
}
