/*
Theme Name: VayTienOnline
Theme URI: https://vaytienonline.vn
Description: Child theme cho Flatsome - VayTienOnline.vn (tai chinh, vay tien online)
Author: Le Van Thiet
Author URI: https://vaytienonline.vn
Template: flatsome
Version: 1.0
Text Domain: vaytienonline
*/

html {
    font-family: 'Be Vietnam Pro', system-ui, -apple-system, sans-serif;
    font-style: normal;
    font-weight: 300;
}

h1, h2, h3, h4, h5, strong {
    font-family: 'Be Vietnam Pro', system-ui, -apple-system, sans-serif;
    font-weight: 600;
}

.d-flex {
    display: flex;
    flex-wrap: wrap;
}

.fw-500 {
    font-weight: 500;
}

.header-main .nav > li > a {
    font-family: 'Be Vietnam Pro', system-ui, -apple-system, sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: #354150;
}

.header-main .nav > li.current_page_item > a {
    color: #04A927;
}

.single-vay-tien-nhanh #masthead,
#masthead:not(.home #masthead ) {
    background: #FFF;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.06);
}

.page-id-29267 #masthead {
    box-shadow: none !important;
}

.stuck .header-main {
    background: #fff;
}

.fw-500 {
    font-weight: 500 !important;
}

.sidebar-menu ul li a {
    color: #585C5A;
    font-weight: 600;
}

.nav-slide-header .toggle {
    font-weight: 700;
    color: #585C5A;
    opacity: 1;
}

.rank-math-breadcrumb {
    margin-top: 12px;
}

.rank-math-breadcrumb a {
    font-weight: 500;
}

.header-nav-main.nav-spacing-xlarge > li {
    margin: 0 18px;
}

.col-345033804 h2 {
    color: #FFF;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 40px;
    margin-bottom: 30px;
}

.form-calculator {
    border-radius: 24px;
    background: #FFF;
    box-shadow: 0px 2px 20px 0px rgba(0, 0, 0, 0.10);
    padding: 40px;
    color: #354150;
    position: relative;
}

.form-calculator ul {
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 25px;
    margin-bottom: 0;
}

.form-calculator ul li {
    margin-bottom: 0;
}

@media only screen and (min-width: 48em) {.row > .col.ct-col-5{
        flex: 0 0 20%;
        max-width: 20%;
    }.wpcf7-form .flex-row .form-gruop{
        width: 48%;
    }.form-calculator{
        width: 470px;
    }.form-calculator{
        margin: 30px auto 0;
    }
}

.wpcf7-form .flex-row {
    flex-wrap: wrap;
}

.wpcf7-form .form-gruop {
    margin-bottom: 15px;
}

.step-form label {
    color: #2E2E2E;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    margin-bottom: 10px;
    display: block;
}

.step-form .require {
    color: #04A927;
}

.step-form input,
.step-form select,
.step-form textarea,
.wpcf7-form-control,
input.wpcf7-form-control {
    box-shadow: none;
    border-radius: 8px;
    border: 1px solid #DDD;
}

input[type="radio"] {
    accent-color: #04A927;
}

#accept-terms {
    margin-bottom: 0;
}

input:focus-visible {
    outline: none;
}

.wpcf7-form .wpcf7-submit {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    font-weight: 100 !important;
    border: none;
    border-radius: 100px;
    background: linear-gradient(90deg, #FFCE06 -9.92%, #04A927 100%);
}

.blog-featured-title .rank-math-breadcrumb a,
.blog-featured-title .rank-math-breadcrumb {
    text-shadow: none;
    font-size: 14px;
}

.fp-card-item .col-inner {
    border-radius: 25px;
    border: 1px solid rgb(83 184 81);
    background: #FFF;
    padding: 15px;
}

.fp-card-desc ul li .icon {
    display: flex;
}

.fp-card-desc ul li .icon:before {
    content: url('/wp-content/uploads/2023/09/info-1.svg');
    display: inline-flex;
    margin-right: 6px;
}

.fp-card-item .button {
    font-weight: 560;
    border-radius: 1000px;
    border: 1px solid #04A927;
    background: none;
    color: #04A927;
    font-size: 14px;
    padding: 6px 20px;
}

.fp-card-item .button:hover {
    background: linear-gradient(90deg, #FFCE06 -9.92%, #04A927 100%);
    box-shadow: none;
    color: #fff;
}

.fp-card-item.popular .col-inner {
    overflow: hidden;
    border: 1px solid #04A927;
}

.fp-card-item.popular .col-inner .card-ribbon {
    position: absolute;
    top: 17px;
    right: -44px;
    width: 160px;
    height: 26px;
    font-size: 12px;
    background: linear-gradient(90deg, #FFCE06 -9.92%, #04A927 100%);
    text-align: center;
    color: #fff;
    transform: rotate(40deg);
    display: flex;
    align-items: center;
    justify-content: center;
}

.col-757032128 > .col-inner {
    border: 1px double transparent;
    border-radius: 20px;
    background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #FFCE06 -9.92%, #04A927 100%);
    background-origin: border-box;
    background-clip: content-box, border-box;
}

.col-757032128 .col-inner .icon-box-text h3 {
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    margin-bottom: 20px;
}

.col-757032128 .col-inner .icon-box-text p {
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
}

.testimonial-box .col-inner {
    border-radius: 24px;
    background: #FFF;
    box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.04);
}

.testimonial-box .icon-box-img .icon {
    position: absolute;
    top: -40px;
}

.testimonial-box .icon-box-img .icon img {
    border-radius: 100%;
    padding: 0;
    border: 2px solid #0056b7;
}

.logo-1680502638 .ux-logo-link {
    padding: 15px;
    margin-top: 20px;
}

.form_calculator-bottom {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}

#slider-calculator {
    margin-bottom: 20px;
}

.form_calculator-header .rates {
    color: #04A927;
    font-size: 24px;
    font-weight: 700;
}

.col-687808617 .col-inner {
    border-radius: 24px;
    background: #EFF4FB;
    box-shadow: 0px 4px 40px 0px rgba(0, 0, 0, 0.04);
    padding: 30px;
}

.col-687808617 .col-inner h3 {
    color: #0055B8;
    font-size: 26px;
}

.col-687808617 .col-inner p {
    color: #585C5A;
    font-size: 14px;
}

.form-reg .wpcf7-form {
    padding-bottom: 30px;
}

#range-calculator {
    width: 100%;
    margin: 20px auto 4px;
    border-radius: 5px;
    position: relative;
}#custom-range {
    width: 100%;
    height: 10px;
    background-color: #E9F1FD;
    border-radius: 5px;
    position: relative;
    cursor: pointer;
}

#custom-thumb {
    width: 20px;
    height: 20px;
    background-color: #04A927;
    border-radius: 50%;
    position: absolute;
    top: -5px;
    transform: translateX(-50%);
    cursor: grab;
    border: 3px solid #fff;
    filter: drop-shadow(0px 2px 16px rgba(0, 0, 0, 0.30));
}

#progress-bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background-color: #0da827;
    border-radius: 5px 0 0 5px;
}

#footer {
    color: #424242;
}

table thead th,
table thead td {
    padding: 18px 0;
    background-color: #008c4a;
    color: #ffffff;
    text-align: center;
    border: 0.5px solid #E2E2E2;
}

table tbody tr {
    border-bottom: 0.5px solid #E2E2E2;
}

table tbody tr td,
table thead td {
    padding: 10px !important;
    border: 0.5px solid #E2E2E2;
}

table tbody tr:nth-of-type(even) {
    background-color: #f3f3f3;
}

.col-366615 > .col-inner:before,
.col-366615 > .col-inner:after {
    content: '';
    position: absolute;
    width: 100px;
    height: 100%;
    background: url('/wp-content/uploads/2023/09/Line-865.svg') no-repeat;
    background-size: contain;
}

.col-366615 > .col-inner:before {
    top: 0;
    left: 0;
}

.col-366615 > .col-inner:after {
    top: 0;
    right: 0;
    transform: rotate(180deg);
}

/* ========================================================= */
.row-2049973087 .col-inner::after {
    position: absolute;
    top: 0;
    right: 20px;
    color: #424242;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    opacity: 0.10000000149011612;
}

.row-2049973087 .item-1 .col-inner::after {
    content: '01';
}

.row-2049973087 .item-2 .col-inner::after {
    content: '02';
}

.row-2049973087 .item-3 .col-inner::after {
    content: '03';
}

.row-2049973087 .item-4 .col-inner::after {
    content: '04';
}

.loan-condition {
    display: none;
    border-radius: 8px;
    color: #1eaa27;
    margin-bottom: 20px;
    font-weight: bold;
    position: absolute;
    top: 12px;
}

.btn-gradient {
    background: linear-gradient(90deg, #FFCE06 -9.92%, #04A927 100%);
    border: none;
}

.absolute-footer.dark ul {
    border: none;
    margin: 0;
}

#footer .form-flat .wpcf7-submit {
    position: absolute;
    top: 0;
    left: 95%;
    background: transparent;
    display: flex;
    align-items: center;
    color: #04A927;
    height: 47px;
}

#footer .form-flat .wpcf7-submit:hover {
    box-shadow: none;
}

#footer .wpcf7-response-output {
    border-color: #EDA01D;
    margin-top: 0 !important;
    font-size: 14px !important;
}

@media only screen and (min-width: 48em) {
}

#form_calculator-infor {
    list-style: none;
    margin: 30px 0;
}

.form-calculator form {
    margin-bottom: 0;
}

#form_calculator-infor li {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-left: 0 !important;
    color: #6A6D6C;
    font-size: 14px;
    margin-bottom: 10px;
}

#form_calculator-infor li .line {
    flex: 1;
    height: 1px;
    margin: 0 10px;
    border-bottom: 1px dashed #000;
}

#input-phone {
    border-radius: 10px;
    border: 1px solid #CFCFCF;
    background: #FFF;
    box-shadow: none;
    padding: 14px 20px;
    margin-bottom: 20px;
    font-size: 18px;
    text-align: center;
}

.form-calculator .button {
    border-radius: 100px;
    text-transform: none;
    font-size: 18px;
    font-style: normal;
    border: none;
    font-weight: 700;
}

.privacy_policy {
    color: #6A6D6C;
    font-size: 10px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px;
}

.privacy_policy a {
    font-weight: 600;
}

.text-line-bt {
    text-decoration: underline;
}

.slider-wcs .loading-spin {
    display: none;
}

.slider-wcs .flickity-prev-next-button.next {
    left: 70px;
}

.slider-wcs .section-content {
    height: 260px;
    border-radius: 16px;
    border: 1px double transparent;
    background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #FFCE06 -9.92%, #04A927 100%);
    background-origin: border-box;
    background-clip: content-box, border-box;
}

.slider-wcs .section-content:hover {
    color: #fff;
    border: 1px solid #FFCE06;
    background: linear-gradient(90deg, #FFCE06 -9.92%, #04A927 100%);
}

.slider-wcs .section-content:hover h3 {
    color: #fff;
}

.slider-wcs .section-content:hover img {
    filter: grayscale(100%) brightness(1000%);
}

.slider-wcs .section-content .icon-box {
    padding: 20px;
}

.slider-wcs .section {
    padding: 15px;
}

.col-1971036433 > .col-inner {
    border-radius: 16px;
    border: 1px double transparent;
    background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #FFCE06 -9.92%, #04A927 100%);
    background-origin: border-box;
    background-clip: content-box, border-box;
}

.col-1971036433 > .col-inner:hover {
    color: #fff;
    border: 1px solid #FFCE06;
    background: linear-gradient(90deg, #FFCE06 -9.92%, #04A927 100%);
}

.col-1971036433 > .col-inner:hover img {
    filter: grayscale(100%) brightness(1000%);
}

.col-1971036433 > .col-inner:hover h3 {
    color: #fff;
}

.col-1390787986 > .col-inner {
    border-radius: 16px;
    border: 1px solid #FFCE06;
    background: #FFF;
    padding: 20px 15px;
}

.post-by-author .col-inner {
    border-radius: 16px;
    border: 1px solid #EFF0F6;
    background: #FFF;
    box-shadow: 0px 5px 14px 0px rgba(8, 15, 52, 0.04);
}

@media only screen and (min-width: 48em) {
}

.single-post .entry-header .is-divider {
    height: 1px;
    width: 100%;
    max-width: 100%;
    opacity: 0.30000001192092896;
    background: #BCBCBC;
    margin: 20px 0 10px;
}

#copiedLink {
    font-size: 14px;
    position: absolute;
    bottom: -24px;
    color: #53b850;
}

.list-tags a.button {
    border: 1px solid #DEDEDE;
    display: inline-flex;
    align-items: center;
}.list-tags a.button:hover {
    background-color: #04A927 !important;
    color: #ffff !important;
}/* ========================================================= */
/* Bg blur */
/* ========================================================= */
.col-345033804 .col-inner .form-calculator:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 233px;
    height: 233px;
    filter: blur(237px);
    background: linear-gradient(90deg, #FFCE06 -9.92%, #04A927 100%);
    z-index: -1;
}

.section_1267099526 .section-content:before {
    content: '';
    position: absolute;
    top: 30%;
    left: 0;
    width: 233px;
    height: 233px;
    filter: blur(237px);
    background: linear-gradient(90deg, #FFCE06 -9.92%, #04A927 100%);
}

.section_1207112718 .section-content:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 233px;
    height: 233px;
    filter: blur(237px);
    background: linear-gradient(90deg, #FFCE06 -9.92%, #04A927 100%);
    z-index: -1;
}

.section_708986206 .section-content:before,
.section_708986206 .section-content:after {
    content: '';
    position: absolute;
    width: 331px;
    height: 331px;
    filter: blur(237px);
    background: linear-gradient(90deg, #FFCE06 -9.92%, #04A927 100%);
}

.section_708986206 .section-content:before {
    top: 0;
    right: 0;
}

.section_708986206 .section-content:after {
    top: 50%;
    left: -233px;
    transform: translateY(-50%);
    z-index: -1;
}

@media only screen and (max-width: 48em) {/*************** ADD MOBILE ONLY CSS HERE  ***************/
    #logo{
        width: 140px !important;
    }.col-998026173 .col-inner{
        text-align: left !important;
    }.col-345033804 h2{
        font-size: 20px !important;
        line-height: 30px !important;
    }.col-345033804 .form-calculator{
        padding: 30px;
    }#range-calculator #custom-thumb{
        width: 30px;
        height: 30px;
        top: -10px;
    }.col-inner .image_1200020806{
        position: absolute;
        right: 0%;
        top: -52px;
    }.slider-wrapper .flickity-prev-next-button{
        display: block !important;
    }.author-box .flex-row{
        flex-direction: column;
    }.col-366615 > .col-inner:before, .col-366615 > .col-inner:after{
        top: -12px;
    }#row-1555801183 > .col > .col-inner{
        text-align: center;
    }
}

.calculate-di label .require {
    color: #04A927;
}
/* ================================================================= */
/* style Tool calculation */
/* ================================================================= */

/* ================================================================= */
/* CONTACT PAGE — Fintech Premium (vto- prefix)                      */
/* ================================================================= */

/* Hero */
.vto-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 18px;
    background: rgba(4, 169, 39, 0.14);
    color: #7CE094;
    font-size: 13px;
    font-weight: 600;
    border-radius: 999px;
    margin-bottom: 24px;
    letter-spacing: 0.3px;
}
.vto-hero-dot {
    width: 8px;
    height: 8px;
    background: #04A927;
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(4, 169, 39, 0.25);
    animation: vtoPulse 1.8s ease-in-out infinite;
}
@keyframes vtoPulse {
    0%, 100% { box-shadow: 0 0 0 4px rgba(4, 169, 39, 0.25); }
    50% { box-shadow: 0 0 0 8px rgba(4, 169, 39, 0.1); }
}
.vto-hero-h1 {
    color: #fff !important;
    font-size: 52px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    margin: 0 0 18px !important;
    letter-spacing: -0.5px;
}
.vto-hero-h1 span {
    background: linear-gradient(90deg, #FFCE06, #04A927);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.vto-hero-sub {
    color: rgba(255, 255, 255, 0.78) !important;
    font-size: 18px !important;
    line-height: 1.65 !important;
    max-width: 680px;
    margin: 0 auto !important;
}

/* Cards grid — overlaps hero bottom by -60px */
.vto-cards-wrap {
    margin-top: -60px !important;
    position: relative;
    z-index: 5;
}
.vto-card {
    display: block;
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 16px;
    padding: 28px 24px;
    text-align: left;
    text-decoration: none !important;
    color: #001a38 !important;
    box-shadow: 0 4px 24px rgba(0, 26, 56, 0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    height: 100%;
}
.vto-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(0, 26, 56, 0.12);
    border-color: rgba(4, 169, 39, 0.3);
}
.vto-card-ico {
    width: 52px;
    height: 52px;
    background: rgba(4, 169, 39, 0.1);
    color: #04A927;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    transition: background 0.3s ease, color 0.3s ease;
}
.vto-card-ico svg {
    width: 24px;
    height: 24px;
}
.vto-card-ico::before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}
.vto-card-ico--phone::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}
.vto-card-ico--zalo::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z'/%3E%3C/svg%3E");
}
.vto-card-ico--email::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");
}
.vto-card-ico--address::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}
.vto-card:hover .vto-card-ico {
    background: #04A927;
    color: #fff;
}
.vto-card--primary .vto-card-ico {
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff;
}
.vto-card-label {
    font-size: 13px;
    font-weight: 500;
    color: #6B7A8C;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}
.vto-card-value {
    font-size: 19px;
    font-weight: 700;
    color: #001a38;
    line-height: 1.3;
    margin-bottom: 6px;
}
.vto-card-meta {
    font-size: 13px;
    color: #8593A4;
}

/* Info block left column */
.vto-info-block {
    padding-right: 20px;
}
.vto-info-tag {
    display: inline-block;
    padding: 6px 14px;
    background: rgba(4, 169, 39, 0.1);
    color: #04A927;
    font-size: 12px;
    font-weight: 700;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 16px;
}
.vto-info-h2 {
    font-size: 34px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 0 0 16px !important;
    letter-spacing: -0.3px;
}
.vto-info-desc {
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: #4B5768 !important;
    margin-bottom: 24px !important;
}
.vto-info-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 28px !important;
}
.vto-info-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
    font-size: 15px;
    color: #2E3A4B;
    font-weight: 500;
}
.vto-check {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    background: rgba(4, 169, 39, 0.12);
    border-radius: 50%;
    position: relative;
}
.vto-check::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 6px;
    border-left: 2px solid #04A927;
    border-bottom: 2px solid #04A927;
    transform: translate(-50%, -70%) rotate(-45deg);
}
.vto-info-hours {
    background: #fff;
    border: 1px solid #E9EEF3;
    border-left: 4px solid #04A927;
    padding: 18px 22px;
    border-radius: 8px;
}
.vto-hours-label {
    font-size: 12px;
    font-weight: 700;
    color: #6B7A8C;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 4px;
}
.vto-hours-value {
    font-size: 16px;
    font-weight: 600;
    color: #001a38;
}

/* Form wrap */
.vto-form-wrap {
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 20px;
    padding: 36px 32px;
    box-shadow: 0 8px 32px rgba(0, 26, 56, 0.05);
}
.vto-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 20px;
}
.vto-form-grid .vto-field {
    margin: 0;
}
.vto-form-grid .vto-field--full {
    grid-column: 1 / -1;
}
.vto-field label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #2E3A4B;
    margin-bottom: 8px;
    letter-spacing: 0.2px;
}
.vto-req {
    color: #E93742;
    font-weight: 700;
}
.vto-form-wrap .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]) {
    width: 100%;
    padding: 13px 16px;
    border: 1.5px solid #DFE5EC;
    border-radius: 10px;
    background: #F8FAFD;
    font-size: 15px;
    font-family: 'Be Vietnam Pro', system-ui, -apple-system, sans-serif;
    color: #001a38;
    transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
    box-shadow: none;
}
.vto-form-wrap .wpcf7-form-control:not([type="submit"]):focus {
    border-color: #04A927;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(4, 169, 39, 0.1);
    outline: none;
}
.vto-form-wrap textarea.wpcf7-form-control {
    min-height: 120px;
    resize: vertical;
}
.vto-form-wrap .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.vto-form-wrap select.wpcf7-form-control,
.vto-form-wrap textarea.wpcf7-form-control {
    height: auto !important;
    min-height: 48px !important;
    line-height: 1.4 !important;
}
.vto-form-wrap textarea.wpcf7-form-control {
    min-height: 120px !important;
}
.vto-form-wrap select.wpcf7-form-control {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%236B7A8C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    padding-right: 42px !important;
    cursor: pointer;
}
.vto-submit-wrap {
    grid-column: 1 / -1;
    margin: 8px 0 0 !important;
}
.vto-form-wrap .wpcf7-submit {
    position: static !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    padding: 16px 28px !important;
    background: linear-gradient(135deg, #04A927 0%, #06C22E 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    font-family: 'Be Vietnam Pro', system-ui, -apple-system, sans-serif !important;
    letter-spacing: 0.3px !important;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease, background 0.2s ease !important;
    box-shadow: 0 8px 24px rgba(4, 169, 39, 0.28) !important;
    text-transform: none !important;
}
.vto-form-wrap .wpcf7-submit:hover,
.vto-form-wrap .wpcf7-submit:focus {
    transform: translateY(-2px) !important;
    filter: brightness(1.05);
    background: linear-gradient(135deg, #03921F 0%, #05B028 100%) !important;
    box-shadow: 0 14px 32px rgba(4, 169, 39, 0.42) !important;
}
.vto-form-wrap .wpcf7-submit:active {
    transform: translateY(0) !important;
    box-shadow: 0 4px 14px rgba(4, 169, 39, 0.32) !important;
}
.vto-form-wrap .wpcf7-spinner {
    margin-left: 12px;
}
.vto-form-wrap .wpcf7 form.invalid .wpcf7-response-output,
.vto-form-wrap .wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: #E93742;
    background: rgba(233, 55, 66, 0.06);
    color: #E93742;
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 14px;
}
.vto-form-wrap .wpcf7 form.sent .wpcf7-response-output {
    border-color: #04A927;
    background: rgba(4, 169, 39, 0.08);
    color: #04A927;
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 600;
}
.vto-form-wrap .wpcf7-not-valid-tip {
    font-size: 12px;
    color: #E93742;
    margin-top: 6px;
    display: block;
}

/* Map — full-bleed out of Flatsome page-wrapper max-width */
section.vto-map-section {
    overflow: hidden;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    width: 100vw;
    max-width: 100vw;
}
.vto-map-section > .section-content {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
}
.vto-map {
    line-height: 0;
    width: 100%;
}
.vto-map iframe {
    display: block;
    filter: grayscale(15%) contrast(1.05);
    transition: filter 0.4s ease;
}
.vto-map:hover iframe {
    filter: grayscale(0%) contrast(1);
}

/* Responsive */
@media (max-width: 849px) {
    .vto-hero-h1 { font-size: 36px !important; }
    .vto-hero-sub { font-size: 16px !important; }
    .vto-cards-wrap { margin-top: -40px !important; }
    .vto-info-block { padding-right: 0; }
    .vto-info-h2 { font-size: 26px !important; }
    .vto-form-wrap { padding: 24px 20px; }
    .vto-form-grid { grid-template-columns: 1fr; gap: 14px; }
}
@media (max-width: 549px) {.vto-hero-h1{ font-size: 30px !important; }.vto-card{ padding: 22px 18px; }.vto-card-value{ font-size: 17px; }
}

/* Flatsome col stretch — ensure equal height cho premium cards */
.row .col:has(.vto-card) > .col-inner,
.row .col:has(.vto-value-card) > .col-inner,
.row .col:has(.vto-cpt-step) > .col-inner,
.row .col:has(.vto-team-card) > .col-inner,
.row .col:has(.vto-wow-review-card) > .col-inner,
.row .col:has(.vto-editorial-stat) > .col-inner,
.row .col:has(.vto-wow-tstep) > .col-inner,
.row .col:has(.vto-kiemtien-card) > .col-inner,
.row .col:has(.vto-cond5) > .col-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.row .col:has(.vto-card) > .col-inner > *,
.row .col:has(.vto-value-card) > .col-inner > *,
.row .col:has(.vto-cpt-step) > .col-inner > *,
.row .col:has(.vto-team-card) > .col-inner > *,
.row .col:has(.vto-wow-review-card) > .col-inner > *,
.row .col:has(.vto-editorial-stat) > .col-inner > *,
.row .col:has(.vto-wow-tstep) > .col-inner > *,
.row .col:has(.vto-kiemtien-card) > .col-inner > *,
.row .col:has(.vto-cond5) > .col-inner > * {
    flex: 1 1 auto;
    height: 100%;
}

/* Ensure inner wrapper ux-html doesn't collapse (skip grid/flex containers) */
.row .col .col-inner > div:has(> .vto-card):not(.vto-editorial-stats):not(.vto-team-grid),
.row .col .col-inner > div:has(> .vto-value-card):not(.vto-team-grid),
.row .col .col-inner > div:has(> .vto-cpt-step):not(.vto-team-grid),
.row .col .col-inner > div:has(> .vto-team-card):not(.vto-team-grid),
.row .col .col-inner > div:has(> .vto-wow-review-card),
.row .col .col-inner > div:has(> .vto-kiemtien-card),
.row .col .col-inner > div:has(> .vto-cond5) {
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* ================================================================= */
/* FORM LOADER — premium overlay                                     */
/* ================================================================= */
.form-loader {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: radial-gradient(ellipse at center, rgba(0, 26, 56, 0.96), rgba(0, 26, 56, 0.99));
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
}
.form-loader.active {
    opacity: 1;
    visibility: visible;
}
.form-loader::before,
.form-loader::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(70px);
    opacity: 0.6;
    pointer-events: none;
    animation: wowOrbFloat 10s ease-in-out infinite;
}
.form-loader::before {
    width: 400px; height: 400px;
    top: -100px; left: 10%;
    background: radial-gradient(circle, rgba(4, 169, 39, 0.7), transparent);
}
.form-loader::after {
    width: 360px; height: 360px;
    bottom: -120px; right: 10%;
    background: radial-gradient(circle, rgba(255, 206, 6, 0.4), transparent);
    animation-delay: -5s;
}

.form-loader .step-form-inner {
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 420px;
}

.form-loader .page-loader-spin {
    width: 92px;
    height: 92px;
    margin: 0 auto 28px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.form-loader .page-loader-spin::before,
.form-loader .page-loader-spin::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 3px solid transparent;
}
.form-loader .page-loader-spin::before {
    border-top-color: #04A927;
    border-right-color: #06C22E;
    animation: formLoaderSpin 1.2s cubic-bezier(0.4, 0.1, 0.5, 0.9) infinite;
}
.form-loader .page-loader-spin::after {
    border-bottom-color: #FFCE06;
    border-left-color: rgba(255, 206, 6, 0.4);
    animation: formLoaderSpin 1.8s cubic-bezier(0.4, 0.1, 0.5, 0.9) infinite reverse;
    inset: 8px;
}
.form-loader .page-loader-spin .loading-spin {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #04A927, #06C22E);
    box-shadow: 0 0 32px rgba(4, 169, 39, 0.5);
    animation: formLoaderPulse 1.8s ease-in-out infinite;
    position: relative;
}
.form-loader .page-loader-spin .loading-spin::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px 24px;
}
@keyframes formLoaderSpin {
    to { transform: rotate(360deg); }
}
@keyframes formLoaderPulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50%      { transform: scale(1.08); opacity: 0.85; }
}

