/* ============================================================
   AuPet · sitio-v2 — Sistema de diseño compartido
   Cálido + dinámico · Bogotá
   ============================================================ */
:root{
  --azul:#4E8FE0; --azul-osc:#1E3D8F; --azul-claro:#7FB1EE;
  --naranja:#F39A3E; --naranja-osc:#E07F1E;
  --verde:#2FB37A;
  --crema:#FFF7EF; --fondo:#EDF4FD; --fondo2:#F6FAFF;
  --tinta:#16233B; --gris:#5E7395; --blanco:#fff;
  --borde:rgba(30,61,143,.10);
  --sombra-sm:0 4px 14px rgba(30,61,143,.08);
  --sombra:0 14px 40px rgba(30,61,143,.12);
  --sombra-naranja:0 12px 30px rgba(243,154,62,.30);
  --r:22px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;color:var(--tinta);background:var(--blanco);line-height:1.65;overflow-x:hidden}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
section{padding:84px 0;position:relative}
h1,h2,h3,h4,.font-display{font-family:'Baloo 2',cursive;line-height:1.1}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(78,143,224,.12);color:var(--azul-osc);
  font-weight:600;font-size:13px;padding:7px 16px;border-radius:50px;letter-spacing:.2px;margin-bottom:18px}
.eyebrow svg{width:15px;height:15px}
.sec-head{text-align:center;max-width:620px;margin:0 auto 54px}
.sec-title{font-size:clamp(28px,4vw,42px);font-weight:800;color:var(--azul-osc);margin-bottom:14px}
.sec-title em{color:var(--naranja);font-style:normal}
.sec-sub{color:var(--gris);font-size:16px}

/* Utilidades */
.bg-2{background:var(--fondo2)}
.bg-crema{background:var(--crema)}
.bg-fondo{background:var(--fondo)}
.center{text-align:center}
.maxw-760{max-width:760px;margin-left:auto;margin-right:auto}
.maxw-720{max-width:720px;margin-left:auto;margin-right:auto}
.mt-32{margin-top:32px}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 26px;border-radius:50px;
  font-family:'Poppins',sans-serif;font-size:15px;font-weight:600;cursor:pointer;border:none;transition:transform .18s ease,box-shadow .18s ease,background .18s}
