/*
 * VivahLok theme — loaded after aiz-core.css on frontend pages.
 * Maroon + gold palette; primary colours also come from the admin
 * appearance settings via --primary / --hov-primary.
 */
:root {
    --vl-hdr-m: 64px; /* phone header: one row (logo, controls, menu toggle) */
    --vl-maroon: #c8186a;
    --vl-maroon-dark: #db1f74;
    --vl-maroon-deep: #db1f74;
    --vl-rose: #e0457f;
    --vl-gold: #fc3890;
    --vl-gold-dark: #c8186a;
    --vl-gold-soft: #fff1f7;
    --vl-cream: #fff7fb;
    --vl-ink: #db1f74;
    --vl-muted: #5f6380;
    --vl-line: #fff1f7;
    --vl-wine: #db1f74;
    --vl-wine-deep: #db1f74;
    --vl-header: #db1f74;
    --vl-sand: #fff7fb;
    --vl-sand-deep: #fff1f7;
    --vl-radius: 14px;
    --vl-shadow: 0 10px 30px rgba(4, 28, 64, .08);
    --vl-shadow-lg: 0 24px 60px rgba(4, 28, 64, .18);
    --vl-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
}

body { color: var(--vl-muted); }
h1, h2, h3, .vl-serif { font-family: var(--vl-serif); color: var(--vl-ink); }
/* Headings on maroon bands (white text) stay light; ones with their own colour class keep it */
:where(.text-white, .bg-primary-grad, .vl-help-hero) h1,
:where(.text-white, .bg-primary-grad, .vl-help-hero) h2,
:where(.text-white, .bg-primary-grad, .vl-help-hero) h3 { color: inherit; }
a { color: var(--vl-maroon); }
a:hover { color: var(--vl-maroon-dark); }

