/* KundliLive V21 — final, last-loaded inner-page theme layer. */
:root {
    --kl-as-yellow: #ffc107;
    --kl-as-orange: #ff6f00;
    --kl-as-orange-dark: #d95700;
    --kl-as-cream: #fff8df;
    --kl-as-ink: #3f3832;
    --kl-as-muted: #6d655f;
    --kl-as-line: #ded8cf;
    --kl-as-shadow: 0 2px 7px rgba(54, 43, 32, .13);
}

body:not(.has-generated-report),
body.has-generated-report,
.tools-main,
.kl-report-shell,
.ka-wrap {
    font-family: Roboto, "Noto Sans Devanagari", Arial, sans-serif;
}

.tools-main {
    color: var(--kl-as-ink);
    font-size: 16px;
    line-height: 1.62;
}

.tools-main p,
.tools-main li,
.tools-main td,
.tools-main dd {
    font-size: 16px;
}

.tools-main label,
.tools-main th,
.tools-main dt,
.tools-main small {
    font-size: 14px;
}

.tools-main input,
.tools-main select,
.tools-main textarea,
.tools-main button {
    font-family: inherit;
    font-size: 15px;
}

.tools-main input,
.tools-main select,
.tools-main textarea {
    min-height: 43px;
    border-color: #d4cec4;
    border-radius: 3px;
    background: #fff;
}

.tools-main button,
.tools-main input[type="submit"],
.tools-main .matching-submit,
.tools-main .gpm-submit,
.tools-main .mp-submit {
    border-radius: 3px;
}

.tools-main a:not(.tools-btn):not(.tools-brand):not(.tools-nav__link) {
    text-underline-offset: 3px;
}

/* Shared inner-page cards. */
body.matching-page .matching-page-title,
body.matching-page .tools-match-form,
body.matching-page .matching-guide__header,
body.matching-page .matching-overview-grid article,
body.matching-page .matching-kootas,
body.matching-page .matching-consideration-grid article,
body.matching-page .matching-faq,
body.daily-tool-page .daily-page-head,
body.daily-tool-page .daily-tool-filter,
body.daily-tool-page .choghadiya-summary,
body.daily-tool-page .choghadiya-table-card,
body.daily-tool-page .hindu-calendar-card,
body.daily-tool-page .festival-list,
body.panchang-page .panchang-clean-report,
body.panchang-page .panchang-sidebar section,
body.gpm-page .gpm-workspace,
body.gpm-page .gpm-guide,
body.gpm-page .gpm-rules article,
body.gpm-page .gpm-faq,
body.marriage-prediction-page .mp-hero,
body.marriage-prediction-page .mp-calculator,
body.marriage-prediction-page .mp-result,
body.marriage-prediction-page .mp-panel,
body.marriage-prediction-page .mp-guide,
body.marriage-prediction-page .mp-topic-grid article,
body.marriage-prediction-page .mp-faq,
body.info-page .info-hero,
body.info-page .info-card,
body.info-page .info-workflow,
body.info-page .info-transparency,
body.info-page .info-note,
body.info-page .why-hero,
body.info-page .why-identity,
body.info-page .why-difference,
body.info-page .why-statement,
body.info-page .why-process,
body.info-page .why-founder,
body.info-page .why-faq,
body.info-page .why-final-cta,
body.info-page .static-contact-card,
body.info-page .static-related-links {
    border-color: var(--kl-as-line) !important;
    border-radius: 3px !important;
    background-color: #fff !important;
    box-shadow: var(--kl-as-shadow) !important;
}

body.matching-page .matching-page-title,
body.daily-tool-page .daily-page-head,
body.daily-tool-page .hindu-calendar-card,
body.panchang-page .panchang-clean-report,
body.gpm-page .gpm-workspace,
body.marriage-prediction-page .mp-hero,
body.info-page .info-hero,
body.info-page .why-hero {
    border-top: 5px solid var(--kl-as-yellow) !important;
}

body.daily-tool-page .daily-page-head h1,
body.panchang-page .panchang-report-head h1,
body.gpm-page h1,
body.marriage-prediction-page h1,
body.info-page h1 {
    color: #574f48 !important;
    font-size: clamp(31px, 3.2vw, 44px) !important;
    line-height: 1.18 !important;
}

