.checkout-auth-card {
    align-items: center;
    background: linear-gradient(135deg, #fff8f1 0%, #fff 60%);
    border: 1px solid #ead7c7;
    display: grid;
    gap: 18px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    margin-top: 34px;
    padding: 22px;
}

.checkout-auth-card__mark {
    align-items: center;
    background: #2f211b;
    border-radius: 50%;
    color: #fff;
    display: flex;
    font-size: 1.05rem;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.checkout-auth-card__copy h2 { font-size: 1.05rem; margin: 0; }
.checkout-auth-card__copy p { color: #766a62; font-size: .83rem; margin: 4px 0 0; overflow-wrap: anywhere; }
.checkout-auth-card__actions { display: flex; flex-wrap: wrap; gap: 9px; justify-content: flex-end; }
.checkout-auth-card__actions button { border: 1px solid #d86a43; font-weight: 700; min-height: 42px; padding: 9px 16px; }
.checkout-auth-card__primary { background: #df5d31; color: #fff; }
.checkout-auth-card__secondary { background: transparent; color: #713119; }
.checkout-auth-card__actions button:hover { background: #2f211b; border-color: #2f211b; color: #fff; }

.shows-auth-modal { --auth-accent: #e75d2f; --auth-ink: #221b18; --auth-muted: #716660; font-size: 16px; line-height: 1.5; }
.shows-auth-modal { align-items: center; background: rgba(20, 13, 10, .68); display: none; inset: 0; justify-content: center; overflow: auto; padding: 16px; position: fixed; z-index: 1085; }
.shows-auth-modal.is-open { display: flex; opacity: 1; }
.shows-auth-modal-open { overflow: hidden; }
.shows-auth-modal .modal-dialog { max-width: 680px; }
.shows-auth-modal .modal-dialog { margin: auto; width: 100%; }
.shows-auth-modal .modal-content { background: #fffdf9; border: 0; border-radius: 24px; box-shadow: 0 34px 100px rgba(31, 21, 17, .28); display: flex; flex-direction: column; max-height: calc(100vh - 32px); max-height: min(880px, calc(100dvh - 32px)); overflow: hidden; }

.shows-auth-modal__main { -webkit-overflow-scrolling: touch; flex: 1 1 auto; max-height: calc(100vh - 32px); max-height: min(880px, calc(100dvh - 32px)); min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 30px clamp(24px, 5vw, 52px) 36px; position: relative; scrollbar-gutter: stable; touch-action: pan-y; }
.shows-auth-modal__close { align-items: center; background: #f5ece5; border: 0; border-radius: 50%; color: var(--auth-ink); display: flex; height: 36px; justify-content: center; position: absolute; right: 20px; top: 18px; width: 36px; z-index: 3; }
.shows-auth-modal__close:hover { background: #ead8ca; }
.shows-auth-modal__tabs { background: #f5ece5; border-radius: 999px; display: inline-grid; grid-template-columns: 1fr 1fr; margin: 0 46px 28px 0; padding: 4px; }
.shows-auth-modal__tabs button { background: transparent; border: 0; border-radius: 999px; color: var(--auth-muted); font-size: .82rem; font-weight: 668; min-width: 104px; padding: 9px 15px; }
.shows-auth-modal__tabs button.is-active { background: #fff; box-shadow: 0 4px 14px rgba(55, 37, 28, .1); color: var(--auth-ink); }
.shows-auth-modal__heading h2 { color: var(--auth-ink); font-size: clamp(1.4rem, 3vw, 1.8rem); letter-spacing: -.025em; margin: 0 0 22px; }
.shows-auth-modal__alert { background: #fff0ec; border-left: 4px solid #c84426; color: #7a2a18; font-size: .86rem; margin-bottom: 22px; padding: 12px 14px; }
.shows-auth-modal__google { min-height: 44px; overflow: hidden; width: 100%; }
.shows-auth-modal__google > div, .shows-auth-modal__google iframe { max-width: 100% !important; }
.shows-auth-modal__divider { align-items: center; color: #91847c; display: grid; font-size: .7rem; gap: 12px; grid-template-columns: 1fr auto 1fr; margin: 18px 0; text-transform: uppercase; }
.shows-auth-modal__divider::before, .shows-auth-modal__divider::after { background: #e8ddd5; content: ""; height: 1px; }
.shows-auth-modal__form, .shows-auth-modal__form label, .shows-auth-modal__field-group { display: flex; flex-direction: column; }
.shows-auth-modal__form { gap: 16px; }
.shows-auth-modal__form label, .shows-auth-modal__field-group { color: var(--auth-ink); font-weight: 668; gap: 7px; margin: 0; }
.shows-auth-modal__form input, .shows-auth-modal__form select { background: #fff; border: 1px solid #d8c8bd; border-radius: 10px; color: var(--auth-ink); font-size: 16px; min-height: 49px; padding: 10px 13px; width: 100%; }
.shows-auth-modal__form input:focus, .shows-auth-modal__form select:focus { border-color: var(--auth-accent); box-shadow: 0 0 0 3px rgba(231, 93, 47, .13); outline: 0; }
.shows-auth-modal__language { align-items: stretch; display: flex; white-space: normal; }
.shows-auth-modal__language .form-label { color: var(--auth-ink); font-size: 1rem; font-weight: 668; margin: 0; }
.shows-auth-modal__language-select { min-height: 49px; width: 100%; }
.shows-auth-modal__form--register .shows-auth-modal__divider { margin: 2px 0; }
.shows-auth-modal__label-row { align-items: center; display: flex; justify-content: space-between; }
.shows-auth-modal__label-row a, .shows-auth-modal__one-time, .shows-auth-modal__terms a { color: #b34522; font-weight: 700; }
.shows-auth-modal__password { display: block; position: relative; }
.shows-auth-modal__password input { padding-right: 48px; }
.shows-auth-modal__password button { align-items: center; background: transparent; border: 0; color: #796b64; display: flex; height: 42px; justify-content: center; position: absolute; right: 4px; top: 4px; width: 42px; }
.shows-auth-modal__submit { align-items: center; background: var(--auth-accent); border: 0; border-radius: 10px; color: #fff; display: flex; font-weight: 668; justify-content: space-between; margin-top: 3px; min-height: 50px; padding: 11px 17px; }
.shows-auth-modal__submit:hover { background: #bd3f1b; }
.shows-auth-modal__one-time { display: inline-block; font-size: .82rem; margin-top: 17px; }
.shows-auth-modal__grid { display: grid; gap: 15px; grid-template-columns: 1fr 1fr; }
.shows-auth-modal__wide { grid-column: 1 / -1; }
.shows-auth-modal__terms { color: var(--auth-muted); font-size: .72rem; line-height: 1.55; margin: 16px 0 0; }

@media (max-width: 767.98px) {
    .checkout-auth-card { grid-template-columns: auto 1fr; }
    .checkout-auth-card__actions { grid-column: 1 / -1; justify-content: stretch; }
    .checkout-auth-card__actions button { flex: 1 1 150px; }
    .shows-auth-modal .modal-dialog { margin: 8px; max-width: none; }
    .shows-auth-modal .modal-content { border-radius: 18px; display: flex; max-height: calc(100vh - 16px); max-height: calc(100dvh - 16px); }
    .shows-auth-modal__main { max-height: calc(100vh - 16px); max-height: calc(100dvh - 16px); padding: 24px 20px 30px; }
}

@media (max-width: 520px) {
    .shows-auth-modal__grid { grid-template-columns: 1fr; }
    .shows-auth-modal__wide { grid-column: auto; }
    .shows-auth-modal__tabs { display: grid; margin-bottom: 22px; width: calc(100% - 44px); }
    .shows-auth-modal__tabs button { min-width: 0; }
}

.night-mode .checkout-auth-card { background: linear-gradient(135deg, #241d19, #191716); border-color: #4a3a31; }
.night-mode .checkout-auth-card__copy h2 { color: #fff8f1; }
.night-mode .checkout-auth-card__copy p { color: #b8aaa1; }
.night-mode .checkout-auth-card__secondary { color: #ffad8f; }
.night-mode .shows-auth-modal .modal-content, .night-mode .shows-auth-modal__main { background: #181615; }
.night-mode .shows-auth-modal__heading h2, .night-mode .shows-auth-modal__form label, .night-mode .shows-auth-modal__field-group { color: #fff8f1; }
.night-mode .shows-auth-modal__language .form-label { color: #b8aaa1; }
.night-mode .shows-auth-modal__tabs { background: #292421; }
.night-mode .shows-auth-modal__tabs button { color: #b8aaa1; }
.night-mode .shows-auth-modal__tabs button.is-active { background: #40362f; color: #fff; }
.night-mode .shows-auth-modal__close { background: #302a26; color: #fff; }
.night-mode .shows-auth-modal__form input, .night-mode .shows-auth-modal__form select { background: #211e1c; border-color: #4b4039; color: #fff; }
.night-mode .shows-auth-modal__divider::before, .night-mode .shows-auth-modal__divider::after { background: #443a34; }
.night-mode .shows-auth-modal__terms { color: #b8aaa1; }
[data-theme="dark"] .checkout-auth-card { background: linear-gradient(135deg, #241d19, #191716); border-color: #4a3a31; }
[data-theme="dark"] .checkout-auth-card__copy h2 { color: #fff8f1; }
[data-theme="dark"] .checkout-auth-card__copy p { color: #b8aaa1; }
[data-theme="dark"] .checkout-auth-card__secondary { color: #ffad8f; }
[data-theme="dark"] .shows-auth-modal .modal-content, [data-theme="dark"] .shows-auth-modal__main { background: #181615; }
[data-theme="dark"] .shows-auth-modal__heading h2, [data-theme="dark"] .shows-auth-modal__form label, [data-theme="dark"] .shows-auth-modal__field-group { color: #fff8f1; }
[data-theme="dark"] .shows-auth-modal__language .form-label { color: #b8aaa1; }
[data-theme="dark"] .shows-auth-modal__tabs { background: #292421; }
[data-theme="dark"] .shows-auth-modal__tabs button { color: #b8aaa1; }
[data-theme="dark"] .shows-auth-modal__tabs button.is-active { background: #40362f; color: #fff; }
[data-theme="dark"] .shows-auth-modal__close { background: #302a26; color: #fff; }
[data-theme="dark"] .shows-auth-modal__form input, [data-theme="dark"] .shows-auth-modal__form select { background: #211e1c; border-color: #4b4039; color: #fff; }
[data-theme="dark"] .shows-auth-modal__divider::before, [data-theme="dark"] .shows-auth-modal__divider::after { background: #443a34; }
[data-theme="dark"] .shows-auth-modal__terms { color: #b8aaa1; }