/* ---------- Buttons ---------- */
.btn-vl,
.btn-primary,
.bg-primary-grad {
    background: linear-gradient(135deg, var(--vl-maroon) 0%, var(--vl-rose) 100%) !important;
    border-color: transparent !important;
    color: #fff !important;
}
.btn-vl:hover, .btn-primary:hover { filter: brightness(1.08); box-shadow: 0 8px 20px rgba(200, 24, 106, .28); }
.btn-vl { border-radius: 999px; font-weight: 600; padding: .7rem 1.6rem; letter-spacing: .2px; }
.btn-vl-gold {
    background: var(--vl-gold); color: var(--vl-maroon-deep) !important; border-radius: 999px;
    font-weight: 600; padding: .6rem 1.4rem; border: 0;
}
.btn-vl-gold:hover { background: var(--vl-gold-dark); color: #fff !important; }
.btn-vl-outline {
    border: 1.5px solid var(--vl-maroon); color: var(--vl-maroon) !important; border-radius: 999px;
    font-weight: 600; padding: .55rem 1.4rem; background: transparent;
}
.btn-vl-outline:hover { background: var(--vl-maroon); color: #fff !important; }
.text-primary-grad {
    background: linear-gradient(135deg, var(--vl-maroon), var(--vl-rose)) !important;
    -webkit-background-clip: text !important; -webkit-text-fill-color: transparent !important;
}
.text-gold { color: var(--vl-gold) !important; }
.text-maroon { color: var(--vl-maroon) !important; }
.bg-cream { background: var(--vl-cream) !important; }
.bg-maroon-deep { background: var(--vl-maroon-deep) !important; }

/* ---------- Header ---------- */
.vl-header { background: var(--vl-header); box-shadow: 0 6px 24px rgba(4, 28, 64, .25); }
.vl-header .logo img { height: 44px; width: auto; }
@media (min-width: 992px) { .vl-header-row { height: 76px; } }
.vl-nav { list-style: none; margin: 0 auto; padding: 0 1rem; display: flex; align-items: center; gap: .15rem; }
.vl-nav > li > a {
    display: block; padding: 1.6rem .85rem; color: rgba(255, 255, 255, .86); font-weight: 500; font-size: 14.5px;
    position: relative; white-space: nowrap;
}
.vl-nav > li > a::after {
    content: ''; position: absolute; left: .85rem; right: .85rem; bottom: 1.15rem; height: 2px;
    background: var(--vl-gold); transform: scaleX(0); transition: transform .2s ease;
}
.vl-nav > li > a:hover::after, .vl-nav > li.active > a::after { transform: scaleX(1); }
.vl-nav > li > a:hover, .vl-nav > li.active > a { color: #fff; }
.vl-nav > li.active > a { color: var(--vl-gold); }
.vl-more-menu { min-width: 210px; padding: .4rem; }
.vl-more-menu .dropdown-item { display: flex; align-items: center; gap: .6rem; padding: .55rem .8rem; border-radius: 8px; color: var(--vl-ink); font-size: 14px; }
.vl-more-menu .dropdown-item i { color: var(--vl-gold-dark); font-size: 18px; }
.vl-more-menu .dropdown-item:hover { background: var(--vl-gold-soft); color: var(--vl-maroon); }
.vl-header-actions { gap: 1.1rem; }
.vl-header-login { color: rgba(255, 255, 255, .9); font-weight: 500; font-size: 14.5px; }
.vl-header-login:hover { color: var(--vl-gold); }
.vl-header-icon { position: relative; color: rgba(255, 255, 255, .9); font-size: 21px; display: inline-flex; padding: 4px; }
.vl-header-icon:hover { color: var(--vl-gold); }
.vl-header-icon .badge-status { top: 4px; right: 3px; }
.vl-header-user { display: inline-flex; align-items: center; gap: .5rem; color: #fff; font-weight: 500; font-size: 14px; }
.vl-header-user:hover { color: var(--vl-gold); }
.vl-header-user img { border: 2px solid var(--vl-gold); }
.vl-header .vl-lang-header > a, .vl-header .vl-lang-mobile > a { color: rgba(255, 255, 255, .9) !important; opacity: 1; font-size: 14px; }
.vl-lang-header > a:hover, .vl-header .vl-lang-mobile > a:hover { color: var(--vl-gold); }

/* Rectangular buttons from the redesign (header, hero) */
.vl-btn-gold { background: var(--vl-gold); color: var(--vl-maroon-deep) !important; border: 0; border-radius: 6px; font-weight: 600; padding: .6rem 1.25rem; font-size: 14px; }
.vl-btn-gold:hover { background: var(--vl-gold-dark); color: #fff !important; }
.vl-btn-wine { background: var(--vl-maroon); color: #fff !important; border: 1px solid var(--vl-maroon); border-radius: 6px; font-weight: 600; padding: .85rem 1.9rem; }
.vl-btn-wine:hover { background: var(--vl-maroon-dark); border-color: var(--vl-maroon-dark); box-shadow: 0 10px 24px rgba(0, 0, 0, .3); }
.vl-btn-ghost { background: rgba(0, 0, 0, .15); color: #fff !important; border: 1px solid rgba(255, 255, 255, .75); border-radius: 6px; font-weight: 600; padding: .85rem 1.9rem; }
.vl-btn-ghost:hover { background: #fff; color: var(--vl-maroon-deep) !important; }
.vl-header .dropdown-menu { border: 0; box-shadow: var(--vl-shadow-lg); border-radius: var(--vl-radius); }
.vl-browse-menu { min-width: 520px; padding: 1.25rem; }
.vl-browse-menu h6 { font-size: 12px; text-transform: uppercase; letter-spacing: 1px; color: var(--vl-gold-dark); }
.vl-browse-menu a { display: block; padding: .2rem 0; color: var(--vl-ink); font-size: 14px; }
.vl-browse-menu a:hover { color: var(--vl-maroon); }
.vl-mobile-nav { overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; }
.vl-mobile-nav { border-color: rgba(255, 255, 255, .12) !important; }
.vl-mobile-nav a { display: inline-block; padding: .65rem .85rem; color: rgba(255, 255, 255, .82); font-weight: 500; font-size: 14px; }
.vl-mobile-nav a.active { color: var(--vl-gold); box-shadow: inset 0 -2px 0 var(--vl-gold); }
/* Member app bar: logo | divider | daily sections | search, language, alerts, avatar */
.vl-header-app { background: var(--vl-wine-deep); }
.vl-app-divider { width: 1px; height: 30px; margin: 0 1.1rem 0 1.25rem; background: rgba(255, 255, 255, .22); }
.vl-app-nav { padding: 0; margin: 0; }
.vl-app-nav > li > a { padding-left: .75rem; padding-right: .75rem; font-size: 14px; }
.vl-app-nav > li > a::after { left: .75rem; right: .75rem; }
.vl-nav-dot { position: absolute; top: 1.35rem; right: .3rem; width: 7px; height: 7px; border-radius: 50%; background: var(--vl-gold); }
.vl-lang-compact > a span { display: none; }
.vl-account-menu { min-width: 240px; }
.vl-account-head { padding: .6rem .8rem .7rem; margin-bottom: .3rem; border-bottom: 1px solid var(--vl-line); line-height: 1.35; }
.vl-account-head strong { display: block; color: var(--vl-ink); font-size: 14px; }
.vl-account-head span, .vl-account-head a { font-size: 12px; color: var(--vl-muted); }
@media (min-width: 992px) and (max-width: 1199.98px) {
    .vl-app-nav > li > a { padding-left: .5rem; padding-right: .5rem; font-size: 13.5px; }
    .vl-app-nav > li > a::after { left: .5rem; right: .5rem; }
    .vl-app-divider { margin: 0 .6rem 0 .8rem; }
    .vl-header-app .vl-header-actions { gap: .75rem; }
}
.vl-app-mobile-nav a { display: inline-flex; align-items: center; gap: .35rem; }
.vl-app-mobile-nav a i { font-size: 17px; }

/* ---------- Hero ---------- */
.vl-hero { position: relative; min-height: 640px; display: flex; align-items: center; overflow: hidden; background: var(--vl-maroon-deep); }
.vl-hero-bg, .vl-hero-bg .aiz-carousel, .vl-hero-bg .slick-list, .vl-hero-bg .slick-track { position: absolute; inset: 0; height: 100%; }
.vl-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.vl-hero::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(100deg, rgba(4, 28, 64, .92) 0%, rgba(4, 28, 64, .72) 45%, rgba(4, 28, 64, .25) 100%);
}
.vl-hero-pattern {
    background-image: radial-gradient(rgba(252, 56, 144, .18) 1px, transparent 1px);
    background-size: 22px 22px;
}
.vl-hero-inner { position: relative; z-index: 2; width: 100%; padding: 8rem 0 5rem; }
.vl-hero h1 { color: #fff; font-size: 3rem; line-height: 1.15; font-weight: 700; }
.vl-hero h1 span { color: var(--vl-gold); }
.vl-hero .lead { color: rgba(255, 255, 255, .85); font-size: 1.15rem; max-width: 560px; }
.vl-eyebrow {
    display: inline-flex; align-items: center; gap: .5rem; color: var(--vl-gold); font-weight: 600;
    text-transform: uppercase; letter-spacing: 2px; font-size: 12px;
}
.vl-eyebrow::before { content: ''; width: 28px; height: 1.5px; background: currentColor; }

.vl-search {
    background: #fff; border-radius: 18px; box-shadow: var(--vl-shadow-lg); padding: 1.25rem; margin-top: 2.25rem;
}
.vl-search label { font-size: 12px; font-weight: 600; color: var(--vl-muted); text-transform: uppercase; letter-spacing: .6px; margin-bottom: .35rem; }
.vl-search .form-control, .vl-search .bootstrap-select > .dropdown-toggle {
    height: 48px; border-radius: 10px; border: 1px solid var(--vl-line); background: var(--vl-cream); color: var(--vl-ink);
}
.vl-search .form-control:focus { border-color: var(--vl-gold); box-shadow: 0 0 0 3px rgba(252, 56, 144, .2); }
.vl-search .vl-age { display: flex; align-items: center; gap: .4rem; }
.vl-search .vl-age span { color: var(--vl-muted); font-size: 13px; }
.vl-search .btn-vl { height: 48px; width: 100%; }
/* One row on desktop, two columns on tablets, stacked on phones */
.vl-search-grid { display: flex; align-items: flex-end; gap: .85rem; }
.vl-search-field { flex: 1 1 0; min-width: 0; }
.vl-search-field:has(.vl-age) { flex-grow: 1.35; }
.vl-search-submit { flex: 0 0 150px; }
@media (max-width: 991.98px) {
    .vl-search-grid { flex-wrap: wrap; }
    .vl-search-field { flex: 1 1 calc(50% - .85rem); }
    .vl-search-submit { flex: 1 1 100%; }
}
@media (max-width: 575.98px) {
    .vl-search-field { flex-basis: 100%; }
}
.vl-hero-trust { color: rgba(255, 255, 255, .8); font-size: 14px; margin-top: 1.25rem; }
.vl-hero-trust i { color: var(--vl-gold); }

/* Cinematic hero: photo/video background, dark overlay, value headline, trust bar */
.vl-hero-cinematic { min-height: 720px; align-items: stretch; background: radial-gradient(ellipse at 75% 30%, #db1f74 0%, var(--vl-wine) 45%, #041c40 100%); }
.vl-hero-cinematic::after { background: linear-gradient(90deg, rgba(4, 28, 64, .88) 0%, rgba(4, 28, 64, .62) 42%, rgba(4, 28, 64, .12) 75%), linear-gradient(0deg, rgba(4, 28, 64, .75) 0%, transparent 38%); }
.vl-hero-cinematic:not(.has-media)::after { background: linear-gradient(0deg, rgba(4, 28, 64, .5) 0%, transparent 40%); }
.vl-hero-cinematic .vl-hero-poster { position: absolute; inset: 0; animation: vlKenBurns 24s ease-in-out infinite alternate; }
.vl-hero-cinematic.has-media { background: #041c40; }
/* Desktop: the couple sits on the right and fades into the dark side where the headline is */
@media (min-width: 992px) {
    .vl-hero-cinematic .vl-hero-poster, .vl-hero-cinematic .vl-hero-video { object-position: 70% 20%; }
    .vl-hero-cinematic.has-media::after { background: linear-gradient(90deg, rgba(4, 28, 64, .92) 0%, rgba(4, 28, 64, .7) 30%, rgba(4, 28, 64, .15) 55%, rgba(4, 28, 64, 0) 70%), linear-gradient(0deg, rgba(4, 28, 64, .85) 0%, rgba(4, 28, 64, 0) 32%); }
}
.vl-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.2s ease; }
.vl-hero-video.is-ready { opacity: 1; }
@keyframes vlKenBurns { from { transform: scale(1); } to { transform: scale(1.08); } }
.vl-hero-cinematic .vl-hero-inner { display: flex; flex-direction: column; justify-content: center; padding: 9.5rem 0 2rem; }
.vl-hero-cinematic .vl-hero-inner > .container { display: flex; flex-direction: column; flex: 1; }
.vl-hero-cinematic .vl-hero-inner > .container > .row { flex: 1; align-items: center; }
.vl-hero-cinematic h1 { font-size: 3.2rem; font-weight: 500; line-height: 1.16; letter-spacing: -.4px; max-width: 9.6em; color: #fff7fb; }
.vl-hero-cinematic .lead { color: rgba(255, 255, 255, .8); font-size: 1.08rem; line-height: 1.65; max-width: 30em; }
.vl-hero-ctas { gap: .85rem; margin-top: .5rem; }
/* Glass trust panel: large gold figures, small warm-white labels, thin separators */
.vl-hero-trustbar {
    display: flex; align-items: center; margin-top: 3.25rem; padding: 1.25rem 1.25rem; border-radius: 12px;
    background: rgba(4, 28, 64, .5); border: 1px solid rgba(252, 56, 144, .3);
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.vl-hero-trustbar .item { flex: 1; text-align: center; padding: .15rem 1.25rem; color: rgba(255, 255, 255, .78); font-size: 13px; line-height: 1.45; }
.vl-hero-trustbar .item + .item { border-left: 1px solid rgba(255, 255, 255, .14); }
.vl-hero-trustbar .lbl-short { display: none; }
.vl-hero-trustbar strong { display: block; font-family: var(--vl-serif); color: var(--vl-gold); font-size: 2rem; font-weight: 500; line-height: 1.15; margin-bottom: .25rem; letter-spacing: .2px; }
.vl-hero-sound { flex: 0 0 auto; display: flex; align-items: center; gap: .9rem; padding-left: 1.25rem; border-left: 1px solid rgba(255, 255, 255, .14); color: rgba(255, 255, 255, .78); font-size: 12.5px; line-height: 1.35; text-align: center; max-width: 230px; }
.vl-hero-sound[hidden] { display: none; }
.vl-hero-mute {
    flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .35);
    background: transparent; color: #fff; font-size: 20px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
}
.vl-hero-mute:hover { background: rgba(255, 255, 255, .12); }
/* Visible keyboard focus on the dark hero and header */
.vl-hero-cinematic a:focus-visible, .vl-hero-cinematic button:focus-visible, .vl-header a:focus-visible, .vl-header button:focus-visible { outline: 2px solid var(--vl-gold); outline-offset: 3px; box-shadow: none; }
.vl-browse-cta { display: flex !important; align-items: center; gap: .5rem; margin-bottom: 1rem; padding: .6rem .8rem !important; border-radius: 8px; background: var(--vl-gold-soft); color: var(--vl-maroon) !important; font-weight: 600; }
@media (prefers-reduced-motion: reduce) { .vl-hero-cinematic .vl-hero-poster { animation: none; } }

/* Quick search band under the hero */
.vl-search-band { background: var(--vl-sand); padding: 3.5rem 0 3rem; }
.vl-search-head h2 { font-size: 2.1rem; font-weight: 600; color: var(--vl-maroon-deep); margin-bottom: .4rem; }
.vl-search-head p { color: var(--vl-muted); }
.vl-search-band .vl-search { margin-top: 1.5rem; border-radius: 12px; box-shadow: 0 14px 40px rgba(4, 28, 64, .1); }
.vl-search-band .vl-search .btn-vl { border-radius: 8px; background: var(--vl-maroon) !important; }
/* "New here? / Already a member?" as two tappable cards */
.vl-search-paths { display: flex; gap: .85rem; margin-top: 1.25rem; }
.vl-path {
    flex: 0 1 330px; display: flex; align-items: center; gap: .85rem; min-height: 64px; padding: .7rem 1rem;
    background: #fff; border: 1px solid var(--vl-line); border-radius: 12px; color: var(--vl-ink);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.vl-path:hover, .vl-path:focus-visible { color: var(--vl-ink); border-color: var(--vl-gold); box-shadow: 0 8px 22px rgba(4, 28, 64, .08); transform: translateY(-1px); }
.vl-path:focus-visible { outline: 2px solid var(--vl-gold); outline-offset: 2px; }
.vl-path .ico { flex: 0 0 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--vl-gold-soft); color: var(--vl-maroon); font-size: 20px; }
.vl-path .txt { flex: 1; min-width: 0; line-height: 1.3; }
.vl-path strong { display: block; font-size: 14.5px; color: var(--vl-maroon-deep); }
.vl-path small { display: block; font-size: 13px; color: var(--vl-muted); }
.vl-path .go { font-size: 18px; color: var(--vl-gold-dark); transition: transform .2s ease; }
.vl-path:hover .go { transform: translateX(3px); }
.vl-path-new { border-color: rgba(252, 56, 144, .55); }
.vl-path-new .ico { background: var(--vl-maroon); color: #fff; }

/* Trust cards + how it works */
.vl-trust { background: var(--vl-sand); padding-top: 1rem; }
.vl-heading-left { margin-bottom: 2.25rem; }
.vl-heading-left h2 { font-size: 2.4rem; font-weight: 600; color: var(--vl-maroon-deep); margin-bottom: .5rem; }
.vl-heading-left p { font-size: 1.05rem; color: var(--vl-ink); opacity: .8; margin-bottom: 1rem; }
.vl-heading-left::after { content: ''; display: block; width: 180px; height: 1.5px; background: linear-gradient(90deg, var(--vl-gold), transparent); }
.vl-trust-card {
    height: 100%; min-height: 230px; padding: 1.6rem 1.4rem; border-radius: 10px; color: rgba(255, 255, 255, .88);
    background: linear-gradient(160deg, #db1f74 0%, var(--vl-wine) 100%); box-shadow: 0 12px 30px rgba(4, 28, 64, .22);
    transition: transform .2s ease;
}
.vl-trust-card:hover { transform: translateY(-4px); }
.vl-trust-card h3 { color: var(--vl-gold); font-size: 1.3rem; font-weight: 600; margin-bottom: 1rem; line-height: 1.25; }
.vl-trust-card p { margin: 0; font-size: 14px; line-height: 1.75; }
.vl-trust-photo { width: 100%; height: 100%; min-height: 230px; object-fit: cover; border-radius: 10px; }
.vl-hiw {
    display: flex; gap: 2rem; margin-top: 1.5rem; padding: 2.25rem 2rem; border-radius: 14px;
    background: var(--vl-sand-deep); border: 1px solid rgba(252, 56, 144, .25);
}
.vl-hiw-intro { flex: 0 0 200px; }
.vl-hiw-intro h2 { font-size: 1.6rem; font-weight: 500; color: var(--vl-maroon-deep); margin-bottom: .9rem; }
.vl-hiw-intro p { font-size: 14px; color: var(--vl-ink); opacity: .8; line-height: 1.7; }
.vl-hiw-steps { flex: 1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; list-style: none; margin: 0; padding: 0; }
.vl-hiw-steps li { position: relative; }
.vl-hiw-steps .num { display: flex; align-items: center; gap: .9rem; font-family: var(--vl-serif); font-size: 2.6rem; color: var(--vl-gold-dark); line-height: 1; margin-bottom: .9rem; }
.vl-hiw-steps li:not(:last-child) .num::after { content: ''; flex: 1; height: 1.5px; background: var(--vl-gold); opacity: .7; margin-right: -.75rem; }
.vl-hiw-steps h3 { font-family: inherit; font-size: 1.05rem; font-weight: 500; color: var(--vl-maroon-deep); margin-bottom: .45rem; }
.vl-hiw-steps p { font-size: 13.5px; line-height: 1.65; color: var(--vl-muted); }

/* ---------- Sections ---------- */
.vl-section { padding: 5rem 0; }
.vl-section-sm { padding: 3.5rem 0; }
.vl-section-title { text-align: center; max-width: 720px; margin: 0 auto 3rem; }
.vl-section-title h2 { font-size: 2.25rem; font-weight: 700; margin-bottom: .75rem; }
.vl-section-title p { font-size: 1.05rem; color: var(--vl-muted); margin: 0; }
.vl-ornament { display: flex; align-items: center; justify-content: center; gap: .6rem; color: var(--vl-gold); margin-bottom: .75rem; }
.vl-ornament::before, .vl-ornament::after { content: ''; width: 40px; height: 1.5px; background: currentColor; opacity: .7; }
.vl-section-dark .vl-section-title h2 { color: #fff; }
.vl-section-dark .vl-section-title p { color: rgba(255, 255, 255, .7); }

/* Stats strip */
.vl-stats { background: var(--vl-cream); border-bottom: 1px solid var(--vl-line); }
.vl-stat { text-align: center; padding: 2rem 1rem; }
.vl-stat .num { font-family: var(--vl-serif); font-size: 2.1rem; font-weight: 700; color: var(--vl-maroon); line-height: 1.1; }
.vl-stat .label { font-size: 14px; color: var(--vl-muted); margin-top: .35rem; }
.vl-stat i { font-size: 30px; color: var(--vl-gold); margin-bottom: .5rem; display: block; }

/* Feature cards */
.vl-feature {
    background: #fff; border: 1px solid var(--vl-line); border-radius: var(--vl-radius); padding: 2rem 1.75rem;
    height: 100%; transition: transform .2s ease, box-shadow .2s ease;
}
.vl-feature:hover { transform: translateY(-4px); box-shadow: var(--vl-shadow); }
.vl-feature .icon {
    width: 64px; height: 64px; border-radius: 50%; background: var(--vl-gold-soft); color: var(--vl-maroon);
    display: flex; align-items: center; justify-content: center; font-size: 30px; margin-bottom: 1.25rem;
}
.vl-feature h3 { font-size: 1.2rem; font-weight: 700; margin-bottom: .6rem; }
.vl-feature p { margin: 0; font-size: 15px; line-height: 1.7; }

/* How it works */
.vl-step { text-align: center; position: relative; padding: 0 1rem; }
.vl-step .badge-num {
    width: 36px; height: 36px; border-radius: 50%; background: var(--vl-maroon); color: #fff; font-weight: 700;
    display: inline-flex; align-items: center; justify-content: center; margin-bottom: 1rem; box-shadow: 0 0 0 6px var(--vl-gold-soft);
}
.vl-step img { height: 72px; width: auto; margin-bottom: 1rem; }
.vl-step h3 { font-size: 1.1rem; font-weight: 700; }

/* Member cards (wrap existing member_box_1) */
.vl-member-card > .rounded { border-radius: var(--vl-radius) !important; border-color: var(--vl-line) !important; transition: box-shadow .2s ease, transform .2s ease; }
.vl-member-card > .rounded:hover { box-shadow: var(--vl-shadow); transform: translateY(-3px); }
.vl-member-card .h-350px { height: 300px !important; }

/* Happy stories */
.vl-story { border-radius: var(--vl-radius); overflow: hidden; background: #fff; box-shadow: var(--vl-shadow); height: 100%; }
.vl-story img { width: 100%; height: 260px; object-fit: cover; }
.vl-story .body { padding: 1.25rem 1.4rem 1.5rem; }
.vl-story .names { font-family: var(--vl-serif); color: var(--vl-maroon); font-size: 1.15rem; font-weight: 700; }

/* Packages */
.vl-package { border: 1px solid var(--vl-line); border-radius: var(--vl-radius); background: #fff; height: 100%; transition: box-shadow .2s ease; }
.vl-package:hover { box-shadow: var(--vl-shadow); }
.vl-package .price { font-family: var(--vl-serif); font-size: 2.4rem; font-weight: 700; color: var(--vl-maroon); }

/* FAQ */
.vl-faq .card { border: 1px solid var(--vl-line); border-radius: 12px !important; margin-bottom: .75rem; overflow: hidden; }
.vl-faq .card-header { background: #fff; border: 0; padding: 0; }
.vl-faq .card-header button {
    width: 100%; text-align: left; padding: 1.1rem 1.25rem; background: none; border: 0; color: var(--vl-ink);
    font-weight: 600; display: flex; justify-content: space-between; align-items: center; gap: 1rem;
}
.vl-faq .card-header button:focus { outline: 2px solid var(--vl-gold); outline-offset: -2px; }
.vl-faq .card-header button i { color: var(--vl-gold-dark); transition: transform .2s ease; }
.vl-faq .card-header button[aria-expanded="true"] i { transform: rotate(45deg); }
.vl-faq .card-body { padding: 0 1.25rem 1.2rem; line-height: 1.75; }

/* Browse grid */
.vl-browse .nav-tabs { border: 0; justify-content: center; gap: .5rem; margin-bottom: 2rem; flex-wrap: wrap; }
.vl-browse .nav-tabs .nav-link {
    border: 1px solid var(--vl-line); border-radius: 999px; color: var(--vl-ink); font-weight: 500; padding: .5rem 1.2rem; background: #fff;
}
.vl-browse .nav-tabs .nav-link.active { background: var(--vl-maroon); color: #fff; border-color: var(--vl-maroon); }
.vl-browse-links { columns: 4 180px; column-gap: 2rem; list-style: none; padding: 0; margin: 0; }
.vl-browse-links li { break-inside: avoid; padding: .3rem 0; }
.vl-browse-links a { color: var(--vl-ink); font-size: 15px; }
.vl-browse-links a:hover { color: var(--vl-maroon); text-decoration: underline; }

/* CTA band */
.vl-cta { background: linear-gradient(120deg, var(--vl-maroon-dark), var(--vl-maroon) 55%, var(--vl-rose)); color: #fff; border-radius: 22px; padding: 3rem; position: relative; overflow: hidden; }
.vl-cta h2 { color: #fff; font-size: 2rem; }
.vl-cta p { color: rgba(255, 255, 255, .85); }

/* Landing pages */
.vl-page-hero { background: linear-gradient(120deg, var(--vl-maroon-deep), var(--vl-maroon)); color: #fff; padding: 4.5rem 0 3.5rem; }
.vl-page-hero h1 { color: #fff; font-size: 2.5rem; }
.vl-page-hero p { color: rgba(255, 255, 255, .8); }
.vl-breadcrumb { font-size: 13px; color: rgba(255, 255, 255, .7); }
.vl-breadcrumb a { color: var(--vl-gold); }
.vl-empty { border: 1.5px dashed var(--vl-line); border-radius: var(--vl-radius); padding: 3rem 1.5rem; text-align: center; background: var(--vl-cream); }
.vl-empty i { font-size: 48px; color: var(--vl-gold); }
.vl-chip { display: inline-block; border: 1px solid var(--vl-line); border-radius: 999px; padding: .35rem .9rem; margin: 0 .35rem .5rem 0; color: var(--vl-ink); font-size: 14px; background: #fff; }
.vl-chip:hover { border-color: var(--vl-maroon); color: var(--vl-maroon); }

/* ---------- Footer ---------- */
.aiz-footer.vl-footer { background: var(--vl-maroon-deep) !important; color: rgba(255, 255, 255, .72); }
.vl-footer h4 { color: var(--vl-gold) !important; font-family: 'Poppins', sans-serif; font-size: 13px; letter-spacing: 1.2px; text-transform: uppercase; font-weight: 600; margin-bottom: 1.1rem; }
.vl-footer a { color: rgba(255, 255, 255, .72); }
.vl-footer a:hover { color: #fff; }
.vl-footer ul li { margin-bottom: .55rem; }
.vl-footer .vl-footer-browse a { display: inline-block; margin: 0 .9rem .5rem 0; font-size: 13px; }
.vl-footer .vl-footer-bottom { border-top: 1px solid rgba(255, 255, 255, .12); }
.vl-footer .social a { background: rgba(255, 255, 255, .08); }

/* Space under the absolutely positioned header on inner pages */
.vl-page-offset { padding-top: 64px; }
@media (min-width: 992px) {
    .vl-page-offset { padding-top: 76px; }
    .vl-page-offset.vl-page-offset-member { padding-top: 76px; }
}

/* ---------- Responsive ---------- */
@media (max-width: 991.98px) {
    .vl-hero { min-height: 0; }
    .vl-hero-inner { padding: 6.5rem 0 3rem; }
    .vl-hero h1 { font-size: 2.2rem; }
    .vl-section { padding: 3.5rem 0; }
    .vl-section-title h2 { font-size: 1.75rem; }
    .vl-cta { padding: 2rem 1.5rem; }
    .vl-page-hero h1 { font-size: 1.9rem; }
    .vl-hero-cinematic { min-height: 0; }
    .vl-hero-cinematic .vl-hero-inner { padding: 8rem 0 1.5rem; }
    .vl-hero-cinematic h1 { font-size: 2.4rem; }
    .vl-hero-trustbar strong { font-size: 1.6rem; }
    .vl-hero-sound { display: none; }
    .vl-hero-cinematic::after, .vl-hero-cinematic.has-media::after { background: linear-gradient(0deg, rgba(4, 28, 64, .95) 0%, rgba(4, 28, 64, .75) 45%, rgba(4, 28, 64, .35) 100%); }
    .vl-hero-cinematic .vl-hero-poster { object-position: 50% 20%; }
    /* Phones/tablets: show the couple's faces at the top, text and buttons below them */
    .vl-hero-cinematic.has-media .vl-hero-poster { object-position: 50% 0; }
    .vl-hero-cinematic.has-media .vl-hero-inner { padding-top: calc(110px + min(70vw, 480px)); }
    .vl-hero-cinematic.has-media::after { background: linear-gradient(180deg, rgba(4, 28, 64, .35) 0, rgba(4, 28, 64, 0) 90px, rgba(4, 28, 64, 0) calc(40px + min(48vw, 330px)), rgba(4, 28, 64, .9) calc(110px + min(70vw, 480px)), rgba(4, 28, 64, .96) 100%); }
    .vl-hero-trustbar { padding: 1rem .5rem; margin-top: 2.25rem; }
    .vl-hero-trustbar .item { padding: .15rem .6rem; font-size: 12px; }
    .vl-hiw { flex-direction: column; padding: 1.75rem 1.5rem; }
    .vl-hiw-intro { flex: none; }
    .vl-hiw-steps { grid-template-columns: repeat(2, 1fr); }
    .vl-hiw-steps .num::after { display: none; }
    .vl-heading-left h2, .vl-search-head h2 { font-size: 1.8rem; }
}
@media (max-width: 575.98px) {
    .vl-header .logo img { height: 36px; }
    .vl-mobile-auth .btn { padding: .35rem .8rem !important; font-size: 13px; white-space: nowrap; }
    .vl-hero-inner { padding-top: 7.5rem; }
    .vl-hero h1 { font-size: 1.85rem; }
    .vl-stat .num { font-size: 1.6rem; }
    .vl-browse-links { columns: 2; }
    /* Phones: the couple photo keeps its natural shape at the top (both faces always in view),
       then fades into dark behind the headline; buttons sit side by side; trust figures in one row */
    .vl-hero-cinematic.has-media { background: #041c40; }
    .vl-hero-cinematic.has-media .vl-hero-bg { top: var(--vl-hdr-m); bottom: auto; height: 150vw; }
    .vl-hero-cinematic.has-media .vl-hero-poster { object-position: 50% 0; animation: none; }
    .vl-hero-cinematic.has-media::after { background: linear-gradient(180deg, rgba(4, 28, 64, 0) 0, rgba(4, 28, 64, 0) calc(var(--vl-hdr-m) + 40vw), rgba(4, 28, 64, .88) calc(var(--vl-hdr-m) + 72vw), #041c40 calc(var(--vl-hdr-m) + 96vw)); }
    .vl-hero-cinematic.has-media .vl-hero-inner { padding: calc(var(--vl-hdr-m) + 66vw) 0 1.5rem; }
    .vl-hero-cinematic h1 { font-size: 1.85rem; line-height: 1.18; margin-bottom: .6rem !important; text-shadow: 0 2px 18px rgba(0, 0, 0, .45); }
    .vl-hero-cinematic .lead { font-size: .98rem; line-height: 1.55; margin-bottom: 1.15rem !important; }
    .vl-hero-ctas { flex-wrap: nowrap !important; gap: .6rem; margin-top: 0; }
    .vl-hero-ctas .btn { flex: 1 1 0; min-width: 0; padding: .8rem .5rem; font-size: 14px; white-space: nowrap; min-height: 48px; }
    .vl-hero-trustbar { margin-top: 1.4rem; padding: .75rem .25rem; }
    .vl-hero-trustbar .item { padding: 0 .35rem; font-size: 11.5px; line-height: 1.3; }
    .vl-hero-trustbar strong { font-size: 1.2rem; margin-bottom: .15rem; }
    .vl-hero-trustbar .lbl-long { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } /* still read by screen readers */
    .vl-hero-trustbar .lbl-short { display: block; }
    .vl-hiw-steps { grid-template-columns: 1fr; }
    .vl-trust-card { min-height: 0; }
    .vl-search-paths { flex-direction: column; gap: .6rem; }
    .vl-path { flex: none; }
}

/* Admin-managed custom pages (terms, privacy, about ...) */
.vl-page-content { line-height: 1.75; max-width: 900px; margin: 0 auto; }
.vl-page-content h3 { font-size: 1.3rem; font-weight: 700; margin: 1.75rem 0 .6rem; }
.vl-page-content ul { padding-left: 1.25rem; }
.vl-page-content li { margin-bottom: .35rem; }

/* Member dashboard: profile awaiting approval */
.vl-pending { border: 1px solid var(--vl-gold); background: var(--vl-cream); border-radius: var(--vl-radius); padding: 1.25rem 1.4rem; color: var(--vl-ink); }
.vl-pending-icon { width: 48px; height: 48px; flex: 0 0 48px; border-radius: 50%; background: var(--vl-gold-soft); color: var(--vl-maroon); display: flex; align-items: center; justify-content: center; font-size: 26px; }
.vl-pending-progress { height: 6px; background: var(--vl-line); border-radius: 999px; overflow: hidden; }
.vl-pending-progress span { display: block; height: 100%; background: linear-gradient(90deg, var(--vl-maroon), var(--vl-gold)); }
.vl-pending-step { display: flex; align-items: center; gap: .75rem; padding: .7rem 0; border-top: 1px dashed var(--vl-line); }
.vl-pending-step > i { font-size: 22px; color: var(--vl-muted); }
.vl-pending-step.is-done > i { color: #2e7d32; }
.vl-pending-step.is-done .fw-600 { text-decoration: line-through; opacity: .7; }

/* Homepage special-audience tiles (Second Marriage, NRI) */
.vl-special-tile { display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.25rem; background: #fff; border: 1px solid var(--vl-line); border-radius: var(--vl-radius); color: var(--vl-ink); height: 100%; transition: box-shadow .2s ease, transform .2s ease; }
.vl-special-tile:hover { color: var(--vl-ink); box-shadow: var(--vl-shadow); transform: translateY(-2px); }
.vl-special-tile .icon { width: 52px; height: 52px; flex: 0 0 52px; border-radius: 50%; background: var(--vl-gold-soft); color: var(--vl-maroon); display: flex; align-items: center; justify-content: center; font-size: 26px; }
.vl-special-tile strong { display: block; font-family: var(--vl-serif); font-size: 1.15rem; color: var(--vl-maroon); }
.vl-special-tile small { display: block; color: var(--vl-muted); font-size: 13px; line-height: 1.5; }
.vl-special-tile > .la-arrow-right { color: var(--vl-gold-dark); font-size: 20px; }

/* Incoming call prompt and profile extras */
.vl-incoming-call { position: fixed; right: 16px; bottom: 80px; z-index: 1080; width: min(360px, calc(100vw - 32px)); display: flex; align-items: center; gap: .75rem; padding: .85rem 1rem; background: var(--vl-maroon-deep); color: #fff; border-radius: 16px; box-shadow: var(--vl-shadow-lg); animation: vlRing 1.2s ease-in-out infinite alternate; }
.vl-incoming-call[hidden] { display: none; }
.vl-incoming-call img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; border: 2px solid var(--vl-gold); }
.vl-incoming-call .btn { width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; padding: 0; }
@keyframes vlRing { from { box-shadow: 0 0 0 0 rgba(252, 56, 144,.5); } to { box-shadow: 0 0 0 12px rgba(252, 56, 144,0); } }
.vl-profile-extras { border: 1px solid var(--vl-line); border-radius: var(--vl-radius); padding: 1rem 1.25rem; background: var(--vl-cream); }

/* Online meetups */
.vl-meetup-card { border: 1px solid var(--vl-line); border-radius: var(--vl-radius); overflow: hidden; background: #fff; color: var(--vl-ink); transition: box-shadow .2s ease, transform .2s ease; }
.vl-meetup-card:hover { color: var(--vl-ink); box-shadow: var(--vl-shadow); transform: translateY(-3px); }
.vl-meetup-card img { height: 170px; object-fit: cover; }
.vl-meetup-banner { height: 170px; display: flex; align-items: center; justify-content: center; font-size: 56px; color: var(--vl-gold); background: linear-gradient(120deg, var(--vl-maroon-deep), var(--vl-maroon)); }
.vl-meetup-date { font-size: 13px; color: var(--vl-maroon); font-weight: 600; }
.vl-meetup-panel { border: 1px solid var(--vl-gold); background: var(--vl-cream); border-radius: var(--vl-radius); padding: 1.5rem; position: sticky; top: 120px; }

/* Language switcher */
.vl-lang > a { color: inherit; white-space: nowrap; }
.vl-lang-top > a { color: rgba(255, 255, 255, .85); }
.vl-lang-top > a:hover { color: var(--vl-gold); }
.vl-lang-mobile > a { color: var(--vl-ink); font-size: 13px; }
.vl-lang-mobile > a span { display: none; }
/* Menu: two-column grid; item colours set explicitly because the dark top bar makes links white */
.vl-lang-menu { width: 340px; max-width: calc(100vw - 24px); padding: .5rem; border: 0; border-radius: 14px; box-shadow: var(--vl-shadow-lg); background: #fff; }
.vl-lang-menu.show { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.vl-lang .vl-lang-menu .dropdown-item { display: flex; flex-direction: column; align-items: flex-start; padding: .45rem .75rem; border-radius: 8px; color: var(--vl-ink) !important; background: transparent; white-space: normal; line-height: 1.35; }
.vl-lang .vl-lang-menu .dropdown-item small { margin: 0 !important; font-size: 11px; color: var(--vl-muted); opacity: 1; }
.vl-lang .vl-lang-menu .dropdown-item:hover, .vl-lang .vl-lang-menu .dropdown-item:focus { background: var(--vl-gold-soft); color: var(--vl-maroon) !important; }
.vl-lang .vl-lang-menu .dropdown-item.active { background: var(--vl-maroon); color: #fff !important; }
.vl-lang .vl-lang-menu .dropdown-item.active small { color: rgba(255, 255, 255, .75); }

/* Small phones: keep logo, language and both auth buttons on one line in every language */
@media (max-width: 575.98px) {
    .vl-header .logo img { height: 30px; max-width: 130px; }
    .vl-mobile-auth { gap: 4px; min-width: 0; }
    .vl-mobile-auth .btn { padding: .3rem .6rem !important; font-size: 12px; white-space: nowrap; }
    .vl-mobile-auth .vl-login-btn { width: 34px; height: 30px; padding: 0 !important; display: inline-flex; align-items: center; justify-content: center; font-size: 16px; }
    .vl-mobile-auth .mr-1, .vl-mobile-auth .mr-2 { margin-right: 0 !important; }
}

/* Invite friends / share profile cards on the dashboard */
.vl-invite { border: 1px solid var(--vl-line); background: #fff; border-radius: var(--vl-radius); padding: 1.25rem 1.4rem; color: var(--vl-ink); }

/* Public profile card (/p/{code}) */
.vl-pc-page {
    padding: 2.5rem 0 4rem;
    background:
        radial-gradient(circle at 10% 15%, rgba(252, 56, 144, .14) 0, transparent 32%),
        radial-gradient(circle at 90% 85%, rgba(200, 24, 106, .08) 0, transparent 36%),
        var(--vl-cream);
}
.vl-pc-page [hidden] { display: none !important; }
.vl-pc-owner {
    max-width: 1000px; margin: 0 auto 1rem; display: flex; align-items: center; gap: .7rem; padding: .75rem 1.1rem; border-radius: 14px;
    background: var(--vl-gold-soft); border: 1px solid #fff1f7; color: var(--vl-ink); font-size: 13.5px;
}
.vl-pc-owner > i { font-size: 22px; color: var(--vl-gold-dark); }
.vl-pc-owner b { font-weight: 600; color: var(--vl-maroon); }
.vl-pc-owner small { display: block; font-size: 12.5px; color: var(--vl-muted); }
.vl-pc-owner a { margin-left: auto; font-weight: 600; white-space: nowrap; text-decoration: underline; }

.vl-pc {
    max-width: 1000px; margin: 0 auto; background: #fff; border-radius: 26px; overflow: hidden; box-shadow: var(--vl-shadow-lg);
    display: grid; grid-template-columns: minmax(0, 46%) minmax(0, 1fr);
}

/* Photo */
.vl-pc-media { position: relative; background: var(--vl-maroon-deep); }
.vl-pc-photo {
    display: block; width: 100%; height: 100%; min-height: 100%; padding: 0; border: 0; background: #041c40; cursor: zoom-in; position: relative;
}
.vl-pc-photo img { display: block; width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: center 25%; }
.vl-pc-media.has-photo .vl-pc-photo::after {
    content: ''; position: absolute; inset: auto 0 0 0; height: 30%; background: linear-gradient(transparent, rgba(4, 28, 64, .45)); pointer-events: none;
}
.vl-pc-zoom {
    position: absolute; right: 1rem; bottom: 1rem; z-index: 1; display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .85rem;
    border-radius: 999px; background: rgba(255, 255, 255, .92); color: var(--vl-ink); font-size: 12.5px; font-weight: 600;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .2); transition: transform .15s;
}
.vl-pc-photo:hover .vl-pc-zoom, .vl-pc-photo:focus-visible .vl-pc-zoom { transform: translateY(-2px); }
.vl-pc-photo:focus-visible { outline: 3px solid var(--vl-gold); outline-offset: -3px; }
.vl-pc-flag {
    position: absolute; left: 1rem; top: 1rem; z-index: 1; padding: .3rem .8rem; border-radius: 999px; background: var(--vl-gold); color: var(--vl-maroon-deep);
    font-size: 12px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; box-shadow: 0 4px 12px rgba(0, 0, 0, .2);
}
.vl-pc-flag.is-pending { top: auto; bottom: 1rem; text-transform: none; letter-spacing: 0; background: #fff; color: var(--vl-unk, #c8186a); }
.vl-pc-nophoto {
    width: 100%; height: 100%; min-height: 420px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.1rem;
    background:
        radial-gradient(circle at 20% 110%, rgba(252, 56, 144, .35) 0, transparent 50%),
        radial-gradient(circle at 85% -10%, rgba(255, 255, 255, .12) 0, transparent 45%),
        repeating-linear-gradient(45deg, rgba(255, 255, 255, .035) 0 12px, transparent 12px 24px),
        linear-gradient(150deg, var(--vl-wine) 0%, var(--vl-maroon) 60%, var(--vl-rose) 100%);
}
.vl-pc-monogram {
    width: 150px; height: 150px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--vl-serif);
    font-size: 70px; color: var(--vl-maroon); background: linear-gradient(160deg, #fff1f7 0%, var(--vl-gold-soft) 100%);
    box-shadow: 0 0 0 6px rgba(255, 255, 255, .25), 0 0 0 9px var(--vl-gold), 0 18px 40px rgba(0, 0, 0, .3);
}
.vl-pc-lock {
    display: inline-flex; align-items: center; gap: .35rem; font-size: 13px; color: #fff; background: rgba(0, 0, 0, .22);
    border: 1px solid rgba(255, 255, 255, .25); border-radius: 999px; padding: .3rem .85rem;
}

/* Details */
.vl-pc-body { padding: 2.2rem 2.2rem 1.6rem; display: flex; flex-direction: column; min-width: 0; }
.vl-pc-eyebrow { font-size: 11.5px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--vl-gold-dark); }
.vl-pc-name { font-family: var(--vl-serif); font-size: 2.4rem; color: var(--vl-ink); margin: .25rem 0 .8rem; line-height: 1.15; word-break: break-word; }
.vl-pc-quick { list-style: none; margin: 0 0 .8rem; padding: 0; display: flex; flex-wrap: wrap; gap: .45rem; }
.vl-pc-quick li {
    display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .8rem; border-radius: 999px; background: #fff; border: 1px solid var(--vl-line);
    color: var(--vl-ink); font-size: 13.5px; font-weight: 500;
}
.vl-pc-quick i { color: var(--vl-gold-dark); font-size: 16px; }
.vl-pc-serious { display: inline-flex; align-items: center; gap: .35rem; font-size: 13px; font-weight: 600; color: var(--vl-maroon); }
.vl-pc-serious i { color: var(--vl-rose); font-size: 16px; }
.vl-pc-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin-top: 1.3rem; }
.vl-pc-tile {
    display: flex; gap: .7rem; align-items: center; padding: .8rem .85rem; border-radius: 14px; background: var(--vl-cream); border: 1px solid #fff7fb; min-width: 0;
}
.vl-pc-tile-ico {
    width: 38px; height: 38px; flex: 0 0 38px; border-radius: 11px; background: #fff; color: var(--vl-maroon); display: inline-flex;
    align-items: center; justify-content: center; font-size: 20px; box-shadow: 0 2px 6px rgba(4, 28, 64, .06);
}
.vl-pc-tile-text { min-width: 0; }
.vl-pc-tile-text small { display: block; font-size: 11px; letter-spacing: .6px; text-transform: uppercase; color: var(--vl-muted); font-weight: 600; }
.vl-pc-tile-text b { display: block; color: var(--vl-ink); font-weight: 600; font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; }
.vl-pc-actions { margin-top: 1.5rem; }
.vl-pc-actions .btn { padding: .8rem 1.4rem; font-size: 15px; }
.vl-pc-login { text-align: center; margin: .7rem 0 0; font-size: 14px; }
.vl-pc-login a { font-weight: 600; }
.vl-pc-share {
    margin-top: 1.1rem; padding-top: 1.1rem; border-top: 1px dashed var(--vl-line); display: flex; align-items: center; justify-content: space-between;
    gap: .8rem; flex-wrap: wrap; font-size: 13.5px; color: var(--vl-muted);
}
.vl-pc-share > div { display: flex; gap: .5rem; }
.vl-pc-share-btn {
    display: inline-flex; align-items: center; gap: .35rem; border: 1px solid var(--vl-line); background: #fff; color: var(--vl-ink) !important;
    border-radius: 999px; padding: .45rem .95rem; font-size: 13.5px; font-weight: 600; transition: border-color .15s, background .15s;
}
.vl-pc-share-btn i { font-size: 18px; }
.vl-pc-share-btn:hover { border-color: var(--vl-maroon); }
.vl-pc-share-btn.is-wa i { color: var(--vl-maroon); }
.vl-pc-share-btn.is-wa:hover { border-color: var(--vl-maroon); background: var(--vl-sand-deep); }
.vl-pc-share-btn.is-done { border-color: var(--vl-gold-dark); color: var(--vl-maroon) !important; }
.vl-pc-foot { display: flex; gap: .5rem; align-items: flex-start; margin: auto 0 0; padding-top: 1.3rem; font-size: 12.5px; color: var(--vl-muted); }
.vl-pc-foot i { font-size: 17px; color: var(--vl-gold-dark); margin-top: 1px; }

/* Full-size photo */
.vl-pc-viewer {
    position: fixed; inset: 0; z-index: 2000; background: rgba(4, 28, 64, .92); display: flex; align-items: center; justify-content: center; padding: 3.5rem 1rem 1rem;
}
.vl-pc-viewer img { max-width: min(100%, 900px); max-height: 100%; object-fit: contain; border-radius: 12px; box-shadow: 0 20px 60px rgba(0, 0, 0, .5); }
.vl-pc-viewer-close {
    position: absolute; top: 1rem; right: 1rem; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .15);
    color: #fff; font-size: 22px; display: inline-flex; align-items: center; justify-content: center;
}
.vl-pc-viewer-close:hover { background: rgba(255, 255, 255, .28); }

@media (max-width: 991.98px) {
    .vl-pc { grid-template-columns: minmax(0, 1fr); max-width: 560px; }
    .vl-pc-owner { max-width: 560px; }
    .vl-pc-photo, .vl-pc-photo img { height: auto; }
    .vl-pc-nophoto { min-height: 0; height: auto; aspect-ratio: 4 / 3; }
    .vl-pc-body { padding: 1.5rem 1.5rem 1.3rem; }
}
@media (max-width: 575.98px) {
    .vl-pc-page { padding: 0 0 2.5rem; }
    .vl-pc-page > .container { padding: 0; }
    .vl-pc { border-radius: 0; box-shadow: none; }
    .vl-pc-owner { border-radius: 0; margin: 0; border-left: 0; border-right: 0; }
    .vl-pc-monogram { width: 120px; height: 120px; font-size: 56px; }
    .vl-pc-name { font-size: 2rem; }
    .vl-pc-body { padding: 1.3rem 16px 1.2rem; }
    .vl-pc-tiles { grid-template-columns: minmax(0, 1fr); }
    .vl-pc-share { justify-content: center; text-align: center; }
    /* Phones: photo never taller than most of the screen, details as one compact list */
    .vl-pc-photo img { max-height: 72vh; }
    .vl-pc-zoom { right: .75rem; bottom: .75rem; padding: .5rem .9rem; }
    .vl-pc-flag { left: .75rem; top: .75rem; }
    .vl-pc-name { margin-bottom: .6rem; }
    .vl-pc-quick { gap: .35rem; }
    .vl-pc-quick li { padding: .3rem .65rem; font-size: 13px; }
    .vl-pc-tiles { gap: 0; margin-top: 1.1rem; border: 1px solid #fff7fb; border-radius: 16px; background: var(--vl-cream); overflow: hidden; }
    .vl-pc-tile { border: 0; border-radius: 0; background: none; padding: .7rem .85rem; }
    .vl-pc-tile + .vl-pc-tile { border-top: 1px solid #fff7fb; }
    .vl-pc-tile-ico { width: 34px; height: 34px; flex-basis: 34px; font-size: 18px; }
    .vl-pc-actions { margin-top: 1.2rem; }
    .vl-pc-actions .btn { min-height: 48px; }
    .vl-pc-share > div { width: 100%; }
    .vl-pc-share-btn { flex: 1; justify-content: center; min-height: 44px; }
    .vl-pc-foot { padding-top: 1.1rem; }
}

/* Sticky action bar, phones and tablets only */
.vl-pc-sticky { display: none; }
@media (max-width: 1199.98px) {
    .vl-pc-sticky {
        display: flex; gap: .6rem; position: fixed; left: 0; right: 0; bottom: 0; z-index: 1020; padding: .6rem 16px;
        background: rgba(255, 255, 255, .97); border-top: 1px solid var(--vl-line); box-shadow: 0 -6px 18px rgba(4, 28, 64, .08);
        transform: translateY(120%); transition: transform .2s ease; visibility: hidden;
    }
    .vl-pc-sticky.is-on { transform: none; visibility: visible; }
    .vl-pc-sticky .btn { flex: 1; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: .5rem 1rem;
        font-size: 14.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .vl-pc-sticky-wa {
        flex: 0 0 46px; height: 46px; border-radius: 50%; border: 1px solid var(--vl-line); display: inline-flex; align-items: center; justify-content: center;
        color: var(--vl-maroon) !important; font-size: 24px; background: #fff;
    }
    .vl-pc-page { padding-bottom: 6rem; }
}
@media (prefers-reduced-motion: reduce) { .vl-pc-sticky { transition: none; } }

/* Matrimony landing pages: stats tiles and bars */
.vl-lstat { background: #fff; border: 1px solid var(--vl-line); border-radius: var(--vl-radius); padding: .9rem 1rem; text-align: center; }
.vl-lstat strong { display: block; font-size: 26px; color: var(--vl-maroon); line-height: 1.1; }
.vl-lstat span { text-transform: capitalize; font-size: 13px; color: var(--vl-ink); opacity: .75; }
.vl-bar { display: flex; align-items: center; gap: .6rem; font-size: 13px; margin-bottom: .4rem; color: var(--vl-ink); }
.vl-bar span { flex: 0 0 42%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vl-bar div { flex: 1; height: 8px; background: var(--vl-gold-soft); border-radius: 4px; overflow: hidden; }
.vl-bar i { display: block; height: 100%; background: var(--vl-maroon); border-radius: 4px; min-width: 4px; }
.vl-bar b { flex: 0 0 2.5rem; text-align: right; font-weight: 600; }

/* Marriage Guide hub and articles */
.vl-chip-active { background: var(--vl-maroon); border-color: var(--vl-maroon); color: #fff !important; }
.vl-article-card { display: block; height: 100%; background: #fff; border: 1px solid var(--vl-line); border-radius: var(--vl-radius); overflow: hidden; color: var(--vl-ink) !important; transition: box-shadow .2s, transform .2s; }
.vl-article-card:hover { box-shadow: var(--vl-shadow-lg); transform: translateY(-2px); }
.vl-article-card img { width: 100%; height: 180px; object-fit: cover; }
.vl-article-cover { height: 140px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--vl-gold-soft), #fff); color: var(--vl-gold-dark); font-size: 48px; }
.vl-article { font-size: 17px; line-height: 1.75; color: var(--vl-ink); }
.vl-article h2 { font-size: 1.45rem; font-weight: 700; margin: 2rem 0 .75rem; }
.vl-article h3 { font-size: 1.15rem; font-weight: 700; margin: 1.5rem 0 .5rem; }
.vl-article p, .vl-article ul, .vl-article ol { margin-bottom: 1rem; }
.vl-article li { margin-bottom: .35rem; }

/* Phones: slim cookie notice above the bottom bar so it never covers the hero buttons */
@media (max-width: 575.98px) {
    .aiz-cookie-alert { left: 8px !important; right: 8px !important; bottom: 66px !important; width: auto !important; max-width: none !important; }
    .aiz-cookie-alert > div { display: flex; align-items: center; gap: .75rem; padding: .6rem .75rem !important; }
    .aiz-cookie-alert > div > .text-white { margin: 0 !important; font-size: 12px; line-height: 1.4; }
    .aiz-cookie-alert .btn { flex: 0 0 auto; padding: .4rem .8rem; font-size: 12px; white-space: nowrap; }
}
/* Larger screens: one slim centred strip at the bottom instead of a box over the hero buttons;
   above the bottom app bar wherever that bar is shown (below 1200px) */
@media (min-width: 576px) {
    .aiz-cookie-alert { left: 50% !important; right: auto !important; transform: translateX(-50%); bottom: 74px !important; width: calc(100% - 32px) !important; max-width: 760px !important; }
    .aiz-cookie-alert > div { display: flex; align-items: center; gap: 1rem; padding: .6rem .6rem .6rem 1rem !important; }
    .aiz-cookie-alert > div > .text-white { margin: 0 !important; font-size: 13px; line-height: 1.45; }
    .aiz-cookie-alert .btn { flex: 0 0 auto; padding: .45rem 1rem; font-size: 13px; white-space: nowrap; }
}
@media (min-width: 1200px) {
    .aiz-cookie-alert { bottom: 16px !important; }
}
/* Swipeable section strip: fade the right edge so it is clear there is more to scroll */
@media (max-width: 991.98px) {
    .vl-mobile-nav .container { overflow-x: auto; white-space: nowrap; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, #041c40 85%, transparent); mask-image: linear-gradient(90deg, #041c40 85%, transparent); }
    .vl-mobile-nav .container::-webkit-scrollbar { display: none; }
    .vl-mobile-nav a { min-height: 44px; display: inline-flex; align-items: center; }
}

/* Right-to-left (Urdu): the text sits on the right, so mirror the hero photo to keep the couple
   clear of the headline, and darken the right side instead of the left */
@media (min-width: 992px) {
    [dir="rtl"] .vl-hero-cinematic .vl-hero-bg { transform: scaleX(-1); }
    [dir="rtl"] .vl-hero-cinematic.has-media::after { background: linear-gradient(270deg, rgba(4, 28, 64, .92) 0%, rgba(4, 28, 64, .7) 30%, rgba(4, 28, 64, .15) 55%, rgba(4, 28, 64, 0) 70%), linear-gradient(0deg, rgba(4, 28, 64, .85) 0%, rgba(4, 28, 64, 0) 32%); }
}
[dir="rtl"] .vl-hero-trustbar .item + .item { border-left: 0; border-right: 1px solid rgba(255, 255, 255, .14); }
[dir="rtl"] .vl-path .go { transform: scaleX(-1); }

/* Member profile: photos section */
.vl-photo-row { display: flex; align-items: center; gap: 1.25rem; }
.vl-photo-current { flex: 0 0 112px; width: 112px; height: 112px; border-radius: 50%; overflow: hidden; border: 3px solid var(--vl-gold-soft); box-shadow: 0 0 0 1px var(--vl-line); background: var(--vl-cream); }
.vl-photo-current img { width: 100%; height: 100%; object-fit: cover; }
.vl-file-btn { cursor: pointer; }
.vl-file-btn.disabled { opacity: .6; pointer-events: none; }
.vl-gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: .75rem; }
.vl-gallery-grid:empty { display: none; }
.vl-gallery-item { position: relative; aspect-ratio: 1; border-radius: 10px; overflow: hidden; background: var(--vl-cream); border: 1px solid var(--vl-line); }
.vl-gallery-item img { width: 100%; height: 100%; object-fit: cover; }
.vl-gallery-item.is-new { outline: 2px dashed var(--vl-gold); outline-offset: -2px; }
.vl-gallery-del { position: absolute; top: 6px; right: 6px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: rgba(4, 28, 64, .7); color: #fff; font-size: 16px; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.vl-gallery-del:hover, .vl-gallery-del:focus-visible { background: #c62828; }
.vl-dropzone { display: flex; flex-direction: column; align-items: center; gap: .2rem; margin: 0; padding: 1.5rem 1rem; border: 1.5px dashed var(--vl-gold); border-radius: 12px; background: var(--vl-cream); text-align: center; cursor: pointer; transition: background .2s ease; }
.vl-dropzone:hover { background: var(--vl-gold-soft); }
.vl-dropzone i { font-size: 34px; color: var(--vl-maroon); }
.vl-dropzone strong { color: var(--vl-maroon-deep); }
.vl-dropzone span { font-size: 13px; color: var(--vl-muted); }
@media (max-width: 575.98px) {
    .vl-photo-row { gap: 1rem; }
    .vl-photo-current { flex-basis: 88px; width: 88px; height: 88px; }
    .vl-gallery-grid { grid-template-columns: repeat(3, 1fr); gap: .5rem; }
}

/* ---------- Homepage: walkthrough video in your language (partials/vl/language_showcase) ---------- */
.vl-langshow {
    background: radial-gradient(ellipse at 85% 20%, rgba(252, 56, 144, .14), transparent 55%),
        linear-gradient(180deg, #fff 0%, var(--vl-cream) 100%);
    overflow: hidden;
}
.vl-langshow-eyebrow {
    display: block; color: var(--vl-gold-dark); font-weight: 700; font-size: 12px;
    text-transform: uppercase; letter-spacing: 3px; margin-bottom: 1rem;
}
.vl-langshow-title { font-size: 3rem; line-height: 1.1; font-weight: 700; margin-bottom: 1rem; }
.vl-langshow-title span { color: var(--vl-maroon); }
.vl-langshow-lead { font-size: 1.05rem; max-width: 470px; margin-bottom: 1.75rem; }
.vl-langshow-pills { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 2rem; max-width: 470px; }
.vl-langshow-pill {
    border: 1px solid var(--vl-line); background: #fff; color: var(--vl-muted); border-radius: 999px;
    padding: .4rem 1rem; font-size: 13px; font-weight: 600; line-height: 1.4; cursor: pointer;
    transition: background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.vl-langshow-pill:hover { border-color: var(--vl-gold); color: var(--vl-ink); }
.vl-langshow-pill:focus-visible { outline: 2px solid var(--vl-gold); outline-offset: 2px; }
.vl-langshow-pill.is-active {
    background: var(--vl-maroon); border-color: var(--vl-maroon); color: #fff;
    box-shadow: 0 6px 16px rgba(200, 24, 106, .25);
}
.vl-langshow-ctas { display: flex; flex-wrap: wrap; gap: .75rem; }
.vl-langshow-ctas .btn { border-radius: 999px; }
.vl-langshow-more {
    background: #fff; color: var(--vl-ink) !important; border: 1px solid var(--vl-line); border-radius: 999px;
    font-weight: 600; padding: .85rem 1.9rem;
}
.vl-langshow-more:hover { border-color: var(--vl-maroon); color: var(--vl-maroon) !important; }

/* Laptop frame drawn in CSS around the video */
.vl-laptop { max-width: 640px; margin: 0 auto; filter: drop-shadow(0 30px 45px rgba(4, 28, 64, .18)); }
.vl-laptop-screen {
    position: relative; background: #041c40; border-radius: 22px 22px 6px 6px; padding: 14px 14px 18px;
    margin: 0 6%; border: 1px solid #041c40;
}
.vl-laptop-cam {
    position: absolute; top: 5px; left: 50%; width: 6px; height: 6px; margin-left: -3px;
    border-radius: 50%; background: #041c40; box-shadow: 9px 0 0 -1px #2ecc71;
}
.vl-laptop-display {
    position: relative; aspect-ratio: 16 / 10; border-radius: 8px; overflow: hidden;
    background: var(--vl-maroon-deep) radial-gradient(rgba(252, 56, 144, .15) 1px, transparent 1px);
    background-size: 22px 22px;
}
.vl-langshow-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.vl-laptop-base {
    position: relative; height: 16px; background: linear-gradient(180deg, #eceaf2, #5f6380);
    border-radius: 2px 2px 14px 14px; box-shadow: inset 0 1px 0 #fff;
}
.vl-laptop-base span {
    position: absolute; top: 0; left: 50%; width: 18%; height: 6px; transform: translateX(-50%);
    background: #5f6380; border-radius: 0 0 8px 8px;
}
.vl-langshow-btn {
    position: absolute; right: 12px; width: 38px; height: 38px; border-radius: 50%; border: 0;
    background: rgba(0, 0, 0, .55); color: #fff; font-size: 18px; display: flex; align-items: center;
    justify-content: center; cursor: pointer; transition: background .15s ease; z-index: 2;
}
.vl-langshow-btn:hover { background: rgba(0, 0, 0, .8); }
.vl-langshow-btn:focus-visible, .vl-langshow-play:focus-visible { outline: 2px solid var(--vl-gold); outline-offset: 2px; }
.vl-langshow-mute { top: 12px; }
/* Both controls top-right, so the bottom-right corner stays free for the logo in the videos */
.vl-langshow-full { top: 12px; right: 58px; }
.vl-langshow-play {
    position: absolute; top: 50%; left: 50%; width: 68px; height: 68px; margin: -34px 0 0 -34px;
    border-radius: 50%; border: 0; background: rgba(255, 255, 255, .92); color: var(--vl-maroon);
    font-size: 28px; display: flex; align-items: center; justify-content: center; cursor: pointer;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .3); transition: transform .15s ease, opacity .2s ease; z-index: 2;
}
.vl-langshow-play:hover { transform: scale(1.06); }
.vl-langshow.is-playing .vl-langshow-play { opacity: 0; pointer-events: none; }

@media (max-width: 991.98px) {
    .vl-langshow-title { font-size: 2.2rem; }
    .vl-langshow-lead, .vl-langshow-pills { max-width: none; }
}
@media (max-width: 575.98px) {
    .vl-langshow-title { font-size: 1.85rem; }
    .vl-laptop-screen { margin: 0 3%; padding: 9px 9px 12px; border-radius: 14px 14px 4px 4px; }
    .vl-laptop-base { height: 11px; }
    .vl-langshow-ctas .btn { flex: 1 1 auto; text-align: center; }
}

/* ---------- Sign-up hero (homepage and /matrimony pages): photo, headline, Register Free card ---------- */
.vl-sh { position: relative; isolation: isolate; overflow: hidden; display: flex; background: #041c40; color: #fff7fb; }
.vl-sh-bg { position: absolute; inset: 0; z-index: -1; }
.vl-sh-bg::before, .vl-sh-bg::after { content: ''; position: absolute; inset: 0; pointer-events: none; }
.vl-sh-bg img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vl-sh-bg picture { display: block; width: 100%; height: 100%; }
/* Warm burgundy wash over every photo, then a shade for the text */
.vl-sh-bg::before { z-index: 1; background: #c8186a; mix-blend-mode: multiply; opacity: .32; }
.vl-sh-bg::after { z-index: 2; }
.is-collage .vl-sh-bg::before { opacity: .55; }
.is-collage .vl-sh-bg::after { background: linear-gradient(90deg, rgba(4, 28, 64, .78) 0%, rgba(4, 28, 64, .5) 50%, rgba(4, 28, 64, .35) 100%); }
.is-plain .vl-sh-bg { background: radial-gradient(ellipse at 70% 30%, #db1f74 0%, var(--vl-wine) 45%, #041c40 100%); }
.vl-sh-collage { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(var(--sh-cols, 4), 1fr); grid-template-rows: repeat(2, 1fr); gap: 3px; }
.vl-sh-collage img { min-height: 0; }

.vl-sh-inner { display: flex; width: 100%; }
.vl-sh-grid { display: grid; width: 100%; grid-template-columns: minmax(0, 1fr) minmax(380px, 440px); column-gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.vl-sh-grid.no-card { grid-template-columns: minmax(0, 680px); }

/* Copy */
.vl-sh-crumbs { font-size: 13px; color: rgba(255, 255, 255, .72); margin-bottom: 1rem; }
.vl-sh-crumbs a { color: rgba(255, 255, 255, .88); }
.vl-sh-crumbs a:hover { color: var(--vl-gold); }
.vl-sh-eyebrow { display: flex; align-items: center; gap: .65rem; margin: 0 0 .9rem; color: var(--vl-gold); font-size: 12.5px; font-weight: 600; letter-spacing: 2.4px; text-transform: uppercase; }
.vl-sh-eyebrow::before { content: ''; flex: 0 0 30px; height: 1.5px; background: currentColor; }
.vl-sh h1 { color: #fff7fb; font-size: clamp(2.4rem, 3.7vw, 3.5rem); font-weight: 600; line-height: 1.1; letter-spacing: -.3px; max-width: 11em; margin-bottom: .9rem; text-shadow: 0 2px 22px rgba(0, 0, 0, .35); }
.vl-sh-support { color: #fff7fb; font-size: 1.22rem; font-weight: 500; line-height: 1.45; max-width: 32em; margin-bottom: .7rem; }
.vl-sh-desc { color: rgba(255, 255, 255, .8); font-size: 1rem; line-height: 1.65; max-width: 33em; margin-bottom: 1.6rem; }
.vl-sh-ctas { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem 1.5rem; }
.vl-sh-ctas .btn { min-height: 50px; display: inline-flex; align-items: center; }
.vl-sh-login { color: rgba(255, 255, 255, .85) !important; font-size: 15px; }
.vl-sh-login strong { color: var(--vl-gold); border-bottom: 1px solid rgba(252, 56, 144, .55); }
.vl-sh-login:hover strong { border-bottom-color: var(--vl-gold); }
.vl-sh-trust { list-style: none; display: flex; flex-wrap: wrap; gap: .55rem 1.6rem; margin: 1.9rem 0 0; padding: 0; color: rgba(255, 255, 255, .82); font-size: 13.5px; }
.vl-sh-trust li { display: inline-flex; align-items: center; gap: .45rem; }
.vl-sh-trust i { color: var(--vl-gold); font-size: 18px; }
.vl-sh a:focus-visible, .vl-sh button:focus-visible { outline: 2px solid var(--vl-gold); outline-offset: 3px; box-shadow: none; }

/* Registration card */
.vl-sh-card { position: relative; background: #fdfcfe; color: var(--vl-ink); border-radius: 16px; padding: 1.5rem 1.6rem 1.25rem; box-shadow: 0 28px 70px rgba(4, 28, 64, .38), 0 2px 6px rgba(4, 28, 64, .14); scroll-margin-top: 110px; }
.vl-sh-card::before { content: ''; position: absolute; left: 1.6rem; right: 1.6rem; top: 0; height: 3px; border-radius: 0 0 3px 3px; background: var(--vl-gold); }
.vl-sh-card-head { text-align: center; margin-bottom: 1.1rem; }
.vl-sh-card-head h2 { font-size: 1.4rem; font-weight: 600; color: var(--vl-maroon-deep); margin: .65rem 0 .2rem; }
.vl-sh-card-head p { font-size: 13.5px; line-height: 1.45; color: var(--vl-muted); margin: 0; }
.vl-sh-field { margin-bottom: .75rem; }
.vl-sh-card .form-control,
.vl-sh-card .bootstrap-select > .dropdown-toggle { height: 48px; border-radius: 10px; border: 1px solid #fff1f7; background-color: #fff; color: var(--vl-ink); font-size: 15px; padding-left: .95rem; transition: border-color .15s ease, box-shadow .15s ease; }
.vl-sh-card .form-control::placeholder { color: #5f6380; opacity: 1; }
.vl-sh-card .bootstrap-select .filter-option-inner-inner { color: var(--vl-ink); }
.vl-sh-card .bootstrap-select .bs-placeholder .filter-option-inner-inner { color: #5f6380; }
.vl-sh-card select.form-control { appearance: none; -webkit-appearance: none; padding-right: 2.4rem; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%238e1b3a' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 1rem center; }
.vl-sh-card select.form-control:has(option[value=""]:checked) { color: #5f6380; }
.vl-sh-card .form-control:hover, .vl-sh-card .bootstrap-select > .dropdown-toggle:hover { border-color: #fc3890; }
.vl-sh-card .form-control:focus, .vl-sh-card .bootstrap-select > .dropdown-toggle:focus, .vl-sh-card .bootstrap-select.show > .dropdown-toggle { border-color: var(--vl-maroon); box-shadow: 0 0 0 3px rgba(200, 24, 106, .14); outline: 0; }
.vl-sh-card .form-control.is-invalid, .vl-sh-card .bootstrap-select.is-invalid > .dropdown-toggle { border-color: #c0392b; }
.vl-sh-card input.form-control.is-invalid { background-image: none; }
.vl-sh-card .bootstrap-select { width: 100% !important; }
/* bootstrap-select copies .form-control onto its wrapper: only the inner button gets the field look */
.vl-sh-card .bootstrap-select.form-control { height: auto; padding: 0; border: 0; background: none; box-shadow: none; }
.vl-sh-card .bootstrap-select .dropdown-menu { border-radius: 10px; }
.vl-sh-card .iti { width: 100%; display: block; }
.vl-sh-card .iti--separate-dial-code .iti__selected-flag { background: #fff7fb; border-radius: 10px 0 0 10px; border-right: 1px solid #fff1f7; }
.vl-sh-card .iti__selected-dial-code { color: var(--vl-ink); font-size: 15px; }
.vl-sh-err { color: #b42318; font-size: 12.5px; line-height: 1.35; margin-top: .3rem; }
.vl-sh-err:empty { display: none; }
.vl-sh-alert { background: #fdecea; color: #8a1c1c; border-radius: 8px; padding: .6rem .8rem; font-size: 13px; margin-bottom: .8rem; }
.vl-sh-consent { margin: .2rem 0 .95rem; }
.vl-sh-consent .aiz-checkbox { font-size: 13px; line-height: 1.45; color: var(--vl-muted); }
.vl-sh-consent a, .vl-sh-privacy a, .vl-sh-member a { color: var(--vl-maroon); text-decoration: underline; text-underline-offset: 2px; }
.vl-sh-consent input:focus-visible ~ .aiz-square-check { box-shadow: 0 0 0 3px rgba(200, 24, 106, .3); }
.vl-sh-submit {
    display: flex; align-items: center; justify-content: center; gap: .6rem; width: 100%; min-height: 52px; border: 0; border-radius: 10px;
    background: linear-gradient(135deg, var(--vl-maroon) 0%, #c8186a 100%); color: #fff !important; font-weight: 700; font-size: 15px;
    letter-spacing: 1.2px; text-transform: uppercase; box-shadow: 0 10px 22px rgba(200, 24, 106, .28); transition: filter .15s ease, box-shadow .15s ease, transform .15s ease;
}
.vl-sh-submit:hover { filter: brightness(1.08); box-shadow: 0 14px 28px rgba(200, 24, 106, .36); }
.vl-sh-submit:active { transform: translateY(1px); }
.vl-sh-submit:focus-visible { outline: 3px solid var(--vl-gold); outline-offset: 2px; }
.vl-sh-submit:disabled { opacity: .8; cursor: progress; filter: none; }
.vl-sh-spinner { display: none; width: 16px; height: 16px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .45); border-top-color: #fff; animation: vlSpin .7s linear infinite; }
.is-busy .vl-sh-spinner { display: inline-block; }
@keyframes vlSpin { to { transform: rotate(360deg); } }
.vl-sh-privacy { font-size: 12.5px; line-height: 1.45; color: var(--vl-muted); text-align: center; margin: .8rem 0 .3rem; }
.vl-sh-privacy i { color: var(--vl-gold-dark); }
.vl-sh-member { text-align: center; font-size: 13.5px; color: var(--vl-muted); margin: 0; }
@media (prefers-reduced-motion: reduce) {
    .vl-sh-spinner { animation-duration: 2s; }
    .vl-sh-submit, .vl-sh-card .form-control { transition: none; }
}

/* Desktop: copy on the left, card on the right. The single couple photo is mirrored so the
   couple sits on the left above the headline and the card covers the photo's dark side. */
@media (min-width: 992px) {
    .vl-sh { min-height: clamp(660px, 100vh, 880px); }
    .vl-sh-inner { padding-top: calc(76px + 2.25rem); padding-bottom: 2.75rem; }
    .is-photo .vl-sh-photo { transform: scaleX(-1); object-position: 50% 32%; }
    .is-photo .vl-sh-bg::after { background: linear-gradient(0deg, rgba(4, 28, 64, .94) 0%, rgba(4, 28, 64, .7) 34%, rgba(4, 28, 64, 0) 62%), linear-gradient(90deg, rgba(4, 28, 64, .45) 0%, rgba(4, 28, 64, 0) 40%); }
    .is-photo .vl-sh-copy { align-self: end; }
    [dir="rtl"] .is-photo .vl-sh-photo { transform: none; }
    [dir="rtl"] .is-photo .vl-sh-bg::after { background: linear-gradient(0deg, rgba(4, 28, 64, .94) 0%, rgba(4, 28, 64, .7) 34%, rgba(4, 28, 64, 0) 62%), linear-gradient(270deg, rgba(4, 28, 64, .45) 0%, rgba(4, 28, 64, 0) 40%); }
}
/* Short laptop screens (1366 x 768): tighten the copy so headline and card both fit */
@media (min-width: 992px) and (max-height: 820px) {
    .vl-sh h1 { font-size: clamp(2.2rem, 3.3vw, 3rem); margin-bottom: .6rem; }
    .vl-sh-support { font-size: 1.1rem; margin-bottom: .5rem; }
    .vl-sh-desc { display: none; }
    .vl-sh-ctas { margin-top: 1.2rem; }
    .vl-sh-trust { margin-top: 1.3rem; }
    .vl-sh-card { padding-top: 1.25rem; padding-bottom: 1rem; }
    .vl-sh-card-head { margin-bottom: .85rem; }
    .vl-sh-card-head h2 { margin-top: .45rem; }
    .vl-sh-field { margin-bottom: .6rem; }
}

/* Phones and tablets: photo at the top, headline under the faces, then the card */
@media (max-width: 991.98px) {
    .vl-sh-inner { padding-top: calc(var(--vl-hdr-m) + 1.75rem); padding-bottom: 2rem; }
    .vl-sh-grid, .vl-sh-grid.no-card { grid-template-columns: minmax(0, 1fr); }
    .is-photo .vl-sh-bg, .is-collage .vl-sh-bg { top: var(--vl-hdr-m); bottom: auto; height: 150vw; }
    .is-collage .vl-sh-bg { height: 76vw; }
    .is-photo .vl-sh-photo { object-position: 50% 0; }
    .is-photo .vl-sh-bg::after { background: linear-gradient(180deg, rgba(4, 28, 64, 0) 0, rgba(4, 28, 64, 0) 40vw, rgba(4, 28, 64, .88) 70vw, #041c40 92vw); }
    .is-collage .vl-sh-bg::after { background: linear-gradient(180deg, rgba(4, 28, 64, .3) 0, rgba(4, 28, 64, .6) 45vw, #041c40 76vw); }
    .vl-sh-collage { grid-template-columns: repeat(3, 1fr); }
    .is-photo .vl-sh-inner { padding-top: calc(var(--vl-hdr-m) + 64vw); }
    .is-collage .vl-sh-inner { padding-top: calc(var(--vl-hdr-m) + 50vw); }
    .vl-sh h1 { font-size: clamp(1.9rem, 6.4vw, 2.6rem); }
    .vl-sh-support { font-size: 1.05rem; }
    .vl-sh-desc { display: none; }
    /* Visitors: the card follows straight away, so the copy's buttons are not needed */
    .vl-sh-grid:not(.no-card) .vl-sh-ctas { display: none; }
    .vl-sh-trust { margin-top: 1rem; gap: .4rem 1.2rem; font-size: 13px; }
    .vl-sh-card { margin-top: 1.5rem; max-width: 560px; padding: 1.35rem 1.15rem 1.15rem; }
    .vl-sh-card .form-control, .vl-sh-card .bootstrap-select > .dropdown-toggle { font-size: 16px; } /* no zoom-on-focus on iPhone */
}
@media (min-width: 576px) and (max-width: 991.98px) {
    .is-photo .vl-sh-bg { height: min(150vw, 1100px); }
    .is-photo .vl-sh-inner { padding-top: calc(var(--vl-hdr-m) + min(58vw, 470px)); }
    .is-photo .vl-sh-bg::after { background: linear-gradient(180deg, rgba(4, 28, 64, 0) 0, rgba(4, 28, 64, 0) min(36vw, 300px), rgba(4, 28, 64, .88) min(62vw, 500px), #041c40 min(80vw, 640px)); }
}
@media (max-width: 575.98px) {
    .vl-sh-trust { display: none; }
    .vl-sh-crumbs { font-size: 12px; margin-bottom: .6rem; }
    .vl-sh-eyebrow { font-size: 11px; letter-spacing: 1.8px; margin-bottom: .6rem; }
    .vl-sh-eyebrow::before { flex-basis: 20px; }
    .vl-sh-support { margin-bottom: 0; }
}

/* Indian scripts: letter-spacing breaks up joined letters, and long words need a smaller headline */
html:not([lang|="en"]) .vl-sh-eyebrow, html:not([lang|="en"]) .vl-sh-submit { letter-spacing: 0; }
html:not([lang|="en"]) .vl-sh-submit { text-transform: none; font-size: 16px; }
html:not([lang|="en"]) .vl-sh h1 { letter-spacing: 0; font-size: clamp(2rem, 2.9vw, 2.7rem); line-height: 1.3; max-width: none; }
html[lang="ta"] .vl-sh h1, html[lang="ml"] .vl-sh h1, html[lang="te"] .vl-sh h1, html[lang="kn"] .vl-sh h1 { font-size: clamp(1.8rem, 2.5vw, 2.35rem); }
@media (max-width: 991.98px) {
    html:not([lang|="en"]) .vl-sh h1 { font-size: clamp(1.6rem, 6vw, 2.2rem); }
    html[lang="ta"] .vl-sh h1, html[lang="ml"] .vl-sh h1, html[lang="te"] .vl-sh h1, html[lang="kn"] .vl-sh h1 { font-size: clamp(1.4rem, 5.4vw, 2rem); }
}

/* Sign-up card: Register Free / Login tabs */
.vl-sh-card-logo { text-align: center; margin-bottom: .8rem; }
.vl-sh-card-logo img { height: 30px; width: auto; }
.vl-sh-tabs { display: flex; gap: 4px; padding: 4px; margin-bottom: 1rem; border-radius: 12px; background: #fff7fb; }
.vl-sh-tabs [role="tab"] {
    flex: 1 1 0; min-height: 40px; border: 0; border-radius: 9px; background: transparent; color: var(--vl-muted);
    font-size: 14px; font-weight: 600; cursor: pointer; transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}
.vl-sh-tabs [role="tab"]:hover { color: var(--vl-maroon); }
.vl-sh-tabs [role="tab"][aria-selected="true"] { background: #fff; color: var(--vl-maroon); box-shadow: 0 2px 8px rgba(4, 28, 64, .12); }
.vl-sh-tabs [role="tab"]:focus-visible { outline: 2px solid var(--vl-maroon); outline-offset: 1px; }
.vl-sh-card [role="tabpanel"][hidden] { display: none; }
.vl-sh-card-head h2 { margin-top: 0; }
.vl-sh-password { position: relative; }
.vl-sh-password .form-control { padding-right: 3rem; }
.vl-sh-eye {
    position: absolute; top: 0; right: 0; width: 48px; height: 48px; border: 0; background: none; color: var(--vl-muted);
    font-size: 20px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; border-radius: 0 10px 10px 0;
}
.vl-sh-eye:hover { color: var(--vl-maroon); }
.vl-sh-eye:focus-visible { outline: 2px solid var(--vl-maroon); outline-offset: -2px; }
[dir="rtl"] .vl-sh-password .form-control { padding-right: .95rem; padding-left: 3rem; }
[dir="rtl"] .vl-sh-eye { right: auto; left: 0; border-radius: 10px 0 0 10px; }
.vl-sh-login-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; margin: .15rem 0 1rem; font-size: 13.5px; }
.vl-sh-login-row .aiz-checkbox { color: var(--vl-muted); }
.vl-sh-login-row a { color: var(--vl-maroon); font-weight: 600; }
@media (prefers-reduced-motion: reduce) { .vl-sh-tabs [role="tab"] { transition: none; } }
/* Short laptop screens: the tabs take some room, so drop the card's one-line intro */
@media (min-width: 992px) and (max-height: 820px) {
    .vl-sh-card-logo { margin-bottom: .6rem; }
    .vl-sh-tabs { margin-bottom: .8rem; }
    .vl-sh-card-head p { display: none; }
    .vl-sh-card-head { margin-bottom: .75rem; }
}

/* Sign-up card: religion and mother tongue side by side (stacked on narrow phones) */
.vl-sh-pair { display: grid; grid-template-columns: 1fr 1fr; column-gap: .6rem; }
.vl-sh-pair .vl-sh-field { min-width: 0; }
.vl-sh-pair .bootstrap-select .filter-option-inner-inner { overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 374.98px) { .vl-sh-pair { grid-template-columns: 1fr; } }

/* Empty category: browse elsewhere, or add your details */
.vl-empty-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }
.vl-empty-actions .btn { display: inline-flex; align-items: center; gap: .4rem; }
.vl-empty-actions .btn i { font-size: 20px; color: inherit; }
@media (max-width: 575.98px) { .vl-empty-actions .btn { flex: 1 1 100%; justify-content: center; } }

/* Pages other than home already leave room for the header (.vl-page-offset); the hero makes its
   own room, so it slides up under the header like it does on the homepage */
.vl-page-offset .vl-sh { margin-top: -64px; }
@media (min-width: 992px) { .vl-page-offset .vl-sh { margin-top: -76px; } }

/* Public header: keep everything on one row. Small laptops and long-word languages get tighter
   menu spacing, the language picker as an icon, and the short "Register" label */
.vl-header-register { white-space: nowrap; }
.vl-header-register .lbl-short { display: none; }
@media (min-width: 992px) and (max-width: 1199.98px) {
    .vl-header:not(.vl-header-app) .vl-nav { padding: 0 .5rem; }
    .vl-header:not(.vl-header-app) .vl-nav > li > a { padding-left: .5rem; padding-right: .5rem; font-size: 13.5px; }
    .vl-header:not(.vl-header-app) .vl-nav > li > a::after { left: .5rem; right: .5rem; }
    .vl-header:not(.vl-header-app) .vl-header-actions { gap: .75rem; }
    .vl-header .vl-lang-header > a span { display: none; }
    .vl-header-register .lbl-long { display: none; }
    .vl-header-register .lbl-short { display: inline; }
}
@media (min-width: 992px) {
    html[lang="ta"] .vl-header:not(.vl-header-app) .vl-nav > li > a, html[lang="ml"] .vl-header:not(.vl-header-app) .vl-nav > li > a,
    html[lang="kn"] .vl-header:not(.vl-header-app) .vl-nav > li > a, html[lang="te"] .vl-header:not(.vl-header-app) .vl-nav > li > a { padding-left: .45rem; padding-right: .45rem; font-size: 13.5px; }
    html[lang="ta"] .vl-header:not(.vl-header-app) .vl-nav > li > a::after, html[lang="ml"] .vl-header:not(.vl-header-app) .vl-nav > li > a::after,
    html[lang="kn"] .vl-header:not(.vl-header-app) .vl-nav > li > a::after, html[lang="te"] .vl-header:not(.vl-header-app) .vl-nav > li > a::after { left: .45rem; right: .45rem; }
    html[lang="ta"] .vl-header .vl-lang-header > a span, html[lang="ml"] .vl-header .vl-lang-header > a span,
    html[lang="kn"] .vl-header .vl-lang-header > a span, html[lang="te"] .vl-header .vl-lang-header > a span { display: none; }
    html[lang="ta"] .vl-header-register .lbl-long, html[lang="ml"] .vl-header-register .lbl-long,
    html[lang="kn"] .vl-header-register .lbl-long, html[lang="te"] .vl-header-register .lbl-long { display: none; }
    html[lang="ta"] .vl-header-register .lbl-short, html[lang="ml"] .vl-header-register .lbl-short,
    html[lang="kn"] .vl-header-register .lbl-short, html[lang="te"] .vl-header-register .lbl-short { display: inline; }
    html:not([lang|="en"]) .vl-header:not(.vl-header-app) .vl-nav > li > a { white-space: nowrap; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    /* Long-word languages on small laptops: "Matches" only sends visitors to log in, and Login is right there */
    html[lang="ta"] .vl-header:not(.vl-header-app) .vl-nav-matches, html[lang="ml"] .vl-header:not(.vl-header-app) .vl-nav-matches,
    html[lang="kn"] .vl-header:not(.vl-header-app) .vl-nav-matches, html[lang="te"] .vl-header:not(.vl-header-app) .vl-nav-matches { display: none; }
}

/* How it works: let long words (Tamil, Malayalam...) wrap instead of widening the page */
.vl-hiw-steps { min-width: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vl-hiw-steps li { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 991.98px) { .vl-hiw-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .vl-hiw-steps { grid-template-columns: minmax(0, 1fr); } }

/* Chat: Sent (one tick) / Seen (two ticks, green) on my own messages */
/* Suggested openers in a new chat (Icebreakers::openers) */
.vl-openers { display: flex; flex-direction: column; align-items: flex-end; gap: .5rem; padding-top: 1rem; padding-bottom: 1rem; }
.vl-openers-title { align-self: center; margin: 0 0 .25rem; color: #5f6380; font-size: .8125rem; text-align: center; }
.vl-opener {
    max-width: 85%; padding: .55rem .9rem; border: 1.5px dashed #fc3890; border-radius: 18px 18px 4px 18px;
    background: #faf9fc; color: #041c40; font-size: .875rem; text-align: left; line-height: 1.35;
}
.vl-opener:hover, .vl-opener:focus { background: #fff1f7; border-style: solid; }
.vl-opener:focus-visible { outline: 2px solid #db1f74; outline-offset: 2px; }
.vl-chat-tick { margin-left: .2rem; opacity: .65; }
.vl-chat-tick.is-seen { opacity: 1; color: #2e7d32; }

/* ---------- What's New? (member notifications page, header bell and dropdown) ---------- */
.vl-wn { color: var(--vl-ink); }
.vl-wn-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding-bottom: 1.25rem; margin-bottom: 1.25rem; border-bottom: 1px solid var(--vl-line); }
.vl-wn-bell { position: relative; flex: 0 0 52px; width: 52px; height: 52px; margin-right: .9rem; border-radius: 50%; background: var(--vl-gold-soft); color: var(--vl-maroon); display: inline-flex; align-items: center; justify-content: center; font-size: 26px; }
.vl-wn-bell-count { position: absolute; top: -4px; right: -6px; min-width: 22px; height: 22px; padding: 0 6px; border: 2px solid #fff; border-radius: 999px; background: var(--vl-maroon); color: #fff; font-size: 12px; font-weight: 600; line-height: 18px; text-align: center; }
.vl-wn-bell-count[hidden] { display: none; }
.vl-wn-title { margin: 0; font-size: 1.6rem; line-height: 1.2; }
.vl-wn-sub { margin: .15rem 0 0; font-size: 14px; color: var(--vl-muted); }
.vl-wn-readall { white-space: nowrap; }
.vl-wn-readall:disabled { opacity: .45; cursor: default; box-shadow: none; }
.vl-wn-readall:disabled:hover { background: transparent; color: var(--vl-maroon) !important; }

.vl-wn-group { margin: 1.5rem 0 .6rem; font-family: inherit; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--vl-muted); }
.vl-wn-feed > .vl-wn-group:first-child { margin-top: 0; }

.vl-wn-item { position: relative; display: flex; align-items: flex-start; gap: .9rem; padding: 1rem 1.1rem; margin-bottom: .6rem; background: #fff; border: 1px solid var(--vl-line); border-radius: 12px; transition: box-shadow .15s ease, border-color .15s ease; }
.vl-wn-item:hover { box-shadow: var(--vl-shadow); }
.vl-wn-item.is-unread { background: var(--vl-cream); border-color: #fad3e6; }
.vl-wn-item.is-unread::before { content: ''; position: absolute; left: -1px; top: 14px; bottom: 14px; width: 3px; border-radius: 0 3px 3px 0; background: var(--vl-maroon); }
.vl-wn-item.is-featured { border-color: var(--vl-gold); background: linear-gradient(135deg, #fff1f7 0%, #fff 65%); }

.vl-wn-media { position: relative; flex: 0 0 52px; }
.vl-wn-avatar { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; box-shadow: 0 0 0 1px var(--vl-line); }
.vl-wn-icon { flex: 0 0 52px; width: 52px; height: 52px; border-radius: 50%; background: var(--vl-sand); color: var(--vl-maroon); display: inline-flex; align-items: center; justify-content: center; font-size: 24px; }
.vl-wn-badge { position: absolute; right: -4px; bottom: -2px; width: 22px; height: 22px; border: 2px solid #fff; border-radius: 50%; background: var(--vl-maroon); color: #fff; font-size: 12px; display: flex; align-items: center; justify-content: center; }
.is-featured .vl-wn-media { flex-basis: 72px; }
.is-featured .vl-wn-avatar { width: 72px; height: 72px; box-shadow: 0 0 0 2px var(--vl-gold); }
.is-featured .vl-wn-badge { background: var(--vl-gold); color: var(--vl-maroon-deep); }
.is-featured .vl-wn-icon { background: var(--vl-gold-soft); color: var(--vl-gold-dark); }

.vl-wn-body { flex: 1 1 auto; min-width: 0; }
.vl-wn-eyebrow { display: flex; align-items: center; gap: .4rem; margin-bottom: .15rem; font-size: 12px; font-weight: 700; letter-spacing: .02em; color: var(--vl-maroon); }
.is-featured .vl-wn-eyebrow { color: var(--vl-gold-dark); }
.vl-wn-new { padding: 1px 7px; border-radius: 999px; background: var(--vl-maroon); color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.vl-wn-new[hidden] { display: none; }
.vl-wn-msg { margin: 0; font-size: 15px; line-height: 1.45; color: var(--vl-ink); overflow-wrap: anywhere; }
.is-unread .vl-wn-msg { font-weight: 600; }
.is-unavailable .vl-wn-msg { font-weight: 400; color: var(--vl-muted); }
.vl-wn-detail { margin: .25rem 0 0; font-size: 13px; color: var(--vl-muted); }
.vl-wn-time { display: block; margin-top: .3rem; font-size: 12px; color: #5f6380; }

.vl-wn-actions { display: flex; align-items: center; gap: .5rem; flex: 0 0 auto; }
.vl-wn-cta { padding: .35rem 1rem !important; font-size: 13px; white-space: nowrap; }
.vl-wn-gone { font-size: 12px; font-style: italic; color: var(--vl-muted); }
.vl-wn-toggle { width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; background: transparent; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.vl-wn-toggle:hover { background: var(--vl-sand); }
.vl-wn-toggle:focus-visible { background: var(--vl-sand); outline: 2px solid var(--vl-maroon); outline-offset: 2px; }
.vl-wn-dot { width: 11px; height: 11px; border: 2px solid #fad3e6; border-radius: 50%; }
.is-unread .vl-wn-dot { background: var(--vl-maroon); border-color: var(--vl-maroon); }

.vl-wn-note { display: flex; align-items: flex-start; gap: .9rem; padding: 1rem 1.1rem; margin-bottom: 1.25rem; background: var(--vl-cream); border: 1px dashed var(--vl-gold); border-radius: 12px; }
.vl-wn-note p { font-size: 14px; }
.vl-wn-note-title { margin: 0 0 .25rem; font-family: inherit; font-size: 16px; font-weight: 700; color: var(--vl-ink); }
.vl-wn-fresh { display: block; margin: 0 auto 1rem; padding: .4rem 1rem; border: 0; border-radius: 999px; background: var(--vl-maroon); color: #fff; font-size: 13px; font-weight: 600; box-shadow: var(--vl-shadow); }
.vl-wn-fresh[hidden] { display: none; }
.vl-wn-empty { padding: 3rem 1rem; text-align: center; background: #fff7fb; border: 1px solid var(--vl-line); border-radius: 12px; }
.vl-wn-empty[hidden] { display: none; }
.vl-wn-empty-icon { display: inline-flex; width: 72px; height: 72px; margin-bottom: .75rem; border-radius: 50%; background: var(--vl-gold-soft); color: var(--vl-gold-dark); font-size: 34px; align-items: center; justify-content: center; }
.vl-wn-empty p { max-width: 380px; margin: 0 auto 1rem; font-size: 14px; }

/* Header bell: unread count, dropdown icons */
.vl-header-icon .vl-bell-count { position: absolute; top: -2px; right: -6px; min-width: 18px; height: 18px; padding: 0 4px; border: 2px solid var(--vl-header); font-size: 10px; line-height: 14px; }
.vl-header-icon .vl-bell-count[hidden] { display: none; }
.vl-dd-icon { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--vl-sand); color: var(--vl-maroon); font-size: 18px; }
.vl-dd-msg { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: normal; color: var(--vl-ink); }

/* Phones: photo and text side by side, the buttons on their own row under the text */
@media (max-width: 575.98px) {
    .vl-wn-title { font-size: 1.35rem; }
    .vl-wn-head .vl-wn-readall { width: 100%; }
    .vl-wn-head > form { width: 100%; }
    .vl-wn-item { flex-wrap: wrap; gap: .75rem; padding: .9rem; }
    .vl-wn-media, .is-featured .vl-wn-media { flex-basis: 48px; }
    .vl-wn-avatar, .is-featured .vl-wn-avatar, .vl-wn-icon { width: 48px; height: 48px; flex-basis: 48px; font-size: 21px; }
    .vl-wn-body { flex-basis: calc(100% - 48px - .75rem); }
    .vl-wn-actions { width: 100%; padding-left: calc(48px + .75rem); }
    .vl-wn-actions form { margin-left: auto !important; }
}

/* ---------- Member cards (match list, dashboard) ---------- */
.vl-mc { display: flex; gap: 1.1rem; background: #fff; border: 1px solid var(--vl-line); border-radius: 16px; padding: 1rem; position: relative; transition: box-shadow .15s; }
.vl-mc:hover { box-shadow: var(--vl-shadow); }
.vl-mc-photo { flex: 0 0 136px; height: 168px; border-radius: 12px; overflow: hidden; position: relative; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(150deg, var(--vl-gold-soft) 0%, #fad3e6 100%); }
.vl-mc-photo img { width: 100%; height: 100%; object-fit: cover; }
.vl-mc-initials { font-family: var(--vl-serif); font-size: 2.5rem; color: var(--vl-maroon); opacity: .8; letter-spacing: 1px; }
.vl-mc-note { position: absolute; left: 8px; right: 8px; bottom: 8px; background: rgba(255, 255, 255, .9); border-radius: 999px; padding: .2rem .45rem;
    font-size: 11px; line-height: 1.3; color: var(--vl-ink); text-align: center; }
.vl-mc-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.vl-mc-top { display: flex; align-items: flex-start; gap: .5rem; }
.vl-mc-name { font-family: var(--vl-serif); font-size: 1.22rem; line-height: 1.25; margin: 0; color: var(--vl-ink); min-width: 0; }
.vl-mc-name a { color: inherit; }
.vl-mc-name a:hover { color: var(--vl-maroon); text-decoration: none; }
.vl-mc-premium { flex: 0 0 auto; margin-left: auto; background: var(--vl-gold-soft); color: var(--vl-gold-dark); border-radius: 999px; padding: .15rem .6rem;
    font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.vl-mc-code { font-size: 12px; color: var(--vl-muted); margin-top: .1rem; }
.vl-mc-facts { list-style: none; margin: .45rem 0 .55rem; padding: 0; font-size: 13.5px; color: var(--vl-ink); }
.vl-mc-facts li { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: .08rem 0; }
.vl-mc-facts li + li { color: var(--vl-muted); }
.vl-mc-match { align-self: flex-start; display: inline-flex; align-items: center; gap: .4rem; background: var(--vl-gold-soft); color: var(--vl-maroon);
    border-radius: 999px; padding: .2rem .7rem .2rem .25rem; font-size: 12.5px; font-weight: 600; margin-bottom: .65rem; }
.vl-mc-match b { background: var(--vl-gold); color: var(--vl-maroon-deep); border-radius: 999px; padding: .05rem .5rem; font-size: 12px; }
.vl-mc-actions { margin-top: auto; display: flex; align-items: center; gap: .5rem; }
.vl-mc-primary { display: inline-flex; align-items: center; gap: .4rem; border: 1.5px solid transparent; border-radius: 999px; padding: .5rem 1.1rem;
    font-weight: 600; font-size: 14px; color: #fff; background: linear-gradient(135deg, var(--vl-maroon) 0%, var(--vl-rose) 100%); cursor: pointer; }
.vl-mc-primary:hover { color: #fff; text-decoration: none; filter: brightness(1.06); }
.vl-mc-primary.is-done { background: #fff; color: var(--vl-maroon); border-color: var(--vl-line); cursor: default; filter: none; }
.vl-mc-primary.is-soft { background: #fff; color: var(--vl-maroon); border-color: var(--vl-maroon); }
.vl-mc-primary.is-soft:hover { color: var(--vl-maroon); }
.vl-mc-icon { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 50%; border: 1.5px solid var(--vl-line); background: #fff; color: var(--vl-muted);
    display: inline-flex; align-items: center; justify-content: center; font-size: 19px; cursor: pointer; padding: 0; }
.vl-mc-icon:hover, .vl-mc-icon.is-on { color: var(--vl-maroon); border-color: var(--vl-maroon); text-decoration: none; }
.vl-mc-more .dropdown-menu { font-size: 14px; }
.vl-mc-more .dropdown-item i { width: 20px; color: var(--vl-muted); }
@media (max-width: 575.98px) {
    .vl-mc { gap: .8rem; padding: .8rem; }
    .vl-mc-photo { flex-basis: 100px; height: 128px; }
    .vl-mc-initials { font-size: 2rem; }
    .vl-mc-name { font-size: 1.08rem; }
    .vl-mc-facts { font-size: 13px; }
    .vl-mc-facts li:nth-child(n+4) { display: none; }
    .vl-mc-primary { padding: .45rem .9rem; font-size: 13.5px; }
    .vl-mc-actions { flex-wrap: wrap; }
}
/* Compact cards in a grid (dashboard): photo on top */
.vl-mc.is-compact { flex-direction: column; gap: .7rem; height: 100%; }
.vl-mc.is-compact .vl-mc-photo { flex-basis: auto; width: 100%; height: 190px; }
.vl-mc.is-compact .vl-mc-facts li:nth-child(n+3) { display: none; }

/* ---------- Member dashboard ---------- */
.vl-dash-card { background: #fff; border: 1px solid var(--vl-line); border-radius: 18px; padding: 1.4rem 1.5rem; margin-bottom: 1.25rem; min-width: 0; }
/* A card inside a dashboard box needs no second frame; long facts must not widen the column */
.vl-dash-card .vl-mc { border: 0; padding: 0; }
.vl-dash-card .vl-mc:hover { box-shadow: none; }
.vl-mc { min-width: 0; max-width: 100%; }
.vl-dash-card h2 { font-size: 1.15rem; margin: 0; }
.vl-dash-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.vl-dash-head a { font-size: 13.5px; font-weight: 600; white-space: nowrap; }
.vl-welcome { display: grid; grid-template-columns: auto 1fr; gap: 1.2rem; align-items: center;
    background: linear-gradient(135deg, var(--vl-wine) 0%, var(--vl-maroon-dark) 60%, var(--vl-maroon) 100%); color: rgba(255, 255, 255, .85); border: 0; }
.vl-welcome h1 { color: #fff; font-size: 1.5rem; margin: 0 0 .2rem; }
.vl-welcome-photo { width: 72px; height: 72px; border-radius: 50%; overflow: hidden; border: 3px solid rgba(255, 255, 255, .35); display: flex; align-items: center;
    justify-content: center; background: var(--vl-gold-soft); color: var(--vl-maroon); font-family: var(--vl-serif); font-size: 1.6rem; }
.vl-welcome-photo img { width: 100%; height: 100%; object-fit: cover; }
.vl-verified { display: inline-flex; align-items: center; gap: .3rem; background: rgba(252, 56, 144, .2); color: #fff1f7; border-radius: 999px; padding: .15rem .6rem; font-size: 12px; font-weight: 600; }
    background: conic-gradient(var(--vl-gold) calc(var(--p) * 1%), rgba(255, 255, 255, .18) 0); }
.vl-next { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .75rem; }
.vl-next a { display: inline-flex; align-items: center; gap: .35rem; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .25); color: #fff;
    border-radius: 999px; padding: .3rem .8rem; font-size: 13px; }
.vl-next a:hover { background: rgba(255, 255, 255, .22); color: #fff; text-decoration: none; }
.vl-stat { display: flex; align-items: center; gap: .8rem; padding: .7rem 0; border-top: 1px solid var(--vl-line); color: var(--vl-ink); }
.vl-stat:first-of-type { border-top: 0; padding-top: 0; }
.vl-stat > i { width: 42px; height: 42px; flex: 0 0 42px; border-radius: 50%; background: var(--vl-gold-soft); color: var(--vl-maroon); display: inline-flex;
    align-items: center; justify-content: center; font-size: 20px; }
.vl-stat b { font-size: 1.15rem; }
.vl-stat > a { margin-left: auto; font-size: 13.5px; font-weight: 600; white-space: nowrap; }
.vl-avatars { display: flex; margin-top: .25rem; }
.vl-avatars span { width: 30px; height: 30px; border-radius: 50%; border: 2px solid #fff; margin-left: -8px; background: var(--vl-gold-soft); color: var(--vl-maroon);
    font-size: 11px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; overflow: hidden; }
.vl-avatars span:first-child { margin-left: 0; }
.vl-avatars img { width: 100%; height: 100%; object-fit: cover; }
.vl-plan { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.vl-plan ul { list-style: none; padding: 0; margin: .5rem 0 0; font-size: 14px; color: var(--vl-ink); }
.vl-plan li { padding: .15rem 0; }
.vl-plan li i { color: var(--vl-gold-dark); margin-right: .35rem; }
.vl-empty { text-align: center; color: var(--vl-muted); padding: 1.2rem .5rem; font-size: 14px; }
@media (max-width: 767.98px) {
    .vl-welcome { grid-template-columns: auto 1fr; }
    .vl-welcome-photo { width: 52px; height: 52px; font-size: 1.2rem; align-self: start; }
    .vl-welcome h1 { font-size: 1.3rem; }
    .vl-dash-card { padding: 1.1rem 1rem; border-radius: 14px; }
}
/* Phones: recommendations two per row, smaller photos */
@media (max-width: 575.98px) {
    .vl-mc.is-compact { padding: .6rem; gap: .5rem; }
    .vl-mc.is-compact .vl-mc-photo { height: 132px; }
    .vl-mc.is-compact .vl-mc-initials { font-size: 1.7rem; }
    .vl-mc.is-compact .vl-mc-name { font-size: 1rem; }
    .vl-mc.is-compact .vl-mc-facts { font-size: 12px; margin: .25rem 0 .4rem; }
    .vl-mc.is-compact .vl-mc-primary { padding: .35rem .75rem; font-size: 12.5px; }
}

/* Trust: only real checks (ID verified, email verified) and real activity */
.vl-badges { display: flex; flex-wrap: wrap; gap: .35rem .5rem; margin-top: .35rem; font-size: 12px; }
.vl-badge { display: inline-flex; align-items: center; gap: .25rem; color: #1f7a4d; background: #e8f5ee; border-radius: 999px; padding: .1rem .55rem; font-weight: 600; }
.vl-active { display: inline-flex; align-items: center; gap: .3rem; color: var(--vl-muted); }
.vl-active::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #22a35a; }
.vl-badges.is-on-dark .vl-badge { background: rgba(255, 255, 255, .16); color: #fff; }
.vl-badges.is-on-dark .vl-active { color: rgba(255, 255, 255, .85); }
.vl-badges.is-on-dark .vl-active::before { background: #6ee7a0; }

/* Interests page: tabs and rows */
.vl-tabs { display: flex; gap: .4rem; border-bottom: 1px solid var(--vl-line); margin: 0 0 .5rem; overflow-x: auto; }
.vl-tabs a { display: inline-flex; align-items: center; gap: .4rem; padding: .6rem .9rem; color: var(--vl-muted); font-weight: 600; font-size: 14.5px; border-bottom: 2.5px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.vl-tabs a:hover { color: var(--vl-maroon); text-decoration: none; }
.vl-tabs a.is-active { color: var(--vl-maroon); border-bottom-color: var(--vl-maroon); }
.vl-tab-count { background: var(--vl-gold-soft); color: var(--vl-maroon); border-radius: 999px; padding: 0 .5rem; font-size: 12px; }
.vl-irow { display: flex; align-items: center; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--vl-line); }
.vl-irow:last-of-type { border-bottom: 0; }
.vl-irow-photo { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 50%; overflow: hidden; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(150deg, var(--vl-gold-soft) 0%, #fad3e6 100%); color: var(--vl-maroon); font-family: var(--vl-serif); font-size: 1.35rem; }
.vl-irow-photo:hover { text-decoration: none; color: var(--vl-maroon); }
.vl-irow-photo img { width: 100%; height: 100%; object-fit: cover; }
.vl-irow-body { flex: 1; min-width: 0; }
.vl-irow-name { font-family: var(--vl-serif); font-size: 1.1rem; color: var(--vl-ink); }
.vl-irow-name:hover { color: var(--vl-maroon); text-decoration: none; }
.vl-irow-facts { font-size: 13px; color: var(--vl-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vl-irow-when { font-size: 12.5px; color: var(--vl-muted); margin-top: .2rem; }
.vl-status { color: var(--vl-gold-dark); font-weight: 600; }
.vl-irow-actions { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 575.98px) {
    .vl-irow { flex-wrap: wrap; gap: .75rem; }
    .vl-irow-photo { flex-basis: 52px; width: 52px; height: 52px; font-size: 1.1rem; }
    .vl-irow-body { flex-basis: calc(100% - 52px - .75rem); }
    .vl-irow-actions { width: 100%; justify-content: flex-start; padding-left: calc(52px + .75rem); }
}
@media (max-width: 575.98px) {
    .vl-tabs { gap: 0; }
    .vl-tabs a { padding: .55rem .55rem; font-size: 13.5px; }
}

/* Dashboard activity: one slim strip of small chips (icon, number, one word) */
.vl-strip { display: flex; flex-wrap: wrap; gap: .5rem; margin: -.35rem 0 1.25rem; }
.vl-chip { display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .8rem; border-radius: 999px; background: #fff;
    border: 1px solid var(--vl-line); color: var(--vl-ink); font-size: 13.5px; line-height: 1; transition: border-color .15s; }
.vl-chip:hover { border-color: var(--vl-maroon); color: var(--vl-ink); text-decoration: none; }
.vl-chip i { font-size: 16px; color: var(--vl-maroon); }
.vl-chip b { font-size: 14px; }
.vl-chip span { color: var(--vl-muted); }
.vl-chip.is-alert { background: var(--vl-gold-soft); border-color: var(--vl-gold); }
@media (max-width: 575.98px) {
    .vl-strip { gap: .35rem; }
    .vl-chip { padding: .35rem .6rem; font-size: 12.5px; }
    .vl-chip i { font-size: 14px; }
}
/* Shorter member card (dashboard Today's Match) */
.vl-mc.is-small { gap: .9rem; }
.vl-mc.is-small .vl-mc-photo { flex-basis: 104px; height: 128px; }
.vl-mc.is-small .vl-mc-initials { font-size: 2rem; }
.vl-mc.is-small .vl-mc-facts { margin: .3rem 0 .4rem; }
.vl-mc.is-small .vl-mc-facts li:nth-child(n+3) { display: none; }
.vl-mc.is-small .vl-mc-match { margin-bottom: .45rem; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block; }
.vl-mc.is-small .vl-mc-primary { padding: .35rem .95rem; font-size: 13.5px; }

/* ---------- Dating: text logo (partials/vl/wordmark), Likes count, one-row member header on phones ---------- */
.vl-wordmark { display: inline-flex; align-items: center; gap: .5rem; color: #fff; line-height: 1; }
.vl-wordmark-mark {
    width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--vl-rose), var(--vl-gold)); color: #fff; font-size: 20px;
    box-shadow: 0 4px 12px rgba(224, 69, 127, .35);
}
.vl-wordmark-name { font-family: var(--vl-serif); font-weight: 700; font-size: 24px; letter-spacing: .2px; color: #fff; }
.vl-wordmark.is-sm .vl-wordmark-mark { width: 26px; height: 26px; font-size: 15px; }
.vl-wordmark.is-sm .vl-wordmark-name { font-size: 18px; }
a:hover .vl-wordmark-name { color: #fff; }
.vl-nav-count {
    display: inline-block; min-width: 18px; padding: 1px 5px; margin-left: 4px; border-radius: 999px;
    background: var(--vl-rose); color: #fff; font-size: 11px; font-weight: 700; line-height: 16px; text-align: center; vertical-align: 2px;
}
@media (max-width: 991.98px) {
    .vl-page-offset.vl-page-offset-member { padding-top: 60px; }
    .vl-wordmark-mark { width: 30px; height: 30px; font-size: 17px; }
    .vl-wordmark-name { font-size: 21px; }
}
/* On light backgrounds the name is dark */
.vl-sh-card-logo .vl-wordmark-name, a:hover .vl-sh-card-logo .vl-wordmark-name { color: var(--vl-maroon); }

/* ---------- Choice chips (profile setup, Dating profile card) ---------- */
.st-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.st-chip { margin: 0; cursor: pointer; }
.st-chip input { position: absolute; opacity: 0; pointer-events: none; }
.st-chip span {
    display: inline-block; padding: 7px 14px; border-radius: 999px; border: 1.5px solid var(--vl-line);
    font-size: 14px; color: var(--vl-ink); background: #fff; transition: all .15s ease;
}
.st-chip:hover span { border-color: var(--vl-rose); }
.st-chip input:checked + span { background: var(--vl-ink); border-color: var(--vl-ink); color: #fff; }
.st-chip input:focus-visible + span { outline: 2px solid var(--vl-rose); outline-offset: 2px; }
.st-chip input:disabled + span { opacity: .45; cursor: not-allowed; }

/* ---------- Dating profile card (frontend/member/profile/dating) ---------- */
#dating .card-header { display: flex; justify-content: space-between; align-items: center; }
.vl-dp-bar { height: 6px; border-radius: 6px; background: var(--vl-line); overflow: hidden; }
.vl-dp-bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--vl-maroon), var(--vl-rose)); }
.vl-dp-row {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0;
    border-top: 1px solid var(--vl-line); color: var(--vl-ink);
}
.vl-dp-row:hover { text-decoration: none; color: var(--vl-maroon); }
.vl-dp-row b { display: block; font-size: 14px; }
.vl-dp-row small { display: block; color: var(--vl-muted); font-size: 13px; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.vl-dp-row i { font-size: 18px; color: var(--vl-muted); }

/* ---------- Dating details on a full profile (public_profile/dating) ---------- */
.vl-pd-photos { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 6px; margin-bottom: 12px; scroll-snap-type: x mandatory; }
.vl-pd-photos img { flex: 0 0 auto; width: 150px; height: 200px; object-fit: cover; border-radius: 12px; scroll-snap-align: start; }
.vl-pd-meta { display: flex; flex-wrap: wrap; gap: 16px; font-size: 14px; color: var(--vl-muted); margin-bottom: 10px; }
.vl-pd-meta i { color: var(--vl-rose); margin-right: 4px; }
.vl-pd-meta b { color: var(--vl-ink); }
.vl-pd .dc-prompt { background: var(--vl-sand); border-radius: 12px; padding: 10px 12px; margin-bottom: 8px; color: var(--vl-ink); font-size: 15px; }
.vl-pd .dc-prompt span { display: block; font-size: 12px; font-weight: 700; color: var(--vl-muted); margin-bottom: 2px; }
.vl-pd .dc-interests { list-style: none; padding: 0; margin: 0 0 8px; display: flex; flex-wrap: wrap; gap: 6px; }
.vl-pd .dc-interests li { border: 1px solid var(--vl-line); border-radius: 999px; padding: 2px 10px; font-size: 13px; color: var(--vl-ink); }
.vl-pd .dc-interests li.is-shared { border-color: var(--vl-rose); color: var(--vl-maroon); font-weight: 600; background: #fff7fb; }
.vl-pd .dc-facts { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.vl-pd .dc-facts li { background: var(--vl-sand); border-radius: 999px; padding: 3px 10px; font-size: 13px; color: var(--vl-ink); }
.vl-pd .dc-facts i { color: var(--vl-rose); margin-right: 4px; }
