/* KaranArjun Astrology Chat v1.0.0 */
.kac-app,
.kac-app *,
.kac-directory,
.kac-directory * { box-sizing: border-box; }


.kac-directory,
.kac-public-chat-button,
.kac-profile-chat-cta,
.kac-unread-chip {
    --kac-gold: var(--ka-primary, #d4af37);
    --kac-navy: #102448;
    --kac-border: #e5ddce;
    --kac-muted: #746d63;
}

.kac-app {
    --kac-gold: var(--ka-primary, #d4af37);
    --kac-dark: #080808;
    --kac-navy: #102448;
    --kac-cream: #f7f4ed;
    --kac-border: #e5ddce;
    --kac-muted: #746d63;
    width: 100%;
    max-width: 100%;
    color: #282522;
}

.kac-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(210px, 300px);
    align-items: center;
    gap: 28px;
    min-height: 245px;
    padding: clamp(26px, 4vw, 44px);
    overflow: hidden;
    border: 1px solid rgba(212, 175, 55, .42);
    border-radius: 25px;
    background:
        radial-gradient(circle at 10% 8%, rgba(212, 175, 55, .2), transparent 34%),
        radial-gradient(circle at 92% 88%, rgba(212, 175, 55, .1), transparent 31%),
        #080808;
    box-shadow: 0 22px 55px rgba(0, 0, 0, .16);
}

.kac-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .45;
    background-image:
        radial-gradient(circle at 15% 24%, var(--kac-gold) 0 1px, transparent 2px),
        radial-gradient(circle at 40% 73%, #fff 0 1px, transparent 2px),
        radial-gradient(circle at 74% 19%, var(--kac-gold) 0 1px, transparent 2px),
        radial-gradient(circle at 91% 77%, #fff 0 1px, transparent 2px);
    background-size: 270px 250px, 350px 330px, 430px 390px, 520px 470px;
}

.kac-hero > * { position: relative; z-index: 2; }
.kac-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    color: var(--kac-gold) !important;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.kac-kicker::before { content: ""; width: 22px; height: 1px; background: currentColor; }
.kac-hero h2 {
    margin: 0 0 13px !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: clamp(34px, 5vw, 58px) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    letter-spacing: -.045em !important;
}
.kac-hero p { max-width: 720px; margin: 0 !important; color: rgba(255,255,255,.68) !important; font-size: 12px !important; line-height: 1.75 !important; }

.kac-wallet-card,
.kac-presence-card {
    display: flex;
    min-height: 155px;
    flex-direction: column;
    justify-content: center;
    padding: 24px;
    border: 1px solid rgba(212, 175, 55, .45);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
    backdrop-filter: blur(9px);
}
.kac-wallet-card span,
.kac-presence-card > strong { color: rgba(255,255,255,.56) !important; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.kac-wallet-card strong { display: block; margin: 7px 0; color: #fff !important; font-size: clamp(28px, 4vw, 44px); }
.kac-wallet-card strong * { color: #fff !important; }
.kac-wallet-card strong .woocommerce-Price-currencySymbol { color: var(--kac-gold) !important; }
.kac-wallet-card a { color: var(--kac-gold) !important; font-size: 9px; font-weight: 850; }

.kac-presence-card { align-items: flex-start; gap: 9px; }
.kac-presence-dot { width: 13px; height: 13px; border-radius: 50%; background: #7e7e7e; box-shadow: 0 0 0 5px rgba(255,255,255,.05); }
.kac-presence-dot.is-online { background: #21bf73; box-shadow: 0 0 0 5px rgba(33,191,115,.14), 0 0 18px rgba(33,191,115,.45); }
.kac-presence-card strong { color: #fff !important; font-size: 14px !important; text-transform: none; letter-spacing: 0; }
.kac-presence-card button {
    min-height: 40px !important;
    margin-top: 5px !important;
    padding: 9px 16px !important;
    border: 1px solid var(--kac-gold) !important;
    border-radius: 999px !important;
    color: #080808 !important;
    background: var(--kac-gold) !important;
    font-size: 9px !important;
    font-weight: 900 !important;
}

.kac-request-panel,
.kac-dashboard-shell,
.kac-astro-settings {
    margin-top: 16px;
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid var(--kac-border);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(16,36,72,.055);
}

.kac-section-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.kac-section-head span { display: block; color: #9b7914; font-size: 8px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.kac-section-head h3 { margin: 4px 0 !important; color: var(--kac-navy) !important; font-size: clamp(23px, 3vw, 33px) !important; }
.kac-section-head p { margin: 0 !important; color: var(--kac-muted) !important; font-size: 10px !important; }
.kac-section-head img { width: 70px; height: 70px; flex: 0 0 70px; border: 2px solid var(--kac-gold); border-radius: 20px; object-fit: cover; }

.kac-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.kac-form label,
.kac-astro-settings label,
.kac-payout-form label { display: block; min-width: 0; }
.kac-form label > span,
.kac-astro-settings label > span,
.kac-payout-form label > span { display: block; margin-bottom: 7px; color: #38342f; font-size: 10px; font-weight: 800; }
.kac-form input,
.kac-form select,
.kac-form textarea,
.kac-astro-settings input,
.kac-payout-form select,
.kac-payout-form textarea,
.kac-message-form textarea {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 51px !important;
    margin: 0 !important;
    padding: 11px 14px !important;
    border: 1px solid var(--kac-border) !important;
    border-radius: 14px !important;
    color: #282522 !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 11px !important;
}
.kac-form textarea,
.kac-payout-form textarea,
.kac-message-form textarea { resize: vertical; }
.kac-form input:focus,
.kac-form select:focus,
.kac-form textarea:focus,
.kac-astro-settings input:focus,
.kac-payout-form select:focus,
.kac-payout-form textarea:focus,
.kac-message-form textarea:focus { border-color: var(--kac-gold) !important; box-shadow: 0 0 0 4px rgba(212,175,55,.12) !important; outline: 0 !important; }
.kac-full { grid-column: 1 / -1; }
.kac-consent { display: flex !important; align-items: flex-start; gap: 10px; margin-top: 17px; padding: 14px; border: 1px solid #ece4d8; border-radius: 15px; background: #fffdf8; }
.kac-consent input { width: 18px !important; min-height: 18px !important; flex: 0 0 18px; margin-top: 1px !important; accent-color: var(--kac-gold); }
.kac-consent span { margin: 0 !important; color: #625c54 !important; font-size: 9px !important; line-height: 1.55; }
.kac-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 18px; }
.kac-form-footer p { margin: 0 !important; color: var(--kac-muted) !important; font-size: 9px !important; }
.kac-form-footer button,
.kac-btn,
.kac-astro-settings button,
.kac-message-form button,
.kac-payout-form button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 10px 18px !important;
    border: 1px solid var(--kac-border) !important;
    border-radius: 999px !important;
    color: var(--kac-navy) !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    white-space: nowrap;
}
.kac-form-footer button,
.kac-btn.is-primary,
.kac-astro-settings button,
.kac-message-form button,
.kac-payout-form button { border-color: var(--kac-gold) !important; color: #080808 !important; background: var(--kac-gold) !important; }
.kac-form-footer button:hover,
.kac-btn.is-primary:hover,
.kac-astro-settings button:hover,
.kac-message-form button:hover,
.kac-payout-form button:hover { border-color: #080808 !important; color: var(--kac-gold) !important; background: #080808 !important; }
.kac-btn:hover { border-color: var(--kac-gold) !important; }
.kac-form-message { min-height: 18px; margin-top: 10px; color: #a12d24; font-size: 9px; font-weight: 700; }
.kac-form-message.is-success { color: #087848; }
.kac-form-message.is-working { color: #8f6d0b; }

.kac-tabs { display: flex; gap: 7px; padding: 6px; overflow-x: auto; border: 1px solid var(--kac-border); border-radius: 999px; background: #faf8f3; }
.kac-tabs button { flex: 1 0 auto; min-height: 39px !important; padding: 8px 17px !important; border: 0 !important; border-radius: 999px !important; color: #615b53 !important; background: transparent !important; box-shadow: none !important; font-size: 9px !important; font-weight: 850 !important; }
.kac-tabs button.is-active { color: #080808 !important; background: var(--kac-gold) !important; }
.kac-overview { display: flex; flex-direction: column; gap: 11px; margin-top: 17px; }
.kac-loading { padding: 30px 20px; color: var(--kac-muted); text-align: center; font-size: 10px; }

.kac-list-card {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr) auto;
    align-items: center;
    gap: 15px;
    padding: 17px;
    border: 1px solid var(--kac-border);
    border-radius: 18px;
    background: linear-gradient(145deg, #fff, #fffdf8);
    box-shadow: 0 8px 23px rgba(16,36,72,.04);
}
.kac-card-avatar img,
.kac-avatar-fallback { display: inline-flex; align-items: center; justify-content: center; width: 62px; height: 62px; border: 2px solid var(--kac-gold); border-radius: 18px; object-fit: cover; color: #080808; background: var(--kac-gold); font-size: 23px; }
.kac-card-copy { min-width: 0; }
.kac-card-copy h4 { margin: 7px 0 4px !important; color: var(--kac-navy) !important; font-size: 16px !important; font-weight: 880 !important; }
.kac-card-copy p { margin: 0 0 6px !important; overflow: hidden; color: #5e5850 !important; font-size: 9.5px !important; line-height: 1.55 !important; text-overflow: ellipsis; white-space: nowrap; }
.kac-card-copy small { color: #928b82; font-size: 8px; }
.kac-card-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.kac-status { display: inline-flex; align-items: center; gap: 5px; width: fit-content; padding: 6px 9px; border-radius: 999px; color: #6d6254; background: #f2eee7; font-size: 7.5px; font-weight: 850; letter-spacing: .03em; text-transform: uppercase; }
.kac-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #a09688; }
.kac-status.is-active, .kac-status.is-online, .kac-status.is-paid, .kac-status.is-available { color: #087848; background: #e5f7ee; }
.kac-status.is-active::before, .kac-status.is-online::before, .kac-status.is-paid::before, .kac-status.is-available::before { background: #18a966; }
.kac-status.is-pending, .kac-status.is-waiting, .kac-status.is-requested, .kac-status.is-paused { color: #8a680b; background: #fff5d7; }
.kac-status.is-pending::before, .kac-status.is-waiting::before, .kac-status.is-requested::before, .kac-status.is-paused::before { background: var(--kac-gold); }
.kac-status.is-declined, .kac-status.is-cancelled, .kac-status.is-expired, .kac-status.is-rejected, .kac-status.is-reversed { color: #a23a30; background: #fff0ee; }
.kac-status.is-declined::before, .kac-status.is-cancelled::before, .kac-status.is-expired::before, .kac-status.is-rejected::before, .kac-status.is-reversed::before { background: #d85b50; }
.kac-birth-summary, .kac-session-metrics { display: flex; flex-wrap: wrap; gap: 6px; margin: 7px 0; }
.kac-birth-summary span, .kac-session-metrics span { padding: 5px 8px; border-radius: 999px; color: #625b52; background: #f6f2ea; font-size: 7.5px; font-weight: 750; }

.kac-review-form { margin-top: 12px; padding: 12px; border: 1px solid #eadfca; border-radius: 14px; background: #fffaf0; }
.kac-review-form > strong { display: block; margin-bottom: 7px; color: var(--kac-navy); font-size: 9px; }
.kac-star-input { display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: 2px; margin-bottom: 7px; }
.kac-star-input input { position: absolute; opacity: 0; }
.kac-star-input span { color: #d8d2c7; cursor: pointer; font-size: 20px; }
.kac-star-input label:hover span,
.kac-star-input label:hover ~ label span,
.kac-star-input input:checked ~ span,
.kac-star-input label:has(input:checked) span,
.kac-star-input label:has(input:checked) ~ label span { color: var(--kac-gold); }
.kac-review-form textarea { width: 100%; margin-bottom: 7px; padding: 9px 11px; border: 1px solid var(--kac-border); border-radius: 11px; font-size: 9px; }

.kac-empty { padding: 38px 22px; border: 1px solid var(--kac-border); border-radius: 19px; background: #fffdf8; text-align: center; }
.kac-empty > span { display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 58px; margin-bottom: 13px; border-radius: 18px; color: #080808; background: var(--kac-gold); font-size: 25px; }
.kac-empty h3 { margin: 0 0 7px !important; color: var(--kac-navy) !important; font-size: 19px !important; }
.kac-empty p { margin: 0 0 14px !important; color: var(--kac-muted) !important; font-size: 10px !important; }
.kac-empty.is-error { border-color: #edbbb5; background: #fff7f6; }

.kac-astro-settings { display: grid; grid-template-columns: 1fr minmax(330px, .8fr); align-items: end; gap: 20px; }
.kac-astro-settings > div span { display: block; color: #9b7914; font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }
.kac-astro-settings > div strong { display: block; margin-top: 5px; color: var(--kac-navy); font-size: 28px; }
.kac-astro-settings form { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 9px; }
.kac-astro-settings .kac-form-message { grid-column: 1 / -1; margin: 0; }
.kac-stat-grid, .kac-earning-summary { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 11px; margin-top: 15px; }
.kac-stat-grid > div, .kac-earning-summary > div { padding: 17px; border: 1px solid var(--kac-border); border-radius: 17px; background: #fff; box-shadow: 0 8px 22px rgba(16,36,72,.04); }
.kac-stat-grid span, .kac-earning-summary span { display: block; color: var(--kac-muted); font-size: 8px; font-weight: 700; }
.kac-stat-grid strong, .kac-earning-summary strong { display: block; margin-top: 4px; color: var(--kac-navy); font-size: 18px; }
.kac-payout-form { display: grid; grid-template-columns: minmax(220px,1fr) minmax(140px,.45fr) minmax(260px,1fr) auto; align-items: end; gap: 12px; margin-top: 16px; padding: 18px; border: 1px solid var(--kac-border); border-radius: 18px; background: #fffdf8; }
.kac-payout-form h4 { margin: 3px 0 !important; color: var(--kac-navy) !important; }
.kac-payout-form p { margin: 0 !important; color: var(--kac-muted) !important; font-size: 8px !important; }
.kac-payout-form .kac-form-message { grid-column: 1 / -1; margin: 0; }
.kac-payout-history { margin-top: 17px; }
.kac-payout-history h4 { color: var(--kac-navy) !important; }
.kac-payout-history > div { display: grid; grid-template-columns: 1fr auto auto auto; align-items: center; gap: 12px; padding: 11px 13px; border-bottom: 1px solid #eee7dc; font-size: 9px; }
.kac-payout-history em { font-style: normal; }

.kac-chat-open { overflow: hidden; }
.kac-chat-modal { position: fixed; z-index: 999999; inset: 0; padding: 20px; overflow: auto; background: rgba(0,0,0,.72); backdrop-filter: blur(6px); }
.kac-chat-modal[hidden] { display: none !important; }
.kac-chat-dialog { position: relative; width: min(100%, 1020px); min-height: 620px; margin: 20px auto; border: 1px solid rgba(212,175,55,.42); border-radius: 24px; background: #f7f5ef; box-shadow: 0 35px 100px rgba(0,0,0,.35); }
.kac-chat-close { position: absolute !important; z-index: 4; top: 12px; right: 12px; display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 36px !important; height: 36px !important; padding: 0 !important; border: 1px solid rgba(255,255,255,.18) !important; border-radius: 50% !important; color: #fff !important; background: rgba(0,0,0,.55) !important; font-size: 22px !important; }
.kac-chat-room { min-height: 620px; overflow: hidden; border-radius: 24px; }
.kac-chat-header { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 18px; padding: 22px 60px 22px 22px; color: #fff; background: radial-gradient(circle at 90% 0, rgba(212,175,55,.18), transparent 35%), #080808; }
.kac-chat-person { display: flex; align-items: center; gap: 12px; }
.kac-chat-person img, .kac-chat-person > span { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border: 2px solid var(--kac-gold); border-radius: 16px; object-fit: cover; color: #080808; background: var(--kac-gold); }
.kac-chat-person small, .kac-chat-person strong { display: block; }
.kac-chat-person small { color: var(--kac-gold); font-size: 7px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.kac-chat-person strong { margin: 3px 0 5px; color: #fff; font-size: 15px; }
.kac-chat-billing { text-align: right; }
.kac-chat-billing span, .kac-chat-billing strong, .kac-chat-billing small { display: block; }
.kac-chat-billing span { color: var(--kac-gold); font-size: 9px; font-weight: 850; }
.kac-chat-billing strong { margin: 3px 0; color: #fff; font-size: 12px; }
.kac-chat-billing small { color: rgba(255,255,255,.52); font-size: 8px; }
.kac-chat-context { padding: 10px 18px 0; background: #fff; }
.kac-chat-context > button { width: 100% !important; min-height: 37px !important; padding: 8px 12px !important; border: 1px solid var(--kac-border) !important; border-radius: 12px !important; color: var(--kac-navy) !important; background: #fffdf8 !important; font-size: 8px !important; font-weight: 850 !important; }
.kac-chat-context > div { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 8px; margin-top: 8px; padding: 12px; border: 1px solid var(--kac-border); border-radius: 14px; background: #fffdf8; }
.kac-chat-context > div div span, .kac-chat-context > div div strong { display: block; }
.kac-chat-context > div div span { color: #9b7914; font-size: 6.5px; text-transform: uppercase; }
.kac-chat-context > div div strong { margin-top: 2px; color: var(--kac-navy); font-size: 8px; }
.kac-chat-context > div p { grid-column: 1 / -1; margin: 4px 0 0 !important; padding-top: 8px; border-top: 1px solid #eee5d7; color: #5c564e !important; font-size: 9px !important; }
.kac-connection-note { margin: 10px 18px; padding: 10px 13px; border: 1px solid #e7dba8; border-radius: 12px; color: #755a08; background: #fff7da; font-size: 8.5px; text-align: center; }
.kac-connection-note.is-active { border-color: #b8e4cc; color: #087848; background: #eaf8f0; }
.kac-connection-note.is-ended { color: #625b52; background: #f1eee9; }
.kac-connection-note.is-error { border-color: #edbbb5; color: #a23a30; background: #fff0ee; }
.kac-messages { display: flex; height: 350px; flex-direction: column; gap: 9px; padding: 18px; overflow-y: auto; background: #f4f1e9; }
.kac-message { max-width: 78%; padding: 10px 13px; border-radius: 15px; box-shadow: 0 5px 15px rgba(0,0,0,.04); }
.kac-message span { display: block; margin-bottom: 3px; font-size: 7px; font-weight: 850; }
.kac-message p { margin: 0 !important; color: inherit !important; font-size: 10px !important; line-height: 1.55 !important; }
.kac-message small { display: block; margin-top: 4px; opacity: .55; font-size: 6.5px; }
.kac-message.is-mine { align-self: flex-end; border-bottom-right-radius: 4px; color: #080808; background: var(--kac-gold); }
.kac-message.is-other { align-self: flex-start; border-bottom-left-radius: 4px; color: #27231f; background: #fff; }
.kac-message.is-system { align-self: center; max-width: 92%; padding: 7px 11px; color: #6c645b; background: #eae5da; text-align: center; }
.kac-message.is-system p { font-size: 8px !important; }
.kac-message-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; padding: 13px 18px; background: #fff; }
.kac-message-form textarea { min-height: 48px !important; max-height: 130px; }
.kac-chat-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 10px 18px 15px; background: #fff; }
.kac-chat-footer span { max-width: 680px; color: #8a837a; font-size: 7.5px; line-height: 1.45; }
.kac-end-chat { min-height: 36px !important; padding: 8px 13px !important; border: 1px solid #e4a9a2 !important; border-radius: 999px !important; color: #a22e24 !important; background: #fff5f3 !important; font-size: 8px !important; font-weight: 850 !important; }

.kac-directory { display: grid; grid-template-columns: repeat(var(--kac-columns,4), minmax(0,1fr)); gap: 18px; width: 100%; }
.kac-astro-card { overflow: hidden; border: 1px solid #e4dccd; border-radius: 21px; background: #fff; box-shadow: 0 12px 32px rgba(16,36,72,.06); }
.kac-astro-photo { position: relative; display: block; aspect-ratio: 1 / .82; overflow: hidden; }
.kac-astro-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.kac-astro-card:hover .kac-astro-photo img { transform: scale(1.04); }
.kac-presence-badge { position: absolute; right: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 5px; padding: 6px 9px; border-radius: 999px; color: #fff; background: rgba(0,0,0,.78); font-size: 7px; font-weight: 850; text-transform: uppercase; }
.kac-presence-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #999; }
.kac-presence-badge.is-online::before { background: #21bf73; box-shadow: 0 0 8px #21bf73; }
.kac-presence-badge.is-busy::before { background: var(--kac-gold); }
.kac-astro-card-body { padding: 17px; }
.kac-astro-card h3 { margin: 0 0 5px !important; color: var(--kac-navy) !important; font-size: 18px !important; }
.kac-astro-card p { min-height: 40px; margin: 0 0 9px !important; color: #6b645b !important; font-size: 9px !important; line-height: 1.55 !important; }
.kac-astro-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.kac-astro-meta span { padding: 5px 8px; border-radius: 999px; color: #635b51; background: #f4efe6; font-size: 7px; }
.kac-rating { margin: 10px 0; color: #9a7610; font-size: 8px; font-weight: 800; }
.kac-public-chat-button { display: grid !important; grid-template-columns: 9px 1fr auto; align-items: center; gap: 8px; width: 100%; min-height: 45px; padding: 9px 13px; border: 1px solid var(--kac-gold); border-radius: 999px; color: #080808 !important; background: var(--kac-gold); text-decoration: none !important; }
.kac-public-chat-button b { color: #080808 !important; font-size: 9px; }
.kac-public-chat-button small { color: #3b321c !important; font-size: 7.5px; font-weight: 800; }
.kac-chat-dot { width: 8px; height: 8px; border-radius: 50%; background: #8c7a43; }
.kac-public-chat-button.is-online .kac-chat-dot { background: #0c9a58; box-shadow: 0 0 8px rgba(12,154,88,.55); }
.kac-public-chat-button:hover { border-color: #080808; color: var(--kac-gold) !important; background: #080808; }
.kac-public-chat-button:hover b, .kac-public-chat-button:hover small { color: var(--kac-gold) !important; }
.kac-profile-chat-cta { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 18px; padding: 15px; border: 1px solid rgba(212,175,55,.42); border-radius: 18px; background: rgba(255,255,255,.055); }
.kac-profile-chat-cta > div span, .kac-profile-chat-cta > div strong, .kac-profile-chat-cta > div small { display: block; }
.kac-profile-chat-cta > div .kac-presence-badge { position: static; width: fit-content; }
.kac-profile-chat-cta > div strong { margin: 5px 0 2px; color: #fff !important; font-size: 15px; }
.kac-profile-chat-cta > div small { color: rgba(255,255,255,.55); font-size: 8px; }
.kac-profile-chat-cta .kac-public-chat-button { width: auto; min-width: 190px; }
.kac-unread-chip { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 6px 12px; border: 1px solid rgba(212,175,55,.45); border-radius: 999px; color: #fff !important; background: #080808; text-decoration: none !important; }
.kac-unread-chip > span { color: var(--kac-gold, #d4af37); }
.kac-unread-chip b { color: #fff !important; font-size: 9px; }
.kac-unread-chip em { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; color: #080808; background: #d4af37; font-size: 7px; font-style: normal; font-weight: 900; }
.kac-login-required { padding: 38px 22px; border: 1px solid #e5ddce; border-radius: 20px; background: #fffdf8; text-align: center; }
.kac-login-required h3 { color: #102448 !important; }
.kac-login-required a { display: inline-flex; margin-top: 12px; padding: 10px 18px; border-radius: 999px; color: #080808; background: #d4af37; font-weight: 850; }

body.kac-chat-account-page .woocommerce-MyAccount-navigation-link--consultations a::before { content: "✦" !important; }
body.kac-chat-account-page .woocommerce-MyAccount-navigation-link--astrologer-chat a::before { content: "☷" !important; }

.kac-admin { --kac-gold: #d4af37; --kac-navy: #102448; --kac-border: #ded8cc; }
.kac-admin-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 20px 0; }
.kac-admin-stats > div, .kac-admin-card { padding: 20px; border: 1px solid #ded8cc; border-radius: 18px; background: #fff; box-shadow: 0 10px 28px rgba(15,28,45,.06); }
.kac-admin-stats span { display: block; color: #777; font-size: 11px; }
.kac-admin-stats strong { display: block; margin-top: 5px; color: #102448; font-size: 26px; }
.kac-admin-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.kac-admin-grid label span { display: block; margin-bottom: 6px; font-weight: 700; }
.kac-admin-grid input:not([type="checkbox"]), .kac-admin-grid textarea { width: 100%; min-height: 44px; }
.kac-admin-check { display: flex; align-items: center; gap: 8px; }
.kac-admin-check span { margin: 0 !important; }
.kac-admin-full { grid-column: 1 / -1; }
.kac-admin-table { overflow-x: auto; }

@media (max-width: 1050px) {
    .kac-directory { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .kac-payout-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .kac-payout-form > div, .kac-payout-form .kac-form-message { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
    .kac-hero, .kac-astro-settings { grid-template-columns: 1fr; }
    .kac-wallet-card, .kac-presence-card { min-height: auto; }
    .kac-stat-grid, .kac-earning-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .kac-chat-context > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .kac-directory { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .kac-admin-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 650px) {
    .kac-hero { padding: 24px 20px; border-radius: 20px; }
    .kac-hero h2 { font-size: 36px !important; }
    .kac-form-grid { grid-template-columns: 1fr; }
    .kac-full { grid-column: auto; }
    .kac-form-footer, .kac-section-head { align-items: flex-start; flex-direction: column; }
    .kac-form-footer button { width: 100% !important; }
    .kac-list-card { grid-template-columns: 52px minmax(0,1fr); }
    .kac-card-avatar img, .kac-avatar-fallback { width: 52px; height: 52px; border-radius: 15px; }
    .kac-card-actions { grid-column: 1 / -1; justify-content: flex-start; }
    .kac-card-copy p { white-space: normal; }
    .kac-astro-settings form { grid-template-columns: 1fr; }
    .kac-stat-grid, .kac-earning-summary, .kac-directory { grid-template-columns: 1fr; }
    .kac-payout-form { grid-template-columns: 1fr; }
    .kac-payout-form > div, .kac-payout-form .kac-form-message { grid-column: auto; }
    .kac-chat-modal { padding: 0; }
    .kac-chat-dialog, .kac-chat-room { width: 100%; min-height: 100vh; margin: 0; border: 0; border-radius: 0; }
    .kac-chat-header { grid-template-columns: 1fr; padding: 18px 52px 18px 14px; }
    .kac-chat-billing { text-align: left; }
    .kac-chat-context { padding-inline: 10px; }
    .kac-chat-context > div { grid-template-columns: 1fr; }
    .kac-chat-context > div p { grid-column: auto; }
    .kac-messages { height: calc(100vh - 390px); min-height: 280px; padding: 12px; }
    .kac-message { max-width: 88%; }
    .kac-message-form { grid-template-columns: 1fr; padding: 10px; }
    .kac-message-form button { width: 100% !important; }
    .kac-chat-footer { align-items: flex-start; flex-direction: column; padding: 10px; }
    .kac-profile-chat-cta { align-items: stretch; flex-direction: column; }
    .kac-profile-chat-cta .kac-public-chat-button { width: 100%; }
    .kac-admin-grid, .kac-admin-stats { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .kac-app *, .kac-directory * { transition: none !important; animation: none !important; }
}

/* =========================================================
   v1.1.0 LIVE WALLET COUNTDOWN + RESPONSIVE CHAT UX
   Scoped only to KaranArjun Astrology Chat.
========================================================= */

.kac-reserve-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}
.kac-reserve-summary > div {
    min-width: 0;
    padding: 13px 14px;
    border: 1px solid var(--kac-border);
    border-radius: 15px;
    background: #fffdf8;
}
.kac-reserve-summary span,
.kac-reserve-summary strong {
    display: block;
}
.kac-reserve-summary span {
    margin-bottom: 4px;
    color: #9b7914;
    font-size: 7px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.kac-reserve-summary strong {
    color: var(--kac-navy);
    font-size: 10px;
    line-height: 1.45;
}

.kac-time-metric {
    border: 1px solid rgba(212,175,55,.28);
    color: #775a08 !important;
    background: #fff7da !important;
}
.kac-time-metric.is-low {
    border-color: #e0b14a;
    color: #815b00 !important;
    background: #fff1c2 !important;
}
.kac-time-metric.is-critical {
    border-color: #e8a09a;
    color: #9c2e25 !important;
    background: #fff0ee !important;
}

.kac-chat-dialog {
    height: min(88dvh, 820px);
    min-height: 620px;
}
.kac-chat-room {
    display: flex;
    height: 100%;
    min-height: 0;
    flex-direction: column;
}
.kac-chat-header {
    grid-template-columns: minmax(250px, 1fr) auto;
    flex: 0 0 auto;
    padding: 18px 56px 14px 18px;
}
.kac-chat-billing {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    text-align: left;
}
.kac-time-card {
    display: flex;
    min-width: 150px;
    min-height: 76px;
    flex-direction: column;
    justify-content: center;
    padding: 10px 13px;
    border: 1px solid rgba(212,175,55,.42);
    border-radius: 16px;
    background: rgba(255,255,255,.055);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}
.kac-time-card > span,
.kac-time-card > strong,
.kac-time-card > small {
    display: block;
}
.kac-time-card > span {
    color: var(--kac-gold) !important;
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.kac-time-card > strong {
    margin: 3px 0 2px;
    color: #fff !important;
    font-variant-numeric: tabular-nums;
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -.04em;
}
.kac-time-card > small {
    max-width: 170px;
    color: rgba(255,255,255,.55) !important;
    font-size: 6.5px;
    line-height: 1.35;
}
.kac-time-card.is-low {
    border-color: #e4b536;
    background: rgba(212,175,55,.13);
}
.kac-time-card.is-critical {
    border-color: #ff776b;
    background: rgba(177,38,28,.22);
    box-shadow: 0 0 22px rgba(255,83,72,.12);
    animation: kacTimerWarning 1.3s ease-in-out infinite;
}
.kac-time-card.is-paused {
    border-color: rgba(255,255,255,.16);
    background: rgba(255,255,255,.035);
    opacity: .78;
}
.kac-time-card.is-ended {
    border-color: rgba(255,255,255,.1);
    opacity: .62;
}
.kac-billing-summary {
    min-width: 145px;
    text-align: right;
}
.kac-billing-summary span,
.kac-billing-summary strong,
.kac-billing-summary small {
    display: block;
}
.kac-billing-summary span {
    color: var(--kac-gold) !important;
    font-size: 8px;
    font-weight: 850;
}
.kac-billing-summary strong {
    margin: 4px 0;
    color: #fff !important;
    font-size: 10px;
}
.kac-billing-summary small {
    color: rgba(255,255,255,.56) !important;
    font-size: 7px;
}
.kac-add-money-mini {
    display: inline-flex;
    margin-left: 5px;
    color: var(--kac-gold) !important;
    font-size: inherit;
    font-weight: 900;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}
.kac-participant-presence {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: -2px;
}
.kac-participant-presence span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 8px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 999px;
    color: rgba(255,255,255,.48) !important;
    background: rgba(255,255,255,.035);
    font-size: 6.5px;
    font-weight: 800;
    text-transform: uppercase;
}
.kac-participant-presence i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #777;
}
.kac-participant-presence span.is-connected {
    color: #c8f5dc !important;
}
.kac-participant-presence span.is-connected i {
    background: #21bf73;
    box-shadow: 0 0 8px rgba(33,191,115,.8);
}
.kac-connection-note a {
    color: inherit !important;
    font-weight: 900;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}
.kac-messages {
    height: auto;
    min-height: 260px;
    flex: 1 1 auto;
    overscroll-behavior: contain;
    scroll-behavior: smooth;
}
.kac-message p {
    overflow-wrap: anywhere;
}
.kac-message-form {
    position: relative;
    flex: 0 0 auto;
    align-items: end;
    padding: 10px 14px;
    border-top: 1px solid #e8e1d5;
}
.kac-composer-box {
    min-width: 0;
    padding: 7px 10px 5px;
    border: 1px solid var(--kac-border);
    border-radius: 16px;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.kac-composer-box:focus-within {
    border-color: var(--kac-gold);
    box-shadow: 0 0 0 4px rgba(212,175,55,.11);
}
.kac-message-form .kac-composer-box textarea {
    min-height: 31px !important;
    max-height: 132px !important;
    padding: 4px 2px !important;
    overflow-y: auto;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    line-height: 1.5 !important;
}
.kac-composer-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-top: 4px;
}
.kac-composer-meta span,
.kac-composer-meta b {
    color: #9a9389;
    font-size: 6.5px;
    font-weight: 700;
}
.kac-composer-meta b {
    white-space: nowrap;
}
.kac-message-form > button {
    min-width: 92px;
    min-height: 54px !important;
    gap: 7px;
}
.kac-message-form > button i {
    font-style: normal;
    font-size: 13px;
}
.kac-message-form > button:disabled,
.kac-message-form textarea:disabled {
    cursor: not-allowed !important;
    opacity: .52 !important;
}
.kac-chat-footer {
    flex: 0 0 auto;
    padding-bottom: max(12px, env(safe-area-inset-bottom));
}

@keyframes kacTimerWarning {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.025); }
}

@media (max-width: 900px) {
    .kac-reserve-summary {
        grid-template-columns: 1fr;
    }
    .kac-chat-header {
        grid-template-columns: 1fr;
    }
    .kac-chat-billing {
        justify-content: stretch;
    }
    .kac-time-card,
    .kac-billing-summary {
        flex: 1 1 0;
    }
    .kac-billing-summary {
        text-align: left;
    }
}

@media (max-width: 650px) {
    .kac-chat-modal {
        height: 100dvh;
        overflow: hidden;
    }
    .kac-chat-dialog,
    .kac-chat-room {
        height: 100dvh;
        min-height: 100dvh;
        max-height: 100dvh;
    }
    .kac-chat-room {
        overflow: hidden;
    }
    .kac-chat-header {
        position: relative;
        z-index: 3;
        gap: 10px;
        padding: 13px 48px 10px 11px;
    }
    .kac-chat-person img,
    .kac-chat-person > span {
        width: 44px;
        height: 44px;
        border-radius: 14px;
    }
    .kac-chat-person strong {
        font-size: 13px;
    }
    .kac-chat-billing {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
        width: 100%;
        gap: 7px;
    }
    .kac-time-card {
        min-width: 0;
        min-height: 64px;
        padding: 8px 10px;
        border-radius: 13px;
    }
    .kac-time-card > strong {
        font-size: 27px;
    }
    .kac-time-card > small {
        font-size: 5.8px;
    }
    .kac-billing-summary {
        min-width: 0;
        padding: 8px 3px;
    }
    .kac-billing-summary strong {
        font-size: 8px;
    }
    .kac-participant-presence {
        margin-top: 0;
    }
    .kac-chat-context {
        flex: 0 0 auto;
        padding: 7px 8px 0;
    }
    .kac-connection-note {
        flex: 0 0 auto;
        margin: 7px 8px;
        padding: 8px 9px;
        font-size: 7.5px;
    }
    .kac-messages {
        height: auto;
        min-height: 0;
        padding: 10px 9px;
    }
    .kac-message {
        max-width: 90%;
        padding: 9px 11px;
    }
    .kac-message p {
        font-size: 9.5px !important;
    }
    .kac-message-form {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 7px;
        padding: 8px 8px max(8px, env(safe-area-inset-bottom));
    }
    .kac-message-form > button {
        width: 48px !important;
        min-width: 48px;
        min-height: 48px !important;
        padding: 0 !important;
        border-radius: 15px !important;
    }
    .kac-message-form > button span {
        display: none;
    }
    .kac-message-form > button i {
        font-size: 16px;
    }
    .kac-composer-meta span {
        display: none;
    }
    .kac-chat-footer {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 5px 8px max(6px, env(safe-area-inset-bottom));
        border-top: 1px solid #eee6da;
    }
    .kac-chat-footer > span {
        display: none;
    }
    .kac-chat-footer .kac-end-chat {
        width: 100% !important;
        min-height: 32px !important;
        padding: 6px 12px !important;
    }
    .kac-chat-close {
        top: 9px;
        right: 8px;
        width: 34px !important;
        height: 34px !important;
    }
}

@media (max-width: 390px) {
    .kac-chat-billing {
        grid-template-columns: 1fr;
    }
    .kac-billing-summary {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2px 8px;
        padding: 2px 1px;
    }
    .kac-billing-summary small {
        grid-column: 1 / -1;
    }
    .kac-participant-presence {
        display: none;
    }
}
