/* Libro paginado: hoja blanca única visible, header y footer en morado de marca. */
:root{
  --brand:#1D0938;
  --brand-2:#3A1262;
  --brand-3:#5B3391;
  --brand-tint:#F4F1F9;
  --brand-tint-2:#EAE4F3;
  --accent:#7DBF01;
  --accent-ink:#15803D;
  --accent-tint:#F0FDF4;
  --white:#FFFFFF;
  --ink:#1D0938;
  --body:#4A4257;
  --muted:#776E86;
  --line:#E4DFEC;
  --edge:0 1px 2px rgba(29,9,56,.06), 0 14px 40px rgba(29,9,56,.08);
  --font:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color-scheme:light;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--white);color:var(--body);
  font-family:var(--font);font-size:16px;line-height:1.6;font-weight:400;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
h1,h2,h3,h4{margin:0;line-height:1.16;font-weight:800;color:var(--ink);letter-spacing:-.015em;text-wrap:balance}
p{margin:0}
svg{flex:0 0 auto}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}

.gut{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.logo-cipres{max-width:200px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}

/* ================= BARRA DE ÍNDICE/PROGRESO (bajo el header real) ================= */
.topbar{
  position:relative;background:var(--brand);color:var(--white);
}
.topbar-in{max-width:1020px;margin-inline:auto;height:52px;display:flex;align-items:center;gap:.7rem}
.topbar .spacer{flex:1 1 auto}
.topbar-label{font-size:.78rem;font-weight:700;color:rgba(255,255,255,.75)}
.tbtn{
  font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;color:var(--white);
  border:1px solid rgba(255,255,255,.34);background:transparent;
  border-radius:999px;padding:.46rem .95rem;display:inline-flex;align-items:center;gap:.42rem;
}
.tbtn:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.6)}
.tbtn svg{width:15px;height:15px}
.progress{position:absolute;left:0;bottom:0;height:3px;background:var(--accent);width:0;transition:width .35s ease}

/* ================= HOJA ================= */
.book{max-width:1020px;margin-inline:auto;padding-block:clamp(18px,3vw,34px)}
.page{
  background:var(--white);border:1px solid var(--line);border-radius:6px;box-shadow:var(--edge);
  padding:clamp(24px,4.4vw,54px);
  min-height:min(70vh,620px);
  display:flex;flex-direction:column;position:relative;overflow:hidden;
}
.page[hidden]{display:none}
.turn{animation:turn .36s cubic-bezier(.22,.68,.36,1) both}
@keyframes turn{from{opacity:0;transform:translateX(var(--dx,14px))}to{opacity:1;transform:none}}
.folio{
  position:absolute;top:clamp(16px,2.6vw,26px);right:clamp(16px,2.6vw,26px);
  font-size:.7rem;letter-spacing:.16em;font-weight:700;color:var(--muted);
  font-variant-numeric:tabular-nums;
}
.kicker{
  font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;
  color:var(--accent-ink);margin-bottom:.7rem;display:flex;align-items:center;gap:.5rem;
}
.kicker svg{width:15px;height:15px}
.page h2{font-size:clamp(1.5rem,3.5vw,2.2rem)}
.page .dek{color:var(--muted);margin-top:.8rem;max-width:62ch;font-size:1rem}
.rule{height:1px;background:var(--line);margin:clamp(18px,2.6vw,28px) 0}

/* ================= PORTADA ================= */
.cover{
  align-items:center;justify-content:center;text-align:center;gap:1rem;
  background:linear-gradient(170deg,var(--brand) 0%,var(--brand-2) 58%,var(--brand-3) 140%);
  border-color:var(--brand);min-height:min(78vh,680px);
}
.cover > *:not(.folio){position:relative;z-index:1}
.cover.portada-hero::before{
  content:"";position:absolute;inset:0;
  background-image:url('../img/portada-mascotas.jpg');
  background-size:cover;background-position:center;background-repeat:no-repeat;
  filter:grayscale(100%);
}
.cover.portada-hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(170deg,rgba(29,9,56,.55) 0%,rgba(58,18,98,.48) 58%,rgba(91,51,145,.5) 140%);
}
.cover h1,.cover h2{color:var(--white)}
.cover h1,.cover h2{font-weight:800}
.cover .mark img{height:58px;margin-inline:auto}
.cover .mark .fb{display:none;font-weight:800;font-size:1.5rem;color:var(--white)}
.cover .mark.noimg img{display:none}
.cover .mark.noimg .fb{display:block}
.cover .label{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;font-weight:800;color:var(--accent)}
.cover h1{font-size:clamp(2rem,5.6vw,3.3rem);max-width:17ch}
.cover h1 em{font-style:normal;color:var(--accent)}
.cover .sub{color:rgba(255,255,255,.78);max-width:46ch}
.cover .from{
  margin-top:.5rem;display:inline-flex;align-items:baseline;gap:.5rem;
  border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:.52rem 1.2rem;
}
.cover .from b{font-size:1.3rem;font-weight:800;color:var(--white);font-variant-numeric:tabular-nums}
.cover .from span{font-size:.82rem;color:rgba(255,255,255,.75);font-weight:600}
.cover .paws{display:flex;gap:.7rem;color:rgba(255,255,255,.3)}
.cover .paws svg{width:26px;height:26px}
.cover .folio{color:rgba(255,255,255,.5)}
.art-fb{display:none;color:var(--muted);font-size:.84rem;border:1px dashed var(--line);border-radius:10px;padding:1.3rem;text-align:center}
.noimg img{display:none}
.noimg > .art-fb{display:block}

