/* ========= Essenza Hair Concept – Tema Minimal Premium ========= */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600&family=Poppins:wght@300;400;500&display=swap');

:root { --cor-principal:#556256; --cor-clara:#DFD7D2; --cor-escura:#1f1f1f; --transicao:.4s ease; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }

/* Base */
body{
  margin:0;
  font-family:"Poppins", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  background:var(--cor-clara);
  color:var(--cor-escura);
  line-height:1.7;
  overflow-x:hidden;
  opacity:1;
  transition:opacity .5s ease;
}
body.page-leave { opacity:0; } /* pode manter se você usa transições de página */

header{
  background:var(--cor-clara);
  padding:1.2rem 1.5rem;
  border-bottom:1px solid rgba(0,0,0,.05);
  display:flex; align-items:center; justify-content:space-between;
  position:sticky; top:0; z-index:10;
  animation:fadeDown .8s ease both;
}

.brand{display:flex; align-items:center; gap:10px; font-weight:600; color:var(--cor-principal); transition: transform .25s ease, opacity .25s ease;}
.brand:hover { transform: translateY(-1px); opacity: .95; }
.brand small{font-weight:400; color:#555;}

nav ul{list-style:none; display:flex; gap:1.5rem; margin:0; padding:0;}
nav a{
  color:var(--cor-escura); text-decoration:none;
  transition: color .25s ease; position:relative; display:inline-block;
}
nav a:hover{color:var(--cor-principal);}
nav a::after{
  content:""; position:absolute; left:0; bottom:-4px; width:100%; height:1px;
  background:currentColor; transform:scaleX(0); transform-origin:left;
  transition:transform .25s ease; opacity:.65;
}
nav a:hover::after{ transform:scaleX(1); }

.cta{
  background:var(--cor-principal); color:#fff; padding:10px 20px; border-radius:30px;
  text-decoration:none; display:inline-block; font-weight:500;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.cta:hover{ background:#3e4a40; transform: translateY(-1px); box-shadow: 0 10px 24px rgba(0,0,0,.12); }

.container{max-width:1120px; margin:0 auto; padding:0 20px;}
main section{padding:56px 0;}

@keyframes fadeUp { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes fadeDown { from { opacity:0; transform:translateY(-20px); } to { opacity:1; transform:translateY(0); } }

/* Hero */
.hero.elegante{ background:var(--cor-clara); color:var(--cor-escura); text-align:center; padding:6rem 1rem 3rem; }
.titulo-principal{ font-family:"Playfair Display", serif; font-size:2.8rem; line-height:1.3; font-weight:500; color:var(--cor-principal); margin:0 0 .25rem; opacity:0; animation:fadeUp 1s ease .2s forwards; }
.subtitulo{ font-family:"Poppins", sans-serif; font-size:1.1rem; color:var(--cor-escura); font-weight:300; letter-spacing:.2px; opacity:0; animation:fadeUp 1s ease .4s forwards; }
.frase-inicial{ font-style:italic; color:#444; margin-top:1rem; font-weight:300; opacity:0; animation:fadeUp 1s ease .6s forwards; }
.imagem-hero{ max-width:340px; margin:2.5rem auto 0; border-radius:50%; display:block; box-shadow:0 8px 20px rgba(0,0,0,.10); object-fit:cover; opacity:0; animation:fadeIn 1.2s ease .8s forwards; }

/* Manifesto */
.manifesto{ max-width:750px; margin:0 auto; padding:3rem 1.5rem; font-size:1.05rem; color:#222; background:#fff; border-radius:12px; box-shadow:0 4px 18px rgba(0,0,0,.05); opacity:0; transform:translateY(40px); animation:fadeUp 1s ease 1.1s forwards; }
.manifesto p{ margin:0 0 1.6rem; font-weight:300; }
.manifesto strong{ font-weight:500; color:var(--cor-principal); }
.manifesto em{ color:var(--cor-principal); font-style:italic; }
.assinatura{ text-align:right; font-weight:500; color:var(--cor-principal); margin-top:2rem; font-family:"Playfair Display", serif; font-size:1.1rem; }

/* CTA final */
.cta-final{ background:var(--cor-principal); color:#fff; text-align:center; padding:4rem 1rem; opacity:0; transform:translateY(30px); animation:fadeUp 1s ease 1.4s forwards; }
.cta-final h2{ font-family:"Playfair Display", serif; font-weight:500; margin:0 0 .8rem; font-size:1.8rem; }
.cta-final p{ font-size:1.05rem; font-weight:300; margin:0 0 1.5rem; }
.cta-final .cta{ background:var(--cor-clara); color:var(--cor-escura); padding:12px 28px; border-radius:50px; font-weight:500; text-decoration:none; transition:var(--transicao); }
.cta-final .cta:hover{ background:#fff; color:var(--cor-principal); }

/* Footer */
footer{ background:#f9f9f9; text-align:center; font-size:.9rem; color:#777; padding:1rem; letter-spacing:.2px; animation:fadeIn 1.5s ease 1.8s forwards; }
/* ===== Rodapé Essenza – refinado ===== */
.ez-footer{
  background:#fff;
  border-top:1px solid rgba(0,0,0,.08);
  color:#1f1f1f;
}
.ez-foot-wrap{
  max-width:1180px; margin:0 auto;
  padding:34px 18px;
  display:grid;
  grid-template-columns: 1.1fr 0.9fr 0.9fr 1.2fr; /* Sobre | Links | Contato | Endereço */
  gap:28px;
  align-items:start;
}

/* Títulos */
.ez-foot-wrap h4{
  margin:0 0 .6rem;
  font-size:1rem;
  font-weight:700;
  color:#2b2b2b;
}

/* Coluna "Sobre" */
.ez-foot-about .ez-logo img{ height:40px; width:auto; display:block; }
.ez-foot-text{ margin:.8rem 0 1rem; color:#444; font-weight:300; }

/* Listas de links */
.ez-foot-links ul,
.ez-foot-contact ul,
.ez-hours{
  list-style:none; margin:0; padding:0;
}
.ez-foot-links li,
.ez-foot-contact li,
.ez-hours li{ margin:.45rem 0; }

.ez-foot-link{
  color:#1f1f1f; text-decoration:none;
  border-bottom:1px solid transparent;
  transition: color .2s ease, border-color .2s ease;
}
.ez-foot-link:hover{ color:#556256; border-color:#DCB371; }

/* CTA mini dentro do rodapé */
.ez-cta-mini{
  display:inline-block; padding:8px 12px; border-radius:10px;
  background:#556256; color:#fff; text-decoration:none; font-weight:600;
  transition: background .2s ease, color .2s ease, transform .1s ease;
}
.ez-cta-mini:hover{ background:#DCB371; color:#000; transform: translateY(-1px); }

/* Redes sociais – bolinhas do mesmo tamanho */
.ez-foot-social a{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:50%;
  background:#556256; color:#fff; text-decoration:none;
  margin-right:8px;
  transition: background .25s ease, color .25s ease, transform .1s ease;
}
.ez-foot-social a:hover{ background:#DCB371; color:#000; transform: translateY(-1px); }

/* Endereço */
.ez-foot-address{ font-style:normal; }
.ez-foot-address p{ margin:.3rem 0 .8rem; color:#333; }

/* Linha final */
.ez-foot-bottom{
  text-align:center;
  padding:14px 16px;
  border-top:1px solid rgba(0,0,0,.06);
  background:#f9f9f9;
  color:#666; font-size:.92rem;
}

/* Responsivo */
@media (max-width: 980px){
  .ez-foot-wrap{
    grid-template-columns: 1fr 1fr;
    gap:24px;
  }
}
@media (max-width: 640px){
  .ez-foot-wrap{
    grid-template-columns: 1fr;
  }
  .ez-foot-about{ order:1; }
  .ez-foot-links{ order:2; }
  .ez-foot-contact{ order:3; }
  .ez-foot-address{ order:4; }
}


/* Acessibilidade */
:focus-visible { outline: 2px solid rgba(85,98,86,.6); outline-offset: 2px; border-radius: 6px; }
@media (prefers-reduced-motion: reduce){ * { animation: none !important; transition: none !important; } body { opacity: 1 !important; } }

/* Responsivo geral */
@media (max-width:768px){
  .titulo-principal{ font-size:2rem; }
  nav ul{ display:none; }
  .imagem-hero{ max-width:260px; }
  main section{ padding:44px 0; }
}

/* Dark mode */
@media (prefers-color-scheme: dark){
  body{ background:#141414; color:#eaeaea; }
  header{ background:#141414; border-color:rgba(255,255,255,.08); }
  .brand{ color:#dfe6e1; }
  nav a{ color:#eaeaea; }
  .manifesto{ background:#1d1d1d; color:#e6e6e6; box-shadow:none; }
  .cta-final{ background:#2a332d; }
  footer{ background:#111; color:#9a9a9a; }
}

/* ======= MANIFESTO – LAYOUT EDITORIAL PREMIUM ======= */
:root{ --rg-a:#d4a373; --rg-b:#f0e2d8; }

.manifesto.pro{
  position: relative;
  padding: 0 0 4rem;
  background: linear-gradient(180deg, rgba(223,215,210,.35) 0%, rgba(223,215,210,0) 40%);
  overflow: clip;
}

/* Marca d’água */
.marca-agua{
  position: absolute;
  inset:auto -2rem -2rem auto;
  font-family:"Playfair Display", serif;
  font-size: 220px;
  line-height: .8;
  color: rgba(85,98,86,.07);
  user-select:none; pointer-events:none;
  transform: rotate(-8deg);
}

/* Cabeçalho editorial */
.man-head{ text-align:center; padding: 4rem 1.5rem 2rem; }
.man-head .eyebrow{ text-transform: uppercase; letter-spacing: .18em; font-size: .78rem; color: #6a6a6a; }
.man-title{ font-family:"Playfair Display", serif; font-size: clamp(1.9rem, 3vw, 2.6rem); color: var(--cor-principal); margin:.5rem 0 .75rem; }
.man-sub{ font-size:1.06rem; max-width:820px; margin:0 auto; color:#333; }

/* Grid editorial */
.man-grid{ display:grid; grid-template-columns: 1.15fr .85fr; gap: clamp(28px, 4vw, 48px); margin-top: 2.2rem; }
.man-text{
  background:#fff; border-radius:16px; padding: clamp(20px, 3.5vw, 34px);
  box-shadow: 0 18px 40px rgba(0,0,0,.06);
  animation: fadeUp .9s ease both .15s;
}
.man-text p{ margin:0 0 1.2rem; font-weight:300; color:#202020; }
.man-text .drop::first-letter{
  float:left; font-family:"Playfair Display", serif; font-size:3.1rem; line-height:.75;
  padding-right:.35rem; color: var(--cor-principal); font-weight:600;
}

/* Pilares */
.man-pillars{ display:grid; gap:14px; align-content:start; }
.pillar{
  display:grid; grid-template-columns:auto 1fr; gap:12px;
  padding:14px 16px; border-radius:14px; background:#fff;
  box-shadow: 0 10px 26px rgba(0,0,0,.05);
  border: 1px solid rgba(0,0,0,.04);
  animation: fadeUp .9s ease both .25s;
}
.pillar .ico{
  width:38px; height:38px; border-radius:11px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, var(--rg-b), #fff);
  color:#7a6a58;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.05);
}
.pillar svg{ width:22px; height:22px; }
.pillar h3{ margin:.1rem 0 .25rem; font-size:1.02rem; color:#2c2c2c; }
.pillar p{ margin:0; color:#525252; font-weight:300; }

/* Faixa rose-gold */
.man-band{
  margin: 3rem 0 2.2rem;
  background: linear-gradient(90deg, var(--rg-b), #fff 30%, #fff 70%, var(--rg-b));
  border-top: 1px solid rgba(0,0,0,.06);
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.band-inner{ display:grid; grid-template-columns: 1.2fr .8fr; gap: clamp(20px, 3vw, 38px); align-items:center; padding: clamp(26px, 4vw, 42px) 1rem; }
.pull{
  margin:0; font-size: clamp(1.05rem, 1.4vw, 1.15rem);
  color:#2c2c2c; line-height:1.8; position:relative; padding-left:22px;
}
.pull::before{
  content:""; position:absolute; left:0; top:.3rem; bottom:.3rem; width:3px;
  background: linear-gradient(180deg, var(--rg-a), var(--rg-b)); border-radius:3px;
}
.band-portrait{ justify-self:end; max-width:360px; display:block; border-radius:22px; overflow:hidden; box-shadow: 0 18px 36px rgba(0,0,0,.12); }
.band-portrait img{ width:100%; height:auto; display:block; }

/* Fecho */
.man-close{ max-width:920px; margin: 1.8rem auto 0; text-align:center; }
.man-close p{ margin:0 0 .8rem; color:#333; }
.man-close .assinatura{ margin-top:.6rem; font-family:"Playfair Display", serif; color: var(--cor-principal); font-size:1.1rem; letter-spacing:.3px; }

/* Responsivo do editorial */
@media (max-width: 900px){
  .man-grid{ grid-template-columns: 1fr; }
  .band-inner{ grid-template-columns: 1fr; }
  .band-portrait{ justify-self:center; max-width: 280px; }
}

/* ===== BOTÃO WHATSAPP FLUTUANTE + BADGE ===== */
.whatsapp-float{
  position: fixed;
  bottom: calc(18px + env(safe-area-inset-bottom));
  right: calc(18px + env(safe-area-inset-right));
  z-index: 999;
  display: inline-flex; align-items: center; gap: 10px;
  text-decoration: none;
}
.whatsapp-float picture,
.whatsapp-float img{
  width: 64px; height: 64px; border-radius: 50%;
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
  display: block; overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease;
}
.whatsapp-float:hover picture{ transform: scale(1.06); box-shadow: 0 10px 25px rgba(0,0,0,.35); }

.wa-label{
  position: relative; pointer-events: none;
  background: linear-gradient(135deg, var(--rg-b, #f0e2d8), #fff);
  color: #2c2c2c; border: 1px solid rgba(0,0,0,.08);
  border-radius: 999px; padding: 10px 14px;
  font-size: .95rem; font-weight: 500; white-space: nowrap;
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
  transform: translateX(10px); opacity: 0;
  transition: transform .25s ease, opacity .25s ease;
}
.wa-label::after{
  content:""; position:absolute; right: 74px; width: 10px; height: 10px;
  background: inherit; border: inherit; border-left: none; border-bottom: none;
  transform: rotate(45deg); box-shadow: -2px 2px 8px rgba(0,0,0,.05); display:none;
}
@media (hover:hover){
  .whatsapp-float:hover .wa-label{ transform: translateX(0); opacity: 1; }
  .wa-label::after{ display:block; }
}
@media (max-width: 700px){
  .whatsapp-float img{ width: 58px; height: 58px; }
  .wa-label { display:none; }
}

/* Melhorias gerais */
section, [id] { scroll-margin-top: 84px; }
.manifesto, .man-text, .man-sub, .pull, .man-close p { -webkit-hyphens:auto; hyphens:auto; text-wrap:pretty; }
@media (max-width: 700px){ body{ padding-bottom: 86px; } }
@media (max-width: 1100px){ .man-grid { gap: 32px; } .man-text { padding: 28px; } }
@media (max-width: 900px){
  .man-grid { grid-template-columns: 1fr; }
  .man-text { max-width: 820px; margin-inline: auto; }
  .man-pillars{ display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:14px; }
}
@media (max-width: 560px){
  .man-pillars{ grid-template-columns:1fr; }
  .man-text{ padding:22px; }
  .man-head{ padding:3rem 1rem 1.5rem; }
  .man-sub{ font-size:1rem; }
  .imagem-hero, .man-text, .pillar, .cta-final{ animation-duration:.7s!important; animation-delay:0s!important; }
  .man-text, .pillar { box-shadow: 0 10px 20px rgba(0,0,0,.06); }
  .band-portrait { box-shadow: 0 14px 28px rgba(0,0,0,.12); border-radius: 18px; }
}
@media (max-width: 900px){ .marca-agua { font-size: 160px; right: -1rem; bottom: -1rem; } }
@media (max-width: 560px){ .marca-agua { font-size: 120px; right: -.5rem; bottom: -.5rem; } }

/* Correção Safari / iOS */
@supports (-webkit-touch-callout: none){ body{ opacity:1!important; transition:none!important; } }

/* ====== ESSENZA HEADER (fixo refinado) ====== */
:root{
  --ez-green:#556256; --ez-gold:#DCB371; --ez-ink:#1f1f1f; --ez-stone:#f7f5f3;
  --ez-radius:10px; --ez-tr:.25s ease;
}
.ez-header,.ez-header *{box-sizing:border-box}
.ez-header{
  position:fixed; top:0; left:0; right:0; z-index:9999;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(0,0,0,.06);
  backdrop-filter:saturate(140%) blur(6px);
  -webkit-backdrop-filter:saturate(140%) blur(6px);
  transition: box-shadow .25s ease, background .25s ease;
}
.ez-header.scrolled{ box-shadow:0 6px 20px rgba(0,0,0,.06); }

.ez-container{
  max-width:1180px; margin:0 auto;
  padding:12px 18px;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}

.ez-logo img{display:block;height:40px;width:auto;background:transparent}

.ez-burger{display:none}

.ez-nav{display:flex; align-items:center; gap:14px;}

.ez-menu{list-style:none;margin:0;padding:0;display:flex;gap:22px}

.ez-link{
  position:relative; padding:8px 4px; border-radius:6px;
  text-decoration:none; color:var(--ez-ink); font-weight:500;
  transition: color var(--ez-tr), background var(--ez-tr);
  outline-offset: 3px;
}
.ez-link:hover{ color:var(--ez-green); background:transparent; }
.ez-link::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px;
  background: currentColor; transform: scaleX(0); transform-origin:left;
  transition: transform .22s ease;
}
.ez-link:hover::after{ transform: scaleX(1); }
.ez-link.is-active,
.ez-link[aria-current="page"]{ color:var(--ez-green); }
.ez-link.is-active::after,
.ez-link[aria-current="page"]::after{ transform: scaleX(1); }

.ez-cta{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:10px 16px; border-radius:12px;
  background:var(--ez-green); color:#fff; text-decoration:none; font-weight:600;
  border:1px solid transparent;
  transition: transform .15s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.ez-cta:hover{ background:var(--ez-gold); color:#000; box-shadow:0 6px 14px rgba(0,0,0,.10); }
.ez-cta:active{ transform: translateY(1px); }

/* Compensação do header fixo */
.ez-offset{height:66px}

/* Mobile */
@media (max-width:880px){
  .ez-burger{
    display:inline-flex; flex-direction:column; gap:4px;
    width:40px; height:40px; align-items:center; justify-content:center;
    background:transparent; border:0; cursor:pointer;
  }
  .ez-burger .ez-burger-bar{width:20px;height:2px;background:var(--ez-ink);transition:transform var(--ez-tr),opacity var(--ez-tr)}
  .ez-nav{
    position:fixed; top:66px; left:0; right:0;
    background:#fff; border-bottom:1px solid #eee;
    display:grid; grid-template-columns:1fr; gap:0; padding:12px 16px;
    max-height:0; overflow:hidden; transition:max-height var(--ez-tr);
  }
  .ez-nav.is-open{ max-height:60vh; }
  .ez-menu{ flex-direction:column; gap:6px; }
  .ez-link{ padding:12px 2px; }
  .ez-cta{ justify-self:start; margin-top:8px; }
  .ez-burger.is-open .ez-burger-bar:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .ez-burger.is-open .ez-burger-bar:nth-child(2){opacity:0}
  .ez-burger.is-open .ez-burger-bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
}

/* ====== ESSENZA FOOTER ====== */
.ez-footer{background:#fff;border-top:1px solid #eee;margin-top:48px;color:#1f1f1f}
.ez-foot-wrap{max-width:1200px;margin:0 auto;padding:28px 16px;display:grid;gap:24px;grid-template-columns:1.2fr 1fr 1fr 1.2fr}
.ez-foot-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#556256;color:#fff;text-decoration:none;margin-right:8px;transition:background .25s ease,color .25s ease}
.ez-foot-social a:hover{background:#DCB371;color:#000}
.ez-foot-links ul{list-style:none;margin:0;padding:0}
.ez-foot-links li{margin:6px 0}
.ez-foot-bottom{text-align:center;padding:12px 16px;border-top:1px solid #eee;background:#f9f9f9;color:#666}
@media (max-width:980px){ .ez-foot-wrap{grid-template-columns:1fr 1fr} }
@media (max-width:640px){ .ez-foot-wrap{grid-template-columns:1fr} }

/* Conteúdo de artigo */
.ez-logo img{height:40px; width:auto; display:block; background:transparent}
.breadcrumbs{font-size:.95rem;color:#6b6b6b;margin:74px 0 10px}
.breadcrumbs a{color:inherit;text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}

article h1{font-size:2rem;line-height:1.25;margin:14px 0 8px}
article p em{color:#444}
figure{margin:16px 0}
figure img{display:block;width:100%;height:auto;border-radius:10px}
.ez-cta{background:#556256}
.ez-cta:hover{background:#DCB371;color:#000}
article h2{font-size:1.35rem;margin:26px 0 8px}
article ul, article ol{padding-left:20px;margin:10px 0 18px}
article li{margin:6px 0}

/* Cards */
.articles .card img { width:100%; height:280px; object-fit:cover; display:block; border-radius:14px; }
.focus-top { object-position: top center !important; }
.img-topo-ajustada{
  object-fit: cover;
  object-position: 50% 8% !important; /* sobe o foco para mostrar mais o topo */
  transition: object-position .4s ease;
}
.img-topo-ajustada:hover{ object-position: 50% 12%; }
.ez-mapa { background:#fff; padding:40px 20px; margin:40px 0; border-top:1px solid #eee; border-bottom:1px solid #eee; }
.ez-mapa .container { max-width:1100px; margin:0 auto; }
.map-head h2 { margin:0 0 8px; font-size:1.6rem; }
.map-head p { margin:0 0 16px; color:#444; }
.map-actions { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.map-actions .btn { display:inline-block; padding:10px 14px; border-radius:8px; background:#556256; color:#fff; text-decoration:none; font-weight:600; }
.map-actions .btn:hover { background:#DCB371; color:#000; }
.map-wrap { position:relative; width:100%; aspect-ratio: 16/9; border-radius:12px; overflow:hidden; box-shadow:0 6px 18px rgba(0,0,0,.06); }
.map-wrap iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.map-note { margin-top:12px; color:#555; }
/* ===== MAPA (visual premium) ===== */
.map-section { padding: 48px 20px; }
.map-section .container { max-width: 1100px; margin: 0 auto; }

.map-card{
  background:#fff; border:1px solid #eaeaea; border-radius:16px;
  padding:22px; box-shadow:0 8px 22px rgba(0,0,0,.06);
}

.map-head{
  display:grid; gap:8px 24px; align-items:center; margin-bottom:16px;
}
@media (min-width: 900px){ .map-head{ grid-template-columns: 1fr auto; } }

.map-title .eyebrow{
  font-size:.8rem; letter-spacing:.08em; text-transform:uppercase;
  color:#6b6b6b; display:block; margin-bottom:4px;
}
.map-title h2{ margin:0 0 4px; font-size:1.6rem; line-height:1.2; }
.map-address{ margin:0; color:#3f3f3f; }

.map-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.btn{
  display:inline-block; padding:10px 14px; border-radius:10px;
  background:#556256; color:#fff; text-decoration:none; font-weight:600;
  transition:transform .15s ease, box-shadow .15s ease, background .2s ease;
  box-shadow:0 2px 10px rgba(0,0,0,.08);
}
.btn:hover{ background:#DCB371; color:#000; transform:translateY(-1px); }
.btn:active{ transform:translateY(0); }
.btn-outline{
  background:transparent; color:#556256; border:1.5px solid #556256;
}
.btn-outline:hover{ background:#DCB371; border-color:#DCB371; color:#000; }

.map-wrap{
  position:relative; width:100%; aspect-ratio:16/9;
  border-radius:12px; overflow:hidden; border:1px solid #eee;
}
.map-wrap iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

.map-foot p{ margin:12px 0 0; color:#555; font-size:.95rem; }

/* opcional: harmoniza links azuis dentro do card */
.map-card a{ color:inherit; }
