/* ============================================================
   RENTABILIO.COM · Hoja de estilos
   ------------------------------------------------------------
   Diseño limpio sobre blanco con los dos colores de la marca:
   rojo #e81848 y azul petróleo #185070. Es la misma paleta y la
   misma tipografía de tradea.es; lo que cambia es que aquí hay
   tienda, área de cliente y panel, así que al final del archivo
   están los bloques que allí no existían.
   ============================================================ */

:root{
  --red:#e81848; --red-dark:#c60f3a; --red-050:#fdeef3;
  --blue:#185070; --blue-dark:#0e3a54; --blue-900:#092b3f; --blue-light:#1f7fae;
  --text:#44555f; --text-soft:#6b7c86;
  --soft:#f4f7f9; --line:#e3e9ee; --white:#ffffff;
  --ok:#1d9e63; --ok-dark:#178150; --ok-050:#eaf7f0;
  --warn:#b45309;
  --radius:12px;
  --shadow:0 1px 2px rgba(9,43,63,.06), 0 10px 28px rgba(9,43,63,.09);
  --shadow-sm:0 1px 2px rgba(9,43,63,.07), 0 4px 12px rgba(9,43,63,.06);
  --font-h:'Sora',system-ui,-apple-system,sans-serif;
  --font:'Inter',system-ui,-apple-system,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font:16px/1.65 var(--font);color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue-light);text-decoration:none}
a:hover{color:var(--blue)}
h1,h2,h3,h4{font-family:var(--font-h);color:var(--blue);letter-spacing:-.02em;line-height:1.14}
strong{color:var(--blue)}
.wrap{max-width:1160px;margin:0 auto;padding:0 22px}
.wrap-narrow{max-width:820px;margin:0 auto;padding:0 22px}
.wrap-mid{max-width:960px;margin:0 auto;padding:0 22px}

/* ---------- Utilidades ---------- */
.red{color:var(--red)}
.center{text-align:center}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ico{width:1.15em;height:1.15em;fill:currentColor;vertical-align:-.2em;flex:0 0 auto}
.muted{color:var(--text-soft)}
.nowrap{white-space:nowrap}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border:0;cursor:pointer;
  font:700 1rem var(--font);border-radius:10px;padding:.92rem 1.65rem;letter-spacing:-.005em;
  transition:transform .15s,box-shadow .15s,background .15s;text-decoration:none;text-align:center}