.form-loader h2 {
    color: #fff !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    margin: 0 0 10px !important;
    letter-spacing: -0.3px;
    line-height: 1.3 !important;
    background: linear-gradient(100deg, #fff 30%, #FFCE06 50%, #fff 70%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: wowShimmer 3s linear infinite;
}
.form-loader p {
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}

.form-loader .step-form-inner::after {
    content: "";
    display: block;
    width: 160px;
    height: 4px;
    margin: 22px auto 0;
    background: linear-gradient(90deg, transparent, rgba(4, 169, 39, 0.8), transparent);
    background-size: 200% 100%;
    border-radius: 999px;
    animation: formLoaderBar 1.4s ease-in-out infinite;
}
@keyframes formLoaderBar {
    0%   { background-position: -200% center; }
    100% { background-position: 200% center; }
}

@media (max-width: 549px) {.form-loader h2{ font-size: 22px !important; }.form-loader p{ font-size: 13px !important; }.form-loader .page-loader-spin{ width: 80px; height: 80px; margin-bottom: 24px; }.form-loader .page-loader-spin .loading-spin{ width: 38px; height: 38px; }
}

/* ================================================================= */
/* REG PAGE — /reg/ — CLEAN FORM                                    */
/* ================================================================= */
.vto-reg-section {
    min-height: 90vh;
}
.vto-reg-section .col { max-width: 720px; margin-left: auto !important; margin-right: auto !important; }.vto-reg-card,
.vto-reg-foot {
    max-width: 720px;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Form card */
.vto-reg-card {
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 20px;
    padding: 28px 32px 22px;
    box-shadow: 0 12px 40px rgba(0, 26, 56, 0.06);
    position: relative;
    overflow: hidden;
}
.vto-reg-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, #04A927, #FFCE06);
}
.vto-reg-card-head {
    margin-bottom: 22px;
    padding-bottom: 18px;
    border-bottom: 1px solid #E9EEF3;
}
.vto-reg-card-head h1 {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #001a38 !important;
    margin: 0 0 8px !important;
    letter-spacing: -0.3px;
    line-height: 1.25 !important;
}
.vto-reg-card-head p {
    color: #6B7A8C !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}
.vto-reg-card-head strong { color: #04A927; }

/* Step headers — style, not hide */
.vto-reg-card .step-form h2 {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #001a38 !important;
    margin: 0 0 14px !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding-left: 14px;
    border-left: 4px solid #04A927;
    line-height: 1.4 !important;
}

/* Amount display compact */
.vto-reg-card .step-form .rates.input-rates {
    font-size: 28px !important;
    font-weight: 800 !important;
    background: linear-gradient(135deg, #04A927, #06C22E);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    text-align: center;
    margin: 0 0 8px;
    letter-spacing: -0.5px;
    padding: 10px 16px;
    background-color: rgba(4, 169, 39, 0.04) !important;
    border-radius: 10px;
    border: 1px dashed rgba(4, 169, 39, 0.25);
}
.vto-reg-card .step-form #custom-range { margin: 0; }
.vto-reg-card .step-form .form_calculator-bottom {
    margin: 4px 0 14px !important;
    font-size: 11px !important;
    padding: 0 4px;
}

.vto-reg-card .step-form .form-gruop { margin-bottom: 14px; }
.vto-reg-card .step-form .text-center {
    margin: 18px 0 0 !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}
.vto-reg-card .step-form .prev-step {
    color: #6B7A8C !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
.vto-reg-card .step-form .prev-step:hover { color: #04A927 !important; }

/* Multi-step form — 2-col row layout */
.vto-reg-card .step-form .vto-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 14px;
    align-items: start;
}
.vto-reg-card .step-form .vto-form-row:has(.radio-gruop) {
    align-items: start;
}
.vto-reg-card .step-form .vto-form-row:has(.radio-gruop) .form-gruop.floating {
    padding-top: 29px;
}
.vto-reg-card .step-form .vto-form-row:has(.radio-gruop) .form-gruop.floating label {
    top: calc(50% + 14px);
}
.vto-reg-card .step-form .vto-form-row:has(.radio-gruop) .form-gruop.floating:focus-within label,
.vto-reg-card .step-form .vto-form-row:has(.radio-gruop) .form-gruop.floating:has(input:not(:placeholder-shown)) label {
    top: 28px;
}
.vto-reg-card .step-form .vto-form-row .form-gruop:not(.floating) input[type="text"],
.vto-reg-card .step-form .vto-form-row .form-gruop:not(.floating) input[type="email"],
.vto-reg-card .step-form .vto-form-row .form-gruop:not(.floating) input[type="tel"] {
    min-height: 52px !important;
    padding: 14px 16px !important;
}
@media (max-width: 549px) {.vto-reg-card .step-form .vto-form-row{ grid-template-columns: 1fr; gap: 10px; margin-bottom: 10px; }
}

/* Floating labels — compact form UX */
.vto-reg-card .step-form .form-gruop.floating {
    position: relative;
    margin-bottom: 0 !important;
}
.vto-reg-card .step-form .form-gruop.floating input,
.vto-reg-card .step-form .form-gruop.floating select {
    padding: 14px 14px !important;
    min-height: 52px !important;
    height: 52px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    margin-bottom: 0 !important;
}
.vto-reg-card .step-form .form-gruop.floating label {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    font-size: 14px !important;
    color: #8593A4 !important;
    font-weight: 500 !important;
    margin: 0 !important;
    padding: 0 6px !important;
    transition: all 0.2s ease;
    background: transparent;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: calc(100% - 28px);
}
.vto-reg-card .step-form .form-gruop.floating label .require {
    color: #E93742 !important;
    font-weight: 700;
}
.vto-reg-card .step-form .form-gruop.floating:focus-within label,
.vto-reg-card .step-form .form-gruop.floating:has(input:not(:placeholder-shown)) label,
.vto-reg-card .step-form .form-gruop.floating.floating-select:has(select:valid) label,
.vto-reg-card .step-form .form-gruop.floating.floating-select:focus-within label {
    top: -1px;
    transform: translateY(-50%);
    font-size: 11px !important;
    color: #04A927 !important;
    font-weight: 700 !important;
    background: #fff;
    padding: 0 6px !important;
}

/* Radio group — match floating input height */
.vto-reg-card .step-form .d-flex:has(.radio-gruop) {
    display: flex;
    gap: 10px;
}
.vto-reg-card .step-form .radio-gruop {
    min-height: 49px !important;
    height: 49px !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    flex: 1;
}
.vto-reg-card .step-form .form-gruop.floating input:focus,
.vto-reg-card .step-form .form-gruop.floating select:focus {
    border-color: #04A927 !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(4, 169, 39, 0.1) !important;
}

/* Floating select arrow */
.vto-reg-card .step-form .form-gruop.floating-select select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%236B7A8C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    padding-right: 40px !important;
    cursor: pointer;
}

/* Inline label — classic dark */
.vto-reg-card .step-form .vto-inline-label {
    display: block;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #2E3A4B !important;
    margin-bottom: 8px !important;
}
.vto-reg-card .step-form .vto-inline-label .require {
    color: #E93742;
}

/* Only show active step content */
.vto-reg-card .step-form .step-content-inner {
    display: none;
}
.vto-reg-card .step-form .step-content-inner.active {
    display: block;
    animation: vtoStepFadeIn 0.4s ease-out;
}
@keyframes vtoStepFadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Step actions — next/prev row */
.vto-reg-card .step-form .vto-step-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #E9EEF3;
    flex-wrap: wrap;
}
.vto-reg-card .step-form .vto-step-actions .prev-step {
    color: #6B7A8C !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    padding: 10px 18px;
    border-radius: 999px;
    transition: background 0.2s ease, color 0.2s ease;
}
.vto-reg-card .step-form .vto-step-actions .prev-step:hover {
    color: #04A927 !important;
    background: rgba(4, 169, 39, 0.06);
}
.vto-reg-card .step-form .vto-step-actions .button {
    margin-left: auto;
    padding: 13px 28px !important;
    font-size: 14px !important;
    border-radius: 999px !important;
}

/* Form summary (from URL params) */
.vto-form-summary {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    padding: 14px 18px;
    background: linear-gradient(135deg, rgba(4, 169, 39, 0.08), rgba(255, 206, 6, 0.06));
    border: 1px dashed rgba(4, 169, 39, 0.3);
    border-radius: 12px;
    margin-bottom: 22px;
}
.vto-form-summary-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 120px;
}
.vto-form-summary-item > span {
    font-size: 11px;
    color: #6B7A8C;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    font-weight: 600;
}
.vto-form-summary-item > strong {
    font-size: 17px;
    color: #001a38;
    font-weight: 800;
    letter-spacing: -0.2px;
}
.vto-form-summary-edit {
    padding: 7px 14px;
    background: #fff;
    border: 1px solid rgba(4, 169, 39, 0.3);
    color: #04A927 !important;
    font-size: 12px;
    font-weight: 700;
    border-radius: 999px;
    text-decoration: none !important;
    transition: background 0.2s ease, color 0.2s ease;
    flex-shrink: 0;
}
.vto-form-summary-edit:hover {
    background: #04A927;
    color: #fff !important;
}

/* Step nav + progress bar */
.vto-step-nav {
    margin-bottom: 24px;
    padding-bottom: 22px;
    border-bottom: 1px solid #E9EEF3;
}
.vto-step-progress {
    height: 6px;
    background: #E9EEF3;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 18px;
    position: relative;
}
.vto-step-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, #04A927, #06C22E, #FFCE06);
    background-size: 200% 100%;
    border-radius: 999px;
    transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 0 12px rgba(4, 169, 39, 0.5);
    animation: vtoProgressShine 2s linear infinite;
}
@keyframes vtoProgressShine {
    to { background-position: 200% center; }
}
.vto-step-items {
    display: flex;
    justify-content: space-between;
    gap: 8px;
}
.vto-step-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    flex: 1;
    text-align: center;
}
.vto-step-item > span {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #E9EEF3;
    color: #8593A4;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 13px;
    transition: all 0.3s ease;
}
.vto-step-item > em {
    font-style: normal;
    font-size: 11.5px;
    font-weight: 600;
    color: #8593A4;
    transition: color 0.3s ease;
}
.vto-step-item.current > span {
    background: #fff;
    border-color: #04A927;
    color: #04A927;
    box-shadow: 0 0 0 4px rgba(4, 169, 39, 0.15);
    transform: scale(1.1);
}
.vto-step-item.current > em { color: #001a38; font-weight: 700; }
.vto-step-item.done > span {
    background: linear-gradient(135deg, #04A927, #06C22E);
    border-color: transparent;
    color: transparent;
    box-shadow: 0 4px 12px rgba(4, 169, 39, 0.35);
    font-size: 0;
    position: relative;
}
.vto-step-item.done > span::after {
    content: "✓";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 16px;
    font-weight: 800;
}
.vto-step-item.done > em { color: #04A927; }

@media (max-width: 849px) {.vto-step-item > em{ display: none; }.vto-step-item > span{ width: 30px; height: 30px; font-size: 12px; }.vto-step-item.current > em{ display: block; font-size: 11px; }.vto-step-nav{ padding-bottom: 16px; margin-bottom: 18px; }.vto-step-items{ gap: 4px; }.vto-form-summary{ padding: 12px 14px; gap: 10px 14px; }.vto-form-summary-item > strong{ font-size: 15px; }.vto-form-summary-item > span{ font-size: 10px; }.vto-form-summary-edit{ padding: 6px 11px; font-size: 11px; }.vto-reg-card .step-form h2{ font-size: 15px !important; margin-bottom: 12px !important; }.vto-reg-card-head{ display: flex; flex-direction: column; gap: 6px; }.vto-reg-card-head h1{ font-size: 20px !important; }.vto-reg-card-head p{ font-size: 13px !important; }
}
.vto-reg-card .step-form .form-gruop label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #2E3A4B;
    margin-bottom: 8px;
}
.vto-reg-card .step-form .form-gruop label .require { color: #E93742; }
.vto-reg-card .step-form .form-gruop input[type="text"],
.vto-reg-card .step-form .form-gruop input[type="email"],
.vto-reg-card .step-form .form-gruop input[type="tel"] {
    width: 100% !important;
    padding: 13px 16px !important;
    border: 1.5px solid #E9EEF3 !important;
    border-radius: 10px !important;
    background: #F8FAFD !important;
    font-size: 15px !important;
    color: #001a38 !important;
    height: auto !important;
    min-height: 48px !important;
    box-shadow: none !important;
    font-family: inherit !important;
    transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease !important;
}
.vto-reg-card .step-form .form-gruop input:focus {
    border-color: #04A927 !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(4, 169, 39, 0.1) !important;
    outline: none !important;
}
.vto-reg-card .step-form .form-gruop .d-flex { gap: 10px; }
.vto-reg-card .step-form .radio-gruop {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 18px;
    background: #F8FAFD;
    border: 1.5px solid #E9EEF3;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    flex: 1;
    justify-content: center;
}
.vto-reg-card .step-form .radio-gruop:has(input:checked) {
    background: rgba(4, 169, 39, 0.08);
    border-color: #04A927;
}
.vto-reg-card .step-form .radio-gruop label {
    margin: 0 !important;
    color: #2E3A4B !important;
    font-weight: 600 !important;
    cursor: pointer;
    font-size: 14px !important;
}

.vto-reg-card .step-form .btn-submit,
.vto-reg-card .step-form .button.btn-submit.btn-gradient {
    width: 100% !important;
    padding: 14px 22px !important;
    font-size: 15px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #04A927 0%, #06C22E 100%) !important;
    color: #fff !important;
    font-weight: 800 !important;
    letter-spacing: 0.4px !important;
    box-shadow: 0 10px 28px rgba(4, 169, 39, 0.32) !important;
    text-transform: none !important;
    min-height: 0 !important;
    height: auto !important;
    line-height: 1.4 !important;
    margin-top: 4px !important;
}
.vto-reg-card .step-form .btn-submit:hover {
    transform: translateY(-2px);
    filter: brightness(1.05);
    box-shadow: 0 14px 34px rgba(4, 169, 39, 0.45) !important;
}

/* Foot */
.vto-reg-foot {
    margin-top: 22px;
    text-align: center;
}
.vto-reg-foot-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 14px;
    margin-bottom: 14px;
}
.vto-reg-foot-badges span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    color: #4B5768;
}
.vto-reg-foot-terms {
    font-size: 12px !important;
    color: #8593A4 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    max-width: 520px;
    margin-left: auto !important;
    margin-right: auto !important;
}
.vto-reg-foot-terms a { color: #04A927; font-weight: 600; }

/* Responsive */
@media (max-width: 849px) {
    .vto-reg-section { padding: 40px 18px !important; }
    .vto-reg-progress { gap: 6px; }
    .vto-reg-progress-step em { font-size: 10.5px; }
    .vto-reg-progress-step > span { width: 30px; height: 30px; font-size: 13px; }
    .vto-reg-progress-line { max-width: 30px; }
    .vto-reg-card { padding: 24px 22px 20px; border-radius: 18px; }
    .vto-reg-card-head h1 { font-size: 21px !important; }
    .vto-reg-card .step-form .rates.input-rates { font-size: 28px !important; }
}
.vto-reg-stage > .section-content { position: relative; z-index: 2; }

/* Stage right — form card */
.vto-reg-card {
    background: rgba(255, 255, 255, 0.98);
    border-radius: 24px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.3);
    padding: 32px 32px 26px;
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.3);
}
.vto-reg-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 5px;
    background: linear-gradient(90deg, #04A927, #FFCE06);
}
.vto-reg-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid #E9EEF3;
}
.vto-reg-card-head h2 {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #001a38 !important;
    margin: 0 0 4px !important;
    letter-spacing: -0.2px;
}
.vto-reg-card-head p {
    color: #6B7A8C !important;
    font-size: 13px !important;
    margin: 0 !important;
}

/* Form inputs inside card */
.vto-reg-card .step-form h2 { display: none; }
.vto-reg-card .step-form .rates.input-rates {
    font-size: 36px !important;
    font-weight: 800 !important;
    background: linear-gradient(135deg, #04A927, #06C22E);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    text-align: center;
    margin: 4px 0 10px;
    letter-spacing: -0.5px;
}
.vto-reg-card .step-form .form-gruop { margin-bottom: 16px; }
.vto-reg-card .step-form .form-gruop label {
    display: block;
    font-size: 12.5px;
    font-weight: 700;
    color: #2E3A4B;
    margin-bottom: 7px;
}
.vto-reg-card .step-form .form-gruop label .require { color: #E93742; }
.vto-reg-card .step-form .form-gruop input[type="text"],
.vto-reg-card .step-form .form-gruop input[type="email"],
.vto-reg-card .step-form .form-gruop input[type="tel"] {
    width: 100% !important;
    padding: 12px 16px !important;
    border: 1.5px solid #E9EEF3 !important;
    border-radius: 10px !important;
    background: #F8FAFD !important;
    font-size: 14px !important;
    color: #001a38 !important;
    height: auto !important;
    min-height: 46px !important;
    box-shadow: none !important;
    font-family: inherit !important;
    transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease !important;
}
.vto-reg-card .step-form .form-gruop input:focus {
    border-color: #04A927 !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(4, 169, 39, 0.1) !important;
    outline: none !important;
}
.vto-reg-card .step-form .form-gruop .d-flex { gap: 10px; }
.vto-reg-card .step-form .radio-gruop {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    background: #F8FAFD;
    border: 1.5px solid #E9EEF3;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    flex: 1;
    justify-content: center;
}
.vto-reg-card .step-form .radio-gruop:has(input:checked) {
    background: rgba(4, 169, 39, 0.08);
    border-color: #04A927;
}
.vto-reg-card .step-form .radio-gruop label {
    margin: 0 !important;
    color: #2E3A4B !important;
    font-weight: 600 !important;
    cursor: pointer;
    font-size: 13.5px !important;
}

.vto-reg-card .step-form .btn-submit,
.vto-reg-card .step-form .button.btn-submit.btn-gradient {
    width: 100% !important;
    padding: 15px 22px !important;
    font-size: 15px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #04A927 0%, #06C22E 100%) !important;
    color: #fff !important;
    font-weight: 800 !important;
    letter-spacing: 0.4px !important;
    box-shadow: 0 14px 34px rgba(4, 169, 39, 0.4) !important;
    text-transform: none !important;
    min-height: 0 !important;
    height: auto !important;
    line-height: 1.4 !important;
    animation: wowBtnPulse 2.6s ease-in-out infinite;
    margin-top: 4px !important;
}
.vto-reg-card .step-form .btn-submit:hover {
    transform: translateY(-2px);
    filter: brightness(1.05);
}
@keyframes vtoActivityScroll {
    to { transform: translateX(-50%); }
}

/* Responsive */
@media (max-width: 1024px) {
    .vto-reg-stage-h1 { font-size: 42px !important; }
}
@media (max-width: 849px) {.vto-reg-card{ padding: 24px 20px 20px; border-radius: 18px; }.vto-reg-card-head h2{ font-size: 19px !important; }.vto-reg-card .step-form .rates.input-rates{ font-size: 28px !important; }
}
@media (max-width: 549px) {
}

/* Equal height trust cards */
.row .col:has(.vto-reg-trust-card) > .col-inner { height: 100%; display: flex; flex-direction: column; }
.row .col:has(.vto-reg-trust-card) > .col-inner > * { flex: 1 1 auto; height: 100%; }
.vto-reg-hero > .section-content { position: relative; z-index: 1; }

/* Step form inputs premium */
.vto-reg-form-wrap .step-form h2 {
    display: none; /* hide old "Tôi cần vay" h2 — replaced by form head */
}
.vto-reg-form-wrap .step-form .input-rates {
    font-size: 36px !important;
    font-weight: 800 !important;
    background: linear-gradient(135deg, #04A927, #06C22E);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    text-align: center;
    margin-bottom: 14px;
}
.vto-reg-form-wrap .form-gruop {
    margin-bottom: 18px;
}
.vto-reg-form-wrap .form-gruop label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #2E3A4B;
    margin-bottom: 8px;
}
.vto-reg-form-wrap .form-gruop label .require { color: #E93742; }
.vto-reg-form-wrap .form-gruop input[type="text"],
.vto-reg-form-wrap .form-gruop input[type="email"],
.vto-reg-form-wrap .form-gruop input[type="tel"] {
    width: 100% !important;
    padding: 13px 16px !important;
    border: 1.5px solid #E9EEF3 !important;
    border-radius: 10px !important;
    background: #F8FAFD !important;
    font-size: 15px !important;
    color: #001a38 !important;
    height: auto !important;
    min-height: 48px !important;
    box-shadow: none !important;
    transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease !important;
}
.vto-reg-form-wrap .form-gruop input:focus {
    border-color: #04A927 !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(4, 169, 39, 0.1) !important;
    outline: none !important;
}
.vto-reg-form-wrap .radio-gruop {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-right: 20px;
    padding: 10px 18px;
    background: #F8FAFD;
    border: 1.5px solid #E9EEF3;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.vto-reg-form-wrap .radio-gruop:has(input:checked) {
    background: rgba(4, 169, 39, 0.06);
    border-color: #04A927;
}
.vto-reg-form-wrap .radio-gruop input[type="radio"] {
    margin: 0;
}
.vto-reg-form-wrap .radio-gruop label {
    margin: 0 !important;
    color: #2E3A4B !important;
    font-weight: 600 !important;
    cursor: pointer;
}

.vto-reg-form-wrap .btn-submit,
.vto-reg-form-wrap .button.btn-submit.btn-gradient {
    width: 100% !important;
    padding: 15px 22px !important;
    font-size: 15px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #04A927 0%, #06C22E 100%) !important;
    color: #fff !important;
    font-weight: 800 !important;
    letter-spacing: 0.4px !important;
    box-shadow: 0 14px 34px rgba(4, 169, 39, 0.38) !important;
    text-transform: none !important;
    min-height: 0 !important;
    height: auto !important;
    line-height: 1.4 !important;
    animation: wowBtnPulse 2.6s ease-in-out infinite;
}

/* Responsive */
@media (max-width: 849px) {
    .vto-reg-h1 { font-size: 26px !important; }
    .vto-reg-sub { font-size: 14px !important; }
    .vto-reg-sidebar { position: static; }
    .vto-reg-stats { grid-template-columns: 1fr 1fr; }
    .vto-reg-form-wrap { padding: 24px 20px; border-radius: 18px; }
    .vto-reg-form-head h2 { font-size: 20px !important; }
    .vto-reg-form-wrap .step-form .input-rates { font-size: 28px !important; }
}

/* ================================================================= */
/* HOMEPAGE — unified button + form + section spacing                */
/* ================================================================= */

/* Flatsome .btn-gradient — unify to site primary green gradient */
.btn-gradient,
.btn-gradient:focus {
    background-image: linear-gradient(135deg, #04A927 0%, #06C22E 100%) !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 10px 28px rgba(4, 169, 39, 0.32) !important;
    letter-spacing: 0.3px !important;
    font-weight: 700 !important;
    transition: transform 0.2s ease, box-shadow 0.25s ease, filter 0.2s ease !important;
}
.btn-gradient:hover {
    background-image: linear-gradient(135deg, #03921F 0%, #05B028 100%) !important;
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(4, 169, 39, 0.45) !important;
    filter: brightness(1.05);
}

/* Form calculator — premium unified style */
.form-calculator {
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 20px 50px rgba(0, 26, 56, 0.12) !important;
    padding: 34px 32px !important;
    border: 1px solid #E9EEF3;
    position: relative;
    overflow: hidden;
}
.form-calculator::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 5px;
    background: linear-gradient(90deg, #04A927, #FFCE06);
}
.form-calculator .loan-condition {
    display: none;
    padding: 5px 12px;
    background: rgba(4, 169, 39, 0.1);
    color: #04A927;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 999px;
    margin-bottom: 14px;
}
.form-calculator .form_calculator-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 16px;
}
.form-calculator .form_calculator-header .fw-500 {
    font-size: 14px;
    color: #6B7A8C;
    font-weight: 600;
}
.form-calculator .form_calculator-header .rates {
    font-size: 28px;
    font-weight: 800;
    background: linear-gradient(135deg, #04A927, #06C22E);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    letter-spacing: -0.5px;
}
.form-calculator .form_calculator-bottom {
    display: flex;
    justify-content: space-between;
    margin: 10px 0 18px;
    font-size: 11px;
    color: #8593A4;
}
.form-calculator #form_calculator-infor {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 16px !important;
    background: #F8FAFD;
    border: 1px dashed #E9EEF3;
    border-radius: 12px;
    padding: 14px 16px !important;
}
.form-calculator #form_calculator-infor li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    color: #4B5768 !important;
    font-size: 13px !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}
.form-calculator #form_calculator-infor li > span:first-child {
    flex: 1 1 auto;
    min-width: 0;
}
.form-calculator #form_calculator-infor li > span:last-child {
    flex-shrink: 0;
    white-space: nowrap;
    text-align: right;
}
.form-calculator #form_calculator-infor .line { display: none; }
.form-calculator #form_calculator-infor .rates {
    color: #04A927;
    font-weight: 800;
    font-size: 14px;
}
.form-calculator #input-phone {
    width: 100% !important;
    border: 1.5px solid #E9EEF3 !important;
    border-radius: 12px !important;
    background: #F8FAFD !important;
    padding: 14px 18px !important;
    font-size: 15px !important;
    color: #001a38 !important;
    text-align: center !important;
    margin-bottom: 14px !important;
    box-shadow: none !important;
    transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease !important;
    font-family: inherit !important;
    font-weight: 600;
    height: auto !important;
    min-height: 48px !important;
    line-height: 1.4 !important;
}
.form-calculator #input-phone:focus {
    border-color: #04A927 !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(4, 169, 39, 0.1) !important;
    outline: none !important;
}
.form-calculator .button.go-to-reg.btn-gradient {
    width: 100%;
    border-radius: 12px !important;
    padding: 13px 22px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    min-height: 0 !important;
    margin-bottom: 14px !important;
    background: linear-gradient(135deg, #04A927 0%, #06C22E 100%) !important;
    color: #fff !important;
    letter-spacing: 0.4px !important;
    box-shadow: 0 14px 40px rgba(4, 169, 39, 0.4) !important;
    animation: wowBtnPulse 2.6s ease-in-out infinite;
    text-transform: none !important;
}
.form-calculator .button.go-to-reg.btn-gradient:hover {
    transform: translateY(-2px);
    filter: brightness(1.05);
    box-shadow: 0 18px 48px rgba(4, 169, 39, 0.5) !important;
}
.form-calculator .privacy_policy {
    color: #8593A4 !important;
    font-size: 11px !important;
    line-height: 1.6 !important;
    margin-top: 4px;
}
.form-calculator .privacy_policy a {
    color: #04A927 !important;
    font-weight: 600;
}

/* Range slider premium */
#range-calculator { padding: 4px 0 2px; }
#custom-range {
    position: relative;
    height: 8px;
    background: #E9EEF3;
    border-radius: 999px;
}
#custom-range #progress-bar {
    height: 100%;
    background: linear-gradient(90deg, #04A927, #06C22E);
    border-radius: 999px;
}
#custom-range #custom-thumb {
    position: absolute;
    top: 50%;
    width: 26px;
    height: 26px;
    background: #fff;
    border: 4px solid #04A927;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    cursor: grab;
    box-shadow: 0 4px 14px rgba(4, 169, 39, 0.35);
    transition: transform 0.15s ease;
}
#custom-range #custom-thumb:hover { transform: translate(-50%, -50%) scale(1.15); }

/* Responsive form */
@media (max-width: 849px) {
    .form-calculator { padding: 26px 22px !important; width: auto !important; max-width: 100%; }
    .form-calculator .form_calculator-header .rates { font-size: 24px; }
    .form-calculator .button.go-to-reg.btn-gradient { padding: 14px 20px !important; font-size: 14px !important; }
}

/* ================================================================= */
/* HOMEPAGE — /                                                      */
/* ================================================================= */

/* Home hero: white nav text + spacing between header and hero content */
body.home .header:not(.stuck) .header-nav > li > a,
body.home .header:not(.stuck) .header-nav > li > a > span,
body.home .header:not(.stuck) .nav-dropdown-has-arrow > li > a,
body.home .header:not(.stuck) .header-button > a:not(.button) {
    color: #fff !important;
}
body.home .header:not(.stuck) .header-nav > li > a:hover,
body.home .header:not(.stuck) .header-nav > li.current-menu-item > a,
body.home .header:not(.stuck) .header-nav > li.active > a {
    color: #FFCE06 !important;
}
body.home .header:not(.stuck) .header-nav > li > a::after,
body.home .header:not(.stuck) .is-dropdown::after {
    border-top-color: #fff !important;
}

