/* ── TOKENS ─────────────────────────────────────────── */
:root{
  --orange:#2EA3F2;          /* AZUL corporativo del logo — CTA / marca (nombre var conservado) */
  --orange-600:#0F7DC7;      /* azul hover mas profundo */
  --orange-50:#E0F2FE;       /* azul cielo muy suave para fondos */
  --navy:#0B2A4A;            /* azul marino profundo del footer */
  --navy-900:#061A30;
  --navy-100:#E8F1FA;
  --ink:#111827;
  --ink-soft:#374151;
  --muted:#6B7280;
  --line:#E5E7EB;
  --bg:#FFFFFF;
  --bg-soft:#F8FAFC;
  --bg-cream:#F0F7FD;        /* franja de pasos: azul cielo muy claro (calza con la foto) */
  --ok:#16A34A;
  --radius:14px;
  --radius-sm:10px;
  --shadow-sm:0 1px 2px rgba(15,23,42,.04),0 1px 3px rgba(15,23,42,.06);
  --shadow-md:0 6px 16px rgba(15,23,42,.06),0 2px 4px rgba(15,23,42,.04);
  --shadow-lg:0 20px 40px rgba(15,23,42,.10),0 6px 12px rgba(15,23,42,.05);
  --container:1180px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;overflow-x:hidden;max-width:100%}
img,svg,video{max-width:100%;height:auto}
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none}
.tbh-container,
body.home .tbh-container,
body.home #main-content .tbh-container,
body.home article .tbh-container{max-width:1180px !important;margin:0 auto !important;padding:0 24px !important;width:100% !important;box-sizing:border-box !important}

/* ── HEADER ─────────────────────────────────────────── */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.94);
  backdrop-filter:saturate(180%) blur(10px);
  -webkit-backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .25s ease, background .25s ease, border-color .25s ease;
}
.site-header.scrolled{
  background:rgba(255,255,255,.98);
  box-shadow:0 6px 20px rgba(15,23,42,.06);
  border-bottom-color:transparent;
}
.site-header.scrolled .header-row{padding-top:8px !important;padding-bottom:8px !important}
.site-header.scrolled .logo img{height:44px}
.header-row{display:flex;align-items:center;gap:32px;padding:12px 24px !important;max-width:var(--container) !important;margin:0 auto !important;box-sizing:border-box !important;width:100% !important}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.4px}
.logo img{height:56px;width:auto;display:block}
.site-footer .logo img{height:64px}
.logo-text{display:none} /* usamos el logo con texto integrado */
.nav{display:flex;gap:28px;margin-left:auto;align-items:center}
.nav > a{color:var(--ink-soft);font-weight:500;font-size:14.5px;padding:8px 0;border-bottom:2px solid transparent}
.nav > a.active{color:var(--orange);border-color:var(--orange)}
.nav > a:hover{color:var(--orange)}

/* Dropdowns */
.has-drop{position:relative}
.nav-btn{
  display:inline-flex;align-items:center;gap:5px;
  color:var(--ink-soft);font-weight:500;font-size:14.5px;
  padding:8px 0;background:none;border:0;border-bottom:2px solid transparent;
  cursor:pointer;font-family:inherit;transition:color .15s;
}
.nav-btn:hover,.has-drop:hover .nav-btn,.has-drop.open .nav-btn{color:var(--orange)}
.nav-btn .chev{transition:transform .2s ease;opacity:.6}
.has-drop:hover .nav-btn .chev,.has-drop.open .nav-btn .chev{transform:rotate(180deg);opacity:1}
.drop{
  position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(4px);
  min-width:200px;background:#fff;border:1px solid var(--line);border-radius:14px;
  box-shadow:var(--shadow-lg);list-style:none;padding:8px;margin:0;
  opacity:0;visibility:hidden;transition:all .18s ease;z-index:60;
}
.drop::before{
  content:"";position:absolute;top:-6px;left:50%;transform:translateX(-50%) rotate(45deg);
  width:12px;height:12px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);
}
.has-drop:hover .drop,.has-drop.open .drop,.has-drop:focus-within .drop{
  opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);
}
.drop li{margin:0}
.drop a{
  display:block;padding:10px 14px;border-radius:10px;font-size:14px;
  color:var(--ink-soft);font-weight:500;text-decoration:none;
  transition:background .15s,color .15s;white-space:nowrap;
}
.drop a:hover{background:var(--bg-soft);color:var(--orange)}
.drop a{display:flex !important;align-items:center;gap:10px}
.drop a svg{opacity:.65;flex:0 0 auto;color:var(--orange)}
.drop a:hover svg{opacity:1}

