/* ══════════════════════════════════════════════════════════════════
   SERVICES CHECKOUT + ONBOARDING
   ══════════════════════════════════════════════════════════════════ */

/* ── Page Header ──────────────────────────────────────────────────── */
.sc-header {
    padding-top: 80px;
    padding-bottom: 60px;
}

.sc-header__sub {
    font-size: var(--text-lg);
    color: #B0B8D1;
    margin-top: var(--space-md);
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}

/* ── Currency Controls ────────────────────────────────────────────── */
.sc-controls {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--space-lg);
}

.sc-currency {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.sc-currency .currency-switcher__select {
    padding: 0.4rem 0.8rem;
    font-size: var(--text-sm);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
}

.sc-currency__note {
    font-size: var(--text-xs);
    color: var(--color-text-muted);
}

/* ── Email Detection Bar ──────────────────────────────────────────── */
.sc-email-bar {
    margin-bottom: var(--space-2xl);
    padding: var(--space-lg);
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
}

.sc-email-bar__label {
    display: block;
    font-size: var(--text-sm);
    font-weight: var(--weight-medium);
    color: var(--color-text);
    margin-bottom: var(--space-sm);
}

.sc-email-bar__row {
    display: flex;
    gap: var(--space-sm);
}

.sc-email-bar__row .gs-input {
    flex: 1;
}

.sc-email-bar__status {
    font-size: var(--text-sm);
    margin-top: var(--space-sm);
    min-height: 1.4em;
}

.sc-email-bar__status--client {
    color: var(--color-primary);
    font-weight: var(--weight-medium);
}

.sc-email-bar__status--not-client {
    color: var(--color-text-muted);
}

.sc-email-bar__status--error {
    color: var(--color-accent);
}

/* ── Layout (Grid + Cart) ─────────────────────────────────────────── */
.sc-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: var(--space-2xl);
    align-items: start;
}

/* ── Service Grid ─────────────────────────────────────────────────── */
.sc-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-lg);
}

/* ── Service Card ─────────────────────────────────────────────────── */
.sc-card {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--space-xl);
    display: flex;
    flex-direction: column;
    transition: border-color var(--duration-fast) var(--ease);
}

.sc-card:hover {
    border-color: var(--color-primary-mid);
}

.sc-card--in-cart {
    border-color: var(--color-primary);
    background-color: rgba(8, 145, 178, 0.03);
}

.sc-card--included {
    opacity: 0.6;
    pointer-events: none;
}

.sc-card__name {
    font-size: var(--text-base);
    font-weight: var(--weight-semibold);
    color: var(--color-text);
    margin-bottom: var(--space-sm);
}

.sc-card__desc {
    font-size: var(--text-sm);
    color: var(--color-text-muted);
    line-height: var(--leading-relaxed);
    flex: 1;
    margin-bottom: var(--space-md);
}

.sc-card__price {
    margin-bottom: var(--space-md);
}

.sc-card__amount {
    font-size: var(--text-xl);
    font-weight: var(--weight-bold);
    color: var(--color-text);
}

.sc-card__amount--struck {
    text-decoration: line-through;
    color: var(--color-text-muted);
    font-size: var(--text-base);
    margin-right: var(--space-sm);
}

.sc-card__client-amount {
    font-size: var(--text-xl);
    font-weight: var(--weight-bold);
    color: var(--color-primary);
}

.sc-card__add {
    align-self: flex-start;
}

.sc-card__add--remove {
    background-color: transparent;
    border-color: var(--color-border);
    color: var(--color-text-muted);
}

.sc-card__add--remove:hover {
    border-color: var(--color-accent);
    color: var(--color-accent);
    background-color: var(--color-accent-light);
}

.sc-card__included {
    font-size: var(--text-sm);
    color: var(--color-primary);
    font-weight: var(--weight-medium);
    margin-top: var(--space-md);
}

.sc-card__included a {
    color: var(--color-primary-dark);
}

/* ── Cart Sidebar ─────────────────────────────────────────────────── */
.sc-cart {
    position: sticky;
    top: 100px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--space-lg);
    background-color: var(--color-white);
}

.sc-cart__title {
    font-size: var(--text-base);
    font-weight: var(--weight-semibold);
    margin-bottom: var(--space-md);
    padding-bottom: var(--space-md);
    border-bottom: 1px solid var(--color-border);
}

.sc-cart__empty {
    font-size: var(--text-sm);
    color: var(--color-text-muted);
    text-align: center;
    padding: var(--space-lg) 0;
}

.sc-cart__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-sm) 0;
    font-size: var(--text-sm);
}