section.vto-home-hero {
    position: relative;
    overflow: hidden;
    padding-top: 60px !important;
    padding-bottom: 90px !important;
}
@media (max-width: 849px) {section.vto-home-hero{
        padding-top: 40px !important;
        padding-bottom: 60px !important;
    }
}
.vto-home-orbs {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}
.vto-home-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(70px);
    opacity: 0.55;
    animation: wowOrbFloat 14s ease-in-out infinite;
}
.vto-home-orb--1 {
    width: 520px; height: 520px;
    top: -140px; left: -120px;
    background: radial-gradient(circle, rgba(4, 169, 39, 0.8), transparent);
}
.vto-home-orb--2 {
    width: 480px; height: 480px;
    top: -60px; right: -100px;
    background: radial-gradient(circle, rgba(255, 206, 6, 0.55), transparent);
    animation-delay: -5s;
}
.vto-home-orb--3 {
    width: 420px; height: 420px;
    bottom: -180px; left: 40%;
    background: radial-gradient(circle, rgba(6, 194, 200, 0.35), transparent);
    animation-delay: -9s;
}
.vto-home-hero-row {
    position: relative;
    z-index: 2;
}
.vto-home-hero-h1 {
    color: #fff !important;
    font-size: 54px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.8px;
    margin: 0 0 18px !important;
}
.vto-home-hero-h1 span {
    background: linear-gradient(100deg, #fff 30%, #FFCE06 50%, #fff 70%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: wowShimmer 4s linear infinite;
}
.vto-home-hero-sub {
    color: rgba(255, 255, 255, 0.82) !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
    margin: 0 0 22px !important;
    max-width: 560px;
}
.vto-home-hero-sub strong { color: #FFCE06; }
.vto-home-checklist {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 28px !important;
    display: grid;
    grid-template-columns: auto auto;
    justify-content: start;
    gap: 8px 28px;
}
.vto-home-checklist li {
    position: relative;
    padding: 4px 0 4px 30px;
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.9);
    font-size: 14.5px;
    line-height: 1.55;
}
.vto-home-checklist li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: linear-gradient(135deg, #04A927, #06C22E);
    background-image:
        linear-gradient(135deg, #04A927, #06C22E),
        url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='2 6 5 9 10 3'/%3E%3C/svg%3E");
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='2 6 5 9 10 3'/%3E%3C/svg%3E");
    background-color: #04A927;
    background-repeat: no-repeat;
    background-position: center;
    box-shadow: 0 4px 12px rgba(4, 169, 39, 0.4);
}
.vto-home-checklist li strong { color: #FFCE06; }
.vto-home-hero-cta {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 22px;
}
.vto-home-hero-trust {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
}
.vto-home-hero-trust strong { color: #fff; font-weight: 700; }

/* Home stats overlap hero bottom */
.vto-home-stats {
    margin-top: -40px !important;
    z-index: 10;
}

/* Home conditions section — LIGHT */
section.vto-home-cond-section {
    background: linear-gradient(135deg, #F0FDF4 0%, #F8FAFD 50%, #FFFBE5 100%) !important;
    position: relative;
    overflow: hidden;
}
section.vto-home-cond-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 15% 100%, rgba(4, 169, 39, 0.1), transparent 55%),
        radial-gradient(circle at 85% 0%, rgba(255, 206, 6, 0.12), transparent 55%);
    pointer-events: none;
    z-index: 0;
}
section.vto-home-cond-section .section-content {
    position: relative;
    z-index: 1;
}
section.vto-home-cond-section h2 {
    color: #001a38 !important;
}
section.vto-home-cond-section .vto-story-tag {
    background: rgba(4, 169, 39, 0.1) !important;
    color: #04A927 !important;
}

/* 5-card eligibility grid */
.vto-cond5 {
    position: relative;
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 18px;
    padding: 28px 18px 44px;
    text-align: center;
    height: 100%;
    overflow: hidden;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.vto-cond5::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, #04A927, #06C22E);
    opacity: 0;
    transition: opacity 0.3s ease;
}
.vto-cond5:hover {
    transform: translateY(-6px);
    border-color: rgba(4, 169, 39, 0.3);
    box-shadow: 0 24px 50px rgba(0, 26, 56, 0.1);
}
.vto-cond5:hover::before { opacity: 1; }
.vto-cond5--featured .vto-cond5-ico {
    background: linear-gradient(135deg, #FFCE06, #FFA000);
    color: #001a38;
}
.vto-cond5--featured .vto-cond5-num { color: rgba(255, 255, 255, 0.1); }
.vto-cond5--featured .vto-cond5-check {
    background: linear-gradient(135deg, #FFCE06, #FFA000);
    color: #001a38;
}
.vto-cond5-ico {
    width: 52px;
    height: 52px;
    margin: 0 auto 14px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(4, 169, 39, 0.1), rgba(6, 194, 46, 0.05));
    color: #04A927;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
    transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}
.vto-cond5:hover .vto-cond5-ico {
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff;
    transform: rotate(-6deg);
}
.vto-cond5-ico::before {
    content: "";
    width: 26px;
    height: 26px;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}
.vto-cond5-ico--age::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}
.vto-cond5-ico--flag::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}
.vto-cond5-ico--id::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Ccircle cx='9' cy='12' r='2.5'/%3E%3Cpath d='M14 9h5M14 12h5M14 15h3'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Ccircle cx='9' cy='12' r='2.5'/%3E%3Cpath d='M14 9h5M14 12h5M14 15h3'/%3E%3C/svg%3E");
}
.vto-cond5-ico--bank::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cline x1='2' y1='10' x2='22' y2='10'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cline x1='2' y1='10' x2='22' y2='10'/%3E%3C/svg%3E");
}
.vto-cond5-ico--income::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='23 6 13.5 15.5 8.5 10.5 1 18'/%3E%3Cpolyline points='17 6 23 6 23 12'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='23 6 13.5 15.5 8.5 10.5 1 18'/%3E%3Cpolyline points='17 6 23 6 23 12'/%3E%3C/svg%3E");
}
.vto-cond5-num {
    font-size: 38px;
    font-weight: 800;
    line-height: 1;
    color: rgba(4, 169, 39, 0.08);
    letter-spacing: -1px;
    position: absolute;
    right: 14px;
    top: 14px;
    transition: color 0.3s ease;
    z-index: 1;
    pointer-events: none;
}
.vto-cond5:hover .vto-cond5-num { color: rgba(4, 169, 39, 0.14); }
.vto-cond5 h3 {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #001a38 !important;
    margin: 0 0 8px !important;
    letter-spacing: -0.1px;
    position: relative;
    z-index: 2;
}
.vto-cond5 p {
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    color: #6B7A8C !important;
    margin: 0 !important;
    position: relative;
    z-index: 2;
    min-height: 44px;
}
.vto-cond5 p strong { color: #001a38; font-weight: 700; }
.vto-cond5-check {
    position: absolute;
    bottom: 14px;
    right: 14px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 12px;
    box-shadow: 0 4px 12px rgba(4, 169, 39, 0.4);
    opacity: 0;
    transform: scale(0.5);
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.vto-cond5:hover .vto-cond5-check,
.vto-cond5--featured .vto-cond5-check {
    opacity: 1;
    transform: scale(1);
}

/* CTA block */
.vto-cond5-cta {
    margin-top: 50px;
    background: linear-gradient(135deg, #001a38 0%, #002b5e 60%, #04A927 160%);
    border-radius: 22px;
    padding: 30px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    position: relative;
    overflow: hidden;
    box-shadow: 0 24px 50px rgba(0, 26, 56, 0.2);
}
.vto-cond5-cta::before {
    content: "";
    position: absolute;
    top: -60%;
    right: -10%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(255, 206, 6, 0.2), transparent 65%);
    pointer-events: none;
}
.vto-cond5-cta-left {
    position: relative;
    flex: 1 1 400px;
}
.vto-cond5-cta-left strong {
    display: block;
    color: #fff;
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 6px;
    letter-spacing: -0.2px;
}
.vto-cond5-cta-left strong span {
    background: linear-gradient(135deg, #FFCE06, #04E030);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.vto-cond5-cta-left p {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}
.vto-cond5-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 28px;
    background: #fff;
    color: #04A927 !important;
    font-weight: 800;
    font-size: 15px;
    border-radius: 12px;
    text-decoration: none !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25);
    transition: transform 0.2s ease, gap 0.25s ease, box-shadow 0.2s ease;
    position: relative;
    flex-shrink: 0;
    animation: wowBtnPulse 2.4s ease-in-out infinite;
}
.vto-cond5-cta-btn em { font-style: normal; font-size: 18px; transition: transform 0.25s ease; }
.vto-cond5-cta-btn:hover {
    transform: translateY(-3px);
    gap: 12px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.35);
}
.vto-cond5-cta-btn:hover em { transform: translateX(4px); }

@media (max-width: 1024px) {
}
@media (max-width: 849px) {.vto-cond5{ padding: 22px 16px 18px; }.vto-cond5-num{ font-size: 36px; }.vto-cond5 h3{ font-size: 15px !important; }.vto-cond5-cta{ padding: 24px 22px; text-align: center; }.vto-cond5-cta-left{ flex: 1 1 100%; text-align: center; }.vto-cond5-cta-left strong{ font-size: 19px; }.vto-cond5-cta-btn{ width: 100%; justify-content: center; }
}

/* Home partners marquee */
.vto-home-partners .logo {
    filter: grayscale(30%);
    opacity: 0.75;
    transition: filter 0.25s ease, opacity 0.25s ease;
}
.vto-home-partners .logo:hover {
    filter: grayscale(0);
    opacity: 1;
}

/* FAQ centered */
.vto-home-faq { max-width: 900px; margin: 0 auto; }

/* Home blog grid (custom shortcode) */
.vto-home-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
@media (max-width: 849px) {.vto-home-blog-grid{ grid-template-columns: 1fr; gap: 18px; }
}

/* ================================================================= */
/* LOAN CARDS — unified premium design                               */
/* ================================================================= */
.vto-loan-new-grid {
    display: grid;
    gap: 20px;
}
.vto-loan-new-grid--4 { grid-template-columns: repeat(4, 1fr); }
.vto-loan-new-grid--3 { grid-template-columns: repeat(3, 1fr); }

.vto-loan-new {
    position: relative;
    background: #fff;
    border: 1px solid #04A927;
    border-radius: 20px;
    padding: 28px 22px 22px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.vto-loan-new:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 44px rgba(4, 169, 39, 0.18);
}
.vto-loan-new--featured {
    box-shadow: 0 12px 36px rgba(4, 169, 39, 0.18);
}

.vto-loan-new-ribbon {
    position: absolute;
    top: 16px;
    right: -42px;
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    padding: 5px 44px;
    transform: rotate(38deg);
    box-shadow: 0 4px 12px rgba(4, 169, 39, 0.35);
    z-index: 2;
}

.vto-loan-new-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 88px;
    margin-bottom: 18px;
    text-decoration: none !important;
    transition: transform 0.3s ease;
}
.vto-loan-new-logo:hover {
    transform: scale(1.03);
}
.vto-loan-new-logo img {
    max-width: 70%;
    max-height: 100%;
    object-fit: contain;
    display: block;
}

.vto-loan-new-specs {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 18px !important;
    border-top: 1px dashed #E9EEF3;
    flex: 1 1 auto;
}
.vto-loan-new-specs li {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 9px 0;
    border-bottom: 1px dashed #E9EEF3;
    margin: 0 !important;
    font-size: 13px;
    gap: 10px;
}
.vto-loan-new-specs li span {
    color: #6B7A8C;
}
.vto-loan-new-specs li strong {
    color: #001a38;
    font-weight: 700;
    font-size: 13px;
    text-align: right;
    white-space: nowrap;
}

.vto-loan-new-btn {
    display: block;
    text-align: center;
    padding: 12px 18px;
    background: #fff;
    color: #04A927 !important;
    border: 2px solid #04A927 !important;
    border-radius: 999px !important;
    font-weight: 800;
    font-size: 13px;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    text-decoration: none !important;
    margin-top: auto;
    transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease;
}
.vto-loan-new-btn:hover {
    background: linear-gradient(135deg, #04A927, #06C22E) !important;
    color: #fff !important;
    box-shadow: 0 10px 26px rgba(4, 169, 39, 0.35);
    transform: translateY(-1px);
}

@media (max-width: 1024px) {.vto-loan-new-grid--4{ grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 849px) {.vto-loan-new-grid--4, .vto-loan-new-grid--3{ grid-template-columns: repeat(2, 1fr); gap: 14px; }.vto-loan-new{ padding: 22px 18px 18px; }
}
@media (max-width: 549px) {.vto-loan-new-grid--4, .vto-loan-new-grid--3{ grid-template-columns: 1fr; gap: 14px; }
}

/* Equal-height integration */
.row .col:has(.vto-loan-new) > .col-inner { height: 100%; display: flex; flex-direction: column; }
.row .col:has(.vto-loan-new) > .col-inner > * { flex: 1 1 auto; height: 100%; }

/* Tags cloud */
.vto-home-tags {
    margin-top: 36px;
    padding-top: 28px;
    border-top: 1px dashed #E9EEF3;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.vto-home-tags-label {
    font-size: 13px;
    font-weight: 700;
    color: #6B7A8C;
    margin-right: 6px;
    width: 100%;
    margin-bottom: 8px;
}
.vto-home-tags a {
    display: inline-block;
    padding: 7px 14px;
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 999px;
    color: #4B5768 !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.2s ease;
}
.vto-home-tags a:hover {
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff !important;
    border-color: transparent;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(4, 169, 39, 0.3);
}

/* Responsive */
@media (max-width: 1024px) {
    .vto-home-hero-h1 { font-size: 42px !important; }
    .vto-home-cond-card-amount { font-size: 42px; }
}
@media (max-width: 849px) {section.vto-home-hero{ padding: 44px 20px 70px !important; }.vto-home-hero-h1{ font-size: 32px !important; }.vto-home-hero-sub{ font-size: 15px !important; }.vto-home-checklist{ grid-template-columns: 1fr; gap: 8px; }.vto-home-hero-cta{ flex-direction: column; align-items: stretch; }.vto-home-hero-cta .vto-wow-btn-primary, .vto-home-hero-cta .vto-wow-btn-ghost{ text-align: center; justify-content: center; }.vto-home-hero-trust{ gap: 8px 14px; font-size: 11px; justify-content: center; flex-wrap: wrap; }.vto-home-hero-trust span{ white-space: nowrap; }.vto-home-tags a{ font-size: 12px; padding: 6px 12px; }
}

/* ================================================================= */
/* HOW WE MAKE MONEY — /cach-chung-toi-kiem-tien/                    */
/* ================================================================= */
.vto-kiemtien-intro {
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 20px;
    padding: 34px 40px;
    box-shadow: 0 8px 32px rgba(0, 26, 56, 0.05);
}
.vto-kiemtien-intro p {
    font-size: 15.5px !important;
    line-height: 1.85 !important;
    color: #4B5768 !important;
    margin: 0 0 14px !important;
}
.vto-kiemtien-intro p:last-child { margin-bottom: 0 !important; }
.vto-kiemtien-intro strong { color: #001a38; }

.vto-kiemtien-card {
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 20px;
    padding: 36px 32px;
    height: 100%;
    box-shadow: 0 8px 32px rgba(0, 26, 56, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    position: relative;
    overflow: hidden;
}
.vto-kiemtien-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 5px;
    background: linear-gradient(90deg, #04A927, #FFCE06);
    opacity: 0;
    transition: opacity 0.3s ease;
}
.vto-kiemtien-card:hover {
    transform: translateY(-5px);
    border-color: rgba(4, 169, 39, 0.3);
    box-shadow: 0 22px 50px rgba(0, 26, 56, 0.1);
}
.vto-kiemtien-card:hover::before { opacity: 1; }
.vto-kiemtien-card-ico {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(4, 169, 39, 0.12), rgba(6, 194, 46, 0.05));
    color: #04A927;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    transition: background 0.3s ease, color 0.3s ease;
}
.vto-kiemtien-card:hover .vto-kiemtien-card-ico {
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff;
}
.vto-kiemtien-card-ico::before {
    content: "";
    width: 30px;
    height: 30px;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}
.vto-kiemtien-card-ico--link::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E");
}
.vto-kiemtien-card-ico--ads::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='3' y1='9' x2='21' y2='9'/%3E%3Cline x1='9' y1='21' x2='9' y2='9'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='3' y1='9' x2='21' y2='9'/%3E%3Cline x1='9' y1='21' x2='9' y2='9'/%3E%3C/svg%3E");
}
.vto-kiemtien-card h3 {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #001a38 !important;
    margin: 0 0 14px !important;
    letter-spacing: -0.2px;
    line-height: 1.3 !important;
}
.vto-kiemtien-card h3 em {
    font-style: normal;
    color: #04A927;
    font-weight: 600;
    font-size: 15px;
}
.vto-kiemtien-card p {
    font-size: 14.5px !important;
    line-height: 1.75 !important;
    color: #4B5768 !important;
    margin: 0 0 16px !important;
}
.vto-kiemtien-card strong { color: #001a38; }
.vto-kiemtien-card-points {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-top: 1px dashed #E9EEF3;
    padding-top: 14px !important;
}
.vto-kiemtien-card-points li {
    position: relative;
    padding: 8px 0 8px 30px;
    color: #4B5768;
    font-size: 14px;
    line-height: 1.65;
    margin: 0 !important;
}
.vto-kiemtien-card-points li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background-color: rgba(4, 169, 39, 0.12);
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%2304A927' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='2 6 5 9 10 3'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
}
.vto-kiemtien-card code {
    background: rgba(4, 169, 39, 0.1);
    color: #04A927;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 12px;
    font-family: Consolas, Menlo, monospace;
}

@media (max-width: 849px) {.vto-kiemtien-intro{ padding: 24px 22px; }.vto-kiemtien-intro p{ font-size: 14.5px !important; }.vto-kiemtien-card{ padding: 26px 22px; }.vto-kiemtien-card h3{ font-size: 19px !important; }
}

/* ================================================================= */
/* METHODOLOGY PAGE — /cach-goi-y-khoan-vay/                         */
/* ================================================================= */
.vto-goiy-intro {
    background: linear-gradient(135deg, #fff 0%, #F8FAFD 100%);
    border: 1px solid #E9EEF3;
    border-radius: 24px;
    padding: 48px 52px 44px;
    box-shadow: 0 20px 50px rgba(0, 26, 56, 0.08);
    position: relative;
    overflow: hidden;
}
.vto-goiy-intro::before {
    content: "";
    position: absolute;
    top: -50%;
    right: -10%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(4, 169, 39, 0.06), transparent 65%);
    pointer-events: none;
}
.vto-goiy-intro-h2 {
    font-size: 28px !important;
    font-weight: 800 !important;
    color: #001a38 !important;
    margin: 0 0 32px !important;
    letter-spacing: -0.3px;
    line-height: 1.3 !important;
    text-align: center;
    position: relative;
}
.vto-goiy-intro-h2 span {
    background: linear-gradient(135deg, #04A927, #06C22E);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}
.vto-goiy-checklist {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    position: relative;
}
.vto-goiy-checklist li {
    display: block;
    padding: 26px 22px 22px !important;
    margin: 0 !important;
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 16px;
    text-align: center;
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.vto-goiy-checklist li::before {
    content: "✓";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff;
    font-weight: 800;
    font-size: 20px;
    box-shadow: 0 10px 22px rgba(4, 169, 39, 0.35);
    position: relative;
}
.vto-goiy-checklist li:hover {
    transform: translateY(-4px);
    border-color: rgba(4, 169, 39, 0.3);
    box-shadow: 0 16px 36px rgba(0, 26, 56, 0.08);
}
.vto-goiy-checklist li strong {
    display: block;
    color: #001a38;
    font-size: 17px;
    font-weight: 800;
    margin-bottom: 8px;
    letter-spacing: -0.2px;
}
.vto-goiy-checklist li span {
    display: block;
    color: #6B7A8C;
    font-size: 14px;
    line-height: 1.7;
}
@media (max-width: 849px) {.vto-goiy-intro{ padding: 32px 24px 28px; border-radius: 18px; }.vto-goiy-intro-h2{ font-size: 22px !important; margin-bottom: 24px !important; }.vto-goiy-checklist{ grid-template-columns: 1fr; gap: 12px; }.vto-goiy-checklist li{ padding: 22px 20px !important; }
}

/* Formula diagram */
.vto-goiy-formula {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 0;
    flex-wrap: wrap;
}
.vto-goiy-formula-step {
    flex: 1;
    min-width: 200px;
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 18px;
    padding: 32px 24px;
    text-align: center;
    box-shadow: 0 8px 28px rgba(0, 26, 56, 0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.vto-goiy-formula-step:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 40px rgba(0, 26, 56, 0.1);
}
.vto-goiy-formula-icon {
    font-size: 44px;
    margin-bottom: 14px;
    display: inline-block;
    line-height: 1;
    filter: drop-shadow(0 6px 14px rgba(4, 169, 39, 0.2));
}
.vto-goiy-formula-step h4 {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #04A927 !important;
    margin: 0 0 8px !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.vto-goiy-formula-step p {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #4B5768 !important;
    margin: 0 !important;
}
.vto-goiy-formula-arrow {
    flex: 0 0 auto;
    align-self: center;
    font-size: 32px;
    font-weight: 800;
    color: #04A927;
    padding: 0 12px;
    opacity: 0.5;
}
@media (max-width: 849px) {.vto-goiy-intro{ padding: 26px 24px; }.vto-goiy-intro-h2{ font-size: 22px !important; }.vto-goiy-formula{ flex-direction: column; gap: 14px; }.vto-goiy-formula-arrow{ transform: rotate(90deg); align-self: center; padding: 0; }.vto-goiy-formula-step{ width: 100%; }
}

/* ================================================================= */
/* EDITORIAL STATS — dynamic counts                                  */
/* ================================================================= */
.vto-editorial-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: -60px;
    position: relative;
    z-index: 5;
}
.vto-editorial-stat {
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 18px;
    padding: 30px 22px 24px;
    text-align: center;
    box-shadow: 0 12px 36px rgba(0, 26, 56, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    position: relative;
    overflow: hidden;
}
.vto-editorial-stat::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, #04A927, #FFCE06);
    opacity: 0;
    transition: opacity 0.3s ease;
}
.vto-editorial-stat:hover {
    transform: translateY(-5px);
    border-color: rgba(4, 169, 39, 0.3);
    box-shadow: 0 22px 50px rgba(0, 26, 56, 0.12);
}
.vto-editorial-stat:hover::before {
    opacity: 1;
}
.vto-editorial-stat-num {
    font-size: 44px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -1px;
    margin-bottom: 10px;
    background: linear-gradient(135deg, #04A927 0%, #06C22E 60%, #FFCE06 120%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}
.vto-editorial-stat-label {
    font-size: 12.5px;
    font-weight: 600;
    color: #6B7A8C;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    line-height: 1.4;
}
@media (max-width: 849px) {.vto-editorial-stats{ grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: -40px; }.vto-editorial-stat{ padding: 22px 16px 18px; }.vto-editorial-stat-num{ font-size: 34px; }.vto-editorial-stat-label{ font-size: 11px; }
}
@media (max-width: 549px) {.vto-editorial-stats{ grid-template-columns: 1fr 1fr; }.vto-editorial-stat-num{ font-size: 30px; }
}

/* ================================================================= */
/* ABOUT PAGE — /gioi-thieu/                                         */
/* ================================================================= */

/* Hero shared with contact — reuse .vto-hero-* */

/* Story 2-col */
.vto-story-wrap {
    padding: 40px 0;
}
.vto-story-tag {
    display: inline-block;
    padding: 6px 14px;
    background: rgba(4, 169, 39, 0.1);
    color: #04A927;
    font-size: 12px;
    font-weight: 700;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 16px;
}
.vto-story-h2 {
    font-size: 36px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 0 0 20px !important;
    letter-spacing: -0.3px;
}
.vto-story-h2 span {
    color: #04A927;
}
.vto-story-desc {
    font-size: 16px !important;
    line-height: 1.75 !important;
    color: #4B5768 !important;
    margin-bottom: 16px !important;
}
.vto-story-media {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 26, 56, 0.15);
    aspect-ratio: 16 / 10;
    background: linear-gradient(135deg, #001a38 0%, #003676 55%, #04A927 130%);
}
.vto-story-media::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 20% 30%, rgba(255, 206, 6, 0.22), transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(4, 169, 39, 0.3), transparent 40%);
}
.vto-story-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
    background-size: 40px 40px;
    mask-image: radial-gradient(circle at 50% 50%, #000 0%, transparent 75%);
}
.vto-story-video-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 96px;
    height: 96px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    box-shadow: 0 12px 40px rgba(4, 169, 39, 0.35), 0 0 0 0 rgba(255, 255, 255, 0.5);
    z-index: 3;
    text-decoration: none !important;
    animation: vtoVideoPulse 2.4s ease-out infinite;
}
@keyframes vtoVideoPulse {
    0%   { box-shadow: 0 12px 40px rgba(4, 169, 39, 0.35), 0 0 0 0 rgba(4, 169, 39, 0.5); }
    100% { box-shadow: 0 12px 40px rgba(4, 169, 39, 0.35), 0 0 0 30px rgba(4, 169, 39, 0); }
}
.vto-story-video-btn::before {
    content: "";
    width: 0;
    height: 0;
    border-left: 22px solid #04A927;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    margin-left: 6px;
}
.vto-story-video-btn:hover {
    transform: translate(-50%, -50%) scale(1.08);
}
.vto-story-media-tagline {
    position: absolute;
    bottom: 32px;
    left: 32px;
    right: 32px;
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    z-index: 2;
    letter-spacing: 0.2px;
}
.vto-story-media-tagline small {
    display: block;
    color: rgba(255, 255, 255, 0.6);
    font-weight: 500;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 4px;
}

/* Values 3 cards */
.vto-value-card {
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 18px;
    padding: 34px 28px;
    height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    position: relative;
}
.vto-value-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 48px rgba(0, 26, 56, 0.1);
    border-color: rgba(4, 169, 39, 0.3);
}
.vto-value-ico {
    width: 60px;
    height: 60px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(4, 169, 39, 0.12), rgba(6, 194, 46, 0.05));
    color: #04A927;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    transition: background 0.3s ease, color 0.3s ease;
}
.vto-value-ico::before {
    content: "";
    width: 28px;
    height: 28px;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}
.vto-value-ico--fast::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/%3E%3C/svg%3E");
}
.vto-value-ico--easy::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 11l3 3L22 4'/%3E%3Cpath d='M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 11l3 3L22 4'/%3E%3Cpath d='M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11'/%3E%3C/svg%3E");
}
.vto-value-ico--clear::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20M12 2a15 15 0 0 1 0 20M12 2a15 15 0 0 0 0 20'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20M12 2a15 15 0 0 1 0 20M12 2a15 15 0 0 0 0 20'/%3E%3C/svg%3E");
}
.vto-value-card:hover .vto-value-ico {
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff;
}
.vto-value-h3 {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 0 0 12px !important;
}
.vto-value-desc {
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: #4B5768 !important;
    margin: 0 !important;
}

/* Stats dark section */
.vto-stats-wrap {
    background: linear-gradient(135deg, #001a38 0%, #002b5e 100%);
    border-radius: 28px;
    padding: 60px 40px;
    position: relative;
    overflow: hidden;
}
.vto-stats-wrap::before {
    content: "";
    position: absolute;
    top: -50%;
    right: -10%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(4, 169, 39, 0.15), transparent 70%);
    pointer-events: none;
}
.vto-stats-head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 40px;
    position: relative;
}
.vto-stats-head h2 {
    color: #fff !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    margin: 0 0 12px !important;
    letter-spacing: -0.3px;
}
.vto-stats-head p {
    color: rgba(255, 255, 255, 0.75) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}
