@charset "utf-8";

/* Alpensia main renewal - legacy main content is kept in JSP for instant rollback. */
.alp-main-legacy:not(.conts-wrap) { display:none !important; }
.alp-main-renewal, .alp-main-renewal * { box-sizing: border-box; }
.alp-main-renewal { --alp-navy:#173c33; --alp-gold:#a88761; --alp-ink:#14231f; --alp-line:#deded8; width:min(1180px,calc(100% - 80px)); margin:0 auto; color:var(--alp-ink); font-family:"Noto Sans KR","Noto-Regular",sans-serif; }
.alp-main-renewal a { color:inherit; text-decoration:none; }

.alp-quick-booking { display:grid; grid-template-columns:repeat(3,1fr) 240px; margin:0 0 46px; border:1px solid #e2e2dd; background:#fff; box-shadow:0 12px 34px rgba(20,35,31,.08); }
.alp-quick-booking>a { min-height:108px; padding:25px 28px; border-right:1px solid #e2e2dd; position:relative; }
.alp-quick-booking>a>span { display:inline-block; margin-right:16px; color:var(--alp-gold); font-size:12px; }
.alp-quick-booking strong { display:inline-block; font-size:17px; font-weight:700; }
.alp-quick-booking em { display:block; margin:9px 0 0 34px; color:#8a8f8c; font-size:13px; font-style:normal; }
.alp-quick-booking .alp-quick-booking__all { display:flex; align-items:center; justify-content:space-between; background:var(--alp-navy); color:#fff; border:0; }
.alp-quick-booking__all b { font-size:20px; }
.alp-quick-booking--with-utilities { margin-bottom:0; }

.alp-utility-links { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); margin:0 0 46px; padding:28px 8px 24px; border:1px solid #e2e2dd; border-top:0; background:#fff; box-shadow:0 12px 34px rgba(20,35,31,.08); }
.alp-utility-links>a { display:flex; min-width:0; flex-direction:column; align-items:center; gap:12px; padding:8px 4px; color:#414946; text-align:center; }
.alp-utility-links i { display:grid; width:56px; height:56px; place-items:center; border:1px solid #d6d9d6; border-radius:50%; background:#fafaf8; color:var(--alp-navy); font-style:normal; transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease; }
.alp-utility-links svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.alp-utility-links span { display:flex; min-height:38px; align-items:flex-start; justify-content:center; max-width:100%; color:#414946; font-size:14px; font-weight:500; line-height:1.45; white-space:normal; word-break:keep-all; }
.alp-utility-links>a:hover i { border-color:var(--alp-navy); background:var(--alp-navy); color:#fff; transform:translateY(-2px); }

.alp-urgent-notice { display:grid; grid-template-columns:112px 1fr; align-items:center; margin-bottom:76px; border-top:1px solid #222; border-bottom:1px solid var(--alp-line); }
.alp-urgent-notice>strong { padding:19px 20px; color:#9c2f2f; font-size:12px; letter-spacing:.12em; }
.alp-urgent-notice>a { display:flex; justify-content:space-between; gap:25px; padding:19px 20px; border-left:1px solid var(--alp-line); font-size:14px; }
.alp-urgent-notice time { flex:none; color:#969b98; }

.alp-renewal-section { padding:48px 0 60px; }
.alp-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:28px; }
.alp-section-head>div>span { color:var(--alp-gold); font-size:12px; font-weight:700; letter-spacing:.13em; }
.alp-section-head h2 { margin:7px 0 5px; color:var(--alp-ink); font-size:34px; line-height:1.2; font-weight:700; }
.alp-section-head p { margin:0; color:#777f7b; font-size:14px; }
.alp-section-head>a { flex:none; padding-bottom:6px; border-bottom:1px solid var(--alp-ink); font-size:13px; font-weight:700; }

.alp-category-filter { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 26px; }
.alp-category-filter button { min-width:64px; padding:10px 17px; border:1px solid #ddd; border-radius:24px; background:#fff; color:#646b68; font:inherit; font-size:13px; cursor:pointer; }
.alp-category-filter button.is-active { border-color:var(--alp-navy); background:var(--alp-navy); color:#fff; font-weight:700; }

.alp-card-grid { display:flex; gap:24px; overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.alp-card-grid::-webkit-scrollbar { display:none; }
.alp-card-grid .alp-product-card { flex:0 0 calc((100% - 48px)/3); scroll-snap-align:start; }
.alp-product-card { min-width:0; border:1px solid var(--alp-line); background:#fff; transition:transform .2s ease,box-shadow .2s ease; }
.alp-product-card:hover { transform:translateY(-4px); box-shadow:0 15px 35px rgba(20,35,31,.09); }
.alp-product-card.is-filtered-out { display:none; }
.alp-product-card>a { display:block; height:100%; }
.alp-product-card figure { height:230px; margin:0; overflow:hidden; background:#f2f2ef; }
.alp-product-card figure img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.alp-product-card:hover figure img { transform:scale(1.025); }
.alp-card-body { min-height:204px; padding:24px 23px 20px; display:flex; flex-direction:column; }
.alp-card-kicker { min-height:18px; margin:0 0 9px; color:var(--alp-gold); font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.alp-card-body h3 { margin:0; font-size:20px; line-height:1.4; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.alp-card-description { display:-webkit-box; min-height:42px; margin:9px 0 0; overflow:hidden; color:#717875; font-size:14px; line-height:1.5; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.alp-card-meta { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:auto; padding-top:24px; border-top:1px solid #ecece8; color:#8c928f; font-size:12px; }
.alp-card-meta span:last-child { color:var(--alp-ink); font-weight:700; }
.alp-ticket-grid .alp-product-card:only-child { flex-basis:min(760px,100%); max-width:760px; }
.alp-ticket-grid .alp-product-card:only-child>a { display:grid; grid-template-columns:300px 1fr; }
.alp-ticket-grid .alp-product-card:only-child figure { height:100%; min-height:250px; }
.alp-event-card .alp-card-body { min-height:156px; }
.alp-event-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); grid-template-rows:repeat(2,245px); gap:18px; overflow:visible; transition:opacity .18s ease; }
.alp-event-grid.is-event-changing { opacity:0; }
.alp-event-grid .alp-event-card { min-width:0; height:100%; }
.alp-event-grid .alp-event-card.is-event-hidden { display:none; }
.alp-event-grid .alp-event-card.is-event-featured { grid-column:1; grid-row:1 / span 2; }
.alp-event-grid .alp-event-card.is-event-small { grid-column:2; }
.alp-event-grid[data-event-visible-count="2"] .alp-event-card.is-event-small { grid-row:1 / span 2; }
.alp-event-grid .alp-event-card>a { position:relative; overflow:hidden; }
.alp-event-grid .alp-event-card figure { height:100%; }
.alp-event-grid .alp-event-card .alp-card-body { position:absolute; right:0; bottom:0; left:0; min-height:0; padding:72px 28px 25px; background:linear-gradient(to bottom,transparent,rgba(8,20,17,.82)); color:#fff; }
.alp-event-grid .alp-event-card .alp-card-kicker { color:#fff; opacity:.85; }
.alp-event-grid .alp-event-card .alp-card-body h3 { font-size:22px; }
.alp-event-grid .alp-event-card .alp-card-meta { margin-top:10px; padding-top:0; border-top:0; color:#fff; }
.alp-event-grid .alp-event-card .alp-card-meta span:last-child { color:#fff; }
.alp-event-grid .alp-event-card.is-event-featured .alp-card-body { padding:110px 30px 28px; }
.alp-event-grid .alp-event-card.is-event-featured .alp-card-body h3 { font-size:28px; }
.alp-event-controls button:disabled { opacity:1; cursor:pointer; }
.alp-empty { flex:1 0 100%; margin:0; padding:60px 20px; border:1px solid var(--alp-line); color:#8a8f8c; text-align:center; }
.alp-carousel-controls { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-top:22px; }
.alp-carousel-controls[hidden] { display:none; }
.alp-carousel-controls button { width:42px; height:42px; border:1px solid #d8dad7; border-radius:50%; background:#fff; color:var(--alp-ink); font-size:20px; line-height:1; cursor:pointer; }
.alp-carousel-controls button:disabled { opacity:.3; cursor:default; }
.alp-carousel-status { min-width:58px; color:#777f7b; font-size:12px; text-align:center; }

.alp-notice-section { padding-bottom:120px; }
.alp-notice-list { margin:0; padding:0; border-top:2px solid var(--alp-ink); list-style:none; }
.alp-notice-list li { border-bottom:1px solid var(--alp-line); }
.alp-notice-list a { display:flex; justify-content:space-between; gap:30px; padding:20px 12px; font-size:14px; }
.alp-notice-list time { flex:none; color:#999; }

.alp-event-section { background: #f7f3ea; box-shadow: 0 0 0 100vmax #f7f3ea; clip-path: inset(0 -100vmax); }
.alp-notice-section { background: #f4f6f4; box-shadow: 0 0 0 100vmax #f4f6f4; clip-path: inset(0 -100vmax); }

@media (max-width: 1024px) {
  .alp-main-renewal { width:min(100% - 40px,900px); }
  .alp-quick-booking { grid-template-columns:repeat(3,1fr); }
  .alp-quick-booking .alp-quick-booking__all { grid-column:1/-1; min-height:64px; }
}

@media (max-width: 767px) {
  .alp-main-renewal { width:100%; padding:0 20px; }
  .alp-quick-booking { grid-template-columns:1fr; margin:30px 0 38px; box-shadow:none; }
  .alp-quick-booking>a { min-height:76px; padding:18px 18px; border-right:0; border-bottom:1px solid #e2e2dd; }
  .alp-quick-booking em { margin-left:32px; }
  .alp-quick-booking .alp-quick-booking__all { grid-column:auto; min-height:62px; }
  .alp-urgent-notice { grid-template-columns:78px 1fr; margin-bottom:58px; }
  .alp-urgent-notice>strong { padding:16px 10px; }
  .alp-urgent-notice>a { display:block; min-width:0; padding:16px 12px; }
  .alp-urgent-notice>a span { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .alp-urgent-notice time { display:block; margin-top:5px; font-size:11px; }
  .alp-renewal-section { padding:35px 0 35px;}
  .alp-section-head { align-items:flex-start; margin-bottom:22px; }
  .alp-section-head h2 { font-size:27px; }
  .alp-section-head p { font-size:13px; }
  .alp-section-head>a { margin-top:25px; font-size:12px; }
  .alp-category-filter { flex-wrap:nowrap; margin-right:-20px; padding-right:20px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .alp-category-filter::-webkit-scrollbar { display:none; }
  .alp-category-filter button { flex:none; }
  .alp-card-grid { gap:14px; margin-right:-20px; padding-right:20px; scroll-padding-left:0; }
  .alp-card-grid .alp-product-card { flex-basis:82%; }
  .alp-event-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto auto; gap:12px; margin-right:0; padding-right:0; overflow:visible; }
  .alp-event-grid .alp-event-card { width:auto; }
  .alp-event-grid .alp-event-card.is-event-featured { grid-column: 1 / -1; grid-row: auto; min-height: 0; }
  .alp-event-grid .alp-event-card.is-event-small { grid-column: auto; min-height: 0; }
  .alp-event-grid .alp-event-card figure { width: 100%; height: auto; aspect-ratio: 277 / 240; }
  .alp-event-grid .alp-event-card figure img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
  .alp-event-grid[data-event-visible-count="2"] .alp-event-card.is-event-small { grid-column:1 / -1; grid-row:auto; }
  .alp-event-grid .alp-event-card .alp-card-body { padding:58px 15px 16px; }
  .alp-event-grid .alp-event-card.is-event-featured .alp-card-body { padding:80px 20px 20px; }
  .alp-event-grid .alp-event-card .alp-card-body h3 { font-size:16px; }
  .alp-event-grid .alp-event-card.is-event-featured .alp-card-body h3 { font-size:22px; }
  .alp-event-grid .alp-event-card .alp-card-kicker { font-size:10px; }
  .alp-event-grid .alp-event-card .alp-card-meta { font-size:11px; }
  .alp-main-renewal .alp-mobile-quick-links {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    position: static !important;
    float: none !important;
    clear: both !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 0 58px !important;
    padding: 0 !important;
    box-sizing: border-box;
    transform: none !important;
}

.alp-main-renewal .alp-mobile-quick-links > li {
    float: none !important;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}

.alp-main-renewal .alp-mobile-quick-links > li > a {
    display: block;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    text-align: center;
}

.alp-main-renewal .alp-urgent-notice {
    clear: both;
    width: 100%;
}
  .alp-product-card figure { height:auto; aspect-ratio:1.55/1; }
  .alp-card-body { min-height:185px; padding:20px 18px 17px; }
  .alp-card-body h3 { font-size:19px; }
  .alp-ticket-grid .alp-product-card:only-child { max-width:none; }
  .alp-ticket-grid .alp-product-card:only-child>a { display:block; }
  .alp-ticket-grid .alp-product-card:only-child figure { min-height:0; }
  .alp-carousel-controls { justify-content:center; margin-top:17px; }
  .alp-notice-section { padding-bottom:80px; }
  .alp-notice-list a { display:block; padding:17px 4px; }
  .alp-notice-list time { display:block; margin-top:6px; font-size:11px; }
  
  .alp-event-section { background: #fbf9f4; box-shadow: 0 0 0 100vmax #fbf9f4; }
  .alp-notice-section { background: #fafbfa; box-shadow: 0 0 0 100vmax #fafbfa; }
}