/* ================= ÍNDICE ================= */
.toc{list-style:none;margin:0;padding:0}
.toc button{
  width:100%;font:inherit;text-align:left;cursor:pointer;background:transparent;border:0;
  border-bottom:1px solid var(--line);padding:.85rem .3rem;
  display:grid;grid-template-columns:2.3rem 2rem 1fr auto;gap:.85rem;align-items:center;color:var(--ink);
}
.toc button:hover{background:var(--brand-tint)}
.toc .n{font-weight:800;color:var(--brand-3);font-variant-numeric:tabular-nums;font-size:.92rem}
.toc .ti{width:30px;height:30px;border-radius:8px;background:var(--brand-tint);color:var(--brand);display:grid;place-items:center}
.toc .ti svg{width:16px;height:16px}
.toc .t{font-weight:700;min-width:0;font-size:.95rem}
.toc .t small{display:block;font-weight:500;color:var(--muted);font-size:.8rem;margin-top:.05rem}
.toc .pg{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700}

/* ================= BLOQUES ================= */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:auto}
.stat{background:var(--brand-tint);border-radius:12px;padding:1.2rem;min-width:0}
.stat .big{font-size:clamp(1.7rem,4.2vw,2.4rem);font-weight:800;color:var(--brand);font-variant-numeric:tabular-nums;line-height:1}
.stat .cap{font-size:.83rem;color:var(--muted);margin-top:.45rem}

.plan-head{display:flex;align-items:flex-start;gap:clamp(16px,3vw,32px);flex-wrap:wrap}
.plan-art{flex:0 0 clamp(120px,21vw,180px);min-width:0}
.plan-meta{flex:1 1 260px;min-width:0}
.price{display:flex;align-items:baseline;gap:.5rem;margin-top:.8rem}
.price b{font-size:clamp(2.1rem,5.4vw,2.9rem);font-weight:800;color:var(--brand);font-variant-numeric:tabular-nums;line-height:1}
.price span{color:var(--muted);font-weight:600;font-size:.9rem}
.pills{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.9rem}
.pill{
  display:inline-flex;align-items:center;gap:.4rem;background:var(--brand-tint);
  color:var(--brand);border-radius:999px;padding:.4rem .85rem;font-size:.79rem;font-weight:700;
}
.pill svg{width:14px;height:14px}
.pill.warm{background:var(--accent-tint);color:var(--accent-ink)}

.incl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.incl li{display:grid;grid-template-columns:36px 1fr;gap:.8rem;align-items:start;min-width:0}
.ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--brand-tint);color:var(--brand)}
.ico svg{width:19px;height:19px}
li.no .ico{background:#F3F1F5;color:var(--muted)}
.incl strong{display:block;font-size:.94rem;color:var(--ink);font-weight:700}
.incl .d{color:var(--muted);font-size:.86rem}

/* comparador */
.bars{display:grid;gap:.85rem;margin-bottom:1.5rem}
.bar-row{display:grid;grid-template-columns:5.3rem 1fr 5rem;gap:.8rem;align-items:center}
.bar-row .lbl{font-weight:700;font-size:.88rem;color:var(--ink)}
.bar-track{background:var(--brand-tint);border-radius:999px;height:26px;overflow:hidden}
.bar-fill{height:100%;background:linear-gradient(90deg,var(--brand) 0%,var(--brand-3) 100%);border-radius:999px;width:0;transition:width .7s cubic-bezier(.2,.7,.3,1)}
.bar-row .val{text-align:right;font-weight:800;font-variant-numeric:tabular-nums;font-size:.9rem;color:var(--brand)}
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:.9rem}
th,td{padding:.82rem 1rem;text-align:left;border-bottom:1px solid var(--line)}
thead th{background:var(--brand);color:var(--white);font-weight:700;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}
tbody th{font-weight:600;color:var(--muted);font-size:.85rem}
tbody tr:last-child td,tbody tr:last-child th{border-bottom:none}
td.yes{color:var(--brand);font-weight:700}
td.no{color:var(--muted)}
td.num{font-variant-numeric:tabular-nums;font-weight:800;color:var(--brand)}

