/* ==========================================================================
   Botika da Bicharada — Landing Page
   Paleta extraída de cores.png (identidade oficial da marca)
   ========================================================================== */

:root{
  --blue-deep:   #194483; /* French Blue */
  --blue-bright: #0072bc; /* Bright Marine */
  --teal:        #08b69b; /* Seaweed */
  --teal-deep:   #11947f; /* Seaweed Green */
  --black:       #231f20; /* Black */
  --apricot:     #ffd88e; /* Light Apricot */
  --saffron:     #f69320; /* Deep Saffron */
  --chocolate:   #994c22; /* Chocolate */
  --blush:       #f5969c; /* Cotton Blush */

  --bg:          #f6faf9;
  --white:       #ffffff;
  --ink:         var(--black);
  --ink-soft:    #5b6266;
  --border:      #e3ece9;

  --whatsapp:      #25D366; /* cor oficial WhatsApp */
  --whatsapp-dark: #128C7E;

  --font-head: "Roboto", system-ui, sans-serif;
  --font-body: "Roboto", system-ui, -apple-system, sans-serif;

  --radius-lg: 18px;
  --radius-md: 12px;
  --radius-sm: 8px;
  --shadow-sm: 0 2px 10px rgba(20,30,50,.06);
  --shadow-md: 0 18px 40px rgba(20,30,50,.16);
  --container: 1180px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top: 84px;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none; margin:0; padding:0;}
h1,h2,h3,h4{font-family:var(--font-head); font-weight:900; color:var(--blue-deep); line-height:1.15; margin:0 0 .5em;}
h3{font-weight:700;}
p{line-height:1.6; color:var(--ink-soft); margin:0 0 1em;}
.icon{width:1.15em; height:1.15em; display:inline-block; vertical-align:-0.2em;}
.icon-sm{width:1em; height:1em;}

.skip-link{
  position:absolute; left:-999px; top:0; background:var(--blue-deep); color:#fff;
  padding:.7em 1.2em; border-radius:0 0 8px 0; z-index:200;
}
.skip-link:focus{left:0;}

.container{max-width:var(--container); margin:0 auto; padding:0 20px;}
.container-narrow{max-width:840px;}

.section{padding:72px 0;}
@media (min-width:900px){ .section{padding:104px 0;} }
.center{text-align:center;}

/* Pill badge (two-tone eyebrow) */
.pill-badge{
  display:inline-flex; align-items:center; padding:4px; gap:2px;
  border-radius:9999px; background:#fff; border:1px solid var(--border);
  box-shadow:var(--shadow-sm); margin-bottom:22px;
}
.pill-badge-wrap{display:flex;}
.pill-badge-wrap.center{justify-content:center;}
.pill-tag{
  background:var(--blue-deep); color:#fff; font-weight:700; font-size:.76rem;
  padding:.5em 1.05em; border-radius:9999px; white-space:nowrap;
}
.pill-label{color:var(--ink); font-weight:500; font-size:.76rem; padding:.5em 1.1em .5em 1em; white-space:nowrap;}
.pill-badge.on-dark{background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.2);}
.pill-badge.on-dark .pill-label{color:rgba(255,255,255,.85);}
.pill-badge.on-dark .pill-tag{background:var(--apricot); color:var(--blue-deep);}
@media (max-width:420px){
  .pill-label{white-space:normal; line-height:1.3;}
  .pill-badge{border-radius:var(--radius-lg); align-items:center;}
  .pill-tag{white-space:nowrap;}
}