/* Dropdown de Tracking (wide) */
.drop-wide .drop{min-width:340px;padding:16px;left:0;transform:translateY(4px)}
.drop-wide .drop::before{left:34px;transform:rotate(45deg)}
.has-drop.drop-wide:hover .drop,.has-drop.drop-wide.open .drop{transform:translateY(0)}
.drop-track-head{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.drop-track-head strong{display:block;font-size:15px;color:var(--ink);font-weight:700}
.drop-track-head span{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.drop-track-form{display:flex;gap:8px;margin-bottom:10px}
.drop-track-form input{
  flex:1;padding:11px 14px;border:1.5px solid var(--line);border-radius:10px;
  font-size:14px;font-family:inherit;background:#fff;min-width:0;
}
.drop-track-form input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(46,163,242,.18)}
.drop-track-form button{
  display:inline-flex;align-items:center;gap:6px;
  padding:11px 16px;border:0;border-radius:10px;background:var(--orange);color:#fff;
  font-weight:700;font-size:13.5px;cursor:pointer;font-family:inherit;
  transition:background .15s;white-space:nowrap;
}
.drop-track-form button:hover{background:var(--orange-600)}
.drop-track-more{
  display:inline-block !important;padding:6px 0 !important;font-size:13px;
  color:var(--orange);text-decoration:none;font-weight:600;
}
.drop-track-more:hover{text-decoration:underline}

/* Bridge invisible entre el trigger y el drop para que el hover no se pierda */
.has-drop::after{
  content:"";position:absolute;top:100%;left:0;right:0;height:16px;
}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 22px;border-radius:12px;font-weight:600;font-size:14.5px;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-orange{background:var(--orange);color:#fff;box-shadow:0 4px 12px rgba(46,163,242,.35)}
.btn-orange:hover{background:var(--orange-600)}
.btn-outline{border:1.5px solid var(--line);background:#fff;color:var(--ink)}
.btn-outline:hover{border-color:var(--ink);box-shadow:var(--shadow-md)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-900)}
.btn-ghost{color:var(--ink-soft)}
.btn-portal{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 18px;border-radius:12px;border:1.5px solid var(--line);
  font-weight:600;font-size:14px;color:var(--ink);background:#fff;
}
.btn-portal:hover{border-color:var(--orange);color:var(--orange)}
.hamburger{display:none;margin-left:auto;padding:8px;color:var(--ink);cursor:pointer;background:none;border:0}

/* Menu movil */
.mobile-menu{
  border-top:1px solid var(--line);background:#fff;padding:8px 24px 20px;
  animation:mmSlideDown .2s ease;
}
@keyframes mmSlideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.mobile-menu ul{list-style:none;margin:0;padding:0}
.mobile-menu > ul > li{border-bottom:1px solid var(--line)}
.mobile-menu > ul > li:last-child{border-bottom:0}
.mobile-menu a, .mobile-menu > ul > li > span{
  display:block;padding:14px 4px;color:var(--ink);font-weight:600;font-size:15px;text-decoration:none;
}
.mobile-menu .mm-group > span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:1.6px;padding-bottom:4px;padding-top:14px}
.mobile-menu .mm-group ul{margin:0 0 8px 0;padding:0}
.mobile-menu .mm-group ul a{padding:10px 8px;font-weight:500;font-size:14.5px;color:var(--ink-soft)}
.mobile-menu .mm-cta{
  background:var(--orange);color:#fff;text-align:center;border-radius:12px;
  margin-top:12px;padding:14px;
}
/* Tracking en menu movil */
.mobile-menu .mm-track{padding:14px 0;border-bottom:1px solid var(--line)}
.mobile-menu .mm-track form{display:flex;gap:8px}
.mobile-menu .mm-track input{
  flex:1;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;
  font-size:14.5px;font-family:inherit;min-width:0;
}
.mobile-menu .mm-track input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(46,163,242,.18)}
.mobile-menu .mm-track button{
  width:44px;flex:0 0 auto;border:0;border-radius:10px;background:var(--orange);color:#fff;
  display:grid;place-items:center;cursor:pointer;
}

