/* VirtualFem public light theme, Stage 1 */
html { color-scheme: light; }

body.vf-light {
    color: #272329;
    background:
        radial-gradient(900px circle at 8% 3%, rgba(244, 114, 182, 0.10), transparent 48%),
        radial-gradient(760px circle at 96% 18%, rgba(34, 211, 238, 0.07), transparent 44%),
        #f7f4f1;
}

/* Shared navigation */
body.vf-light nav {
    color: #3f3a40;
    border-color: rgba(63, 48, 57, 0.12) !important;
    background: rgba(255, 253, 251, 0.94) !important;
    box-shadow: 0 8px 30px rgba(53, 36, 47, 0.07);
    backdrop-filter: blur(18px);
}
body.vf-light .nav-link,
body.vf-light nav a:not(.members-access):not([class*="bg-pink"]) { color: #3f3a40; }
body.vf-light .nav-link:hover,
body.vf-light .nav-link:focus-visible,
body.vf-light nav a:not(.members-access):not([class*="bg-pink"]):hover { color: #be185d; }
body.vf-light nav a[class*="bg-pink"] { color: #fff; box-shadow: 0 8px 22px rgba(219, 39, 119, 0.20); }
body.vf-light .members-access {
    color: #065f46;
    border-color: rgba(5, 150, 105, 0.24);
    background: #ecfdf5;
    box-shadow: none;
}
body.vf-light .members-access:hover { color: #064e3b; background: #d1fae5; border-color: rgba(5, 150, 105, 0.42); }

/* Shared utility remapping */
body.vf-light .bg-zinc-950,
body.vf-light .bg-zinc-950\/50,
body.vf-light .bg-zinc-900,
body.vf-light .bg-zinc-900\/40,
body.vf-light .bg-zinc-900\/60,
body.vf-light .bg-zinc-900\/70,
body.vf-light .bg-zinc-800 {
    background-color: rgba(255, 255, 255, 0.94);
}
body.vf-light .border-zinc-900,
body.vf-light .border-zinc-800,
body.vf-light .border-zinc-700,
body.vf-light .border-zinc-600 { border-color: #ded8d4; }
body.vf-light .text-white { color: #272329; }
body.vf-light .text-zinc-100,
body.vf-light .text-zinc-200 { color: #29252a; }
body.vf-light .text-zinc-300 { color: #454047; }
body.vf-light .text-zinc-400 { color: #625b63; }
body.vf-light .text-zinc-500 { color: #746c74; }
body.vf-light .text-zinc-600 { color: #817881; }
body.vf-light .text-pink-300,
body.vf-light .text-pink-400,
body.vf-light .text-pink-500 { color: #be185d; }
body.vf-light .text-emerald-300,
body.vf-light .text-emerald-400 { color: #047857; }
body.vf-light .text-blue-300,
body.vf-light .text-blue-400 { color: #0369a1; }
body.vf-light .text-amber-300,
body.vf-light .text-amber-400 { color: #a16207; }
body.vf-light .text-violet-300,
body.vf-light .text-violet-400 { color: #7e22ce; }
body.vf-light .bg-pink-950\/20,
body.vf-light .bg-pink-950\/30,
body.vf-light .bg-pink-950\/50,
body.vf-light .bg-pink-950\/70,
body.vf-light .bg-pink-950\/80 { background-color: #fdf2f8; }
body.vf-light .bg-emerald-950\/20,
body.vf-light .bg-emerald-950\/30,
body.vf-light .bg-emerald-950\/50,
body.vf-light .bg-emerald-950\/70,
body.vf-light .bg-emerald-900\/60 { background-color: #ecfdf5; }
body.vf-light .bg-blue-950\/50,
body.vf-light .bg-blue-950\/70 { background-color: #eff6ff; }
body.vf-light .bg-amber-950\/50,
body.vf-light .bg-amber-950\/70 { background-color: #fffbeb; }
body.vf-light .bg-violet-950\/20,
body.vf-light .bg-violet-950\/30,
body.vf-light .bg-violet-950\/50,
body.vf-light .bg-violet-950\/70 { background-color: #faf5ff; }
body.vf-light .border-pink-900\/50,
body.vf-light .border-pink-900\/60 { border-color: rgba(190, 24, 93, 0.25); }
body.vf-light .border-emerald-800\/60,
body.vf-light .border-emerald-900\/50,
body.vf-light .border-emerald-900\/60 { border-color: rgba(5, 150, 105, 0.28); }
body.vf-light .border-violet-900\/60 { border-color: rgba(126, 34, 206, 0.24); }
body.vf-light [class*="bg-pink-5"],
body.vf-light [class*="bg-pink-6"],
body.vf-light [class*="bg-emerald-5"],
body.vf-light [class*="bg-emerald-6"] { color: #fff; }
body.vf-light [class*="bg-pink-5"] .text-white,
body.vf-light [class*="bg-pink-6"] .text-white,
body.vf-light [class*="bg-emerald-5"] .text-white,
body.vf-light [class*="bg-emerald-6"] .text-white { color: #fff; }
body.vf-light a:focus-visible,
body.vf-light button:focus-visible,
body.vf-light summary:focus-visible { outline-color: #db2777; }

/* Shared cards, sections, and footer */
body.vf-light main > [class*="border-t"],
body.vf-light section[class*="border"],
body.vf-light footer { border-color: #ded8d4; }
body.vf-light div.rounded-2xl.border,
body.vf-light div.rounded-3xl.border,
body.vf-light article.rounded-2xl,
body.vf-light article.rounded-3xl,
body.vf-light details {
    box-shadow: 0 12px 34px rgba(58, 40, 51, 0.06);
}
body.vf-light div.rounded-2xl.border:hover,
body.vf-light div.rounded-3xl.border:hover,
body.vf-light article.rounded-2xl:hover,
body.vf-light article.rounded-3xl:hover,
body.vf-light details:hover {
    border-color: rgba(219, 39, 119, 0.38);
    box-shadow: 0 20px 46px rgba(98, 42, 70, 0.11), 0 0 0 1px rgba(244, 114, 182, 0.05);
}
body.vf-light footer { color: #706870; background: rgba(255, 253, 251, 0.76); }
body.vf-light footer .text-zinc-700 { color: #b8afb5; }

/* Dark media overlays and saturated controls stay dark */
body.vf-light [class*="bg-black"] { color: #fff; }
body.vf-light [class*="bg-black"] .text-white,
body.vf-light [class*="from-black"] .text-white { color: #fff; }
body.vf-light #screenshotModal,
body.vf-light #photoModal,
body.vf-light #penthouseCoverModal { color: #e4e4e7; }
body.vf-light #screenshotModal [class*="bg-zinc"],
body.vf-light #photoModal [class*="bg-zinc"] {
    color: #f4f4f5;
    background-color: #18181b;
    border-color: #3f3f46;
}
body.vf-light #screenshotModal .text-white,
body.vf-light #photoModal .text-white { color: #f4f4f5; }
body.vf-light #girlModal { color: #272329; }
body.vf-light #girlModal .modal {
    color: #272329;
    background: #fff;
    border-color: #ded8d4;
    box-shadow: 0 28px 80px rgba(30, 22, 27, .24);
}
body.vf-light #girlModal .text-zinc-200 { color: #272329; }
body.vf-light #girlModal .text-zinc-300 { color: #454047; }
body.vf-light #girlModal .text-zinc-400 { color: #625b63; }
body.vf-light #girlModal button { color: #625b63; }
body.vf-light #girlModal button:hover { color: #272329; }
body.vf-light #girlModal a.border-zinc-600 { color: #831843; border-color: rgba(190,24,93,.22); background: #fdf2f8; }
body.vf-light #girlModal a.border-zinc-600:hover { background: #fce7f3; }
body.vf-light [class*="from-pink-950"][class*="via-zinc-900"][class*="to-zinc-950"] { color: #fff; }
body.vf-light [class*="from-pink-950"][class*="via-zinc-900"][class*="to-zinc-950"] .text-white,
body.vf-light [class*="from-pink-950"][class*="via-zinc-900"][class*="to-zinc-950"] h2 { color: #fff; }
body.vf-light [class*="from-pink-950"][class*="via-zinc-900"][class*="to-zinc-950"] .text-zinc-300 { color: #d4d4d8; }
body.vf-light [class*="from-pink-950"][class*="via-zinc-900"][class*="to-zinc-950"] .text-zinc-400 { color: #a1a1aa; }
body.vf-light [class*="from-pink-950"][class*="via-zinc-900"][class*="to-zinc-950"] .text-zinc-500 { color: #8f8f98; }
body.vf-light [class*="from-pink-950"][class*="via-zinc-900"][class*="to-zinc-950"] a.border-zinc-600 { color: #f4f4f5; border-color: #71717a; background: rgba(0,0,0,.12); }

/* Home */
body.vf-light .index-hero {
    color: #272329;
    border-color: rgba(87,74,81,.16);
    background: #fff;
    box-shadow: 0 22px 58px rgba(58,40,51,.12);
}
body.vf-light .index-hero-shade {
    background: linear-gradient(90deg, rgba(255,253,251,.99) 0%, rgba(255,253,251,.97) 38%, rgba(255,253,251,.78) 56%, rgba(255,253,251,.18) 76%, transparent 100%);
}
body.vf-light .index-hero-copy,
body.vf-light .index-hero-copy .text-white { color: #272329; }
body.vf-light .index-hero-copy .text-zinc-300 { color: #454047; }
body.vf-light .index-hero-copy .text-zinc-400 { color: #625b63; }
body.vf-light .index-hero-copy .text-zinc-500 { color: #746c74; }
body.vf-light .index-hero-copy .hero-primary-cta,
body.vf-light .index-hero-copy .hero-features-cta { color: #fff !important; }
body.vf-light .home-card-zone {
    background: transparent !important;
}
body.vf-light .home-card-zone::after {
    background: linear-gradient(to bottom, #f7f4f1 0%, rgba(247,244,241,.91) 12%, rgba(247,244,241,.72) 42%, #f7f4f1 100%) !important;
}
body.vf-light .vf-game-card {
    color: #272329 !important;
    border-color: rgba(219, 39, 119, 0.16) !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 16px 42px rgba(58,40,51,.09) !important;
}
body.vf-light .vf-game-card .text-white,
body.vf-light .vf-game-card .text-zinc-200 { color: #272329; }
body.vf-light .vf-news-media { background: linear-gradient(135deg, #eee8e4, #fff) !important; }
body.vf-light .hero-features-cta { color: #ecfdf5 !important; }

/* Features */
body.vf-light .features-hero {
    border-color: rgba(219, 39, 119, 0.16);
    background:
        radial-gradient(620px circle at 10% 0%, rgba(244, 114, 182, 0.17), transparent 58%),
        radial-gradient(560px circle at 94% 100%, rgba(34, 211, 238, 0.10), transparent 58%),
        linear-gradient(145deg, rgba(255,255,255,.98), rgba(255,250,252,.98) 62%, rgba(247,252,252,.98));
    box-shadow: 0 24px 70px rgba(69, 40, 57, 0.11), inset 0 1px 0 #fff;
}
body.vf-light .features-hero::before {
    background: linear-gradient(rgba(69,40,57,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(69,40,57,.035) 1px, transparent 1px);
}
body.vf-light .features-hero-kicker { color: #be185d; }
body.vf-light .features-hero h1 { color: #211a20; }
body.vf-light .features-hero-subheadline { color: #514850; }
body.vf-light .features-hero-proof { color: #3f3a40; border-color: rgba(190,24,93,.13); }
body.vf-light .features-hero-interface { border-color: rgba(190,24,93,.28); box-shadow: 0 22px 54px rgba(45,31,40,.22), 0 0 0 5px rgba(255,255,255,.82); }
body.vf-light .features-gaming-callout {
    border-color: rgba(5,150,105,.20);
    background: linear-gradient(110deg, #ecfdf5, rgba(255,255,255,.92) 56%, #f8fafc);
    box-shadow: 0 12px 30px rgba(6,95,70,.07), inset 0 1px 0 #fff;
}
body.vf-light .features-gaming-callout-icon { color: #047857; background: #d1fae5; }
body.vf-light .features-gaming-callout h2 { color: #1f2937; }
body.vf-light .features-gaming-callout p { color: #4b5563; }
body.vf-light .features-gaming-footnote { color: #6b7280; }
body.vf-light .features-ownership-block {
    border-color: rgba(219,39,119,.16);
    background: linear-gradient(110deg, #fff1f6, rgba(255,255,255,.94) 58%, #f8fafc);
    box-shadow: 0 12px 32px rgba(98,42,70,.07), inset 0 1px 0 #fff;
}
body.vf-light .features-ownership-block h2 { color: #831843; }
body.vf-light .features-ownership-block p { color: #574e55; }
body.vf-light .feature-detail-row {
    border-color: rgba(var(--feature-rgb), .30);
    background: linear-gradient(110deg, rgba(var(--feature-rgb),.11), rgba(255,255,255,.96) 48%, rgba(255,255,255,.90));
    box-shadow: 0 10px 28px rgba(58,40,51,.055), inset 0 1px 0 #fff;
}
body.vf-light .feature-detail-row h3 { color: #272329; }
body.vf-light .feature-detail-icon { background: rgba(var(--feature-rgb), .13); }
body.vf-light .creator-feature-card {
    color: #fdf2f8;
    border-color: rgba(244,114,182,.44);
    background: radial-gradient(circle at 4% 0%, rgba(236,72,153,.26), transparent 36%), radial-gradient(circle at 96% 100%, rgba(34,211,238,.12), transparent 34%), linear-gradient(145deg, #35202f, #15131b);
}
body.vf-light .creator-feature-card .creator-feature-title,
body.vf-light .creator-feature-card:hover { color: #fff; }
body.vf-light .creator-feature-copy { color: #d4d4d8; }
body.vf-light .group.bg-zinc-900,
body.vf-light #latest-girls-grid > div { background: #fff; border-color: #e4ded9; box-shadow: 0 12px 30px rgba(58,40,51,.075); }
body.vf-light .group h4.text-white { color: #272329; }
body.vf-light #system-requirements .bg-zinc-900 { background: #fff; }
body.vf-light #system-requirements .bg-zinc-800 { background: #f3efec; }
body.vf-light #system-requirements .border-emerald-700\/60 { border-color: rgba(5,150,105,.42); }
body.vf-light .light-final-cta { border-color: rgba(219,39,119,.15); background: linear-gradient(135deg, #fff1f6, #fff 58%, #f0fdfa); }
body.vf-light .light-final-cta a.bg-white { color: #fff; background: #db2777; box-shadow: 0 12px 28px rgba(219,39,119,.24); }
body.vf-light .light-final-cta a.bg-white:hover { background: #be185d; }

/* History */
body.vf-light .history-final-cta {
    color: #272329 !important;
    border-color: rgba(219,39,119,.20);
    background: radial-gradient(circle at 92% 0%, rgba(244,114,182,.14), transparent 34%), linear-gradient(135deg, #fff1f6, #fff 58%, #f5f3ff);
    box-shadow: 0 22px 58px rgba(98,42,70,.11);
}
body.vf-light .history-final-cta h2 { color: #272329 !important; }
body.vf-light .history-final-cta > .relative > p.text-zinc-300 { color: #514850 !important; }
body.vf-light .history-final-cta .bg-black\/25 {
    color: #272329;
    border-color: #e4d9df;
    background: rgba(255,255,255,.78);
}
body.vf-light .history-final-cta .bg-black\/25 > div { border-color: #e4d9df; }
body.vf-light .history-final-cta .bg-black\/25 .text-zinc-400 { color: #625b63 !important; }
body.vf-light .history-final-cta .text-zinc-500 { color: #746c74 !important; }
body.vf-light .history-final-cta a.bg-pink-600 { color: #fff !important; }
body.vf-light .history-final-cta a.border-zinc-600 { color: #831843 !important; border-color: rgba(190,24,93,.24); background: #fff; }
body.vf-light .history-final-cta a.border-zinc-600:hover { background: #fdf2f8; }

/* Catalog */
body.vf-light .girl-preview { background: #fff; border-color: #e4ded9; box-shadow: 0 10px 28px rgba(58,40,51,.07); }
body.vf-light .girl-preview:hover { border-color: rgba(219,39,119,.44); }
body.vf-light .sales-proof { background: linear-gradient(135deg, #fff1f6, #fff, #f0fdfa); border-color: #e4ded9; }
body.vf-light .sales-proof > div { border-color: #e4ded9; }
body.vf-light .filter-chip { color: #514a51; border-color: #d8d0d5; background: #fff; }
body.vf-light .filter-chip.active-filter { color: #fff; border-color: #db2777; background: #db2777; }
body.vf-light .girl-profile-link { color: #047857; background: #ecfdf5; border-color: rgba(5,150,105,.24); }

/* Creator */
body.vf-light {
    --vf-bg: #f7f4f1;
    --vf-surface: #ffffff;
    --vf-surface-soft: rgba(255,255,255,.92);
    --vf-border: rgba(87,74,81,.17);
    --vf-text: #272329;
    --vf-muted: #625b63;
}
body.vf-light .creator-hero__copy,
body.vf-light .creator-hero__copy h1,
body.vf-light .creator-hero__copy .creator-hero__lead,
body.vf-light .creator-hero__copy .eyebrow,
body.vf-light .creator-hero__copy .text-white { color: #fff; }
body.vf-light .creator-flow__node,
body.vf-light .step-card,
body.vf-light .feature-card,
body.vf-light .voice-card,
body.vf-light .choice-card,
body.vf-light details,
body.vf-light .final-cta {
    color: #272329;
    border-color: rgba(87,74,81,.16);
    background: rgba(255,255,255,.94);
    box-shadow: 0 14px 36px rgba(58,40,51,.07);
}
body.vf-light .section { border-color: #ded8d4; }
body.vf-light .workflow-note { color: #155e75; border-color: rgba(8,145,178,.22); background: #ecfeff; }
body.vf-light .model-band { color: #272329; background: linear-gradient(135deg, #f0fdfa, #fff, #faf5ff); }
body.vf-light .check-list li { color: #454047; }
body.vf-light .screen-card {
    color: #272329;
    background: #fff;
    border-color: #ded8d4;
    box-shadow: 0 18px 44px rgba(58,40,51,.10);
}
body.vf-light .screen-card__caption { background: #fff; }
body.vf-light .screen-card__caption span { color: #625b63; }
body.vf-light .screen-card__caption a { color: #be185d; }
body.vf-light .screen-card img { background: #111; }
@media (hover: hover) and (pointer: fine) {
    body.vf-light .screen-card:hover {
        border-color: rgba(219,39,119,.34);
        box-shadow: 0 22px 52px rgba(98,42,70,.14);
    }
}

/* FAQ */
body.vf-light .faq-atmosphere { background: #f7f4f1; }
body.vf-light .faq-atmosphere::before { opacity: .18; filter: saturate(.78) contrast(.92); }
body.vf-light .faq-atmosphere::after { background: linear-gradient(to bottom, rgba(247,244,241,.38), rgba(247,244,241,.78) 38%, #f7f4f1 88%); }
body.vf-light .faq-atmosphere h1 { color: #272329; text-shadow: 0 2px 18px rgba(255,255,255,.88); }
body.vf-light .faq-atmosphere details,
body.vf-light .faq-atmosphere .faq-contact {
    color: #272329;
    border-color: rgba(87,74,81,.16) !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 14px 38px rgba(58,40,51,.075) !important;
}

/* News */
body.vf-light .news-filter { color: #514a51; background: #fff; border-color: #d8d0d5; }
body.vf-light .news-filter[aria-pressed="true"] { color: #fff; border-color: #db2777; background: #db2777; }
body.vf-light #news-list article { background: #fff; border-color: #e4ded9; box-shadow: 0 12px 30px rgba(58,40,51,.065); }

/* Models wanted */
body.vf-light.models-light {
    --bg: #f7f4f1;
    --surface: #ffffff;
    --card: #ffffff;
    --text: #272329;
    --muted: #625b63;
    --line: rgba(87,74,81,.16);
}
body.vf-light.models-light .card,
body.vf-light.models-light .faq details { box-shadow: 0 14px 36px rgba(58,40,51,.07); }
body.vf-light.models-light .btn-ghost { color: #831843; border-color: rgba(190,24,93,.22); background: #fdf2f8; }

/* Legal and policy pages */
body.vf-light .legal-shell { max-width: 64rem; margin: 0 auto; padding: 3rem 1.5rem 4rem; }
body.vf-light .legal-card { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid #ded8d4; border-radius: 1.5rem; background: #fff; box-shadow: 0 16px 42px rgba(58,40,51,.075); }
body.vf-light .legal-card h1 { color: #272329; font-size: clamp(2rem, 5vw, 3.25rem); line-height: 1.05; }
body.vf-light .legal-card a { color: #be185d; }

@media (max-width: 767px) {
    body.vf-light nav > div { overflow-x: auto; scrollbar-width: thin; }
    body.vf-light .home-card-zone::after { background: linear-gradient(to bottom, #f7f4f1 0%, rgba(247,244,241,.82) 22%, rgba(247,244,241,.72) 58%, #f7f4f1 100%) !important; }
}

@media (prefers-reduced-motion: reduce) {
    body.vf-light *, body.vf-light *::before, body.vf-light *::after { scroll-behavior: auto; }
}
