/* Jinjuyudeung-only theme. Loaded exclusively by include/jinjuyudeung/include.jsp. */
.jinjuyudeung-theme {
    --jinju-night: #081338;
    --jinju-night-soft: #121f50;
    --jinju-blue: #1263a5;
    --jinju-cyan: #19cbd1;
    --jinju-pink: #ef3f91;
    --jinju-orange: #ff9b39;
    --jinju-gold: #ffd66b;
    --jinju-ink: #15203f;
    --jinju-line: #dfe5f4;
    --jinju-surface: #ffffff;
    background: var(--jinju-night);
}

.jinjuyudeung-theme body {
    color: var(--jinju-ink);
    background: var(--jinju-night);
}

.jinjuyudeung-theme body > .container-xxl,
.jinjuyudeung-theme .container-xxl.bg-white {
    max-width: 1320px;
    background-color: #f8f9ff !important;
    background-image:
        radial-gradient(circle at 8% 8%, rgba(239, 63, 145, .22) 0 2px, transparent 3px),
        radial-gradient(circle at 90% 5%, rgba(255, 214, 107, .24) 0 2px, transparent 3px),
        linear-gradient(180deg, #f4f5ff 0%, #ffffff 34%, #f9f4ff 100%);
}

.jinjuyudeung-theme .nav-bar {
    background: linear-gradient(100deg, var(--jinju-night), var(--jinju-night-soft)) !important;
    box-shadow: 0 8px 28px rgba(8, 19, 56, .22);
}

.jinjuyudeung-theme .navbar {
    min-height: 76px;
    background: linear-gradient(100deg, #081338, #15245e) !important;
    border-bottom: 3px solid transparent;
    border-image: linear-gradient(90deg, var(--jinju-cyan), var(--jinju-pink), var(--jinju-orange)) 1;
}

.jinjuyudeung-theme .navbar .nav-link {
    color: #fff !important;
    font-weight: 700;
}

.jinjuyudeung-theme .navbar .nav-link:hover,
.jinjuyudeung-theme .navbar .nav-link.active {
    color: var(--jinju-gold) !important;
}

.jinjuyudeung-theme .navbar-brand img {
    max-width: 70% !important;
    filter: drop-shadow(0 2px 8px rgba(255, 255, 255, .18));
}

.jinjuyudeung-theme .navbar-toggler {
    border-color: rgba(255, 255, 255, .45);
}

.jinjuyudeung-theme .navbar-toggler-icon {
    filter: brightness(0) invert(1);
}

.jinjuyudeung-theme #divResCompanyDetailInfoArea {
    position: relative;
    overflow: hidden;
    margin-top: 20px;
    color: #fff;
    background:
        radial-gradient(circle at 14% 22%, rgba(25, 203, 209, .36), transparent 18%),
        radial-gradient(circle at 84% 15%, rgba(239, 63, 145, .34), transparent 20%),
        radial-gradient(circle at 76% 80%, rgba(255, 155, 57, .28), transparent 22%),
        linear-gradient(145deg, #07112f 0%, #15245e 58%, #32144f 100%);
    border-radius: 0 0 28px 28px;
}

.jinjuyudeung-theme #divResCompanyDetailInfoArea::before,
.jinjuyudeung-theme #divResCompanyDetailInfoArea::after {
    position: absolute;
    width: 180px;
    height: 180px;
    border: 2px dotted rgba(255, 214, 107, .45);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.jinjuyudeung-theme #divResCompanyDetailInfoArea::before {
    top: -100px;
    left: -70px;
    box-shadow: 0 0 35px rgba(255, 214, 107, .25);
}

.jinjuyudeung-theme #divResCompanyDetailInfoArea::after {
    right: -80px;
    bottom: -110px;
    border-color: rgba(25, 203, 209, .5);
}