/* ── WHATSAPP FLOTANTE ────────────────────────────── */
.wa-float{
  position:fixed;bottom:26px;right:26px;z-index:200;
  width:62px;height:62px;border-radius:50%;
  background:#25D366;color:#fff;
  display:grid;place-items:center;
  box-shadow:0 10px 26px rgba(37,211,102,.42), 0 4px 12px rgba(15,23,42,.15);
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease;
}
.wa-float::before{
  content:"";position:absolute;inset:-6px;border-radius:50%;
  background:rgba(37,211,102,.25);z-index:-1;
  animation:waPulse 2.4s ease-in-out infinite;
}
@keyframes waPulse{
  0%,100%{transform:scale(1);opacity:.75}
  50%{transform:scale(1.28);opacity:0}
}
.wa-float:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(37,211,102,.5)}
.wa-float:hover .wa-tooltip{opacity:1;transform:translateY(-50%) translateX(0)}
.wa-tooltip{
  position:absolute;right:74px;top:50%;transform:translateY(-50%) translateX(8px);
  background:var(--navy);color:#fff;padding:10px 16px;border-radius:12px;
  white-space:nowrap;font-size:13px;line-height:1.35;
  box-shadow:0 8px 20px rgba(15,23,42,.2);
  opacity:0;pointer-events:none;transition:all .2s ease;
  display:block;
}
.wa-tooltip strong{display:block;font-size:14.5px;font-weight:700}
.wa-tooltip span{display:block;font-size:11.5px;color:rgba(255,255,255,.75);margin-top:1px}
.wa-tooltip::after{
  content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);
  border:6px solid transparent;border-left-color:var(--navy);
}
@media (max-width:640px){
  .wa-float{width:54px;height:54px;bottom:18px;right:18px}
  .wa-float svg{width:26px;height:26px}
  .wa-tooltip{display:none}
}

/* ── HERO (full-bleed con overlay blanco degradado) ── */
.hero{
  position:relative;
  min-height:720px;
  overflow:hidden;
  background:#0B2A4A;   /* fallback mientras carga la imagen */
}
.hero-photo img{object-position:right center !important}
.hero-photo{position:absolute;inset:0;z-index:0}
.hero-photo img{
  width:100%;height:100%;object-fit:cover;object-position:center right;
  display:block;
}
/* Gradiente blanco que envuelve al texto: opaco a la izquierda, transparente a la derecha */
.hero-overlay{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,
    #ffffff 0%,
    #ffffff 32%,
    rgba(255,255,255,.85) 50%,
    rgba(255,255,255,.35) 70%,
    rgba(255,255,255,0) 88%);
}
.hero-inner{
  position:relative;z-index:2;
  padding:88px 0 96px;
}
.hero-content{max-width:560px}
.eyebrow{
  color:var(--orange);font-weight:700;font-size:13px;letter-spacing:2.5px;
  text-transform:uppercase;margin:0 0 18px;display:inline-flex;align-items:center;gap:10px;
}
.eyebrow .arrow{
  display:inline-block;width:26px;height:2px;background:var(--orange);position:relative;
}
.eyebrow .arrow::after{
  content:"";position:absolute;right:-1px;top:-3px;
  border-left:6px solid var(--orange);border-top:4px solid transparent;border-bottom:4px solid transparent;
}
h1{
  font-size:56px;line-height:1.05;letter-spacing:-1.5px;margin:0 0 22px;
  font-weight:800;color:var(--ink);
}
.hero-lead{font-size:17px;color:var(--muted);max-width:440px;margin:0 0 30px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}