/* selector */
.q{margin-bottom:1.4rem}
.q > p{font-weight:700;margin-bottom:.65rem;color:var(--ink)}
.opts{display:flex;gap:.5rem;flex-wrap:wrap}
.opt{
  font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;
  border:1px solid var(--line);background:var(--white);color:var(--ink);
  border-radius:10px;padding:.6rem 1.05rem;
}
.opt:hover{border-color:var(--brand-3)}
.opt[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:var(--white)}
.result{
  margin-top:auto;padding:1.25rem;border-radius:14px;background:var(--brand-tint);
  border:1px solid var(--line);display:flex;gap:1rem;justify-content:space-between;
  align-items:center;flex-wrap:wrap;
}
.result .k{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--accent-ink)}
.result .v{font-size:1.4rem;font-weight:800;color:var(--brand);margin-top:.1rem}
.result .why{color:var(--muted);font-size:.86rem;margin-top:.25rem;max-width:48ch}
.gobtn{
  font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;color:#111;
  background:var(--accent);border:0;border-radius:999px;padding:.65rem 1.2rem;
  display:inline-flex;align-items:center;gap:.4rem;
}
.gobtn:hover{background:#6AAB01}
.gobtn svg{width:14px;height:14px}

/* pasos */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;counter-reset:s}
.steps li{counter-increment:s;min-width:0;position:relative;padding-top:3.1rem}
.steps li::before{
  content:counter(s);position:absolute;top:0;left:0;
  width:2.2rem;height:2.2rem;border-radius:50%;background:var(--brand);color:var(--white);
  display:grid;place-items:center;font-weight:800;font-size:.95rem;
}
.steps li::after{content:"";position:absolute;top:1.1rem;left:2.5rem;right:-.6rem;height:2px;background:var(--line)}
.steps li:last-child::after{display:none}
.steps .si{color:var(--brand-3);margin-bottom:.5rem}
.steps .si svg{width:22px;height:22px}
.steps h3{font-size:.98rem;margin-bottom:.3rem;font-weight:700}
.steps p{color:var(--muted);font-size:.86rem}

/* ciudades */
.city-tools{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}
.search{
  flex:1 1 240px;min-width:0;display:flex;align-items:center;gap:.6rem;
  background:var(--white);border:1px solid var(--line);border-radius:999px;padding:.56rem 1.05rem;
}
.search svg{width:16px;height:16px;color:var(--muted)}
.search input{border:0;background:transparent;color:var(--ink);font:inherit;font-size:.92rem;width:100%;min-width:0;outline:none}
.city-count{font-size:.81rem;color:var(--muted);font-weight:700;font-variant-numeric:tabular-nums}
.cities{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem}
.cities li{
  background:var(--brand-tint);border-radius:9px;padding:.58rem .8rem;min-width:0;
  display:grid;grid-template-columns:16px 1fr;gap:.55rem;align-items:center;
}
.cities svg{width:15px;height:15px;color:var(--brand-3)}
.cities .nm{font-weight:700;font-size:.87rem;color:var(--ink)}
.cities .dp{display:block;font-size:.72rem;color:var(--muted);font-weight:500}
.cities li.hidden{display:none}
.empty{color:var(--muted);font-size:.88rem;padding:.9rem 0}
.aside{
  margin-top:1.2rem;font-size:.85rem;color:var(--muted);
  border-left:3px solid var(--accent);padding-left:1rem;max-width:68ch;
}
.aside strong{color:var(--ink)}

/* pagos */
.pay-logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:.7rem}
.pay-logo{
  background:var(--white);border:1px solid var(--line);border-radius:10px;
  display:flex;align-items:center;justify-content:center;padding:.55rem;height:60px;
}
.pay-logo img{max-height:32px;max-width:100%;object-fit:contain}
.payroll{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.3rem}
.payroll div{
  background:var(--brand);color:var(--white);border-radius:12px;padding:1.05rem;min-width:0;
  display:grid;grid-template-columns:34px 1fr;gap:.8rem;align-items:center;
}
.payroll svg{width:22px;height:22px;color:var(--accent)}
.payroll strong{display:block;font-weight:700;font-size:.92rem}
.payroll span{font-size:.8rem;color:rgba(255,255,255,.7)}