.jinjuyudeung-theme #divResCompanyDetailInfoArea h1,
.jinjuyudeung-theme #divResCompanyDetailInfoArea h2,
.jinjuyudeung-theme #divResCompanyDetailInfoArea h3,
.jinjuyudeung-theme #divResCompanyDetailInfoArea h4,
.jinjuyudeung-theme #divResCompanyDetailInfoArea p {
    color: #fff;
}

.jinjuyudeung-theme .about-img::before {
    background: linear-gradient(160deg, var(--jinju-cyan), var(--jinju-pink)) !important;
}

.jinjuyudeung-theme .about-img img {
    position: relative;
    z-index: 2;
    border: 3px solid rgba(255, 255, 255, .75);
    border-radius: 18px;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .35), 0 0 20px rgba(25, 203, 209, .28);
}

.jinjuyudeung-theme .btn-primary,
.jinjuyudeung-theme .authBtn {
    color: #fff !important;
    background: linear-gradient(100deg, #1263a5, #7133a5, #d93282) !important;
    border: 1px solid rgba(255, 255, 255, .32) !important;
    border-radius: 12px;
    box-shadow: 0 8px 18px rgba(70, 35, 130, .2);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.jinjuyudeung-theme .btn-primary:hover,
.jinjuyudeung-theme .authBtn:hover {
    color: #fff !important;
    filter: brightness(1.12);
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(239, 63, 145, .28);
}

.jinjuyudeung-theme #divResProductGroupInfoArea,
.jinjuyudeung-theme #divResProductInfoArea,
.jinjuyudeung-theme #divProductSelectArea,
.jinjuyudeung-theme #divReservationInputInfoArea {
    position: relative;
}

.jinjuyudeung-theme #divResProductGroupInfoArea h4,
.jinjuyudeung-theme #divResProductInfoArea h4,
.jinjuyudeung-theme #divResProductInfoArea h5,
.jinjuyudeung-theme #divProductSelectArea h4,
.jinjuyudeung-theme #divProductSelectArea h5,
.jinjuyudeung-theme #divProductSelectArea h6 {
    color: var(--jinju-night);
}

.jinjuyudeung-theme .cat-item,
.jinjuyudeung-theme .team-item,
.jinjuyudeung-theme .info-container {
    background: rgba(255, 255, 255, .96) !important;
    border: 1px solid rgba(18, 99, 165, .14);
    border-radius: 16px !important;
    box-shadow: 0 10px 28px rgba(19, 32, 78, .09);
}

.jinjuyudeung-theme .cat-item:hover,
.jinjuyudeung-theme .team-item:hover {
    border-color: var(--jinju-cyan);
    box-shadow: 0 14px 32px rgba(25, 203, 209, .18), 0 0 0 2px rgba(239, 63, 145, .08);
}

.jinjuyudeung-theme .selected-dates {
    color: #fff;
    background: linear-gradient(125deg, var(--jinju-night), var(--jinju-night-soft)) !important;
    border: 1px solid rgba(25, 203, 209, .55);
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(8, 19, 56, .2);
}

.jinjuyudeung-theme .selected-dates p,
.jinjuyudeung-theme .selected-dates span {
    color: #fff !important;
}

.jinjuyudeung-theme .selected-dates p span {
    color: var(--jinju-gold) !important;
}

.jinjuyudeung-theme .form-control,
.jinjuyudeung-theme .form-select {
    border-color: #cfd8ee;
    border-radius: 10px;
}

.jinjuyudeung-theme .form-control:focus,
.jinjuyudeung-theme .form-select:focus {
    border-color: var(--jinju-cyan);
    box-shadow: 0 0 0 .2rem rgba(25, 203, 209, .16);
}

.jinjuyudeung-theme .jinju-use-guide,
.jinjuyudeung-theme .jinju-privacy-card {
    max-width: 1140px;
    margin-right: auto;
    margin-left: auto;
}