.vto-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    position: relative;
}
.vto-stat-item {
    text-align: center;
    padding: 24px 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    backdrop-filter: blur(10px);
    transition: transform 0.3s ease, background 0.3s ease;
}
.vto-stat-item:hover {
    transform: translateY(-4px);
    background: rgba(4, 169, 39, 0.08);
    border-color: rgba(4, 169, 39, 0.3);
}
.vto-stat-number {
    font-size: 44px;
    font-weight: 800;
    background: linear-gradient(90deg, #FFCE06, #04A927);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
    margin-bottom: 8px;
    letter-spacing: -1px;
}
.vto-stat-label {
    color: rgba(255, 255, 255, 0.75);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
}

/* Team grid */
.vto-team-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
}
.vto-team-card {
    display: block;
    text-align: center;
    text-decoration: none !important;
    color: #001a38 !important;
    padding: 32px 20px;
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 20px;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
    position: relative;
    overflow: hidden;
}
.vto-team-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #04A927, #FFCE06);
    opacity: 0;
    transition: opacity 0.3s ease;
}
.vto-team-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 60px rgba(0, 26, 56, 0.12);
    border-color: transparent;
}
.vto-team-card:hover::before {
    opacity: 1;
}
.vto-team-avatar {
    width: 140px;
    height: 140px;
    margin: 0 auto 20px;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    background: #F5F7FA;
    border: 4px solid #fff;
    box-shadow: 0 8px 24px rgba(0, 26, 56, 0.08);
    transition: transform 0.35s ease;
}
.vto-team-card:hover .vto-team-avatar {
    transform: scale(1.05);
}
.vto-team-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.vto-team-name {
    font-size: 19px;
    font-weight: 700;
    color: #001a38;
    margin: 0 0 6px;
    line-height: 1.3;
}
.vto-team-title {
    font-size: 13px;
    color: #6B7A8C;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    font-weight: 600;
    margin-bottom: 16px;
}
.vto-team-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #04A927;
    transition: gap 0.25s ease;
}
.vto-team-card:hover .vto-team-link {
    gap: 10px;
}
.vto-team-link::after {
    content: "→";
    font-size: 15px;
}

/* Partner CTA */
.vto-partner-wrap {
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 24px;
    padding: 60px 48px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.vto-partner-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 0%, rgba(4, 169, 39, 0.06), transparent 60%);
    pointer-events: none;
}
.vto-partner-wrap h2 {
    font-size: 34px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 0 0 14px !important;
    position: relative;
}
.vto-partner-wrap p {
    font-size: 16px !important;
    color: #4B5768 !important;
    line-height: 1.7 !important;
    margin: 0 auto 28px !important;
    max-width: 640px;
    position: relative;
}
.vto-partner-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff !important;
    border-radius: 12px;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none !important;
    box-shadow: 0 10px 30px rgba(4, 169, 39, 0.28);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    position: relative;
}
.vto-partner-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 36px rgba(4, 169, 39, 0.4);
}
.vto-partner-btn::after {
    content: "→";
}

/* Responsive about */
@media (max-width: 849px) {
    .vto-story-h2 { font-size: 28px !important; }
    .vto-stats-wrap { padding: 44px 24px; border-radius: 20px; }
    .vto-stats-head h2 { font-size: 28px !important; }
    .vto-stats-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .vto-stat-number { font-size: 36px; }
    .vto-team-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .vto-partner-wrap { padding: 44px 24px; }
    .vto-partner-wrap h2 { font-size: 26px !important; }
    .vto-value-card { padding: 28px 22px; }
}
@media (max-width: 549px) {.vto-team-avatar{ width: 110px; height: 110px; }.vto-team-grid{ gap: 16px; }.vto-team-name{ font-size: 17px; }
}

/* ================================================================= */
/* AUTHOR PAGE — /author/{slug}                                      */
/* ================================================================= */

.vto-author-page {
    background: #F8FAFD;
    margin: 0 !important;
    padding: 0 !important;
}
.vto-author-page .large-12.col,
.vto-author-page > .row {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

/* Author hero */
.vto-author-hero {
    background: linear-gradient(135deg, #001a38 0%, #003676 60%, #04A927 130%);
    padding: 80px 0 160px;
    position: relative;
    overflow: hidden;
}
.vto-author-hero::before {
    content: "";
    position: absolute;
    top: -20%;
    right: -10%;
    width: 700px;
    height: 700px;
    background: radial-gradient(circle, rgba(255, 206, 6, 0.1), transparent 60%);
    pointer-events: none;
}
.vto-author-hero-inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 30px;
    position: relative;
}
.vto-author-breadcrumb {
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
    margin-bottom: 28px;
}
.vto-author-breadcrumb a {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
}
.vto-author-breadcrumb a:hover {
    color: #FFCE06;
}
.vto-author-hero-grid {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 40px;
    align-items: center;
}
.vto-author-avatar-wrap {
    position: relative;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    padding: 5px;
    background: linear-gradient(135deg, #FFCE06, #04A927);
}
.vto-author-avatar-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    background: #fff;
    border: 4px solid #001a38;
    display: block;
}
.vto-author-head h1 {
    color: #fff !important;
    font-size: 42px !important;
    font-weight: 700 !important;
    margin: 0 0 10px !important;
    letter-spacing: -0.5px;
    line-height: 1.15 !important;
}
.vto-author-cv {
    display: inline-block;
    padding: 6px 16px;
    background: rgba(4, 169, 39, 0.18);
    color: #7CE094;
    font-size: 13px;
    font-weight: 600;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-bottom: 16px;
}
.vto-author-bio {
    color: rgba(255, 255, 255, 0.8);
    font-size: 16px;
    line-height: 1.7;
    max-width: 640px;
    margin: 0 0 22px;
}

/* Author contact row */
.vto-author-main {
    max-width: 1140px;
    margin: -100px auto 0;
    padding: 0 30px 80px;
    position: relative;
}

/* Author body grid */
.vto-author-body {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 28px;
    align-items: start;
}
.vto-author-section {
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 18px;
    padding: 32px 28px;
    box-shadow: 0 4px 20px rgba(0, 26, 56, 0.04);
}
.vto-author-section h3 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 0 0 22px !important;
    padding-bottom: 14px;
    border-bottom: 1px solid #E9EEF3;
    letter-spacing: -0.2px;
}
.vto-author-section p {
    font-size: 15px !important;
    line-height: 1.75 !important;
    color: #4B5768 !important;
    margin: 0 !important;
}

/* Author posts */
.vto-author-posts {
    margin-top: 44px;
}
.vto-author-posts-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 24px;
    flex-wrap: wrap;
    gap: 12px;
}
.vto-author-posts-head h2 {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 0 !important;
    letter-spacing: -0.3px;
}
.vto-author-posts-count {
    color: #6B7A8C;
    font-size: 14px;
}
.vto-author-posts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.vto-post-card {
    display: block;
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 16px;
    overflow: hidden;
    text-decoration: none !important;
    color: #001a38 !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.vto-post-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(0, 26, 56, 0.1);
}
.vto-post-thumb {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #F5F7FA;
}
.vto-post-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}
.vto-post-card:hover .vto-post-thumb img {
    transform: scale(1.06);
}
.vto-post-body {
    padding: 20px 22px;
}
.vto-post-cat {
    display: inline-block;
    align-self: flex-start;
    width: fit-content;
    max-width: fit-content;
    padding: 4px 10px;
    background: rgba(4, 169, 39, 0.1);
    color: #04A927;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 6px;
    margin-bottom: 10px;
}
.vto-post-title {
    font-size: 17px;
    font-weight: 700;
    color: #001a38;
    line-height: 1.4;
    margin: 0 0 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.vto-post-meta {
    font-size: 12px;
    color: #8593A4;
    display: flex;
    align-items: center;
    gap: 8px;
}
.vto-post-meta::before {
    content: "📅";
    font-style: normal;
    opacity: 0;
    width: 0;
}
.vto-author-pagination {
    margin-top: 32px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
}
.vto-author-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    margin: 0;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #E9EEF3;
    color: #001a38;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.2s ease;
}
.vto-author-pagination .page-numbers.dots {
    background: transparent;
    border-color: transparent;
}
@media (max-width: 549px) {.vto-author-pagination{ gap: 4px; }.vto-author-pagination .page-numbers{
        min-width: 34px;
        height: 34px;
        padding: 0 8px;
        font-size: 13px;
    }
}
.vto-author-pagination .page-numbers:hover,
.vto-author-pagination .page-numbers.current {
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff;
    border-color: transparent;
}

/* Responsive author */
@media (max-width: 849px) {
    .vto-author-hero { padding: 50px 0 130px; }
    .vto-author-hero-grid { grid-template-columns: 1fr; text-align: center; gap: 20px; }
    .vto-author-avatar-wrap { width: 140px; height: 140px; margin: 0 auto; }
    .vto-author-head h1 { font-size: 30px !important; }
    .vto-author-social { justify-content: center; }
    .vto-author-info-row { grid-template-columns: repeat(2, 1fr); }
    .vto-author-body { grid-template-columns: 1fr; }
    .vto-author-posts-grid { grid-template-columns: 1fr; }
    .vto-author-main { padding: 0 20px 60px; }
}
@media (max-width: 549px) {.vto-author-section{ padding: 24px 20px; }
}

/* ================================================================= */
/* 404 PAGE                                                          */
/* ================================================================= */
.vto-404-page {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    background: #F8FAFD;
}
.vto-404-page .large-12.col,
.vto-404-page > .row {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}
.vto-404-hero {
    background: linear-gradient(135deg, #001a38 0%, #002b5e 50%, #04A927 130%);
    padding: 40px 30px 70px;
    position: relative;
    overflow: hidden;
    text-align: center;
}
.vto-404-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 30%, rgba(255, 206, 6, 0.15), transparent 50%),
        radial-gradient(circle at 80% 70%, rgba(4, 169, 39, 0.2), transparent 50%);
    pointer-events: none;
}
.vto-404-hero-inner {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
}
.vto-404-number {
    font-size: 150px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -5px;
    background: linear-gradient(135deg, #FFCE06, #04A927);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 10px;
    text-shadow: 0 10px 60px rgba(4, 169, 39, 0.25);
}
.vto-404-title {
    color: #fff !important;
    font-size: 40px !important;
    font-weight: 700 !important;
    margin: 0 0 14px !important;
    letter-spacing: -0.5px;
    line-height: 1.2 !important;
}
.vto-404-sub {
    color: rgba(255, 255, 255, 0.75) !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
    max-width: 620px;
    margin: 0 auto !important;
}
.vto-404-main {
    max-width: 1140px;
    margin: -30px auto 0;
    padding: 0 30px 80px;
    position: relative;
}
.vto-404-search {
    background: #fff;
    border-radius: 12px;
    padding: 6px;
    box-shadow: 0 10px 32px rgba(0, 26, 56, 0.1);
    display: flex;
    align-items: center;
    gap: 6px;
    max-width: 520px;
    margin: 0 auto 40px;
    border: 1px solid #E9EEF3;
}
.vto-404-search input[type="search"],
.vto-404-search input[type="text"] {
    flex: 1;
    border: none !important;
    background: transparent !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    color: #001a38;
    outline: none !important;
    box-shadow: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
}
.vto-404-search button,
.vto-404-search input[type="submit"] {
    padding: 10px 20px !important;
    background: linear-gradient(135deg, #04A927, #06C22E) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 4px 14px rgba(4, 169, 39, 0.25) !important;
    text-transform: none !important;
    min-height: 0 !important;
    height: auto !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
    align-self: center !important;
    flex-shrink: 0 !important;
}
.vto-404-search button:hover,
.vto-404-search input[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(4, 169, 39, 0.35) !important;
}
.vto-404-actions {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 40px;
}
.vto-404-action {
    display: block;
    padding: 26px 22px;
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 16px;
    text-decoration: none !important;
    color: #001a38 !important;
    text-align: left;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    box-shadow: 0 4px 14px rgba(0, 26, 56, 0.04);
}
.vto-404-action:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(0, 26, 56, 0.1);
    border-color: rgba(4, 169, 39, 0.3);
}
.vto-404-action-ico {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(4, 169, 39, 0.1);
    color: #04A927;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    transition: background 0.25s ease, color 0.25s ease;
}
.vto-404-action:hover .vto-404-action-ico {
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff;
}
.vto-404-action-ico::before {
    content: "";
    width: 22px;
    height: 22px;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}
.vto-404-action-ico--home::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E");
}
.vto-404-action-ico--loan::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cline x1='2' y1='10' x2='22' y2='10'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cline x1='2' y1='10' x2='22' y2='10'/%3E%3C/svg%3E");
}
.vto-404-action-ico--blog::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/%3E%3C/svg%3E");
}
.vto-404-action-ico--contact::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}
.vto-404-action-title {
    font-size: 16px;
    font-weight: 700;
    color: #001a38;
    margin: 0 0 4px;
    line-height: 1.3;
}
.vto-404-action-desc {
    font-size: 13px;
    color: #6B7A8C;
    line-height: 1.5;
    margin: 0;
}
.vto-404-popular {
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 20px;
    padding: 32px 28px;
    box-shadow: 0 4px 20px rgba(0, 26, 56, 0.04);
}
.vto-404-popular-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 20px;
}
.vto-404-popular-head h3 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 0 !important;
}
.vto-404-popular-link {
    font-size: 13px;
    color: #04A927;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
}
.vto-404-popular-link:hover { text-decoration: underline; }
.vto-404-popular-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 28px;
}
.vto-404-popular-list li {
    border-bottom: 1px dashed #E9EEF3;
    padding-bottom: 12px;
    margin: 0 !important;
}
.vto-404-popular-list a {
    color: #001a38 !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    text-decoration: none;
    display: flex;
    gap: 10px;
    align-items: flex-start;
    transition: color 0.2s ease;
}
.vto-404-popular-list a::before {
    content: "→";
    color: #04A927;
    flex-shrink: 0;
    font-weight: 700;
}
.vto-404-popular-list a:hover {
    color: #04A927 !important;
}

/* Responsive 404 */
@media (max-width: 849px) {
    .vto-404-hero { padding: 44px 24px 76px; }
    .vto-404-number { font-size: 110px; letter-spacing: -3px; }
    .vto-404-title { font-size: 28px !important; }
    .vto-404-sub { font-size: 15px !important; }
    .vto-404-actions { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .vto-404-main { padding: 0 20px 60px; }
    .vto-404-popular-list { grid-template-columns: 1fr; }
}
@media (max-width: 549px) {.vto-404-number{ font-size: 88px; letter-spacing: -2px; }.vto-404-title{ font-size: 22px !important; }.vto-404-actions{ grid-template-columns: 1fr; }.vto-404-search{ flex-direction: column; padding: 12px; }.vto-404-search button, .vto-404-search input[type="submit"]{ width: 100%; }
}

/* ================================================================= */
/* SEARCH PAGE                                                       */
/* ================================================================= */
.vto-search-page {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    background: #F8FAFD;
    min-height: 60vh;
}
.vto-search-page .large-12.col,
.vto-search-page > .row {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}
.vto-search-hero {
    background: linear-gradient(135deg, #001a38 0%, #002b5e 100%);
    padding: 70px 30px 90px;
    position: relative;
    overflow: hidden;
}
.vto-search-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 100%, rgba(4, 169, 39, 0.18), transparent 60%);
    pointer-events: none;
}
.vto-search-hero-inner {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    text-align: center;
}
.vto-search-tag {
    display: inline-block;
    padding: 6px 14px;
    background: rgba(4, 169, 39, 0.18);
    color: #7CE094;
    font-size: 12px;
    font-weight: 700;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 16px;
}
.vto-search-title {
    color: #fff !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    margin: 0 0 24px !important;
    line-height: 1.25 !important;
    letter-spacing: -0.3px;
}
.vto-search-title em {
    font-style: normal;
    color: #FFCE06;
    font-weight: 800;
}
.vto-search-form {
    background: #fff;
    border-radius: 12px;
    padding: 6px;
    display: flex;
    align-items: center;
    gap: 6px;
    max-width: 520px;
    margin: 0 auto;
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.25);
}
.vto-search-form input[type="search"],
.vto-search-form input[type="text"] {
    flex: 1;
    border: none !important;
    background: transparent !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    color: #001a38 !important;
    outline: none !important;
    box-shadow: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
}
.vto-search-form input[type="search"]::placeholder,
.vto-search-form input[type="text"]::placeholder {
    color: #8593A4;
}
.vto-search-form button,
.vto-search-form input[type="submit"] {
    padding: 10px 20px !important;
    background: linear-gradient(135deg, #04A927, #06C22E) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    cursor: pointer;
    text-transform: none !important;
    letter-spacing: 0.3px !important;
    min-height: 0 !important;
    height: auto !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
    align-self: center !important;
    flex-shrink: 0 !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.vto-search-form button:hover,
.vto-search-form input[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(4, 169, 39, 0.35) !important;
}
.vto-search-results {
    max-width: 1140px;
    margin: 0 auto;
    padding: 50px 30px 80px;
}
.vto-search-meta {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 28px;
    flex-wrap: wrap;
    gap: 10px;
}
.vto-search-meta h2 {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 0 !important;
}
.vto-search-count {
    color: #6B7A8C;
    font-size: 14px;
    font-weight: 500;
}
.vto-search-count strong {
    color: #04A927;
    font-weight: 700;
}
.vto-search-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

/* Search sections (split CPT vs Blog) */
.vto-search-section {
    margin-bottom: 48px;
}
.vto-search-section:last-child {
    margin-bottom: 0;
}
.vto-search-section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid #E9EEF3;
}
.vto-search-section-head h3 {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 0 !important;
    letter-spacing: -0.2px;
    position: relative;
    padding-left: 16px;
}
.vto-search-section-head h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 5px;
    height: 22px;
    background: linear-gradient(180deg, #04A927, #06C22E);
    border-radius: 3px;
}
.vto-search-section-count {
    color: #6B7A8C;
    font-size: 13px;
    font-weight: 500;
}

/* Responsive search */
@media (max-width: 849px) {
    .vto-search-hero { padding: 50px 20px 70px; }
    .vto-search-title { font-size: 26px !important; }
    .vto-search-grid { grid-template-columns: 1fr; gap: 18px; }
    .vto-search-results { padding: 34px 20px 60px; }
    .vto-search-section-head h3 { font-size: 18px !important; }
}

/* ================================================================= */
/* BLOG PAGE — /kien-thuc/                                           */
/* ================================================================= */
.vto-blog-page {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    background: #F8FAFD;
}
.vto-blog-page .large-12.col,
.vto-blog-page > .row {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

.vto-blog-hero {
    background: linear-gradient(135deg, #001a38 0%, #002b5e 50%, #04A927 130%);
    padding: 60px 30px 90px;
    position: relative;
    overflow: hidden;
    text-align: center;
}
.vto-blog-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 30% 100%, rgba(4, 169, 39, 0.2), transparent 55%),
                radial-gradient(circle at 80% 20%, rgba(255, 206, 6, 0.1), transparent 50%);
    pointer-events: none;
}
.vto-blog-hero-inner {
    max-width: 780px;
    margin: 0 auto;
    position: relative;
}
.vto-blog-title {
    color: #fff !important;
    font-size: 40px !important;
    font-weight: 700 !important;
    margin: 0 0 14px !important;
    letter-spacing: -0.5px;
    line-height: 1.2 !important;
}
.vto-blog-sub {
    color: rgba(255, 255, 255, 0.78) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    max-width: 640px;
    margin: 0 auto 28px !important;
}

.vto-blog-main {
    max-width: 1140px;
    margin: -40px auto 0;
    padding: 0 30px 80px;
    position: relative;
}

/* Category pills */
.vto-blog-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 14px;
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 16px;
    box-shadow: 0 8px 28px rgba(0, 26, 56, 0.06);
    margin-bottom: 40px;
}
.vto-blog-cat {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 999px;
    background: #F5F7FA;
    color: #001a38 !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.2s ease, color 0.2s ease;
    white-space: nowrap;
}
.vto-blog-cat:hover {
    background: rgba(4, 169, 39, 0.1);
    color: #04A927 !important;
}
.vto-blog-cat--active {
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(4, 169, 39, 0.28);
}
.vto-blog-cat--active:hover {
    background: linear-gradient(135deg, #03921F, #05B028);
    color: #fff !important;
}
.vto-blog-cat span {
    background: rgba(0, 0, 0, 0.06);
    padding: 1px 7px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}
.vto-blog-cat--active span {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

/* Featured post hero */
.vto-blog-feature {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 20px;
    overflow: hidden;
    text-decoration: none !important;
    color: #001a38 !important;
    margin-bottom: 40px;
    box-shadow: 0 8px 32px rgba(0, 26, 56, 0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.vto-blog-feature:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 56px rgba(0, 26, 56, 0.12);
}
.vto-blog-feature-thumb {
    overflow: hidden;
    background: #F5F7FA;
}
.vto-blog-feature-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.vto-blog-feature:hover .vto-blog-feature-thumb img {
    transform: scale(1.05);
}
.vto-blog-feature-body {
    padding: 40px 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
}
.vto-blog-feature-tag {
    display: inline-block;
    padding: 6px 14px;
    background: linear-gradient(135deg, #FFCE06, #FFA000);
    color: #001a38;
    font-size: 11px;
    font-weight: 800;
    border-radius: 999px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    width: fit-content;
    box-shadow: 0 3px 10px rgba(255, 160, 0, 0.3);
}
.vto-blog-feature-body .vto-post-cat {
    margin: 4px 0 0;
}
.vto-blog-feature-title {
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 4px 0 8px !important;
    line-height: 1.3 !important;
    letter-spacing: -0.3px;
}
.vto-blog-feature:hover .vto-blog-feature-title {
    color: #04A927 !important;
}
.vto-blog-feature-excerpt {
    color: #4B5768 !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}
.vto-blog-feature-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #8593A4;
    margin-top: 6px;
}

/* Blog grid */
.vto-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 36px;
}

/* Responsive blog */
@media (max-width: 849px) {
    .vto-blog-hero { padding: 44px 20px 70px; }
    .vto-blog-title { font-size: 28px !important; }
    .vto-blog-sub { font-size: 15px !important; }
    .vto-blog-main { padding: 0 20px 60px; }
    .vto-blog-feature { grid-template-columns: 1fr; }
    .vto-blog-feature-thumb { aspect-ratio: 16 / 9; }
    .vto-blog-feature-body { padding: 26px 22px; }
    .vto-blog-feature-title { font-size: 22px !important; }
    .vto-blog-grid { grid-template-columns: 1fr; gap: 18px; }
    .vto-blog-cats { padding: 10px; gap: 6px; }
    .vto-blog-cat { padding: 7px 12px; font-size: 12px; }
}

/* ================================================================= */
/* SINGLE POST — /[slug]/                                            */
/* ================================================================= */
.vto-single-page {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    background: #F8FAFD;
}
.vto-single-page .large-12.col,
.vto-single-page > .row {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

.vto-single-hero {
    background: linear-gradient(135deg, #001a38 0%, #002b5e 60%, #04A927 140%);
    padding: 60px 30px 120px;
    position: relative;
    overflow: hidden;
}
.vto-single-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 80% 20%, rgba(4, 169, 39, 0.18), transparent 55%),
        radial-gradient(circle at 20% 80%, rgba(255, 206, 6, 0.08), transparent 50%);
    pointer-events: none;
}
.vto-single-hero-inner {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    text-align: center;
}
.vto-single-breadcrumb {
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
    margin-bottom: 22px;
}
.vto-single-breadcrumb a {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
}
.vto-single-breadcrumb a:hover { color: #FFCE06; }
.vto-single-cat {
    display: inline-block;
    padding: 6px 14px;
    background: rgba(4, 169, 39, 0.2);
    color: #7CE094;
    font-size: 12px;
    font-weight: 700;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-bottom: 18px;
    text-decoration: none !important;
    transition: background 0.2s ease;
}
.vto-single-cat:hover {
    background: rgba(4, 169, 39, 0.35);
    color: #fff;
}
.vto-single-title {
    color: #fff !important;
    font-size: 40px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.5px;
    margin: 0 0 28px !important;
    max-width: 860px;
    margin-left: auto !important;
    margin-right: auto !important;
}
.vto-single-meta {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: center;
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
}
.vto-single-author {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff !important;
    text-decoration: none !important;
}
.vto-single-author img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.25);
    object-fit: cover;
}
.vto-single-author span {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
    text-align: left;
}
.vto-single-author strong {
    color: #fff;
    font-weight: 600;
    font-size: 14px;
}
.vto-single-author em {
    color: rgba(255, 255, 255, 0.65);
    font-size: 12px;
    font-style: normal;
}
.vto-single-dot {
    width: 4px;
    height: 4px;
    background: rgba(255, 255, 255, 0.4);
    border-radius: 50%;
}
.vto-single-read::before {
    content: "⏱";
    margin-right: 4px;
    opacity: 0.7;
}

.vto-single-main {
    max-width: 860px;
    margin: -80px auto 0;
    padding: 0 20px 80px;
    position: relative;
}

.vto-single-cover {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 26, 56, 0.15);
    margin-bottom: 40px;
    line-height: 0;
}
.vto-single-cover img {
    width: 100%;
    height: auto;
    display: block;
}

.vto-single-article {
    background: #fff;
    border-radius: 20px;
    padding: 40px 48px 32px;
    box-shadow: 0 4px 24px rgba(0, 26, 56, 0.05);
    border: 1px solid #E9EEF3;
}

/* Share bar */
.vto-single-share {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 20px;
    margin-bottom: 28px;
    border-bottom: 1px solid #E9EEF3;
    flex-wrap: wrap;
}
.vto-single-share > span {
    font-size: 13px;
    font-weight: 600;
    color: #6B7A8C;
    margin-right: 4px;
}
.vto-share-btn {
    width: 36px;
    height: 36px;
    padding: 0;
    margin: 0;
    border-radius: 10px;
    background: #F5F7FA;
    border: 1px solid #E9EEF3;
    color: #4B5768 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
    position: relative;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    font-family: inherit;
    appearance: none;
    -webkit-appearance: none;
    box-shadow: none;
    min-height: 0;
    vertical-align: middle;
    box-sizing: border-box;
}
.vto-share-btn:hover {
    transform: translateY(-2px);
    color: #fff !important;
}
.vto-share-btn.vto-share-fb:hover { background: #1877F2; border-color: #1877F2; }
.vto-share-btn.vto-share-tw:hover { background: #000; border-color: #000; }
.vto-share-btn.vto-share-in:hover { background: #0A66C2; border-color: #0A66C2; }
.vto-share-btn.vto-share-zl {
    color: #0068FF !important;
    font-weight: 900;
    line-height: 1;
}
.vto-share-btn.vto-share-zl:hover { background: #0068FF; border-color: #0068FF; color: #fff !important; }
.vto-share-btn::before {
    content: "";
    width: 16px;
    height: 16px;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}
.vto-share-btn.vto-share-zl::before { display: none; }
.vto-share-fb::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E");
}
.vto-share-tw::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");
}
.vto-share-in::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-4 0v7h-4v-7a6 6 0 0 1 6-6z'/%3E%3Crect x='2' y='9' width='4' height='12'/%3E%3Ccircle cx='4' cy='4' r='2'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-4 0v7h-4v-7a6 6 0 0 1 6-6z'/%3E%3Crect x='2' y='9' width='4' height='12'/%3E%3Ccircle cx='4' cy='4' r='2'/%3E%3C/svg%3E");
}
.vto-share-copy::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E");
}
.vto-share-copy:hover { background: #04A927; border-color: #04A927; color: #fff !important; }
.vto-share-copy.copied::after {
    content: "Đã sao chép";
    position: absolute;
    top: -34px;
    left: 50%;
    transform: translateX(-50%);
    background: #04A927;
    color: #fff;
    font-size: 11px;
    padding: 5px 10px;
    border-radius: 6px;
    white-space: nowrap;
    font-weight: 600;
}

/* Article typography */
.vto-single-content {
    font-size: 16px;
    line-height: 1.8;
    color: #2E3A4B;
}
.vto-single-content > *:first-child { margin-top: 0 !important; }
.vto-single-content > *:last-child { margin-bottom: 0 !important; }
.vto-single-content p {
    margin: 0 0 20px;
}
.vto-single-content h2 {
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 40px 0 16px !important;
    padding-left: 16px;
    border-left: 5px solid #04A927;
    line-height: 1.3 !important;
    letter-spacing: -0.2px;
}
.vto-single-content h3 {
    font-size: 21px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 32px 0 14px !important;
    line-height: 1.35 !important;
}
.vto-single-content h4 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 26px 0 12px !important;
}
.vto-single-content a {
    color: #04A927;
    font-weight: 500;
    text-decoration: underline;
    text-decoration-color: rgba(4, 169, 39, 0.3);
    text-underline-offset: 3px;
    transition: text-decoration-color 0.2s ease;
}
.vto-single-content a:hover {
    text-decoration-color: #04A927;
}
.vto-single-content img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin: 24px 0;
    box-shadow: 0 8px 24px rgba(0, 26, 56, 0.08);
}
.vto-single-content blockquote {
    border-left: 4px solid #04A927;
    background: rgba(4, 169, 39, 0.05);
    margin: 28px 0;
    padding: 20px 26px;
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: #2E3A4B;
}
.vto-single-content blockquote p:last-child { margin-bottom: 0; }
.vto-single-content ul,
.vto-single-content ol {
    margin: 0 0 22px;
    padding-left: 22px;
}
.vto-single-content li {
    margin-bottom: 8px;
    line-height: 1.7;
}
.vto-single-content ul li::marker {
    color: #04A927;
}
.vto-single-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 26, 56, 0.06);
}
.vto-single-content table th {
    background: linear-gradient(135deg, #001a38, #002b5e);
    color: #fff;
    padding: 14px 16px;
    text-align: left;
    font-weight: 700;
    font-size: 14px;
}
.vto-single-content table td {
    padding: 12px 16px;
    border-bottom: 1px solid #E9EEF3;
    font-size: 14px;
}
.vto-single-content table tr:nth-child(even) td {
    background: #FAFBFD;
}
.vto-single-content table tr:last-child td {
    border-bottom: none;
}
.vto-single-content iframe {
    max-width: 100%;
    border-radius: 12px;
}

/* Tags */
.vto-single-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 36px;
    padding-top: 24px;
    border-top: 1px solid #E9EEF3;
}
.vto-single-tags-label {
    font-size: 13px;
    font-weight: 700;
    color: #6B7A8C;
    margin-right: 4px;
}
.vto-single-tags a {
    display: inline-block;
    padding: 5px 12px;
    background: #F5F7FA;
    color: #4B5768 !important;
    font-size: 12px;
    font-weight: 600;
    border-radius: 999px;
    text-decoration: none !important;
    transition: background 0.2s ease, color 0.2s ease;
}
.vto-single-tags a:hover {
    background: rgba(4, 169, 39, 0.1);
    color: #04A927 !important;
}