/* faq */
.faq{display:grid;gap:.5rem}
details{background:var(--brand-tint);border-radius:10px;padding:0 1.05rem}
summary{cursor:pointer;list-style:none;padding:.9rem 0;font-weight:700;font-size:.92rem;color:var(--ink);display:flex;justify-content:space-between;gap:1rem;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.3rem;font-weight:600;color:var(--brand-3);line-height:1}
details[open] summary::after{content:"–"}
details .ans{padding:0 0 .95rem;color:var(--muted);font-size:.87rem;max-width:64ch}

/* contraportada */
.closing{gap:1rem}
.closing p{color:rgba(255,255,255,.8);max-width:48ch}
.closing .kicker{color:var(--accent);justify-content:center}
.cbtns{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-top:.3rem}
.btn{
  display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;font-family:var(--font);
  font-weight:700;font-size:.9rem;padding:.75rem 1.3rem;border-radius:999px;border:1px solid transparent;
}
.btn svg{width:16px;height:16px}
.btn-solid{background:var(--accent);color:#111}
.btn-solid:hover{background:#6AAB01}
.btn-line{border-color:rgba(255,255,255,.45);color:var(--white)}
.btn-line:hover{border-color:var(--white);background:rgba(255,255,255,.1)}
.closing .phone{color:var(--white);font-weight:800;font-variant-numeric:tabular-nums;font-size:1.05rem}
.closing .site{font-size:.82rem;color:rgba(255,255,255,.62)}

/* ================= NAVEGACIÓN DE PÁGINAS (sobre el footer real) ================= */
.navbar{
  position:relative;background:var(--brand);color:var(--white);
}
.navbar-in{max-width:1020px;margin-inline:auto;height:76px;display:flex;align-items:center;gap:1rem}
.nbtn{
  font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;color:var(--white);
  border:1px solid rgba(255,255,255,.34);background:transparent;
  border-radius:999px;padding:.58rem 1.1rem;display:inline-flex;align-items:center;gap:.42rem;
}
.nbtn:hover:not(:disabled){background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.6)}
.nbtn:disabled{opacity:.3;cursor:not-allowed}
.nbtn svg{width:14px;height:14px}
.dots{display:flex;gap:.32rem;margin-inline:auto;flex-wrap:wrap;justify-content:center;min-width:0}
.dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);border:0;padding:0;cursor:pointer}
.dot[aria-current="true"]{background:var(--accent);transform:scale(1.4)}
.dot:hover{background:rgba(255,255,255,.65)}
@media (max-width:640px){.dots{display:none}.navbar-in{justify-content:space-between}}

/* ================= PANEL DE ÍNDICE ================= */
.scrim{position:fixed;inset:0;background:rgba(29,9,56,.55);z-index:60;opacity:0;pointer-events:none;transition:opacity .22s ease}
.scrim.open{opacity:1;pointer-events:auto}
.drawer{
  position:fixed;top:0;bottom:0;right:0;width:min(400px,92vw);z-index:70;
  background:var(--white);transform:translateX(100%);
  transition:transform .26s cubic-bezier(.3,.7,.3,1);
  display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(29,9,56,.18);
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}
.drawer.open{transform:none}
.drawer-head{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.05rem 1.25rem;background:var(--brand);color:var(--white);
}
.drawer-head h2{font-size:1.1rem;color:var(--white)}
.drawer-body{overflow-y:auto;padding:.3rem 1.25rem 1.5rem}
.xbtn{font:inherit;font-size:1.4rem;line-height:1;cursor:pointer;background:transparent;border:0;color:rgba(255,255,255,.75);padding:.2rem .45rem}
.xbtn:hover{color:var(--white)}
.drawer .toc button{grid-template-columns:2rem 1.9rem 1fr;padding:.75rem .1rem}
.drawer .toc .pg{display:none}
.drawer .toc button[aria-current="true"]{background:var(--brand-tint)}
.drawer .toc button[aria-current="true"] .ti{background:var(--brand);color:var(--white)}

:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}

@media (max-width:760px){
  .stats{grid-template-columns:1fr}
  .incl{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;gap:1.2rem}
  .steps li::after{display:none}
  .payroll{grid-template-columns:1fr}
  .bar-row{grid-template-columns:4.4rem 1fr 4.6rem;gap:.5rem}
}
