/* ===========================================================================
   VRF 2026 - Páginas heredadas de la versión anterior (plan 2026-09-23)
   Vistas que conservan su marcado original: banda ".titlePage" seguida de un bloque <center> con
   logo, título y texto (Thanks, Sorry, CallAgenda, CalendarConfirmation, AppNotFound, DealerNotFound,
   ExpiredLink, InvalidLink, InsuranceThanks...). Todo va acotado a "header + .titlePage ~ ..." para
   no afectar a ninguna otra página. Se carga en _Layout.cshtml después de vrf-layout.css.
   =========================================================================== */

/* Avisos con la banda vacía (AppNotFound, DealerNotFound, ExpiredLink, InvalidLink): una banda azul
   sin texto no aporta; se oculta y el aviso ocupa su lugar. */
header + .titlePage:empty { display: none; }
header + .titlePage:empty ~ center { margin-top: 56px; }

/* Bloque central: logo, título y texto */
header + .titlePage ~ center {
    display: block;
    max-width: 760px;
    min-height: 260px;
    height: auto !important;          /* los avisos traían height:400px en línea */
    margin: 0 auto 64px;
    padding: 0 24px !important;       /* y padding-top:150px en línea */
    color: #4a4a4a;
    font-family: "Poppins", sans-serif;
    font-size: 17px;
    line-height: 1.7;
    box-sizing: border-box;
}
header + .titlePage ~ center > img:first-child {
    display: block;
    width: 220px !important;          /* InsuranceThanks traía width:25% en línea */
    max-width: 60%;
    height: auto;
    margin: 0 auto 28px;
}
header + .titlePage ~ center :is(h1, h2) {
    margin: 0 0 18px;
    color: #02447B;
    font: 600 26px/1.3 "Poppins", sans-serif;
    letter-spacing: 0;
    text-transform: none;
}
header + .titlePage ~ center h3 { margin: 0 0 16px; color: #4a4a4a; font: 400 18px/1.6 "Poppins", sans-serif; }
header + .titlePage ~ center p { margin: 0 0 14px; font-size: 17px !important; line-height: 1.7; }
header + .titlePage ~ center :is(b, strong) { color: #02447B; }

/* CallAgenda: tarjeta con el selector de fecha y hora (.containerP traía width:25%) */
header + .titlePage ~ .containerP {
    width: 100% !important;
    max-width: 560px;
    margin: 0 auto 64px;
    padding: 26px 28px;
    background: #fff;
    border-radius: 21px;
    box-shadow: 0 4px 18px rgba(2, 68, 123, .12);
    box-sizing: border-box;
}
header + .titlePage ~ .containerP label { color: #2b2b2b; font: 600 13.5px "Poppins", sans-serif; }
header + .titlePage ~ .containerP .form-control { height: 44px; border-radius: 8px; font-size: 15px; }
header + .titlePage ~ .containerP .btn-primary {
    padding: 10px 34px;
    border: 0;
    border-radius: 30px;
    background: #5ABD76;
    color: #fff;
    font: 600 15px "Poppins", sans-serif;
    text-transform: uppercase;
}
header + .titlePage ~ .containerP .btn-primary:hover,
header + .titlePage ~ .containerP .btn-primary:focus { background: #02447B; }

/* DealerPortalVideo */
.vrf-dpv { max-width: 900px; margin: 0 auto 64px; padding: 0 24px; box-sizing: border-box; font-family: "Poppins", sans-serif; }
.vrf-dpv .hidden { display: none !important; }
.vrf-dpv__login { max-width: 490px; margin: 0 auto; padding: 36px 34px; background: #fff; border-radius: 21px; box-shadow: 0 4px 18px rgba(2, 68, 123, .12); box-sizing: border-box; }
.vrf-dpv .vrf-dpv__title { margin: 0 0 22px; color: #02447B; font: 600 20px/1.4 "Poppins", sans-serif; text-transform: none; }
.vrf-dpv__input { display: block; width: 100%; height: 44px; margin: 0 0 16px; padding: 0 14px; border: 1px solid #c9d3dd; border-radius: 8px; font-size: 15px; box-sizing: border-box; }
.vrf-dpv__error { margin: 0 0 16px; color: #c0392b; font-weight: 600; text-align: center; }
.vrf-dpv__actions { text-align: center; }
.vrf-dpv__btn { padding: 10px 38px; border: 0; border-radius: 30px; background: #5ABD76; color: #fff; font: 600 15px "Poppins", sans-serif; text-transform: uppercase; cursor: pointer; }
.vrf-dpv__btn:hover, .vrf-dpv__btn:focus { background: #02447B; }
.vrf-dpv__video video { display: block; width: 100%; height: auto; border-radius: 21px; }

/* InsurancePartnership (nota de prensa) */
.vrf-press { margin: 0 0 64px; font-family: "Poppins", sans-serif; color: #4a4a4a; }
.vrf-press .container { max-width: 1140px; }
.vrf-press h1 { margin: 0 0 20px; color: #02447B; font: 600 30px/1.3 "Poppins", sans-serif; text-transform: none; }
.vrf-press h1 small { display: block; margin-top: 8px; color: #5ABD76; font-size: 16px; font-weight: 600; }
.vrf-press p { font-size: 15px; line-height: 1.8; }
.vrf-press img { max-width: 100%; height: auto; }
.vrf-press .btnApply {
    display: inline-block;
    padding: 12px 34px;
    border-radius: 30px;
    background: #5ABD76;
    color: #fff;
    font: 600 15px "Poppins", sans-serif;
    text-transform: uppercase;
    text-decoration: none;
}
.vrf-press .btnApply:hover, .vrf-press .btnApply:focus { background: #02447B; color: #fff; }

@media (max-width: 767px) {
    header + .titlePage ~ center :is(h1, h2) { font-size: 21px; }
    header + .titlePage ~ center > img:first-child { width: 170px !important; }
    header + .titlePage ~ .containerP { width: auto !important; margin: 0 16px 48px; padding: 22px 18px; }
    .vrf-dpv { padding: 0 16px; }
    .vrf-dpv__login { padding: 26px 20px; }
    .vrf-press h1 { font-size: 23px; }
}
