/* Baekje-only dark theme. Loaded last so no shared mall is affected. */
.baekje-theme {
    --baekje-black: #080706;
    --baekje-coal: #12110f;
    --baekje-panel: #1b1916;
    --baekje-bronze: #bea585;
    --baekje-orange: #ef7e00;
    --baekje-cream: #f5eee5;
    --baekje-text: #f4f0eb;
    --baekje-muted: #bcb4aa;
    --baekje-line: rgba(190, 165, 133, .3);
    color-scheme: dark;
    background: var(--baekje-black);
}

.baekje-theme body {
    color: var(--baekje-text);
    background: #050504;
}

.baekje-theme body > .container-xxl,
.baekje-theme .container-xxl.bg-white {
    color: var(--baekje-text);
    background-color: var(--baekje-black) !important;
    background-image:
        linear-gradient(rgba(190, 165, 133, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(190, 165, 133, .025) 1px, transparent 1px),
        radial-gradient(circle at 85% 12%, rgba(190, 165, 133, .09), transparent 27%);
    background-size: 52px 52px, 52px 52px, auto;
}

.baekje-theme .nav-bar,
.baekje-theme .navbar,
.baekje-theme .baekje-site-navbar {
    margin: 0 !important;
    background: rgba(5, 5, 4, .98) !important;
    border-bottom: 1px solid rgba(190, 165, 133, .32) !important;
    box-shadow: none !important;
}

.baekje-theme .baekje-site-navbar { min-height: 98px; }
.baekje-theme .baekje-header-brand img,
.baekje-theme .navbar-brand img {
    max-width: 72% !important;
    filter: drop-shadow(0 2px 10px rgba(255, 255, 255, .12));
}

.baekje-theme .baekje-header-action {
    color: #fff !important;
    background: rgba(255, 255, 255, .04) !important;
    border-color: rgba(255, 255, 255, .28) !important;
}

.baekje-theme .baekje-header-action:hover,
.baekje-theme .baekje-header-action:focus-visible {
    color: var(--baekje-cream) !important;
    background: rgba(190, 165, 133, .14) !important;
    border-color: var(--baekje-bronze) !important;
}

.baekje-theme .baekje-header-action--primary,
.baekje-theme .btn-primary,
.baekje-theme .authBtn {
    color: #17110a !important;
    background: linear-gradient(135deg, #f4ad42 0%, var(--baekje-orange) 62%, #c95d00 100%) !important;
    border-color: #ff9b2f !important;
    box-shadow: 0 8px 22px rgba(239, 126, 0, .18) !important;
}

.baekje-theme .baekje-header-action--primary:hover,
.baekje-theme .btn-primary:hover,
.baekje-theme .authBtn:hover {
    color: #0c0905 !important;
    filter: brightness(1.08);
    box-shadow: 0 10px 26px rgba(239, 126, 0, .25) !important;
}

.baekje-theme .baekje-site-navbar .baekje-header-action--primary,
.baekje-theme .baekje-site-navbar .baekje-header-action--primary:link,
.baekje-theme .baekje-site-navbar .baekje-header-action--primary:visited {
    color: #17110a !important;
    text-shadow: none !important;
}
.baekje-theme .baekje-site-navbar .baekje-header-action--primary:hover,
.baekje-theme .baekje-site-navbar .baekje-header-action--primary:focus-visible,
.baekje-theme .baekje-site-navbar .baekje-header-action--primary:active {
    color: #fff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .38) !important;
}

.baekje-theme #divResCompanyDetailInfoArea,
.baekje-theme .baekje-order-hero {
    position: relative;
    overflow: hidden;
    margin-top: 0 !important;
    color: #fff;
    background:
        radial-gradient(circle at 78% 42%, rgba(190, 165, 133, .13), transparent 25%),
        radial-gradient(circle at 8% 92%, rgba(239, 126, 0, .1), transparent 22%),
        linear-gradient(135deg, #050504 0%, #0d0c0a 58%, #17130f 100%) !important;
    border-bottom: 1px solid var(--baekje-line);
    border-radius: 0 !important;
    box-shadow: none !important;
}

.baekje-theme #divResCompanyDetailInfoArea::before,
.baekje-theme #divResCompanyDetailInfoArea::after {
    display: none;
    content: none;
}

.baekje-theme #divResCompanyDetailInfoArea h1,
.baekje-theme #divResCompanyDetailInfoArea h2,
.baekje-theme #divResCompanyDetailInfoArea h3,
.baekje-theme #divResCompanyDetailInfoArea h4,
.baekje-theme #divResCompanyDetailInfoArea p,
.baekje-theme .baekje-order-hero h1,
.baekje-theme .baekje-order-hero p { color: #fff !important; }

.baekje-theme .text-primary,
.baekje-theme .baekje-order-eyebrow,
.baekje-theme .baekje-step-label { color: var(--baekje-bronze) !important; }
.baekje-theme .about-img::before { background: linear-gradient(155deg, var(--baekje-bronze), #70543a 65%, var(--baekje-orange)) !important; }
.baekje-theme .about-img img { border-color: rgba(190, 165, 133, .58) !important; box-shadow: 0 18px 42px rgba(0, 0, 0, .55) !important; }

.baekje-theme #divResProductGroupInfoArea,
.baekje-theme #divResProductInfoArea,
.baekje-theme #divProductSelectArea,
.baekje-theme #divReservationInputInfoArea { color: var(--baekje-text); background: transparent !important; }
.baekje-theme #divResProductGroupInfoArea { background: linear-gradient(180deg, #15120f, #0a0908) !important; border-bottom: 1px solid var(--baekje-line); }
.baekje-theme #divResProductGroupInfoArea h4,
.baekje-theme #divResProductGroupInfoArea p,
.baekje-theme #divResProductInfoArea h4,
.baekje-theme #divResProductInfoArea h5,
.baekje-theme #divProductSelectArea h4,
.baekje-theme #divProductSelectArea h5,
.baekje-theme #divProductSelectArea h6 { color: var(--baekje-text) !important; text-shadow: none !important; }

.baekje-theme #divResProductInfoArea .baekje-product-empty {
    color: var(--baekje-text) !important;
    background: linear-gradient(145deg, #302920, #171411) !important;
    border: 1px solid rgba(211, 170, 116, .62) !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .05) !important;
}
.baekje-theme #divResProductInfoArea .baekje-product-empty__track {
    background: #4b3b2b !important;
    box-shadow: inset 0 0 0 1px rgba(211, 170, 116, .25);
}
.baekje-theme #divResProductInfoArea .baekje-product-empty__bar {
    background: linear-gradient(90deg, var(--baekje-bronze), var(--baekje-orange)) !important;
}
.baekje-theme #divResProductInfoArea h4.baekje-product-empty__title {
    color: #fff8ed !important;
}
.baekje-theme #divResProductInfoArea .baekje-product-empty__description {
    color: #d8cabb !important;
}

