/* Dropdown kustom <x-select>. Token --gm-* dari site-shell.css. */
.gm-select { position: relative; }

.gm-select-trigger {
    display: flex;
    align-items: center;
    gap: .5rem;
    width: 100%;
    min-height: 48px;
    padding: .7rem .9rem;
    color: var(--gm-ink);
    font-size: 1rem;
    line-height: 1.4;
    text-align: left;
    background: #fff;
    border: 1px solid #94a3b8;
    border-radius: var(--gm-radius-sm);
    transition: border-color .15s ease, box-shadow .15s ease;
    cursor: pointer;
}
.gm-select-trigger:focus-visible,
.gm-select-trigger[aria-expanded="true"] { outline: none; border-color: var(--gm-blue); box-shadow: 0 0 0 3px rgb(11 107 203 / .25); }
.gm-select-trigger[aria-invalid="true"] { border-color: #b91c1c; }
.gm-select-trigger[aria-invalid="true"]:focus-visible { box-shadow: 0 0 0 3px rgb(185 28 28 / .2); }
.gm-select-trigger:disabled { color: var(--gm-slate-600); background: var(--gm-slate-100); cursor: not-allowed; }
/* Samakan dengan .svc-input (kalkulator landing) */
.gm-select-trigger.svc-input { border-color: var(--gm-slate-200); }

.gm-select-value { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gm-select-value.is-placeholder { color: var(--gm-slate-600); }
.gm-select-chevron { color: var(--gm-slate-600); font-size: 1.25rem; transition: transform .15s ease; }
.gm-select-trigger[aria-expanded="true"] .gm-select-chevron { transform: rotate(180deg); }

.gm-select-panel {
    position: absolute;
    inset-inline: 0;
    top: calc(100% + 6px);
    z-index: 1050;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--gm-slate-200);
    border-radius: var(--gm-radius-sm);
    box-shadow: 0 10px 30px rgb(15 23 42 / .14);
}

.gm-select-search {
    position: relative;
    padding: .5rem;
    border-bottom: 1px solid var(--gm-slate-200);
}
.gm-select-search i { position: absolute; top: 50%; left: 1.2rem; color: var(--gm-slate-600); transform: translateY(-50%); }
.gm-select-search input {
    width: 100%;
    min-height: 42px;
    padding: .5rem .75rem .5rem 2.25rem;
    font-size: 1rem; /* cegah auto-zoom iOS */
    background: var(--gm-slate-50);
    border: 1px solid var(--gm-slate-200);
    border-radius: 8px;
}
.gm-select-search input:focus { outline: none; border-color: var(--gm-blue); background: #fff; }

.gm-select-list {
    max-height: min(280px, 50vh);
    margin: 0;
    padding: .35rem;
    overflow-y: auto;
    list-style: none;
    overscroll-behavior: contain;
}
.gm-select-list:focus { outline: none; }

.gm-select-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    min-height: 44px; /* target sentuh */
    padding: .55rem .75rem;
    color: var(--gm-ink);
    border-radius: 8px;
    cursor: pointer;
}
.gm-select-option.is-active { background: var(--gm-slate-100); }
.gm-select-option[aria-selected="true"] { color: var(--gm-blue-600); font-weight: 600; background: var(--gm-blue-50); }
.gm-select-option i { font-size: 1.1rem; }

.gm-select-empty { padding: .75rem; color: var(--gm-slate-600); font-size: .9rem; text-align: center; }

@media (prefers-reduced-motion: reduce) {
    .gm-select-trigger, .gm-select-chevron { transition: none; }
}