/* Author box */
.vto-single-author-box {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 24px;
    align-items: start;
    margin-top: 40px;
    padding: 28px;
    background: linear-gradient(135deg, #F8FAFD 0%, #fff 100%);
    border: 1px solid #E9EEF3;
    border-left: 4px solid #04A927;
    border-radius: 16px;
}
.vto-single-author-avatar img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #fff;
    box-shadow: 0 6px 18px rgba(0, 26, 56, 0.1);
}
.vto-single-author-head {
    display: flex;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}
.vto-single-author-head h3 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 0 !important;
}
.vto-single-author-head a { text-decoration: none !important; }
.vto-single-author-head a:hover h3 { color: #04A927 !important; }
.vto-single-author-cv {
    display: inline-block;
    padding: 3px 10px;
    background: rgba(4, 169, 39, 0.1);
    color: #04A927;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 999px;
}
.vto-single-author-body p {
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: #4B5768 !important;
    margin: 0 0 14px !important;
}
.vto-single-author-link {
    display: inline-block;
    color: #04A927 !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
}
.vto-single-author-link:hover { text-decoration: underline; }

/* Related */
.vto-single-related {
    margin-top: 56px;
}
.vto-single-related-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
    padding-bottom: 14px;
    border-bottom: 1px solid #E9EEF3;
}
.vto-single-related-head h2 {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 0 !important;
    padding-left: 16px;
    position: relative;
    letter-spacing: -0.2px;
    flex: 1 1 auto;
    min-width: 0;
    width: auto !important;
}
.vto-single-related-head h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 5px;
    height: 22px;
    background: linear-gradient(180deg, #04A927, #06C22E);
    border-radius: 3px;
}
.vto-single-related-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 18px;
    background: rgba(4, 169, 39, 0.08);
    color: #04A927 !important;
    font-size: 13px;
    font-weight: 700;
    border-radius: 999px;
    white-space: nowrap;
    text-decoration: none !important;
    border: 1px solid rgba(4, 169, 39, 0.15);
    transition: background 0.25s ease, color 0.25s ease, gap 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease, transform 0.2s ease;
    flex-shrink: 0;
}
.vto-single-related-link::after {
    content: "→";
    font-size: 15px;
    font-weight: 600;
    transition: transform 0.25s ease;
}
.vto-single-related-link:hover {
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff !important;
    border-color: transparent;
    box-shadow: 0 8px 22px rgba(4, 169, 39, 0.3);
    gap: 12px;
    transform: translateY(-1px);
}
.vto-single-related-link:hover::after {
    transform: translateX(2px);
}
.vto-single-related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* Responsive single */
@media (max-width: 849px) {
    .vto-single-hero { padding: 44px 20px 100px; }
    .vto-single-title { font-size: 26px !important; }
    .vto-single-main { padding: 0 16px 60px; margin-top: -70px; }
    .vto-single-article { padding: 28px 22px 24px; border-radius: 16px; }
    .vto-single-content h2 { font-size: 21px !important; }
    .vto-single-content h3 { font-size: 18px !important; }
    .vto-single-author-box { grid-template-columns: 1fr; text-align: center; }
    .vto-single-author-avatar { display: flex; justify-content: center; }
    .vto-single-author-head { justify-content: center; }
    .vto-single-author-social, .vto-author-social { justify-content: center; }
    .vto-single-related-grid { grid-template-columns: 1fr; }
}
@media (max-width: 549px) {.vto-single-meta{ font-size: 12px; gap: 8px; }.vto-single-author img{ width: 34px; height: 34px; }
}

/* ================================================================= */
/* CPT ARCHIVE — /vay-tien-nhanh/                                    */
/* ================================================================= */
.vto-cpt-archive {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    background: #F8FAFD;
}
.vto-cpt-archive .large-12.col,
.vto-cpt-archive > .row {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

/* Hero */
.vto-cpt-hero {
    background: linear-gradient(135deg, #001a38 0%, #002b5e 55%, #04A927 140%);
    padding: 54px 30px 80px;
    position: relative;
    overflow: hidden;
    text-align: center;
}
.vto-cpt-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 80%, rgba(4, 169, 39, 0.2), transparent 55%),
        radial-gradient(circle at 80% 20%, rgba(255, 206, 6, 0.1), transparent 55%);
    pointer-events: none;
}
.vto-cpt-hero-inner {
    max-width: 920px;
    margin: 0 auto;
    position: relative;
}
.vto-cpt-hero .vto-single-breadcrumb {
    margin-bottom: 18px;
    text-align: center;
}
.vto-cpt-hero .vto-hero-badge {
    margin-bottom: 18px;
}
.vto-cpt-title {
    color: #fff !important;
    font-size: 46px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.5px;
    margin: 0 0 16px !important;
}
.vto-cpt-title span {
    background: linear-gradient(90deg, #FFCE06, #04A927);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.vto-cpt-sub {
    color: rgba(255, 255, 255, 0.78) !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
    max-width: 720px;
    margin: 0 auto 32px !important;
}
.vto-cpt-stats {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.vto-cpt-stats li {
    margin: 0 !important;
    padding: 16px 14px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 14px;
    text-align: center;
    backdrop-filter: blur(8px);
}
.vto-cpt-stats strong {
    display: block;
    background: linear-gradient(90deg, #FFCE06, #04A927);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 6px;
}
.vto-cpt-stats span {
    color: rgba(255, 255, 255, 0.75);
    font-size: 12px;
    font-weight: 500;
}

/* Main */
.vto-cpt-main {
    max-width: 1140px;
    margin: -40px auto 0;
    padding: 0 30px 80px;
    position: relative;
}

/* Intro */
.vto-cpt-intro {
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 18px;
    padding: 32px 36px;
    box-shadow: 0 8px 32px rgba(0, 26, 56, 0.05);
    margin-bottom: 44px;
}
.vto-cpt-intro h2 {
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 0 0 14px !important;
    letter-spacing: -0.3px;
    padding-left: 16px;
    position: relative;
}
.vto-cpt-intro h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 5px;
    height: 24px;
    background: linear-gradient(180deg, #04A927, #06C22E);
    border-radius: 3px;
}
.vto-cpt-intro p {
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: #4B5768 !important;
    margin: 0 0 12px !important;
}
.vto-cpt-intro p:last-child { margin-bottom: 0 !important; }
.vto-cpt-intro strong { color: #001a38; }

/* Section heads */
.vto-cpt-section-head {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 32px;
}
.vto-cpt-section-head .vto-story-tag {
    margin-bottom: 12px;
}
.vto-cpt-section-head h2 {
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 0 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.3px;
}
.vto-cpt-section-head h2 span { color: #04A927; }

/* Loans section */
.vto-cpt-loans {
    margin-bottom: 56px;
}
.vto-cpt-loans-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid #E9EEF3;
}
.vto-cpt-loans-head h2 {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 0 !important;
    padding-left: 16px;
    position: relative;
    letter-spacing: -0.2px;
    flex: 1 1 auto;
    min-width: 0;
    width: auto !important;
}
.vto-cpt-loans-head h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 5px;
    height: 22px;
    background: linear-gradient(180deg, #04A927, #06C22E);
    border-radius: 3px;
}
.vto-cpt-loans-count {
    color: #6B7A8C;
    font-size: 13px;
    font-weight: 500;
    flex-shrink: 0;
}
.vto-cpt-loans-count strong { color: #04A927; }

/* Benefits */
.vto-cpt-benefits {
    padding: 60px 0;
}
.vto-cpt-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.vto-cpt-ico--shield::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
}
.vto-cpt-ico--lock::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
}

/* How-to steps */
.vto-cpt-howto {
    padding: 60px 0;
}
.vto-cpt-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    counter-reset: vto-step;
    position: relative;
}
.vto-cpt-step {
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 18px;
    padding: 32px 28px;
    position: relative;
    box-shadow: 0 4px 20px rgba(0, 26, 56, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.vto-cpt-step h3 { margin-top: 0 !important; }
.vto-cpt-step:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 44px rgba(0, 26, 56, 0.1);
}
.vto-cpt-step-num {
    display: inline-block;
    font-size: 48px;
    font-weight: 800;
    line-height: 1;
    background: linear-gradient(135deg, #04A927, #06C22E);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 14px;
    letter-spacing: -2px;
}
.vto-cpt-step h3 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 0 0 10px !important;
}
.vto-cpt-step p {
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: #4B5768 !important;
    margin: 0 !important;
}

/* FAQ accordion */
.vto-cpt-faq {
    padding: 60px 0;
}
.vto-cpt-faq-list {
    max-width: 880px;
    margin: 0 auto;
}
.vto-cpt-faq-item {
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 14px;
    margin-bottom: 12px;
    overflow: hidden;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.vto-cpt-faq-item[open] {
    border-color: rgba(4, 169, 39, 0.3);
    box-shadow: 0 8px 24px rgba(0, 26, 56, 0.06);
}
.vto-cpt-faq-item summary {
    padding: 20px 60px 20px 24px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 600;
    color: #001a38;
    position: relative;
    list-style: none;
    display: block;
    line-height: 1.5;
}
.vto-cpt-faq-item summary::-webkit-details-marker { display: none; }
.vto-cpt-faq-ico {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(4, 169, 39, 0.1);
    color: #04A927;
    transition: transform 0.3s ease, background 0.25s ease;
}
.vto-cpt-faq-ico::before,
.vto-cpt-faq-ico::after {
    content: "";
    position: absolute;
    background: currentColor;
    border-radius: 2px;
    top: 50%;
    left: 50%;
}
.vto-cpt-faq-ico::before {
    width: 12px;
    height: 2px;
    transform: translate(-50%, -50%);
}
.vto-cpt-faq-ico::after {
    width: 2px;
    height: 12px;
    transform: translate(-50%, -50%);
    transition: transform 0.25s ease;
}
.vto-cpt-faq-item[open] .vto-cpt-faq-ico {
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff;
}
.vto-cpt-faq-item[open] .vto-cpt-faq-ico::after {
    transform: translate(-50%, -50%) rotate(90deg);
}
.vto-cpt-faq-answer {
    padding: 0 24px 20px;
}
.vto-cpt-faq-answer p {
    font-size: 15px !important;
    line-height: 1.75 !important;
    color: #4B5768 !important;
    margin: 0 !important;
}

/* CTA */
.vto-cpt-cta {
    margin-top: 40px;
}
.vto-cpt-cta-inner {
    background: linear-gradient(135deg, #001a38 0%, #04A927 130%);
    border-radius: 24px;
    padding: 56px 40px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.vto-cpt-cta-inner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 30% 0%, rgba(255, 206, 6, 0.15), transparent 55%);
    pointer-events: none;
}
.vto-cpt-cta-inner h2 {
    color: #fff !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    margin: 0 0 12px !important;
    letter-spacing: -0.3px;
    position: relative;
}
.vto-cpt-cta-inner p {
    color: rgba(255, 255, 255, 0.82) !important;
    font-size: 16px !important;
    margin: 0 auto 28px !important;
    max-width: 560px;
    position: relative;
}
.vto-cpt-cta-actions {
    display: inline-flex;
    gap: 20px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
}
.vto-cpt-cta-btn {
    display: inline-flex;
    padding: 15px 34px;
    background: #fff;
    color: #04A927 !important;
    font-weight: 700;
    font-size: 15px;
    border-radius: 999px;
    text-decoration: none !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.vto-cpt-cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.3);
}
.vto-cpt-cta-call {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 14px;
    text-decoration: none !important;
}
.vto-cpt-cta-call strong { color: #FFCE06; font-weight: 700; }

/* Responsive CPT archive */
@media (max-width: 849px) {
    .vto-cpt-hero { padding: 40px 20px 70px; }
    .vto-cpt-step { padding: 22px 20px !important; }
    .vto-cpt-step-num { font-size: 38px; }
    .vto-cpt-step h3 { font-size: 17px !important; }
    .vto-cpt-title { font-size: 30px !important; }
    .vto-cpt-sub { font-size: 15px !important; }
    .vto-cpt-stats { grid-template-columns: repeat(2, 1fr); }
    .vto-cpt-stats strong { font-size: 24px; }
    .vto-cpt-main { padding: 0 18px 60px; }
    .vto-cpt-intro { padding: 24px 22px; }
    .vto-cpt-intro h2 { font-size: 22px !important; }
    .vto-cpt-section-head h2 { font-size: 24px !important; }
    .vto-cpt-benefits { padding: 40px 0; }
    .vto-cpt-benefits-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .vto-cpt-howto { padding: 40px 0; }
    .vto-cpt-steps { grid-template-columns: 1fr; gap: 16px; }
    .vto-cpt-faq { padding: 40px 0; }
    .vto-cpt-faq-item summary { padding: 16px 52px 16px 18px; font-size: 15px; }
    .vto-cpt-faq-answer { padding: 0 18px 16px; }
    .vto-cpt-cta-inner { padding: 40px 24px; }
    .vto-cpt-cta-inner h2 { font-size: 24px !important; }
    .vto-cpt-loans-head h2 { font-size: 18px !important; }
}
@media (max-width: 549px) {.vto-cpt-stats{ grid-template-columns: 1fr 1fr; gap: 10px; }.vto-cpt-benefits-grid{ grid-template-columns: 1fr; }.vto-cpt-cta-actions{ flex-direction: column; gap: 14px; }
}

/* ================================================================= */
/* SINGLE LOAN — /vay-tien-nhanh/{slug}
.vto-loan-page .large-12.col,
.vto-loan-page > .row {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}
.vto-loan-hero .vto-single-breadcrumb {
    margin-bottom: 24px;
}

/* Mobile sticky bar */
.vto-loan-mobile-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid #E9EEF3;
    box-shadow: 0 -8px 24px rgba(0, 26, 56, 0.1);
    padding: 10px 14px;
    z-index: 998;
    display: none;
}
.vto-loan-mobile-bar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    max-width: 600px;
    margin: 0 auto;
}
.vto-loan-mobile-bar-info {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
    overflow: hidden;
}
.vto-loan-mobile-bar-info > div:last-child {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}
.vto-loan-mobile-bar-logo {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    background: #F5F7FA;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.vto-loan-mobile-bar-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.vto-loan-mobile-bar-info strong {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #001a38;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.vto-loan-mobile-bar-info span {
    font-size: 11px;
    color: #6B7A8C;
}
.vto-loan-mobile-bar-btn {
    flex-shrink: 0;
    padding: 11px 22px;
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff !important;
    font-weight: 700;
    font-size: 14px;
    border-radius: 10px;
    text-decoration: none !important;
    box-shadow: 0 6px 16px rgba(4, 169, 39, 0.28);
}

/* Responsive single loan */
@media (max-width: 849px) {
    .vto-loan-hero { padding: 40px 18px 56px; }
    .vto-loan-hero-card { grid-template-columns: 1fr; text-align: center; padding: 22px 20px; gap: 20px; }
    .vto-loan-hero-logo { margin: 0 auto; max-width: 180px; height: 100px; }
    .vto-loan-hero-title { font-size: 24px !important; }
    .vto-loan-hero-specs { justify-content: center; gap: 20px; }
    .vto-loan-hero-specs strong { font-size: 17px; }
    .vto-loan-hero-cta { justify-content: center; }
    .vto-loan-main { padding: 0 16px 100px; }
    .vto-loan-grid { grid-template-columns: 1fr; gap: 20px; }
    .vto-loan-article { padding: 24px 22px; }
    .vto-loan-article h2 { font-size: 18px !important; }
    .vto-loan-sidebar-inner { position: static; }
    .vto-loan-highlight-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .vto-loan-highlight-value { font-size: 17px; }
    .vto-loan-trust { grid-template-columns: 1fr 1fr; gap: 18px; padding: 22px 20px; }
    .vto-loan-mobile-bar { display: block; }
    body.single-vay-tien-nhanh { padding-bottom: 76px; }
}
@media (max-width: 549px) {
}

/* ================================================================= */
/* WOW SINGLE LOAN — /vay-tien-nhanh/{slug}/                         */
/* ================================================================= */
.vto-wow-page {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    background: #F5F8FC;
    overflow: hidden;
}
.vto-wow-page .large-12.col,
.vto-wow-page > .row {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

/* ----- HERO ----- */
.vto-wow-hero {
    position: relative;
    background: linear-gradient(135deg, #05163B 0%, #0A2E6B 50%, #04A927 140%);
    padding: 54px 30px 80px;
    overflow: hidden;
    isolation: isolate;
}
.vto-wow-orbs {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: 0;
}
.vto-wow-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(70px);
    opacity: 0.55;
    animation: wowOrbFloat 12s ease-in-out infinite;
}
.vto-wow-orb--1 {
    width: 520px; height: 520px;
    top: -140px; left: -120px;
    background: radial-gradient(circle, rgba(4, 169, 39, 0.8), rgba(4, 169, 39, 0));
    animation-delay: 0s;
}
.vto-wow-orb--2 {
    width: 480px; height: 480px;
    top: -60px; right: -100px;
    background: radial-gradient(circle, rgba(255, 206, 6, 0.55), rgba(255, 206, 6, 0));
    animation-delay: -4s;
    animation-duration: 14s;
}
.vto-wow-orb--3 {
    width: 420px; height: 420px;
    bottom: -160px; left: 40%;
    background: radial-gradient(circle, rgba(6, 194, 200, 0.35), rgba(6, 194, 200, 0));
    animation-delay: -8s;
    animation-duration: 16s;
}
@keyframes wowOrbFloat {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33%      { transform: translate(40px, -30px) scale(1.05); }
    66%      { transform: translate(-30px, 40px) scale(0.95); }
}
.vto-wow-hero-inner {
    max-width: 1140px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}
.vto-wow-crumb {
    margin-bottom: 22px;
}
.vto-wow-hero-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 44px;
    align-items: center;
}
@keyframes wowShine {
    0%, 100% { box-shadow: 0 8px 24px rgba(255, 160, 0, 0.35); }
    50%      { box-shadow: 0 12px 32px rgba(255, 160, 0, 0.55); }
}
.vto-wow-hero-title {
    color: #fff !important;
    font-size: 48px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.8px;
    margin: 0 0 16px !important;
    background: linear-gradient(100deg, #fff 30%, #FFCE06 50%, #fff 70%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: wowShimmer 4s linear infinite;
}
@keyframes wowShimmer {
    to { background-position: 200% center; }
}
.vto-wow-hero-sub {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
    margin: 0 0 22px !important;
    max-width: 540px;
}
.vto-wow-hero-sub strong { color: #FFCE06; font-weight: 700; }
.vto-wow-hero-rating {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 8px 16px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 999px;
    margin-bottom: 26px;
    backdrop-filter: blur(6px);
}
.vto-wow-hero-rating strong {
    color: #fff;
    font-size: 16px;
    font-weight: 700;
}
.vto-wow-hero-rating span {
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
}
.vto-wow-stars {
    display: inline-block;
    position: relative;
    font-family: Arial, sans-serif;
    color: rgba(255, 255, 255, 0.15);
    letter-spacing: 2px;
    font-size: 16px;
    line-height: 1;
}
.vto-wow-stars::before {
    content: "★★★★★";
    position: absolute;
    left: 0;
    top: 0;
    width: calc(var(--rating) / 5 * 100%);
    overflow: hidden;
    color: #FFCE06;
}
.vto-wow-hero-cta {
    display: flex;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.vto-wow-btn-primary {
    display: inline-flex;
    align-items: center;
    padding: 16px 34px;
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff !important;
    font-weight: 800;
    font-size: 16px;
    border-radius: 14px;
    text-decoration: none !important;
    box-shadow: 0 14px 40px rgba(4, 169, 39, 0.5);
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.2s ease;
    position: relative;
    overflow: hidden;
    letter-spacing: 0.2px;
}
.vto-wow-btn-primary::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, transparent 40%, rgba(255, 255, 255, 0.3) 50%, transparent 60%);
    transform: translateX(-100%);
    transition: transform 0.6s ease;
}
.vto-wow-btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 50px rgba(4, 169, 39, 0.65);
    filter: brightness(1.06);
}
.vto-wow-btn-primary:hover::before { transform: translateX(100%); }
.vto-wow-btn-ghost {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    padding: 14px 20px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 14px;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.vto-wow-btn-ghost:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 206, 6, 0.4);
    color: #FFCE06 !important;
}
.vto-wow-hero-mini {
    color: rgba(255, 255, 255, 0.75);
    font-size: 13px;
    display: inline-flex;
    gap: 4px;
}
.vto-wow-hero-mini strong { color: #7CE094; font-weight: 700; }

/* Hero Right — Glassmorphism card */
.vto-wow-hero-right {
    position: relative;
}
.vto-wow-hero-card {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 24px;
    padding: 28px;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.3);
    position: relative;
    overflow: hidden;
}
.vto-wow-hero-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 206, 6, 0.08), transparent 50%);
    pointer-events: none;
}
.vto-wow-hero-logo {
    background: #fff;
    border-radius: 14px;
    padding: 16px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}