.baekje-theme .cat-item,
.baekje-theme .team-item,
.baekje-theme .info-container,
.baekje-theme .baekje-use-guide__card,
.baekje-theme .baekje-privacy-card .info-container,
.baekje-theme .baekje-order-panel,
.baekje-theme .baekje-checkout-card,
.baekje-theme .baekje-order-summary,
.baekje-theme .baekje-order-ticket,
.baekje-theme .baekje-order-page .order-card-body {
    color: var(--baekje-text) !important;
    background: linear-gradient(145deg, #1c1a17, #12110f) !important;
    border: 1px solid var(--baekje-line) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .28) !important;
}
.baekje-theme .cat-item:hover,
.baekje-theme .team-item:hover,
.baekje-theme .baekje-order-ticket:hover { border-color: var(--baekje-orange) !important; }

.baekje-theme #divResProductGroupInfoArea .cat-item {
    color: var(--baekje-cream) !important;
    background: linear-gradient(145deg, #302920, #211b16) !important;
    border: 1px solid rgba(211, 170, 116, .7) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .42), inset 0 1px 0 rgba(255, 255, 255, .04) !important;
    transition: color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.baekje-theme #divResProductGroupInfoArea .cat-item:hover,
.baekje-theme #divResProductGroupInfoArea .cat-item:focus-visible {
    color: #fff8ed !important;
    background: linear-gradient(145deg, #3b2818, #21170f) !important;
    border-color: var(--baekje-orange) !important;
    box-shadow: 0 12px 28px rgba(239, 126, 0, .2) !important;
    outline: none;
    transform: translateY(-2px);
}
.baekje-theme #divResProductGroupInfoArea .cat-item.is-selected {
    color: #17110a !important;
    background: linear-gradient(135deg, #f4ad42 0%, var(--baekje-orange) 64%, #c95d00 100%) !important;
    border-color: #ffb04d !important;
    box-shadow: 0 0 0 2px rgba(255, 176, 77, .24), 0 14px 30px rgba(239, 126, 0, .3) !important;
    transform: translateY(-2px);
}
.baekje-theme #divResProductGroupInfoArea .cat-item h6 {
    color: var(--baekje-cream) !important;
    transition: color .2s ease;
}
.baekje-theme #divResProductGroupInfoArea .cat-item:hover h6,
.baekje-theme #divResProductGroupInfoArea .cat-item:focus-visible h6 {
    color: #fff8ed !important;
}
.baekje-theme #divResProductGroupInfoArea .cat-item.is-selected h6 {
    color: #17110a !important;
}

