@font-face {
    font-family: "fl-icons";
    font-display: block;
    src: url(../../fonts/fl-icons.eot);
    src:
        url(../../fonts/fl-icons.eot#iefix) format("embedded-opentype"),
        url(../../fonts/fl-icons.woff2) format("woff2"),
        url(../../fonts/fl-icons.ttf) format("truetype"),
        url(../../fonts/fl-icons.woff) format("woff"),
        url(../../fonts/fl-icons.svg) format("svg");
}
@font-face {
    font-family: 'dfc_icon';
    src:  url('../../fonts/icomoon.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

.vhsp-reasons-section,
.vhsp-reasons-section *{
    box-sizing:border-box;
}
.vhsgb-booking-section,
.vhsgb-booking-section *{
    box-sizing:border-box;
}

.vhsgb-booking-section{
    position:relative;
    overflow:hidden;
    width:100%;
    padding:46px 18px 56px;
    background:
        radial-gradient(circle at 50% 0%, rgba(255,218,143,.18), transparent 34%),
        radial-gradient(circle at 50% 100%, rgba(255,197,125,.14), transparent 30%),
        linear-gradient(180deg,#07352d 0%,#042921 48%,#021b17 100%);
    font-family:'Jura',sans-serif;
    color:#ffffff;
}

.vhsgb-booking-section::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg, rgba(255,213,128,.08) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255,213,128,.055) 1px, transparent 1px);
    background-size:90px 90px;
    opacity:.22;
    pointer-events:none;
}

.vhsgb-booking-section::after{
    content:"";
    position:absolute;
    inset:16px;
    border:1px solid rgba(255,213,128,.42);
    border-radius:22px;
    pointer-events:none;
}

.vhsgb-bg-glow{
    position:absolute;
    left:50%;
    top:8%;
    width:460px;
    height:460px;
    transform:translateX(-50%);
    background:radial-gradient(circle, rgba(255,213,128,.16), transparent 64%);
    pointer-events:none;
}

.vhsgb-container{
    position:relative;
    z-index:2;
    max-width:760px;
    margin:0 auto;
    text-align:center;
}

/* BRAND */
.vhsgb-brand{
    margin-bottom:20px;
}

.vhsgb-emblem{
    width:68px;
    height:68px;
    margin:0 auto 12px;
    border:1.6px solid rgba(255,218,143,.86);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#ffda8f;
    background:rgba(255,255,255,.035);
    box-shadow:
        0 0 22px rgba(255,197,125,.18),
        inset 0 0 16px rgba(255,197,125,.1);
}

.vhsgb-logo-img{
    overflow:hidden;
}

.vhsgb-logo-img img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    padding:8px;
}

.vhsgb-brand-sub{
    color:#f6d58d;
    font-size:16px;
    line-height:1.35;
    font-weight:700;
    letter-spacing:5px;
    text-transform:uppercase;
    opacity:.95;
}

/* MAIN TITLE */
.vhsgb-main-title{
    display:block;
    margin:0 auto 14px;
    color:#ffda8f;
    font-family:'Jura',sans-serif;
    font-size:58px;
    line-height:1.02;
    font-weight:800;
    letter-spacing:5px;
    text-transform:uppercase;
    text-shadow:
        0 3px 0 rgba(96,58,14,.55),
        0 12px 28px rgba(0,0,0,.38),
        0 0 22px rgba(255,197,125,.2);
}

.vhsgb-main-title span{
    display:block;
}

.vhsgb-title-line{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin:20px auto 16px;
}

.vhsgb-title-line span{
    width:88px;
    height:1px;
    background:linear-gradient(90deg,transparent,#ffda8f,transparent);
}

.vhsgb-title-line i{
    display:block;
    width:8px;
    height:8px;
    transform:rotate(45deg);
    background:#ffda8f;
    box-shadow:0 0 12px rgba(255,213,128,.75);
}

.vhsgb-sub-title{
    margin:0 0 10px;
    color:#f9d88f;
    font-size:29px;
    line-height:1.15;
    font-weight:800;
    letter-spacing:7px;
    text-transform:uppercase;
    text-shadow:0 8px 18px rgba(0,0,0,.32);
}

.vhsgb-booking-title{
    margin:0;
    color:#ffda8f;
    font-family:'Jura',sans-serif;
    font-size:70px;
    line-height:.96;
    font-weight:800;
    letter-spacing:5px;
    text-transform:uppercase;
    text-shadow:
        0 3px 0 rgba(96,58,14,.6),
        0 14px 30px rgba(0,0,0,.42),
        0 0 24px rgba(255,197,125,.24);
}

/* RED BADGE */
.vhsgb-red-badge{
    width:100%;
    max-width:480px;
    margin:32px auto 28px;
    padding:16px 24px;
    border-radius:999px;
    border:1.7px solid #ffda8f;
    background:linear-gradient(180deg,#c92419 0%,#8d120d 100%);
    color:#ffe7ae;
    font-size:21px;
    line-height:1.25;
    font-weight:800;
    letter-spacing:2.5px;
    text-transform:uppercase;
    box-shadow:
        0 14px 32px rgba(0,0,0,.34),
        inset 0 0 0 3px rgba(255,255,255,.07),
        0 0 22px rgba(255,197,125,.2);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
}

.vhsgb-red-badge span{
    font-size:16px;
}

/* INFO CARD */
.vhsgb-info-card{
    width:100%;
    max-width:680px;
    margin:0 auto;
    padding:16px 28px;
    border:1.6px solid rgba(255,218,143,.76);
    border-radius:32px;
    background:linear-gradient(180deg,rgba(7,70,58,.82),rgba(3,43,36,.92));
    box-shadow:
        0 18px 44px rgba(0,0,0,.34),
        inset 0 0 28px rgba(255,197,125,.065);
    text-align:left;
    backdrop-filter:blur(3px);
}

.vhsgb-info-item{
    display:grid;
    grid-template-columns:86px 1fr;
    align-items:center;
    gap:20px;
    padding:22px 0;
}

.vhsgb-icon{
    width:72px;
    height:72px;
    border-radius:50%;
    border:1.5px solid rgba(255,218,143,.86);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#ffda8f;
    background:
        radial-gradient(circle at 35% 25%,rgba(255,218,143,.16),rgba(255,255,255,.035) 54%,rgba(0,0,0,.14));
    box-shadow:
        inset 0 0 16px rgba(255,197,125,.09),
        0 0 20px rgba(255,197,125,.12);
}

.vhsgb-icon svg{
    width:40px;
    height:40px;
    fill:none;
    stroke:#ffda8f;
    stroke-width:3;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.vhsgb-percent{
    font-size:36px;
    font-weight:800;
    letter-spacing:0;
}

.vhsgb-info-text h3{
    margin:0 0 7px;
    color:#ffda8f;
    font-size:27px;
    line-height:1.18;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
}

.vhsgb-info-text p{
    margin:0;
    color:rgba(255,255,255,.94);
    font-size:21px;
    line-height:1.4;
    font-weight:500;
    letter-spacing:.4px;
}

.vhsgb-divider{
    height:1px;
    width:100%;
    background:linear-gradient(90deg,transparent,rgba(255,218,143,.42),transparent);
    position:relative;
}

.vhsgb-divider::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:7px;
    height:7px;
    transform:translate(-50%,-50%) rotate(45deg);
    background:#ffda8f;
    box-shadow:0 0 10px rgba(255,213,128,.7);
}

/* TABLET */
@media(max-width:1024px){
    .vhsgb-main-title{
        font-size:52px;
    }

    .vhsgb-booking-title{
        font-size:62px;
    }
}

/* MOBILE */
@media(max-width:767px){
    .vhsgb-booking-section{
        padding:34px 14px 42px;
    }

    .vhsgb-booking-section::after{
        inset:9px;
        border-radius:18px;
    }

    .vhsgb-brand{
        margin-bottom:16px;
    }

    .vhsgb-emblem{
        width:54px;
        height:54px;
        margin-bottom:10px;
    }

    .vhsgb-logo-img img{
        padding:7px;
    }

    .vhsgb-brand-sub{
        font-size:12px;
        letter-spacing:3.5px;
    }

    .vhsgb-main-title{
        font-size:38px;
        line-height:1.04;
        letter-spacing:3px;
        margin-bottom:10px;
    }

    .vhsgb-title-line{
        margin:15px auto 12px;
        gap:9px;
    }

    .vhsgb-title-line span{
        width:54px;
    }

    .vhsgb-title-line i{
        width:7px;
        height:7px;
    }

    .vhsgb-sub-title{
        font-size:21px;
        letter-spacing:5px;
        margin-bottom:8px;
    }

    .vhsgb-booking-title{
        font-size:45px;
        line-height:1;
        letter-spacing:3px;
    }

    .vhsgb-red-badge{
        max-width:320px;
        margin:24px auto 22px;
        padding:13px 16px;
        font-size:15px;
        letter-spacing:1.7px;
        gap:9px;
    }

    .vhsgb-info-card{
        padding:10px 16px;
        border-radius:24px;
    }

    .vhsgb-info-item{
        grid-template-columns:62px 1fr;
        gap:13px;
        padding:18px 0;
    }

    .vhsgb-icon{
        width:54px;
        height:54px;
    }

    .vhsgb-icon svg{
        width:31px;
        height:31px;
    }

    .vhsgb-percent{
        font-size:28px;
    }

    .vhsgb-info-text h3{
        font-size:17px;
        letter-spacing:1.2px;
        margin-bottom:5px;
    }

    .vhsgb-info-text p{
        font-size:14.8px;
        line-height:1.38;
    }
}

/* EXTRA SMALL */
@media(max-width:390px){
    .vhsgb-main-title{
        font-size:34px;
        letter-spacing:2.4px;
    }

    .vhsgb-booking-title{
        font-size:40px;
        letter-spacing:2.3px;
    }

    .vhsgb-sub-title{
        font-size:19px;
    }

    .vhsgb-info-text h3{
        font-size:15.8px;
    }

    .vhsgb-info-text p{
        font-size:14px;
    }

    .vhsgb-red-badge{
        font-size:13.5px;
    }
}
.vhsp-reasons-section{
    position:relative;
    width:100%;
    overflow:hidden;
    padding:70px 18px 80px;
    font-family:'Jura', sans-serif;
    color:#fff;
    background:radial-gradient(circle at 50% 95%, rgba(9,126,103,.75) 0%, rgba(3,63,55,.65) 32%, rgba(2,35,31,.95) 72%),linear-gradient(180deg,#073d34 0%,#042923 100%);
}

.vhsp-reasons-bg{
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.55;
    background:
        linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size:42px 100%, 100% 120px;
    mask-image:linear-gradient(to bottom, rgba(0,0,0,.9), rgba(0,0,0,.25));
}
.vhsp-reasons-section:after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(circle at 8% 20%, rgba(245,205,157,.18), transparent 3%),
        radial-gradient(circle at 92% 28%, rgba(225,178,82,.18), transparent 3%),
        radial-gradient(circle at 60% 76%, rgba(255,255,255,.08), transparent 18%);
}

.vhsp-reasons-inner{
    position:relative;
    z-index:2;
    max-width:1320px;
    margin:0 auto;
}

.vhsp-reasons-heading{
    text-align:center;
    margin-bottom:44px;
}

.vhsp-reasons-small{
    font-size:clamp(28px,3.2vw,54px);
    line-height:1.05;
    font-weight:700;
    letter-spacing:2px;
    color:#f7d7c6;
    text-transform:uppercase;
    text-shadow:0 8px 24px rgba(0,0,0,.35);
}

.vhsp-reasons-brand{
    margin-top:10px;
    font-size:clamp(24px,2.6vw,44px);
    line-height:1;
    font-weight:800;
    letter-spacing:5px;
    color:#f8d9c7;
    text-transform:uppercase;
}

.vhsp-reasons-heading h2{
    margin:14px 0 0;
    font-family:Georgia, 'Times New Roman', serif;
    font-size:clamp(48px,7vw,104px);
    line-height:.95;
    font-weight:500;
    letter-spacing:5px;
    color:#f8d7c2;
    text-transform:uppercase;
    text-shadow:0 12px 30px rgba(0,0,0,.42);
    font-size: 50px;
}

.vhsp-reasons-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:26px 34px;
}

.vhsp-reason-card{
    position:relative;
    display:grid;
    grid-template-columns:78px 1fr;
    gap:8px;
    min-height:116px;
    padding:18px 26px 18px 20px;
    border-radius:0 18px 0 18px;
    background:
        linear-gradient(180deg, rgba(7,62,53,.92), rgba(4,45,39,.96));
    border:1px solid rgba(226,244,229,.72);
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.06),
        0 12px 24px rgba(0,0,0,.32);
}

.vhsp-reason-card:before,
.vhsp-reason-card:after{
    content:"";
    position:absolute;
    width:20px;
    height:20px;
    border-color:#e8eee4;
    opacity:.9;
}

.vhsp-reason-card:before{
    top:-5px;
    left:-5px;
    border-top:2px solid;
    border-left:2px solid;
    border-radius:10px 0 0 0;
}

.vhsp-reason-card:after{
    bottom:-5px;
    right:-5px;
    border-bottom:2px solid;
    border-right:2px solid;
    border-radius:0 0 10px 0;
}

.vhsp-reason-card-tall{
    min-height:160px;
}

.vhsp-reason-number{
    font-family:Georgia, 'Times New Roman', serif;
    font-size:clamp(42px,4vw,58px);
    line-height:.92;
    font-weight:700;
    letter-spacing:1px;
    color:#f6c4a8;
    text-shadow:
        0 2px 0 rgba(255,255,255,.25),
        0 8px 18px rgba(0,0,0,.35);
}

.vhsp-reason-content{
    align-self:center;
}

.vhsp-reason-content p{
    margin:0;
    font-size:18px;
    line-height:1.62;
    font-weight:500;
    color:rgba(255,255,255,.92);
}

.vhsp-reason-content strong{
    color:#f1c19e;
    font-weight:800;
}

.vhsp-reason-content ul{
    margin:14px 0 0;
    padding:0;
    list-style:none;
}

.vhsp-reason-content li{
    position:relative;
    margin:7px 0;
    padding-left:24px;
    font-size:17px;
    line-height:1.45;
    color:rgba(255,255,255,.92);
}

.vhsp-reason-content li:before{
    content:"";
    position:absolute;
    left:0;
    top:5px;
    width:14px;
    height:14px;
    border-radius:50% 50% 50% 0;
    transform:rotate(-45deg);
    background:linear-gradient(135deg,#f8d7c2,#bf7e55);
    box-shadow:0 2px 8px rgba(0,0,0,.28);
}

.vhsp-reason-content li:after{
    content:"";
    position:absolute;
    left:4px;
    top:9px;
    width:6px;
    height:6px;
    border-radius:50%;
    background:#fff;
}

/* Tablet */
@media(max-width:1024px){
    .vhsp-reasons-section{
        padding:56px 16px 64px;
    }

    .vhsp-reasons-grid{
        gap:22px;
    }

    .vhsp-reason-card{
        grid-template-columns:64px 1fr;
        padding:17px 20px;
    }

    .vhsp-reason-content p{
        font-size:16px;
        line-height:1.58;
    }

    .vhsp-reason-content li{
        font-size:15.5px;
    }
}

/* Mobile */
@media(max-width:767px){
    .vhsp-reasons-section{
        padding:42px 12px 52px;
        background:
            radial-gradient(circle at 50% 100%, rgba(10,126,101,.7) 0%, rgba(3,55,48,.75) 36%, rgba(2,31,28,.98) 76%),
            linear-gradient(180deg,#06382f 0%,#032722 100%);
    }

    .vhsp-reasons-section:before{
        height:120px;
        top:-45px;
    }

    .vhsp-reasons-heading{
        margin-bottom:30px;
    }

    .vhsp-reasons-small{
        font-size:27px;
        letter-spacing:1px;
    }

    .vhsp-reasons-brand{
        font-size:22px;
        letter-spacing:4px;
    }

    .vhsp-reasons-heading h2{
        font-size:46px;
        line-height:.98;
        letter-spacing:2px;
    }

    .vhsp-reasons-grid{
        grid-template-columns:1fr;
        gap:18px;
    }

    .vhsp-reason-card,
    .vhsp-reason-card-tall{
        min-height:auto;
        grid-template-columns:58px 1fr;
        gap:10px;
        padding:17px 16px 18px;
        border-radius:0 16px 0 16px;
    }

    .vhsp-reason-number{
        font-size:40px;
    }

    .vhsp-reason-content p{
        font-size:15px;
        line-height:1.58;
    }

    .vhsp-reason-content ul{
        margin-top:12px;
    }

    .vhsp-reason-content li{
        font-size:14.5px;
        line-height:1.45;
        padding-left:22px;
    }
}

/* Mobile nhỏ */
@media(max-width:390px){
    .vhsp-reasons-heading h2{
        font-size:40px;
    }

    .vhsp-reasons-small{
        font-size:24px;
    }

    .vhsp-reasons-brand{
        font-size:20px;
    }

    .vhsp-reason-card{
        grid-template-columns:50px 1fr;
        padding:16px 14px;
    }

    .vhsp-reason-number{
        font-size:35px;
    }

    .vhsp-reason-content p{
        font-size:14.3px;
    }
}
.vhsp-youtube-section,
.vhsp-youtube-section *{
    box-sizing:border-box;
    font-family:'Jura', sans-serif!important;
}

.vhsp-youtube-section{
    width:100%;
    padding:70px 16px;
    background:#f7f4ed;
}

.vhsp-youtube-container{
    width:100%;
    max-width:1180px;
    margin:0 auto;
}

.vhsp-youtube-heading{
    text-align:center;
    margin-bottom:28px;
}

.vhsp-youtube-heading span{
    display:inline-flex;
    padding:8px 16px;
    border-radius:999px;
    background:rgba(18,60,47,.08);
    color:#123c2f;
    border:1px solid rgba(18,60,47,.16);
    font-size:13px;
    font-weight:800;
    letter-spacing:.12em;
}

.vhsp-youtube-heading h2{
    margin:14px 0 10px;
    color:#123c2f;
    font-size:clamp(30px, 4vw, 48px);
    font-weight:800;
    line-height:1.18;
    letter-spacing:-.03em;
}

.vhsp-youtube-box{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    border-radius:24px;
    overflow:hidden;
    background:#0c241d;
    border:2px solid rgba(241,204,120,.85);
    box-shadow:0 22px 60px rgba(18,60,47,.22);
}

.vhsp-youtube-box iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
}

@media(max-width:767px){
    .vhsp-youtube-section{
        padding:46px 12px;
    }

    .vhsp-youtube-heading{
        margin-bottom:20px;
    }

    .vhsp-youtube-heading h2{
        font-size:28px;
    }

    .vhsp-youtube-heading p{
        font-size:16px;
    }

    .vhsp-youtube-box{
        border-radius:18px;
    }
}
.e-heading-base a, .e-paragraph-base a { all: unset; cursor: pointer; }form[data-element_type="e-form"].form-state-success [data-element_type="e-form-success-message"],form[data-element_type="e-form"].form-state-error [data-element_type="e-form-error-message"]{ display: block; }
.e-form-textarea-base:not([data-resizable]) { resize: none; } .e-form-submit-button-base { cursor: pointer; box-sizing: border-box; }
.vhsp-hero-lcp,
.vhsp-hero-lcp *{
    box-sizing:border-box;
    font-family:'Jura', sans-serif!important;
}

.vhsp-hero-lcp{
    position:relative;
    width:100%;
    background:#061b18;
}
.vhsp-hero-picture{
    width:100%;
    display:block;
}

.vhsp-hero-img{
    width:100%;
    height:auto;
    display:block;
    object-fit:cover;
    object-position:center center;
}
@media (max-width:767px){
    .vhsp-hero-lcp{
        min-height:auto!important;
        height:auto!important;
        display:block!important;
        background:#061b18;
    }

    .vhsp-hero-picture{
        position:relative!important;
        width:100%!important;
        height:auto!important;
        display:block!important;
    }

    .vhsp-hero-img{
        width:100%!important;
        height:auto!important;
        min-height:0!important;
        display:block!important;
        object-fit:unset!important;
        object-position:center top!important;
    }
}
.vhsp-lux-contact,
.vhsp-lux-contact *{
    box-sizing:border-box;
}

.vhsp-lux-contact{
    position:relative;
    width:100%;
    overflow:hidden;
    padding:68px 18px 0;
    font-family:'Jura', Arial, sans-serif;
    color:#fff;
    background:
        radial-gradient(circle at 15% 8%, rgba(218,177,91,.22), transparent 28%),
        radial-gradient(circle at 85% 18%, rgba(48,145,123,.22), transparent 30%),
        linear-gradient(180deg,#062e28 0%,#041d1a 48%,#020d0c 100%);
}

.vhsp-lux-contact__bg{
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.8;
    background:
        linear-gradient(90deg, transparent 0%, rgba(255,226,154,.07) 48%, transparent 100%),
        repeating-linear-gradient(
        90deg,
        rgba(255,255,255,.035) 0px,
        rgba(255,255,255,.035) 1px,
        transparent 1px,
        transparent 120px
        );
}

.vhsp-lux-contact::before{
    content:"";
    position:absolute;
    left:50%;
    top:-120px;
    width:760px;
    height:360px;
    transform:translateX(-50%);
    border-radius:50%;
    background:radial-gradient(circle, rgba(244,204,121,.22), transparent 66%);
    filter:blur(8px);
    pointer-events:none;
}

.vhsp-lux-contact__inner{
    position:relative;
    z-index:2;
    max-width:1280px;
    margin:0 auto;
}
.vhsp-lux-contact__head{
    max-width:840px;
    margin:0 auto 44px;
    text-align:center;
}

.vhsp-lux-contact__eyebrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 18px;
    margin-bottom:16px;
    border-radius:999px;
    border:1px solid rgba(244,204,121,.42);
    background:rgba(255,255,255,.06);
    color:#f7d88f;
    font-size:12px;
    line-height:1;
    font-weight:800;
    letter-spacing:2.6px;
    text-transform:uppercase;
    box-shadow:0 14px 34px rgba(0,0,0,.22);
}

.vhsp-lux-contact__head h2{
    margin:0;
    color:#f8d98f;
    font-size:clamp(38px,4.6vw,72px);
    line-height:1;
    font-weight:900;
    letter-spacing:8px;
    text-transform:uppercase;
    text-shadow:
        0 0 24px rgba(248,217,143,.32),
        0 3px 0 rgba(78,48,10,.45);
}

.vhsp-lux-contact__head p{
    max-width:720px;
    margin:18px auto 0;
    color:rgba(255,255,255,.78);
    font-size:17px;
    line-height:1.75;
    font-weight:600;
}

.vhsp-lux-contact__line{
    display:flex;
    align-items:center;
    justify-content:center;
    max-width:520px;
    margin:24px auto 0;
}

.vhsp-lux-contact__line span{
    display:block;
    height:1px;
    flex:1;
    background:linear-gradient(90deg, transparent, rgba(248,217,143,.9));
}

.vhsp-lux-contact__line span:last-child{
    background:linear-gradient(90deg, rgba(248,217,143,.9), transparent);
}

.vhsp-lux-contact__line i{
    display:block;
    width:13px;
    height:13px;
    margin:0 12px;
    transform:rotate(45deg);
    background:linear-gradient(135deg,#fff5c8,#c99132);
    box-shadow:0 0 18px rgba(248,217,143,.72);
}
.vhsp-lux-contact__grid{
    display:grid;
    grid-template-columns:1fr 1.12fr .9fr;
    gap:22px;
    align-items:stretch;
    margin-bottom:30px;
}

.vhsp-lux-contact__card{
    position:relative;
    overflow:hidden;
    min-height:100%;
    padding:30px 26px 28px;
    border-radius:28px;
    border:1px solid rgba(248,217,143,.24);
    background:linear-gradient(180deg, rgba(255,255,255,.105), rgba(255,255,255,.045)),rgba(0,0,0,.12);
    box-shadow:0 24px 58px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.14);
    backdrop-filter:blur(10px);
}

.vhsp-lux-contact__card::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at top right, rgba(248,217,143,.13), transparent 38%),linear-gradient(135deg, rgba(255,255,255,.08), transparent 40%);
    pointer-events:none;
}