.vto-wow-hero-logo img {
    max-width: 80%;
    max-height: 100%;
    object-fit: contain;
}
.vto-wow-hero-big {
    text-align: center;
    padding: 18px 0 22px;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.15);
    margin-bottom: 18px;
}
.vto-wow-hero-big-label {
    display: block;
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 6px;
}
.vto-wow-hero-big-value {
    font-size: 42px;
    font-weight: 800;
    line-height: 1;
    background: linear-gradient(90deg, #FFCE06, #04E030);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: -1px;
}
.vto-wow-hero-big-value small {
    font-size: 22px;
    opacity: 0.8;
    margin-left: 2px;
}
.vto-wow-hero-specs {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.vto-wow-hero-specs li {
    margin: 0 !important;
    padding: 12px 10px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    text-align: center;
}
.vto-wow-hero-specs span {
    display: block;
    color: rgba(255, 255, 255, 0.6);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}
.vto-wow-hero-specs strong {
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    display: block;
    line-height: 1.2;
}

/* ----- MAIN ----- */
.vto-wow-main {
    max-width: 1140px;
    margin: 0 auto;
    padding: 70px 30px 80px;
    position: relative;
}
.vto-wow-main > section {
    margin-bottom: 80px;
}
.vto-wow-main > section:last-child {
    margin-bottom: 0;
}
.vto-wow-section-head {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 36px;
}
.vto-wow-section-head .vto-story-tag {
    margin-bottom: 12px;
}
.vto-wow-section-head h2 {
    font-size: 36px !important;
    font-weight: 800 !important;
    color: #001a38 !important;
    margin: 0 0 10px !important;
    letter-spacing: -0.4px;
    line-height: 1.2 !important;
}
.vto-wow-section-head h2 span {
    background: linear-gradient(90deg, #04A927, #06C22E);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.vto-wow-section-head p {
    color: #6B7A8C !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}
.vto-wow-section-head p strong { color: #001a38; }

/* ----- CALCULATOR ----- */
.vto-wow-calc-wrap {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 0;
    background: #fff;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(0, 26, 56, 0.1);
    border: 1px solid #E9EEF3;
}
.vto-wow-calc-controls {
    padding: 36px 36px 30px;
    display: flex;
    flex-direction: column;
    gap: 28px;
}
.vto-wow-calc-field {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.vto-wow-calc-label {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
}
.vto-wow-calc-label span {
    font-size: 13px;
    color: #6B7A8C;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.vto-wow-calc-label strong {
    font-size: 22px;
    color: #001a38;
    font-weight: 800;
    letter-spacing: -0.3px;
}
.vto-wow-range {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(to right, #04A927 0%, #06C22E var(--pct, 50%), #E9EEF3 var(--pct, 50%));
    outline: none;
    cursor: pointer;
    transition: background 0.15s linear;
}
.vto-wow-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #fff;
    border: 4px solid #04A927;
    cursor: grab;
    box-shadow: 0 4px 14px rgba(4, 169, 39, 0.35);
    transition: transform 0.15s ease;
}
.vto-wow-range::-webkit-slider-thumb:hover {
    transform: scale(1.15);
}
.vto-wow-range::-moz-range-thumb {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #fff;
    border: 4px solid #04A927;
    cursor: grab;
    box-shadow: 0 4px 14px rgba(4, 169, 39, 0.35);
}
.vto-wow-calc-range-minmax {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: #8593A4;
}
.vto-wow-calc-rate {
    padding: 12px 16px;
    background: rgba(4, 169, 39, 0.06);
    border: 1px dashed rgba(4, 169, 39, 0.3);
    border-radius: 10px;
    font-size: 13px;
    color: #4B5768;
    text-align: center;
}
.vto-wow-calc-rate strong { color: #04A927; }

.vto-wow-calc-result {
    background: linear-gradient(145deg, #001a38 0%, #04A927 150%);
    color: #fff;
    padding: 36px 32px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    position: relative;
    overflow: hidden;
}
.vto-wow-calc-result::before {
    content: "";
    position: absolute;
    top: -80px;
    right: -80px;
    width: 240px; height: 240px;
    background: radial-gradient(circle, rgba(255, 206, 6, 0.15), transparent 70%);
    pointer-events: none;
}
.vto-wow-calc-result-big {
    position: relative;
    padding-bottom: 16px;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.2);
}
.vto-wow-calc-result-big span {
    display: block;
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 6px;
}
.vto-wow-calc-monthly {
    display: block;
    font-size: 38px;
    font-weight: 800;
    line-height: 1;
    background: linear-gradient(90deg, #FFCE06, #04E030);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: -1px;
}
.vto-wow-calc-result-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative;
}
.vto-wow-calc-result-list li {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.9);
    font-size: 14px;
}
.vto-wow-calc-result-list strong { color: #fff; font-weight: 700; }
.vto-wow-calc-btn {
    display: block;
    padding: 14px 20px;
    background: #fff;
    color: #04A927 !important;
    font-weight: 800;
    text-align: center;
    border-radius: 12px;
    text-decoration: none !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
    transition: transform 0.2s ease;
    position: relative;
}
.vto-wow-calc-btn:hover { transform: translateY(-3px); }
.vto-wow-calc-note {
    font-size: 11px !important;
    color: rgba(255, 255, 255, 0.55) !important;
    margin: 0 !important;
    line-height: 1.5 !important;
    text-align: center;
    position: relative;
}

/* ----- TIMELINE STEPS ----- */
.vto-wow-timeline {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.vto-wow-timeline-line {
    position: absolute;
    top: 40px;
    left: 16%;
    right: 16%;
    height: 3px;
    background: linear-gradient(to right, rgba(4, 169, 39, 0.3) 0%, #04A927 50%, rgba(4, 169, 39, 0.3) 100%);
    z-index: 0;
}
.vto-wow-tstep {
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 18px;
    padding: 28px 24px;
    text-align: center;
    position: relative;
    z-index: 1;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.vto-wow-tstep:hover {
    transform: translateY(-6px);
    border-color: rgba(4, 169, 39, 0.4);
    box-shadow: 0 18px 44px rgba(0, 26, 56, 0.1);
}
.vto-wow-tstep-num {
    width: 72px;
    height: 72px;
    margin: 0 auto 18px;
    background: linear-gradient(135deg, #04A927, #06C22E);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 24px;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(4, 169, 39, 0.4);
    border: 4px solid #fff;
    position: relative;
}
.vto-wow-tstep-num::after {
    content: "";
    position: absolute;
    inset: -10px;
    border-radius: 50%;
    border: 2px dashed rgba(4, 169, 39, 0.35);
    animation: wowSpin 20s linear infinite;
}
@keyframes wowSpin {
    to { transform: rotate(360deg); }
}
.vto-wow-tstep h3 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 0 0 8px !important;
}
.vto-wow-tstep p {
    color: #4B5768 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}
.vto-wow-tstep p strong { color: #04A927; }

/* ----- COMPARE ----- */
.vto-wow-compare-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    align-items: stretch;
}
.vto-wow-compare-col {
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 20px;
    padding: 32px 26px;
    position: relative;
    transition: transform 0.3s ease;
}
.vto-wow-compare-col h3 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 0 0 20px !important;
    padding-bottom: 16px;
    border-bottom: 1px solid #E9EEF3;
    text-align: center;
}
.vto-wow-compare-col ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.vto-wow-compare-col li {
    padding: 10px 0 10px 32px;
    margin: 0 !important;
    font-size: 14px;
    color: #4B5768;
    position: relative;
    line-height: 1.6;
}
.vto-wow-compare-col li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 800;
}
.vto-wow-v::before {
    content: "✓";
    background: rgba(4, 169, 39, 0.12);
    color: #04A927;
}
.vto-wow-x::before {
    content: "✕";
    background: rgba(233, 55, 66, 0.12);
    color: #E93742;
}
.vto-wow-compare-col--featured {
    background: linear-gradient(160deg, #001a38 0%, #002b5e 100%);
    border: none;
    transform: scale(1.04);
    box-shadow: 0 24px 50px rgba(0, 26, 56, 0.25);
    position: relative;
}
.vto-wow-compare-col--featured::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 0%, rgba(4, 169, 39, 0.2), transparent 60%);
    border-radius: 20px;
    pointer-events: none;
}
.vto-wow-compare-col--featured h3 {
    color: #fff !important;
    border-bottom-color: rgba(255, 255, 255, 0.15);
    position: relative;
}
.vto-wow-compare-col--featured li {
    color: rgba(255, 255, 255, 0.88);
    position: relative;
}
.vto-wow-compare-col--featured .vto-wow-v::before {
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff;
    box-shadow: 0 4px 10px rgba(4, 169, 39, 0.4);
}
.vto-wow-compare-flag {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    padding: 6px 16px;
    background: linear-gradient(135deg, #FFCE06, #FFA000);
    color: #001a38;
    font-size: 11px;
    font-weight: 800;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
    box-shadow: 0 6px 18px rgba(255, 160, 0, 0.4);
    z-index: 2;
}

/* ----- DETAIL ACC ----- */
.vto-wow-acc {
    max-width: 880px;
    margin: 0 auto;
}
.vto-wow-acc-ico--clock::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
}
.vto-wow-body {
    max-width: 880px;
    margin: 32px auto 0;
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 16px;
    padding: 32px 36px;
}

/* Readmore */
.vto-wow-readmore {
    position: relative;
}
.vto-wow-readmore[data-collapsed="true"] .vto-wow-readmore-content {
    max-height: 320px;
    overflow: hidden;
    position: relative;
    -webkit-mask-image: linear-gradient(to bottom, #000 70%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 70%, transparent 100%);
}
.vto-wow-readmore[data-collapsed="false"] .vto-wow-readmore-content {
    max-height: none;
    -webkit-mask-image: none;
    mask-image: none;
}
.vto-wow-readmore-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 24px;
    background: #fff;
    color: #04A927 !important;
    border: 1.5px solid rgba(4, 169, 39, 0.35);
    border-radius: 999px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    font-family: inherit;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin: 16px auto 0;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, gap 0.25s ease;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}
.vto-wow-readmore-btn em {
    font-style: normal;
    font-size: 15px;
    font-weight: 700;
    transition: transform 0.25s ease;
}
.vto-wow-readmore-btn:hover {
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff !important;
    border-color: transparent;
    box-shadow: 0 10px 26px rgba(4, 169, 39, 0.3);
    gap: 12px;
}
.vto-wow-readmore-btn[hidden] { display: none; }

/* ----- REVIEWS ----- */
.vto-wow-reviews-top {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    padding: 16px 24px;
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 16px;
    margin-top: 10px;
    box-shadow: 0 6px 24px rgba(0, 26, 56, 0.06);
    text-align: left;
}
.vto-wow-reviews-score {
    font-size: 44px;
    font-weight: 800;
    background: linear-gradient(135deg, #04A927, #FFCE06);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
    letter-spacing: -1px;
}
.vto-wow-reviews-label {
    display: block;
    color: #6B7A8C;
    font-size: 13px;
    margin-top: 4px;
}
.vto-wow-reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 16px;
}
.vto-wow-review-card {
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 18px;
    padding: 26px 22px;
    box-shadow: 0 6px 24px rgba(0, 26, 56, 0.05);
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.vto-wow-review-card::before {
    content: '"';
    position: absolute;
    top: 8px;
    right: 18px;
    font-size: 80px;
    line-height: 1;
    color: rgba(4, 169, 39, 0.1);
    font-family: Georgia, serif;
    font-weight: 800;
}
.vto-wow-review-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 48px rgba(0, 26, 56, 0.12);
}
.vto-wow-review-card .vto-wow-stars {
    color: rgba(4, 169, 39, 0.12);
    margin-bottom: 14px;
    font-size: 18px;
}
.vto-wow-review-card .vto-wow-stars::before {
    color: #FFCE06;
}
.vto-wow-review-card p {
    color: #2E3A4B !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    margin: 0 0 18px !important;
    font-style: italic;
}
.vto-wow-review-foot {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px dashed #E9EEF3;
}
.vto-wow-review-ava {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.vto-wow-review-foot strong {
    display: block;
    font-size: 14px;
    color: #001a38;
    font-weight: 700;
}
.vto-wow-review-foot span {
    color: #8593A4;
    font-size: 12px;
}

/* ----- URGENCY CTA BANNER ----- */
.vto-wow-cta-banner {
    position: relative;
    background: linear-gradient(145deg, #001a38 0%, #001f46 40%, #04A927 140%);
    border-radius: 28px;
    padding: 70px 40px;
    text-align: center;
    overflow: hidden;
    isolation: isolate;
}
.vto-wow-cta-orbs {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}
.vto-wow-cta-orbs span {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    opacity: 0.5;
    animation: wowOrbFloat 14s ease-in-out infinite;
}
.vto-wow-cta-orbs span:nth-child(1) {
    width: 360px; height: 360px;
    top: -80px; left: -80px;
    background: radial-gradient(circle, rgba(255, 206, 6, 0.4), transparent);
}
.vto-wow-cta-orbs span:nth-child(2) {
    width: 320px; height: 320px;
    bottom: -100px; right: -60px;
    background: radial-gradient(circle, rgba(4, 169, 39, 0.5), transparent);
    animation-delay: -7s;
}
.vto-wow-cta-inner { position: relative; z-index: 1; }
.vto-wow-cta-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: rgba(255, 206, 6, 0.18);
    border: 1px solid rgba(255, 206, 6, 0.4);
    color: #FFCE06;
    font-size: 13px;
    font-weight: 600;
    border-radius: 999px;
    margin-bottom: 16px;
}
.vto-wow-cta-badge strong { color: #fff; font-weight: 800; }
.vto-wow-cta-banner h2 {
    color: #fff !important;
    font-size: 40px !important;
    font-weight: 800 !important;
    margin: 0 0 14px !important;
    letter-spacing: -0.4px;
    line-height: 1.2 !important;
}
.vto-wow-cta-banner h2 span {
    background: linear-gradient(90deg, #FFCE06, #04E030);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.vto-wow-cta-banner p {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 16px !important;
    margin: 0 auto 28px !important;
    max-width: 580px;
}
.vto-wow-cta-banner p strong { color: #FFCE06; }
.vto-wow-cta-actions {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 24px;
}
.vto-wow-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 18px 36px;
    background: #fff;
    color: #04A927 !important;
    font-weight: 800;
    font-size: 16px;
    border-radius: 14px;
    text-decoration: none !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
    transition: transform 0.25s ease, box-shadow 0.25s ease, gap 0.25s ease;
    animation: wowBtnPulse 2.4s ease-in-out infinite;
}
.vto-wow-cta-btn em { font-style: normal; font-size: 18px; transition: transform 0.25s ease; }
.vto-wow-cta-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 22px 52px rgba(0, 0, 0, 0.35);
    gap: 14px;
}
.vto-wow-cta-btn:hover em { transform: translateX(4px); }
@keyframes wowBtnPulse {
    0%, 100% { box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25), 0 0 0 0 rgba(255, 255, 255, 0.5); }
    50%      { box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25), 0 0 0 20px rgba(255, 255, 255, 0); }
}
.vto-wow-cta-call {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 14px;
    text-decoration: none !important;
}
.vto-wow-cta-call strong { color: #FFCE06; }
.vto-wow-cta-trust {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    font-weight: 600;
}
.vto-wow-cta-trust span {
    padding: 6px 12px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 999px;
}

/* ----- RESPONSIVE ----- */
@media (max-width: 1024px) {
    .vto-wow-hero-title { font-size: 38px !important; }
    .vto-wow-hero-big-value { font-size: 34px; }
    .vto-wow-compare-col--featured { transform: scale(1); }
}
@media (max-width: 849px) {.vto-wow-hero{ padding: 40px 18px 60px; }.vto-wow-hero-grid{ grid-template-columns: 1fr; gap: 28px; }.vto-wow-hero-title{ font-size: 30px !important; }.vto-wow-hero-sub{ font-size: 15px !important; }.vto-wow-hero-card{ padding: 22px; }.vto-wow-hero-big-value{ font-size: 34px; }.vto-wow-main{ padding: 48px 16px 60px; }.vto-wow-main > section{ margin-bottom: 56px; }.vto-wow-section-head h2{ font-size: 26px !important; }.vto-wow-calc-wrap{ grid-template-columns: 1fr; }.vto-wow-calc-controls{ padding: 26px 22px; gap: 22px; }.vto-wow-calc-result{ padding: 28px 22px; }.vto-wow-calc-monthly{ font-size: 30px; }.vto-wow-timeline{ grid-template-columns: 1fr; gap: 20px; }.vto-wow-timeline-line{ display: none; }.vto-wow-compare-grid{ grid-template-columns: 1fr; gap: 16px; }.vto-wow-reviews-grid{ grid-template-columns: 1fr; gap: 16px; }.vto-wow-cta-banner{ padding: 48px 24px; border-radius: 20px; }.vto-wow-cta-banner h2{ font-size: 28px !important; }.vto-wow-cta-btn{ padding: 15px 28px; font-size: 15px; }body.single-vay-tien-nhanh{ padding-bottom: 76px; }
}
@media (max-width: 549px) {.vto-wow-hero-specs{ grid-template-columns: 1fr 1fr 1fr; gap: 8px; }.vto-wow-hero-specs li{ padding: 10px 6px; }.vto-wow-hero-specs strong{ font-size: 12px; }.vto-wow-hero-cta{ flex-direction: column; align-items: stretch; }.vto-wow-btn-primary{ justify-content: center; }.vto-wow-btn-ghost{ text-align: center; }
}

/* ================================================================= */
/* POLICY PAGES — Bảo mật / Điều khoản / Cookie                      */
/* ================================================================= */
.vto-policy-page {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    background: #F5F8FC;
}
.vto-policy-page .large-12.col,
.vto-policy-page > .row {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

/* Hero */
.vto-policy-hero {
    background: linear-gradient(135deg, #05163B 0%, #0A2E6B 60%, #04A927 150%);
    padding: 54px 30px 70px;
    position: relative;
    overflow: hidden;
    text-align: center;
}
.vto-policy-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 100%, rgba(4, 169, 39, 0.2), transparent 55%),
        radial-gradient(circle at 80% 0%, rgba(255, 206, 6, 0.08), transparent 50%);
    pointer-events: none;
}
.vto-policy-hero-inner {
    max-width: 860px;
    margin: 0 auto;
    position: relative;
}
.vto-policy-crumb { margin-bottom: 24px; }
.vto-policy-hero-ico {
    width: 72px;
    height: 72px;
    margin: 0 auto 20px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFCE06;
    backdrop-filter: blur(10px);
}
.vto-policy-hero-ico::before {
    content: "";
    width: 32px;
    height: 32px;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}
.vto-policy-hero-ico--shield::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
}
.vto-policy-hero-ico--doc::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='9' y1='13' x2='15' y2='13'/%3E%3Cline x1='9' y1='17' x2='13' y2='17'/%3E%3Cline x1='9' y1='9' x2='10' y2='9'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='9' y1='13' x2='15' y2='13'/%3E%3Cline x1='9' y1='17' x2='13' y2='17'/%3E%3Cline x1='9' y1='9' x2='10' y2='9'/%3E%3C/svg%3E");
}
.vto-policy-hero-ico--cookie::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5z'/%3E%3Cpath d='M8.5 8.5v.01'/%3E%3Cpath d='M16 15.5v.01'/%3E%3Cpath d='M12 12v.01'/%3E%3Cpath d='M11 17v.01'/%3E%3Cpath d='M7 14v.01'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5z'/%3E%3Cpath d='M8.5 8.5v.01'/%3E%3Cpath d='M16 15.5v.01'/%3E%3Cpath d='M12 12v.01'/%3E%3Cpath d='M11 17v.01'/%3E%3Cpath d='M7 14v.01'/%3E%3C/svg%3E");
}
.vto-policy-hero-ico--contact::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}
.vto-policy-hero-title {
    color: #fff !important;
    font-size: 40px !important;
    font-weight: 800 !important;
    letter-spacing: -0.5px;
    margin: 0 0 14px !important;
    line-height: 1.2 !important;
}
.vto-policy-hero-meta {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 8px 18px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.85);
    font-size: 13px;
    backdrop-filter: blur(6px);
}
.vto-policy-hero-meta strong { color: #fff; }
.vto-policy-hero-dot {
    width: 4px;
    height: 4px;
    background: rgba(255, 255, 255, 0.4);
    border-radius: 50%;
}

/* Main */
.vto-policy-main {
    max-width: 1140px;
    margin: 0 auto;
    padding: 50px 30px 60px;
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 40px;
    align-items: start;
}

/* TOC sidebar */
.vto-policy-toc-inner {
    position: sticky;
    top: 90px;
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 16px;
    padding: 22px 20px;
    box-shadow: 0 6px 24px rgba(0, 26, 56, 0.05);
    max-height: calc(100vh - 110px);
    overflow-y: auto;
}
.vto-policy-toc-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px !important;
    font-weight: 800 !important;
    color: #6B7A8C !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 16px !important;
    padding-bottom: 12px;
    border-bottom: 1px solid #E9EEF3;
}
.vto-policy-toc-ico {
    width: 18px;
    height: 18px;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='8' y1='6' x2='21' y2='6'/%3E%3Cline x1='8' y1='12' x2='21' y2='12'/%3E%3Cline x1='8' y1='18' x2='21' y2='18'/%3E%3Cline x1='3' y1='6' x2='3.01' y2='6'/%3E%3Cline x1='3' y1='12' x2='3.01' y2='12'/%3E%3Cline x1='3' y1='18' x2='3.01' y2='18'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='8' y1='6' x2='21' y2='6'/%3E%3Cline x1='8' y1='12' x2='21' y2='12'/%3E%3Cline x1='8' y1='18' x2='21' y2='18'/%3E%3Cline x1='3' y1='6' x2='3.01' y2='6'/%3E%3Cline x1='3' y1='12' x2='3.01' y2='12'/%3E%3Cline x1='3' y1='18' x2='3.01' y2='18'/%3E%3C/svg%3E");
}
.vto-policy-toc-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    counter-reset: toc;
}
.vto-policy-toc-list li {
    margin: 0 !important;
    padding: 0;
    line-height: 1.4;
    position: relative;
}
.vto-policy-toc-list a {
    display: block;
    padding: 9px 12px 9px 14px;
    color: #4B5768 !important;
    font-size: 13px;
    font-weight: 500;
    border-radius: 8px;
    text-decoration: none !important;
    transition: background 0.2s ease, color 0.2s ease;
    border-left: 3px solid transparent;
    margin-left: -3px;
}
.vto-policy-toc-list a:hover {
    background: rgba(4, 169, 39, 0.06);
    color: #04A927 !important;
}
.vto-policy-toc-list a.active {
    background: rgba(4, 169, 39, 0.1);
    color: #04A927 !important;
    border-left-color: #04A927;
    font-weight: 600;
}
.vto-policy-toc-h3 { padding-left: 14px; }
.vto-policy-toc-h3 a { font-size: 12px; padding-top: 6px; padding-bottom: 6px; }
.vto-policy-toc-empty { color: #8593A4; font-size: 13px; margin: 0; }

/* Article */
.vto-policy-article {
    background: #fff;
    border: 1px solid #E9EEF3;
    border-radius: 20px;
    padding: 44px 52px;
    box-shadow: 0 8px 32px rgba(0, 26, 56, 0.05);
    font-size: 15.5px;
    line-height: 1.8;
    color: #2E3A4B;
}
.vto-policy-article h2 {
    margin-top: 42px !important;
}
.vto-policy-article > h2:first-child,
.vto-policy-article > *:first-child + h2 {
    margin-top: 0 !important;
}
.vto-policy-article h3 {
    margin-top: 28px !important;
}
.vto-policy-updated {
    margin-top: 40px;
    padding: 16px 20px;
    background: rgba(4, 169, 39, 0.06);
    border: 1px solid rgba(4, 169, 39, 0.2);
    border-radius: 12px;
    font-size: 13px;
    color: #4B5768;
    line-height: 1.7;
}
.vto-policy-updated strong { color: #04A927; }

/* Related cross-links */
.vto-policy-related {
    background: #fff;
    border-top: 1px solid #E9EEF3;
    padding: 50px 30px;
}
.vto-policy-related-inner {
    max-width: 1140px;
    margin: 0 auto;
}
.vto-policy-related-inner h2 {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 0 0 22px !important;
    padding-left: 16px;
    position: relative;
}
.vto-policy-related-inner h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 5px;
    height: 22px;
    background: linear-gradient(180deg, #04A927, #06C22E);
    border-radius: 3px;
}
.vto-policy-related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.vto-policy-related-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 22px;
    background: #F8FAFD;
    border: 1px solid #E9EEF3;
    border-radius: 14px;
    text-decoration: none !important;
    color: #001a38 !important;
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}
.vto-policy-related-card:hover {
    transform: translateY(-3px);
    background: #fff;
    border-color: rgba(4, 169, 39, 0.4);
    box-shadow: 0 14px 32px rgba(0, 26, 56, 0.08);
}
.vto-policy-related-card .vto-policy-hero-ico {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    margin: 0;
    background: rgba(4, 169, 39, 0.1);
    border: 1px solid rgba(4, 169, 39, 0.2);
    color: #04A927;
    border-radius: 12px;
    backdrop-filter: none;
}
.vto-policy-related-card .vto-policy-hero-ico::before {
    width: 22px;
    height: 22px;
}
.vto-policy-related-card strong {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #001a38;
    margin-bottom: 2px;
}
.vto-policy-related-card em {
    font-style: normal;
    font-size: 12px;
    color: #04A927;
    font-weight: 600;
}
.vto-policy-related-card--contact {
    background: linear-gradient(135deg, #001a38, #002b5e);
    border-color: transparent;
    color: #fff !important;
}
.vto-policy-related-card--contact strong { color: #fff; }
.vto-policy-related-card--contact em { color: #FFCE06; }
.vto-policy-related-card--contact:hover {
    background: linear-gradient(135deg, #002040, #003070);
}
.vto-policy-related-card--contact .vto-policy-hero-ico {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.18);
    color: #FFCE06;
}

/* Responsive */
@media (max-width: 849px) {
    .vto-policy-hero { padding: 40px 20px 54px; }
    .vto-policy-hero-title { font-size: 26px !important; }
    .vto-policy-hero-ico { width: 56px; height: 56px; }
    .vto-policy-hero-ico::before { width: 26px; height: 26px; }
    .vto-policy-hero-meta { padding: 6px 14px; font-size: 12px; gap: 10px; flex-wrap: wrap; justify-content: center; }
    .vto-policy-main { grid-template-columns: 1fr; gap: 20px; padding: 32px 18px 50px; }
    .vto-policy-toc-inner { position: static; max-height: none; }
    .vto-policy-article { padding: 28px 22px; font-size: 14.5px; }
    .vto-policy-related { padding: 40px 20px; }
    .vto-policy-related-grid { grid-template-columns: 1fr; gap: 12px; }
}
@media (max-width: 549px) {.vto-search-form{ flex-direction: column; padding: 10px; }.vto-search-form button, .vto-search-form input[type="submit"]{ width: 100%; }.vto-search-meta h2{ font-size: 18px !important; }
}

/* ================================================================ */
/* VTO FOOTER PREMIUM (2026-04-21)                                  */
/* Stack: navy (#001a38) + green (#04A927) + yellow (#FFCE06)       */
/* Prefix: .vto-ft-*                                                */
/* ================================================================ */

#footer.footer-wrapper {
    background: #001a38;
    color: #cbd5e1;
    position: relative;
    margin-top: 0;
}

#footer.footer-wrapper::before {
    content: '';
    display: block;
    height: 3px;
    background: linear-gradient(90deg, #04A927 0%, #FFCE06 50%, #04A927 100%);
    box-shadow: 0 1px 10px rgba(4, 169, 39, 0.35);
}

#footer.footer-wrapper .section.vto-ft-main {
    background:
        radial-gradient(ellipse 70% 50% at 15% 0%, rgba(4, 169, 39, 0.09) 0%, transparent 55%),
        radial-gradient(ellipse 60% 50% at 85% 100%, rgba(255, 206, 6, 0.06) 0%, transparent 55%),
        #001a38 !important;
    margin-bottom: 0 !important;
    padding-bottom: 32px !important;
}

#footer.footer-wrapper .section.vto-ft-legal {
    background: transparent !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 30px !important;
}
#footer.footer-wrapper .section.vto-ft-legal .row {
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

#footer .vto-ft-main .row { max-width: 1200px; margin: 0 auto; }

/* Heading */
#footer .vto-ft-heading {
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 0 0 22px;
    padding-bottom: 14px;
    position: relative;
    line-height: 1.4;
}
#footer .vto-ft-heading::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 36px;
    height: 2px;
    background: linear-gradient(90deg, #04A927, #FFCE06);
    border-radius: 2px;
}

/* Brand column */
#footer .vto-ft-brand { padding-right: 20px; }

#footer .vto-ft-logo {
    display: inline-block;
    margin-bottom: 20px;
    line-height: 0;
}
#footer .vto-ft-logo img {
    height: 48px;
    width: auto;
    max-width: 220px;
    filter: brightness(0) invert(1);
    transition: filter 0.3s;
}
#footer .vto-ft-logo:hover img {
    filter: brightness(0) invert(1) drop-shadow(0 0 12px rgba(255, 206, 6, 0.45));
}
#footer .vto-ft-tagline {
    color: #94a3b8;
    font-size: 14px;
    line-height: 1.75;
    margin: 0 0 28px;
    max-width: 360px;
    font-weight: 400;
}

/* Contact pills */
#footer .vto-ft-contact {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
#footer .vto-ft-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: #cbd5e1;
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
    padding: 0;
}
#footer .vto-ft-contact-item a {
    color: #cbd5e1;
    text-decoration: none;
    transition: color 0.2s;
    font-weight: 500;
}
#footer .vto-ft-contact-item a:hover { color: #FFCE06; }

#footer .vto-ft-ico {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(4, 169, 39, 0.12);
    border: 1px solid rgba(4, 169, 39, 0.25);
    border-radius: 10px;
    transition: all 0.25s;
    margin-top: 1px;
}
#footer .vto-ft-contact-item:hover .vto-ft-ico {
    background: rgba(4, 169, 39, 0.22);
    border-color: rgba(4, 169, 39, 0.55);
    transform: translateY(-2px);
}
#footer .vto-ft-ico::before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background-color: #04A927;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
#footer .vto-ft-ico-pin::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/><circle cx='12' cy='10' r='3'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/><circle cx='12' cy='10' r='3'/></svg>");
}
#footer .vto-ft-ico-phone::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/></svg>");
}
#footer .vto-ft-ico-mail::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/><polyline points='22,6 12,13 2,6'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/><polyline points='22,6 12,13 2,6'/></svg>");
}

/* Link columns */
#footer .vto-ft-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
#footer .vto-ft-links li { margin: 0; }
#footer .vto-ft-links a {
    color: #94a3b8;
    font-size: 14.5px;
    line-height: 1.5;
    text-decoration: none;
    position: relative;
    padding: 3px 0 3px 16px;
    transition: all 0.25s ease;
    display: inline-block;
    font-weight: 500;
}
#footer .vto-ft-links a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(4, 169, 39, 0.45);
    transition: all 0.25s ease;
}
#footer .vto-ft-links a:hover {
    color: #FFCE06;
    padding-left: 20px;
}
#footer .vto-ft-links a:hover::before {
    background: #FFCE06;
    width: 12px;
    height: 2.5px;
    border-radius: 2px;
    box-shadow: 0 0 10px rgba(255, 206, 6, 0.6);
}

/* Follow column */
#footer .vto-ft-follow-desc {
    color: #94a3b8;
    font-size: 14px;
    line-height: 1.7;
    margin: 0 0 22px;
}
#footer .vto-ft-social {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
#footer .vto-ft-social-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    color: #cbd5e1;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.25s ease;
    position: relative;
    overflow: hidden;
    margin: 0;
    line-height: 1.2;
}
#footer .vto-ft-social-btn i {
    font-size: 16px;
    line-height: 1;
    transition: transform 0.3s ease;
    flex: 0 0 16px;
    color: inherit;
    margin: 0;
}
#footer .vto-ft-social-btn em {
    font-style: normal;
    letter-spacing: 0.2px;
    white-space: nowrap;
}
#footer .vto-ft-social-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
    color: #fff;
}
#footer .vto-ft-social-btn:hover i { transform: scale(1.18); }

#footer .vto-ft-fb:hover { background: #1877f2; border-color: #1877f2; }
#footer .vto-ft-ig:hover { background: linear-gradient(135deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); border-color: transparent; }
#footer .vto-ft-tt:hover { background: #111; border-color: #111; }
#footer .vto-ft-yt:hover { background: #ff0000; border-color: #ff0000; }
#footer .vto-ft-in:hover { background: #0a66c2; border-color: #0a66c2; }
#footer .vto-ft-tw:hover { background: #1d9bf0; border-color: #1d9bf0; }

/* Legal disclaimer */
#footer .vto-ft-legal-text {
    font-size: 11.5px;
    color: #64748b;
    line-height: 1.75;
    margin: 0 auto;
    text-align: center;
    max-width: 1100px;
    font-weight: 400;
    font-style: normal;
}
#footer .vto-ft-legal-text strong {
    color: #94a3b8;
    font-weight: 600;
}

/* Copyright bar */
#footer .vto-ft-bottom {
    background: #000712;
    padding: 18px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}
