:root {
    --vf-blue: #1464f4;
    --vf-blue-dark: #0b4dcc;
    --vf-navy: #071a3d;
    --vf-navy-2: #0a2858;
    --vf-cyan: #00a6ff;
    --vf-text: #17233c;
    --vf-muted: #67738a;
    --vf-border: #dce3ef;
    --vf-soft: #f4f7fb;
    --vf-white: #fff;
    --vf-shadow: 0 14px 34px rgba(7, 26, 61, .09);
    --vf-radius: 12px;
    --vf-container: 1280px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; font-size: 16px; }
body { margin: 0; min-width: 320px; color: var(--vf-text); background: #fff; font-family: "Inter", Arial, sans-serif; font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
body.is-menu-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
:where(.rich-content, .post-detail-article, .category-seo-content, .category-summary, .about-page-content, .site-content-block__body) a:not(.button) {
    color: #0969da;
    font-weight: 700;
    text-decoration: none;
    text-underline-offset: 3px;
    transition: color .18s ease;
}
:where(.rich-content, .post-detail-article, .category-seo-content, .category-summary, .about-page-content, .site-content-block__body) a:not(.button):hover {
    color: #0550ae;
    text-decoration: underline;
}
.page-hero .category-summary a:not(.button) {
    color: #72b7ff;
}
.page-hero .category-summary a:not(.button):hover {
    color: #a8d3ff;
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, h4, p { margin-top: 0; }
h1 { font-size: 56px; line-height: 1.12; }
h2 { font-size: 40px; line-height: 1.2; }
h3 { font-size: 28px; line-height: 1.3; }
h4 { font-size: 22px; line-height: 1.4; }
.vf-container, .container { width: min(calc(100% - 48px), var(--vf-container)); margin-inline: auto; }
.vf-main { min-height: 55vh; overflow: clip; }
.sr-only { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }
.vf-icon { width: 22px; height: 22px; flex: 0 0 auto; }

.vf-button, .button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 8px; padding: 0 23px; border: 1px solid transparent; border-radius: 5px; font-size: 15px; font-weight: 600; letter-spacing: .01em; transition: .22s ease; }
.vf-button .icon, .button .icon { width: 18px; height: 18px; flex: 0 0 18px; }
.vf-button--primary, .button--primary { color: #fff; background: var(--vf-blue); box-shadow: 0 8px 20px rgba(20, 100, 244, .24); }
.vf-button--primary:hover { background: var(--vf-blue-dark); transform: translateY(-1px); }
.vf-button--light { color: var(--vf-navy); background: #fff; border-color: #fff; }
.vf-button--light:hover { color: var(--vf-blue); }

/* Header */
.vf-header { display: contents; }
.vf-topbar { height: 40px; color: #fff; background: var(--vf-navy); font-size: 14px; }
.vf-topbar__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.vf-topbar__item { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; opacity: .95; }
.vf-topbar__item .vf-icon { width: 14px; height: 14px; color: #79a8ff; }
.vf-topbar__item--center { margin-left: auto; margin-right: auto; }
.vf-navbar { position: sticky; z-index: 500; top: 0; height: 76px; background: rgba(255,255,255,.98); box-shadow: 0 2px 14px rgba(7,26,61,.09); }
.vf-navbar__inner { height: 100%; display: flex; align-items: center; gap: 34px; }
.vf-brand { display: inline-flex; align-items: center; gap: 11px; min-width: 175px; color: var(--vf-navy); }
.vf-brand__mark { width: 42px; height: 32px; }
.vf-brand__word { font-size: 18px; line-height: 1; font-weight: 800; letter-spacing: .28em; white-space: nowrap; }
.vf-nav { min-width: 0; flex: 1; display: flex; align-items: center; justify-content: center; gap: clamp(8px, 1vw, 18px); height: 100%; }
.vf-nav__item { height: 100%; display: flex; align-items: center; }
.vf-nav__link { position: relative; display: inline-flex; height: 100%; align-items: center; gap: 5px; padding: 0; color: #26324a; background: transparent; border: 0; font: inherit; font-size: clamp(13px, 1vw, 16px); font-weight: 600; white-space: nowrap; cursor: pointer; }
.vf-nav__link::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: 0; height: 3px; background: var(--vf-blue); transition: .2s ease; }
.vf-nav__link:hover, .vf-nav__item--has-children:focus-within > .vf-nav__link, .vf-nav__item--has-children:hover > .vf-nav__link, .vf-nav__item--has-children.is-open > .vf-nav__link { color: var(--vf-blue); }
.vf-nav__link:hover::after, .vf-nav__item--has-children:focus-within > .vf-nav__link::after, .vf-nav__item--has-children:hover > .vf-nav__link::after, .vf-nav__item--has-children.is-open > .vf-nav__link::after { left: 0; right: 0; }
.vf-nav__submenu-toggle { width: 24px; height: 100%; display: grid; place-items: center; padding: 0; color: #26324a; border: 0; background: transparent; cursor: pointer; }
.vf-nav__submenu-toggle .vf-icon { width: 15px; height: 15px; transform: rotate(90deg); transition: transform .2s ease; }
.vf-nav__item--has-children:hover .vf-nav__submenu-toggle, .vf-nav__item--has-children:focus-within .vf-nav__submenu-toggle, .vf-nav__item--has-children.is-open .vf-nav__submenu-toggle { color: var(--vf-blue); }
.vf-nav__item--has-children:hover .vf-nav__submenu-toggle .vf-icon, .vf-nav__item--has-children:focus-within .vf-nav__submenu-toggle .vf-icon, .vf-nav__item--has-children.is-open .vf-nav__submenu-toggle .vf-icon { transform: rotate(-90deg); }
.vf-nav__dropdown { position: absolute; top: 100%; left: 50%; z-index: 70; width: min(1120px, calc(100vw - 48px)); padding: 24px; color: var(--vf-text); background: #fff; border: 1px solid var(--vf-border); border-radius: 0 0 14px 14px; box-shadow: 0 22px 55px rgba(7,26,61,.18); opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%, -10px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; }
.vf-nav__item--has-children:hover .vf-nav__dropdown, .vf-nav__item--has-children:focus-within .vf-nav__dropdown, .vf-nav__item--has-children.is-open .vf-nav__dropdown { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }
.vf-nav__dropdown-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 18px; padding-bottom: 17px; border-bottom: 1px solid #e8edf5; }
.vf-nav__dropdown-head > div { display: grid; gap: 3px; }
.vf-nav__dropdown-head strong { color: var(--vf-navy); font-size: 18px; }
.vf-nav__dropdown-head span { color: var(--vf-muted); font-size: 14px; }
.vf-nav__dropdown-head > a { display: inline-flex; align-items: center; gap: 7px; color: var(--vf-blue); font-size: 14px; font-weight: 600; }
.vf-nav__dropdown-head > a .vf-icon { width: 17px; height: 17px; }
.vf-nav__submenu { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.vf-nav__submenu > a { min-width: 0; display: grid; grid-template-columns: 42px 1fr 15px; align-items: center; gap: 11px; min-height: 66px; padding: 10px 12px; border: 1px solid transparent; border-radius: 9px; transition: .18s ease; }
.vf-nav__submenu > a:hover { color: var(--vf-blue); background: #f2f7ff; border-color: #d6e4ff; transform: translateY(-1px); }
.vf-nav__submenu-icon { width: 42px; height: 42px; display: grid; place-items: center; color: var(--vf-blue); border-radius: 10px; background: #eaf2ff; }
.vf-nav__submenu-icon .vf-icon { width: 24px; height: 24px; }
.vf-nav__submenu > a > span:nth-child(2) { min-width: 0; display: grid; }
.vf-nav__submenu strong { overflow: hidden; color: var(--vf-navy); font-size: 15px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.vf-nav__submenu small { color: var(--vf-muted); font-size: 13px; }
.vf-nav__submenu > a > .vf-icon { width: 15px; height: 15px; color: #9aabc2; transform: rotate(0); }
.vf-nav__tree { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.vf-nav__tree-item { min-width: 0; }
.vf-nav__tree-item > a { min-width: 0; display: grid; grid-template-columns: 42px minmax(0, 1fr) 15px; align-items: center; gap: 11px; min-height: 66px; padding: 10px 12px; color: #344158; border: 1px solid transparent; border-radius: 9px; transition: .18s ease; }
.vf-nav__tree-item > a:hover { color: var(--vf-blue); background: #f2f7ff; border-color: #d6e4ff; transform: translateY(-1px); }
.vf-nav__tree-item > a > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.vf-nav__tree-item > a strong { overflow: hidden; color: var(--vf-navy); font-size: 15px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.vf-nav__tree-item > a small { overflow: hidden; color: var(--vf-muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.vf-nav__tree-item > a > .vf-icon { width: 15px; height: 15px; color: #9aabc2; }
.vf-nav__tree--level-2, .vf-nav__tree--level-3, .vf-nav__tree--level-4 { grid-template-columns: 1fr; gap: 4px; margin: 4px 0 0 53px; padding-left: 10px; border-left: 1px solid #dbe5f3; }
.vf-nav__tree--level-2 .vf-nav__tree-item > a, .vf-nav__tree--level-3 .vf-nav__tree-item > a, .vf-nav__tree--level-4 .vf-nav__tree-item > a { grid-template-columns: minmax(0, 1fr) 13px; min-height: 34px; padding: 5px 7px; font-size: 13px; }
.vf-nav__tree--level-2 .vf-nav__submenu-icon, .vf-nav__tree--level-3 .vf-nav__submenu-icon, .vf-nav__tree--level-4 .vf-nav__submenu-icon { display: none; }
.vf-nav__tree--level-2 .vf-nav__tree-item > a small, .vf-nav__tree--level-3 .vf-nav__tree-item > a small, .vf-nav__tree--level-4 .vf-nav__tree-item > a small { display: none; }
.vf-navbar__actions { display: flex; align-items: center; gap: 9px; }
.vf-icon-button, .vf-menu-toggle { width: 38px; height: 38px; display: inline-grid; place-items: center; color: var(--vf-navy); background: transparent; border: 0; border-radius: 50%; }
.vf-icon-button:hover, .vf-menu-toggle:hover { color: var(--vf-blue); background: #eef5ff; }
.vf-icon-button .vf-icon, .vf-menu-toggle .vf-icon { width: 19px; height: 19px; }
.vf-navbar__cta { min-height: 44px; padding-inline: 18px; font-size: 14px; }
.vf-menu-toggle { display: none; }
.vf-mobile-menu { position: fixed; inset: 0; z-index: 1200; visibility: hidden; pointer-events: none; }
.vf-mobile-menu.is-open { visibility: visible; pointer-events: auto; }
.vf-mobile-menu__backdrop { position: absolute; inset: 0; background: rgba(3, 16, 39, .58); opacity: 0; transition: .25s ease; }
.vf-mobile-menu.is-open .vf-mobile-menu__backdrop { opacity: 1; }
.vf-mobile-menu__panel { position: absolute; top: 0; right: 0; width: min(92vw, 430px); height: 100%; overflow-y: auto; padding: 24px; background: #fff; transform: translateX(100%); transition: .25s ease; box-shadow: -20px 0 45px rgba(7,26,61,.18); }
.vf-mobile-menu.is-open .vf-mobile-menu__panel { transform: translateX(0); }
.vf-mobile-menu__head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid var(--vf-border); }
.vf-mobile-menu__title { color: var(--vf-navy); font-size: 16px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.vf-mobile-menu__head button { width: 38px; height: 38px; border: 0; border-radius: 50%; background: var(--vf-soft); font-size: 28px; line-height: 1; }
.vf-mobile-menu nav { display: grid; padding: 16px 0 24px; }
.vf-mobile-menu nav > a { padding: 13px 4px; border-bottom: 1px solid #edf0f5; font-size: 16px; font-weight: 600; }
.vf-mobile-nav__group { border-bottom: 1px solid #edf0f5; }
.vf-mobile-nav__group-head { min-height: 52px; display: grid; grid-template-columns: minmax(0,1fr) 42px; align-items: stretch; }
.vf-mobile-nav__group-head > a { display: flex; align-items: center; padding: 0 4px; color: var(--vf-navy); font-size: 16px; font-weight: 600; }
.vf-mobile-nav__toggle { width: 42px; min-height: 52px; display: flex; align-items: center; justify-content: center; padding: 0; color: var(--vf-navy); background: transparent; border: 0; }
.vf-mobile-nav__toggle .vf-icon { width: 18px; height: 18px; transform: rotate(90deg); transition: transform .2s ease; }
.vf-mobile-nav__toggle[aria-expanded="true"] { color: var(--vf-blue); }
.vf-mobile-nav__toggle[aria-expanded="true"] .vf-icon { transform: rotate(-90deg); }
.vf-mobile-nav__submenu { display: none; gap: 6px; padding: 4px 0 12px; }
.vf-mobile-nav__submenu.is-open { display: grid; }
.vf-mobile-nav__submenu a { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 7px 9px; color: #344158; border-radius: 8px; background: #f7f9fc; font-size: 14px; }
.vf-mobile-nav__submenu a:active { color: var(--vf-blue); background: #edf4ff; }
.vf-mobile-nav__link { display: flex; align-items: center; min-height: 48px; padding: 7px 9px; color: #344158; border-radius: 8px; background: #f7f9fc; font-size: 14px; font-weight: 600; }
.vf-mobile-nav__link--level-0 { min-height: 52px; padding: 0 4px; color: var(--vf-navy); border-bottom: 1px solid #edf0f5; border-radius: 0; background: transparent; font-size: 16px; }
.vf-mobile-nav__group--level-1, .vf-mobile-nav__group--level-2, .vf-mobile-nav__group--level-3, .vf-mobile-nav__group--level-4 { margin-left: 12px; border-bottom: 0; }
.vf-mobile-nav__group--level-1 .vf-mobile-nav__group-head, .vf-mobile-nav__group--level-2 .vf-mobile-nav__group-head, .vf-mobile-nav__group--level-3 .vf-mobile-nav__group-head, .vf-mobile-nav__group--level-4 .vf-mobile-nav__group-head { min-height: 46px; }
.vf-mobile-nav__group--level-1 .vf-mobile-nav__group-head > a, .vf-mobile-nav__group--level-2 .vf-mobile-nav__group-head > a, .vf-mobile-nav__group--level-3 .vf-mobile-nav__group-head > a, .vf-mobile-nav__group--level-4 .vf-mobile-nav__group-head > a { font-size: 14px; }
.vf-mobile-nav__submenu > .vf-mobile-nav__group { background: #f7f9fc; border-radius: 8px; }
.vf-mobile-nav__submenu > .vf-mobile-nav__group > .vf-mobile-nav__group-head > a { background: transparent; }
.vf-mobile-nav__icon { width: 34px; height: 34px; display: grid; flex: 0 0 34px; place-items: center; color: var(--vf-blue); border-radius: 8px; background: #e8f1ff; }
.vf-mobile-nav__icon .vf-icon { width: 20px; height: 20px; }
.vf-mobile-menu__panel > .vf-button { width: 100%; }
.vf-mobile-menu__hotline { display: block; margin-top: 18px; color: var(--vf-blue); text-align: center; font-weight: 700; }

/* Hero */
.vf-hero { position: relative; min-height: 570px; display: flex; align-items: stretch; overflow: hidden; color: #fff; background-color: var(--vf-navy); isolation: isolate; }
.vf-hero__slide { position: absolute; inset: 0; z-index: 0; min-height: inherit; opacity: 0; visibility: hidden; pointer-events: none; background-image: var(--vf-hero-image); background-size: cover; background-position: center; transition: opacity .7s ease, visibility .7s ease; }
.vf-hero__slide::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(4,19,45,.72) 0, rgba(4,19,45,.26) 42%, transparent 68%); }
.vf-hero__slide.is-active { z-index: 1; opacity: 1; visibility: visible; pointer-events: auto; }
.vf-hero__inner { position: relative; z-index: 2; display: flex; align-items: center; min-height: inherit; padding-top: 18px; padding-bottom: 45px; }
.vf-hero__content { width: min(560px, 46%); }
.vf-hero__eyebrow { display: inline-flex; margin-bottom: 10px; color: #9fc0ff; font-size: 14px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.vf-hero__title { margin: 0 0 15px; max-width: 540px; color: inherit; font-size: clamp(48px, 4.3vw, 56px); line-height: 1.1; font-weight: 800; letter-spacing: -.025em; }
.vf-hero__content > p { margin-bottom: 25px; font-size: 18px; line-height: 1.6; font-weight: 500; }
.vf-hero__actions { display: flex; gap: 12px; margin-bottom: 23px; }
.vf-hero__actions .vf-button { min-width: 174px; }
.vf-hero__stats { width: 450px; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid rgba(255,255,255,.28); border-radius: 9px; background: rgba(4, 24, 58, .64); backdrop-filter: blur(8px); }
.vf-hero__stats > div { padding: 13px 18px 11px; }
.vf-hero__stats > div + div { border-left: 1px solid rgba(255,255,255,.18); }
.vf-hero__stats span { display: block; color: #d4e0f4; font-size: 14px; }
.vf-hero__stats strong { display: inline-block; margin: 2px 5px 0 0; font-size: 32px; line-height: 1.15; }
.vf-hero__stats small { font-size: 14px; }
.vf-hero__stats ul { grid-column: 1 / -1; display: flex; margin: 0; padding: 9px 15px; border-top: 1px solid rgba(255,255,255,.15); list-style: none; }
.vf-hero__stats li { width: 50%; display: flex; align-items: center; gap: 6px; color: #dbe8fb; font-size: 14px; }
.vf-hero__stats .vf-icon { width: 15px; height: 15px; }
.vf-hero__dots { position: absolute; left: 50%; bottom: 18px; z-index: 3; display: flex; gap: 7px; transform: translateX(-50%); }
.vf-hero__dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.68); cursor: pointer; transition: width .25s ease, background .25s ease; }
.vf-hero__dots button.is-active { width: 24px; border-radius: 8px; background: var(--vf-blue); }

/* Benefits */
.vf-benefits { position: relative; z-index: 2; padding: 22px 0; background: #fff; }
.vf-benefits__grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--vf-border); border-radius: var(--vf-radius); box-shadow: var(--vf-shadow); }
.vf-benefit { display: flex; gap: 14px; align-items: center; min-height: 126px; padding: 20px 22px; }
.vf-benefit + .vf-benefit { border-left: 1px solid var(--vf-border); }
.vf-benefit__icon { width: 48px; height: 48px; display: grid; flex: 0 0 48px; place-items: center; color: var(--vf-blue); border: 1px solid #b9d0ff; border-radius: 50%; }
.vf-benefit__icon .vf-icon { width: 28px; height: 28px; }
.vf-benefit h2 { margin: 0 0 4px; font-size: 16px; line-height: 1.4; font-weight: 700; }
.vf-benefit p { margin: 0; color: var(--vf-muted); font-size: 14px; line-height: 1.6; }

/* Common sections */
.vf-section { padding: 62px 0; }
.vf-section--tight { padding: 22px 0; }
.vf-section-heading { margin-bottom: 26px; text-align: center; }
.vf-section-heading h2 { margin-bottom: 7px; color: var(--vf-navy); font-size: clamp(36px, 3vw, 40px); line-height: 1.2; font-weight: 800; letter-spacing: -.02em; }
.vf-section-heading p { margin: 0 auto; max-width: 680px; color: var(--vf-muted); }
.vf-section-heading--row { display: flex; align-items: center; justify-content: space-between; text-align: left; }
.vf-section-heading--row h2 { margin: 0; }
.vf-section-heading--row > a { display: inline-flex; align-items: center; gap: 6px; color: var(--vf-blue); font-size: 14px; font-weight: 600; }
.vf-section-heading--row .vf-icon { width: 16px; height: 16px; }
.vf-alert { margin: 18px 0; padding: 13px 16px; border-radius: 8px; }
.vf-alert--error { color: #9d1c1c; background: #fff1f1; border: 1px solid #ffcaca; }
.vf-empty { grid-column: 1 / -1; padding: 40px; color: var(--vf-muted); background: var(--vf-soft); border-radius: var(--vf-radius); text-align: center; }
.vf-toast { position: fixed; top: 125px; left: 50%; z-index: 90; min-width: 320px; max-width: min(90vw, 620px); padding: 14px 22px; border-radius: 8px; color: #fff; text-align: center; box-shadow: var(--vf-shadow); transform: translateX(-50%); }
.vf-toast--success { background: #079455; }
.vf-toast--error { background: #cf2f2f; }

/* Model cards */
.vf-models { padding-top: 44px; }
.vf-model-filters { max-width: 1180px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 9px 10px; margin: 0 auto 28px; }
.vf-model-filters button { min-width: 116px; min-height: 46px; flex: 0 1 148px; display: inline-flex; align-items: center; justify-content: center; padding: 9px 14px; color: #657188; background: #fff; border: 1px solid #d6dfec; border-radius: 6px; box-shadow: 0 3px 10px rgba(7,26,61,.045); font-size: 14px; line-height: 1.3; font-weight: 600; text-align: center; text-transform: uppercase; white-space: normal; transition: color .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease; }
.vf-model-filters button:hover { color: var(--vf-blue); border-color: #8db4f8; background: #f3f7ff; box-shadow: 0 6px 16px rgba(20,100,244,.1); transform: translateY(-1px); }
.vf-model-filters button.is-active { color: #fff; border-color: var(--vf-blue); background: var(--vf-blue); box-shadow: 0 8px 18px rgba(20,100,244,.22); }
.vf-model-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.vf-model-grid > [data-model-card] { min-width: 0; display: flex; }
.vf-model-grid > [data-model-card][hidden] { display: none; }
.vf-model-grid > [data-model-card] > .product-card { width: 100%; }
.vf-model-filter-empty { grid-column: 1 / -1; }
.vf-model-sprite { display: block; width: 100%; height: 100%; background-image: url('../images/vinfast/vinfast-models-sprite.png?v=3'); background-repeat: no-repeat; background-size: 300% 200%; }
.vf-model-sprite--vf3 { background-position: 0 0; }
.vf-model-sprite--vf5 { background-position: 50% 0; }
.vf-model-sprite--vf6 { background-position: 100% 0; }
.vf-model-sprite--vf7 { background-position: 0 100%; }
.vf-model-sprite--vf8 { background-position: 50% 100%; }
.vf-model-sprite--vf9 { background-position: 100% 100%; }

/* Promotion */
.vf-promo { position: relative; min-height: 270px; display: grid; grid-template-columns: 1.25fr .62fr 1.05fr; align-items: center; overflow: hidden; padding: 34px 42px; color: #fff; border-radius: 14px; background: radial-gradient(circle at 78% 32%, #174b91 0, transparent 35%), linear-gradient(110deg, #062653, #00152f); box-shadow: 0 16px 40px rgba(7,26,61,.16); }
.vf-promo::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: radial-gradient(circle at 2px 2px, #6ca7ff 1px, transparent 0); background-size: 26px 26px; }
.vf-promo > * { position: relative; z-index: 1; }
.vf-promo h2 { margin: 0 0 4px; font-size: 36px; line-height: 1.2; font-weight: 800; }
.vf-promo p { color: #c6d9f5; font-size: 16px; line-height: 1.6; }
.vf-promo ul { display: flex; flex-wrap: wrap; gap: 15px; margin: 20px 0 0; padding: 0; list-style: none; }
.vf-promo li { display: flex; align-items: center; gap: 6px; font-size: 14px; }
.vf-promo li .vf-icon { width: 18px; height: 18px; color: #7eadff; }
.vf-promo__finance { padding: 20px; text-align: center; border: 1px solid rgba(255,255,255,.24); border-radius: 10px; background: rgba(4,24,57,.6); }
.vf-promo__finance span { display: block; color: #c7daf6; font-size: 14px; }
.vf-promo__finance strong { display: inline-block; margin-right: 6px; font-size: 50px; line-height: 1.1; }
.vf-promo__finance small { font-size: 14px; }
.vf-promo__cars { align-self: stretch; min-height: 270px; margin: -34px -42px -34px -12px; border-radius: 0 14px 14px 0; background: #041938 url('../images/vinfast/promo-cars.png?v=1') center / cover no-repeat; }
.vf-promo__cars .vf-model-sprite { display: none; }

/* Technology and safety */
.vf-features { padding-top: 26px; padding-bottom: 48px; }
.vf-features__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.vf-feature-card { position: relative; min-height: 390px; overflow: hidden; border: 1px solid #e3eaf4; border-radius: 12px; background: linear-gradient(135deg, #fff 0, #edf4ff 100%); }
.vf-feature-card__content { position: relative; z-index: 2; width: 58%; padding: 30px 0 27px 30px; }
.vf-feature-card h2 { margin-bottom: 9px; color: var(--vf-navy); font-size: 28px; line-height: 1.3; }
.vf-feature-card p { color: var(--vf-muted); font-size: 16px; line-height: 1.6; }
.vf-feature-card ul { display: grid; gap: 9px; margin: 18px 0 0; padding: 0; list-style: none; }
.vf-feature-card li { display: flex; align-items: flex-start; gap: 7px; font-size: 14px; line-height: 1.6; }
.vf-feature-card li .vf-icon { width: 14px; height: 14px; color: var(--vf-blue); }
.vf-tech-visual { position: absolute; right: -15px; bottom: -35px; width: 47%; height: 270px; border-radius: 120px 0 0; background: linear-gradient(145deg, #d8e5f7, #8aa4c5); box-shadow: inset 20px 10px 40px rgba(255,255,255,.5); }
.vf-tech-visual::before { content: ""; position: absolute; left: 25%; bottom: 0; width: 135px; height: 180px; border: 13px solid #27384e; border-bottom-width: 35px; border-radius: 14px; background: linear-gradient(#102e63, #0e1726); transform: perspective(400px) rotateY(-7deg); box-shadow: 0 16px 26px rgba(7,26,61,.3); }
.vf-tech-visual__screen { position: absolute; z-index: 1; left: calc(25% + 26px); bottom: 74px; width: 110px; color: #fff; text-align: center; }
.vf-tech-visual__screen span { display: block; color: #84aaf2; font-size: 45px; font-weight: 800; line-height: 1; }
.vf-tech-visual__screen small { font-size: 14px; letter-spacing: .12em; }
.vf-tech-visual > i { position: absolute; width: 62px; height: 3px; background: #a9bdd8; transform-origin: left; }
.vf-tech-visual > i:nth-of-type(1) { left: 0; top: 70px; transform: rotate(-15deg); }
.vf-tech-visual > i:nth-of-type(2) { left: 10px; top: 115px; transform: rotate(-5deg); }
.vf-tech-visual > i:nth-of-type(3) { left: 6px; top: 155px; transform: rotate(8deg); }
.vf-chassis { position: absolute; right: -9px; bottom: 20px; width: 44%; color: #687f9c; fill: none; stroke: currentColor; stroke-width: 4; opacity: .65; filter: drop-shadow(0 12px 12px rgba(7,26,61,.15)); }

/* Audiences */
.vf-audiences { padding-top: 18px; }
.vf-audience-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }
.vf-audience-card { min-height: 225px; display: grid; grid-template-columns: 45% 1fr; overflow: hidden; border: 1px solid #bdd3f7; border-radius: 14px; background: linear-gradient(135deg, #edf5ff, #fff 66%); box-shadow: 0 10px 28px rgba(8,38,82,.06); transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease; }
.vf-audience-card:hover { border-color: #79a9f5; box-shadow: 0 16px 36px rgba(8,38,82,.11); transform: translateY(-3px); }
.vf-audience-card__media { min-width: 0; display: grid!important; place-items: center; padding: 20px 8px 18px 18px; background: radial-gradient(circle at 45% 46%,rgba(255,255,255,.98),rgba(230,241,255,.76) 58%,transparent 72%); }
.vf-audience-card__media img { width: 100%; height: 155px; display: block; object-fit: contain; filter: drop-shadow(0 14px 12px rgba(9,29,61,.18)); transition: transform .25s ease; }
.vf-audience-card:hover .vf-audience-card__media img { transform: scale(1.045); }
.vf-audience-card > div { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 20px 20px 20px 6px; }
.vf-audience-card > div > small { width: max-content; margin-bottom: 8px; padding: 4px 8px; color: var(--vf-blue); border: 1px solid #bfd5f8; border-radius: 999px; background: #f5f9ff; font-size: 10px; font-weight: 800; letter-spacing: .05em; }
.vf-audience-card h3 { margin-bottom: 5px; color: var(--vf-navy); font-size: 22px; line-height: 1.4; }
.vf-audience-card p { margin-bottom: 12px; color: var(--vf-muted); font-size: 14px; line-height: 1.6; }
.vf-audience-card a, .vf-service-card a { display: inline-flex; align-items: center; gap: 5px; color: var(--vf-blue); font-size: 14px; font-weight: 600; }
.vf-audience-card a .vf-icon, .vf-service-card a .vf-icon { width: 14px; height: 14px; }

/* Test drive */
.vf-test-drive { display: grid; grid-template-columns: 1.02fr 1.48fr; min-height: 370px; overflow: hidden; color: #fff; border-radius: 14px; background: linear-gradient(105deg, #0a376f 0, #061f46 52%, #03152f 100%); box-shadow: 0 15px 36px rgba(7,26,61,.15); }
.vf-test-drive__visual { position: relative; display: flex; align-items: flex-start; padding: 38px 20px 20px 35px; overflow: hidden; background: #092b59 url('../images/vinfast/hero-vf7-city.png') 66% center / cover no-repeat; }
.vf-test-drive__visual::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(3,20,46,.18), rgba(3,20,46,.66)); }
.vf-test-drive__visual .vf-model-sprite { display: none; }
.vf-test-drive__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vf-test-drive__visual > div { position: relative; z-index: 2; margin-left: 41%; }
.vf-test-drive__visual h2 { margin: 0 0 4px; font-size: 28px; line-height: 1.3; }
.vf-test-drive__visual p { color: #c6daf7; font-size: 16px; line-height: 1.6; }
.vf-test-drive__form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 11px 13px; align-content: center; padding: 28px 30px 25px 16px; }
.vf-test-drive__form label { display: grid; gap: 4px; color: #d8e5f8; font-size: 14px; line-height: 1.5; }
.vf-test-drive__form label > span { display: inline-flex; align-items: baseline; gap: 3px; }
.vf-test-drive__form label em { color: #ff8993; font-style: normal; }
.vf-test-drive__form input:not([type=checkbox]), .vf-test-drive__form select { width: 100%; height: 46px; margin-top: 4px; padding: 0 12px; color: #26324a; border: 1px solid #dce5f1; border-radius: 4px; background: #fff; outline: 0; font-size: 16px; }
.vf-test-drive__form input:focus, .vf-test-drive__form select:focus { border-color: #77a8ff; box-shadow: 0 0 0 3px rgba(20,100,244,.18); }
.vf-form-consent { grid-column: 1 / 2; display: flex; align-items: center; gap: 8px; }
.vf-test-drive__form .vf-form-consent { display: flex; }
.vf-form-consent input { accent-color: var(--vf-blue); }
.vf-test-drive__form > .vf-button { align-self: end; }
.vf-test-drive__alert, .vf-test-drive__success { grid-column: 1 / -1; padding: 10px 13px; border-radius: 7px; font-size: 13px; line-height: 1.45; }
.vf-test-drive__alert { color: #ffd8dc; border: 1px solid rgba(255,131,143,.48); background: rgba(129,16,31,.42); }
.vf-test-drive__success { display: flex; align-items: center; gap: 9px; color: #d8ffec; border: 1px solid rgba(73,218,147,.48); background: rgba(8,115,67,.38); }
.vf-test-drive__alert[hidden], .vf-test-drive__success[hidden] { display: none!important; }
.vf-test-drive__success .vf-icon { width: 19px; flex: 0 0 19px; color: #70efb0; }
.vf-test-drive__submit { position: relative; min-height: 46px; }
.vf-test-drive__submit:disabled { cursor: wait; opacity: .9; }
.vf-test-drive__submit.is-loading > span { visibility: hidden; }
.vf-test-drive__spinner { position: absolute; width: 22px; height: 22px; display: none; border: 2px solid rgba(255,255,255,.38); border-top-color: #fff; border-radius: 50%; animation: vf-lead-spin .72s linear infinite; }
.vf-test-drive__submit.is-loading .vf-test-drive__spinner { display: block; }
.vf-honeypot { position: absolute; left: -9999px; opacity: 0; }

/* Services */
.vf-services { padding-bottom: 35px; }
.vf-service-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.vf-service-card { min-height: 230px; display: flex; gap: 11px; padding: 22px 15px; border: 1px solid var(--vf-border); border-radius: 10px; background: #fff; transition: .2s ease; }
.vf-service-card:hover { transform: translateY(-3px); box-shadow: var(--vf-shadow); }
.vf-service-card > span { width: 38px; height: 38px; display: grid; flex: 0 0 38px; place-items: center; color: var(--vf-blue); border-radius: 50%; background: #edf4ff; }
.vf-service-card > span .vf-icon { width: 22px; height: 22px; }
.vf-service-card h3 { margin: 0 0 2px; color: var(--vf-navy); font-size: 14px; line-height: 1.5; }
.vf-service-card strong { display: block; color: var(--vf-blue); font-size: 16px; line-height: 1.5; }
.vf-service-card p { min-height: 66px; margin: 5px 0 8px; color: var(--vf-muted); font-size: 14px; line-height: 1.6; }

/* Testimonials */
.vf-testimonials { padding-top: 32px; background: linear-gradient(#fff, #fbfcff); }
.vf-testimonial-slider, .vf-testimonial-viewport { min-width: 0; }
.vf-testimonial-viewport { overflow: hidden; padding: 5px 1px 14px; }
.vf-testimonial-grid { display: flex; gap: 18px; transition: transform .55s cubic-bezier(.22,.7,.25,1); will-change: transform; }
.vf-testimonial-card { min-width: 0; min-height: 260px; flex: 0 0 calc((100% - 36px) / 3); padding: 26px; border: 1px solid var(--vf-border); border-radius: 12px; background: #fff; box-shadow: 0 8px 24px rgba(7,31,69,.055); }
.vf-stars { display: flex; gap: 2px; color: #ffac12; }
.vf-stars .vf-icon { width: 15px; height: 15px; fill: currentColor; stroke-width: 1.2; }
.vf-testimonial-card blockquote { min-height: 110px; margin: 14px 0 18px; color: #3b465a; font-size: 16px; line-height: 1.6; }
.vf-testimonial-card footer { display: flex; align-items: center; gap: 10px; }
.vf-testimonial-card footer > span { width: 38px; height: 38px; display: grid; place-items: center; color: #fff; border-radius: 50%; background: linear-gradient(145deg, var(--vf-blue), var(--vf-navy)); font-weight: 800; }
.vf-testimonial-card footer strong, .vf-testimonial-card footer small { display: block; }
.vf-testimonial-card footer strong { font-size: 14px; }
.vf-testimonial-card footer small { color: var(--vf-muted); font-size: 14px; }
.vf-carousel-dots { display: flex; justify-content: center; gap: 7px; margin-top: 12px; }
.vf-carousel-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: #ccd5e2; cursor: pointer; transition: width .2s ease, background .2s ease; }
.vf-carousel-dots button.is-active { width: 24px; border-radius: 9px; background: var(--vf-blue); }

/* News */
.vf-news { padding-top: 36px; }
.vf-news-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.vf-news-card { overflow: hidden; border: 1px solid var(--vf-border); border-radius: 10px; background: #fff; }
.vf-news-card > a { height: 160px; display: block; overflow: hidden; background: var(--vf-soft); }
.vf-news-card img { width: 100%; height: 100%; object-fit: cover; transition: .3s ease; }
.vf-news-card:hover img { transform: scale(1.035); }
.vf-news-card > div { padding: 13px 14px 15px; }
.vf-news-card time { color: var(--vf-muted); font-size: 14px; }
.vf-news-card h3 { margin: 5px 0; font-size: 18px; line-height: 1.4; }
.vf-news-card p { margin: 0; color: var(--vf-muted); font-size: 14px; line-height: 1.6; }

/* Showroom */
.vf-showroom { display: grid; grid-template-columns: .72fr 1.28fr; min-height: 360px; overflow: hidden; border-radius: 14px; background: var(--vf-navy); }
.vf-showroom__copy { padding: 44px 40px; color: #fff; background: linear-gradient(135deg, #092d62, #061934); }
.vf-showroom__copy h2 { max-width: 380px; margin-bottom: 11px; font-size: 36px; line-height: 1.2; }
.vf-showroom__copy p { max-width: 380px; color: #c8d8f0; font-size: 16px; line-height: 1.6; }
.vf-showroom__copy .vf-button { margin: 12px 0 17px; }
.vf-showroom__copy > span { display: block; color: #c8d8f0; font-size: 14px; }
.vf-showroom__copy > span a { color: #fff; font-weight: 700; }
.vf-showroom__map { position: relative; min-width: 0; overflow: hidden; background: linear-gradient(145deg, #d8ecfb, #a9d1ef); }
.vf-showroom__map iframe { width: 100%; height: 100%; min-height: 360px; display: block; border: 0; }
.vf-showroom__map-placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 32px; color: #315578; text-align: center; background: radial-gradient(circle at 50% 45%,#f9fcff,#cfe6f7); }
.vf-showroom__map-placeholder .vf-icon { width: 44px; height: 44px; margin-bottom: 12px; color: var(--vf-blue); }
.vf-showroom__map-placeholder h3 { margin: 0 0 7px; color: var(--vf-navy); font-size: 19px; }
.vf-showroom__map-placeholder p { max-width: 430px; margin: 0; font-size: 14px; line-height: 1.6; }

/* Footer */
.vf-footer { margin-top: 26px; color: #d4e0f2; background: var(--vf-navy); }
.vf-footer__grid { display: grid; grid-template-columns: minmax(270px, 1.3fr) .72fr minmax(340px, 1.35fr) .9fr; gap: clamp(28px, 3vw, 52px); padding-top: 52px; padding-bottom: 38px; }
.vf-brand--footer { min-width: 0; color: #fff; }
.vf-brand--footer > span { display: grid; gap: 5px; }
.vf-brand--footer small { color: #9eb0cb; font-size: 14px; }
.vf-footer__brand-intro { margin: 18px 0 0; color: #aebed4; font-size: 14px; line-height: 1.65; }
.vf-footer h2 { margin: 5px 0 17px; color: #fff; font-size: 16px; line-height: 1.4; letter-spacing: .02em; }
.vf-footer__contact, .vf-footer__links { display: grid; gap: 9px; margin: 22px 0 0; padding: 0; list-style: none; }
.vf-footer__contact li { display: flex; align-items: flex-start; gap: 8px; color: #b8c7dc; font-size: 14px; line-height: 1.6; }
.vf-footer__contact .vf-icon { width: 15px; height: 15px; color: #7eaaff; }
.vf-footer__contact-value { min-width: 0; }
.vf-footer__contact-value p { margin: 0; }
.vf-footer__contact-value a { color: #dbe9ff; }
.vf-footer__links { margin-top: 0; }
.vf-footer__links--models { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 30px; align-content: start; }
.vf-footer__links--models li { min-width: 0; }
.vf-footer__links a { display: flex; align-items: flex-start; gap: 5px; color: #aebed4; font-size: 14px; line-height: 1.45; }
.vf-footer__link-icon { width: 14px; height: 20px; display: grid; flex: 0 0 14px; place-items: center; color: #6799ee; opacity: .78; transition: color .2s ease, opacity .2s ease, transform .2s ease; }
.vf-footer__link-icon .vf-icon { width: 12px; height: 12px; stroke-width: 1.7; }
.vf-footer__links a:hover { color: #fff; }
.vf-footer__links a:hover .vf-footer__link-icon { color: #8bb4ff; opacity: 1; transform: translateX(2px); }
.vf-footer__socials { display: flex; gap: 8px; margin-top: 18px; }
.vf-footer__socials a { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #4a6285; border-radius: 50%; color: #fff; font-size: 14px; font-weight: 700; }
.vf-footer__contact-extra { margin-top: 12px; color: #b8c7dc; font-size: 14px; line-height: 1.6; }
.vf-footer__contact-extra p { margin: 0; }
.vf-footer__contact-extra a { color: #dbe9ff; }
.vf-footer__bottom { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0 23px; border-top: 1px solid #263b5d; color: #8092ae; font-size: 14px; }
.vf-footer__bottom p { margin: 0; }

/* Shared inner pages */
.section { padding: 48px 0; }
.section-heading h1, .section-heading h2 { color: var(--vf-navy); }
.page-hero { position: relative; padding: 62px 0 54px; overflow: hidden; color: #fff; background: linear-gradient(115deg, #061a3d 0%, #0b326d 56%, #1464f4 140%); }
.page-hero::after { content: ""; position: absolute; width: 460px; height: 460px; right: -140px; top: -260px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.025), 0 0 0 140px rgba(255,255,255,.02); }
.page-hero .section-heading { position: relative; z-index: 1; max-width: 820px; }
.page-hero .section-heading .eyebrow { margin-bottom: 8px; color: #83adff; font-size: 14px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.page-hero .section-heading h1 { margin-bottom: 12px; color: #fff; font-size: clamp(42px, 4vw, 56px); font-weight: 800; letter-spacing: -.03em; }
.page-hero .section-heading > p, .page-hero .category-summary { margin: 0; color: #c9d9ef; font-size: 17px; line-height: 1.75; }
.page-hero .category-summary > :last-child { margin-bottom: 0; }
.notice { margin: 18px auto; padding: 16px; border-radius: 8px; }
.notice--error { color: #9d1c1c; background: #fff1f1; }
.notice--success { color: #087443; background: #ebfff6; }
.catalog-subcategories { padding: 28px 0 6px; background: #fff; }
.catalog-subcategories__head { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-bottom: 14px; }
.catalog-subcategories__head span { color: var(--vf-blue); font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.catalog-subcategories__head h2 { margin: 2px 0 0; color: var(--vf-navy); font-size: 28px; }
.catalog-subcategories__head p { flex: 0 0 auto; max-width: none; margin: 0; color: var(--vf-muted); text-align: right; white-space: nowrap; }
.catalog-subcategories__grid { display: flex; flex-wrap: wrap; gap: 8px; }
.catalog-subcategory-card { width: auto; min-width: 0; min-height: 46px; display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; padding: 6px 12px 6px 7px; border: 1px solid var(--vf-border); border-radius: 999px; background: #fff; transition: .2s ease; }
.catalog-subcategory-card:hover { color: var(--vf-blue); border-color: #a9c7ff; box-shadow: var(--vf-shadow); transform: translateY(-2px); }
.catalog-subcategory-card.is-active { color: var(--vf-blue); border-color: #8db4fb; background: #f2f7ff; box-shadow: 0 0 0 2px rgba(20,100,244,.07); }
.catalog-subcategory-card__icon { width: 32px; height: 32px; display: grid; place-items: center; color: var(--vf-blue); border-radius: 50%; background: #edf4ff; }
.catalog-subcategory-card__icon .vf-icon { width: 17px; height: 17px; }
.catalog-subcategory-card strong { min-width: 0; overflow: hidden; color: var(--vf-navy); font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.catalog-subcategory-card.is-active strong { color: var(--vf-blue); }
.catalog-page { position: relative; }
.catalog-mobile-filter-button { display: none; }
.catalog-filter-bar { position: relative; z-index: 12; margin-bottom: 22px; }
.catalog-filter-sheet { padding: 22px; border: 1px solid var(--vf-border); border-radius: 14px; background: #fff; box-shadow: 0 10px 32px rgba(7,26,61,.06); }
.catalog-filter-bar__head, .catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.catalog-filter-bar__head { margin-bottom: 16px; }
.catalog-filter-bar__head span, .catalog-toolbar span { color: var(--vf-blue); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.catalog-filter-bar__head h2, .catalog-toolbar h2 { margin: 2px 0 0; color: var(--vf-navy); font-size: 24px; }
.catalog-filter-bar__actions { display: flex; align-items: center; gap: 12px; }
.catalog-filter-close { display: none; }
.catalog-clear-link { color: var(--vf-blue); font-size: 14px; font-weight: 600; }
.catalog-chip-row { display: flex; flex-wrap: wrap; gap: 9px; }
.filter-chip-dropdown { position: relative; }
.filter-chip-dropdown > summary, .filter-sale-chip { min-height: 42px; display: inline-flex; align-items: center; gap: 7px; padding: 0 14px; color: #33415c; border: 1px solid var(--vf-border); border-radius: 8px; background: #fff; font-size: 14px; font-weight: 600; list-style: none; cursor: pointer; }
.filter-chip-dropdown > summary::-webkit-details-marker { display: none; }
.filter-chip-dropdown > summary::after { content: "⌄"; margin-left: 3px; color: var(--vf-muted); }
.filter-chip-dropdown.is-selected > summary, .filter-sale-chip.is-selected { color: var(--vf-blue); border-color: #a9c7ff; background: #f1f6ff; }
.filter-chip-dropdown > summary b { max-width: 140px; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.filter-chip-dropdown__panel { position: absolute; top: calc(100% + 8px); left: 0; z-index: 30; min-width: 260px; max-height: 350px; display: grid; gap: 5px; padding: 12px; overflow: auto; border: 1px solid var(--vf-border); border-radius: 10px; background: #fff; box-shadow: 0 18px 40px rgba(7,26,61,.16); }
.filter-chip-dropdown__panel--grid { grid-template-columns: repeat(2, minmax(130px,1fr)); min-width: 360px; }
.filter-choice { min-height: 38px; display: flex; align-items: center; gap: 9px; padding: 7px 9px; border-radius: 7px; color: #3b4860; font-size: 14px; cursor: pointer; }
.filter-choice:hover { background: #f3f7fd; }
.filter-choice input { accent-color: var(--vf-blue); }
.filter-price-presets { display: grid; gap: 4px; }
.filter-price-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--vf-border); }
.filter-price-inputs label { display: grid; gap: 4px; color: var(--vf-muted); font-size: 12px; }
.filter-price-inputs input, .catalog-filter-search input { width: 100%; height: 42px; padding: 0 11px; border: 1px solid var(--vf-border); border-radius: 7px; outline: none; }
.filter-price-inputs input:focus, .catalog-filter-search input:focus { border-color: var(--vf-blue); box-shadow: 0 0 0 3px rgba(20,100,244,.1); }
.filter-sale-chip input { width: 16px; height: 16px; accent-color: var(--vf-blue); }
.catalog-filter-search { margin-top: 14px; }
.catalog-filter-search label { display: grid; grid-template-columns: 150px minmax(220px,420px); align-items: center; gap: 12px; color: var(--vf-navy); font-size: 14px; font-weight: 600; }
.catalog-filter-mobile-actions { display: none; }
.catalog-active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-bottom: 18px; }
.catalog-active-filters strong { color: var(--vf-navy); font-size: 14px; }
.catalog-active-filters span { padding: 5px 9px; color: var(--vf-blue); border-radius: 20px; background: #edf4ff; font-size: 13px; }
.catalog-toolbar { margin-bottom: 18px; padding-bottom: 15px; border-bottom: 1px solid var(--vf-border); }
.catalog-toolbar select { min-width: 190px; height: 44px; padding: 0 36px 0 12px; border: 1px solid var(--vf-border); border-radius: 8px; color: var(--vf-navy); background: #fff; outline: none; }
.catalog-filter-ui--disabled { display: none!important; }
.catalog-sort-buttons { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.catalog-sort-button { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; padding: 7px 12px; color: #4c5a70; border: 1px solid #d4dce9; border-radius: 7px; background: #fff; font-size: 13px; line-height: 1.35; font-weight: 600; transition: .18s ease; }
.catalog-sort-button:hover { color: var(--vf-blue); border-color: #a9c5fb; background: #f4f8ff; }
.catalog-sort-button.is-active { color: #fff; border-color: var(--vf-blue); background: var(--vf-blue); box-shadow: 0 6px 14px rgba(20,100,244,.18); }
.catalog-ajax-status { width: 100%; min-height: 42px; display: flex; align-items: center; justify-content: center; gap: 8px; margin: -6px 0 14px; color: var(--vf-blue); font-size: 14px; font-weight: 600; text-align: center; }
.catalog-ajax-status[hidden] { display: none; }
.catalog-ajax-status__spinner { width: 17px; height: 17px; border: 2px solid #cfe0ff; border-top-color: var(--vf-blue); border-radius: 50%; animation: vf-spin .75s linear infinite; }
.catalog-page [data-catalog-product-grid] { transition: opacity .2s ease; }
.catalog-page.is-catalog-loading [data-catalog-product-grid] { opacity: .45; pointer-events: none; }
.catalog-page.is-catalog-loading .catalog-sort-buttons { opacity: .65; pointer-events: none; }
@keyframes vf-spin { to { transform: rotate(360deg); } }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.product-card { position: relative; min-width: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--vf-border); border-radius: 12px; background: #fff; transition: .22s ease; }
.product-card:hover { border-color: #bfd3f6; box-shadow: 0 16px 40px rgba(7,26,61,.11); transform: translateY(-3px); }
.product-card__badge { position: absolute; top: 12px; left: 12px; z-index: 2; padding: 5px 9px; color: #fff; border-radius: 5px; background: var(--vf-blue); font-size: 12px; font-weight: 700; }
.product-card__image { display: block; padding: 12px; background: linear-gradient(180deg,#f8fafd,#fff); }
.product-card img { width: 100%; aspect-ratio: 4/3; object-fit: contain; transition: transform .3s ease; }
.product-card:hover img { transform: scale(1.035); }
.product-card__body { flex: 1; display: flex; flex-direction: column; padding: 16px; }
.product-card__meta { margin: 0 0 5px!important; color: var(--vf-blue); font-size: 12px!important; font-weight: 700; text-transform: uppercase; }
.product-card h2, .product-card h3 { min-height: 50px; margin: 0 0 7px; color: var(--vf-navy); font-size: 18px; line-height: 1.4; }
.product-card p { font-size: 14px; line-height: 1.6; }
.product-card__desc { min-height: 67px; margin-bottom: 10px; color: var(--vf-muted); }
.product-card__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin-top: auto; margin-bottom: 13px; }
.product-card__price small { flex: 0 0 100%; color: var(--vf-muted); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; }
.product-card__price strong { color: var(--vf-blue); font-size: 23px; line-height: 1.3; }
.product-card__price span { color: #8b94a5; font-size: 13px; text-decoration: line-through; }
.product-card__promo-row { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 7px; }
.product-card__promo { display: inline-flex; align-items: center; gap: 3px; padding: 3px 6px; border-radius: 4px; background: #eef4ff; color: var(--vf-blue); font-size: 11px; font-weight: 700; }
.product-card__promo .icon { width: 12px; height: 12px; }
.product-card__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.product-card__actions .button { min-height: 39px; padding: 0 9px; font-size: 12px; }
.product-card__actions .button--light { color: var(--vf-blue); border-color: #bcd1f8; background: #fff; }
.compare-link--card { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; gap: 5px; color: var(--vf-muted); font-size: 12px; }
.compare-link--card .icon { width: 14px; height: 14px; }
.product-card--vehicle { border: 1px solid #dfe6ef; border-radius: 12px; box-shadow: 0 6px 20px rgba(7,26,61,.045); }
.product-card--vehicle:hover { border-color: #b6c8e2; box-shadow: 0 18px 38px rgba(7,26,61,.1); }
.product-card--vehicle .product-card__badge { top: 18px; left: 18px; padding: 5px 10px; color: var(--vf-navy); border: 1px solid #d5deeb; border-radius: 3px; background: rgba(255,255,255,.92); backdrop-filter: blur(7px); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.product-card--vehicle .product-card__image { height: 278px; display: flex; align-items: center; justify-content: center; padding: 0; overflow: hidden; background: linear-gradient(180deg,#f7f9fc 0%,#eef2f7 100%); }
.product-card--vehicle .product-card__vehicle-image { width: 100%; height: auto; flex: 0 0 auto; aspect-ratio: 1; transition: transform .35s ease; }
.product-card--vehicle:hover .product-card__vehicle-image { transform: scale(1.035); }
.product-card--vehicle .product-card__body { padding: 20px 22px 22px; }
.product-card--vehicle .product-card__meta { margin-bottom: 7px!important; color: #738199; font-size: 11px!important; letter-spacing: .1em; }
.product-card--vehicle h3 { min-height: 0; margin-bottom: 11px; font-size: 26px; line-height: 1.2; letter-spacing: -.025em; }
.product-card--vehicle .product-card__desc { min-height: 48px; margin: 0 0 17px; color: #5f6c81; font-size: 14px; line-height: 1.65; }
.product-card__specs { min-height: 104px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: start; gap: 10px 12px; margin: 2px 0 17px; padding: 13px 0 15px; border-top: 1px solid #edf1f6; border-bottom: 1px solid #edf1f6; }
.product-card__spec { min-width: 0; display: grid; grid-template-columns: 30px minmax(0,1fr); align-items: center; gap: 8px; }
.product-card__spec-icon { width: 30px; height: 30px; display: grid; place-items: center; color: var(--vf-blue); border-radius: 8px; background: #edf4ff; }
.product-card__spec-icon .icon { width: 17px; height: 17px; }
.product-card__spec > span:last-child { min-width: 0; display: grid; line-height: 1.25; }
.product-card__spec small { overflow: hidden; color: #7a879b; font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.product-card__spec strong { overflow: hidden; color: var(--vf-navy); font-size: 13px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.product-card--vehicle .product-card__price { margin-bottom: 19px; padding-top: 16px; border-top: 1px solid #e5eaf1; }
.product-card--vehicle .product-card__price strong { color: var(--vf-navy); font-size: 25px; letter-spacing: -.025em; }
.product-card--vehicle .product-card__price span { margin-left: 2px; }
.product-card--vehicle .product-card__actions { grid-template-columns: .9fr 1.1fr; gap: 10px; }
.product-card--vehicle .product-card__actions .button { min-height: 48px; gap: 7px; padding: 0 14px; border-radius: 6px; font-size: 13px; font-weight: 700; white-space: nowrap; }
.product-card--vehicle .product-card__actions .button .icon { width: 17px; height: 17px; flex-basis: 17px; }
.product-card--vehicle .product-card__actions .button--light { color: var(--vf-navy); border-color: #aebbcf; }
.product-card--vehicle .product-card__actions .button--light:hover { color: var(--vf-blue); border-color: var(--vf-blue); background: #f4f8ff; }
.rating { display: flex; align-items: center; gap: 3px; min-height: 22px; color: #f5a623; font-size: 12px; }
.rating .icon { width: 14px; height: 14px; }
.category-seo-content { margin-top: 40px; padding: 28px; border: 1px solid var(--vf-border); border-radius: 12px; background: var(--vf-soft); }
.category-seo-content h2, .category-seo-content h3 { color: var(--vf-navy); }
.empty-state { padding: 48px 24px; text-align: center; border: 1px dashed #b9c8dc; border-radius: 12px; background: #f8fafd; }
.post-search-form { display: grid; grid-template-columns: 1fr auto auto; align-items: end; gap: 10px; margin-bottom: 22px; padding: 16px; border: 1px solid var(--vf-border); border-radius: 12px; background: #fff; box-shadow: 0 10px 30px rgba(7,26,61,.05); }
.post-search-form label { display: grid; gap: 6px; color: var(--vf-navy); font-size: 13px; font-weight: 700; }
.post-search-form input { width: 100%; height: 46px; padding: 0 13px; border: 1px solid var(--vf-border); border-radius: 7px; outline: none; }
.post-search-form input:focus { border-color: var(--vf-blue); box-shadow: 0 0 0 3px rgba(20,100,244,.1); }
.post-search-form .icon { width: 17px; height: 17px; }
.post-category-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.post-category-nav a { min-height: 40px; display: inline-flex; align-items: center; gap: 7px; padding: 0 14px; color: #3c4961; border: 1px solid var(--vf-border); border-radius: 22px; font-size: 14px; font-weight: 600; }
.post-category-nav a span { min-width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: #edf2f8; font-size: 11px; }
.post-category-nav a:hover, .post-category-nav a.is-active { color: #fff; border-color: var(--vf-blue); background: var(--vf-blue); }
.post-category-nav a.is-active span { color: var(--vf-blue); background: #fff; }
.post-search-summary { margin: -8px 0 20px; color: var(--vf-muted); }

/* Global search */
.vf-search-overlay { position: fixed; z-index: 1600; inset: 0; display: grid; place-items: start center; padding: clamp(76px,10vh,120px) 20px 30px; visibility: hidden; opacity: 0; transition: opacity .22s ease,visibility .22s ease; }
.vf-search-overlay.is-open { visibility: visible; opacity: 1; }
.vf-search-overlay__backdrop { position: absolute; inset: 0; background: rgba(3,15,38,.76); backdrop-filter: blur(9px); }
.vf-search-panel { position: relative; width: min(820px,100%); max-height: calc(100vh - 110px); overflow-y: auto; padding: clamp(25px,4vw,40px); border: 1px solid rgba(255,255,255,.28); border-radius: 22px; background: #fff; box-shadow: 0 35px 100px rgba(0,0,0,.38); transform: translateY(-14px) scale(.98); transition: transform .24s ease; }
.vf-search-overlay.is-open .vf-search-panel { transform: translateY(0) scale(1); }
.vf-search-panel__close { position: absolute; top: 18px; right: 18px; width: 40px; height: 40px; display: grid; place-items: center; color: #68758a; border: 1px solid #dce4ef; border-radius: 50%; background: #fff; font-size: 27px; line-height: 1; cursor: pointer; }
.vf-search-panel__head { display: flex; align-items: center; gap: 16px; padding-right: 48px; }
.vf-search-panel__icon { flex: 0 0 54px; width: 54px; height: 54px; display: grid; place-items: center; color: #fff; border-radius: 16px; background: linear-gradient(145deg,var(--vf-blue),#0848b8); box-shadow: 0 12px 28px rgba(20,100,244,.25); }
.vf-search-panel__icon .vf-icon { width: 25px; }
.vf-search-panel__head small { color: var(--vf-blue); font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.vf-search-panel__head h2 { margin: 3px 0 4px; color: var(--vf-navy); font-size: clamp(24px,3vw,32px); line-height: 1.2; letter-spacing: -.025em; }
.vf-search-panel__head p { margin: 0; color: #6c788c; font-size: 13px; }
.vf-global-search { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; margin-top: 24px; }
.vf-global-search__field { position: relative; display: flex; align-items: center; }
.vf-global-search__field > .vf-icon { position: absolute; left: 16px; width: 20px; color: #718097; pointer-events: none; }
.vf-global-search__field input { width: 100%; height: 56px; padding: 0 52px 0 47px; color: var(--vf-navy); border: 1px solid #cdd8e7; border-radius: 12px; outline: 0; background: #f8fafc; font: inherit; font-size: 15px; font-weight: 600; transition: .18s ease; }
.vf-global-search__field input:focus { border-color: var(--vf-blue); background: #fff; box-shadow: 0 0 0 4px rgba(20,100,244,.1); }
.vf-global-search .vf-button { min-width: 148px; border: 0; }
.vf-global-search__spinner { position: absolute; right: 17px; width: 19px; height: 19px; display: none; border: 2px solid #c8d7ed; border-top-color: var(--vf-blue); border-radius: 50%; animation: vf-lead-spin .7s linear infinite; }
.vf-global-search.is-loading .vf-global-search__spinner { display: block; }
.vf-search-status { margin-top: 12px; color: #7a8799; font-size: 12px; }
.vf-search-status[data-state=error] { color: #b22635; }
.vf-search-status[data-state=success] { color: #087346; }
.vf-search-suggestions { display: grid; gap: 8px; margin-top: 16px; }
.vf-search-suggestion { display: grid; grid-template-columns: 62px minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 9px; color: inherit; border: 1px solid #e0e7f0; border-radius: 12px; background: #fff; transition: border-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.vf-search-suggestion:hover { transform: translateY(-1px); border-color: #9dbdf5; box-shadow: 0 10px 24px rgba(7,26,61,.08); }
.vf-search-suggestion img { width: 62px; height: 48px; object-fit: contain; border-radius: 8px; background: #f2f6fb; }
.vf-search-suggestion > span { min-width: 0; display: grid; gap: 3px; }
.vf-search-suggestion strong { overflow: hidden; color: var(--vf-navy); font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.vf-search-suggestion small { overflow: hidden; color: #7a8799; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.vf-search-suggestion b { color: var(--vf-blue); font-size: 13px; white-space: nowrap; }
.vf-search-panel__all { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 17px; padding-top: 16px; color: var(--vf-blue); border-top: 1px solid #e6ebf2; font-size: 13px; font-weight: 800; }
.vf-search-panel__all .vf-icon { width: 17px; }
body.is-search-open { overflow: hidden; }

/* Search result page */
.search-page-hero { padding: clamp(48px,7vw,78px) 0; color: #fff; background: radial-gradient(circle at 82% 18%,rgba(54,137,255,.42),transparent 28%),linear-gradient(135deg,#092e69,#061a3b); }
.search-page-hero__inner { display: grid; grid-template-columns: minmax(0,.85fr) minmax(420px,1.15fr); align-items: center; gap: clamp(30px,5vw,70px); }
.search-page-hero .eyebrow { color: #83b8ff; }
.search-page-hero h1 { max-width: 580px; margin: 8px 0 12px; color: #fff; font-size: clamp(34px,5vw,54px); line-height: 1.08; }
.search-page-hero__inner > div > p:last-child { max-width: 610px; margin: 0; color: #c5d6ee; line-height: 1.65; }
.search-page-form { padding: clamp(22px,3vw,30px); border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: rgba(255,255,255,.1); box-shadow: 0 20px 50px rgba(0,0,0,.18); backdrop-filter: blur(8px); }
.search-page-form label { display: block; margin-bottom: 8px; color: #e4efff; font-size: 13px; font-weight: 700; }
.search-page-form > div { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; overflow: hidden; padding-left: 15px; border-radius: 11px; background: #fff; }
.search-page-form > div > span { color: #718097; }
.search-page-form > div > span .vf-icon { width: 20px; }
.search-page-form input { width: 100%; height: 56px; min-width: 0; padding: 0 12px; color: var(--vf-navy); border: 0; outline: 0; font: inherit; font-size: 15px; font-weight: 600; }
.search-page-form button { position: relative; height: 46px; min-width: 142px; display: flex; align-items: center; justify-content: center; gap: 7px; margin-right: 5px; color: #fff; border: 0; border-radius: 8px; background: var(--vf-blue); font-weight: 800; cursor: pointer; }
.search-page-form button .vf-icon { width: 17px; }
.search-page-form button i { width: 20px; height: 20px; display: none; border: 2px solid rgba(255,255,255,.4); border-top-color: #fff; border-radius: 50%; animation: vf-lead-spin .7s linear infinite; }
.search-page-form.is-loading button span,.search-page-form.is-loading button > .vf-icon { display: none; }
.search-page-form.is-loading button i { display: block; }
.search-results-page { background: #f5f7fb; }
.search-results-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid #dfe6f0; }
.search-results-head p { margin: 0 0 4px; color: var(--vf-blue); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.search-results-head h2 { margin: 0; color: var(--vf-navy); font-size: 28px; }
.search-results-head > span { color: #6d798c; font-size: 13px; }
.search-welcome-state,.search-empty-state { max-width: 720px; margin: 0 auto; padding: clamp(38px,6vw,70px) 24px; text-align: center; border: 1px dashed #b9c9df; border-radius: 16px; background: #fff; }
.search-welcome-state > span,.search-empty-state > span { width: 64px; height: 64px; display: grid; place-items: center; margin: 0 auto 16px; color: var(--vf-blue); border-radius: 50%; background: #edf4ff; }
.search-welcome-state .vf-icon,.search-empty-state .vf-icon { width: 29px; }
.search-welcome-state h2,.search-empty-state h2 { margin: 0 0 8px; color: var(--vf-navy); font-size: 27px; }
.search-welcome-state p,.search-empty-state p { max-width: 560px; margin: 0 auto; color: #6d798c; line-height: 1.65; }
.search-empty-state .vf-button { margin-top: 20px; }
.search-category-suggestions { margin-top: 34px; padding: 20px; border: 1px solid #dfe6f0; border-radius: 14px; background: #fff; }
.search-category-suggestions > strong { display: block; margin-bottom: 12px; color: var(--vf-navy); font-size: 14px; }
.search-category-suggestions > div { display: flex; flex-wrap: wrap; gap: 8px; }
.search-category-suggestions a { padding: 9px 13px; color: #4e5d73; border: 1px solid #d7e0ec; border-radius: 999px; background: #f8fafc; font-size: 12px; font-weight: 700; }
.search-category-suggestions a:hover { color: #fff; border-color: var(--vf-blue); background: var(--vf-blue); }
.post-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.post-card { min-width: 0; overflow: hidden; border: 1px solid var(--vf-border); border-radius: 13px; background: #fff; transition: .22s ease; }
.post-card:hover { border-color: #bad0f5; box-shadow: var(--vf-shadow); transform: translateY(-3px); }
.post-card__image { display: block; overflow: hidden; background: #eaf0f8; }
.post-card__image img { width: 100%; aspect-ratio: 16/9; object-fit: cover; transition: transform .35s ease; }
.post-card:hover .post-card__image img { transform: scale(1.045); }
.post-card__body { padding: 18px; }
.post-card .eyebrow { margin: 0 0 7px; color: var(--vf-blue); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.post-card h2, .post-card h3 { margin: 0 0 9px; color: var(--vf-navy); font-size: 21px; line-height: 1.4; }
.post-card h3 { font-size: 18px; }
.post-card__body > p:not(.eyebrow) { min-height: 76px; margin-bottom: 15px; color: var(--vf-muted); font-size: 14px; line-height: 1.7; }
.post-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid #edf0f5; color: var(--vf-muted); font-size: 13px; }
.post-card__meta a { display: inline-flex; align-items: center; gap: 5px; color: var(--vf-blue); font-weight: 600; }
.post-card__meta .vf-icon { width: 15px; height: 15px; }
.post-card--featured { grid-column: span 2; display: grid; grid-template-columns: 1.15fr 1fr; }
.post-card--featured .post-card__image img { height: 100%; aspect-ratio: auto; }
.post-card--featured .post-card__body { display: flex; flex-direction: column; justify-content: center; padding: 28px; }
.post-card--featured h2 { font-size: 28px; }
.post-detail-meta { display: flex; gap: 18px; margin: -2px 0 22px; color: #aec4e1; font-size: 14px; }
.post-detail-intro { display: grid; grid-template-columns: minmax(360px,1.1fr) 1fr; align-items: center; gap: 28px; margin-top: 24px; }
.post-detail-intro__image { padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 13px; background: transparent; }
.post-detail-intro__image img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.post-detail-intro > p { margin: 0; color: #d2deef; font-size: 18px; line-height: 1.75; }
.post-detail-layout { max-width: 970px; }
.post-detail-article { color: #28364d; font-size: 17px; line-height: 1.85; }
.post-detail-article > :first-child { margin-top: 0; }
.post-detail-article h2 { margin: 38px 0 14px; color: var(--vf-navy); font-size: 32px; }
.post-detail-article h3 { margin: 30px 0 12px; color: var(--vf-navy); font-size: 24px; }
.post-detail-article p, .post-detail-article ul, .post-detail-article ol { margin-bottom: 18px; }
.post-detail-article img { display: block; max-width: 100%; height: auto; margin: 28px auto; border-radius: 12px; }
.post-detail-article blockquote { margin: 25px 0; padding: 18px 22px; color: var(--vf-navy); border-left: 4px solid var(--vf-blue); background: #f1f6ff; font-weight: 600; }
.post-related-section { padding: 44px 0 58px; background: var(--vf-soft); }
.post-related-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.post-related-head span { color: var(--vf-blue); font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.post-related-head h2 { margin: 3px 0 0; color: var(--vf-navy); font-size: 30px; }
.post-related-head > a { display: inline-flex; align-items: center; gap: 6px; color: var(--vf-blue); font-weight: 600; }
.post-related-head .vf-icon { width: 17px; height: 17px; }
.post-grid--related .post-card__body time { color: var(--vf-muted); font-size: 13px; }
.post-image-lightbox { position: fixed; inset: 0; z-index: 120; display: none; place-items: center; padding: 30px; background: rgba(3,13,32,.88); }
.post-image-lightbox.is-open { display: grid; }
.post-image-lightbox__figure { position: relative; max-width: 1100px; margin: 0; }
.post-image-lightbox__figure img { max-height: 82vh; border-radius: 10px; }
.post-image-lightbox__close { position: absolute; top: -17px; right: -17px; width: 40px; height: 40px; color: #fff; border: 0; border-radius: 50%; background: var(--vf-blue); font-size: 25px; }
.post-image-lightbox figcaption { margin-top: 8px; color: #dbe6f5; text-align: center; }
input, select, textarea { border-color: var(--vf-border); }

@media (max-width: 1180px) {
    .vf-nav { gap: 13px; }
    .vf-nav__link { font-size: 16px; }
    .vf-navbar__cta { display: none; }
    .vf-model-grid { grid-template-columns: repeat(3, 1fr); gap: 15px; }
    .vf-benefit { padding-inline: 14px; }
    .vf-benefit__icon { width: 42px; height: 42px; flex-basis: 42px; }
    .vf-footer__grid { grid-template-columns: 1.15fr .7fr 1.25fr .8fr; gap: 30px; }
    .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .post-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 920px) {
    .vf-container, .container { width: min(calc(100% - 32px), var(--vf-container)); }
    .vf-topbar__item--center { display: none; }
    .vf-nav { display: none; }
    .vf-navbar__inner { justify-content: space-between; }
    .vf-navbar__actions { margin-left: auto; }
    .vf-navbar__cta { display: inline-flex; }
    .vf-menu-toggle { display: inline-grid; }
    body.is-menu-open .vf-topbar,
    body.is-menu-open .vf-navbar { visibility: hidden; }
    .vf-hero { min-height: 600px; }
    .vf-hero__slide { background-position: 58% center; }
    .vf-hero__slide::after { background: linear-gradient(90deg, rgba(4,19,45,.84), rgba(4,19,45,.42) 62%, rgba(4,19,45,.08)); }
    .vf-hero__content { width: 62%; }
    .vf-benefits__grid { grid-template-columns: repeat(2, 1fr); }
    .vf-benefit:nth-child(3) { border-left: 0; border-top: 1px solid var(--vf-border); }
    .vf-benefit:nth-child(4) { border-top: 1px solid var(--vf-border); }
    .vf-promo { grid-template-columns: 1fr .7fr; }
    .vf-promo__cars { display: none; }
    .vf-features__grid { grid-template-columns: 1fr; }
    .vf-audience-grid { grid-template-columns: 1fr; }
    .vf-audience-card { min-height: 220px; }
    .vf-test-drive { grid-template-columns: 1fr; }
    .vf-test-drive__visual { min-height: 280px; }
    .vf-test-drive__form { padding: 24px; }
    .vf-service-grid { grid-template-columns: repeat(3, 1fr); }
    .vf-testimonial-card { flex-basis: calc((100% - 18px) / 2); }
    .vf-news-grid { grid-template-columns: repeat(2, 1fr); }
    .vf-showroom { grid-template-columns: .8fr 1.2fr; }
    .vf-footer__grid { grid-template-columns: repeat(2, 1fr); }
    .catalog-subcategories__head { align-items: flex-start; }
    .catalog-subcategories__head p { max-width: 340px; white-space: normal; }
    .catalog-subcategories__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .post-card--featured { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
    html { scroll-padding-top: 81px; }
    body { font-size: 16px; }
    .vf-container, .container { width: min(calc(100% - 24px), var(--vf-container)); }
    .vf-topbar { height: 32px; }
    .vf-topbar__inner { justify-content: center; }
    .vf-topbar__item:last-child { display: none; }
    .vf-navbar { height: 65px; }
    .vf-brand { min-width: 0; gap: 7px; }
    .vf-brand__mark { width: 34px; }
    .vf-brand__word { font-size: 14px; }
    .vf-icon-button { display: none; }
    .vf-navbar__cta { display: none; }
    .vf-mobile-menu__backdrop { display: none; }
    .vf-mobile-menu__panel { width: 100%; max-width: none; padding: 18px 16px 24px; box-shadow: none; }
    .vf-hero { min-height: 560px; min-height: clamp(560px,calc(100svh - 190px),600px); align-items: stretch; }
    .vf-hero__slide { background-position: 62% center; }
    .vf-hero__slide::after { background: linear-gradient(0deg, rgba(4,19,45,.97) 0, rgba(4,19,45,.78) 46%, rgba(4,19,45,.2) 100%); }
    .vf-hero__inner { align-items: center; padding-top: 80px; padding-bottom: 70px; }
    .vf-hero__content { width: 100%; }
    .vf-hero__eyebrow { margin-bottom: 7px; font-size: 11px; }
    .vf-hero__title { max-width: 340px; margin-bottom: 10px; font-size: clamp(35px,10vw,41px); line-height: 1.04; }
    .vf-hero__content > p { margin-bottom: 16px; font-size: 15px; line-height: 1.45; }
    .vf-hero__actions { flex-wrap: nowrap; gap: 8px; margin-bottom: 15px; }
    .vf-hero__actions .vf-button { min-width: 0; min-height: 46px; flex: 1; padding-inline: 9px; font-size: 13px; }
    .vf-hero__stats { width: 100%; }
    .vf-hero__stats > div { padding: 9px 12px 8px; }
    .vf-hero__stats span { font-size: 12px; }
    .vf-hero__stats strong { margin-right: 3px; font-size: 24px; }
    .vf-hero__stats small { font-size: 11px; }
    .vf-hero__stats ul { padding: 7px 10px; }
    .vf-hero__stats li { gap: 4px; font-size: 11px; line-height: 1.3; }
    .vf-hero__dots { bottom: 18px; }
    .vf-benefits { padding: 12px 0; }
    .vf-benefits__grid { grid-template-columns: 1fr; }
    .vf-benefit + .vf-benefit { border-left: 0; border-top: 1px solid var(--vf-border); }
    .vf-section { padding: 43px 0; }
    .vf-section--tight { padding: 14px 0; }
    .vf-section-heading h2 { font-size: 34px; }
    .vf-model-filters { max-width: none; flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin-bottom: 24px; padding-bottom: 4px; }
    .vf-model-filters button { min-width: max-content; min-height: 42px; flex: 0 0 auto; padding: 0 16px; white-space: nowrap; }
    .vf-model-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .vf-promo { min-height: 380px; grid-template-columns: 1fr; padding: 27px 23px; }
    .vf-promo__finance { margin-top: 20px; }
    .vf-feature-card { min-height: 480px; }
    .vf-feature-card__content { width: 100%; padding: 24px; }
    .vf-tech-visual, .vf-chassis { opacity: .32; }
    .vf-audience-card { min-height: 220px; grid-template-columns: 47% 1fr; }
    .vf-test-drive__visual { min-height: 280px; padding: 25px; }
    .vf-test-drive__visual .vf-model-sprite { width: 90%; height: 220px; left: -24%; }
    .vf-test-drive__visual > div { margin-left: 35%; }
    .vf-test-drive__form { grid-template-columns: 1fr; padding: 20px; }
    .vf-test-drive__form .vf-form-consent { grid-column: auto; }
    .vf-service-grid { grid-template-columns: 1fr; }
    .vf-service-card { min-height: 200px; }
    .vf-testimonial-card { flex-basis: 100%; }
    .vf-news-grid { grid-template-columns: 1fr; }
    .vf-testimonial-card { min-height: 260px; }
    .vf-section-heading--row { align-items: flex-end; }
    .vf-showroom { grid-template-columns: 1fr; }
    .vf-showroom__copy { padding: 33px 25px; }
    .vf-showroom__map { min-height: 260px; }
    .vf-showroom__map iframe { min-height: 260px; }
    .vf-footer__grid { grid-template-columns: 1fr 1fr; gap: 30px 20px; padding-top: 40px; }
    .vf-footer__brand { grid-column: 1 / -1; }
    .vf-footer__bottom { display: grid; text-align: center; }
    .page-hero { padding: 45px 0 40px; }
    .page-hero .section-heading h1 { font-size: 40px; }
    .catalog-subcategories { padding-top: 26px; }
    .catalog-subcategories__head { display: grid; gap: 7px; }
    .catalog-subcategories__head p { text-align: left; }
    .catalog-subcategories__grid { grid-template-columns: 1fr; }
    .catalog-mobile-filter-button { width: 100%; min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 8px; margin-bottom: 14px; color: #fff; border: 0; border-radius: 8px; background: var(--vf-blue); font-weight: 700; }
    .catalog-mobile-filter-button .icon { width: 20px; height: 20px; }
    .catalog-filter-bar { display: none; }
    .catalog-filter-bar.is-open { position: fixed; inset: 0; z-index: 100; display: block; padding: 14px; overflow-y: auto; background: rgba(3,17,42,.58); }
    .catalog-filter-sheet { min-height: 100%; padding: 18px; }
    .catalog-filter-close { width: 36px; height: 36px; display: grid; place-items: center; color: var(--vf-navy); border: 0; border-radius: 50%; background: #edf2f9; font-size: 24px; }
    .catalog-filter-bar__actions > .catalog-clear-link { display: none; }
    .catalog-chip-row { display: grid; }
    .filter-chip-dropdown > summary, .filter-sale-chip { width: 100%; justify-content: space-between; }
    .filter-chip-dropdown__panel { position: static; min-width: 0!important; max-height: none; margin-top: 7px; box-shadow: none; }
    .filter-chip-dropdown__panel--grid { grid-template-columns: 1fr; }
    .catalog-filter-search label { grid-template-columns: 1fr; }
    .catalog-filter-mobile-actions { display: flex; justify-content: flex-end; margin-top: 14px; }
    .catalog-toolbar { align-items: flex-end; }
    .catalog-toolbar h2 { font-size: 21px; }
    .catalog-toolbar select { min-width: 150px; }
    .catalog-sort-buttons { width: 100%; justify-content: flex-start; }
    .catalog-sort-button { flex: 1 1 calc(50% - 4px); }
    .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
    .product-card__body { padding: 12px; }
    .product-card h3 { min-height: 45px; font-size: 16px; }
    .product-card__desc { display: none; }
    .product-card__price strong { font-size: 18px; }
    .product-card__actions { grid-template-columns: 1fr; }
    .product-card__actions .button--light, .compare-link--card { display: none; }
    .product-card--vehicle .product-card__image { height: 210px; }
    .product-card--vehicle .product-card__body { padding: 15px; }
    .product-card--vehicle h3 { font-size: 20px; }
    .product-card--vehicle .product-card__price strong { font-size: 21px; }
    .product-card__specs { gap: 8px; }
    .product-card__spec { grid-template-columns: 26px minmax(0,1fr); gap: 6px; }
    .product-card__spec-icon { width: 26px; height: 26px; }
    .product-card--vehicle .product-card__actions { grid-template-columns: 1fr 1fr; }
    .product-card--vehicle .product-card__actions .button--light { display: inline-flex; }
    .post-search-form { grid-template-columns: 1fr; }
    .post-grid { grid-template-columns: 1fr; }
    .post-card--featured { display: block; }
    .post-card--featured .post-card__image img { height: auto; aspect-ratio: 16/9; }
    .post-card--featured .post-card__body { padding: 18px; }
    .post-card--featured h2 { font-size: 22px; }
    .post-detail-intro { grid-template-columns: 1fr; gap: 18px; }
    .post-detail-intro > p { font-size: 16px; }
    .post-detail-article { font-size: 16px; }
    .post-detail-article h2 { font-size: 27px; }
    .post-related-head { align-items: flex-end; }
}

@media (max-width: 520px) {
    .vf-model-grid { grid-template-columns: 1fr; }
}

@media (max-width: 390px) {
    .vf-footer__grid { grid-template-columns: 1fr; }
    .vf-footer__brand { grid-column: auto; }
    .product-grid { grid-template-columns: 1fr; }
    .product-card__desc { display: block; }
    .product-card--vehicle .product-card__image { height: 235px; }
}

.site-content-block { display: grid; gap: 18px; }
.site-content-block__image { margin: 0; overflow: hidden; border-radius: 12px; background: #f2f5f9; }
.site-content-block__image img { display: block; width: 100%; height: auto; max-height: 480px; object-fit: cover; }
.site-content-block__body > :last-child { margin-bottom: 0; }

/* About page */
.about-story-hero { position: relative; isolation: isolate; min-height: 590px; display: flex; align-items: center; overflow: hidden; color: #fff; background: #061734; }
.about-story-hero::before { content: ""; position: absolute; z-index: -2; inset: 0; background-image: var(--about-hero-image); background-size: cover; background-position: center 62%; transform: scale(1.015); }
.about-story-hero::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(3,18,43,.97) 0%, rgba(5,27,62,.91) 43%, rgba(5,25,57,.48) 72%, rgba(4,19,44,.56) 100%); }
.about-story-hero__inner { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(350px,.72fr); align-items: center; gap: clamp(44px,7vw,94px); padding-block: clamp(74px,8vw,104px); }
.about-story-hero__content { max-width: 690px; }
.about-story-hero .eyebrow { margin-bottom: 13px; color: #7eb5ff; font-size: 13px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.about-story-hero h1 { max-width: 680px; margin: 0 0 20px; color: #fff; font-size: clamp(45px,5.3vw,68px); line-height: 1.04; letter-spacing: -.045em; }
.about-story-hero__lead { max-width: 650px; margin: 0; color: rgba(255,255,255,.8); font-size: clamp(17px,1.6vw,20px); line-height: 1.72; }
.about-story-hero__actions { margin-top: 30px; }
.about-story-hero__actions .site-content-block, .about-story-hero__actions .site-content-block__body { display: block; }
.about-story-hero__actions p { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.about-story-hero__actions a { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding-inline: 25px; color: #fff; border: 1px solid transparent; border-radius: 7px; background: var(--vf-blue); box-shadow: 0 8px 20px rgba(20,100,244,.24); font-size: 15px; font-weight: 700; text-decoration: none; transition: .22s ease; }
.about-story-hero__actions a + a { color: #fff; border-color: rgba(255,255,255,.42); background: rgba(255,255,255,.08); box-shadow: none; backdrop-filter: blur(10px); }
.about-story-hero__actions a:hover { color: #fff; background: var(--vf-blue-dark); transform: translateY(-1px); }
.about-story-hero__actions a + a:hover { border-color: #fff; background: rgba(255,255,255,.16); }
.about-story-hero__actions a:focus-visible { outline: 3px solid rgba(126,181,255,.48); outline-offset: 3px; }
.about-story-hero__panel { padding: clamp(25px,3.3vw,38px); border: 1px solid rgba(255,255,255,.22); border-radius: 18px; background: rgba(7,26,61,.66); box-shadow: 0 26px 70px rgba(0,0,0,.3); backdrop-filter: blur(15px); }
.about-story-hero__panel-label { margin: 0 0 10px; color: #7eb5ff; font-size: 11px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.about-story-hero__panel h2 { margin: 0 0 24px; color: #fff; font-size: clamp(25px,2.5vw,34px); line-height: 1.22; letter-spacing: -.025em; }
.about-story-hero__badges .site-content-block { gap: 0; }
.about-story-hero__badges ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.about-story-hero__badges li, .about-story-hero__badges .site-content-block__body > div { position: relative; display: grid; gap: 2px; min-height: 66px; align-content: center; padding: 13px 12px 13px 46px; color: rgba(255,255,255,.7); border-top: 1px solid rgba(255,255,255,.13); font-size: 13px; line-height: 1.45; }
.about-story-hero__badges li::before, .about-story-hero__badges .site-content-block__body > div::before { content: ""; position: absolute; left: 10px; top: 50%; width: 22px; height: 22px; border: 1px solid rgba(126,181,255,.65); border-radius: 50%; background: radial-gradient(circle, #7eb5ff 0 3px, transparent 4px); transform: translateY(-50%); }
.about-story-hero__badges strong { display: block; color: #fff; font-size: 15px; }
.about-story-section { position: relative; padding: clamp(66px,7vw,94px) 0; }
.about-story-section--intro { background: linear-gradient(180deg,#fff 0%,#f8faff 100%); }
.about-story-intro { display: grid; grid-template-columns: minmax(300px,.82fr) minmax(0,1.18fr); align-items: start; gap: clamp(34px,6vw,80px); }
.about-story-heading { position: sticky; top: 112px; }
.about-story-heading .eyebrow, .about-story-process__head .eyebrow, .about-story-commitments__content > .eyebrow { margin-bottom: 10px; color: var(--vf-blue); font-size: 12px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.about-story-heading h2 { margin: 0 0 20px; color: var(--vf-navy); font-size: clamp(34px,4vw,48px); line-height: 1.13; letter-spacing: -.038em; }
.about-story-heading > p:last-child { max-width: 520px; margin: 0; color: var(--vf-muted); font-size: 16px; line-height: 1.8; }
.about-page-content.product-description--detail { max-width: none; padding: clamp(30px,4vw,48px); border-color: #dce5f2; border-radius: 20px; box-shadow: 0 20px 56px rgba(7,26,61,.08); }
.about-page-content > :first-child { margin-top: 0; }
.about-page-content > :last-child { margin-bottom: 0; }
.about-page-content h2 { margin: 34px 0 13px; color: var(--vf-navy); font-size: clamp(24px,2.5vw,31px); line-height: 1.25; letter-spacing: -.02em; }
.about-page-content h2:first-child { margin-top: 0; }
.about-page-content h3 { margin-top: 26px; color: var(--vf-navy); font-size: 21px; }
.about-page-content p, .about-page-content li { color: #56647a; font-size: 16px; line-height: 1.82; }
.about-page-content ul, .about-page-content ol { display: grid; gap: 9px; padding-left: 22px; }
.about-story-process { margin-top: clamp(64px,8vw,102px); padding-top: clamp(50px,6vw,72px); border-top: 1px solid #dfe6f1; }
.about-story-process__head { max-width: 680px; margin-bottom: 30px; }
.about-story-process__head h2 { margin: 0; color: var(--vf-navy); font-size: clamp(32px,4vw,44px); letter-spacing: -.035em; }
.about-story-process__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.about-story-step { position: relative; overflow: hidden; min-height: 270px; padding: 30px; border: 1px solid #dce5f2; border-radius: 16px; background: #fff; box-shadow: 0 13px 34px rgba(7,26,61,.055); }
.about-story-step::after { content: ""; position: absolute; width: 130px; height: 130px; right: -70px; bottom: -70px; border-radius: 50%; background: rgba(20,100,244,.06); }
.about-story-step__number { position: absolute; top: 24px; right: 25px; color: #dce8fb; font-size: 42px; font-weight: 800; line-height: 1; letter-spacing: -.05em; }
.about-story-step__icon { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 24px; color: var(--vf-blue); border-radius: 14px; background: #eaf2ff; }
.about-story-step__icon .vf-icon { width: 27px; height: 27px; }
.about-story-step h3 { margin: 0 0 10px; color: var(--vf-navy); font-size: 22px; letter-spacing: -.015em; }
.about-story-step p { margin: 0; color: var(--vf-muted); font-size: 14px; line-height: 1.72; }
.about-story-section--support { padding-block: clamp(58px,6vw,78px); background: #eef3fa; }
.about-story-support { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(330px,.65fr); gap: 22px; }
.about-story-commitments { display: grid; grid-template-columns: 68px minmax(0,1fr); gap: 23px; padding: clamp(28px,4vw,42px); border: 1px solid #d8e2ef; border-radius: 18px; background: #fff; box-shadow: 0 16px 44px rgba(7,26,61,.07); }
.about-story-commitments__icon { width: 68px; height: 68px; display: grid; place-items: center; color: var(--vf-blue); border-radius: 17px; background: #eaf2ff; }
.about-story-commitments__icon .vf-icon { width: 34px; height: 34px; }
.about-story-commitments .about-page-card h2 { margin: 0 0 18px; color: var(--vf-navy); font-size: clamp(28px,3vw,36px); letter-spacing: -.03em; }
.about-story-commitments .about-page-card ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.about-story-commitments .about-page-card li { position: relative; padding-left: 29px; color: #56647a; line-height: 1.65; }
.about-story-commitments .about-page-card li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--vf-blue); font-weight: 800; }
.about-story-contact { position: relative; overflow: hidden; display: grid; grid-template-columns: 58px minmax(0,1fr); align-content: center; gap: 18px; padding: clamp(28px,4vw,42px); color: #fff; border-radius: 18px; background: radial-gradient(circle at 92% 8%,rgba(64,143,255,.42),transparent 32%),linear-gradient(135deg,#061a3d,#0a326f); box-shadow: 0 18px 48px rgba(7,26,61,.18); }
.about-story-contact::after { content: ""; position: absolute; right: -80px; bottom: -100px; width: 210px; height: 210px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 42px rgba(255,255,255,.025); }
.about-story-contact__icon { position: relative; z-index: 1; width: 58px; height: 58px; display: grid; place-items: center; color: #fff; border-radius: 15px; background: rgba(255,255,255,.13); }
.about-story-contact__icon .vf-icon { width: 28px; height: 28px; }
.about-story-contact .about-page-card { position: relative; z-index: 1; min-width: 0; }
.about-story-contact .site-content-block { gap: 0; }
.about-story-contact .site-content-block__body { display: grid; gap: 5px; }
.about-story-contact .site-content-block__body > p { margin: 0; color: rgba(255,255,255,.72); }
.about-story-contact .site-content-block__body > strong, .about-story-contact .site-content-block__body > p > strong { color: #fff; font-size: clamp(24px,2.5vw,31px); line-height: 1.2; letter-spacing: -.025em; overflow-wrap: anywhere; }
.about-story-contact a { width: fit-content; margin-top: 8px; color: #fff!important; font-weight: 800; text-decoration: underline!important; text-underline-offset: 4px; }

/* Contact and policy pages */
.contact-hero { position: relative; overflow: hidden; padding: 72px 0; color: #fff; background: radial-gradient(circle at 82% 18%, rgba(20,100,244,.42), transparent 32%), linear-gradient(122deg, #061734 0%, #0a2858 72%, #0b4dcc 140%); }
.contact-hero::after { content: ""; position: absolute; right: -130px; bottom: -230px; width: 520px; height: 520px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.035), 0 0 0 140px rgba(255,255,255,.025); pointer-events: none; }
.contact-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 48px; }
.contact-hero .eyebrow { color: #8db8ff; }
.contact-hero h1 { max-width: 760px; margin: 6px 0 14px; font-size: clamp(40px,5vw,56px); line-height: 1.1; letter-spacing: -.035em; }
.contact-hero__content { max-width: 700px; color: rgba(255,255,255,.78); font-size: 17px; }
.contact-hero__content p { margin: 0; }
.contact-hero__hotline { min-width: 270px; display: grid; gap: 2px; padding: 20px 24px; color: #fff; border: 1px solid rgba(255,255,255,.25); border-radius: 12px; background: rgba(255,255,255,.1); box-shadow: 0 18px 45px rgba(0,0,0,.16); backdrop-filter: blur(12px); }
.contact-hero__hotline span { color: rgba(255,255,255,.7); font-size: 14px; font-weight: 600; }
.contact-hero__hotline strong { font-size: 25px; letter-spacing: -.02em; }
.contact-page { padding: 64px 0 80px; background: #f5f7fb; }
.contact-layout { display: grid; grid-template-columns: 370px minmax(0,1fr); align-items: start; gap: 28px; }
.contact-info-grid { display: grid; gap: 14px; }
.contact-info-card { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 15px; padding: 20px; border: 1px solid var(--vf-border); border-radius: 12px; background: #fff; box-shadow: 0 7px 22px rgba(7,26,61,.045); }
.contact-info-icon { width: 48px; height: 48px; display: grid; place-items: center; color: var(--vf-blue); border-radius: 10px; background: #eaf2ff; }
.contact-info-icon svg { width: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.contact-info-card h2 { margin: 0 0 4px; color: var(--vf-navy); font-size: 18px; line-height: 1.3; }
.contact-info-card p { margin: 0; color: var(--vf-muted); font-size: 14px; line-height: 1.55; }
.contact-info-card a { color: var(--vf-blue); font-weight: 700; }
.contact-form-panel { padding: 34px; border: 1px solid var(--vf-border); border-radius: 14px; background: #fff; box-shadow: var(--vf-shadow); }
.contact-form { display: grid; gap: 20px; }
.contact-form__head h2 { margin: 0 0 6px; color: var(--vf-navy); font-size: 30px; line-height: 1.25; }
.contact-form__head p { margin: 0; color: var(--vf-muted); }
.contact-form__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.contact-form label { display: grid; gap: 7px; color: var(--vf-navy); font-size: 14px; font-weight: 700; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; min-height: 50px; padding: 12px 14px; color: var(--vf-text); border: 1px solid #cfd8e7; border-radius: 8px; outline: 0; background: #fff; font: inherit; font-weight: 400; transition: border-color .2s ease, box-shadow .2s ease; }
.contact-form textarea { min-height: 142px; resize: vertical; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--vf-blue); box-shadow: 0 0 0 3px rgba(20,100,244,.12); }
.contact-submit { min-width: 180px; min-height: 50px; justify-self: start; border: 0; border-radius: 8px; font-size: 15px; font-weight: 700; cursor: pointer; }
.contact-submit__spinner { width: 17px; height: 17px; display: none; margin-right: 7px; border: 2px solid rgba(255,255,255,.45); border-top-color: #fff; border-radius: 50%; animation: contact-spin .7s linear infinite; }
.contact-submit.is-loading .contact-submit__spinner { display: inline-block; }
.frontend-honeypot { position: absolute!important; left: -10000px!important; width: 1px!important; height: 1px!important; overflow: hidden!important; }
.notice { margin-bottom: 20px; padding: 13px 16px; border-radius: 8px; font-weight: 600; }
.notice p { margin: 0; }
.notice--success { color: #126b3a; background: #e7f8ee; border: 1px solid #b9ebcd; }
.notice--error { color: #a52323; background: #fff0f0; border: 1px solid #f3c5c5; }
@keyframes contact-spin { to { transform: rotate(360deg); } }

.static-page-hero .section-heading { max-width: 960px; }
.static-page-intro { margin-top: 30px; }
.static-page { padding: 58px 0 80px; background: #f5f7fb; }
.static-page-article { max-width: 920px; margin: 0 auto; padding: clamp(24px,4vw,52px); border: 1px solid var(--vf-border); border-radius: 14px; background: #fff; box-shadow: var(--vf-shadow); }
.static-page-article > :first-child { margin-top: 0; }
.static-page-article > :last-child { margin-bottom: 0; }
.installment-page-layout { display: grid; grid-template-columns: minmax(0,1.22fr) minmax(360px,.78fr); gap: clamp(24px,3vw,42px); align-items: start; }
.installment-page-content { max-width: none; margin: 0; }
.installment-lead-card { position: sticky; top: 104px; overflow: hidden; padding: clamp(24px,3vw,34px); border: 1px solid #d8e3f3; border-radius: 18px; background: linear-gradient(180deg,#fff 0%,#f8fbff 100%); box-shadow: 0 22px 52px rgba(7,26,61,.12); }
.installment-lead-card::before { content: ""; position: absolute; width: 180px; height: 180px; top: -105px; right: -90px; border-radius: 50%; background: rgba(20,100,244,.08); pointer-events: none; }
.installment-lead-card__head { position: relative; display: flex; align-items: center; gap: 14px; }
.installment-lead-card__icon { flex: 0 0 50px; width: 50px; height: 50px; display: grid; place-items: center; color: #fff; border-radius: 14px; background: linear-gradient(145deg,var(--vf-blue),#0848b8); box-shadow: 0 10px 24px rgba(20,100,244,.25); }
.installment-lead-card__icon .vf-icon { width: 25px; height: 25px; }
.installment-lead-card__head p { margin: 0 0 3px; color: var(--vf-blue); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.installment-lead-card__head h2 { margin: 0; color: var(--vf-navy); font-size: clamp(23px,2.4vw,29px); line-height: 1.18; letter-spacing: -.025em; }
.installment-lead-card__intro { margin: 16px 0 22px; color: #657188; font-size: 14px; line-height: 1.65; }
.vf-installment-form { grid-template-columns: 1fr; gap: 14px; }
.vf-installment-form .vf-lead-modal__alert, .vf-installment-form .installment-form__success { grid-column: 1/-1; margin: 0; }
.installment-form__success { display: flex; align-items: flex-start; gap: 9px; padding: 12px 13px; color: #087346; border: 1px solid #bde8d4; border-radius: 10px; background: #edfbf5; font-size: 12px; font-weight: 650; line-height: 1.5; }
.installment-form__success[hidden] { display: none!important; }
.installment-form__success .vf-icon { flex: 0 0 18px; width: 18px; margin-top: 1px; }
.installment-lead-card__hotline { display: flex; align-items: center; gap: 10px; margin-top: 20px; padding-top: 18px; color: #6d798d; border-top: 1px solid #e0e7f1; font-size: 12px; }
.installment-lead-card__hotline > .vf-icon { width: 21px; color: var(--vf-blue); }
.installment-lead-card__hotline span { display: grid; gap: 2px; }
.installment-lead-card__hotline a { color: var(--vf-navy); font-size: 15px; font-weight: 800; }
.policy-page-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.policy-page-card { height: 100%; }
.policy-page-card:not(:has(.post-card__image)) .post-card__body { padding-top: 28px; }
.policy-page-card .eyebrow { margin-bottom: 8px; }
.policy-page-card h2 { font-size: 23px; }

@media (max-width: 900px) {
    .search-page-hero__inner { grid-template-columns: 1fr; }
    .about-story-hero__inner { grid-template-columns: 1fr; }
    .about-story-hero__content { max-width: 720px; }
    .about-story-hero__panel { width: min(100%,620px); }
    .about-story-intro { grid-template-columns: 1fr; }
    .about-story-heading { position: static; max-width: 720px; }
    .about-story-process__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .about-story-step:last-child { grid-column: 1/-1; }
    .about-story-support { grid-template-columns: 1fr; }
    .contact-hero { padding: 54px 0; }
    .contact-hero__inner { grid-template-columns: 1fr; gap: 28px; }
    .contact-hero__hotline { width: min(100%,360px); }
    .contact-layout { grid-template-columns: 1fr; }
    .contact-info-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .installment-page-layout { grid-template-columns: 1fr; }
    .installment-lead-card { position: relative; top: auto; }
}

@media (max-width: 640px) {
    .vf-navbar__actions [data-search-open] { display: inline-grid; }
    .vf-search-overlay { align-items: end; padding: 0; }
    .vf-search-panel { width: 100%; max-height: calc(100vh - 12px); max-height: calc(100dvh - 12px); padding: 24px 18px max(22px,env(safe-area-inset-bottom)); border-radius: 22px 22px 0 0; }
    .vf-search-panel__head { align-items: flex-start; padding-right: 38px; }
    .vf-search-panel__icon { flex-basis: 44px; width: 44px; height: 44px; border-radius: 12px; }
    .vf-search-panel__head h2 { font-size: 22px; }
    .vf-search-panel__head p { display: none; }
    .vf-global-search { grid-template-columns: 1fr; }
    .vf-global-search .vf-button { min-height: 50px; }
    .vf-search-suggestion { grid-template-columns: 54px minmax(0,1fr); }
    .vf-search-suggestion img { width: 54px; height: 44px; }
    .vf-search-suggestion b { grid-column: 2; }
    .search-page-hero { padding: 42px 0; }
    .search-page-form { padding: 16px; }
    .search-page-form > div { grid-template-columns: auto minmax(0,1fr); padding-left: 12px; }
    .search-page-form button { grid-column: 1/-1; width: calc(100% + 12px); margin: 0 0 5px -12px; border-radius: 8px; }
    .search-results-head { display: grid; }
    .about-story-hero { min-height: auto; }
    .about-story-hero::before { background-position: 63% center; }
    .about-story-hero::after { background: linear-gradient(90deg,rgba(3,18,43,.97),rgba(5,27,62,.85)); }
    .about-story-hero__inner { gap: 34px; padding-block: 58px; }
    .about-story-hero h1 { font-size: 43px; }
    .about-story-hero__lead { font-size: 16px; }
    .about-story-hero__actions p { display: grid; grid-template-columns: 1fr; }
    .about-story-hero__actions a { width: 100%; }
    .about-story-hero__panel { padding: 24px 20px; border-radius: 14px; }
    .about-story-hero__panel h2 { font-size: 25px; }
    .about-story-intro { gap: 28px; }
    .about-story-heading h2 { font-size: 34px; }
    .about-page-content.product-description--detail { padding: 26px 20px; border-radius: 15px; }
    .about-story-process__grid { grid-template-columns: 1fr; }
    .about-story-step, .about-story-step:last-child { grid-column: auto; min-height: auto; padding: 25px 22px; }
    .about-story-commitments { grid-template-columns: 1fr; padding: 26px 21px; }
    .about-story-commitments__icon { width: 58px; height: 58px; }
    .about-story-contact { grid-template-columns: 1fr; padding: 28px 22px; }
    .contact-hero { padding: 44px 0; }
    .contact-hero h1 { font-size: 40px; }
    .contact-page { padding: 36px 0 56px; }
    .contact-info-grid, .contact-form__grid, .policy-page-grid { grid-template-columns: 1fr; }
    .contact-form-panel { padding: 22px 18px; }
    .contact-form__head h2 { font-size: 25px; }
    .contact-submit { width: 100%; justify-self: stretch; }
    .static-page { padding: 36px 0 56px; }
    .static-page-article { padding: 22px 18px; }
    .installment-page-layout { gap: 20px; }
    .installment-lead-card { padding: 22px 18px; border-radius: 14px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto!important; transition: none!important; animation: none!important; }
}

/* Lead popup — quote and test drive */
/* Fixed call and Zalo actions */
.vf-floating-contact { position: fixed; z-index: 850; left: 50%; bottom: max(18px,env(safe-area-inset-bottom)); display: flex; align-items: stretch; justify-content: center; gap: 10px; transform: translateX(-50%); }
.vf-floating-contact__item { min-width: 178px; min-height: 54px; display: grid; grid-template-columns: 40px minmax(0,1fr); align-items: center; gap: 10px; padding: 7px 13px 7px 7px; color: #fff; border: 1px solid rgba(255,255,255,.3); border-radius: 10px; background: var(--vf-blue); box-shadow: 0 6px 18px rgba(4,31,74,.16); text-decoration: none; transition: transform .18s ease, filter .18s ease; }
.vf-floating-contact__item--call { background: #087a57; }
.vf-floating-contact__item--zalo { min-width: 154px; background: #0768f7; }
.vf-floating-contact__item:hover { color: #fff; filter: brightness(.94); transform: translateY(-3px); }
.vf-floating-contact__item:focus-visible { outline: 3px solid rgba(20,100,244,.28); outline-offset: 3px; }
.vf-floating-contact__icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 7px; background: rgba(255,255,255,.14); }
.vf-floating-contact__icon .vf-icon { width: 21px; height: 21px; }
.vf-floating-contact__icon--zalo { font-size: 12px; font-weight: 800; letter-spacing: -.025em; }
.vf-floating-contact__copy { min-width: 0; display: grid; gap: 1px; line-height: 1.15; }
.vf-floating-contact__copy small { color: rgba(255,255,255,.78); font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.vf-floating-contact__copy strong { color: #fff; font-size: 14px; font-weight: 800; white-space: nowrap; }
.vf-floating-contact__copy--zalo strong { letter-spacing: .025em; }

@media (max-width: 600px) {
    .vf-floating-contact { width: calc(100% - 16px); bottom: max(8px,env(safe-area-inset-bottom)); gap: 6px; }
    .vf-floating-contact__item { min-width: 0; min-height: 48px; flex: 1 1 0; grid-template-columns: 34px minmax(0,1fr); gap: 8px; padding: 6px 9px 6px 6px; border-radius: 8px; box-shadow: 0 4px 14px rgba(4,31,74,.14); }
    .vf-floating-contact__item--zalo { min-width: 0; }
    .vf-floating-contact__icon { width: 34px; height: 34px; border-radius: 6px; }
    .vf-floating-contact__icon .vf-icon { width: 18px; height: 18px; }
    .vf-floating-contact__icon--zalo { font-size: 11px; }
    .vf-floating-contact__copy small { font-size: 8px; }
    .vf-floating-contact__copy strong { font-size: 13px; }
}

.vf-lead-modal { position: fixed; z-index: 1500; inset: 0; display: grid; place-items: center; padding: 24px; visibility: hidden; opacity: 0; transition: opacity .24s ease, visibility .24s ease; }
.vf-lead-modal.is-open { visibility: visible; opacity: 1; }
.vf-lead-modal__backdrop { position: absolute; inset: 0; background: rgba(2,12,31,.76); backdrop-filter: blur(8px); }
.vf-lead-modal__panel { position: relative; display: grid; grid-template-columns: 310px minmax(0,1fr); width: min(920px,100%); max-height: min(760px,calc(100vh - 48px)); overflow: hidden; border: 1px solid rgba(255,255,255,.22); border-radius: 24px; background: #fff; box-shadow: 0 32px 100px rgba(0,0,0,.38); transform: translateY(20px) scale(.975); transition: transform .3s cubic-bezier(.2,.8,.2,1); }
.vf-lead-modal.is-open .vf-lead-modal__panel { transform: translateY(0) scale(1); }
.vf-lead-modal__close { position: absolute; z-index: 3; top: 18px; right: 18px; width: 40px; height: 40px; display: grid; place-items: center; padding: 0 0 3px; color: #66738a; border: 1px solid #e1e7f0; border-radius: 50%; background: rgba(255,255,255,.94); box-shadow: 0 5px 16px rgba(7,26,61,.08); font-size: 27px; line-height: 1; cursor: pointer; transition: .2s ease; }
.vf-lead-modal__close:hover { color: #fff; border-color: var(--vf-blue); background: var(--vf-blue); transform: rotate(90deg); }
.vf-lead-modal__visual { position: relative; display: flex; flex-direction: column; overflow: hidden; padding: 34px 30px 32px; color: #fff; background: radial-gradient(circle at 16% 12%,rgba(61,146,255,.72),transparent 34%),linear-gradient(145deg,#092f6c 0,#061d43 52%,#020e24 100%); }
.vf-lead-modal__visual::before, .vf-lead-modal__visual::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.vf-lead-modal__visual::before { width: 260px; height: 260px; right: -150px; top: -80px; }
.vf-lead-modal__visual::after { width: 340px; height: 340px; left: -230px; bottom: -210px; }
.vf-lead-modal__brand, .vf-lead-modal__visual-copy, .vf-lead-modal__visual ul { position: relative; z-index: 1; }
.vf-lead-modal__brand { display: flex; align-items: center; gap: 11px; letter-spacing: .15em; font-size: 18px; }
.vf-lead-modal__brand span { width: 36px; height: 30px; display: grid; place-items: center; color: #fff; font-size: 24px; font-weight: 300; transform: scaleX(1.35); }
.vf-lead-modal__visual-copy { margin-top: auto; }
.vf-lead-modal__visual-copy small { display: block; margin-bottom: 12px; color: #80b7ff; font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.vf-lead-modal__visual-copy h3 { margin: 0 0 14px; font-size: 29px; line-height: 1.2; letter-spacing: -.025em; }
.vf-lead-modal__visual-copy p { margin: 0; color: #b9cbea; font-size: 14px; line-height: 1.65; }
.vf-lead-modal__visual ul { display: grid; gap: 11px; margin: 28px 0 0; padding: 20px 0 0; border-top: 1px solid rgba(255,255,255,.14); list-style: none; }
.vf-lead-modal__visual li { display: flex; align-items: center; gap: 9px; color: #e0eafa; font-size: 13px; }
.vf-lead-modal__visual li .vf-icon { width: 16px; color: #66a9ff; }
.vf-lead-modal__content { min-width: 0; min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y; padding: 42px 44px 34px; }
.vf-lead-modal__eyebrow { display: block; margin-bottom: 7px; color: var(--vf-blue); font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.vf-lead-modal__content h2 { margin: 0; padding-right: 38px; color: var(--vf-navy); font-size: clamp(27px,3vw,36px); line-height: 1.17; letter-spacing: -.035em; }
.vf-lead-modal__content > p { max-width: 570px; margin: 10px 0 24px; color: #657188; font-size: 14px; line-height: 1.6; }
.vf-lead-modal__alert { margin: -10px 0 18px; padding: 11px 13px; color: #a51f2c; border: 1px solid #f2c7cc; border-radius: 9px; background: #fff3f4; font-size: 12px; line-height: 1.5; }
.vf-lead-modal__form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px 16px; }
.vf-lead-modal__form[hidden] { display: none!important; }
.vf-lead-modal__form label { display: grid; gap: 6px; color: #263750; font-size: 12px; font-weight: 700; }
.vf-lead-modal__label-text { width: max-content; display: inline-flex; align-items: baseline; gap: 3px; line-height: 1.35; }
.vf-lead-modal__form label em { color: #e33b45; font-style: normal; }
.vf-lead-modal__form input:not([type=checkbox]), .vf-lead-modal__form select, .vf-lead-modal__form textarea { width: 100%; min-width: 0; color: #15243d; border: 1px solid #dbe3ee; border-radius: 10px; background: #f8fafc; outline: none; font: inherit; font-size: 14px; font-weight: 500; transition: .18s ease; }
.vf-lead-modal__form input:not([type=checkbox]), .vf-lead-modal__form select { height: 46px; padding: 0 13px; }
.vf-lead-modal__form textarea { min-height: 68px; padding: 11px 13px; resize: vertical; }
.vf-lead-modal__form input:focus, .vf-lead-modal__form select:focus, .vf-lead-modal__form textarea:focus { border-color: #6b9ff5; background: #fff; box-shadow: 0 0 0 4px rgba(20,100,244,.1); }
.vf-lead-modal__form [hidden] { display: none!important; }
.vf-lead-modal__note, .vf-lead-modal__consent, .vf-lead-modal__submit, .vf-lead-modal__privacy { grid-column: 1 / -1; }
.vf-lead-modal__consent { display: flex!important; grid-template-columns: 18px minmax(0,1fr); align-items: flex-start; gap: 9px!important; color: #69768b!important; font-size: 11px!important; font-weight: 500!important; line-height: 1.45; cursor: pointer; }
.vf-lead-modal__consent input { width: 16px; height: 16px; margin: 0; accent-color: var(--vf-blue); }
.vf-lead-modal__submit { position: relative; min-height: 50px; display: flex; align-items: center; justify-content: center; gap: 9px; color: #fff; border: 0; border-radius: 10px; background: linear-gradient(135deg,#1b72ff,#0956d4); box-shadow: 0 10px 24px rgba(20,100,244,.25); font-size: 13px; font-weight: 800; letter-spacing: .035em; cursor: pointer; transition: .2s ease; }
.vf-lead-modal__submit:hover { transform: translateY(-1px); box-shadow: 0 14px 30px rgba(20,100,244,.34); }
.vf-lead-modal__submit:disabled { cursor: wait; transform: none; opacity: .92; }
.vf-lead-modal__submit.is-loading [data-lead-submit-label], .vf-lead-modal__submit.is-loading .vf-icon { visibility: hidden; }
.vf-lead-modal__spinner { position: absolute; width: 22px; height: 22px; display: none; border: 2px solid rgba(255,255,255,.38); border-top-color: #fff; border-radius: 50%; animation: vf-lead-spin .72s linear infinite; }
.vf-lead-modal__submit.is-loading .vf-lead-modal__spinner { display: block; }
@keyframes vf-lead-spin { to { transform: rotate(360deg); } }
.vf-lead-modal__submit .vf-icon { width: 18px; }
.vf-lead-modal__privacy { display: flex; align-items: center; justify-content: center; gap: 6px; color: #8590a2; font-size: 10px; text-align: center; }
.vf-lead-modal__privacy .vf-icon { width: 14px; color: #4d8cef; }
.vf-lead-modal__success { min-height: 430px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 28px 12px; text-align: center; }
.vf-lead-modal__success[hidden] { display: none!important; }
.vf-lead-modal__success-icon { width: 78px; height: 78px; display: grid; place-items: center; margin-bottom: 22px; color: #fff; border-radius: 50%; background: linear-gradient(145deg,#1fc47a,#0b9b5b); box-shadow: 0 15px 34px rgba(13,164,96,.25); }
.vf-lead-modal__success-icon .vf-icon { width: 38px; height: 38px; stroke-width: 2.5; }
.vf-lead-modal__success h3 { margin: 4px 0 10px; color: var(--vf-navy); font-size: 29px; line-height: 1.25; }
.vf-lead-modal__success p { max-width: 470px; margin: 0; color: #66738a; font-size: 14px; line-height: 1.65; }
.vf-lead-modal__success > div { display: flex; justify-content: center; gap: 10px; margin-top: 26px; }
.vf-lead-modal__success .vf-button--light { color: var(--vf-navy); border: 1px solid #dbe3ee; background: #fff; }

@media (max-width: 760px) {
    .vf-lead-modal { align-items: end; padding: 0; }
    .vf-lead-modal__panel { grid-template-columns: 1fr; grid-template-rows: auto minmax(0,1fr); width: 100%; height: calc(100vh - 10px); height: calc(100dvh - 10px); max-height: calc(100vh - 10px); max-height: calc(100dvh - 10px); border-radius: 22px 22px 0 0; }
    .vf-lead-modal__visual { min-height: 104px; padding: 22px 68px 20px 22px; }
    .vf-lead-modal__brand { font-size: 15px; }
    .vf-lead-modal__visual-copy { margin-top: 12px; }
    .vf-lead-modal__visual-copy small, .vf-lead-modal__visual-copy p, .vf-lead-modal__visual ul { display: none; }
    .vf-lead-modal__visual-copy h3 { margin: 0; font-size: 20px; }
    .vf-lead-modal__content { min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y; padding: 24px 18px max(22px,env(safe-area-inset-bottom)); }
    .vf-lead-modal__content h2 { font-size: 27px; }
    .vf-lead-modal__content > p { margin: 8px 0 19px; font-size: 13px; }
    .vf-lead-modal__form { grid-template-columns: 1fr; gap: 12px; }
    .vf-lead-modal__note, .vf-lead-modal__consent, .vf-lead-modal__submit, .vf-lead-modal__privacy { grid-column: auto; }
    .vf-lead-modal__form input:not([type=checkbox]), .vf-lead-modal__form select { height: 45px; }
    .vf-lead-modal__form textarea { min-height: 60px; }
    .vf-lead-modal__success { min-height: 480px; padding-inline: 8px; }
    .vf-lead-modal__success h3 { font-size: 25px; }
    .vf-lead-modal__success > div { width: 100%; flex-direction: column; }
}

/* Product detail — VinFast showroom */
body.is-modal-open { overflow: hidden; }
.product-detail-page { padding: 28px 0 84px; background: linear-gradient(180deg,#f7f9fc 0,#fff 760px); }
.product-detail-page .breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin: 0 0 22px; color: #77839a; font-size: 14px; }
.product-detail-page .breadcrumb a { color: #5d6b82; }
.product-detail-page .breadcrumb a:hover { color: var(--vf-blue); }
.product-detail-page .breadcrumb strong { color: var(--vf-navy); font-weight: 600; }
.product-detail-shell { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(420px,.88fr); align-items: start; gap: 28px; }
.product-gallery--detail, .product-purchase-panel { border: 1px solid #e0e6f0; border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: 0 16px 45px rgba(7,26,61,.075); }
.product-gallery--detail { position: sticky; top: 94px; min-width: 0; padding: 18px; }
.product-main-image { position: relative; width: 100%; aspect-ratio: 16/11; display: grid; place-items: center; overflow: hidden; padding: 0; border: 0; border-radius: 13px; background: radial-gradient(circle at 50% 60%,#fff 0,#f8fafc 60%,#edf2f8 100%); cursor: grab; touch-action: pan-y; user-select: none; }
.product-main-image.is-dragging { cursor: grabbing; }
.product-main-image::after { content: ""; position: absolute; left: 10%; right: 10%; bottom: 9%; height: 10%; border-radius: 50%; background: rgba(9,27,57,.11); filter: blur(18px); pointer-events: none; }
.product-main-slider-track { position: absolute; z-index: 1; inset: 0; display: flex; transform: translate3d(0,0,0); transition: transform .42s cubic-bezier(.22,.74,.24,1); will-change: transform; }
.product-main-slide { min-width: 100%; height: 100%; flex: 0 0 100%; display: grid; place-items: center; }
.product-main-slide img { display: block; width: 100%; height: 100%; object-fit: contain; pointer-events: none; transition: transform .35s ease; }
.product-main-image:not(.is-dragging):hover .product-main-slide.is-active img { transform: scale(1.025); }
.product-main-image__counter { position: absolute; z-index: 3; top: 13px; right: 13px; min-width: 45px; padding: 6px 9px; color: #fff; border-radius: 999px; background: rgba(7,26,61,.7); font-size: 11px; font-weight: 700; text-align: center; backdrop-filter: blur(8px); pointer-events: none; }
.product-main-image__hint { position: absolute; z-index: 3; right: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; color: #fff; border-radius: 999px; background: rgba(7,26,61,.78); font-size: 12px; font-weight: 600; backdrop-filter: blur(8px); pointer-events: none; }
.product-main-image__hint .icon { width: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.product-thumb-strip { display: grid; grid-template-columns: 36px minmax(0,1fr) 36px; align-items: center; gap: 9px; margin-top: 14px; }
.product-thumb-nav { width: 36px; height: 36px; display: grid; place-items: center; padding: 0; color: var(--vf-navy); border: 1px solid #d5deeb; border-radius: 50%; background: #fff; cursor: pointer; }
.product-thumb-nav:hover { color: #fff; border-color: var(--vf-blue); background: var(--vf-blue); }
.product-thumb-nav .icon { width: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
.product-thumbs--image { display: flex; gap: 10px; min-width: 0; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
.product-thumbs--image::-webkit-scrollbar { display: none; }
.product-thumbs--image > button { position: relative; flex: 0 0 76px; width: 76px; height: 66px; overflow: hidden; padding: 3px; border: 1px solid #dbe3ee; border-radius: 9px; background: #fff; cursor: pointer; scroll-snap-align: center; transition: border-color .2s ease,box-shadow .2s ease; }
.product-thumbs--image > button.is-active { border-color: var(--vf-blue); box-shadow: 0 0 0 2px rgba(20,100,244,.13); }
.product-thumbs--image img { width: 100%; height: 100%; display: block; object-fit: contain; border-radius: 6px; }
.product-thumb-zoom { display: none; }
.product-purchase-panel { padding: 28px; }
.product-purchase-panel > .eyebrow { margin: 0 0 7px; color: var(--vf-blue); font-size: 13px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.product-purchase-panel h1 { margin: 0; color: var(--vf-navy); font-size: clamp(38px,4vw,50px); line-height: 1.08; letter-spacing: -.04em; }
.product-proof-row { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 14px; }
.rating--detail { min-height: 36px; display: flex; align-items: center; gap: 8px; margin: 0; padding: 7px 11px; color: #56657c; border: 1px solid #dfe6f0; border-radius: 999px; background: #fff; font-size: 12px; box-shadow: 0 5px 16px rgba(7,26,61,.05); }
.rating--detail .rating__stars { color: #f6a700; letter-spacing: 1px; }
.rating--detail a { color: var(--vf-blue); font-weight: 600; }
.stock-line { display: inline-flex; align-items: center; gap: 7px; color: #1b7143; font-size: 13px; }
.stock-dot { width: 8px; height: 8px; border-radius: 50%; background: #a0aabb; }
.stock-dot--on { background: #24a666; box-shadow: 0 0 0 4px rgba(36,166,102,.12); }
.product-info-badge { min-height: 36px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 11px; color: #0d56ce; border: 1px solid #c9dcff; border-radius: 999px; background: linear-gradient(135deg,#eef5ff,#e2edff); font-size: 12px; font-weight: 750; box-shadow: 0 5px 16px rgba(20,100,244,.08); }
.product-info-badge .icon { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.product-detail-lead { margin: 17px 0 0; color: #5c6980; font-size: 16px; line-height: 1.65; }
.product-detail-highlights { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 20px; }
.product-detail-highlight { min-width: 0; display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 10px; padding: 12px; border: 1px solid #e1e7f1; border-radius: 11px; background: #f8faff; }
.product-detail-highlight__icon { width: 38px; height: 38px; display: grid; place-items: center; color: var(--vf-blue); border-radius: 9px; background: #e8f1ff; }
.product-detail-highlight__icon .icon { width: 20px; height: 20px; }
.product-detail-highlight span:last-child { min-width: 0; display: grid; gap: 2px; }
.product-detail-highlight small { overflow: hidden; color: #77849a; font-size: 11px; font-weight: 600; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.product-detail-highlight strong { overflow: hidden; color: var(--vf-navy); font-size: 15px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.product-service-support { margin-top: 18px; padding: 14px 16px; color: #516078; border-left: 3px solid var(--vf-blue); border-radius: 0 10px 10px 0; background: #f4f7fc; font-size: 14px; }
.product-service-support :first-child { margin-top: 0; }
.product-service-support :last-child { margin-bottom: 0; }
.product-vehicle-categories { margin-top: 18px; padding: 14px; border: 1px solid #dfe6f1; border-radius: 12px; background: #f8faff; }
.product-vehicle-categories__head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 10px; }
.product-vehicle-categories__head strong { color: var(--vf-navy); font-size: 14px; }
.product-vehicle-categories__list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.product-vehicle-category { min-width: 0; display: grid; gap: 2px; padding: 9px 10px; color: #58677e; border: 1px solid #dce4f0; border-radius: 8px; background: #fff; transition: border-color .2s ease,background .2s ease,transform .2s ease; }
.product-vehicle-category:hover { border-color: #8db2f6; background: #f1f6ff; transform: translateY(-1px); }
.product-vehicle-category.is-active { color: #0b55d1; border-color: #75a4fa; background: #eaf2ff; box-shadow: 0 0 0 2px rgba(20,100,244,.08); }
.product-vehicle-category span { overflow: hidden; font-size: 12px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.product-vehicle-category strong { overflow: hidden; color: inherit; font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.product-price-box { position: relative; margin-top: 20px; padding: 18px; border-radius: 12px; background: linear-gradient(135deg,#071a3d,#0a2b62); color: #fff; }
.product-price-box > span { display: block; margin-bottom: 3px; color: rgba(255,255,255,.7); font-size: 13px; font-weight: 600; }
.product-price-box > strong { color: #fff; font-size: clamp(27px,3vw,34px); line-height: 1.2; letter-spacing: -.025em; }
.product-price-box > del { margin-left: 10px; color: rgba(255,255,255,.55); font-size: 14px; }
.product-option-box { margin-top: 18px; }
.product-option-box__head { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.product-option-box__head h2 { margin: 0; color: var(--vf-navy); font-size: 16px; }
.product-option-box__head span { color: #7a869a; font-size: 11px; }
.vehicle-gift-offer { position: relative; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 11px; overflow: hidden; margin-top: 14px; padding: 13px; border: 1px solid #ffd299; border-radius: 12px; background: linear-gradient(135deg,#fff9ef 0%,#fff2dc 68%,#ffe9c8 100%); box-shadow: 0 9px 24px rgba(191,111,0,.09); }
.vehicle-gift-offer::after { content: ""; position: absolute; width: 92px; height: 92px; right: -48px; top: -52px; border-radius: 50%; background: rgba(255,156,31,.14); pointer-events: none; }
.vehicle-gift-offer__icon { width: 42px; height: 42px; display: grid; place-items: center; color: #c66a00; border: 1px solid #ffc879; border-radius: 11px; background: #fff; box-shadow: 0 5px 14px rgba(180,94,0,.1); }
.vehicle-gift-offer__icon .icon { width: 22px; height: 22px; }
.vehicle-gift-offer__content { min-width: 0; display: grid; gap: 2px; font-style: normal; }
.vehicle-gift-offer__content small { color: #c35f00; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.vehicle-gift-offer__content strong { color: var(--vf-navy); font-size: 14px; line-height: 1.3; }
.vehicle-gift-offer__content em { overflow: hidden; color: #76552e; font-size: 11px; font-style: normal; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.vehicle-gift-offer__button { position: relative; z-index: 1; min-height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 11px; color: #fff; border-radius: 8px; background: #0866ff; box-shadow: 0 7px 16px rgba(8,102,255,.2); font-size: 11px; font-weight: 750; white-space: nowrap; }
.vehicle-gift-offer__button:hover { color: #fff; background: #0057e6; transform: translateY(-1px); }
.vehicle-gift-offer__button .icon { width: 16px; height: 16px; }
.option-list--cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.option-card { position: relative; min-width: 0; cursor: pointer; }
.option-card input { position: absolute; opacity: 0; pointer-events: none; }
.option-card > span { min-height: 72px; display: grid; align-content: center; gap: 2px; padding: 11px 12px; border: 1px solid #d9e1ed; border-radius: 10px; background: #fff; transition: border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.option-card input:checked + span { border-color: var(--vf-blue); background: #f2f7ff; box-shadow: 0 0 0 2px rgba(20,100,244,.1); }
.option-card strong { overflow: hidden; color: var(--vf-navy); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.option-card em { color: var(--vf-blue); font-size: 13px; font-style: normal; font-weight: 700; }
.option-card small { color: #8a94a6; font-size: 10px; }
.product-cart-form__bottom { margin-top: 18px; }
.product-quantity-field { display: none; }
.buy-actions--detail { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.buy-actions--detail .button { min-height: 52px; justify-content: center; border-radius: 9px; font-size: 16px; font-weight: 700; }
.buy-actions--detail .button .icon { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.buy-actions--detail .button--ghost { color: var(--vf-navy); border-color: #b8c8df; background: #fff; box-shadow: 0 8px 22px rgba(7,26,61,.08); }
.buy-actions--detail .button--ghost:hover { color: #fff; border-color: var(--vf-navy); background: var(--vf-navy); box-shadow: 0 11px 26px rgba(7,26,61,.2); transform: translateY(-1px); }
.buy-actions--detail .button--ghost:focus-visible { outline: 3px solid rgba(20,100,244,.2); outline-offset: 2px; }
.compare-link--panel { display: inline-flex; align-items: center; gap: 7px; margin-top: 13px; color: #607089; font-size: 13px; font-weight: 600; }
.compare-link--panel .icon { width: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.short-related-box--after-compare { margin-top: 18px; padding-top: 17px; border-top: 1px solid #e4e9f1; }
.short-related-box__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 9px; }
.short-related-box__head h2 { margin: 0; color: var(--vf-navy); font-size: 14px; }
.short-related-list { display: flex; flex-wrap: wrap; gap: 7px; }
.short-related-item { display: grid; gap: 1px; padding: 8px 10px; color: #5d6a80; border: 1px solid #dce3ee; border-radius: 8px; font-size: 11px; }
.short-related-item.is-active { color: #0c55cf; border-color: #7faaf7; background: #f2f7ff; }
.short-related-item strong { font-size: 12px; }
.share-row--detail { display: flex; flex-wrap: wrap; gap: 8px 13px; margin-top: 16px; color: #7b879a; font-size: 12px; }
.share-row--detail a, .share-row--detail button { color: var(--vf-blue); font: inherit; font-weight: 600; }
.product-policy-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; overflow: hidden; margin-top: 28px; border: 1px solid #e0e6ef; border-radius: 14px; background: #e0e6ef; box-shadow: 0 10px 30px rgba(7,26,61,.05); }
.product-policy-grid > div { min-width: 0; display: grid; grid-template-columns: 42px minmax(0,1fr); grid-template-rows: auto auto; column-gap: 11px; padding: 18px; background: #fff; }
.product-policy-grid svg { grid-row: 1/3; width: 28px; height: 28px; align-self: center; color: var(--vf-blue); fill: none; stroke: currentColor; }
.product-policy-grid strong { color: var(--vf-navy); font-size: 13px; }
.product-policy-grid span { color: #77849a; font-size: 11px; line-height: 1.45; }
.product-detail-tabs { position: relative; z-index: 2; display: flex; align-items: center; gap: 6px; margin-top: 38px; padding: 7px; border: 1px solid #dce4ef; border-radius: 12px; background: rgba(255,255,255,.94); box-shadow: 0 10px 30px rgba(7,26,61,.08); backdrop-filter: blur(14px); }
.product-detail-tabs a { min-width: 150px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 10px 18px; color: #66748b; border-radius: 8px; font-size: 14px; font-weight: 700; }
.product-detail-tabs a:hover { color: var(--vf-blue); background: #f3f7fd; }
.product-detail-tabs a.is-active { color: #fff; background: var(--vf-blue); box-shadow: 0 7px 18px rgba(20,100,244,.23); }
.product-detail-anchor { scroll-margin-top: 96px; }
.product-media-showcase { margin-top: 42px; padding: 30px; overflow: hidden; border-radius: 18px; background: radial-gradient(circle at 90% 0,rgba(20,100,244,.4),transparent 34%),linear-gradient(135deg,#06152f,#0a2858); box-shadow: 0 20px 50px rgba(7,26,61,.16); }
.product-media-showcase__head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 22px; }
.product-media-showcase__head .eyebrow { margin: 0 0 6px; color: #83afff; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.product-media-showcase__head h2 { max-width: 720px; margin: 0; color: #fff; font-size: clamp(28px,3.2vw,40px); line-height: 1.16; letter-spacing: -.03em; }
.product-media-showcase__head > p { max-width: 330px; margin: 0; color: rgba(255,255,255,.68); font-size: 13px; line-height: 1.55; text-align: right; }
.product-media-showcase__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.product-media-showcase__grid > :only-child { grid-column: 1/-1; }
.product-media-card { min-width: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 14px; background: #06152f; }
.product-media-card__cover { position: relative; width: 100%; aspect-ratio: 16/9; display: block; overflow: hidden; padding: 0; border: 0; background: #071a3d; cursor: pointer; }
.product-media-card__cover > img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .4s ease; }
.product-media-card--video .product-media-card__cover > img { object-fit: contain; background: #f1f4f8; }
.product-media-card__cover:hover > img { transform: scale(1.035); }
.product-media-card__shade { position: absolute; inset: 0; background: linear-gradient(180deg,transparent 35%,rgba(2,10,25,.88)); pointer-events: none; }
.product-media-play, .product-media-album-icon { position: absolute; left: 50%; top: 50%; width: 62px; height: 62px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; background: rgba(20,100,244,.92); box-shadow: 0 12px 35px rgba(0,0,0,.26); transform: translate(-50%,-50%); transition: transform .2s ease,background .2s ease; }
.product-media-card__cover:hover .product-media-play, .product-media-card__cover:hover .product-media-album-icon { background: #fff; color: var(--vf-blue); transform: translate(-50%,-50%) scale(1.07); }
.product-media-play svg { width: 28px; height: 28px; fill: currentColor; }
.product-media-album-icon .icon { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.product-media-card__label { position: absolute; left: 20px; right: 20px; bottom: 18px; display: grid; gap: 2px; color: #fff; text-align: left; }
.product-media-card__label small { color: rgba(255,255,255,.68); font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.product-media-card__label strong { font-size: 18px; }
.product-video-player { aspect-ratio: 16/9; background: #000; }
.product-video-player[hidden] { display: none; }
.product-video-player iframe, .product-video-player video { width: 100%; height: 100%; display: block; border: 0; background: #000; }
.product-content-grid { display: grid; grid-template-columns: 1fr; align-items: start; gap: 30px; margin-top: 44px; }
.product-main-column { min-width: 0; display: grid; gap: 28px; }
.product-description--detail, .product-video--standalone { padding: clamp(28px,4vw,52px); border: 1px solid #e0e6ef; border-radius: 16px; background: #fff; box-shadow: 0 12px 35px rgba(7,26,61,.06); }
.product-description__head { display: flex; justify-content: space-between; align-items: start; gap: 18px; padding-bottom: 16px; border-bottom: 1px solid #e7ebf2; }
.product-description__head .section-heading, .product-spec-card__head .section-heading { margin: 0; }
.product-description__head .eyebrow, .product-video .eyebrow { margin: 0 0 4px; color: var(--vf-blue); font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.product-description__head h2, .product-video h2 { margin: 0; color: var(--vf-navy); font-size: 28px; line-height: 1.2; }
.product-description__head > a { color: var(--vf-blue); font-size: 13px; font-weight: 600; }
.product-description__content { position: relative; max-width: 980px; max-height: none; overflow: visible; margin: 0 auto; padding-top: 28px; color: #526079; font-size: 16px; line-height: 1.78; }
.product-description__content::after { display: none; }
.product-description.is-expanded .product-description__content { max-height: none; }
.product-description.is-expanded .product-description__content::after { display: none; }
.product-description__content img { display: block; width: auto; max-width: 100%; height: auto; margin: 28px auto; border-radius: 12px; }
.product-description__content figure, .post-detail-article figure { width: fit-content; max-width: 100%; margin: 30px auto; text-align: center; }
.product-description__content figure img, .post-detail-article figure img { margin: 0 auto; }
.product-description__content figcaption, .post-detail-article figcaption { max-width: 720px; margin: 10px auto 0; padding: 0 12px; color: #6b778c; font-size: 14px; font-style: italic; font-weight: 500; line-height: 1.6; text-align: center; overflow-wrap: anywhere; }
.product-description__toggle, .product-spec-card__toggle { width: 100%; min-height: 46px; margin-top: 18px; color: var(--vf-blue); border: 1px solid #b9cff6; border-radius: 9px; background: #f4f8ff; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.product-description__note { display: grid; gap: 10px; margin-top: 18px; }
.product-description__note > div { padding: 14px; border-radius: 10px; background: #f6f8fb; }
.product-description__note strong { color: var(--vf-navy); }
.product-spec-card { position: static; width: 100%; top: auto; margin: 0; padding: clamp(58px,6vw,92px) 0; color: #fff; border: 0; border-radius: 0; background: #071c38; box-shadow: 0 0 0 100vmax #071c38; clip-path: inset(0 -100vmax); }
.product-spec-card__head { margin-bottom: 44px; }
.product-spec-card__head .eyebrow { margin: 0 0 12px; color: #2580ff; font-size: 13px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.product-spec-card__head h2 { margin: 0; color: #fff; font-size: clamp(42px,5vw,64px); line-height: 1.08; letter-spacing: -.045em; }
.product-spec-groups--preview { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; gap: 22px; margin: 0; }
.product-spec-card .product-spec-group { min-width: 0; padding: 30px 36px; border: 1px solid rgba(178,204,237,.2); border-radius: 18px; background: #112b4b; }
.product-spec-card .product-spec-group h3 { margin: 0 0 14px; color: #fff; font-size: 21px; line-height: 1.3; }
.product-spec-card .spec-table--detail { display: grid; }
.product-spec-card .spec-table--detail > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(120px,.9fr); align-items: center; gap: 18px; padding: 16px 0; border-bottom: 1px solid rgba(178,204,237,.16); font-size: 16px; line-height: 1.45; }
.product-spec-card .spec-table--detail > div:last-child { border-bottom: 0; }
.product-spec-card .spec-table--detail strong { color: #b9c9df; font-weight: 500; }
.product-spec-card .spec-table--detail span { color: #fff; font-weight: 750; text-align: right; }
.product-spec-card .product-spec-empty { padding: 30px; color: #c5d2e5; border: 1px solid rgba(178,204,237,.2); border-radius: 18px; background: #112b4b; }
.product-spec-modal .product-spec-group h3 { margin: 0 0 8px; color: var(--vf-navy); font-size: 14px; }
.product-spec-modal .spec-table--detail { display: grid; }
.product-spec-modal .spec-table--detail > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(100px,.9fr); gap: 12px; padding: 11px 0; border-bottom: 1px solid #edf0f5; font-size: 13px; }
.product-spec-modal .spec-table--detail strong { color: #647188; font-weight: 500; }
.product-spec-modal .spec-table--detail span { color: var(--vf-navy); font-weight: 700; text-align: right; }
.product-lightbox { position: fixed; z-index: 1200; inset: 0; display: none; grid-template-columns: 56px minmax(0,1fr) 56px; align-items: center; gap: 12px; padding: 24px; background: rgba(3,12,29,.94); }
.product-lightbox.is-open { display: grid; }
.product-lightbox__close { position: absolute; z-index: 2; top: 18px; right: 22px; width: 44px; height: 44px; color: #fff; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: rgba(255,255,255,.08); font-size: 30px; cursor: pointer; }
.product-lightbox__nav { width: 52px; height: 52px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; background: rgba(255,255,255,.08); cursor: pointer; }
.product-lightbox__nav .icon { width: 24px; fill: none; stroke: currentColor; stroke-width: 2; }
.product-lightbox__figure { width: 100%; min-width: 0; height: min(82vh,850px); height: min(82dvh,850px); max-width: 100%; max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); display: grid; grid-template-rows: minmax(0,1fr) auto; place-items: center; gap: 12px; margin: 0; }
.product-lightbox__viewport { position: relative; width: 100%; height: 100%; min-height: 0; overflow: hidden; cursor: grab; touch-action: pan-y; user-select: none; }
.product-lightbox__viewport.is-dragging { cursor: grabbing; }
.product-lightbox__track { position: absolute; inset: 0; min-width: 0; min-height: 0; display: flex; transform: translate3d(0,0,0); transition: transform .42s cubic-bezier(.22,.74,.24,1); will-change: transform; }
.product-lightbox__slide { position: relative; min-width: 0; min-height: 0; height: 100%; flex: 0 0 100%; display: grid; place-items: center; overflow: hidden; }
.product-lightbox__slide::after { content: ""; width: 34px; height: 34px; position: absolute; border: 3px solid rgba(255,255,255,.2); border-top-color: #fff; border-radius: 50%; animation: vf-spin .75s linear infinite; }
.product-lightbox__slide.is-loaded::after { display: none; }
.product-lightbox__slide img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; place-self: stretch; object-fit: contain; opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.product-lightbox__slide.is-loaded img { opacity: 1; }
.product-lightbox__figure figcaption { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: rgba(255,255,255,.78); font-size: 14px; }
.product-lightbox__figure figcaption strong { flex: 0 0 auto; color: #fff; }
.product-real-album { position: fixed; z-index: 1220; inset: 0; display: none; grid-template-columns: 58px minmax(0,1fr) 58px; align-items: center; gap: 16px; padding: 22px; background: rgba(2,9,22,.96); }
.product-real-album.is-open { display: grid; }
.product-real-album__close { position: absolute; z-index: 2; right: 22px; top: 18px; width: 44px; height: 44px; color: #fff; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: rgba(255,255,255,.08); font-size: 29px; cursor: pointer; }
.product-real-album__nav { width: 54px; height: 54px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; background: rgba(255,255,255,.08); cursor: pointer; }
.product-real-album__nav:hover, .product-real-album__close:hover { color: var(--vf-blue); background: #fff; }
.product-real-album__nav .icon { width: 24px; fill: none; stroke: currentColor; stroke-width: 2; }
.product-real-album__figure { width: 100%; min-width: 0; height: calc(100vh - 44px); height: calc(100dvh - 44px); max-width: 100%; max-height: calc(100vh - 44px); max-height: calc(100dvh - 44px); display: grid; grid-template-rows: minmax(0,1fr) auto 80px; gap: 12px; margin: 0; }
.product-real-album__viewport { position: relative; width: 100%; min-height: 0; overflow: hidden; cursor: grab; touch-action: pan-y; user-select: none; }
.product-real-album__viewport.is-dragging { cursor: grabbing; }
.product-real-album__track { position: absolute; inset: 0; min-width: 0; min-height: 0; display: flex; transform: translate3d(0,0,0); transition: transform .42s cubic-bezier(.22,.74,.24,1); will-change: transform; }
.product-real-album__slide { position: relative; min-width: 0; min-height: 0; height: 100%; flex: 0 0 100%; display: grid; place-items: center; overflow: hidden; }
.product-real-album__slide::after { content: ""; width: 34px; height: 34px; position: absolute; border: 3px solid rgba(255,255,255,.2); border-top-color: #fff; border-radius: 50%; animation: vf-spin .75s linear infinite; }
.product-real-album__slide.is-loaded::after { display: none; }
.product-real-album__slide img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; place-self: stretch; object-fit: contain; opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.product-real-album__slide.is-loaded img { opacity: 1; }
.product-real-album__figure figcaption { display: flex; justify-content: space-between; gap: 20px; color: rgba(255,255,255,.72); font-size: 13px; }
.product-real-album__figure figcaption strong { color: #fff; }
.product-real-album__thumbs { display: flex; justify-content: center; gap: 9px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.product-real-album__thumbs::-webkit-scrollbar { display: none; }
.product-real-album__thumbs button { flex: 0 0 80px; height: 68px; padding: 3px; overflow: hidden; border: 1px solid rgba(255,255,255,.25); border-radius: 8px; background: rgba(255,255,255,.05); cursor: pointer; }
.product-real-album__thumbs button.is-active { border-color: #74a6ff; box-shadow: 0 0 0 2px rgba(20,100,244,.35); }
.product-real-album__thumbs img { width: 100%; height: 100%; display: block; object-fit: cover; border-radius: 5px; }
.product-spec-modal { position: fixed; z-index: 1200; inset: 0; display: none; }
.product-spec-modal.is-open { display: block; }
.product-spec-modal__backdrop { position: absolute; inset: 0; background: rgba(3,12,29,.75); }
.product-spec-modal__panel { position: relative; width: min(720px,calc(100% - 32px)); max-height: calc(100vh - 48px); overflow: hidden; margin: 24px auto; border-radius: 16px; background: #fff; box-shadow: 0 30px 80px rgba(0,0,0,.3); }
.product-spec-modal__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 26px; border-bottom: 1px solid #e4e9f1; }
.product-spec-modal__head .eyebrow { margin: 0 0 3px; color: var(--vf-blue); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.product-spec-modal__head h2 { margin: 0; color: var(--vf-navy); font-size: 26px; }
.product-spec-modal__close { width: 40px; height: 40px; border: 0; border-radius: 50%; background: #eef2f7; font-size: 26px; cursor: pointer; }
.product-spec-modal__body { max-height: calc(100vh - 145px); overflow-y: auto; padding: 24px 26px 32px; }
.product-spec-groups--full { display: grid; gap: 24px; }
.product-reviews, .related-products, .recently-viewed-products { margin-top: 70px; }
.product-reviews > .section-heading, .related-products > .section-heading, .recently-viewed-products > .section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.product-reviews > .section-heading .eyebrow, .related-products > .section-heading .eyebrow, .recently-viewed-products > .section-heading .eyebrow { margin: 0 0 5px; color: var(--vf-blue); font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.product-reviews > .section-heading h2, .related-products > .section-heading h2, .recently-viewed-products > .section-heading h2 { margin: 0; color: var(--vf-navy); font-size: clamp(30px,3.3vw,40px); line-height: 1.15; letter-spacing: -.03em; }
.product-reviews > .section-heading .rating { color: #6f7b90; }
.product-reviews > .section-heading .rating__stars { color: #f5a623; font-size: 15px; letter-spacing: 1px; }
.review-section-actions { display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.review-section-toggle { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 8px 14px; color: #fff; border: 1px solid var(--vf-blue); border-radius: 9px; background: var(--vf-blue); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; box-shadow: 0 8px 20px rgba(20,100,244,.18); transition: background-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.review-section-toggle:hover { background: #0755dc; box-shadow: 0 10px 24px rgba(20,100,244,.24); transform: translateY(-1px); }
.review-section-toggle svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .22s ease; }
.product-reviews.is-expanded .review-section-toggle svg { transform: rotate(180deg); }
.review-layout[hidden] { display: none; }
.review-layout:not([hidden]) { animation: review-section-open .28s ease both; }
@keyframes review-section-open { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
.review-layout { display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); align-items: start; gap: 22px; }
.review-form, .review-approved { min-width: 0; padding: 26px; border: 1px solid #e0e6ef; border-radius: 16px; background: #fff; box-shadow: 0 12px 35px rgba(7,26,61,.06); }
.review-form { display: grid; gap: 17px; }
.review-form__intro { display: block; }
.review-form__intro h3 { margin: 0 0 5px; color: var(--vf-navy); font-size: 22px; }
.review-form__intro p { margin: 0; color: #748096; font-size: 13px; line-height: 1.55; }
.review-form__body { display: grid; gap: 17px; padding-top: 17px; border-top: 1px solid #e7ebf2; animation: review-form-open .26s ease both; }
@keyframes review-form-open { from { opacity: 0; transform: translateY(-7px); } to { opacity: 1; transform: translateY(0); } }
.review-form__website { position: absolute!important; left: -9999px!important; }
.review-form__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.review-form__grid--contact { grid-template-columns: repeat(3,minmax(0,1fr)); }
.review-form label { display: grid; gap: 6px; color: var(--vf-navy); font-size: 13px; font-weight: 700; }
.review-form input, .review-form select, .review-form textarea { width: 100%; min-height: 46px; padding: 11px 12px; color: var(--vf-text); border: 1px solid #d4dce8; border-radius: 8px; outline: 0; background: #fff; font: inherit; font-weight: 400; }
.review-form textarea { min-height: 118px; resize: vertical; }
.review-form input:focus, .review-form select:focus, .review-form textarea:focus { border-color: var(--vf-blue); box-shadow: 0 0 0 3px rgba(20,100,244,.1); }
.review-form input[type="file"] { padding: 9px; background: #f8fafc; font-size: 11px; }
.review-form label small { color: #8993a5; font-size: 10px; font-weight: 400; line-height: 1.45; }
.review-form__feedback[hidden] { display: none; }
.review-form__feedback .notice { margin: 0; }
.review-rating-picker { min-width: 0; margin: 0; padding: 16px 18px 17px; border: 1px solid #d9e4f3; border-radius: 12px; background: linear-gradient(135deg,#f8fbff 0%,#fff 72%); box-shadow: inset 0 1px 0 #fff; }
.review-rating-picker legend { padding: 0 7px; margin-left: -7px; color: var(--vf-navy); font-size: 14px; font-weight: 800; }
.review-rating-picker > p { margin: 0 0 12px; color: #7a879a; font-size: 12px; line-height: 1.5; }
.review-rating-picker__choice { display: flex; align-items: center; gap: 18px; }
.review-rating-picker__stars { display: flex; align-items: center; gap: 4px; }
.review-rating-picker__stars .review-rating-picker__star { width: 42px; height: 42px; display: grid; place-items: center; gap: 0; color: #d7dee9; border: 0; border-radius: 9px; background: transparent; cursor: pointer; transition: color .18s ease,transform .18s ease,background-color .18s ease; }
.review-rating-picker__star svg { width: 31px; height: 31px; fill: currentColor; stroke: #bcc7d6; stroke-width: .65; transition: inherit; }
.review-rating-picker__star.is-active { color: #ffb11b; }
.review-rating-picker__star.is-active svg { stroke: #ed9b00; filter: drop-shadow(0 3px 5px rgba(237,155,0,.18)); }
.review-rating-picker__star.is-preview { transform: translateY(-2px) scale(1.07); background: #fff5dc; }
.review-rating-picker__stars input:focus-visible + .review-rating-picker__star { outline: 2px solid var(--vf-blue); outline-offset: 2px; }
.review-rating-picker__choice > strong { min-height: 34px; display: inline-flex; align-items: center; padding: 7px 12px; color: #9b6500; border: 1px solid #f1d79e; border-radius: 999px; background: #fff7e5; font-size: 12px; white-space: nowrap; }
.review-submit { min-height: 48px; justify-self: start; border: 0; border-radius: 8px; cursor: pointer; }
.review-submit:disabled { cursor: wait; opacity: .82; }
.review-submit__spinner { width: 17px; height: 17px; display: none; flex: 0 0 auto; border: 2px solid rgba(255,255,255,.38); border-top-color: #fff; border-radius: 50%; animation: vf-spin .72s linear infinite; }
.review-submit.is-loading .review-submit__spinner { display: block; }
.review-summary { display: grid; grid-template-columns: 120px minmax(0,1fr); align-items: center; gap: 24px; padding-bottom: 20px; border-bottom: 1px solid #e7ebf2; }
.review-summary__score { display: grid; grid-template-columns: auto auto; align-items: baseline; justify-content: center; color: var(--vf-navy); text-align: center; }
.review-summary__score strong { font-size: 48px; line-height: 1; letter-spacing: -.05em; }
.review-summary__score span { color: #7d899c; }
.review-summary__score small { grid-column: 1/-1; margin-top: 7px; color: #7d899c; font-size: 10px; }
.review-summary__bars { display: grid; gap: 7px; }
.review-summary__bar { display: grid; grid-template-columns: 44px minmax(0,1fr) 24px; align-items: center; gap: 8px; color: #68768c; font-size: 11px; }
.review-summary__bar i { height: 6px; overflow: hidden; border-radius: 999px; background: #edf1f6; }
.review-summary__bar b { height: 100%; display: block; border-radius: inherit; background: #f5ad18; }
.review-summary__bar em { font-style: normal; text-align: right; }
.review-filters { display: flex; flex-wrap: wrap; gap: 7px; margin: 18px 0; }
.review-filters a { padding: 7px 10px; color: #66748b; border: 1px solid #dbe2ed; border-radius: 999px; font-size: 11px; font-weight: 600; }
.review-filters a.is-active { color: #fff; border-color: var(--vf-blue); background: var(--vf-blue); }
.review-list { display: grid; gap: 11px; }
.review-card { padding: 16px; border: 1px solid #e4e9f1; border-radius: 10px; background: #fbfcfe; }
.review-card.is-new { animation: review-card-in .35s ease both; border-color: #bcd2f7; background: #f8fbff; }
@keyframes review-card-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
.review-card[hidden] { display: none; }
.review-card__head strong { color: var(--vf-navy); font-size: 14px; }
.review-card .rating { margin-top: 4px; }
.review-card__body p { margin: 8px 0 0; color: #59667c; font-size: 13px; line-height: 1.6; }
.review-media-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.review-media-thumb, .review-media-video-thumb { width: 76px; height: 68px; overflow: hidden; padding: 0; border: 1px solid #dce3ed; border-radius: 8px; background: #eef2f7; cursor: pointer; }
.review-media-thumb { padding: 4px; background: #fff; }
.review-media-thumb img { width: 100%; height: 100%; display: block; object-fit: contain; border-radius: 5px; }
.review-media-video-thumb video { width: 100%; height: 100%; object-fit: cover; }
.review-media-video-thumb { position: relative; }
.review-media-video-thumb span { position: absolute; inset: auto 0 0; padding: 4px; color: #fff; background: rgba(3,12,29,.75); font-size: 9px; }
.review-list-toggle { width: 100%; min-height: 43px; margin-top: 14px; color: var(--vf-blue); border: 1px solid #bfd2f5; border-radius: 8px; background: #f4f8ff; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.review-pagination { display: flex; justify-content: center; gap: 6px; margin-top: 14px; }
.review-pagination[hidden] { display: none; }
.review-pagination a { min-width: 32px; height: 32px; display: grid; place-items: center; color: #627087; border: 1px solid #dbe2ed; border-radius: 7px; font-size: 11px; }
.review-pagination a.is-active { color: #fff; border-color: var(--vf-blue); background: var(--vf-blue); }
.review-results-box .empty-state, .related-products .empty-state, .recently-viewed-products .empty-state { padding: 28px; color: #718097; border: 1px dashed #ccd6e5; border-radius: 11px; background: #f8fafc; text-align: center; }
.review-results-box .empty-state h3, .related-products .empty-state h3, .recently-viewed-products .empty-state h3 { margin: 0 0 5px; color: var(--vf-navy); }
.review-results-box .empty-state p, .related-products .empty-state p, .recently-viewed-products .empty-state p { margin: 0; font-size: 13px; }
.section-link--stable { color: var(--vf-blue); font-size: 13px; font-weight: 700; }
.related-product-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.related-product-card { min-width: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #dde4ee; border-radius: 14px; background: #fff; box-shadow: 0 10px 30px rgba(7,26,61,.055); transition: transform .2s ease,box-shadow .2s ease; }
.related-product-card:hover { transform: translateY(-3px); box-shadow: 0 16px 38px rgba(7,26,61,.1); }
.related-product-card__image { height: 205px; display: grid; place-items: center; overflow: hidden; padding: 10px; background: radial-gradient(circle,#fff,#f2f5f9); }
.related-product-card__image img { width: 100%; height: 100%; object-fit: contain; transition: transform .3s ease; }
.related-product-card:hover .related-product-card__image img { transform: scale(1.035); }
.related-product-card__body { flex: 1; padding: 16px; }
.related-product-card__meta { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; color: #738097; font-size: 10px; text-transform: uppercase; }
.related-product-card__meta span:first-child { color: var(--vf-blue); font-weight: 700; }
.related-product-card h3 { min-height: 48px; margin: 0; color: var(--vf-navy); font-size: 18px; line-height: 1.35; }
.related-product-card h3 a { color: inherit; }
.related-product-card .rating { margin-top: 8px; font-size: 11px; }
.related-product-card__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px; margin-top: 12px; }
.related-product-card__price strong { color: var(--vf-navy); font-size: 20px; }
.related-product-card__price span { color: #8994a5; font-size: 11px; text-decoration: line-through; }
.related-product-card__actions { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; padding: 0 16px 16px; }
.related-product-card__actions .button { min-height: 40px; justify-content: center; border-radius: 8px; font-size: 11px; }
.related-product-card__actions .icon, .compare-link--compact .icon { width: 15px; }
.compare-link--compact { display: inline-flex; align-items: center; gap: 4px; color: #66748b; font-size: 10px; font-weight: 600; }
.review-image-lightbox, .review-video-lightbox { position: fixed; z-index: 1230; inset: 0; display: none; place-items: center; padding: 30px; background: rgba(2,9,22,.94); }
.review-image-lightbox.is-open, .review-video-lightbox.is-open { display: grid; }
.review-image-lightbox__close, .review-video-lightbox__close { position: absolute; top: 18px; right: 22px; width: 44px; height: 44px; color: #fff; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: rgba(255,255,255,.08); font-size: 29px; cursor: pointer; }
.review-image-lightbox__figure { width: min(1000px,calc(100vw - 60px)); height: min(82vh,760px); display: flex; align-items: center; justify-content: center; overflow: hidden; margin: 0; }
.review-image-lightbox__figure img { width: auto; height: auto; max-width: 100%; max-height: 100%; display: block; flex: 0 1 auto; object-fit: contain; }
.review-video-lightbox__figure { width: min(1000px,calc(100vw - 60px)); height: min(82vh,760px); display: grid; place-items: center; margin: 0; }
.review-video-lightbox__figure video { max-width: 100%; max-height: 100%; object-fit: contain; }

@media (max-width: 1080px) {
    .product-detail-shell { grid-template-columns: minmax(0,1fr) 400px; gap: 20px; }
    .product-purchase-panel { padding: 22px; }
    .product-detail-highlights { grid-template-columns: 1fr; }
    .product-policy-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .product-content-grid { grid-template-columns: 1fr; gap: 24px; }
    .related-product-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .related-product-card:nth-child(4) { display: none; }
}

@media (max-width: 860px) {
    .product-detail-page { padding-top: 20px; }
    .product-detail-shell { grid-template-columns: 1fr; }
    .product-gallery--detail, .product-spec-card { position: static; }
    .product-main-image { aspect-ratio: 16/10; }
    .product-detail-highlights { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .product-content-grid { grid-template-columns: 1fr; }
    .product-spec-card { order: 0; }
    .product-media-showcase__head { align-items: start; }
    .product-spec-groups--preview { grid-template-columns: 1fr; }
    .review-layout { grid-template-columns: 1fr; }
    .related-product-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .related-product-card:nth-child(4) { display: flex; }
}

@media (max-width: 600px) {
    .product-detail-page { padding: 14px 0 56px; }
    .product-detail-page .breadcrumb { margin-bottom: 14px; font-size: 12px; }
    .product-gallery--detail { padding: 10px; border-radius: 13px; }
    .product-main-image { aspect-ratio: 4/3; border-radius: 9px; }
    .product-main-image__counter { top: 8px; right: 8px; padding: 5px 8px; }
    .product-main-image__hint { right: 8px; bottom: 8px; padding: 7px; font-size: 0; }
    .product-thumb-strip { grid-template-columns: 28px minmax(0,1fr) 28px; gap: 6px; margin-top: 9px; }
    .product-thumb-nav { width: 28px; height: 28px; }
    .product-thumbs--image > button { flex-basis: 60px; width: 60px; height: 54px; }
    .product-purchase-panel { padding: 20px 16px; border-radius: 13px; }
    .product-purchase-panel h1 { font-size: 38px; }
    .product-detail-highlights { grid-template-columns: 1fr 1fr; gap: 7px; }
    .product-detail-highlight { grid-template-columns: 32px minmax(0,1fr); gap: 7px; padding: 9px; }
    .product-detail-highlight__icon { width: 32px; height: 32px; }
    .product-detail-highlight strong { font-size: 13px; }
    .product-price-box > strong { font-size: 27px; }
    .vehicle-gift-offer { grid-template-columns: 38px minmax(0,1fr); padding: 11px; }
    .vehicle-gift-offer__icon { width: 38px; height: 38px; }
    .vehicle-gift-offer__button { grid-column: 1 / -1; width: 100%; min-height: 42px; }
    .vehicle-gift-offer__content em { white-space: normal; }
    .option-list--cards, .buy-actions--detail { grid-template-columns: 1fr; }
    .product-policy-grid { grid-template-columns: 1fr; margin-top: 18px; }
    .product-detail-tabs { margin-top: 24px; padding: 5px; }
    .product-detail-tabs a { min-width: 0; flex: 1; min-height: 40px; padding: 8px 10px; font-size: 13px; }
    .product-media-showcase { margin-top: 26px; padding: 20px 14px; border-radius: 13px; }
    .product-media-showcase__head { display: block; margin-bottom: 16px; }
    .product-media-showcase__head h2 { font-size: 27px; }
    .product-media-showcase__head > p { margin-top: 9px; text-align: left; }
    .product-media-showcase__grid { grid-template-columns: 1fr; gap: 10px; }
    .product-media-card__label { left: 14px; right: 14px; bottom: 12px; }
    .product-media-play, .product-media-album-icon { width: 52px; height: 52px; }
    .product-content-grid { margin-top: 28px; }
    .product-description--detail, .product-video--standalone { padding: 20px 16px; border-radius: 13px; }
    .product-spec-card { padding: 44px 0 52px; }
    .product-spec-card__head { margin-bottom: 28px; }
    .product-spec-card__head h2 { font-size: 38px; }
    .product-spec-card .product-spec-group { padding: 22px 18px; border-radius: 14px; }
    .product-spec-card .product-spec-group h3 { font-size: 18px; }
    .product-description__content { padding-top: 20px; font-size: 16px; line-height: 1.72; }
    .product-description__content figure, .post-detail-article figure { margin: 22px auto; }
    .product-description__content figcaption, .post-detail-article figcaption { margin-top: 8px; padding: 0 4px; font-size: 13px; line-height: 1.55; }
    .product-vehicle-categories__list { grid-template-columns: 1fr 1fr; }
    .product-description__head h2, .product-video h2 { font-size: 24px; }
    .product-lightbox { grid-template-columns: 42px minmax(0,1fr) 42px; gap: 4px; padding: 12px 6px; }
    .product-lightbox__nav { width: 40px; height: 40px; }
    .product-lightbox__figure { height: 78vh; height: 78dvh; max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); }
    .product-real-album { grid-template-columns: 40px minmax(0,1fr) 40px; gap: 4px; padding: 10px 4px; }
    .product-real-album__nav { width: 38px; height: 38px; }
    .product-real-album__figure { height: calc(100vh - 20px); height: calc(100dvh - 20px); max-height: calc(100vh - 20px); max-height: calc(100dvh - 20px); grid-template-rows: minmax(0,1fr) auto 62px; }
    .product-real-album__thumbs button { flex-basis: 62px; height: 54px; }
    .product-reviews, .related-products, .recently-viewed-products { margin-top: 48px; }
    .product-reviews > .section-heading, .related-products > .section-heading, .recently-viewed-products > .section-heading { align-items: start; margin-bottom: 16px; }
    .product-reviews > .section-heading h2, .related-products > .section-heading h2, .recently-viewed-products > .section-heading h2 { font-size: 29px; }
    .review-form, .review-approved { padding: 20px 16px; border-radius: 13px; }
    .review-section-actions { width: 100%; justify-content: space-between; flex-wrap: wrap; }
    .review-section-toggle { flex: 1 0 150px; }
    .review-form__grid { grid-template-columns: 1fr; }
    .review-rating-picker__choice { align-items: flex-start; flex-direction: column; gap: 10px; }
    .review-rating-picker__stars .review-rating-picker__star { width: 40px; height: 40px; }
    .review-submit { width: 100%; justify-self: stretch; justify-content: center; }
    .review-summary { grid-template-columns: 90px minmax(0,1fr); gap: 14px; }
    .review-summary__score strong { font-size: 39px; }
    .related-product-list { grid-template-columns: 1fr; }
    .related-product-card__image { height: 235px; }
    .related-product-card h3 { min-height: 0; }
    .product-spec-modal__panel { width: calc(100% - 16px); max-height: calc(100vh - 16px); margin: 8px auto; }
    .product-spec-modal__body { max-height: calc(100vh - 118px); padding: 18px; }
    .product-spec-card .spec-table--detail > div { grid-template-columns: minmax(0,1fr) minmax(88px,.85fr); gap: 12px; padding: 14px 0; font-size: 14px; }
    .product-spec-modal .spec-table--detail > div { grid-template-columns: minmax(0,1fr) minmax(90px,.9fr); }
}