/* ── PLACEHOLDER ────────────────────────────────────── */
.ph{
  position:relative;background:
    repeating-linear-gradient(45deg,var(--bg-soft) 0 10px,#F1F5F9 10px 20px);
  border:2px dashed #CBD5E1;border-radius:18px;
  display:grid;place-items:center;text-align:center;color:var(--muted);
  overflow:hidden;
}
.ph-inner{padding:24px}
.ph-title{color:var(--navy);font-weight:700;font-size:14px;letter-spacing:.4px}
.ph-desc{font-size:12.5px;color:var(--muted);margin-top:4px;max-width:280px}
.ph-badge{
  display:inline-block;background:var(--orange);color:#fff;font-weight:700;
  font-size:11px;letter-spacing:1.2px;padding:5px 10px;border-radius:999px;margin-bottom:10px;
}
.ph-dims{
  position:absolute;bottom:10px;right:12px;font-size:11px;color:#94A3B8;
  background:#fff;padding:3px 8px;border-radius:6px;border:1px solid var(--line);
}

/* .hero-media legado — ya no se usa (el hero es full-bleed) */

/* ── PASOS ──────────────────────────────────────────── */
.steps{padding:56px 0;background:var(--bg-cream);border-top:1px solid #DDEAF6;border-bottom:1px solid #DDEAF6}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.step{padding:0 32px;border-right:1px solid #D5E6F5}
.step:last-child{border-right:0}
.step-num{color:var(--orange);font-size:40px;font-weight:800;line-height:1;letter-spacing:-2px}
.step-icon{
  width:52px;height:52px;border-radius:14px;background:#fff;
  display:grid;place-items:center;color:var(--orange);
  margin:14px 0 18px;box-shadow:var(--shadow-sm);
}
.step h3{margin:0 0 6px;font-size:18px;font-weight:700}
.step p{margin:0;color:var(--muted);font-size:14.5px}

/* ── PORTAL / LOGIN ─────────────────────────────────── */
.portal{padding:80px 0;background:#fff}
.portal-grid{
  display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:start;
}
.portal-grid > *{min-width:0}
.portal-left, .portal-right{min-width:0;max-width:100%}
.portal-left h2{font-size:44px;line-height:1.1;letter-spacing:-1px;font-weight:800;margin:0 0 18px}
.portal-left .lead{color:var(--muted);font-size:16px;max-width:460px;margin:0 0 30px}
.portal-media{
  aspect-ratio:4/3;min-height:auto;border-radius:20px;overflow:hidden;
  box-shadow:var(--shadow-lg);position:relative;margin-top:8px;
}
.portal-media.has-photo{border:0;background:none;padding:0}
.portal-media.has-photo .ph-inner,.portal-media.has-photo .ph-dims{display:none}
.portal-media img{width:100%;height:100%;object-fit:cover;display:block;border-radius:20px}
.portal-note{
  position:absolute;top:20px;right:22px;
  font-family:'Caveat','Bradley Hand','Segoe Script',cursive;
  font-size:28px;line-height:1.05;color:var(--orange);
  transform:rotate(-6deg);text-align:center;font-weight:700;
  text-shadow:0 1px 2px rgba(255,255,255,.6);
  padding:6px 10px;
}
.portal-note::after{
  content:"";display:block;height:3px;width:70px;background:var(--orange);
  border-radius:3px;margin:6px auto 0;transform:rotate(2deg);
}
.portal-right{position:sticky;top:100px}
/* Anular estilos legacy de .portal-card por si quedaron en cache */
body.home .portal-card{background:transparent !important;border:0 !important;padding:0 !important;box-shadow:none !important}

/* Auth card (envuelve el shortcode [tb_auth_form]) */
.auth-card{
  background:#fff;border:1px solid var(--line);border-radius:22px;
  box-shadow:var(--shadow-lg);padding:8px 8px 24px;overflow:visible;
}

/* Shortcode [tb_auth_form] — normalizamos su HTML original al look de la home */
.auth-card .tbp-auth-shell{margin:0;padding:0;background:none;border:0}
.auth-card .tbp-auth-widget{
  display:block;background:none;box-shadow:none;border:0;padding:0;margin:0;max-width:none;
}
/* Ocultar el aside con branding: duplicaba el mensaje de la seccion "Tu portal, todo en un solo lugar" */
.auth-card .tbp-auth-side{display:none !important}
.auth-card .tbp-auth-main{padding:0}
/* Tabs propias del shortcode */
.auth-card .tbp-auth-tabs{
  display:grid;grid-template-columns:1fr 1fr;background:var(--bg-soft);
  border-radius:16px;padding:6px;margin:16px 18px 22px;gap:6px;
}
.auth-card .tbp-tab-btn{
  padding:12px 14px;border-radius:12px;font-weight:600;color:var(--muted);
  font-size:14.5px;text-align:center;background:transparent;border:0;cursor:pointer;
  transition:all .15s ease;font-family:inherit;
}
.auth-card .tbp-tab-btn.active{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm);position:relative}
.auth-card .tbp-tab-btn.active::after{
  content:"";position:absolute;left:20%;right:20%;bottom:-10px;height:3px;
  background:var(--orange);border-radius:3px;
}
.auth-card .tbp-tab-content{padding:0 22px 4px}
.auth-card .tbp-tab-content.tbp-hidden{display:none}
.auth-card .tbp-form-heading{margin:0 0 4px;font-size:24px;font-weight:800;letter-spacing:-.4px;color:var(--ink)}
.auth-card .tbp-form-desc{margin:0 0 18px;color:var(--muted);font-size:14px}
/* Formularios */
.auth-card .tbp-form{margin:0}
.auth-card .tbp-form-group{margin-bottom:14px}
.auth-card .tbp-form-group > label{
  display:block;font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:6px;
}
.auth-card .tbp-input-wrap{position:relative;display:flex;align-items:center}
.auth-card .tbp-input-icon{
  position:absolute;left:12px;color:var(--muted);pointer-events:none;font-size:14px;
}
.auth-card .tbp-input-wrap input{padding-left:36px !important}
.auth-card .tbp-form input:not([type="hidden"]):not([type="submit"]):not([type="button"]),
.auth-card .tbp-form select,
.auth-card .tbp-form textarea{
  width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;
  font-size:14.5px;font-family:inherit;background:#fff;box-sizing:border-box;
  transition:border-color .15s,box-shadow .15s;
}
.auth-card .tbp-form input:focus,
.auth-card .tbp-form select:focus,
.auth-card .tbp-form textarea:focus{
  outline:none;border-color:var(--orange);
  box-shadow:0 0 0 4px rgba(46,163,242,.18);
}
/* Filas de 2 columnas del registro */
.auth-card .tbp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:640px){
  .auth-card .tbp-form-row{grid-template-columns:1fr}
}
/* Botones submit */
.auth-card .tbp-form button[type="submit"],
.auth-card .tbp-form input[type="submit"],
.auth-card .tbp-form .tbp-btn-submit{
  width:100%;padding:14px;border:0;border-radius:12px;background:var(--orange);color:#fff;
  font-weight:700;font-size:15px;cursor:pointer;box-shadow:0 6px 16px rgba(46,163,242,.35);
  transition:all .15s;margin-top:6px;font-family:inherit;
}
.auth-card .tbp-form button[type="submit"]:hover,
.auth-card .tbp-form input[type="submit"]:hover,
.auth-card .tbp-form .tbp-btn-submit:hover{background:var(--orange-600);transform:translateY(-1px)}
/* Link olvidaste contrasena / registrarme */
.auth-card .tbp-msg{color:var(--muted);font-size:13.5px;margin:8px 0}
.auth-card .tbp-tab-content a{color:var(--orange);text-decoration:none;font-weight:500}
.auth-card .tbp-tab-content a:hover{text-decoration:underline}
.tabs{
  display:grid;grid-template-columns:1fr 1fr;background:var(--bg-soft);
  border-radius:16px;padding:6px;margin-bottom:26px;
}
.tab{
  padding:12px 14px;border-radius:12px;font-weight:600;color:var(--muted);
  font-size:14.5px;text-align:center;transition:all .15s ease;
}
.tab.active{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm);position:relative}
.tab.active::after{
  content:"";position:absolute;left:20%;right:20%;bottom:-10px;height:3px;
  background:var(--orange);border-radius:3px;
}
.auth-body{padding:0 26px}
.auth-body h3{margin:0 0 6px;font-size:26px;font-weight:800;letter-spacing:-.4px}
.auth-body .hint{margin:0 0 22px;color:var(--muted);font-size:14px}
.field{margin-bottom:16px}
.field label{
  display:block;font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:6px;
}
.field input, .field select{
  width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;
  font-size:14.5px;font-family:inherit;background:#fff;transition:border-color .15s,box-shadow .15s;
}
.field input:focus, .field select:focus{
  outline:none;border-color:var(--orange);
  box-shadow:0 0 0 4px rgba(46,163,242,.18);
}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.forgot{
  display:block;text-align:center;margin-top:16px;
  color:var(--orange);font-size:13.5px;font-weight:500;
}
.forgot:hover{text-decoration:underline}
.submit{
  width:100%;padding:14px;border-radius:12px;background:var(--orange);color:#fff;
  font-weight:700;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  box-shadow:0 6px 16px rgba(46,163,242,.35);transition:all .15s;
}
.submit:hover{background:var(--orange-600);transform:translateY(-1px)}
.pane{display:none}
.pane.active{display:block}