#footer .vto-ft-bottom-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}
#footer .vto-ft-copy-text {
    color: #64748b;
    font-size: 13px;
    margin: 0;
    line-height: 1.6;
}
#footer .vto-ft-copy-text a {
    color: #cbd5e1;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s;
}
#footer .vto-ft-copy-text a:hover { color: #FFCE06; }

#footer .vto-ft-bottom-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 28px;
    align-items: center;
    border: none;
}
#footer .vto-ft-bottom-links li {
    margin: 0;
    position: relative;
    padding: 0;
    border: none;
}
#footer .vto-ft-bottom-links li + li::before {
    content: '';
    position: absolute;
    left: -15px;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
}
#footer .vto-ft-bottom-links a {
    color: #94a3b8;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s;
    padding: 0;
}
#footer .vto-ft-bottom-links a:hover { color: #FFCE06; }

/* Responsive */
@media (max-width: 849px) {
    #footer.footer-wrapper .section.vto-ft-main {
        padding-top: 50px !important;
        padding-bottom: 30px !important;
    }
    #footer .vto-ft-brand {
        padding-right: 0;
        margin-bottom: 12px;
    }
    #footer .vto-ft-nav .vto-ft-heading,
    #footer .vto-ft-follow .vto-ft-heading {
        margin-top: 28px;
    }
}
@media (max-width: 549px) {#footer.footer-wrapper .section.vto-ft-main{
        padding-top: 40px !important;
        padding-bottom: 24px !important;
    }#footer .vto-ft-heading{
        font-size: 13px;
        letter-spacing: 1.2px;
    }#footer .vto-ft-tagline{
        font-size: 13.5px;
        margin-bottom: 20px;
    }#footer .vto-ft-logo img{ height: 42px; }#footer .vto-ft-social{ grid-template-columns: 1fr; }#footer .vto-ft-bottom-inner{
        flex-direction: column;
        text-align: center;
        gap: 12px;
        padding: 0 16px;
    }#footer .vto-ft-bottom-links{
        flex-wrap: wrap;
        justify-content: center;
        gap: 18px;
    }#footer .vto-ft-bottom-links li + li::before{ left: -11px; }#footer .vto-ft-legal-text{
        font-size: 11px;
        text-align: left;
    }
}
/* =================== end VTO FOOTER PREMIUM =================== */

/* ========= Homepage transparent header: invert logo to white ========= */
/* Applies only when header is transparent (homepage hero) + not stuck.
   On scroll (.stuck) or other pages (no .has-transparent) → original colors. */
.header.has-transparent .header-wrapper:not(.stuck) .logo img {
    filter: brightness(0) invert(1);
    transition: filter 0.3s ease;
}
.header.has-transparent .header-wrapper.stuck .logo img {
    filter: none;
}

/* ========= Fix sticky header nav text color ========= */
/* When stuck, header-main flips to white bg but nav-dark keeps white text.
   Stack .header-main.nav-dark for specificity to beat the inherited nav-dark rule. */
.header-wrapper.stuck .header-main.nav-dark .nav > li > a {
    color: #001a38 !important;
}
.header-wrapper.stuck .header-main.nav-dark .nav > li.current-menu-item > a,
.header-wrapper.stuck .header-main.nav-dark .nav > li.current_page_item > a {
    color: #04A927 !important;
}
.header-wrapper.stuck .header-main.nav-dark .nav > li > a:hover,
.header-wrapper.stuck .header-main.nav-dark .nav > li.current-dropdown > a,
.header-wrapper.stuck .header-main.nav-dark .nav-dropdown > li > a:hover {
    color: #04A927 !important;
}
.header-wrapper.stuck .header-main.nav-dark .header-button .button {
    color: #fff !important;
}


/* ================================================================ */
/* VTO REG v2 (2026-04-21) — clean premium redesign                */
/* Keeps inputs, rewrites card shell + head + summary + stepper +  */
/* segmented radio + foot. Overrides earlier .vto-reg-* rules.     */
/* ================================================================ */

/* Section background */
.vto-reg-section {
    background:
        radial-gradient(ellipse 60% 40% at 50% 0%, rgba(4, 169, 39, 0.06) 0%, transparent 70%),
        #F5F7FB !important;
    min-height: auto;
    padding: 48px 20px !important;
}

/* Card shell — clean, not floaty */
.vto-reg-card {
    background: #ffffff;
    border: 1px solid #E5EAF2;
    border-radius: 16px;
    padding: 30px 32px 26px;
    box-shadow:
        0 1px 2px rgba(0, 26, 56, 0.04),
        0 8px 28px rgba(0, 26, 56, 0.06);
    max-width: 720px;
    margin: 0 auto !important;
    position: relative;
    overflow: hidden;
}
.vto-reg-card::before {
    height: 3px;
    background: linear-gradient(90deg, #04A927 0%, #FFCE06 100%);
}

/* Card head — compact, no heavy border */
.vto-reg-card-head {
    margin-bottom: 18px;
    padding-bottom: 0;
    border-bottom: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.vto-reg-card-head h1 {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #001a38 !important;
    margin: 0 !important;
    letter-spacing: -0.3px;
    line-height: 1.3 !important;
}
.vto-reg-card-head p {
    color: #6B7A8C !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    margin: 0 !important;
}
.vto-reg-card-head strong { color: #04A927; font-weight: 700; }

/* Summary bar — clean card, no dashed */
.vto-form-summary {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    padding: 12px 16px;
    background: rgba(4, 169, 39, 0.04);
    border: 1px solid rgba(4, 169, 39, 0.18);
    border-radius: 12px;
    margin-bottom: 20px;
}
.vto-form-summary-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1 1 auto;
    min-width: 110px;
    position: relative;
    padding-left: 28px;
}
.vto-form-summary-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background-color: #04A927;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
.vto-form-summary-item:nth-of-type(1)::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='6' width='20' height='12' rx='2'/><circle cx='12' cy='12' r='2'/><path d='M6 12h.01M18 12h.01'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='6' width='20' height='12' rx='2'/><circle cx='12' cy='12' r='2'/><path d='M6 12h.01M18 12h.01'/></svg>");
}
.vto-form-summary-item:nth-of-type(2)::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='5' y='2' width='14' height='20' rx='2'/><line x1='12' y1='18' x2='12' y2='18'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='5' y='2' width='14' height='20' rx='2'/><line x1='12' y1='18' x2='12' y2='18'/></svg>");
}
.vto-form-summary-item > span {
    font-size: 10.5px;
    color: #6B7A8C;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    font-weight: 700;
}
.vto-form-summary-item > strong {
    font-size: 15.5px;
    color: #001a38;
    font-weight: 800;
    letter-spacing: -0.2px;
    line-height: 1.2;
}
.vto-form-summary-edit {
    padding: 8px 14px;
    background: #fff;
    border: 1px solid rgba(4, 169, 39, 0.3);
    color: #04A927 !important;
    font-size: 12px;
    font-weight: 700;
    border-radius: 8px;
    text-decoration: none !important;
    transition: background 0.2s, color 0.2s, box-shadow 0.2s;
    flex-shrink: 0;
    line-height: 1.3;
}
.vto-form-summary-edit:hover {
    background: #04A927;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(4, 169, 39, 0.25);
}

