/* ================================================================
   AstroSage-inspired theme — Dr Gautam DK Vedic Astrology
   Saffron / deep maroon color scheme, left sidebar layout
   ================================================================ */

/* ── Google Fonts ─────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Lato:wght@300;400;700&display=swap');

/* ── CSS Variables ────────────────────────────────────────────── */
:root {
    /* Saffron palette (from AstroSage) */
    --saffron:       #e8860a;
    --saffron-dark:  #c46a00;
    --saffron-light: #f5a633;
    --saffron-pale:  #fff3e0;

    /* Sidebar */
    --sidebar-bg:    #7b1f1f;
    --sidebar-dark:  #5a1515;
    --sidebar-text:  #fde8c8;
    --sidebar-hover: #9e2929;
    --sidebar-active:#c46a00;
    --sidebar-width: 230px;

    /* Content area */
    --bg:            #f8f0e8;
    --panel:         #ffffff;
    --panel-soft:    #fffaf4;
    --line:          #e8d5b8;
    --text:          #2c1a0e;
    --muted:         #7a6050;
    --gold:          #c46a00;

    /* Accents */
    --good:          #2e7d32;
    --danger:        #c62828;
    --warn:          #f57c00;
    --info:          #1565c0;

    --shadow:        0 2px 12px rgba(120,50,0,.12);
    --shadow-hover:  0 4px 20px rgba(120,50,0,.22);
}

/* ── Reset ────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: 'Lato', Georgia, sans-serif;
    font-size: 15px;
    line-height: 1.6;
}
a { color: var(--saffron-dark); text-decoration: none; }
a:hover { color: var(--saffron); text-decoration: underline; }

/* ── LAYOUT: sidebar + content ────────────────────────────────── */
.site-wrapper {
    display: flex;
    min-height: 100vh;
}

/* ── TOP HEADER ───────────────────────────────────────────────── */
.site-topbar {
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 56px;
    background: linear-gradient(135deg, var(--sidebar-dark) 0%, var(--sidebar-bg) 100%);
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 20px;
    z-index: 200;
    box-shadow: 0 2px 8px rgba(0,0,0,.3);
}

.topbar-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
}