/* ── TRACKING ───────────────────────────────────────── */
.tracking-wrap{padding:36px 24px 24px;display:block}
.tracking-card{
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 28px;
  box-shadow:var(--shadow-md);width:100%;max-width:none;
}
.tracking-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.tracking-head .ico{
  width:44px;height:44px;border-radius:12px;background:var(--orange-50);
  display:grid;place-items:center;color:var(--orange);flex:0 0 auto;
}
.tracking-head h4{margin:0;font-size:17px;font-weight:700}
.tracking-head p{margin:0;color:var(--muted);font-size:13.5px}
.tracking-form{display:flex;gap:12px}
.tracking-form input{
  flex:1;padding:13px 16px;border:1.5px solid var(--line);border-radius:12px;
  font-size:14.5px;font-family:inherit;
}
.tracking-form input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 4px rgba(46,163,242,.18)}
.tracking-form .btn{padding:13px 26px}

/* Shortcode [tb_tracking_public] embebido en la card */
.tracking-embed .tbp-tracking-public{margin:0}
.tracking-embed .tbp-tracking-public label{
  display:block;font-size:13px;font-weight:600;color:var(--ink-soft);
  margin-bottom:8px;text-transform:none;
}
.tracking-embed .tbp-tracking-form__row{display:flex;gap:12px}
.tracking-embed .tbp-tracking-form__row input{
  flex:1;padding:13px 16px;border:1.5px solid var(--line);border-radius:12px;
  font-size:14.5px;font-family:inherit;background:#fff;box-sizing:border-box;
  transition:border-color .15s,box-shadow .15s;min-width:0;
}
.tracking-embed .tbp-tracking-form__row input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 4px rgba(46,163,242,.18)}
.tracking-embed .tbp-tracking-form__row button{
  padding:13px 30px;border:0;border-radius:12px;background:var(--orange);color:#fff;
  font-weight:700;font-size:14.5px;cursor:pointer;font-family:inherit;
  box-shadow:0 4px 12px rgba(46,163,242,.35);transition:all .15s;white-space:nowrap;
}
.tracking-embed .tbp-tracking-form__row button:hover{background:var(--orange-600);transform:translateY(-1px)}
@media (max-width: 640px){
  .tracking-embed .tbp-tracking-form__row{flex-direction:column}
  .tracking-embed .tbp-tracking-form__row button{width:100%}
}