.jinjuyudeung-theme .jinju-use-guide__card {
    overflow: hidden;
    margin-bottom: 22px;
    background: var(--jinju-surface);
    border: 1px solid rgba(25, 203, 209, .32);
    border-radius: 20px;
    box-shadow: 0 16px 38px rgba(12, 26, 73, .12);
}

.jinjuyudeung-theme .jinju-use-guide__header {
    padding: 24px 28px 20px;
    color: #fff;
    background:
        radial-gradient(circle at 88% 20%, rgba(255, 214, 107, .32), transparent 22%),
        linear-gradient(110deg, var(--jinju-night), #24357b 58%, #69275f);
}

.jinjuyudeung-theme .jinju-use-guide__eyebrow {
    display: block;
    margin-bottom: 7px;
    color: var(--jinju-cyan);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
}

.jinjuyudeung-theme .jinju-use-guide__header h2 {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(22px, 3vw, 30px);
}

.jinjuyudeung-theme .jinju-use-guide__header p {
    margin: 0;
    color: rgba(255, 255, 255, .78);
}

.jinjuyudeung-theme .jinju-use-guide__table-wrap {
    overflow-x: auto;
}

.jinjuyudeung-theme .jinju-use-guide__table {
    width: 100%;
    min-width: 600px;
    border-collapse: collapse;
}

.jinjuyudeung-theme .jinju-use-guide__table th,
.jinjuyudeung-theme .jinju-use-guide__table td {
    padding: 16px 18px;
    border-bottom: 1px solid var(--jinju-line);
    line-height: 1.75;
}

.jinjuyudeung-theme .jinju-use-guide__table th {
    width: 180px;
    color: var(--jinju-night);
    text-align: center;
    background: #eef8fb;
}

.jinjuyudeung-theme .jinju-use-guide__table tr:last-child th,
.jinjuyudeung-theme .jinju-use-guide__table tr:last-child td {
    border-bottom: 0;
}

.jinjuyudeung-theme .jinju-use-guide__empty {
    padding: 38px 20px;
    color: #66708d;
    text-align: center;
    background: linear-gradient(135deg, #f5fbff, #fff6fb);
}

.jinjuyudeung-theme .jinju-use-guide__empty.is-loading::before {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 9px;
    vertical-align: -3px;
    border: 2px solid rgba(18, 99, 165, .2);
    border-top-color: var(--jinju-pink);
    border-radius: 50%;
    animation: jinju-spin .8s linear infinite;
    content: "";
}

.jinjuyudeung-theme .jinju-use-guide__empty.is-error {
    color: #a62250;
    background: #fff3f7;
}

.jinjuyudeung-theme .jinju-privacy-card {
    padding: 0;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.jinjuyudeung-theme .jinju-privacy-card .info-container {
    max-width: none !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.jinjuyudeung-theme .jinju-privacy-card .info-title {
    margin-bottom: 0;
    padding: 18px 20px;
    color: #fff;
    font-size: 20px;
    font-weight: 800;
    background: linear-gradient(100deg, var(--jinju-blue), #69316f);
    border-radius: 16px 16px 0 0;
}

.jinjuyudeung-theme .jinju-privacy-card th {
    width: 28%;
    color: var(--jinju-night);
    vertical-align: middle;
    background: #eef8fb !important;
}

.jinjuyudeung-theme .jinju-privacy-card td {
    text-align: left;
    vertical-align: middle;
    background: #fff !important;
}

.jinjuyudeung-theme .consent-checkbox {
    padding: 14px;
    color: #fff;
    background: var(--jinju-night);
    border: 2px solid var(--jinju-cyan) !important;
    border-radius: 0 0 16px 16px;
}

.jinjuyudeung-theme .consent-checkbox label {
    cursor: pointer;
}

.jinjuyudeung-theme .consent-checkbox input {
    margin-right: 7px;
    accent-color: var(--jinju-pink);
}

.jinjuyudeung-theme #divProductSelectArea .table th,
.jinjuyudeung-theme #divProductSelectArea .table thead th {
    background-color: var(--jinju-night-soft) !important;
    color: #fff !important;
}

.jinjuyudeung-theme .footer {
    border-top: 3px solid transparent;
    border-image: linear-gradient(90deg, var(--jinju-cyan), var(--jinju-pink), var(--jinju-orange)) 1;
}

@keyframes jinju-spin {
    to { transform: rotate(360deg); }
}

@media (max-width: 767.98px) {
    .jinjuyudeung-theme #divResCompanyDetailInfoArea {
        margin-top: 0;
        border-radius: 0 0 20px 20px;
    }

    .jinjuyudeung-theme #divResCompanyDetailInfoArea .p-5 {
        padding: 1.5rem !important;
    }

    .jinjuyudeung-theme .jinju-use-guide__header {
        padding: 20px;
    }

    .jinjuyudeung-theme .jinju-use-guide__table {
        min-width: 0;
    }

    .jinjuyudeung-theme .jinju-use-guide__table tr,
    .jinjuyudeung-theme .jinju-use-guide__table th,
    .jinjuyudeung-theme .jinju-use-guide__table td {
        display: block;
        width: 100%;
    }

    .jinjuyudeung-theme .jinju-use-guide__table th {
        padding-bottom: 10px;
        text-align: left;
        border-bottom: 0;
    }

    .jinjuyudeung-theme .jinju-use-guide__table td {
        padding-top: 10px;
    }

    .jinjuyudeung-theme .jinju-privacy-card th,
    .jinjuyudeung-theme .jinju-privacy-card td {
        display: block;
        width: 100%;
        text-align: left;
    }
}

@media (prefers-reduced-motion: reduce) {
    .jinjuyudeung-theme *,
    .jinjuyudeung-theme *::before,
    .jinjuyudeung-theme *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Festival-night refinement: Namgang night, violet lantern glow and warm gold. */
.jinjuyudeung-theme {
    --jinju-night: #0b102b;
    --jinju-night-soft: #24183f;
    --jinju-blue: #c89427;
    --jinju-cyan: #e4b63f;
    --jinju-pink: #e4b63f;
    --jinju-orange: #e4b63f;
    --jinju-gold: #f0c84b;
    --jinju-ink: #25231f;
    --jinju-line: #ded7c8;
    --jinju-surface: #fffdf8;
    background: #080b20;
}

.jinjuyudeung-theme body {
    color: var(--jinju-ink);
    background: linear-gradient(180deg, #080b20 0%, #15102a 48%, #090c21 100%);
}

.jinjuyudeung-theme body > .container-xxl,
.jinjuyudeung-theme .container-xxl.bg-white {
    background-color: #f7f1e7 !important;
    background-image:
        radial-gradient(ellipse at 8% 62%, rgba(235, 188, 88, .08) 0, transparent 34%),
        radial-gradient(ellipse at 92% 78%, rgba(142, 94, 157, .05) 0, transparent 32%);
}

.jinjuyudeung-theme .nav-bar {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    background: linear-gradient(100deg, #090d26 0%, #191331 58%, #2e1835 100%) !important;
    box-shadow: none;
}

.jinjuyudeung-theme .navbar {
    background: linear-gradient(100deg, #090d26 0%, #191331 58%, #2e1835 100%) !important;
    border-bottom: 2px solid #e4b63f;
    border-image: none;
}

.jinjuyudeung-theme .navbar .nav-link:hover,
.jinjuyudeung-theme .navbar .nav-link.active {
    color: #f0c84b !important;
}

.jinjuyudeung-theme #divResCompanyDetailInfoArea {
    margin-top: 0 !important;
    color: #fff;
    background:
        radial-gradient(circle at 14% 22%, rgba(242, 181, 54, .18), transparent 22%),
        radial-gradient(circle at 86% 72%, rgba(197, 77, 159, .22), transparent 26%),
        linear-gradient(180deg, #11132d 0%, #21183d 64%, #4a2549 100%);
    border-radius: 0;
    box-shadow: none;
}

.jinjuyudeung-theme #divResCompanyDetailInfoArea::before,
.jinjuyudeung-theme #divResCompanyDetailInfoArea::after {
    display: block;
    border: 0;
    background: radial-gradient(circle, rgba(248, 203, 88, .28) 0, rgba(248, 203, 88, .08) 34%, transparent 70%);
    filter: blur(2px);
}

.jinjuyudeung-theme #divResCompanyDetailInfoArea::after {
    right: 3%;
    bottom: 25px;
    background: radial-gradient(circle, rgba(220, 84, 170, .22) 0, rgba(108, 67, 173, .08) 38%, transparent 70%);
}

.jinjuyudeung-theme #divResCompanyDetailInfoArea .text-primary {
    color: var(--jinju-gold) !important;
}

.jinjuyudeung-theme #productGroupCardListArea .cat-item > div,
.jinjuyudeung-theme #productGroupCardListArea .cat-item .icon {
    border-color: rgba(200, 148, 39, .4) !important;
}

.jinjuyudeung-theme .about-img::before {
    background: linear-gradient(155deg, #f0c84b 0%, #d8962f 48%, #8d3f76 100%) !important;
}

.jinjuyudeung-theme .about-img img {
    border-color: rgba(240, 200, 75, .72);
    box-shadow: 0 16px 34px rgba(0, 0, 0, .38);
}

.jinjuyudeung-theme .btn-primary,
.jinjuyudeung-theme .authBtn {
    color: #171717 !important;
    background: linear-gradient(135deg, #f5d766 0%, #e4b63f 52%, #d99a2e 100%) !important;
    border-color: rgba(255, 219, 113, .9) !important;
    box-shadow: 0 9px 22px rgba(111, 68, 20, .22), inset 0 1px 0 rgba(255, 255, 255, .38);
}

.jinjuyudeung-theme .btn-primary:hover,
.jinjuyudeung-theme .authBtn:hover {
    color: #171717 !important;
    background: linear-gradient(135deg, #ffe582 0%, #efc74b 58%, #dfa02f 100%) !important;
    border-color: #f0c84b !important;
    box-shadow: 0 10px 22px rgba(125, 88, 16, .24);
}

.jinjuyudeung-theme #divResProductGroupInfoArea,
.jinjuyudeung-theme #divResProductInfoArea,
.jinjuyudeung-theme #divProductSelectArea,
.jinjuyudeung-theme #divReservationInputInfoArea {
    background: transparent;
}

.jinjuyudeung-theme #divResProductGroupInfoArea {
    background: linear-gradient(180deg, #4a2549 0%, #5c304f 22%, #b78275 48%, #ead6b9 74%, #f7f1e7 100%);
}

.jinjuyudeung-theme #divResProductGroupInfoArea > .container > .text-center h4,
.jinjuyudeung-theme #divResProductGroupInfoArea > .container > .text-center p {
    color: #fff8e9;
    text-shadow: 0 2px 12px rgba(21, 12, 34, .22);
}

.jinjuyudeung-theme #divResProductGroupInfoArea > hr,
.jinjuyudeung-theme #divResProductInfoArea > hr,
.jinjuyudeung-theme #divReservationInputInfoArea > hr {
    display: none;
}

.jinjuyudeung-theme .cat-item,
.jinjuyudeung-theme .team-item,
.jinjuyudeung-theme .info-container {
    background: linear-gradient(145deg, #fffefa 0%, #fff9eb 100%) !important;
    border-color: #ded7c8;
    box-shadow: 0 10px 26px rgba(37, 35, 31, .08);
}

.jinjuyudeung-theme .cat-item:hover,
.jinjuyudeung-theme .team-item:hover {
    border-color: #e4b63f;
    box-shadow: 0 12px 28px rgba(125, 88, 16, .16);
}

.jinjuyudeung-theme .selected-dates {
    color: #fff;
    background: linear-gradient(135deg, #13152f 0%, #2d1c49 62%, #542447 100%) !important;
    border-color: #e4b63f;
    box-shadow: none;
}

.jinjuyudeung-theme .form-control,
.jinjuyudeung-theme .form-select {
    background-color: #fffdf8;
    border-color: #d8d0c0;
}

.jinjuyudeung-theme .form-control:focus,
.jinjuyudeung-theme .form-select:focus {
    border-color: #c89427;
    box-shadow: 0 0 0 .2rem rgba(228, 182, 63, .18);
}

.jinjuyudeung-theme .jinju-use-guide,
.jinjuyudeung-theme .jinju-privacy-card {
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
}

.jinjuyudeung-theme .jinju-use-guide__card,
.jinjuyudeung-theme .jinju-privacy-card .info-container {
    width: 100%;
    border: 1px solid #ded7c8;
    border-radius: 16px;
    box-shadow: 0 10px 26px rgba(37, 35, 31, .08);
}

.jinjuyudeung-theme .jinju-use-guide__header {
    color: #fff;
    background: linear-gradient(110deg, #12152f 0%, #2c1c49 62%, #562548 100%);
    border-bottom: 3px solid #e4b63f;
}

.jinjuyudeung-theme .jinju-use-guide__eyebrow {
    color: #f0c84b;
}

.jinjuyudeung-theme .jinju-use-guide__header p {
    color: rgba(255, 255, 255, .78);
}

.jinjuyudeung-theme .jinju-use-guide__table th,
.jinjuyudeung-theme .jinju-privacy-card th {
    color: #25231f;
    background: #f1ecdf !important;
}

.jinjuyudeung-theme .jinju-use-guide__table td,
.jinjuyudeung-theme .jinju-privacy-card td {
    color: #3c3932;
    background: #fffdf8 !important;
}

.jinjuyudeung-theme .jinju-use-guide__empty {
    color: #615d54;
    background: #fffdf8;
}

.jinjuyudeung-theme .jinju-use-guide__empty.is-loading::before {
    border-color: rgba(200, 148, 39, .22);
    border-top-color: #c89427;
}

.jinjuyudeung-theme .jinju-use-guide__empty.is-error {
    color: #8f321f;
    background: #fff7ef;
}

.jinjuyudeung-theme .jinju-privacy-card {
    padding: 0;
}

.jinjuyudeung-theme .jinju-privacy-card .info-title {
    color: #fff;
    background: linear-gradient(110deg, #12152f 0%, #2c1c49 62%, #562548 100%);
    border-bottom: 3px solid #e4b63f;
}

.jinjuyudeung-theme .consent-checkbox {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 16px 20px;
    color: #25231f !important;
    background: #f1ecdf;
    border: 0 !important;
    border-top: 1px solid #ded7c8 !important;
    border-radius: 0 0 16px 16px;
}

.jinjuyudeung-theme .consent-checkbox label,
.jinjuyudeung-theme .consent-checkbox label * {
    color: #25231f !important;
    font-weight: 700;
    opacity: 1 !important;
}

.jinjuyudeung-theme .consent-checkbox input {
    opacity: 1 !important;
    accent-color: #c89427;
}

.jinjuyudeung-theme #divProductSelectArea .table th,
.jinjuyudeung-theme #divProductSelectArea .table thead th {
    color: #fff !important;
    background-color: #25252b !important;
}

.jinjuyudeung-theme hr {
    border-color: rgba(93, 62, 83, .24);
    opacity: .65;
}

.jinjuyudeung-theme .footer {
    background: linear-gradient(100deg, #090d26 0%, #191331 58%, #2e1835 100%) !important;
    border-top: 2px solid #e4b63f;
    border-image: none;
}
