/* *****************************************************

    ** Source List: compact product list **

    Uses the Zenith theme tokens when present, with
    fallbacks so the order form also works in other themes.

***************************************************** */

#order-standard_cart.source-list {
    --sl-brand: var(--brand-500, #f59e0b);
    --sl-brand-dark: var(--brand-600, #d97706);
    --sl-brand-soft: var(--brand-100, #fef3c7);
    --sl-brand-ink: var(--brand-800, #92400e);
    --sl-surface: var(--surface-dark, #111827);
    --sl-text: var(--text, #111827);
    --sl-muted: var(--text-lifted, #6b7280);
    --sl-border: var(--border-muted, #e5e7eb);
    --sl-radius: var(--rounding-lg, 1rem);
    --sl-mono: var(--font-mono, "IBM Plex Mono", ui-monospace, Menlo, monospace);
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
}

/* Header -------------------------------------------------- */

#order-standard_cart.source-list .sl-header {
    text-align: center;
    margin: 0.5rem auto 2rem;
}

#order-standard_cart.source-list .sl-header h1 {
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    font-weight: 800;
    margin-bottom: 0.5rem;
}

#order-standard_cart.source-list .sl-tagline {
    color: var(--sl-muted);
    font-size: 1.1rem;
    margin-bottom: 1.5rem;
}

#order-standard_cart.source-list .sl-tabs {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 4px;
    background: #fff;
    border: 1px solid var(--sl-border);
    border-radius: 999px;
}

#order-standard_cart.source-list .sl-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 1rem;
    border-radius: 999px;
    color: var(--sl-muted) !important;
    font-weight: 600;
    font-size: 0.925rem;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease;
}

#order-standard_cart.source-list .sl-tab:hover {
    color: var(--sl-text) !important;
}

#order-standard_cart.source-list .sl-tab.active {
    background: var(--sl-surface);
    color: #fff !important;
}

/* Search and filters ------------------------------------- */

#order-standard_cart.source-list .sl-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

#order-standard_cart.source-list .sl-search {
    position: relative;
    flex: 1 1 260px;
    margin: 0;
}

#order-standard_cart.source-list .sl-search i {
    position: absolute;
    top: 50%;
    inset-inline-start: 1rem;
    transform: translateY(-50%);
    z-index: 1;
    color: var(--sl-muted);
    font-size: 0.85rem;
    pointer-events: none;
}

#order-standard_cart.source-list .sl-search input {
    height: 2.75rem;
    padding-inline-start: 2.5rem;
    border-radius: 999px;
    border-color: var(--sl-border);
}

#order-standard_cart.source-list .sl-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

#order-standard_cart.source-list .sl-chip {
    padding: 0.4rem 0.9rem;
    border: 1px solid var(--sl-border);
    border-radius: 999px;
    background: #fff;
    color: var(--sl-muted);
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

#order-standard_cart.source-list .sl-chip:hover {
    color: var(--sl-text);
    border-color: var(--sl-muted);
}

#order-standard_cart.source-list .sl-chip.active {
    background: var(--sl-surface);
    border-color: var(--sl-surface);
    color: #fff;
}

/* List ----------------------------------------------------- */

#order-standard_cart.source-list .sl-list {
    list-style: none;
    margin: 0;
    padding: 0;
    background: #fff;
    border: 1px solid var(--sl-border);
    border-radius: var(--sl-radius);
    overflow: hidden;
}

#order-standard_cart.source-list .sl-item {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 1.35rem 1.5rem;
    border-top: 1px solid var(--sl-border);
    border-inline-start: 3px solid transparent;
    transition: background 0.15s ease;
}

#order-standard_cart.source-list .sl-item:first-child {
    border-top: 0;
}

#order-standard_cart.source-list .sl-item:hover {
    background: var(--neutral-50, #fafafa);
}

#order-standard_cart.source-list .sl-item.is-featured {
    border-inline-start-color: var(--sl-brand);
}

#order-standard_cart.source-list .sl-main {
    flex: 1 1 auto;
    min-width: 0;
}

#order-standard_cart.source-list .sl-name {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.6rem;
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--sl-text);
}

#order-standard_cart.source-list .sl-badge {
    padding: 0.15rem 0.55rem;
    border-radius: 6px;
    background: var(--sl-surface);
    color: #fff;
    font-family: var(--sl-mono);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    direction: ltr;
    unicode-bidi: isolate;
}

#order-standard_cart.source-list .sl-badge::before {
    content: ">_ ";
    color: var(--sl-brand);
}

#order-standard_cart.source-list .sl-popular {
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    background: var(--sl-brand-soft);
    color: var(--sl-brand-ink);
    font-size: 0.75rem;
    font-weight: 700;
}

#order-standard_cart.source-list .sl-desc {
    margin: 0.4rem 0 0;
    color: var(--sl-muted);
    font-size: 0.95rem;
}

#order-standard_cart.source-list .sl-features {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1.1rem;
    list-style: none;
    margin: 0.6rem 0 0;
    padding: 0;
    font-size: 0.875rem;
}

#order-standard_cart.source-list .sl-features i {
    margin-inline-end: 0.2rem;
    font-size: 0.75rem;
    color: var(--sl-brand-dark);
}

/* Price and button */
#order-standard_cart.source-list .sl-buy {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 1.25rem;
}

#order-standard_cart.source-list .sl-price {
    text-align: end;
    white-space: nowrap;
}

#order-standard_cart.source-list .sl-amount {
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: var(--sl-text);
}

#order-standard_cart.source-list .sl-period {
    color: var(--sl-muted);
    font-weight: 600;
    font-size: 0.875rem;
}

#order-standard_cart.source-list .sl-setup {
    display: block;
    color: var(--sl-muted);
    font-size: 0.8rem;
}

#order-standard_cart.source-list .btn-order-now {
    min-width: 7rem;
    padding: 0.6rem 1.1rem;
    border-radius: var(--rounding-md, 0.625rem);
    font-weight: 700;
}

#order-standard_cart.source-list .sl-empty {
    padding: 2rem 1rem;
    text-align: center;
    color: var(--sl-muted);
}

/* Group features */
#order-standard_cart.source-list .sl-included ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem 1.5rem;
    list-style: none;
    margin: 1.5rem 0 0;
    padding: 0;
    color: var(--sl-muted);
}

#order-standard_cart.source-list .sl-included i {
    color: var(--sl-brand-dark);
}

/* Phones: price and button go under the description */
@media (max-width: 767px) {
    .source-list .sl-item {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
        padding: 1.15rem;
    }

    .source-list .sl-buy {
        justify-content: space-between;
    }

    .source-list .sl-price {
        text-align: start;
    }
}