/* Bootstrap template styles every nested category div white/green. Keep Baekje cards isolated. */
.baekje-theme #divResProductGroupInfoArea .cat-item > div {
    color: var(--baekje-cream) !important;
    background: linear-gradient(145deg, #3a3127, #29221b) !important;
    border: 1px dashed rgba(224, 181, 119, .68) !important;
}
.baekje-theme #divResProductGroupInfoArea .cat-item > div div {
    color: inherit !important;
    background: transparent !important;
    border-color: transparent !important;
}
.baekje-theme #divResProductGroupInfoArea .cat-item:hover > div,
.baekje-theme #divResProductGroupInfoArea .cat-item:focus-visible > div {
    color: #fff8ed !important;
    background: linear-gradient(145deg, #4a301b, #2b1d12) !important;
    border-color: rgba(239, 126, 0, .72) !important;
}
.baekje-theme #divResProductGroupInfoArea .cat-item.is-selected > div {
    color: #17110a !important;
    background: linear-gradient(135deg, #ffb44c, var(--baekje-orange)) !important;
    border-color: rgba(23, 17, 10, .28) !important;
}
.baekje-theme #divResProductGroupInfoArea .cat-item > div h6,
.baekje-theme #divResProductGroupInfoArea .cat-item:hover > div h6,
.baekje-theme #divResProductGroupInfoArea .cat-item:focus-visible > div h6 {
    color: inherit !important;
    text-shadow: none !important;
}
.baekje-theme #divResProductGroupInfoArea .cat-item.is-selected > div h6 {
    color: #17110a !important;
}

.baekje-theme .cat-item h6,
.baekje-theme .team-item h5,
.baekje-theme .team-item p,
.baekje-theme .info-container h1,
.baekje-theme .info-container h2,
.baekje-theme .info-container h3,
.baekje-theme .info-container h4,
.baekje-theme .info-container h5,
.baekje-theme .info-container p,
.baekje-theme .info-container label { color: var(--baekje-text) !important; }