.btn:hover{transform:translateY(-2px)}
.btn svg{width:19px;height:19px}
.btn-primary{background:var(--azul-osc);color:#fff;box-shadow:0 8px 22px rgba(30,61,143,.28)}
.btn-primary:hover{background:#234aa8;box-shadow:0 12px 28px rgba(30,61,143,.36)}
.btn-naranja{background:var(--naranja);color:#fff;box-shadow:var(--sombra-naranja)}
.btn-naranja:hover{background:var(--naranja-osc)}
.btn-wa{background:#25D366;color:#fff;box-shadow:0 8px 22px rgba(37,211,102,.34)}
.btn-wa:hover{background:#1eb858}
.btn-ghost{background:#fff;color:var(--azul-osc);border:1.6px solid var(--borde);box-shadow:var(--sombra-sm)}
.btn-ghost:hover{border-color:var(--azul);background:var(--fondo2)}
.btn-lg{padding:16px 34px;font-size:16.5px}
.btn-sm{padding:10px 18px;font-size:13.5px}

/* ---------- Top bar ---------- */
.topbar{background:linear-gradient(90deg,var(--azul-osc),var(--azul));color:#fff;font-size:13px;text-align:center;
  padding:9px 16px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.topbar a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.topbar .dot{width:7px;height:7px;border-radius:50%;background:#7CF0A8;box-shadow:0 0 0 0 rgba(124,240,168,.7);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(124,240,168,.7)}70%{box-shadow:0 0 0 8px rgba(124,240,168,0)}100%{box-shadow:0 0 0 0 rgba(124,240,168,0)}}

/* ---------- Nav ---------- */
nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;transition:box-shadow .25s,border-color .25s,background .25s}
nav.scrolled{box-shadow:0 6px 24px rgba(30,61,143,.08);border-color:var(--borde);background:rgba(255,255,255,.92)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:18px}
.brand{display:flex;align-items:center;gap:9px}
.brand-mark{height:38px;width:auto}
.brand-word{height:23px;width:auto;margin-top:1px}
.nav-links{display:flex;gap:4px;list-style:none}
.nav-links a{display:block;padding:9px 15px;font-size:14.5px;font-weight:500;color:var(--gris);border-radius:10px;transition:.15s}
.nav-links a:hover,.nav-links a.active{color:var(--azul-osc);background:var(--fondo)}
.nav-right{display:flex;align-items:center;gap:10px}
.nav-cta{background:var(--azul-osc);color:#fff;padding:11px 22px;border-radius:50px;font-weight:600;font-size:14.5px;
  display:inline-flex;align-items:center;gap:8px;transition:transform .18s,background .18s}
.nav-cta:hover{transform:translateY(-2px);background:#234aa8}
.nav-cta svg{width:17px;height:17px}
.menu-btn{display:none;background:none;border:none;cursor:pointer;color:var(--azul-osc);padding:6px}
.menu-btn svg{width:28px;height:28px}
.mobile-menu{display:none;flex-direction:column;gap:4px;padding:8px 24px 22px;background:#fff;border-bottom:1px solid var(--borde)}
.mobile-menu a{padding:13px 14px;border-radius:12px;font-weight:500;color:var(--tinta)}
.mobile-menu a:hover{background:var(--fondo)}
.mobile-menu .btn{margin-top:8px}
@media(max-width:920px){.nav-links,.nav-right .nav-cta{display:none}.menu-btn{display:block}.mobile-menu.open{display:flex}}

/* ---------- Hero (home) ---------- */
.hero{position:relative;background:linear-gradient(165deg,#FFF7EF 0%,#F4F8FE 46%,#E9F2FD 100%);overflow:hidden;padding:64px 0 88px}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;pointer-events:none;z-index:0}
.blob.b1{width:440px;height:440px;background:radial-gradient(circle,#9FC4F2,transparent 70%);top:-120px;right:-80px;animation:drift 16s ease-in-out infinite}
.blob.b2{width:380px;height:380px;background:radial-gradient(circle,#FBD3A6,transparent 70%);bottom:-140px;left:-100px;animation:drift 20s ease-in-out infinite reverse}
@keyframes drift{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,-26px)}}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(34px,5.4vw,60px);font-weight:800;color:var(--azul-osc);margin-bottom:18px}
.hero h1 em{color:var(--naranja);font-style:normal}
.hero-sub{font-size:clamp(16px,2.1vw,19px);color:var(--gris);max-width:520px;margin-bottom:30px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:13px;margin-bottom:28px}
.hero-trust{display:flex;flex-wrap:wrap;gap:10px 18px}
.hero-trust span{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:500;color:var(--azul-osc)}
.hero-trust svg{width:17px;height:17px;color:var(--verde)}
.hero-art{position:relative;display:flex;justify-content:center;align-items:center;min-height:420px}
.hero-art .glow{position:absolute;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(78,143,224,.22),transparent 65%);z-index:0}
.hero-art img{position:relative;z-index:1;width:min(94%,430px);filter:drop-shadow(0 26px 36px rgba(30,61,143,.22));animation:float 5.5s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.chip{position:absolute;z-index:2;background:#fff;border-radius:15px;padding:11px 15px;box-shadow:var(--sombra);
  display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--tinta);animation:float 6s ease-in-out infinite}
.chip .ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.chip .ic svg{width:19px;height:19px;color:#fff}
.chip small{display:block;font-weight:500;color:var(--gris);font-size:11px;line-height:1.3}
.chip.c1{top:18px;left:-6px;animation-delay:.4s}
.chip.c2{bottom:78px;right:-12px;animation-delay:1.1s}
.chip.c3{bottom:6px;left:24px;animation-delay:1.8s}
.stars{color:var(--naranja);letter-spacing:1px;font-size:15px}
@media(max-width:920px){
  .hero-grid{grid-template-columns:1fr;text-align:center}
  .hero-sub{margin-left:auto;margin-right:auto}
  .hero-ctas,.hero-trust{justify-content:center}
  .hero-art{order:-1;min-height:340px}
}
@media(max-width:520px){.chip.c1{left:0}.chip.c2{right:0}}

/* ---------- Page hero (páginas internas) ---------- */
.page-hero{position:relative;background:linear-gradient(165deg,#FFF7EF 0%,#EFF5FE 60%,#E9F2FD 100%);overflow:hidden;padding:56px 0 50px;text-align:center}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{font-size:clamp(28px,4.6vw,46px);font-weight:800;color:var(--azul-osc);margin-bottom:14px}
.page-hero h1 em{color:var(--naranja);font-style:normal}
.page-hero p{color:var(--gris);font-size:clamp(15px,2vw,18px);max-width:580px;margin:0 auto}

/* ---------- Breadcrumb ---------- */
.breadcrumb{background:var(--fondo);padding:12px 0;font-size:13px;color:var(--gris)}
.breadcrumb a{color:var(--azul)}.breadcrumb a:hover{text-decoration:underline}
.breadcrumb span{margin:0 7px;opacity:.5}

/* ---------- Marquee ---------- */
.marquee{background:var(--azul-osc);overflow:hidden;padding:16px 0}
.marquee-track{display:flex;gap:42px;white-space:nowrap;width:max-content;animation:scrollx 26s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-item{display:inline-flex;align-items:center;gap:10px;color:#fff;font-weight:600;font-size:14.5px;opacity:.92}
.marquee-item svg{width:19px;height:19px;color:var(--naranja)}
@keyframes scrollx{to{transform:translateX(-50%)}}

/* ---------- Cards de valor ---------- */
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px}
.feature{background:#fff;border:1px solid var(--borde);border-radius:var(--r);padding:30px;transition:transform .2s,box-shadow .2s,border-color .2s}
.feature:hover{transform:translateY(-6px);box-shadow:var(--sombra);border-color:rgba(78,143,224,.35)}
.feature .ic{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.feature .ic svg{width:27px;height:27px;color:#fff}
.feature h3{font-size:20px;color:var(--azul-osc);margin-bottom:9px;font-weight:700}
.feature p{font-size:14.7px;color:var(--gris)}
.ic-azul{background:linear-gradient(135deg,#5C9AE8,#2E63C4)}
.ic-naranja{background:linear-gradient(135deg,#F8AE5A,#E8801F)}
.ic-verde{background:linear-gradient(135deg,#46C58C,#239A66)}

/* ---------- Tabs (gatos / perros) ---------- */
.tabs{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:38px}
.tab{display:inline-flex;align-items:center;gap:10px;padding:13px 28px;border-radius:50px;border:1.8px solid var(--borde);
  background:#fff;color:var(--gris);font-family:'Poppins',sans-serif;font-size:15.5px;font-weight:600;cursor:pointer;
  box-shadow:var(--sombra-sm);transition:transform .18s ease,box-shadow .18s ease,background .18s,color .18s,border-color .18s}
.tab svg{width:23px;height:23px}
.tab:hover{transform:translateY(-2px);border-color:var(--azul);color:var(--azul-osc)}
.tab.active{background:var(--azul-osc);border-color:var(--azul-osc);color:#fff;box-shadow:0 10px 26px rgba(30,61,143,.28)}
.tab-panel{display:none}
.tab-panel.active{display:block;animation:tabIn .45s ease}
@keyframes tabIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.tab-panel.active{animation:none}}

/* ---------- Precios ---------- */
.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;align-items:stretch}
.price-grid.compact{grid-template-columns:repeat(auto-fit,minmax(280px,350px));justify-content:center}
.price-card{background:#fff;border:1.5px solid var(--borde);border-radius:24px;padding:32px 28px;display:flex;flex-direction:column;
  position:relative;transition:transform .2s,box-shadow .2s,border-color .2s}
.price-card:hover{transform:translateY(-6px);box-shadow:var(--sombra)}
.price-card.featured{border-color:var(--naranja);box-shadow:0 16px 44px rgba(243,154,62,.22);background:linear-gradient(180deg,#FFFaf3,#fff)}
.price-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--naranja);color:#fff;
  font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:5px 16px;border-radius:50px;white-space:nowrap}
.price-emoji{width:52px;height:52px;border-radius:14px;background:var(--fondo);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.price-emoji svg{width:26px;height:26px;color:var(--azul-osc)}
.price-name{font-size:18px;font-weight:700;color:var(--azul-osc);font-family:'Baloo 2'}
.price-amount{font-family:'Baloo 2';font-size:42px;font-weight:800;color:var(--azul);margin:8px 0 2px;line-height:1}
.price-per{font-size:13px;color:var(--gris);margin-bottom:20px}
.price-list{list-style:none;flex:1;margin-bottom:24px}
.price-list li{display:flex;gap:9px;align-items:flex-start;font-size:14px;color:var(--gris);padding:6px 0}
.price-list li svg{width:18px;height:18px;color:var(--verde);flex-shrink:0;margin-top:2px}
.price-list li.hl{color:var(--tinta);font-weight:600}
.price-card .btn{width:100%}

/* ---------- Calculadora ---------- */
.calc-section{background:linear-gradient(160deg,var(--azul-osc),#16306f);color:#fff}
.calc-section .sec-title{color:#fff}.calc-section .sec-sub{color:rgba(255,255,255,.72)}
.calc-wrap{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;max-width:960px;margin:0 auto}
.calc-pitch h3{font-size:clamp(24px,3vw,32px);color:#fff;margin-bottom:14px}
.calc-pitch h3 em{color:var(--naranja);font-style:normal}
.calc-pitch p{color:rgba(255,255,255,.78);font-size:15.5px;margin-bottom:18px}
.calc-pitch .pts{list-style:none;display:flex;flex-direction:column;gap:11px}
.calc-pitch .pts li{display:flex;gap:10px;align-items:center;font-size:14.5px;color:rgba(255,255,255,.92)}
.calc-pitch .pts svg{width:20px;height:20px;color:#7CF0A8;flex-shrink:0}
.calc-box{background:#fff;color:var(--tinta);border-radius:24px;padding:28px;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.calc-field{margin-bottom:16px}
.calc-field label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gris);margin-bottom:7px}
.calc-field select,.calc-field input{width:100%;padding:13px 15px;border:1.6px solid var(--borde);border-radius:13px;
  font-family:'Poppins';font-size:15px;color:var(--tinta);background:#fff;outline:none;transition:border-color .18s}
.calc-field select:focus,.calc-field input:focus{border-color:var(--azul)}
.calc-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1.6px solid var(--borde);border-radius:13px;cursor:pointer;transition:.18s}
.calc-toggle:hover,.calc-toggle.active{border-color:var(--azul);background:var(--fondo2)}
.calc-toggle .tt{font-size:14px;font-weight:600;color:var(--tinta)}
.calc-toggle .ts{font-size:12px;color:var(--gris)}
.switch{width:46px;height:26px;border-radius:50px;background:#d4dcea;position:relative;flex-shrink:0;transition:background .2s}
.switch::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.calc-toggle.active .switch{background:var(--azul)}
.calc-toggle.active .switch::after{transform:translateX(20px)}
.calc-total{margin-top:20px;background:var(--fondo);border-radius:16px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.calc-total .lbl{font-size:12.5px;color:var(--gris);font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.calc-total .num{font-family:'Baloo 2';font-size:34px;font-weight:800;color:var(--azul-osc);line-height:1}
.calc-total .bd{font-size:12px;color:var(--gris);margin-top:3px}
@media(max-width:820px){.calc-wrap{grid-template-columns:1fr;gap:26px}}

/* ---------- Pasos ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative;max-width:960px;margin:0 auto}
.step{background:#fff;border:1px solid var(--borde);border-radius:var(--r);padding:30px 26px;text-align:center;transition:transform .2s,box-shadow .2s}
.step:hover{transform:translateY(-6px);box-shadow:var(--sombra)}
.step .num{width:60px;height:60px;border-radius:50%;background:var(--naranja);color:#fff;font-family:'Baloo 2';font-size:26px;font-weight:800;
  display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:var(--sombra-naranja)}
.step h3{font-size:19px;color:var(--azul-osc);margin-bottom:8px}
.step p{font-size:14.3px;color:var(--gris)}
@media(max-width:780px){.steps{grid-template-columns:1fr}}

/* ---------- Timeline (cómo funciona) ---------- */
.timeline{max-width:740px;margin:0 auto;position:relative}
.timeline::before{content:'';position:absolute;left:30px;top:10px;bottom:10px;width:2px;background:var(--borde)}
.tl-item{display:flex;gap:24px;margin-bottom:28px;position:relative}
.tl-num{width:62px;height:62px;border-radius:50%;background:var(--naranja);color:#fff;font-family:'Baloo 2';font-size:24px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--sombra-naranja);z-index:1}
.tl-content{padding-top:8px}
.tl-content h3{font-size:19px;color:var(--azul-osc);margin-bottom:6px}
.tl-content p{font-size:14.7px;color:var(--gris)}
.tl-note{background:var(--fondo);border-radius:12px;padding:11px 16px;font-size:13.7px;color:var(--tinta);margin-top:12px;display:flex;gap:9px;align-items:flex-start}
.tl-note svg{width:18px;height:18px;color:var(--azul);flex-shrink:0;margin-top:2px}

/* ---------- Info rows ---------- */
.info-list{display:flex;flex-direction:column;gap:12px;max-width:720px;margin:0 auto}
.info-row{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--borde);border-radius:16px;padding:18px 20px}
.info-row .ic{width:44px;height:44px;border-radius:12px;background:var(--fondo);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.info-row .ic svg{width:22px;height:22px;color:var(--azul-osc)}
.info-row b{color:var(--tinta);font-size:15.5px;display:block;margin-bottom:3px}
.info-row p{font-size:14px;color:var(--gris)}

/* ---------- Checklist ---------- */
.checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px 22px;max-width:840px;margin:0 auto}
.check-item{display:flex;gap:10px;align-items:flex-start;font-size:14.7px;color:var(--tinta);background:#fff;border:1px solid var(--borde);border-radius:13px;padding:14px 16px}
.check-item svg{width:20px;height:20px;color:var(--verde);flex-shrink:0;margin-top:2px}

/* ---------- AuPets ---------- */
.vet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px}
.vet-card{background:#fff;border:1px solid var(--borde);border-radius:20px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.vet-card:hover{transform:translateY(-5px);box-shadow:var(--sombra)}
.vet-photo{height:180px;background:linear-gradient(135deg,#EAF2FC,#DCEAFB);display:flex;align-items:center;justify-content:center}
.vet-photo svg{width:74px;height:74px;color:var(--azul-claro)}
.vet-info{padding:18px 20px}
.vet-name{font-size:17px;font-weight:700;color:var(--azul-osc);font-family:'Baloo 2'}
.vet-title{font-size:13px;color:var(--gris);margin-bottom:10px}
.vet-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.vet-tag{background:var(--fondo);color:var(--azul-osc);font-size:11px;font-weight:600;padding:3px 11px;border-radius:20px}
.vet-badge{display:inline-flex;align-items:center;gap:5px;background:#E6F7EF;color:#1C8C5C;font-size:11.5px;font-weight:600;padding:4px 11px;border-radius:20px}
.vet-badge svg{width:13px;height:13px}
.vet-join{border:1.6px dashed rgba(78,143,224,.4);background:var(--fondo2);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:28px;border-radius:20px}
.vet-join svg{width:40px;height:40px;color:var(--azul)}
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:38px}
.filter-btn{padding:9px 20px;border-radius:50px;border:1.6px solid var(--borde);font-family:'Poppins';font-size:13.5px;font-weight:600;cursor:pointer;background:#fff;color:var(--gris);transition:.15s}
.filter-btn.active,.filter-btn:hover{background:var(--azul-osc);color:#fff;border-color:var(--azul-osc)}

/* ---------- Cámaras ---------- */
.cam{background:var(--crema)}
.cam-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.cam-steps{display:flex;flex-direction:column;gap:14px}
.cam-step{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--borde);border-radius:16px;padding:16px 18px;transition:transform .2s}
.cam-step:hover{transform:translateX(5px)}
.cam-step .ic{width:42px;height:42px;border-radius:12px;background:var(--fondo);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cam-step .ic svg{width:21px;height:21px;color:var(--azul-osc)}
.cam-step b{color:var(--tinta);font-size:15px}
.cam-step p{font-size:13.7px;color:var(--gris);margin-top:2px}
.cam-card{background:linear-gradient(160deg,var(--azul),var(--azul-osc));border-radius:26px;padding:38px;color:#fff;text-align:center;box-shadow:var(--sombra)}
.cam-card .price{font-family:'Baloo 2';font-size:54px;font-weight:800;line-height:1}
.cam-card .price span{font-size:18px;font-weight:600;opacity:.8}
.cam-buy{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.22);font-size:13.6px;line-height:1.5;opacity:.95}
.cam-buy b{font-weight:700}
@media(max-width:820px){.cam-grid{grid-template-columns:1fr;gap:26px}}

/* ---------- Testimonios ---------- */
.testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.testi{background:#fff;border:1px solid var(--borde);border-radius:var(--r);padding:28px;transition:transform .2s,box-shadow .2s}
.testi:hover{transform:translateY(-5px);box-shadow:var(--sombra)}
.testi .stars{font-size:16px;margin-bottom:12px}
.testi p{font-size:15px;color:var(--tinta);font-style:italic;margin-bottom:18px}
.testi .who{display:flex;align-items:center;gap:12px}
.testi .av{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#EAF2FC,#DCEAFB);display:flex;align-items:center;justify-content:center;color:var(--azul-osc);font-weight:700;font-family:'Baloo 2'}
.testi .who b{font-size:14.5px;color:var(--azul-osc)}
.testi .who small{display:block;font-size:12.5px;color:var(--gris)}
.note-soft{text-align:center;color:var(--gris);font-size:13px;margin-top:24px}

/* ---------- Formularios ---------- */
.form-wrap{max-width:660px;margin:0 auto}
.form-card{background:#fff;border:1px solid var(--borde);border-radius:24px;padding:34px;box-shadow:var(--sombra-sm)}
.form-note{background:var(--fondo);border-radius:13px;padding:14px 18px;font-size:13.7px;color:var(--gris);margin-bottom:22px;display:flex;gap:10px;align-items:flex-start}
.form-note svg{width:19px;height:19px;color:var(--azul);flex-shrink:0;margin-top:1px}
.form-group{margin-bottom:18px}
.form-group label{display:block;font-size:13px;font-weight:600;color:var(--tinta);margin-bottom:7px}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:13px 15px;border:1.6px solid var(--borde);border-radius:13px;font-family:'Poppins';font-size:15px;color:var(--tinta);background:#fff;outline:none;transition:border-color .18s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--azul)}
.form-group textarea{min-height:120px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.form-row{grid-template-columns:1fr}}
.form-success{display:none;background:#E6F7EF;border-radius:16px;padding:26px;text-align:center;margin-top:16px}
.form-success .em{font-size:34px;margin-bottom:8px}
.form-success b{color:#1C8C5C;font-size:17px;display:block;margin-bottom:6px}
.form-success p{font-size:14px;color:#3f7a5d}

/* ---------- Formulario por pasos (ficha de reserva) ---------- */
.wz-bar{display:flex;align-items:flex-start;justify-content:space-between;position:relative;margin-bottom:32px}
.wz-track{position:absolute;left:12.5%;right:12.5%;top:19px;height:3px;background:var(--borde);z-index:0;border-radius:3px;overflow:hidden}
.wz-fill{height:100%;width:0;background:var(--verde);transition:width .35s ease}
.wz-dot{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;gap:8px}
.wz-dot i{width:40px;height:40px;border-radius:50%;background:#fff;border:2.5px solid var(--borde);display:flex;align-items:center;
  justify-content:center;font-style:normal;font-family:'Baloo 2',cursive;font-weight:800;font-size:17px;color:var(--gris);transition:.25s}
.wz-dot b{font-size:11.5px;font-weight:600;color:var(--gris);text-align:center;line-height:1.3}
.wz-dot.on i{background:var(--azul-osc);border-color:var(--azul-osc);color:#fff;box-shadow:0 6px 16px rgba(30,61,143,.28);transform:scale(1.06)}
.wz-dot.done i{background:var(--verde);border-color:var(--verde);color:#fff}
.wz-dot.on b,.wz-dot.done b{color:var(--azul-osc)}
@media(max-width:520px){.wz-dot b{font-size:10px}.wz-dot i{width:34px;height:34px;font-size:15px}.wz-track{top:16px}}

.wz-step{display:none}
.wz-step.on{display:block;animation:tabIn .35s ease}
.wz-head{margin-bottom:20px}
.wz-head h3{font-family:'Baloo 2',cursive;font-size:23px;color:var(--azul-osc);margin-bottom:4px}
.wz-head p{font-size:14px;color:var(--gris)}
.wz-nav{display:flex;gap:12px;justify-content:space-between;margin-top:26px;padding-top:22px;border-top:1px solid var(--borde)}
.wz-nav .btn{flex:1;justify-content:center}

.pet-card{position:relative;border:1.6px solid var(--borde);border-radius:18px;padding:22px 20px 6px;margin-bottom:16px;background:var(--fondo2)}
.pet-card>h4{font-family:'Baloo 2',cursive;font-size:17.5px;color:var(--azul-osc);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.pet-card>h4 svg{width:20px;height:20px;color:var(--azul)}
.pet-del{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;color:var(--gris);font-family:'Poppins',sans-serif;font-size:12.5px;font-weight:600;padding:4px 8px;border-radius:8px}
.pet-del:hover{color:#c0392b;background:rgba(192,57,43,.08)}
.add-pet{width:100%;justify-content:center;border:1.6px dashed rgba(78,143,224,.5);background:#fff;color:var(--azul-osc);
  display:inline-flex;align-items:center;gap:9px;padding:13px;border-radius:14px;font-family:'Poppins',sans-serif;font-size:14.5px;font-weight:600;cursor:pointer;transition:.18s}
.add-pet:hover{background:var(--fondo);border-color:var(--azul)}
.add-pet svg{width:19px;height:19px}
.form-hint{font-size:12.5px;color:var(--gris);margin-top:5px;line-height:1.5}
.form-check{display:flex;gap:11px;align-items:flex-start;background:var(--fondo2);border:1px solid var(--borde);border-radius:13px;padding:14px 16px;margin-bottom:12px;cursor:pointer}
.form-check input{width:19px;height:19px;flex-shrink:0;margin-top:1px;accent-color:var(--azul-osc)}
.form-check span{font-size:13.7px;color:var(--tinta);line-height:1.55}
.form-check a{color:var(--azul);font-weight:600}

/* ---------- Earnings cards (ser-aupet) ---------- */
.earn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;max-width:820px;margin:0 auto}
.earn{background:#fff;border:1px solid var(--borde);border-radius:18px;padding:24px;text-align:center}
.earn.dark{background:var(--azul-osc);border-color:var(--azul-osc)}
.earn .lbl{font-size:12.5px;color:var(--gris);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.earn.dark .lbl{color:rgba(255,255,255,.65)}
.earn .big{font-family:'Baloo 2';font-size:32px;font-weight:800;color:var(--azul-osc)}
.earn.dark .big{color:#fff}
.earn .sm{font-size:12.5px;color:var(--gris);margin-top:4px}
.earn.dark .sm{color:rgba(255,255,255,.55)}

/* ---------- FAQ ---------- */
.faq{max-width:760px;margin:0 auto}
details{background:#fff;border:1px solid var(--borde);border-radius:16px;margin-bottom:12px;overflow:hidden;transition:box-shadow .2s}
details[open]{box-shadow:var(--sombra-sm)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:19px 22px;font-weight:600;font-size:15.5px;color:var(--azul-osc)}
summary::-webkit-details-marker{display:none}
summary .pm{width:26px;height:26px;border-radius:50%;background:var(--fondo);color:var(--naranja);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;transition:transform .2s}
details[open] summary .pm{transform:rotate(45deg)}
.faq-ans{padding:0 22px 20px;font-size:14.7px;color:var(--gris)}

/* ---------- CTA final ---------- */
.cta{position:relative;background:linear-gradient(160deg,#FFF7EF,#EAF2FC);overflow:hidden}
.cta .inner{position:relative;z-index:1;background:linear-gradient(155deg,var(--azul-osc),#234aa8);border-radius:32px;
  padding:56px 40px;text-align:center;color:#fff;box-shadow:var(--sombra)}
.cta h2{font-size:clamp(26px,4vw,40px);font-weight:800;margin-bottom:12px}
.cta p{color:rgba(255,255,255,.8);font-size:16.5px;max-width:520px;margin:0 auto 28px}
.cta .btn-wa{background:#25D366}

/* ---------- Footer ---------- */
footer{background:#0F1B30;color:rgba(255,255,255,.6);padding:60px 0 30px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px}
.foot-brand{display:flex;align-items:center;gap:10px;font-family:'Baloo 2';font-size:26px;font-weight:800;margin-bottom:12px}
.foot-brand img{height:40px}
.foot-brand .au{color:var(--azul-claro)}.foot-brand .pet{color:#fff}
.foot-desc{font-size:14px;line-height:1.7;max-width:280px}
.foot-social{display:flex;gap:10px;margin-top:18px}
.foot-social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:background .2s}
.foot-social a:hover{background:var(--azul)}
.foot-social svg{width:18px;height:18px;color:#fff}
.foot-col h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.45);margin-bottom:16px}
.foot-col ul{list-style:none}
.foot-col li{margin-bottom:10px}
.foot-col a{font-size:14px;color:rgba(255,255,255,.62);transition:color .15s}
.foot-col a:hover{color:#fff}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12.5px}
@media(max-width:780px){.foot-grid{grid-template-columns:1fr 1fr;gap:30px}}
@media(max-width:480px){.foot-grid{grid-template-columns:1fr}}

/* ---------- WhatsApp float ---------- */
.wa-float{position:fixed;bottom:24px;right:24px;width:60px;height:60px;border-radius:50%;background:#25D366;
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 26px rgba(37,211,102,.5);z-index:200;transition:transform .2s;animation:pulse-wa 2.6s infinite}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:32px;height:32px;fill:#fff}
@keyframes pulse-wa{0%{box-shadow:0 8px 26px rgba(37,211,102,.5),0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 8px 26px rgba(37,211,102,.5),0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 8px 26px rgba(37,211,102,.5),0 0 0 0 rgba(37,211,102,0)}}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}*{animation:none!important}}
