@charset "UTF-8";
/* PC Wellness only. Existing navigation, language rules and carousel are retained. */
.alp-wellness.well-v2 { padding-top:0; }
.well-v2 .well-heading { text-align:center; padding:46px 0 28px; }
.well-v2 .well-heading h1 { font-size:38px; font-weight:500; line-height:1.4; color:#193e34; margin:10px 0; letter-spacing:-1px; }
.well-v2 .well-heading p { font-size:15px; color:#788078; margin:12px 0 0; }
.well-v2 .well-eyebrow { color:#a18b66; font-size:12px; letter-spacing:2px; }
.well-v2 .well-hero { display:block; width:100%; height:340px; object-fit:cover; margin:0 0 36px; }
.well-v2 .well-section { padding:48px 0; border-bottom:1px solid #e3e6df; }
.well-v2 .well-split { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.well-v2 .well-split>img { width:100%; height:320px; object-fit:cover; }
.well-v2 .well-section .content-unit { position:static; transform:none; width:auto; }
.well-v2 .well-section h2, .well-v2 .well-band h2 { margin:8px 0 22px; color:#193e34; font-size:28px; line-height:1.5; font-weight:500; }
.well-v2 .well-section h3, .well-v2 .well-band h3, .well-v2 .well-cta h3 { margin:8px 0; font-size:20px; color:#193e34; font-weight:500; }
.well-v2 .well-section p, .well-v2 .well-band p { color:#768078; font-size:15px; line-height:2; margin:12px 0; word-break:keep-all; }
.well-v2 .well-band { background:#f7f6f1; padding:44px 0; margin:40px 0 0; }
.well-v2 .well-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.well-v2 .well-columns>div { border-top:1px solid #ccd0c4; padding-top:18px; }
.well-v2 .well-number { font:italic 26px Georgia,serif; color:#b4a38a; }
.well-v2 .well-details { padding:18px 0; border-top:1px solid #e3e6df; }
.well-v2 .well-details summary { cursor:pointer; font-size:15px; color:#52665b; }
.well-v2 .well-cta { display:flex; align-items:center; justify-content:space-between; gap:20px; background:#f5f5ef; padding:32px; margin:40px 0 60px; }
.well-v2 .well-cta>a { padding:12px 25px; border:1px solid #ccd2c8; border-radius:25px; color:#193e34; white-space:nowrap; }
.alp-wellness.well-v2 .tab-btn-new, .alp-wellness.well-v2 ul.tabmenu { margin:0 0 38px; }
.alp-wellness.well-v2 .pg-header h1::before, .alp-wellness.well-v2 .pg-header h1::after, .alp-wellness.well-v2 .pg-header::after { content:none; }
.alp-wellness--program.well-v2 .tabcontainer>.pg-header { text-align:left; padding:12px 0 0; }
.alp-wellness--program.well-v2 .tabcontainer>.pg-header h1 { font-size:27px; letter-spacing:-.5px; }
.alp-wellness--program.well-v2 .tabcontainer>.course-header { display:flex; align-items:center; justify-content:space-between; gap:20px; text-align:left; margin:12px 0 26px; padding:0; }
.alp-wellness--program.well-v2 .tabcontainer>.course-header p { margin:0; }
.alp-wellness--program.well-v2 .lang-switch { flex-shrink:0; text-align:right; margin:0; }
.alp-wellness--program.well-v2 #schedule .tab-wrap, .alp-wellness--program.well-v2 #schedule .info-layout, .alp-wellness--program.well-v2 #schedule .col { width:100%; max-width:100%; padding-left:0; padding-right:0; box-sizing:border-box; }
.alp-wellness--program.well-v2 #schedule .use-info { padding:10px 0; }
.alp-wellness--program.well-v2 #schedule h2 { text-align:left; font-size:23px; }
.alp-wellness--program.well-v2 .content-box>li>img { aspect-ratio:1.6; height:auto; object-fit:cover; }
@media(max-width:767px){.well-v2 .well-split,.well-v2 .well-columns{grid-template-columns:1fr}.well-v2 .well-hero{height:220px}.well-v2 .well-cta{flex-direction:column;align-items:flex-start}.alp-wellness--program.well-v2 .tabcontainer>.course-header{flex-wrap:wrap}}
.alp-wellness { --well-green:#193e34; --well-gold:#a18b66; --well-line:#e3e6df; color:#293a32; background:#fff; }
.alp-wellness .tab-btn-new, .alp-wellness ul.tabmenu { display:flex; justify-content:center; align-items:stretch; flex-wrap:wrap; gap:10px; margin:38px 0; padding:0; border:0; background:none; }
.alp-wellness .tab-btn-new>a, .alp-wellness ul.tabmenu>li { float:none; width:auto!important; min-width:175px; margin:0; padding:0; border:0!important; background:none; }
.alp-wellness .tab-btn-new>a, .alp-wellness ul.tabmenu>li>a { display:block; box-sizing:border-box; height:auto; padding:12px 25px; border:1px solid #dce1da; border-radius:28px; background:#fff; color:#657168; font-size:15px; line-height:1.6; text-align:center; }
.alp-wellness .tab-btn-new>a.active, .alp-wellness ul.tabmenu>li.active>a { border-color:var(--well-green); background:var(--well-green); color:#fff; }
.alp-wellness .tab-btn-new>a:hover, .alp-wellness ul.tabmenu>li>a:hover { border-color:var(--well-green); }
.alp-wellness .tab-btn-new>a::before, .alp-wellness .tab-btn-new>a::after, .alp-wellness ul.tabmenu>li::before, .alp-wellness ul.tabmenu>li::after, .alp-wellness ul.tabmenu>li>a::before, .alp-wellness ul.tabmenu>li>a::after { content:none; }
.alp-wellness .pg-header { margin:0; padding:28px 0 18px; border:0; text-align:center; }
.alp-wellness .pg-header h1 { margin:0; color:var(--well-green); font-size:34px; font-weight:500; line-height:1.4; letter-spacing:-1px; }
.alp-wellness .course-header { padding:0 0 32px; border:0; text-align:center; }
.alp-wellness .course-header .cleanload-s-tit, .alp-wellness .course-header .keyword, .alp-wellness .course-header p { color:#788078!important; font-size:15px; line-height:1.9; }
.alp-wellness .hotel-info-wrap { background:none; margin:14px 0 48px; }
.alp-wellness .hotel-info { padding:0; margin:0 auto; max-width:100%; }
.alp-wellness .hotel-info>img { display:block; width:100%; height:auto; margin:0; }
.alp-wellness .content-box { overflow:visible; }
.alp-wellness .content-box>li { display:flex; align-items:center; gap:46px; width:100%; box-sizing:border-box; padding:44px 0; margin:0; border:0; border-bottom:1px solid var(--well-line); }
.alp-wellness .content-box>li>img { display:block; float:none; flex:0 0 46%; width:46%; max-width:46%; height:auto; margin:0; }
.alp-wellness .content-box>li:nth-child(even)>img { float:none; order:2; margin:0; }
.alp-wellness .content-box>li>.content-unit-wrap { position:static; display:block; flex:1; width:auto; min-width:0; height:auto; padding:0; }
.alp-wellness .content-unit-wrap>.content-unit { position:static; width:auto; height:auto; top:auto; left:auto; transform:none; }
.alp-wellness .content-box h2 { float:none; width:auto; margin:0 0 20px; padding:0; color:var(--well-green); font-size:25px; font-weight:500; line-height:1.55; border:0; }
.alp-wellness .content-box h2 span { color:var(--well-gold); font-size:16px; }
.alp-wellness .content-box p { margin:0 0 18px; color:#6e786f; font-size:15px; line-height:2; word-break:keep-all; overflow-wrap:break-word; }
.alp-wellness .content-box h2::before, .alp-wellness .content-box h2::after { content:none; }
.alp-wellness--insight .theme-hir.info .content-box>li:nth-child(2) { background:#f7f6f1; padding:38px; }
.alp-wellness--insight .wrap.info:not(.theme-hir) .content-box>li { padding:38px 0; }
.alp-wellness--program #core .content-box, .alp-wellness--program #special .content-box, .alp-wellness--program #kids .content-box { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin:0; padding:0; }
.alp-wellness--program #core .content-box>li, .alp-wellness--program #special .content-box>li, .alp-wellness--program #kids .content-box>li { display:block; padding:0 0 28px; margin:0 0 20px; }
.alp-wellness--program .content-box>li>img, .alp-wellness--program .content-box>li:nth-child(even)>img { width:100%; max-width:100%; height:auto; float:none; margin:0 0 22px; }
.alp-wellness--program .content-box h2 { font-size:21px; margin-bottom:16px; }
.alp-wellness--program .content-box p { font-size:14px; line-height:1.9; }
/* .alp-wellness--program .content-box p br { display:none; } */
.alp-wellness .lang-switch { margin:12px 0 0; color:#868d85; font-size:12px; line-height:1.7; }
.alp-wellness .lang-btn { min-width:44px; padding:6px 12px; margin:8px 2px 0; border:1px solid #dce1da; border-radius:18px; background:#fff; color:var(--well-green); }
html.site-lang-ko .alp-wellness .lang-btn[onclick*="ko"], html.site-lang-en .alp-wellness .lang-btn[onclick*="en"] { background:var(--well-green); color:#fff; border-color:var(--well-green); }
.alp-wellness #schedule .use-info { display:block; padding:24px 0; border:0; }
.alp-wellness #schedule .use-info>.col { float:none; width:100%; margin:0; padding-left:0; }
.alp-wellness #schedule h2 { float:none; width:auto; font-size:24px; color:var(--well-green); margin:0 0 24px; }
.alp-wellness #schedule div.use-table { width:100%; overflow-x:auto; }
.alp-wellness #schedule table.use-table { width:100%; min-width:1000px; margin:0; table-layout:fixed; border:0; border-top:1px solid #bcc7bc; border-collapse:collapse; }
.alp-wellness #schedule table.use-table th, .alp-wellness #schedule table.use-table td { box-sizing:border-box; height:auto; padding:16px 9px; border:0; border-bottom:1px solid var(--well-line); font-size:14px; line-height:1.7; vertical-align:middle; overflow-wrap:break-word; }
.alp-wellness #schedule table.use-table th { background:#f4f5ef; color:var(--well-green); font-weight:500; }
.alp-wellness #schedule table.use-table td { background:white; color:#5f6d63; }
.alp-wellness #schedule table.use-table .btn { min-width:0; padding:6px 10px; white-space:nowrap; }
.alp-wellness .btn.line.small { box-sizing:border-box; height:auto; border:1px solid #b7c4b9; border-radius:4px; background:#fff; color:var(--well-green); line-height:1.6; }
.alp-wellness .btn.line.small:hover { background:var(--well-green); color:#fff; }
.alp-wellness .info-layout>.use-info, .alp-wellness .info-layout>.room-info { border-color:var(--well-line); }
.alp-wellness .info-layout>.use-info>h2, .alp-wellness .info-layout>.room-info>h2 { color:var(--well-green); }
.alp-wellness--program .convenience>.tab-wrap { box-sizing:border-box; margin:48px 0; padding:30px; background:#f7f6f1; }
.alp-wellness--program .convenience>.tab-wrap .use-info { display:block; border:0!important; margin:0; padding:0; }
.alp-wellness--program .convenience>.tab-wrap .use-info>h2 { float:none; width:auto; margin:0 0 20px; font-size:22px; }
.alp-wellness--program .convenience>.tab-wrap .use-info>.col { float:none; width:auto; padding:0; margin:0; }
.alp-wellness--program .dot-list-wrap { line-height:1.9; }
.alp-wellness--space .cont-inner-wrap { margin-top:46px; }
/* No display overrides on tabcontainer, data-lang, carousel slides or indicators. */
@media(max-width:1000px) {
 .alp-wellness .content-box>li { gap:25px; }
 .alp-wellness--program #core .content-box, .alp-wellness--program #special .content-box, .alp-wellness--program #kids .content-box { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
 .alp-wellness .content-box>li { display:block; padding:28px 0; }
 .alp-wellness .content-box>li>img { width:100%; max-width:100%; margin:0 0 24px; }
 .alp-wellness--program #core .content-box, .alp-wellness--program #special .content-box, .alp-wellness--program #kids .content-box { grid-template-columns:1fr; }
 .alp-wellness .tab-btn-new>a, .alp-wellness ul.tabmenu>li { min-width:0; }
 .alp-wellness .pg-header h1 { font-size:27px; }
}

/* 프로그램 설명: 왼쪽 정렬 / KR·EN 버튼은 오른쪽 유지 */
.alp-wellness--program.well-v2
.tabcontainer > .course-header > p.keyword {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    margin: 0;
    padding: 0;
    text-align: left;
}

/* 기존 1030px 제한 해제: 본문 전체 폭에 3개 균등 배치 */
.alp-wellness--program.well-v2 #core .content-box,
.alp-wellness--program.well-v2 #special .content-box,
.alp-wellness--program.well-v2 #kids .content-box {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

/* 기존 인라인 고정 높이로 생기는 카드 하단 빈 공간 제거 */
.alp-wellness--program.well-v2
.content-box > li > .content-unit-wrap {
    height: auto !important;
    min-height: 0;
}

/* Append to the END of wellness-renewal.css. PC wellness schedule only.
   Keeps table width, colgroup, layout, data output and reservation URLs intact. */
.alp-wellness--program #schedule table.use-table {
    border-top: 2px solid #254b3e;
    font-variant-numeric: tabular-nums;
}
.alp-wellness--program #schedule table.use-table thead th {
    padding: 15px 7px;
    background: #f4f5f1;
    border-bottom: 1px solid #dce3db;
    color: #294b3f;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.6;
    text-align: center;
}
.alp-wellness--program #schedule table.use-table thead tr + tr th {
    background: #fafbf8;
    color: #67736b;
    font-size: 12px;
    font-weight: 500;
}
.alp-wellness--program #schedule table.use-table tbody td {
    padding: 20px 8px;
    background: #fff;
    border-bottom: 1px solid #e7ebe5;
    color: #606c64;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.65;
    vertical-align: middle;
    text-align: center;
    word-break: normal;
    overflow-wrap: anywhere;
}
/* Original JSP has inline colors: override those only within schedule cells. */
.alp-wellness--program #schedule table.use-table tbody td > span {
    color: inherit !important;
}
.alp-wellness--program #schedule table.use-table tbody td:nth-child(1),
.alp-wellness--program #schedule table.use-table tbody td:nth-child(2) {
    color: #43584c;
    font-weight: 500;
}
.alp-wellness--program #schedule table.use-table tbody td:nth-child(3) {
    color: #234b3b;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.6;
    text-align: left;
    word-break: keep-all;
}
.alp-wellness--program #schedule table.use-table tbody td:nth-child(6) > span:not(:empty) {
    display: inline-block;
    box-sizing: border-box;
    max-width: 100%;
    padding: 4px 8px;
    border: 1px solid #e7e1d5;
    border-radius: 12px;
    background: #f7f4ed;
    color: #776649 !important;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
}
.alp-wellness--program #schedule table.use-table tbody td:nth-child(7),
.alp-wellness--program #schedule table.use-table tbody td:nth-child(8),
.alp-wellness--program #schedule table.use-table tbody td:nth-child(9) {
    color: #46574c;
    font-weight: 500;
}
.alp-wellness--program #schedule table.use-table tbody td:nth-child(10) {
    color: #7a817c;
    font-size: 12px;
}
.alp-wellness--program #schedule table.use-table tbody tr:hover > td {
    background: #fafbf8;
}
.alp-wellness--program #schedule table.use-table tbody td > a.btn.line.small {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    height: auto;
    margin: 0;
    padding: 8px 14px;
    border: 1px solid #254b3e;
    border-radius: 6px;
    background: #254b3e;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: none;
    white-space: normal;
}
.alp-wellness--program #schedule table.use-table tbody td > a.btn.line.small:hover {
    border-color: #163b2e;
    background: #163b2e;
    color: #fff;
}
.alp-wellness--program #schedule table.use-table tbody td > a.btn.line.small:focus-visible {
    outline: 2px solid #a18a61;
    outline-offset: 3px;
}
