/* ============ KDAY design tokens ============ */
:root {
    --kday-green: #2E7D32;
    --kday-green-2: #43A047;
    --kday-green-light: #66BB6A;
    --kday-gold: #F9A825;
    --kday-gold-2: #FBC02D;
    --kday-brown: #6D4C41;
    --kday-surface: rgba(255, 255, 255, 0.72);
    --kday-surface-border: rgba(46, 125, 50, 0.15);
    --kday-body-bg: #f4f8f4;
    --kday-text: #1d2b1f;
}

[data-bs-theme="dark"] {
    --kday-surface: rgba(30, 41, 33, 0.72);
    --kday-surface-border: rgba(102, 187, 106, 0.2);
    --kday-body-bg: #101710;
    --kday-text: #e4ede5;
}

body {
    font-family: 'Poppins', 'Noto Sans Devanagari', system-ui, sans-serif;
    background: var(--kday-body-bg);
    color: var(--kday-text);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* ============ Buttons ============ */
.btn-kday {
    background: linear-gradient(135deg, var(--kday-green), var(--kday-green-2));
    border: none;
    color: #fff;
}
.btn-kday:hover { background: linear-gradient(135deg, #1f5c23, var(--kday-green)); color: #fff; }
.btn-kday-gold {
    background: linear-gradient(135deg, var(--kday-gold), var(--kday-gold-2));
    border: none;
    color: #3d2c00;
    font-weight: 600;
}
.btn-kday-gold:hover { filter: brightness(0.95); color: #3d2c00; }
.btn-icon { border: 1px solid var(--kday-surface-border); border-radius: 50%; width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; }

/* ============ Glassmorphism ============ */
.glass-card {
    background: var(--kday-surface);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--kday-surface-border);
    border-radius: 14px;
    box-shadow: 0 6px 24px rgba(20, 50, 25, 0.08);
    transition: transform .18s ease, box-shadow .18s ease;
}
.glass-card:hover { box-shadow: 0 10px 28px rgba(20, 50, 25, 0.13); }
.card.glass-card .card-header { background: transparent; border-bottom: 1px solid var(--kday-surface-border); font-weight: 600; }

/* ============ Public navbar / footer ============ */
.kday-navbar {
    background: var(--kday-surface);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--kday-surface-border);
}
.kday-navbar .nav-link { font-weight: 500; }
.brand-logo {
    width: 44px; height: 44px; border-radius: 50%; overflow: hidden;
    background: transparent; display: inline-flex; align-items: center; justify-content: center;
}
.brand-logo img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* KDAY brand logo image — place the file at wwwroot/images/logo.png */
img.kday-logo { object-fit: cover; border-radius: 50%; vertical-align: middle; background: #fff; }
.kday-logo-footer  { width: 42px; height: 42px; margin-right: .55rem; }
.kday-logo-sidebar { width: 34px; height: 34px; margin-right: .15rem; }
.kday-logo-auth    { width: 44px; height: 44px; margin-right: .4rem; }
.kday-logo-card    { width: 26px; height: 26px; margin-right: .3rem; }
.kday-logo-doc     { width: 64px; height: 64px; }
.brand-text small { font-size: .65rem; line-height: 1; opacity: .8; }
.kday-footer { background: #1b3d1e; color: #dfeadf; }
.kday-footer a { color: #cfe3cf; text-decoration: none; }
.kday-footer a:hover { color: var(--kday-gold-2); }
.footer-strip { background: #142e16; color: #9fbf9f; }

/* ============ Hero & public sections ============ */
.hero-slide {
    min-height: 480px;
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: center;
}
.hero-fallback { background: linear-gradient(120deg, #1b3d1e, var(--kday-green) 60%, var(--kday-green-2)); }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15, 40, 18, .78), rgba(15, 40, 18, .25)); }
.hero-caption { position: relative; color: #fff; padding: 4rem 1rem; }
.hero-caption h1 { font-weight: 700; font-size: clamp(1.8rem, 4vw, 3rem); }
.impact-strip { background: linear-gradient(135deg, var(--kday-green), var(--kday-green-2)); color: #fff; }
.impact-stat { font-size: 1.6rem; font-weight: 700; }
.impact-stat .small { font-size: .8rem; font-weight: 400; opacity: .9; }
.section-title { font-weight: 700; color: var(--kday-green); }
.section-alt { background: rgba(46, 125, 50, 0.06); }
[data-bs-theme="dark"] .section-alt { background: rgba(102, 187, 106, 0.05); }
.page-hero {
    background: linear-gradient(120deg, #1b3d1e, var(--kday-green));
    color: #fff; padding: 3.2rem 0;
}
.page-hero h1 { font-weight: 700; }

.benefit-card { padding: 1.4rem; }
.benefit-icon {
    width: 52px; height: 52px; border-radius: 14px;
    background: linear-gradient(135deg, var(--kday-green), var(--kday-green-light));
    color: #fff; display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.35rem; margin-bottom: .8rem;
}
.benefit-amount { color: var(--kday-brown); font-weight: 700; }
[data-bs-theme="dark"] .benefit-amount { color: var(--kday-gold-2); }
.why-card { background: var(--kday-surface); border: 1px solid var(--kday-surface-border); border-radius: 14px; padding: 1.1rem; height: 100%; }
.why-card i { color: var(--kday-green-2); font-size: 1.4rem; margin-bottom: .4rem; }
.girlchild-band { background: linear-gradient(135deg, var(--kday-gold), var(--kday-gold-2)); color: #3d2c00; }
.story-card { overflow: hidden; }
.story-img { width: 100%; height: 170px; object-fit: cover; }
.gallery-thumb { width: 100%; height: 110px; object-fit: cover; border-radius: 10px; }
.partner-logo { max-height: 56px; max-width: 130px; object-fit: contain; filter: grayscale(30%); }
.cta-band { background: linear-gradient(120deg, #1b3d1e, var(--kday-green)); color: #fff; border-radius: 18px; }

/* ============ Auth pages ============ */
.auth-page { justify-content: center; }
.auth-bg {
    position: fixed; inset: 0; z-index: -1;
    background: linear-gradient(140deg, #eaf5ea, #f7f3df 55%, #e8f2e8);
}
[data-bs-theme="dark"] .auth-bg { background: linear-gradient(140deg, #0e1a0f, #1a1a10 55%, #101f12); }
.auth-container { padding: 6vh 1rem; max-width: 980px; }
.auth-brand { font-size: 1.6rem; color: var(--kday-green); text-decoration: none; }
.auth-card { animation: floatIn .5s ease; }
.auth-role-icon {
    width: 60px; height: 60px; border-radius: 50%;
    background: linear-gradient(135deg, var(--kday-green), var(--kday-green-2));
    color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 1.5rem;
}
@keyframes floatIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

/* ============ Status badges ============ */
.badge[class*="status-"] { font-weight: 600; }
.status-pending, .status-draft, .status-raised, .status-new, .status-registered { background: #90a4ae; }
.status-submitted, .status-underreview, .status-contacted, .status-open { background: var(--kday-gold); color: #3d2c00; }
.status-approved, .status-settled, .status-verified, .status-converted, .status-answered, .status-completed, .status-renewed { background: var(--kday-green-2); }
.status-rejected, .status-closed { background: #c62828; }

/* ============ Misc ============ */
.page-title { color: var(--kday-green); font-weight: 700; margin-bottom: 1rem; }
[data-bs-theme="dark"] .page-title { color: var(--kday-green-light); }
.unread-notification { border-left: 4px solid var(--kday-gold); }
.cms-thumb { height: 120px; object-fit: cover; }
.receipt-card { border: 2px dashed var(--kday-green); border-radius: 14px; background: var(--kday-surface); }

/* Kisan Card */
.kisan-card { border-radius: 18px; overflow: hidden; background: linear-gradient(135deg, #1b3d1e, var(--kday-green) 55%, var(--kday-green-2)); color: #fff; }
.kisan-card-header { display: flex; justify-content: space-between; align-items: center; padding: .8rem 1.2rem; background: rgba(0, 0, 0, .22); font-weight: 600; }
.kisan-card-body { padding: 1.2rem; }
.kc-label { font-size: .65rem; text-transform: uppercase; letter-spacing: .08em; opacity: .8; }
.kc-value { font-weight: 600; }
.kc-number { font-size: 1.15rem; letter-spacing: .12em; }
.kc-qr { background: #fff; padding: 6px; border-radius: 10px; display: inline-block; }
.kisan-card-footer { padding: .5rem 1.2rem; background: rgba(0, 0, 0, .22); text-align: center; }

/* Certificate */
.certificate { max-width: 820px; border: 6px double var(--kday-green); border-radius: 8px; background: #fffdf4; color: #23301f; }
.certificate-name { font-weight: 700; color: var(--kday-green); }

/* Print */
@media print {
    .sidebar, .topbar, .kday-navbar, .kday-footer, .d-print-none { display: none !important; }
    .portal-content { padding: 0 !important; }
    body { background: #fff; }
}

/* ============ Homepage v2 (reference design) ============ */
.hero2 {
    background:
        radial-gradient(ellipse at 75% 20%, rgba(249, 168, 37, .18), transparent 45%),
        linear-gradient(105deg, #0d2610 0%, #16391b 45%, #2E7D32 100%);
    color: #fff;
    padding: 4.5rem 0 6.5rem;
    position: relative;
}
.hero2-title { font-weight: 800; font-size: clamp(1.9rem, 4.2vw, 3.1rem); line-height: 1.2; }
.hero2-title .text-gold { color: var(--kday-gold-2); }

/* Brand line inside the H1 — reads as an eyebrow, but stays real heading
   text so search engines see the scheme name where it counts. */
.hero2-brand {
    display: block;
    font-size: clamp(.82rem, 1.5vw, 1.02rem);
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--kday-gold-2);
    margin-bottom: .5rem;
    opacity: .95;
}
.hero2-sub { font-size: 1.35rem; font-weight: 600; margin-top: .3rem; }
.hero2-desc { max-width: 560px; opacity: .92; margin-top: 1rem; }
.hero2-badge {
    width: 210px; height: 210px; border-radius: 50%;
    border: 2px dashed var(--kday-gold-2);
    background: rgba(0, 0, 0, .25);
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    position: relative; gap: .4rem; padding: 1rem;
}
.hero2-badge-stars { color: var(--kday-gold-2); letter-spacing: .3em; font-size: .8rem; }
.hero2-badge-text { font-weight: 600; text-align: center; line-height: 1.45; }
.hero2-badge-leaf-l, .hero2-badge-leaf-r { position: absolute; bottom: 26px; color: var(--kday-gold-2); opacity: .85; }
.hero2-badge-leaf-l { left: 14px; transform: rotate(-35deg); }
.hero2-badge-leaf-r { right: 14px; transform: rotate(35deg) scaleX(-1); }

.eligibility-strip {
    background: var(--kday-surface);
    backdrop-filter: blur(12px);
    border: 1px solid var(--kday-surface-border);
    border-radius: 999px;
    display: flex; flex-wrap: wrap; justify-content: space-around; gap: .6rem;
    padding: 1rem 1.4rem;
    position: absolute; left: 50%; transform: translateX(-50%);
    bottom: -46px; width: min(1140px, 92%);
    color: var(--kday-text);
}
.eligibility-item { display: flex; align-items: center; gap: .6rem; font-weight: 600; font-size: .85rem; line-height: 1.25; }
.eligibility-item small { font-weight: 400; color: inherit; opacity: .7; }
.eligibility-icon {
    width: 42px; height: 42px; border-radius: 50%; flex-shrink: 0;
    background: linear-gradient(135deg, var(--kday-green), var(--kday-green-2));
    color: #fff; display: inline-flex; align-items: center; justify-content: center;
}
@media (max-width: 991.98px) {
    .eligibility-strip { position: static; transform: none; width: 100%; border-radius: 20px; margin-top: 2rem; }
    .hero2 { padding-bottom: 3rem; }
}
@media (min-width: 992px) {
    .hero2 { margin-bottom: 60px; }
}

.fancy-title span { color: var(--kday-green); font-weight: 800; }
[data-bs-theme="dark"] .fancy-title span { color: var(--kday-green-light); }
.fancy-title i { color: var(--kday-gold); font-size: .8em; }

.kb-card { padding: 1.1rem .7rem; }
.kb-icon {
    width: 54px; height: 54px; border-radius: 50%;
    background: linear-gradient(135deg, var(--kday-green), var(--kday-green-2));
    color: #fff; display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.3rem; margin-bottom: .6rem;
}
.kb-title { font-weight: 700; font-size: .85rem; }
.kb-amount { font-weight: 800; font-size: 1.05rem; color: var(--kday-text); margin: .2rem 0; }
.kb-sub { font-size: .72rem; opacity: .7; }
.benefit-note { font-size: .82rem; color: var(--kday-brown); }
[data-bs-theme="dark"] .benefit-note { color: #d3b8a5; }

.check-list li { margin-bottom: .45rem; }
.check-list i { color: var(--kday-green-2); margin-right: .5rem; }

.goal-card {
    background:
        radial-gradient(ellipse at 20% 0%, rgba(249, 168, 37, .15), transparent 50%),
        linear-gradient(120deg, #14301a, #2E7D32);
    color: #fff; border-radius: 18px; padding: 2rem 1.5rem;
}
.goal-circle {
    width: 86px; height: 86px; border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, .55);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.6rem; color: var(--kday-gold-2); margin-bottom: .6rem;
    background: rgba(255, 255, 255, .07);
}
.goal-value { font-weight: 800; font-size: 1.3rem; color: var(--kday-gold-2); }
.goal-label { font-size: .8rem; opacity: .85; }

.gallery-thumb2 {
    width: 100%; height: 130px; object-fit: cover; border-radius: 12px; display: block;
}
.gallery-ph {
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #d9ead3, #f2e8c9);
    color: var(--kday-green); font-size: 2rem;
}
[data-bs-theme="dark"] .gallery-ph { background: linear-gradient(135deg, #1d2f1f, #2b2b1c); color: var(--kday-green-light); }

/* ---- Home: DB gallery items + story cards + centered popups ---- */
.home-gal-item { cursor: pointer; overflow: hidden; }
.home-gal-item .home-gal-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-gal-count { position: absolute; right: .4rem; bottom: .4rem; background: rgba(0,0,0,.62); color: #fff; font-size: .68rem; padding: .08rem .4rem; border-radius: 5px; }
.home-gal-item:hover { filter: brightness(.96); }
.home-gal-stage, .home-story-stage { position: relative; height: 300px; border-radius: 12px; overflow: hidden; display: flex; align-items: center; justify-content: center; font-size: 4rem; }
.home-gal-stage .home-gal-cover, .home-story-stage .home-story-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-story-card { background: var(--kday-surface); border: 1px solid var(--kday-surface-border); border-radius: 14px; overflow: hidden; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.home-story-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px -18px rgba(20,60,30,.5); }
.home-story-img { position: relative; height: 118px; overflow: hidden; }
.home-story-img .home-story-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-story-title { font-weight: 600; font-size: .86rem; color: var(--kday-text); line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.home-story-name { font-size: .74rem; color: color-mix(in srgb, var(--kday-text) 60%, transparent); margin-top: .2rem; }
.home-story-read { font-size: .72rem; color: var(--kday-green); font-weight: 600; display: inline-block; margin-top: .35rem; }
[data-bs-theme="dark"] .home-story-read { color: var(--kday-green-light); }

.video-card {
    background: var(--kday-surface); border: 1px solid var(--kday-surface-border);
    border-radius: 14px; overflow: hidden; height: 100%;
    text-decoration: none; color: var(--kday-text); display: block;
    transition: transform .15s ease;
}
.video-card:hover { transform: translateY(-3px); color: var(--kday-text); }
.video-thumb {
    height: 120px; position: relative; background-size: cover; background-position: center;
    background-image: linear-gradient(135deg, #1b3d1e, #43A047);
}
.video-play {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 40px; height: 40px; border-radius: 50%; background: rgba(0, 0, 0, .55);
    color: #fff; display: inline-flex; align-items: center; justify-content: center;
}
.video-play.position-static { transform: none; background: var(--kday-green); }
.video-duration {
    position: absolute; right: 8px; bottom: 8px; background: rgba(0, 0, 0, .7);
    color: #fff; font-size: .68rem; padding: 1px 6px; border-radius: 6px;
}
.video-name { font-weight: 700; font-size: .82rem; }
.video-meta { font-size: .7rem; opacity: .7; }
.video-tag { font-size: .66rem; padding: 2px 8px; border-radius: 999px; display: inline-block; margin-top: 3px; }
.tag-green { background: rgba(67, 160, 71, .18); color: var(--kday-green); }
.tag-gold { background: rgba(249, 168, 37, .2); color: #8a6100; }
.tag-purple { background: rgba(140, 90, 200, .18); color: #7048a8; }
[data-bs-theme="dark"] .tag-green { color: var(--kday-green-light); }
[data-bs-theme="dark"] .tag-gold { color: var(--kday-gold-2); }
[data-bs-theme="dark"] .tag-purple { color: #c9aef2; }
.video-card-all { background: linear-gradient(135deg, #14301a, #2E7D32); color: #fff; padding: 1rem; }
.video-card-all:hover { color: #fff; }

.cta2 {
    background:
        radial-gradient(ellipse at 85% 30%, rgba(249, 168, 37, .2), transparent 50%),
        linear-gradient(105deg, #0d2610, #2E7D32);
    color: #fff;
}
.cta2-icon {
    width: 62px; height: 62px; border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, .5);
    background: rgba(255, 255, 255, .08);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.4rem; color: var(--kday-gold-2);
}

/* ============ Benefits page v2 (reference design) ============ */
.bp-hero {
    background:
        radial-gradient(ellipse at 80% 30%, rgba(249, 168, 37, .16), transparent 45%),
        linear-gradient(105deg, #0d2610 0%, #16391b 50%, #2E7D32 100%);
    color: #fff;
    padding: 3.8rem 0 5.6rem;
    position: relative;
}
.bp-title { font-weight: 800; font-size: clamp(2rem, 4.5vw, 3.2rem); }
.bp-title .text-gold { color: var(--kday-gold-2); }
.bp-sub { max-width: 620px; opacity: .92; margin-top: .8rem; }

.bp-strip {
    background: linear-gradient(120deg, #14301a, #1f5c23);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    display: flex; flex-wrap: wrap; justify-content: space-around; gap: .6rem;
    padding: 1rem 1.4rem;
    position: absolute; left: 50%; transform: translateX(-50%);
    bottom: -42px; width: min(1140px, 92%);
    color: #fff;
}
.bp-strip-item { display: flex; align-items: center; gap: .6rem; font-weight: 600; font-size: .85rem; line-height: 1.25; }
.bp-strip-item small { font-weight: 400; opacity: .8; }
.bp-strip-icon {
    width: 42px; height: 42px; border-radius: 50%; flex-shrink: 0;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .35);
    color: #fff; display: inline-flex; align-items: center; justify-content: center;
}
@media (max-width: 991.98px) {
    .bp-strip { position: static; transform: none; width: 100%; border-radius: 20px; margin-top: 2rem; }
    .bp-hero { padding-bottom: 3rem; }
}
@media (min-width: 992px) {
    .bp-hero { margin-bottom: 56px; }
}

.bp-card { overflow: hidden; display: flex; flex-direction: column; }
.bp-card-icon {
    width: 52px; height: 52px; border-radius: 50%; flex-shrink: 0;
    background: linear-gradient(135deg, var(--kday-green), var(--kday-green-2));
    color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem;
}
.bp-card-title { font-weight: 700; }
.bp-card-amount { font-weight: 800; font-size: 1.2rem; }
.bp-card-desc { font-size: .84rem; opacity: .8; margin-bottom: 0; }
.bp-illus {
    flex: 1; min-height: 110px;
    display: flex; align-items: center; justify-content: center;
    font-size: 3.4rem; color: var(--kday-green-2);
    background: radial-gradient(ellipse at center, rgba(67, 160, 71, .12), transparent 70%);
}
[data-bs-theme="dark"] .bp-illus { color: var(--kday-green-light); }
.bp-caption {
    background: rgba(46, 125, 50, .1);
    text-align: center; font-size: .8rem; font-weight: 600;
    padding: .55rem .8rem;
    border-top: 1px solid var(--kday-surface-border);
}
[data-bs-theme="dark"] .bp-caption { background: rgba(102, 187, 106, .1); }

.bp-why {
    display: flex; flex-wrap: wrap; align-items: center; gap: 1rem;
    padding: 1.1rem 1.4rem; border-radius: 18px;
}
.bp-why-label { font-weight: 800; color: var(--kday-green); font-size: 1.05rem; min-width: 130px; }
[data-bs-theme="dark"] .bp-why-label { color: var(--kday-green-light); }
.bp-why-item { display: flex; align-items: center; gap: .55rem; flex: 1 1 160px; }
.bp-why-icon {
    width: 40px; height: 40px; border-radius: 12px; flex-shrink: 0;
    border: 1px solid var(--kday-surface-border);
    color: var(--kday-green-2);
    display: inline-flex; align-items: center; justify-content: center;
}

.bp-cta-icon { font-size: 5rem; color: rgba(255, 255, 255, .35); }

/* ============ Contact page v2 (reference design) ============ */
.c2-hero { padding: 3.4rem 0 6rem; margin-bottom: 0 !important; }
.c2-body { margin-top: -3.4rem; }
.c2-card { border-radius: 18px; }
.c2-head { display: flex; align-items: center; gap: .7rem; }
.c2-head-icon {
    width: 44px; height: 44px; border-radius: 50%; flex-shrink: 0;
    background: linear-gradient(135deg, var(--kday-green), var(--kday-green-2));
    color: #fff; display: inline-flex; align-items: center; justify-content: center;
}
.c2-row {
    display: flex; align-items: center; gap: .9rem;
    border: 1px solid var(--kday-surface-border);
    border-radius: 14px; padding: .8rem 1rem; margin-bottom: .7rem;
}
.c2-row:last-child { margin-bottom: 0; }
.c2-row-icon {
    width: 46px; height: 46px; border-radius: 50%; flex-shrink: 0;
    border: 2px solid var(--kday-green-2); color: var(--kday-green);
    display: inline-flex; align-items: center; justify-content: center; font-size: 1.15rem;
}
[data-bs-theme="dark"] .c2-row-icon { color: var(--kday-green-light); }
.c2-row-main { flex: 1; min-width: 0; }
.c2-row-note {
    flex: 0 0 38%;
    background: rgba(46, 125, 50, .09);
    border-radius: 10px; padding: .55rem .7rem;
}
[data-bs-theme="dark"] .c2-row-note { background: rgba(102, 187, 106, .12); }
@media (max-width: 575.98px) {
    .c2-row { flex-wrap: wrap; }
    .c2-row-note { flex: 1 1 100%; }
}
.c2-map {
    height: 150px; border-radius: 14px;
    background:
        linear-gradient(rgba(46, 125, 50, .08), rgba(46, 125, 50, .08)),
        repeating-linear-gradient(0deg, transparent 0 28px, rgba(46, 125, 50, .12) 28px 29px),
        repeating-linear-gradient(90deg, transparent 0 28px, rgba(46, 125, 50, .12) 28px 29px),
        #eef5ea;
    display: flex; align-items: center; justify-content: center;
    color: var(--kday-green); font-size: 2.2rem;
}
[data-bs-theme="dark"] .c2-map {
    background:
        repeating-linear-gradient(0deg, transparent 0 28px, rgba(102, 187, 106, .12) 28px 29px),
        repeating-linear-gradient(90deg, transparent 0 28px, rgba(102, 187, 106, .12) 28px 29px),
        #16241a;
    color: var(--kday-green-light);
}

/* ============ About page v2 (reference design) ============ */
.ab-header {
    background: rgba(46, 125, 50, .1);
    border-bottom: 1px solid var(--kday-surface-border);
    padding: 1.6rem 0;
}
[data-bs-theme="dark"] .ab-header { background: rgba(102, 187, 106, .08); }
.ab-title { font-weight: 800; font-size: 1.7rem; color: var(--kday-green); margin-bottom: .1rem; }
[data-bs-theme="dark"] .ab-title { color: var(--kday-green-light); }
.ab-title .small, .ab-title i { font-size: .8rem; color: var(--kday-gold); }
.ab-crumb { color: inherit; text-decoration: none; opacity: .75; }
.ab-crumb:hover { color: var(--kday-green); }

.ab-illus {
    border-radius: 18px; min-height: 220px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    color: #fff; text-align: center; padding: 1.5rem;
}
.ab-illus i { font-size: 4rem; }
.ab-illus-building { background: linear-gradient(135deg, #1b3d1e, var(--kday-green) 60%, var(--kday-green-2)); }
.ab-illus-family { background: linear-gradient(135deg, var(--kday-green-2), var(--kday-green-light)); }

.ab-vmv-icon {
    width: 52px; height: 52px; border-radius: 50%; flex-shrink: 0;
    background: linear-gradient(135deg, #14301a, var(--kday-green));
    color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 1.2rem;
}
.ab-check { margin-bottom: .4rem; }
.ab-check i { color: var(--kday-green-2); margin-right: .35rem; }

.ab-init-icon {
    width: 54px; height: 54px; border-radius: 50%;
    background: linear-gradient(135deg, #14301a, var(--kday-green));
    color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem;
}
.ab-init-p { font-size: .74rem; opacity: .75; margin-top: .3rem; }

.ab-stats {
    background:
        radial-gradient(ellipse at 15% 0%, rgba(249, 168, 37, .14), transparent 50%),
        linear-gradient(120deg, #0d2610, #1f5c23);
    color: #fff; border-radius: 20px;
    display: flex; flex-wrap: wrap; justify-content: space-around; gap: 1rem;
    padding: 1.4rem 1.6rem;
}
.ab-stat { display: flex; align-items: center; gap: .8rem; }
.ab-stat-icon {
    width: 48px; height: 48px; border-radius: 50%; flex-shrink: 0;
    border: 1px solid rgba(255, 255, 255, .5);
    background: rgba(255, 255, 255, .08);
    color: var(--kday-gold-2);
    display: inline-flex; align-items: center; justify-content: center;
}
.ab-stat-value { font-weight: 800; font-size: 1.15rem; color: var(--kday-gold-2); }

.ab-partner-icon { font-size: 2rem; color: var(--kday-green-2); }
.ab-partner-sub { font-size: .68rem; opacity: .65; }

/* ============ Login v2 (split glass, mobile-first) ============ */
.lg2-wrap {
    display: flex; flex-direction: column;
    min-height: calc(100vh - 58px);
    width: 100%;
}
.lg2-left { padding: 1.2rem 1.2rem 0; }
.lg2-brand {
    display: inline-flex; align-items: center; gap: .7rem;
    color: var(--kday-green); text-decoration: none; line-height: 1.15;
}
[data-bs-theme="dark"] .lg2-brand { color: var(--kday-green-light); }
.lg2-brand strong { font-size: .95rem; letter-spacing: .02em; }
.lg2-brand small { font-size: .7rem; opacity: .75; color: var(--kday-text); }

.lg2-right { flex: 1; display: flex; align-items: flex-start; justify-content: center; padding: 1rem 1.2rem 2rem; }
.lg2-card {
    width: 100%; max-width: 460px;
    border-radius: 22px;
    padding: 1.6rem 1.4rem;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.lg2-shield {
    width: 72px; height: 72px; border-radius: 50%; position: relative;
    background: rgba(46, 125, 50, .12);
    color: var(--kday-green);
    display: inline-flex; align-items: center; justify-content: center; font-size: 1.7rem;
}
[data-bs-theme="dark"] .lg2-shield { color: var(--kday-green-light); }
.lg2-shield-lock { position: absolute; font-size: .7rem; color: #fff; margin-top: -2px; }

.lg2-tabs {
    display: flex; gap: .5rem;
    background: rgba(46, 125, 50, .07);
    border: 1px solid var(--kday-surface-border);
    border-radius: 999px; padding: .3rem;
}
.lg2-tab {
    flex: 1; border: none; background: transparent;
    border-radius: 999px; padding: .55rem .6rem;
    font-size: .85rem; font-weight: 600; color: var(--kday-text);
    transition: all .15s ease; white-space: nowrap;
}
.lg2-tab.active { background: linear-gradient(135deg, var(--kday-green), var(--kday-green-2)); color: #fff; }

.lg2-input { position: relative; }
.lg2-input > i {
    position: absolute; left: .9rem; top: 50%; transform: translateY(-50%);
    color: var(--kday-green-2); z-index: 5;
}
.lg2-input .form-control {
    padding: .7rem .9rem .7rem 2.5rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, .6);
}
[data-bs-theme="dark"] .lg2-input .form-control { background: rgba(0, 0, 0, .25); }
.lg2-eye {
    position: absolute; right: .5rem; top: 50%; transform: translateY(-50%);
    border: none; background: transparent; color: var(--kday-text); opacity: .6; z-index: 5;
}
.lg2-eye:hover { opacity: 1; }

.lg2-divider { display: flex; align-items: center; gap: .8rem; color: var(--kday-text); opacity: .6; }
.lg2-divider::before, .lg2-divider::after { content: ""; flex: 1; border-top: 1px solid var(--kday-surface-border); }
.lg2-divider span { font-size: .8rem; }

/* Showcase (desktop) */
.lg2-hero-title {
    font-weight: 800; color: var(--kday-green);
    font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.15; margin-top: 1.6rem;
}
[data-bs-theme="dark"] .lg2-hero-title { color: var(--kday-green-light); }
.lg2-hero-sub { max-width: 480px; font-size: .92rem; opacity: .85; }
.lg2-features { display: flex; flex-wrap: wrap; gap: .7rem; margin: 1.1rem 0; }
.lg2-feature { padding: .8rem 1rem; text-align: center; min-width: 108px; }
.lg2-feature i { color: var(--kday-green-2); font-size: 1.3rem; margin-bottom: .3rem; display: block; }
.lg2-stats {
    background: linear-gradient(120deg, #14301a, #1f5c23);
    color: #fff; border-radius: 999px;
    display: flex; flex-wrap: wrap; justify-content: space-around; gap: .8rem;
    padding: .9rem 1.4rem; margin: 1rem 0;
    max-width: 720px;
}
.lg2-stat { display: flex; align-items: center; gap: .6rem; }
.lg2-stat > i { color: var(--kday-gold-2); font-size: 1.2rem; }
.lg2-stat-value { font-weight: 800; color: var(--kday-gold-2); line-height: 1.1; }
.lg2-quote {
    display: flex; align-items: center; gap: .9rem;
    padding: .9rem 1.1rem; max-width: 720px; border-radius: 16px;
}
.lg2-quote > i { font-size: 1.6rem; color: var(--kday-green); }
.lg2-quote-avatar {
    width: 52px; height: 52px; border-radius: 50%; flex-shrink: 0; margin-left: auto;
    background: linear-gradient(135deg, var(--kday-green-2), var(--kday-green-light));
    color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 1.3rem;
}
.lg2-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin: 1.2rem 0 1.6rem; }
.lg2-badge { display: inline-flex; align-items: center; gap: .5rem; line-height: 1.1; }
.lg2-badge i {
    width: 38px; height: 38px; border-radius: 50%;
    background: rgba(46, 125, 50, .12); color: var(--kday-green);
    display: inline-flex; align-items: center; justify-content: center;
}
.lg2-badge strong { font-size: .74rem; }
.lg2-badge small { font-size: .64rem; opacity: .65; }

/* Security strip */
.lg2-secure {
    background: #14301a; color: #e2eee2;
    display: flex; justify-content: space-between; align-items: center; gap: 1rem;
    padding: .7rem 1.4rem;
}
.lg2-secure > div:first-child i { font-size: 1.3rem; color: var(--kday-green-light); }
.lg2-secure-sub { font-size: .72rem; opacity: .75; }

/* Desktop split */
@media (min-width: 992px) {
    .lg2-wrap { flex-direction: row; align-items: stretch; }
    .lg2-left { flex: 1.08; padding: 2.2rem 3rem 1rem; }
    .lg2-right {
        flex: .92; align-items: center;
        background:
            radial-gradient(ellipse at 20% 15%, rgba(67, 160, 71, .12), transparent 55%),
            rgba(46, 125, 50, .05);
    }
    .lg2-card { padding: 2.2rem 2rem; }
}
