/* =========================================================
   NegoCity · Sistema visual v3 — «Ciudad de negocios»
   ---------------------------------------------------------
   Tinta profunda + papel cálido + naranja de marca.
   Display: Bricolage Grotesque · Texto: Inter
   Todo pasa por variables: cambiar la marca = cambiar :root.
   ========================================================= */

:root{
  /* Tinta y texto */
  --ink:#0b1020;
  --ink-soft:#4b5570;
  --ink-faint:#8a92a6;

  /* Marca (navy del logo) */
  --brand-deep:#070b17;
  --brand:#1b2a4a;
  --brand-700:#26396a;
  --brand-bright:#3651d4;
  --brand-100:#e4e8f5;

  /* Acción (naranja del logo) */
  --accent:#f15a24;
  --accent-600:#d6461a;
  --accent-bright:#ff7a45;
  --accent-50:#fff3ec;
  --accent-100:#ffe1d3;
  --gold:#f5a623;

  /* Superficies */
  --paper:#f6f5f1;
  --paper-2:#eeece5;
  --card:#ffffff;
  --line:#e7e4db;
  --line-strong:#d4d0c4;
  --night:#0b1020;
  --night-2:#141a2e;

  /* Estados */
  --ok:#11995a;   --ok-50:#e6f6ee;
  --warn:#b7771c; --warn-50:#fdf3e1;
  --danger:#d13b2a; --danger-50:#fdecea;

  --grad-brand:linear-gradient(135deg,#1b2a4a 0%,#2c4274 100%);
  --grad-hot:linear-gradient(120deg,#f15a24 0%,#ff8a3d 100%);
  --grad-deep:radial-gradient(900px 480px at 85% -10%,rgba(241,90,36,.30),transparent 60%),
              radial-gradient(700px 420px at -5% 110%,rgba(54,81,212,.28),transparent 60%),
              linear-gradient(180deg,#0b1020 0%,#10162b 100%);

  --radius:18px;
  --radius-sm:12px;
  --radius-lg:28px;
  --shadow-sm:0 1px 2px rgba(11,16,32,.05),0 6px 16px -10px rgba(11,16,32,.18);
  --shadow:0 2px 6px rgba(11,16,32,.05),0 18px 40px -18px rgba(11,16,32,.28);
  --shadow-md:var(--shadow);
  --shadow-lg:0 40px 90px -30px rgba(7,11,23,.55);
  --shadow-coral:0 12px 28px -12px rgba(241,90,36,.65);
  --maxw:1200px;
  --font-display:'Bricolage Grotesque',-apple-system,BlinkMacSystemFont,sans-serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--paper);
  line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.05;margin:0 0 .45em;font-weight:700;letter-spacing:-.03em}
h1{font-size:clamp(2.2rem,5.4vw,4.2rem);font-weight:800}
h2{font-size:clamp(1.7rem,3.4vw,2.7rem)}
h3{font-size:1.2rem;letter-spacing:-.015em;line-height:1.2}
a{color:var(--brand-700);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
p{margin:0 0 1rem}
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:3px solid var(--brand-bright);outline-offset:2px}

.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.muted{color:var(--ink-faint)}
.small{font-size:.86rem}
.center{text-align:center}
.mt{margin-top:1.5rem}.mt2{margin-top:2.5rem}
.grad-text{background:var(--grad-hot);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- Aparición suave (solo con JS; nunca deja contenido oculto) ---------- */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal.d1{transition-delay:.08s}.js .reveal.d2{transition-delay:.16s}.js .reveal.d3{transition-delay:.24s}.js .reveal.d4{transition-delay:.32s}
@media(prefers-reduced-motion:reduce){
  .js .reveal{opacity:1!important;transform:none!important;transition:none!important}
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important}
}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;position:relative;
  font-family:var(--font-body);font-weight:600;font-size:.95rem;letter-spacing:-.005em;
  padding:.8rem 1.35rem;border-radius:999px;border:1px solid transparent;
  transition:transform .14s cubic-bezier(.2,.7,.2,1),box-shadow .2s,background .2s,border-color .2s,color .2s;
  text-decoration:none;line-height:1;white-space:nowrap}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn[disabled]{opacity:.45;pointer-events:none}
.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-coral),inset 0 1px 0 rgba(255,255,255,.22);font-weight:700}
.btn-primary:hover{background:var(--accent-600);color:#fff}
.btn-brand,.btn-dark{background:var(--ink);color:#fff}
.btn-brand:hover,.btn-dark:hover{background:var(--brand);color:#fff}
.btn-ghost{background:#fff;color:var(--ink);border-color:var(--line-strong)}
.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}
.btn-light{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.22);backdrop-filter:blur(8px)}
.btn-light:hover{background:rgba(255,255,255,.2);color:#fff}
.btn-block{display:flex;width:100%}
.btn-sm{padding:.52rem .95rem;font-size:.85rem}
.btn-lg{padding:1.02rem 1.75rem;font-size:1.04rem}
.btn .flecha{transition:transform .2s}
.btn:hover .flecha{transform:translateX(3px)}

/* ---------- Distintivos ---------- */
.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.68rem;font-weight:800;letter-spacing:.05em;
  padding:.27rem .62rem;border-radius:999px;text-transform:uppercase}
.badge-gray{background:var(--paper-2);color:var(--ink-soft)}
.badge-amber{background:#fff0d6;color:#8a5410}
.badge-blue{background:var(--brand-100);color:var(--brand)}
.badge-verif{background:var(--ink);color:#fff}

.tag{display:inline-flex;align-items:center;gap:.3rem;font-size:.74rem;font-weight:600;padding:.2rem .6rem;
  border-radius:999px;background:var(--paper-2);color:var(--ink-soft);white-space:nowrap}
.tag.ok{background:var(--ok-50);color:var(--ok)}
.tag.warn{background:var(--warn-50);color:var(--warn)}
.tag.off{background:#f1f1ef;color:#8d8d86}

/* ---------- Cabecera ---------- */
.site-header{background:rgba(246,245,241,.82);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);
  border-bottom:1px solid rgba(11,16,32,.07);position:sticky;top:0;z-index:50}
.nav{display:flex;align-items:center;gap:1.8rem;height:72px}
.brand{font-family:var(--font-display);font-weight:800;font-size:1.4rem;color:var(--ink);letter-spacing:-.03em;display:flex;align-items:center}
.brand:hover{text-decoration:none}
.brand-logo{height:38px;width:auto;display:block}
.nav-links{display:flex;gap:.3rem;align-items:center;flex:1}
.nav-links a{color:var(--ink-soft);font-weight:500;font-size:.93rem;padding:.5rem .8rem;border-radius:999px;transition:background .15s,color .15s}
.nav-links a:hover{color:var(--ink);background:rgba(11,16,32,.05);text-decoration:none}
.nav-links a.activo{color:var(--ink);font-weight:600}
.nav-cta{display:flex;gap:.5rem;align-items:center;margin-left:auto}
.nav-cta .entrar{color:var(--ink);font-weight:600;font-size:.93rem;padding:.5rem .8rem}
.menu-movil{display:none;margin-left:auto}
.menu-movil summary{list-style:none;cursor:pointer;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid var(--line)}
.menu-movil summary::-webkit-details-marker{display:none}
.menu-movil summary span,.menu-movil summary span::before,.menu-movil summary span::after{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;position:relative;transition:.2s}
.menu-movil summary span::before,.menu-movil summary span::after{content:"";position:absolute;left:0}
.menu-movil summary span::before{top:-6px}.menu-movil summary span::after{top:6px}
.menu-movil[open] summary span{background:transparent}
.menu-movil[open] summary span::before{top:0;transform:rotate(45deg)}
.menu-movil[open] summary span::after{top:0;transform:rotate(-45deg)}
.menu-panel{position:absolute;left:12px;right:12px;top:78px;background:#fff;border:1px solid var(--line);border-radius:20px;
  box-shadow:var(--shadow-lg);padding:.8rem;display:flex;flex-direction:column;gap:.15rem;animation:baja .2s ease}
.menu-panel a{padding:.8rem 1rem;border-radius:12px;color:var(--ink);font-weight:600}
.menu-panel a:hover{background:var(--paper);text-decoration:none}
.menu-panel .btn{margin-top:.4rem}
@keyframes baja{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:900px){
  .nav-links,.nav-cta{display:none}
  .menu-movil{display:block}
  .nav{height:64px}
  .brand-logo{height:32px}
}
.aviso-global{background:var(--ink);color:#fff;padding:.6rem 1rem;text-align:center;font-size:.88rem}

/* ---------- Héroe genérico (páginas internas) ---------- */
.hero{position:relative;overflow:hidden;background:var(--grad-deep);color:#fff;padding:88px 0 96px;isolation:isolate}
.hero .container{position:relative;z-index:4}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.hero-bg .blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.45}
.hero-bg .b1{width:520px;height:520px;background:#3651d4;top:-200px;left:-140px}
.hero-bg .b2{width:480px;height:480px;background:#f15a24;bottom:-220px;right:-120px}
.hero-bg .b3{display:none}
.hero .eyebrow-hero{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);color:#e7e9f2;padding:.42rem .95rem;border-radius:999px;
  font-size:.78rem;font-weight:600;letter-spacing:.02em;margin-bottom:1.4rem}
.hero h1{color:#fff;max-width:17ch;margin-bottom:.6rem}
.hero p.lead{color:#b9bfd3;font-size:clamp(1.05rem,1.6vw,1.25rem);max-width:52ch;margin:0 auto 2.2rem;line-height:1.55}
.hero.center-hero,.hero.center-hero .container{text-align:center}
.hero.center-hero h1{margin-left:auto;margin-right:auto}
.hero-chips{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-top:1.3rem}
.hero-chips a{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#dfe3ef;
  padding:.42rem .9rem;border-radius:999px;font-size:.86rem;font-weight:500;transition:background .2s}
.hero-chips a:hover{background:rgba(255,255,255,.16);color:#fff;text-decoration:none}
.hero-stats{display:flex;gap:2.6rem;margin-top:2.6rem;flex-wrap:wrap;justify-content:center}
.hero-stats .n{font-family:var(--font-display);font-size:2.2rem;font-weight:800;color:#fff;line-height:1}
.hero-stats .l{color:#9aa1b8;font-size:.82rem;margin-top:.3rem}

/* Barra de búsqueda */
.searchbar{display:flex;gap:.4rem;background:#fff;padding:.45rem;border-radius:999px;
  box-shadow:var(--shadow-lg);max-width:680px;margin:0 auto;align-items:center}
.searchbar input{flex:1;border:0;padding:.95rem 1.3rem;font-size:1.02rem;border-radius:999px;
  font-family:var(--font-body);color:var(--ink);min-width:0;background:transparent}
.searchbar input:focus{outline:none}
.searchbar input::placeholder{color:#a0a6b6}
.sb-doble{display:flex;gap:.4rem;flex-wrap:nowrap}
.sb-doble input{flex:2;min-width:0}
.sb-doble select{flex:1;min-width:0;border:0;border-left:1px solid var(--line);padding:.9rem 1rem;font:inherit;
  background:transparent;color:var(--ink);cursor:pointer;border-radius:0}
.sb-doble select:focus{outline:none}

/* ---------- Secciones ---------- */
.section{padding:88px 0}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2.2rem;gap:1rem;flex-wrap:wrap}
.section-head h2{margin:0;max-width:22ch}
.section-head p{margin:.6rem 0 0;color:var(--ink-soft);max-width:56ch}
.eyebrow{display:inline-block;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.12em;
  font-size:.72rem;font-weight:700;color:var(--accent);margin-bottom:.6rem}

/* ---------- Categorías ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.cat-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.15rem 1.2rem;display:flex;align-items:center;gap:.9rem;position:relative;overflow:hidden;
  transition:border-color .2s,transform .18s,box-shadow .2s}
.cat-card:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:var(--shadow);text-decoration:none}
.cat-card .ico{font-size:1.6rem;line-height:1;width:52px;height:52px;flex:0 0 52px;border-radius:14px;background:var(--paper);
  display:flex;align-items:center;justify-content:center;transition:background .2s}
.cat-card:hover .ico{background:var(--accent-50)}
.cat-card .nm{font-weight:700;color:var(--ink);font-size:.98rem;letter-spacing:-.01em;line-height:1.25}
.cat-card .ct{font-size:.8rem;color:var(--ink-faint)}

/* ---------- Tarjetas de empresa ---------- */
.emp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.emp-card{background:var(--card);border:1px solid var(--line);border-radius:22px;
  display:flex;flex-direction:column;position:relative;overflow:hidden;padding:0;
  transition:box-shadow .25s,border-color .2s,transform .2s}
.emp-card:hover{box-shadow:var(--shadow);border-color:var(--line-strong);transform:translateY(-4px)}
.emp-card.is-destacado{box-shadow:0 0 0 1.5px var(--accent) inset}
.emp-card.is-destacado::after{content:"★ Destacado";position:absolute;top:12px;right:12px;z-index:3;
  background:var(--ink);color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.04em;
  padding:.3rem .65rem;border-radius:999px}
.emp-cuerpo{padding:1.15rem 1.2rem 1.1rem;display:flex;flex-direction:column;gap:.7rem;flex:1}
.emp-card .top{display:flex;align-items:flex-start;gap:.85rem;margin:0}
.emp-logo{width:54px;height:54px;border-radius:15px;background:var(--grad-brand);
  display:flex;align-items:center;justify-content:center;font-family:var(--font-display);
  font-weight:800;color:#fff;font-size:1.3rem;flex:0 0 54px;overflow:hidden}
.emp-logo:has(img){background:#fff;border:1px solid var(--line)}
.emp-logo img{width:100%;height:100%;object-fit:contain;padding:5px;background:#fff}
.emp-card h3{margin:0;font-size:1.1rem}
.emp-card h3 a{color:var(--ink)}
.emp-card h3 a:hover{color:var(--accent);text-decoration:none}
.emp-meta{font-size:.84rem;color:var(--ink-faint);display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}
.emp-desc{font-size:.91rem;color:var(--ink-soft);margin:0;line-height:1.55;flex:1}
.emp-desc:empty{min-height:0}
.emp-actions{display:flex;gap:.45rem;margin-top:auto;padding-top:.4rem;flex-wrap:wrap}
.emp-actions .btn.wa{padding:.35rem .6rem;color:#1a8f4c;border-color:#c5e7d3}
.emp-actions .btn.wa:hover{background:#ecf8f1}

.emp-foto{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--paper)}
.emp-foto > img:not(.ef-logo){width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.emp-card:hover .emp-foto > img:not(.ef-logo){transform:scale(1.05)}
.emp-foto::after{content:"";position:absolute;inset:auto 0 0 0;height:46%;background:linear-gradient(180deg,transparent,rgba(11,16,32,.45))}
.emp-foto.marca,.emp-foto.inicial{aspect-ratio:auto;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#fbfaf7,var(--paper));border-bottom:1px solid var(--line)}
.emp-foto.marca{height:110px}
.emp-foto.inicial{height:64px}
.emp-foto.inicial:not(:has(.emp-abierto)){display:none}
.emp-foto.marca::after,.emp-foto.inicial::after{display:none}
.emp-foto.marca::before,.emp-foto.inicial::before{content:"";position:absolute;inset:0;opacity:.6;
  background-image:radial-gradient(circle at 1px 1px,rgba(11,16,32,.08) 1px,transparent 0);background-size:16px 16px}
.emp-foto img.ef-logo{position:relative;display:block;width:auto;height:auto;max-width:62%;max-height:58px;object-fit:contain;
  background:#fff;padding:9px 13px;border-radius:14px;box-sizing:content-box;box-shadow:0 2px 10px rgba(11,16,32,.08),0 0 0 1px rgba(11,16,32,.05);
  transition:transform .4s cubic-bezier(.22,1,.36,1)}
.emp-card:hover .ef-logo{transform:translateY(-2px) scale(1.03)}
.emp-abierto{position:absolute;z-index:2;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:.35rem;
  background:rgba(255,255,255,.95);backdrop-filter:blur(4px);border-radius:99px;padding:.22rem .6rem;font-size:.72rem;font-weight:700;color:var(--ok)}
.emp-abierto.no{color:var(--danger)}
.emp-foto.marca .emp-abierto,.emp-foto.inicial .emp-abierto{box-shadow:0 1px 4px rgba(11,16,32,.12)}
.punto{width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 7px}
.emp-abierto.si .punto{animation:latido 2s ease-in-out infinite}
@keyframes latido{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}
.emp-sellos{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.3rem}
.sello{display:inline-flex;align-items:center;gap:.28rem;font-size:.72rem;font-weight:600;padding:.16rem .52rem;border-radius:99px;background:var(--paper);color:var(--ink-soft)}
.sello.verif{background:var(--brand-100);color:var(--brand)}
.sello.nota{background:#fdf4e1;color:#8a6216}
.sello.nota .stars{font-size:.7rem}
.sello.abierto{background:var(--ok-50);color:var(--ok)}
.sello.cerrado{background:var(--danger-50);color:var(--danger)}
.stars.mini{font-size:.7rem;letter-spacing:-.5px}

/* ---------- Estructura ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}
@media(max-width:900px){.split{grid-template-columns:minmax(0,1fr)}}
.panel-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}
.panel-box + .panel-box{margin-top:16px}
.kv{display:flex;gap:.6rem;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.93rem}
.kv:last-child{border-bottom:0}
.kv .k{color:var(--ink-faint);min-width:100px}

/* ---------- Formularios ---------- */
.field{margin-bottom:1.1rem}
.field label{display:block;font-weight:600;font-size:.88rem;margin-bottom:.4rem;color:var(--ink)}
.field input,.field select,.field textarea{width:100%;padding:.8rem .95rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);
  font-family:var(--font-body);font-size:.96rem;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px rgba(11,16,32,.08)}
.field input:disabled{background:var(--paper);color:var(--ink-soft)}
.field textarea{min-height:130px;resize:vertical}
.field .hint,.hint{display:block;font-size:.8rem;color:var(--ink-faint);margin-top:.35rem}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media(max-width:560px){.grid-2{grid-template-columns:1fr}}
select{font-family:var(--font-body)}

/* Interruptores */
.switches{display:flex;flex-direction:column;gap:.2rem;margin:.6rem 0 1.3rem;border:1px solid var(--line);border-radius:16px;padding:.4rem .9rem;background:#fcfbf8}
.sw{display:flex;gap:.85rem;align-items:flex-start;padding:.7rem 0;cursor:pointer;border-bottom:1px solid var(--line)}
.sw:last-child{border-bottom:0}
.sw input{position:absolute;opacity:0;pointer-events:none}
.sw i{flex:0 0 42px;height:24px;border-radius:99px;background:var(--line-strong);position:relative;transition:background .2s;margin-top:.1rem}
.sw i::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}
.sw input:checked + i{background:var(--ok)}
.sw input:checked + i::after{transform:translateX(18px)}
.sw input:focus-visible + i{outline:3px solid var(--brand-bright);outline-offset:2px}
.sw span b{display:block;font-size:.92rem}
.sw span small{display:block;color:var(--ink-faint);font-size:.8rem;line-height:1.4}

/* ---------- Avisos ---------- */
.flash{padding:.9rem 1.15rem;border-radius:14px;margin-bottom:1rem;font-size:.93rem;font-weight:500;display:flex;align-items:center;gap:.5rem}
.flash-ok{background:var(--ok-50);color:#0b6b40;border:1px solid #bfe6d1}
.flash-err{background:var(--danger-50);color:#9e2c20;border:1px solid #f4c7c0}

/* ---------- Estadísticas ---------- */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:24px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem;position:relative;overflow:hidden}
.stat .n{font-family:var(--font-display);font-size:2.3rem;font-weight:800;color:var(--ink);line-height:1;letter-spacing:-.03em}
.stat .l{color:var(--ink-faint);font-size:.82rem;margin-top:.45rem}
.stat.accent{background:var(--ink);border-color:var(--ink)}
.stat.accent .n{color:#fff}
.stat.accent .l{color:#aab0c4}
.stat.teal{background:var(--accent-50);border-color:var(--accent-100)}
.stat.teal .n{color:var(--accent-600)}

/* ---------- Panel y admin ---------- */
.app{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh;background:var(--paper)}
.sidebar{background:var(--night)!important;color:#c3c8d8;padding:1.4rem 1rem;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow-y:auto;min-width:0}
.sidebar .brand{color:#fff;margin:0 .4rem 1.6rem;font-size:1.2rem}
.sidebar .brand-logo{height:32px}
.sidebar nav a{display:flex;align-items:center;gap:.7rem;color:#aeb4c8;padding:.62rem .8rem;
  border-radius:12px;font-size:.92rem;font-weight:500;margin-bottom:.15rem;transition:background .15s,color .15s}
.sidebar nav a:hover{background:rgba(255,255,255,.06);color:#fff;text-decoration:none}
.sidebar nav a.active{background:rgba(241,90,36,.14);color:#fff;font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}
.sidebar .navsep{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:#5f6780;margin:1.1rem .8rem .4rem;font-weight:700}
.sidebar .nuevo{margin-left:auto;background:var(--accent);color:#fff;font-size:.6rem;font-weight:800;padding:.1rem .4rem;border-radius:99px;letter-spacing:.04em}
.side-pie{margin-top:auto;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.07)}
.side-pie a{color:#8e95ab;font-size:.86rem}
.side-pie a:hover{color:#fff}
.app-main{padding:2.4rem 2.6rem 4rem;max-width:1120px;min-width:0;width:100%}
.app-main h1{font-size:clamp(1.7rem,3vw,2.2rem)}
.sel-ficha{margin:0 .2rem 1rem}
.sel-ficha select{width:100%;padding:.55rem .7rem;border-radius:11px;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);color:#fff;font:inherit;font-size:.86rem;cursor:pointer}
.sel-ficha select option{background:#141a2e;color:#fff}
.mini-n{background:rgba(255,255,255,.14);border-radius:99px;padding:0 .4rem;font-size:.7rem;margin-left:auto}

.pg-head{display:flex;gap:1.2rem;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}
.pg-head h1{margin:0 0 .35rem}
.pg-head p{margin:0;max-width:64ch}
.pg-acc{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.pg-acc select{padding:.6rem .8rem;border-radius:12px;border:1px solid var(--line-strong);background:#fff;font:inherit}

/* ---------- Tablas ---------- */
.table{width:100%;border-collapse:collapse;font-size:.92rem;background:#fff;border-radius:var(--radius);overflow:hidden}
.table th,.table td{text-align:left;padding:.8rem .95rem;border-bottom:1px solid var(--line)}
.table th{background:#faf9f6;font-weight:700;color:var(--ink-faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
.table tr:last-child td{border-bottom:0}
.table tbody tr:hover{background:#fcfbf8}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius);border:1px solid var(--line)}
.tbl-wrap table{min-width:520px}

/* ---------- Pie ---------- */
.site-footer{background:var(--night);color:#9aa1b8;padding:72px 0 32px;font-size:.92rem;position:relative;overflow:hidden}
.site-footer::before{content:"";position:absolute;width:520px;height:520px;right:-180px;top:-260px;border-radius:50%;
  background:radial-gradient(circle,rgba(241,90,36,.22),transparent 65%);pointer-events:none}
.site-footer a{color:#d7dbe7}
.site-footer a:hover{color:#fff}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:2.2rem;position:relative}
.footer-grid strong{color:#fff;display:block;margin-bottom:.7rem;font-family:var(--font-display);font-size:1rem;letter-spacing:-.01em}
.footer-grid a{display:block;margin-bottom:.4rem}
.footer-base{margin-top:2.6rem;border-top:1px solid rgba(255,255,255,.08);padding-top:1.2rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;position:relative}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}

/* ---------- Valoraciones ---------- */
.stars{color:var(--gold);letter-spacing:1px}
.stars .off{color:#dedbd2}

/* ---------- Pasos ---------- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.step{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:1.6rem;position:relative}
.step .num{font-family:var(--font-display);font-weight:800;font-size:1rem;width:40px;height:40px;border-radius:12px;
  background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.step h3{margin-bottom:.35rem}
.step p{margin:0;color:var(--ink-soft);font-size:.93rem}

/* ---------- Banda de llamada a la acción ---------- */
.cta-band{background:var(--grad-deep);border-radius:32px;padding:4rem 2.4rem;color:#fff;position:relative;overflow:hidden;text-align:center}
.cta-band > *{position:relative}
.cta-band h2{color:#fff;margin:0 auto .6rem;max-width:20ch}
.cta-band p{color:#b9bfd3;max-width:48ch;margin:0 auto 1.8rem}

/* ---------- Pedir presupuesto a varias ---------- */
.sel-card{position:relative}
.sel-toggle{position:absolute;top:12px;left:12px;z-index:5;cursor:pointer;margin:0;width:28px;height:28px}
.sel-check{position:absolute;opacity:0;width:28px;height:28px;margin:0;cursor:pointer;inset:0}
.sel-mark{display:block;width:28px;height:28px;border-radius:9px;border:2px solid var(--line-strong);box-shadow:0 1px 5px rgba(11,16,32,.16);
  background:#fff;transition:all .15s;position:relative;pointer-events:none}
.sel-mark::after{content:"";position:absolute;left:8px;top:3px;width:7px;height:12px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(0);transition:transform .15s}
.sel-check:checked + .sel-mark{background:var(--accent);border-color:var(--accent)}
.sel-check:checked + .sel-mark::after{transform:rotate(45deg) scale(1)}
.sel-card:has(.sel-check:checked){border-color:var(--accent);box-shadow:0 0 0 1.5px var(--accent) inset,var(--shadow-sm)}
.sel-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(11,16,32,.96);backdrop-filter:blur(10px);color:#fff;padding:1rem 1.2rem;
  box-shadow:0 -12px 40px -16px rgba(0,0,0,.55);transform:translateY(140%);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
#selForm:has(.sel-check:checked) .sel-bar{transform:none}
.sel-bar .inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:1rem;justify-content:space-between;flex-wrap:wrap}
.sel-bar .lbl{font-weight:600}
.sel-bar .lbl b{color:var(--accent-bright)}
.sel-hint{background:var(--accent-50);border:1px solid var(--accent-100);border-radius:16px;padding:.9rem 1.1rem;display:flex;align-items:center;gap:.6rem;color:#8a3a17;font-size:.95rem;font-weight:500}
.sel-hint .ic{font-size:1.3rem}

/* ---------- Utilidades ---------- */
.breadcrumb{font-size:.85rem;color:var(--ink-faint);margin-bottom:1rem}
.breadcrumb a{color:var(--ink-soft)}
.pill-row{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:1.2rem}
.pill{padding:.45rem .95rem;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.86rem;color:var(--ink-soft);font-weight:500;transition:all .15s}
.pill:hover,.pill.active{background:var(--ink);color:#fff;border-color:var(--ink);text-decoration:none}
.chip{display:inline-block;font-size:.72rem;padding:.12rem .5rem;border-radius:99px;background:var(--paper-2);color:var(--ink-soft);font-weight:600}
code{background:var(--paper-2);padding:.1rem .35rem;border-radius:6px;font-size:.85em}
.vacio{text-align:center;padding:3rem 1.5rem;background:#fff;border:1px dashed var(--line-strong);border-radius:24px}
.vacio h3{margin:.6rem 0 .3rem}
.vacio p{max-width:46ch;margin:0 auto 1.2rem}
.vacio-ico{font-size:2.4rem;line-height:1}
ul.check{list-style:none;padding:0;margin:1rem 0}
ul.check li{position:relative;padding:.38rem 0 .38rem 1.8rem;color:var(--ink-soft);line-height:1.5}
ul.check li::before{content:"";position:absolute;left:0;top:.62rem;width:18px;height:18px;border-radius:50%;
  background:var(--ok-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2311995a' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat}
ul.check li strong{color:var(--ink)}

/* =========================================================
   FICHA DE EMPRESA
   ========================================================= */
.ficha-hero{background:var(--grad-deep);color:#fff;padding:1.2rem 0 2.2rem;position:relative;overflow:hidden}
.ficha-hero .container{position:relative;z-index:1}
.ficha-hero .breadcrumb{color:#9aa1b8;margin-bottom:1.3rem;font-size:.84rem}
.ficha-hero .breadcrumb a{color:#cfd3e2;text-decoration:none}
.ficha-hero .breadcrumb a:hover{color:#fff;text-decoration:underline}
.ficha-hero .breadcrumb span{opacity:.5;margin:0 .15rem}
.fh-main{display:flex;gap:1.3rem;align-items:flex-start}
.fh-logo{width:104px;height:104px;flex:0 0 104px;border-radius:26px;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center;
  box-shadow:0 16px 40px rgba(0,0,0,.35);font-family:var(--font-display);font-weight:800;font-size:2.5rem;color:var(--brand)}
.fh-logo img{width:100%;height:100%;object-fit:contain;padding:8px;background:#fff}
.fh-info{flex:1;min-width:0}
.fh-info h1{color:#fff;font-size:clamp(1.6rem,3.6vw,2.6rem);line-height:1.08;margin:0 0 .55rem}
.fh-meta{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-bottom:.6rem}
.fh-chip{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);color:#fff;padding:.24rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600;text-decoration:none;transition:.16s}
.fh-chip:hover{background:rgba(255,255,255,.2);text-decoration:none}
.fh-place{color:#b9bfd3;font-size:.88rem}
.fh-verif{background:var(--ok);color:#fff;padding:.24rem .7rem;border-radius:999px;font-size:.76rem;font-weight:700}
.fh-dest{background:var(--accent);color:#fff;padding:.24rem .7rem;border-radius:999px;font-size:.76rem;font-weight:700}
.fh-nota{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;color:#e6e9f3}
.fh-nota strong{font-size:1.05rem}
.fh-nota a{color:#cfd3e2}
.fh-nota .muted{color:#9aa1b8!important}
.fh-abierto{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:700;padding:.24rem .7rem;border-radius:99px;background:rgba(255,255,255,.1);color:#7ee2b1}
.fh-abierto.no{color:#f5a99e}
.fh-acciones{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.5rem}
.fa-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.72rem 1.15rem;border-radius:999px;background:rgba(255,255,255,.1);color:#fff;
  text-decoration:none;font-weight:600;font-size:.9rem;border:1px solid rgba(255,255,255,.16);transition:.18s}
.fa-btn svg{width:18px;height:18px}
.fa-btn:hover{background:rgba(255,255,255,.2);text-decoration:none;color:#fff}
.fa-btn.primaria{background:var(--accent);border-color:transparent;box-shadow:var(--shadow-coral)}
.fa-btn.primaria:hover{background:var(--accent-600)}
.fa-btn.wa{background:#25d366;border-color:transparent;color:#04331a}
.fa-btn.wa:hover{background:#1fbe5b;color:#04331a}
.sec-h{font-size:1.25rem;margin:0 0 1rem}
.ficha-desc{line-height:1.75;color:var(--ink-soft);margin:0}
.ficha-dir{margin:0 0 .9rem;color:var(--ink-soft)}
.serv-tags{display:flex;flex-wrap:wrap;gap:.45rem}
.serv-tag{background:var(--paper);border:1px solid var(--line);color:var(--ink-soft);padding:.36rem .88rem;border-radius:999px;font-size:.85rem;font-weight:600;text-decoration:none;transition:.16s}
.serv-tag:hover{border-color:var(--accent);color:var(--accent);background:#fff;text-decoration:none}
.serv-tag.act{background:var(--ink);border-color:var(--ink);color:#fff}
.mapa-box{border-radius:16px;overflow:hidden;border:1px solid var(--line);line-height:0}
.mapa-box iframe{width:100%;height:290px;border:0;display:block;filter:grayscale(.2)}
.res-resumen{display:flex;gap:1.6rem;align-items:center;flex-wrap:wrap;background:var(--paper);border-radius:18px;padding:1.2rem 1.4rem;margin-bottom:1.2rem}
.rr-nota{text-align:center;min-width:110px}
.rr-nota .n{font-family:var(--font-display);font-size:2.8rem;font-weight:800;line-height:1;color:var(--ink)}
.rr-barras{flex:1;min-width:200px}
.rr-fila{display:flex;align-items:center;gap:.55rem;margin-bottom:.3rem}
.rr-lbl{font-size:.78rem;color:var(--ink-faint);width:26px;flex:0 0 26px}
.rr-track{flex:1;height:7px;background:var(--line);border-radius:99px;overflow:hidden}
.rr-fill{display:block;height:100%;background:var(--gold);border-radius:99px}
.rr-num{font-size:.78rem;color:var(--ink-faint);width:22px;text-align:right}
.res-lista{display:flex;flex-direction:column;gap:1rem}
.res-item{display:flex;gap:.85rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.res-item:last-child{border-bottom:0;padding-bottom:0}
.res-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.res-cab{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.2rem}
.res-txt{margin:0;color:var(--ink-soft);line-height:1.6}
.res-resp{margin-top:.6rem;padding:.75rem .95rem;background:var(--paper);border-left:3px solid var(--accent);border-radius:0 10px 10px 0}
.res-vacio{text-align:center;padding:1.6rem 1rem;background:var(--paper);border-radius:16px}
.res-vacio p{margin:.5rem 0 0}
.res-form{margin-top:1.2rem;border-top:1px solid var(--line);padding-top:1rem}
.res-form summary{cursor:pointer;font-weight:600;color:var(--ink);list-style:none}
.res-form summary::-webkit-details-marker{display:none}
.res-form summary::before{content:"✍️ "}
.res-form summary:hover{color:var(--accent)}
.sim-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem}
.sim-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;padding:1rem .7rem;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--ink);transition:.18s;background:#fff}
.sim-card:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:var(--shadow-sm);text-decoration:none}
.sim-logo{width:46px;height:46px;border-radius:12px;background:var(--paper);overflow:hidden;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--brand)}
.sim-logo img{width:100%;height:100%;object-fit:contain;padding:4px}
.sim-nom{font-weight:600;font-size:.88rem;line-height:1.25}
.conf-box .conf-fila{display:flex;gap:.7rem;align-items:flex-start;padding:.6rem 0;border-bottom:1px solid var(--line)}
.conf-box .conf-fila:last-child{border-bottom:0}
.conf-box .conf-fila>span:first-child{font-size:1.1rem;flex:0 0 1.4rem}
.redes{display:flex;gap:.4rem}
.red-btn{width:36px;height:36px;border-radius:11px;background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:var(--ink-soft);text-decoration:none;transition:.16s}
.red-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink);text-decoration:none}
.lead-box{border:1.5px solid var(--ink);box-shadow:var(--shadow)}
.gal-pub{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.gal-pub .gp-item{padding:0;border:0;background:none;cursor:zoom-in;border-radius:14px;overflow:hidden;aspect-ratio:1;position:relative}
.gal-pub .gp-item.grande{grid-column:span 2;grid-row:span 2}
.gal-pub img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.gal-pub .gp-item:hover img{transform:scale(1.06)}
.lightbox{position:fixed;inset:0;z-index:2000;background:rgba(7,11,23,.94);display:flex;align-items:center;justify-content:center;padding:2rem 1rem;opacity:0;pointer-events:none;transition:opacity .25s}
.lightbox.abierto{opacity:1;pointer-events:auto}
.lightbox img{max-width:100%;max-height:100%;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lb-cerrar,.lb-nav{position:absolute;background:rgba(255,255,255,.14);border:0;color:#fff;width:46px;height:46px;border-radius:50%;cursor:pointer;font-size:1.3rem;line-height:1;transition:.2s}
.lb-cerrar:hover,.lb-nav:hover{background:rgba(255,255,255,.28)}
.lb-cerrar{top:18px;right:18px}
.lb-nav.prev{left:16px;top:50%;transform:translateY(-50%)}
.lb-nav.sig{right:16px;top:50%;transform:translateY(-50%)}
.lb-cont{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:#cfd3e2;font-size:.8rem}
.hor-pub .hp-estado{display:flex;align-items:center;gap:.4rem;font-weight:700;font-size:.88rem;padding:.5rem .75rem;border-radius:11px;margin-bottom:.7rem}
.hor-pub .hp-estado.si{background:var(--ok-50);color:var(--ok)}
.hor-pub .hp-estado.no{background:var(--danger-50);color:var(--danger)}
.hp-fila{display:flex;justify-content:space-between;gap:1rem;padding:.38rem 0;border-bottom:1px solid var(--line);font-size:.86rem}
.hp-fila:last-of-type{border-bottom:0}
.hp-fila.hoy{font-weight:700;color:var(--ink)}
.hp-fila.hoy span::after{content:" · hoy";font-weight:400;color:var(--ink-faint);font-size:.78rem}
.rec-cta{background:#fff;border:1px dashed var(--line-strong)}
.rec-cta strong{display:block;margin-bottom:.25rem}
.rec-cta p{color:var(--ink-soft);margin:0 0 .7rem}
.rec-cab{display:flex;gap:1rem;align-items:center;margin:1.2rem 0}
.rec-logo{width:64px;height:64px;flex:0 0 64px;border-radius:18px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:1.5rem;color:var(--brand);overflow:hidden}
.rec-logo img{width:100%;height:100%;object-fit:contain;padding:6px}
.rec-ventajas{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:10px;margin:1.2rem 0}
.rec-ventajas>div{display:flex;gap:.65rem;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:.85rem .95rem}
.rec-ventajas span:first-child{font-size:1.3rem;line-height:1}
.rec-ventajas strong{display:block;font-size:.88rem}
.rec-ventajas div span{font-size:.79rem;color:var(--ink-faint)}
.rec-ok{text-align:center;padding:3rem 1rem}
.cat-intro{background:#fff;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:0 16px 16px 0;padding:1.1rem 1.4rem;color:var(--ink-soft);font-size:.95rem;line-height:1.7;max-width:74ch}

/* =========================================================
   EMPLEO
   ========================================================= */
.empleo-hero{background:var(--grad-deep);color:#fff;padding:3.2rem 0 3rem}
.empleo-hero h1{color:#fff;margin:0 0 .4rem;font-size:clamp(2rem,4.6vw,3.2rem)}
.empleo-hero p{color:#b9bfd3;margin:0 0 1.4rem}
.empleo-buscador{display:flex;gap:.4rem;flex-wrap:wrap;max-width:760px;background:#fff;padding:.45rem;border-radius:22px;box-shadow:var(--shadow-lg)}
.empleo-buscador input,.empleo-buscador select{flex:1;min-width:150px;padding:.8rem 1rem;border:0;border-radius:14px;font:inherit;background:transparent;color:var(--ink)}
.empleo-buscador input:focus,.empleo-buscador select:focus{outline:none;background:var(--paper)}
.eh-cta{margin:1.1rem 0 0!important;color:#b9bfd3;font-size:.9rem}
.eh-cta a{color:#fff;font-weight:700}
.ofertas-lista{display:flex;flex-direction:column;gap:.65rem}
.oferta-card{display:flex;gap:.95rem;align-items:center;padding:1.05rem 1.15rem;background:#fff;border:1px solid var(--line);border-radius:18px;text-decoration:none;color:var(--ink);transition:.18s}
.oferta-card:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow-sm);text-decoration:none}
.oferta-card.compacta{padding:.8rem .9rem;background:var(--paper)}
.of-logo{width:52px;height:52px;flex:0 0 52px;border-radius:14px;background:var(--paper);overflow:hidden;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--brand);font-family:var(--font-display)}
.of-logo img{width:100%;height:100%;object-fit:contain;padding:5px;background:#fff}
.of-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}
.of-tit{font-weight:700;font-size:1.02rem;line-height:1.3}
.of-emp{font-size:.86rem;color:var(--ink-soft)}
.of-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.25rem}
.of-tag{background:var(--paper);border:1px solid var(--line);color:var(--ink-soft);padding:.15rem .58rem;border-radius:999px;font-size:.74rem;font-weight:600}
.of-tag.alt{background:var(--brand-100);border-color:transparent;color:var(--brand)}
.of-tag.salario{background:var(--ok-50);border-color:transparent;color:var(--ok)}
.of-meta{text-align:right;display:flex;flex-direction:column;gap:.2rem;flex:0 0 auto}
.filtro-lnk{padding:.38rem .65rem;border-radius:10px;text-decoration:none;color:var(--ink-soft);font-size:.88rem;transition:.14s;display:block}
.filtro-lnk:hover{background:var(--paper);color:var(--ink);text-decoration:none}
.filtro-lnk.act{background:var(--ink);color:#fff;font-weight:600}
.post-estado{display:inline-block;font-size:.72rem;font-weight:700;padding:.1rem .5rem;border-radius:999px;margin-top:.25rem}
.est-nueva,.est-vista{background:var(--brand-100);color:var(--brand)}
.est-preseleccionado{background:var(--ok-50);color:var(--ok)}
.est-descartado{background:#f1f1ef;color:#8d8d86}
.cv-actual{display:flex;gap:.8rem;align-items:center;padding:.85rem 1rem;background:var(--paper);border:1px solid var(--line);border-radius:14px}
.cv-ico{font-size:1.6rem}
.cv-vacio{padding:1rem;background:var(--warn-50);border:1px dashed #e0b25e;border-radius:14px;margin-bottom:.5rem}
.upsell{text-align:center;padding:2.2rem 1.5rem}
.upsell-planes{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:1.2rem}
.up-plan{display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.4rem;border:1px solid var(--line);border-radius:18px;background:#fff;min-width:170px}
.up-precio{font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--ink);margin-top:.3rem}
.up-precio .small{font-size:.8rem;font-weight:400;color:var(--ink-faint)}
.cand-card{border-left:3px solid var(--accent)}
@media(max-width:700px){.oferta-card{flex-wrap:wrap}.of-meta{text-align:left;flex-direction:row;gap:.6rem}}

/* =========================================================
   PLANES
   ========================================================= */
.pl-datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.pl-dato{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem 1.1rem;display:flex;gap:.8rem;align-items:center}
.pl-dato .n{font-family:var(--font-display);font-size:2rem;font-weight:800;line-height:1;color:var(--ink)}
.pl-dato .l{font-size:.86rem;line-height:1.35;color:var(--ink-soft)}
.pl-dato.alerta{border-color:#e7c483;background:var(--warn-50)}
.pl-dato.alerta .n{color:var(--warn)}
.pl-planes{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;align-items:stretch}
.pl-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:26px;padding:1.7rem 1.5rem;display:flex;flex-direction:column;transition:.2s}
.pl-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.pl-card.destacado-card{background:var(--night);border-color:var(--night);color:#fff;box-shadow:var(--shadow-lg)}
.pl-card.destacado-card h3,.pl-card.destacado-card .pl-precio{color:#fff}
.pl-card.destacado-card .pl-pitch,.pl-card.destacado-card .pl-lista li{color:#b9bfd3}
.pl-card.destacado-card .pl-lista li strong{color:#fff}
.pl-card.destacado-card .pl-etiq{color:var(--accent-bright)}
.pl-card.destacado-card .pl-precio .per{color:#8f96ad}
.pl-card.actual{border-color:var(--ink);box-shadow:0 0 0 1.5px var(--ink) inset}
.pl-cinta{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;padding:.3rem .95rem;border-radius:999px;white-space:nowrap;box-shadow:var(--shadow-coral)}
.pl-etiq{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.pl-card h3{margin:.5rem 0 .3rem;font-size:1.5rem}
.pl-pitch{font-size:.9rem;color:var(--ink-soft);margin:0 0 1.1rem;min-height:2.7em;line-height:1.45}
.pl-precio{font-family:var(--font-display);font-size:2.6rem;font-weight:800;line-height:1;color:var(--ink);margin-bottom:1.2rem;letter-spacing:-.03em}
.pl-precio .per{display:inline-block;font-family:var(--font-body);font-size:.85rem;font-weight:500;color:var(--ink-faint);margin-left:.3rem;letter-spacing:0}
.pl-lista{list-style:none;padding:0;margin:0 0 1.4rem;flex:1}
.pl-lista li{position:relative;padding:.34rem 0 .34rem 1.6rem;font-size:.9rem;color:var(--ink-soft);line-height:1.4}
.pl-lista li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:800}
.pl-card.destacado-card .pl-lista li::before{color:var(--accent-bright)}
.pl-lista li strong{color:var(--ink)}
.pl-nota{display:block;text-align:center;font-size:.75rem;color:var(--ink-faint);margin-top:.55rem}
.cmp-tabla{width:100%;border-collapse:collapse;font-size:.89rem}
.cmp-tabla th{padding:.8rem .6rem;text-align:center;font-family:var(--font-display);font-size:1rem;border-bottom:2px solid var(--line)}
.cmp-tabla th:first-child{text-align:left;width:42%}
.cmp-tabla td{padding:.6rem .6rem;text-align:center;border-bottom:1px solid var(--line)}
.cmp-tabla .cmp-lbl{text-align:left;color:var(--ink-soft)}
.cmp-tabla .cmp-grupo td{background:var(--paper);font-weight:700;text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);padding:.55rem .6rem}
.cmp-si{color:var(--ok);font-weight:800;font-size:1.05rem}
.cmp-no{color:var(--line-strong)}
.cmp-txt{font-size:.82rem;font-weight:600;color:var(--ink)}
.cmp-tabla .col-act{background:rgba(241,90,36,.05)}
.cmp-tabla th.col-act{background:rgba(241,90,36,.1);border-radius:10px 10px 0 0}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item:last-child{border-bottom:0}
.faq-item summary{cursor:pointer;padding:1.05rem 2rem 1.05rem 0;font-weight:600;list-style:none;position:relative;transition:.15s;font-size:1.02rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:.2rem;top:.8rem;font-size:1.4rem;color:var(--ink-faint);font-weight:400;transition:.2s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item summary:hover{color:var(--accent)}
.faq-item p{margin:0 0 1.1rem;color:var(--ink-soft);font-size:.94rem;line-height:1.65;padding-right:2rem}
.nexo-box{background:var(--night);color:#fff;border:0}
.nexo-box h2{color:#fff;margin:.2rem 0 .5rem}
.nexo-box .eyebrow{color:var(--accent)}
.nexo-sub{color:#b9bfd3;max-width:60ch;margin:0}
.nexo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:1.1rem}
.nexo-item{background:rgba(255,255,255,.06);padding:1rem;border-radius:14px;transition:.18s}
.nexo-item:hover{background:rgba(255,255,255,.1)}
.nexo-item p{color:#b9bfd3;margin:.3rem 0 0;font-size:.85rem}
@media(max-width:700px){.cmp-tabla{font-size:.82rem}.cmp-tabla th:first-child{width:38%}}

/* Portada antigua (compatibilidad con otras páginas) */
.tira-confianza{background:#fff;border-bottom:1px solid var(--line);padding:1.1rem 0}
.tira-confianza .container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.tc-item{display:flex;gap:.65rem;align-items:center}
.tc-ico{font-size:1.5rem}
.tc-item strong{display:block;font-size:.9rem;line-height:1.2}
.tc-item span{display:block;font-size:.79rem;color:var(--ink-faint);line-height:1.3}
.res-home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}
.res-home{display:block;background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.4rem;text-decoration:none;color:var(--ink);transition:.2s}
.res-home:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:var(--shadow-sm);text-decoration:none}
.res-home p{font-size:.98rem;line-height:1.6;color:var(--ink);margin:.7rem 0 1rem}
.rh-pie{font-size:.82rem;color:var(--ink-faint)}
.rh-pie strong{color:var(--ink)}
.dos-cols{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;align-items:center}
.vent-lista{list-style:none;padding:0;margin:1.2rem 0 0}
.vent-lista li{position:relative;padding:.42rem 0 .42rem 1.7rem;color:var(--ink-soft);line-height:1.45}
.vent-lista li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:800}
.prov-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.prov-chips a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.5rem 1.05rem;text-decoration:none;color:var(--ink-soft);font-size:.88rem;font-weight:600;transition:.16s}
.prov-chips a:hover{border-color:var(--ink);color:var(--ink);text-decoration:none}
.prov-chips a span{color:var(--ink-faint);font-weight:400;font-size:.8rem;margin-left:.2rem}
.prov-chips a.mas{background:var(--ink);color:#fff;border-color:var(--ink)}
@media(max-width:820px){.dos-cols{grid-template-columns:1fr;gap:1.8rem}}

/* =========================================================
   PORTADA v3
   ========================================================= */
.section-blanca{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hx{position:relative;overflow:hidden;background:var(--night);color:#fff;padding:72px 0 0;isolation:isolate}
.hx-fondo{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hx-fondo i{position:absolute;border-radius:50%;filter:blur(90px)}
.hx-fondo .g1{width:640px;height:640px;right:-160px;top:-260px;background:rgba(241,90,36,.42);animation:deriva 22s ease-in-out infinite alternate}
.hx-fondo .g2{width:560px;height:560px;left:-220px;bottom:-280px;background:rgba(54,81,212,.4);animation:deriva 26s ease-in-out infinite alternate-reverse}
.hx-fondo .rejilla{inset:0;border-radius:0;filter:none;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000,transparent);mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000,transparent)}
@keyframes deriva{from{transform:translate(0,0) scale(1)}to{transform:translate(-60px,40px) scale(1.12)}}
.hx-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:3rem;align-items:center}
.hx-kicker{display:inline-flex;align-items:center;gap:.55rem;font-size:.8rem;font-weight:600;color:#d7dbe7;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);padding:.42rem .9rem;border-radius:999px;margin-bottom:1.4rem}
.hx-kicker i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(241,90,36,.7);animation:pulso 2.4s infinite}
@keyframes pulso{0%{box-shadow:0 0 0 0 rgba(241,90,36,.6)}70%{box-shadow:0 0 0 10px rgba(241,90,36,0)}100%{box-shadow:0 0 0 0 rgba(241,90,36,0)}}
.hx h1{color:#fff;font-size:clamp(2.5rem,5.6vw,4.6rem);line-height:.98;margin-bottom:1.2rem;letter-spacing:-.04em}
.hx-sub{color:transparent;background:linear-gradient(100deg,#ffb38f 0%,#f15a24 45%,#ff8a3d 100%);-webkit-background-clip:text;background-clip:text}
.hx-lead{color:#b9bfd3;font-size:clamp(1.02rem,1.5vw,1.16rem);max-width:54ch;margin-bottom:1.8rem}
.aud{display:inline-flex;gap:.25rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);padding:.3rem;border-radius:999px;margin-bottom:.9rem;flex-wrap:wrap}
.aud button{font:inherit;font-size:.86rem;font-weight:600;color:#b9bfd3;background:transparent;border:0;padding:.55rem 1rem;border-radius:999px;cursor:pointer;transition:.18s}
.aud button:hover{color:#fff}
.aud button.on{background:#fff;color:var(--ink)}
.hx .searchbar{margin:0;max-width:640px}
.sb-ico{display:flex;color:var(--ink-faint);padding-left:.9rem}
.sb-ico svg{width:20px;height:20px}
.hx .searchbar input{padding-left:.6rem}
.hx-emp{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.hx-emp[hidden],.hx-panel[hidden]{display:none!important}
.hx-nota{flex-basis:100%;color:#8f96ad;font-size:.84rem;margin-top:.2rem}
.hx-pop{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;margin-top:1.2rem;font-size:.84rem;color:#8f96ad}
.hx-pop a{color:#d7dbe7;border:1px solid rgba(255,255,255,.12);padding:.3rem .75rem;border-radius:999px;transition:.16s}
.hx-pop a:hover{background:rgba(255,255,255,.1);color:#fff;text-decoration:none}

.hx-visual{position:relative;height:520px}
.hv-card{position:absolute;background:#fff;color:var(--ink);border-radius:26px;box-shadow:0 40px 80px -30px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.06)}
.hv-emp{width:300px;right:30px;top:36px;overflow:hidden;animation:flotar 7s ease-in-out infinite}
.hv-head{background:linear-gradient(135deg,#1b2a4a,#2c4274);color:#fff;text-align:center;padding:1.6rem 1rem 1.3rem;position:relative;overflow:hidden}
.hv-head::after{content:"";position:absolute;inset:0;background:radial-gradient(260px 120px at 80% -30%,rgba(255,255,255,.3),transparent)}
.hv-logo{width:70px;height:70px;border-radius:20px;background:#fff;margin:0 auto .8rem;display:flex;align-items:center;justify-content:center;overflow:hidden;
  font-family:var(--font-display);font-weight:800;font-size:1.8rem;color:var(--accent);box-shadow:0 10px 24px rgba(0,0,0,.25);position:relative;z-index:1}
.hv-logo img{width:100%;height:100%;object-fit:contain;padding:6px}
.hv-head b{display:block;font-family:var(--font-display);font-size:1.15rem;position:relative;z-index:1}
.hv-head small{color:#c5cde2;font-size:.8rem;position:relative;z-index:1}
.hv-body{padding:1rem}
.hv-btns{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}
.hv-btns span,.mp-btns span{display:flex;flex-direction:column;align-items:center;gap:.25rem;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:.6rem;font-size:.74rem;font-weight:600}
.hv-btns svg,.mp-btns svg{width:18px;height:18px;color:var(--accent)}
.hv-save,.mp-save{display:flex;align-items:center;justify-content:center;gap:.45rem;background:var(--accent);color:#fff;border-radius:14px;padding:.7rem;margin-top:.5rem;font-weight:700;font-size:.82rem}
.hv-save svg,.mp-save svg{width:16px;height:16px}
.hv-per{display:flex;align-items:center;gap:.7rem;padding:.75rem .9rem;width:260px;border-radius:20px}
.hv-per b{display:block;font-size:.88rem;line-height:1.2}
.hv-per small{color:var(--ink-faint);font-size:.74rem}
.hv-per .qr{margin-left:auto;width:34px;height:34px;border-radius:8px;flex:0 0 34px;
  background:repeating-conic-gradient(var(--ink) 0 25%,#fff 0 50%) 0 0/8px 8px;opacity:.85}
.hv-per.p1{left:0;top:318px;animation:flotar 8s ease-in-out .6s infinite}
.hv-per.p2{left:36px;top:410px;animation:flotar 9s ease-in-out 1.2s infinite}
.av{width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;font-family:var(--font-display)}
.av.b{background:#3651d4}.av.c{background:#11995a}
.av.s{width:32px;height:32px;flex:0 0 32px;font-size:.7rem}
.av.xl{width:84px;height:84px;flex:0 0 84px;font-size:1.6rem;box-shadow:0 0 0 4px rgba(255,255,255,.9)}
.hv-toast{position:absolute;display:flex;gap:.6rem;align-items:center;background:rgba(20,26,46,.82);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px);
  color:#fff;padding:.7rem .95rem;border-radius:16px;box-shadow:0 20px 40px -18px rgba(0,0,0,.6);font-size:.8rem}
.hv-toast b{display:block;font-size:.84rem}
.hv-toast small{color:#9aa1b8}
.hv-toast.t1{right:-12px;top:436px;animation:flotar 6s ease-in-out .3s infinite}
.hv-toast.t2{left:10px;top:90px;animation:flotar 7.5s ease-in-out .9s infinite}
@keyframes flotar{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.hx-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);border-radius:22px;overflow:hidden;margin:56px 0 64px}
.hx-stats>div{background:var(--night);padding:1.3rem 1.4rem}
.hx-stats b{display:block;font-family:var(--font-display);font-size:2.1rem;font-weight:800;line-height:1;letter-spacing:-.03em}
.hx-stats span{color:#8f96ad;font-size:.84rem}
@media(max-width:1000px){
  .hx-grid{grid-template-columns:minmax(0,1fr)}
  .hx-visual{display:none}
  .hx-stats{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .hx{padding-top:44px}
  .hx .searchbar{flex-wrap:wrap;border-radius:22px;padding:.5rem}
  .hx .searchbar input{flex:1 1 calc(100% - 50px)}
  .hx .searchbar select{flex:1 1 100%;border-left:0;border-top:1px solid var(--line)}
  .hx .searchbar .btn{flex:1 1 100%}
  .aud{display:flex;width:100%}
  .aud button{flex:1 1 auto;padding:.5rem .6rem;font-size:.8rem}
  .hx-stats{margin:40px 0 44px}
  .hx-stats b{font-size:1.6rem}
}

/* Cómo funciona (tira compacta) */
.como{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:1.1rem 1.2rem}
.como>div{display:flex;gap:.7rem;align-items:center;flex:1 1 200px}
.como-n{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-family:var(--font-display)}
.como b{display:block;line-height:1.1}
.como small{color:var(--ink-faint)}

/* Bento de funciones */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.bt{background:#fff;border:1px solid var(--line);border-radius:26px;padding:1.6rem;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
.bt:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.bt h3{font-size:1.3rem;margin:.9rem 0 .4rem}
.bt p{color:var(--ink-soft);margin:0;font-size:.94rem}
.bt-ico{display:inline-flex;width:48px;height:48px;border-radius:14px;background:var(--accent-50);align-items:center;justify-content:center;font-size:1.4rem}
.bt-a{grid-column:span 3}.bt-b{grid-column:span 3}.bt-c{grid-column:span 4}.bt-d{grid-column:span 2}.bt-e{grid-column:span 3}.bt-f{grid-column:span 3}
.bt-dark{background:var(--night);color:#fff;border-color:var(--night)}
.bt-dark::before{content:"";position:absolute;width:380px;height:380px;right:-120px;top:-160px;border-radius:50%;background:radial-gradient(circle,rgba(241,90,36,.4),transparent 65%)}
.bt-dark h3{color:#fff}.bt-dark p{color:#b9bfd3;max-width:48ch}
.bt-dark .bt-ico{background:rgba(255,255,255,.08)}
.bt-new{position:absolute;top:1.2rem;right:1.2rem;background:var(--accent);color:#fff;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:.25rem .6rem;border-radius:999px}
.bt-link{display:inline-block;margin-top:1rem;color:#fff;font-weight:700}
.bt-mini.ficha{display:flex;gap:.4rem;align-items:center;margin-top:1.2rem}
.bt-mini.ficha i{width:64px;height:44px;border-radius:10px;background:linear-gradient(135deg,#e9e6de,#d8d4c8)}
.bt-mini.ficha i:nth-child(2){background:linear-gradient(135deg,#ffd9c7,#f7b393)}
.bt-mini.ficha i:nth-child(3){background:linear-gradient(135deg,#d7ddf3,#aab6e6)}
.bt-mini .stars{margin-left:.4rem}
@media(max-width:900px){.bento{grid-template-columns:1fr 1fr}.bt-a,.bt-b,.bt-c,.bt-d,.bt-e,.bt-f{grid-column:span 1}.bt-c{grid-column:span 2}}
@media(max-width:560px){.bento{grid-template-columns:1fr}.bt-c{grid-column:span 1}}

/* Escaparate del equipo */
.equipo-show{background:var(--night);color:#fff;position:relative;overflow:hidden}
.equipo-show::before{content:"";position:absolute;width:700px;height:700px;left:-260px;bottom:-400px;border-radius:50%;background:radial-gradient(circle,rgba(54,81,212,.35),transparent 65%)}
.equipo-show .container{position:relative}
.equipo-show h2{color:#fff}
.lead-claro{color:#b9bfd3;font-size:1.08rem;max-width:52ch}
ul.check.oscuro li{color:#b9bfd3}
ul.check.oscuro li strong{color:#fff}
ul.check.oscuro li::before{background-color:rgba(17,153,90,.2)}
.movil{position:relative;display:flex;justify-content:center;min-height:540px}
.movil-pant{width:290px;height:560px;border-radius:44px;background:#fff;border:10px solid #1d2438;box-shadow:0 50px 100px -40px rgba(0,0,0,.8);overflow:hidden;color:var(--ink)}
.mp-head{background:linear-gradient(135deg,#f15a24,#ff8a3d);text-align:center;padding:2.2rem 1rem 1.4rem;color:#fff}
.mp-head b{display:block;font-family:var(--font-display);font-size:1.2rem;margin-top:.8rem}
.mp-head small{display:block;color:#ffe3d6;font-size:.8rem}
.mp-head em{display:inline-block;font-style:normal;background:rgba(255,255,255,.2);border-radius:999px;padding:.18rem .65rem;font-size:.72rem;font-weight:600;margin-top:.55rem}
.mp-btns{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;padding:1rem .9rem 0}
.mp-save{margin:.5rem .9rem 0}
.dir-flota{position:absolute;left:-10px;bottom:30px;width:250px;background:rgba(20,26,46,.9);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.1);
  border-radius:20px;padding:.9rem;box-shadow:0 30px 60px -20px rgba(0,0,0,.7);animation:flotar 8s ease-in-out infinite}
.dir-flota b{display:block;font-size:.8rem;margin-bottom:.5rem;color:#d7dbe7}
.dir-flota div{display:flex;gap:.55rem;align-items:center;padding:.4rem 0;border-top:1px solid rgba(255,255,255,.07);font-size:.8rem;font-weight:600}
.dir-flota small{display:block;color:#8f96ad;font-weight:400;font-size:.72rem}
@media(max-width:820px){.movil{min-height:0}.dir-flota{position:relative;left:auto;bottom:auto;margin-top:-80px;align-self:flex-end}.movil{flex-direction:column;align-items:center}}

/* Empleo en portada */
.emp-dos{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:14px}
.ed-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:1.6rem;display:flex;flex-direction:column;align-items:flex-start}
.ed-card h3{font-size:1.35rem;margin:.9rem 0 .4rem}
.ed-card p{color:var(--ink-soft);flex:1}
.ed-card.oscuro{background:var(--night);color:#fff;border-color:var(--night)}
.ed-card.oscuro h3{color:#fff}.ed-card.oscuro p{color:#b9bfd3}
.ed-card.oscuro .bt-ico{background:rgba(255,255,255,.08)}
.ed-lista{background:#fff;border:1px solid var(--line);border-radius:26px;padding:1.2rem;display:flex;flex-direction:column;gap:.5rem}
.ed-tit{font-family:var(--font-display);font-size:1.05rem;margin:.2rem .3rem .3rem}
@media(max-width:900px){.emp-dos{grid-template-columns:1fr}}

/* =========================================================
   EQUIPO (panel)
   ========================================================= */
.cupo{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:18px;padding:.9rem 1.1rem}
.cupo-barra{flex:1;min-width:140px;height:8px;background:var(--paper-2);border-radius:99px;overflow:hidden}
.cupo-barra span{display:block;height:100%;background:var(--accent);border-radius:99px}
.eq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.eq-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.1rem;display:flex;flex-direction:column;gap:.75rem;transition:box-shadow .2s}
.eq-card:hover{box-shadow:var(--shadow-sm)}
.eq-card.pausada{background:#fbfaf7}
.eq-card.pausada .eq-avatar{filter:grayscale(1);opacity:.7}
.eq-top{display:flex;gap:.8rem;align-items:center}
.eq-avatar{width:52px;height:52px;flex:0 0 52px;border-radius:50%;overflow:hidden;background:var(--ink);display:flex;align-items:center;justify-content:center}
.eq-avatar img{width:100%;height:100%;object-fit:cover}
.eq-avatar span{color:#fff;font-weight:800;font-family:var(--font-display)}
.eq-avatar.xl{width:96px;height:96px;flex:0 0 96px}
.eq-avatar.xl span{font-size:1.8rem}
.eq-id{flex:1;min-width:0}
.eq-id b{display:block;line-height:1.2}
.eq-id span{color:var(--ink-faint);font-size:.85rem}
.eq-orden{display:flex;flex-direction:column;gap:2px}
.eq-orden button{border:1px solid var(--line);background:#fff;border-radius:7px;width:26px;height:22px;cursor:pointer;font-size:.7rem;color:var(--ink-soft)}
.eq-orden button:disabled{opacity:.3;cursor:default}
.eq-chips{display:flex;gap:.3rem;flex-wrap:wrap}
.eq-acc{display:flex;gap:.35rem;flex-wrap:wrap;align-items:flex-start}
.eq-mas{position:relative}
.eq-mas summary{list-style:none}
.eq-mas summary::-webkit-details-marker{display:none}
.eq-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:.4rem;min-width:240px}
.eq-menu form{margin:0}
.eq-menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:.6rem .75rem;border-radius:10px;font:inherit;font-size:.88rem;cursor:pointer;color:var(--ink)}
.eq-menu button:hover{background:var(--paper)}
.eq-menu button.peligro{color:var(--danger)}
.eq-inv{display:flex;gap:.3rem;padding:.3rem}
.eq-inv input{flex:1;min-width:0;border:1px solid var(--line-strong);border-radius:10px;padding:.45rem .6rem;font:inherit;font-size:.84rem}
.eq-inv button{width:auto;background:var(--ink);color:#fff;white-space:nowrap}
.eq-inv button:hover{background:var(--brand)}
.eq-filtro input,.dir-barra input{width:100%;max-width:460px;padding:.8rem 1rem;border:1px solid var(--line-strong);border-radius:999px;font:inherit;background:#fff}
.eq-form-cab{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.eq-form-cab h3{margin:0}
.eq-form-grid{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1.6rem}
.eq-foto-campo{display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center}
@media(max-width:700px){.eq-form-grid{grid-template-columns:1fr}}
.upsell-equipo{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2rem;align-items:center;background:var(--night);color:#fff;border-radius:28px;padding:2.2rem;position:relative;overflow:hidden}
.upsell-equipo h2{color:#fff;font-size:clamp(1.5rem,2.6vw,2rem)}
.upsell-equipo ul.check li{color:#b9bfd3}
.upsell-equipo .muted{color:#8f96ad}
.eq-demo{display:flex;flex-direction:column;gap:.7rem}
.eq-demo-card{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:.7rem;align-items:center;background:#fff;color:var(--ink);border-radius:18px;padding:.8rem;box-shadow:0 20px 40px -20px rgba(0,0,0,.6);transform:rotate(-2deg)}
.eq-demo-card.b{transform:rotate(1.5deg) translateX(24px)}
.eq-demo-card .av{grid-row:span 2;background:var(--accent);color:#fff}
.eq-demo-card.b .av{background:#3651d4}
.eq-demo-card small{color:var(--ink-faint);font-size:.76rem}
.eq-demo-card i{grid-row:1/3;grid-column:3;width:36px;height:36px;border-radius:8px;background:repeating-conic-gradient(var(--ink) 0 25%,#fff 0 50%) 0 0/9px 9px}
@media(max-width:760px){.upsell-equipo{grid-template-columns:1fr}}
.qr-modal{border:0;border-radius:24px;padding:1.6rem;text-align:center;box-shadow:var(--shadow-lg)}
.qr-modal::backdrop{background:rgba(7,11,23,.6);backdrop-filter:blur(3px)}
.qr-modal #qr-box{display:inline-block;background:#fff;padding:10px;border-radius:14px;border:1px solid var(--line)}
.qr-acc{display:flex;gap:.5rem;justify-content:center;margin-top:1rem}
.mi-t-cab{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}
.mi-qr{display:inline-block;background:#fff;padding:10px;border:1px solid var(--line);border-radius:16px;margin-bottom:1rem}

/* Directorio interno */
.dir-barra{display:flex;flex-direction:column;gap:.8rem}
.dir-deptos{display:flex;gap:.4rem;flex-wrap:wrap}
.chip-f{font:inherit;font-size:.84rem;font-weight:600;padding:.42rem .85rem;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);cursor:pointer}
.chip-f b{color:var(--ink-faint);font-weight:500;margin-left:.2rem}
.chip-f.activo{background:var(--ink);border-color:var(--ink);color:#fff}
.chip-f.activo b{color:#aab0c4}
.dir-lista{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden}
.dir-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.9rem;align-items:center;padding:.85rem 1.1rem;border-bottom:1px solid var(--line)}
.dir-item:last-child{border-bottom:0}
.dir-item .eq-avatar{width:44px;height:44px;flex-basis:44px}
.dir-id b{display:block;line-height:1.2}
.dir-id span{color:var(--ink-faint);font-size:.85rem}
.dir-datos{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}
.dir-datos a{font-size:.85rem;font-weight:600;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:.35rem .75rem;white-space:nowrap}
.dir-datos a:hover{border-color:var(--ink);text-decoration:none}
.dir-datos small{color:var(--ink-faint);font-weight:500}
@media(max-width:700px){.dir-item{grid-template-columns:auto minmax(0,1fr)}.dir-datos{grid-column:1/-1;justify-content:flex-start}}

/* Acceso / invitación */
.auth{min-height:calc(100vh - 72px);display:flex;align-items:center;justify-content:center;padding:3rem 1rem;
  background:radial-gradient(700px 360px at 50% -10%,rgba(241,90,36,.12),transparent 70%)}
.auth-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:2.2rem;max-width:460px;width:100%;box-shadow:var(--shadow);text-align:left}
.auth-card h1{font-size:2rem;margin:.2rem 0 .6rem}
.auth-emp{width:72px;height:72px;border-radius:20px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:1rem;font-family:var(--font-display);font-weight:800;font-size:1.8rem;color:var(--accent)}
.auth-emp img{width:100%;height:100%;object-fit:contain;padding:6px}

/* Página «Para empresas» */
.pe-hero{background:var(--night);color:#fff;padding:84px 0 96px;position:relative;overflow:hidden;text-align:center}
.pe-hero::before{content:"";position:absolute;width:760px;height:760px;left:50%;top:-520px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(241,90,36,.45),transparent 65%)}
.pe-hero .container{position:relative}
.pe-hero h1{color:#fff;max-width:18ch;margin:0 auto 1rem}
.pe-hero p{color:#b9bfd3;max-width:58ch;margin:0 auto 2rem;font-size:1.12rem}
.pe-cifras{display:flex;gap:2.4rem;justify-content:center;flex-wrap:wrap;margin-top:2.6rem;color:#8f96ad;font-size:.88rem}
.pe-cifras b{display:block;color:#fff;font-family:var(--font-display);font-size:1.6rem}
.pe-bloque{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:center}
.pe-bloque.inv>div:first-child{order:2}
.pe-visual{background:#fff;border:1px solid var(--line);border-radius:28px;padding:1.6rem;min-height:320px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
@media(max-width:860px){.pe-bloque{grid-template-columns:1fr}.pe-bloque.inv>div:first-child{order:0}}

/* =========================================================
   MÓVIL · ajustes generales
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
img,svg,iframe,video{max-width:100%}
.split>*,.dz-grid>*{min-width:0}
@media(max-width:860px){
  .app{grid-template-columns:minmax(0,1fr)}
  .sidebar{position:sticky;top:0;z-index:50;height:auto;padding:.7rem .8rem;overflow:visible}
  .sidebar .brand{margin:0 0 .6rem}
  .sidebar .brand-logo{height:26px!important}
  .sidebar nav{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:.3rem;scrollbar-width:none;padding-bottom:.2rem}
  .sidebar nav::-webkit-scrollbar{display:none}
  .sidebar nav a{margin:0;white-space:nowrap;padding:.5rem .8rem;font-size:.84rem;flex:0 0 auto}
  .sidebar nav a.active{box-shadow:none;background:var(--accent)}
  .sidebar .navsep,.sidebar .sel-ficha label{display:none}
  .side-pie{display:none}
  .app-main{padding:1.2rem 1rem 3rem}
}
@media(max-width:1100px){.dz-previewbox{position:static!important}.dz-phone iframe{height:560px}}
@media(max-width:560px){
  .btn{min-height:44px}
  h1{font-size:2rem;line-height:1.08}
  h2{font-size:1.6rem}
  .section{padding:56px 0}
  .panel-box{padding:1.15rem}
  .kv{flex-wrap:wrap;gap:.2rem}
  .kv .k{flex:0 0 100%}
  code{word-break:break-all}
  .empleo-buscador{flex-direction:column}
  .empleo-buscador input,.empleo-buscador select,.empleo-buscador button{width:100%}
  .fh-acciones .fa-btn{flex:1 1 calc(50% - .3rem);justify-content:center}
  .res-resumen{flex-direction:column;align-items:stretch;text-align:center}
  .fh-main{gap:.9rem}
  .fh-logo{width:72px;height:72px;flex:0 0 72px;font-size:1.8rem;border-radius:18px}
  .gal-pub{grid-template-columns:repeat(3,1fr)}
  .cta-band{padding:2.6rem 1.3rem;border-radius:24px}
  .container{padding:0 16px}
}
.kv,.ficha-desc,.res-txt,.of-tit,.cmp-lbl{overflow-wrap:anywhere}

/* Buscar candidatos */
.cand-filtros{display:flex;gap:.8rem;flex-wrap:wrap;align-items:flex-end}
.cand-filtros .field{flex:1 1 150px;margin:0}
.cand-contacto summary{list-style:none;display:inline-flex}
.cand-contacto summary::-webkit-details-marker{display:none}
.cand-contacto form{margin-top:.6rem;display:flex;flex-direction:column;gap:.5rem}
.cand-contacto textarea{width:100%;border:1px solid var(--line-strong);border-radius:12px;padding:.7rem;font:inherit;font-size:.9rem}
.sel-card .emp-foto.inicial{display:flex!important;height:52px}
@media(max-width:640px){
  .aud{display:grid;grid-template-columns:repeat(3,1fr);border-radius:18px}
  .aud button{font-size:.74rem;padding:.55rem .3rem;border-radius:14px;line-height:1.2}
  .cat-grid{grid-template-columns:1fr 1fr;gap:10px}
  .cat-card{flex-direction:column;align-items:flex-start;gap:.6rem;padding:1rem}
  .cat-card .ico{width:44px;height:44px;flex-basis:44px;font-size:1.35rem}
  .cat-card .nm{font-size:.9rem}
}

/* Prueba gratuita */
.prueba-banner{display:flex;gap:1.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--night);color:#fff;border-radius:24px;padding:1.6rem 1.8rem;position:relative;overflow:hidden}
.prueba-banner::before{content:"";position:absolute;width:420px;height:420px;right:-120px;top:-220px;border-radius:50%;background:radial-gradient(circle,rgba(241,90,36,.45),transparent 65%)}
.prueba-banner>*{position:relative}
.prueba-banner h3{color:#fff;font-size:1.5rem;margin:.1rem 0 .4rem}
.prueba-banner p{color:#b9bfd3;margin:0;max-width:60ch}
.prueba-form{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start;margin:0}
.prueba-banner .prueba-form .muted,.upsell-equipo .prueba-form .muted{color:#8f96ad}

/* Puesta en marcha */
.arranque{background:#fff;border:1px solid var(--line);border-radius:24px;padding:1.4rem}
.arr-cab{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}
.arr-cab h3{margin:0 0 .15rem}.arr-cab p{margin:0}
.arr-anillo{width:64px;height:64px;flex:0 0 64px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:conic-gradient(var(--accent) calc(var(--p)*1%),var(--paper-2) 0)}
.arr-anillo b{width:50px;height:50px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.95rem}
.arr-pasos{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.arr-paso{display:flex;gap:.7rem;align-items:flex-start;padding:.75rem .85rem;border:1px solid var(--line);border-radius:14px;color:var(--ink);transition:.15s}
.arr-paso:hover{border-color:var(--ink);text-decoration:none}
.arr-paso i{flex:0 0 22px;height:22px;border-radius:50%;border:2px solid var(--line-strong);display:flex;align-items:center;justify-content:center;font-style:normal;font-size:.75rem;font-weight:800;margin-top:.1rem}
.arr-paso b{display:block;font-size:.9rem;line-height:1.25}
.arr-paso small{display:block;color:var(--ink-faint);font-size:.78rem;line-height:1.35}
.arr-paso.hecho{background:#fbfaf7}
.arr-paso.hecho i{background:var(--ok);border-color:var(--ok);color:#fff}
.arr-paso.hecho b{color:var(--ink-faint);text-decoration:line-through}

/* Tarjeta y material */
.qr-hub{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap}
.qr-hub .mi-qr{margin:0}
.kit-sel{margin:.4rem 0 1rem}
.kit-sel select{padding:.5rem .7rem;border-radius:10px;border:1px solid var(--line-strong);font:inherit;background:#fff;margin-left:.3rem}
.kit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.kit-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.1rem;color:var(--ink);transition:.2s;display:flex;flex-direction:column}
.kit-card:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:var(--shadow-sm);text-decoration:none}
.kit-card h3{margin:.9rem 0 .3rem;font-size:1.1rem}
.kit-card p{color:var(--ink-soft);font-size:.88rem;margin:0 0 .8rem;flex:1}
.kit-card span{font-weight:700;font-size:.86rem;color:var(--accent)}
.kit-mini{height:130px;border-radius:14px;background:var(--paper);display:flex;align-items:center;justify-content:center;gap:6px;position:relative;overflow:hidden}
.kit-mini.cartel i{width:70px;height:100px;background:#fff;border-radius:6px;box-shadow:var(--shadow-sm);position:relative}
.kit-mini.cartel i::before{content:"";position:absolute;left:0;right:0;top:0;height:30px;background:var(--grad-brand);border-radius:6px 6px 0 0}
.kit-mini.cartel i::after{content:"";position:absolute;left:20px;top:44px;width:30px;height:30px;background:repeating-conic-gradient(var(--ink) 0 25%,#fff 0 50%) 0 0/6px 6px}
.kit-mini.visita{display:grid;grid-template-columns:repeat(2,60px);gap:5px;align-content:center;justify-content:center}
.kit-mini.visita i{height:36px;background:#fff;border-radius:4px;box-shadow:var(--shadow-sm);border-left:3px solid var(--accent)}
.kit-mini.mesa i{width:90px;height:56px;background:#fff;border-radius:6px;box-shadow:var(--shadow-sm);position:relative}
.kit-mini.mesa i:first-child{transform:perspective(200px) rotateX(20deg)}
.kit-mini.mesa i::after{content:"";position:absolute;left:8px;top:10px;width:34px;height:34px;background:repeating-conic-gradient(var(--ink) 0 25%,#fff 0 50%) 0 0/6px 6px}
.kit-mini.firma i{width:150px;height:60px;background:#fff;border-radius:8px;box-shadow:var(--shadow-sm);border-left:4px solid var(--accent)}
.firma-prev{background:#fff;border:1px dashed var(--line-strong);border-radius:14px;padding:1.4rem;overflow-x:auto}
.firma-pasos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.firma-pasos .panel-box+.panel-box{margin-top:0}

/* Registro */
.reg{padding:48px 0 88px;background:radial-gradient(800px 400px at 0% 0%,rgba(241,90,36,.08),transparent 60%)}
.reg-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:2.4rem;align-items:start}
.reg-lado{background:var(--night);color:#fff;border-radius:28px;padding:2.4rem;position:sticky;top:96px;overflow:hidden}
.reg-lado::before{content:"";position:absolute;width:420px;height:420px;right:-160px;top:-200px;border-radius:50%;background:radial-gradient(circle,rgba(241,90,36,.45),transparent 65%)}
.reg-lado>*{position:relative}
.reg-lado h1{color:#fff;font-size:clamp(2rem,3.6vw,2.8rem)}
.reg-lado p{color:#b9bfd3}
.reg-regalo{margin-top:1.2rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:.9rem 1rem;color:#e6e9f3;font-size:.92rem}
.reg-form{background:#fff;border:1px solid var(--line);border-radius:28px;padding:2rem;box-shadow:var(--shadow-sm)}
.reg-form h2{font-size:1.6rem;margin-bottom:.2rem}
@media(max-width:900px){.reg-grid{grid-template-columns:1fr}.reg-lado{position:static;padding:1.8rem}}
@media(max-width:900px){.reg-lado ul,.reg-lado>p{display:none}.reg-lado h1{font-size:1.8rem}}
.ej-tag{position:absolute;top:-6px;left:50%;transform:translateX(-50%);z-index:3;background:#fff;color:var(--ink);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .7rem;border-radius:999px;box-shadow:var(--shadow-sm)}
a.hv-real{text-decoration:none;color:var(--ink);cursor:pointer;transition:transform .25s}
a.hv-real:hover{text-decoration:none;box-shadow:0 40px 80px -30px rgba(0,0,0,.7),0 0 0 2px var(--accent)}
.hv-toast .stars{font-size:.8rem}
.hv-toast.t1{top:auto;bottom:30px;right:auto;left:0}
.hv-toast.t2{top:0;left:0}
.hv-emp{overflow:visible}.hv-emp .hv-head{border-radius:26px 26px 0 0}.hv-emp>.ej-tag{top:-12px}.hv-logo svg{width:34px;height:34px;color:var(--accent)}

/* =========================================================
   ESCAPARATE
   ========================================================= */
.pub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.pub-grid.compacta{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.pub-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;color:var(--ink);transition:transform .2s,box-shadow .2s,border-color .2s}
a.pub-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-strong);text-decoration:none}
.pub-card.vendida .pub-foto img{filter:grayscale(.7)}
.pub-card.oculta{opacity:.6}
.pub-foto{position:relative;display:block;aspect-ratio:4/3;background:var(--paper);overflow:hidden}
.pub-foto img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1)}
a.pub-card:hover .pub-foto img{transform:scale(1.05)}
.pub-foto>span{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-size:2.6rem}
.pub-etq{position:absolute;left:10px;top:10px;background:rgba(255,255,255,.94);color:var(--ink);font-style:normal;font-size:.7rem;font-weight:700;padding:.22rem .6rem;border-radius:999px}
.pub-sello{position:absolute;right:10px;top:10px;background:var(--ink);color:#fff;font-style:normal;font-size:.7rem;font-weight:700;padding:.22rem .6rem;border-radius:999px}
.pub-dest{position:absolute;right:10px;top:10px;background:var(--accent);color:#fff;font-style:normal;font-size:.7rem;font-weight:700;padding:.22rem .6rem;border-radius:999px}
.pub-cuerpo{padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.pub-precio{font-family:var(--font-display);font-weight:800;font-size:1.3rem;letter-spacing:-.02em;color:var(--ink)}
.pub-precio s,.pub-precio-xl s{font-family:var(--font-body);font-size:.85rem;font-weight:500;color:var(--ink-faint);margin-left:.3rem}
.pub-tit{font-weight:600;line-height:1.3;font-size:.96rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pub-tipo{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}
.pub-chips{display:flex;gap:.3rem;flex-wrap:wrap}
.pub-chips i{font-style:normal;font-size:.74rem;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:.12rem .5rem;color:var(--ink-soft)}
.pub-pie{margin-top:auto;padding-top:.35rem;display:flex;justify-content:space-between;gap:.5rem;font-size:.78rem;color:var(--ink-faint)}
.pub-emp{font-weight:600;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.esc-cab{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.esc-barra{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.esc-orden{display:flex;gap:.4rem;margin:0}
.esc-orden input,.esc-orden select{padding:.5rem .8rem;border:1px solid var(--line-strong);border-radius:999px;font:inherit;font-size:.86rem;background:#fff;width:140px}
.esc-orden select{width:auto}
/* Detalle */
.pub-galeria{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:120px;gap:8px}
.pub-galeria .gp-item{padding:0;border:0;background:var(--paper);border-radius:14px;overflow:hidden;cursor:zoom-in}
.pub-galeria .gp-item img{width:100%;height:100%;object-fit:cover}
.pub-galeria .gp-item.grande{grid-column:span 4;grid-row:span 3}
.pub-galeria.una .gp-item.grande{grid-row:span 4}
.pub-sinfoto{grid-column:span 4;grid-row:span 3;display:flex;align-items:center;justify-content:center;font-size:4rem;background:var(--paper);border-radius:20px}
.pub-cab{display:flex;gap:.6rem;align-items:center;justify-content:space-between}
.pub-h1{font-size:clamp(1.6rem,3vw,2.3rem);margin:.4rem 0 .5rem}
.pub-precio-xl{font-family:var(--font-display);font-weight:800;font-size:2.2rem;letter-spacing:-.03em;margin-bottom:.4rem}
.pub-datos{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-top:1rem}
.pub-datos div{background:var(--paper);border-radius:14px;padding:.7rem .85rem}
.pub-datos span{display:block;font-size:.74rem;color:var(--ink-faint)}
.pub-datos b{font-size:1rem}
.pub-contacto{position:sticky;top:90px}
.pub-empresa{display:flex;gap:.8rem;align-items:center;color:var(--ink);padding-bottom:1rem;border-bottom:1px solid var(--line);margin-bottom:1rem}
.pub-empresa:hover{text-decoration:none}
.pub-empresa b{display:block}
.pub-empresa small{color:var(--ink-faint)}
.pub-botones{display:flex;flex-direction:column;gap:.5rem}
.wa-btn{background:#25d366;color:#04331a}
.wa-btn:hover{background:#1fbe5b;color:#04331a}
/* Formulario del panel */
.tipo-sel{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:.4rem}
.tipo-sel label{cursor:pointer}
.tipo-sel input{position:absolute;opacity:0}
.tipo-sel span{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.8rem .5rem;border:1.5px solid var(--line);border-radius:14px;font-weight:600;font-size:.88rem;background:#fff;transition:.15s}
.tipo-sel i{font-style:normal;font-size:1.5rem}
.tipo-sel input:checked + span{border-color:var(--accent);background:var(--accent-50);box-shadow:0 0 0 3px rgba(241,90,36,.12)}
.tipo-sel input:focus-visible + span{outline:3px solid var(--brand-bright)}
.campos-t[hidden],.solo-t[hidden]{display:none}
.pub-fotos{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:.7rem}
.pub-fotos .pf{position:relative;width:110px;height:82px;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.pub-fotos .pf.portada{box-shadow:0 0 0 2px var(--accent)}
.pub-fotos img{width:100%;height:100%;object-fit:cover}
.pub-fotos .pf span{position:absolute;left:4px;bottom:4px;background:var(--accent);color:#fff;font-size:.62rem;font-weight:700;padding:.1rem .4rem;border-radius:99px}
.pub-fotos .pf button{position:absolute;top:4px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(11,16,32,.75);color:#fff;cursor:pointer;font-size:.7rem}
.pub-fotos .pf button[form^="f-del"]{right:4px}
.pub-fotos .pf button[form^="f-port"]{left:4px}
@media(max-width:560px){.pub-grid{grid-template-columns:1fr 1fr;gap:10px}.pub-precio{font-size:1.05rem}.pub-cuerpo{padding:.7rem}.pub-galeria{grid-auto-rows:70px}}
.pub-pie{flex-direction:column;gap:.1rem;justify-content:flex-end}
.paises-adm{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.4rem .8rem;margin-bottom:1rem}.paises-adm label{display:flex;gap:.4rem;align-items:center;font-size:.9rem}
