/* AstroSaathi astrologer lists (chat, call, reports) and their intake forms. Tokens: as-ui.css. */

/* ============================================================ FILTER BAR */
.as-filterbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 12px;
    margin-bottom: 20px;
}

.as-filterbar__search { flex: 1 1 320px; display: flex; align-items: center; gap: 8px; position: relative; margin: 0; }
.as-filterbar__search > i { position: absolute; left: 14px; color: var(--as-muted); pointer-events: none; }
.as-filterbar__search .as-input { padding-left: 40px; }
.as-filterbar__selects { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.as-filterbar__selects .as-select { min-width: 200px; }
/* Search as tall as its field. */
.as-filterbar__search .as-btn { --as-btn-h: 48px; min-height: 48px; }

@media (max-width: 640px) {
    .as-filterbar__selects { width: 100%; }
    /* Each select its own row on a phone: side by side, Safari cut "Sort: Recommended" mid-word. */
    .as-filterbar__selects > div { flex: 1 1 100%; }
    .as-filterbar__selects .as-select { min-width: 0; width: 100%; }
}

/* the list is a grid at every width (the home page's row scrolls instead) */
.as-astros--list { grid-template-columns: repeat(5, minmax(0, 1fr)); }

@media (max-width: 1280px) { .as-astros--list { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1000px) { .as-astros--list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

@media (max-width: 900px) {
    .as-astros--list {
        grid-auto-flow: row;
        grid-auto-columns: auto;
        overflow: visible;
        margin-inline: 0;
        padding-inline: 0;
    }
    .as-astros--list > :nth-child(n + 9) { display: flex; }
}

@media (max-width: 720px) { .as-astros--list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }

@media (max-width: 420px) {
    .as-astros--list .as-astro__body { padding: 10px; }
    .as-astros--list .as-astro__foot { flex-wrap: wrap; }
    .as-astros--list .as-astro__foot .as-btn { flex: 1 1 100%; }
}

.as-astros--list .as-astro__media { aspect-ratio: 4 / 3; flex: none; }
.as-astro .is-disabled { pointer-events: none; }
.as-astro .as-badge--busy { background: var(--as-busy); }

/* ============================================================ KIND TABS */
/* All / Human / AI and "How we rank" (docs/platform/ai-panel/PHASE1_BUILD.md 6.7): shown only to a viewer AI is listed
   for. 44 px targets. */
.as-kindbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: -6px 0 18px; }
.as-kindtabs { display: flex; flex-wrap: wrap; gap: 8px; }
.as-kindtabs .as-btn { min-height: 44px; }
.as-kindbar__rank { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: .9rem; }

/* ============================================================== MODALS */
/* The intake and other page modals; the sign-in modal (.as-login) has its own look in as-ui.css. */
body.as-page .modal:not(.as-login) .modal-content {
    background: var(--as-surface) !important;
    color: var(--as-text);
    border: 1px solid var(--as-border) !important;
    border-radius: 20px !important;
    overflow: hidden;
    box-shadow: var(--as-shadow-lg);
}

body.as-page .modal:not(.as-login) .modal-header {
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid var(--as-border);
    background: var(--as-surface-2);
}

body.as-page .modal:not(.as-login) .modal-title { font-family: var(--as-font-head); font-weight: 700; color: var(--as-text); }
body.as-page .modal:not(.as-login) .modal-header .btn { border-radius: 999px; background: transparent; color: var(--as-text-2); border: 1px solid var(--as-border-2); font-weight: 600; }
body.as-page .modal:not(.as-login) .modal-body { padding: 8px 6px 14px !important; }
body.as-page .modal:not(.as-login) .modal-body .bg-white { background: transparent !important; }
body.as-page .modal:not(.as-login) label { color: var(--as-text-2); font-weight: 600; font-size: .86rem; margin-bottom: 4px; }

body.as-page .modal:not(.as-login) .form-control,
body.as-page .modal:not(.as-login) select.form-control {
    height: 46px;
    border-radius: 10px;
    border: 1px solid var(--as-border-2) !important;
    background: var(--as-surface) !important;
    color: var(--as-text) !important;
    font-size: 16px;
    box-shadow: none !important;
}

/* Selects: the site's arrow instead of the browser's own box (WebKit draws it grey at night). */
body.as-page .modal:not(.as-login) select.form-control {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 40px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23999' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
}

body.as-page .modal:not(.as-login) .form-control:focus { border-color: var(--as-primary) !important; box-shadow: var(--as-focus) !important; }
body.as-page .modal:not(.as-login) .country-dropdown-container { border-color: var(--as-border-2) !important; border-radius: 10px !important; background: var(--as-surface); }
body.as-page .modal:not(.as-login) .country-dropdown-container .form-control { border: 0 !important; }
body.as-page .modal:not(.as-login) .select2-container .select2-selection--single { height: 46px; border: 0; background: transparent; display: flex; align-items: center; }
body.as-page .modal:not(.as-login) .select2-selection__rendered { color: var(--as-text) !important; }

body.as-page .modal:not(.as-login) .btn-chat,
body.as-page .modal:not(.as-login) #intakeBtn,
body.as-page .modal:not(.as-login) #callintakeBtn {
    min-height: 50px;
    border: 0;
    border-radius: 12px;
    background: var(--as-btn-grad);
    color: var(--as-primary-ink) !important;
    font-family: var(--as-font-head);
    font-weight: 700;
    box-shadow: var(--as-btn-glow);
}

/* chat length choices */
body.as-page .modal:not(.as-login) .btn-group-toggle { display: flex; flex-wrap: wrap; gap: 8px; }
body.as-page .modal:not(.as-login) .btn-group-toggle .btn {
    margin: 0 !important;
    border-radius: 999px;
    border: 1px solid var(--as-border-2);
    background: var(--as-surface-2);
    color: var(--as-text-2);
    font-weight: 600;
}

body.as-page .modal:not(.as-login) .btn-group-toggle .btn.active,
body.as-page .modal:not(.as-login) .btn-group-toggle .btn:has(input:checked) { background: var(--as-primary-soft); border-color: var(--as-primary); color: var(--as-text); }
body.as-page .modal:not(.as-login) .btn-group-toggle input { position: absolute; opacity: 0; pointer-events: none; }

/* ------------------------------------------------ over the legacy card rules */
/* app.min.css sizes "#expert-list .psychic-card" and app.css styles every ".btn-call" with !important. */
#expert-list.as-astros .psychic-card {
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    border: 1px solid var(--as-border);
    border-radius: var(--as-radius-lg);
    box-shadow: var(--as-shadow) !important;
}