.vhsp-lux-contact__card--featured{
    border-color:rgba(248,217,143,.46);
    background:
        linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.05)),
        linear-gradient(135deg, rgba(197,139,43,.13), rgba(0,0,0,.08));
    box-shadow:
        0 28px 68px rgba(0,0,0,.32),
        0 0 0 1px rgba(248,217,143,.12),
        inset 0 1px 0 rgba(255,255,255,.16);
}

.vhsp-lux-contact__icon{
    position:relative;
    z-index:2;
    width:64px;
    height:64px;
    margin-bottom:22px;
    border-radius:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#f8d98f;
    font-size:28px;
    line-height:1;
    background:radial-gradient(circle at 30% 20%, rgba(255,247,206,.28), transparent 38%),linear-gradient(135deg, rgba(248,217,143,.16), rgba(255,255,255,.035));
    border:1px solid rgba(248,217,143,.52);
    box-shadow:0 16px 34px rgba(0,0,0,.28),0 0 24px rgba(248,217,143,.16);
}

.vhsp-lux-contact__icon span{
    display:block;
    line-height:1;
}

.vhsp-lux-contact__content{
    position:relative;
    z-index:2;
}

.vhsp-lux-contact__content h3{
    margin:0 0 16px;
    color:#f8d98f;
    font-size:22px;
    line-height:1.28;
    font-weight:900;
    letter-spacing:.5px;
    text-transform:uppercase;
}

.vhsp-lux-contact__label{
    margin:0 0 8px;
    color:rgba(255,255,255,.68);
    font-size:13px;
    line-height:1.4;
    font-weight:800;
    letter-spacing:1.7px;
    text-transform:uppercase;
}

.vhsp-lux-contact__name{
    margin:0 0 20px;
    color:#fff;
    font-size:18px;
    line-height:1.5;
    font-weight:900;
}

.vhsp-lux-contact__name--gold{
    color:#f8d98f;
    text-transform:uppercase;
}

.vhsp-lux-contact__content ul{
    padding:0;
    margin:0;
    list-style:none;
}

.vhsp-lux-contact__content li{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:7px;
    margin:0 0 13px;
    color:rgba(255,255,255,.82);
    font-size:15.5px;
    line-height:1.7;
    font-weight:600;
}

.vhsp-lux-contact__content li strong{
    color:#f3c96c;
    font-weight:900;
    white-space:nowrap;
}

.vhsp-lux-contact__content li span{
    min-width:0;
}

/* LINKS */
.vhsp-lux-contact__links{
    display:grid;
    gap:12px;
    margin-top:18px;
}

.vhsp-lux-contact__links a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    width:100%;
    padding:15px 16px;
    border-radius:16px;
    border:1px solid rgba(248,217,143,.22);
    background:rgba(255,255,255,.055);
    color:rgba(255,255,255,.9)!important;
    text-decoration:none!important;
    font-size:15.5px;
    line-height:1.35;
    font-weight:800;
    transition:all .25s ease;
}

.vhsp-lux-contact__links a em{
    font-style:normal;
    color:#f8d98f;
    transition:transform .25s ease;
}

.vhsp-lux-contact__links a:hover{
    transform:translateY(-2px);
    border-color:rgba(248,217,143,.55);
    background:rgba(248,217,143,.12);
    color:#f8d98f!important;
}

.vhsp-lux-contact__links a:hover em{
    transform:translateX(4px);
}