.baekje-theme .selected-dates,
.baekje-theme .baekje-ticket-banner,
.baekje-theme .baekje-finish-ticket {
    color: #fff !important;
    background: linear-gradient(135deg, #090806, #251a11) !important;
    border-color: var(--baekje-bronze) !important;
    box-shadow: none !important;
}
.baekje-theme .selected-dates *,
.baekje-theme .baekje-ticket-banner > div,
.baekje-theme .baekje-finish-ticket * { color: #fff !important; }

.baekje-theme .form-control,
.baekje-theme .form-select,
.baekje-theme #orderCheckHtmlArea .form-control,
.baekje-theme #authNumber {
    color: #211b15 !important;
    background: var(--baekje-cream) !important;
    border-color: #85735e !important;
}
.baekje-theme .form-control::placeholder,
.baekje-theme #orderCheckHtmlArea .form-control::placeholder { color: #776b60 !important; }
.baekje-theme #orderCheckHtmlArea label {
    color: var(--baekje-cream) !important;
    font-weight: 700;
}
.baekje-theme #orderCheckHtmlArea .fas {
    color: var(--baekje-bronze) !important;
}
.baekje-theme .form-control:focus,
.baekje-theme .form-select:focus,
.baekje-theme #authNumber:focus { border-color: var(--baekje-orange) !important; box-shadow: 0 0 0 .2rem rgba(239, 126, 0, .18) !important; }

