/* Test-route design system. Booking, price and form rules are intentionally excluded. */
:root{
  --gz-blue-600:#1570ef;--gz-blue-700:#125dc7;--gz-slate-700:#334155;--gz-slate-600:#52647a;
  --gz-space-2:8px;--gz-space-3:12px;--gz-space-4:16px;--gz-space-6:24px;--gz-space-8:32px;
  --gz-color-action:var(--gz-blue-600);--gz-color-copy:var(--gz-slate-700);--gz-color-muted:var(--gz-slate-600);
  --gz-color-line:#dce5ef;--gz-color-surface:#f6f9fd;--gz-radius-control:10px;--gz-radius-card:16px;
  --gz-button-bg:var(--gz-color-action);--gz-button-radius:var(--gz-radius-control);
}
body.gz-refined{font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body.gz-refined :focus-visible{outline:3px solid var(--gz-color-action);outline-offset:3px}
body.gz-refined :is(.gx-btn,.ga-btn,.hd-book,.hd-room-cta,.hbtn,.gz-r-openbtn,.gz-read-guide button){
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
body.gz-refined :is(.gx-btn,.ga-btn,.hd-book,.hd-room-cta,.hbtn,.gz-r-openbtn):active{transform:scale(.96)}
body.gz-refined :is(.hd-room-body,.gx-panel,.ga-panel,.gz-read-guide){overflow-wrap:anywhere;word-break:keep-all}
body.gz-refined :is(.hf .v.ph,.hf label,.hpanel .sub,.hpanel small){color:var(--gz-color-muted)}
body.gz-refined .hf .v.ph{font-weight:500}
/* These two arrows, not the scrollable card strips, caused document overflow. */
body.gz-refined .gs-comborail .gs-nav.prev,body.gz-refined .hpickwrap .hnav.prev{left:2px}
body.gz-refined .gs-comborail .gs-nav.next,body.gz-refined .hpickwrap .hnav.next{right:2px}
body.gz-refined .p3page a.more{padding-right:4px}
body.gz-refined :is(.gs-nav,.hnav){min-width:44px;min-height:44px}
body.gz-refined :is(.unav,.menubar) a{word-break:keep-all;overflow-wrap:normal}
.gz-mobile-tools,.gz-dock-primary{display:none}
.ga-travel-note{font-size:13px;line-height:1.7;color:var(--gz-color-muted);margin:12px 0;word-break:keep-all;overflow-wrap:anywhere}
.gz-mobile-tools .gzunifloat-wish svg{fill:none;stroke:currentColor;transition:fill .16s ease,stroke .16s ease}
.gz-mobile-tools .gzunifloat-wish.is-saved{color:#df234f}
.gz-mobile-tools .gzunifloat-wish.is-saved svg{fill:currentColor;stroke:currentColor}
.gz-mobile-tools .gz-wish-toast{position:absolute;z-index:1;box-sizing:border-box;padding:8px 11px;border-radius:10px;background:#17243a;color:#fff;font-size:13px;font-weight:700;line-height:1.5;box-shadow:0 6px 18px #0f1d3233;opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease}
.gz-mobile-tools .gz-wish-toast.is-show{opacity:1;transform:translateY(0)}

/* Readable companions to the existing information images; source images are retained. */
.gz-read-guide{text-align:left;padding:24px;margin:20px 0;background:#fff;border:1px solid var(--gz-color-line);border-radius:var(--gz-radius-card);color:var(--gz-color-copy)}
.gz-read-guide>h3{margin:0 0 12px;font-size:23px;line-height:1.35;letter-spacing:-.03em;color:#18344f}
.gz-read-guide>p,.gz-read-guide li,.gz-read-guide details p{font-size:16px;line-height:1.75;margin:8px 0}
.gz-read-guide ol{padding-left:24px;margin:12px 0 20px}
.gz-read-guide ul{padding-left:20px;margin:12px 0}
/* Legacy booking CSS styles every descendant li as a card; reset only this companion. */
body.gz-refined .gz-read-guide :is(ol,ul){display:block}
body.gz-refined .gz-read-guide :is(ol,ul)>li{display:list-item;flex:none;padding:0;margin:8px 0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;text-align:left;font-size:16px;line-height:1.75}
body.gz-refined .gz-read-guide ol>li{list-style:decimal}
body.gz-refined .gz-read-guide ul>li{list-style:disc}
.gz-guide-note{padding:16px;background:var(--gz-color-surface);border-radius:12px;border-left:3px solid var(--gz-color-action)}
.gz-guide-courses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gz-guide-courses>details{padding:16px;border:1px solid var(--gz-color-line);border-radius:12px}
.gz-guide-courses>details:last-child{grid-column:1/-1}
.gz-guide-courses summary{font-size:17px;font-weight:750;line-height:1.5;cursor:pointer;min-height:44px;display:list-item}
.gz-guide-courses small{display:block;color:var(--gz-color-muted);font-size:13px;line-height:1.6;margin-top:4px}
.gz-read-guide .gz-guide-facts{font-weight:700;font-size:15px}
.gz-read-guide .gz-guide-image-toggle{margin-top:16px}
.gz-guide-image-toggle summary{font-size:15px;line-height:1.5;min-height:44px;cursor:pointer;color:var(--gz-color-action);padding:12px 0}
.gz-guide-image-toggle img{display:block;max-width:100%;height:auto;margin-top:12px}
.gz-guide-expand{min-height:44px;padding:10px 16px;background:#fff;color:var(--gz-color-action);border:1px solid #aecbf2;border-radius:var(--gz-button-radius);font:inherit;font-weight:700;cursor:pointer}
.gz-guide-expand:hover{background:#edf5ff}
.gz-guide-dialog{width:min(960px,calc(100% - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:16px;color:var(--gz-color-copy);box-shadow:0 16px 60px #102a4633}
.gz-guide-dialog::backdrop{background:rgba(12,26,43,.65)}
.gz-guide-dialog-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px 16px;background:#fff;border-bottom:1px solid var(--gz-color-line)}
.gz-guide-dialog-head h2{font-size:18px;margin:0;line-height:1.5}
.gz-guide-dialog-head button{min-width:44px;min-height:44px;background:#fff;border:1px solid var(--gz-color-line);border-radius:8px;font:inherit;cursor:pointer}
.gz-guide-dialog-view{overflow:auto;max-height:calc(100dvh - 130px);padding:12px;overscroll-behavior:contain}
.gz-guide-dialog-view img{display:block;width:850px;max-width:none;height:auto}
.gz-guide-dialog-tip{font-size:13px;color:var(--gz-color-muted);margin:0;padding:8px 16px}

@media(max-width:720px){
  /* Main only: remove the duplicate toolbar row, not its menu or share action. */
  .gz-mobile-tools.gz-main-tools{display:none!important}
  body.gz-refined .p3page .uhead.gz-compact-header{position:relative;z-index:60;display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow:visible}
  body.gz-refined .gz-compact-header>a.home{flex:0 0 auto}
  body.gz-refined .gz-compact-header>.ubox{flex:1 1 auto;min-width:0;width:auto;margin:0}
  body.gz-refined .gz-compact-header>.ubox input{min-width:0;width:100%;text-overflow:ellipsis}
  body.gz-refined .gz-compact-header>.ubox button{flex-shrink:0}
  body.gz-refined .gz-compact-header>.gz-header-menu{flex:0 0 58px;position:static}
  body.gz-refined .gz-header-menu>summary{box-sizing:border-box;min-width:44px;min-height:48px;padding:4px 0;flex-direction:column;gap:2px;font-size:12px;line-height:1.4;white-space:nowrap;border-radius:8px}
  body.gz-refined .gz-header-menu>summary::after{content:"";order:-1;width:20px;height:14px;margin:0;border-top:2px solid currentColor;border-bottom:2px solid currentColor;background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat;box-sizing:border-box}
  body.gz-refined .gz-header-menu[open]>summary{background:var(--gz-color-surface)}
  body.gz-refined .gz-header-menu[open]>summary::after{height:2px;border:0}
  body.gz-refined .gz-header-menu>nav{z-index:70;max-height:min(65dvh,480px);overflow-y:auto;overscroll-behavior:contain;text-align:left}
  body.gz-refined .gz-header-menu .gz-menu-share{grid-column:1/-1;display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;height:auto;gap:8px;padding:10px;box-sizing:border-box;background:var(--gz-color-surface);color:var(--gz-color-copy);border:1px solid var(--gz-color-line);border-radius:8px;box-shadow:none;font:inherit;font-size:14px;cursor:pointer}
  body.gz-refined .gz-header-menu .gz-menu-share svg{width:18px;height:18px}
  body.gz-refined .gz-header-menu .gz-menu-share::after{content:"이 페이지 공유";font-weight:650}
}
@media(max-width:1100px){
  .gz-mobile-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:55;box-sizing:border-box;margin:8px 20px 12px;padding:8px 12px;background:#fff;border:1px solid var(--gz-color-line);border-radius:12px}
  .gz-tools-actions{display:flex;align-items:center;gap:8px;min-width:0}
  .gz-mobile-tools .gzunifloat-btn{display:inline-flex;width:auto;min-width:44px;height:44px;gap:6px;padding:0 10px;background:var(--gz-color-surface);color:#18344f;border:1px solid var(--gz-color-line);border-radius:8px;box-shadow:none;font-size:13px;font-weight:650;white-space:nowrap}
  .gz-mobile-tools .gzunifloat-btn::after{content:attr(data-short-label)}
  .gz-mobile-tools .gzunifloat-wish[aria-pressed=true]::after{content:"찜 해제"}
  .gz-mobile-tools .gzunifloat-btn svg{width:20px;height:20px}
  .gz-mobile-tools .gzunifloat-kakao img{width:28px;height:28px}
  .gz-mobile-tools .gzunifloat-kakao{background:#fee500;border-color:#fee500}
  .gz-tools-menu>summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 10px;color:var(--gz-color-action);font-size:14px;font-weight:750;list-style:none;cursor:pointer;white-space:nowrap}
  .gz-tools-menu>summary::-webkit-details-marker{display:none}
  .gz-tools-menu>summary::after{content:"＋";font-size:17px;margin-left:6px}
  .gz-tools-menu[open]>summary::after{content:"−"}
  .gz-tools-menu nav{position:absolute;top:calc(100% + 4px);right:0;left:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:6px;background:#fff;border:1px solid var(--gz-color-line);border-radius:12px;box-shadow:0 10px 30px #14354f1f}
  .gz-tools-menu nav a{display:flex;align-items:center;min-height:44px;padding:8px 10px;box-sizing:border-box;color:#18344f;text-decoration:none;font-size:14px;font-weight:650;border-radius:8px}
  .gz-tools-menu nav a:hover{background:var(--gz-color-surface)}
  body.gz-refined.gz-has-chatdock{padding-bottom:max(calc(68px + env(safe-area-inset-bottom)),calc(var(--gz-chatdock-height,0px) + 8px))!important}
  body.gz-refined .gzunifloat.gz-refined-float{left:0;right:0;bottom:0;flex-direction:row;justify-content:flex-end;gap:0;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--gz-color-line);box-shadow:0 -3px 14px #18344f08;z-index:80}
  body.gz-refined .gzunifloat.gz-refined-float .gzunifloat-kakao{width:auto;height:44px;min-width:150px;gap:6px;padding:0 14px;box-shadow:none}
  body.gz-refined .gzunifloat.gz-refined-float .gzunifloat-kakao::after{content:"카카오톡 상담";font-size:14px;font-weight:750}
  body.gz-refined .gzunifloat.gz-refined-float .gzunifloat-kakao img{width:32px;height:32px}
  body.gz-refined.gz-chat-in-tools .gzunifloat.gz-refined-float{display:none!important}
  body.gz-refined .gzunifloat.gz-refined-float.gz-dual-dock{position:fixed;bottom:0!important;display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px;box-sizing:border-box}
  body.gz-refined :is(.gz-r-dock,.gzunifloat.gz-refined-float).gz-dual-dock .gzunifloat-kakao{display:flex;align-items:center;justify-content:center;gap:4px;width:80px;min-width:0;height:48px;box-sizing:border-box;padding:0 8px;background:#fee500;color:#191919;border:0;border-radius:10px;text-decoration:none;box-shadow:none;transition:background-color .15s ease-out,transform .15s ease-out}
  body.gz-refined :is(.gz-r-dock,.gzunifloat.gz-refined-float).gz-dual-dock .gzunifloat-kakao img{width:22px;height:22px}
  body.gz-refined :is(.gz-r-dock,.gzunifloat.gz-refined-float).gz-dual-dock .gzunifloat-kakao::after{content:"상담";font-size:14px;font-weight:700;white-space:nowrap}
  body.gz-refined :is(.gz-r-dock,.gzunifloat.gz-refined-float).gz-dual-dock .gz-dock-primary{display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;padding:8px 12px;box-sizing:border-box;background:var(--gz-color-action);color:#fff;border-radius:10px;text-decoration:none;font-size:16px;font-weight:750;line-height:1.4;word-break:keep-all;transition:background-color .15s ease-out,transform .15s ease-out}
  body.gz-refined :is(.gz-r-dock,.gzunifloat.gz-refined-float).gz-dual-dock .gz-dock-primary:hover{background:var(--gz-blue-700)}
  body.gz-refined :is(.gz-r-dock,.gzunifloat.gz-refined-float).gz-dual-dock :is(.gzunifloat-kakao,.gz-dock-primary):active{transform:scale(.96)}
  body.gz-refined:is(.gz-r-open,.no-scroll):is(.gz-has-chatdock,.gz-chat-in-tools) .gzunifloat,
  body.gz-refined:has(.hd-modal.is-open) .gzunifloat,
  body.gz-refined:has(.ga-modal.is-open) .gzunifloat,
  body.gz-refined:has(dialog[open]) .gzunifloat{display:none!important}
  .gz-mobile-tools .gz-wish-toast{position:absolute;left:12px;right:auto;top:calc(100% + 8px);bottom:auto;white-space:normal;max-width:calc(100vw - 64px)}
}
@media(max-width:768px){
  body.gz-refined.gz-reservation .gz-r-dock.gz-dual-dock{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px;padding:8px 16px max(8px,env(safe-area-inset-bottom,0px));box-sizing:border-box}
  body.gz-refined.gz-reservation .gz-r-dock.gz-dual-dock .gz-r-openbtn{min-width:0;margin:0;min-height:48px;border-radius:10px;font-size:16px}
  body.gz-refined.gz-reservation.gz-r-open .gz-r-dock.gz-dual-dock,
  body.gz-refined.gz-reservation.no-scroll .gz-r-dock.gz-dual-dock,
  body.gz-refined:has(.hd-modal.is-open) .gz-r-dock.gz-dual-dock,
  body.gz-refined:has(dialog[open]) .gz-r-dock.gz-dual-dock{display:none!important}
  .gz-mobile-tools{margin:8px 14px 12px;padding:6px 8px;gap:4px}
  .gz-tools-actions{gap:4px}
  .gz-mobile-tools .gzunifloat-btn{padding:0 8px}
  body.gz-refined :is(.unav,.menubar) a{font-size:14px;line-height:1.4;min-height:44px}
  body.gz-refined .menubar li{min-width:0;flex:1}
  body.gz-refined .menubar li a{display:flex;align-items:center;justify-content:center;padding:8px 5px;white-space:normal}
  body.gz-refined :is(input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],input:not([type]),select,textarea){font-size:16px}
  .gz-read-guide{padding:16px;margin:16px 0;border-radius:12px}
  .gz-read-guide>h3{font-size:22px}
  .gz-guide-courses{grid-template-columns:minmax(0,1fr)}
  .gz-guide-dialog{width:calc(100% - 16px);border-radius:12px}
}
/* Mobile detail entry: keep the hotel/course switcher, then show the photo first.
   The original booking links stay in the DOM because the bottom dock clicks them. */
@media(max-width:1100px){
  body.gz-refined:has(.hd-shell,.gaa)>.crumb{margin-top:8px;margin-bottom:10px;padding-top:0;padding-bottom:0}
  body.gz-refined .hd-shell{gap:12px}
  body.gz-refined .hd-explorer,
  body.gz-refined .ga-side.ga-enhanced{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px}
  body.gz-refined .hd-explorer nav.hd-list,
  body.gz-refined .ga-side.ga-enhanced nav.gax-list{grid-column:1;min-width:0}
  body.gz-refined .hd-explorer .hd-toggle,
  body.gz-refined .ga-side.ga-enhanced .gax-toggle{display:flex;grid-column:2;width:auto;max-width:110px;min-height:44px;margin:0;padding:8px;font-size:12px;line-height:1.4;word-break:keep-all}
  body.gz-refined .hd-explorer:not(.hd-explorer-open) .hd-row,
  body.gz-refined .ga-side.ga-enhanced:not(.is-expanded) .gax-row{min-height:44px;padding:6px 8px;margin:0;box-sizing:border-box}
  body.gz-refined .hd-explorer:not(.hd-explorer-open) .hd-row img,
  body.gz-refined .hd-explorer:not(.hd-explorer-open) .hd-row small,
  body.gz-refined .ga-side.ga-enhanced:not(.is-expanded) .gax-row img,
  body.gz-refined .ga-side.ga-enhanced:not(.is-expanded) .gax-row small{display:none}
  body.gz-refined .hd-explorer .hd-row b,
  body.gz-refined .ga-side.ga-enhanced .gax-row b{white-space:normal;word-break:keep-all;overflow-wrap:anywhere;font-size:14px;line-height:1.4}
  body.gz-refined .hd-explorer.hd-explorer-open nav.hd-list,
  body.gz-refined .ga-side.ga-enhanced.is-expanded nav.gax-list{grid-column:1/-1}
  body.gz-refined .hd-explorer.hd-explorer-open .hd-toggle,
  body.gz-refined .ga-side.ga-enhanced.is-expanded .gax-toggle{grid-column:1/-1;justify-self:end}
  body.gz-refined .hd-explorer .hd-book,
  body.gz-refined .ga-side.ga-enhanced .gax-book{grid-column:1/-1}
  body.gz-refined.gz-has-chatdock .hd-explorer .hd-book,
  body.gz-refined.gz-has-chatdock .ga-side.ga-enhanced .gax-book,
  body.gz-refined.gz-has-chatdock .hd-a1-head .hd-a1-actions .gx-primary{display:none!important}
  body.gz-refined .hd-shell>.gdx{padding-top:14px}
  body.gz-refined .hd-a1-ready .gx-hero{display:grid!important;grid-template-columns:minmax(0,1fr);gap:0}
  body.gz-refined .hd-a1-ready .hd-a1-head{display:contents}
  body.gz-refined .hd-a1-ready .hd-a1-title{grid-column:1;grid-row:1;margin-bottom:12px}
  body.gz-refined .hd-a1-ready .hd-gallery{grid-column:1;grid-row:2}
  body.gz-refined .hd-a1-head .gx-buttons.hd-a1-actions{grid-column:1;grid-row:3;display:flex!important;flex-wrap:wrap;justify-content:flex-end;gap:8px!important;margin:4px 0 8px!important}
  body.gz-refined .hd-a1-head .gx-buttons.hd-a1-actions .gx-btn:not(.gx-primary){flex:none;width:auto!important;min-height:44px;padding:8px 2px;border:0;background:transparent;box-shadow:none;color:var(--gz-color-action);font-size:14px;font-weight:650;line-height:1.5;text-decoration:underline;text-underline-offset:3px}
  body.gz-refined .ga-side.ga-enhanced .gax-home,
  body.gz-refined .ga-side.ga-enhanced .gax-head,
  body.gz-refined .ga-side.ga-enhanced .gax-listlabel{display:none}
  body.gz-refined .ga-side.ga-enhanced:not(.is-expanded) .gax-row:not(.is-on){display:none}
  body.gz-refined .gaa .ga-main{padding-top:16px}
  body.gz-refined .gaa .ga-crumb{margin-bottom:8px}
  body.gz-refined .gaa .ga-title{margin-bottom:12px}
}
@media(prefers-reduced-motion:reduce){
  body.gz-refined :is(.gx-btn,.ga-btn,.hd-book,.hd-room-cta,.hbtn,.gz-r-openbtn,.gzunifloat-btn,.gz-guide-expand,.gz-dock-primary){transition:none!important;animation:none!important;transform:none!important}
  .gz-mobile-tools .gzunifloat-wish svg,.gz-mobile-tools .gz-wish-toast{transition:none!important;transform:none!important}
}