.sc-cart__item-name {
    color: var(--color-text);
    flex: 1;
    margin-right: var(--space-sm);
}

.sc-cart__item-price {
    font-weight: var(--weight-medium);
    color: var(--color-text);
    white-space: nowrap;
}

.sc-cart__item-remove {
    background: none;
    border: none;
    color: var(--color-text-muted);
    cursor: pointer;
    font-size: var(--text-xs);
    padding: 2px 6px;
    margin-left: var(--space-xs);
}

.sc-cart__item-remove:hover {
    color: var(--color-accent);
}

.sc-cart__footer {
    border-top: 1px solid var(--color-border);
    margin-top: var(--space-md);
    padding-top: var(--space-md);
}

.sc-cart__total {
    display: flex;
    justify-content: space-between;
    font-size: var(--text-base);
    font-weight: var(--weight-semibold);
    margin-bottom: var(--space-md);
}

/* ── Cancelled State ──────────────────────────────────────────────── */
.sc-cancelled {
    background-color: var(--color-accent-light);
    border: 1px solid var(--color-accent);
    border-radius: var(--radius-md);
    padding: var(--space-md) var(--space-lg);
    font-size: var(--text-sm);
    color: var(--color-text);
}

/* ── Invalid State ────────────────────────────────────────────────── */
.sc-invalid__sub {
    font-size: var(--text-lg);
    color: #B0B8D1;
    margin-top: var(--space-md);
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
}

.sc-invalid__sub a {
    color: var(--color-primary-mid);
}

/* ── Onboarding Loading ───────────────────────────────────────────── */
.sc-loading {
    text-align: center;
    padding: var(--space-3xl) 0;
    color: var(--color-text-muted);
}

/* ── Onboarding Error ─────────────────────────────────────────────── */
.sc-ob-error {
    text-align: center;
    padding: var(--space-3xl) 0;
}

.sc-ob-error h2 {
    margin-bottom: var(--space-md);
}

.sc-ob-error p {
    color: var(--color-text-muted);
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
}

.sc-ob-error a {
    color: var(--color-primary);
}

/* ── Onboarding Form Sections ─────────────────────────────────────── */
.sc-form__common {
    margin-bottom: var(--space-xl);
    padding-bottom: var(--space-xl);
    border-bottom: 1px solid var(--color-border);
}

.sc-form__service h2 {
    font-size: var(--text-xl);
    margin-bottom: var(--space-xl);
}

/* ── Access Instructions Note ─────────────────────────────────────── */
.sc-access-note {
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    padding: var(--space-md);
    font-size: var(--text-sm);
    color: var(--color-text);
    line-height: var(--leading-relaxed);
}

.sc-access-note strong {
    display: block;
    margin-bottom: var(--space-xs);
}

.sc-access-note code {
    background-color: var(--color-primary-light);
    padding: 2px 6px;
    border-radius: 3px;
    font-family: var(--font-mono);
    font-size: var(--text-xs);
}

/* ── Competitor Rows ──────────────────────────────────────────────── */
.sc-competitor-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    margin-bottom: var(--space-sm);
}

.sc-competitor-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-sm);
}

/* ── Field Hint ───────────────────────────────────────────────────── */
.gs-field__hint {
    font-size: var(--text-xs);
    color: var(--color-text-muted);
    margin-top: var(--space-xs);
}

/* ── Success State ────────────────────────────────────────────────── */
.sc-success {
    text-align: center;
    padding: var(--space-3xl) 0;
}

.sc-success svg {
    margin: 0 auto var(--space-lg);
}

.sc-success h2 {
    margin-bottom: var(--space-md);
}

.sc-success p {
    color: var(--color-text-muted);
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
}

.sc-success__order {
    margin-top: var(--space-lg);
    font-size: var(--text-sm);
}

.sc-success__order strong {
    font-family: var(--font-mono);
    color: var(--color-text);
}

/* ── Button Variants ──────────────────────────────────────────────── */
.btn--sm {
    padding: 6px 12px;
    font-size: var(--text-xs);
}

.btn--full {
    width: 100%;
    text-align: center;
}

/* ── Container (form width) ───────────────────────────────────────── */
.container--form {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
}

/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .sc-layout {
        grid-template-columns: 1fr;
    }

    .sc-cart {
        position: static;
        order: -1;
    }
}

@media (max-width: 768px) {
    .sc-grid {
        grid-template-columns: 1fr;
    }

    .sc-email-bar__row {
        flex-direction: column;
    }

    .sc-competitor-row {
        grid-template-columns: 1fr;
    }
}