h2{font-size:clamp(1.7rem, 4vw, 2.5rem); max-width:640px; letter-spacing:-.01em;}
h2.center{margin-left:auto; margin-right:auto;}
.text-highlight{color:var(--teal-deep);}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55em;
  font-family:var(--font-head); font-weight:700; font-size:.96rem; letter-spacing:.01em;
  padding:.9em 1.7em; border-radius:9999px; border:1.5px solid transparent;
  cursor:pointer; transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
  white-space:nowrap;
}
.btn:active{transform:scale(.97);}
.btn-lg{padding:1em 1.8em; font-size:1.05rem;}
.btn-sm{padding:.5em 1em; font-size:.85rem;}
.btn-primary{background:var(--blue-bright); color:#fff; box-shadow:var(--shadow-sm);}
.btn-primary:hover{background:var(--blue-deep); box-shadow:var(--shadow-md);}
.btn-secondary{background:var(--teal); color:#fff; box-shadow:var(--shadow-sm);}
.btn-secondary:hover{background:var(--teal-deep); box-shadow:var(--shadow-md);}
.btn-outline{border-color:var(--blue-deep); color:var(--blue-deep); background:#fff;}
.btn-outline:hover{background:var(--blue-deep); color:#fff;}
.btn-ghost{background:transparent; color:var(--blue-deep);}

/* Header */
.site-header{
  position:sticky; top:0; z-index:100; background:rgba(255,255,255,.92);
  backdrop-filter:blur(8px); border-bottom:1px solid var(--border);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 20px; gap:16px;}
.brand{display:flex; align-items:center;}
.brand-logo{height:84px; width:auto;}

.main-nav{display:none; gap:28px; font-weight:600; font-size:1.05rem;}
.main-nav a{padding:.4em 0; border-bottom:2px solid transparent;}
.main-nav a:hover{border-color:var(--teal);}

.header-actions{display:flex; align-items:center; gap:10px;}
.header-call{display:none;}
.header-call.btn-sm{font-size:1.3rem; font-weight:700; padding:.6em 1.2em; gap:.5em;}
.header-call .icon{width:1.1em; height:1.1em;}
.menu-toggle{
  border:0; background:var(--bg); width:42px; height:42px; border-radius:12px;
  display:flex; align-items:center; justify-content:center; color:var(--blue-deep); cursor:pointer;
}

@media (min-width:960px){
  .main-nav{display:flex;}
  .header-call{display:inline-flex;}
  .menu-toggle{display:none;}
  .brand-logo{height:116px;}
}

/* Mobile nav drawer */
@media (max-width:959.98px){
  .main-nav{
    position:fixed; inset:64px 0 0 0; background:#fff; flex-direction:column;
    padding:24px 20px; gap:4px; transform:translateY(-12px); opacity:0; pointer-events:none;
    transition:opacity .18s ease, transform .18s ease; overflow-y:auto;
  }
  .main-nav.open{opacity:1; transform:translateY(0); pointer-events:auto;}
  .main-nav a{padding:14px 4px; border-bottom:1px solid var(--border); font-size:1.05rem;}
}

/* Hero */
.hero{
  position:relative; padding:52px 0 80px; overflow:hidden;
}
.hero-glow{
  position:absolute; border-radius:50%; filter:blur(70px); z-index:0; pointer-events:none;
}
.hero-glow-teal{
  width:46vw; height:46vw; max-width:520px; max-height:520px; top:-16%; right:-12%;
  background:radial-gradient(circle, var(--teal) 0%, transparent 72%); opacity:.28;
}
.hero-glow-saffron{
  width:32vw; height:32vw; max-width:360px; max-height:360px; bottom:-14%; left:-8%;
  background:radial-gradient(circle, var(--saffron) 0%, transparent 72%); opacity:.22;
}
.hero-inner{position:relative; z-index:2; display:flex; flex-direction:column; gap:48px;}
.hero-lead{font-size:1.06rem; max-width:480px; color:var(--ink-soft);}
h1{font-size:clamp(2.1rem, 5.4vw, 3.15rem); max-width:560px; color:var(--ink); font-weight:900; letter-spacing:-.02em;}
.text-teal{color:var(--teal-deep);}
.text-apricot{color:var(--apricot);}

.hero-ctas{display:flex; flex-wrap:wrap; gap:14px; margin:28px 0;}
.hero-ctas.center{justify-content:center;}

.hero-trust{display:flex; flex-wrap:wrap; gap:15px 28px; font-weight:500; font-size:.86rem; color:var(--ink-soft); border-top:1px solid var(--border); padding-top:24px;}
.hero-trust li{display:flex; align-items:center; gap:.5em;}
.hero-trust .icon{color:var(--saffron); width:1em; height:1em;}

.hero-media{position:relative; padding:0 22px 30px 0; max-width:460px; width:100%; margin:0 auto;}
.hero-backing{
  position:absolute; top:20px; left:20px; right:0; bottom:10px; z-index:0;
  background:var(--blue-deep); border-radius:var(--radius-lg);
}
.hero-photo-card{
  position:relative; z-index:1; background:#fff; padding:8px; border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md); transform:rotate(1deg);
}
.hero-carousel{position:relative; aspect-ratio:4/3; border-radius:calc(var(--radius-lg) - 5px); overflow:hidden;}
.hero-carousel img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 35%;
  opacity:0; transition:opacity .9s ease;
}
.hero-carousel img.active{opacity:1;}
.hero-carousel-dots{
  position:absolute; left:50%; bottom:12px; transform:translateX(-50%); z-index:2;
  display:flex; gap:6px;
}
.hero-carousel-dots .dot{
  width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.55);
  box-shadow:0 0 0 1px rgba(0,0,0,.15); transition:background .3s ease, width .3s ease, border-radius .3s ease;
}
.hero-carousel-dots .dot.active{background:#fff; width:16px; border-radius:3px;}
.hero-float-card{
  position:absolute; left:0; bottom:0; z-index:2; transform:rotate(-3deg);
  background:#fff; border-radius:var(--radius-md);
  padding:12px 18px; display:flex; align-items:center; gap:10px; line-height:1.1;
  box-shadow:var(--shadow-md); border:1px solid var(--border);
}
.hero-float-stars{color:var(--saffron); display:flex; gap:1px;}
.hero-float-stars .icon{width:.72em; height:.72em;}
.hero-float-score{font-family:var(--font-head); font-size:1.15rem; font-weight:900; color:var(--blue-deep);}
.hero-float-label{font-size:.66rem; font-weight:500; color:var(--ink-soft); white-space:nowrap; display:block;}

@media (min-width:900px){
  .hero-inner{flex-direction:row; align-items:center; gap:56px;}
  .hero-copy{flex:1;}
  .hero-media{flex:1.05; max-width:460px; margin:0;}
}

/* Galeria / carrossel full image */
.gallery-carousel{line-height:0;}
.gallery-track{position:relative; width:100%; aspect-ratio:4/3; min-height:260px; overflow:hidden;}
.gallery-track img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 32%;
  opacity:0; transition:opacity 1.1s ease;
}
.gallery-track img.active{opacity:1;}
.gallery-overlay{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(0deg, rgba(15,25,45,.75) 0%, rgba(15,25,45,.15) 45%, rgba(15,25,45,0) 70%);
}
.gallery-caption{
  position:absolute; left:0; right:0; bottom:0; z-index:2; padding:28px 20px; color:#fff; line-height:normal;
}
.gallery-caption h2{
  color:#fff; font-size:clamp(1.4rem, 4.4vw, 2.1rem); max-width:560px; margin:0; line-height:1.18;
}
.gallery-dots{
  position:absolute; right:20px; bottom:26px; z-index:2; display:flex; gap:6px;
}
.gallery-dots .dot{
  width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.45);
  box-shadow:0 0 0 1px rgba(0,0,0,.15); transition:background .3s ease, width .3s ease, border-radius .3s ease;
}
.gallery-dots .dot.active{background:#fff; width:20px; border-radius:4px;}
@media (min-width:640px){
  .gallery-track{aspect-ratio:16/10; min-height:360px;}
  .gallery-caption{padding:40px 48px;}
  .gallery-dots{right:48px; bottom:40px;}
}
@media (min-width:960px){
  .gallery-track{aspect-ratio:16/9;}
}

/* O jeito Botika */
.jeito{background:#fff; padding-top:20px;}
.jeito h2{font-size:clamp(1.5rem, 3.6vw, 2.2rem); margin-left:auto; margin-right:auto; max-width:680px;}
.jeito-lead{font-size:1.05rem; max-width:600px; margin:18px auto 0;}

/* Differentiators */
.grid{display:grid; gap:20px;}
.grid-2{grid-template-columns:1fr;}
.grid-3{grid-template-columns:1fr;}
.grid-4{grid-template-columns:1fr 1fr;}
@media (min-width:640px){
  .grid-2{grid-template-columns:1fr 1fr;}
  .grid-3{grid-template-columns:repeat(3,1fr);}
  .grid-4{grid-template-columns:repeat(4,1fr);}
}
@media (min-width:960px){
  .grid-3{grid-template-columns:repeat(3,1fr);}
}

.differentiators{background:#e4f1fb;}
.differentiators .grid-3{margin-top:44px;}

.card{
  background:#fff; border-radius:var(--radius-md); padding:28px 26px;
  border:1px solid var(--border); transition:border-color .18s ease, box-shadow .18s ease;
  display:flex; flex-direction:column; height:100%;
}
.card:hover{border-color:transparent; box-shadow:var(--shadow-sm);}
.card h3{font-size:1.05rem; margin-bottom:.5em; letter-spacing:-.01em;}
.card p{margin:0; font-size:.92rem; flex:1;}
.card-icon{
  position:relative; width:58px; height:58px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:#fff; margin-bottom:20px; box-shadow:0 6px 14px -4px rgba(20,30,50,.35);
}
.card-icon .icon{width:1.65em; height:1.65em; position:relative; z-index:1; filter:drop-shadow(0 1px 1px rgba(0,0,0,.35));}
.accent-blue{color:var(--blue-deep);}
.accent-teal{color:var(--teal-deep);}
.accent-saffron{color:var(--saffron);}

/* Paleta de identidade, usada em badges de ícone por toda a página.
   O ::after aplica um leve sombreado diagonal (prática comum em badges/ícones)
   para reforçar o contraste do glifo branco sobre tons claros da paleta,
   sem alterar a cor de marca em si (ver WCAG 2.1, critério 1.4.11). */
.icon-wrap, .card-icon{
  position:relative; color:#fff; box-shadow:0 6px 14px -4px rgba(20,30,50,.35); isolation:isolate;
  border-radius:50%; display:flex; align-items:center; justify-content:center; flex:none;
}
.icon-wrap::after, .card-icon::after{
  content:""; position:absolute; inset:0; border-radius:50%;
  background:linear-gradient(155deg, rgba(255,255,255,.16) 0%, rgba(0,0,0,.28) 100%);
  pointer-events:none;
}
.icon-wrap .icon{position:relative; z-index:1; filter:drop-shadow(0 1px 1px rgba(0,0,0,.35));}
.bg-saffron{background:var(--saffron);}
.bg-teal{background:var(--teal);}
.bg-blue{background:var(--blue-bright);}
.bg-blush{background:var(--blush);}
.bg-teal-deep{background:var(--teal-deep);}
.bg-chocolate{background:var(--chocolate);}
.bg-whatsapp{background:var(--whatsapp);}

.card-foot{
  margin-top:22px; padding-top:16px; border-top:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between; gap:10px;
}
.tag{background:var(--bg); color:var(--ink-soft); font-size:.72rem; font-weight:600; padding:.4em 1em; border-radius:9999px;}

/* Formas farmacêuticas */
.formas{background:#e3f7ef;}
.formas-grid{margin-top:44px; grid-template-columns:1fr;}
.forma-card .tag{margin-top:18px; align-self:flex-start;}
.forma-card p{margin-bottom:0;}
@media (min-width:520px){
  .formas-grid{grid-template-columns:1fr 1fr;}
}
@media (min-width:960px){
  .formas-grid{grid-template-columns:repeat(4,1fr);}
}
.arrow-btn{
  width:30px; height:30px; border-radius:50%; background:var(--blue-deep); color:#fff;
  display:flex; align-items:center; justify-content:center; flex:none;
}
.arrow-btn .icon{width:.8em; height:.8em; transform:rotate(-90deg);}

/* Areas Humano/Pet */
.areas{background:#fff;}
.areas-grid{margin-top:44px;}
.area-card{
  border-radius:var(--radius-lg); padding:40px 34px; color:#fff; display:flex; flex-direction:column;
  position:relative; overflow:hidden; box-shadow:var(--shadow-md);
  transition:transform .2s ease, box-shadow .2s ease;
}
.area-card:hover{transform:translateY(-4px); box-shadow:0 26px 48px -10px rgba(20,30,50,.4);}
.area-human{background:linear-gradient(155deg, #0e2c56 0%, var(--blue-deep) 60%, var(--blue-bright) 130%);}
.area-pet{background:linear-gradient(155deg, #0b5c4d 0%, var(--teal-deep) 60%, var(--teal) 130%);}

.area-watermark{
  position:absolute; top:-30px; right:-30px; width:220px; height:220px; z-index:0;
  opacity:.1; transform:rotate(18deg); pointer-events:none;
}
.area-watermark .icon{width:100%; height:100%;}

.area-head{position:relative; z-index:1; display:flex; align-items:center; gap:16px; margin-bottom:14px;}
.area-icon{
  width:56px; height:56px; border-radius:50%; background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.3); box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center; flex:none; color:#fff;
}
.area-icon .icon{width:1.5em; height:1.5em;}
.area-card h3{color:#fff; margin:0; font-size:1.35rem;}
.area-card > p{position:relative; z-index:1; color:rgba(255,255,255,.72); font-weight:300;}
.check-list{position:relative; z-index:1; margin:22px 0 30px; display:flex; flex-direction:column; gap:11px;}
.check-list li{display:flex; align-items:center; gap:.85em; font-weight:400; font-size:.95rem; background:rgba(255,255,255,.08); border-radius:var(--radius-sm); padding:10px 14px;}
.check-icon{
  width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.18); flex:none;
  display:flex; align-items:center; justify-content:center;
}
.check-icon .icon{width:.95em; height:.95em; color:#fff;}
.area-card .btn{position:relative; z-index:1; align-self:flex-start; background:transparent; color:#fff; border-color:rgba(255,255,255,.6);}
.area-card .btn:hover{background:#fff; color:var(--blue-deep); border-color:#fff;}
.area-pet .btn:hover{color:var(--teal-deep);}

/* Process — bloco de cor cheio, inspirado na referência de faixas sólidas */
.process{background:linear-gradient(150deg, var(--blue-deep) 0%, #0e2c56 100%);}
.process h2{color:#fff;}
.process-layout{display:flex; flex-direction:column; align-items:center; gap:44px; margin-top:48px;}
.process-grid{gap:28px 24px; width:100%;}
.step{position:relative;}
.step-number{
  display:block; font-family:var(--font-head); color:var(--apricot);
  font-weight:900; margin-bottom:14px; font-size:1.5rem; letter-spacing:.02em; opacity:.85;
}
.step h3{font-size:1.05rem; color:#fff;}
.step p{font-size:.9rem; margin:0; color:rgba(255,255,255,.62);}
.process-callout{
  margin-top:40px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  color:rgba(255,255,255,.7); font-weight:500; font-size:.95rem;
}
.process-callout .icon-wrap{width:26px; height:26px; margin:-2px 0;}
.process-callout .icon-wrap .icon{width:.8em; height:.8em;}
.process-callout .btn-outline{background:transparent; border-color:rgba(255,255,255,.5); color:#fff;}
.process-callout .btn-outline:hover{background:#fff; color:var(--blue-deep);}
@media (min-width:600px){
  .process-callout{flex-direction:row;}
}
@media (min-width:900px){
  .process-layout{flex-direction:row; align-items:center; gap:56px;}
  .process-phone-wrap{flex:none;}
  .process-grid{flex:1;}
}

/* Mockup: conversa de WhatsApp */
.phone-frame{
  width:250px; background:#1a1a1a; border-radius:34px; padding:10px;
  box-shadow:0 30px 60px -12px rgba(0,0,0,.55), 0 0 0 2px rgba(255,255,255,.06);
}
.phone-screen{
  background:#e9edf0; border-radius:24px; overflow:hidden; display:flex; flex-direction:column; min-height:440px;
}
.chat-header{
  background:var(--blue-deep); color:#fff; display:flex; align-items:center; gap:10px; padding:12px 14px; flex:none;
}
.chat-header img{width:30px; height:30px; border-radius:50%; background:#fff; padding:2px;}
.chat-header strong{display:block; font-size:.8rem; line-height:1.3;}
.chat-header span{font-size:.68rem; color:var(--teal); font-weight:600;}
.chat-body{flex:1; padding:16px 10px; display:flex; flex-direction:column; gap:9px;}
.chat-bubble{
  max-width:82%; padding:7px 10px; border-radius:11px; font-size:.72rem; line-height:1.4; color:#1f2937;
}
.chat-bubble.received{align-self:flex-start; background:#fff; border-bottom-left-radius:2px; box-shadow:0 1px 2px rgba(0,0,0,.08);}
.chat-bubble.sent{align-self:flex-end; background:#d9fdd3; border-bottom-right-radius:2px;}
.chat-time{display:block; text-align:right; font-size:.6rem; color:#8a97a0; margin-top:3px;}

/* Team / trust */
.team-trust{background:#fff;}
.team-inner{display:flex; flex-direction:column; gap:32px; align-items:center;}
.team-media img{border-radius:var(--radius-lg); box-shadow:var(--shadow-md);}
.team-card{
  background:var(--bg); border:1px solid var(--border); border-radius:var(--radius-sm);
  padding:16px 18px; margin:18px 0; display:flex; flex-direction:column; gap:2px;
}
.team-card strong{color:var(--blue-deep);}
.badge-row{display:flex; flex-wrap:wrap; gap:10px;}
.badge-row li{
  background:var(--bg); border:1px solid var(--border); border-radius:100px;
  padding:.5em 1em; font-size:.85rem; font-weight:600; color:var(--teal-deep);
}
@media (min-width:900px){
  .team-inner{flex-direction:row; align-items:center;}
  .team-media, .team-copy{flex:1;}
}

/* Selo do Google — reaproveitado no cabeçalho da seção de Depoimentos */
.google-g-badge{
  width:56px; height:56px; border-radius:50%; background:#fff; flex:none;
  display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-sm);
}
.google-g-badge .icon{width:28px; height:28px;}
.proof-score{font-family:var(--font-head); font-size:2.6rem; font-weight:900; line-height:1;}
.proof-stars{display:flex; gap:4px; justify-content:center;}

/* Depoimentos */
.testimonials{background:#fff;}
.testimonials-rating{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px;
  margin:28px auto 0; max-width:360px;
}
.testimonials-rating-row{display:flex; align-items:baseline; gap:.5em; justify-content:center;}
.testimonials-rating .proof-score{color:var(--blue-deep);}
.testimonials-rating .proof-stars{color:var(--saffron);}
.testimonials-rating p{color:var(--ink-soft); margin:0; font-size:.92rem;}
@media (min-width:600px){
  .testimonials-rating{flex-direction:row; text-align:left; max-width:none; justify-content:center;}
  .testimonials-rating-row, .testimonials-rating .proof-stars{justify-content:flex-start;}
}
.testimonials-grid{margin-top:44px;}
.testimonial-card{
  background:var(--bg); border-radius:var(--radius-md); padding:26px;
  display:flex; flex-direction:column; height:100%;
}
.testimonial-stars{color:var(--saffron); display:flex; gap:2px; margin-bottom:14px;}
.testimonial-stars .icon{width:.85em; height:.85em;}
.testimonial-quote{flex:1; font-size:.92rem; color:var(--ink); line-height:1.6; margin:0 0 20px;}
.testimonial-author{display:flex; align-items:center; gap:12px;}
.testimonial-avatar{
  width:38px; height:38px; border-radius:50%; color:#fff; font-family:var(--font-head);
  font-weight:700; display:flex; align-items:center; justify-content:center; flex:none; font-size:.9rem;
  border:2px solid #fff; box-shadow:0 0 0 1px var(--border), 0 4px 10px -3px rgba(20,30,50,.35);
}
.testimonial-author strong{display:block; font-size:.9rem; color:var(--ink);}
.testimonial-author span{font-size:.78rem; color:var(--ink-soft);}

/* FAQ */
.faq{background:linear-gradient(180deg, #fef4e7 0%, #fdf9f1 100%);}
.accordion{margin-top:36px; display:flex; flex-direction:column; gap:10px;}
.accordion-item{background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden;}
.accordion-trigger{
  width:100%; text-align:left; background:none; border:0; padding:18px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  font-family:var(--font-body); font-weight:600; font-size:.98rem; color:var(--ink); cursor:pointer;
}
.accordion-toggle{position:relative; width:18px; height:18px; flex:none;}
.accordion-toggle::before, .accordion-toggle::after{content:""; position:absolute; background:var(--blue-deep); border-radius:2px;}
.accordion-toggle::before{left:0; top:50%; width:100%; height:2px; transform:translateY(-50%);}
.accordion-toggle::after{top:0; left:50%; width:2px; height:100%; transform:translateX(-50%); transition:opacity .15s ease;}
.accordion-trigger[aria-expanded="true"] .accordion-toggle::after{opacity:0;}
.accordion-panel{max-height:0; overflow:hidden; transition:max-height .25s ease;}
.accordion-panel p{padding:0 24px 20px; margin:0; font-size:.94rem;}

/* Alcance de entrega — faixa de cor cheia, inspirada na referência */
.reach{background:linear-gradient(150deg, var(--saffron) 0%, #d9720f 100%); padding:56px 0;}
.reach-inner{display:flex; flex-direction:column; gap:20px;}
.reach h2{color:#fff; margin:0; font-size:clamp(1.5rem, 3.6vw, 2.1rem);}
.reach .pill-badge-wrap{margin-bottom:14px;}
.reach > .container > p, .reach-inner > p{color:rgba(255,255,255,.85); font-weight:400; max-width:420px; margin:0;}
@media (min-width:800px){
  .reach-inner{flex-direction:row; align-items:center; justify-content:space-between; gap:40px;}
}

/* Location */
.location{background:linear-gradient(180deg, #e9f7f4 0%, #fff 100%);}
.location-inner{display:flex; flex-direction:column; gap:40px;}
.info-list{display:flex; flex-direction:column; gap:18px; margin-top:22px;}
.info-list li{display:flex; align-items:flex-start; gap:14px;}
.info-list .icon-wrap{width:36px; height:36px; margin-top:1px;}
.info-list .icon{width:1.05em; height:1.05em;}
.info-list strong{display:block; color:var(--ink);}
.info-list li > div span, .info-list li > div a{color:var(--ink-soft); font-size:.95rem;}
.info-list a{text-decoration:underline;}
.location-media{display:flex; flex-direction:column; gap:18px;}
.location-photo{
  width:100%; height:200px; object-fit:cover; border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm); border:1px solid var(--border);
}
.location-map{border-radius:var(--radius-lg); overflow:hidden; min-height:280px; box-shadow:var(--shadow-sm); border:1px solid var(--border); flex:1;}
.location-map iframe{width:100%; height:100%; min-height:280px;}
@media (min-width:960px){
  .location-inner{flex-direction:row;}
  .location-copy, .location-media{flex:1;}
  .location-media{height:auto;}
  .location-photo{height:180px;}
}

/* Footer */
.site-footer{padding:88px 0 90px;}
@media (min-width:960px){ .site-footer{padding-bottom:36px;} }

.footer-card{
  background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm); padding:40px 30px;
}
.footer-cta{
  display:flex; flex-direction:column; gap:22px; align-items:flex-start;
  padding-bottom:34px; margin-bottom:34px; border-bottom:1px solid var(--border);
}
.footer-cta h2{margin:0; font-size:clamp(1.5rem, 4vw, 2.1rem);}
.footer-cta-lead{margin:10px 0 0; max-width:440px;}
.footer-cta .hero-ctas{margin:0;}
@media (min-width:800px){
  .footer-cta{flex-direction:row; align-items:center; justify-content:space-between;}
}

.footer-inner{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:26px;
}
.footer-brand{display:flex; align-items:center; gap:16px;}
.footer-logo{height:46px; width:auto;}
.footer-brand span{
  font-size:.82rem; color:var(--ink-soft); padding-left:16px; border-left:1px solid var(--border);
}
.footer-nav{display:flex; flex-wrap:wrap; justify-content:center; gap:10px 28px; font-size:.9rem; color:var(--ink-soft); font-weight:500;}
.footer-nav a:hover{color:var(--blue-deep);}
.footer-instagram{
  display:flex; align-items:center; gap:.5em; font-weight:600; color:#fff;
  background:var(--blue-deep); padding:.65em 1.3em; border-radius:9999px; font-size:.88rem;
}
.footer-instagram:hover{background:var(--blue-bright);}
@media (min-width:960px){
  .footer-inner{flex-direction:row; align-items:center; justify-content:space-between; text-align:left; gap:24px;}
}

.footer-legal{max-width:var(--container); margin:34px auto 0; padding:0 20px; font-size:.78rem; color:var(--ink-soft); line-height:1.7; text-align:center;}
.footer-legal a{text-decoration:underline;}
.footer-copy{margin-top:6px; color:#9aa1a4;}
.footer-copy a{color:var(--blue-bright);}

/* Sticky mobile CTA */
.sticky-cta{
  position:fixed; left:0; right:0; bottom:0; z-index:150; display:flex; gap:8px;
  padding:10px; background:#fff; box-shadow:0 -6px 20px rgba(0,0,0,.12);
  border-top:1px solid var(--border);
}
.sticky-btn{
  flex:1; display:flex; align-items:center; justify-content:center; gap:.4em;
  padding:12px 8px; border-radius:14px; font-weight:700; font-size:.85rem; font-family:var(--font-head);
}
.sticky-call{flex:0 0 52px; background:var(--bg); color:var(--blue-deep);}
.sticky-wa-human{background:var(--blue-bright); color:#fff;}
.sticky-wa-pet{background:var(--teal); color:#fff;}
@media (min-width:960px){
  .sticky-cta{display:none;}
}

/* Floating WhatsApp anchor (desktop) */
.wa-float{position:fixed; right:26px; bottom:26px; z-index:160; display:none;}
@media (min-width:960px){ .wa-float{display:block;} }
.wa-float-btn{
  position:relative; width:60px; height:60px; border-radius:50%; background:var(--whatsapp);
  color:#fff; border:0; cursor:pointer; display:flex; align-items:center; justify-content:center;
  box-shadow:0 14px 30px -6px rgba(18,140,126,.55); transition:transform .15s ease, background .15s ease;
}
.wa-float-btn:hover{background:var(--whatsapp-dark); transform:scale(1.06);}
.wa-float-btn .icon{width:30px; height:30px; position:relative; z-index:1;}
.wa-float-btn::before{
  content:""; position:absolute; inset:0; border-radius:50%; background:var(--whatsapp);
  opacity:.55; animation:wa-pulse 2.4s ease-out infinite; z-index:0;
}
@keyframes wa-pulse{
  0%{transform:scale(1); opacity:.55;}
  100%{transform:scale(1.7); opacity:0;}
}
.wa-float-menu{
  position:absolute; right:0; bottom:76px; width:250px;
  background:#fff; border-radius:var(--radius-md); border:1px solid var(--border);
  box-shadow:var(--shadow-md); padding:14px;
  opacity:0; pointer-events:none; transform:translateY(10px) scale(.96); transform-origin:bottom right;
  transition:opacity .18s ease, transform .18s ease;
}
.wa-float.open .wa-float-menu{opacity:1; pointer-events:auto; transform:translateY(0) scale(1);}
.wa-float-title{font-weight:700; font-size:.86rem; color:var(--ink); margin:0 0 10px;}
.wa-float-option{
  display:flex; align-items:center; gap:.65em; padding:.65em .7em; border-radius:var(--radius-sm);
  font-size:.9rem; font-weight:500; color:var(--ink); transition:background .12s ease;
}
.wa-float-option:hover{background:var(--bg);}
.wa-float-option .icon-wrap{width:30px; height:30px; flex:none;}
.wa-float-option .icon-wrap .icon{width:.95em; height:.95em;}
