/* Scoped visual refresh: existing order, controls, handlers and visibility stay intact. */
:is(#talk-selection-modal, #talk-profile-modal, #talk-payment-modal) {
    padding: 20px 0;
    background: rgba(3, 7, 16, .82);
}
:is(#talk-selection-modal, #talk-profile-modal, #talk-payment-modal) .modal-content {
    background: linear-gradient(160deg, #172031 0%, #0c1220 65%, #101726) !important;
    border: 1px solid rgba(255, 215, 0, .48) !important;
    border-radius: 22px !important;
    box-shadow: 0 24px 80px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,234,188,.09) !important;
    max-height: calc(100dvh - 40px);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #74613b #101726;
    color: #edf0f6 !important;
}
:is(#talk-selection-modal, #talk-profile-modal, #talk-payment-modal) h3 {
    font-family: 'Noto Serif KR', serif !important;
    color: #ffdc35 !important;
    font-size: 21px !important;
    letter-spacing: -.04em !important;
    line-height: 1.5;
}
:is(#talk-selection-modal, #talk-profile-modal) .modal-content > div:first-of-type p {
    color: #b5becd !important; font-size: 13px !important; line-height: 1.8 !important;
}
:is(#talk-selection-modal, #talk-profile-modal, #talk-payment-modal) button {
    transition: background .16s, border-color .16s, box-shadow .16s, transform .16s, filter .16s;
    touch-action: manipulation;
}
:is(#talk-selection-modal, #talk-profile-modal, #talk-payment-modal) .btn-primary {
    background: linear-gradient(180deg, #ffed65 0%, #ffe127 45%, #f4c900 100%) !important;
    color: #211a04 !important; border: 1px solid #ffe94a !important;
    border-radius: 12px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7), inset 0 -2px 0 rgba(148,103,0,.18), 0 3px 0 #947300, 0 9px 20px rgba(219,181,0,.20) !important;
    min-height: 48px; font-weight: 750 !important;
}
:is(#talk-selection-modal, #talk-profile-modal, #talk-payment-modal) :is(button, input, select, a):focus-visible {
    outline: 2px solid #ffe34d !important; outline-offset: 3px;
}
:is(#talk-selection-modal, #talk-profile-modal, #talk-payment-modal) button:disabled {
    opacity: .45; cursor: not-allowed;
}
:is(#talk-selection-modal, #talk-payment-modal) .close-btn {
    background: #1d2636; border: 1px solid #394256; border-radius: 50%;
    color: #c1cada; font-size: 24px; font-family: inherit;
}
#talk-sessions-list > li {
    background: #141e2e !important; border: 1px solid #303c50 !important;
    border-radius: 13px !important; padding: 14px 12px !important; margin-bottom: 10px !important;
    gap: 8px;
}
#talk-sessions-list > li:hover { border-color: #8a754b !important; background: #1a2638 !important; }
#talk-sessions-list > li > div:first-child > div:nth-child(2) { color: #b1bccf !important; line-height: 1.7; }
#talk-sessions-list > li > div:first-child > div:nth-child(3) { color: #b5a789 !important; font-size: 11px !important; margin-top: 6px !important; }
#talk-sessions-list .btn-primary {
    min-height: 42px; padding: 8px 12px !important;
}
#talk-selection-modal h4 { color: #ffdc35 !important; }
#talk-selection-modal .btn-primary {
    background: linear-gradient(180deg, #ffe12c, #e4b516) !important;
    border-color: #ffe458 !important;
    color: #171209 !important;
}
#talk-selection-modal .modal-divider { background: #303c50 !important; }
#talk-profile-form :is(input:not([type=radio]), select), #talk-coupon-code-input {
    min-width: 0; min-height: 48px; font-size: 16px !important;
    background: #0e1726 !important; color: #f0f3f8 !important;
    border: 1px solid #3a465a !important; border-radius: 11px !important;
    color-scheme: dark;
}
#talk-profile-form input::placeholder { color: #94a0b3 !important; }
#talk-profile-form label { color: #ced6e3 !important; }
#talk-profile-form label:has(input[type=radio]) {
    min-height: 46px; background: #121c2b !important; border-color: #3a465a !important; border-radius: 11px !important;
}
#talk-profile-form label:has(input[type=radio]:checked) {
    background: linear-gradient(180deg, #39341a, #242519) !important; border-color: #e7c72a !important; color: #ffe34d !important;
    box-shadow: inset 0 1px 0 rgba(255,237,129,.18), 0 3px 8px rgba(0,0,0,.25);
}
#talk-profile-form input[type=radio] { accent-color: #ffdc35; width: 16px; height: 16px; }
#talk-profile-calendar { flex: 0 0 80px; }
#talk-payment-modal .duration-btn {
    min-height: 46px; padding: 10px 4px !important; border-radius: 11px !important;
    background: #141e2d !important; border-color: #354055 !important; color: #b5bfd0 !important;
}
#talk-payment-modal .duration-btn.active {
    background: linear-gradient(180deg, #ffea5c, #f8d21a) !important; border-color: #ffe94a !important; color: #211a04 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 3px 0 #8c7111, 0 6px 16px rgba(255,215,0,.13) !important;
}
#talk-payment-modal .talk-paywall-price-box { background: #141e2e !important; border-color: #394456 !important; border-radius: 13px !important; }
#talk-payment-modal .talk-paywall-sale-price { color: #ffdc35 !important; font-size: 23px !important; font-variant-numeric: tabular-nums; }
#talk-payment-modal .live-stats-box { background: #141c2a !important; border-color: #354052 !important; border-radius: 13px !important; box-shadow: none !important; }
#talk-payment-modal .talk-paywall-btn { min-height: 48px !important; flex-shrink: 0; border-radius: 12px !important; font-size: 15px !important; font-weight: 800 !important; }
#talk-payment-modal .talk-paywall-btn.kakaopay {
    background: linear-gradient(180deg, #ffed65, #ffe127 45%, #f4c900) !important; color: #191600 !important;
    border: 1px solid #ffe94a !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65), 0 3px 0 #947300, 0 8px 20px rgba(219,181,0,.18) !important;
}
#talk-payment-modal .talk-paywall-btn.tosspay {
    background: linear-gradient(180deg, #2879ff, #0757e8) !important;
    border: 1px solid #5995ff !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 3px 0 #093586, 0 8px 20px rgba(0,80,255,.18) !important;
}
#talk-payment-modal .talk-paywall-btn.tosspay-widget {
    background: linear-gradient(180deg, #2b374b, #192334) !important; border: 1px solid #49576e !important; color: #e8edf5 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 3px 0 #080d18, 0 8px 18px rgba(0,0,0,.25) !important;
}
:is(#talk-selection-modal, #talk-profile-modal, #talk-payment-modal) :is(.btn-primary, .talk-paywall-btn) {
    position: relative; overflow: hidden; text-shadow: 0 1px 0 rgba(255,255,255,.12);
}
:is(#talk-selection-modal, #talk-profile-modal, #talk-payment-modal) :is(.btn-primary, .talk-paywall-btn)::after {
    content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
    background: linear-gradient(110deg, rgba(255,255,255,.16), transparent 34%, transparent 68%, rgba(255,255,255,.05));
}
@media (hover: hover) {
    :is(#talk-selection-modal, #talk-profile-modal, #talk-payment-modal) :is(.btn-primary, .talk-paywall-btn):not(:disabled):hover { filter: brightness(1.06); transform: translateY(-1px); }
}
:is(#talk-selection-modal, #talk-profile-modal, #talk-payment-modal) :is(.btn-primary, .talk-paywall-btn):not(:disabled):active { transform: translateY(2px); filter: brightness(.97); }
/* Keep the start CTA still; only its surface highlight breathes very gently. */
#talk-selection-modal .btn-primary.gold-glow { animation: none !important; }
#talk-selection-modal .btn-primary.gold-glow::after { animation: talkStartSoftLight 5s ease-in-out infinite; }
@keyframes talkStartSoftLight {
    0%, 100% { opacity: .4; }
    50% { opacity: .75; }
}
@media (max-width: 380px) {
    :is(#talk-selection-modal, #talk-profile-modal, #talk-payment-modal) .modal-content { padding: 22px 16px !important; }
    :is(#talk-selection-modal, #talk-profile-modal, #talk-payment-modal) h3 { font-size: 19px !important; }
}
@media (prefers-reduced-motion: reduce) {
    #talk-selection-modal .btn-primary.gold-glow::after { animation: none !important; }
    :is(#talk-selection-modal, #talk-profile-modal, #talk-payment-modal) * { transition: none !important; }
}

/* Unified checkout uses the original card button appearance. */

/* Unified new checkout: legacy TossPay blue, widget routing retained. */
#talk-payment-modal .talk-paywall-btn.tosspay.tosspay-widget{background:linear-gradient(180deg,#2879ff,#0757e8)!important;border:1px solid #5995ff!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 3px 0 #093586,0 8px 20px rgba(0,80,255,.18)!important;}