#expert-list.as-astros .psychic-card:hover { border-color: var(--as-primary); box-shadow: var(--as-shadow-lg) !important; }

#expert-list .psychic-card .as-btn.btn-call {
    min-width: 0 !important;
    width: auto !important;
    height: 36px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    background: var(--as-btn-grad) !important;
    border: 0 !important;
    border-radius: var(--as-radius-sm) !important;
    color: var(--as-primary-ink) !important;
    font-size: .86rem !important;
    font-weight: 700 !important;
    box-shadow: var(--as-btn-glow);
}

#expert-list .psychic-card .as-astro__act.btn-call {
    min-width: 0 !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center !important;
    background: var(--as-btn-grad) !important;
    border: 0 !important;
    border-radius: 12px !important;
    color: var(--as-primary-ink) !important;
    font-size: 1rem !important;
}

#expert-list .psychic-card .btn-call i { color: var(--as-primary-ink) !important; fill: currentColor !important; }

/* app.css styles every ".btn-report" with !important too */
#expert-list .psychic-card .as-btn.btn-report {
    min-width: 0 !important;
    width: auto !important;
    height: 36px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    background: var(--as-btn-grad) !important;
    border: 0 !important;
    border-radius: var(--as-radius-sm) !important;
    color: var(--as-primary-ink) !important;
    font-size: .86rem !important;
    font-weight: 700 !important;
    box-shadow: var(--as-btn-glow);
}
#expert-list .psychic-card .btn-report i { color: var(--as-primary-ink) !important; }
#expert-list .psychic-card .as-btn.is-disabled { min-width: 0; width: auto; height: 36px; font-size: .82rem; color: var(--as-muted) !important; background: transparent !important; border: 1px solid var(--as-border-2) !important; border-radius: var(--as-radius-sm) !important; }
/* the legacy "#expert-list" rules make it a flex row; it is a grid here */
#expert-list.as-astros { display: grid !important; padding: 0 !important; justify-content: initial; }