.baekje-theme .baekje-use-guide__header,
.baekje-theme .baekje-privacy-card .info-title {
    color: #fff;
    background: linear-gradient(110deg, #0a0908, #2b1d12) !important;
    border-bottom: 2px solid var(--baekje-orange) !important;
}
.baekje-theme .baekje-use-guide__header h2,
.baekje-theme .baekje-use-guide__header p { color: #fff !important; }
.baekje-theme .baekje-use-guide__eyebrow { color: var(--baekje-bronze) !important; }
.baekje-theme .baekje-use-guide__table th,
.baekje-theme .baekje-privacy-card th { color: var(--baekje-cream) !important; background: #24201c !important; border-color: var(--baekje-line) !important; }
.baekje-theme .baekje-use-guide__table td,
.baekje-theme .baekje-privacy-card td,
.baekje-theme .baekje-use-guide__empty { color: var(--baekje-text) !important; background: #151310 !important; border-color: var(--baekje-line) !important; }
.baekje-theme .consent-checkbox { color: var(--baekje-text) !important; background: #24201c !important; border-top-color: var(--baekje-line) !important; }
.baekje-theme .consent-checkbox label,
.baekje-theme .consent-checkbox label * { color: var(--baekje-text) !important; }

.baekje-theme .baekje-progress-wrap {
    top: 98px;
    z-index: 9;
    background: #0c0b09 !important;
    border-color: var(--baekje-line) !important;
}
.baekje-theme .baekje-progress li:not(:last-child)::after { background: #50473e !important; }
.baekje-theme .baekje-progress .is-complete:not(:last-child)::after { background: var(--baekje-orange) !important; }
.baekje-theme .baekje-step-number { color: var(--baekje-muted) !important; background: #1b1916 !important; border-color: #62564a !important; }
.baekje-theme .baekje-progress .is-active .baekje-step-number,
.baekje-theme .baekje-progress .is-complete .baekje-step-number { color: #17110a !important; background: var(--baekje-orange) !important; border-color: #ffac46 !important; }

.baekje-theme .baekje-order-content,
.baekje-theme .baekje-checkout-content { background: linear-gradient(180deg, #17130f 0, #0b0a08 180px, #080706 100%) !important; }
.baekje-theme .baekje-order-frame { background: linear-gradient(145deg, var(--baekje-bronze), #514538 48%, var(--baekje-orange)) !important; box-shadow: 0 22px 54px rgba(0, 0, 0, .46) !important; }
.baekje-theme .baekje-order-form-title,
.baekje-theme .baekje-checkout-title,
.baekje-theme .baekje-checkout-card h3,
.baekje-theme .baekje-checkout-card h4,
.baekje-theme .baekje-finish-page #orderInfoHtmlArea h1 { color: var(--baekje-text) !important; }
.baekje-theme .baekje-order-description,
.baekje-theme .baekje-finish-page #orderInfoHtmlArea p { color: var(--baekje-muted) !important; }

/* Compact heroes and keep cards below section dividers instead of overlapping them. */
.baekje-theme .baekje-checkout-page .baekje-order-hero,
.baekje-theme .baekje-order-page .baekje-order-hero {
    padding: 30px 24px 36px !important;
}
.baekje-theme .baekje-checkout-page .baekje-order-emblem,
.baekje-theme .baekje-order-page .baekje-order-emblem {
    width: 50px;
    height: 50px;
    margin: 12px auto;
    font-size: 21px;
    border-radius: 16px;
}
.baekje-theme .baekje-checkout-page .baekje-order-hero h1,
.baekje-theme .baekje-order-page .baekje-order-hero h1 {
    margin-bottom: 10px;
    font-size: clamp(25px, 3vw, 34px);
}
.baekje-theme .baekje-checkout-page .baekje-order-hero p,
.baekje-theme .baekje-order-page .baekje-order-hero p {
    line-height: 1.55;
}
.baekje-theme .baekje-checkout-content > .container {
    top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 28px;
    padding-bottom: 56px;
}
.baekje-theme .baekje-order-content {
    padding-top: 28px !important;
}
.baekje-theme .baekje-order-frame {
    top: 0 !important;
    margin: 0 auto !important;
}

/* Checkout deadline must read as a high-priority notice. */
.baekje-theme .baekje-checkout-page #timerMessage {
    position: relative;
    z-index: 1;
    margin: 0 0 22px !important;
    padding: 16px 22px !important;
    color: #fff4df !important;
    background: linear-gradient(110deg, #4a1e0b, #29140d) !important;
    border: 1px solid #ff9b2f !important;
    border-left: 5px solid #ffb347 !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 26px rgba(239, 126, 0, .2) !important;
}
.baekje-theme .baekje-checkout-page #timerMessage i,
.baekje-theme .baekje-checkout-page #timerMessage span {
    color: #fff4df !important;
}
.baekje-theme .baekje-checkout-page #timerMessage #timer {
    display: inline-block;
    min-width: 58px;
    margin-left: 6px;
    padding: 2px 8px;
    color: #17110a !important;
    text-align: center;
    background: #ffb347;
    border-radius: 999px;
}

/* Dynamic order markup contains legacy dark inline colors. Scope the contrast fix here only. */
.baekje-theme .baekje-order-page #orderInfoHtmlArea,
.baekje-theme .baekje-order-page #orderDetailInfoHtmlArea,
.baekje-theme .baekje-order-page #orderInfoHtmlArea h1,
.baekje-theme .baekje-order-page #orderInfoHtmlArea h2,
.baekje-theme .baekje-order-page #orderInfoHtmlArea h3,
.baekje-theme .baekje-order-page #orderInfoHtmlArea h4,
.baekje-theme .baekje-order-page #orderInfoHtmlArea div,
.baekje-theme .baekje-order-page #orderInfoHtmlArea span,
.baekje-theme .baekje-order-page #orderInfoHtmlArea p,
.baekje-theme .baekje-order-page #orderDetailInfoHtmlArea h1,
.baekje-theme .baekje-order-page #orderDetailInfoHtmlArea h2,
.baekje-theme .baekje-order-page #orderDetailInfoHtmlArea h3,
.baekje-theme .baekje-order-page #orderDetailInfoHtmlArea h4,
.baekje-theme .baekje-order-page #orderDetailInfoHtmlArea div,
.baekje-theme .baekje-order-page #orderDetailInfoHtmlArea span,
.baekje-theme .baekje-order-page #orderDetailInfoHtmlArea p {
    color: var(--baekje-text) !important;
}
.baekje-theme .baekje-order-page #orderInfoHtmlArea .baekje-order-hint p,
.baekje-theme .baekje-order-page #orderDetailInfoHtmlArea .baekje-order-hint p,
.baekje-theme .baekje-order-page .order-info-header p {
    color: var(--baekje-muted) !important;
}
.baekje-theme .baekje-order-page #orderInfoHtmlArea i,
.baekje-theme .baekje-order-page #orderDetailInfoHtmlArea i {
    color: #e3b66e !important;
}
.baekje-theme .baekje-order-page #orderInfoHtmlArea [style*="color: red"],
.baekje-theme .baekje-order-page #orderDetailInfoHtmlArea [style*="color: red"] {
    color: #ff766d !important;
}

.baekje-theme .baekje-terms-body,
.baekje-theme .baekje-order-hint,
.baekje-theme .baekje-order-number,
.baekje-theme .baekje-checkout-page .timer-container { color: var(--baekje-text) !important; background: #24201c !important; border-color: var(--baekje-line) !important; }
.baekje-theme .baekje-terms-body .text-first { color: var(--baekje-text) !important; background: #151310 !important; border-left-color: var(--baekje-orange) !important; }
.baekje-theme .baekje-terms-body .form-check-label,
.baekje-theme .baekje-order-hint span,
.baekje-theme .baekje-order-number > div,
.baekje-theme .baekje-checkout-page .timer-container,
.baekje-theme .baekje-checkout-page .timer-container * { color: var(--baekje-text) !important; }
.baekje-theme .baekje-checkout-page #resInfoArea .input-group-text { color: var(--baekje-cream) !important; background: #24201c !important; }

.baekje-theme .baekje-auth-modal { background: rgba(0, 0, 0, .82) !important; }
.baekje-theme .baekje-auth-dialog { color: var(--baekje-text); background: linear-gradient(145deg, #201d19, #11100e) !important; border-color: var(--baekje-bronze) !important; }
.baekje-theme .baekje-auth-title,
.baekje-theme .baekje-auth-description,
.baekje-theme .baekje-auth-close { color: var(--baekje-text) !important; }

.baekje-theme #noticePopupArea .popup-container { background: #151310 !important; border-color: var(--baekje-bronze) !important; }
.baekje-theme #noticePopupArea .popup-top,
.baekje-theme #noticePopupArea .popup-bottom { background: #0b0a08 !important; border-color: var(--baekje-line) !important; }
.baekje-theme #noticePopupArea .popup-title,
.baekje-theme #noticePopupArea .popup-content,
.baekje-theme #noticePopupArea .close { color: var(--baekje-text) !important; }
.baekje-theme #noticePopupArea .baekje-notice-eyebrow,
.baekje-theme #noticePopupArea .popup-content a { color: var(--baekje-orange) !important; }

.baekje-theme .footer { color: #fff !important; background: #050504 !important; border-top: 1px solid rgba(190, 165, 133, .42) !important; }
.baekje-theme .footer a,
.baekje-theme .footer p,
.baekje-theme .footer i { color: #fff !important; }
.baekje-theme hr { border-color: var(--baekje-line) !important; }

@media (max-width: 767.98px) {
    .baekje-theme .baekje-site-navbar { min-height: 82px; }
    .baekje-theme .baekje-progress-wrap { top: 82px; }
    .baekje-theme .baekje-checkout-page .baekje-order-hero,
    .baekje-theme .baekje-order-page .baekje-order-hero { padding: 24px 16px 30px !important; }
    .baekje-theme .baekje-checkout-content > .container { padding: 22px 12px 42px; }
    .baekje-theme .baekje-order-content { padding-top: 22px !important; }
    .baekje-theme .baekje-checkout-page #timerMessage { padding: 14px 16px !important; }
    .baekje-theme .baekje-checkout-page #timerMessage > div { align-items: flex-start !important; }
}