.btn:active{transform:translateY(1px)}
.btn-red{background:var(--red);color:#fff!important;box-shadow:0 1px 2px rgba(150,10,45,.28), 0 6px 16px rgba(232,24,72,.20)}
.btn-red:hover{background:var(--red-dark);color:#fff;transform:translateY(-2px)}
.btn-blue{background:var(--blue);color:#fff!important;box-shadow:0 1px 2px rgba(9,43,63,.28), 0 6px 16px rgba(24,80,112,.18)}
.btn-blue:hover{background:var(--blue-dark);color:#fff;transform:translateY(-2px)}
.btn-line{background:#fff;border:1px solid #ccd8e0;color:var(--blue)!important;font-weight:700;
  box-shadow:0 1px 2px rgba(9,43,63,.06)}
.btn-line:hover{border-color:var(--blue);transform:translateY(-2px)}
.btn-white{background:#fff;color:var(--blue)!important}
.btn-white:hover{transform:translateY(-2px)}
.btn-ok{background:var(--ok);color:#fff!important;box-shadow:0 1px 2px rgba(12,90,55,.28), 0 6px 16px rgba(29,158,99,.18)}
.btn-ok:hover{background:var(--ok-dark);color:#fff;transform:translateY(-2px)}
.btn-lg{padding:1.05rem 2rem;font-size:1.06rem;border-radius:11px}
.btn-sm{padding:.58rem 1rem;font-size:.87rem;border-radius:8px}
.btn[disabled],.btn.is-off{opacity:.5;pointer-events:none}
.btn-block{width:100%}

/* ---------- Cabecera ---------- */
.hd{position:sticky;top:0;z-index:900;background:rgba(255,255,255,.72);
  -webkit-backdrop-filter:saturate(180%) blur(16px);backdrop-filter:saturate(180%) blur(16px);
  border-bottom:1px solid rgba(227,233,238,.85);
  transition:background .28s ease,box-shadow .28s ease,border-color .28s ease}
.hd.is-scrolled{background:rgba(255,255,255,.94);border-bottom-color:transparent;box-shadow:0 12px 34px rgba(9,43,63,.10)}
.hd .wrap{display:flex;align-items:center;gap:1.2rem;height:78px;transition:height .28s ease}
.hd.is-scrolled .wrap{height:66px}

.logo{display:flex;align-items:center;gap:.62rem;text-decoration:none}
/* El logotipo es la palabra, sin cajita al lado. Va en SVG con el trazado
   de la Sora dentro, así que el ancho manda y el alto sale solo. El azul
   viene de `color`, que es lo que permite ponerlo blanco en el pie sin
   repetir el dibujo; el punto rojo va fijo dentro del símbolo. */
.logo-wm{width:172px;height:auto;display:block;color:var(--blue);
  transition:transform .28s cubic-bezier(.34,1.56,.64,1)}
.logo:hover .logo-wm{transform:translateY(-1px) scale(1.025)}
.hd.is-scrolled .logo-wm{width:158px}
.logo-mark{width:40px;height:40px;flex:0 0 auto}

.nav{display:flex;align-items:center;gap:.7rem;margin-left:auto}
.nav-links{display:flex;align-items:center;gap:.1rem}
.nav-links a{position:relative;display:inline-flex;align-items:center;white-space:nowrap;
  font:600 .93rem var(--font);color:#4c6473;padding:.5rem .8rem;border-radius:8px;
  transition:color .16s ease,background .16s ease}
.nav-links a:after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.06rem;height:2px;
  border-radius:2px;background:var(--red);transform:scaleX(0);transform-origin:left;
  transition:transform .18s ease}
.nav-links a:hover{color:var(--blue);background:var(--soft)}
.nav-links a.on{color:var(--blue);font-weight:700}
.nav-links a.on:after{transform:scaleX(1)}

.nav-cta{padding:.62rem 1.15rem;font-size:.91rem;border-radius:9px;white-space:nowrap}
.nav-cta .ico{width:1.25em;height:1.25em}
.nav-account{display:inline-flex;align-items:center;gap:.4rem;font:700 .88rem var(--font);
  color:var(--blue);padding:.5rem .8rem;border-radius:999px;border:1px solid var(--line);background:#fff;
  white-space:nowrap}
.nav-account:hover{border-color:var(--blue);color:var(--blue)}

.burger{display:none;margin-left:auto;align-items:center;justify-content:center;width:46px;height:46px;
  background:#fff;border:1px solid var(--line);border-radius:14px;cursor:pointer;color:var(--blue);
  transition:border-color .18s ease,box-shadow .18s ease}
.burger:hover{border-color:var(--blue);box-shadow:0 8px 18px rgba(9,43,63,.10)}
.burger-lines{position:relative;display:block;width:20px;height:14px}
.burger-lines i{position:absolute;left:0;right:0;height:2px;border-radius:2px;background:var(--blue);
  transition:top .24s ease,transform .24s ease,opacity .16s ease}
.burger-lines i:nth-child(1){top:0}
.burger-lines i:nth-child(2){top:6px}
.burger-lines i:nth-child(3){top:12px}
.burger[aria-expanded="true"] .burger-lines i:nth-child(1){top:6px;transform:rotate(45deg)}
.burger[aria-expanded="true"] .burger-lines i:nth-child(2){opacity:0}
.burger[aria-expanded="true"] .burger-lines i:nth-child(3){top:6px;transform:rotate(-45deg)}

@media(max-width:1099.98px){
  .hd .wrap,.hd.is-scrolled .wrap{height:70px}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;margin-left:0;background:#fff;
    flex-direction:column;align-items:stretch;gap:.2rem;padding:.9rem 1.1rem 1.3rem;
    border-bottom:1px solid var(--line);box-shadow:0 26px 44px rgba(9,43,63,.16)}
  .nav.is-open{display:flex;animation:navdown .22s ease-out}
  .nav-links{flex-direction:column;align-items:stretch;gap:.15rem;padding:0;border:0;border-radius:0;
    background:none;box-shadow:none}
  .nav-links a{padding:.85rem 1rem;font-size:1.02rem;border-radius:10px}
  .nav-links a:after{display:none}
  .nav-links a:hover{transform:none;box-shadow:none;background:var(--soft)}
  .nav-links a.on{background:var(--red-050);color:var(--red);box-shadow:none}
  .nav-links a.on:hover{color:var(--red)}
  .nav-cta,.nav-account{margin:.7rem 0 0;justify-content:center;width:100%}
  .burger{display:inline-flex}
}
@keyframes navdown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:84px 0 70px;
  background:
    radial-gradient(640px 420px at 88% -10%, rgba(232,24,72,.07), transparent 60%),
    radial-gradient(720px 480px at -12% 110%, rgba(24,80,112,.08), transparent 60%),
    #fff}
.hero-row{display:grid;grid-template-columns:1.04fr .96fr;gap:3.4rem;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;color:var(--red);
  font:800 .76rem var(--font);letter-spacing:.13em;text-transform:uppercase}
.eyebrow:before{content:"";width:22px;height:3px;border-radius:2px;background:var(--red);flex:0 0 auto}
/* La barra roja ya hace de señal; el punto que llevaban algunos rótulos
   sobraba y salían los dos juntos, así que se esconde. */
.eyebrow .dot{display:none}
.sec-head .eyebrow{justify-content:center}
@keyframes beat{0%{box-shadow:0 0 0 0 rgba(232,24,72,.5)}100%{box-shadow:0 0 0 10px transparent}}
.hero h1{font-size:clamp(2.3rem,4.7vw,3.55rem);font-weight:800;margin:1.1rem 0 .4rem}
.hero h1 .mark{position:relative;white-space:nowrap}
.hero h1 .mark:after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.3em;
  background:rgba(232,24,72,.16);z-index:-1;border-radius:2px}
.lead{font-size:1.16rem;line-height:1.66;color:var(--text);max-width:560px;margin-top:.9rem}
.cta-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.trust{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:1.9rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.trust span{display:flex;align-items:center;gap:.55rem;font:600 .9rem var(--font);color:var(--text)}
.trust .ico{color:var(--red)}
.trust b{color:var(--blue)}

/* Tarjeta de prueba (el backtest) del hero */
.proof{position:relative}
.proof-vis{position:relative}
.proof-box{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  box-shadow:0 30px 70px rgba(9,43,63,.16)}
.proof-bar{display:flex;align-items:center;gap:.45rem;background:var(--soft);border-bottom:1px solid var(--line);padding:.6rem .9rem}
.proof-bar i{width:11px;height:11px;border-radius:50%;background:#d6dfe5}
.proof-bar i:first-child{background:#f2b8c6}
.proof-bar span{margin-left:.4rem;font:600 .78rem var(--font);color:var(--text-soft)}
.proof-chip{position:absolute;right:-14px;top:-16px;background:var(--blue);color:#fff;border-radius:14px;
  padding:.7rem 1.1rem;box-shadow:0 16px 36px rgba(9,43,63,.35);text-align:left;animation:float 6s ease-in-out infinite}
.proof-chip b{display:block;font:800 1.35rem/1 var(--font-h);color:#fff}
.proof-chip small{font:600 .74rem var(--font);color:#bcd6e4}
.proof-foot{position:absolute;left:18px;bottom:-15px;background:#fff;border:1px solid var(--line);border-radius:30px;
  padding:.55rem 1.05rem;display:inline-flex;gap:.5rem;align-items:center;font:700 .84rem var(--font);color:var(--blue);
  box-shadow:0 14px 30px rgba(9,43,63,.14);animation:float 7s ease-in-out .8s infinite}
.proof-foot .ico{color:var(--ok)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

/* Avisos bajo la gráfica */
.side-card{display:flex;align-items:center;gap:.9rem;margin-top:2.7rem;padding:.95rem 1.15rem;width:100%;
  border-radius:18px;border:1px solid rgba(232,24,72,.22);text-decoration:none;text-align:left;
  background:linear-gradient(135deg,#fff 0%,var(--red-050) 100%);font:inherit;cursor:pointer;
  box-shadow:0 14px 30px rgba(232,24,72,.10);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.side-card:hover{transform:translateY(-3px);border-color:rgba(232,24,72,.45);
  box-shadow:0 22px 42px rgba(232,24,72,.20)}
.side-card .sc-ico{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:44px;height:44px;border-radius:14px;color:#fff;
  background:linear-gradient(135deg,var(--red),var(--red-dark));box-shadow:0 8px 18px rgba(232,24,72,.32)}
.side-card .sc-ico .ico{width:22px;height:22px}
.side-card .sc-txt{display:block;min-width:0}
.side-card b{display:block;font:800 1.02rem/1.25 var(--font-h);color:var(--blue);letter-spacing:-.01em}
.side-card small{display:block;margin-top:.15rem;font:600 .88rem/1.35 var(--font);color:var(--text)}
.side-card .sc-arrow{margin-left:auto;flex:0 0 auto;width:20px;height:20px;color:var(--red);transition:transform .18s ease}
.side-card:hover .sc-arrow{transform:translateX(4px)}
.side-card.blue{margin-top:1rem;border-color:rgba(24,80,112,.18);
  background:linear-gradient(135deg,#fff 0%,#eef4f8 100%);box-shadow:0 14px 30px rgba(9,43,63,.10)}
.side-card.blue:hover{border-color:rgba(24,80,112,.42);box-shadow:0 22px 42px rgba(9,43,63,.18)}
.side-card.blue .sc-ico{background:linear-gradient(135deg,var(--blue-light),var(--blue));box-shadow:0 8px 18px rgba(24,80,112,.30)}
.side-card.blue .sc-arrow{color:var(--blue)}
.sc-more{display:inline-flex;align-items:center;gap:.4rem;margin-top:.45rem;color:var(--red);
  font:800 .8rem var(--font);letter-spacing:.02em}
.sc-more:after{content:"";width:6px;height:6px;border-right:2px solid currentColor;
  border-top:2px solid currentColor;transform:rotate(45deg);transition:transform .18s ease}
.side-card:hover .sc-more:after{transform:rotate(45deg) translate(2px,-2px)}
@media(max-width:639.98px){
  .side-card{margin-top:2.4rem;padding:.85rem .95rem;gap:.75rem}
  .side-card b{font-size:.96rem}
  .side-card small{font-size:.84rem}
  .side-card.blue{margin-top:.85rem}
}

/* ---------- Secciones ---------- */
.sec{padding:92px 0}
.sec-soft{background:var(--soft)}
.sec-head{max-width:720px;margin:0 auto 3rem;text-align:center}
.sec-head h2{font-size:clamp(1.75rem,3.2vw,2.5rem);font-weight:800;margin-top:.9rem}
.sec-head p{margin-top:.8rem;font-size:1.06rem;color:var(--text)}
.sec-head.left{max-width:none;text-align:left;margin:0 0 2.2rem}

/* Tarjetas */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem;
  transition:transform .18s,box-shadow .18s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d3dde5}
.card .tic{width:48px;height:48px;border-radius:10px;background:var(--red-050);color:var(--red);
  display:flex;align-items:center;justify-content:center;margin-bottom:1.05rem}
.card .tic .ico{width:1.55em;height:1.55em}
.card.blueish .tic{background:#e8f1f6;color:var(--blue)}
.card h3{font-size:1.14rem;font-weight:800;margin-bottom:.45rem}
.card p{font-size:.95rem;color:var(--text)}
.card.flat:hover{transform:none;box-shadow:none}

/* Pasos numerados */
.steps{counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.steps.s2{grid-template-columns:repeat(2,1fr)}
.steps.s4{grid-template-columns:repeat(4,1fr)}
.step{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:2.1rem 1.7rem 1.7rem}
.step:before{counter-increment:step;content:counter(step,decimal-leading-zero);
  font:800 3rem/1 var(--font-h);color:var(--red-050);-webkit-text-stroke:2px var(--red);
  position:absolute;top:1.1rem;right:1.3rem}
.step h3{font-size:1.12rem;margin-bottom:.45rem}
.step p{font-size:.95rem}
.steps.s4 .step{padding-top:3.9rem}
.steps.s4 .step:before{top:1rem;left:1.6rem;right:auto;font-size:2.4rem}
@media(max-width:991.98px){.steps.s4{grid-template-columns:1fr 1fr}}
@media(max-width:639.98px){.steps,.steps.s2,.steps.s4{grid-template-columns:1fr}}

/* Lista con ticks */
.ticks{list-style:none;display:grid;gap:.85rem}
.ticks li{display:flex;gap:.7rem;align-items:flex-start;font-size:1rem}
.ticks .ico{color:var(--ok);margin-top:.22em}
.ticks.red .ico{color:var(--red)}

/* Comparativa */
.versus{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.vs{border-radius:var(--radius);padding:1.9rem;border:1px solid var(--line);background:#fff}
.vs.bad h3{color:var(--text-soft)}
.vs.good{border:2px solid var(--blue);box-shadow:var(--shadow);position:relative}
.vs.good:before{content:attr(data-tag);position:absolute;top:-13px;left:1.6rem;background:var(--red);color:#fff;
  font:800 .72rem var(--font);letter-spacing:.08em;border-radius:20px;padding:.3rem .85rem}
.vs h3{font-size:1.12rem;margin-bottom:1rem}
.vs ul{list-style:none;display:grid;gap:.75rem}
.vs li{display:flex;gap:.65rem;align-items:flex-start;font-size:.96rem}
.vs .ico{margin-top:.22em}
.vs.bad .ico{color:#c4530a}
.vs.good .ico{color:var(--ok)}

/* Banda oscura */
.band{background:linear-gradient(150deg,var(--blue-900),var(--blue) 70%,#1c5f85);color:#d9e6ee;
  border-radius:26px;padding:3.4rem;position:relative;overflow:hidden}
.band:before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(560px 320px at 88% 8%, rgba(232,24,72,.22), transparent 60%)}
.band>*{position:relative}
.band h2{color:#fff;font-size:clamp(1.7rem,3vw,2.35rem)}
.band h3{color:#fff}
.band .eyebrow{background:rgba(232,24,72,.16);color:#ffb3c6}
.band p{color:#c6d8e2}
.band strong{color:#fff}
.band a:not(.btn){color:#9fd3ef;font-weight:700}
.band .ticks li{color:#dbe7ee}
.band .ticks .ico{color:#7ee2a8}

/* Cifras */
.figs{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
.figs.f3{grid-template-columns:repeat(3,1fr)}
.fig{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-left:4px solid var(--red);
  border-radius:14px;padding:1.05rem 1.2rem;min-width:0}
.fig b{display:block;font:800 1.75rem/1.1 var(--font-h);color:#fff}
.fig span{font:600 .82rem var(--font);color:#b7cdd9}
.figs.light .fig{background:#fff;border:1px solid var(--line);border-left:4px solid var(--red)}
.figs.light .fig b{color:var(--blue)}
.figs.light .fig span{color:var(--text-soft)}

/* Marco de captura */
.shot{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.shot.dark{border-color:rgba(255,255,255,.18);box-shadow:0 30px 70px rgba(0,0,0,.35)}
.shot-cap{font:600 .84rem var(--font);color:var(--text-soft);text-align:center;margin-top:.9rem}
.band .shot-cap{color:#9db6c4}

/* FAQ */
.faq{display:grid;gap:.9rem;max-width:820px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 1.4rem;transition:box-shadow .18s}
.faq details[open]{box-shadow:var(--shadow)}
.faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  font:700 1.02rem var(--font);color:var(--blue);padding:1.15rem 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary .plus{flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:var(--red-050);color:var(--red);
  display:flex;align-items:center;justify-content:center;font:800 1.05rem/1 var(--font);transition:transform .2s}
.faq details[open] summary .plus{transform:rotate(45deg)}
.faq .faq-body{padding:0 0 1.25rem;color:var(--text);font-size:.97rem}
.faq .faq-body p+p{margin-top:.6rem}

/* ---------- Blog ---------- */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.post{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s;text-decoration:none}
.post:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.post img{aspect-ratio:16/9;object-fit:cover}
.post-body{padding:1.35rem 1.45rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.post-meta{font:600 .78rem var(--font);color:var(--text-soft);letter-spacing:.02em;text-transform:uppercase}
.post h3{font-size:1.08rem;line-height:1.34}
.post p{font-size:.92rem;color:var(--text)}
.post .more{margin-top:auto;padding-top:.7rem;font:700 .9rem var(--font);color:var(--red);
  display:inline-flex;align-items:center;gap:.4rem}
.post-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:0;background:#fff;border:1px solid var(--line);
  border-radius:22px;overflow:hidden;box-shadow:var(--shadow);text-decoration:none;margin-bottom:2.4rem;
  transition:transform .18s,box-shadow .18s}
.post-hero:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(9,43,63,.16)}
.post-hero img{width:100%;height:100%;min-height:260px;object-fit:cover}
.post-hero .body{padding:2.2rem;display:flex;flex-direction:column;justify-content:center;gap:.6rem}
.post-hero h2{font-size:clamp(1.3rem,2.4vw,1.8rem);line-height:1.2}
.post-hero p{font-size:1rem;color:var(--text)}
.post-hero .more{margin-top:.5rem;font:700 .95rem var(--font);color:var(--red);display:inline-flex;align-items:center;gap:.4rem}
.blog-sec{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:3rem 0 1.4rem;
  padding-bottom:.8rem;border-bottom:1px solid var(--line)}
.blog-sec h2{font-size:1.35rem}
.blog-sec span{font:600 .86rem var(--font);color:var(--text-soft)}
.topics{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.topic{background:#fff;border:1.5px solid var(--line);border-radius:30px;padding:.5rem 1.1rem;
  font:700 .88rem var(--font);color:var(--blue);text-decoration:none;transition:border-color .15s,transform .15s}
.topic:hover{border-color:var(--red);color:var(--red);transform:translateY(-2px)}
.topic.on{border-color:var(--red);background:var(--red-050);color:var(--red)}
.post-hero[hidden],.post[hidden]{display:none}

/* Artículo */
.art-hero{padding:70px 0 46px;background:
  radial-gradient(560px 340px at 90% -20%, rgba(232,24,72,.06), transparent 60%),#fff}
.art-hero h1{font-size:clamp(1.9rem,3.6vw,2.7rem);max-width:820px}
.art-meta{display:flex;gap:1.1rem;flex-wrap:wrap;margin-top:1.1rem;font:600 .88rem var(--font);color:var(--text-soft)}
.art-img{border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);margin:2.2rem 0}
.prose{font-size:1.05rem;line-height:1.78}
.prose h2{font-size:1.55rem;margin:2.4rem 0 .9rem;scroll-margin-top:90px}
.prose h3{font-size:1.22rem;margin:1.9rem 0 .7rem}
.prose p{margin:0 0 1.1rem}
.prose ul,.prose ol{margin:0 0 1.2rem 1.4rem}
.prose li{margin-bottom:.5rem}
.prose blockquote{border-left:4px solid var(--red);background:var(--red-050);border-radius:0 12px 12px 0;
  padding:1rem 1.3rem;margin:1.4rem 0;color:var(--blue);font-weight:600}
.prose .note{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:1rem 1.3rem;
  margin:1.4rem 0;font-size:.95rem}
.prose .note strong:first-child{color:var(--red)}
.prose .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.6rem 0}
.prose table{width:100%;min-width:520px;border-collapse:separate;border-spacing:0;background:#fff;
  border:1px solid var(--line);border-radius:16px;overflow:hidden;font-size:.94rem;line-height:1.5}
.prose thead th{background:var(--blue);color:#fff;font:800 .78rem var(--font);letter-spacing:.05em;
  text-transform:uppercase;text-align:left;padding:.85rem 1rem;vertical-align:bottom}
.prose tbody td{padding:.85rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}
.prose tbody tr:last-child td{border-bottom:0}
.prose tbody tr:nth-child(even) td{background:#fafcfd}
.prose tbody td:first-child{font-weight:700;color:var(--blue)}
.prose table strong{color:var(--blue)}
.prose figure.fig-img{margin:2rem 0}
.prose figure.fig-img img{width:100%;border-radius:16px;border:1px solid var(--line);box-shadow:0 18px 44px rgba(9,43,63,.12)}
.prose figure.fig-img figcaption{margin-top:.7rem;font:600 .87rem var(--font);color:var(--text-soft);text-align:center}

/* Bloques dentro de las guías largas */
.prose .key{position:relative;background:linear-gradient(135deg,#fff 0%,var(--red-050) 100%);
  border:1px solid rgba(232,24,72,.20);border-left:4px solid var(--red);border-radius:0 16px 16px 0;
  padding:1.2rem 1.4rem;margin:1.6rem 0}
.prose .key b:first-child{display:block;font:800 .78rem var(--font);letter-spacing:.09em;
  text-transform:uppercase;color:var(--red);margin-bottom:.4rem}
.prose .key p{margin:0}
.prose .key p+p{margin-top:.6rem}
.prose .cta-inline{background:var(--blue);color:#fff;border-radius:18px;padding:1.5rem 1.6rem;margin:2rem 0;
  box-shadow:0 18px 40px rgba(9,43,63,.18)}
.prose .cta-inline b{display:block;font:800 1.15rem/1.3 var(--font-h);color:#fff;margin-bottom:.45rem}
.prose .cta-inline p{color:#c6d8e2;margin:0 0 1rem;font-size:.98rem}
.prose .cta-inline .row{display:flex;flex-wrap:wrap;gap:.6rem}
.prose .risk-note{display:flex;gap:.85rem;align-items:flex-start;background:#fff;
  border:1.5px solid rgba(232,24,72,.28);border-radius:14px;padding:1rem 1.2rem;margin:1.8rem 0;font-size:.93rem}
.prose .risk-note .ico{color:var(--red);width:1.4em;height:1.4em;flex:0 0 auto;margin-top:.15em}
.prose .risk-note b{color:var(--red)}
.prose .risk-note p{margin:0}
.prose .sources{background:var(--soft);border:1px solid var(--line);border-radius:14px;
  padding:1.1rem 1.3rem;margin:2rem 0 1rem;font-size:.93rem}
.prose .sources b{display:block;font:800 .95rem var(--font-h);color:var(--blue);margin-bottom:.5rem}
.prose .sources ul{margin:0 0 0 1.2rem}
.prose .sources li{margin-bottom:.35rem}
.prose .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.9rem;margin:1.6rem 0}
.prose .mini{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.05rem 1.15rem}
.prose .mini b{display:block;font:800 1rem var(--font-h);color:var(--blue);margin-bottom:.3rem}
.prose .mini span{display:block;font-size:.92rem;line-height:1.55}

.cta-art{background:linear-gradient(150deg,var(--blue-900),var(--blue));border-radius:18px;padding:1.9rem;
  color:#d9e6ee;margin:2.4rem 0}
.cta-art h3{color:#fff;font-size:1.3rem;margin-bottom:.5rem}
.cta-art p{color:#c6d8e2;margin-bottom:1.1rem}
.related{border-top:1px solid var(--line);margin-top:3rem;padding-top:2rem}
.related h2{font-size:1.3rem;margin-bottom:1.2rem}

/* Migas e índice */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;font:600 .84rem var(--font);color:var(--text-soft)}
.crumbs a{color:var(--text-soft)}
.crumbs a:hover{color:var(--red)}
.crumbs span{color:#c2ccd3}
.crumbs .now{color:var(--blue)}
.toc{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:1.5rem 1.7rem;margin:0 0 2.4rem}
.toc h2{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:.9rem}
.toc ol{margin:0;padding:0;list-style:none;counter-reset:idx;columns:2;column-gap:2rem}
.toc li{counter-increment:idx;margin-bottom:.55rem;break-inside:avoid;display:flex;gap:.6rem;font-size:.95rem;line-height:1.4}
.toc li:before{content:counter(idx,decimal-leading-zero);font:800 .8rem var(--font-h);color:var(--red);flex:0 0 auto;padding-top:.15em}
.toc a{color:var(--blue);font-weight:600}
.toc a:hover{color:var(--red)}

/* Páginas SEO */
.seo-hero{position:relative;overflow:hidden;padding:34px 0 56px;
  background:
    radial-gradient(700px 460px at 92% -12%, rgba(232,24,72,.08), transparent 60%),
    radial-gradient(720px 480px at -10% 108%, rgba(24,80,112,.09), transparent 62%),
    #fff}
.seo-hero .crumbs{margin-bottom:1.4rem}
.seo-hero-row{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:3rem;align-items:center}
.seo-hero-row>*{min-width:0}
.seo-hero h1{font-size:clamp(1.9rem,3.3vw,2.65rem);font-weight:800;margin:1rem 0 .4rem;letter-spacing:-.025em}
.seo-hero h1 .mark{position:relative}
.seo-hero h1 .mark:after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.3em;
  background:rgba(232,24,72,.16);z-index:-1;border-radius:2px}
.seo-hero .lead{max-width:none;margin-top:.9rem}
.seo-hero-img img{width:100%;height:auto;border-radius:20px;border:1px solid var(--line);box-shadow:0 30px 70px rgba(9,43,63,.16)}
.seo-updated{margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid var(--line);
  font:600 .88rem var(--font);color:var(--text-soft)}
.seo-rel{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1.4rem}
.seo-rel-item{display:flex;flex-direction:column;gap:.35rem;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:1.2rem 1.25rem;text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.seo-rel-item:hover{transform:translateY(-3px);border-color:var(--blue);box-shadow:0 18px 36px rgba(9,43,63,.12)}
.seo-rel-topic{font:800 .72rem var(--font);letter-spacing:.09em;text-transform:uppercase;color:var(--red)}
.seo-rel-item b{font:800 1.05rem/1.3 var(--font-h);color:var(--blue)}
.seo-rel-txt{font-size:.9rem;line-height:1.5;color:var(--text)}
.seo-rel-more{margin-top:.3rem;font:800 .84rem var(--font);color:var(--blue-light);display:inline-flex;align-items:center;gap:.35rem}
.seo-rel-item:hover .seo-rel-more .ico{transform:translateX(3px)}
.seo-rel-more .ico{transition:transform .18s ease}

/* ---------- Pie ---------- */
.ft{background:var(--blue-900);color:#b7cdd9;margin-top:96px}
.ft a{color:#cfe0ea}
.ft a:hover{color:#fff}
.ft-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.4rem;padding:64px 0 40px}
.ft h4{color:#fff;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;margin-bottom:1rem}
.ft ul{list-style:none;display:grid;gap:.55rem;font-size:.94rem}
.ft .logo-wm{width:186px;color:#fff}
.ft-claim{margin-top:.9rem;font-size:.93rem;max-width:320px}
.ft-seo{border-top:1px solid rgba(255,255,255,.12);padding:1.8rem 0 1.6rem}
.ft-seo h4{margin-bottom:1rem}
.ft-seo ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem 1.6rem;font-size:.92rem}
.ft-seo li a{display:inline-flex;align-items:flex-start;gap:.55rem;color:#cfe0ea;line-height:1.45;transition:color .15s}
.ft-seo li a:before{content:"";width:5px;height:5px;margin-top:.62em;border-radius:50%;background:var(--red);
  flex:0 0 auto;transition:transform .15s}
.ft-seo li a:hover{color:#fff}
.ft-seo li a:hover:before{transform:scale(1.6)}
.ft-risk{border-top:1px solid rgba(255,255,255,.12);padding:1.4rem 0;font-size:.83rem;color:#8fa9b8;line-height:1.6}
.ft-bottom{border-top:1px solid rgba(255,255,255,.12);padding:1.2rem 0 1.6rem;display:flex;flex-wrap:wrap;
  gap:.6rem 1.6rem;align-items:center;justify-content:space-between;font-size:.83rem;color:#8fa9b8}
.ft-bottom .links{display:flex;flex-wrap:wrap;gap:1.1rem}
.ft-pay{display:flex;gap:.5rem;align-items:center;margin-top:1.2rem;color:#8fa9b8;font-size:.8rem}

/* Aparición al hacer scroll */
.rev{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.rev.vis{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  .rev{opacity:1;transform:none;transition:none}
  .proof-chip,.proof-foot{animation:none}
}

/* ---------- Modales ---------- */
html.has-modal{overflow:hidden}
.modal{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:18px}
.modal[hidden]{display:none}
.modal-bg{position:absolute;inset:0;background:rgba(9,43,63,.78);backdrop-filter:blur(6px)}
.modal-box{position:relative;background:#fff;border-radius:22px;box-shadow:0 40px 90px rgba(0,0,0,.42);
  max-width:100%;max-height:calc(100vh - 36px);overflow:auto;animation:modalin .22s ease-out;
  width:min(720px,100%);padding:2.3rem 2.2rem 2rem}
@keyframes modalin{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.modal-x{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:0;
  background:var(--soft);color:var(--blue);cursor:pointer;display:flex;align-items:center;justify-content:center;
  z-index:2;transition:background .15s,color .15s}
.modal-x:hover{background:var(--red-050);color:var(--red)}
.modal-x .ico{width:1.3em;height:1.3em}
.modal-box h2{font-size:clamp(1.45rem,3vw,1.95rem);margin-top:.85rem}
.modal-box>p{margin-top:.75rem;color:var(--text)}
.mlist{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:.85rem;counter-reset:ms}
.mlist li{display:flex;gap:.9rem;align-items:flex-start;background:var(--soft);
  border:1px solid var(--line);border-radius:16px;padding:1rem 1.1rem}
.mlist li:before{counter-increment:ms;content:counter(ms);flex:0 0 auto;width:30px;height:30px;border-radius:50%;
  background:var(--blue);color:#fff;font:800 .95rem/30px var(--font-h);text-align:center}
.mlist b{display:block;font:800 1.02rem var(--font-h);color:var(--blue)}
.mlist span{display:block;margin-top:.25rem;font-size:.95rem;line-height:1.55}
.mlist.hours li:before{display:none}
.mlist .hour{flex:0 0 auto;min-width:74px;text-align:center;border-radius:999px;padding:.3rem .5rem;
  background:var(--blue);color:#fff;font:800 .78rem var(--font);letter-spacing:.03em}
.mnote{margin-top:1.4rem;padding:1.1rem 1.2rem;border-radius:16px;background:var(--red-050);
  border:1px solid rgba(232,24,72,.18)}
.mnote>b{font:800 1rem var(--font-h);color:var(--red)}
.mnote.ok{background:#eef4f8;border-color:rgba(24,80,112,.18)}
.mnote.ok>b{color:var(--blue)}
.mno{list-style:none;margin:.65rem 0 0;padding:0;display:grid;gap:.5rem}
.mno li{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem;line-height:1.5}
.mno .ico{color:var(--red);width:1.05em;height:1.05em;margin-top:.28em}
.mnote.ok .mno .ico{color:var(--ok)}
@media(max-width:639.98px){
  .modal-box{padding:2rem 1.25rem 1.6rem}
  .mlist li{padding:.9rem .95rem;gap:.7rem}
  .mlist.hours li{flex-wrap:wrap}
  .mlist .hour{min-width:0}
  .modal-box .cta-row .btn{flex:1 1 100%}
  .modal{padding:10px}
}

/* ============================================================
   CALCULADORA
   ============================================================ */
.calc{display:grid;grid-template-columns:.9fr 1.1fr;gap:1.6rem;align-items:start}
.calc-panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.9rem;box-shadow:var(--shadow)}
.calc-panel h3{font-size:1.15rem;margin-bottom:1.2rem}
.calc-field{margin-bottom:1.35rem}
.calc-field label,.calc-field .lab{display:block;font:700 .88rem var(--font);color:var(--blue);margin-bottom:.55rem}
.calc-field .hint{display:block;font:600 .78rem var(--font);color:var(--text-soft);margin-top:.45rem;line-height:1.4}
.chips{display:flex;gap:.5rem;flex-wrap:wrap}
.chips input{position:absolute;opacity:0;width:1px;height:1px}
.chips label{flex:1 1 0;text-align:center;border:1.5px solid var(--line);border-radius:12px;padding:.7rem .5rem;
  font:700 .95rem var(--font);color:var(--blue);cursor:pointer;transition:border-color .15s,background .15s;margin:0}
.chips label small{display:block;font:600 .72rem var(--font);color:var(--text-soft)}
.chips input:checked+label{border-color:var(--red);background:var(--red-050);color:var(--red)}
.chips input:checked+label small{color:var(--red)}
.chips input:focus-visible+label{outline:3px solid rgba(24,80,112,.3)}
.range{display:flex;align-items:center;gap:1rem}
.range input[type=range]{flex:1;accent-color:var(--red);height:6px}
.range output{min-width:64px;text-align:center;background:var(--blue);color:#fff;border-radius:10px;
  padding:.4rem .6rem;font:800 1rem var(--font-h)}
.calc-out{display:grid;gap:1rem}
.calc-big{background:linear-gradient(150deg,var(--blue-900),var(--blue) 70%,#1c5f85);color:#fff;
  border-radius:22px;padding:1.9rem 2rem;position:relative;overflow:hidden}
.calc-big:before{content:"";position:absolute;inset:0;
  background:radial-gradient(420px 260px at 90% 0%, rgba(232,24,72,.25), transparent 60%);pointer-events:none}
.calc-big>*{position:relative}
.calc-big .tag{font:800 .78rem var(--font);letter-spacing:.08em;text-transform:uppercase;color:#ffb3c6}
.calc-big .num{font:800 clamp(2.2rem,5vw,3.4rem)/1.05 var(--font-h);margin-top:.35rem;color:#ff9db8}
.calc-big .sub{margin-top:.45rem;color:#c6d8e2;font-size:.95rem}
.calc-mini{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.calc-mini .fig{background:#fff;border:1px solid var(--line);border-left:4px solid var(--red)}
.calc-mini .fig b{color:var(--blue);font-size:1.5rem}
.calc-mini .fig span{color:var(--text-soft)}
.calc-mini .fig b.green{color:var(--ok)}
.calc-detail{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.3rem 1.5rem}
.calc-detail table{width:100%;border-collapse:collapse;font-size:.93rem}
.calc-detail td{padding:.55rem 0;border-bottom:1px solid var(--line);vertical-align:top}
.calc-detail tr:last-child td{border-bottom:0}
.calc-detail td:last-child{text-align:right;font-weight:800;color:var(--blue);white-space:nowrap}
.calc-detail td.tot{font-weight:800;color:var(--blue)}
.calc-detail td.tot:last-child{color:var(--red);font-size:1.05rem}
.calc-note{font:600 .8rem var(--font);color:var(--text-soft);line-height:1.5;margin-top:.9rem}

.table-plain{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);
  border-radius:18px;overflow:hidden;font-size:.95rem}
.table-plain th,.table-plain td{padding:.9rem 1rem;text-align:right;border-bottom:1px solid var(--line)}
.table-plain th:first-child,.table-plain td:first-child{text-align:left}
.table-plain thead th{background:var(--blue);color:#fff;font:800 .82rem var(--font);letter-spacing:.04em;text-transform:uppercase}
.table-plain tbody tr:last-child td{border-bottom:0}
.table-plain td b{color:var(--blue);font-family:var(--font-h)}
.table-plain .best{background:var(--red-050)}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* Tarjetas de prop firms */
.firm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:2.2rem}
.firm{background:linear-gradient(165deg,var(--blue-900),var(--blue-dark) 78%);border-radius:20px;
  padding:1.5rem 1.5rem 1.4rem;border-top:4px solid var(--firm,#1f7fae);color:#dbe7ee;
  position:relative;overflow:hidden;min-width:0}
.firm:before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(340px 220px at 92% -8%, rgba(255,255,255,.07), transparent 62%)}
.firm-head{display:flex;align-items:center;gap:.85rem;position:relative}
.firm-logo{width:46px;height:46px;border-radius:13px;flex:0 0 auto;display:flex;align-items:center;
  justify-content:center;font:800 1.35rem var(--font-h);color:#fff;background:var(--firm,#1f7fae)}
.firm-head h3{font-size:1.08rem;color:#fff;line-height:1.15}
.firm-terms{display:block;font:600 .74rem var(--font);color:#9db6c4;margin-top:.25rem;letter-spacing:.02em}
.firm-state{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font:800 .66rem var(--font);
  letter-spacing:.12em;text-transform:uppercase;color:#7ee2a8;white-space:nowrap}
.firm-state i{width:8px;height:8px;border-radius:50%;background:#3ddc84;display:block}
.firm-profit{position:relative;margin-top:1.1rem}
.firm-profit b{display:block;font:800 2.05rem/1 var(--font-h);color:#7ee2a8}
.firm-profit span{font:600 .74rem var(--font);color:#9db6c4;text-transform:uppercase;letter-spacing:.08em}
.firm-stats{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1rem;margin-top:1.15rem;
  padding-top:1.05rem;border-top:1px solid rgba(255,255,255,.12)}
.firm-stats div{min-width:0}
.firm-stats b{display:block;font:800 1.04rem var(--font-h);color:#fff}
.firm-stats small{display:block;font:600 .68rem var(--font);color:#9db6c4;text-transform:uppercase;
  letter-spacing:.07em;margin-top:.15rem}
.firm-total{display:flex;flex-wrap:wrap;gap:1rem 2.4rem;justify-content:center;margin-top:1.8rem;
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.3rem 1.8rem}
.firm-total div{text-align:center}
.firm-total b{display:block;font:800 1.5rem var(--font-h);color:var(--blue)}
.firm-total b.green{color:var(--ok)}
.firm-total small{font:600 .72rem var(--font);color:var(--text-soft);text-transform:uppercase;letter-spacing:.07em}

/* ============================================================
   TIENDA: precio, cesta, caja
   ============================================================ */
.price-card{background:#fff;border:2px solid var(--blue);border-radius:24px;padding:2.2rem;
  box-shadow:0 26px 60px rgba(9,43,63,.14);position:relative}
.price-card .badge{position:absolute;top:-14px;left:2rem;background:var(--red);color:#fff;
  font:800 .72rem var(--font);letter-spacing:.08em;text-transform:uppercase;border-radius:20px;padding:.35rem .95rem}
.price-tag{display:flex;align-items:baseline;gap:.6rem;margin:.6rem 0 .2rem}
.price-tag .now{font:800 clamp(2.4rem,5vw,3.4rem)/1 var(--font-h);color:var(--blue)}
.price-tag .was{font:700 1.15rem var(--font);color:var(--text-soft);text-decoration:line-through}
.price-sub{font:600 .92rem var(--font);color:var(--text-soft)}
.price-list{list-style:none;display:grid;gap:.7rem;margin:1.5rem 0}
.price-list li{display:flex;gap:.65rem;align-items:flex-start;font-size:.97rem}
.price-list .ico{color:var(--ok);margin-top:.22em}

.seats{display:grid;gap:.6rem;margin:1.3rem 0}
.seat-opt{position:relative;display:flex;align-items:center;gap:.9rem;border:1.5px solid var(--line);
  border-radius:14px;padding:.9rem 1.1rem;cursor:pointer;transition:border-color .15s,background .15s}
.seat-opt input{position:absolute;opacity:0;width:1px;height:1px}
.seat-opt .dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);flex:0 0 auto;position:relative}
.seat-opt input:checked~.dot{border-color:var(--red)}
.seat-opt input:checked~.dot:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--red)}
.seat-opt:has(input:checked){border-color:var(--red);background:var(--red-050)}
.seat-opt b{display:block;font:800 .98rem var(--font-h);color:var(--blue)}
.seat-opt small{display:block;font-size:.85rem;color:var(--text-soft)}
.seat-opt .amt{margin-left:auto;font:800 1rem var(--font-h);color:var(--blue);white-space:nowrap}

.cart-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:2rem;align-items:start}
.cart-box{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.8rem}
.cart-line{display:flex;gap:1.1rem;align-items:flex-start;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}
.cart-line img{width:104px;border-radius:12px;border:1px solid var(--line);flex:0 0 auto}
.cart-line h3{font-size:1.15rem}
.cart-sum{display:grid;gap:.6rem;margin-top:1.2rem;font-size:.97rem}
.cart-sum .row{display:flex;justify-content:space-between;gap:1rem}
.cart-sum .row b{color:var(--blue)}
.cart-sum .row.total{border-top:1px solid var(--line);padding-top:.8rem;margin-top:.3rem;font-size:1.2rem}
.cart-sum .row.total b{font:800 1.5rem var(--font-h);color:var(--red)}
.cart-sum .row.off{color:var(--ok)}
.cart-sum .row.off b{color:var(--ok)}
.coupon-row{display:flex;gap:.5rem;margin-top:1.1rem}
.coupon-row input{flex:1;min-width:0}

.field{display:block;margin-bottom:1.1rem}
.field label,.lbl{display:block;font:700 .88rem var(--font);color:var(--blue);margin-bottom:.45rem}
.inp,input[type=text].inp,input[type=email].inp,select.inp,textarea.inp{
  width:100%;border:1.5px solid var(--line);border-radius:12px;padding:.85rem 1rem;
  font:400 1rem var(--font);color:var(--text);background:#fff;transition:border-color .15s,box-shadow .15s}
.inp:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(24,80,112,.12)}
textarea.inp{min-height:150px;resize:vertical;line-height:1.6}
.help{display:block;font:600 .8rem var(--font);color:var(--text-soft);margin-top:.4rem;line-height:1.5}
.check{display:flex;gap:.65rem;align-items:flex-start;font-size:.92rem;line-height:1.55;margin:1rem 0}
.check input{margin-top:.28em;accent-color:var(--red);width:18px;height:18px;flex:0 0 auto}

.alert{border-radius:14px;padding:1rem 1.2rem;font-size:.95rem;display:flex;gap:.7rem;align-items:flex-start;line-height:1.55}
.alert .ico{flex:0 0 auto;margin-top:.18em}
.alert.ok{background:var(--ok-050);border:1px solid #bfe6d1;color:#136b43}
.alert.ok .ico{color:var(--ok)}
.alert.err{background:var(--red-050);border:1px solid #f6c2d0;color:#a3123a}
.alert.err .ico{color:var(--red)}
.alert.info{background:#eef4f8;border:1px solid #cddfe9;color:var(--blue)}
.alert.info .ico{color:var(--blue-light)}
.alert.warn{background:#fdf5e7;border:1px solid #f0dcb8;color:#8a5a09}
.alert.warn .ico{color:var(--warn)}

/* Captcha */
.captcha{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.captcha img{border:1.5px solid var(--line);border-radius:10px;background:#fff;flex:0 0 auto}
.captcha .refresh{width:42px;height:42px;border-radius:10px;border:1.5px solid var(--line);background:#fff;
  color:var(--blue);cursor:pointer;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.captcha .refresh:hover{border-color:var(--blue)}
.captcha .box{flex:1;min-width:140px}
.captcha .box .inp{text-transform:uppercase;letter-spacing:.18em;font-weight:700}
.captcha .sum{display:flex;align-items:center;padding:0 1rem;height:56px;border:1.5px solid var(--line);
  border-radius:10px;font:800 1.05rem var(--font-h);color:var(--blue);background:#fff}

/* ============================================================
   ÁREA DEL CLIENTE
   ============================================================ */
.acc{display:grid;grid-template-columns:250px 1fr;gap:2.2rem;align-items:start}
.acc-side{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.1rem;position:sticky;top:96px}
.acc-side a{display:flex;align-items:center;gap:.7rem;padding:.75rem .9rem;border-radius:12px;
  font:700 .93rem var(--font);color:var(--blue);transition:background .15s}
.acc-side a:hover{background:var(--soft)}
.acc-side a.on{background:var(--red-050);color:var(--red)}
.acc-side a.out{color:var(--text-soft);margin-top:.5rem;border-top:1px solid var(--line);
  border-radius:0;padding-top:1rem}
.acc-who{padding:.4rem .9rem 1rem;border-bottom:1px solid var(--line);margin-bottom:.6rem}
.acc-who b{display:block;font:800 .95rem var(--font-h);color:var(--blue);word-break:break-all}
.acc-who span{font-size:.8rem;color:var(--text-soft)}
.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.8rem;margin-bottom:1.4rem}
.panel h2{font-size:1.4rem;margin-bottom:.3rem}
.panel h3{font-size:1.1rem}

.keybox{background:var(--soft);border:1px solid var(--line);border-left:4px solid var(--red);
  border-radius:14px;padding:1.2rem 1.4rem;margin:1rem 0}
.keybox .lab{font:800 .72rem var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft)}
.keybox .key{font:700 1.25rem var(--font-h);color:var(--blue);word-break:break-all;margin-top:.4rem;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em}
.keybox .meta{font-size:.85rem;color:var(--text-soft);margin-top:.5rem}
.copy-btn{border:1.5px solid var(--line);background:#fff;color:var(--blue);border-radius:10px;
  padding:.5rem .9rem;font:700 .84rem var(--font);cursor:pointer;display:inline-flex;align-items:center;gap:.4rem}
.copy-btn:hover{border-color:var(--blue)}

.seat-row{display:flex;align-items:center;gap:.9rem;padding:.9rem 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.seat-row:last-child{border-bottom:0}
.seat-row .ico{color:var(--blue-light)}
.seat-row b{font:800 .95rem var(--font-h);color:var(--blue)}
.seat-row small{display:block;color:var(--text-soft);font-size:.82rem}
.seat-row .act{margin-left:auto}
.chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--soft);border:1px solid var(--line);
  border-radius:20px;padding:.22rem .7rem;font:700 .74rem var(--font);color:var(--text-soft)}
.chip.ok{background:var(--ok-050);border-color:#bfe6d1;color:#136b43}
.chip.no{background:var(--red-050);border-color:#f6c2d0;color:#a3123a}
.chip.warn{background:#fdf5e7;border-color:#f0dcb8;color:#8a5a09}

.tbl{width:100%;border-collapse:collapse;font-size:.93rem}
.tbl th{text-align:left;font:800 .74rem var(--font);letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-soft);padding:.7rem .6rem;border-bottom:2px solid var(--line)}
.tbl td{padding:.85rem .6rem;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem}

/* Tickets */
.thread{display:grid;gap:1rem;margin:1.4rem 0}
.msg{border-radius:16px;padding:1.1rem 1.3rem;border:1px solid var(--line);background:#fff}
.msg.staff{background:#eef4f8;border-color:#cddfe9}
.msg.internal{background:#fdf5e7;border-color:#f0dcb8}
.msg .who{display:flex;align-items:center;gap:.5rem;font:800 .8rem var(--font);color:var(--blue);
  margin-bottom:.5rem;flex-wrap:wrap}
.msg .who time{font-weight:600;color:var(--text-soft);font-size:.78rem}
.msg .body{font-size:.97rem;line-height:1.7;white-space:pre-wrap}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:991.98px){
  .sec{padding:70px 0}
  .hero{padding:56px 0 96px}
  .hero-row{grid-template-columns:1fr;gap:3.2rem}
  .lead{max-width:none}
  .grid-3,.post-grid{grid-template-columns:1fr 1fr}
  .grid-4,.firm-grid{grid-template-columns:1fr}
  .figs{grid-template-columns:1fr 1fr}
  .ft-top{grid-template-columns:1fr 1fr}
  .band{padding:2.4rem}
  .calc{grid-template-columns:1fr}
  .cart-grid{grid-template-columns:1fr}
  .acc{grid-template-columns:1fr}
  .acc-side{position:static;display:flex;flex-wrap:wrap;gap:.3rem}
  .acc-side a{flex:1 1 auto;justify-content:center}
  .acc-who{width:100%;border-bottom:0;padding-bottom:.4rem}
  .toc ol{columns:1}
  .post-hero{grid-template-columns:1fr}
  .post-hero img{min-height:200px;max-height:260px}
  .post-hero .body{padding:1.7rem}
  .seo-hero-row{grid-template-columns:1fr;gap:2.2rem}
  .seo-hero{padding:26px 0 44px}
  .firm-state{display:none}
}
@media(max-width:639.98px){
  .grid-3,.grid-2,.versus,.post-grid{grid-template-columns:1fr}
  .figs,.figs.f3{grid-template-columns:1fr 1fr;gap:.7rem}
  .fig{padding:.85rem .95rem}
  .fig b{font-size:1.3rem}
  .fig span{font-size:.78rem}
  .ft-top{grid-template-columns:1fr;gap:1.8rem}
  .hero h1 .mark{white-space:normal}
  .band{padding:1.9rem 1.4rem;border-radius:20px}
  .proof-chip{right:6px}
  .cta-row .btn{flex:1 1 100%}
  .hero{padding:26px 0 70px}
  .calc-mini{grid-template-columns:1fr 1fr}
  .price-card{padding:1.6rem 1.3rem}
  .cart-box{padding:1.3rem}
  .cart-line img{width:74px}
  .prose table{min-width:440px;font-size:.88rem}
  .prose thead th,.prose tbody td{padding:.7rem .8rem}
  .toc{padding:1.2rem 1.3rem;border-radius:14px}
  .panel{padding:1.3rem}
}

/* ============================================================
   Simulación de cobros de la calculadora
   ------------------------------------------------------------
   Las tarjetas van en azul oscuro sobre el blanco de la página:
   es el único bloque de la calculadora que va en negativo, y esa
   es justo la idea, porque es el que resume «esto es lo que
   acaba en el banco». El totalizador de abajo vuelve a blanco
   para cerrar y para que la cifra final se lea sola.
   ============================================================ */
.payout-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-top:2.2rem}
.payout{background:linear-gradient(168deg,var(--blue-900),var(--blue-dark) 76%);border-radius:18px;
  padding:1.35rem 1.35rem 1.25rem;border-top:4px solid var(--pay-acc,var(--blue-light));
  color:#cddbe4;position:relative;overflow:hidden;min-width:0}
.payout:before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(320px 210px at 92% -10%,rgba(255,255,255,.07),transparent 62%)}
.payout-head{display:flex;align-items:center;gap:.7rem;position:relative}
.payout-badge{width:40px;height:40px;border-radius:11px;flex:0 0 auto;display:flex;align-items:center;
  justify-content:center;font:800 1.2rem var(--font-h);color:#fff;background:var(--pay-acc,var(--blue-light))}
.payout-head h3{font-size:1rem;color:#fff;line-height:1.18}
.payout-plan{display:block;font:700 .72rem var(--font);color:#8fa9b8;margin-top:.15rem;
  text-transform:uppercase;letter-spacing:.09em}
.payout-terms{position:relative;margin-top:.85rem;font:600 .74rem/1.5 var(--font);color:#9db6c4}
.payout-net{position:relative;margin-top:1rem}
.payout-net b{display:block;font:800 1.85rem/1 var(--font-h);color:#7ee2a8;letter-spacing:-.02em}
.payout-net span{display:block;margin-top:.3rem;font:700 .68rem var(--font);color:#8fa9b8;
  text-transform:uppercase;letter-spacing:.08em}
.payout-stats{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:.75rem .9rem;
  margin-top:1.05rem;padding-top:.95rem;border-top:1px solid rgba(255,255,255,.13)}
.payout-stats div{min-width:0}
.payout-stats b{display:block;font:800 .98rem var(--font-h);color:#fff}
.payout-sub{font:700 .72rem var(--font);color:#8fa9b8}
.payout-stats small{display:block;font:700 .64rem var(--font);color:#8fa9b8;text-transform:uppercase;
  letter-spacing:.06em;margin-top:.1rem}
.payout-total{display:flex;flex-wrap:wrap;gap:1rem 2.6rem;justify-content:center;margin-top:1.5rem;
  background:var(--white);border:1px solid var(--line);border-radius:18px;padding:1.35rem 1.8rem;
  box-shadow:var(--shadow)}
.payout-total div{text-align:center}
.payout-total b{display:block;font:800 1.45rem var(--font-h);color:var(--blue)}
.payout-total b.green{color:var(--ok)}
.payout-total small{font:700 .7rem var(--font);color:var(--text-soft);text-transform:uppercase;
  letter-spacing:.07em}
.payout-gap{margin-top:1.5rem;background:var(--red-050);border:1px solid #f7d3de;border-left:4px solid var(--red);
  border-radius:14px;padding:1.4rem 1.6rem}
.payout-gap h3{font-size:1.08rem;margin-bottom:.5rem}
.payout-gap p{font-size:.96rem}
@media (max-width:1080px){.payout-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.payout-grid{grid-template-columns:1fr}
  .payout-total{gap:1rem 1.6rem}.payout-total b{font-size:1.25rem}}
