/* Juritest Fase 5 – personalización visual sin tocar el motor de registro ni de compra.
   Se carga DESPUÉS de css_register.css / css_constructor.css. */
:root { --jt-navy: #102a5f; --jt-blue: #2563eb; --jt-teal: #14b8a6; }

/* El header_publico usa las mismas clases y hojas que la portada.
   Estos ajustes sólo eliminan interferencias de Bootstrap en el navegador. */
body.jt-register-page .jt-public-header,
body.jt-builder-guest .jt-public-header { position: relative; z-index: 40; isolation: isolate; }
body.jt-register-page .jt-public-header .nav,
body.jt-builder-guest .jt-public-header .nav { display: flex; align-items: center; flex-wrap: nowrap; }
body.jt-register-page .jt-public-header .nav-links,
body.jt-builder-guest .jt-public-header .nav-links { list-style: none; }
body.jt-register-page .jt-public-header .button,
body.jt-builder-guest .jt-public-header .button { border-radius: 12px; text-decoration: none; }

/* Registro – dos zonas visuales, un único formulario real */
body.jt-register-page {
    background: linear-gradient(135deg, #f5f9ff 0%, #fcfdfb 64%, #effaf8 100%);
    color: #182c49;
    overflow-x: hidden;
}
.jt-register-page .register-page { display: block; padding: 42px 22px 80px; }
.jt-register-page .jt-register-layout {
    width: min(1200px,100%); margin: 0 auto; display: grid;
    grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr);
    gap: clamp(25px,4vw,70px); align-items: start;
}
.jt-register-page .jt-register-intro { align-self: stretch; }
.jt-register-page .jt-register-intro-inner { padding: 58px 6px 30px; position: sticky; top: 28px; }
.jt-register-page .jt-register-kicker,
.jt-register-page .jt-register-step,
.jt-builder-page .jt-builder-kicker {
    color: #0d8178; font-weight: 800; font-size: .78rem; letter-spacing: .09em;
}
.jt-register-page .jt-register-intro h2 {
    color: #102a5f; margin: 20px 0 18px; font-size: clamp(2.35rem,4.2vw,4.4rem);
    letter-spacing: -.06em; font-weight: 850; line-height: 1.05;
}
.jt-register-page .jt-register-intro h2 span { color: #107d73; }
.jt-register-page .jt-register-intro p { font-size: 1.06rem; line-height: 1.7; max-width: 470px; color: #516680; }
.jt-register-page .jt-register-benefits { margin: 30px 0; padding: 0; list-style: none; }
.jt-register-page .jt-register-benefits li { display: flex; align-items: flex-start; gap: 12px; padding: 8px 0; color: #213752; font-size: .96rem; }
.jt-register-page .jt-register-benefits li span { color: #0d8178; font-weight: 800; }
.jt-register-page .jt-register-security { color: #64748b; font-size: .87rem; padding-top: 14px; border-top: 1px solid #dce9ec; }
.jt-register-page .jt-register-security span { color: #0d8178; }
.jt-register-page .register-card {
    background: #fff; max-width: none; padding: clamp(22px,3.4vw,42px);
    border-radius: 24px; box-shadow: 0 18px 65px rgba(16,42,95,.08);
    border: 1px solid #e4ebf2; animation: none;
}
.jt-register-page .jt-register-heading { margin: 0 0 30px; padding-bottom: 24px; border-bottom: 1px solid #e6edf2; }
.jt-register-page .jt-register-heading h1 { font-weight: 820; color: #102a5f; font-size: clamp(1.8rem,3.4vw,2.45rem); line-height: 1.12; letter-spacing: -.04em; margin: 12px 0 8px; }
.jt-register-page .jt-register-heading p { color: #617083; font-size: .94rem; line-height: 1.58; margin: 0; }
.jt-register-page .register-card .form-label { color: #304760; text-transform: none; letter-spacing: normal; font-size: .86rem; margin-bottom: 7px; }
.jt-register-page .register-card .form-control,
.jt-register-page .register-card .form-select { background: #f8fafc; border-color: #dbe5ee; border-radius: 11px; min-height: 46px; }
.jt-register-page .register-card .form-control:focus,
.jt-register-page .register-card .form-select:focus { border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,.13); background: #fff; }
.jt-register-page .register-card .btn-primary-custom { background: #2563eb; color: #fff; border-radius: 12px; box-shadow: none; font-weight: 700; width: 100%; }
.jt-register-page .register-card .btn-primary-custom:hover { background: #1d4ed8; transform: none; }
.jt-register-page .register-card .legal-consent-box { background: #f6fafb; border-color: #e1eaf0; }
.jt-register-page .register-card a { color: #1d56b6; }
.jt-register-page .register-card .login-link { margin-top: 23px; }
.jt-register-page .register-card #direccion-results { z-index: 51 !important; }
.jt-register-page .register-card .input-group > .form-control { min-width: 0; }
.jt-register-page .register-card .input-group .btn-toggle-pass { min-width: 48px; border: 1px solid #dbe5ee; color: #344663; }

/* Constructor – jerarquía, acentos y acabado visual en línea con Juritest */
body.jt-builder-page { --cp-primary: #2563eb; --cp-primary-dark: #1e50c1; --cp-success: #0d8178; --cp-text: #182c49; }
body.jt-builder-page:not(.logged-in) { background: linear-gradient(180deg,#f8fbff 0%,#fff 360px); }
.jt-builder-page .jt-builder-kicker { margin: 0 0 10px; font-size: .78rem; }
.jt-builder-page .cp-hero h1 { color: #102a5f; }
.jt-builder-page .cp-panel,
.jt-builder-page .cp-catalog-panel,
.jt-builder-page .cp-order-card { border-color: #e3eaf1; box-shadow: 0 12px 35px rgba(16,42,95,.055); }
.jt-builder-page .cp-continue { border-radius: 12px; }
.jt-builder-page .cp-benefits i { color: #0d8178; }
.jt-builder-page .cp-popular-badge { background-color: #0d8178; }

@media (max-width: 1020px) {
    .jt-register-page .jt-register-layout { grid-template-columns: 1fr; gap: 18px; max-width: 760px; }
    .jt-register-page .jt-register-intro-inner { position: static; padding: 8px 0 4px; }
    .jt-register-page .jt-register-intro h2 { font-size: clamp(2rem,5vw,3rem); margin: 10px 0; }
    .jt-register-page .jt-register-benefits { margin: 13px 0; display: flex; flex-wrap: wrap; gap: 8px 18px; }
    .jt-register-page .jt-register-benefits li { padding: 2px 0; }
    .jt-register-page .jt-register-security { display: none; }
}
@media (max-width: 650px) {
    .jt-register-page .register-page { padding: 18px 12px 42px; }
    .jt-register-page .register-card { padding: 22px 17px; border-radius: 18px; }
    .jt-register-page .jt-register-intro h2 { font-size: 2.1rem; }
    .jt-register-page .jt-register-intro p { font-size: .95rem; }
    .jt-register-page .jt-register-benefits { display: none; }
}

/* Registro clásico Juritest: campos básicos, confirmación de contraseña y consentimientos legales */
.jt-register-page .register-card { max-width: 620px; width: 100%; justify-self: end; }
.jt-register-page .register-card .iti { width: 100%; }
.jt-register-page .register-card .iti input[type="tel"] { width: 100%; }
.jt-register-page .register-card #passwordHelp { color: #64748b; font-size: .79rem; }
.jt-register-page .register-card #tel-error { margin-top: 6px; font-size: .8rem; }
@media (max-width: 1020px) {
    .jt-register-page .register-card { max-width: none; justify-self: stretch; }
}

/* Validación visible en los inputs dentro de .input-group */
.jt-register-page .register-card .jt-feedback.d-block { display: block !important; font-size: .79rem; color: #dc3545; margin-top: 5px; }
.jt-register-page .register-card .row.g-3 .form-label { font-weight: 650; }
.jt-register-page .register-card #usernameHelp { color: #64748b; font-size: .79rem; }