/* ── NOVEDADES ──────────────────────────────────────── */
.news{padding:80px 0 40px;background:#fff}
.news .services-head{margin-bottom:44px}
.news-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.news-card{
  display:block;position:relative;border-radius:20px;overflow:hidden;
  aspect-ratio:3/4;background:var(--bg-soft);
  box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease;
}
.news-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.news-card img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .35s ease;
}
.news-card:hover img{transform:scale(1.03)}
.news-card::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 65%,rgba(0,0,0,.05) 100%);
  pointer-events:none;
}
@media (max-width:960px){
  .news-grid{grid-template-columns:1fr;gap:20px}
  .news-card{aspect-ratio:auto;max-height:520px}
  .news-card img{height:auto;object-fit:contain}
}

/* ── SERVICIOS ──────────────────────────────────────── */
.services{padding:70px 0;background:var(--bg-soft)}
.services-head{text-align:center;margin-bottom:44px}
.services-head .eyebrow{justify-content:center}
.services-head h2{font-size:38px;letter-spacing:-.8px;font-weight:800;margin:0}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc{
  background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:26px;display:flex;gap:16px;align-items:flex-start;transition:all .2s;
}
.svc:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:transparent}
.svc-ico{
  width:52px;height:52px;border-radius:14px;
  background:var(--navy-100);color:var(--navy);
  display:grid;place-items:center;flex:0 0 auto;
}
.svc h3{margin:0 0 4px;font-size:17px;font-weight:700}
.svc p{margin:0;color:var(--muted);font-size:14px}