.topbar-logo {
    width: 36px; height: 36px;
    background: var(--saffron);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.topbar-title {
    font-family: 'Cinzel', serif;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    letter-spacing: .03em;
}

.topbar-sub {
    font-size: 11px;
    color: var(--sidebar-text);
    opacity: .8;
    display: block;
    margin-top: -2px;
}

.topbar-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.topbar-btn {
    background: var(--saffron);
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 6px 14px;
    font-size: 13px;
    cursor: pointer;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.topbar-btn:hover {
    background: var(--saffron-dark);
    color: #fff;
    text-decoration: none;
}

.hamburger {
    display: none;
    background: none;
    border: none;
    color: #fff;
    font-size: 22px;
    cursor: pointer;
    padding: 4px 8px;
}

/* ── LEFT SIDEBAR ─────────────────────────────────────────────── */
.site-sidebar {
    width: var(--sidebar-width);
    background: linear-gradient(180deg, var(--sidebar-bg) 0%, var(--sidebar-dark) 100%);
    position: fixed;
    top: 56px;
    left: 0;
    bottom: 0;
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 100;
    scrollbar-width: thin;
    scrollbar-color: var(--sidebar-hover) transparent;
    transition: transform 0.3s ease;
}

.site-sidebar::-webkit-scrollbar { width: 4px; }
.site-sidebar::-webkit-scrollbar-thumb { background: var(--sidebar-hover); }

/* Sidebar nav groups */
.sidebar-group { border-bottom: 1px solid rgba(255,255,255,.08); }

.sidebar-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    padding: 11px 16px;
    color: var(--sidebar-text);
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
    text-decoration: none;
    letter-spacing: .01em;
}

.sidebar-item:hover {
    background: var(--sidebar-hover);
    color: #fff;
    text-decoration: none;
}

.sidebar-item.active {
    background: var(--saffron);
    color: #fff;
}

.sidebar-item .item-icon {
    margin-right: 9px;
    font-size: 11px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    opacity: .9;
    flex-shrink: 0;
}

.sidebar-item .item-arrow {
    font-size: 10px;
    opacity: .6;
    margin-left: auto;
}

.sidebar-sub {
    background: rgba(0,0,0,.25);
    display: none;
}

.sidebar-sub.open { display: block; }

.sidebar-sub-item {
    display: block;
    padding: 8px 16px 8px 44px;
    color: #ddc8a0;
    font-size: 13px;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}

.sidebar-sub-item:hover {
    background: rgba(255,255,255,.08);
    color: #fff;
    text-decoration: none;
}

/* ── MAIN CONTENT ─────────────────────────────────────────────── */
.site-content {
    margin-left: var(--sidebar-width);
    margin-top: 56px;
    flex: 1;
    min-height: calc(100vh - 56px);
    padding: 20px;
    /* Full width — no max-width cap so match result uses the full screen */
    min-width: 0;
}

/* ── PANEL / CARD ─────────────────────────────────────────────── */
.panel {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 16px;
    box-shadow: var(--shadow);
}

.panel-orange {
    background: linear-gradient(135deg, #fff8f0 0%, #fff3e0 100%);
    border-color: #f0c080;
}

/* ── PAGE TITLE BAR ───────────────────────────────────────────── */
.page-title-bar {
    background: linear-gradient(135deg, var(--sidebar-bg) 0%, var(--sidebar-dark) 100%);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 16px 20px;
    margin-bottom: 16px;
}

.page-title-bar h2 {
    margin: 0;
    font-family: 'Cinzel', serif;
    font-size: 20px;
    color: #fff;
    font-weight: 600;
}

.page-title-bar .eyebrow {
    color: var(--saffron-light);
    font-size: 11px;
    margin-bottom: 2px;
}

/* ── HOME CARDS (AstroSage style) ─────────────────────────────── */
.home-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 20px;
}

.home-card {
    background: linear-gradient(145deg, #fff, #fff7ed);
    border: 1px solid #efd8b8;
    border-radius: 8px;
    padding: 18px 18px 17px;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
    color: var(--text);
    display: block;
    box-shadow: var(--shadow);
    position: relative;
    overflow: hidden;
}

.home-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: var(--card-accent, var(--saffron));
}

.home-card:hover {
    box-shadow: var(--shadow-hover);
    border-color: var(--saffron);
    transform: translateY(-2px);
    text-decoration: none;
    color: var(--text);
}

.home-card-symbol {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    margin: 0 0 12px;
    display: inline-block;
    position: relative;
    background: color-mix(in srgb, var(--card-accent, var(--saffron)) 16%, #fff);
    border: 1px solid color-mix(in srgb, var(--card-accent, var(--saffron)) 42%, #fff);
}

.home-card-symbol::before,
.home-card-symbol::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.home-card h3 {
    font-family: 'Cinzel', serif;
    font-size: 17px;
    font-weight: 800;
    margin: 0 0 8px;
    color: var(--sidebar-dark);
    line-height: 1.22;
}

.home-card p {
    font-size: 12px;
    color: var(--muted);
    margin: 0;
    line-height: 1.4;
}

.card-kundli{--card-accent:#8B1E3F}.card-match{--card-accent:#B5294E}.card-nakshatra{--card-accent:#355C9A}.card-mangal{--card-accent:#C2410C}
.card-transit{--card-accent:#6D28D9}.card-saved{--card-accent:#0F766E}.card-yoga{--card-accent:#9A3412}.card-divisional{--card-accent:#2563EB}
.card-sade{--card-accent:#374151}.card-kalsarp{--card-accent:#166534}.card-dasha{--card-accent:#A16207}.card-namkaran{--card-accent:#BE185D}.card-soon{--card-accent:#6B7280}

.symbol-chart::before{width:28px;height:28px;border:2px solid var(--card-accent);transform:translate(-50%,-50%) rotate(45deg)}
.symbol-chart::after{width:34px;height:2px;background:var(--card-accent);box-shadow:0 10px 0 var(--card-accent);opacity:.75}
.symbol-rings::before{width:18px;height:18px;border:3px solid var(--card-accent);border-radius:50%;left:42%}
.symbol-rings::after{width:18px;height:18px;border:3px solid var(--card-accent);border-radius:50%;left:58%;opacity:.75}
.symbol-star::before{width:26px;height:26px;background:var(--card-accent);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 56%,79% 91%,50% 70%,21% 91%,32% 56%,2% 35%,39% 35%)}
.symbol-mars::before{width:22px;height:22px;border:3px solid var(--card-accent);border-radius:50%;left:44%;top:56%}
.symbol-mars::after{width:18px;height:3px;background:var(--card-accent);transform:translate(-15%,-120%) rotate(-45deg);box-shadow:9px -9px 0 -1px var(--card-accent)}
.symbol-orbit::before{width:30px;height:18px;border:2px solid var(--card-accent);border-radius:50%;transform:translate(-50%,-50%) rotate(-20deg)}
.symbol-orbit::after{width:8px;height:8px;background:var(--card-accent);border-radius:50%}
.symbol-folder::before{width:30px;height:22px;border:2px solid var(--card-accent);border-radius:4px;top:55%}
.symbol-folder::after{width:16px;height:7px;border:2px solid var(--card-accent);border-bottom:0;border-radius:3px 3px 0 0;left:42%;top:35%}
.symbol-lotus::before{width:12px;height:28px;border:3px solid var(--card-accent);border-radius:50%;box-shadow:-12px 8px 0 -3px transparent,12px 8px 0 -3px transparent}
.symbol-lotus::after{width:34px;height:16px;border:3px solid var(--card-accent);border-top:0;border-radius:0 0 28px 28px;top:61%}
.symbol-grid::before{width:28px;height:28px;border:2px solid var(--card-accent);background:linear-gradient(90deg,transparent 47%,var(--card-accent) 48%,var(--card-accent) 52%,transparent 53%),linear-gradient(0deg,transparent 47%,var(--card-accent) 48%,var(--card-accent) 52%,transparent 53%)}
.symbol-saturn::before{width:22px;height:22px;border:3px solid var(--card-accent);border-radius:50%}
.symbol-saturn::after{width:36px;height:12px;border:2px solid var(--card-accent);border-radius:50%;transform:translate(-50%,-50%) rotate(-18deg)}
.symbol-wave::before{width:34px;height:18px;border-bottom:3px solid var(--card-accent);border-radius:50%;top:43%}
.symbol-wave::after{width:34px;height:18px;border-bottom:3px solid var(--card-accent);border-radius:50%;top:58%;transform:translate(-50%,-50%) rotate(180deg)}
.symbol-hourglass::before{width:24px;height:32px;border:3px solid var(--card-accent);clip-path:polygon(0 0,100% 0,58% 50%,100% 100%,0 100%,42% 50%)}
.symbol-name::before{width:28px;height:34px;border:2px solid var(--card-accent);border-radius:3px}
.symbol-name::after{width:18px;height:2px;background:var(--card-accent);box-shadow:0 7px 0 var(--card-accent),0 14px 0 var(--card-accent)}
.symbol-soon::before,.symbol-calendar::before{width:28px;height:30px;border:2px solid var(--card-accent);border-radius:4px}
.symbol-soon::after,.symbol-calendar::after{width:22px;height:2px;background:var(--card-accent);box-shadow:0 7px 0 var(--card-accent)}
.symbol-heart::before{width:24px;height:24px;background:var(--card-accent);transform:translate(-50%,-42%) rotate(45deg);border-radius:4px}
.symbol-heart::after{width:15px;height:15px;background:var(--card-accent);border-radius:50%;box-shadow:10px -10px 0 var(--card-accent);transform:translate(-72%,-46%)}
.symbol-briefcase::before{width:30px;height:22px;border:2px solid var(--card-accent);border-radius:4px;top:57%}
.symbol-briefcase::after{width:14px;height:8px;border:2px solid var(--card-accent);border-bottom:0;border-radius:4px 4px 0 0;top:36%}
.symbol-lamp::before{width:30px;height:16px;border:3px solid var(--card-accent);border-top:0;border-radius:0 0 26px 26px;top:58%}
.symbol-lamp::after{width:8px;height:18px;background:var(--card-accent);border-radius:8px 8px 2px 2px;top:38%}

/* ── FORM STYLES ──────────────────────────────────────────────── */
.form-panel {
    display: grid;
    gap: 14px;
}

label {
    display: grid;
    gap: 5px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

input[type="text"],
input[type="number"],
input[type="date"],
input[type="time"],
select {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 5px;
    padding: 9px 12px;
    background: #fff;
    color: var(--text);
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    transition: border-color 0.15s, box-shadow 0.15s;
}

input:focus, select:focus {
    outline: none;
    border-color: var(--saffron);
    box-shadow: 0 0 0 3px rgba(232,134,10,.15);
}

input[type="date"] { color-scheme: light; }

/* Submit button */
button[type="submit"],
.btn-primary {
    background: linear-gradient(135deg, var(--saffron) 0%, var(--saffron-dark) 100%);
    color: #fff;
    border: none;
    border-radius: 5px;
    padding: 11px 24px;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: opacity 0.15s, transform 0.1s;
    width: 100%;
}

button[type="submit"]:hover,
.btn-primary:hover {
    opacity: .92;
    transform: translateY(-1px);
}

.btn-secondary {
    display: inline-block;
    border: 1px solid var(--line);
    border-radius: 5px;
    padding: 8px 16px;
    background: var(--panel-soft);
    color: var(--muted);
    font-size: 13px;
    cursor: pointer;
    text-decoration: none;
    font-family: 'Lato', sans-serif;
}

.btn-secondary:hover {
    border-color: var(--saffron);
    color: var(--saffron-dark);
    text-decoration: none;
}

.btn-save {
    background: linear-gradient(135deg, #2e7d32, #1b5e20);
    color: #fff;
    border: none;
    border-radius: 5px;
    padding: 10px 20px;
    font: 700 14px 'Lato', sans-serif;
    cursor: pointer;
    letter-spacing: .04em;
}

.btn-save:hover { opacity: .9; }

.btn-danger {
    background: transparent;
    border: 1px solid var(--danger);
    color: var(--danger);
    border-radius: 5px;
    padding: 7px 14px;
    font: 700 13px 'Lato', sans-serif;
    cursor: pointer;
}

.btn-danger:hover { background: var(--danger); color: #fff; }

/* ── GRID HELPERS ─────────────────────────────────────────────── */
.layout {
    display: grid;
    grid-template-columns: minmax(0,1.4fr) minmax(260px,.6fr);
    gap: 16px;
}

.two-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.three-cols {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.date-cols {
    display: grid;
    grid-template-columns: .7fr .7fr 1fr 1.2fr;
    gap: 12px;
}

/* ── SECTION TITLE ────────────────────────────────────────────── */
.section-title {
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--saffron-pale);
}

.section-title p {
    margin: 0 0 2px;
    color: var(--saffron-dark);
    font-size: 11px;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-weight: 700;
}

.section-title h2 {
    margin: 0;
    font-family: 'Cinzel', serif;
    font-size: 17px;
    color: var(--sidebar-dark);
    font-weight: 600;
}

.eyebrow {
    color: var(--saffron-dark);
    font-size: 11px;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-weight: 700;
    margin: 0 0 4px;
}

/* ── RESULT HEADER ────────────────────────────────────────────── */
.result-header {
    background: linear-gradient(135deg, var(--sidebar-bg) 0%, var(--sidebar-dark) 100%);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 16px;
}

.result-header h2 {
    margin: 0 0 12px;
    font-family: 'Cinzel', serif;
    font-size: 22px;
    color: #fff;
    font-weight: 600;
}

.summary-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0,1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.summary-grid span {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 5px;
    padding: 8px 10px;
}

.summary-grid strong {
    display: block;
    color: var(--saffron-light);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 2px;
}

.summary-grid span > *:not(strong) {
    font-size: 13px;
    color: #fff;
}

/* ── MAIN TAB NAV (horizontal tabs below result header) ──────── */
.main-tabs {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px 8px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    padding: 8px 10px 0;
    margin-bottom: 0;
    box-shadow: var(--shadow);
}

.main-tab {
    padding: 9px 16px;
    font-size: 13px;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    color: var(--muted);
    cursor: pointer;
    transition: color 0.15s, border-color 0.15s;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 6px;
}

.main-tab span { font-size: 14px; }

.main-tab:hover { color: var(--saffron-dark); }

.main-tab-active {
    color: var(--saffron-dark);
    border-bottom-color: var(--saffron);
    background: transparent;
}

.tab-badge {
    display: inline-block;
    background: var(--saffron);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 10px;
}

.tab-badge-warn { background: var(--danger); }

.result-content {
    background: var(--panel);
    border: 1px solid var(--line);
    border-top: none;
    border-radius: 0 0 8px 8px;
    padding: 16px;
    margin-bottom: 16px;
    box-shadow: var(--shadow);
}

.tab-panel { display: none; }
.tab-panel-active { display: block; }
.all-sections-visible .tab-panel { display: block; scroll-margin-top: 84px; }
.all-sections-visible .varga-panel { display: block; scroll-margin-top: 84px; }

/* ── RESULT GRID (chart + planets) ───────────────────────────── */
.result-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

/* ── NORTH INDIAN CHART SVG ───────────────────────────────────── */
.chart-wrap {
    background: #fffdf8;
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 8px;
}

/* ── TABLES ───────────────────────────────────────────────────── */
.table-wrap { overflow-x: auto; }

table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

th, td {
    padding: 8px 10px;
    border-bottom: 1px solid var(--line);
    text-align: left;
}

th {
    color: var(--saffron-dark);
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .05em;
    background: var(--saffron-pale);
}

tr:hover td { background: #fffaf5; }

/* ── DASHA ────────────────────────────────────────────────────── */
.dasha-list { display: grid; gap: 8px; }

.dasha-row {
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 10px 12px;
}

.dasha-current {
    border-left: 3px solid var(--saffron);
    background: #fff8f0;
}

.dasha-top {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 3px;
}

.dasha-top strong { font-size: 14px; color: var(--sidebar-dark); }
.dasha-dur { font-size: 12px; color: var(--muted); }
.dasha-dates { font-size: 12px; color: var(--muted); display: block; }
.dasha-dot { color: var(--saffron); font-size: 10px; margin-right: 4px; }

.antardasha-block {
    margin-top: 8px;
    border-top: 1px solid var(--line);
    padding-top: 8px;
}

.ad-row {
    display: grid;
    grid-template-columns: 90px 1fr auto;
    gap: 8px;
    align-items: start;
    padding: 4px 0;
    border-bottom: 1px solid #f0e8dc;
    font-size: 12px;
}

.ad-row:last-child { border-bottom: none; }

.ad-current {
    background: #fff3e0;
    border-radius: 4px;
    padding: 4px 8px;
}

.ad-current .ad-planet { color: var(--saffron-dark); font-weight: 700; }
.ad-planet { font-weight: 600; color: var(--text); }
.ad-dates, .ad-dur { color: var(--muted); }

.ad-result {
    grid-column: 1 / -1;
    margin: 3px 0 6px;
    padding: 7px 9px;
    background: #fffdf8;
    border-left: 3px solid var(--saffron);
    border-radius: 4px;
    color: #4a3527;
    font-size: 12px;
    line-height: 1.55;
    font-weight: 400;
}

.dasha-likely-result {
    margin: 8px 0 0;
    padding: 9px 11px;
    background: #fffdf8;
    border-left: 4px solid var(--saffron);
    border-radius: 5px;
    color: #3a1a25;
    font-size: 13px;
    line-height: 1.6;
}

/* ── YOGA CARDS ───────────────────────────────────────────────── */
.yoga-summary { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }

.yoga-count-badge {
    background: #e8f5e9;
    border: 1px solid #4caf50;
    color: var(--good);
    padding: 4px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 700;
}

.yoga-filters { display: flex; gap: 8px; margin-bottom: 14px; }

.yoga-filter-btn {
    padding: 6px 14px;
    font-size: 12px;
    background: var(--panel-soft);
    border: 1px solid var(--line);
    color: var(--muted);
    border-radius: 4px;
    cursor: pointer;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
}

.yoga-filter-btn:hover,
.yoga-filter-active {
    border-color: var(--saffron);
    color: var(--saffron-dark);
    background: var(--saffron-pale);
}

.yoga-category { margin-bottom: 18px; }

.yoga-cat-title {
    font-size: 11px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--saffron-dark);
    margin: 0 0 8px;
    font-weight: 700;
    font-family: 'Lato', sans-serif;
}

.yoga-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 8px;
}

.yoga-card {
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 10px 12px;
}

.yoga-present { border-left: 3px solid var(--good); }
.yoga-absent  { opacity: .5; }

.yoga-card-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
}

.yoga-name { font-weight: 700; font-size: 14px; color: var(--sidebar-dark); }
.yoga-yes  { color: var(--good); font-size: 11px; font-weight: 700; }
.yoga-no   { color: var(--muted); font-size: 11px; }
.yoga-desc { color: var(--muted); font-size: 12px; margin: 0 0 3px; }
.yoga-planets { color: var(--saffron-dark); font-size: 11px; margin: 0; font-weight: 700; }

/* ── TRANSIT ──────────────────────────────────────────────────── */
.transit-meta { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 12px; font-size: 13px; }
.transit-meta strong { display: block; color: var(--saffron-dark); font-size: 11px; text-transform: uppercase; }

.transit-alert {
    border-radius: 6px;
    padding: 10px 14px;
    margin-bottom: 12px;
    font-size: 13px;
}

.alert-warn {
    background: #fff3e0;
    border: 1px solid #ffb74d;
    color: #e65100;
}

.transit-sub {
    font-size: 11px;
    color: var(--saffron-dark);
    font-weight: 700;
    margin: 14px 0 8px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.gochar-good    { color: var(--good); font-weight: 700; }
.gochar-caution { color: var(--warn); font-weight: 700; }
.gochar-warn    { color: var(--danger); font-weight: 700; }
.gochar-neutral { color: var(--muted); }

.badge-warn {
    display: inline-block;
    background: var(--danger);
    color: #fff;
    font-size: 10px;
    padding: 1px 5px;
    border-radius: 3px;
    margin-left: 4px;
}

.tr-warn td { background: #fff8f5; }

/* ── DIVISIONAL CHARTS ────────────────────────────────────────── */
.varga-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 14px;
}

.varga-tab {
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 700;
    background: var(--saffron-pale);
    border: 1px solid var(--line);
    color: var(--muted);
    border-radius: 4px;
    cursor: pointer;
    font-family: 'Lato', sans-serif;
}

.varga-tab:hover { border-color: var(--saffron); color: var(--saffron-dark); }

.varga-tab-active {
    background: var(--saffron);
    border-color: var(--saffron);
    color: #fff;
}

.varga-panel { display: none; }
.varga-panel-active { display: block; }

.varga-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.varga-name { font-size: 16px; font-weight: 700; color: var(--sidebar-dark); font-family: 'Cinzel', serif; }
.varga-desc { color: var(--muted); font-size: 13px; }
.varga-lagna { margin-left: auto; font-size: 13px; color: var(--muted); }
.varga-lagna strong { color: var(--good); }

.varga-grid-wrap {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 16px;
    align-items: start;
}

.varga-svg-wrap { max-width: 300px; }
.varga-table-wrap { overflow-x: auto; }
.varga-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.varga-table th, .varga-table td { padding: 7px 10px; border-bottom: 1px solid var(--line); }
.varga-table th { color: var(--saffron-dark); font-weight: 700; font-size: 11px; text-transform: uppercase; background: var(--saffron-pale); }

/* ── CURRENT DASHA BANNER ─────────────────────────────────────── */
.current-dasha-banner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    background: rgba(232,134,10,.15);
    border: 1px solid rgba(232,134,10,.4);
    border-radius: 5px;
    padding: 8px 14px;
    margin-bottom: 10px;
}

.current-md { font-size: 15px; color: var(--saffron-light); font-weight: 700; }
.current-ad { color: #fff; font-size: 14px; }
.current-dates { font-size: 12px; color: rgba(255,255,255,.7); margin-left: auto; }

/* ── CONFIRM BOX ──────────────────────────────────────────────── */
.birth-confirm {
    background: var(--saffron-pale);
    border: 1px solid #f0c080;
    border-radius: 6px;
    padding: 12px 14px;
}

.confirm-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 8px;
    margin-top: 6px;
}

.confirm-grid span {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 4px;
    padding: 7px 10px;
}

.confirm-grid strong {
    display: block;
    color: var(--saffron-dark);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 2px;
}

.confirm-grid em {
    font-style: normal;
    font-size: 13px;
    color: var(--text);
}

/* ── NOTICE / ALERTS ──────────────────────────────────────────── */
.notice {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 16px 20px;
    margin-bottom: 16px;
}

.notice-success {
    background: #e8f5e9;
    border-color: #4caf50;
    color: var(--good);
    margin-bottom: 14px;
    padding: 10px 14px;
    border-radius: 5px;
}

.field-note { color: var(--muted); font-size: 12px; margin: 0; font-weight: 400; text-transform: none; letter-spacing: 0; }
.note { color: var(--muted); font-size: 12px; margin-top: 8px; }
.muted { color: var(--muted); }
.muted-note { color: var(--muted); font-size: 13px; }
.muted-cell { color: var(--muted); font-size: 12px; }

/* ── SAVE FORM ────────────────────────────────────────────────── */
.save-form { display: flex; justify-content: flex-end; margin-top: 8px; }

/* ── SAVED RECORD META ────────────────────────────────────────── */
.saved-meta { margin-bottom: 14px; }
.saved-meta-inner { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.saved-id, .saved-date { color: var(--muted); font-size: 13px; }
.saved-actions { display: flex; gap: 8px; align-items: center; margin-left: auto; }

/* ── KUNDLI LIST ──────────────────────────────────────────────── */
.kundli-list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    color: var(--muted);
    font-size: 13px;
}

.kundli-table th { background: var(--saffron-pale); color: var(--saffron-dark); }
.kundli-table .action-cell { display: flex; gap: 8px; align-items: center; }

.btn-open {
    display: inline-block;
    border: 1px solid var(--saffron);
    border-radius: 4px;
    padding: 4px 12px;
    color: var(--saffron-dark);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    font-family: 'Lato', sans-serif;
}

.btn-open:hover { background: var(--saffron); color: #fff; text-decoration: none; }

/* ── RESULT ACTIONS ───────────────────────────────────────────── */
.result-actions {
    display: flex;
    gap: 16px;
    margin-top: 14px;
    padding: 12px 0;
    border-top: 1px solid var(--line);
}

/* ── MATCHMAKING ──────────────────────────────────────────────── */
.match-mode-tabs { display: flex; gap: 8px; margin-bottom: 16px; }

.match-mode-tab {
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 700;
    background: var(--panel-soft);
    border: 1px solid var(--line);
    color: var(--muted);
    border-radius: 5px;
    cursor: pointer;
    font-family: 'Lato', sans-serif;
}

.match-mode-tab:hover, .match-mode-active {
    border-color: var(--saffron);
    color: var(--saffron-dark);
    background: var(--saffron-pale);
}

.match-persons-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 12px; }

.match-person-panel {
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 14px;
}

.match-person-title { font-size: 15px; font-weight: 700; margin: 0 0 12px; font-family: 'Cinzel', serif; }
.boy-title  { color: #1565c0; }
.girl-title { color: #880e4f; }

.match-select {
    width: 100%;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 5px;
    padding: 9px 12px;
    color: var(--text);
    font-family: 'Lato', sans-serif;
}

.btn-match {
    width: 100%;
    padding: 13px;
    font-size: 15px;
    font-weight: 700;
    background: linear-gradient(135deg, #880e4f, #6a0036);
    border: none;
    border-radius: 5px;
    color: #fff;
    cursor: pointer;
    font-family: 'Lato', sans-serif;
    letter-spacing: .05em;
}

.btn-match:hover { opacity: .92; }

/* Match result */
.match-header { text-align: center; }
.match-names { font-size: 26px; display: flex; justify-content: center; align-items: center; gap: 18px; font-family: 'Cinzel', serif; margin-bottom: 6px; }
.match-boy  { color: #1565c0; font-weight: 700; }
.match-girl { color: #880e4f; font-weight: 700; }
.match-heart { color: var(--danger); font-size: 24px; }

.match-score-wrap { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.match-gauge { width: 150px; height: 150px; }

.match-grade { font-size: 15px; font-weight: 700; padding: 5px 18px; border-radius: 20px; border: 1px solid; }
.match-excellent { color: #1b5e20; border-color: #4caf50; background: #e8f5e9; }
.match-verygood  { color: #1b5e20; border-color: #8bc34a; background: #f1f8e9; }
.match-good      { color: #e65100; border-color: #ff9800; background: #fff3e0; }
.match-average   { color: #bf360c; border-color: #ff5722; background: #fbe9e7; }
.match-poor      { color: #b71c1c; border-color: #f44336; background: #ffebee; }

.match-moon-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.moon-card { background: var(--panel-soft); border: 1px solid var(--line); border-radius: 6px; padding: 12px; display: grid; gap: 3px; }
.boy-card  { border-left: 3px solid #1565c0; }
.girl-card { border-left: 3px solid #880e4f; }
.moon-card strong { font-size: 14px; color: var(--sidebar-dark); }
.moon-card span   { font-size: 12px; color: var(--text); }
.moon-card .muted { color: var(--muted); }

.koot-table th { background: var(--saffron-pale); color: var(--saffron-dark); }
.koot-score { font-weight: 700; font-size: 15px; min-width: 26px; display: inline-block; }
.koot-good { color: var(--good); }
.koot-mid  { color: var(--warn); }
.koot-bad  { color: var(--danger); }
.koot-bar-wrap { width: 55px; height: 4px; background: var(--line); border-radius: 2px; margin-top: 3px; }
.koot-bar { height: 100%; border-radius: 2px; }
.koot-total-row td { border-top: 2px solid var(--saffron); border-bottom: none; font-weight: 700; padding-top: 10px; }

.dosha-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.dosha-card { background: var(--panel-soft); border: 1px solid var(--line); border-radius: 6px; padding: 10px 12px; }
.dosha-present  { border-left: 3px solid var(--danger); }
.dosha-cancelled { border-left: 3px solid var(--warn); }
.dosha-absent   { border-left: 3px solid var(--good); }
.dosha-head { display: flex; align-items: center; gap: 8px; margin-bottom: 5px; }
.dosha-icon { font-size: 15px; }
.dosha-present .dosha-icon  { color: var(--danger); }
.dosha-cancelled .dosha-icon { color: var(--warn); }
.dosha-absent .dosha-icon   { color: var(--good); }
.dosha-status { margin-left: auto; font-size: 11px; color: var(--muted); font-weight: 700; text-transform: uppercase; }
.dosha-note   { font-size: 12px; color: var(--text); margin: 0 0 3px; }
.dosha-detail { font-size: 11px; margin: 0; color: var(--muted); }

.match-charts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.match-chart-title { font-size: 14px; font-weight: 700; margin: 0 0 6px; font-family: 'Cinzel', serif; }
.boy-chart-title  { color: #1565c0; }
.girl-chart-title { color: #880e4f; }

/* ── HELP PANEL ───────────────────────────────────────────────── */
.help-panel { font-size: 13px; }
.help-panel h2 { font-family: 'Cinzel', serif; font-size: 16px; color: var(--sidebar-dark); margin: 0 0 10px; }
.help-panel ul { padding-left: 18px; color: var(--muted); margin: 8px 0; }
.help-panel li { margin-bottom: 4px; }
.help-panel p { color: var(--muted); margin: 0; }

/* ── SITE FOOTER ──────────────────────────────────────────────── */
.site-footer {
    background: var(--sidebar-dark);
    color: #ddc8a0;
    font-size: 12px;
    padding: 16px 20px;
    margin-top: 20px;
    text-align: center;
}

/* ── CITY AUTOCOMPLETE ────────────────────────────────────────── */
label { position: relative; }

.suggestions-box {
    position: absolute;
    top: 100%; left: 0; right: 0;
    background: #fff;
    border: 1px solid var(--saffron);
    border-radius: 0 0 5px 5px;
    max-height: 260px;
    overflow-y: auto;
    z-index: 100;
    box-shadow: var(--shadow-hover);
}

.suggestion-item {
    padding: 9px 12px;
    cursor: pointer;
    font-size: 13px;
    color: var(--text);
    border-bottom: 1px solid var(--line);
    transition: background 0.1s;
}

.suggestion-item:last-child { border-bottom: none; }
.suggestion-item:hover, .suggestion-active { background: var(--saffron-pale); color: var(--saffron-dark); }

/* ── RESPONSIVE ───────────────────────────────────────────────── */
@media (max-width: 900px) {
    :root { --sidebar-width: 0px; }

    .site-sidebar {
        transform: translateX(-230px);
        width: 230px;
    }

    .site-sidebar.open {
        transform: translateX(0);
        width: 230px;
    }

    .site-content { margin-left: 0; }
    .hamburger { display: block; }

    .home-cards { grid-template-columns: 1fr 1fr; }
    .layout, .result-grid, .match-persons-grid, .match-charts-grid,
    .match-moon-summary { grid-template-columns: 1fr; }
    .two-cols, .three-cols, .date-cols,
    .summary-grid, .varga-grid-wrap { grid-template-columns: 1fr; }
    .confirm-grid { grid-template-columns: 1fr 1fr; }
    .main-tabs { gap: 0; }
    .main-tab { padding: 8px 10px; font-size: 12px; }
}

@media (max-width: 480px) {
    .home-cards { grid-template-columns: 1fr; }
    .match-mode-tabs { flex-direction: column; }
}

/* ================================================================
   Home page card section titles
   ================================================================ */

.cards-section-title {
    display: flex;
    align-items: center;
    margin: 18px 0 10px;
    gap: 10px;
}

.cards-section-title span {
    font-family: 'Cinzel', serif;
    font-size: 13px;
    font-weight: 700;
    color: var(--sidebar-dark);
    text-transform: uppercase;
    letter-spacing: .08em;
    white-space: nowrap;
}

.cards-section-title::before,
.cards-section-title::after {
    content: '';
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--saffron), transparent);
}

/* Active/current card (highlighted) */
.home-card-active {
    border-color: var(--saffron) !important;
    background: linear-gradient(135deg, #fffaf2 0%, #fff5e0 100%) !important;
    box-shadow: 0 3px 14px rgba(200,100,0,.18) !important;
}

.home-card-active h3 { color: var(--saffron-dark) !important; }

/* Large icon variant (for emoji-only icons) */
.home-card-icon-img {
    background: transparent !important;
    box-shadow: none !important;
}

/* Get Kundli CTA row */
.home-cta-row {
    text-align: center;
    margin: 8px 0 20px;
}

/* ================================================================
   Chart styles (white background, black lines)
   ================================================================ */

/* Three charts in a row for kundli result */
.three-charts-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 4px;
}

.chart-panel {
    padding: 12px;
}

.chart-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--saffron-dark);
    text-align: center;
    margin-bottom: 8px;
}

/* Sidebar developer credit */
.sidebar-dev-credit {
    padding: 14px 16px;
    margin-top: auto;
    border-top: 1px solid rgba(255,255,255,.1);
    font-size: 11px;
    color: rgba(255,255,255,.4);
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.sidebar-dev-credit strong {
    color: var(--saffron-light);
    font-size: 12px;
}

/* Footer */
.site-footer {
    background: var(--sidebar-dark);
    padding: 14px 20px;
    margin-top: 20px;
}

.footer-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: rgba(255,255,255,.5);
    justify-content: center;
}

.footer-brand {
    font-family: 'Cinzel', serif;
    font-size: 14px;
    font-weight: 700;
    color: var(--saffron-light);
}

.footer-sep { color: rgba(255,255,255,.2); }

.footer-inner a {
    color: var(--saffron-light);
    text-decoration: none;
}

.footer-inner strong { color: #fff; }

/* ── Matchmaking compare table ── */
.compare-table th {
    background: var(--saffron-pale);
    color: var(--saffron-dark);
}

.compare-label {
    font-weight: 600;
    color: var(--muted);
    font-size: 13px;
}

/* ── Match person charts ── */
.match-person-charts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.match-person-col {}

.match-chart-person {
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 12px;
    font-family: 'Cinzel', serif;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.three-mini-charts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.mini-chart {}

.mini-chart-label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--muted);
    text-align: center;
    margin-bottom: 5px;
}

/* ── Guna descriptions ── */
.guna-desc-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.guna-desc-item {
    padding: 16px 0;
    border-bottom: 1px solid var(--line);
}

.guna-desc-item:last-child { border-bottom: none; }

.guna-desc-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
    flex-wrap: wrap;
    gap: 8px;
}

.guna-desc-name {
    font-family: 'Cinzel', serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--sidebar-dark);
}

.guna-desc-score {
    font-family: 'Cinzel', serif;
    font-size: 16px;
    font-weight: 700;
    padding: 2px 12px;
    border-radius: 4px;
    background: var(--saffron-pale);
}

.guna-desc-text {
    font-size: 14px;
    color: var(--ink-soft);
    line-height: 1.7;
    margin: 0 0 8px;
}

.guna-desc-verdict {
    font-size: 13px;
    font-weight: 600;
    margin: 0;
}

/* ── Match section header ── */
.match-compare-section {}

/* Responsive */
@media (max-width: 900px) {
    .three-charts-row { grid-template-columns: 1fr; }
    .match-person-charts { grid-template-columns: 1fr; }
    .three-mini-charts { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 600px) {
    .three-mini-charts { grid-template-columns: 1fr; }
}

/* ================================================================
   Match result — 3-row × 2-column chart layout
   ================================================================ */

/* Column headers above the chart grid */
.chart-col-headers {
    display: grid;
    grid-template-columns: 160px 1fr 1fr;
    gap: 12px;
    margin-bottom: 8px;
    align-items: end;
}

.chart-col-header-spacer { /* empty label column */ }

.chart-col-header {
    font-family: 'Cinzel', serif;
    font-size: 15px;
    font-weight: 700;
    display: flex;
    flex-direction: column;
    gap: 3px;
    text-align: center;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--line);
}

.chart-col-meta {
    font-family: 'Lato', sans-serif;
    font-size: 11px;
    font-weight: 400;
    color: var(--muted);
}

/* Each chart row: label | boy chart | girl chart */
.chart-row {
    display: grid;
    grid-template-columns: 160px 1fr 1fr;
    gap: 12px;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid var(--line);
}

.chart-row:last-child { border-bottom: none; }

.chart-row-label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-right: 8px;
}

.chart-row-title {
    font-family: 'Cinzel', serif;
    font-size: 13px;
    font-weight: 700;
    color: var(--sidebar-dark);
}

.chart-row-sub {
    font-size: 11px;
    color: var(--muted);
    font-weight: 400;
}

.chart-row-cell {
    /* chart SVG fills the cell */
}

/* ── Large score gauge panel ── */
.match-gauge-large {
    width: 240px;
    height: 240px;
    margin: 0 auto 16px;
    display: block;
}

.match-grade-large {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Cinzel', serif;
    font-size: 20px;
    font-weight: 700;
    padding: 8px 28px;
    border-radius: 30px;
    border: 2px solid;
    margin-bottom: 20px;
}

/* Score scale bar */
.score-scale {
    max-width: 480px;
    margin: 0 auto;
}

.score-scale-bar {
    position: relative;
    height: 10px;
    background: #e8e0ec;
    border-radius: 5px;
    overflow: visible;
    margin-bottom: 8px;
}

.score-scale-fill {
    height: 100%;
    border-radius: 5px;
    transition: width 1s ease;
}

.score-scale-marker {
    position: absolute;
    top: -4px;
    width: 18px;
    height: 18px;
    background: #fff;
    border: 3px solid var(--saffron-dark);
    border-radius: 50%;
    transform: translateX(-50%);
    box-shadow: 0 2px 6px rgba(0,0,0,.2);
}

.score-scale-labels {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    font-weight: 600;
}

/* ── Disclaimer panel ── */
.match-disclaimer-panel {
    background: linear-gradient(135deg, #fffaf4 0%, #fff8f0 100%);
    border: 1px solid #f0c080;
    padding: 28px;
}

.disclaimer-icon {
    font-size: 36px;
    text-align: center;
    margin-bottom: 12px;
}

.disclaimer-title {
    font-family: 'Cinzel', serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--sidebar-dark);
    text-align: center;
    margin: 0 0 20px;
}

.disclaimer-body {
    width: 100%;
    margin: 0 0 24px;
}

.disclaimer-para {
    font-size: 14px;
    color: var(--ink-soft);
    line-height: 1.75;
    margin: 0 0 14px;
}

.disclaimer-list {
    margin: 0 0 14px;
    padding-left: 22px;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.disclaimer-list li {
    font-size: 14px;
    color: var(--ink-soft);
    line-height: 1.6;
}

.disclaimer-list li strong {
    color: var(--sidebar-dark);
}

/* CTA block inside disclaimer */
.disclaimer-cta {
    width: 100%;
    background: #fff;
    border: 1.5px solid #f0c080;
    border-radius: 8px;
    padding: 20px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

.disclaimer-cta-text {
    font-size: 14px;
    color: var(--ink-soft);
    line-height: 1.6;
    flex: 1;
}

.disclaimer-cta-text strong {
    color: var(--sidebar-dark);
    font-size: 15px;
}

.disclaimer-cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex-shrink: 0;
}

.disclaimer-btn-wa {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: #25D366;
    color: #fff;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity .2s;
}

.disclaimer-btn-wa:hover { opacity: .88; color: #fff; text-decoration: none; }

.disclaimer-btn-web {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: var(--sidebar-dark);
    color: #fff;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity .2s;
}
.disclaimer-btn-shadi {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    background: #C09228;
    color: #1a0a10;
}
.disclaimer-btn-shadi:hover { opacity: .9; color: #1a0a10; text-decoration: none; }

.disclaimer-btn-web:hover { opacity: .88; color: #fff; text-decoration: none; }

/* Responsive */
@media (max-width: 820px) {
    .chart-col-headers,
    .chart-row { grid-template-columns: 100px 1fr 1fr; }
    .chart-col-header,
    .chart-row-title { font-size: 12px; }
    .match-gauge-large { width: 180px; height: 180px; }
    .match-gauge-large text[font-size="52"] { font-size: 40px; }
    .disclaimer-cta { flex-direction: column; }
    .disclaimer-cta-buttons { flex-direction: row; flex-wrap: wrap; }
}

@media (max-width: 520px) {
    .chart-col-headers,
    .chart-row { grid-template-columns: 80px 1fr 1fr; }
    .chart-row-sub { display: none; }
    .chart-col-meta { display: none; }
}

/* ================================================================
   Match result — compact score panel
   ================================================================ */

.match-score-panel {
    text-align: center;
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.match-score-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 36px;
    flex-wrap: wrap;
    margin-top: 14px;
    width: 100%;
}

.match-gauge-wrap svg { display: block; width: 180px !important; height: 180px !important; }

.match-score-summary {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    min-width: 200px;
}

.match-score-pct {
    font-size: 14px;
    color: var(--muted);
    margin-top: -6px;
}

/* Action bar */
.match-action-bar {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 14px;
    width: 100%;
    flex-wrap: wrap;
}

.match-action-btn {
    padding: 9px 22px;
    font-size: 14px;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    border: 1.5px solid var(--line);
    border-radius: 5px;
    background: var(--panel-soft);
    color: var(--muted);
    cursor: pointer;
    transition: all .15s;
}

.match-action-btn:hover {
    border-color: var(--saffron);
    color: var(--saffron-dark);
    background: var(--saffron-pale);
}

.match-action-btn-pdf {
    border-color: var(--sidebar-dark);
    color: var(--sidebar-dark);
    background: #fff;
}

.match-action-btn-pdf:hover {
    background: var(--sidebar-dark);
    color: #fff;
    border-color: var(--sidebar-dark);
}

/* ================================================================
   Match charts — parallel block layout
   ================================================================ */

/* Person name headers (one line above all blocks) */
.chart-person-headers {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-bottom: 4px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--line);
}

.chart-person-header {
    font-family: 'Cinzel', serif;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    flex-direction: column;
    gap: 3px;
    text-align: center;
}

.chart-person-meta {
    font-family: 'Lato', sans-serif;
    font-size: 11px;
    font-weight: 400;
    color: var(--muted);
}

/* Each chart type block */
.chart-block {
    padding: 20px 0;
    border-bottom: 2px dashed var(--line);
    margin-bottom: 4px;
}

.chart-block-heading {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
}

.chart-block-number {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--saffron);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
}

.chart-block-title {
    font-family: 'Cinzel', serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--sidebar-dark);
    margin-bottom: 3px;
}

.chart-block-desc {
    font-size: 12px;
    color: var(--muted);
    line-height: 1.5;
}

/* Boy | Girl side by side within each block */
.chart-pair {
    display: grid;
    grid-template-columns: 1fr 2px 1fr;
    column-gap: 0;
    align-items: start;
    width: 100%;
}

.chart-pair-divider {
    background: var(--saffron-dark);
    width: 2px;
    align-self: stretch;
    margin: 0 20px;
    opacity: 0.3;
    border-radius: 1px;
}

.chart-pair-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.chart-pair-name {
    font-family: 'Cinzel', serif;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
}

.chart-pair-lagna {
    font-size: 12px;
    color: var(--muted);
    text-align: center;
    padding: 4px 10px;
    background: var(--saffron-pale);
    border-radius: 4px;
}

/* ================================================================
   Print / PDF styles
   ================================================================ */

@media print {
    .match-action-bar,
    .site-topbar,
    .site-sidebar,
    .side-menu,
    .kg-result-toolbar,
    .save-form,
    .result-actions,
    .float-wa,
    .float-call,
    .site-footer { display: none !important; }

    .site-content {
        margin: 0 !important;
        padding: 0 !important;
        max-width: none !important;
    }

    .result-workspace,
    #match-printable {
        display: block !important;
        margin: 0;
        padding: 0;
    }

    .panel {
        border: 1px solid #ccc !important;
        box-shadow: none !important;
        page-break-inside: avoid;
        margin-bottom: 12px;
    }

    .chart-block { page-break-inside: avoid; }
    .tab-panel,
    .tab-panel:not(.tab-panel-active),
    .varga-panel {
        display: block !important;
    }

    .varga-chart-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .varga-chart-grid .varga-panel {
        display: block !important;
        min-width: 0 !important;
        break-inside: avoid;
    }

    .varga-chart-grid .varga-info-box {
        min-height: 0;
    }

    .varga-tabs { display: none !important; }

    body {
        background: #fff !important;
        font-size: 12px;
        color: #000 !important;
    }

    .match-gauge-wrap svg { width: 120px !important; height: 120px !important; }

    /* Print header */
    @page { margin: 15mm; }
    #match-printable::before {
        content: '🔯  KundliGiva — Kundali Matching Report  ·  Powered by Astrogiva.com  ·  +91-9780522673';
        display: block;
        text-align: center;
        font-size: 12px;
        font-weight: bold;
        color: #7B1A35;
        background: #fff8f0;
        padding: 10px 16px;
        border: 1.5px solid #C09228;
        border-radius: 6px;
        margin-bottom: 16px;
    }
}

.kg-output-banner {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(123,26,53,.95), rgba(38,20,67,.92)),
        #7B1A35;
    color: #fff;
    border: 0;
    border-radius: 8px;
    padding: 18px 22px;
    margin-bottom: 16px;
}

.kg-output-banner::after {
    content: "";
    position: absolute;
    inset: auto -40px -70px auto;
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, rgba(240,192,128,.28), rgba(240,192,128,0) 70%);
    pointer-events: none;
}

.kg-banner-kicker,
.kg-output-banner .eyebrow {
    color: #f7d49b;
}

.kg-banner-title {
    margin: 0;
    font-family: 'Cinzel', Georgia, serif;
    font-size: 24px;
    color: #fff;
    font-weight: 700;
}

.kg-kundli-display {
    width: min(100%, 1240px);
    margin: 0 auto;
}

.kg-kundli-display .kg-output-banner {
    padding: 18px 22px;
}

.kg-kundli-display .kg-astrogiva-report-head {
    background: rgba(255,255,255,.18);
    border-color: rgba(255,255,255,.34);
}

.kg-kundli-display .kg-astrogiva-report-head strong {
    font-size: 20px;
}

.kg-kundli-display .kg-astrogiva-report-head span,
.kg-kundli-display .kg-banner-kicker,
.kg-kundli-display .eyebrow {
    font-size: 12px;
}

.kg-kundli-display .kg-banner-title {
    font-size: 26px;
    margin-bottom: 10px;
}

.kg-kundli-display .kg-birth-details-table {
    padding: 14px;
    margin-top: 12px;
}

.kg-kundli-display .kg-panchang-table td {
    padding: 9px 12px;
    font-size: 14px;
}

.kg-kundli-display .kg-panchang-table .compare-label {
    font-size: 12px;
    letter-spacing: .03em;
}

.kg-dasha-display-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: stretch;
}

.kg-dasha-display-grid .dasha-focus-card {
    background: #fffdf8 !important;
    border: 1px solid #e8c488 !important;
    border-radius: 7px;
    padding: 14px 16px;
    color: #1a0a10;
}

.kg-dasha-display-grid .dasha-focus-card strong {
    color: #7B1A35 !important;
    font-size: 16px;
}

.kg-dasha-display-grid .dasha-focus-card p {
    color: #3a1a25 !important;
}

.kg-dasha-display-grid .dasha-focus-card .eyebrow {
    color: #C09228 !important;
}

.kg-varga-display-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: start;
}

.kg-varga-display-card {
    display: block !important;
    min-width: 0 !important;
    border: 1px solid #ead8c8;
    border-radius: 7px;
    padding: 12px;
    background: #fffdf8;
}

.kg-varga-display-card .varga-header {
    margin-bottom: 8px;
}

.kg-varga-display-card .varga-name {
    font-size: 15px;
}

.kg-varga-display-card .varga-info-box {
    min-height: 78px;
    padding: 8px 10px;
    background: #fff8f0;
    border: 1px solid #ead8c8;
    border-radius: 5px;
}

.kg-varga-display-card .varga-info-box p {
    font-size: 12px;
    line-height: 1.45;
}

.kg-varga-display-card .varga-svg-wrap,
.kg-varga-display-card .varga-svg-wrap > div {
    max-width: 100% !important;
}

.kg-banner-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.kg-banner-meta span {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 5px;
    padding: 7px 10px;
    font-size: 13px;
}

.kg-banner-meta strong {
    color: #f7d49b;
    margin-right: 4px;
}

.kg-astrogiva-report-head,
.sg-match-report-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding: 10px 12px;
    margin-bottom: 14px;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 6px;
}

.kg-astrogiva-report-head strong,
.sg-match-report-head strong {
    font-family: 'Cinzel', Georgia, serif;
    color: #fff;
    font-size: 21px;
}

.kg-astrogiva-report-head span,
.sg-match-report-head span {
    color: #f7d49b;
    font-weight: 700;
    font-size: 13px;
}

.kg-birth-details {
    margin: 14px 0 10px;
    padding: 12px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 6px;
}

.kg-birth-details-table {
    background: rgba(255,255,255,.96);
    border-color: rgba(255,255,255,.55);
}

.kg-birth-details h3 {
    margin: 0 0 10px;
    font-family: 'Cinzel', Georgia, serif;
    color: #7B1A35;
    font-size: 17px;
}

.kg-panchang-table {
    background: #fff;
    border: 1px solid #ead8c8;
}

.kg-panchang-table td {
    border-bottom: 1px solid #ead8c8;
    color: #1a0a10;
    font-size: 13px;
}

.kg-panchang-table .compare-label {
    width: 22%;
    background: #fff8f0;
    color: #7B1A35;
    font-weight: 700;
}

.kg-birth-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.kg-birth-grid span {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 8px 10px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 5px;
    font-size: 13px;
}

.kg-birth-grid strong {
    color: #f7d49b;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.dasha-prediction {
    margin: 10px 0 0;
    padding: 10px 12px;
    background: #fff8ed;
    border-left: 4px solid var(--saffron);
    border-radius: 5px;
    color: #4a3527;
    font-size: 13px;
    line-height: 1.6;
}

.dasha-note {
    margin: 0 0 12px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.6;
}

.kg-support-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    background: linear-gradient(135deg,#fffdf8 0%,#fff6e8 100%);
    border: 1px solid #e8c488;
    border-radius: 8px;
    padding: 14px 16px;
    margin-top: 16px;
}

.kg-support-copy h2 {
    margin: 0 0 6px;
    font-family: 'Cinzel', Georgia, serif;
    color: #7B1A35;
    font-size: 16px;
}

.kg-support-copy p {
    margin: 0;
    color: #3a1a25;
    font-size: 13px;
    line-height: 1.55;
}

.kg-support-qr {
    display: flex;
    align-items: center;
    gap: 12px;
}

.kg-support-qrbox {
    width: 88px;
    height: 88px;
    background: #fff;
    border: 1.5px solid #C09228;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.kg-support-qrbox img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.kg-qr-fallback {
    display: none;
    padding: 8px;
    text-align: center;
    color: #7a6050;
    font-size: 10px;
    line-height: 1.35;
}

.kg-support-small {
    color: #7a6050;
    font-size: 12px;
    font-weight: 700;
}

.kg-astrogiva-footer,
.sg-match-footer {
    margin-top: 14px;
    padding: 15px 18px;
    background: #1a0a10;
    color: rgba(255,255,255,.72);
    border-radius: 6px;
    text-align: center;
    line-height: 1.7;
}

.kg-astrogiva-footer strong,
.sg-match-footer strong {
    display: block;
    font-family: 'Cinzel', Georgia, serif;
    color: #f7d49b;
    font-size: 20px;
}

.kg-astrogiva-footer span,
.sg-match-footer span {
    font-size: 13px;
}

.varga-chart-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}

.varga-chart-grid .varga-panel {
    display: block !important;
    min-width: 0;
    break-inside: avoid;
}

.varga-chart-grid .varga-header {
    margin-bottom: 8px;
}

.varga-chart-grid .varga-info-box {
    min-height: 72px;
    margin-bottom: 10px;
}

.varga-chart-grid .varga-info-box p {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
}

.varga-chart-grid .varga-svg-wrap {
    max-width: none;
}

.varga-chart-grid .varga-svg-wrap > div {
    max-width: 100% !important;
}

@media (max-width: 680px) {
    .kg-output-banner { padding: 16px; }
    .kg-banner-title { font-size: 20px; }
    .kg-support-panel { grid-template-columns: 1fr; text-align: center; }
    .kg-support-qr { justify-content: center; }
}

/* Mobile-first hardening: most visitors use phones */
@media (max-width: 760px) {
    *, *::before, *::after {
        box-sizing: border-box;
    }

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    body {
        font-size: 15px;
    }

    .site-wrapper,
    .site-content {
        width: 100% !important;
        max-width: 100vw !important;
        margin-left: 0 !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        overflow-x: hidden;
    }

    .panel,
    .form-panel,
    .home-card,
    .notice,
    .page-title-bar,
    .kg-output-banner,
    .match-score-panel,
    #match-printable,
    .result-content,
    .kg-kundli-display,
    .kg-support-panel,
    .varga-panel,
    .yoga-card,
    .dasha-focus-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        overflow-wrap: break-word;
        word-break: normal;
    }

    .layout,
    .home-cards,
    .two-cols,
    .three-cols,
    .date-cols,
    .place-cascade,
    .confirm-grid,
    .summary-grid,
    .kg-birth-grid,
    .transit-meta,
    .match-persons-grid,
    .match-moon-summary,
    .match-charts-grid,
    .match-score-row,
    .dosha-grid,
    .chart-pair,
    .three-charts-row,
    .three-mini-charts,
    .chart-person-headers,
    .varga-grid-wrap,
    .varga-chart-grid,
    .kg-varga-display-grid,
    .dasha-focus-grid,
    .kg-dasha-display-grid,
    .kg-kundli-footer-cta,
    [style*="grid-template-columns:repeat(2"],
    [style*="grid-template-columns: repeat(2"],
    [style*="grid-template-columns:repeat(3"],
    [style*="grid-template-columns: repeat(3"],
    [style*="grid-template-columns:minmax"],
    [style*="grid-template-columns: minmax"] {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .site-topbar {
        padding: 8px 10px;
        gap: 8px;
    }

    .topbar-brand {
        min-width: 0;
    }

    .topbar-title {
        font-size: 17px !important;
        line-height: 1.1;
    }

    .topbar-sub {
        display: none;
    }

    .topbar-actions {
        gap: 6px;
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    .topbar-btn {
        padding: 7px 9px;
        font-size: 12px;
        white-space: nowrap;
    }

    .section-title h2,
    .page-title-bar h2,
    .kg-banner-title {
        font-size: 20px !important;
        line-height: 1.25 !important;
    }

    .section-title p,
    .eyebrow {
        font-size: 11px !important;
        line-height: 1.35 !important;
    }

    label,
    input,
    select,
    textarea,
    button {
        max-width: 100% !important;
    }

    input,
    select,
    textarea {
        font-size: 16px !important;
    }

    .home-card {
        min-height: auto !important;
    }

    .home-card h3 {
        font-size: 18px !important;
        line-height: 1.25;
    }

    .home-card p {
        font-size: 14px !important;
        line-height: 1.45;
    }

    .chart-pair-divider {
        display: none !important;
    }

    .chart-box,
    .chart-panel,
    .varga-svg-wrap,
    .varga-svg-wrap > div,
    .three-charts-row > *,
    .match-chart-card,
    .chart-pair > * {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    svg {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }

    .table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .table-wrap table {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 14px !important;
    }

    .kg-birth-details-table table,
    .kg-panchang-table,
    .transit-meta table {
        min-width: 0 !important;
    }

    .kg-birth-details-table table,
    .kg-birth-details-table tbody,
    .kg-birth-details-table tr,
    .kg-birth-details-table td,
    .kg-birth-details-table th,
    .kg-panchang-table,
    .kg-panchang-table tbody,
    .kg-panchang-table tr,
    .kg-panchang-table td,
    .kg-panchang-table th {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .kg-birth-details-table th,
    .kg-panchang-table .compare-label,
    .kg-panchang-table th {
        padding-bottom: 2px !important;
        border-bottom: 0 !important;
    }

    .compare-table:not(.kg-panchang-table),
    .koot-table {
        min-width: 560px !important;
    }

    .kg-result-toolbar,
    .result-actions,
    .match-action-bar,
    .match-action-bar-bottom,
    .kg-result-toolbar-bottom {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        justify-content: stretch !important;
    }

    .kg-result-toolbar a,
    .kg-result-toolbar button,
    .result-actions a,
    .result-actions button,
    .match-action-bar a,
    .match-action-bar button,
    .match-action-bar-bottom a,
    .match-action-bar-bottom button,
    .kg-result-toolbar-bottom a,
    .kg-result-toolbar-bottom button {
        width: 100% !important;
        text-align: center !important;
        white-space: normal !important;
    }

    .save-form,
    .save-form-inline {
        display: block !important;
        width: 100% !important;
    }

    .kg-support-panel {
        text-align: center;
    }

    .kg-support-qr,
    .kg-support-text {
        justify-content: center;
        text-align: center;
    }
}

/* Final mobile override: compact Panchang + swipeable planetary table */
@media (max-width: 760px) {
    .kg-kundli-display .kg-birth-details-table .kg-panchang-table tr {
        display: grid !important;
        grid-template-columns: minmax(82px, .7fr) minmax(0, 1.3fr) !important;
        gap: 0 !important;
        align-items: stretch !important;
    }

    .kg-kundli-display .kg-birth-details-table .kg-panchang-table td {
        display: block !important;
        width: auto !important;
        padding: 7px 8px !important;
        border-bottom: 1px solid #ead8c8 !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
    }

    .kg-kundli-display .kg-birth-details-table .kg-panchang-table .compare-label {
        width: auto !important;
        font-size: 11px !important;
        color: #7B1A35 !important;
        background: #fff8f0 !important;
    }

    .planetary-mobile-table.mobile-card-table,
    .planetary-mobile-table.mobile-card-table thead,
    .planetary-mobile-table.mobile-card-table tbody,
    .planetary-mobile-table.mobile-card-table tr,
    .planetary-mobile-table.mobile-card-table th,
    .planetary-mobile-table.mobile-card-table td {
        display: revert !important;
        max-width: none !important;
    }

    .planetary-mobile-table.mobile-card-table {
        display: table !important;
        width: max-content !important;
        min-width: 720px !important;
        border-collapse: collapse !important;
        table-layout: auto !important;
    }

    .planetary-mobile-table.mobile-card-table thead { display: table-header-group !important; }
    .planetary-mobile-table.mobile-card-table tbody { display: table-row-group !important; }
    .planetary-mobile-table.mobile-card-table tr { display: table-row !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
    .planetary-mobile-table.mobile-card-table th,
    .planetary-mobile-table.mobile-card-table td {
        display: table-cell !important;
        width: auto !important;
        padding: 8px 10px !important;
        white-space: nowrap !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
        border-bottom: 1px solid #ead8c8 !important;
    }
    .planetary-mobile-table.mobile-card-table td::before { content: none !important; }
    .planetary-mobile-table.mobile-card-table th:nth-child(3),
    .planetary-mobile-table.mobile-card-table td:nth-child(3) {
        min-width: 135px !important;
        white-space: normal !important;
    }
}

/* Antardasha coverage: true mobile panels, never a stretched table */
@media (max-width: 760px) {
    .dasha-coverage-panel {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .dasha-coverage-panel .mobile-card-table-wrap,
    .dasha-coverage-panel .table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    .dasha-coverage-table,
    .dasha-coverage-table tbody,
    .dasha-coverage-table tr,
    .dasha-coverage-table td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        table-layout: fixed !important;
    }

    .dasha-coverage-table {
        border-collapse: separate !important;
        border-spacing: 0 !important;
    }

    .dasha-coverage-table thead {
        display: none !important;
    }

    .dasha-coverage-table tr {
        padding: 10px 11px !important;
        margin: 0 0 12px !important;
        background: #fffdf8 !important;
        border: 1px solid #ead8c8 !important;
        border-left: 4px solid var(--saffron) !important;
        border-radius: 7px !important;
        box-shadow: none !important;
    }

    .dasha-coverage-table td {
        padding: 7px 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #f0dfcc !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        line-height: 1.5 !important;
    }

    .dasha-coverage-table td:last-child {
        border-bottom: 0 !important;
    }

    .dasha-coverage-table td::before {
        content: attr(data-label);
        display: block !important;
        color: var(--saffron-dark);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .04em;
        line-height: 1.3;
        margin-bottom: 3px;
        text-transform: uppercase;
    }

    .dasha-coverage-table td[data-label="Likely result"] {
        background: #fff8f0 !important;
        border: 0 !important;
        border-left: 3px solid var(--saffron) !important;
        border-radius: 5px !important;
        margin-top: 5px !important;
        padding: 9px 10px !important;
    }
}

/* Compact mobile birth details: label and value stay side by side */
@media (max-width: 760px) {
    .kg-kundli-display .kg-birth-details-table .table-wrap {
        overflow-x: visible !important;
    }

    .kg-kundli-display .kg-birth-details-table .kg-panchang-table,
    .kg-kundli-display .kg-birth-details-table .kg-panchang-table tbody {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .kg-kundli-display .kg-birth-details-table .kg-panchang-table tr {
        display: grid !important;
        grid-template-columns: minmax(82px, .72fr) minmax(0, 1.28fr) !important;
        gap: 0 !important;
        border-bottom: 1px solid #ead8c8 !important;
        padding: 4px 0 !important;
    }

    .kg-kundli-display .kg-birth-details-table .kg-panchang-table td {
        display: block !important;
        width: auto !important;
        padding: 7px 8px !important;
        border-bottom: 0 !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
        overflow-wrap: anywhere !important;
    }

    .kg-kundli-display .kg-birth-details-table .kg-panchang-table .compare-label {
        width: auto !important;
        background: #fff8f0 !important;
        color: #7B1A35 !important;
        font-size: 11px !important;
        text-transform: uppercase;
        letter-spacing: .035em;
        border-radius: 4px 0 0 4px;
    }

    .kg-kundli-display .kg-birth-details-table .kg-panchang-table tr td:nth-child(3),
    .kg-kundli-display .kg-birth-details-table .kg-panchang-table tr td:nth-child(4) {
        grid-column: auto !important;
    }
}

/* Planetary details on mobile: keep as a readable swipe table, not tall cards */
@media (max-width: 760px) {
    .planetary-mobile-table.mobile-card-table,
    .planetary-mobile-table.mobile-card-table thead,
    .planetary-mobile-table.mobile-card-table tbody,
    .planetary-mobile-table.mobile-card-table tr,
    .planetary-mobile-table.mobile-card-table th,
    .planetary-mobile-table.mobile-card-table td {
        display: revert !important;
        width: auto !important;
        max-width: none !important;
    }

    .planetary-mobile-table.mobile-card-table {
        display: table !important;
        width: max-content !important;
        min-width: 720px !important;
        border-collapse: collapse !important;
        background: #fff !important;
        table-layout: auto !important;
    }

    .planetary-mobile-table.mobile-card-table thead {
        display: table-header-group !important;
    }

    .planetary-mobile-table.mobile-card-table tbody {
        display: table-row-group !important;
    }

    .planetary-mobile-table.mobile-card-table tr {
        display: table-row !important;
        border: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
        background: #fff !important;
    }

    .planetary-mobile-table.mobile-card-table th,
    .planetary-mobile-table.mobile-card-table td {
        display: table-cell !important;
        padding: 8px 10px !important;
        border-bottom: 1px solid #ead8c8 !important;
        white-space: nowrap !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
        vertical-align: middle !important;
    }

    .planetary-mobile-table.mobile-card-table td::before {
        content: none !important;
    }

    .planetary-mobile-table.mobile-card-table th:nth-child(3),
    .planetary-mobile-table.mobile-card-table td:nth-child(3) {
        min-width: 135px !important;
        white-space: normal !important;
    }

    .planetary-mobile-table.mobile-card-table th:nth-child(4),
    .planetary-mobile-table.mobile-card-table td:nth-child(4) {
        min-width: 145px !important;
    }

    .planetary-mobile-table.mobile-card-table th {
        background: var(--saffron-pale) !important;
        color: var(--saffron-dark) !important;
        font-size: 11px !important;
        text-transform: uppercase;
        letter-spacing: .04em;
    }

    .planetary-mobile-table.mobile-card-table {
        margin-bottom: 4px;
    }
}

@media (max-width: 420px) {
    .site-content {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    .panel,
    .form-panel,
    .home-card,
    .kg-output-banner,
    .match-score-panel,
    #match-printable {
        padding-left: 10px !important;
        padding-right: 10px !important;
        border-radius: 6px !important;
    }

    .topbar-logo {
        width: 34px;
        height: 34px;
        font-size: 13px;
    }

    .topbar-actions .topbar-btn:not(:first-child) {
        display: none;
    }
}

/* Mobile report rows: avoid squeezed degree/result columns */
@media (max-width: 760px) {
    .mobile-card-table-wrap {
        overflow-x: visible !important;
    }

    .mobile-card-table,
    .mobile-card-table thead,
    .mobile-card-table tbody,
    .mobile-card-table tr,
    .mobile-card-table th,
    .mobile-card-table td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .mobile-card-table {
        border-collapse: separate !important;
        border-spacing: 0 !important;
        background: transparent !important;
    }

    .mobile-card-table thead {
        display: none !important;
    }

    .mobile-card-table tr {
        background: #fffdf8 !important;
        border: 1px solid #ead8c8 !important;
        border-left: 4px solid var(--saffron) !important;
        border-radius: 7px !important;
        margin: 0 0 12px !important;
        padding: 8px 10px !important;
        box-shadow: 0 2px 8px rgba(70, 25, 10, .05);
    }

    .mobile-card-table td {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 3px !important;
        align-items: start !important;
        padding: 8px 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #f0dfcc !important;
        line-height: 1.5 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    .mobile-card-table td:last-child {
        border-bottom: 0 !important;
    }

    .mobile-card-table td::before {
        content: attr(data-label);
        color: var(--saffron-dark);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .04em;
        text-transform: uppercase;
        line-height: 1.35;
    }

    .planetary-mobile-table td[data-label="Degree"],
    .dasha-coverage-table td[data-label="Period"],
    .dasha-coverage-table td[data-label="Likely result"],
    .transit-mobile-table td[data-label="Degree"],
    .transit-mobile-table td[data-label="Notes"] {
        grid-template-columns: 1fr !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    .dasha-coverage-table td[data-label="Likely result"],
    .transit-mobile-table td[data-label="Notes"] {
        grid-template-columns: 1fr !important;
        background: #fff8f0 !important;
        border-radius: 5px;
        padding: 10px !important;
        margin-top: 4px;
    }

    .dasha-coverage-table td[data-label="Likely result"]::before,
    .transit-mobile-table td[data-label="Notes"]::before {
        margin-bottom: 4px;
    }

    .kg-kundli-display .ad-row {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        background: #fffdf8;
        border: 1px solid #ead8c8;
        border-left: 4px solid var(--saffron);
        border-radius: 7px;
        padding: 10px !important;
        margin-bottom: 10px;
    }

    .kg-kundli-display .ad-result {
        grid-column: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 4px !important;
        overflow-wrap: anywhere !important;
    }

    .kg-varga-display-grid,
    .varga-chart-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .kg-varga-display-grid .kg-varga-display-card,
    .varga-chart-grid .varga-panel {
        width: 100% !important;
        max-width: 100% !important;
        padding: 12px !important;
    }

    .kg-varga-display-grid .varga-info-box {
        min-height: 0 !important;
    }

    .kg-varga-display-grid .varga-svg-wrap,
    .varga-chart-grid .varga-svg-wrap {
        width: 100% !important;
        max-width: 430px !important;
        margin: 8px auto 0 !important;
    }

    .kg-varga-display-grid .varga-svg-wrap > div,
    .varga-chart-grid .varga-svg-wrap > div {
        width: 100% !important;
        max-width: 430px !important;
        margin: 0 auto !important;
    }
}

@media (max-width: 520px) {
    .kg-birth-grid,
    .varga-chart-grid { grid-template-columns: 1fr; }
    .kg-panchang-table,
    .kg-panchang-table tbody,
    .kg-panchang-table tr,
    .kg-panchang-table td { display: block; width: 100%; }
    .kg-panchang-table .compare-label { width: 100%; border-bottom: none; }
}

/* Responsive */
@media (max-width: 680px) {
    .match-action-bar { justify-content: center; }
    .match-score-row { flex-direction: column; align-items: center; }
    .match-score-summary { align-items: center; }
}
/* Chart pair stays parallel until very small screens */
@media (max-width: 480px) {
    .chart-person-headers { grid-template-columns: 1fr; }
    .chart-pair { grid-template-columns: 1fr !important; }
    .chart-pair-divider { display: none; }
}

/* Bottom action bar */
.match-action-bar-bottom {
    margin-top: 10px;
    margin-bottom: 20px;
    padding: 14px 20px;
    background: var(--saffron-pale);
    border: 1px solid var(--line);
    border-radius: 8px;
}

/* Score panel — full width, centred content */

/* Ensure chart-pair grid works even on narrower content areas */
.chart-pair {
    grid-template-columns: minmax(0,1fr) 2px minmax(0,1fr) !important;
}

/* Override responsive breakpoint — keep parallel until very narrow */
@media (max-width: 400px) {
    .chart-pair {
        grid-template-columns: 1fr !important;
    }
    .chart-pair-divider {
        display: none;
    }
}

/* ── Match result full-width on PC ── */
body .site-content > .panel,
body .site-content section.panel,
body .site-content > section {
    width: 100%;
    box-sizing: border-box;
}
.match-score-panel {
    width: 100%;
}

/* ================================================================
   Country → State → City cascade form
   ================================================================ */

.place-cascade {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px;
}

.place-cascade select {
    width: 100%;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 5px;
    padding: 9px 12px;
    color: var(--text);
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    appearance: auto;
}

.place-cascade select:disabled {
    background: #f8f4ee;
    color: var(--muted);
    cursor: not-allowed;
}

.place-cascade select:focus {
    border-color: var(--saffron);
    box-shadow: 0 0 0 3px rgba(232,134,10,.12);
    outline: none;
}

.cascade-loading {
    font-size: 12px;
    color: var(--muted);
    font-style: italic;
    margin-top: 4px;
    display: block;
}

/* Timezone display strip */
.tz-display {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--saffron-pale);
    border: 1px solid #f0c080;
    border-radius: 5px;
    padding: 8px 14px;
    font-size: 13px;
}

.tz-label {
    font-weight: 700;
    color: var(--saffron-dark);
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: .08em;
    flex-shrink: 0;
}

.tz-value {
    color: var(--text);
    font-weight: 600;
    flex: 1;
}

/* Responsive */
@media (max-width: 820px) {
    .place-cascade { grid-template-columns: 1fr; }
}


/* Larger Country / State / City fields */
.place-cascade {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}
.place-cascade input[list],
.place-cascade input[type="text"] {
    width: 100%;
    min-height: 46px;
    padding: 12px 14px;
    font-size: 15px;
    border: 1px solid var(--line);
    border-radius: 5px;
    background: #fff;
    color: var(--text);
    font-family: 'Lato', sans-serif;
}
.place-cascade input:disabled {
    background: #f8f4ee;
    color: var(--muted);
    cursor: not-allowed;
}
.place-cascade input:focus {
    outline: none;
    border-color: var(--saffron);
    box-shadow: 0 0 0 3px rgba(232,134,10,.15);
}

/* KundliGiva professional additions */
.topbar-select{background:#fff;color:#2c1a0e;border:1px solid rgba(255,255,255,.5);border-radius:4px;padding:6px 8px;font-weight:700}
.topbar-btn-light{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25)}
.auth-panel{max-width:520px;margin:30px auto}.auth-panel .form-panel{box-shadow:none;border:0;padding:0}
.kg-result-toolbar{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin:12px 0}
.btn-secondary,.btn-secondary:visited{display:inline-block;background:#fff7ec;border:1px solid #e0b779;color:#7b1f1f;padding:8px 12px;border-radius:5px;font-weight:700;text-decoration:none;cursor:pointer;font-size:13px}
.btn-secondary:hover{background:#ffe8c4;text-decoration:none;color:#5a1515}.btn-sm{padding:5px 9px;font-size:12px}.btn-danger{background:#c62828;color:#fff;border:0;border-radius:5px;padding:7px 11px;font-weight:700;cursor:pointer}.btn-danger:hover{background:#a91515}.btn-open{display:inline-block;background:#7b1f1f;color:#fff;padding:6px 10px;border-radius:5px;font-weight:700;text-decoration:none}.btn-open:hover{background:#5a1515;color:#fff;text-decoration:none}
.varga-info-box{background:linear-gradient(135deg,#fff8ed,#fff3e0);border:1px solid #e7c79a;border-left:5px solid var(--saffron);border-radius:8px;padding:12px 14px;margin:12px 0 16px}.varga-info-box strong{display:block;color:#7b1f1f;margin-bottom:5px}.varga-info-box p{margin:0;color:#4a3527;font-size:14px;line-height:1.6}
.match-place-cascade{grid-template-columns:1fr!important;gap:10px;margin-top:10px}.field-note{font-size:12px;color:var(--muted);margin:6px 0 0}.kundli-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:10px}.action-cell{white-space:nowrap}.muted-cell{color:var(--muted);font-size:12px}.muted,.muted-note{color:var(--muted)}
.site-content{font-size:calc(1rem + 1pt)}
.result-content,.match-score-panel,#match-printable,.table-wrap table,.dasha-list,.yoga-card,.varga-panel,.transit-meta{font-size:calc(1em + 1pt)}
.topbar-title,.footer-brand{font-size:calc(1em + 2pt)}
.varga-name{font-size:calc(16px + 1pt)}
.varga-header{font-size:calc(1em + 1pt)}
.kg-shadigiva-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0 4px;padding:12px 14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);border-radius:7px}
.kg-shadigiva-banner strong{font-family:'Cinzel',Georgia,serif;color:#fff;font-size:20px}
.kg-shadigiva-banner span{color:#f7d49b;font-weight:700}
.kg-shadigiva-banner a{background:#C09228;color:#1a0a10;padding:7px 12px;border-radius:5px;text-decoration:none;font-weight:800}
.kg-kundli-footer-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(135deg,#fff8ed,#fff3e0);border:1.5px solid #e7c79a}
.kg-kundli-footer-cta h2{margin:0 0 5px;color:#7B1A35;font-family:'Cinzel',Georgia,serif}
.kg-kundli-footer-cta p{margin:0;color:#4a3527}
.kg-result-toolbar-bottom{justify-content:flex-end;margin:0}
.save-form-inline{display:inline-flex;margin:0}
.dasha-focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.dasha-focus-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:7px;padding:12px 14px}
.dasha-focus-card strong{display:block;color:#fff;font-size:15px;margin:4px 0}
.dasha-focus-card p{margin:0 0 6px;color:rgba(255,255,255,.82)}
.dasha-focus-card em{display:block;color:rgba(255,255,255,.9);font-style:normal;line-height:1.55}
.match-action-btn-shadi,.match-action-btn-shadi:visited{background:#6B0F2A!important;color:#fff!important;border-color:#C09228!important;text-decoration:none}
.dasha-coverage-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dasha-coverage-card{background:#fffdf8;border:1px solid #ead8c8;border-left:4px solid var(--saffron);border-radius:7px;padding:12px 14px;min-width:0}
.dasha-coverage-card.dasha-current{background:#fff8f0;border-left-color:#7B1A35}
.dasha-coverage-head,.dasha-coverage-period{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;align-items:start;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid #f0dfcc}
.dasha-coverage-head strong{color:#7B1A35;font-size:16px}
.coverage-label{color:var(--saffron-dark);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;line-height:1.35}
.dasha-coverage-period span:last-child{color:#3a1a25;font-weight:700;overflow-wrap:anywhere}
.dasha-coverage-result{background:#fff8f0;border-left:3px solid var(--saffron);border-radius:5px;padding:9px 10px}
.dasha-coverage-result p{margin:4px 0 0;line-height:1.55;color:#1a0a10;overflow-wrap:anywhere}
@media(max-width:760px){.dasha-coverage-cards{grid-template-columns:1fr!important}.dasha-coverage-card{padding:11px 12px}.dasha-coverage-head,.dasha-coverage-period{grid-template-columns:1fr;gap:3px}}
.custom-report-builder form{display:grid;gap:14px}
.custom-report-builder select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:5px;padding:9px 12px;background:#fff;color:var(--text);font-size:15px}
.custom-report-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.custom-report-options label{display:flex;align-items:center;gap:8px;background:#fff8f0;border:1px solid #ead8c8;border-radius:6px;padding:10px 12px;font-weight:700;color:#3a1a25}
.custom-report-options input{width:18px;height:18px;accent-color:#7B1A35}
.custom-report-cover{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(135deg,#7B1A35,#4c1234);color:#fff}
.custom-report-cover h2{color:#fff;margin:4px 0;font-family:'Cinzel',serif}
.custom-report-cover p{margin:0;color:#f7d49b}
.custom-report-section{break-inside:avoid}
.custom-status-card{display:grid;gap:4px;border-radius:8px;padding:14px 16px;margin-bottom:12px;border:1.5px solid #ead8c8;background:#fffdf8}
.custom-status-card strong{font-family:'Cinzel',serif;font-size:18px;color:#7B1A35}
.custom-status-card span{color:#3a1a25;line-height:1.5}
.custom-good{border-left:5px solid #1A7A3A;background:#f4fff7}
.custom-warn{border-left:5px solid #C09228;background:#fff8f0}
.custom-neutral{border-left:5px solid #1565c0;background:#f2f7ff}
.custom-report-note{font-size:14px;line-height:1.65;color:#3a1a25;margin:8px 0}
.custom-report-list{margin:8px 0 0;padding-left:20px;color:#3a1a25;line-height:1.6}
.custom-varga-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.custom-varga-card{background:#fffdf8;border:1px solid #ead8c8;border-radius:8px;padding:12px;min-width:0}
.custom-varga-card h3{font-family:'Cinzel',serif;color:#7B1A35;margin:0 0 4px;font-size:17px}
.custom-varga-card p{font-size:13px;color:#665;margin:0 0 10px;line-height:1.5}
.custom-chip-grid{display:flex;flex-wrap:wrap;gap:8px}
.custom-chip-grid span{background:#fff8f0;border:1px solid #ead8c8;color:#7B1A35;border-radius:999px;padding:6px 11px;font-weight:700;font-size:13px}
@media(max-width:760px){.custom-report-cover{display:grid}.custom-varga-grid{grid-template-columns:1fr}.custom-report-options{grid-template-columns:1fr}}
@media(max-width:720px){.dasha-focus-grid{grid-template-columns:1fr}}
@media print{.site-topbar,.site-sidebar,.site-footer,.result-actions,.save-form,.kg-result-toolbar,.side-menu,.match-action-bar,.match-action-bar-bottom{display:none!important}.site-content{margin:0!important;padding:0!important;max-width:none!important}.result-workspace,#match-printable{display:block!important}.panel{box-shadow:none!important;border:1px solid #ddd!important;break-inside:avoid}.tab-panel{display:block!important}.tab-panel:not(.tab-panel-active){display:block!important}.varga-panel{display:block!important;break-inside:avoid}.varga-tabs{display:none!important}body{background:#fff!important;color:#000!important}.kg-output-banner{color:#000!important;background:#fff!important;border:1.5px solid #C09228!important}.kg-banner-title{color:#000!important}.kg-output-banner .eyebrow,.kg-banner-kicker,.kg-banner-meta strong{color:#7B1A35!important}.kg-banner-meta span{border-color:#ddd!important;background:#fff!important}.kg-support-panel{break-inside:avoid}}

/* Final Kundli display corrections */
.kg-kundli-display{width:min(100%,1240px)!important;margin:0 auto!important}
.kg-kundli-display .kg-output-banner{padding:18px 22px!important}
.kg-kundli-display .kg-panchang-table td{padding:9px 12px!important;font-size:14px!important;color:#1a0a10!important}
.kg-kundli-display .kg-panchang-table .compare-label{background:#fff8f0!important;color:#7B1A35!important;font-weight:800!important}
.kg-dasha-display-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.kg-dasha-display-grid .dasha-focus-card{background:#fffdf8!important;border:1px solid #e8c488!important;color:#1a0a10!important}
.kg-dasha-display-grid .dasha-focus-card strong{color:#7B1A35!important}
.kg-dasha-display-grid .dasha-focus-card p{color:#3a1a25!important}
.kg-dasha-display-grid .dasha-focus-card .eyebrow{color:#C09228!important}
.kg-varga-display-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
.kg-varga-display-grid .kg-varga-display-card{display:block!important;min-width:0!important}
.kg-varga-display-grid .kg-varga-display-card .varga-svg-wrap,.kg-varga-display-grid .kg-varga-display-card .varga-svg-wrap>div{max-width:100%!important}
@media(max-width:760px){.kg-dasha-display-grid,.kg-varga-display-grid{grid-template-columns:1fr!important}}

@media (max-width: 680px) {
    body {
        overflow-x: hidden;
    }
    .site-content,
    .panel,
    .form-panel,
    #match-printable,
    .result-content,
    .kg-kundli-display {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-wrap: anywhere;
    }
    .two-cols,
    .three-cols,
    .date-cols,
    .place-cascade,
    .confirm-grid,
    .summary-grid,
    .transit-meta,
    .match-persons-grid,
    .match-moon-summary,
    .match-charts-grid,
    .dosha-grid,
    .chart-pair,
    .kg-dasha-display-grid,
    .kg-varga-display-grid,
    .varga-chart-grid,
    .dasha-focus-grid,
    .home-cards,
    .namkaran-guest-form [style*="grid-template-columns"],
    .kg-kundli-display [style*="grid-template-columns"] {
        grid-template-columns: 1fr !important;
    }
    .table-wrap {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    table {
        min-width: 0;
    }
    .compare-table,
    .koot-table,
    .kg-panchang-table {
        min-width: 520px;
    }
    .kg-panchang-table,
    .kg-panchang-table tbody,
    .kg-panchang-table tr,
    .kg-panchang-table td {
        display: block;
        width: 100% !important;
    }
    .kg-panchang-table .compare-label {
        width: 100% !important;
        border-bottom: 0;
    }
    svg {
        max-width: 100% !important;
        height: auto !important;
    }
    .result-actions,
    .kg-result-toolbar,
    .match-action-bar,
    .match-action-bar-bottom {
        justify-content: stretch !important;
    }
    .result-actions a,
    .result-actions button,
    .kg-result-toolbar a,
    .kg-result-toolbar button,
    .match-action-bar a,
    .match-action-bar button,
    .match-action-bar-bottom a,
    .match-action-bar-bottom button {
        width: 100%;
        text-align: center;
    }
}
