
.ct-form { max-width: 1100px; margin: 0 auto; text-align: left; color: #222; font-size: 15px; line-height: 1.6; }
.ct-form .ct-tit { font-size: 16px; font-weight: 700; color: #001d3a; margin: 0 0 10px; }
.ct-form textarea.ct-terms { width: 100%; box-sizing: border-box; height: 150px; padding: 12px; border: 1px solid #ccc;
  font-size: 13px; color: #555; background: #fafafa; resize: none; font-family: inherit; }
.ct-form .ct-agree { display: inline-flex; align-items: center; gap: 8px; margin: 10px 0 30px; font-size: 14px; cursor: pointer; }
.ct-form .ct-agree input { width: 18px; height: 18px; accent-color: #001d3a; }
.ct-form table.ct-table { width: 100%; border-collapse: collapse; border-top: 2px solid #001d3a; }
.ct-form .ct-table th { width: 130px; background: #f5f3f0; font-weight: 600; padding: 14px 16px; border-bottom: 1px solid #ddd; text-align: left; color: #001d3a; }
.ct-form .ct-table td { padding: 12px 16px; border-bottom: 1px solid #ddd; }
.ct-form .ct-table input[type=text], .ct-form .ct-table input[type=tel], .ct-form .ct-table select {
  height: 40px; border: 1px solid #ccc; padding: 0 10px; font-size: 15px; box-sizing: border-box; vertical-align: middle; }
.ct-form #ct-name { width: 220px; max-width: 100%; }
.ct-form #ct-p1 { width: 80px; }
.ct-form #ct-p2, .ct-form #ct-p3 { width: 90px; }
.ct-form .ct-types label { display: inline-flex; align-items: center; gap: 6px; margin-right: 22px; cursor: pointer; color: #222; }
.ct-form .ct-types input { width: 17px; height: 17px; accent-color: #001d3a; }
.ct-form .ct-notice { margin: 24px 0 0; padding: 14px 16px; background: #f7f3ee; border-top: 1px solid #bd9472; color: #5b4632; font-size: 14px; }
.ct-form .ct-btn-wrap { text-align: center; padding: 30px 0 10px; }
.ct-form #ct-submit { display: inline-block; min-width: 240px; height: 56px; border: 0; border-radius: 28px; background: #001d3a; color: #fff;
  font-size: 17px; font-weight: 700; cursor: pointer; letter-spacing: -0.02em; }
.ct-form #ct-submit:hover { background: #bd9472; }
.ct-form #ct-submit[disabled] { opacity: .6; cursor: default; }
@media (max-width: 800px) {
  .ct-form { padding: 0 4vw 6vw; font-size: 14px; }
  .ct-form .ct-table th { width: 26%; padding: 12px 10px; font-size: 14px; }
  .ct-form .ct-table td { padding: 10px; }
  .ct-form #ct-name { width: 100%; }
  .ct-form #ct-p1 { width: 26%; } .ct-form #ct-p2, .ct-form #ct-p3 { width: 30%; }
  .ct-form .ct-types label { margin-right: 14px; }
  .ct-form #ct-submit { width: 100%; }
}
.left_quick { pointer-events: none; }
.left_quick li { pointer-events: auto; }
#bds-cta { position: fixed; left: 0; right: 0; bottom: 0; max-width: 720px; margin: 0 auto; display: flex; z-index: 999998;
  background: #fff; border-top: 1px solid #ddd; padding-bottom: env(safe-area-inset-bottom); }
#bds-cta a { flex: 1; height: 45px; display: flex; align-items: center; justify-content: center; gap: 6px;
  font-family: 'Noto Sans KR', sans-serif; font-size: 13px; font-weight: 400; letter-spacing: -1px; text-decoration: none; }
#bds-cta .bds-cta-tel { color: #141414; background: #fff; }
#bds-cta .bds-cta-tel img { width: 15px; height: 15px; }
#bds-cta .bds-cta-form { color: #fff; background: #001d3a; }
body.bds-cta-pad { padding-bottom: calc(45px + env(safe-area-inset-bottom)); }
.ct-form > .ct-notice:first-child { margin: 0 0 28px; border-top: 0; border-left: 3px solid #bd9472; }
.ct-form > .ct-notice:first-child strong { display: inline-block; margin-bottom: 4px; color: #001d3a; font-size: 16px; }
.ct-form .ct-nb { white-space: nowrap; }
.ct-form .ct-table th small { font-weight: 400; color: #888; font-size: 12px; }
.ct-form .ct-vbtn { display: flex; align-items: center; justify-content: space-between; width: 100%; max-width: 440px; height: 44px; padding: 0 14px; border: 1px solid #ccc; border-radius: 0; background: #fff; color: #888; font: inherit; font-size: 14px; text-align: left; cursor: pointer; }
.ct-form .ct-vbtn::after { content: ""; flex: none; width: 7px; height: 7px; margin: -4px 2px 0 12px; border-right: 1.5px solid #888; border-bottom: 1.5px solid #888; transform: rotate(45deg); }
.ct-form .ct-vbtn[aria-expanded="true"]::after { margin-top: 4px; transform: rotate(-135deg); }
.ct-form .ct-vbtn.filled { color: #001d3a; font-weight: 600; border-color: #001d3a; }
.ct-form .ct-vpanel { max-width: 440px; margin-top: 8px; padding: 14px; border: 1px solid #ddd; background: #fff; box-sizing: border-box; }
.ct-form .ct-vcap { margin: 0 0 8px; font-size: 13px; font-weight: 600; color: #001d3a; }
.ct-form .ct-vhint { margin-left: 6px; font-weight: 400; color: #999; }
.ct-form .ct-vdays { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; margin-bottom: 14px; }
.ct-form .ct-vdays button { height: 48px; padding: 0; border: 1px solid #ddd; background: #fff; color: #333; font: inherit; line-height: 1.25; cursor: pointer; }
.ct-form .ct-vdays button b { display: block; font-size: 15px; font-weight: 600; }
.ct-form .ct-vdays button small { display: block; font-size: 11px; color: #888; }
.ct-form .ct-vdays button.sat small { color: #2b6cb0; }
.ct-form .ct-vdays button.sun small { color: #c53030; }
.ct-form .ct-vtimes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.ct-form .ct-vtimes button { height: 38px; padding: 0; border: 1px solid #ddd; background: #fff; color: #333; font: inherit; font-size: 13px; cursor: pointer; }
.ct-form .ct-vdays button.on, .ct-form .ct-vtimes button.on { background: #001d3a; border-color: #001d3a; color: #fff; }
.ct-form .ct-vdays button.on small { color: #fff; }
.ct-form .ct-vtimes button:disabled { background: #f5f5f5; border-color: #eee; color: #bbb; cursor: default; }
.ct-form .ct-vnotime { margin: 8px 0 0; font-size: 13px; color: #c53030; }
.ct-form .ct-vfoot { display: flex; justify-content: space-between; align-items: center; margin-top: 12px; }
.ct-form .ct-vclear { padding: 0; border: 0; background: none; color: #888; font: inherit; font-size: 13px; text-decoration: underline; cursor: pointer; }
.ct-form .ct-vdone { height: 34px; padding: 0 18px; border: 0; background: #001d3a; color: #fff; font: inherit; font-size: 13px; cursor: pointer; }
@media (max-width: 800px) {
  .ct-form .ct-vtimes { grid-template-columns: repeat(3, 1fr); }
  .ct-form .ct-vtimes button { font-size: 12.5px; }
  .ct-form .ct-vdays { gap: 3px; }
  .ct-form .ct-vpanel { padding: 10px; }
}
@media (max-width: 800px) {
  .ct-form .ct-table, .ct-form .ct-table tbody, .ct-form .ct-table tr, .ct-form .ct-table th, .ct-form .ct-table td { display: block; width: auto; }
  .ct-form .ct-table tr { padding: 14px 0; border-bottom: 1px solid #e5e5e5; }
  .ct-form .ct-table th { padding: 0 0 8px; background: none; border: 0; font-size: 14px; font-weight: 500; color: #001d3a; }
  .ct-form .ct-table th br { display: none; }
  .ct-form .ct-table th small { margin-left: 4px; }
  .ct-form .ct-table td { padding: 0; border: 0; }
  .ct-form .ct-table input[type=text], .ct-form .ct-table input[type=tel], .ct-form .ct-table select { height: 46px; font-size: 16px; box-sizing: border-box; }
  .ct-form .ct-table tr:nth-child(2) td { display: flex; align-items: center; gap: 6px; color: #999; }
  .ct-form #ct-p1 { flex: none; width: 30%; padding: 0 8px; }
  .ct-form #ct-p2, .ct-form #ct-p3 { flex: 1; width: auto; min-width: 0; text-align: center; }
  .ct-form .ct-vbtn, .ct-form .ct-vpanel { max-width: none; }
  .ct-form .ct-vbtn { height: 46px; font-size: 15px; }
  .ct-form #ct-submit { height: 52px; font-size: 17px; font-weight: 500; }
}
.ct-form .ct-vhead { display: none; }
.ct-form.ct-vportal { max-width: none; margin: 0; padding: 0; font-family: "Noto Sans KR", "Malgun Gothic", dotum, sans-serif; letter-spacing: -1px; }
.ct-vdim { position: fixed; inset: 0; z-index: 999999; background: rgba(0, 0, 0, .45); }
html.ct-vlock, html.ct-vlock body { overflow: hidden; }
@keyframes ct-vup { from { transform: translateY(100%); } to { transform: none; } }
@media (max-width: 800px) {
  .ct-form .ct-vpanel.ct-vsheet { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000000; max-width: 720px; margin: 0 auto; max-height: 88vh; overflow-y: auto;
    padding: 0 18px calc(16px + env(safe-area-inset-bottom)); border: 0; border-radius: 14px 14px 0 0; animation: ct-vup .22s ease-out; }
  .ct-form .ct-vsheet .ct-vhead { display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 1; margin: 0 -18px 12px; padding: 18px 18px 12px; background: #fff; border-bottom: 1px solid #eee; }
  .ct-form .ct-vsheet .ct-vgrab { position: absolute; top: 7px; left: 50%; width: 40px; height: 4px; margin-left: -20px; border-radius: 2px; background: #d5d5d5; }
  .ct-form .ct-vsheet .ct-vtitle { margin: 0; font-size: 17px; font-weight: 500; color: #001d3a; letter-spacing: -1px; }
  .ct-form .ct-vsheet .ct-vx { width: 36px; height: 36px; margin-right: -8px; border: 0; background: none; color: #555; font-size: 28px; line-height: 1; cursor: pointer; }
  .ct-form .ct-vsheet .ct-vcap { font-size: 14px; margin-bottom: 10px; }
  .ct-form .ct-vsheet .ct-vdays { gap: 5px; margin-bottom: 18px; }
  .ct-form .ct-vsheet .ct-vdays button { height: 58px; }
  .ct-form .ct-vsheet .ct-vdays button b { font-size: 17px; }
  .ct-form .ct-vsheet .ct-vdays button small { font-size: 12px; }
  .ct-form .ct-vsheet .ct-vtimes { grid-template-columns: repeat(3, 1fr); gap: 6px; }
  .ct-form .ct-vsheet .ct-vtimes button { height: 48px; font-size: 15px; }
  .ct-form .ct-vsheet .ct-vfoot { position: sticky; bottom: calc(-16px - env(safe-area-inset-bottom)); margin: 16px -18px 0; padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #eee; }
  .ct-form .ct-vsheet .ct-vdone { height: 46px; padding: 0 28px; font-size: 15px; }
}
@media (max-width: 800px) {
  #t-container2 .interior { width: 100%; }
  #t-container2 .interior .swiper-slide { padding-bottom: 0; }
  #t-container2 .interior_arrow { top: 50%; height: 0; z-index: 999; }
  #t-container2 .interior_arrow .swiper-button-next, #t-container2 .interior_arrow .swiper-button-prev { width: 32px; height: 48px; margin-top: -24px; border-radius: 0; background: none; filter: drop-shadow(0 0 2px rgba(0, 0, 0, .55)); }
  #t-container2 .interior_arrow .swiper-button-prev { left: 4px; }
  #t-container2 .interior_arrow .swiper-button-next { right: 4px; }
  #t-container2 .interior_arrow img, #t-container2 .interior_arrow svg { display: none; }
  #t-container2 .interior_arrow .swiper-button-next, #t-container2 .interior_arrow .swiper-button-prev { background-image: none; display: flex; align-items: center; justify-content: center; }
  #t-container2 .interior_arrow .swiper-button-next::after, #t-container2 .interior_arrow .swiper-button-prev::after { content: "" !important; width: 14px; height: 14px; font-size: 0; border-top: 2px solid #fff; border-right: 2px solid #fff; }
  #t-container2 .interior_arrow .swiper-button-next::after { transform: rotate(45deg); margin-left: -4px; }
  #t-container2 .interior_arrow .swiper-button-prev::after { transform: rotate(-135deg); margin-left: 4px; }
  #t-container2 .swiper-pagination { left: auto; right: 10px; bottom: 10px; top: auto; width: auto; padding: 3px 10px; border-radius: 12px; background: rgba(0, 0, 0, .5); color: #fff; font-family: "Noto Sans KR", sans-serif; font-size: 12px; letter-spacing: 0; line-height: 1.5; z-index: 999; }
}
.ct-pop { position: fixed; inset: 0; z-index: 2000000; display: flex; align-items: center; justify-content: center; }
.ct-pop-dim { position: absolute; inset: 0; background: rgba(0, 0, 0, .55); }
.ct-pop-foot { display: flex; background: #1b1b1b; }
.ct-pop-foot button { flex: 1; height: 42px; border: 0; background: none; color: #fff; font-family: "Noto Sans KR", sans-serif; font-size: 13px; letter-spacing: -0.5px; cursor: pointer; }
.ct-pop-foot .ct-pop-today { border-right: 1px solid #444; }
.ct-pop-box { position: relative; width: 350px; }
.ct-pop-card { position: relative; display: block; width: 350px; height: 547px; background: #fff url(/popup/cond_bg.png) 0 0 / 350px 547px no-repeat; text-decoration: none; text-align: center; font-family: "Noto Sans KR", "Malgun Gothic", sans-serif; letter-spacing: -1px; }
.ct-pop-card p { position: absolute; left: 0; right: 0; margin: 0; }
.ct-pop-logo { position: absolute; left: 50%; top: 40px; height: 17px; width: auto; transform: translateX(-50%); }
.ct-pop-title { top: 66px; font-size: 30px; line-height: 38px; font-weight: 700; color: #0e3a53; letter-spacing: -2px; }
.ct-pop-body { top: 168px; font-size: 14.5px; line-height: 24px; font-weight: 500; color: #565656; }
.ct-pop-label { top: 222px; left: 41px !important; right: 41px !important; font-size: 15px; line-height: 41px; font-weight: 500; color: #fff; }
.ct-pop-cells { position: absolute; left: 41px; top: 263px; width: 268px; height: 132px; margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; }
.ct-pop-cells li { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; }
.ct-pop-cells span { font-size: 11.5px; line-height: 16px; color: #8b8b8b; }
.ct-pop-cells b { font-size: 14px; line-height: 19px; font-weight: 700; color: #0e3a53; letter-spacing: -1px; }
.ct-pop-note { top: 398px; font-size: 10.5px; line-height: 14px; color: #8b8b8b; }
.ct-pop-btn { top: 468px; left: 41px !important; right: 42px !important; font-size: 14.5px; line-height: 44px; font-weight: 500; color: #fff; }

.ct-guest-v2 { display: none; }
.ct-form #ct-phone { width: 260px; max-width: 100%; height: 40px; border: 1px solid #ccc; padding: 0 10px; font-size: 15px; box-sizing: border-box; }
.ct-form .ct-table input::placeholder { color: #aaa; }
.ct-form .ct-err { margin: 6px 0 0; font-size: 13px; color: #c53030; }
.ct-form .ct-vtip { margin: 8px 0 0; font-size: 13px; line-height: 1.5; color: #888; }
.ct-form .ct-agreebox { display: flex; align-items: center; justify-content: flex-start; gap: 12px; margin: 22px 0 0; padding: 14px 0; border-bottom: 1px solid #e5e5e5; }
.ct-form .ct-agreebox .ct-agree { margin: 0; }
.ct-form .ct-agree em { font-style: normal; font-weight: 600; color: #001d3a; }
.ct-form .ct-tview { flex: none; height: 30px; padding: 0 12px; border: 1px solid #ccc; background: #fff; color: #666; font: inherit; font-size: 13px; cursor: pointer; }
.ct-form .ct-termsbox { margin: 10px 0 0; padding: 12px 14px; border: 1px solid #e5e0d9; background: #faf8f5; font-size: 13px; line-height: 1.7; color: #555; }
.ct-form input, .ct-form select, .ct-form button, .ct-form textarea { font-family: inherit; letter-spacing: -0.5px; }
.ct-form > .ct-notice:first-child { border: 1px solid #e3ddd6; border-left: 1px solid #e3ddd6; background: #faf8f5; color: #555; }
.ct-form .ct-notice .ct-ntxt { display: block; margin-top: 2px; text-wrap: balance; }
.ct-form .ct-notice, .ct-form .ct-vtip, .ct-form .ct-err, .ct-done-note { word-break: keep-all; }
.ct-form #ct-name, .ct-form #ct-phone { width: 440px; max-width: 100%; }
.ct-done { position: fixed; inset: 0; z-index: 2000002; display: flex; align-items: center; justify-content: center; padding: 30px 18px; background: rgba(20, 24, 30, .55); }
.ct-done[hidden] { display: none; }
.ct-done-in { width: 100%; max-width: 360px; padding: 30px 22px 0; overflow: hidden; background: #fff; text-align: center; font-family: "Noto Sans KR", "Malgun Gothic", sans-serif; letter-spacing: -0.5px; box-shadow: 0 20px 50px rgba(0, 0, 0, .25); }
.ct-done-logo { width: 150px; height: auto; margin: 0 auto; display: block; }
.ct-done-ok { display: block; width: 46px; height: 46px; margin: 18px auto 0; border-radius: 50%; background: #bd9472; position: relative; }
.ct-done-ok::after { content: ""; position: absolute; left: 17px; top: 11px; width: 10px; height: 18px; border-right: 3px solid #fff; border-bottom: 3px solid #fff; transform: rotate(45deg); }
.ct-done h3 { margin: 12px 0 10px; font-size: 22px; line-height: 1.4; font-weight: 700; color: #001d3a; letter-spacing: -1.5px; }
.ct-done h3:focus { outline: none; }
.ct-done-msg { margin: 0; font-size: 14.5px; line-height: 1.7; color: #444; word-break: keep-all; }
.ct-lvisit-d, .ct-form .ct-vtip { word-break: keep-all; }
.ct-pop-card .ct-pop-body.ct-pop-body2 { top: 152px; line-height: 23px; }
.ct-pop-card .ct-pop-body2 b { font-weight: 600; color: #0e3a53; }
.ct-done-msg b { color: #001d3a; }
.ct-done-note { margin: 14px 0 0; padding: 10px 12px; background: #faf8f5; border: 1px solid #e3ddd6; font-size: 13px; line-height: 1.6; color: #555; }
.ct-done-tel { display: flex; align-items: center; justify-content: center; height: 50px; margin-top: 18px; border-radius: 28px; background: #001d3a; color: #fff !important; font-size: 16px; font-weight: 500; text-decoration: none; }
.ct-done-x { display: block; width: calc(100% + 44px); margin: 24px -22px 0; height: 44px; padding: 0; border: 0; background: #1b1b1b; color: #fff; font: inherit; font-size: 14px; cursor: pointer; }
.ct-lvisit { max-width: 1100px; margin: 40px auto 0; padding: 30px 32px; border: 1px solid #e3ddd6; background: #faf8f5; text-align: center; font-family: "Noto Sans KR", sans-serif; letter-spacing: -1px; box-sizing: border-box; }
.ct-lvisit-t { margin: 0 0 8px; font-size: 20px; font-weight: 700; color: #001d3a; }
.ct-lvisit-d { margin: 0; font-size: 15px; line-height: 1.7; color: #555; }
.ct-lvisit-b { display: inline-flex; align-items: center; justify-content: center; min-width: 240px; height: 52px; margin-top: 20px; padding: 0 30px; border-radius: 28px; background: #001d3a; color: #fff !important; font-size: 16px; font-weight: 500; text-decoration: none; box-sizing: border-box; }
.ct-lvisit-b:hover { background: #bd9472; }
@media (max-width: 800px) {
  .ct-form #ct-phone { width: 100%; height: 46px; font-size: 16px; }
  .ct-form #ct-name { width: 100%; }
  .ct-form .ct-notice .ct-dot { display: none; }
  .ct-form .ct-notice .ct-nb { display: block; }
  .ct-form .ct-table tr:nth-child(2) td { display: block; color: inherit; }
  .ct-form .ct-types label { margin: 0 14px 6px 0; }
  .ct-form .ct-agreebox { margin-top: 16px; }
  .ct-lvisit { margin: 24px 0 0; padding: 22px 18px; }
  .ct-lvisit-t { font-size: 17px; }
  .ct-lvisit-d { font-size: 14px; }
  .ct-lvisit-b { display: flex; width: 100%; min-width: 0; height: 50px; }
  .ct-lvisit-d br { display: none; }
}