/* Stepper — compact, no shine animation */
.vto-step-nav {
    margin-bottom: 22px;
    padding-bottom: 0;
    border-bottom: 0;
}
.vto-step-progress {
    height: 4px;
    background: #EDF1F6;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 14px;
    position: relative;
}
.vto-step-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, #04A927, #06C22E);
    background-size: auto;
    border-radius: 999px;
    transition: width 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: none;
    animation: none;
}
.vto-step-items {
    display: flex;
    justify-content: space-between;
    gap: 4px;
    position: relative;
}
.vto-step-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    flex: 1;
    text-align: center;
    position: relative;
}
.vto-step-item > span {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #fff;
    border: 1.5px solid #D6DCE4;
    color: #8593A4;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 11.5px;
    transition: all 0.3s ease;
    box-shadow: none;
    z-index: 1;
}
.vto-step-item > em {
    font-style: normal;
    font-size: 10.5px;
    font-weight: 600;
    color: #8593A4;
    transition: color 0.3s ease;
    letter-spacing: 0.1px;
}
.vto-step-item.current > span {
    background: #fff;
    border-color: #04A927;
    border-width: 2px;
    color: #04A927;
    box-shadow: 0 0 0 4px rgba(4, 169, 39, 0.12);
    transform: none;
}
.vto-step-item.current > em { color: #04A927; font-weight: 700; }
.vto-step-item.done > span {
    background: #04A927;
    border-color: #04A927;
    color: transparent;
    box-shadow: none;
    font-size: 0;
}
.vto-step-item.done > span::after {
    content: "";
    position: absolute;
    inset: 0;
    display: block;
    width: 10px;
    height: 6px;
    margin: auto;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg) translate(1px, -1px);
    background: transparent;
}
.vto-step-item.done > em { color: #04A927; }

/* Step content headings — subtle subtitle */
.vto-reg-card .step-form h2 {
    font-size: 11.5px !important;
    font-weight: 700 !important;
    color: #04A927 !important;
    margin: 0 0 14px !important;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    padding-left: 0;
    border-left: 0;
    line-height: 1.4 !important;
    position: relative;
    padding-bottom: 8px;
}
.vto-reg-card .step-form h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 28px;
    height: 2px;
    background: linear-gradient(90deg, #04A927, #FFCE06);
    border-radius: 2px;
}

/* Row alignment with radio row — bottom-align the 52px input & 52px segmented.
   Kill form-gruop margin-bottom (was 20px on gender) so the grid row height
   equals max(content) = gender=75, and both items align-end to 75. */
.vto-reg-card .step-form .vto-form-row:has(.radio-gruop) {
    align-items: end !important;
}
.vto-reg-card .step-form .vto-form-row:has(.radio-gruop) > .form-gruop {
    align-self: end;
    margin-bottom: 0 !important;
}
.vto-reg-card .step-form .vto-form-row:has(.radio-gruop) .form-gruop.floating {
    padding-top: 0;
}
.vto-reg-card .step-form .vto-form-row:has(.radio-gruop) .form-gruop.floating label {
    top: 50%;
}
.vto-reg-card .step-form .vto-form-row:has(.radio-gruop) .form-gruop.floating:focus-within label,
.vto-reg-card .step-form .vto-form-row:has(.radio-gruop) .form-gruop.floating:has(input:not(:placeholder-shown)) label {
    top: -1px;
}

/* Float-down selects when empty option is :checked (acts like placeholder state)
   so the floating label sits inside the field instead of falsely appearing filled.
   Use left:16px + padding:0 to visually match text input placeholder position. */
.vto-reg-card .step-form .form-gruop.floating.floating-select:has(option[value=""]:checked):not(:focus-within) label {
    top: 50% !important;
    left: 16px !important;
    transform: translateY(-50%) !important;
    font-size: 14px !important;
    color: #8593A4 !important;
    font-weight: 500 !important;
    background: transparent !important;
    padding: 0 !important;
}

/* Premium chevron indicator — replace default SVG background-image with a
   two-layer pseudo: soft pill container + thin chevron mask. Rotates on focus. */
.vto-reg-card .step-form .form-gruop.floating.floating-select {
    position: relative;
}
.vto-reg-card .step-form .form-gruop.floating-select select {
    background-image: none !important;
    padding-right: 48px !important;
    margin-bottom: 0 !important;
}
.vto-reg-card .step-form .form-gruop.floating-select::before {
    content: "";
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: rgba(4, 169, 39, 0.05);
    pointer-events: none;
    transition: background 0.25s ease;
    z-index: 1;
}
.vto-reg-card .step-form .form-gruop.floating-select::after {
    content: "";
    position: absolute;
    right: 18px;
    top: 50%;
    width: 10px;
    height: 10px;
    transform: translateY(-50%);
    background-color: #6B7A8C;
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><polyline points='3 6 8 11 13 6'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><polyline points='3 6 8 11 13 6'/></svg>");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    pointer-events: none;
    transition: background-color 0.25s ease, transform 0.3s ease;
    z-index: 2;
}
.vto-reg-card .step-form .form-gruop.floating-select:hover::before {
    background: rgba(4, 169, 39, 0.09);
}
.vto-reg-card .step-form .form-gruop.floating-select:hover::after {
    background-color: #04A927;
}
.vto-reg-card .step-form .form-gruop.floating-select:focus-within::before {
    background: rgba(4, 169, 39, 0.14);
}
.vto-reg-card .step-form .form-gruop.floating-select:focus-within::after {
    background-color: #04A927;
    transform: translateY(-50%) rotate(180deg);
}

/* Inline label — compact caption style (for short field names inside 2-col row,
   e.g. "Giới tính *") */
.vto-reg-card .step-form .vto-form-row .vto-inline-label {
    display: block;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    color: #04A927 !important;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 6px !important;
    padding-left: 2px;
}
/* Inline label — full-width question style (for long questions like
   "Trong 3 năm gần đây, bạn có nợ xấu...") */
.vto-reg-card .step-form .step-content-inner > .form-gruop > .vto-inline-label {
    display: block;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #2E3A4B !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    margin-bottom: 10px !important;
    padding-left: 0;
    line-height: 1.5 !important;
}
.vto-reg-card .step-form .vto-inline-label .require { color: #E93742 !important; }

/* Radio → segmented control */
.vto-reg-card .step-form .d-flex:has(.radio-gruop) {
    display: inline-flex !important;
    gap: 0 !important;
    background: #F3F6FA;
    border: 1.5px solid #E5EAF2;
    border-radius: 10px;
    padding: 4px;
    height: 52px;
    box-sizing: border-box;
    align-items: stretch;
    width: auto;
}
.vto-reg-card .step-form .radio-gruop {
    position: relative;
    background: transparent !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 0 24px !important;
    min-width: 88px;
    min-height: 0 !important;
    height: auto !important;
    flex: 0 1 auto !important;
    cursor: pointer;
    transition: background 0.25s ease, box-shadow 0.25s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.vto-reg-card .step-form .radio-gruop:has(input:checked) {
    background: linear-gradient(135deg, #04A927 0%, #06C22E 100%) !important;
    box-shadow: 0 2px 10px rgba(4, 169, 39, 0.3);
}
.vto-reg-card .step-form .radio-gruop input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
}
.vto-reg-card .step-form .radio-gruop label {
    margin: 0 !important;
    color: #6B7A8C !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    cursor: pointer;
    padding: 0 !important;
    line-height: 1 !important;
}
.vto-reg-card .step-form .radio-gruop:has(input:checked) label {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* Action row */
.vto-reg-card .step-form .vto-step-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid #EEF1F5;
    flex-wrap: wrap;
}
.vto-reg-card .step-form .vto-step-actions .prev-step {
    color: #6B7A8C !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    padding: 10px 16px;
    border-radius: 8px;
    transition: background 0.2s, color 0.2s;
}
.vto-reg-card .step-form .vto-step-actions .prev-step:hover {
    color: #04A927 !important;
    background: rgba(4, 169, 39, 0.06);
}
.vto-reg-card .step-form .vto-step-actions .button {
    margin-left: auto;
    padding: 12px 26px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #04A927 0%, #06C22E 100%) !important;
    color: #fff !important;
    box-shadow: 0 6px 18px rgba(4, 169, 39, 0.28) !important;
    text-transform: none !important;
    letter-spacing: 0.2px;
    line-height: 1.3 !important;
    min-height: 0 !important;
    height: auto !important;
    transition: transform 0.2s, box-shadow 0.2s, filter 0.2s;
}
.vto-reg-card .step-form .vto-step-actions .button:hover {
    transform: translateY(-1px);
    filter: brightness(1.04);
    box-shadow: 0 10px 26px rgba(4, 169, 39, 0.38) !important;
}

/* Foot — trust badges polished */
.vto-reg-foot {
    margin-top: 20px;
    max-width: 720px;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
}
.vto-reg-foot-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 10px;
    margin-bottom: 14px;
}
.vto-reg-foot-badges span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: #ffffff;
    border: 1px solid #E5EAF2;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    color: #4B5768;
    box-shadow: 0 1px 2px rgba(0, 26, 56, 0.04);
}
.vto-reg-foot-terms {
    font-size: 11.5px !important;
    color: #8593A4 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    max-width: 520px;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Mobile */
@media (max-width: 849px) {
    .vto-reg-section { padding: 32px 14px !important; }
    .vto-reg-card { padding: 24px 22px 20px; border-radius: 14px; }
    .vto-reg-card-head h1 { font-size: 19px !important; }
    .vto-reg-card-head p { font-size: 12.5px !important; }

    .vto-form-summary { padding: 10px 14px; gap: 10px 14px; }
    .vto-form-summary-item { padding-left: 24px; }
    .vto-form-summary-item::before { width: 17px; height: 17px; }
    .vto-form-summary-item > strong { font-size: 14px; }
    .vto-form-summary-edit { padding: 6px 10px; font-size: 11px; }

    .vto-step-item > em { display: none; }
    .vto-step-item.current > em { display: block; font-size: 10px; white-space: nowrap; }
    .vto-step-item > span { width: 24px; height: 24px; font-size: 11px; }
    .vto-step-nav { margin-bottom: 16px; }

    .vto-reg-card .step-form h2 { font-size: 11px !important; margin-bottom: 12px !important; }
    .vto-reg-card .step-form .vto-form-row:has(.radio-gruop) { grid-template-columns: 1fr; align-items: stretch; gap: 12px; }
    .vto-reg-card .step-form .d-flex:has(.radio-gruop) {
        width: 100% !important;
        flex-wrap: nowrap !important;
    }
    .vto-reg-card .step-form .radio-gruop {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        padding: 0 16px !important;
    }
}
@media (max-width: 549px) {.vto-form-summary-item{ padding-left: 0; min-width: 100px; }.vto-form-summary-item::before{ display: none; }
}
/* =================== end VTO REG v2 =================== */


/* ================================================================ */
/* VTO OFFERS (2026-04-21) — post-reg loan results page             */
/* Prefix: .vto-off-*                                               */
/* ================================================================ */

body.page-id-26663 { padding-bottom: 0; }

/* Shared container padding */
.vto-off-hero > .section-content,
.vto-off-results > .section-content,
.vto-off-ad > .section-content,
.vto-off-how > .section-content,
.vto-off-trust > .section-content,
.vto-off-faq-section > .section-content,
.vto-off-foot > .section-content {
    padding-left: 20px;
    padding-right: 20px;
}
.vto-off-hero .row,
.vto-off-results .row,
.vto-off-how .row,
.vto-off-trust .row,
.vto-off-faq-section .row,
.vto-off-foot .row {
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}

/* ===== HERO ===== */
.vto-off-hero {
    background:
        radial-gradient(ellipse 50% 60% at 20% 0%, rgba(4, 169, 39, 0.15) 0%, transparent 60%),
        radial-gradient(ellipse 50% 60% at 80% 100%, rgba(255, 206, 6, 0.08) 0%, transparent 55%),
        #001a38 !important;
    position: relative;
    overflow: hidden;
}
.vto-off-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
    background-size: 48px 48px;
    -webkit-mask-image: radial-gradient(ellipse at 50% 50%, #000 20%, transparent 75%);
    mask-image: radial-gradient(ellipse at 50% 50%, #000 20%, transparent 75%);
    pointer-events: none;
}
.vto-off-hero .section-content { position: relative; z-index: 1; }

.vto-off-hero-inner {
    text-align: center;
    color: #cbd5e1;
}
.vto-off-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: rgba(4, 169, 39, 0.15);
    border: 1px solid rgba(4, 169, 39, 0.35);
    border-radius: 999px;
    color: #04E030;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 18px;
}
.vto-off-hero-badge-check {
    width: 14px;
    height: 14px;
    background-color: #04E030;
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
.vto-off-hero-title {
    color: #fff !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.5px;
    margin: 0 0 12px !important;
    max-width: 760px;
    margin-left: auto !important;
    margin-right: auto !important;
}
.vto-off-hero-title strong {
    background: linear-gradient(100deg, #FFCE06 30%, #04E030 70%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    font-weight: 800;
}
.vto-off-hero-sub {
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    margin: 0 auto 24px !important;
    max-width: 640px;
}
.vto-off-hero-sub strong { color: #FFCE06; font-weight: 700; }

.vto-off-hero-summary {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    padding: 14px 18px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    margin: 0 0 18px;
    backdrop-filter: blur(8px);
    flex-wrap: wrap;
    justify-content: center;
}
.vto-off-hero-summary-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 2px 0;
    color: #cbd5e1;
}
.vto-off-hero-summary-item + .vto-off-hero-summary-item {
    padding-left: 16px;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
}
.vto-off-hero-summary-icon {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    background: rgba(4, 169, 39, 0.2);
    border-radius: 6px;
    position: relative;
}
.vto-off-hero-summary-icon::before {
    content: "";
    position: absolute;
    inset: 0;
    width: 14px;
    height: 14px;
    margin: auto;
    background-color: #04E030;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
.vto-off-icon-wallet::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 12V7H5a2 2 0 0 1 0-4h14v4'/><path d='M3 5v14a2 2 0 0 0 2 2h16v-5'/><path d='M18 12a2 2 0 0 0 0 4h4v-4z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 12V7H5a2 2 0 0 1 0-4h14v4'/><path d='M3 5v14a2 2 0 0 0 2 2h16v-5'/><path d='M18 12a2 2 0 0 0 0 4h4v-4z'/></svg>");
}
.vto-off-icon-phone::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='5' y='2' width='14' height='20' rx='2'/><line x1='12' y1='18' x2='12.01' y2='18'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='5' y='2' width='14' height='20' rx='2'/><line x1='12' y1='18' x2='12.01' y2='18'/></svg>");
}
.vto-off-hero-summary-label {
    font-size: 10.5px;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    font-weight: 700;
    display: block;
    line-height: 1;
    margin-bottom: 2px;
}
.vto-off-hero-summary-value {
    display: block;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -0.2px;
    line-height: 1.2;
}
.vto-off-hero-summary-edit {
    padding: 8px 14px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #fff !important;
    font-size: 12px;
    font-weight: 700;
    border-radius: 999px;
    text-decoration: none !important;
    transition: all 0.2s;
    flex-shrink: 0;
    line-height: 1;
    display: inline-flex;
    align-items: center;
}
.vto-off-hero-summary-edit:hover {
    background: rgba(255, 206, 6, 0.25);
    border-color: #FFCE06;
    color: #FFCE06 !important;
}

.vto-off-hero-social {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.75);
    font-size: 13px;
    background: rgba(255, 255, 255, 0.04);
    padding: 6px 14px;
    border-radius: 999px;
}
.vto-off-hero-social strong { color: #fff; font-weight: 700; }
.vto-off-hero-social-stars {
    position: relative;
    width: 84px;
    height: 16px;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.15) 100%);
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='84' height='16' viewBox='0 0 84 16'><defs><symbol id='s' viewBox='0 0 16 16'><path d='M8 1l2.1 4.3 4.8.7-3.4 3.3.8 4.8L8 11.9 3.7 14.1l.8-4.8L1.1 6l4.8-.7z'/></symbol></defs><use href='%23s' x='0' /><use href='%23s' x='17' /><use href='%23s' x='34' /><use href='%23s' x='51' /><use href='%23s' x='68' /></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='84' height='16' viewBox='0 0 84 16'><defs><symbol id='s' viewBox='0 0 16 16'><path d='M8 1l2.1 4.3 4.8.7-3.4 3.3.8 4.8L8 11.9 3.7 14.1l.8-4.8L1.1 6l4.8-.7z'/></symbol></defs><use href='%23s' x='0' /><use href='%23s' x='17' /><use href='%23s' x='34' /><use href='%23s' x='51' /><use href='%23s' x='68' /></svg>");
}
.vto-off-hero-social-stars-fill {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #FFCE06, #FFD43B);
    height: 100%;
}

/* ===== RESULTS ===== */
.vto-off-results { background: #F5F7FB !important; }

.vto-off-match {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    background: #fff;
    border: 1px solid #E5EAF2;
    border-radius: 12px;
    margin-bottom: 26px;
    box-shadow: 0 1px 2px rgba(0, 26, 56, 0.04);
}
.vto-off-match-icon {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    background: rgba(4, 169, 39, 0.08);
    border-radius: 10px;
    position: relative;
}
.vto-off-match-icon::before {
    content: "";
    position: absolute;
    inset: 0;
    width: 22px;
    height: 22px;
    margin: auto;
    background-color: #04A927;
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='3'/><path d='M12 1v2M12 21v2M4.2 4.2l1.4 1.4M18.4 18.4l1.4 1.4M1 12h2M21 12h2M4.2 19.8l1.4-1.4M18.4 5.6l1.4-1.4'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='3'/><path d='M12 1v2M12 21v2M4.2 4.2l1.4 1.4M18.4 18.4l1.4 1.4M1 12h2M21 12h2M4.2 19.8l1.4-1.4M18.4 5.6l1.4-1.4'/></svg>");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
.vto-off-match > div {
    font-size: 13px;
    color: #4B5768;
    line-height: 1.55;
}
.vto-off-match strong {
    display: block;
    color: #001a38;
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 2px;
}
.vto-off-match em {
    font-style: normal;
    color: #04A927;
    font-weight: 700;
    background: rgba(4, 169, 39, 0.07);
    padding: 1px 7px;
    border-radius: 6px;
    white-space: nowrap;
    display: inline-block;
}

/* Stars (shared) */
.vto-off-stars {
    position: relative;
    width: 68px;
    height: 13px;
    display: inline-block;
    background: rgba(0, 26, 56, 0.12);
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='68' height='13' viewBox='0 0 68 13'><defs><symbol id='s' viewBox='0 0 13 13'><path d='M6.5 1l1.7 3.5 3.8.6-2.75 2.7.65 3.8L6.5 9.8 3.1 11.6l.65-3.8L1 4.5l3.8-.6z'/></symbol></defs><use href='%23s' x='0'/><use href='%23s' x='14'/><use href='%23s' x='28'/><use href='%23s' x='42'/><use href='%23s' x='56'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='68' height='13' viewBox='0 0 68 13'><defs><symbol id='s' viewBox='0 0 13 13'><path d='M6.5 1l1.7 3.5 3.8.6-2.75 2.7.65 3.8L6.5 9.8 3.1 11.6l.65-3.8L1 4.5l3.8-.6z'/></symbol></defs><use href='%23s' x='0'/><use href='%23s' x='14'/><use href='%23s' x='28'/><use href='%23s' x='42'/><use href='%23s' x='56'/></svg>");
    vertical-align: middle;
}
.vto-off-stars-fill {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background: linear-gradient(90deg, #FFCE06, #FFA500);
}

/* ===== FEATURED CARD ===== */
.vto-off-featured-wrap { margin-bottom: 36px; }
.vto-off-featured-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    border-radius: 8px 8px 0 0;
    position: relative;
    margin-bottom: 0;
    box-shadow: 0 4px 14px rgba(4, 169, 39, 0.25);
}
.vto-off-featured-trophy {
    width: 16px;
    height: 16px;
    background-color: #fff;
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9H4.5a2.5 2.5 0 0 1 0-5H6'/><path d='M18 9h1.5a2.5 2.5 0 0 0 0-5H18'/><path d='M4 22h16'/><path d='M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22'/><path d='M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22'/><path d='M18 2H6v7a6 6 0 0 0 12 0V2Z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9H4.5a2.5 2.5 0 0 1 0-5H6'/><path d='M18 9h1.5a2.5 2.5 0 0 0 0-5H18'/><path d='M4 22h16'/><path d='M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22'/><path d='M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22'/><path d='M18 2H6v7a6 6 0 0 0 12 0V2Z'/></svg>");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
.vto-off-featured {
    background: #fff;
    border: 2px solid #04A927;
    border-radius: 0 14px 14px 14px;
    padding: 26px 28px;
    box-shadow: 0 16px 48px rgba(4, 169, 39, 0.18);
    position: relative;
    overflow: hidden;
}
.vto-off-featured::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle at top right, rgba(255, 206, 6, 0.12), transparent 70%);
    pointer-events: none;
}
.vto-off-featured-rank {
    position: absolute;
    top: 18px;
    right: 22px;
    padding: 4px 10px;
    background: linear-gradient(135deg, #FFCE06, #FFA500);
    color: #001a38;
    font-size: 12px;
    font-weight: 800;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(255, 206, 6, 0.35);
    z-index: 2;
}
.vto-off-featured-head {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 22px;
    align-items: center;
    margin-bottom: 22px;
    position: relative;
}
.vto-off-featured-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid #E5EAF2;
    border-radius: 10px;
    padding: 16px;
    height: 90px;
    overflow: hidden;
}
.vto-off-featured-logo img {
    max-height: 56px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}
.vto-off-featured-title {
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #001a38 !important;
    margin: 0 0 8px !important;
    line-height: 1.35 !important;
}
.vto-off-featured-rate {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #4B5768;
    font-size: 13px;
    margin-bottom: 10px;
}
.vto-off-featured-rate strong {
    color: #001a38;
    font-weight: 800;
    font-size: 14px;
}
.vto-off-dot {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgba(0, 26, 56, 0.2);
    display: inline-block;
}
.vto-off-featured-tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.vto-off-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 11.5px;
    font-weight: 700;
    line-height: 1.3;
}
.vto-off-tag-match {
    background: rgba(4, 169, 39, 0.1);
    color: #04A927;
}
.vto-off-tag-cic {
    background: rgba(0, 123, 255, 0.08);
    color: #0a66c2;
}

.vto-off-featured-specs {
    list-style: none;
    margin: 0 0 22px;
    padding: 22px 0;
    border-top: 1px solid #EEF1F5;
    border-bottom: 1px solid #EEF1F5;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}
.vto-off-featured-specs li {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}
.vto-off-featured-specs-label {
    font-size: 10.5px !important;
    color: #8593A4 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 700;
    line-height: 1.2;
}
.vto-off-featured-specs strong {
    font-size: 17px !important;
    color: #001a38 !important;
    font-weight: 800 !important;
    line-height: 1.2;
    letter-spacing: -0.3px;
}
.vto-off-featured-specs em {
    font-size: 11px;
    color: #6B7A8C;
    font-weight: 500;
    font-style: normal;
    line-height: 1.3;
}

.vto-off-featured-urgency {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: linear-gradient(135deg, rgba(255, 206, 6, 0.08), rgba(255, 165, 0, 0.05));
    border: 1px dashed rgba(255, 165, 0, 0.4);
    border-radius: 10px;
    font-size: 13px;
    color: #8C6200;
    margin-bottom: 22px;
}
.vto-off-featured-urgency strong { color: #6B4800; font-weight: 800; }
.vto-off-featured-urgency-dot {
    width: 10px;
    height: 10px;
    background: #FFA500;
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: 0 0 0 3px rgba(255, 165, 0, 0.3);
    animation: vtoOffPulse 1.8s ease-out infinite;
}
@keyframes vtoOffPulse {
    0%, 100% { box-shadow: 0 0 0 3px rgba(255, 165, 0, 0.3); }
    50% { box-shadow: 0 0 0 8px rgba(255, 165, 0, 0); }
}

.vto-off-featured-actions {
    display: flex;
    gap: 12px;
    align-items: stretch;
}
.vto-off-featured-detail {
    flex: 0 0 auto;
    padding: 14px 22px;
    background: #F5F7FB;
    border: 1.5px solid #E5EAF2;
    color: #001a38 !important;
    font-size: 14px;
    font-weight: 700;
    border-radius: 10px;
    text-decoration: none !important;
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.vto-off-featured-detail:hover {
    background: #EEF1F5;
    border-color: #D6DCE4;
}
.vto-off-featured-cta {
    flex: 1 1 auto;
    padding: 14px 28px;
    background: linear-gradient(135deg, #04A927 0%, #06C22E 100%);
    color: #fff !important;
    font-size: 15px;
    font-weight: 800;
    border-radius: 10px;
    text-decoration: none !important;
    transition: all 0.25s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    letter-spacing: 0.2px;
    box-shadow: 0 8px 24px rgba(4, 169, 39, 0.28);
    position: relative;
    overflow: hidden;
}
.vto-off-featured-cta::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, 0.25) 50%, transparent 70%);
    transform: translateX(-100%);
    transition: transform 0.7s;
}
.vto-off-featured-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(4, 169, 39, 0.4);
    filter: brightness(1.05);
}
.vto-off-featured-cta:hover::after { transform: translateX(100%); }
.vto-off-featured-cta-arrow {
    width: 16px;
    height: 12px;
    background-color: #fff;
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><line x1='5' y1='12' x2='19' y2='12'/><polyline points='12 5 19 12 12 19'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><line x1='5' y1='12' x2='19' y2='12'/><polyline points='12 5 19 12 12 19'/></svg>");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transition: transform 0.25s;
}
.vto-off-featured-cta:hover .vto-off-featured-cta-arrow { transform: translateX(4px); }

/* ===== OTHER OFFERS GRID ===== */
.vto-off-other-head {
    margin-bottom: 16px;
}
.vto-off-other-head h3 {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #001a38 !important;
    margin: 0 0 4px !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.vto-off-other-head p {
    font-size: 13px !important;
    color: #6B7A8C !important;
    margin: 0 !important;
}

.vto-off-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 24px;
}
.vto-off-card {
    background: #fff;
    border: 1px solid #E5EAF2;
    border-radius: 12px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: all 0.25s;
    position: relative;
}
.vto-off-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 36px rgba(0, 26, 56, 0.1);
    border-color: rgba(4, 169, 39, 0.3);
}
.vto-off-card-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 6px;
}
.vto-off-rank {
    padding: 3px 8px;
    background: rgba(0, 26, 56, 0.06);
    color: #4B5768;
    font-size: 11px;
    font-weight: 800;
    border-radius: 6px;
    letter-spacing: 0.3px;
}
.vto-off-card-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F5F7FB;
    border-radius: 8px;
    padding: 10px;
    height: 60px;
}
.vto-off-card-logo img {
    max-height: 40px;
    max-width: 100%;
    object-fit: contain;
    width: auto !important;
}
.vto-off-card-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #001a38 !important;
    margin: 0 !important;
    line-height: 1.4 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.vto-off-card-rate {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #6B7A8C;
}
.vto-off-card-rate strong {
    color: #001a38;
    font-weight: 700;
}
.vto-off-card-rate em {
    font-style: normal;
    color: #8593A4;
}
.vto-off-card-specs {
    list-style: none;
    margin: 0;
    padding: 12px 0;
    border-top: 1px solid #EEF1F5;
    border-bottom: 1px solid #EEF1F5;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.vto-off-card-specs li {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 12.5px;
    gap: 8px;
}
.vto-off-card-specs li span {
    color: #6B7A8C;
    font-weight: 500;
}
.vto-off-card-specs li strong {
    color: #001a38;
    font-weight: 800;
    text-align: right;
    flex-shrink: 0;
}
.vto-off-card-btn {
    padding: 11px 16px;
    background: #fff;
    border: 1.5px solid #04A927;
    color: #04A927 !important;
    font-size: 13px;
    font-weight: 800;
    border-radius: 10px;
    text-align: center;
    text-decoration: none !important;
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: auto;
}
.vto-off-card-btn:hover {
    background: linear-gradient(135deg, #04A927 0%, #06C22E 100%);
    color: #fff !important;
    border-color: transparent;
    box-shadow: 0 6px 16px rgba(4, 169, 39, 0.28);
}
.vto-off-card-btn .vto-off-featured-cta-arrow {
    background-color: currentColor;
    width: 12px;
    height: 10px;
}

/* ===== AD SECTION ===== */
.vto-off-ad { background: #F5F7FB !important; padding-top: 8px !important; padding-bottom: 8px !important; }
.vto-off-ad-inner {
    max-width: 728px;
    margin: 0 auto;
    padding: 14px 18px;
    background: #fff;
    border: 1px solid #E5EAF2;
    border-radius: 12px;
    text-align: center;
    min-height: 90px;
    position: relative;
}
.vto-off-ad-inner::before {
    content: "Quảng cáo";
    position: absolute;
    top: 6px;
    right: 10px;
    font-size: 10px;
    color: #8593A4;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

/* ===== SECTION HEAD (shared) ===== */
.vto-off-section-head { text-align: center; margin-bottom: 32px; }
.vto-off-section-kicker {
    display: inline-block;
    padding: 4px 12px;
    background: rgba(4, 169, 39, 0.08);
    color: #04A927;
    font-size: 11.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 999px;
    margin-bottom: 10px;
}
.vto-off-section-head h2 {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #001a38 !important;
    margin: 0 !important;
    letter-spacing: -0.4px;
    line-height: 1.3 !important;
}
.vto-off-section-head h2 em {
    font-style: normal;
    background: linear-gradient(100deg, #04A927 30%, #FFCE06 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

/* ===== HOW IT WORKS ===== */
.vto-off-how { background: #fff !important; }
.vto-off-steps {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    position: relative;
    counter-reset: vto-off-step;
}
.vto-off-steps::before {
    content: "";
    position: absolute;
    top: 24px;
    left: 12%;
    right: 12%;
    height: 2px;
    background:
        repeating-linear-gradient(90deg, rgba(4, 169, 39, 0.3) 0 8px, transparent 8px 14px);
    z-index: 0;
}
.vto-off-step {
    background: #fff;
    border: 1px solid #E5EAF2;
    border-radius: 14px;
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
    transition: all 0.25s;
    position: relative;
    z-index: 1;
    margin: 0 !important;
}
.vto-off-step:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 34px rgba(0, 26, 56, 0.08);
    border-color: rgba(4, 169, 39, 0.3);
}
.vto-off-step-num {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 20px;
    box-shadow: 0 6px 18px rgba(4, 169, 39, 0.32);
}
.vto-off-step strong {
    font-size: 15px;
    color: #001a38;
    font-weight: 800;
}
.vto-off-step p {
    margin: 0 !important;
    font-size: 13px !important;
    color: #6B7A8C !important;
    line-height: 1.55 !important;
}
.vto-off-step p strong {
    color: #04A927;
    font-weight: 700;
    font-size: inherit;
}

/* ===== TRUST ===== */
.vto-off-trust {
    background:
        radial-gradient(ellipse at top, rgba(4, 169, 39, 0.1) 0%, transparent 60%),
        #001a38 !important;
}
.vto-off-trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.vto-off-trust-item {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 18px 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
    transition: all 0.25s;
}
.vto-off-trust-item:hover {
    background: rgba(4, 169, 39, 0.1);
    border-color: rgba(4, 169, 39, 0.3);
    transform: translateY(-2px);
}
.vto-off-trust-ico {
    width: 36px;
    height: 36px;
    background: rgba(4, 169, 39, 0.12);
    border-radius: 10px;
    position: relative;
}
.vto-off-trust-ico::before {
    content: "";
    position: absolute;
    inset: 0;
    width: 20px;
    height: 20px;
    margin: auto;
    background-color: #04E030;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
.vto-off-icon-shield::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/></svg>");
}
.vto-off-icon-gift::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 12 20 22 4 22 4 12'/><rect x='2' y='7' width='20' height='5'/><line x1='12' y1='22' x2='12' y2='7'/><path d='M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z'/><path d='M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 12 20 22 4 22 4 12'/><rect x='2' y='7' width='20' height='5'/><line x1='12' y1='22' x2='12' y2='7'/><path d='M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z'/><path d='M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z'/></svg>");
}
.vto-off-icon-chart::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='20' x2='18' y2='10'/><line x1='12' y1='20' x2='12' y2='4'/><line x1='6' y1='20' x2='6' y2='14'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='20' x2='18' y2='10'/><line x1='12' y1='20' x2='12' y2='4'/><line x1='6' y1='20' x2='6' y2='14'/></svg>");
}
.vto-off-icon-balance::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3v18'/><path d='M5 8h14l-3 6 3 0H5z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3v18'/><path d='M5 8h14l-3 6 3 0H5z'/></svg>");
}
.vto-off-trust-item strong {
    font-size: 14px;
    color: #fff;
    font-weight: 800;
}
.vto-off-trust-item em {
    font-style: normal;
    font-size: 11.5px;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.4;
}

/* ===== FAQ ===== */
.vto-off-faq-section { background: #fff !important; }
.vto-off-faq {
    max-width: 760px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.vto-off-faq-item {
    background: #fff;
    border: 1px solid #E5EAF2;
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.25s;
}
.vto-off-faq-item[open] {
    border-color: #04A927;
    box-shadow: 0 4px 18px rgba(4, 169, 39, 0.1);
}
.vto-off-faq-item summary {
    padding: 18px 52px 18px 22px;
    font-size: 15px;
    font-weight: 700;
    color: #001a38;
    cursor: pointer;
    list-style: none;
    position: relative;
    transition: all 0.2s;
}
.vto-off-faq-item summary::-webkit-details-marker { display: none; }
.vto-off-faq-item summary::before {
    content: "";
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(4, 169, 39, 0.08);
    transition: all 0.25s;
}
.vto-off-faq-item summary::after {
    content: "";
    position: absolute;
    right: 30px;
    top: 50%;
    width: 10px;
    height: 10px;
    background-color: #04A927;
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='4 6 8 10 12 6'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='4 6 8 10 12 6'/></svg>");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    transform: translate(0, -50%);
    transition: transform 0.25s;
}
.vto-off-faq-item[open] summary::before {
    background: #04A927;
}
.vto-off-faq-item[open] summary::after {
    background-color: #fff;
    transform: translate(0, -50%) rotate(180deg);
}
.vto-off-faq-item summary:hover { background: rgba(4, 169, 39, 0.02); }
.vto-off-faq-item p {
    padding: 0 22px 18px !important;
    margin: 0 !important;
    font-size: 14px !important;
    color: #4B5768 !important;
    line-height: 1.65 !important;
}
.vto-off-faq-item p strong { color: #001a38; font-weight: 700; }

/* ===== FOOTER ===== */
.vto-off-foot {
    background: #0A122A !important;
    position: relative;
}
.vto-off-foot::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(4, 169, 39, 0.3), transparent);
}
.vto-off-foot-inner {
    max-width: 880px;
    margin: 0 auto;
    text-align: center;
}
.vto-off-foot-cta {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
    padding: 14px 20px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    margin-bottom: 20px;
}
.vto-off-foot-cta p {
    margin: 0 !important;
    font-size: 14px !important;
    color: rgba(255, 255, 255, 0.8) !important;
    font-weight: 500 !important;
}
.vto-off-foot-btn {
    padding: 9px 18px;
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff !important;
    font-size: 13px;
    font-weight: 800;
    border-radius: 8px;
    text-decoration: none !important;
    transition: all 0.2s;
    letter-spacing: 0.2px;
}
.vto-off-foot-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(4, 169, 39, 0.35);
    filter: brightness(1.05);
}
.vto-off-foot-legal {
    font-size: 11.5px !important;
    color: rgba(255, 255, 255, 0.45) !important;
    line-height: 1.7 !important;
    margin: 0 auto 14px !important;
    max-width: 760px;
}
.vto-off-foot-links {
    display: inline-flex;
    gap: 22px;
    flex-wrap: wrap;
    justify-content: center;
}
.vto-off-foot-links a {
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 12.5px;
    font-weight: 500;
    text-decoration: none !important;
    transition: color 0.2s;
    position: relative;
}
.vto-off-foot-links a + a::before {
    content: "";
    position: absolute;
    left: -11px;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 3px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
}
.vto-off-foot-links a:hover { color: #FFCE06 !important; }

/* ===== STICKY MOBILE BAR ===== */
.vto-off-sticky {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid #E5EAF2;
    box-shadow: 0 -8px 28px rgba(0, 26, 56, 0.1);
    padding: 10px 14px;
    z-index: 999;
    align-items: center;
    gap: 12px;
}
.vto-off-sticky-info {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
}
.vto-off-sticky-rank {
    padding: 4px 8px;
    background: linear-gradient(135deg, #FFCE06, #FFA500);
    color: #001a38;
    font-size: 11px;
    font-weight: 800;
    border-radius: 6px;
    flex-shrink: 0;
}
.vto-off-sticky-meta {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.vto-off-sticky-meta strong {
    font-size: 13px;
    color: #001a38;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}
.vto-off-sticky-meta em {
    font-style: normal;
    font-size: 11px;
    color: #6B7A8C;
    line-height: 1.2;
}
.vto-off-sticky-cta {
    padding: 11px 22px;
    background: linear-gradient(135deg, #04A927, #06C22E);
    color: #fff !important;
    font-size: 13px;
    font-weight: 800;
    border-radius: 10px;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    flex-shrink: 0;
    box-shadow: 0 6px 18px rgba(4, 169, 39, 0.32);
    transition: all 0.2s;
    white-space: nowrap;
}
.vto-off-sticky-cta:hover {
    transform: translateY(-1px);
    filter: brightness(1.05);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 849px) {
    .vto-off-hero-title { font-size: 24px !important; }
    .vto-off-hero-sub { font-size: 14px !important; }
    .vto-off-hero-summary { gap: 10px; padding: 12px 14px; }
    .vto-off-hero-summary-item + .vto-off-hero-summary-item { padding-left: 12px; }

    .vto-off-featured-head { grid-template-columns: 100px 1fr; gap: 16px; }
    .vto-off-featured-logo { height: 70px; padding: 10px; }
    .vto-off-featured-logo img { max-height: 40px; }
    .vto-off-featured-title { font-size: 16px !important; }
    .vto-off-featured-specs { grid-template-columns: repeat(2, 1fr); gap: 14px; padding: 16px 0; }
    .vto-off-featured-specs strong { font-size: 15px !important; }
    .vto-off-featured { padding: 22px 20px; }
    .vto-off-featured-actions { flex-direction: column-reverse; gap: 10px; }
    .vto-off-featured-detail { width: 100%; }
    .vto-off-featured-cta { width: 100%; }

    .vto-off-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }

    .vto-off-steps { grid-template-columns: 1fr; gap: 14px; }
    .vto-off-steps::before { display: none; }

    .vto-off-trust-grid { grid-template-columns: repeat(2, 1fr); }
    .vto-off-section-head h2 { font-size: 22px !important; }
}

@media (max-width: 549px) {body.page-id-26663{ padding-bottom: 76px; }.vto-off-hero-title{ font-size: 22px !important; }.vto-off-hero-summary{
        gap: 8px;
        padding: 12px;
        justify-content: flex-start;
        flex-direction: column;
        align-items: stretch;
    }.vto-off-hero-summary-item{
        padding: 0 !important;
    }.vto-off-hero-summary-item + .vto-off-hero-summary-item{
        padding-top: 10px !important;
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
    }.vto-off-hero-summary-edit{ align-self: center; margin-top: 4px; }.vto-off-hero-social{ font-size: 12px; padding: 6px 12px; }.vto-off-featured-head{ grid-template-columns: 1fr; text-align: center; }.vto-off-featured-logo{ height: 70px; }.vto-off-featured-rate{ justify-content: center; }.vto-off-featured-tags{ justify-content: center; }.vto-off-featured-rank{ top: 12px; right: 12px; }.vto-off-featured-specs{ grid-template-columns: 1fr 1fr; }.vto-off-grid{ grid-template-columns: 1fr; }.vto-off-match{ flex-direction: column; align-items: flex-start; text-align: left; padding: 14px; }.vto-off-match-icon{ flex: 0 0 36px; width: 36px; height: 36px; }.vto-off-sticky{ display: flex; }.vto-off-foot-cta{ flex-direction: column; text-align: center; gap: 10px; padding: 14px; }.vto-off-foot-links{ gap: 14px; }
}
/* =================== end VTO OFFERS =================== */


/* ========= Author social icons (single post + author page) ========= */
.vto-single-author-social,
.vto-author-social {
    list-style: none !important;
    padding: 0 !important;
    margin: 12px 0 16px !important;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.vto-single-author-social li,
.vto-author-social li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.vto-single-author-social a,
.vto-author-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: #F5F7FB;
    border: 1px solid #E5EAF2;
    color: #4B5768;
    text-decoration: none !important;
    transition: all 0.2s ease;
    position: relative;
}
.vto-single-author-social a::before,
.vto-author-social a::before {
    content: "";
    width: 16px;
    height: 16px;
    background-color: currentColor;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transition: transform 0.2s ease;
}
.vto-single-author-social a:hover,
.vto-author-social a:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 26, 56, 0.08);
}
.vto-single-author-social .sm-facebook:hover,
.vto-author-social .sm-facebook:hover {
    background: #1877f2; border-color: #1877f2; color: #fff;
}
.vto-single-author-social .sm-twitter:hover,
.vto-author-social .sm-twitter:hover {
    background: #1d9bf0; border-color: #1d9bf0; color: #fff;
}
.vto-single-author-social .sm-linkedin:hover,
.vto-author-social .sm-linkedin:hover {
    background: #0a66c2; border-color: #0a66c2; color: #fff;
}
.vto-single-author-social .sm-facebook::before,
.vto-author-social .sm-facebook::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M22 12a10 10 0 10-11.6 9.9v-7H8v-2.9h2.4V9.8c0-2.4 1.4-3.7 3.6-3.7 1 0 2.1.2 2.1.2v2.4h-1.2c-1.2 0-1.5.7-1.5 1.5v1.8h2.6l-.4 2.9h-2.2v7A10 10 0 0022 12z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M22 12a10 10 0 10-11.6 9.9v-7H8v-2.9h2.4V9.8c0-2.4 1.4-3.7 3.6-3.7 1 0 2.1.2 2.1.2v2.4h-1.2c-1.2 0-1.5.7-1.5 1.5v1.8h2.6l-.4 2.9h-2.2v7A10 10 0 0022 12z'/></svg>");
}
.vto-single-author-social .sm-twitter::before,
.vto-author-social .sm-twitter::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M18.2 2h3.3l-7.2 8.3L23 22h-6.7l-5.2-6.8L5.1 22H1.8l7.7-8.8L1 2h6.9l4.7 6.2L18.2 2zm-1.1 18h1.8L7 3.9H5L17.1 20z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M18.2 2h3.3l-7.2 8.3L23 22h-6.7l-5.2-6.8L5.1 22H1.8l7.7-8.8L1 2h6.9l4.7 6.2L18.2 2zm-1.1 18h1.8L7 3.9H5L17.1 20z'/></svg>");
}
.vto-single-author-social .sm-linkedin::before,
.vto-author-social .sm-linkedin::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M20.5 2h-17A1.5 1.5 0 002 3.5v17A1.5 1.5 0 003.5 22h17a1.5 1.5 0 001.5-1.5v-17A1.5 1.5 0 0020.5 2zM8 19H5v-9h3v9zM6.5 8.25A1.75 1.75 0 118.3 6.5a1.78 1.78 0 01-1.8 1.75zM19 19h-3v-4.74c0-1.42-.6-1.93-1.38-1.93A1.74 1.74 0 0013 14.19a.66.66 0 000 .14V19h-3v-9h2.9v1.3a3.11 3.11 0 012.7-1.4c1.55 0 3.36.86 3.36 3.66L19 19z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M20.5 2h-17A1.5 1.5 0 002 3.5v17A1.5 1.5 0 003.5 22h17a1.5 1.5 0 001.5-1.5v-17A1.5 1.5 0 0020.5 2zM8 19H5v-9h3v9zM6.5 8.25A1.75 1.75 0 118.3 6.5a1.78 1.78 0 01-1.8 1.75zM19 19h-3v-4.74c0-1.42-.6-1.93-1.38-1.93A1.74 1.74 0 0013 14.19a.66.66 0 000 .14V19h-3v-9h2.9v1.3a3.11 3.11 0 012.7-1.4c1.55 0 3.36.86 3.36 3.66L19 19z'/></svg>");
}


/* ================================================================ */
/* VTO SINGLE BLOG TOC (2026-04-21)                                 */
/* Auto-generated from H2/H3 via functions.php filter               */
/* ================================================================ */

.vto-single-toc {
    background: linear-gradient(135deg, rgba(4, 169, 39, 0.04), rgba(255, 206, 6, 0.03));
    border: 1px solid #E5EAF2;
    border-radius: 14px;
    padding: 0;
    margin: 0 0 28px;
    position: relative;
    overflow: hidden;
}
.vto-single-toc::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, #04A927, #FFCE06);
}

.vto-single-toc-toggle {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 16px 18px;
    background: transparent;
    border: 0;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: inherit;
    margin: 0;
    transition: background 0.2s;
}
.vto-single-toc-toggle:hover { background: rgba(4, 169, 39, 0.04); }

.vto-single-toc-icon {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: linear-gradient(135deg, #04A927, #06C22E);
    position: relative;
    box-shadow: 0 3px 10px rgba(4, 169, 39, 0.25);
}
.vto-single-toc-icon::before {
    content: "";
    position: absolute;
    inset: 0;
    width: 16px;
    height: 16px;
    margin: auto;
    background-color: #fff;
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><line x1='8' y1='6' x2='21' y2='6'/><line x1='8' y1='12' x2='21' y2='12'/><line x1='8' y1='18' x2='21' y2='18'/><line x1='3' y1='6' x2='3.01' y2='6'/><line x1='3' y1='12' x2='3.01' y2='12'/><line x1='3' y1='18' x2='3.01' y2='18'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><line x1='8' y1='6' x2='21' y2='6'/><line x1='8' y1='12' x2='21' y2='12'/><line x1='8' y1='18' x2='21' y2='18'/><line x1='3' y1='6' x2='3.01' y2='6'/><line x1='3' y1='12' x2='3.01' y2='12'/><line x1='3' y1='18' x2='3.01' y2='18'/></svg>");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
.vto-single-toc-title {
    flex: 1;
    font-size: 15px;
    font-weight: 800;
    color: #001a38;
    letter-spacing: -0.1px;
    line-height: 1.2;
}
.vto-single-toc-count {
    font-size: 11px;
    font-weight: 700;
    color: #04A927;
    background: rgba(4, 169, 39, 0.1);
    padding: 4px 10px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}
.vto-single-toc-chev {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    background-color: #6B7A8C;
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><polyline points='4 6 8 10 12 6'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><polyline points='4 6 8 10 12 6'/></svg>");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transform: rotate(180deg);
    transition: transform 0.3s ease;
}
.vto-single-toc.vto-single-toc-collapsed .vto-single-toc-chev { transform: rotate(0deg); }

.vto-single-toc-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 16px 20px 20px !important;
    counter-reset: vto-toc;
    border-top: 1px solid rgba(0, 26, 56, 0.06);
    overflow: hidden;
    transition: padding 0.3s ease, border-color 0.2s ease, opacity 0.25s ease;
}
.vto-single-toc.vto-single-toc-collapsed .vto-single-toc-list {
    max-height: 0;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-top-color: transparent;
    opacity: 0;
}

.vto-single-toc-item {
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
    counter-increment: vto-toc;
}
.vto-single-toc-item a {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 8px 10px 8px 12px;
    color: #4B5768;
    font-size: 14px;
    line-height: 1.5;
    text-decoration: none;
    border-radius: 8px;
    transition: all 0.2s;
    position: relative;
}
.vto-single-toc-item a::before {
    content: counter(vto-toc, decimal-leading-zero);
    flex: 0 0 28px;
    color: #04A927;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.3px;
    padding-top: 1px;
}
.vto-single-toc-item a:hover {
    background: rgba(4, 169, 39, 0.06);
    color: #001a38;
}
.vto-single-toc-item a:hover::before { color: #FFCE06; }
.vto-single-toc-item a.is-active {
    background: rgba(4, 169, 39, 0.1);
    color: #001a38;
    font-weight: 700;
}
.vto-single-toc-item a.is-active::before { color: #04A927; }

.vto-single-toc-h3 a {
    padding-left: 30px;
    font-size: 13.5px;
}
.vto-single-toc-h3 a::before {
    flex-basis: 22px;
    font-size: 10.5px;
    font-weight: 700;
}

/* Scroll offset for anchor jumps (header sticky ~70px) */
.vto-single-content h2,
.vto-single-content h3 { scroll-margin-top: 90px; }

@media (max-width: 549px) {.vto-single-toc{ margin-bottom: 22px; border-radius: 12px; }.vto-single-toc-toggle{ padding: 14px 16px; gap: 10px; }.vto-single-toc-title{ font-size: 14px; }.vto-single-toc-count{ font-size: 10px; padding: 3px 8px; }.vto-single-toc-icon{ flex-basis: 28px; width: 28px; height: 28px; }.vto-single-toc-list{ padding: 0 14px 16px !important; }.vto-single-toc-item a{ padding: 8px 6px; font-size: 13.5px; }.vto-single-toc-h3 a{ padding-left: 24px; font-size: 13px; }
}