/* NOTICE */
.vhsp-lux-contact__notice{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:76px 1fr;
    gap:22px;
    max-width:1180px;
    margin:34px auto 34px;
    padding:28px 32px;
    border-radius:28px;
    border:1.5px solid rgba(223,171,74,.65);
    background:
        radial-gradient(circle at top right, rgba(223,171,74,.18), transparent 34%),
        linear-gradient(135deg, #fffaf0 0%, #f6ecd6 100%);
    box-shadow:
        0 28px 70px rgba(0,0,0,.32),
        inset 0 0 0 1px rgba(255,255,255,.82);
}

.vhsp-lux-contact__notice::before{
    content:"";
    position:absolute;
    inset:9px;
    border-radius:22px;
    border:1px solid rgba(202,143,45,.28);
    pointer-events:none;
}

.vhsp-lux-contact__notice-icon{
    position:relative;
    z-index:2;
    width:62px;
    height:62px;
    border-radius:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#bd2f28,#e75b4a);
    color:#fff;
    box-shadow:0 14px 28px rgba(180,42,35,.24);
}

.vhsp-lux-contact__notice-icon span{
    font-size:34px;
    line-height:1;
    font-weight:900;
}

.vhsp-lux-contact__notice-content{
    position:relative;
    z-index:2;
}

.vhsp-lux-contact__notice-content h4{
    margin:0 0 10px;
    color:#9d1d19;
    font-size:21px;
    line-height:1.35;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.4px;
}

.vhsp-lux-contact__notice-content p{
    margin:0;
    color:#15251f;
    font-size:15.5px;
    line-height:1.8;
    font-weight:650;
}

.vhsp-lux-contact__notice-content strong,
.vhsp-lux-contact__notice-content b{
    color:#061d19;
    font-weight:900;
}

/* BOTTOM */
.vhsp-lux-contact__bottom{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:68px;
    border-top:1px solid rgba(248,217,143,.28);
    text-align:center;
}

.vhsp-lux-contact__bottom p{
    margin:0;
    color:#fff;
    font-size:14.5px;
    line-height:1.5;
    font-weight:500;
}

/* TABLET */
@media(max-width:1024px){
    .vhsp-lux-contact{
        padding:58px 16px 0;
    }

    .vhsp-lux-contact__grid{
        grid-template-columns:1fr;
        gap:18px;
    }

    .vhsp-lux-contact__card{
        padding:28px 24px;
    }

    .vhsp-lux-contact__notice{
        grid-template-columns:64px 1fr;
        padding:26px 24px;
    }
}

/* MOBILE */
@media(max-width:767px){
    .vhsp-lux-contact{
        padding:44px 12px 0;
    }

    .vhsp-lux-contact__head{
        margin-bottom:30px;
    }

    .vhsp-lux-contact__eyebrow{
        padding:7px 13px;
        font-size:10.5px;
        letter-spacing:1.8px;
    }

    .vhsp-lux-contact__head h2{
        font-size:38px;
        letter-spacing:5px;
    }

    .vhsp-lux-contact__head p{
        font-size:14.5px;
        line-height:1.7;
    }

    .vhsp-lux-contact__line{
        max-width:310px;
        margin-top:18px;
    }

    .vhsp-lux-contact__grid{
        gap:16px;
        margin-bottom:24px;
    }

    .vhsp-lux-contact__card{
        padding:24px 18px 22px;
        border-radius:22px;
    }

    .vhsp-lux-contact__icon{
        width:58px;
        height:58px;
        border-radius:18px;
        margin-bottom:18px;
        font-size:25px;
    }

    .vhsp-lux-contact__content h3{
        font-size:18px;
        margin-bottom:13px;
    }

    .vhsp-lux-contact__name{
        font-size:16px;
        margin-bottom:16px;
    }

    .vhsp-lux-contact__content li{
        display:block;
        font-size:14.5px;
        line-height:1.72;
        margin-bottom:12px;
    }

    .vhsp-lux-contact__content li strong{
        display:inline;
        white-space:normal;
    }

    .vhsp-lux-contact__links a{
        padding:14px 14px;
        font-size:14.5px;
        border-radius:15px;
    }

    .vhsp-lux-contact__notice{
        grid-template-columns:1fr;
        gap:14px;
        margin:24px auto 28px;
        padding:24px 18px;
        border-radius:22px;
    }

    .vhsp-lux-contact__notice::before{
        inset:7px;
        border-radius:17px;
    }

    .vhsp-lux-contact__notice-icon{
        width:54px;
        height:54px;
        border-radius:17px;
    }

    .vhsp-lux-contact__notice-icon span{
        font-size:30px;
    }

    .vhsp-lux-contact__notice-content h4{
        font-size:17px;
    }

    .vhsp-lux-contact__notice-content p{
        font-size:13.8px;
        line-height:1.75;
    }

    .vhsp-lux-contact__bottom{
        min-height:auto;
        padding:18px 8px;
    }

    .vhsp-lux-contact__bottom p{
        font-size:13px;
    }
}
.vhsp-policy-tabs-css,
.vhsp-policy-tabs-css *{
    box-sizing:border-box;
}

.vhsp-policy-tabs-css{
    width:100%;
    padding:28px 12px;
    font-family:'Jura',sans-serif;
    background:
        radial-gradient(circle at 50% 0%,rgba(80,255,190,.28),transparent 38%),
        linear-gradient(180deg,#063125 0%,#03251d 100%);
    color:#fff8e6;
}

.vhsp-policy-tabs-css > input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.vhsp-policy-box{
    max-width:1120px;
    margin:0 auto;
    padding:28px;
    border-radius:28px;
    border:1px solid rgba(246,205,127,.36);
    background:
        linear-gradient(180deg,rgba(3,72,52,.9),rgba(2,43,32,.98)),
        radial-gradient(circle at 50% 0%,rgba(246,205,127,.14),transparent 45%);
    box-shadow:0 24px 70px rgba(0,0,0,.35);
    overflow:hidden;
}

.vhsp-policy-head{
    text-align:center;
    margin-bottom:24px;
}

.vhsp-brand{
    display:inline-flex;
    padding:8px 18px;
    margin-bottom:12px;
    border-radius:999px;
    border:1px solid rgba(246,205,127,.55);
    color:#f6d27f;
    font-size:13px;
    line-height:1;
    font-weight:800;
    letter-spacing:1px;
    background:rgba(255,255,255,.06);
}

.vhsp-policy-head h2{
    margin:0;
    color:#f7d78a;
    font-size:clamp(30px,5vw,62px);
    line-height:1.05;
    font-weight:800;
    text-transform:uppercase;
    text-shadow:0 8px 26px rgba(0,0,0,.45);
}

.vhsp-policy-head p{
    margin:10px 0 0;
    color:#fff3cf;
    font-size:clamp(16px,2vw,24px);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
}

.vhsp-tab-nav{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
    margin-bottom:18px;
}

.vhsp-tab-nav label{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:12px 10px;
    border-radius:16px;
    border:1px solid rgba(246,205,127,.45);
    background:rgba(1,45,33,.78);
    color:#fff4d4;
    font-size:16px;
    font-weight:800;
    text-align:center;
    cursor:pointer;
    transition:.25s ease;
    user-select:none;
}

.vhsp-tab-nav label:hover{
    transform:translateY(-2px);
    border-color:rgba(246,205,127,.85);
    background:rgba(8,88,63,.88);
}

#vhsp-tab-1:checked ~ .vhsp-policy-box .vhsp-tab-nav label[for="vhsp-tab-1"],
#vhsp-tab-2:checked ~ .vhsp-policy-box .vhsp-tab-nav label[for="vhsp-tab-2"],
#vhsp-tab-3:checked ~ .vhsp-policy-box .vhsp-tab-nav label[for="vhsp-tab-3"],
#vhsp-tab-4:checked ~ .vhsp-policy-box .vhsp-tab-nav label[for="vhsp-tab-4"]{
    color:#073225;
    background:linear-gradient(135deg,#f8dfa0,#c8943d);
    border-color:#f8dfa0;
    box-shadow:0 10px 28px rgba(248,211,126,.24);
}

.vhsp-tab-panel{
    display:none;
    padding:24px;
    border-radius:24px;
    border:1px solid rgba(246,205,127,.48);
    background:
        radial-gradient(circle at 70% 0%,rgba(247,211,126,.12),transparent 36%),
        rgba(1,47,35,.78);
    animation:vhspShow .25s ease;
}

#vhsp-tab-1:checked ~ .vhsp-policy-box .vhsp-panel-1,
#vhsp-tab-2:checked ~ .vhsp-policy-box .vhsp-panel-2,
#vhsp-tab-3:checked ~ .vhsp-policy-box .vhsp-panel-3,
#vhsp-tab-4:checked ~ .vhsp-policy-box .vhsp-panel-4{
    display:block;
}

@keyframes vhspShow{
    from{
        opacity:0;
        transform:translateY(8px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

.vhsp-product-title{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:20px;
}

.vhsp-product-icon{
    flex:0 0 70px;
    width:70px;
    height:70px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:22px;
    color:#f8d98d;
    font-size:38px;
    font-weight:800;
    border:1px solid rgba(246,205,127,.58);
    background:linear-gradient(180deg,rgba(12,95,68,.9),rgba(3,52,38,.95));
}

.vhsp-product-title span{
    color:#f2d18a;
    font-size:14px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.8px;
}

.vhsp-product-title h3{
    margin:4px 0 0;
    color:#fff8df;
    font-size:clamp(22px,3vw,34px);
    line-height:1.18;
    font-weight:800;
    text-transform:uppercase;
}

.vhsp-card-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}

.vhsp-card{
    min-height:190px;
    padding:22px 18px;
    border-radius:20px;
    border:1px solid rgba(246,205,127,.38);
    background:linear-gradient(180deg,rgba(9,86,62,.78),rgba(2,46,34,.9));
    box-shadow:0 12px 30px rgba(0,0,0,.22);
}

.vhsp-card h4{
    margin:0 0 8px;
    color:#f7d78a;
    font-size:30px;
    line-height:1;
    font-weight:800;
}

.vhsp-card p{
    margin:0 0 10px;
    color:#fff8e6;
    font-size:20px;
    line-height:1.35;
    font-weight:700;
}

.vhsp-card strong{
    color:#f8d98d;
    font-size:19px;
    line-height:1.4;
    font-weight:800;
}

.vhsp-card small{
    color:#d8e7dc;
    font-size:14px;
    line-height:1.4;
    font-weight:600;
}

.vhsp-discount-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-top:14px;
}

.vhsp-discount-grid > div{
    padding:20px;
    border-radius:20px;
    border:1px solid rgba(246,205,127,.45);
    background:rgba(0,37,28,.62);
    text-align:center;
}

.vhsp-discount-grid span{
    display:block;
    color:#fff4d4;
    font-size:15px;
    line-height:1.35;
    font-weight:700;
    text-transform:uppercase;
}

.vhsp-discount-grid strong{
    display:block;
    margin-top:8px;
    color:#f7d78a;
    font-size:42px;
    line-height:1;
    font-weight:800;
}

.vhsp-rate-box{
    display:grid;
    grid-template-columns:150px 1fr;
    gap:24px;
    align-items:center;
}

.vhsp-shield{
    width:120px;
    height:138px;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#f7d78a;
    font-size:58px;
    font-weight:800;
    background:linear-gradient(180deg,#0d684b,#073728);
    border:5px solid #f5d486;
    clip-path:polygon(50% 0,92% 17%,84% 74%,50% 100%,16% 74%,8% 17%);
}

.vhsp-rate-content span{
    color:#f7d78a;
    font-size:16px;
    font-weight:800;
    text-transform:uppercase;
}

.vhsp-rate-content h3{
    margin:8px 0 4px;
    color:#fff8df;
    font-size:clamp(24px,3.5vw,42px);
    line-height:1.12;
    font-weight:800;
    text-transform:uppercase;
}

.vhsp-rate{
    color:#f7d78a;
    font-size:clamp(82px,10vw,138px);
    line-height:.9;
    font-weight:800;
    text-shadow:0 10px 30px rgba(0,0,0,.42);
}

.vhsp-rate em{
    font-style:normal;
    font-size:.28em;
}

.vhsp-rate-content p{
    margin:10px 0 0;
    color:#fff8e6;
    font-size:20px;
    line-height:1.45;
    font-weight:650;
}

.vhsp-highlight{
    margin-top:18px;
    padding:18px 20px;
    border-radius:18px;
    border:1px solid rgba(246,205,127,.42);
    background:rgba(0,38,29,.62);
    color:#fff8e6;
    font-size:18px;
    line-height:1.55;
    font-weight:650;
}

.vhsp-highlight strong{
    color:#f7d78a;
}

.vhsp-note-list{
    display:grid;
    gap:14px;
}

.vhsp-note{
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding:18px;
    border-radius:18px;
    border:1px solid rgba(246,205,127,.38);
    background:rgba(0,38,29,.62);
}

.vhsp-note b{
    flex:0 0 44px;
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    color:#073225;
    background:linear-gradient(135deg,#f8dfa0,#c8943d);
    font-size:15px;
    font-weight:800;
}

.vhsp-note p{
    margin:0;
    color:#fff8e6;
    font-size:18px;
    line-height:1.5;
    font-weight:650;
}

@media (max-width:767px){
    .vhsp-policy-tabs-css{
        padding:16px 8px;
    }

    .vhsp-policy-box{
        padding:18px 12px;
        border-radius:22px;
    }

    .vhsp-tab-nav{
        display:flex;
        overflow-x:auto;
        gap:8px;
        padding-bottom:6px;
        -webkit-overflow-scrolling:touch;
    }

    .vhsp-tab-nav label{
        flex:0 0 auto;
        min-width:140px;
        min-height:46px;
        padding:11px 10px;
        font-size:14px;
        border-radius:14px;
    }

    .vhsp-tab-panel{
        padding:18px 12px;
        border-radius:20px;
    }

    .vhsp-product-title{
        align-items:flex-start;
        gap:12px;
    }

    .vhsp-product-icon{
        flex-basis:54px;
        width:54px;
        height:54px;
        border-radius:18px;
        font-size:30px;
    }

    .vhsp-card-grid{
        grid-template-columns:1fr;
    }

    .vhsp-card{
        min-height:auto;
        padding:18px;
    }

    .vhsp-card h4{
        font-size:28px;
    }

    .vhsp-card p{
        font-size:18px;
    }

    .vhsp-discount-grid{
        grid-template-columns:1fr;
    }

    .vhsp-discount-grid strong{
        font-size:38px;
    }

    .vhsp-rate-box{
        grid-template-columns:1fr;
        text-align:center;
    }

    .vhsp-shield{
        width:90px;
        height:104px;
        font-size:42px;
    }

    .vhsp-rate-content p,
    .vhsp-highlight,
    .vhsp-note p{
        font-size:16px;
    }

    .vhsp-note{
        padding:15px;
    }
}
.vhsp-price-flow-title,
.vhsp-price-flow-title *{
    box-sizing:border-box;
}

.vhsp-price-flow-title{
    width:100%;
    padding:24px 12px;
    background:transparent;
}

.vhsp-price-flow-box{
    position:relative;
    max-width:1280px;
    margin:0 auto;
    padding:34px 20px 28px;
    border:2px solid #d0a04a;
    border-radius:28px;
    background:linear-gradient(180deg,#fbf8f1 0%, #f7f0e4 100%);
    box-shadow:
        0 10px 24px rgba(82,61,25,.07),
        inset 0 0 0 1px rgba(255,255,255,.65);
    overflow:hidden;
}

.vhsp-price-flow-box::before{
    content:"";
    position:absolute;
    inset:14px;
    border:1.5px solid rgba(208,160,74,.50);
    border-radius:20px;
    pointer-events:none;
}

.vhsp-price-flow-badge{
    position:relative;
    z-index:2;
    display:table;
    margin:0 auto 20px;
    padding:10px 24px;
    border:1.5px solid #c79035;
    border-radius:999px;
    background:#fffaf1;
    color:#9b691f;
    font-family:'Jura', sans-serif!important;
    font-size:13px;
    line-height:1;
    font-weight:700;
    letter-spacing:1.8px;
    text-transform:uppercase;
    box-shadow:0 4px 10px rgba(92,69,28,.05);
}

.vhsp-price-flow-main{
    position:relative;
    z-index:2;
    margin:0;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:0 .32em;
    text-align:center;
    font-family:'Jura', sans-serif!important;
    font-size:clamp(40px, 5.2vw, 82px);
    line-height:1.08;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.vhsp-price-flow-main span{
    display:inline-block;
    white-space:nowrap;
}

.vhsp-price-flow-green{
    color:#075346;
    text-shadow:
        0 1px 0 rgba(255,255,255,.55),
        0 3px 8px rgba(20,70,58,.14);
    -webkit-text-stroke:.55px rgba(4,59,50,.18);
}

.vhsp-price-flow-gold{
    color:#b77f26;
    text-shadow:
        0 1px 0 rgba(255,255,255,.48),
        0 3px 8px rgba(101,70,22,.14);
    -webkit-text-stroke:.55px rgba(136,88,16,.16);
}

.vhsp-price-flow-line{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-top:20px;
}

.vhsp-price-flow-line span{
    width:170px;
    max-width:22vw;
    height:2px;
    border-radius:999px;
    background:linear-gradient(
        90deg,
        transparent,
        #075346 20%,
        #c79035 80%,
        transparent
        );
}

.vhsp-price-flow-line i{
    width:10px;
    height:10px;
    display:block;
    border-radius:2px;
    transform:rotate(45deg);
    background:#c79035;
    box-shadow:0 0 0 6px rgba(199,144,53,.12);
}

/* MOBILE */
@media (max-width:767px){
    .vhsp-price-flow-title{
        padding:14px 8px;
    }

    .vhsp-price-flow-box{
        padding:26px 12px 22px;
        border-radius:22px;
    }

    .vhsp-price-flow-box::before{
        inset:8px;
        border-radius:16px;
    }

    .vhsp-price-flow-badge{
        margin-bottom:14px;
        padding:8px 14px;
        font-size:10px;
        letter-spacing:1px;
    }

    .vhsp-price-flow-main{
        font-size:clamp(20px, 8.6vw, 30px);
        line-height:1.12;
        letter-spacing:1px;
        gap:0 .22em;
    }

    .vhsp-price-flow-green,
    .vhsp-price-flow-gold{
        -webkit-text-stroke:0;
        text-shadow:
            0 1px 0 rgba(255,255,255,.35),
            0 2px 6px rgba(58,43,17,.10);
    }

    .vhsp-price-flow-line{
        gap:10px;
        margin-top:16px;
    }

    .vhsp-price-flow-line span{
        width:68px;
        max-width:none;
    }

    .vhsp-price-flow-line i{
        width:8px;
        height:8px;
    }
}



.vhsp-title-product-v2,
.vhsp-title-product-v2 *{
    box-sizing:border-box;
}

.vhsp-title-product-v2{
    width:100%;
    padding:24px 12px;
    background:transparent;
}

.vhsp-title-product-v2-box{
    position:relative;
    max-width:1280px;
    margin:0 auto;
    padding:34px 22px 30px;
    border:2px solid #d0a04a;
    border-radius:30px;
    background:
        radial-gradient(circle at top center, rgba(255,255,255,.95) 0%, rgba(255,250,240,.55) 38%, transparent 70%),
        linear-gradient(180deg,#fbf8f1 0%, #f6eddf 100%);
    box-shadow:
        0 14px 34px rgba(82,61,25,.10),
        inset 0 0 0 1px rgba(255,255,255,.75);
    overflow:hidden;
}

.vhsp-title-product-v2-box::before{
    content:"";
    position:absolute;
    inset:14px;
    border:1.5px solid rgba(208,160,74,.50);
    border-radius:22px;
    pointer-events:none;
}

.vhsp-title-product-v2-box::after{
    content:"";
    position:absolute;
    left:50%;
    top:-90px;
    width:520px;
    height:180px;
    transform:translateX(-50%);
    background:radial-gradient(circle, rgba(255,218,145,.38) 0%, transparent 68%);
    pointer-events:none;
}

.vhsp-title-product-v2-badge{
    position:relative;
    z-index:2;
    display:table;
    margin:0 auto 20px;
    padding:10px 24px;
    border:1.5px solid #c79035;
    border-radius:999px;
    background:#fffaf1;
    color:#9b691f;
    font-family:'Jura', sans-serif!important;
    font-size:13px;
    line-height:1;
    font-weight:700;
    letter-spacing:1.8px;
    text-transform:uppercase;
    box-shadow:0 5px 14px rgba(92,69,28,.08);
}

.vhsp-title-product-v2-main{
    position:relative;
    z-index:2;
    margin:0;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:0 .34em;
    text-align:center;
    font-family:'Jura', sans-serif!important;
    font-size:clamp(42px, 5.4vw, 84px);
    line-height:1.06;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.vhsp-title-product-v2-main span{
    display:inline-block;
    white-space:nowrap;
}

.vhsp-title-product-v2-green{
    color:#075346;
    text-shadow:
        0 1px 0 rgba(255,255,255,.65),
        0 4px 10px rgba(20,70,58,.16);
    -webkit-text-stroke:.55px rgba(4,59,50,.18);
}

.vhsp-title-product-v2-gold{
    color:#b77f26;
    text-shadow:
        0 1px 0 rgba(255,255,255,.55),
        0 4px 10px rgba(101,70,22,.16);
    -webkit-text-stroke:.55px rgba(136,88,16,.16);
}

.vhsp-title-product-v2-decor{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-top:22px;
}

.vhsp-title-product-v2-decor span{
    width:170px;
    max-width:22vw;
    height:2px;
    border-radius:999px;
    background:linear-gradient(
        90deg,
        transparent,
        #075346 20%,
        #c79035 80%,
        transparent
        );
}

.vhsp-title-product-v2-decor i{
    width:10px;
    height:10px;
    display:block;
    border-radius:2px;
    transform:rotate(45deg);
    background:#c79035;
    box-shadow:0 0 0 6px rgba(199,144,53,.13);
}

@media (max-width:1024px){
    .vhsp-title-product-v2-main{
        font-size:clamp(42px, 7vw, 68px);
    }
}
@media (max-width:767px){
    .vhsp-title-product-v2{
        padding:14px 8px;
    }

    .vhsp-title-product-v2-box{
        padding:28px 12px 24px;
        border-radius:24px;
    }

    .vhsp-title-product-v2-box::before{
        inset:8px;
        border-radius:18px;
    }

    .vhsp-title-product-v2-badge{
        margin-bottom:15px;
        padding:8px 15px;
        font-size:10px;
        letter-spacing:1px;
    }

    .vhsp-title-product-v2-main{
        display:block;
        font-size:46px!important;
        line-height:1.02!important;
        letter-spacing:.3px!important;
    }

    .vhsp-title-product-v2-main span{
        display:block;
        white-space:normal;
    }

    .vhsp-title-product-v2-green{
        margin-bottom:4px;
    }

    .vhsp-title-product-v2-green,
    .vhsp-title-product-v2-gold{
        -webkit-text-stroke:0;
        text-shadow:
            0 1px 0 rgba(255,255,255,.42),
            0 3px 7px rgba(58,43,17,.12);
    }

    .vhsp-title-product-v2-decor{
        gap:10px;
        margin-top:18px;
    }

    .vhsp-title-product-v2-decor span{
        width:78px;
        max-width:none;
    }

    .vhsp-title-product-v2-decor i{
        width:8px;
        height:8px;
    }
}
@media (max-width:390px){
    .vhsp-title-product-v2-main{
        font-size:30px!important;
    }

    .vhsp-title-product-v2-badge{
        font-size:9.5px;
        padding:8px 13px;
    }
}
.sgp-prod-section,
.sgp-prod-section *{
    box-sizing:border-box;
    font-family:'Jura', Arial, sans-serif!important;
}

.sgp-prod-section{
    width:100%;
    padding:32px 18px;
    background:linear-gradient(180deg,#f5ecd9 0%,#fff7e8 100%);
    overflow:hidden;
}

/* DESKTOP */
.sgp-prod-list{
    width:100%;
    max-width:1480px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    align-items:stretch;
}

.sgp-prod-card{
    position:relative;
    min-width:0;
    overflow:hidden;
    border-radius:28px;
    padding:24px 22px 26px;
    background:
        radial-gradient(circle at 0% 0%,rgba(255,255,255,.92) 0%,rgba(255,255,255,0) 34%),
        radial-gradient(circle at 100% 100%,rgba(255,255,255,.72) 0%,rgba(255,255,255,0) 35%),
        linear-gradient(180deg,#fffaf0 0%,#fbf1dd 100%);
    border:1px solid rgba(207,164,88,.42);
    box-shadow:0 18px 42px rgba(26,55,39,.12);
    display:flex;
    flex-direction:column;
    gap:18px;
}

.sgp-prod-card::before{
    content:"";
    position:absolute;
    width:360px;
    height:360px;
    left:-190px;
    top:-150px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.75);
}

.sgp-prod-card::after{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    right:-220px;
    bottom:-200px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.7);
}

.sgp-prod-brand,
.sgp-prod-heading,
.sgp-prod-image,
.sgp-prod-info,
.sgp-prod-support,
.sgp-prod-button{
    position:relative;
    z-index:2;
}

/* BRAND */
.sgp-prod-brand{
    text-align:center;
    color:#06432c;
}

.sgp-prod-star{
    font-size:20px;
    line-height:1;
    margin-bottom:10px;
}

.sgp-prod-brand-text{
    font-size:15px;
    line-height:1.1;
    font-weight:700;
    letter-spacing:2.5px;
    white-space:nowrap;
}

.sgp-prod-decor{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-top:13px;
}

.sgp-prod-decor span{
    width:68px;
    height:1px;
    background:linear-gradient(90deg,transparent,#c49549,transparent);
}

.sgp-prod-decor i{
    width:9px;
    height:9px;
    display:block;
    background:#c49549;
    transform:rotate(45deg);
}

/* HEADING */
.sgp-prod-heading{
    min-height:128px;
    text-align:center;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
}

.sgp-prod-heading h3{
    margin:0;
    color:#06432c;
    font-size:clamp(30px,2.1vw,42px);
    line-height:1.12;
    font-weight:700;
    letter-spacing:1.8px;
    text-transform:uppercase;
}

.sgp-prod-heading p{
    margin:16px 0 0;
    color:#765326;
    font-size:clamp(18px,1.2vw,24px);
    line-height:1.25;
    font-weight:500;
}

/* IMAGE */
.sgp-prod-image{
    width:100%;
    aspect-ratio:16/9;
    overflow:hidden;
    border-radius:22px;
    border:1px solid rgba(199,154,79,.55);
    box-shadow:0 12px 26px rgba(30,54,39,.16);
}

.sgp-prod-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center center;
}

.sgp-prod-image-2 img{
    object-position:center 72%;
}

/* INFO */
.sgp-prod-info{
    width:100%;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}

.sgp-prod-info-item{
    min-width:0;
    min-height:74px;
    padding:8px 6px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    border-radius:14px;
    background:rgba(255,255,255,.58);
    border:1px solid rgba(10,67,43,.48);
    overflow:hidden;
}

.sgp-prod-icon{
    width:32px;
    height:32px;
    flex:0 0 32px;
    border-radius:9px;
    background:#064b2f;
    color:#fff4da;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:15px;
    font-weight:700;
}

.sgp-prod-info-text{
    min-width:0;
}

.sgp-prod-info-text span{
    display:block;
    color:#164330;
    font-size:11.5px;
    line-height:1.1;
    font-weight:600;
    white-space:nowrap;
}

.sgp-prod-info-text strong{
    display:block;
    margin-top:5px;
    color:#06432c;
    font-size:16px;
    line-height:1;
    font-weight:700;
    white-space:nowrap;
}

/* SUPPORT */
.sgp-prod-support{
    margin-top:auto;
    text-align:center;
    color:#06432c;
    font-size:22px;
    line-height:1.25;
    font-weight:700;
    letter-spacing:.4px;
}

/* BUTTON */
.sgp-prod-button{
    width:100%;
    max-width:390px;
    min-width:0;
    height:56px;
    margin:0 auto;
    padding:0 10px 0 22px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    text-decoration:none!important;
    color:#f5cb80!important;
    background:linear-gradient(180deg,#075936 0%,#043d27 100%);
    border:2px solid #d5a151;
    box-shadow:0 12px 26px rgba(9,58,35,.25);
    overflow:hidden;
}

.sgp-prod-button span{
    min-width:0;
    color:#fff;
    font-size:21px;
    line-height:1.1;
    font-weight:700;
    letter-spacing:.5px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.sgp-prod-button b{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    border:1.7px solid #d5a151;
    color:#f5cb80;
    font-size:21px;
    font-weight:700;
}

/* LAPTOP NHỎ */
@media(max-width:1366px){
    .sgp-prod-list{
        max-width:1180px;
        gap:18px;
    }

    .sgp-prod-card{
        padding:20px 16px 22px;
        gap:16px;
    }

    .sgp-prod-brand-text{
        font-size:13px;
        letter-spacing:2px;
    }

    .sgp-prod-heading{
        min-height:116px;
    }

    .sgp-prod-heading h3{
        font-size:31px;
        letter-spacing:1.4px;
    }

    .sgp-prod-heading p{
        font-size:18px;
    }

    .sgp-prod-info{
        gap:6px;
    }

    .sgp-prod-info-item{
        min-height:66px;
        gap:5px;
        padding:7px 4px;
    }

    .sgp-prod-icon{
        width:28px;
        height:28px;
        flex-basis:28px;
        font-size:13px;
    }

    .sgp-prod-info-text span{
        font-size:10px;
    }

    .sgp-prod-info-text strong{
        font-size:14px;
    }

    .sgp-prod-support{
        font-size:19px;
    }

    .sgp-prod-button{
        height:52px;
        max-width:340px;
    }

    .sgp-prod-button span{
        font-size:18px;
    }

    .sgp-prod-button b{
        width:34px;
        height:34px;
        flex-basis:34px;
        font-size:19px;
    }
}

/* TABLET */
@media(max-width:1024px){
    .sgp-prod-list{
        grid-template-columns:1fr;
        max-width:620px;
    }

    .sgp-prod-card{
        gap:18px;
    }

    .sgp-prod-heading{
        min-height:auto;
    }

    .sgp-prod-heading h3{
        font-size:40px;
    }

    .sgp-prod-heading p{
        font-size:23px;
    }

    .sgp-prod-info-item{
        min-height:76px;
    }

    .sgp-prod-info-text span{
        font-size:13px;
    }

    .sgp-prod-info-text strong{
        font-size:19px;
    }

    .sgp-prod-button{
        max-width:440px;
    }

    .sgp-prod-button span{
        font-size:23px;
    }
}

/* MOBILE - TRƯỢT NGANG */
@media(max-width:767px){
    .sgp-prod-section{
        padding:18px 0;
    }

    .sgp-prod-list{
        display:flex;
        gap:14px;
        overflow-x:auto;
        overflow-y:hidden;
        max-width:none;
        padding:0 12px 12px;
        scroll-snap-type:x mandatory;
        -webkit-overflow-scrolling:touch;
    }

    .sgp-prod-list::-webkit-scrollbar{
        height:5px;
    }

    .sgp-prod-list::-webkit-scrollbar-track{
        background:rgba(6,67,44,.10);
        border-radius:999px;
    }

    .sgp-prod-list::-webkit-scrollbar-thumb{
        background:#06432c;
        border-radius:999px;
    }

    .sgp-prod-card{
        flex:0 0 88%;
        min-width:88%;
        width:88%;
        border-radius:22px;
        padding:18px 12px 22px;
        gap:14px;
        scroll-snap-align:center;
    }

    .sgp-prod-star{
        font-size:18px;
        margin-bottom:8px;
    }

    .sgp-prod-brand-text{
        font-size:12.5px;
        letter-spacing:1.6px;
    }

    .sgp-prod-decor{
        margin-top:10px;
    }

    .sgp-prod-decor span{
        width:56px;
    }

    .sgp-prod-heading{
        min-height:auto;
    }

    .sgp-prod-heading h3{
        font-size:27px;
        line-height:1.12;
        letter-spacing:.8px;
    }

    .sgp-prod-heading p{
        margin-top:10px;
        font-size:16px;
    }

    .sgp-prod-image{
        border-radius:17px;
        aspect-ratio:16/10;
    }

    .sgp-prod-image-2 img{
        object-position:center 72%;
    }

    .sgp-prod-info{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:6px;
    }

    .sgp-prod-info-item{
        min-height:62px;
        justify-content:center;
        padding:7px 4px;
        gap:4px;
        border-radius:11px;
    }

    .sgp-prod-icon{
        width:27px;
        height:27px;
        flex:0 0 27px;
        border-radius:8px;
        font-size:13px;
    }

    .sgp-prod-info-text span{
        font-size:9.5px;
        line-height:1.1;
        white-space:nowrap;
    }

    .sgp-prod-info-text strong{
        font-size:13px;
        line-height:1;
        white-space:nowrap;
    }

    .sgp-prod-support{
        font-size:16px;
        line-height:1.35;
        padding:0 4px;
    }

    .sgp-prod-button{
        width:100%;
        max-width:none;
        height:52px;
        padding:0 10px 0 18px;
    }

    .sgp-prod-button span{
        font-size:16px;
        letter-spacing:.2px;
    }

    .sgp-prod-button b{
        width:34px;
        height:34px;
        flex-basis:34px;
        font-size:20px;
    }
}

/* MOBILE NHỎ */
@media(max-width:390px){
    .sgp-prod-card{
        flex-basis:90%;
        min-width:90%;
        width:90%;
        padding-left:10px;
        padding-right:10px;
    }

    .sgp-prod-heading h3{
        font-size:24px;
    }

    .sgp-prod-heading p{
        font-size:15px;
    }

    .sgp-prod-info{
        gap:5px;
    }

    .sgp-prod-info-item{
        padding:6px 3px;
        gap:3px;
    }

    .sgp-prod-icon{
        width:25px;
        height:25px;
        flex-basis:25px;
        font-size:12px;
    }

    .sgp-prod-info-text span{
        font-size:8.8px;
    }

    .sgp-prod-info-text strong{
        font-size:12px;
    }

    .sgp-prod-support{
        font-size:15px;
    }

    .sgp-prod-button span{
        font-size:15px;
    }
}
.vhsp-layout-gallery,
.vhsp-layout-gallery *{
    box-sizing:border-box;
    font-family:'Jura', sans-serif!important;
}

.vhsp-layout-gallery{
    width:100%;
    padding:88px 20px;
    background:
        radial-gradient(circle at top left, rgba(241,204,120,.18), transparent 32%),
        radial-gradient(circle at bottom right, rgba(255,255,255,.08), transparent 34%),
        linear-gradient(135deg, #061b18 0%, #103c33 48%, #061614 100%);
    color:#fff;
    overflow:hidden;
}

.vhsp-layout-container{
    width:100%;
    max-width:1240px;
    margin:0 auto;
}

.vhsp-layout-heading{
    max-width:820px;
    margin:0 auto 46px;
    text-align:center;
}

.vhsp-layout-heading span{
    display:inline-flex;
    padding:9px 18px;
    border-radius:999px;
    border:1px solid rgba(241,204,120,.5);
    background:rgba(241,204,120,.09);
    color:#f1cc78;
    font-size:13px;
    font-weight:900;
    letter-spacing:2px;
}

.vhsp-layout-heading h2{
    margin:18px 0 16px;
    color:#fff8e6;
    font-size:clamp(32px, 4.5vw, 60px);
    font-weight:900;
    line-height:1.08;
    letter-spacing:-1.4px;
}

.vhsp-layout-heading p{
    margin:0;
    color:rgba(255,255,255,.78);
    font-size:17px;
    font-weight:500;
    line-height:1.75;
}

.vhsp-layout-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:22px;
}

.vhsp-layout-item{
    position:relative;
    border-radius:28px;
    overflow:hidden;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 22px 60px rgba(0,0,0,.25);
    transition:.28s ease;
}

.vhsp-layout-item:hover{
    transform:translateY(-6px);
    border-color:rgba(241,204,120,.48);
    box-shadow:0 30px 80px rgba(0,0,0,.36);
}

.vhsp-layout-img{
    width:100%;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#0b2924;
    position:relative;
}

.vhsp-layout-img:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, transparent 45%, rgba(0,0,0,.44) 100%);
    pointer-events:none;
    z-index:2;
}

.vhsp-layout-img img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:.45s ease;
    position:relative;
    z-index:1;
}

.vhsp-layout-item:hover .vhsp-layout-img img{
    transform:scale(1.055);
}

.vhsp-layout-info{
    padding:20px 20px 22px;
    min-height:188px;
    background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
}

.vhsp-layout-info span{
    display:inline-flex;
    margin-bottom:10px;
    padding:6px 11px;
    border-radius:999px;
    background:rgba(241,204,120,.12);
    border:1px solid rgba(241,204,120,.32);
    color:#f1cc78;
    font-size:11.5px;
    font-weight:900;
    letter-spacing:1px;
}

.vhsp-layout-info h3{
    margin:0 0 10px;
    color:#fff;
    font-size:21px;
    font-weight:900;
    line-height:1.25;
}

.vhsp-layout-info p{
    margin:0;
    color:rgba(255,255,255,.72);
    font-size:14.5px;
    font-weight:500;
    line-height:1.62;
}

.vhsp-layout-disclaimer{
    margin:28px auto 0;
    max-width:900px;
    padding:14px 18px;
    border-radius:18px;
    text-align:center;
    color:rgba(255,255,255,.66);
    font-size:13px;
    font-weight:500;
    line-height:1.55;
    background:rgba(0,0,0,.18);
    border:1px solid rgba(255,255,255,.09);
}

/* Tablet */
@media (max-width:1024px){
    .vhsp-layout-gallery{
        padding:72px 18px;
    }

    .vhsp-layout-grid{
        grid-template-columns:repeat(2, 1fr);
    }
}

/* Mobile */
@media (max-width:767px){
    .vhsp-layout-gallery{
        padding:56px 14px;
    }

    .vhsp-layout-heading{
        text-align:left;
        margin-bottom:28px;
    }

    .vhsp-layout-heading span{
        font-size:11.5px;
        padding:8px 14px;
        letter-spacing:1.4px;
    }

    .vhsp-layout-heading h2{
        font-size:28px;
        line-height:1.15;
        letter-spacing:-.7px;
    }

    .vhsp-layout-heading p{
        font-size:15px;
        line-height:1.65;
    }

    .vhsp-layout-grid{
        display:flex;
        overflow-x:auto;
        gap:15px;
        padding:2px 2px 12px;
        scroll-snap-type:x mandatory;
        -webkit-overflow-scrolling:touch;
    }

    .vhsp-layout-grid::-webkit-scrollbar{
        height:0;
    }

    .vhsp-layout-item{
        min-width:84%;
        scroll-snap-align:start;
        border-radius:24px;
    }

    .vhsp-layout-img{
        aspect-ratio:16/10;
    }

    .vhsp-layout-info{
        min-height:178px;
        padding:18px;
    }

    .vhsp-layout-info span{
        font-size:11px;
    }

    .vhsp-layout-info h3{
        font-size:20px;
    }

    .vhsp-layout-info p{
        font-size:14px;
    }

    .vhsp-layout-disclaimer{
        text-align:left;
        font-size:12.5px;
    }
}
.vhsp-brand-section,
.vhsp-brand-section *{
    box-sizing:border-box;
}

.vhsp-brand-section{
    width:100%;
    padding:24px 12px;
    background:#F4EBD8;
}

.vhsp-brand-card{
    position:relative;
    max-width:760px;
    margin:0 auto;
    padding:28px 20px 26px;
    text-align:center;
    border-radius:24px;
    background:
        radial-gradient(circle at top center, rgba(255,255,255,.68) 0%, rgba(255,255,255,.28) 46%, rgba(244,235,216,.08) 100%),
        linear-gradient(180deg, rgba(255,255,255,.30), rgba(255,255,255,.08));
    border:1.5px solid rgba(205,154,68,.55);
    box-shadow:
        0 10px 24px rgba(86,62,25,.07),
        inset 0 0 0 1px rgba(255,255,255,.55);
    overflow:hidden;
}

.vhsp-brand-card::before{
    content:"";
    position:absolute;
    inset:10px;
    border-radius:18px;
    border:1px solid rgba(205,154,68,.36);
    pointer-events:none;
}

.vhsp-logo-wrap{
    position:relative;
    z-index:2;
    width:min(150px, 42vw);
    margin:0 auto 16px;
}

.vhsp-logo-wrap img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
    filter:
        drop-shadow(0 5px 10px rgba(130,89,27,.12))
        drop-shadow(0 0 12px rgba(210,166,82,.12));
}

.vhsp-brand-title{
    position:relative;
    z-index:2;
    font-family:'Jura', sans-serif!important;
    text-transform:uppercase;
}

.vhsp-brand-main{
    color:#075346;
    font-size:clamp(30px, 4.6vw, 60px);
    line-height:1;
    font-weight:700;
    letter-spacing:.20em;
    text-shadow:
        0 1px 0 rgba(255,255,255,.38),
        0 5px 12px rgba(28,56,47,.09);
}

.vhsp-brand-sub{
    margin-top:10px;
    font-size:clamp(22px, 3.5vw, 42px);
    line-height:1.05;
    font-weight:700;
    letter-spacing:.14em;
    background:linear-gradient(
        90deg,
        #075346 0%,
        #0b5d4e 42%,
        #8c7134 68%,
        #c7943c 100%
        );
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
}

.vhsp-brand-line{
    position:relative;
    z-index:2;
    margin:20px auto 0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
}

.vhsp-brand-line span{
    width:170px;
    max-width:26vw;
    height:1.5px;
    border-radius:999px;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(7,83,70,.70),
        rgba(199,148,60,.90),
        transparent
        );
}

.vhsp-brand-line i{
    width:8px;
    height:8px;
    display:block;
    border-radius:2px;
    transform:rotate(45deg);
    background:#c7943c;
    box-shadow:0 0 0 5px rgba(199,148,60,.10);
}

@media (max-width:767px){
    .vhsp-brand-section{
        padding:18px 8px;
    }

    .vhsp-brand-card{
        max-width:100%;
        padding:22px 12px 20px;
        border-radius:20px;
    }

    .vhsp-brand-card::before{
        inset:7px;
        border-radius:15px;
    }

    .vhsp-logo-wrap{
        width:min(120px, 44vw);
        margin-bottom:14px;
    }

    .vhsp-brand-main{
        font-size:clamp(28px, 9vw, 42px);
        letter-spacing:.12em;
    }

    .vhsp-brand-sub{
        margin-top:8px;
        font-size:clamp(20px, 6.8vw, 32px);
        letter-spacing:.09em;
    }

    .vhsp-brand-line{
        margin-top:16px;
        gap:8px;
    }

    .vhsp-brand-line span{
        width:62px;
        max-width:none;
    }

    .vhsp-brand-line i{
        width:7px;
        height:7px;
    }
}
.mobile-overview-pro,
.mobile-overview-pro * {
    box-sizing: border-box;
}

.mobile-overview-pro {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 34px 16px;
    font-family: 'Jura', sans-serif;
    background: linear-gradient(180deg, #f8fbf6 0%, #eef7ef 100%);
    border-radius: 26px;
    overflow: hidden;
}

.mobile-overview-pro .overview-label {
    width: fit-content;
    margin: 0 auto 12px;
    padding: 7px 16px;
    border-radius: 999px;
    background: rgba(22, 59, 55, 0.08);
    border: 1px solid rgba(22, 59, 55, 0.16);
    color: #163b37;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

.mobile-overview-pro h2 {
    margin: 0;
    text-align: center;
    font-size: clamp(25px, 5vw, 42px);
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -0.5px;
    color: #143d35;
}

.mobile-overview-pro .overview-intro {
    max-width: 720px;
    margin: 14px auto 26px;
    text-align: center;
    color: #50665f;
    font-size: 17.5px;
    line-height: 1.6;
    font-weight: 700;
}

.mobile-overview-pro .overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.mobile-overview-pro .overview-card {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 18px 16px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(22, 59, 55, 0.1);
    box-shadow: 0 12px 30px rgba(22, 59, 55, 0.08);
    overflow: hidden;
}

.mobile-overview-pro .overview-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 197, 125, 0.18), transparent 42%);
    pointer-events: none;
}

.mobile-overview-pro .overview-icon {
    position: relative;
    z-index: 2;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #163b37, #28675c);
    color: #ffd89a;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(22, 59, 55, 0.2);
}

.mobile-overview-pro .overview-content {
    position: relative;
    z-index: 2;
    min-width: 0;
}

.mobile-overview-pro .overview-content h3 {
    margin: 0 0 6px;
    color: #163b37;
    font-size: 17.5px;
    line-height: 1.25;
    font-weight: 800;
}

.mobile-overview-pro .overview-content p {
    margin: 0;
    color: #546861;
    font-size: 16px;
    line-height: 1.45;
    font-weight: 600;
}

.mobile-overview-pro .overview-note {
    margin: 22px 0 0;
    padding: 13px 16px;
    text-align: center;
    border-radius: 16px;
    background: rgba(22, 59, 55, 0.06);
    color: #65756f;
    font-size: 13.5px;
    line-height: 1.5;
    font-weight: 600;
}

/* Tablet */
@media (max-width: 767px) {
    .mobile-overview-pro {
        padding: 28px 12px;
        border-radius: 22px;
    }

    .mobile-overview-pro .overview-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .mobile-overview-pro .overview-card {
        min-height: auto;
        padding: 16px 14px;
        border-radius: 18px;
    }

    .mobile-overview-pro .overview-icon {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
        border-radius: 13px;
        font-size: 12px;
    }

    .mobile-overview-pro .overview-content h3 {
        font-size: 18px;
    }

    .mobile-overview-pro .overview-content p {
        font-size: 16.8px;
    }
}

/* Mobile nhỏ */
@media (max-width: 390px) {
    .mobile-overview-pro h2 {
        font-size: 24px;
    }

    .mobile-overview-pro .overview-intro {
        font-size: 16px;
    }

    .mobile-overview-pro .overview-card {
        gap: 11px;
    }
}
.vhsp-location-title,
.vhsp-location-title *{
    box-sizing:border-box;
}

.vhsp-location-title{
    width:100%;
    padding:24px 12px;
    background:transparent;
}

.vhsp-location-title-box{
    position:relative;
    max-width:1280px;
    margin:0 auto;
    padding:34px 20px 28px;
    border:2px solid #d0a04a;
    border-radius:28px;
    background:linear-gradient(180deg,#fbf8f1 0%, #f7f0e4 100%);
    box-shadow:
        0 10px 24px rgba(82,61,25,.07),
        inset 0 0 0 1px rgba(255,255,255,.65);
    overflow:hidden;
}

.vhsp-location-title-box::before{
    content:"";
    position:absolute;
    inset:14px;
    border:1.5px solid rgba(208,160,74,.50);
    border-radius:20px;
    pointer-events:none;
}

.vhsp-location-badge{
    position:relative;
    z-index:2;
    display:table;
    margin:0 auto 18px;
    padding:10px 24px;
    border:1.5px solid #c79035;
    border-radius:999px;
    background:#fffaf1;
    color:#9b691f;
    font-family:'Jura', sans-serif!important;
    font-size:13px;
    line-height:1;
    font-weight:700;
    letter-spacing:1.8px;
    text-transform:uppercase;
    box-shadow:0 4px 10px rgba(92,69,28,.05);
}

.vhsp-location-main{
    position:relative;
    z-index:2;
    margin:0;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:0 .32em;
    text-align:center;
    font-family:'Jura', sans-serif!important;
    font-size:clamp(56px, 7vw, 80px)!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:2px;
    text-transform:uppercase;
}

.vhsp-location-main span{
    display:inline-block;
    white-space:nowrap;
}

.vhsp-location-green{
    color:#075346;
    text-shadow:0 3px 8px rgba(20,70,58,.12);
    -webkit-text-stroke:.45px rgba(4,59,50,.14);
}

.vhsp-location-gold{
    color:#b77f26;
    text-shadow:0 3px 8px rgba(101,70,22,.12);
    -webkit-text-stroke:.45px rgba(136,88,16,.13);
}

.vhsp-location-line{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-top:20px;
}

.vhsp-location-line span{
    width:180px;
    max-width:24vw;
    height:2px;
    border-radius:999px;
    background:linear-gradient(
        90deg,
        transparent,
        #075346 20%,
        #c79035 80%,
        transparent
        );
}

.vhsp-location-line i{
    width:10px;
    height:10px;
    display:block;
    border-radius:2px;
    transform:rotate(45deg);
    background:#c79035;
    box-shadow:0 0 0 6px rgba(199,144,53,.12);
}

@media (max-width:767px){
    .vhsp-location-title{
        padding:14px 8px;
    }

    .vhsp-location-title-box{
        padding:24px 12px 20px;
        border-radius:22px;
    }

    .vhsp-location-title-box::before{
        inset:8px;
        border-radius:16px;
    }

    .vhsp-location-badge{
        margin-bottom:13px;
        padding:8px 14px;
        font-size:10px;
        letter-spacing:1px;
    }

    .vhsp-location-main{
        font-size:clamp(22px, 12vw, 36px)!important;
        line-height:1.04!important;
        letter-spacing:1px;
        gap:0 .22em;
    }

    .vhsp-location-green,
    .vhsp-location-gold{
        -webkit-text-stroke:0;
        text-shadow:0 2px 6px rgba(58,43,17,.10);
    }

    .vhsp-location-line{
        gap:10px;
        margin-top:16px;
    }

    .vhsp-location-line span{
        width:72px;
        max-width:none;
    }

    .vhsp-location-line i{
        width:8px;
        height:8px;
    }
}
.vhsp-infra-section{
    position:relative;
    width:100%;
    overflow:hidden;
    padding:70px 18px;
    background:#031f1a;
    font-family:'Jura', Arial, sans-serif!important;
    color:#fff;
}

.vhsp-infra-section *{
    box-sizing:border-box;
    font-family:'Jura', Arial, sans-serif!important;
}

.vhsp-infra-bg{
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg, rgba(0,20,16,.92), rgba(0,37,29,.94)),
        radial-gradient(circle at 50% 0%, rgba(255,204,112,.2), transparent 35%),
        var(--wpr-bg-403d1115-82e9-402b-a957-f09b8f926e3d);
    background-size:cover;
    background-position:center;
}

.vhsp-infra-section:before{
    content:"";
    position:absolute;
    inset:14px;
    border:1px solid rgba(255,210,125,.65);
    pointer-events:none;
    z-index:2;
}

.vhsp-infra-section:after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg, transparent 0%, rgba(255,210,125,.08) 50%, transparent 100%),
        radial-gradient(circle at bottom center, rgba(255,190,77,.38), transparent 26%);
    pointer-events:none;
}

.vhsp-infra-wrap{
    position:relative;
    z-index:3;
    width:100%;
    max-width:1180px;
    margin:0 auto;
    text-align:center;
}

.vhsp-infra-heading h2{
    margin:0;
    color:#ffd987;
    font-size:74px;
    line-height:1.03;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    text-shadow:
        0 2px 0 #7b4a0b,
        0 4px 0 #2f1b05,
        0 12px 28px rgba(0,0,0,.6),
        0 0 24px rgba(255,205,112,.42);
}

.vhsp-infra-year{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:20px;
    padding:8px 34px;
    color:#ffdda0;
    font-size:34px;
    font-weight:700;
    letter-spacing:1px;
    border:1px solid rgba(255,210,125,.85);
    background:rgba(0,42,34,.78);
    clip-path:polygon(9% 0, 91% 0, 100% 50%, 91% 100%, 9% 100%, 0 50%);
    box-shadow:0 0 22px rgba(255,197,93,.22);
}

/* DESKTOP: năm và hình đi chung theo từng cột */
.vhsp-infra-track{
    position:relative;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
    margin-top:56px;
}

.vhsp-infra-track:before{
    content:"";
    position:absolute;
    left:8%;
    right:8%;
    top:21px;
    height:3px;
    background:linear-gradient(90deg, transparent, #ffd471, #fff0bd, #ffd471, transparent);
    box-shadow:0 0 18px rgba(255,213,113,.9);
}

.vhsp-infra-item{
    position:relative;
    min-width:0;
}

.vhsp-time-box{
    position:relative;
    z-index:3;
    min-height:148px;
    text-align:center;
}

.vhsp-dot{
    width:42px;
    height:42px;
    margin:0 auto 18px;
    border-radius:50%;
    border:2px solid #ffe6a6;
    background:
        radial-gradient(circle, #fff 0 18%, #ffd25f 19% 36%, #113d34 38% 100%);
    box-shadow:
        0 0 0 7px rgba(255,211,102,.12),
        0 0 22px rgba(255,211,102,.85);
}

.vhsp-time-box h3{
    margin:0 0 8px;
    color:#ffd987;
    font-size:34px;
    line-height:1;
    font-weight:700;
    letter-spacing:1px;
    text-shadow:0 4px 12px rgba(0,0,0,.45);
}

.vhsp-time-box p{
    margin:0;
    color:#fff;
    font-size:17px;
    line-height:1.35;
    font-weight:600;
}

.vhsp-infra-card{
    position:relative;
    padding:8px;
    border-radius:14px;
    background:linear-gradient(135deg, #f9df9a, #b98427, #f9df9a);
    box-shadow:
        0 0 22px rgba(255,211,119,.2),
        0 18px 30px rgba(0,0,0,.32);
}

.vhsp-infra-card:before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:14px;
    background:linear-gradient(180deg, rgba(255,255,255,.16), transparent);
    pointer-events:none;
    z-index:2;
}

.vhsp-card-title{
    position:absolute;
    left:16px;
    right:16px;
    top:16px;
    z-index:5;
    padding:7px 10px;
    border-radius:999px;
    background:rgba(0,49,40,.86);
    border:1px solid rgba(255,217,135,.65);
    color:#ffe1a1;
    font-size:13px;
    font-weight:700;
    line-height:1.2;
    backdrop-filter:blur(8px);
}

.vhsp-img{
    position:relative;
    overflow:hidden;
    border-radius:10px;
    aspect-ratio:1/1.08;
    background:#0a2f28;
}

.vhsp-img img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:.45s ease;
}

.vhsp-infra-card:hover img{
    transform:scale(1.06);
}

.vhsp-icon{
    position:absolute;
    left:50%;
    bottom:-22px;
    transform:translateX(-50%);
    width:62px;
    height:62px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:#07382f;
    border:2px solid #ffd987;
    box-shadow:0 8px 18px rgba(0,0,0,.45);
    z-index:4;
}

.vhsp-icon svg{
    width:36px;
    height:36px;
    fill:none;
    stroke:#ffd987;
    stroke-width:4;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.vhsp-swipe-note{
    display:none;
    margin-top:24px;
    color:#ffdda0;
    font-size:13px;
    font-weight:600;
    opacity:.9;
}

.vhsp-infra-slogan{
    position:relative;
    margin:76px auto 0;
    max-width:820px;
    padding:20px 28px 24px;
    border:1.5px solid rgba(255,210,125,.85);
    background:linear-gradient(135deg, rgba(4,55,46,.95), rgba(0,31,25,.95));
    box-shadow:
        0 0 22px rgba(255,204,102,.25),
        inset 0 0 18px rgba(255,204,102,.08);
    clip-path:polygon(4% 0, 96% 0, 100% 50%, 96% 100%, 4% 100%, 0 50%);
}

.vhsp-infra-slogan span{
    display:block;
    margin-bottom:5px;
    color:#ffd987;
    font-size:32px;
    line-height:1.1;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
    text-shadow:0 4px 14px rgba(0,0,0,.45);
}

.vhsp-infra-slogan strong{
    display:block;
    color:#ffd987;
    font-size:44px;
    line-height:1.08;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
    text-shadow:
        0 2px 0 #6b420c,
        0 8px 20px rgba(0,0,0,.55);
}

/* TABLET */
@media(max-width:1024px){
    .vhsp-infra-heading h2{
        font-size:58px;
    }

    .vhsp-infra-year{
        font-size:28px;
    }

    .vhsp-time-box h3{
        font-size:28px;
    }

    .vhsp-time-box p{
        font-size:15px;
    }

    .vhsp-infra-slogan strong{
        font-size:36px;
    }
}

/* MOBILE: một item gồm năm + hình trượt chung */
@media(max-width:767px){
    .vhsp-infra-section{
        padding:42px 0 46px;
    }

    .vhsp-infra-section:before{
        inset:8px;
    }

    .vhsp-infra-wrap{
        max-width:100%;
    }

    .vhsp-infra-heading{
        padding:0 16px;
    }

    .vhsp-infra-heading h2{
        font-size:38px;
        line-height:1.08;
        letter-spacing:1px;
    }

    .vhsp-infra-year{
        margin-top:14px;
        padding:7px 24px;
        font-size:22px;
    }

    .vhsp-infra-track{
        display:flex;
        overflow-x:auto;
        overflow-y:hidden;
        gap:18px;
        padding:0 16px 30px;
        margin-top:38px;
        scroll-snap-type:x mandatory;
        -webkit-overflow-scrolling:touch;
    }

    .vhsp-infra-track::-webkit-scrollbar{
        display:none;
    }

    .vhsp-infra-track:before{
        display:none;
    }

    .vhsp-infra-item{
        flex:0 0 82%;
        max-width:330px;
        scroll-snap-align:center;
        padding:14px 12px 30px;
        border:1px solid rgba(255,210,125,.42);
        border-radius:24px;
        background:linear-gradient(180deg, rgba(0,45,37,.78), rgba(0,28,24,.9));
        box-shadow:0 18px 35px rgba(0,0,0,.28);
    }

    .vhsp-time-box{
        min-height:auto;
        margin-bottom:16px;
    }

    .vhsp-dot{
        width:32px;
        height:32px;
        margin-bottom:10px;
    }

    .vhsp-time-box h3{
        font-size:30px;
        margin-bottom:6px;
    }

    .vhsp-time-box p{
        font-size:14px;
    }

    .vhsp-infra-card{
        padding:6px;
    }

    .vhsp-img{
        aspect-ratio:1/1.02;
    }

    .vhsp-icon{
        width:52px;
        height:52px;
        bottom:-18px;
        border-radius:15px;
    }

    .vhsp-icon svg{
        width:30px;
        height:30px;
    }

    .vhsp-card-title{
        font-size:13px;
        left:13px;
        right:13px;
        top:13px;
    }

    .vhsp-swipe-note{
        display:block;
        margin-top:0;
    }

    .vhsp-infra-slogan{
        margin:42px 16px 0;
        padding:16px 18px 18px;
        clip-path:polygon(6% 0, 94% 0, 100% 50%, 94% 100%, 6% 100%, 0 50%);
    }

    .vhsp-infra-slogan span{
        font-size:21px;
    }

    .vhsp-infra-slogan strong{
        font-size:25px;
    }
}

/* MOBILE NHỎ */
@media(max-width:390px){
    .vhsp-infra-heading h2{
        font-size:34px;
    }

    .vhsp-infra-item{
        flex-basis:86%;
    }

    .vhsp-infra-slogan strong{
        font-size:24px;
    }
}
.vhsp-plan-title,
.vhsp-plan-title *{
    box-sizing:border-box;
}

.vhsp-plan-title{
    width:100%;
    padding:24px 12px;
    background:transparent;
}

.vhsp-plan-title-box{
    position:relative;
    max-width:1280px;
    margin:0 auto;
    padding:34px 20px 28px;
    border:2px solid #d0a04a;
    border-radius:28px;
    background:linear-gradient(180deg,#fbf8f1 0%, #f7f0e4 100%);
    box-shadow:
        0 10px 24px rgba(82,61,25,.07),
        inset 0 0 0 1px rgba(255,255,255,.65);
    overflow:hidden;
}

.vhsp-plan-title-box::before{
    content:"";
    position:absolute;
    inset:14px;
    border:1.5px solid rgba(208,160,74,.50);
    border-radius:20px;
    pointer-events:none;
}

/* BADGE */
.vhsp-plan-badge{
    position:relative;
    z-index:2;
    display:table;
    margin:0 auto 18px;
    padding:10px 24px;
    border:1.5px solid #c79035;
    border-radius:999px;
    background:#fffaf1;
    color:#9b691f;
    font-family:'Jura', sans-serif!important;
    font-size:13px;
    line-height:1;
    font-weight:700;
    letter-spacing:1.8px;
    text-transform:uppercase;
    box-shadow:0 4px 10px rgba(92,69,28,.05);
}

/* TITLE */
.vhsp-plan-main{
    position:relative;
    z-index:2;
    margin:0;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:0 .32em;
    text-align:center;
    font-family:'Jura', sans-serif!important;
    font-size:clamp(40px, 5.2vw, 82px);
    line-height:1.08;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.vhsp-plan-main span{
    display:inline-block;
    white-space:nowrap;
}

.vhsp-plan-green{
    color:#075346;
    text-shadow:0 3px 8px rgba(20,70,58,.12);
    -webkit-text-stroke:.45px rgba(4,59,50,.14);
}

.vhsp-plan-gold{
    color:#b77f26;
    text-shadow:0 3px 8px rgba(101,70,22,.12);
    -webkit-text-stroke:.45px rgba(136,88,16,.13);
}

/* LINE */
.vhsp-plan-line{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-top:20px;
}

.vhsp-plan-line span{
    width:170px;
    max-width:22vw;
    height:2px;
    border-radius:999px;
    background:linear-gradient(
        90deg,
        transparent,
        #075346 20%,
        #c79035 80%,
        transparent
        );
}

.vhsp-plan-line i{
    width:10px;
    height:10px;
    display:block;
    border-radius:2px;
    transform:rotate(45deg);
    background:#c79035;
    box-shadow:0 0 0 6px rgba(199,144,53,.12);
}

/* MOBILE */
@media (max-width:767px){
    .vhsp-plan-title{
        padding:14px 8px;
    }

    .vhsp-plan-title-box{
        padding:22px 12px 18px;
        border-radius:22px;
    }

    .vhsp-plan-title-box::before{
        inset:8px;
        border-radius:16px;
    }

    .vhsp-plan-badge{
        margin-bottom:12px;
        padding:7px 12px;
        font-size:9.5px;
        letter-spacing:1px;
    }

    .vhsp-plan-main{
        font-size:25px!important;
        line-height:1.18!important;
        letter-spacing:.8px!important;
        gap:0 .18em!important;
    }

    .vhsp-plan-green,
    .vhsp-plan-gold{
        -webkit-text-stroke:0;
        text-shadow:0 2px 6px rgba(58,43,17,.08);
    }

    .vhsp-plan-line{
        gap:10px;
        margin-top:14px;
    }

    .vhsp-plan-line span{
        width:64px;
        max-width:none;
    }

    .vhsp-plan-line i{
        width:7px;
        height:7px;
        box-shadow:0 0 0 5px rgba(199,144,53,.10);
    }
}
.vhsp-theme-section,
.vhsp-theme-section *{
    box-sizing:border-box;
}

.vhsp-theme-section{
    position:relative;
    width:100%;
    overflow:hidden;
    padding:58px 22px 64px;
    background:
        radial-gradient(circle at 15% 8%, rgba(255,210,112,.14), transparent 30%),
        radial-gradient(circle at 90% 22%, rgba(21,124,99,.24), transparent 34%),
        linear-gradient(135deg, #002b27 0%, #003d34 42%, #001b19 100%);
    color:#fff;
}

.vhsp-theme-bg{
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(120deg, transparent 0%, rgba(255,215,122,.08) 48%, transparent 80%),
        radial-gradient(circle at 50% 100%, rgba(255,215,122,.08), transparent 42%);
    opacity:1;
}

.vhsp-theme-section::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size:42px 42px;
    opacity:.18;
    pointer-events:none;
}

.vhsp-theme-section::after{
    content:"";
    position:absolute;
    right:48px;
    top:72px;
    width:120px;
    height:180px;
    opacity:.42;
    background:
        linear-gradient(to top, transparent 0 12%, #d8aa55 12% 14%, transparent 14%),
        linear-gradient(to right, transparent 0 46%, #d8aa55 46% 49%, transparent 49%),
        linear-gradient(135deg, transparent 0 42%, #d8aa55 42% 44%, transparent 44%),
        linear-gradient(45deg, transparent 0 42%, #d8aa55 42% 44%, transparent 44%);
    filter:drop-shadow(0 0 10px rgba(255,210,112,.28));
    pointer-events:none;
}

.vhsp-theme-inner{
    position:relative;
    z-index:2;
    max-width:1480px;
    margin:0 auto;
}

/* HEADER */
.vhsp-theme-head{
    max-width:1040px;
    margin:0 auto 30px;
    text-align:center;
}

.vhsp-top-label{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    margin-bottom:10px;
    color:#f5cf7c;
    font-family:'Playfair Display', serif!important;
    font-size:24px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:4px;
    text-transform:uppercase;
}

.vhsp-top-label span{
    width:90px;
    height:1px;
    position:relative;
    background:linear-gradient(90deg, transparent, #d8aa55, transparent);
}

.vhsp-top-label span::after{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:8px;
    height:8px;
    transform:translate(-50%,-50%) rotate(45deg);
    background:#d8aa55;
}

.vhsp-theme-head h2{
    margin:0;
    font-family:'Playfair Display', serif!important;
    color:#f7d788;
    font-size:64px;
    line-height:1.05;
    font-weight:800;
    letter-spacing:3px;
    text-transform:uppercase;
    text-shadow:
        0 3px 0 rgba(92,52,8,.45),
        0 14px 35px rgba(0,0,0,.35);
}

.vhsp-theme-head h3{
    margin:6px 0 0;
    font-family:'Playfair Display', serif!important;
    color:#ffffff;
    font-size:34px;
    line-height:1.18;
    font-weight:700;
    letter-spacing:2.5px;
    text-transform:uppercase;
    text-shadow:0 10px 26px rgba(0,0,0,.38);
}

.vhsp-theme-head p{
    max-width:820px;
    margin:14px auto 0;
    color:rgba(255,255,255,.86);
    font-family:'Jura', Arial, sans-serif!important;
    font-size:17px;
    line-height:1.55;
    font-weight:600;
}

/* GRID */
.vhsp-theme-grid{
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:12px;
}

/* CARD */
.vhsp-theme-card{
    position:relative;
    min-width:0;
    overflow:hidden;
    border-radius:24px;
    border:1.5px solid rgba(255,215,122,.82);
    background:
        radial-gradient(circle at 50% 0%, rgba(255,215,122,.12), transparent 35%),
        linear-gradient(180deg, rgba(0,93,73,.82), rgba(0,48,43,.98));
    box-shadow:
        0 20px 44px rgba(0,0,0,.32),
        inset 0 0 28px rgba(255,215,122,.08);
}

.vhsp-theme-card::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    border-radius:24px;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.08),
        inset 0 0 35px rgba(255,215,122,.08);
    z-index:8;
}

.vhsp-theme-card::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-2px;
    width:48%;
    height:4px;
    transform:translateX(-50%);
    border-radius:999px;
    background:linear-gradient(90deg, transparent, #fff0ad, transparent);
    box-shadow:0 0 16px rgba(255,218,120,.85);
    z-index:10;
}

/* IMAGE */
.vhsp-card-image{
    position:relative;
    height:310px;
    margin:14px 14px 0;
    overflow:hidden;
    border-radius:20px;
    border:1.4px solid rgba(255,224,144,.82);
    background:#072f29;
}

.vhsp-card-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
    transform:scale(1.02);
    filter:
        brightness(1.22)
        contrast(1.10)
        saturate(1.18);
}

.vhsp-card-image::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg, rgba(255,255,255,.18), transparent 36%),
        radial-gradient(circle at 50% 20%, rgba(255,236,164,.18), transparent 36%);
    mix-blend-mode:screen;
    z-index:2;
    pointer-events:none;
}

.vhsp-card-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to bottom, transparent 50%, rgba(0,42,37,.25));
    z-index:3;
    pointer-events:none;
}

.vhsp-card-number{
    position:absolute;
    top:12px;
    left:12px;
    z-index:4;
    width:56px;
    height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#f9d77f;
    font-family:'Playfair Display', serif!important;
    font-size:30px;
    line-height:1;
    font-weight:800;
    background:
        radial-gradient(circle at 32% 25%, rgba(255,255,255,.20), transparent 30%),
        linear-gradient(145deg, #00634f, #002f2b);
    border:2px solid rgba(255,218,130,.9);
    box-shadow:
        0 8px 18px rgba(0,0,0,.35),
        inset 0 0 14px rgba(255,215,122,.18);
}

/* CONTENT */
.vhsp-card-content{
    position:relative;
    padding:18px 16px 22px;
    text-align:center;
    font-family:'Jura', Arial, sans-serif!important;
}

.vhsp-khu{
    margin-bottom:4px;
    color:#f7d788;
    font-family:'Playfair Display', serif!important;
    font-size:18px;
    font-weight:700;
    letter-spacing:1px;
}

.vhsp-card-content h4{
    margin:0;
    color:#f9d77f;
    font-family:'Playfair Display', serif!important;
    font-size:30px;
    line-height:1.05;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

.vhsp-card-content h5{
    margin:4px 0 8px;
    color:#f9d77f;
    font-family:'Playfair Display', serif!important;
    font-size:20px;
    line-height:1.12;
    font-weight:700;
    letter-spacing:.6px;
    text-transform:uppercase;
}

.vhsp-card-content p{
    min-height:44px;
    margin:0 auto 14px;
    color:#ffffff;
    font-size:14px;
    line-height:1.42;
    font-weight:600;
}

/* LIST */
.vhsp-card-content ul{
    list-style:none;
    margin:0;
    padding:13px 12px;
    border-radius:14px;
    border:1px solid rgba(255,215,122,.22);
    background:rgba(0,45,39,.45);
    text-align:left;
}

.vhsp-card-content li{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:44px;
    color:#ffffff;
    font-size:14px;
    line-height:1.28;
    font-weight:600;
    border-bottom:1px solid rgba(255,215,122,.13);
}

.vhsp-card-content li:last-child{
    border-bottom:none;
}

.vhsp-card-content li span{
    width:36px;
    min-width:36px;
    height:36px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#f7d788;
    border:1px solid rgba(247,215,136,.55);
    background:rgba(255,215,122,.08);
}

.vhsp-card-content li svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:3;
    stroke-linecap:round;
    stroke-linejoin:round;
}

/* HOVER DESKTOP */
@media (min-width:1025px){
    .vhsp-theme-card{
        transition:.35s ease;
    }

    .vhsp-theme-card:hover{
        transform:translateY(-8px);
        box-shadow:
            0 28px 62px rgba(0,0,0,.42),
            0 0 0 1px rgba(255,232,154,.7),
            inset 0 0 32px rgba(255,215,122,.10);
    }

    .vhsp-theme-card:hover .vhsp-card-image img{
        transform:scale(1.07);
        transition:.5s ease;
    }
}

/* TABLET */
@media (max-width:1280px){
    .vhsp-theme-grid{
        grid-template-columns:repeat(3, 1fr);
        gap:16px;
    }

    .vhsp-card-image{
        height:300px;
    }
}

/* MOBILE */
@media (max-width:767px){
    .vhsp-theme-section{
        padding:42px 0 48px;
    }

    .vhsp-theme-section::after{
        display:none;
    }

    .vhsp-theme-head{
        text-align:center;
        padding:0 18px;
        margin-bottom:24px;
    }

    .vhsp-top-label{
        gap:10px;
        font-size:13px;
        letter-spacing:2px;
    }

    .vhsp-top-label span{
        width:42px;
    }

    .vhsp-theme-head h2{
        font-size:38px;
        line-height:1.04;
        letter-spacing:1.4px;
    }

    .vhsp-theme-head h3{
        margin-top:8px;
        font-size:20px;
        line-height:1.25;
        letter-spacing:1px;
    }

    .vhsp-theme-head p{
        font-size:16.5px;
        line-height:1.55;
    }

    .vhsp-theme-grid{
        display:flex;
        gap:14px;
        overflow-x:auto;
        padding:4px 18px 18px;
        scroll-snap-type:x mandatory;
        -webkit-overflow-scrolling:touch;
    }

    .vhsp-theme-grid::-webkit-scrollbar{
        height:0;
    }

    .vhsp-theme-card{
        min-width:86%;
        max-width:86%;
        scroll-snap-align:start;
    }

    .vhsp-card-image{
        height:265px;
    }

    .vhsp-card-content h4{
        font-size:32px;
    }

    .vhsp-card-content h5{
        font-size:20px;
    }

    .vhsp-card-content p{
        font-size:14.5px;
    }

    .vhsp-card-content li{
        font-size:14.5px;
    }
}

/* MOBILE NHỎ */
@media (max-width:390px){
    .vhsp-theme-head h2{
        font-size:34px;
    }

    .vhsp-theme-head h3{
        font-size:18px;
    }

    .vhsp-theme-card{
        min-width:90%;
        max-width:90%;
    }

    .vhsp-card-image{
        height:235px;
    }

    .vhsp-card-content h4{
        font-size:29px;
    }
}
.vhsp-title-clean-badge,
.vhsp-title-clean-badge *{
    box-sizing:border-box;
}

.vhsp-title-clean-badge{
    width:100%;
    padding:24px 12px;
    background:transparent;
}

.vhsp-title-clean-box{
    position:relative;
    max-width:1280px;
    margin:0 auto;
    padding:34px 20px 28px;
    border:2px solid #d0a04a;
    border-radius:28px;
    background:linear-gradient(180deg,#fbf8f1 0%, #f7f0e4 100%);
    box-shadow:
        0 10px 24px rgba(82,61,25,.07),
        inset 0 0 0 1px rgba(255,255,255,.65);
    overflow:hidden;
}

.vhsp-title-clean-box::before{
    content:"";
    position:absolute;
    inset:14px;
    border:1.5px solid rgba(208,160,74,.50);
    border-radius:20px;
    pointer-events:none;
}

/* BADGE GIỮ LẠI */
.vhsp-title-badge{
    position:relative;
    z-index:2;
    display:table;
    margin:0 auto 20px;
    padding:10px 24px;
    border:1.5px solid #c79035;
    border-radius:999px;
    background:#fffaf1;
    color:#9b691f;
    font-family:'Jura', sans-serif!important;
    font-size:13px;
    line-height:1;
    font-weight:700;
    letter-spacing:1.8px;
    text-transform:uppercase;
    box-shadow:0 4px 10px rgba(92,69,28,.05);
}

/* TIÊU ĐỀ CHÍNH */
.vhsp-title-main{
    position:relative;
    z-index:2;
    margin:0;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:0 .32em;
    text-align:center;
    font-family:'Jura', sans-serif!important;
    font-size:clamp(40px, 5.2vw, 82px);
    line-height:1.08;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.vhsp-title-main span{
    display:inline-block;
    white-space:nowrap;
}

/* Chữ xanh rõ nét */
.vhsp-title-green{
    color:#075346;
    text-shadow:
        0 1px 0 rgba(255,255,255,.55),
        0 3px 8px rgba(20,70,58,.14);
    -webkit-text-stroke:.55px rgba(4,59,50,.18);
}

/* Chữ vàng gold rõ nét */
.vhsp-title-gold{
    color:#b77f26;
    text-shadow:
        0 1px 0 rgba(255,255,255,.48),
        0 3px 8px rgba(101,70,22,.14);
    -webkit-text-stroke:.55px rgba(136,88,16,.16);
}

/* LINE DƯỚI */
.vhsp-title-line{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-top:20px;
}

.vhsp-title-line span{
    width:170px;
    max-width:22vw;
    height:2px;
    border-radius:999px;
    background:linear-gradient(
        90deg,
        transparent,
        #075346 20%,
        #c79035 80%,
        transparent
        );
}

.vhsp-title-line i{
    width:10px;
    height:10px;
    display:block;
    border-radius:2px;
    transform:rotate(45deg);
    background:#c79035;
    box-shadow:0 0 0 6px rgba(199,144,53,.12);
}

/* MOBILE */
@media (max-width:767px){
    .vhsp-title-clean-badge{
        padding:14px 8px;
    }

    .vhsp-title-clean-box{
        padding:26px 12px 22px;
        border-radius:22px;
    }

    .vhsp-title-clean-box::before{
        inset:8px;
        border-radius:16px;
    }

    .vhsp-title-badge{
        margin-bottom:14px;
        padding:8px 14px;
        font-size:10px;
        letter-spacing:1px;
    }

    .vhsp-title-main{
        font-size:clamp(30px, 8.6vw, 44px);
        line-height:1.12;
        letter-spacing:1px;
        gap:0 .22em;
    }

    .vhsp-title-green,
    .vhsp-title-gold{
        -webkit-text-stroke:0;
        text-shadow:
            0 1px 0 rgba(255,255,255,.35),
            0 2px 6px rgba(58,43,17,.10);
    }

    .vhsp-title-line{
        gap:10px;
        margin-top:16px;
    }

    .vhsp-title-line span{
        width:68px;
        max-width:none;
    }

    .vhsp-title-line i{
        width:8px;
        height:8px;
    }
}
.vhsp-integrated-section,
.vhsp-integrated-section *{
    box-sizing:border-box;
}

.vhsp-integrated-section{
    width:100%;
    padding:78px 22px 86px;
    font-family:'Jura', sans-serif;
    background:
        radial-gradient(circle at top left, rgba(218,168,82,.22), transparent 32%),
        linear-gradient(180deg,#f7f0df 0%,#efe6d2 100%);
    position:relative;
    overflow:hidden;
}

.vhsp-integrated-section:before{
    content:"";
    position:absolute;
    inset:24px;
    border:1px solid rgba(171,126,54,.22);
    border-radius:34px;
    pointer-events:none;
}

.vhsp-integrated-section:after{
    content:"";
    position:absolute;
    right:-160px;
    top:-180px;
    width:420px;
    height:420px;
    border-radius:50%;
    background:rgba(210,156,67,.16);
    filter:blur(16px);
}

.vhsp-integrated-inner{
    position:relative;
    z-index:2;
    max-width:1480px;
    margin:0 auto;
}

.vhsp-integrated-head{
    max-width:1280px;
    margin:0 auto 38px;
    text-align:left;
}

.vhsp-integrated-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:9px 18px;
    margin-bottom:20px;
    border-radius:999px;
    background:linear-gradient(135deg,#113f35,#0a2b24);
    color:#f6d98a;
    font-size:12px;
    font-weight:800;
    letter-spacing:1.8px;
    text-transform:uppercase;
    box-shadow:0 12px 28px rgba(11,48,39,.2);
}

.vhsp-integrated-badge:before,
.vhsp-integrated-badge:after{
    content:"";
    width:7px;
    height:7px;
    border-radius:50%;
    background:#d9ad55;
}

.vhsp-integrated-title{
    margin:0 0 22px!important;
    font-family:'Jura', sans-serif!important;
    font-size:clamp(30px,3.3vw,54px)!important;
    line-height:1.12!important;
    font-weight:800!important;
    letter-spacing:.3px!important;
    color:#163f36!important;
}

.vhsp-integrated-title span{
    background:linear-gradient(90deg,#9b6a24 0%,#d9a84e 48%,#f4d887 100%)!important;
    -webkit-background-clip:text!important;
    background-clip:text!important;
    -webkit-text-fill-color:transparent!important;
}

.vhsp-integrated-lead{
    max-width:1180px;
    margin:0 0 24px;
    color:#354743;
    font-size:clamp(17px,1.55vw,23px);
    line-height:1.65;
    font-weight:600;
}

.vhsp-integrated-content{
    max-width:1320px;
    padding-left:24px;
    border-left:3px solid rgba(194,143,61,.55);
}

.vhsp-integrated-content p{
    margin:0 0 18px;
    color:#3f4a46;
    font-size:clamp(16px,1.35vw,21px);
    line-height:1.72;
    font-weight:500;
}

.vhsp-integrated-content p:last-child{
    margin-bottom:0;
}

.vhsp-utility-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}

.vhsp-utility-card{
    position:relative;
    overflow:hidden;
    border-radius:26px;
    background:#0d332b;
    min-height:315px;
    box-shadow:
        0 18px 42px rgba(31,41,36,.18),
        inset 0 0 0 1px rgba(255,255,255,.16);
    transform:translateY(0);
    transition:all .35s ease;
}

.vhsp-utility-card:hover{
    transform:translateY(-8px);
    box-shadow:
        0 28px 62px rgba(31,41,36,.28),
        0 0 0 1px rgba(217,171,88,.38);
}

.vhsp-card-img{
    position:absolute;
    inset:0;
}

.vhsp-card-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.02);
    transition:transform .5s ease, filter .5s ease;
}

.vhsp-utility-card:hover .vhsp-card-img img{
    transform:scale(1.08);
    filter:saturate(1.08) contrast(1.04);
}

.vhsp-card-img:after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg,rgba(5,24,20,.02) 0%,rgba(5,24,20,.22) 48%,rgba(5,24,20,.82) 100%),
        linear-gradient(135deg,rgba(217,168,78,.18),transparent 42%);
}

.vhsp-card-info{
    position:absolute;
    left:18px;
    right:18px;
    bottom:18px;
    padding:1px 12px 15px;
    border-radius:18px;
    background:rgba(8,35,30,.72);
    border:1px solid rgba(240,204,126,.34);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.vhsp-card-info span{
    display:inline-block;
    margin-bottom:7px;
    color:#f3d27b;
    font-size:10px;
    font-weight:800;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

.vhsp-card-info h3{
    margin:0!important;
    color:#fff8df!important;
    font-family:'Jura', sans-serif!important;
    font-size:clamp(17px,1.35vw,12px)!important;
    line-height:1.18!important;
    font-weight:800!important;
    letter-spacing:.2px!important;
}

/* Tablet */
@media(max-width:1024px){
    .vhsp-integrated-section{
        padding:62px 18px 70px;
    }

    .vhsp-utility-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .vhsp-utility-card{
        min-height:300px;
    }
}

/* Mobile */
@media(max-width:767px){
    .vhsp-integrated-section{
        padding:46px 14px 54px;
    }

    .vhsp-integrated-section:before{
        inset:10px;
        border-radius:24px;
    }

    .vhsp-integrated-head{
        margin-bottom:28px;
    }

    .vhsp-integrated-badge{
        font-size:10.5px;
        padding:8px 14px;
        letter-spacing:1.2px;
    }

    .vhsp-integrated-title{
        font-size:30px!important;
        line-height:1.16!important;
        margin-bottom:16px!important;
    }

    .vhsp-integrated-lead{
        font-size:18px;
        line-height:1.65;
        margin-bottom:18px;
    }

    .vhsp-integrated-content{
        padding-left:15px;
    }

    .vhsp-integrated-content p{
        font-size:17.5px;
        line-height:1.65;
    }

    .vhsp-utility-grid{
        display:flex;
        gap:16px;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        padding:4px 2px 12px;
        -webkit-overflow-scrolling:touch;
    }

    .vhsp-utility-grid::-webkit-scrollbar{
        height:5px;
    }

    .vhsp-utility-grid::-webkit-scrollbar-thumb{
        background:rgba(168,121,49,.55);
        border-radius:999px;
    }

    .vhsp-utility-card{
        flex:0 0 82%;
        min-height:290px;
        border-radius:22px;
        scroll-snap-align:start;
    }

    .vhsp-card-info{
        left:10px;
        right:60px;
        bottom:6px;
        padding:6px;
        border-radius:16px;
    }

    .vhsp-card-info h3{
        font-size:14px!important;
    }
}
.vhsp-super-map,
.vhsp-super-map *,
.vhsp-super-popup,
.vhsp-super-popup *{
    box-sizing:border-box;
}

.vhsp-super-map{
    width:100%;
    padding:28px 12px;
    font-family:'Jura', sans-serif;
}

.vhsp-super-map__head{
    max-width:1180px;
    margin:0 auto 18px;
    text-align:center;
}

.vhsp-super-map__head span{
    display:inline-block;
    padding:7px 16px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    line-height:1;
    letter-spacing:1.2px;
    color:#075346;
    background:linear-gradient(135deg,#fff8e2,#efd18a);
    border:1px solid rgba(198,151,58,.5);
    box-shadow:0 8px 22px rgba(0,0,0,.08);
}

.vhsp-super-map__head h3{
    margin:14px 0 8px;
    font-size:clamp(24px,3vw,42px);
    line-height:1.18;
    font-weight:800;
    color:#063f36;
    letter-spacing:.3px;
}

.vhsp-super-map__head p{
    margin:0;
    font-size:15px;
    line-height:1.6;
    color:#5d5d5d;
    font-weight:600;
}

.vhsp-super-map__thumb{
    position:relative;
    display:block;
    width:100%;
    max-width:1180px;
    margin:0 auto;
    padding:0;
    border:1px solid rgba(201,155,60,.48);
    border-radius:28px;
    overflow:hidden;
    background:#fff;
    cursor:zoom-in;
    box-shadow:0 24px 60px rgba(0,0,0,.16);
}

.vhsp-super-map__thumb img{
    display:block;
    width:100%;
    height:auto;
}

.vhsp-super-map__badge{
    position:absolute;
    right:18px;
    bottom:18px;
    z-index:2;
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 16px;
    border-radius:999px;
    color:#fff;
    background:rgba(5,55,46,.92);
    font-size:14px;
    font-weight:800;
    box-shadow:0 10px 26px rgba(0,0,0,.25);
    backdrop-filter:blur(8px);
}

.vhsp-super-map__badge span{
    width:28px;
    height:28px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#f8df9b,#c79535);
    color:#063f36;
    font-size:22px;
    font-weight:900;
}

/* POPUP */
.vhsp-super-popup{
    position:fixed;
    inset:0;
    z-index:9999999;
    display:none;
    background:rgba(0,0,0,.95);
    font-family:'Jura', sans-serif;
}

.vhsp-super-popup.is-open{
    display:block;
}

.vhsp-super-popup__loading{
    position:fixed;
    left:50%;
    top:50%;
    z-index:3;
    transform:translate(-50%,-50%);
    padding:13px 20px;
    border-radius:999px;
    color:#063f36;
    background:linear-gradient(135deg,#fff8e2,#d7ab4f);
    font-size:14px;
    font-weight:800;
    box-shadow:0 12px 34px rgba(0,0,0,.35);
    pointer-events:none;
}

.vhsp-super-popup__loading.is-hide{
    display:none;
}

.vhsp-super-popup__toolbar{
    position:fixed;
    top:14px;
    right:14px;
    z-index:10;
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.vhsp-super-popup__toolbar button{
    height:42px;
    min-width:42px;
    padding:0 14px;
    border:1px solid rgba(212,171,81,.6);
    border-radius:999px;
    background:linear-gradient(135deg,#fff7df,#d7ab4f);
    color:#063f36;
    font-family:'Jura', sans-serif;
    font-size:18px;
    font-weight:900;
    line-height:1;
    cursor:pointer;
    box-shadow:0 8px 24px rgba(0,0,0,.35);
}

.vhsp-super-popup__toolbar button:last-child{
    font-size:28px;
    padding-bottom:3px;
}

.vhsp-super-popup__scroll{
    width:100%;
    height:100vh;
    overflow:auto;
    padding:82px 24px 42px;
    text-align:center;
    -webkit-overflow-scrolling:touch;
    cursor:grab;
}

.vhsp-super-popup__scroll:active{
    cursor:grabbing;
}

.vhsp-super-popup__scroll img{
    display:block;
    width:auto;
    max-width:none!important;
    height:auto!important;
    margin:0 auto;
    border-radius:16px;
    box-shadow:0 24px 80px rgba(0,0,0,.55);
    background:#fff;
    opacity:0;
    transition:opacity .25s ease;
}

.vhsp-super-popup__scroll img.is-loaded{
    opacity:1;
}

/* MOBILE */
@media(max-width:767px){
    .vhsp-super-map{
        padding:20px 8px;
    }

    .vhsp-super-map__head h3{
        font-size:clamp(24px,7vw,34px);
    }

    .vhsp-super-map__head p{
        font-size:14px;
    }

    .vhsp-super-map__thumb{
        border-radius:20px;
    }

    .vhsp-super-map__badge{
        right:10px;
        bottom:10px;
        padding:8px 12px;
        font-size:12px;
    }

    .vhsp-super-map__badge span{
        width:24px;
        height:24px;
        font-size:19px;
    }

    .vhsp-super-popup__toolbar{
        top:10px;
        left:10px;
        right:10px;
        justify-content:flex-end;
    }

    .vhsp-super-popup__toolbar button{
        height:38px;
        min-width:38px;
        padding:0 12px;
        font-size:16px;
    }

    .vhsp-super-popup__toolbar button:last-child{
        font-size:26px;
    }

    .vhsp-super-popup__scroll{
        padding:70px 14px 34px;
        text-align:left;
    }

    .vhsp-super-popup__scroll img{
        margin:0;
    }
}
.vhsp-amenity-section,
.vhsp-amenity-section *{
    box-sizing:border-box;
}

.vhsp-amenity-section{
    width:100%;
    padding:78px 22px 88px;
    font-family:'Jura', sans-serif;
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at top left, rgba(220,164,71,.24), transparent 34%),
        radial-gradient(circle at bottom right, rgba(12,78,61,.12), transparent 35%),
        linear-gradient(180deg,#f7f0df 0%,#efe5cf 100%);
}

.vhsp-amenity-section:before{
    content:"";
    position:absolute;
    inset:24px;
    border-radius:34px;
    border:1px solid rgba(174,128,55,.24);
    pointer-events:none;
}

.vhsp-amenity-section:after{
    content:"";
    position:absolute;
    top:-180px;
    right:-150px;
    width:420px;
    height:420px;
    border-radius:50%;
    background:rgba(212,157,67,.16);
    filter:blur(18px);
    pointer-events:none;
}

.vhsp-amenity-inner{
    position:relative;
    z-index:2;
    max-width:1480px;
    margin:0 auto;
}

.vhsp-amenity-head{
    max-width:1180px;
    margin:0 0 30px;
}

.vhsp-amenity-badge{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:9px 18px;
    margin-bottom:18px;
    border-radius:999px;
    background:linear-gradient(135deg,#0e3f34,#08261f);
    color:#f4d37a;
    font-size:12px;
    line-height:1;
    font-weight:800;
    letter-spacing:1.8px;
    text-transform:uppercase;
    box-shadow:0 14px 30px rgba(10,46,38,.2);
}

.vhsp-amenity-badge:before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:#d9a84e;
    box-shadow:0 0 0 5px rgba(217,168,78,.15);
}

.vhsp-amenity-title{
    margin:0 0 16px!important;
    font-family:'Jura', sans-serif!important;
    font-size:clamp(32px,3.4vw,56px)!important;
    line-height:1.12!important;
    font-weight:800!important;
    letter-spacing:.3px!important;
    background:linear-gradient(90deg,#8f6428 0%,#d39a3d 45%,#f4cf72 100%)!important;
    -webkit-background-clip:text!important;
    background-clip:text!important;
    -webkit-text-fill-color:transparent!important;
}

.vhsp-amenity-desc{
    max-width:1080px;
    margin:0;
    color:#3d4b47;
    font-size:clamp(16px,1.35vw,21px);
    line-height:1.7;
    font-weight:500;
}

.vhsp-amenity-list{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin:34px 0 36px;
}

.vhsp-amenity-item{
    display:flex;
    align-items:flex-start;
    gap:14px;
    min-height:82px;
    padding:18px 18px;
    border-radius:20px;
    background:rgba(255,250,238,.76);
    border:1px solid rgba(179,132,58,.24);
    box-shadow:0 14px 34px rgba(67,52,31,.08);
    transition:all .28s ease;
}

.vhsp-amenity-item:hover{
    transform:translateY(-4px);
    background:rgba(255,253,246,.92);
    border-color:rgba(196,145,59,.42);
    box-shadow:0 20px 46px rgba(67,52,31,.13);
}

.vhsp-amenity-item span{
    flex:0 0 auto;
    width:34px;
    height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:linear-gradient(135deg,#0d4438,#092920);
    color:#f7d982;
    font-size:13px;
    font-weight:800;
    box-shadow:0 8px 18px rgba(8,44,36,.18);
}

.vhsp-amenity-item p{
    margin:0;
    color:#354642;
    font-size:clamp(15px,1.14vw,18px);
    line-height:1.45;
    font-weight:600;
}

.vhsp-amenity-item-wide{
    grid-column:span 3;
}

.vhsp-amenity-gallery{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.vhsp-amenity-card{
    position:relative;
    overflow:hidden;
    min-height:345px;
    border-radius:26px;
    background:#0b3028;
    box-shadow:
        0 20px 48px rgba(36,39,33,.18),
        inset 0 0 0 1px rgba(255,255,255,.15);
    transition:all .36s ease;
}

.vhsp-amenity-card:hover{
    transform:translateY(-8px);
    box-shadow:
        0 30px 68px rgba(36,39,33,.28),
        0 0 0 1px rgba(220,172,83,.42);
}

.vhsp-amenity-card img{
    width:100%;
    height:100%;
    min-height:345px;
    object-fit:cover;
    display:block;
    transform:scale(1.02);
    transition:transform .55s ease, filter .55s ease;
}

.vhsp-amenity-card:hover img{
    transform:scale(1.08);
    filter:saturate(1.08) contrast(1.04);
}

.vhsp-amenity-card:before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:
        linear-gradient(180deg,rgba(5,26,22,.02) 0%,rgba(5,26,22,.16) 45%,rgba(5,26,22,.84) 100%),
        linear-gradient(135deg,rgba(216,164,72,.18),transparent 48%);
    pointer-events:none;
}

.vhsp-card-layer{
    position:absolute;
    z-index:2;
    left:16px;
    right:16px;
    bottom:16px;
    padding:15px 16px 14px;
    border-radius:18px;
    background:rgba(7,35,29,.76);
    border:1px solid rgba(242,205,126,.35);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.vhsp-card-layer span{
    display:block;
    margin-bottom:7px;
    color:#f0cf78;
    font-size:11px;
    line-height:1;
    font-weight:800;
    letter-spacing:1.4px;
    text-transform:uppercase;
}

.vhsp-card-layer h3{
    margin:0!important;
    font-family:'Jura', sans-serif!important;
    color:#fff8df!important;
    font-size:clamp(17px,1.25vw,22px)!important;
    line-height:1.18!important;
    font-weight:800!important;
    letter-spacing:.1px!important;
}

/* Tablet */
@media(max-width:1024px){
    .vhsp-amenity-section{
        padding:62px 18px 72px;
    }

    .vhsp-amenity-list{
        grid-template-columns:repeat(2,1fr);
    }

    .vhsp-amenity-item-wide{
        grid-column:span 2;
    }

    .vhsp-amenity-gallery{
        grid-template-columns:repeat(2,1fr);
    }

    .vhsp-amenity-card,
    .vhsp-amenity-card img{
        min-height:320px;
    }
}

/* Mobile */
@media(max-width:767px){
    .vhsp-amenity-section{
        padding:46px 14px 56px;
    }

    .vhsp-amenity-section:before{
        inset:10px;
        border-radius:24px;
    }

    .vhsp-amenity-head{
        margin-bottom:24px;
    }

    .vhsp-amenity-badge{
        padding:8px 14px;
        font-size:10.5px;
        letter-spacing:1.2px;
        margin-bottom:15px;
    }

    .vhsp-amenity-title{
        font-size:31px!important;
        line-height:1.14!important;
        margin-bottom:13px!important;
    }

    .vhsp-amenity-desc{
        font-size:17.5px;
        line-height:1.65;
    }

    .vhsp-amenity-list{
        grid-template-columns:1fr;
        gap:11px;
        margin:26px 0 30px;
    }

    .vhsp-amenity-item,
    .vhsp-amenity-item-wide{
        grid-column:auto;
    }

    .vhsp-amenity-item{
        min-height:auto;
        padding:15px 15px;
        border-radius:17px;
    }

    .vhsp-amenity-item span{
        width:31px;
        height:31px;
        font-size:12px;
    }

    .vhsp-amenity-item p{
        font-size:16px;
        line-height:1.45;
    }

    .vhsp-amenity-gallery{
        display:flex;
        gap:16px;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        padding:2px 2px 12px;
        -webkit-overflow-scrolling:touch;
    }

    .vhsp-amenity-gallery::-webkit-scrollbar{
        height:5px;
    }

    .vhsp-amenity-gallery::-webkit-scrollbar-thumb{
        background:rgba(168,121,49,.55);
        border-radius:999px;
    }

    .vhsp-amenity-card{
        flex:0 0 84%;
        min-height:300px;
        border-radius:22px;
        scroll-snap-align:start;
    }

    .vhsp-amenity-card img{
        min-height:300px;
    }

    .vhsp-card-layer{
        left:13px;
        right:13px;
        bottom:13px;
        padding:14px;
        border-radius:16px;
    }

    .vhsp-card-layer h3{
        font-size:12.5px!important;
    }
}
.vhsp-amenity-card{
    cursor:zoom-in;
}
.vhsp-card-layer{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    padding:10px 12px 11px!important;
    border-radius:14px!important;
    background:rgba(7,35,29,.72)!important;
    border:1px solid rgba(242,205,126,.32)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
}

/* Chữ nhỏ trong card layer */
.vhsp-card-layer span{
    margin-bottom:5px!important;
    font-size:10px!important;
    line-height:1.1!important;
    letter-spacing:1.1px!important;
}

/* Chữ chính trong card layer: 13px */
.vhsp-card-layer h3{
    font-size:13px!important;
    line-height:1.25!important;
    font-weight:800!important;
    margin:0!important;
}

/* Popup nền đen */
.vhsp-lightbox{
    position:fixed!important;
    inset:0!important;
    z-index:9999999!important;
    display:none!important;
    align-items:center!important;
    justify-content:center!important;
    padding:22px!important;
    background:rgba(0,0,0,.9)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
}

/* Khi mở */
.vhsp-lightbox.is-active{
    display:flex!important;
}

/* Khung ảnh */
.vhsp-lightbox-box{
    width:100%!important;
    height:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}

/* Ảnh phóng to: hiện nguyên hình, không cắt */
.vhsp-lightbox-box img{
    display:block!important;
    max-width:96vw!important;
    max-height:88vh!important;
    width:auto!important;
    height:auto!important;
    object-fit:contain!important;
    border-radius:18px!important;
    background:#111!important;
    box-shadow:0 30px 90px rgba(0,0,0,.6)!important;
    animation:vhspLightboxZoom .25s ease!important;
}

/* Nút đóng */
.vhsp-lightbox-close{
    position:absolute!important;
    top:18px!important;
    right:22px!important;
    z-index:3!important;
    width:46px!important;
    height:46px!important;
    border-radius:999px!important;
    border:1px solid rgba(244,207,114,.55)!important;
    background:rgba(8,38,31,.92)!important;
    color:#f4cf72!important;
    font-size:34px!important;
    line-height:40px!important;
    font-weight:300!important;
    cursor:pointer!important;
}

.vhsp-lightbox-close:hover{
    background:#0e3f34!important;
    color:#fff7d2!important;
}

@keyframes vhspLightboxZoom{
    from{
        opacity:0;
        transform:scale(.94);
    }
    to{
        opacity:1;
        transform:scale(1);
    }
}

/* Mobile */
@media(max-width:767px){
    .vhsp-card-layer{
        left:10px!important;
        right:10px!important;
        bottom:10px!important;
        padding:9px 10px 10px!important;
        border-radius:13px!important;
    }

    .vhsp-card-layer span{
        font-size:9.5px!important;
        margin-bottom:5px!important;
    }

    .vhsp-card-layer h3{
        font-size:13px!important;
        line-height:1.25!important;
    }

    .vhsp-lightbox{
        padding:12px!important;
    }

    .vhsp-lightbox-box img{
        max-width:96vw!important;
        max-height:82vh!important;
        border-radius:14px!important;
    }

    .vhsp-lightbox-close{
        top:12px!important;
        right:12px!important;
        width:42px!important;
        height:42px!important;
        font-size:31px!important;
        line-height:36px!important;
    }
}
.vhsp-title-clean-badge,
.vhsp-title-clean-badge *{
    box-sizing:border-box;
}

.vhsp-title-clean-badge{
    width:100%;
    padding:24px 12px;
    background:transparent;
}

.vhsp-title-clean-box{
    position:relative;
    max-width:1280px;
    margin:0 auto;
    padding:34px 20px 28px;
    border:2px solid #d0a04a;
    border-radius:28px;
    background:linear-gradient(180deg,#fbf8f1 0%, #f7f0e4 100%);
    box-shadow:
        0 10px 24px rgba(82,61,25,.07),
        inset 0 0 0 1px rgba(255,255,255,.65);
    overflow:hidden;
}

.vhsp-title-clean-box::before{
    content:"";
    position:absolute;
    inset:14px;
    border:1.5px solid rgba(208,160,74,.50);
    border-radius:20px;
    pointer-events:none;
}

/* BADGE GIỮ LẠI */
.vhsp-title-badge{
    position:relative;
    z-index:2;
    display:table;
    margin:0 auto 20px;
    padding:10px 24px;
    border:1.5px solid #c79035;
    border-radius:999px;
    background:#fffaf1;
    color:#9b691f;
    font-family:'Jura', sans-serif!important;
    font-size:13px;
    line-height:1;
    font-weight:700;
    letter-spacing:1.8px;
    text-transform:uppercase;
    box-shadow:0 4px 10px rgba(92,69,28,.05);
}

/* TIÊU ĐỀ CHÍNH */
.vhsp-title-main{
    position:relative;
    z-index:2;
    margin:0;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:0 .32em;
    text-align:center;
    font-family:'Jura', sans-serif!important;
    font-size:clamp(40px, 5.2vw, 82px);
    line-height:1.08;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.vhsp-title-main span{
    display:inline-block;
    white-space:nowrap;
}

/* Chữ xanh rõ nét */
.vhsp-title-green{
    color:#075346;
    text-shadow:
        0 1px 0 rgba(255,255,255,.55),
        0 3px 8px rgba(20,70,58,.14);
    -webkit-text-stroke:.55px rgba(4,59,50,.18);
}

/* Chữ vàng gold rõ nét */
.vhsp-title-gold{
    color:#b77f26;
    text-shadow:
        0 1px 0 rgba(255,255,255,.48),
        0 3px 8px rgba(101,70,22,.14);
    -webkit-text-stroke:.55px rgba(136,88,16,.16);
}

/* LINE DƯỚI */
.vhsp-title-line{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-top:20px;
}

.vhsp-title-line span{
    width:170px;
    max-width:22vw;
    height:2px;
    border-radius:999px;
    background:linear-gradient(
        90deg,
        transparent,
        #075346 20%,
        #c79035 80%,
        transparent
        );
}

.vhsp-title-line i{
    width:10px;
    height:10px;
    display:block;
    border-radius:2px;
    transform:rotate(45deg);
    background:#c79035;
    box-shadow:0 0 0 6px rgba(199,144,53,.12);
}

/* MOBILE */
@media (max-width:767px){
    .vhsp-title-clean-badge{
        padding:14px 8px;
    }

    .vhsp-title-clean-box{
        padding:26px 12px 22px;
        border-radius:22px;
    }

    .vhsp-title-clean-box::before{
        inset:8px;
        border-radius:16px;
    }

    .vhsp-title-badge{
        margin-bottom:14px;
        padding:8px 14px;
        font-size:10px;
        letter-spacing:1px;
    }

    .vhsp-title-main{
        font-size:clamp(30px, 8.6vw, 44px);
        line-height:1.12;
        letter-spacing:1px;
        gap:0 .22em;
    }

    .vhsp-title-green,
    .vhsp-title-gold{
        -webkit-text-stroke:0;
        text-shadow:
            0 1px 0 rgba(255,255,255,.35),
            0 2px 6px rgba(58,43,17,.10);
    }

    .vhsp-title-line{
        gap:10px;
        margin-top:16px;
    }

    .vhsp-title-line span{
        width:68px;
        max-width:none;
    }

    .vhsp-title-line i{
        width:8px;
        height:8px;
    }
}
.vhsp-edu-section,
.vhsp-edu-section *{
    box-sizing:border-box;
}

.vhsp-edu-section{
    width:100%;
    padding:78px 22px 88px;
    position:relative;
    overflow:hidden;
    font-family:'Jura', sans-serif;
    background:
        radial-gradient(circle at top left, rgba(221,165,72,.24), transparent 34%),
        radial-gradient(circle at bottom right, rgba(11,75,60,.13), transparent 36%),
        linear-gradient(180deg,#f7f0df 0%,#efe5cf 100%);
}

.vhsp-edu-section:before{
    content:"";
    position:absolute;
    inset:24px;
    border-radius:34px;
    border:1px solid rgba(174,128,55,.25);
    pointer-events:none;
}

.vhsp-edu-section:after{
    content:"";
    position:absolute;
    top:-180px;
    right:-150px;
    width:430px;
    height:430px;
    border-radius:50%;
    background:rgba(213,158,67,.17);
    filter:blur(18px);
    pointer-events:none;
}

.vhsp-edu-inner{
    position:relative;
    z-index:2;
    max-width:1480px;
    margin:0 auto;
}

.vhsp-edu-head{
    max-width:1180px;
    margin:0 auto 38px;
    text-align:center;
}

.vhsp-edu-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:9px 18px;
    margin-bottom:18px;
    border-radius:999px;
    background:linear-gradient(135deg,#0e3f34,#08261f);
    color:#f4d37a;
    font-size:12px;
    line-height:1;
    font-weight:800;
    letter-spacing:1.8px;
    text-transform:uppercase;
    box-shadow:0 14px 30px rgba(10,46,38,.2);
}

.vhsp-edu-badge:before,
.vhsp-edu-badge:after{
    content:"";
    width:7px;
    height:7px;
    border-radius:50%;
    background:#d9a84e;
    box-shadow:0 0 0 5px rgba(217,168,78,.14);
}

.vhsp-edu-title{
    margin:0 0 18px!important;
    font-family:'Jura', sans-serif!important;
    font-size:clamp(32px,3.4vw,56px)!important;
    line-height:1.12!important;
    font-weight:800!important;
    letter-spacing:.2px!important;
    color:#173f36!important;
}

.vhsp-edu-title span{
    background:linear-gradient(90deg,#8f6428 0%,#d39a3d 45%,#f4cf72 100%)!important;
    -webkit-background-clip:text!important;
    background-clip:text!important;
    -webkit-text-fill-color:transparent!important;
}

.vhsp-edu-head p{
    max-width:1120px;
    color:#3d4b47;
    font-size:clamp(16px,1.35vw,21px);
    line-height:1.72;
    font-weight:500;
}

.vhsp-edu-showcase{
    max-width:980px;
    margin:0 auto 34px;
    position:relative;
}

.vhsp-edu-image-wrap{
    position:relative;
    padding:12px;
    border-radius:34px;
    background:
        linear-gradient(135deg,rgba(255,248,226,.95),rgba(214,159,70,.35));
    border:1px solid rgba(178,128,50,.35);
    box-shadow:
        0 28px 70px rgba(54,45,29,.18),
        inset 0 0 0 1px rgba(255,255,255,.45);
}

.vhsp-edu-image{
    position:relative;
    overflow:hidden;
    border-radius:26px;
    background:#0b3028;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}

.vhsp-edu-image:before{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    background:
        linear-gradient(180deg,rgba(7,32,27,.02) 0%,rgba(7,32,27,.04) 55%,rgba(7,32,27,.34) 100%),
        linear-gradient(135deg,rgba(219,170,82,.16),transparent 48%);
    pointer-events:none;
}

.vhsp-edu-image img{
    width:100%;
    height:auto;
    display:block;
    transform:scale(1.01);
    transition:transform .55s ease, filter .55s ease;
}

.vhsp-edu-image-wrap:hover img{
    transform:scale(1.045);
    filter:saturate(1.06) contrast(1.03);
}

.vhsp-edu-floating{
    position:absolute;
    z-index:5;
    bottom:28px;
    max-width:255px;
    padding:15px 16px 14px;
    border-radius:18px;
    background:rgba(8,36,30,.78);
    border:1px solid rgba(242,205,126,.38);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    box-shadow:0 16px 36px rgba(0,0,0,.22);
}

.vhsp-edu-floating-left{
    left:-34px;
}

.vhsp-edu-floating-right{
    right:-34px;
}

.vhsp-edu-floating span{
    display:block;
    margin-bottom:6px;
    color:#f4d37a;
    font-size:18px;
    line-height:1;
    font-weight:800;
    letter-spacing:.4px;
}

.vhsp-edu-floating p{
    margin:0;
    color:#fff8df;
    font-size:14px;
    line-height:1.35;
    font-weight:700;
}

.vhsp-edu-value-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:30px;
}

.vhsp-edu-value-card{
    position:relative;
    padding:24px 22px 23px;
    border-radius:24px;
    background:rgba(255,250,238,.78);
    border:1px solid rgba(179,132,58,.25);
    box-shadow:0 16px 38px rgba(67,52,31,.09);
    transition:all .3s ease;
    overflow:hidden;
}

.vhsp-edu-value-card:before{
    content:"";
    position:absolute;
    top:-60px;
    right:-60px;
    width:130px;
    height:130px;
    border-radius:50%;
    background:rgba(214,159,70,.16);
}

.vhsp-edu-value-card:hover{
    transform:translateY(-5px);
    background:rgba(255,253,246,.94);
    border-color:rgba(196,145,59,.42);
    box-shadow:0 24px 54px rgba(67,52,31,.14);
}

.vhsp-edu-value-card > span{
    width:38px;
    height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-bottom:14px;
    border-radius:50%;
    background:linear-gradient(135deg,#0d4438,#092920);
    color:#f7d982;
    font-size:13px;
    font-weight:800;
    box-shadow:0 9px 20px rgba(8,44,36,.2);
}

.vhsp-edu-value-card h3{
    margin:0 0 10px!important;
    font-family:'Jura', sans-serif!important;
    color:#173f36!important;
    font-size:clamp(18px,1.35vw,23px)!important;
    line-height:1.22!important;
    font-weight:800!important;
}

.vhsp-edu-value-card p{
    margin:0;
    color:#3d4b47;
    font-size:15.5px;
    line-height:1.58;
    font-weight:500;
}

/* Tablet */
@media(max-width:1024px){
    .vhsp-edu-section{
        padding:62px 18px 72px;
    }

    .vhsp-edu-showcase{
        max-width:860px;
    }

    .vhsp-edu-floating-left{
        left:18px;
    }

    .vhsp-edu-floating-right{
        right:18px;
    }

    .vhsp-edu-value-grid{
        grid-template-columns:1fr;
    }
}

/* Mobile */
@media(max-width:767px){
    .vhsp-edu-section{
        padding:46px 14px 56px;
    }

    .vhsp-edu-section:before{
        inset:10px;
        border-radius:24px;
    }

    .vhsp-edu-head{
        margin-bottom:28px;
        text-align:left;
    }

    .vhsp-edu-badge{
        padding:8px 14px;
        font-size:10px;
        letter-spacing:1px;
        margin-bottom:15px;
    }

    .vhsp-edu-badge:after{
        display:none;
    }

    .vhsp-edu-title{
        font-size:31px!important;
        line-height:1.14!important;
        margin-bottom:14px!important;
    }

    .vhsp-edu-head p{
        font-size:18.5px;
        line-height:1.65;
    }

    .vhsp-edu-showcase{
        margin-bottom:28px;
    }

    .vhsp-edu-image-wrap{
        padding:8px;
        border-radius:24px;
    }

    .vhsp-edu-image{
        border-radius:18px;
    }

    .vhsp-edu-floating{
        position:relative;
        left:auto;
        right:auto;
        bottom:auto;
        max-width:none;
        margin-top:10px;
        padding:13px 14px;
        border-radius:15px;
        background:linear-gradient(135deg,#0e3f34,#08261f);
    }

    .vhsp-edu-floating span{
        font-size:16px;
    }

    .vhsp-edu-floating p{
        font-size:13.5px;
    }

    .vhsp-edu-value-grid{
        gap:13px;
        margin-top:22px;
    }

    .vhsp-edu-value-card{
        padding:19px 17px;
        border-radius:19px;
    }

    .vhsp-edu-value-card > span{
        width:34px;
        height:34px;
        margin-bottom:12px;
        font-size:12px;
    }

    .vhsp-edu-value-card h3{
        font-size:20.5px!important;
    }

    .vhsp-edu-value-card p{
        font-size:17px;
        line-height:1.55;
    }
}
.vhsp-edu-section,
.vhsp-edu-section *{
    box-sizing:border-box;
}

.vhsp-edu-section{
    width:100%;
    padding:78px 22px 88px;
    position:relative;
    overflow:hidden;
    font-family:'Jura', sans-serif;
    background:
        radial-gradient(circle at top left, rgba(225,173,78,.26), transparent 34%),
        radial-gradient(circle at bottom right, rgba(10,73,59,.16), transparent 38%),
        linear-gradient(180deg,#f7f0df 0%,#efe5cf 100%);
}

.vhsp-edu-section:before{
    content:"";
    position:absolute;
    inset:24px;
    border-radius:34px;
    border:1px solid rgba(174,128,55,.25);
    pointer-events:none;
}

.vhsp-edu-section:after{
    content:"";
    position:absolute;
    top:-180px;
    right:-150px;
    width:420px;
    height:420px;
    border-radius:50%;
    background:rgba(213,158,67,.17);
    filter:blur(18px);
    pointer-events:none;
}

.vhsp-edu-inner{
    position:relative;
    z-index:2;
    max-width:1480px;
    margin:0 auto;
}

.vhsp-edu-head{
    max-width:1180px;
    margin:0 0 36px;
}

.vhsp-edu-badge{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:9px 18px;
    margin-bottom:18px;
    border-radius:999px;
    background:linear-gradient(135deg,#0e3f34,#08261f);
    color:#f4d37a;
    font-size:12px;
    line-height:1;
    font-weight:800;
    letter-spacing:1.8px;
    text-transform:uppercase;
    box-shadow:0 14px 30px rgba(10,46,38,.2);
}

.vhsp-edu-badge:before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:#d9a84e;
    box-shadow:0 0 0 5px rgba(217,168,78,.15);
}

.vhsp-edu-title{
    margin:0 0 18px!important;
    font-family:'Jura', sans-serif!important;
    font-size:clamp(32px,3.4vw,56px)!important;
    line-height:1.12!important;
    font-weight:800!important;
    letter-spacing:.2px!important;
    color:#173f36!important;
}

.vhsp-edu-title span{
    background:linear-gradient(90deg,#8f6428 0%,#d39a3d 45%,#f4cf72 100%)!important;
    -webkit-background-clip:text!important;
    background-clip:text!important;
    -webkit-text-fill-color:transparent!important;
}

.vhsp-edu-desc{
    max-width:1120px;
    margin:0;
    color:#3d4b47;
    font-size:clamp(16px,1.35vw,21px);
    line-height:1.72;
    font-weight:500;
}

.vhsp-edu-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}

.vhsp-edu-card{
    position:relative;
    overflow:hidden;
    border-radius:28px;
    background:linear-gradient(180deg,#0d3d33 0%,#072820 100%);
    border:1px solid rgba(215,166,77,.36);
    box-shadow:
        0 22px 54px rgba(45,42,31,.18),
        inset 0 0 0 1px rgba(255,255,255,.08);
    transition:all .35s ease;
}

.vhsp-edu-card:hover{
    transform:translateY(-7px);
    box-shadow:
        0 34px 76px rgba(45,42,31,.28),
        0 0 0 1px rgba(229,182,91,.55);
}

.vhsp-edu-image{
    position:relative;
    width:100%;
    aspect-ratio:1/1;
    overflow:hidden;
    background:#08261f;
}

.vhsp-edu-image:before{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:
        linear-gradient(180deg,rgba(5,26,22,.02) 0%,rgba(5,26,22,.08) 48%,rgba(5,26,22,.38) 100%),
        linear-gradient(135deg,rgba(216,164,72,.18),transparent 48%);
}

.vhsp-edu-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
    transform:scale(1.02);
    transition:transform .55s ease, filter .55s ease;
}

.vhsp-edu-card:hover .vhsp-edu-image img{
    transform:scale(1.08);
    filter:saturate(1.08) contrast(1.04);
}

.vhsp-edu-content{
    position:relative;
    padding:18px 18px 20px;
    min-height:158px;
}

.vhsp-edu-content:before{
    content:"";
    display:block;
    width:54px;
    height:2px;
    margin:0 0 13px;
    border-radius:999px;
    background:linear-gradient(90deg,#f4cf72,#a8732d);
}

.vhsp-edu-content span{
    display:block;
    margin-bottom:8px;
    color:#f0cf78;
    font-size:11px;
    line-height:1;
    font-weight:800;
    letter-spacing:1.45px;
    text-transform:uppercase;
}

.vhsp-edu-content h3{
    margin:0 0 9px!important;
    font-family:'Jura', sans-serif!important;
    color:#fff8df!important;
    font-size:clamp(18px,1.25vw,22px)!important;
    line-height:1.2!important;
    font-weight:800!important;
    letter-spacing:.1px!important;
}

.vhsp-edu-content p{
    margin:0;
    color:rgba(255,248,223,.78);
    font-size:14.5px;
    line-height:1.5;
    font-weight:500;
}

.vhsp-edu-note{
    display:flex;
    align-items:flex-start;
    gap:16px;
    margin-top:26px;
    padding:22px 24px;
    border-radius:24px;
    background:
        linear-gradient(135deg,rgba(255,251,239,.9),rgba(246,232,201,.84));
    border:1px solid rgba(183,133,55,.3);
    box-shadow:0 18px 44px rgba(65,50,28,.1);
}

.vhsp-edu-note-icon{
    flex:0 0 auto;
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:linear-gradient(135deg,#0d4438,#092920);
    color:#f7d982;
    font-size:18px;
    font-weight:800;
    box-shadow:0 10px 22px rgba(8,44,36,.2);
}

.vhsp-edu-note p{
    margin:0;
    color:#354642;
    font-size:clamp(16px,1.25vw,20px);
    line-height:1.62;
    font-weight:600;
}

/* Tablet */
@media(max-width:1180px){
    .vhsp-edu-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

/* Mobile */
@media(max-width:767px){
    .vhsp-edu-section{
        padding:46px 14px 56px;
    }

    .vhsp-edu-section:before{
        inset:10px;
        border-radius:24px;
    }

    .vhsp-edu-head{
        margin-bottom:26px;
    }

    .vhsp-edu-badge{
        padding:8px 14px;
        font-size:10.5px;
        letter-spacing:1.2px;
        margin-bottom:15px;
    }

    .vhsp-edu-title{
        font-size:31px!important;
        line-height:1.14!important;
        margin-bottom:14px!important;
    }

    .vhsp-edu-desc{
        font-size:16.5px;
        line-height:1.65;
    }

    .vhsp-edu-grid{
        display:flex;
        gap:16px;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        padding:2px 2px 14px;
        -webkit-overflow-scrolling:touch;
    }

    .vhsp-edu-grid::-webkit-scrollbar{
        height:5px;
    }

    .vhsp-edu-grid::-webkit-scrollbar-thumb{
        background:rgba(168,121,49,.55);
        border-radius:999px;
    }

    .vhsp-edu-card{
        flex:0 0 84%;
        border-radius:22px;
        scroll-snap-align:start;
    }

    .vhsp-edu-image{
        aspect-ratio:1/1;
    }

    .vhsp-edu-content{
        padding:16px 15px 18px;
        min-height:150px;
    }

    .vhsp-edu-content h3{
        font-size:18.5px!important;
    }

    .vhsp-edu-content p{
        font-size:14px;
        line-height:1.48;
    }

    .vhsp-edu-note{
        gap:12px;
        padding:17px 16px;
        border-radius:19px;
        margin-top:22px;
    }

    .vhsp-edu-note-icon{
        width:34px;
        height:34px;
        font-size:15px;
    }

    .vhsp-edu-note p{
        font-size:16px;
        line-height:1.55;
    }
}
#banner img{
    width: 100%;
    height: auto;
}
.elementor-10 .elementor-element.elementor-element-2befdf0:not(.elementor-motion-effects-element-type-background),
.elementor-10 .elementor-element.elementor-element-2befdf0 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    --wpr-bg-06384310-2aed-4052-ac01-55e3dde8d164: url(../img/phoi-canh.jpg);
}
.vhsp-lux-contact__notice {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: 22px;
    max-width: 1180px;
    margin: 34px auto 34px;
    padding: 28px 32px;
    border-radius: 28px;
    border: 1.5px solid rgba(223, 171, 74, .65);
    background: radial-gradient(circle at top right, rgba(223, 171, 74, .18), transparent 34%), linear-gradient(135deg, #fffaf0 0%, #f6ecd6 100%);
    box-shadow: 0 28px 70px rgba(0, 0, 0, .32), inset 0 0 0 1px rgba(255, 255, 255, .82);
}
.form-group{
    margin-bottom: 15px;
    position: relative;
}
#moban_desc .wpcf7 input[type="submit"]{
    width: 100% !important;
    min-height: 60px !important;
    border: none !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #173f37 0%, #0f6a55 55%, #0b8265 100%) !important;
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    box-shadow: 0 14px 30px rgba(15, 106, 85, .32) !important;
    text-transform: uppercase;
}
div.wpcf7 .ajax-loader{
    position: absolute;
    left: 45%;
    top: 23px;
    background-color: #fff;
    border-radius: 100%;
}
div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing {
    border: 2px solid #f7e700;
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
    font-size: 16px;
    text-align: center;
    margin: 0px;
}
.vhsgb-divider:last-child{
    display: none;
}
.elementor-element-d95b64d{
    padding-top: 20px;
    margin-bottom: 10px;
}
.form_ngang{
    margin-bottom: 10px;
}
.form_ngang form{
    margin-bottom: 0px;
}
.elementor-10 .elementor-element.elementor-element-bae1555.elementor-element{
    padding-top: 30px !important;
}
.form_ngang .wpcf7 input[type="submit"]{
    border: none !important;
    border-radius: 13px !important;
    background: linear-gradient(180deg, #ffe18c, #c99736) !important;
    color: #06382f !important;
    font-family: 'Jura', Arial, sans-serif !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    box-shadow: inset 0 0 14px rgba(255, 255, 255, .42), 0 10px 22px rgba(0, 0, 0, .28) !important;
    width: 100%;
    line-height: 22px;
    text-transform: uppercase;
}
.elementor-element-2440fe9 .vhsp-theme-card h4{
    font-size: 20px;
    margin-bottom: 15px;
}
.uudiem_list li{
    background: url(../img/icon-list.png) left center no-repeat;
    padding-left: 20px;
}
.elementor-element-b764998 h3{
    font-weight: bold;
}
.tienich_dukien{
    padding-left: 20px;
}
.vhsp-edu-head{
    margin: auto;
}
.item-phuongan .title{
    display: inline-flex;
    padding: 6px 12px;
    margin-bottom: 14px;
    border-radius: 999px;
    color: #073225;
    background: linear-gradient(135deg, #f8dfa0, #c8943d);
    font-size: 13px;
    font-weight: 800;
}
#tiendo_desc p iframe{
    width: 100%;
    height: 600px;
    border: none;
    border-radius: 30px;
    overflow: hidden;
}
.vhsp-lux-contact__content a{
    color: #fff;
}
*{
    outline: none !Important;
    text-decoration: none !Important;
}
#myModal .modal-content{
    border-radius: 28px;
    background: linear-gradient(180deg, #fffaf0, #f7efe0);
    color: #000;
    max-width: 410px;
    font-family: "Jura", Sans-serif;
    padding: 10px;
    margin: auto;
}
#myModal .modal-content .close{
    color: #000;
    font-size: 40px;
    position: absolute;
    z-index: 999;
    right: 0px;
    top: -10px;
    padding: 0px;
    margin: 0px;
    background: none;
    min-height: inherit;
}
#myModal .modal-content ul{
    margin-bottom: 20px;
    list-style: none;
    margin-left: 0px;
    padding: 0px;
}
#myModal .modal-content ul li{
    background: url("../img/icon-list.png") left center no-repeat;
    padding-left: 25px;
}
#myModal .modal-content .logo{
    text-align: center;
    margin-bottom: 10px;
}
#myModal .modal-content .logo img{
    height: 85px;
    width: auto;
    margin: auto;
}
#myModal .modal-content .title{    
    font-size: 17px;
    font-weight: bold;
}
#myModal .wpcf7 input[type="submit"]{
    width: 100% !important;
    min-height: 10px !important;
    border: none !important;
    border-radius: 13px !important;
    background: linear-gradient(180deg, #ffe18c, #c99736) !important;
    color: #06382f !important;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 19px;
}
#myModal .wpcf7 input[type="text"],
#myModal .wpcf7 input[type="tel"],
#myModal .wpcf7 input[type="email"]{
    border: 1.5px solid #444;
    color: #000 !Important;
    min-height: 46px;
    height: 46px;
    font-size: 15px;
    border-radius: 12px;
    padding: 0 14px;
    background: transparent;
}
#myModal .wpcf7 select{
    border: 1.5px solid #444;
    color: #000 !Important;
    min-height: 46px;
    height: 46px;
    font-size: 15px;
    border-radius: 12px;
    padding: 0 10px;
    background: transparent;
    -webkit-appearance: auto;
}
body{
    padding-right: 0px !Important;
}
#myModal .wpcf7 input[type="text"]::placeholder,
#myModal .wpcf7 input[type="tel"]::placeholder,
#myModal .wpcf7 input[type="email"]::placeholder,
#myModal .wpcf7 textarea::placeholder,
#myModal .wpcf7 select::placeholder{
    color: #000;
}
#myModal .wpcf7 select option {
    background-color: #f0f0f0;
    color: #333333;
}
#moban_desc .wpcf7 input[type="text"]::placeholder,
#moban_desc .wpcf7 input[type="tel"]::placeholder,
#moban_desc .wpcf7 input[type="email"]::placeholder{
    color: #173f37;
}
#moban_desc .wpcf7 select{
    height: 56px !important;
    line-height: 56px !important;
    padding: 0px 20px !Important;
    -webkit-appearance: auto !important;
}
#button-contact-vr {
    position: fixed;
    bottom: 0;
    z-index: 999;
}
.phone-bar a,
#phone-vr .phone-vr-circle-fill,
#phone-vr .phone-vr-img-circle,
#phone-vr .phone-bar a {
    background: #cd2235;
}
#phone-vr .phone-vr-circle-fill {
    opacity: 0.7;box-shadow: 0 0 0 0 #dd9933;
}
#button-contact-vr .button-contact {
    position: relative;
    margin-top: -5px;
}
#button-contact-vr .button-contact .phone-vr {
    position: relative;
    visibility: visible;
    background-color: transparent;
    width: 90px;
    height: 90px;
    cursor: pointer;
    z-index: 11;
    -webkit-backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    transition: visibility .5s;
    left: 0;
    bottom: 0;
    display: block;
}
.phone-vr-circle-fill {
    width: 65px;
    height: 65px;
    top: 12px;
    left: 12px;
    position: absolute;
    box-shadow: 0 0 0 0 #c31d1d;
    background-color: rgba(230, 8, 8, 0.7);
    border-radius: 50%;
    border: 2px solid transparent;
    -webkit-animation: phone-vr-circle-fill 2.3s infinite ease-in-out;
    animation: phone-vr-circle-fill 2.3s infinite ease-in-out;
    transition: all .5s;
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-animuiion: zoom 1.3s infinite;
    animation: zoom 1.3s infinite;
}
.phone-vr-img-circle {
    background-color: #e60808;
    width: 40px;
    height: 40px;
    line-height: 40px;
    top: 25px;
    left: 25px;
    position: absolute;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    justify-content: center;
    -webkit-animation: phonering-alo-circle-img-anim 1s infinite ease-in-out;
    animation: phone-vr-circle-fill 1s infinite ease-in-out;
}
.phone-vr-img-circle a {
    display: block;
    line-height: 37px;
}
.phone-vr-img-circle img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
}
@-webkit-keyframes phone-vr-circle-fill {
    0% {-webkit-transform: rotate(0) scale(1) skew(1deg);  }
    10% {-webkit-transform: rotate(-25deg) scale(1) skew(1deg);}
    20% {-webkit-transform: rotate(25deg) scale(1) skew(1deg);}
    30% {-webkit-transform: rotate(-25deg) scale(1) skew(1deg);}
    40% {-webkit-transform: rotate(25deg) scale(1) skew(1deg);}
    50% {-webkit-transform: rotate(0) scale(1) skew(1deg);}
    100% {-webkit-transform: rotate(0) scale(1) skew(1deg);}
}
@-webkit-keyframes zoom{0%{transform:scale(.9)}70%{transform:scale(1);box-shadow:0 0 0 15px transparent}100%{transform:scale(.9);box-shadow:0 0 0 0 transparent}}@keyframes zoom{0%{transform:scale(.9)}70%{transform:scale(1);box-shadow:0 0 0 15px transparent}100%{transform:scale(.9);box-shadow:0 0 0 0 transparent}}
.phone-bar a {
    position: fixed;
    bottom: 25px;
    left: 30px;
    z-index: -1;
    color: #fff;
    font-size: 16px;
    padding: 8px 15px 7px 50px;
    border-radius: 100px;
    white-space: nowrap;
}
.phone-bar a:hover {
    opacity: 0.8;color: #fff;
}
@media(max-width: 736px){
    .phone-bar{display: none;}
}

#zalo-vr .phone-vr-circle-fill {
    box-shadow: 0 0 0 0 #2196F3;
    background-color: rgba(33, 150, 243, 0.7);
}
#zalo-vr .phone-vr-img-circle {
    background-color: #2196F3;
}
#viber-vr .phone-vr-circle-fill {
    box-shadow: 0 0 0 0 #714497;
    background-color: rgba(113, 68, 151, 0.8);
}
#viber-vr .phone-vr-img-circle {
    background-color: #714497;
}
#contact-vr .phone-vr-circle-fill {
    box-shadow: 0 0 0 0 #2196F3;
    background-color: rgba(33, 150, 243, 0.7);
}
#contact-vr .phone-vr-img-circle {
    background-color: #2196F3;
}
div#whatsapp-vr .phone-vr .phone-vr-circle-fill {
    box-shadow: 0 0 0 0 #1fd744;
    background-color: rgb(35 217 72 / 70%);
}
div#whatsapp-vr .phone-vr .phone-vr-img-circle {
    background: #1cd741;
}
div#whatsapp-vr .phone-vr .phone-vr-img-circle img {
    max-width: 100%;
    max-height: 100%;
    border-radius: 50%;
}
#gom-all-in-one #phone-vr {
    transition: 0.7s all;
    -moz-transition: 0.7s all;
    -webkit-transition: 0.7s all;
}
#gom-all-in-one #zalo-vr {
    transition: 1s all;
    -moz-transition: 1s all;
    -webkit-transition: 1s all;
}
#gom-all-in-one #viber-vr {
    transition: 1.3s all;
    -moz-transition: 1.3s all;
    -webkit-transition: 1.3s all;
}
#gom-all-in-one #contact-vr {
    transition: 1.6s all;
    -moz-transition: 1.6s all;
    -webkit-transition: 1.6s all;
}
#button-contact-vr.active #gom-all-in-one .button-contact {
    margin-left: -100%;
}
#all-in-one-vr .phone-bar {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 100%;
    color: #fff;
    padding: 5px 15px 5px 48px;
    border-radius: 50px;
    margin-left: -64px;
    width: max-content;
    cursor: pointer;
}
html::-webkit-scrollbar {
    width: 10px;
    background-color: #ddd;
} 
html::-webkit-scrollbar-thumb {
    background-color: #b05c1e;
    border-radius: 0px;
}
.hide-for-medium .menu-item-has-children .toggle{display: none;}
.hide-for-medium .sub-menu{
    position: absolute;
    min-width: 300px;
    z-index: 9;
    padding: 10px 20px;
    transition: opacity .25s;
    box-shadow: 1px 1px 15px rgb(0 0 0 / 15%);
    border: 2px solid #ddd;
    color: #777;
    background-color: #fff;
    text-align: left;
    left: 0px;
    opacity: 1;
    display: none;
    border-radius: 0px 0px 10px 10px;
}
.hide-for-medium li.menu-item-has-children:hover:before{
    bottom: -2px;
    z-index: 10;
    left: 50%;
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-bottom-color: #1e73be;
    border-bottom-color: #ddd;
    border-width: 11px;
    margin-left: -11px;
}
.hide-for-medium li.menu-item-has-children:hover > .sub-menu{display: block;}
.hide-for-medium li.menu-item-has-children .sub-menu li{
    display: block;
    border-bottom: 1px solid #ececec;
    margin: 0px;
    padding: 6px 10px;
}
.hide-for-medium li.menu-item-has-children .sub-menu li:last-child{border-bottom: none;}
.hide-for-medium li.menu-item-has-children .sub-menu li a:hover{color: #f48120;}
.hide-for-medium ul.nav li{margin: 0px 10px;}
.hide-for-medium .menu-item-has-children > a:after {
    content: "";
    float: right;
    font-size: 14px;
    position: relative;
    top: 0px;
    left: 4px;
    font-family: "fl-icons";
}
#logo img {
    max-height: 100px;
}
#logo {
    width: 140px;
}
#logo img {
    padding: 6px 0;
}
.header-bottom {
    min-height: 10px;
}
.header-top {
    min-height: 30px;
}
.transparent .header-main {
    height: 90px;
}
.transparent #logo img {
    max-height: 90px;
}
.has-transparent + .page-title:first-of-type,
.has-transparent + #main > .page-title,
.has-transparent + #main > div > .page-title,
.has-transparent + #main .page-header-wrapper:first-of-type .page-title {
    padding-top: 90px;
}
.header.show-on-scroll,
.stuck .header-main {
    height: 87px !important;
}
.stuck #logo img {
    max-height: 70px !important;
}
.header-bg-color,
.header-wrapper {
    background-color: rgba(255, 255, 255, 0.9);
}
.header-bottom {
    background-color: #f1f1f1;
}
.header-main .nav > li > a {
    line-height: 16px;
}
@media (max-width: 549px) {
    .header-main {
        height: 70px;
    }
    #logo img {
        max-height: 70px;
    }
}
.header-nav-main.nav  li > a { 
    color: #000;
    font-weight: bold;
}
.header-nav-main.nav  li:hover > a {
    color: #ff6f0d;
}
.mobile-nav .header-button a{
    background: #ff6f0d;
}
.mfp-close{
    background: #ff6f0d;
    color: #fff;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    display: block;
    opacity: 1 !Important;
    padding: 0px;
    line-height: 40px;
}
.header{
    height: auto;
}
.editor ul{
    margin-left: 30px;
}
.form_ngang .row{
    margin: auto;
}
.form_ngang .col{
    padding-bottom: 0px;
}
.modal {
    z-index: 99999999;
}
body{
    padding-right: 0px !Important;
}
.modal-body{
    padding: 20px 5px;
}
div.wpcf7-mail-sent-ok {  
    background: #398f14;
    color: #fff;
    text-align: center;
    font-size: 13px;
}