/* =====================================================================
   TurboCFDI — tema 139_turbo  ·  imagenes/estilos.css
   Portado desde el diseño standalone landing-v2 (Inter + navy/orange).
   · Compatibilidad Barllo: se mantienen .bt .block .clear .a_* .w* y forms.
   · Clases del tema/landing con prefijo .tcf- para no chocar con el skeleton.
   ===================================================================== */

/* ---------- 1. Base ---------- */
html{font-size:100%;}
body{
    margin:0;
    font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
    font-size:16px; line-height:1.65; color:#46536a; background:#ffffff;
    -webkit-font-smoothing:antialiased;
}
img{border:none;max-width:100%;height:auto;}
a{color:#123a6b;text-decoration:none;}
a:hover{color:#0d2c53;text-decoration:none!important;}
b,strong{color:inherit;font-weight:700;}

h1,h2,h3,h4{color:#0f1f38;font-weight:800;letter-spacing:-.02em;line-height:1.18;margin:0 0 1rem;}
h1{font-size:2.6rem;}
h2{font-size:1.9rem;}
h3{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;}
h4{font-size:1rem;font-weight:700;}
p{margin:0 0 1rem;}

/* ---------- 2. Compatibilidad Barllo ---------- */
.clear{float:none;clear:both;}
.a_l{text-align:left;} .a_c{text-align:center;} .a_r{text-align:right;}
.a_t{vertical-align:top;} .a_m{vertical-align:middle;} .a_b{vertical-align:bottom;}
.c_b{color:#222;} .n_w,.nw{white-space:nowrap;} .comment{color:#74829a;font-size:.95em;}
.opa05{opacity:.5;} .opa06{opacity:.6;} .opa07{opacity:.7;}
.w50{width:50px;max-width:100%;} .w100{width:100px;max-width:100%;}
.w150{width:150px;max-width:100%;} .w200{width:200px;max-width:100%;}
.w250{width:250px;max-width:100%;} .w300{width:300px;max-width:100%;}
.w400{width:400px;max-width:100%;}
.w50p{min-width:50%;max-width:100%;} .w100p{min-width:100%;max-width:100%;}

/* bloque suave reutilizable (gadgets/formularios) */
.block{
    background:#fff; border:1px solid #e9eef5; border-radius:16px;
    padding:1.4em 1.6em; margin:1rem auto; width:auto; max-width:100%;
}
@media (max-width:600px){ .block{padding:1em 1em;} }

/* ---------- Formulario de registro (modulo users) embebido en pagina ---------- */
#tcf_landing #users_signup_form{
    margin:0 auto; max-width:520px; padding:1.8rem 1.8rem 1.5rem;
    box-shadow:0 18px 44px rgba(15,31,56,.10);
}
#tcf_landing #users_signup_form .row{margin-top:.55rem;}
#tcf_landing #users_signup_form .row:first-child{margin-top:0;}
#tcf_landing #users_signup_form .six.columns{padding-left:0; padding-right:0;}
#tcf_landing #users_signup_form .a_r{text-align:left; font-weight:600; color:#0f1f38; padding-top:.4em!important;}
#tcf_landing #users_signup_form input:not([type=checkbox]):not([type=radio]){width:100%; margin:.15em 0;}

/* ---------- Formulario de inicio de sesion (modulo users) embebido ---------- */
#tcf_landing #login_form{margin:0 auto; max-width:480px; padding:1.8rem 1.8rem 1.5rem; box-shadow:0 18px 44px rgba(15,31,56,.10);}
#tcf_landing #login_form > div{margin:0 auto!important; max-width:100%!important;}
#tcf_landing #login_form > div > p:first-child{margin-top:0!important;}
#tcf_landing #login_form input{width:100%;}
#tcf_landing #login_form .bt{margin-top:.4rem;}

/* formularios */
input,select,textarea{
    padding:.5em .6em; margin:.25em 0; font-family:inherit; font-size:1em;
    background:#fff; border:1px solid #d5dde9; border-radius:8px; color:#333;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:#123a6b;}
input[type="checkbox"],input[type="radio"]{padding:0;background:none;border:0;}
.alerted_field{background-color:#fff6c2!important;border-color:#e0b400!important;}
.disabled{background-color:#eee!important;}

/* ---------- 3. Botones ---------- */
/* .bt = botón estándar Barllo, con el look del tema */
a.bt,.bt{
    position:relative; display:inline-flex; align-items:center; justify-content:center; gap:.55em;
    padding:.72em 1.3em; margin:.2rem .4rem .2rem 0; font-family:inherit; font-size:1rem;
    font-weight:600; line-height:1; letter-spacing:0; white-space:nowrap; cursor:pointer;
    background:#e8590c; color:#fff!important; border:1px solid transparent; border-radius:10px;
    text-decoration:none!important;
}
a.bt:hover,.bt:hover{background:#cf4d08;color:#fff!important;}
.bt .fa{color:#fff;opacity:.95;}

/* variantes del tema */
.tcf-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:.55em;
    font-family:inherit;font-size:1rem;font-weight:600;line-height:1;
    padding:.82em 1.5em;border-radius:10px;border:1px solid transparent;cursor:pointer;
    white-space:nowrap;text-decoration:none!important;
    transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.tcf-btn:active{transform:translateY(1px);}
.tcf-btn--primary{background:#e8590c;color:#fff!important;box-shadow:0 6px 16px rgba(232,89,12,.28);}
.tcf-btn--primary:hover{background:#cf4d08;color:#fff!important;}
.tcf-btn--dark{background:#123a6b;color:#fff!important;}
.tcf-btn--dark:hover{background:#0d2c53;color:#fff!important;}
.tcf-btn--ghost{background:transparent;color:#123a6b!important;border-color:#cfdaea;}
.tcf-btn--ghost:hover{background:#eef3fa;border-color:#b9c9e0;}
.tcf-btn--lg{font-size:1.05rem;padding:.95em 1.7em;}

/* ---------- 4. Header / nav ---------- */
#tcf_site_header{
    position:sticky;top:0;z-index:60;background:#ffffff;
    border-bottom:1px solid #e9eef5;
}
#tcf_site_header.tcf-scrolled{box-shadow:0 4px 18px rgba(15,31,56,.07);}
#tcf_site_header .tcf-container{
    max-width:1120px;margin:0 auto;padding:0 24px;
    display:flex;align-items:center;justify-content:space-between;height:70px;
}
.tcf-brand{display:flex;align-items:center;gap:.6rem;font-size:1.28rem;font-weight:800;letter-spacing:-.02em;color:#0f1f38;text-decoration:none!important;}
.tcf-brand:hover{color:#0f1f38!important;}
.tcf-brand .tcf-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:#123a6b;flex:0 0 auto;}
.tcf-brand .tcf-mark svg{width:20px;height:20px;}
.tcf-brand b{color:#e8590c;font-weight:800;}
.tcf-nav{display:flex;align-items:center;gap:1.7rem;}
.tcf-nav .tcf-nav-login{display:none;}
.tcf-nav a{font-size:.95rem;font-weight:500;color:#41506a;text-decoration:none;}
.tcf-nav a:hover,#tcf_site_header .tcf-nav a.current{color:#123a6b;font-weight:700;}
.tcf-header-actions{display:flex;align-items:center;gap:1rem;}
.tcf-nav-toggle{display:none;background:none;border:0;font-size:1.35rem;color:#0f1f38;cursor:pointer;padding:.2rem .4rem;}

/* ---------- 5. Estructura de secciones (chrome + landing) ---------- */
.tcf-container{max-width:1120px;margin:0 auto;padding:0 24px;}
.tcf-section{padding:76px 0;}
.tcf-section--alt{background:#f5f8fc;}
.tcf-section-head{max-width:680px;margin:0 auto 46px;text-align:center;}
.tcf-section-head p{margin-top:14px;color:#74829a;}
.tcf-eyebrow{display:inline-flex;align-items:center;gap:.5em;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#e8590c;}
.tcf-eyebrow .fa{color:#e8590c;}

/* ---------- 6. Hero ---------- */
#tcf_landing .tcf-hero{padding:80px 0 64px;background:
    radial-gradient(1200px 520px at 78% -12%, rgba(18,58,107,.09), transparent 60%),
    linear-gradient(180deg,#f7faff 0%,#ffffff 72%);}
#tcf_landing .tcf-hero__inner{display:flex;align-items:center;gap:56px;}
#tcf_landing .tcf-hero__copy{flex:1 1 54%;}
#tcf_landing .tcf-hero__copy h1{margin:18px 0;}
#tcf_landing .tcf-lead{font-size:1.18rem;line-height:1.6;color:#4a5768;}
#tcf_landing .tcf-hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0 16px;}
#tcf_landing .tcf-hero__note{font-size:.92rem;color:#74829a;display:flex;align-items:center;gap:.5em;}
#tcf_landing .tcf-hero__note .fa{color:#1a9e57;}
#tcf_landing .tcf-hero__media{flex:1 1 46%;position:relative;}
#tcf_landing .tcf-hero__media img{width:100%;border-radius:16px;box-shadow:0 26px 60px rgba(15,31,56,.20);border:1px solid #e9eef5;}
#tcf_landing .tcf-hero__badge{position:absolute;left:-18px;bottom:24px;background:#fff;border:1px solid #e9eef5;border-radius:12px;box-shadow:0 12px 30px rgba(15,31,56,.14);padding:12px 16px;display:flex;align-items:center;gap:12px;}
#tcf_landing .tcf-hero__badge .fa{font-size:1.4rem;color:#1a9e57;}
#tcf_landing .tcf-hero__badge b{display:block;color:#0f1f38;font-size:.95rem;}
#tcf_landing .tcf-hero__badge small{color:#74829a;font-size:.8rem;}

/* ---------- 7. Franja de confianza ---------- */
#tcf_landing .tcf-trust{border-top:1px solid #e9eef5;border-bottom:1px solid #e9eef5;background:#fbfcfe;}
#tcf_landing .tcf-trust__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 40px;padding:22px 0;text-align:center;}
#tcf_landing .tcf-trust__inner span{display:inline-flex;align-items:center;gap:.6em;font-size:.95rem;color:#5b6880;font-weight:500;}
#tcf_landing .tcf-trust__inner .fa{color:#123a6b;font-size:1.05rem;}

/* ---------- 8. Tarjetas / grids ---------- */
#tcf_landing .tcf-grid{display:flex;flex-wrap:wrap;gap:24px;}
#tcf_landing .tcf-card{flex:1 1 300px;min-width:260px;background:#fff;border:1px solid #e9eef5;border-radius:16px;padding:30px 28px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;}
#tcf_landing .tcf-card:hover{border-color:#d6e0ee;box-shadow:0 16px 40px rgba(15,31,56,.08);transform:translateY(-3px);}
#tcf_landing .tcf-card .tcf-ico{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:13px;margin-bottom:18px;background:#eaf1fb;color:#123a6b;font-size:1.35rem;}
#tcf_landing .tcf-card h3{margin-bottom:8px;}
#tcf_landing .tcf-card p{font-size:.98rem;margin:0;}
#tcf_landing .tcf-pain .tcf-ico{background:#fdeee7;color:#e8590c;}

/* ---------- 9. Split imagen+texto ---------- */
#tcf_landing .tcf-split{display:flex;align-items:center;gap:56px;}
#tcf_landing .tcf-split__media,#tcf_landing .tcf-split__copy{flex:1 1 50%;}
#tcf_landing .tcf-split__media img{width:100%;border-radius:16px;box-shadow:0 18px 44px rgba(15,31,56,.14);border:1px solid #e9eef5;}
#tcf_landing .tcf-list{list-style:none;margin:22px 0 0;padding:0;}
#tcf_landing .tcf-list li{display:flex;gap:.7em;align-items:flex-start;margin-bottom:14px;font-size:1rem;}
#tcf_landing .tcf-list li .fa{color:#1a9e57;margin-top:.25em;}

/* ---------- 10. Pasos ---------- */
#tcf_landing .tcf-steps{display:flex;flex-wrap:wrap;gap:24px;}
#tcf_landing .tcf-step{flex:1 1 260px;min-width:240px;background:#fff;border:1px solid #e9eef5;border-radius:16px;padding:34px 28px 30px;}
#tcf_landing .tcf-step__num{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#123a6b;color:#fff;font-weight:800;font-size:1.15rem;margin-bottom:16px;}
#tcf_landing .tcf-step h3{margin-bottom:8px;}
#tcf_landing .tcf-step p{font-size:.98rem;margin:0;}

/* ---------- 11. Cifras ---------- */
#tcf_landing .tcf-stats{display:flex;flex-wrap:wrap;gap:28px;justify-content:center;}
#tcf_landing .tcf-stat{flex:0 1 220px;text-align:center;}
#tcf_landing .tcf-stat b{display:block;font-size:2.6rem;font-weight:800;color:#0f1f38;letter-spacing:-.03em;line-height:1;}
#tcf_landing .tcf-stat b em{color:#e8590c;font-style:normal;}
#tcf_landing .tcf-stat span{display:block;margin-top:10px;font-size:.95rem;color:#74829a;}

/* ---------- 12. Precios ---------- */
#tcf_landing .tcf-price-grid{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;align-items:stretch;}
#tcf_landing .tcf-price{flex:1 1 320px;max-width:460px;background:#fff;border:1px solid #e9eef5;border-radius:18px;padding:36px 32px;display:flex;flex-direction:column;}
#tcf_landing .tcf-price--featured{border:2px solid #123a6b;box-shadow:0 20px 50px rgba(18,58,107,.12);}
#tcf_landing .tcf-price__tag{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#e8590c;margin-bottom:10px;}
#tcf_landing .tcf-price__amount{font-size:2.4rem;font-weight:800;color:#0f1f38;letter-spacing:-.03em;line-height:1;}
#tcf_landing .tcf-price__amount small{font-size:.95rem;font-weight:600;color:#74829a;letter-spacing:0;}
#tcf_landing .tcf-price p{margin-top:14px;font-size:.98rem;}
#tcf_landing .tcf-price ul{list-style:none;margin:22px 0 0;padding:0;flex:1;}
#tcf_landing .tcf-price ul li{display:flex;gap:.6em;align-items:flex-start;margin-bottom:12px;font-size:.96rem;}
#tcf_landing .tcf-price ul li .fa{color:#1a9e57;margin-top:.28em;}
#tcf_landing .tcf-price .tcf-btn{margin-top:26px;}

/* ---------- 13. FAQ ---------- */
#tcf_landing .tcf-faq{max-width:820px;margin:0 auto;}
#tcf_landing .tcf-faq details{background:#fff;border:1px solid #e9eef5;border-radius:14px;padding:20px 24px;margin-bottom:14px;}
#tcf_landing .tcf-faq details[open]{border-color:#d6e0ee;}
#tcf_landing .tcf-faq summary{list-style:none;cursor:pointer;font-weight:700;color:#0f1f38;font-size:1.03rem;display:flex;justify-content:space-between;align-items:center;gap:16px;}
#tcf_landing .tcf-faq summary::-webkit-details-marker{display:none;}
#tcf_landing .tcf-faq summary::after{content:"\f078";font-family:"Font Awesome 5 Free";font-weight:900;color:#9aa8bd;font-size:.8rem;transition:transform .18s ease;flex:0 0 auto;}
#tcf_landing .tcf-faq details[open] summary::after{transform:rotate(180deg);}
#tcf_landing .tcf-faq p{margin-top:14px;font-size:.98rem;margin-bottom:0;}

/* ---------- 14. CTA final + footer ---------- */
#tcf_landing .tcf-cta-band{background:linear-gradient(135deg,#0f2a4a,#123a6b);color:#fff;padding:72px 0;text-align:center;}
#tcf_landing .tcf-cta-band h2{color:#fff;margin-bottom:14px;}
#tcf_landing .tcf-cta-band p{color:#c5d3e8;font-size:1.1rem;max-width:620px;margin:0 auto 30px;}
#tcf_landing .tcf-cta-band .tcf-note{margin-top:16px;font-size:.9rem;color:#9fb3d1;}

#tcf_site_footer{background:#0b1c33;color:#93a3bb;padding:60px 0 26px;font-size:.94rem;}
#tcf_site_footer .tcf-container{max-width:1120px;}
#tcf_site_footer .tcf-cols{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;}
#tcf_site_footer .tcf-brand{color:#fff;}
#tcf_site_footer .tcf-brand b{color:#e8590c;}
#tcf_site_footer .tcf-about{max-width:320px;margin-top:16px;line-height:1.6;}
#tcf_site_footer h4{color:#dbe5f2;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;}
#tcf_site_footer ul{list-style:none;margin:0;padding:0;}
#tcf_site_footer ul li{margin-bottom:10px;}
#tcf_site_footer ul li a{color:#93a3bb;text-decoration:none;}
#tcf_site_footer ul li a:hover{color:#fff;}
#tcf_site_footer .tcf-bottom{margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.86rem;color:#7c8ba4;}

/* ---------- 15. Responsive ---------- */
@media (max-width:900px){
    .tcf-nav{display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;gap:0;background:#fff;border-bottom:1px solid #e9eef5;padding:8px 24px 18px;box-shadow:0 18px 34px rgba(15,31,56,.12);}
    .tcf-nav.tcf-open{display:flex;}
    .tcf-nav a{padding:12px 0;border-bottom:1px solid #f0f4f9;width:100%;font-size:1rem;}
    .tcf-nav-toggle{display:inline-block;}
    #tcf_landing .tcf-hero{padding:52px 0 44px;}
    #tcf_landing .tcf-hero__inner{flex-direction:column;gap:36px;}
    #tcf_landing .tcf-split{flex-direction:column;gap:32px;}
    #tcf_landing .tcf-split--rev .tcf-split__media{order:2;}
    .tcf-section{padding:56px 0;}
    #tcf_landing .tcf-hero__copy h1{font-size:2.05rem;}
    h2{font-size:1.6rem;}
    #tcf_landing .tcf-hero__badge{left:12px;bottom:14px;}
}
@media (max-width:520px){
    h1,h2{letter-spacing:-.01em;}
    #tcf_landing .tcf-hero__copy h1{font-size:1.8rem;}
    #tcf_landing .tcf-stat b{font-size:2.1rem;}
    #tcf_landing .tcf-hero__cta .tcf-btn{width:100%;}
}

/* móvil: el botón "Iniciar sesión" pasa del header al menú hamburguesa */
@media (max-width:900px){
    .tcf-header-actions .tcf-desktop-only{display:none;}
    .tcf-nav a.tcf-nav-login{
        display:block; text-align:center; width:100%; margin:14px 0 2px;
        padding:.9em 1em; background:#123a6b; color:#fff!important;
        border-radius:10px; border-bottom:0!important;
    }
    .tcf-nav a.tcf-nav-login:hover{background:#0d2c53;}
}