body.daily-tool-page .daily-page-head p,
body.panchang-page .panchang-report-head p,
body.gpm-page .gpm-report-head p,
body.marriage-prediction-page .mp-hero p,
body.info-page .info-hero p,
body.info-page .why-hero p {
    color: var(--kl-as-muted) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

/* Calendar: replace the remaining dark legacy grid with the shared warm theme. */
body.calendar-page .hindu-calendar-card__head,
body.calendar-page .calendar-selected-summary,
body.panchang-page .panchang-day-title,
body.panchang-page .panchang-sidebar h2,
body.gpm-page .gpm-report-head,
body.marriage-prediction-page .mp-panel > h2,
body.info-page .info-card > h2 {
    background: var(--kl-as-cream) !important;
    border-color: #ecd58b !important;
    color: #5c5047 !important;
}

body.calendar-page .hindu-calendar-weekday {
    background: #f6f3ee !important;
    color: #5c554f !important;
    border-color: #ddd7ce !important;
    font-size: 14px !important;
}

body.calendar-page .hindu-calendar-weekday.is-sunday,
body.calendar-page .hindu-calendar-day.is-sunday {
    background: #fff1e8 !important;
    color: #b54225 !important;
}

body.calendar-page .hindu-calendar-day {
    background: #fff !important;
    border-color: #e1dcd4 !important;
    color: var(--kl-as-ink) !important;
}

body.calendar-page .hindu-calendar-day:hover,
body.calendar-page .hindu-calendar-day.has-festival,
body.calendar-page .hindu-calendar-day.is-today {
    background: #fff8dc !important;
    box-shadow: inset 0 0 0 2px var(--kl-as-yellow) !important;
}

body.calendar-page .hindu-calendar-day__number {
    color: #c95325 !important;
    font-size: 18px !important;
}

body.calendar-page .hindu-calendar-day__tithi-end,
body.calendar-page .hindu-calendar-day__nakshatra,
body.calendar-page .hindu-calendar-day__moon,
body.calendar-page .hindu-calendar-day__sun,
body.calendar-page .hindu-calendar-day__yoga {
    color: #6c635c !important;
    font-size: 13px !important;
}

body.panchang-page .panchang-sidebar a,
body.panchang-page .panchang-period-line strong,
body.panchang-page .panchang-period-line > span,
body.panchang-page .panchang-day-title p,
body.panchang-page .panchang-day-title > strong {
    font-size: 14px !important;
}

body.panchang-page .panchang-text-section h2,
body.panchang-page .panchang-day-title h2 {
    color: #5b5048 !important;
}

body.panchang-page .panchang-text-section h2 {
    border-bottom-color: var(--kl-as-orange) !important;
}

/* Forms, CTAs and information links. */
body.matching-page .tools-match-form .tools-button,
body.daily-tool-page .daily-tool-filter button,
body.gpm-page .gpm-submit,
body.marriage-prediction-page .mp-submit,
body.info-page .why-final-cta a,
body.info-page .static-contact-card a {
    border-color: var(--kl-as-orange) !important;
    background: var(--kl-as-orange) !important;
    color: #fff !important;
    box-shadow: 0 2px 5px rgba(164, 72, 0, .22) !important;
    font-size: 15px !important;
}

body.matching-page .tools-match-form .tools-button:hover,
body.daily-tool-page .daily-tool-filter button:hover,
body.gpm-page .gpm-submit:hover,
body.marriage-prediction-page .mp-submit:hover {
    background: var(--kl-as-orange-dark) !important;
}

/* Generated Kundli, summary and Ask Your Kundli workspace. Chart geometry is untouched. */
body.has-generated-report .kl-report-tabs-shell,
body.has-generated-report .kl-report-panel,
body.has-generated-report .kl-chat-card,
body.has-generated-report .kl-chat-chart-companion,
body.has-generated-report .kl-summary-sheet {
    border-radius: 3px !important;
    border-color: #ded7cd !important;
    background: #fff !important;
    box-shadow: var(--kl-as-shadow) !important;
}

body.has-generated-report .kl-report-tabs-shell {
    border-top: 4px solid var(--kl-as-yellow) !important;
}

body.has-generated-report .kl-report-tabs {
    background: #fff !important;
    border-bottom-color: #e0d9d0 !important;
}

body.has-generated-report .kl-report-tab {
    min-height: 50px !important;
    color: #514b46 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

body.has-generated-report .kl-report-tab[aria-selected="true"],
body.has-generated-report .kl-report-tab.is-active {
    background: #fff7d5 !important;
    color: #c64e24 !important;
    box-shadow: inset 0 -3px 0 var(--kl-as-orange) !important;
}

body.has-generated-report .kl-sidebar-title,
body.has-generated-report .kl-chat-head,
body.has-generated-report .kl-question-selector-head,
body.has-generated-report .kl-chat-chart-head {
    background: var(--kl-as-cream) !important;
    border-color: #ecd58b !important;
    color: #5a4f47 !important;
}

body.has-generated-report .kl-summary-sheet,
body.has-generated-report .kl-summary-sheet p,
body.has-generated-report .kl-summary-sheet li,
body.has-generated-report .kl-summary-sheet td,
body.has-generated-report .kl-summary-sheet th,
body.has-generated-report .kl-summary-sheet dt,
body.has-generated-report .kl-summary-sheet dd,
body.has-generated-report .kl-summary-sheet span,
body.has-generated-report .kl-summary-sheet strong {
    font-size: 14px !important;
    line-height: 1.48 !important;
}

body.has-generated-report .kl-summary-table-block h3,
body.has-generated-report .kl-summary-table-block h4 {
    color: #5d4f45 !important;
    font-size: 16px !important;
}

body.has-generated-report .kl-question-category-group > summary,
body.has-generated-report .kl-question-item,
body.has-generated-report .kl-chat-bubble,
body.has-generated-report .kl-chat-empty-state > p,
body.has-generated-report .kl-chat-selection-state > p,
body.has-generated-report .kl-chat-trust-points li,
body.has-generated-report .kl-chat-input,
body.has-generated-report .kl-chat-related-option {
    font-size: 14px !important;
    line-height: 1.5 !important;
}

body.has-generated-report .kl-chat-head h2,
body.has-generated-report .kl-chat-head h3,
body.has-generated-report .kl-chat-empty-state h3,
body.has-generated-report .kl-chat-selection-state h3 {
    color: #5b3028 !important;
    font-size: 22px !important;
}

body.has-generated-report .kl-question-item,
body.has-generated-report .kl-question-category-group,
body.has-generated-report .kl-chat-access-bar,
body.has-generated-report .kl-chat-empty-state,
body.has-generated-report .kl-chat-selection-state {
    border-radius: 3px !important;
    border-color: #e1d8cd !important;
    background: #fff !important;
}

body.has-generated-report .kl-chat-send,
body.has-generated-report .kl-chat-related-place-search,
body.has-generated-report .kl-chat-related-use,
body.has-generated-report .kl-generate,
body.has-generated-report .kl-report-birth-sidebar .kl-generate,
body.has-generated-report .kl-place-search-btn,
body.has-generated-report .kl-report-birth-sidebar .kl-place-search-btn,
body.has-generated-report .kl-detail-button,
body.has-generated-report .kl-question-selector-toggle {
    border-color: var(--kl-as-orange) !important;
    border-radius: 3px !important;
    background: var(--kl-as-orange) !important;
    color: #fff !important;
    font-size: 15px !important;
}

body.has-generated-report .kl-credit-pill,
body.has-generated-report .kl-credit-pill strong,
body.has-generated-report .kl-credit-pill small,
body.has-generated-report .kl-chat-verified,
body.has-generated-report .kl-chat-access-label,
body.has-generated-report #kl-chat-access-text,
body.has-generated-report .kl-chat-note,
body.has-generated-report .kl-question-category-group > summary small {
    font-size: 13px !important;
}

/* Account and admin pages share the same typography and practical controls. */
.ka-wrap {
    color: var(--kl-as-ink);
    font-size: 16px;
}

.ka-card,
.ka-stat,
.ka-pay,
.ka-history-item,
.ka-admin-head,
.ka-admin-hero,
.ka-metric,
.ka-admin-action-box {
    border-radius: 3px !important;
}

.ka-form label,
.ka-muted,
.ka-table,
.ka-table th,
.ka-table td,
.ka-history-label,
.ka-answer-preview,
.ka-admin-body .ka-table th,
.ka-admin-body .ka-table td,
.ka-admin-action-box label {
    font-size: 14px !important;
    line-height: 1.5;
}

.ka-form input,
.ka-form select,
.ka-btn {
    min-height: 42px;
    border-radius: 3px !important;
    font-size: 15px !important;
}

.ka-btn:not(.danger):not(.success) {
    background: var(--kl-as-orange) !important;
    color: #fff !important;
}

.ka-badge,
.ka-status-pill,
.ka-admin-body code,
.ka-admin-body .ka-table small,
.ka-metric span,
.ka-metric small {
    font-size: 13px !important;
}

@media (max-width: 760px) {
    .tools-main,
    .tools-main p,
    .tools-main li,
    .tools-main td,
    body.has-generated-report .kl-question-item,
    body.has-generated-report .kl-chat-bubble {
        font-size: 15px !important;
    }

    body.daily-tool-page .daily-page-head h1,
    body.panchang-page .panchang-report-head h1,
    body.gpm-page h1,
    body.marriage-prediction-page h1,
    body.info-page h1 {
        font-size: 28px !important;
    }

    body.has-generated-report .kl-report-tab {
        min-width: 132px;
        font-size: 14px !important;
    }
}

/* V24 — compact required birth form, keyboard-friendly time picker and sticky standard nav. */
html {
    scroll-padding-top: 108px;
}

.tools-topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1310 !important;
}

.tools-nav {
    position: sticky !important;
    top: 48px !important;
    z-index: 1300 !important;
}

.tools-nav__inner {
    min-height: 46px !important;
}

.tools-nav__link,
.tools-nav__link:first-child,
.tools-nav__dropdown > summary {
    min-height: 46px !important;
    padding: 10px 10px 8px !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
}
body .tools-nav .tools-nav__inner > .tools-nav__link,
body .tools-nav .tools-nav__inner > .tools-nav__dropdown > summary {
    font-weight: 700 !important;
}

@media (min-width: 1001px) {
    .tools-nav__dropdown-menu {
        top: 100% !important;
    }
}

.kl-generator:has(.kl-birth-form) {
    overflow: visible !important;
    border-radius: 14px !important;
    background: #fff !important;
}

.kl-generator:has(.kl-birth-form) .kl-generator-head {
    min-height: 0 !important;
    padding: 17px 19px !important;
    border-bottom: 1px solid #e3dfd7 !important;
    background: #fff !important;
}

.kl-generator:has(.kl-birth-form) .kl-generator-head::before,
.kl-generator:has(.kl-birth-form) .kl-hero-trust,
.kl-generator:has(.kl-birth-form) .kl-generator-note {
    display: none !important;
}

.kl-generator:has(.kl-birth-form) .kl-generator-title {
    margin: 0 !important;
    color: #4d4741 !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

.kl-birth-form {
    padding: 18px 19px !important;
    background: #fff !important;
}

.kl-birth-form .kl-form-grid {
    gap: 15px 13px !important;
}

.kl-birth-form .kl-field input:not([type="radio"]),
.kl-birth-form .kl-field select,
.tools-birth-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.tools-birth-form select {
    min-height: 50px !important;
    height: 50px !important;
    padding-block: 8px !important;
}

.kl-birth-form .kl-gender-toggle label > span {
    min-height: 46px !important;
    padding-block: 7px !important;
}

.kl-birth-form .kl-place-search-btn,
.tools-birth-form [data-place-button] {
    min-height: 50px !important;
    height: 50px !important;
    padding-inline: 15px !important;
}

.kl-birth-form .kl-generate,
.tools-birth-form .tools-button--primary,
.tools-birth-form .mp-submit,
.tools-birth-form .gpm-submit {
    min-height: 46px !important;
    height: auto !important;
    padding: 9px 18px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
}

.kl-birth-form .kl-generator-actions {
    align-items: center !important;
}

.is-required-label > span:first-child::after,
.kl-birth-form .kl-field > label.is-required-label::after {
    content: " *";
    color: #e2483d;
    font-size: .95em;
    font-weight: 800;
}

.friendly-time-control {
    position: relative;
    width: 100%;
    min-width: 0;
}

.friendly-time-control > input {
    padding-right: 48px !important;
}

.friendly-time-control > input[type="time"]::-webkit-calendar-picker-indicator {
    width: 36px;
    height: 36px;
    margin: 0 -2px 0 0;
    opacity: 0;
}

.friendly-time-toggle {
    position: absolute;
    top: 50%;
    right: 7px;
    z-index: 2;
    display: grid;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    place-items: center;
    border: 0 !important;
    border-radius: 50% !important;
    color: #6b6864 !important;
    background: transparent !important;
    font-size: 23px !important;
    line-height: 1 !important;
    box-shadow: none !important;
    transform: translateY(-50%);
    cursor: pointer;
}

.friendly-time-toggle:hover,
.friendly-time-toggle:focus-visible {
    color: #b84922 !important;
    background: #fff3d7 !important;
}

.friendly-time-icon {
    display: block;
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.friendly-time-picker[hidden] {
    display: none !important;
}

.friendly-time-picker {
    position: absolute;
    top: calc(100% + 7px);
    right: 0;
    z-index: 1500;
    box-sizing: border-box;
    width: min(370px, calc(100vw - 32px));
    padding: 16px;
    border: 1px solid #dedbd5;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(55, 45, 34, .18);
}

.friendly-time-selectors {
    display: grid;
    grid-template-columns: minmax(74px, 1fr) auto minmax(74px, 1fr) minmax(126px, 1.4fr);
    align-items: center;
    gap: 8px;
}

.friendly-time-selectors > span {
    color: #615c57;
    font-size: 23px;
    font-weight: 700;
}

.friendly-time-picker select {
    min-height: 42px !important;
    height: 42px !important;
    padding: 6px 9px !important;
    border: 1px solid #d7d4cf !important;
    border-radius: 9px !important;
    background: #fff !important;
    font-size: 16px !important;
}

.friendly-time-period {
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
    border: 1px solid #d7d4cf;
    border-radius: 9px;
}

.friendly-time-period button {
    min-width: 0 !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 6px 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #4f4a46 !important;
    background: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

.friendly-time-period button + button {
    border-left: 1px solid #dedbd5 !important;
}

.friendly-time-period button.is-active {
    color: #513f00 !important;
    background: #f9df2b !important;
}

.friendly-time-done {
    display: block !important;
    min-height: 40px !important;
    margin: 13px 0 0 auto !important;
    padding: 7px 17px !important;
    border: 0 !important;
    border-radius: 9px !important;
    color: #513f00 !important;
    background: #f9df2b !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

@media (max-width: 760px) {
    html {
        scroll-padding-top: 96px;
    }

    .tools-nav__link,
    .tools-nav__link:first-child,
    .tools-nav__dropdown > summary {
        min-height: 44px !important;
        padding: 9px 10px 7px !important;
        font-size: 14.5px !important;
    }

    .kl-generator:has(.kl-birth-form) .kl-generator-head {
        padding: 15px 14px !important;
    }

    .kl-generator:has(.kl-birth-form) .kl-generator-title {
        font-size: 23px !important;
    }

    .kl-birth-form {
        padding: 15px 14px !important;
    }

    .friendly-time-picker {
        right: 0;
        padding: 13px;
    }

    .friendly-time-selectors {
        grid-template-columns: minmax(66px, 1fr) auto minmax(66px, 1fr);
    }

    .friendly-time-period {
        grid-column: 1 / -1;
    }

}

/* V23 — friendly birth forms and full rural place hierarchy. */
.kl-birth-form,
.tools-birth-form {
    --birth-form-accent: #ff6f00;
    --birth-form-line: #d8d4cc;
    --birth-form-soft: #fffaf0;
}

.kl-birth-form .kl-field label,
.kl-birth-form .kl-field > span,
.tools-birth-form label > span {
    display: block;
    margin: 0 0 7px !important;
    color: #443c35 !important;
    font-size: 16px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
}

.kl-birth-form .kl-field input:not([type="radio"]),
.kl-birth-form .kl-field select,
.tools-birth-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.tools-birth-form select {
    box-sizing: border-box;
    width: 100%;
    min-height: 54px !important;
    height: 54px !important;
    padding: 10px 14px !important;
    border: 1px solid var(--birth-form-line) !important;
    border-radius: 11px !important;
    color: #2f2b28 !important;
    background-color: #fff !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    box-shadow: 0 1px 2px rgba(70, 50, 30, .04) !important;
}

.kl-birth-form .kl-field input:not([type="radio"]):focus,
.kl-birth-form .kl-field select:focus,
.tools-birth-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):focus,
.tools-birth-form select:focus {
    border-color: var(--birth-form-accent) !important;
    outline: 3px solid rgba(255, 111, 0, .14) !important;
}

.kl-birth-form input[type="date"],
.kl-birth-form input[type="time"],
.tools-birth-form input[type="date"],
.tools-birth-form input[type="time"] {
    color-scheme: light;
    cursor: pointer;
}

.kl-birth-form input[type="date"]::-webkit-calendar-picker-indicator,
.kl-birth-form input[type="time"]::-webkit-calendar-picker-indicator,
.tools-birth-form input[type="date"]::-webkit-calendar-picker-indicator,
.tools-birth-form input[type="time"]::-webkit-calendar-picker-indicator {
    width: 20px;
    height: 20px;
    opacity: .72;
    cursor: pointer;
}

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

.kl-gender-toggle label {
    position: relative;
    display: block !important;
    min-width: 0;
    margin: 0 !important;
    cursor: pointer;
}

.kl-gender-toggle input {
    position: absolute;
    width: 1px !important;
    height: 1px !important;
    opacity: 0;
    pointer-events: none;
}

.kl-birth-form .kl-gender-toggle label > span,
.kl-gender-toggle label > span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    margin: 0 !important;
    padding: 8px 10px;
    border: 1px solid var(--birth-form-line);
    border-radius: 11px;
    color: #625a53 !important;
    background: #fff;
    font-size: 16px !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    transition: border-color .15s ease, background .15s ease, color .15s ease;
}

.kl-gender-toggle input:checked + span {
    border-color: var(--birth-form-accent);
    color: #fff !important;
    background: var(--birth-form-accent);
    box-shadow: 0 4px 10px rgba(255, 111, 0, .2);
}

.kl-gender-toggle input:focus-visible + span {
    outline: 3px solid rgba(255, 111, 0, .22);
    outline-offset: 2px;
}

.kl-birth-form .kl-place-search-btn,
.tools-birth-form [data-place-button] {
    min-height: 54px !important;
    height: 54px !important;
    padding-inline: 18px !important;
    border: 1px solid #e45e00 !important;
    border-radius: 10px !important;
    color: #fff !important;
    background: var(--birth-form-accent) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 10px rgba(255, 111, 0, .18) !important;
}

.tools-birth-form .tools-person-panel {
    padding: 22px !important;
    border: 1px solid #e2ded5 !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 6px 20px rgba(82, 60, 34, .06);
}

.tools-birth-form.tools-match-form {
    border-radius: 18px !important;
    background: var(--birth-form-soft) !important;
}

.tools-birth-form .tools-person-panel legend {
    padding-inline: 8px;
    color: #3c342e !important;
    font-size: 22px !important;
}

.tools-place-status,
.kl-birth-form .kl-place-status {
    grid-column: 1 / -1;
    min-height: 22px;
    margin-top: 2px;
    color: #536b79 !important;
    font-size: 14px !important;
    font-weight: 650;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.tools-place-option,
.kl-place-option {
    min-height: 62px !important;
    padding: 10px 13px !important;
}

.tools-place-option .kl-place-option-title,
.kl-place-option .kl-place-option-title {
    font-size: 16px !important;
    line-height: 1.35 !important;
}

.tools-place-option .kl-place-option-meta,
.kl-place-option .kl-place-option-meta {
    margin-top: 3px !important;
    color: #667883 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
}

@media (max-width: 760px) {
    .tools-birth-form .tools-person-grid,
    .tools-birth-form .tools-form-grid {
        grid-template-columns: 1fr !important;
    }

    .tools-birth-form .tools-person-panel {
        padding: 17px 14px !important;
    }

    .kl-gender-toggle {
        gap: 6px;
    }

    .kl-birth-form .kl-gender-toggle label > span,
    .kl-gender-toggle label > span {
        min-height: 50px;
        padding-inline: 6px;
        font-size: 15px !important;
    }

    .tools-place-option .kl-place-option-meta,
    .kl-place-option .kl-place-option-meta {
        white-space: normal !important;
    }
}

/* V22: site-wide readable typography scale. Kept separate from chart geometry. */
body {
    font-size: 18px !important;
    line-height: 1.65 !important;
}

.tools-brand strong {
    font-size: 25px !important;
    line-height: 1.05 !important;
}

.tools-brand small {
    font-size: 11px !important;
    line-height: 1.3 !important;
}

.tools-feedback-trigger,
.tools-whatsapp-share,
.tools-live-presence,
.tools-account-actions a,
.tools-account-actions button,
.tools-language a {
    font-size: 14px !important;
}

.tools-nav__link,
.tools-nav__link:first-child,
.tools-nav__dropdown > summary {
    min-height: 56px !important;
    padding-top: 16px !important;
    padding-bottom: 13px !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
}

.tools-nav__dropdown-menu a,
.tools-nav__tool-card,
.tools-nav__tool-card strong,
.tools-nav__tool-card small {
    font-size: 15px !important;
    line-height: 1.4 !important;
}

.tools-breadcrumb,
.panchang-breadcrumb,
.daily-breadcrumb,
.kl-breadcrumbs {
    font-size: 15px !important;
}

.tools-main {
    font-size: 18px !important;
    line-height: 1.7 !important;
}

.tools-main p,
.tools-main li,
.tools-main td,
.tools-main dd,
.tools-main summary {
    font-size: 18px !important;
    line-height: 1.7 !important;
}

.tools-main label,
.tools-main label > span,
.tools-main th,
.tools-main dt,
.tools-main small {
    font-size: 16px !important;
    line-height: 1.45 !important;
}

.tools-main input,
.tools-main select,
.tools-main textarea,
.tools-main button,
.tools-main .tools-button {
    min-height: 46px !important;
    font-size: 17px !important;
}

.tools-main h1,
body.daily-tool-page .daily-page-head h1,
body.panchang-page .panchang-report-head h1,
body.gpm-page h1,
body.marriage-prediction-page h1,
body.info-page h1 {
    font-size: clamp(38px, 3.4vw, 48px) !important;
    line-height: 1.2 !important;
}

.tools-main h2 {
    font-size: clamp(28px, 2.4vw, 34px) !important;
    line-height: 1.28 !important;
}

.tools-main h3 {
    font-size: 23px !important;
    line-height: 1.35 !important;
}

.matching-page-title__copy p,
.matching-guide p,
.daily-page-head p,
.panchang-report-head p,
.panchang-daily-summary p,
.info-hero p,
.why-hero p {
    font-size: 18px !important;
    line-height: 1.7 !important;
}

/* Kundli landing page. */
body.is-kundli-landing .kl-page,
body.is-kundli-chat-entry .kl-page {
    font-size: 18px !important;
    line-height: 1.7 !important;
}

body.is-kundli-landing .kl-landing-hero .kl-page-title,
body.is-kundli-landing .kl-page-title {
    font-size: clamp(38px, 3.3vw, 46px) !important;
    line-height: 1.2 !important;
}

body.is-kundli-landing .kl-landing-copy p,
body.is-kundli-landing .kl-kundli-seo-sections--final p,
body.is-kundli-landing .kl-kundli-seo-sections--final li,
body.is-kundli-landing .kl-kundli-seo-sections--final td {
    font-size: 18px !important;
    line-height: 1.72 !important;
}

body.is-kundli-landing .kl-kundli-seo-sections--final h2 {
    font-size: 30px !important;
}

body.is-kundli-landing .kl-kundli-seo-sections--final h3 {
    font-size: 23px !important;
}

body.is-kundli-landing .kl-field label,
body.is-kundli-landing .kl-field > span,
body.is-kundli-landing .kl-generator-note,
body.is-kundli-landing .kl-generator-trust span {
    font-size: 16px !important;
}

body.is-kundli-landing .kl-field input,
body.is-kundli-landing .kl-field select,
body.is-kundli-landing .kl-generate,
body.is-kundli-landing .kl-place-search-btn {
    min-height: 48px !important;
    font-size: 17px !important;
}

/* Generated Kundli and chat: larger without changing chart coordinates. */
body.has-generated-report,
body.has-generated-report .kl-page {
    font-size: 16px !important;
    line-height: 1.55 !important;
}

body.has-generated-report .kl-report-tab {
    font-size: 17px !important;
}

body.has-generated-report .kl-field label,
body.has-generated-report .kl-field > span,
body.has-generated-report .kl-question-category-field,
body.has-generated-report .kl-question-list-label,
body.has-generated-report .kl-profile-fact span {
    font-size: 15px !important;
}

body.has-generated-report .kl-field input,
body.has-generated-report .kl-field select,
body.has-generated-report .kl-chat-input,
body.has-generated-report .kl-generate,
body.has-generated-report .kl-place-search-btn {
    min-height: 44px !important;
    font-size: 16px !important;
}

body.has-generated-report .kl-summary-sheet,
body.has-generated-report .kl-summary-sheet p,
body.has-generated-report .kl-summary-sheet li,
body.has-generated-report .kl-summary-sheet td,
body.has-generated-report .kl-summary-sheet th,
body.has-generated-report .kl-summary-sheet dt,
body.has-generated-report .kl-summary-sheet dd,
body.has-generated-report .kl-summary-sheet span,
body.has-generated-report .kl-summary-sheet strong {
    font-size: 15.5px !important;
    line-height: 1.52 !important;
}

body.has-generated-report .kl-question-category-group > summary,
body.has-generated-report .kl-question-item,
body.has-generated-report .kl-chat-bubble,
body.has-generated-report .kl-chat-empty-state > p,
body.has-generated-report .kl-chat-selection-state > p,
body.has-generated-report .kl-chat-trust-points li,
body.has-generated-report .kl-chat-related-option,
body.has-generated-report .kl-section-desc,
body.has-generated-report .kl-timing-topic-card p {
    font-size: 16px !important;
    line-height: 1.58 !important;
}

body.has-generated-report .kl-credit-pill,
body.has-generated-report .kl-credit-pill strong,
body.has-generated-report .kl-credit-pill small,
body.has-generated-report .kl-chat-verified,
body.has-generated-report .kl-chat-access-label,
body.has-generated-report #kl-chat-access-text,
body.has-generated-report .kl-chat-note,
body.has-generated-report .kl-question-category-group > summary small {
    font-size: 14px !important;
}

/* Account and admin typography. */
.ka-wrap {
    font-size: 17px !important;
    line-height: 1.65 !important;
}

.ka-title {
    font-size: 30px !important;
}

.ka-form label,
.ka-muted,
.ka-table,
.ka-table th,
.ka-table td,
.ka-history-label,
.ka-answer-preview,
.ka-admin-body .ka-table th,
.ka-admin-body .ka-table td,
.ka-admin-action-box label {
    font-size: 15px !important;
}

.ka-form input,
.ka-form select,
.ka-btn {
    min-height: 45px !important;
    font-size: 16px !important;
}

.ka-badge,
.ka-status-pill,
.ka-admin-body code,
.ka-admin-body .ka-table small,
.ka-metric span,
.ka-metric small {
    font-size: 14px !important;
}

@media (max-width: 760px) {
    body,
    .tools-main,
    .tools-main p,
    .tools-main li,
    .tools-main td,
    .tools-main dd,
    .tools-main summary,
    body.is-kundli-landing .kl-page,
    body.is-kundli-landing .kl-landing-copy p,
    body.is-kundli-landing .kl-kundli-seo-sections--final p,
    body.is-kundli-landing .kl-kundli-seo-sections--final li {
        font-size: 16.5px !important;
        line-height: 1.68 !important;
    }

    .tools-brand strong {
        font-size: 21px !important;
    }

    .tools-nav__link,
    .tools-nav__link:first-child,
    .tools-nav__dropdown > summary {
        min-height: 48px !important;
        padding: 13px 11px 10px !important;
        font-size: 15px !important;
    }

    .tools-main h1,
    body.daily-tool-page .daily-page-head h1,
    body.panchang-page .panchang-report-head h1,
    body.gpm-page h1,
    body.marriage-prediction-page h1,
    body.info-page h1,
    body.is-kundli-landing .kl-landing-hero .kl-page-title,
    body.is-kundli-landing .kl-page-title {
        font-size: 30px !important;
        line-height: 1.22 !important;
    }

    .tools-main h2,
    body.is-kundli-landing .kl-kundli-seo-sections--final h2 {
        font-size: 25px !important;
    }

    .tools-main h3,
    body.is-kundli-landing .kl-kundli-seo-sections--final h3 {
        font-size: 21px !important;
    }

    .tools-main label,
    .tools-main label > span,
    .tools-main th,
    .tools-main dt,
    .tools-main small,
    body.is-kundli-landing .kl-field label,
    body.is-kundli-landing .kl-field > span {
        font-size: 15px !important;
    }

    .tools-main input,
    .tools-main select,
    .tools-main textarea,
    .tools-main button,
    .tools-main .tools-button,
    body.is-kundli-landing .kl-field input,
    body.is-kundli-landing .kl-field select,
    body.is-kundli-landing .kl-generate,
    body.is-kundli-landing .kl-place-search-btn {
        min-height: 46px !important;
        font-size: 16px !important;
    }

    body.has-generated-report .kl-report-tab {
        min-width: 138px !important;
        font-size: 15.5px !important;
    }

    body.has-generated-report .kl-summary-sheet,
    body.has-generated-report .kl-summary-sheet p,
    body.has-generated-report .kl-summary-sheet li,
    body.has-generated-report .kl-summary-sheet td,
    body.has-generated-report .kl-summary-sheet th,
    body.has-generated-report .kl-summary-sheet dt,
    body.has-generated-report .kl-summary-sheet dd,
    body.has-generated-report .kl-summary-sheet span,
    body.has-generated-report .kl-summary-sheet strong {
        font-size: 14.5px !important;
    }

    body.has-generated-report .kl-question-item,
    body.has-generated-report .kl-chat-bubble,
    body.has-generated-report .kl-chat-empty-state > p,
    body.has-generated-report .kl-chat-selection-state > p,
    body.has-generated-report .kl-chat-trust-points li {
        font-size: 15.5px !important;
    }

    .ka-wrap {
        font-size: 16px !important;
    }
}

/* V22 specificity locks for legacy page-level rules. */
body.home-page .home-hero h1 {
    font-size: clamp(40px, 3.3vw, 46px) !important;
}

body.home-page .home-hero__copy > p,
body.home-page .home-section__heading > p,
body.home-page .home-positioning p {
    font-size: 18px !important;
    line-height: 1.7 !important;
}

body.home-page .home-chat__message p,
body.home-page .home-chat__suggestions a,
body.home-page .home-trust li,
body.home-page .home-daily p,
body.home-page .home-section p {
    font-size: 17px !important;
    line-height: 1.6 !important;
}

body.home-page .tools-button,
body.home-page .home-chat__composer,
body.home-page .site-suggestion-submit {
    min-height: 46px !important;
    font-size: 16px !important;
}

body.matching-page .matching-page-title {
    height: auto !important;
    min-height: 230px !important;
}

body.matching-page .matching-page-title__visual,
body.matching-page .matching-page-title__visual img {
    height: 100% !important;
    min-height: 230px !important;
}

body.matching-page .matching-page-title__copy h1 {
    font-size: clamp(36px, 3vw, 42px) !important;
}

body.matching-page .matching-page-title__copy p {
    font-size: 17px !important;
}

body.matching-page .tools-match-form .tools-form-grid label > span {
    font-size: 16px !important;
}

body.matching-page .tools-match-form .tools-form-grid input,
body.matching-page .tools-match-form .tools-form-grid select {
    min-height: 46px !important;
    height: 46px !important;
    font-size: 17px !important;
}

body.is-kundli-landing .kl-landing-hero .kl-landing-copy .kl-page-subtitle,
body.is-kundli-landing .kl-landing-hero .kl-landing-copy .kl-page-subtitle--secondary {
    font-size: 18px !important;
    line-height: 1.72 !important;
}

body.is-kundli-landing.is-kundli-chat-entry .kl-landing-generator-layout .kl-guest-birth-strip .kl-field label,
body.is-kundli-landing.is-kundli-chat-entry .kl-landing-generator-layout .kl-guest-birth-strip .kl-field > span {
    font-size: 16px !important;
}

body.is-kundli-landing.is-kundli-chat-entry .kl-landing-generator-layout .kl-guest-birth-strip .kl-field input,
body.is-kundli-landing.is-kundli-chat-entry .kl-landing-generator-layout .kl-guest-birth-strip .kl-field select,
body.is-kundli-landing.is-kundli-chat-entry .kl-landing-generator-layout .kl-guest-birth-strip .kl-generate,
body.is-kundli-landing.is-kundli-chat-entry .kl-landing-generator-layout .kl-guest-birth-strip .kl-place-search-btn {
    min-height: 48px !important;
    font-size: 17px !important;
}

body.is-kundli-landing .kl-preview-card-main > .kl-preview-head,
body.is-kundli-landing .kl-landing-generator-layout > .kl-compact-report-preview .kl-preview-head,
body.is-kundli-landing .kl-preview-head,
body.is-kundli-landing .kl-preview-head * {
    color: #fff !important;
}

body.is-kundli-landing .kl-preview-head .kl-compact-report-preview__title {
    font-size: 27px !important;
    line-height: 1.25 !important;
}

body.is-kundli-landing.is-kundli-chat-entry .kl-landing-generator-layout > .kl-compact-report-preview .kl-preview-head .kl-compact-report-preview__eyebrow,
body.is-kundli-landing.is-kundli-chat-entry .kl-landing-generator-layout > .kl-compact-report-preview .kl-preview-head .kl-compact-report-preview__title {
    color: #fff !important;
}

body.is-kundli-landing .kl-compact-report-preview__intro,
body.is-kundli-landing .kl-preview-lead,
body.is-kundli-landing .kl-preview-report-list li,
body.is-kundli-landing .kl-preview-question-strip {
    font-size: 16px !important;
    line-height: 1.6 !important;
}

body.calendar-page .hindu-calendar-day__tithi-end,
body.calendar-page .hindu-calendar-day__nakshatra,
body.calendar-page .hindu-calendar-day__moon,
body.calendar-page .hindu-calendar-day__sun,
body.calendar-page .hindu-calendar-day__yoga,
body.calendar-page .hindu-calendar-day__festival {
    font-size: 15px !important;
    line-height: 1.45 !important;
}

body.calendar-page .hindu-calendar-day__number {
    font-size: 21px !important;
}

body.panchang-page .panchang-sidebar a,
body.panchang-page .panchang-period-line strong,
body.panchang-page .panchang-period-line > span,
body.panchang-page .panchang-day-title p,
body.panchang-page .panchang-day-title > strong {
    font-size: 16px !important;
}

@media (max-width: 760px) {
    body.home-page .home-hero h1,
    body.matching-page .matching-page-title__copy h1 {
        font-size: 30px !important;
    }

    body.home-page .home-hero__copy > p,
    body.home-page .home-section__heading > p,
    body.home-page .home-positioning p,
    body.matching-page .matching-page-title__copy p,
    body.is-kundli-landing .kl-landing-hero .kl-landing-copy .kl-page-subtitle,
    body.is-kundli-landing .kl-landing-hero .kl-landing-copy .kl-page-subtitle--secondary {
        font-size: 16.5px !important;
    }

    body.matching-page .matching-page-title,
    body.matching-page .matching-page-title__visual,
    body.matching-page .matching-page-title__visual img {
        min-height: 0 !important;
    }

    body.matching-page .matching-page-title__visual,
body.matching-page .matching-page-title__visual img {
        height: 190px !important;
    }
}

/* V24 final cascade lock. */
html { scroll-padding-top: 108px; }
.tools-topbar { position: sticky !important; top: 0 !important; z-index: 1310 !important; }
.tools-nav { position: sticky !important; top: 48px !important; z-index: 1300 !important; }
.tools-nav__inner { min-height: 46px !important; }
.tools-nav__link,
.tools-nav__link:first-child,
.tools-nav__dropdown > summary {
    min-height: 46px !important;
    padding: 10px 10px 8px !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
}
body .tools-nav .tools-nav__inner > .tools-nav__link,
body .tools-nav .tools-nav__inner > .tools-nav__dropdown > summary {
    font-weight: 700 !important;
}
/* Keep desktop mega menus attached to the shared nav.  The stronger selector
   intentionally wins over older page-specific landing-page offsets. */
@media (min-width: 1001px) {
    body .tools-nav .tools-nav__inner > .tools-nav__dropdown > .tools-nav__dropdown-menu {
        top: 100% !important;
        margin-top: 0 !important;
    }
}
.kl-generator:has(.kl-birth-form) { overflow: visible !important; border-radius: 14px !important; background: #fff !important; }
.kl-generator:has(.kl-birth-form) .kl-generator-head { min-height: 0 !important; padding: 17px 19px !important; border-bottom: 1px solid #e3dfd7 !important; background: #fff !important; }
.kl-generator:has(.kl-birth-form) .kl-generator-head::before,
.kl-generator:has(.kl-birth-form) .kl-hero-trust,
.kl-generator:has(.kl-birth-form) .kl-generator-note { display: none !important; }
.kl-generator:has(.kl-birth-form) .kl-generator-title { margin: 0 !important; color: #4d4741 !important; font-size: 25px !important; font-weight: 700 !important; line-height: 1.25 !important; }
.kl-birth-form { padding: 18px 19px !important; background: #fff !important; }
body.is-kundli-landing.is-kundli-chat-entry .kl-landing-generator-layout .kl-guest-birth-strip .kl-generator-head,
body.is-kundli-landing.is-kundli-chat-entry .kl-landing-generator-layout .kl-guest-birth-strip .kl-form.kl-birth-form {
    background: #fff !important;
}
.kl-birth-form .kl-form-grid { gap: 15px 13px !important; }
.kl-birth-form .kl-field input:not([type="radio"]),
.kl-birth-form .kl-field select,
.tools-birth-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.tools-birth-form select { min-height: 50px !important; height: 50px !important; padding-block: 8px !important; }
.kl-birth-form .kl-gender-toggle label > span { min-height: 46px !important; padding-block: 7px !important; }
.kl-birth-form .kl-place-search-btn,
.tools-birth-form [data-place-button] { min-height: 50px !important; height: 50px !important; padding-inline: 15px !important; }
.kl-birth-form .kl-generate,
.tools-birth-form .tools-button--primary,
.tools-birth-form .mp-submit,
.tools-birth-form .gpm-submit { min-height: 46px !important; height: auto !important; padding: 9px 18px !important; font-size: 16px !important; line-height: 1.25 !important; }
.friendly-time-picker select { min-height: 42px !important; height: 42px !important; padding: 6px 9px !important; font-size: 16px !important; }
.friendly-time-period button { min-height: 40px !important; height: 40px !important; padding: 6px 10px !important; font-size: 15px !important; }
.friendly-time-done { min-height: 40px !important; height: auto !important; padding: 7px 17px !important; font-size: 15px !important; }

@media (max-width: 760px) {
    html { scroll-padding-top: 96px; }
    .tools-nav__link,
    .tools-nav__link:first-child,
    .tools-nav__dropdown > summary { min-height: 44px !important; padding: 9px 10px 7px !important; font-size: 14.5px !important; font-weight: 700 !important; }
    .kl-generator:has(.kl-birth-form) .kl-generator-head { padding: 15px 14px !important; }
    .kl-generator:has(.kl-birth-form) .kl-generator-title { font-size: 23px !important; }
    .kl-birth-form { padding: 15px 14px !important; }
}

/* V25: form-first Kundli landing page. */
body.is-kundli-landing.is-kundli-chat-entry .kl-kundli-entry-card {
    overflow: visible !important;
}

body.is-kundli-landing.is-kundli-chat-entry .kl-landing-generator-layout--form-only {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 18px 20px 0 !important;
}

body.is-kundli-landing.is-kundli-chat-entry .kl-landing-generator-layout--form-only > #kundli-generator {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
}

body.is-kundli-landing.is-kundli-chat-entry .kl-kundli-entry-card > .kl-landing-hero {
    margin-top: 18px !important;
    border-top: 1px solid var(--kl-gov-border) !important;
}

body.is-kundli-landing.is-kundli-chat-entry .kl-kundli-entry-card > .kl-compact-report-preview {
    display: grid !important;
    width: auto !important;
    margin: 18px 20px 20px !important;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
    align-items: stretch !important;
    gap: 16px !important;
}

body.is-kundli-landing.is-kundli-chat-entry .kl-kundli-entry-card > .kl-compact-report-preview > .kl-preview-card-main,
body.is-kundli-landing.is-kundli-chat-entry .kl-kundli-entry-card > .kl-compact-report-preview > .kl-preview-card-details {
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
}

body.is-kundli-landing.is-kundli-chat-entry .kl-kundli-entry-card > .kl-compact-report-preview > .kl-preview-card-details {
    display: flex !important;
    padding: 24px 26px !important;
    grid-column: auto !important;
    grid-row: auto !important;
    grid-template-columns: none !important;
    flex-direction: column !important;
    gap: 18px !important;
}

body.is-kundli-landing.is-kundli-chat-entry .kl-kundli-entry-card > .kl-compact-report-preview .kl-preview-head,
body.is-kundli-landing.is-kundli-chat-entry .kl-kundli-entry-card > .kl-compact-report-preview .kl-preview-head * {
    color: #fff !important;
}

body.is-kundli-landing.is-kundli-chat-entry .kl-kundli-entry-card > .kl-compact-report-preview .kl-preview-report-list,
body.is-kundli-landing.is-kundli-chat-entry .kl-kundli-entry-card > .kl-compact-report-preview .kl-preview-question-strip,
body.is-kundli-landing.is-kundli-chat-entry .kl-kundli-entry-card > .kl-compact-report-preview .kl-compact-report-preview__footer {
    width: 100% !important;
    margin: 0 !important;
    grid-column: auto !important;
    grid-row: auto !important;
}

body.is-kundli-landing.is-kundli-chat-entry .kl-kundli-entry-card > .kl-compact-report-preview .kl-compact-report-preview__footer {
    margin-top: auto !important;
}

@media (max-width: 900px) {
    .friendly-time-picker {
        right: auto !important;
        left: 0 !important;
        width: 100% !important;
    }

    body.is-kundli-landing.is-kundli-chat-entry .kl-landing-generator-layout--form-only {
        padding: 14px 14px 0 !important;
    }

    body.is-kundli-landing.is-kundli-chat-entry .kl-kundli-entry-card > .kl-landing-hero {
        margin-top: 14px !important;
    }

    body.is-kundli-landing.is-kundli-chat-entry .kl-kundli-entry-card > .kl-compact-report-preview {
        margin: 14px !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* V30: keep manually typed birth time and the picker in one clean control. */
.friendly-time-control > input[data-friendly-time-ready="true"] {
    padding-right: 50px !important;
}

/* V30: balanced two-row calculator form on wide screens. */
@media (min-width: 1051px) {
    body.marriage-prediction-page .mp-calculator form {
        padding: 20px 22px !important;
    }

    body.marriage-prediction-page .mp-form-grid {
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        gap: 16px !important;
        align-items: end !important;
    }

    body.marriage-prediction-page .mp-form-grid > label:nth-child(1) {
        grid-column: 1 / 4;
        grid-row: 1;
    }

    body.marriage-prediction-page .mp-form-grid > label:nth-child(2) {
        grid-column: 4 / 7;
        grid-row: 1;
    }

    body.marriage-prediction-page .mp-form-grid > label:nth-child(3) {
        grid-column: 7 / 10;
        grid-row: 1;
    }

    body.marriage-prediction-page .mp-form-grid > .mp-horizon {
        grid-column: 10 / 13;
        grid-row: 1;
    }

    body.marriage-prediction-page .mp-form-grid > .mp-place {
        grid-column: 1 / 10;
        grid-row: 2;
    }

    body.marriage-prediction-page .mp-form-grid > .mp-submit {
        grid-column: 10 / 13;
        grid-row: 2;
        width: 100% !important;
        min-height: 50px !important;
    }
}

/* V31: visible hour, minute and AM/PM inputs inside one birth-time field. */
.friendly-time-entry {
    position: relative;
    display: grid;
    grid-template-columns: 34px 8px 34px 82px;
    align-items: center;
    justify-content: start;
    box-sizing: border-box;
    width: 100%;
    min-height: 50px;
    height: 50px;
    padding: 0 48px 0 8px;
    border: 1px solid var(--birth-form-line, #d8d4cc);
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(70, 50, 30, .04);
}

.friendly-time-entry .friendly-time-hour,
.friendly-time-entry .friendly-time-hour-mark {
    grid-column: 1;
    grid-row: 1;
}

.friendly-time-entry .friendly-time-entry-separator {
    grid-column: 2;
    grid-row: 1;
}

.friendly-time-entry .friendly-time-minute,
.friendly-time-entry .friendly-time-minute-mark {
    grid-column: 3;
    grid-row: 1;
}

.friendly-time-entry .friendly-time-entry-period {
    grid-column: 4;
    grid-row: 1;
}

.friendly-time-empty-mark {
    z-index: 0;
    color: #6f7473;
    font-size: 17px;
    font-weight: 650;
    line-height: 1;
    text-align: center;
    pointer-events: none;
}

.friendly-time-empty-mark[hidden] {
    display: none !important;
}

.friendly-time-entry .friendly-time-hour:focus + .friendly-time-hour-mark,
.friendly-time-entry .friendly-time-minute:focus + .friendly-time-minute-mark {
    color: #fff;
    background: #1a73e8;
    border-radius: 1px;
}

.friendly-time-entry .friendly-time-segment::selection {
    color: #fff;
    background: #1a73e8;
}

.friendly-time-entry .friendly-time-segment.is-empty {
    caret-color: transparent !important;
}

.friendly-time-entry:focus-within {
    border-color: var(--birth-form-accent, #ff6f00);
    outline: 3px solid rgba(255, 111, 0, .14);
}

.kl-birth-form .friendly-time-entry .friendly-time-segment,
.tools-birth-form .friendly-time-entry .friendly-time-segment {
    display: block;
    box-sizing: border-box;
    width: 34px !important;
    min-width: 0 !important;
    min-height: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 3px !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    color: #2f2b28 !important;
    background: transparent !important;
    font-size: 17px !important;
    font-weight: 650 !important;
    text-align: center;
    box-shadow: none !important;
    z-index: 1;
}

.friendly-time-entry .friendly-time-segment::placeholder {
    color: #6f7473;
    opacity: 1;
}

.friendly-time-entry-separator {
    color: #5a5753;
    font-size: 19px;
    font-weight: 800;
    text-align: center;
}

.kl-birth-form .friendly-time-entry .friendly-time-entry-period,
.tools-birth-form .friendly-time-entry .friendly-time-entry-period {
    box-sizing: border-box;
    width: 82px !important;
    min-width: 82px !important;
    min-height: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 4px 22px 4px 6px !important;
    border: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    color: #393532 !important;
    background-color: transparent !important;
    font-size: 15px !important;
    font-weight: 750 !important;
    box-shadow: none !important;
    cursor: pointer;
}

.friendly-time-entry .friendly-time-segment:disabled,
.friendly-time-entry .friendly-time-entry-period:disabled {
    cursor: not-allowed;
    opacity: .55;
}

@media (max-width: 420px) {
    .friendly-time-entry {
        grid-template-columns: 32px 8px 32px 78px;
        padding-left: 7px;
    }

    .kl-birth-form .friendly-time-entry .friendly-time-segment,
    .tools-birth-form .friendly-time-entry .friendly-time-segment {
        width: 32px !important;
    }

    .kl-birth-form .friendly-time-entry .friendly-time-entry-period,
    .tools-birth-form .friendly-time-entry .friendly-time-entry-period {
        width: 78px !important;
        min-width: 78px !important;
    }
}

/* V38: compact SEO-first Kundli introduction before the public birth form. */
body.is-kundli-landing.is-kundli-chat-entry .kl-public-landing-intro {
    display: block !important;
    min-height: 0 !important;
    margin: 0 0 12px !important;
    padding: 18px 22px 16px !important;
    overflow: hidden !important;
    border: 1px solid #d8e2de !important;
    border-radius: 16px !important;
    background:
        radial-gradient(circle at 100% 0, rgba(183, 135, 55, .12), transparent 260px),
        linear-gradient(135deg, #fffdf9, #fff 72%) !important;
    box-shadow: 0 10px 28px rgba(43, 65, 59, .065) !important;
}

body.is-kundli-landing.is-kundli-chat-entry .kl-public-landing-intro::before,
body.is-kundli-landing.is-kundli-chat-entry .kl-public-landing-intro::after {
    display: none !important;
}

body.is-kundli-landing.is-kundli-chat-entry .kl-public-landing-intro .kl-landing-copy {
    width: 100% !important;
    max-width: none !important;
}

body.is-kundli-landing.is-kundli-chat-entry .kl-public-landing-intro .kl-page-title {
    max-width: none !important;
    margin: 0 !important;
    color: #63231f !important;
    font-size: clamp(28px, 2.45vw, 38px) !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    letter-spacing: -.025em !important;
}

body.is-kundli-landing.is-kundli-chat-entry .kl-public-landing-intro .kl-page-subtitle {
    max-width: 1180px !important;
    margin: 8px 0 0 !important;
    color: #53625e !important;
    font-size: 15.5px !important;
    line-height: 1.55 !important;
}

body.is-kundli-landing.is-kundli-chat-entry .kl-public-value-points {
    display: flex !important;
    margin: 13px 0 0 !important;
    padding: 0 !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    list-style: none !important;
}

body.is-kundli-landing.is-kundli-chat-entry .kl-public-value-points li {
    display: inline-flex !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 6px 11px !important;
    align-items: center !important;
    gap: 6px !important;
    border: 1px solid #d6e2dc !important;
    border-radius: 999px !important;
    color: #445550 !important;
    background: #f8fbf9 !important;
    font-size: 13.5px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
}

body.is-kundli-landing.is-kundli-chat-entry .kl-public-value-points li span {
    color: #28704f !important;
    font-weight: 900 !important;
}

@media (max-width: 760px) {
    body.is-kundli-landing.is-kundli-chat-entry .kl-public-landing-intro {
        margin-bottom: 10px !important;
        padding: 14px 14px 13px !important;
        border-radius: 13px !important;
    }

    body.is-kundli-landing.is-kundli-chat-entry .kl-public-landing-intro .kl-page-title {
        font-size: clamp(24px, 7vw, 30px) !important;
        line-height: 1.2 !important;
    }

    body.is-kundli-landing.is-kundli-chat-entry .kl-public-landing-intro .kl-page-subtitle {
        margin-top: 7px !important;
        font-size: 14.5px !important;
        line-height: 1.5 !important;
    }

    body.is-kundli-landing.is-kundli-chat-entry .kl-public-value-points {
        display: grid !important;
        margin-top: 11px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    body.is-kundli-landing.is-kundli-chat-entry .kl-public-value-points li {
        min-width: 0 !important;
        padding: 6px 8px !important;
        border-radius: 10px !important;
        font-size: 12.5px !important;
    }
}

@media (max-width: 380px) {
    body.is-kundli-landing.is-kundli-chat-entry .kl-public-value-points {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* V32: beat the generic form input rules so time segments stay seamless. */
html body .tools-birth-form .friendly-time-entry > input.friendly-time-segment.friendly-time-segment.friendly-time-segment.friendly-time-segment,
html body .kl-birth-form .kl-field .friendly-time-entry > input.friendly-time-segment,
html body.is-kundli-landing.is-kundli-chat-entry
    .kl-landing-generator-layout .kl-guest-birth-strip
    .kl-form.kl-birth-form .kl-field
    .friendly-time-entry > input.friendly-time-segment {
    width: 34px !important;
    min-width: 0 !important;
    min-height: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 3px !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

html body .tools-birth-form .friendly-time-entry > input.friendly-time-segment.friendly-time-segment.friendly-time-segment.friendly-time-segment:focus,
html body .kl-birth-form .kl-field .friendly-time-entry > input.friendly-time-segment:focus,
html body.is-kundli-landing.is-kundli-chat-entry
    .kl-landing-generator-layout .kl-guest-birth-strip
    .kl-form.kl-birth-form .kl-field
    .friendly-time-entry > input.friendly-time-segment:focus {
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body .tools-birth-form .friendly-time-entry
    > select.friendly-time-entry-period.friendly-time-entry-period.friendly-time-entry-period.friendly-time-entry-period {
    width: 82px !important;
    min-width: 82px !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 4px 22px 4px 6px !important;
    border: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

html body.is-kundli-landing.is-kundli-chat-entry
    .kl-landing-generator-layout .kl-guest-birth-strip
    .kl-form.kl-birth-form .kl-field
    .friendly-time-entry > select.friendly-time-entry-period {
    width: 82px !important;
    min-width: 82px !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 4px 22px 4px 6px !important;
    border: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

@media (max-width: 420px) {
    html body .tools-birth-form .friendly-time-entry > input.friendly-time-segment.friendly-time-segment.friendly-time-segment.friendly-time-segment,
    html body .kl-birth-form .kl-field .friendly-time-entry > input.friendly-time-segment,
    html body.is-kundli-landing.is-kundli-chat-entry
        .kl-landing-generator-layout .kl-guest-birth-strip
        .kl-form.kl-birth-form .kl-field
        .friendly-time-entry > input.friendly-time-segment {
        width: 32px !important;
    }
}
