/* =====================================================
   Shared Styles - Used by both Big Brother and Lorcana Hunter
   ===================================================== */

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-style: normal;
}


/* =====================================================
   Utility Classes
   ===================================================== */
figure {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.align-right {
    display: flex;
    justify-content: flex-end;
}

.card-text-icon {
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 9999px;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--font-color);
    color: black;
}

/* =====================================================
   Lorcana Color Backgrounds
   ===================================================== */
.bg-forest {
    --tw-bg-opacity: 1;
    background-color: rgb(158 176 66 / var(--tw-bg-opacity));
}

.bg-mountain {
    --tw-bg-opacity: 1;
    background-color: rgb(189 128 73 / var(--tw-bg-opacity));
}

.bg-ocean {
    --tw-bg-opacity: 1;
    background-color: rgb(88 113 166 / var(--tw-bg-opacity));
}

.bg-color-reserve-cost {
    background-color: indianred;
}

/* =====================================================
   Theme Banner
   ===================================================== */
.theme-banner {
    background-image: url('/assets/faction_bg/muna.png');
    background-size: cover;
    background-position: 50% 35%;
    height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: white;
    text-align: center;
}

/* =====================================================
   Typography
   ===================================================== */
.display-4 {
    font-family: sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .025em;
    font-size: 2rem;
    line-height: 1;
}

.lead {
    font-size: 1.25rem;
    font-weight: 300;
}

/* =====================================================
   Decorative HR
   ===================================================== */
.hr-style {
    height: 9px;
    background: rgb(255, 255, 255);
    background: linear-gradient(90deg, #FFFEFC 0%, #DDBF5F 30%, #FFFEFC 100%);
    border: 0;
    opacity: 1;
}

/* =====================================================
   Shared Tooltip
   ===================================================== */
.tooltip-custom {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black;
}

.tooltip-custom .tooltiptext {
    visibility: hidden;
    width: 340px;
    background-color: black;
    color: #fff;
    text-align: left;
    border-radius: 6px;
    padding: 5px 0;
    margin-left: -150px;
    position: absolute;
    z-index: 1;
}

.tooltip-custom:hover .tooltiptext {
    visibility: visible;
}

/* ── Ajax Autocomplete ──────────────────────────────── */
.autocomplete-suggestions {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1000;
    background: var(--lh-card, #1a1a2e);
    border: 1px solid var(--lh-card-border, rgba(255,255,255,.1));
    border-radius: 0.5rem;
    box-shadow: 0 8px 24px rgba(0,0,0,.4);
    max-height: 260px;
    overflow-y: auto;
}

.autocomplete-suggestions .suggestion-item {
    padding: 8px 12px;
    cursor: pointer;
    font-size: 0.875rem;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--lh-text-1, #e2e8f0);
}

.autocomplete-suggestions .suggestion-item:hover,
.autocomplete-suggestions .suggestion-item.selected {
    background: rgba(124,58,237,.15);
    color: #a78bfa;
}

/* ── Mobile filters accordion ─────────────────────────── */
.filters-toggle-btn .filters-chevron {
    transition: transform 0.2s ease;
}
.filters-toggle-btn[aria-expanded="true"] .filters-chevron {
    transform: rotate(180deg);
}

/* ── Global search dropdown (global_search_controller.js) ─────────────────── */
.gs-results { position:absolute; left:0; right:0; top:100%; margin-top:.25rem; z-index:60; max-height:min(70vh,560px); overflow-y:auto;
    background:var(--lh-card); border:1px solid var(--lh-card-border); border-radius:.75rem; box-shadow:0 12px 32px rgba(0,0,0,.4); text-align:left; }
.gs-results.hidden { display:none; }
.gs-group + .gs-group { border-top:1px solid var(--lh-card-border); }
.gs-group-title { display:flex; align-items:center; gap:.4rem; padding:.55rem .9rem .3rem; font-size:.68rem; font-weight:700; letter-spacing:.06em;
    text-transform:uppercase; color:var(--lh-text-3); }
.gs-group-title .gs-count { margin-left:auto; font-weight:600; letter-spacing:0; }
.gs-item { display:flex; align-items:center; gap:.7rem; padding:.45rem .9rem; color:var(--lh-text-1); text-decoration:none; cursor:pointer; }
.gs-item:hover, .gs-item.gs-active { background:rgba(99,102,241,.12); text-decoration:none; color:var(--lh-text-1); }
.gs-avatar, .gs-logo, .gs-inks { flex:0 0 2.1rem; width:2.1rem; height:2.1rem; border-radius:.5rem; }
.gs-avatar { display:flex; align-items:center; justify-content:center; background:rgba(99,102,241,.15); color:#a5b4fc; font-size:.8rem; }
.gs-logo { object-fit:cover; background:#fff; }
.gs-inks { display:flex; align-items:center; justify-content:center; gap:1px; }
.gs-inks img { width:1.05rem; height:auto; }
.gs-body { min-width:0; flex:1; }
.gs-title { font-size:.85rem; font-weight:600; line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gs-sub { font-weight:400; color:var(--lh-text-3); }
.gs-meta { font-size:.72rem; line-height:1.3; color:var(--lh-text-3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gs-tag { display:inline-block; margin-right:.35rem; padding:0 .3rem; border-radius:.25rem; font-size:.68rem; font-weight:700;
    background:rgba(245,158,11,.15); color:#fbbf24; vertical-align:1px; }
.gs-pos { display:inline-block; margin-right:.4rem; font-weight:800; color:#fbbf24; }
.gs-pos small { font-weight:500; color:var(--lh-text-3); }
.gs-more { display:block; padding:.45rem .9rem .6rem 3.7rem; font-size:.75rem; font-weight:600; color:#a5b4fc; text-decoration:none; }
.gs-more:hover { text-decoration:underline; color:#c7d2fe; }
.gs-empty { padding:.8rem 1rem; font-size:.85rem; color:var(--lh-text-3); }
.gs-scope { display:flex; align-items:center; gap:.45rem; padding:.5rem .9rem; font-size:.72rem; font-weight:600; color:#c4b5fd;
    background:rgba(124,58,237,.14); border-bottom:1px solid var(--lh-card-border); }
.gs-loc { margin-right:.25rem; font-size:.65rem; opacity:.8; }