/* ── BANNER FINAL ──────────────────────────────────── */
.finalcta{position:relative;padding:0;min-height:420px;overflow:hidden;background:var(--navy)}
.finalcta-photo{position:absolute;inset:0;z-index:0}
.finalcta-photo img{width:100%;height:100%;object-fit:cover;object-position:center right;display:block}
.finalcta .over{
  position:absolute;inset:0;z-index:1;display:flex;align-items:center;
  background:linear-gradient(90deg, rgba(11,42,74,.92) 0%, rgba(11,42,74,.75) 40%, rgba(11,42,74,.35) 65%, rgba(11,42,74,0) 100%);
}
.finalcta .tbh-container{width:100%}
.finalcta h2{color:#fff;font-size:44px;line-height:1.1;letter-spacing:-1px;font-weight:800;margin:0 0 14px;max-width:560px}
.finalcta p{color:rgba(255,255,255,.9);font-size:16.5px;max-width:520px;margin:0 0 24px}
.finalcta .link{
  color:#fff;font-weight:700;font-size:15px;display:inline-flex;align-items:center;gap:10px;
  padding-bottom:6px;border-bottom:2px solid var(--orange);
}

/* ── FOOTER ─────────────────────────────────────────── */
.site-footer{background:var(--navy);color:rgba(255,255,255,.85);padding:36px 0 22px}
.foot{
  display:grid;grid-template-columns:1fr auto 1fr;gap:32px;align-items:center;
  padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.1);
}
.foot .logo{color:#fff}
.foot .logo-text small{color:rgba(255,255,255,.55)}
.foot .tagline{color:rgba(255,255,255,.6);font-size:13px;margin-top:4px}
.foot-nav{display:flex;justify-content:center;gap:24px;font-size:14px;color:rgba(255,255,255,.85)}
.foot-nav a:hover{color:var(--orange)}
.foot-phone{display:flex;align-items:center;gap:14px;justify-content:flex-end;text-align:right}
.foot-phone .ico{
  width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);
  display:grid;place-items:center;color:#fff;
}
.foot-phone strong{display:block;color:#fff;font-size:16px}
.foot-phone span{font-size:12.5px;color:rgba(255,255,255,.6)}
.foot-bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:20px;font-size:12.5px;color:rgba(255,255,255,.55);
}
.foot-bottom .cierre{color:#fff}
.foot-bottom .cierre::after{
  content:"";display:block;height:3px;width:60px;background:var(--orange);margin-top:4px;border-radius:3px;
}

/* ── RESPONSIVE ─────────────────────────────────────── */
@media (max-width: 960px){
  .portal-grid{grid-template-columns:1fr;gap:36px}
  .portal-right{position:static}
  .portal-note{font-size:22px}
  .hero{min-height:auto}
  .hero-inner{padding:56px 0 72px}
  .hero-overlay{background:linear-gradient(180deg,
    #ffffff 0%, #ffffff 45%, rgba(255,255,255,.75) 65%, rgba(255,255,255,.2) 90%)}
  h1{font-size:38px}
  .portal h2{font-size:32px}
  .services-grid{grid-template-columns:1fr}
  .steps-grid{grid-template-columns:1fr;gap:22px}
  .step{border-right:0;border-bottom:1px solid #D5E6F5;padding:0 8px 22px}
  .step:last-child{border-bottom:0}
  .nav,.btn-portal{display:none}
  .hamburger{display:inline-flex}
  .site-header{position:sticky}
  .foot{grid-template-columns:1fr;gap:22px;text-align:center}
  .foot-phone{justify-content:center;text-align:left}
  .foot-nav{flex-wrap:wrap}
  .finalcta h2{font-size:32px}
  .tracking-form{flex-direction:column}
  .field-row{grid-template-columns:1fr}
  .portal-media{min-height:0}
}

/* ── AUDIT MOBILE 375px — anular todo overflow horizontal ── */
@media (max-width: 640px){
  /* Contenedores raiz sin overflow horizontal */
  html,body,body.home,body.home #page-container,
  body.home #main-content,body.home #et-main-area,
  body.home #content-area,body.home #left-area,
  body.home article.hentry,body.home .entry-content,
  body.home section{overflow-x:hidden !important;max-width:100vw !important}

  /* Containers propios reajustan padding y ancho */
  .tbh-container{padding-left:16px !important;padding-right:16px !important}
  .header-row{padding:10px 16px !important}

  /* Hero: menor altura, textos comprimidos */
  .hero{min-height:auto}
  .hero-inner{padding:44px 0 64px}
  h1{font-size:30px;line-height:1.08;letter-spacing:-.8px}
  .hero-lead{font-size:15px}
  .hero-content{max-width:100%}
  .hero-ctas{flex-wrap:wrap;gap:10px}
  .hero-ctas .btn{padding:11px 18px;font-size:14px}

  /* Pasos: numeros mas pequenos, alineados */
  .step-num{font-size:34px}
  .step h3{font-size:16px}
  .step p{font-size:13.5px}

  /* Portal: titulo, foto y form ajustados */
  .portal{padding:56px 0}
  .portal h2{font-size:28px;line-height:1.1}
  .portal .lead{font-size:14.5px;max-width:100%}
  .portal-media{margin-top:20px;aspect-ratio:4/3;min-height:0 !important;width:100% !important;max-width:100% !important}
  .portal-media img{width:100%;height:100%;object-fit:cover}
  .portal-note{font-size:18px;top:10px;right:10px;padding:4px 8px}
  .portal-note::after{width:50px;height:2.5px}

  /* Auth card: sin overflow del shortcode */
  .auth-card{padding:6px 6px 18px;max-width:100% !important;overflow:hidden !important;width:100%}
  /* Fuerza min-width:0 en los descendientes del shortcode para que respeten la columna */
  .auth-card .tbp-auth-shell,
  .auth-card .tbp-auth-widget,
  .auth-card .tbp-auth-main,
  .auth-card .tbp-tab-content,
  .auth-card .tbp-form,
  .auth-card .tbp-form-group,
  .auth-card .tbp-form-row,
  .auth-card .tbp-input-wrap{min-width:0 !important;max-width:100% !important;box-sizing:border-box}
  .auth-card .tbp-auth-tabs{margin:12px 10px 18px}
  .auth-card .tbp-tab-content{padding:0 14px 4px}
  .auth-card .tbp-form-heading{font-size:20px}
  .auth-card .tbp-form-desc{font-size:13.5px}
  .auth-card .tbp-form-group > label{font-size:12.5px}
  .auth-card .tbp-form input,
  .auth-card .tbp-form select,
  .auth-card .tbp-form textarea{font-size:14px;padding:10px 12px}
  .auth-card .tbp-form-row{grid-template-columns:1fr !important;gap:0 !important}
  .auth-card .tbp-input-wrap input{padding-left:32px !important}
  .auth-card .tbp-input-icon{left:10px;font-size:13px}

  /* Tracking card */
  .tracking-wrap{padding:28px 16px 20px}
  .tracking-card{padding:20px 18px}
  .tracking-head h4{font-size:15px}
  .tracking-head p{font-size:12.5px}
  .tracking-embed .tbp-tracking-form__row{flex-direction:column;gap:10px}
  .tracking-embed .tbp-tracking-form__row input,
  .tracking-embed .tbp-tracking-form__row button{width:100%}

  /* Novedades */
  .news{padding:48px 0 28px}
  .news-grid{grid-template-columns:1fr;gap:18px}
  .news-card{aspect-ratio:auto;max-height:none}
  .news-card img{height:auto;object-fit:contain;background:var(--bg-soft)}

  /* Servicios */
  .services{padding:48px 0}
  .services-head h2{font-size:28px}
  .svc{padding:18px}

  /* Banner final */
  .finalcta{min-height:auto}
  .finalcta h2{font-size:26px}
  .finalcta p{font-size:14.5px}
  .finalcta .tbh-container{padding:44px 16px}

  /* Footer */
  .site-footer{padding:28px 0 18px}
  .foot-bottom{flex-direction:column;gap:8px;text-align:center;font-size:11.5px}

  /* Header: logo mas chico */
  .logo img{height:44px !important}
  .site-header.scrolled .logo img{height:38px !important}

  /* WhatsApp float ya se ajusta a 54px con su propia @media */
}