/* 글꼴(Pretendard)은 app.js 가 따로 불러옴 — @import 가 첫 화면 그리기를 막던 문제 (검수 P-02) */

:root{
  --blue:#1b4a8a; --navy:#1b4a8a; --navy-2:#173d73; --ink:#142c4f; --muted:#556479; --line:#dce2ea;
  --bg:#f6f7f9; --card:#fff; --deal:#d93a1a; --deal-ink:#cc3316; --deal-soft:#fff1ed; --mint:#047857; --mint-soft:#e7f7f1;
  --warn:#b45309; --warn-soft:#fff7e6; --radius:16px; --shadow:0 6px 24px rgba(19,49,92,.08);
}
*{box-sizing:border-box}
html{scroll-padding-top:calc(var(--hd,60px) + 56px)}
/* 「자주 묻는 질문」으로 이동하면 바로 위 칸 끝이 머리글 아래에 걸쳐 보이던 문제 — 이 부분만 덜 띄움 (단위 79) */
#faq{scroll-margin-top:-40px}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Pretendard Variable",Pretendard,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.6;word-break:keep-all;font-size:17px} /* 기본 글씨 16→17px (2026-09-28 글씨 키우기) */
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
.wrap{max-width:1280px;margin:0 auto;padding:0 20px}

/* header */
.hd{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.hd .wrap{display:flex;align-items:center;gap:16px;height:60px}
.logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:23px;color:var(--navy);letter-spacing:-.02em}
.logo svg{width:30px;height:30px}
.logo small{font-weight:600;font-size:13px;color:var(--deal);letter-spacing:.06em;margin-left:2px}
.nav{margin-left:auto;display:flex;gap:4px}
.nav a{padding:8px 12px;border-radius:10px;font-size:17px;font-weight:600;color:#23406b}
.nav a:hover{background:var(--bg)}
.nav a.cta{background:var(--blue);color:#fff}
.hd .logo,.hd .nav{flex-shrink:0;white-space:nowrap}
.hd-search{display:flex;align-items:center;flex:1;min-width:170px;max-width:440px;margin:0;border:1px solid #ecd27f;border-radius:12px;background:#fff;overflow:hidden}
.hd-search input{min-width:0;width:100%;height:42px;border:0;background:transparent;padding:8px 0 8px 12px;font-size:15px;outline:none}
.hd-search input::placeholder{color:#556479;opacity:1}
.hd-search button{display:grid;place-items:center;flex:0 0 44px;height:42px;border:0;background:transparent;color:var(--blue);cursor:pointer}
.hd-search button svg{width:20px;height:20px}
.hd-search:focus-within{outline:2px solid var(--blue);outline-offset:2px}
.hd-search button:hover,.hd-search button:focus-visible{background:#fff7d9;outline:2px solid var(--blue);outline-offset:-3px}
@media(max-width:1100px){.hd .wrap{flex-wrap:wrap;height:auto;min-height:60px;padding-top:8px;padding-bottom:8px;row-gap:8px}.hd-search{order:3;flex-basis:100%;max-width:none}.hd .nav{margin-left:auto}}
/* 태블릿 세로 폭(601~800px): 메뉴 글자가 두세 줄로 접혀 머리글 밖(배너 위)으로 넘치던 것 → 한 줄로 (2026-09-29 O) */
@media (min-width:601px) and (max-width:800px){.hd .logo small{display:none}.hd .wrap{gap:8px}.hd .nav{gap:2px}.hd .nav a{padding:11px 8px;font-size:15px;white-space:nowrap}}

/* hero */
.hero{background:linear-gradient(135deg,#1b4a8a 0%,#173d73 55%,#2c5d9e 100%);color:#fff;position:relative;overflow:hidden}
.hero .wrap{padding-top:56px;padding-bottom:64px;position:relative;z-index:1}
.hero .eyebrow{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:6px 12px;border-radius:999px;font-size:15px;font-weight:600}
.hero h1{font-size:42px;line-height:1.25;margin:18px 0 12px;letter-spacing:-.03em;font-weight:800}
.hero h1 em{font-style:normal;color:#ffb199}
.hero p{margin:0;font-size:19px;opacity:.88;max-width:560px}
.hero .rail{position:absolute;right:-40px;bottom:-10px;width:520px;opacity:.18}
.promise{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px;max-width:720px}
.promise div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px 16px}
.promise b{display:block;font-size:23px;color:#ffd3c6}
.promise span{font-size:15px;opacity:.85}

/* section */
.sec{padding:40px 0}
.sec h2{font-size:27px;margin:0 0 6px;letter-spacing:-.02em}
.sec .lead{color:var(--muted);margin:0 0 20px}

/* filters */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font-size:16px;font-weight:600;cursor:pointer;color:#23406b}
.chip[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}

/* product grid */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 24px}
.card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
/* 마우스를 올린 카드: 살짝 떠오르며 파란 테두리 (키보드로 이동해도 같은 표시) */
@media (hover:hover){.card:hover{transform:translateY(-3px);box-shadow:0 0 0 2px var(--blue,#1b4a8a),0 12px 28px rgba(19,49,92,.18)}}
.card:focus-visible{outline:none;transform:translateY(-3px);box-shadow:0 0 0 3px var(--blue,#1b4a8a),0 12px 28px rgba(19,49,92,.18)}
.thumb{position:relative;aspect-ratio:16/10;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb .ph{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;color:#fff}
.thumb .ph .rg{font-size:31px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.thumb .ph .tr{font-size:15px;font-weight:700;opacity:.85;letter-spacing:.08em}
.thumb .ph svg{position:absolute;right:-10px;top:10px;width:200px;opacity:.22}
.badge{position:absolute;left:12px;top:12px;background:#fff;color:var(--navy);font-size:15px;font-weight:700;padding:4px 9px;border-radius:8px}
.badge.deal{left:auto;right:12px;background:var(--deal);color:#fff}
.aimark{position:absolute;right:8px;bottom:8px;z-index:2;background:rgba(19,49,92,.86);color:#fff;font-size:13px;font-weight:600;line-height:1.4;padding:2px 8px;border-radius:999px;pointer-events:none;letter-spacing:-.01em}
.card .thumb{aspect-ratio:3/2} /* 홈 카드: 사진을 크게 (원본 16:10에서 좌우만 조금 잘림) */
.card .body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:7px;flex:1}
.card h3{margin:0;font-size:21px;line-height:1.4;letter-spacing:-.02em}
.card .sub{font-size:16px;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.meta span{font-size:15px;background:var(--bg);border-radius:6px;padding:2px 8px;color:#4d5d74;font-weight:600}
.price{margin-top:auto;padding-top:10px;display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.price .was{font-size:15px;color:#556479;text-decoration:line-through}
.price .now{font-size:28px;font-weight:800;color:var(--ink);letter-spacing:-.02em}
.price .now small{font-size:15px;font-weight:600;color:var(--muted)}
/* 카드 맨 아래 한 줄 (단위 237): 왼쪽 기간 칩 · 오른쪽 금액 (원래 금액과 K트레인가 왼쪽 시작 맞춤) */
.price .dur{font-size:15px;font-weight:800;background:#fff7d9;color:#1b4a8a;border-radius:6px;padding:2px 8px;white-space:nowrap;margin-bottom:6px}
.price .pv{text-align:left;min-width:0}.price .now{white-space:nowrap}
.price .off{font-size:15px;font-weight:700;color:var(--deal-ink);background:var(--deal-soft);padding:3px 8px;border-radius:6px;white-space:nowrap}

/* how */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;counter-reset:s}
.steps li{list-style:none;background:#fff;border-radius:14px;padding:18px;box-shadow:var(--shadow);counter-increment:s;position:relative}
.steps li::before{content:counter(s);display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;font-size:16px;margin-bottom:8px}
.steps b{display:block;margin-bottom:2px}
.steps span{font-size:16px;color:var(--muted)}
.steps{padding:0;margin:0}

/* faq */
.faq details{background:#fff;border-radius:12px;padding:14px 18px;margin-bottom:8px;box-shadow:0 1px 0 var(--line)}
.faq summary{font-weight:700;cursor:pointer;margin:-14px -18px;padding:14px 18px} /* 질문 줄 전체를 누를 수 있게 (검수 A-10) */
.faq summary::marker{color:var(--blue)}
.faq summary::-webkit-details-marker{color:var(--blue)}
.faq details[open] summary{color:var(--blue)}
.faq p{margin:8px 0 0;color:#4d5d74;font-size:17px}

/* product detail */
.pd-top{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;padding:28px 0}
.pd-img{border-radius:var(--radius);overflow:hidden;position:relative;aspect-ratio:4/3}
.pd-img img{width:100%;height:100%;object-fit:cover}
.pd-img .ph .rg{font-size:46px}
.pd-info h1{font-size:31px;line-height:1.3;margin:6px 0 6px;letter-spacing:-.02em}
.pd-info .sub{color:var(--muted);margin:0 0 14px}
.kv{display:grid;grid-template-columns:96px 1fr;gap:8px 12px;font-size:17px;margin:16px 0;padding:16px;background:#fff;border-radius:12px}
.kv dt{color:var(--muted)}
.kv dd{margin:0;font-weight:600}
.pricebox{background:#fff;border-radius:14px;padding:18px;border:2px solid var(--deal)}
.pricebox .row{display:flex;justify-content:space-between;align-items:baseline}
.pricebox .was{color:#556479;text-decoration:line-through}
.pricebox .now{font-size:33px;font-weight:800;color:var(--deal);letter-spacing:-.02em}
.pricebox .note{font-size:15px;color:var(--muted);margin-top:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:12px;padding:14px 20px;font-weight:700;font-size:18px;cursor:pointer;background:var(--navy);color:#fff;width:100%}
.btn.deal{background:var(--deal)}
.btn.ghost{background:#fff;color:var(--navy);border:1px solid var(--line)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.tabs{position:sticky;top:var(--hd,60px);z-index:20;background:var(--bg);display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto}
.tabs a{padding:12px 14px;font-weight:700;color:var(--muted);white-space:nowrap;border-bottom:3px solid transparent}
.tabs a.on{color:var(--navy);border-color:var(--navy)}
.panel{background:#fff;border-radius:var(--radius);padding:22px;margin:18px 0;box-shadow:var(--shadow)}
.panel h2{margin:0 0 14px;font-size:23px}
table.pt{width:100%;border-collapse:collapse;font-size:17px}
table.pt th,table.pt td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:right}
table.pt th:first-child,table.pt td:first-child{text-align:left}
table.pt thead th{background:#fff7d9;color:#23406b;font-size:15px}
table.pt .deal{color:var(--deal);font-weight:800}
table.pt .was{color:#556479;text-decoration:line-through;font-size:15px}
.day{margin-bottom:18px}
.day h3{display:inline-block;background:var(--navy);color:#fff;border-radius:8px;padding:4px 12px;font-size:16px;margin:0 0 10px}
.it{display:grid;grid-template-columns:62px 72px 1fr;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:17px}
.it .t{font-weight:700;color:var(--navy-2);font-variant-numeric:tabular-nums}
.it .m{font-size:14px;font-weight:700;color:#4d5d74;background:var(--bg);border-radius:6px;padding:2px 6px;height:fit-content;text-align:center}
.it .m.train{background:#fff1c4;color:#1b4a8a}
.it .m.meal{background:var(--mint-soft);color:var(--mint)}
.it ul{margin:4px 0 0;padding-left:16px;color:var(--muted);font-size:16px}
.incl{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.incl div{border-radius:12px;padding:14px;font-size:17px}
.incl .y{background:var(--mint-soft)}
.incl .n{background:#fff7d9}
.incl b{display:block;margin-bottom:4px}
ul.dots{margin:0;padding-left:18px}
ul.dots li{margin:4px 0}
.alert{background:var(--warn-soft);color:#7c3d06;border-radius:12px;padding:12px 14px;font-size:16px}
.alert.info{background:#fff7d9;color:#1e3a8a}

/* form */
.form{display:grid;gap:14px}
.field label{display:block;font-weight:700;font-size:16px;margin-bottom:6px}
.field .hint{font-size:14px;color:var(--muted);font-weight:500;margin-left:4px}
.field input,.field select,.field textarea{width:100%;border:1px solid #c5cfdd;border-radius:10px;padding:12px;background:#fff;font-size:18px}
.field textarea{min-height:90px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--navy-2);outline-offset:0;border-color:transparent}
input[type="radio"],input[type="checkbox"]{accent-color:var(--blue)}
input::placeholder,textarea::placeholder{color:#556479;opacity:1}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stepper{display:flex;align-items:center;border:1px solid #c5cfdd;border-radius:10px;overflow:hidden;background:#fff}
.stepper button{width:44px;height:46px;border:0;background:#fff7d9;font-size:23px;cursor:pointer}
.stepper input{border:0 !important;text-align:center;border-radius:0 !important;min-width:0;flex:1 1 auto}
.stepper button{flex:none} /* 좁은 화면에서 −/+ 버튼이 36px로 줄어들던 문제 (검수 A-10) */
.total{background:var(--navy);color:#fff;border-radius:14px;padding:16px 18px}
.total .row{display:flex;justify-content:space-between;gap:4px 12px;flex-wrap:wrap;font-size:17px;opacity:.9}
.total .row>span:first-child{white-space:nowrap}
.total .big{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:2px 12px;margin-top:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,.2)}
.total .big span{white-space:nowrap}
.total .big b{font-size:29px}
.check{display:flex;gap:8px;align-items:flex-start;font-size:16px}
.check input{width:18px;height:18px;margin-top:3px}
.check-all{padding:2px 0 10px;margin-bottom:2px;border-bottom:1px solid var(--line)}.check-all b{color:var(--navy)}
.hp{position:absolute;left:-9999px}

/* result */
.done{max-width:560px;margin:40px auto;background:#fff;border-radius:20px;padding:28px;box-shadow:var(--shadow);text-align:center}
.bno,.done .no{font-size:31px;font-weight:800;color:var(--navy);letter-spacing:.02em;margin:8px 0}
.status{display:inline-block;padding:4px 10px;border-radius:999px;font-size:15px;font-weight:700;background:#fff7d9;color:var(--navy)}
.status.s1{background:#fff7d9;color:#1b4a8a}.status.s2{background:var(--warn-soft);color:var(--warn)}
.status.s3{background:var(--mint-soft);color:var(--mint)}.status.s4{background:#e7f7ee;color:#047857}
.status.s9{background:#fff7d9;color:#556479}

/* footer */
.ft{background:#1b4a8a;color:#ffffff;font-size:15px;margin-top:48px}
.ft .wrap{padding:36px 20px 40px}
.ft-top{display:grid;grid-template-columns:1fr 1.25fr .9fr;gap:28px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.25)}
.ft-col h2{font-size:15px;font-weight:700;color:rgba(255,255,255,.85);margin:0 0 10px;letter-spacing:.02em}
.ft-big{display:block;font-size:27px;font-weight:800;color:#fff;letter-spacing:.01em;margin-bottom:6px;font-variant-numeric:tabular-nums}
.ft-big.ft-wait{font-size:21px;color:#e3edff}
.ft-col p{margin:3px 0;line-height:1.6}.ft-col small{color:rgba(255,255,255,.75)}
.ft-tip{margin-top:8px!important;color:rgba(255,255,255,.78);font-size:15px}
.ft-btn{display:inline-block;margin-top:10px;border:1px solid rgba(255,255,255,.55);background:transparent;color:#fff;border-radius:8px;padding:7px 12px;font-size:15px;font-weight:600;cursor:pointer}
.ft-btn:hover{background:rgba(255,255,255,.14)}
.ft-go{list-style:none;margin:0;padding:0;display:grid;gap:7px}.ft-go a{color:#fff;font-weight:600}.ft-go a:hover{color:#fff;text-decoration:underline}
.ft .fl{display:flex;gap:18px;margin:20px 0 12px;font-weight:600;color:#fff}
.ft .fl b{color:#fff}
.ft-biz p{margin:3px 0}.ft-biz i{display:inline-block;width:1px;height:10px;background:rgba(255,255,255,.4);margin:0 8px}
.ft-note{margin:10px 0 0;font-size:15px;color:rgba(255,255,255,.78)}.ft-copy{margin:12px 0 0;color:rgba(255,255,255,.7)}
.ft p{margin:3px 0}

/* mobile */
@media (max-width:900px){
  .grid{grid-template-columns:repeat(2,1fr);gap:18px}
  .ft-top{grid-template-columns:1fr 1fr}.ft-top .ft-col:last-child{grid-column:1/-1}
  .steps{grid-template-columns:repeat(2,1fr)}
  .pd-top{grid-template-columns:1fr}
}
@media (max-width:600px){
  .hero h1{font-size:31px}
  .hero .wrap{padding-top:36px;padding-bottom:44px}
  .hero .rail{width:340px;right:-80px}
  .promise{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .promise div{padding:10px}
  .promise b{font-size:18px}
  .promise span{font-size:13px}
  .grid{grid-template-columns:1fr}
  .wrap{padding:0 16px}
  .card h3{font-size:20px}
  .ft-top{grid-template-columns:1fr;gap:22px}
  .ft-go{grid-template-columns:1fr 1fr}
  .ft-biz i{margin:0 5px}
  .nav a:not(.cta){display:none}
  .it{grid-template-columns:52px 1fr}
  .it .m{display:none}
  .incl{grid-template-columns:1fr}
  .row2{grid-template-columns:1fr}
  .pd-info h1{font-size:26px}
  .kv{grid-template-columns:80px 1fr}
  .panel{padding:18px}
}
/* 열차 시간 · 정차역 (상품 일정 탭) */
.trains{margin:18px 0 14px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}
.trains h3{margin:0 0 4px;font-size:18px}
.tdir{margin:12px 0 0}.tdir>b{font-size:16px;color:var(--navy)}.tdir>small{color:var(--muted);font-size:14px}
.tr1{margin:8px 0 0;padding:9px 11px;background:#fff;border:1px solid var(--line);border-radius:10px}
.tn{font-weight:700;font-size:15px;margin-bottom:5px}.tdst{color:var(--muted);font-weight:500}
.ttag{font-size:13px;background:#fef3c7;color:#92400e;border-radius:999px;padding:1px 8px;margin-left:2px;font-weight:700}
.stops{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;row-gap:4px;font-size:15px;line-height:1.5}
.stops li{white-space:nowrap}.stops li:not(:last-child)::after{content:"→";color:#556479;margin:0 6px}
.stops li.end span{font-weight:800;color:var(--navy)}.stops time{color:#556479;font-variant-numeric:tabular-nums}
.tmemo{font-size:14px;color:#92400e;margin-top:4px}
.tnote{font-size:14px;color:#556479;margin:12px 0 0;line-height:1.6}

/* 첫 화면 롤링 배너 (tpl/index.html · data/banners.json) */
/* 배너 기본 스타일. 카드 폭·높이 및 다음 장 미리보기는 아래 2026-09-29 규칙에서 지정한다. */
.hb{position:relative;overflow:hidden;background:#fff7d9;color:#fff;height:clamp(400px,41.6667vw,800px)}
.hb-list{position:absolute;inset:0}
.hb-s{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility 0s linear .8s}
.hb-s.on{opacity:1;visibility:visible;transition:opacity .8s ease}
.hb-a{position:absolute;inset:0;display:flex;align-items:center;color:#fff}
/* 롤링 배너 5장은 원본 사진 그대로 표시 (2026-09-29 요청). */
.hb-a::before{content:none}
.hb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%)}
.hb-txt{position:relative;z-index:2;width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-bottom:18px}
.hb-tag{font-size:15px;font-weight:700;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);padding:5px 12px;border-radius:999px}
.hb-t{font-size:clamp(32px,3.4vw,48px);line-height:1.22;font-weight:800;letter-spacing:-.035em;max-width:640px;text-shadow:0 2px 14px rgba(0,0,0,.28)}
.hb-sub{font-size:19px;line-height:1.5;opacity:.94;max-width:560px;text-shadow:0 1px 8px rgba(0,0,0,.3)}
.hb-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin-top:4px}
.hb-price s{font-size:17px;opacity:.7}
.hb-price b{font-size:33px;font-weight:800;letter-spacing:-.02em;color:#ffd3c6}.hb-price b small{font-size:17px;font-weight:700;margin-left:1px}
.hb-price em{font-style:normal;font-size:15px;opacity:.85}
.hb-a:focus-visible{outline:3px solid #ffd3c6;outline-offset:-6px}
.hb .aimark{top:14px;right:14px;bottom:auto;z-index:3}
.hb-ctl{position:absolute;left:0;right:0;bottom:24px;z-index:4;display:flex;justify-content:flex-end;pointer-events:none}
.hb-ctl[hidden]{display:none}
.hb-pill{pointer-events:auto;display:flex;align-items:center;gap:2px;background:rgba(9,24,41,.55);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:3px}
.hb-pill button{width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center}
.hb-pill button:hover{background:rgba(255,255,255,.18)}
.hb-pill button:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.hb-num{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;min-width:46px;text-align:center;opacity:.95}.hb-num b{color:#fff}
.hb-bar{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--deal);z-index:4}
.hb.run .hb-bar{animation:hbbar var(--iv,5500ms) linear forwards}
@keyframes hbbar{from{width:0}to{width:100%}}
@media (prefers-reduced-motion:reduce){.hb-s,.hb-s.on{transition:none}}
/* 배너 아래 혜택 띠 (H1) */
.bft{padding:24px 0 0}
.bft-in{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:22px 26px;display:grid;grid-template-columns:1.25fr 1fr;gap:22px;align-items:center}
.bft .eyebrow{display:inline-block;font-size:14px;font-weight:700;color:var(--navy-2);background:#fff7d9;border-radius:999px;padding:4px 10px}
.bft h1{font-size:29px;line-height:1.3;margin:8px 0 6px;letter-spacing:-.03em;color:var(--navy)}
.bft h1 em{font-style:normal;color:var(--deal)}
.bft p{margin:0;font-size:16px;color:var(--muted)}
.bft .promise{margin:0;max-width:none;gap:10px}
.bft .promise div{background:var(--deal-soft);border:0;padding:12px 14px}
.bft .promise b{color:var(--deal-ink);font-size:21px} /* 연분홍 바탕 위 글자 대비 4.5:1 이상 (검수 A-04) */
.bft .promise span{color:#6b4a3f;opacity:1;font-size:14.5px}
/* 필터 + 정렬 */
.fbar{display:flex;align-items:flex-start;gap:12px;margin-bottom:22px}
.fbar .filters{margin:0;flex:1}
.sort{flex:none;display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--muted)}
/* 정렬 칸: 펼치기 목록의 가장 긴 글자 폭이 아니라 지금 고른 글자만큼만 보이게 — 보이는 건 .sv, 실제 고르기는 그 위에 투명하게 덮은 select (단위 202) */
.sort{position:relative}
.sort .sv{display:flex;align-items:center;min-height:44px;border:1px solid var(--line);border-radius:999px;padding:0 34px 0 14px;font-size:16px;font-weight:700;color:#23406b;white-space:nowrap;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23526d91' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 13px center}
.sort select{position:absolute;right:0;top:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px;appearance:none;-webkit-appearance:none;border:0;margin:0}
.sort:focus-within .sv{outline:2px solid var(--navy-2);outline-offset:1px}
.fwrap{flex:1;min-width:0;position:relative}.fbar .fwrap .filters{margin:0}
.fmore{display:none}
@media (max-width:900px){.bft-in{grid-template-columns:1fr}}
@media (max-width:600px){
  .hb{height:min(520px,125vw)}
  .hb-a{align-items:flex-end}
  .hb-txt{gap:6px;padding-bottom:70px}
  .hb-t{font-size:30px}
  .hb-sub{font-size:16px}
  .hb-price b{font-size:27px}
  .hb-ctl{bottom:16px}
  .hb-pill button{width:36px;height:36px}
  .bft{padding-top:14px}
  .bft-in{padding:18px 16px;gap:14px;border-radius:14px}
  .bft h1{font-size:24px}
  .bft .promise{gap:6px}.bft .promise div{padding:9px 8px}.bft .promise b{font-size:17px}.bft .promise span{font-size:13px}
  .fbar{flex-direction:column;gap:10px}
  .sort{align-self:flex-end}
}
/* 일정표 관광지 사진 (하루 1곳, data/spots.json) */
.spot{margin:10px 0 4px;max-width:560px;border-radius:12px;overflow:hidden;background:#fff7d9;position:relative}
.spot img{width:100%;aspect-ratio:16/10;object-fit:contain;display:block} /* 일정 관광지 사진은 자르지 않고 그대로 (단위 85, 상품 사진 갤러리와 같게) */
.spot figcaption{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 12px;font-size:15px;font-weight:700;color:#23406b;background:#f7f9fb}
.spot figcaption span{font-size:13px;font-weight:600;color:#556479;background:#fff1c4;border-radius:999px;padding:1px 8px}
@media (max-width:600px){.it .spot{margin-left:-62px;max-width:none}}

/* 2026-09-28: 넓은 배경은 파스텔 하늘색, 글자는 읽기 쉬운 파랑 */
.hero{background:linear-gradient(135deg,#fff7d9,#ffe7a3);color:var(--ink)}
.hero>.bg::after{background:linear-gradient(270deg,rgba(227,244,255,.98) 0%,rgba(221,240,253,.94) 48%,rgba(215,237,252,.48) 100%)}
.hero .eyebrow{background:rgba(255,255,255,.72);border-color:#ecd27f}
.hero h1 em,.promise b{color:#1d61aa}
.hero p,.promise span{color:#23406b;opacity:1}
.promise div{background:rgba(255,255,255,.8);border-color:#ecd27f}
main .grp{background:linear-gradient(135deg,#fff1c4,#ffe7a3);color:#142c4f;border:1px solid #ecd27f}
main .grp h2{color:#142c4f}main .grp p{color:#23406b;opacity:1}
.total{background:#fff1c4;color:var(--ink);border:1px solid #ecd27f}
.total .big{border-color:#ecd27f}
.ft{background:#fff6d8;color:#23406b;border-top:1px solid #f1df9e}
.ft-top{border-color:#ecd27f}
.ft-col h2,.ft-col small,.ft-tip,.ft-note,.ft-copy{color:#36506f}
.ft-big,.ft-big.ft-wait,.ft-go a,.ft-go a:hover,.ft .fl,.ft .fl b{color:#142c4f}
.ft-btn{border-color:#ecd27f;background:rgba(255,255,255,.55);color:#142c4f}
.ft-btn:hover{background:#fff}.ft-biz i{background:#aac9e3}
.hb{background:#fff7d9;color:#142c4f}
.hb-a{color:#142c4f}
.hb-tag{background:rgba(255,255,255,.78);border-color:#ecd27f}
.hb-t,.hb-sub{text-shadow:none}.hb-sub{opacity:1;color:#23406b}
.hb-price b{color:#1d61aa}.hb-price s,.hb-price em{opacity:1;color:#23406b}
.hb-pill{background:rgba(232,246,255,.96);border-color:#ecd27f;color:#142c4f}
.hb-pill button,.hb-num b{color:#142c4f}.hb-pill button:hover{background:#c5e3f8}
.hb-pill button:focus-visible{outline-color:#1b4a8a}
/* 사진에는 색을 덮지 않고, 사진 위 문구의 가장자리만 밝게 보완한다. */
@media (min-width:601px){
  .hb-t,.hb-sub,.hb-price{text-shadow:1px 0 1px #fff,-1px 0 1px #fff,0 1px 1px #fff,0 -1px 1px #fff,0 0 6px rgba(255,255,255,.9)}
}
/* 배너 작은 글자 보완 — 안 A (2026-09-29): 사진과 모바일 배치는 유지 */
@media (min-width:601px){
  .hb-sub,.hb-price{text-shadow:1px 0 0 #fff,-1px 0 0 #fff,0 1px 0 #fff,0 -1px 0 #fff,1px 1px 0 #fff,-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,2px 0 1px #fff,-2px 0 1px #fff,0 2px 1px #fff,0 -2px 1px #fff,0 0 8px #fff,0 0 12px rgba(255,255,255,.9)}
  .hb-sub,.hb-price s,.hb-price em{font-weight:700}
}
@media (max-width:600px){
  .hero>.bg::after{background:linear-gradient(180deg,rgba(227,244,255,.94),rgba(221,240,253,.97))}
}

/* 롤링 배너 사진 배치 (2026-09-28 새 배너 5장 검수) — 색은 위 파스텔 규칙 그대로, 자리만 조정
   - 넘김 버튼(‹ 1/5 › ❚❚)을 글자 쪽 왼쪽 아래로: 사진 속 인물 다리·발을 가리지 않게
   - 휴대폰: 사진을 위 칸에 온전히, 글자는 아래 하늘색 바탕에 — 글자 막이 인물을 덮지 않게 (data/banners.json 의 mpos) */
.hb-ctl{justify-content:flex-start}
.hb-txt{padding-bottom:64px}
@media (min-width:601px) and (max-width:1100px){.hb-t,.hb-sub{max-width:60%}}
@media (max-width:600px){
  .hb{height:auto}
  .hb-list{position:relative;display:grid}
  .hb-s{position:relative;inset:auto;grid-area:1/1}
  .hb-a{position:relative;inset:auto;display:block}
  .hb-a::before{display:none}
  .hb-img{position:relative;inset:auto;display:block;width:100%;height:62vw;object-position:var(--mpos,var(--pos,50% 50%))}
  .hb-txt{padding-top:14px;padding-bottom:68px}
  .hb-ctl{bottom:14px}
}

/* 2026-09-29: 첫 장 전체 + 오른쪽 다음 장 일부. 할인 안내가 PC 첫 화면에 함께 보이는 높이. */
.hb{--hb-gap:24px;--hb-peek:180px;max-width:1280px;margin:16px auto 0;padding:0 24px;height:clamp(340px,31vw,440px);background:transparent}
.hb-list{position:relative;inset:auto;display:flex;gap:var(--hb-gap);width:calc(100% - var(--hb-peek));height:100%;align-items:stretch}
.hb-s,.hb-s.on{position:relative;inset:auto;flex:0 0 100%;min-width:0;opacity:1;visibility:visible;transition:none;border-radius:24px;overflow:hidden;background:#fff7d9}
.hb-s.on{animation:hb-card-in .35s ease}
@keyframes hb-card-in{from{opacity:.65}to{opacity:1}}
.hb .hb-txt{padding:26px 32px 72px;gap:9px;max-width:none}
.hb .hb-t{font-size:clamp(28px,2.7vw,38px);max-width:62%}
.hb .hb-sub{font-size:17px;max-width:59%}
.hb .hb-price{max-width:62%}
.hb .hb-price b{font-size:29px}
.hb .hb-ctl{left:56px;right:auto;bottom:16px;width:auto;padding:0;margin:0}
.hb-bar{display:none}
/* 2026-09-29 사용자 재조정: PC 첫 화면은 큰 사진과 얇은 할인 안내까지 채운다. */
@media (min-width:901px){
  .hb{height:clamp(420px,calc(100svh - 220px),820px)}
  .bft{padding-top:12px}
  .bft-in{padding:10px 20px;gap:18px;grid-template-columns:1.4fr 1fr;border-radius:14px}
  .bft .eyebrow{font-size:11px;line-height:1.2;padding:2px 8px}
  .bft h1{font-size:20px;line-height:1.25;margin:3px 0}
  .bft p{font-size:13px;line-height:1.35}
  .bft .promise{gap:8px}
  .bft .promise div{padding:8px 12px}
  .bft .promise b{font-size:19px;line-height:1.4}
  .bft .promise span{font-size:12px;line-height:1.5}
  /* 단위 242: 설명 두 줄을 뺀 뒤 왼쪽 두 줄(뱃지·제목)을 오른쪽 할인 칸 글씨 줄에 맞춤 — 뱃지 = 「-5,000원」 줄, 제목 = 「당일 여행 1인당」 줄 */
  .bft-in{align-items:stretch}
  .bft-h{display:flex;flex-direction:column;justify-content:space-between;padding:0}
  .bft-h .ebs{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.bft-h .ebs .eb-promo{margin-left:0}
  .bft h1{margin:0;line-height:1.2}
}
@media (min-width:601px) and (max-width:900px){
  .hb{--hb-peek:88px;--hb-gap:18px;height:360px;padding:0 18px}
  .hb .hb-txt{padding:20px 22px 72px;gap:7px}
  .hb .hb-t{font-size:28px;max-width:67%}
  .hb .hb-sub{font-size:16px;max-width:65%}
  .hb .hb-price{max-width:68%;gap:2px 8px}
  .hb .hb-price em{font-size:13px}
  .hb .hb-ctl{left:40px}
}
/* 2026-09-29: 5장 모두 왼쪽 위에서 시작, 첫 안내줄과 오른쪽 연출 이미지의 높이 통일. */
@media (min-width:601px){
  .hb{--hb-copy-top:24px}
  .hb .hb-a{align-items:flex-start}
  .hb .hb-txt{padding-top:var(--hb-copy-top)}
  .hb .hb-tag{line-height:22px;padding:5px 12px}
  .hb .aimark{top:var(--hb-copy-top);right:24px;height:34px;display:flex;align-items:center}
}
@media (min-width:601px) and (max-width:900px){
  .hb{--hb-copy-top:20px}
  .hb .aimark{right:20px}
}
@media (min-width:601px) and (max-width:767px){
  .hb{height:420px} /* 좁은 태블릿의 줄바꿈과 아래 넘김 버튼 공간 확보 */
}
@media (max-width:600px){
  .hb{--hb-peek:30px;--hb-gap:12px;margin-top:12px;padding:0 12px;height:auto}
  .hb-list{height:auto}
  .hb-s,.hb-s.on{border-radius:16px}
  .hb .hb-img{height:52vw;max-height:290px}
  .hb .hb-txt{padding:14px 16px 70px;gap:7px}
  .hb .hb-t{font-size:24px;max-width:none}
  .hb .hb-sub{font-size:15px;max-width:none}
  .hb .hb-price{max-width:none;gap:3px 7px}
  .hb .hb-price b{font-size:26px}
  .hb .hb-price s,.hb .hb-price em{font-size:14px}
  .hb .hb-tag{font-size:12px;padding:4px 8px}
  .hb .hb-ctl{left:28px;bottom:14px}
}
@media (prefers-reduced-motion:reduce){.hb-s.on{animation:none}}

/* 방금 본 상품 (상품 페이지 맨 위) — 2026-09-28 */
.prevbar{display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap;background:#fff;border:1px solid #dce2ea;border-radius:14px;padding:10px 14px;margin:14px 0 0;font-size:16px}
.prevbar img{width:56px;height:42px;border-radius:8px;object-fit:cover;background:#fff7d9}
.prevbar .lb{font-size:14px;font-weight:800;color:#1b4a8a;background:#fff7d9;border-radius:999px;padding:3px 10px;white-space:nowrap}
.prevbar a.pt2{font-weight:700;color:#142c4f;text-decoration:underline;flex:1;min-width:160px}
.prevbar .pp{color:#556479;white-space:nowrap}.prevbar .pp b{color:var(--deal)}
.prevbar button{border:1px solid #1b4a8a;background:#fff;color:#1b4a8a;font-weight:800;border-radius:10px;padding:9px 14px;cursor:pointer;font-size:15px;white-space:nowrap}.prevbar button:hover{background:#fff7d9}
@media (max-width:600px){.prevbar{padding:10px 12px;margin-top:10px;gap:8px 10px}.prevbar img{display:none}.prevbar a.pt2{flex:1 1 calc(100% - 130px);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prevbar button{flex:1;padding:8px 10px}}

/* 첫 화면 여행 찾기 (검색어·지역·출발역·출발일) · 결과 요약 · 카드 출발일 — 2026-09-28 검수 A01·A15·A16·A29 */
.finder{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin:0 0 14px;box-shadow:var(--shadow)}
.finder .fq{flex:1 1 320px;display:flex;align-items:center;gap:8px;border:1px solid #c5cfdd;border-radius:12px;padding:0 12px;color:#556479;background:#fff}
.finder .fq:focus-within{border-color:var(--blue);outline:2px solid #c9d4e4}
.finder .fq input{flex:1;min-width:0;border:0;outline:0;font-size:17px;padding:12px 0;background:transparent;color:var(--ink)}
.finder .fsel{display:flex;flex-wrap:wrap;gap:8px}
.finder .fsel label{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700;color:var(--muted)}
.finder .fsel select,.finder .fsel input{border:1px solid var(--line);border-radius:10px;padding:10px 10px;font-size:16px;font-weight:600;color:#23406b;background:#fff;min-height:44px}
.chip .cnt{font-weight:500;opacity:.75;font-size:14px}
.fsum{margin:-8px 0 14px;font-size:16px;color:var(--muted)}.fsum b{color:var(--ink)}.fsum:empty{display:none}
.linkbtn{border:0;background:none;color:#1b4a8a;text-decoration:underline;font-weight:700;cursor:pointer;font-size:15px;padding:4px}
.fwait{font-size:14px;color:#556479}
.card .meta .dur{background:#fff7d9;color:#1b4a8a;font-weight:800}
.card .when{margin:2px 0 0;font-size:15px;font-weight:700;color:#4d5d74}.card .when.ok{color:#047857}
.card .sb{right:96px} /* 잔여석 배지가 「연출 이미지」 표시에 가리지 않게 (검수 A12) */
.fempty{grid-column:1/-1;background:#fff;border-radius:16px;padding:22px;text-align:center;box-shadow:var(--shadow)}
.fempty .btn{width:auto;display:inline-flex;padding:12px 22px}
.fbar .filters{min-width:0}
.cstrip-d>summary{cursor:pointer;list-style:none;font-size:16px}.cstrip-d>summary::-webkit-details-marker{display:none}.cstrip-d>summary .more{color:#9f1239;text-decoration:underline;font-size:15px;margin-left:4px}
/* 휴대폰: 찾기 칸을 한 덩어리로 짧게 · 기간 칩과 정렬을 한 줄로 · 출발확정 띠는 접어서 (첫 상품이 1,700px 아래에 있던 문제 — 검수 A17) */
@media (max-width:600px){
  .finder{padding:8px;gap:6px;border-radius:14px;margin-bottom:10px}
  .finder .fq{flex-basis:100%;padding:0 10px}.finder .fq input{padding:10px 0}
  .finder .fsel{width:100%;display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:6px}
  .finder .fsel label{flex-direction:column;align-items:stretch;gap:1px;font-size:12px;min-width:0}
  .finder .fsel select,.finder .fsel input{width:100%;min-width:0;padding:8px 6px;font-size:15px;min-height:42px}
  /* 단위 202: 칩을 작게·촘촘히(휴대폰 360px 폭에서 3개 이상) · 정렬 칸도 같은 높이로 작게 · 양끝 「‹ ›」 버튼 */
  .fbar{flex-direction:row;align-items:center;gap:6px;margin-bottom:12px}.fbar .sort{align-self:center}
  .fbar .fwrap{flex:1 1 0;width:0}
  .fbar .sort>span:first-child{display:none}.fbar .sort .sv{min-height:36px;padding:0 21px 0 9px;font-size:13.5px;background-position:right 7px center;background-size:11px}
  #filters{flex-wrap:nowrap;overflow-x:auto;gap:5px;padding:2px 0;scrollbar-width:none}#filters::-webkit-scrollbar{display:none}
  #filters .chip{flex:none;display:inline-flex;align-items:center;gap:3px;padding:0 9px;font-size:14px;line-height:1}#filters .chip .cnt{font-size:12px}
  #filters.more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent)} /* 오른쪽에 칩이 더 있으면 끝을 흐리게 — 스크롤 막대가 없어 숨은 칩을 모르던 문제 (2026-10-06 검수 C-3) */
  #filters.less{-webkit-mask-image:linear-gradient(90deg,transparent,#000 30px);mask-image:linear-gradient(90deg,transparent,#000 30px)}
  #filters.less.more{-webkit-mask-image:linear-gradient(90deg,transparent,#000 30px,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(90deg,transparent,#000 30px,#000 calc(100% - 30px),transparent)}
  .fmore:not([hidden]){display:grid;place-items:center;position:absolute;top:50%;transform:translateY(-50%);z-index:1;width:26px;height:26px;padding:0 0 2px;border-radius:50%;border:1px solid #f5e6b3;background:#fff;color:#1b4a8a;font-size:20px;font-weight:800;line-height:1;box-shadow:0 2px 8px rgba(23,63,115,.2);cursor:pointer}
  .fm-r{right:0}.fm-l{left:0}
  .cstrip-d>summary{font-size:15px}
  .cstrip{padding:10px 12px;margin-bottom:12px}
}

/* 상품 화면: 공유·인쇄 · 출발 인원 안내 · 날짜 고른 뒤 신청 버튼 · 휴대폰 아래 예약 바 · 탭 넘침 표시 — 2026-09-28 검수 A02·A03·A11·A18 */
.pd-tools{display:flex;gap:8px;margin:10px 0 0}.pd-tools .chip{font-size:15px;padding:7px 14px}
.pd-min{font-size:14px;color:var(--muted);margin:8px 0 0}
.flab{display:block;font-weight:700;margin-bottom:6px}
.gobook{margin-top:12px}
.tabs.fade-r{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
.tabs.fade-l.fade-r{-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 85%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 85%,transparent)}
.tabs.fade-l:not(.fade-r){-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%);mask-image:linear-gradient(90deg,transparent,#000 15%)}
.mbar{display:none}
.done-act{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.done-act .btn{width:auto;flex:1 1 180px;font-size:16px;padding:12px 14px}
.cprow{display:flex;justify-content:flex-end;margin:4px 0 8px}.cprow .chip{font-size:14px;padding:6px 12px}
.next-steps{text-align:left;margin:10px auto;max-width:520px;padding-left:22px;color:#23406b}.next-steps li{margin:4px 0}
@media (max-width:600px){
  .mbar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;align-items:center;gap:10px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(23,63,115,.12);padding:8px 12px calc(8px + env(safe-area-inset-bottom))}
  .mbar[hidden]{display:none}
  .mbar .mb-i{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
  .mbar .mb-p{font-size:20px;color:var(--ink)}.mbar .mb-d{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mbar .btn{width:auto;flex:none;padding:12px 18px;font-size:17px;min-height:48px}
  body.has-mbar{padding-bottom:76px}
  /* 떠 있는 버튼(AI 상담·최근 본 상품)이 예약 바를 가리지 않게 위로 — AI 상담 쪽 파일은 챗집이 관리 (요청서에 공유) */
  body.has-mbar #rd-support,body.has-mbar .rr{bottom:calc(84px + env(safe-area-inset-bottom))}
}
/* 일정표 인쇄: 일정·포함/불포함·유의사항·취소 규정만 (타사 「일정표 인쇄」) */
@media print{
  #hd,.m-quick,.salebar,#saleBar,.tabs,#book,.pd-tools,.prevbar,.qlink,#topCta,.mbar,.cal,.pgrid .cal,#ft,.gobook,#rd-support,.rr{display:none!important}
  body{background:#fff}.panel{box-shadow:none;border:1px solid #ccc;break-inside:auto;padding:12px}.pd-top{display:block}.pd-img{display:none}
  .pgrid{display:block}.it,.day{break-inside:avoid}a{text-decoration:none;color:#000}
}
/* 지금 보는 메뉴 표시 (검수 A43) */
.nav a[aria-current="page"]:not(.cta){color:var(--navy);background:#fff7d9}
.nav a.cta[aria-current="page"]{box-shadow:0 0 0 3px #c9d4e4}
.m-quick a[aria-current="page"]{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important}
/* 없는 상품·페이지: 다른 여행 추천 (검수 A45) */
.alts{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.alts a{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;color:var(--ink)}
.alts a:hover{border-color:var(--blue)}.alts span{font-size:14px;color:var(--muted)}
/* 여행자 명단: 사람마다 칸 (검수 A22) */
.rnote{font-size:14px;color:var(--muted);margin:-2px 0 8px}
.roster{display:grid;gap:10px}
.rrow{border:1px solid var(--line);border-radius:12px;padding:8px 12px 12px;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 10px;background:#fff}
.rrow legend{font-weight:800;font-size:15px;color:var(--navy-2);padding:0 4px}
.rrow label{display:flex;flex-direction:column;gap:3px;font-size:14px;font-weight:600;color:#23406b;min-width:0}
.rrow input,.rrow select{border:1px solid var(--line);border-radius:10px;padding:10px;font-size:16px;min-width:0;width:100%;background:#fff}
.total .big:first-child{margin-top:0;padding-top:0;border-top:0} /* 상자 맨 위 빈 구분선 없애기 (검수 A46) */
/* 본문 바로가기 (검수 A-06) · 움직임 줄이기 설정 존중 (A-13) */
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:#fff;color:var(--navy);border:2px solid var(--navy);border-radius:10px;padding:10px 14px;font-weight:800}
.skip:focus{left:12px}
main:focus{outline:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.card,.card:hover,.card:focus-visible{transform:none!important;transition:none!important}}
/* 누르기 쉬운 크기 (검수 A-10: 44px 기준 — 작은 버튼·링크 키움) */
.ft-btn{min-height:44px}
.hb-pill button{width:44px;height:44px}
.ft-go{gap:0}.ft-go a,.ft .fl a{display:inline-block;padding:8px 0}.ft .fl{margin:14px 0 6px}
.cpbtn{min-height:40px}.cprow .chip{padding:8px 12px}
@media (max-width:600px){.hb-pill button{width:44px;height:44px}#filters .chip{min-height:36px}.pd-tools .chip{min-height:40px}}
/* 선택지 묶음(라디오·체크 여러 개)은 fieldset·legend 로 — 화면 읽기에서 「여행 형태」 같은 묶음 이름을 함께 읽음 (검수 A-01) */
fieldset.field{border:0;padding:0;margin:0;min-width:0}
fieldset.field>legend{display:block;font-weight:700;font-size:16px;margin-bottom:6px;padding:0}
/* 휴대폰: 아래 떠 있는 버튼(AI 상담·최근 본 상품)이 초점·마지막 글을 가리지 않게 (검수 A-05)
   - 키보드로 이동한 칸이 버튼 뒤로 숨지 않게 아래 여유, 바닥글 끝에 여백
   - 입력칸에 글을 쓰는 동안은 떠 있는 버튼을 잠시 숨김 (상담창 안에서 쓰는 중이거나 상담창이 열려 있으면 그대로) */
@media (max-width:600px){
  html{scroll-padding-bottom:84px}
  html:has(body.has-mbar){scroll-padding-bottom:150px}
  .ft .wrap{padding-bottom:96px}
  body:has(:is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select):focus:not(#rd-support *):not(#rd-recent *)) .rr,
  body:has(:is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select):focus:not(#rd-support *):not(#rd-recent *)) #rd-support .rd-help-launch[aria-expanded="false"]{visibility:hidden}
}
/* 2026-09-29 고객센터: FAQ와 고객문의 독립 접기/펼치기 */
.home-help-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;padding:10px 0;min-height:48px}
.home-help-fold>summary::-webkit-details-marker{display:none}.home-help-fold>summary h2{margin:0}.home-help-toggle::after{content:'+';font-size:28px;font-weight:600}.home-help-fold[open]>.home-help-toggle::after,.home-help-fold[open]>summary .home-help-toggle::after{content:'−'}
.home-help-fold>summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:8px}.home-help-fold>.faq{margin-top:12px}.home-inquiry-link{display:flex;gap:14px;justify-content:space-between;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin-top:12px;color:var(--navy);text-decoration:none}.home-inquiry-link strong{color:var(--blue)}.home-inquiry-link:hover{border-color:var(--blue)}
.sec.home-help{padding-top:28px;padding-bottom:28px}.sec.home-help+.sec.home-help{padding-top:8px}
/* 2026-09-29 메인 주제별 가이드: 기존 가이드 이미지로 작은 기획전 카드 */
.home-guides-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}.home-guides-heading .lead{margin-bottom:0}.home-guides-heading>a{flex:none;color:var(--blue);font-weight:700;font-size:15px;padding:10px 0}.home-guide-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.home-guide-card{display:flex;flex-direction:column;min-width:0;border:1px solid #f5e6b3;border-radius:15px;overflow:hidden;background:#fff;color:var(--navy);text-decoration:none;transition:box-shadow .15s,border-color .15s}.home-guide-card:hover{border-color:#7ba5e8;box-shadow:0 6px 18px #224d7c14}.home-guide-card:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.home-guide-photo{position:relative;height:220px;overflow:hidden;background:#fff1c4}.home-guide-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}.home-guide-place,.home-guide-ai{position:absolute;bottom:9px;padding:3px 5px;border-radius:5px;font-size:11px;line-height:1.4;background:#fffffff0;color:#142c4f}.home-guide-place{left:8px;max-width:calc(100% - 65px)}.home-guide-ai{right:8px;background:#173f73e8;color:#fff}.home-guide-copy{display:flex;flex:1;flex-direction:column;padding:13px 12px 12px}.home-guide-copy h3{font-size:17px;line-height:1.45;margin:0 0 5px;letter-spacing:-.04em;word-break:keep-all}.home-guide-copy p{font-size:13px;line-height:1.55;color:#556479;margin:0 0 12px;word-break:keep-all}.home-guide-count{display:flex;justify-content:space-between;align-items:center;margin-top:auto;font-size:13px;color:var(--blue);font-weight:700}.sec.home-guides{padding-bottom:20px}.home-guides+#group{padding-top:22px}
@media(max-width:1100px){.home-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-guide-photo{height:200px;object-position:center}}
@media(max-width:600px){.home-guides-heading{align-items:flex-start;flex-direction:column;gap:4px;margin-bottom:14px}.home-guides-heading>a{font-size:14px;min-height:44px}.home-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-guide-photo{height:190px}.home-guide-copy{padding:11px 10px}.home-guide-copy h3{font-size:16px}.home-guide-copy p{font-size:12px}.home-guide-place,.home-guide-ai{font-size:10px;padding:3px 4px;bottom:7px}.home-guide-place{left:6px;max-width:calc(100% - 55px)}.home-guide-ai{right:6px}}

/* 2026-09-29: 여행 주제는 상단 가이드 메뉴에서 펼침. 기존 태블릿 O 규칙 보존. */
.guide-menu{position:relative;flex:none;display:flex;align-items:center;border-radius:10px}
.hd .guide-menu>.nav-main-link{display:block;padding:8px 2px 8px 10px;font-size:17px;font-weight:600;white-space:nowrap;border-radius:10px 0 0 10px}
.nav-menu-toggle{width:22px;min-height:43px;flex:none;padding:0;border:0;border-radius:0 10px 10px 0;background:transparent;color:#23406b;cursor:pointer;font-size:12px}
.guide-menu.is-open,.guide-menu.is-current{color:var(--blue);background:#fff7d9}
.nav-menu-toggle:focus-visible,.guide-submenu a:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.guide-submenu[hidden]{display:none}
.guide-submenu{position:absolute;z-index:35;top:100%;right:-150px;width:480px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 28px #17437520}
.products-menu .guide-submenu{grid-template-columns:repeat(3,minmax(0,1fr))} /* 기차여행 6칸: 홈 필터 칩과 같은 순서 (2026-10-13) */
.hd .guide-submenu a{display:flex;align-items:center;min-height:44px;padding:10px;font-size:14px;border-radius:8px;white-space:normal;word-break:keep-all;color:#23406b;background:#f6f7f9}
.hd .guide-submenu a:hover{color:var(--blue);background:#fff1c4}
@media(min-width:601px) and (max-width:1100px){.nav>.guide-menu{position:static}.nav .guide-submenu{top:50px;left:20px;right:20px;width:auto}}
@media(min-width:601px) and (max-width:800px){.hd .guide-menu>.nav-main-link{font-size:15px;padding:11px 0 11px 5px}.nav-menu-toggle{width:18px;min-height:46px}}
@media(max-width:600px){
 .nav>.guide-menu{display:none}
 .hd .m-quick{overflow:visible;gap:2px;padding:8px}
 .hd .m-quick>a{padding:9px 6px;font-size:14px}
 .m-quick>.guide-menu{position:static}
 .m-quick .guide-menu{border-radius:999px;background:var(--bg)}
 .hd .m-quick .guide-menu>.nav-main-link{padding:9px 0 9px 7px;font-size:14px;font-weight:700;border-radius:999px 0 0 999px;background:transparent}
 .m-quick .nav-menu-toggle{width:18px;min-height:40px}
 .m-quick .guide-menu.is-current,.m-quick .guide-menu.is-open{background:var(--blue)}
 .m-quick .guide-menu.is-current>.nav-main-link,.m-quick .guide-menu.is-open>.nav-main-link,.m-quick .guide-menu.is-current>.nav-menu-toggle,.m-quick .guide-menu.is-open>.nav-menu-toggle{color:#fff}
 .m-quick .guide-submenu{left:8px;right:8px;top:100%;width:auto;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:5px}
 .hd .m-quick .guide-submenu a{font-size:13px;padding:10px 8px;border-radius:8px}
}

/* 2026-09-29: 기간 분류와 분리한 다섯 가지 여행 테마 */
.home-guide-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.home-guide-copy h3{min-height:2.9em}
@media(max-width:1100px){.home-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.home-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 2026-09-29 V (Claude 전체 검수): 320~359px 휴대폰에서 빠른 메뉴 4개(기차여행·가이드·단독 견적·자주 묻는 질문)가 화면 안에 들어오게 — 글자 크기는 그대로, 여백만 줄임 (전에는 18px 넘쳐 화면이 옆으로 밀림) */
@media(max-width:359px){.hd .m-quick{gap:1px;padding:8px 3px}.hd .m-quick>a{padding:9px 4px}.m-quick .nav-menu-toggle{width:16px}.hd .m-quick .guide-menu>.nav-main-link{padding-left:6px}}
/* 2026-09-29 W (Claude 전체 검수): 768~900px 태블릿에서 제목이 두 줄인 배너(3·5번)의 「상품 보기」 버튼이 넘김 버튼과 6px 겹쳐서 배너 높이 360 → 380px (601~767px 는 챗집 420px 규칙 그대로) */
@media (min-width:768px) and (max-width:900px){.hb{height:380px}}
/* 2026-09-29 X (Claude 전체 검수): 404 화면 검색칸이 320px 휴대폰에서 4px 넘쳐 화면이 옆으로 밀려서, 검색칸이 줄어들 수 있게 */
.finder .fq{min-width:0}
/* 2026-09-29 Y (Claude 전체 검수): 휴대폰 상품 화면에서 키보드로 아래(바닥글)까지 이동할 때, 초점 칸으로 스크롤한 직후 아래 예약 막대가 나타나며 「최근 본 상품」 버튼이 올라가 그 칸을 가리는 경우가 있어서 — 예약 막대가 있는 화면은 처음부터 아래 여유 150px */
@media (max-width:600px){html:has(#mbar){scroll-padding-bottom:150px}}
/* 2026-10-12 단위 36 (Claude 검수): 홍도 상품 요금 구분 이름이 길어(「일~목요일(KTX수서열차이용)」) 휴대폰 360px 요금표가 25px 넘쳐서, 첫 칸만 긴 낱말 안에서도 줄바꿈 */
table.pt td:first-child,table.pt th:first-child{overflow-wrap:anywhere}

/* 첫 화면 「여행 빠르게 찾기」 아이콘 (단위 80 · 86 · 88, 단위 93 부터 PC 도 한 줄로) */
.qcat{padding:18px 0 0}
.qcat-g{display:flex;justify-content:space-around;gap:4px;margin:0 auto;background:#fff;border-radius:20px;padding:18px 10px 14px;box-shadow:0 4px 18px rgba(23,63,115,.07);border:1px solid #e3edf9}
.qc{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:var(--ink);-webkit-tap-highlight-color:transparent;min-width:0;border-radius:14px;padding:4px 0}
.qc[hidden]{display:none}
.qi{width:58px;height:52px;display:grid;place-items:center;filter:drop-shadow(0 3px 4px rgba(23,63,115,.14));transition:transform .15s}
.qc:hover .qi{transform:translateY(-3px)}
.qc:active .qi{transform:scale(.94)}
.qc:focus-visible{outline:none}.qc:focus-visible .qi{outline:3px solid #ffb703;outline-offset:2px;border-radius:12px}
.qc[aria-current] .qi{transform:translateY(-2px) scale(1.06)}
.qc[aria-current] .ql{background:var(--qc);color:#fff!important;border-radius:999px;padding:2px 8px;margin:0 -8px}
.ql{font-size:14.5px;font-weight:700;letter-spacing:-.02em;white-space:nowrap;line-height:1.2}
.qc.c1{--qc:#e8590c}.qc.c2{--qc:#5b4fd6}.qc.c3{--qc:#2c5d9e}.qc.c4{--qc:#0b7fa8}.qc.c5{--qc:#7c3fc8}.qc.c6{--qc:#c2185b}.qc.c6s,.qc.c8{--qc:#d9480f}.qc.c7{--qc:#e11d48}.qc.c9{--qc:#e8590c}.qc.c10{--qc:#0f766e}.qc.c11{--qc:#2b6cd6}.qc.c12{--qc:#c46a00}
@media (max-width:900px){.qcat{padding:14px 0 4px}.qc:hover .qi{transform:none}.ql{font-size:13.5px}.qcat-g{padding:14px 4px 10px}}
/* PC 첫 화면: 배너 높이를 아이콘 줄만큼 줄여 「큰 사진 + 아이콘 + 할인 안내」가 첫 화면에 함께 (2026-09-29 첫 화면 기준 유지) */
@media (min-width:901px){.hb{height:clamp(380px,calc(100svh - 360px),700px)}}
@media (max-width:600px){
  .qcat-g{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 2px;max-width:560px;padding:16px 6px 12px}
  .qc:hover .qi{transform:none}
  .ql{font-size:13.5px}
}
@media (max-width:360px){.qi{width:50px;height:46px}.qi svg{width:40px;height:40px}.ql{font-size:12.5px}.qcat-g{gap:10px 2px}}

/* 도움 바로가기 상자 (단위 81 · 단위 88 연한 바탕 + 그림) */
.hlp h2{margin:0 0 14px}
.hlp-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.hlp-c{position:relative;display:flex;flex-direction:column;justify-content:flex-start;min-height:140px;padding:20px 20px 18px;border-radius:20px;text-decoration:none;color:#142c4f;background:var(--hb2);overflow:hidden;transition:transform .15s,box-shadow .15s}
.hlp-c:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(23,63,115,.12)}
.hlp-c:focus-visible{outline:3px solid #ffb703;outline-offset:3px}
.hlp-c strong{font-size:19px;line-height:1.3;letter-spacing:-.02em;color:var(--hc);padding-right:56px}
.hlp-e{font-size:14px;font-weight:500;color:#46566e;margin-top:6px;padding-right:60px;line-height:1.5}
.hlp-i{position:absolute;right:14px;bottom:12px;filter:drop-shadow(0 4px 6px rgba(23,63,115,.15))}
.hlp-c.h1{--hb2:#fff1e6;--hc:#c2410c}.hlp-c.h2{--hb2:#f1ecff;--hc:#5b3fd1}.hlp-c.h3{--hb2:#e5f6f2;--hc:#0f766e}.hlp-c.h4{--hb2:#eef2f8;--hc:#1b4a8a}
@media (max-width:900px){.hlp-g{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hlp-c{min-height:132px;padding:15px 14px 14px;border-radius:18px}.hlp-c strong{font-size:16.5px;padding-right:0}.hlp-e{font-size:12.5px;padding-right:44px;margin-top:4px}.hlp-i{right:10px;bottom:10px}.hlp-i svg{width:44px;height:44px}}

/* 바닥글 사업자 정보: 항목별로 작고 가지런하게 (단위 82) — PC 는 한 줄씩 이어서, 휴대폰은 「항목 : 내용」 한 줄씩 */
.ft-biz{margin-top:6px}
.ft-biz-h{font-size:13.5px;font-weight:800;margin:0 0 6px!important;color:#142c4f}
.ft-biz dl{margin:0;display:flex;flex-wrap:wrap;gap:2px 0;font-size:13.5px;line-height:1.7;color:#36506f}
.ft-biz dl>div{display:inline-flex;gap:5px}
.ft-biz dl>div:not(:last-child)::after{content:"";display:inline-block;width:1px;height:10px;background:#aac9e3;margin:0 10px;align-self:center}
.ft-biz dt{font-weight:700;color:#23406b}.ft-biz dd{margin:0}
.ft-note{font-size:13.5px}
@media (max-width:600px){
  .ft-biz dl{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;font-size:13px;line-height:1.55}
  .ft-biz dl>div{display:contents}
  .ft-biz dl>div::after{display:none!important}
  .ft-biz dt{white-space:nowrap;font-weight:600;color:#4f6f95}
  .ft-biz dd{color:#23406b;word-break:keep-all;overflow-wrap:anywhere}
  .ft-note{font-size:13px;line-height:1.6}.ft-copy{font-size:13px}
}

/* 휴대폰 첫 화면 배너 낮추기 (단위 84): 부제를 숨기고 넘김 버튼을 작게 해(사진은 그대로, 인물을 가리지 않게) 배너 높이를 줄임 — 바로 아래 「빠르게 찾기」 아이콘이 첫 화면에 보이게 (사진은 그대로) */
@media (max-width:600px){
  .hb .hb-sub{display:none}
  .hb .hb-txt{padding:12px 16px 50px;gap:5px}
  .hb .hb-t{font-size:22px}
  .hb .hb-price b{font-size:24px}
  .hb .hb-ctl{left:26px;bottom:10px}
  .hb .hb-pill{transform:scale(.84);transform-origin:left bottom}
}

/* 휴대폰 하단 고정 메뉴 (단위 87) — 전화상담 · 출발확정 · 홈 · 최근 본 · 예약조회. 상품 화면 예약 바가 있으면 숨김 */
.tabbar,.tb-toast{display:none}
@media (max-width:760px){
  .tabbar{position:fixed;left:0;right:0;bottom:0;z-index:75;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);box-shadow:0 -4px 18px rgba(23,63,115,.08);padding:4px 2px calc(5px + env(safe-area-inset-bottom))}
  .tb-i,.tb-home{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;min-height:50px;color:#556479;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:-.02em;-webkit-tap-highlight-color:transparent}
  .tb-i svg{transition:transform .15s}.tb-i:active svg{transform:scale(.9)}
  .tb-i.on,.tb-home.on .tb-l{color:var(--blue)}
  .tb-i:focus-visible,.tb-home:focus-visible{outline:3px solid #ffb703;outline-offset:-3px;border-radius:10px}
  .tb-hi{width:56px;height:56px;margin-top:-24px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 6px 16px rgba(19,49,92,.25);border:1px solid #dce2ea}
  .tb-hi svg{width:38px;height:38px}
  .tb-n{position:absolute;top:2px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--deal);color:#fff;font-size:11px;line-height:18px;text-align:center}
  .tb-n[hidden]{display:none}
  .tb-toast{display:block;position:fixed;left:50%;transform:translateX(-50%);bottom:calc(80px + env(safe-area-inset-bottom));z-index:90;background:#142c4f;color:#fff;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.5;width:max-content;max-width:calc(100vw - 32px);box-shadow:0 8px 24px rgba(0,0,0,.2)}
  .tb-toast[hidden]{display:none}
  body.has-tabbar{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  body.has-tabbar #rd-support{bottom:calc(76px + env(safe-area-inset-bottom))}
  body.has-tabbar .rr-pill{display:none}
  body.has-tabbar .rr-panel{bottom:calc(76px + env(safe-area-inset-bottom))!important}
  body.has-tabbar .ft .wrap{padding-bottom:40px}
  body.has-mbar .tabbar{display:none}
  body.has-mbar.has-tabbar{padding-bottom:76px}
  body.has-mbar #rd-support,body.has-mbar .rr{bottom:calc(84px + env(safe-area-inset-bottom))}
  body.has-mbar .rr-pill{display:none} /* 단위 171: 휴대폰은 「최근 본」 풍선을 띄우지 않음 — 아래 메뉴 「최근 본」으로 (가격 상자를 가리던 문제) */
  body.has-mbar .rr-panel{bottom:72px!important}
  body:has(:is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select):focus:not(#rd-support *):not(#rd-recent *)) .tabbar{display:none}
}
@media print{.tabbar,.tb-toast{display:none!important}}

/* 휴대폰 첫 화면 상품 목록 두 줄 보기 (단위 89): 한 화면에 상품 4~6개 — 제목·기간·출발일·가격만 남기고 작게 (PC·태블릿은 그대로) */
@media (max-width:600px){
  #grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  #grid .card{border-radius:14px}
  #grid .card .thumb{aspect-ratio:4/3}
  #grid .thumb .ph{padding:10px}#grid .thumb .ph .rg{font-size:19px}#grid .thumb .ph .tr{font-size:11px;letter-spacing:.02em}#grid .thumb .ph svg{display:none}
  #grid .badge{font-size:11.5px;padding:2px 6px;border-radius:6px;left:6px;top:6px}
  #grid .badge.deal{left:auto;right:6px}
  #grid .card .sb{left:6px;right:6px;bottom:6px}#grid .sb span{font-size:11px;padding:2px 6px}
  #grid .thumb:has(.sb) .ph{padding-bottom:34px}
  #grid .aimark{font-size:10.5px;padding:1px 6px;right:5px;bottom:5px}
  #grid .card .body{padding:10px 10px 12px;gap:4px}
  #grid .card h3{font-size:15px;line-height:1.38;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  #grid .card .sub{display:none}
  #grid .meta{display:none}
  #grid .card .when{font-size:12px;line-height:1.4}
  #grid .card{container-type:inline-size}#grid .price{gap:3px;padding-top:6px}#grid .price .dur{font-size:11.5px;padding:1px 5px;margin-bottom:4px}
  #grid .price .was{font-size:12px}#grid .price .now{font-size:clamp(15px,10cqi,18px)}#grid .price .now small{font-size:11px}
  #grid .price .off{font-size:11.5px;padding:1px 6px}
  #grid .gmore .btn{min-width:0;width:100%}
}

/* 맨 위로 버튼 (단위 90) */
.totop{position:fixed;right:24px;bottom:calc(150px + env(safe-area-inset-bottom));z-index:74;width:46px;height:46px;border-radius:50%;border:1px solid #cdd6e3;background:rgba(255,255,255,.96);color:#142c4f;display:grid;place-items:center;box-shadow:0 6px 18px rgba(23,63,115,.16);cursor:pointer}
.totop[hidden]{display:none}.totop:hover{background:#fff;color:var(--blue)}.totop:focus-visible{outline:3px solid #ffb703;outline-offset:2px}
@media (max-width:760px){.totop{right:14px;bottom:calc(140px + env(safe-area-inset-bottom));width:44px;height:44px}body.has-mbar .totop{bottom:calc(150px + env(safe-area-inset-bottom))}}
body:has(.rd-help-panel:not([hidden])) .totop{display:none}
@media print{.totop{display:none!important}}

/* 휴대폰 상품 화면 일정·열차 접기 (단위 91) — PC·인쇄는 모두 펼침 */
.fold-b{display:none}
@media (max-width:600px){
  .day.fold:not(.open) .it{display:none}
  .day.fold:not(.open){margin-bottom:10px}
  .tdir.fold:not(.open) .tr1.tmore{display:none}
  .fold-b{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;min-height:44px;margin:6px 0 0;border:1px solid #cdd6e3;border-radius:10px;background:#fffbeb;color:#1b4a8a;font-size:15px;font-weight:700;cursor:pointer}
  .fold-b small{font-weight:600;color:#556479}
  .fold-b::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:-4px 0 0 6px}
  .fold-b[aria-expanded="true"]::after{transform:rotate(-135deg);margin:4px 0 0 6px}
}
@media print{.day.fold .it,.tdir.fold .tr1.tmore{display:block!important}.fold-b{display:none!important}}

/* 상품 화면 「함께 보면 좋은 기차여행」을 사진 카드로 (단위 92) — 휴대폰은 옆으로 밀어 보기, PC 는 4칸 */
.rel.relc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:10px 0 16px}
.relc li{min-width:0}
.relc a{display:flex;flex-direction:column;gap:6px;height:100%;background:#fff;border-radius:14px;box-shadow:var(--shadow);overflow:hidden;text-decoration:none!important;color:var(--ink);padding-bottom:12px;transition:transform .15s}
.relc a:hover{transform:translateY(-2px)}
.relc .rc-img{position:relative;display:block;aspect-ratio:4/3;background:linear-gradient(135deg,#1b4a8a,#2c5d9e);overflow:hidden}
.relc .rc-img img{width:100%;height:100%;object-fit:cover;display:block}
.relc .rc-img em{position:absolute;left:8px;bottom:8px;font-style:normal;font-size:12px;font-weight:700;color:#fff;background:rgba(9,24,41,.45);border-radius:6px;padding:1px 6px}
.relc .rc-img[data-none] em{font-size:18px;background:none;left:12px;bottom:10px}
.more .relc b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;line-height:1.4;padding:0 12px}
.more .relc a>span:last-child{font-size:13px;color:var(--muted);padding:0 12px;white-space:nowrap}.more .relc strong{color:var(--ink);font-size:14.5px}
@media (max-width:760px){
  .rel.relc{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin:10px -16px 16px;padding:2px 16px 8px;scrollbar-width:none}
  .rel.relc::-webkit-scrollbar{display:none}
  .relc li{flex:0 0 46%;scroll-snap-align:start}
}

/* 휴대폰 머리글 줄이기 (단위 94): 로고 옆에 검색칸 한 줄 + 메뉴 한 줄 — 「예약조회」는 아래 고정 메뉴에 있으니 머리글에서는 뺌(상품 화면은 그대로),
   아래로 내리면 머리글을 숨기고 올리면 다시 보임 */
@media (max-width:760px){
  .hd{transition:transform .25s ease}
  .hd.hd-up{transform:translateY(-100%)}
  html.hd-up .tabs{top:0}
}
@media (max-width:600px){
  body.has-tabbar:not(.has-mbar) .hd .nav{display:none}
  body.has-tabbar:not(.has-mbar) .hd .wrap{flex-wrap:nowrap;gap:10px;padding-top:8px;padding-bottom:8px;min-height:56px}
  body.has-tabbar:not(.has-mbar) .hd-search{order:0;flex:1 1 auto;min-width:0}
  body.has-tabbar:not(.has-mbar) .hd .logo small{display:none}
  body.has-tabbar:not(.has-mbar) .hd .logo{font-size:20px;gap:6px}.hd .logo svg{width:28px;height:28px}
  .hd-search input{height:40px;font-size:15px}.hd-search button{height:40px}
}

/* 휴대폰 상품 카드: 사진 위 「-10,000원」과 겹치는 「1인 1만원 할인」 줄을 빼서 카드 높이 줄임 (단위 95) */
@media (max-width:600px){#grid .price .off{display:none}#grid .price{padding-top:4px}}

/* 휴대폰 「판매 준비 중」 안내 띠를 작은 글씨로 (단위 96) — 정식 판매가 열리면 자동으로 사라지는 임시 띠 */
@media (max-width:600px){.salebar{font-size:13px;line-height:1.45}.salebar .wrap{padding-top:6px;padding-bottom:6px}}

/* 휴대폰 K트레인 소개 상자 줄이기 (단위 97): 제목·할인 3칸만 작게, 설명 문장은 숨김 — 상품 목록이 더 빨리 보이게 */
@media (max-width:600px){
  .bft{padding-top:10px}
  .bft-in{padding:14px 14px 12px;gap:10px;border-radius:16px}
  .bft .eyebrow{font-size:12px;padding:3px 8px}
  .bft h1{font-size:19px;margin:6px 0 0;line-height:1.35}
  .bft p{display:none}
  .bft .promise{gap:6px}
  .bft .promise div{padding:8px 8px;border-radius:10px}
  .bft .promise b{font-size:15.5px;white-space:nowrap}
  .bft .promise span{font-size:11.5px;line-height:1.35;display:block}
}

/* 휴대폰 첫 화면 구역 제목·설명 글씨와 여백 줄이기 (단위 98) */
@media (max-width:600px){
  main .sec{padding:22px 0}
  main .sec h2{font-size:21px;margin-bottom:4px}
  main .sec .lead{font-size:14px;line-height:1.55;margin-bottom:10px}
  #products .finder .fq input{font-size:16px;padding:10px 0}
}

/* 기차여행 가이드 주제 화면 (단위 99): 「한눈에 비교」를 표 → 사진 카드(휴대폰 2칸), 상품별 긴 소개는 접어 두고 필요할 때 펼치기 */
.gsec{margin:18px 0}.gsec h2{font-size:23px;margin:0 0 12px}.gsec h2 small{font-size:15px;color:var(--muted);font-weight:600}
.gdet{margin:18px 0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px 16px}
.gdet>summary{cursor:pointer;font-weight:800;font-size:17px;padding:14px 0;color:var(--navy)}.gdet>summary small{font-weight:600;color:var(--muted);font-size:14px}
.gdet[open]>summary{border-bottom:1px solid var(--line);margin-bottom:8px}
@media (max-width:600px){
  .gcards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .gcards .card{border-radius:14px}
  .gcards .card .thumb{aspect-ratio:4/3}
  .gcards .thumb .ph{padding:10px}.gcards .thumb .ph .rg{font-size:19px}.gcards .thumb .ph .tr{font-size:11px;letter-spacing:.02em}.gcards .thumb .ph svg{display:none}
  .gcards .badge{font-size:11.5px;padding:2px 6px;border-radius:6px;left:6px;top:6px}.gcards .badge.deal{left:auto;right:6px}
  .gcards .aimark{font-size:10.5px;padding:1px 6px;right:5px;bottom:5px}
  .gcards .card .body{padding:10px 10px 12px;gap:4px}
  .gcards .card h3{font-size:15px;line-height:1.38;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .gcards .card .sub{display:none}
  .gcards .meta{display:none}
  .gcards .card{container-type:inline-size}.gcards .price{gap:3px;padding-top:4px}.gcards .price .dur{font-size:11.5px;padding:1px 5px;margin-bottom:4px}
  .gcards .price .was{font-size:12px}.gcards .price .now{font-size:clamp(15px,10cqi,18px)}.gcards .price .now small{font-size:11px}
  .gcards .price .off{display:none}
  .gsec h2{font-size:20px}
}

/* 휴대폰 AI 상담 버튼을 모든 화면에서 작은 원형(아이콘만)으로 (단위 100) — 큰 「AI상담」 알약 버튼이 상품 카드·아이콘을 가리던 문제. 글자는 화면 읽기용으로 남김 */
@media (max-width:600px){
  #rd-support .rd-help-launch{width:52px;height:52px;min-height:52px;padding:0;gap:0;justify-content:center;border-radius:50%}
  #rd-support .rd-help-launch>span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  #rd-support .rd-help-launch svg{width:26px;height:26px}
  .totop{bottom:calc(136px + env(safe-area-inset-bottom))}
}

/* 휴대폰 2칸 카드: 「연출 이미지」 표시가 출발확정 띠와 겹치던 문제 — 아주 작게 해서 사진 오른쪽 위(할인 표시 아래)로, 출발확정 띠는 아래 한 줄을 다 씀 (단위 103) */
@media (max-width:600px){
  #grid .aimark,.gcards .aimark{top:30px;bottom:auto;right:6px;font-size:9.5px;line-height:1.5;padding:0 5px;opacity:.92}
  #grid .card .sb,.gcards .card .sb{left:6px;right:6px;bottom:6px}
  #grid .sb span,.gcards .sb span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
}
/* 휴대폰 아래 메뉴 「고객센터」 작은 창 (단위 105): 전화 상담 · 고객 문의·입금확인 · 자주 묻는 질문 · 카카오톡 */
@media (max-width:760px){
  .cs-dim{position:fixed;inset:0;z-index:74;background:rgba(10,25,50,.42);display:flex;align-items:flex-end}
  .cs-sh{width:100%;background:#fff;border-radius:18px 18px 0 0;padding:14px 14px calc(84px + env(safe-area-inset-bottom));box-shadow:0 -8px 28px rgba(0,0,0,.16);animation:csUp .2s ease-out}
  @keyframes csUp{from{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}}
  .cs-hd{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 8px}.cs-hd b{font-size:17px;color:var(--navy)}
  .cs-x{border:0;background:#fff7d9;color:#46566e;width:34px;height:34px;border-radius:50%;font-size:15px;cursor:pointer}
  .cs-r{display:flex;align-items:center;gap:12px;padding:11px 8px;border-radius:12px;color:var(--navy);text-decoration:none;min-height:52px}
  .cs-r+.cs-r{border-top:1px solid #edf2f8}
  .cs-r:active,.cs-r:hover{background:#fff7d9}
  .cs-ic{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#fff7d9;color:var(--blue)}
  .cs-tel .cs-ic{background:var(--blue);color:#fff}
  .cs-co .cs-ic{background:var(--deal);color:#fff}.cs-co .cs-t b{color:var(--deal-ink)} /* 회사 소개: 빨강 강조 — 전화 상담(파랑)과 짝 (단위 220) */
  .cs-t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}.cs-t b{font-size:15px}.cs-t small{font-size:12.5px;color:#5c6b80;margin-top:2px}
  .cs-go{flex:none;color:#9fb2cc;font-size:22px;line-height:1}
  /* 단위 186: 입금 계좌 (PC 오른쪽 바로가기와 같은 내용) · 상품 화면에서도 열림 */
  button.cs-r{width:100%;border:0;background:none;font:inherit;text-align:left;cursor:pointer}
  .cs-r+.cs-bankbox{border-top:1px solid #edf2f8}
  .cs-bankbox{display:flex;flex-direction:column;gap:2px;margin:0 8px 6px;padding:12px;border-radius:12px;background:#fff7d9;color:var(--navy)}
  .cs-bankbox[hidden]{display:none}
  .cs-bankbox .qp-h{font-size:13px;color:#5c6b80}.cs-bankbox .qp-bank{font-size:14px;font-weight:700}
  .cs-bankbox .qp-no{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}.cs-bankbox .qp-no.qp-wait{font-size:16px;color:#46566e}
  .cs-bankbox .qp-who{font-size:13px;color:#46566e}
  .cs-bankbox .qp-copy{align-self:flex-start;margin-top:6px;border:0;background:var(--blue);color:#fff;font:inherit;font-weight:700;font-size:14px;padding:9px 12px;border-radius:9px;cursor:pointer}
  .cs-bankbox .qp-tip{margin:8px 0 2px;font-size:12.5px;line-height:1.5;color:#5c6b80}
  .cs-bankbox .qp-go{font-size:13px;font-weight:700;color:var(--blue)}
  body.has-mbar .cs-sh{padding-bottom:calc(18px + env(safe-area-inset-bottom))}
  .mbar .mb-cs{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:48px;min-height:48px;border:1px solid #d9e3f0;border-radius:12px;background:#fff;color:#46566e;font:inherit;font-size:10.5px;font-weight:800;line-height:1.1;padding:4px 0;cursor:pointer}
  .mbar .mb-cs:focus-visible{outline:3px solid #ffb703;outline-offset:2px}
  /* 고객센터·AI 단추 2개가 들어가도 가격이 잘리지 않게 (단위 186) */
  body.has-mbar .mbar{gap:8px}body.has-mbar .mbar .mb-cs,body.has-mbar .mbar .mb-ai{width:44px;font-size:10px;letter-spacing:-.04em}body.has-mbar .mbar .mb-p{font-size:17.5px;letter-spacing:-.03em}body.has-mbar .mbar .btn{padding-left:14px;padding-right:14px}.mbar .mb-p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  @media (prefers-reduced-motion:reduce){.cs-sh{animation:none}}
}
/* 휴대폰 바닥글 정리 (단위 106): 「바로가기」는 위 메뉴·아래 메뉴·고객센터 창에 모두 있어 휴대폰에서는 뺌 (PC는 그대로),
   전화번호·계좌 글씨와 안내 문장 줄이기 */
@media (max-width:760px){
  body.has-tabbar:not(.has-mbar) .ft-top .ft-col:has(.ft-go){display:none} /* 아래 메뉴가 없는 상품 화면은 그대로 */
  .ft-top{gap:16px;padding-bottom:16px}
  .ft-col h2{font-size:13px;margin-bottom:4px}
  .ft-big{font-size:22px;margin-bottom:2px}
  .ft-big.ft-wait{font-size:16px}
  .ft-col p,.ft-tip{font-size:13.5px;line-height:1.55}
  .ft .fl{margin:10px 0 4px}.ft .fl a{font-size:14px}
}
/* 휴대폰 「예약은 이렇게 진행돼요」 · 자주 묻는 질문 글씨 맞추기 (단위 107): 다른 설명(14px)과 같은 크기로,
   진행 단계는 번호 + 제목 + 설명을 한 줄씩 목록으로 (좁은 칸에 세로로 길게 늘어지던 것) */
@media (max-width:600px){
  .steps{grid-template-columns:1fr;gap:6px}
  .steps li{display:grid;grid-template-columns:26px 1fr;column-gap:10px;align-items:start;padding:11px 13px;border-radius:12px}
  .steps li::before{grid-row:1/3;width:24px;height:24px;font-size:13px;margin:1px 0 0}
  .steps b{font-size:15px;line-height:1.45;margin:0}
  .steps span{font-size:13.5px;line-height:1.55}
  .faq details{padding:0 14px;border-radius:10px;margin-bottom:6px}
  .faq summary{font-size:15px;line-height:1.5;margin:0 -14px;padding:11px 14px}
  .faq p{font-size:14px;line-height:1.6;margin:0 0 12px}
}
/* 휴대폰 전체 글씨·간격 맞추기 (단위 108): PC는 그대로(17px), 휴대폰은 본문 15px · 표/일정/안내 14~14.5px · 구역 제목 19px 로
   — 큰 글씨 때문에 한 화면에 들어오는 내용이 적던 문제. 입력칸은 16px 유지(아이폰에서 누를 때 화면이 확대되지 않게) */
@media (max-width:600px){
  body{font-size:15px}
  main .sec h2,.panel h2,.gsec h2,body #price .price-heading h2{font-size:19px}
  .pd-info h1{font-size:21px;line-height:1.35}
  .pd-info .sub{font-size:14px;line-height:1.55}
  .pd-img .ph .rg{font-size:34px}
  .kv{font-size:14.5px;grid-template-columns:78px 1fr;gap:6px 10px;padding:12px 14px;margin:12px 0}
  table.pt{font-size:14px}
  .it{font-size:14.5px;padding:8px 0;gap:8px}.it ul{font-size:13.5px}
  .incl div{font-size:14px;padding:12px}
  .trains h3,body .dayfare h3,body #fareHeading,body .inclbox h3,body .pol h3,body .mine h2{font-size:16px}
  body .cal-h b{font-size:16px}
  .total .row{font-size:14.5px}.total .big b{font-size:24px}
  .pricebox .now{font-size:26px}
  .bno,.done .no{font-size:24px}
  .btn{font-size:16px}
  .field input,.field select,.field textarea,.finder .fq input,.hd-search input{font-size:16px}
  .stepper button{font-size:20px}
  .mbar .mb-p{font-size:18px}.mbar .btn{font-size:15.5px}
  .home-guide-copy h3{font-size:15px}
  .hlp-c strong{font-size:16px}
  .gdet>summary{font-size:15px}
  body .gmore .btn{font-size:16px}
  body .q-hero h1{font-size:23px;line-height:1.35}
  body .q-steps div{font-size:14px;padding:12px}body .q-steps b{font-size:15px}
  body .sub-h,body .panel h2.sub-h{font-size:17px}
  .panel{padding:18px 16px}
}
/* 휴대폰 상품 화면 머리글도 한 줄로 (단위 109): 로고 + 검색칸 + 작은 「예약조회」 — 아래 메뉴 대신 예약 바가 있는 화면이라 「예약조회」는 남김 */
@media (max-width:600px){
  body.has-mbar .hd .wrap{flex-wrap:nowrap;gap:8px;padding-top:8px;padding-bottom:8px;min-height:56px}
  body.has-mbar .hd-search{order:0;flex:1 1 auto;min-width:0}
  body.has-mbar .hd .logo small{display:none}
  body.has-mbar .hd .logo{font-size:20px;gap:6px}
  body.has-mbar .hd .nav{order:1;margin-left:0;flex:none}
  body.has-mbar .hd .nav .cta{font-size:13.5px;padding:9px 10px;border-radius:10px;white-space:nowrap}
}
/* 휴대폰 첫 화면 「주제별 기차여행 가이드」 카드 글씨 칸 줄이기 (단위 113): 제목은 칸 너비에 맞춰 글씨가 자동으로 작아지는 한 줄,
   설명도 한 줄, 「○개 상품」과의 빈칸·여백 줄이기 (사진은 그대로) */
@media (max-width:600px){
  .home-guide-grid{gap:10px}
  .home-guide-copy{container-type:inline-size;padding:8px 10px 9px}
  .home-guide-copy h3{font-size:clamp(12.5px,8.8cqi,15px);line-height:1.35;min-height:0;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.04em}
  .home-guide-copy p{font-size:12.5px;line-height:1.45;margin:0 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .home-guide-count{font-size:12.5px}
}
/* PC 배너 폭을 아래 본문(아이콘 줄·할인 안내·상품 목록)과 맞춤 (단위 114): 왼쪽 4px 안쪽으로 들어가고,
   오른쪽에 보이는 다음 장이 본문보다 20px 튀어나오던 문제 → 배너 칸을 본문 폭(최대 1240px)에 딱 맞추고 그 밖은 잘라 냄 */
@media (min-width:901px){
  .hb{max-width:1240px;width:calc(100% - 40px);padding:0}
  .hb .hb-ctl{left:32px}
}
/* PC 오른쪽 따라다니는 바로가기 (단위 115): 본문(1240px) 오른쪽 빈 곳에 고정 — 화면이 넓을 때만(1500px 이상) */
.qrail{display:none}
@media (min-width:1500px) and (min-height:680px){
  .qrail{display:flex;flex-direction:column;gap:6px;position:fixed;z-index:70;top:calc(var(--hd,64px) + 18px);left:calc(50% + 638px);width:104px;padding:8px;background:#fff;border:1px solid #dfe5ee;border-radius:16px;box-shadow:0 8px 26px rgba(23,63,115,.10);font-size:13px;line-height:1.3;text-align:center}
  .qrail a,.qrail button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;border-radius:10px;text-decoration:none;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .qrail a:focus-visible,.qrail button:focus-visible{outline:3px solid #ffb703;outline-offset:1px}
  .qr-rec{position:relative;border:0;background:#f4f6f9;color:#142c4f;padding:10px 4px 8px;font-weight:700}
  .qr-rec:hover{background:#fff1c4}
  .qr-n{position:absolute;top:5px;right:9px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--deal,#d93a1a);color:#fff;font-size:11.5px;display:grid;place-items:center}.qr-n[hidden]{display:none}
  .qr-b{color:#fff;font-weight:800;padding:10px 4px;font-size:13.5px}
  .qr-fix{background:#142c4f}.qr-fix:hover{background:#0f2f58}
  .qr-chk{background:#0f8a87}.qr-chk:hover{background:#0b706e}
  .qr-l{border:1px solid #e1e9f4;background:#fff;color:#23406b;padding:9px 4px;font-weight:600;white-space:nowrap}
  .qr-l:hover{border-color:#ecd27f;color:var(--blue)}
  .qr-l small{font-size:11px;color:#6a788c;font-weight:500}
  .qr-kakao{background:#fee500;border-color:#fee500;color:#3a1d1d}
  .qr-tel{padding:8px 2px 6px;color:#142c4f;border-top:1px dashed #dfe5ee;border-radius:0!important;margin-top:2px}
  .qr-tel b{font-size:12.5px;letter-spacing:-.02em;white-space:nowrap}.qr-tel small{font-size:11px;color:#6a788c}
  .qr-top{border:0;background:#a9bdd6;color:#fff;font-weight:700;padding:8px 4px;flex-direction:row!important;gap:4px!important}
  .qr-top:hover{background:#8aa4c4}
  body.has-rail .totop{display:none}
  body.has-rail .rr-pill{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;opacity:0;pointer-events:none}
}
@media print{.qrail{display:none!important}}
/* PC 오른쪽 바로가기 「입금 계좌」 안내 창 (단위 116) — 1180px 이상 좁은 바로가기에서도 같은 모양 (단위 171) */
@media (min-width:1180px) and (min-height:600px){
  .qr-pop{position:absolute;right:calc(100% + 10px);top:auto;width:250px;margin-top:-8px;background:#fff;border:1px solid #f5e6b3;border-radius:14px;box-shadow:0 12px 34px rgba(23,63,115,.18);padding:14px 16px;text-align:left;display:flex;flex-direction:column;gap:3px;color:#142c4f}
  .qr-pop[hidden]{display:none}
  .qp-h{font-size:13px;color:#5c6b80;margin-bottom:2px}
  .qp-bank{font-size:14px;font-weight:700}
  .qp-no{font-size:19px;font-weight:800;letter-spacing:.01em;font-variant-numeric:tabular-nums}.qp-no.qp-wait{font-size:16px;color:#46566e}
  .qp-who{font-size:13px;color:#46566e}
  .qp-copy{margin-top:6px;border:0!important;background:var(--blue)!important;color:#fff!important;font-weight:700;padding:8px 10px;border-radius:9px!important;flex-direction:row!important}
  .qp-tip{margin:8px 0 2px;font-size:12px;line-height:1.5;color:#5c6b80}
  .qp-go{font-size:12.5px;font-weight:700;color:var(--blue)!important;align-items:flex-start!important}
}
/* PC·태블릿 첫 화면 구역 사이 여백 줄이기 (단위 117): 구역 위아래 40px → 24px(구역 사이 80px → 48px),
   바닥글 위 48px → 20px, 가이드 카드 제목 아래 빈 줄(제목 2줄 자리 확보) 없애고 제목·설명 한 줄 — 칸 너비에 맞춰 글씨 자동 축소 */
@media (min-width:601px){
  main > .sec{padding-top:24px;padding-bottom:24px}
  main > .sec.home-guides{padding-bottom:8px}
  main > .home-guides + #group{padding-top:16px}
  main > .sec.home-help{padding-top:12px;padding-bottom:16px}
  .ft{margin-top:20px}
  .sec .lead{margin-bottom:14px}
  .home-guides-heading{margin-bottom:14px}
  .home-guide-copy{container-type:inline-size;padding:10px 12px 11px}
  .home-guide-copy h3{min-height:0;margin:0 0 3px;font-size:clamp(13px,7.6cqi,17px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .home-guide-copy p{margin:0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
/* 열차 시간·정차역 카드 여백 줄이기 (단위 118) — 정차역 글씨는 상품 화면 스크립트가 1~2줄에 맞춰 자동 조정 */
.trains{padding:12px 14px}
.tdir{margin-top:10px}
.tr1{margin-top:6px;padding:7px 12px}
.tn{margin-bottom:2px}
.stops{row-gap:0;line-height:1.55}
.stops li:not(:last-child)::after{margin:0 5px}
/* PC·태블릿 일정표 여백 줄이기 (단위 119): 줄 높이 46px → 약 36px, 일차 사이·일차 표시 아래 간격 줄임 (휴대폰은 단위 108 그대로) */
@media (min-width:601px){
  .day{margin-bottom:12px}
  .day h3{padding:3px 11px;font-size:15px;margin:0 0 4px}
  .it{gap:10px;padding:6px 0;font-size:16px;line-height:1.5;align-items:start}
  .it .m{font-size:13px;padding:1px 6px;margin-top:1px}
  .it ul{margin-top:2px;font-size:15px}
  .tnote{margin-top:8px}
}
/* 여행자 명단 칸 (단위 120): 칸 이름은 한 줄(괄호 설명은 작은 글씨, 넘치면 …), 넓은 화면에서는 모든 칸이 한 줄 */
.rrow label .rl{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rrow label .rl small{font-size:12px;font-weight:500;color:#6a788c}
@media (min-width:701px){.rrow{grid-template-columns:var(--rc,repeat(auto-fill,minmax(150px,1fr)))}}
/* PC 상품 목록 4칸 (단위 121): 넓은 PC(1180px 이상)는 한 줄 3칸 → 4칸 — 가이드 카드(5칸)와 줄 간격을 맞추고 한 화면에 더 많이.
   칸 사이 간격은 같게, 카드 안 글씨는 칸 너비에 맞춰 자동으로 (제목 2줄·설명 2줄까지) */
@media (min-width:1180px){
  #grid,.gcards{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 18px}
  #grid .card,.gcards .card{container-type:inline-size}
  #grid .card .body,.gcards .card .body{padding:14px 16px 16px;gap:6px}
  #grid .card h3,.gcards .card h3{font-size:clamp(16px,6.1cqi,19px);line-height:1.38;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  #grid .card .sub,.gcards .card .sub{font-size:14px}
  #grid .thumb .ph .rg,.gcards .thumb .ph .rg{font-size:clamp(22px,9cqi,30px)}
  #grid .price .now,.gcards .price .now{font-size:clamp(20px,8cqi,26px)}
}
/* PC 「예약은 이렇게 진행돼요」 카드 (단위 122): 번호를 제목 옆으로 올려 카드 높이 줄이기, 설명 15px */
@media (min-width:601px){
  .steps{gap:12px}
  .steps li{display:grid;grid-template-columns:26px 1fr;column-gap:10px;padding:14px 16px;align-content:start}
  .steps li::before{grid-row:1/3;width:26px;height:26px;font-size:14px;margin:0}
  .steps b{font-size:16px;line-height:1.6;margin:0}
  .steps span{font-size:15px;line-height:1.6}
}
/* 예약 신청 「요청사항」 한 줄 칸 (단위 124): 입력칸과 같은 높이, 길게 쓰면 자동으로 늘어남 */
.field textarea#req{min-height:0;height:auto;resize:none;overflow:hidden;line-height:1.5;padding:11px 12px}
/* 정차역이 많아 글씨를 줄인 줄은 화살표 양옆 간격도 좁게 (단위 123) */
.stops.tight li:not(:last-child)::after{margin:0 3px}
/* PC 오른쪽 바로가기가 보일 때 AI 상담 버튼 첫 위치 (단위 127): 바로가기 바로 밑에 붙어 보이던 것 → 같은 줄(바로가기 가운데) 화면 맨 아래로.
   끌어서 옮기기·Home 키로 원래 위치는 그대로 (끌면 그 자리에 머묾, 첫 위치만 바뀜) */
@media (min-width:1500px) and (min-height:680px){
  body.has-rail #rd-support{right:auto;left:calc(50% + 632px);top:calc(var(--rail-b,440px) + 12px);bottom:auto} /* 단위 128: 바로가기 바로 밑에서 시작 */
  body.has-rail #rd-support:has(.rd-help-launch[hidden]){left:auto;right:20px;top:auto;bottom:calc(20px + env(safe-area-inset-bottom))} /* 상담 창을 열면 오른쪽 끝 기준 (창이 화면 밖으로 나가지 않게) */
}
/* 첫 화면 계절 띠배너 (단위 151) — 가로 띠, 글씨는 화면 글자(선명·검색), 배경은 계절 사진(없으면 계절색) */
.sband{margin:8px 0 34px}
.sband .sbx{position:relative;display:flex;align-items:center;justify-content:center;min-height:150px;border-radius:18px;overflow:hidden;text-decoration:none;text-align:center;
  background:var(--sb-img) var(--sb-pos,center)/cover no-repeat,var(--sb-bg);box-shadow:0 6px 18px rgba(19,41,75,.08);transition:transform .2s,box-shadow .2s}
.sband .sbx::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 46% 70% at 50% 50%,rgba(255,255,255,.72),rgba(255,255,255,0) 100%);pointer-events:none}
.sband .sbx:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(19,41,75,.14)}
.sband .sbx:focus-visible{outline:3px solid #ffb703;outline-offset:3px}
.sband .sbx-in{position:relative;display:flex;flex-direction:column;gap:6px;padding:18px 20px}
.sband .sbx-t{font-size:clamp(20px,3.1vw,36px);font-weight:900;letter-spacing:-.02em;color:#102440;line-height:1.2;text-shadow:0 1px 0 rgba(255,255,255,.9),0 0 18px rgba(255,255,255,.9)}
.sband .sbx-autumn .sbx-t{color:#8a2d0b}.sband .sbx-spring .sbx-t{color:#9c2457}.sband .sbx-summer .sbx-t{color:#0b5a7a}.sband .sbx-winter .sbx-t{color:#1d3f7a}.sband .sbx-sunrise .sbx-t{color:#9a3412}.sband .sbx-holiday .sbx-t{color:#8a5a00}
.sband .sbx-s{font-size:clamp(13px,1.3vw,16px);font-weight:700;color:#102440;opacity:.88;text-shadow:0 0 10px rgba(255,255,255,.95)}
@media (max-width:600px){.sband{margin:4px 0 26px}.sband .sbx{min-height:96px;border-radius:14px}.sband .sbx-in{padding:12px 14px;gap:3px}}
@media (prefers-reduced-motion:reduce){.sband .sbx{transition:none}.sband .sbx:hover{transform:none}}
/* 첫 화면 팝업 — 런칭특가 (단위 154) */
.kpop{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px}
.kpop .kp-dim{position:absolute;inset:0;background:rgba(8,22,52,.58);opacity:0;transition:opacity .22s}
.kpop .kp-card{position:relative;width:min(360px,100%);max-height:calc(100vh - 32px);overflow:auto;border-radius:22px;background:#0b2a6b;box-shadow:0 24px 60px rgba(4,16,48,.45);opacity:0;transform:translateY(14px) scale(.96);transition:opacity .22s,transform .22s}
.kpop.on .kp-dim{opacity:1}.kpop.on .kp-card{opacity:1;transform:none}
.kpop .kp-body{position:relative;padding:22px 20px 18px;text-align:center;color:#fff;overflow:hidden;
  background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.55) 0 1.5px,transparent 2.5px),radial-gradient(circle at 86% 12%,rgba(255,255,255,.5) 0 1.5px,transparent 2.5px),radial-gradient(circle at 92% 46%,rgba(255,236,150,.7) 0 2px,transparent 3px),radial-gradient(circle at 6% 52%,rgba(255,236,150,.6) 0 2px,transparent 3px),radial-gradient(120% 70% at 50% 0%,#3d8bff 0%,rgba(61,139,255,0) 60%),linear-gradient(165deg,#0e3a9e 0%,#1b4a8a 58%,#2f7cf5 100%)}
.kpop .kp-badge{display:inline-block;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);font-size:13px;font-weight:800;letter-spacing:.02em;color:#ffe58a}
.kpop .kp-t{margin:10px 0 0;display:flex;flex-direction:column;line-height:1.05}
.kpop .kp-t1{font-size:21px;font-weight:800;letter-spacing:-.01em;color:#fff}
.kpop .kp-t2{margin-top:4px;font-size:50px;font-weight:900;letter-spacing:-.04em;background:linear-gradient(180deg,#fffbe0 0%,#ffe066 45%,#ffb020 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 rgba(8,30,90,.55)) drop-shadow(0 8px 16px rgba(0,0,0,.25))}
.kpop .kp-lead{margin:8px 0 0;font-size:15px;font-weight:700;color:#d6e7ff}
.kpop .kp-artbox{position:relative;margin:4px auto 0;height:170px}
.kpop .kp-art{display:block;height:100%;width:auto;max-width:100%;aspect-ratio:4/3;margin:0 auto;object-fit:cover;-webkit-mask-image:radial-gradient(closest-side,#000 70%,transparent 100%);mask-image:radial-gradient(closest-side,#000 70%,transparent 100%)}
.kpop .kp-art-css{display:flex;align-items:center;justify-content:center;font-size:84px;-webkit-mask-image:none;mask-image:none;filter:drop-shadow(0 10px 18px rgba(0,0,0,.3))}
.kpop .kp-spark{position:absolute;width:14px;height:14px;background:#ffe066;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:kpTw 2.4s ease-in-out infinite}
.kpop .kp-spark.s1{left:8%;top:14%}.kpop .kp-spark.s2{right:10%;top:6%;width:10px;height:10px;animation-delay:.8s;background:#fff}.kpop .kp-spark.s3{right:6%;bottom:12%;animation-delay:1.5s}
@keyframes kpTw{0%,100%{transform:scale(.6) rotate(0);opacity:.5}50%{transform:scale(1.1) rotate(20deg);opacity:1}}
.kpop .kp-cps{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.kpop .kp-cp{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 6px 11px;border-radius:14px;background:#fff;color:#142c4f;box-shadow:0 8px 18px rgba(4,20,70,.28);
  -webkit-mask:radial-gradient(circle 8px at 0 58%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 8px at 100% 58%,transparent 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 8px at 0 58%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 8px at 100% 58%,transparent 98%,#000) right/51% 100% no-repeat}
.kpop .kp-cp2{background:linear-gradient(180deg,#fffaf0,#fff1c9)}
.kpop .kp-cl{font-size:14px;font-weight:800;color:#4d5d74}
.kpop .kp-cv{font-size:28px;font-weight:900;letter-spacing:-.03em;color:#d93a1a;line-height:1.1}
.kpop .kp-cv small{font-size:16px;margin-left:1px}
.kpop .kp-cn{font-size:12.5px;font-weight:800;color:#fff;background:#d93a1a;border-radius:999px;padding:2px 8px;margin-top:2px}
.kpop .kp-note{margin:12px 0 0;font-size:13.5px;font-weight:600;color:#e3eeff}
.kpop .kp-note b{color:#ffe066;font-weight:900}
.kpop .kp-go{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;min-height:50px;border-radius:14px;background:linear-gradient(180deg,#ffe36e,#ffb703);color:#0b2a6b;font-size:17px;font-weight:900;text-decoration:none;box-shadow:0 6px 0 #c98a00,0 10px 20px rgba(0,0,0,.2);transition:transform .15s,box-shadow .15s}
.kpop .kp-go span{font-size:22px;line-height:1}
.kpop .kp-go:hover{transform:translateY(2px);box-shadow:0 4px 0 #c98a00,0 8px 16px rgba(0,0,0,.2)}
.kpop .kp-go:focus-visible,.kpop .kp-foot button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.kpop .kp-foot{display:grid;grid-template-columns:1fr auto;align-items:center;background:#0b2a6b}
.kpop .kp-foot button{appearance:none;border:0;background:none;color:#fff;font:inherit;font-size:14.5px;font-weight:700;padding:14px 16px;min-height:48px;cursor:pointer}
.kpop .kp-today{display:flex;align-items:center;gap:7px;text-align:left}
.kpop .kp-x{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1.5px solid rgba(255,255,255,.7);border-radius:50%;font-size:10px}
.kpop .kp-close{border-left:1px solid rgba(255,255,255,.18)!important;padding-left:22px!important;padding-right:22px!important}
@media (max-width:380px){.kpop .kp-t2{font-size:42px}.kpop .kp-artbox{height:120px}.kpop .kp-cv{font-size:24px}}
@media (max-height:700px){.kpop .kp-artbox{height:96px}.kpop .kp-body{padding-top:16px}}
@media (prefers-reduced-motion:reduce){.kpop .kp-dim,.kpop .kp-card,.kpop .kp-go{transition:none}.kpop .kp-spark{animation:none}}
/* 첫 화면 소개 줄 런칭특가 배지 (단위 155) — 휴대폰에서도 기간이 보이게 */
.bft .eb-promo{margin-left:6px;background:#fff1ed;color:#cc3316;border:1px solid #ffd3c6;font-weight:800}
@media (max-width:600px){.bft .eb-promo{margin-left:0;margin-top:4px}}

/* 단위 171 (2026-10-16 검수 A-1 · 대표 결정): 떠 있는 버튼이 가격·인원 「+」·본문을 가리지 않게
   - 휴대폰(760px 이하): AI상담은 아래 메뉴 「고객센터」 창 첫 줄에서 열고, 떠 있는 동그란 버튼은 없앰. 상품 화면은 「맨 위로」도 숨김(위 탭·예약 바가 대신)
   - PC 1180~1499px: 오른쪽 좁은 바로가기(아이콘+짧은 글씨)를 보여 주고 본문은 그만큼 왼쪽으로 — 떠 있는 AI상담·최근 본 풍선·맨 위로는 숨김 */
@media (max-width:760px){
  body.has-tabbar #rd-support .rd-help-launch{display:none!important}
  /* 단위 299: 상품 화면도 위·아래 화살표를 보여 줌 (대표 요청) — 예전 「상품 화면은 숨김」(단위 171) 해제 */
  /* 단위 173·181: 아래 메뉴 6칸 — 가운데 둥근 버튼 2개(홈 · AI상담 빨간 바탕), 양쪽 2칸씩. 간격·글씨 조금 줄임 */
  .tabbar{padding-left:0;padding-right:0}
  .tb-i,.tb-home{font-size:11.5px;letter-spacing:-.04em;white-space:nowrap}
  .tb-hi{width:52px;height:52px}
  .tb-ai .tb-hi{border-color:#f6d3d3;box-shadow:0 6px 16px rgba(229,56,59,.25)}
  .tb-ai .tb-l{color:#d62f32}
  .tb-ai:active .tb-hi{transform:scale(.94)}
}
.qr-ai{display:none}
@media (min-width:1180px) and (max-width:1499px) and (min-height:600px){
  body.has-rail{padding-right:98px}
  .qrail{display:flex;flex-direction:column;gap:5px;position:fixed;z-index:70;top:calc(var(--hd,64px) + 14px);right:8px;width:84px;padding:6px;background:#fff;border:1px solid #dfe5ee;border-radius:14px;box-shadow:0 8px 26px rgba(23,63,115,.10);font-size:11.5px;line-height:1.25;text-align:center}
  .qrail a,.qrail button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-height:44px;border-radius:9px;text-decoration:none;font:inherit;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;padding:6px 2px}
  .qrail a:focus-visible,.qrail button:focus-visible{outline:3px solid #ffb703;outline-offset:1px}
  .qrail svg{width:20px;height:20px}
  .qr-rec{position:relative;border:0;background:#f4f6f9;color:#142c4f}.qr-rec span{font-size:11px}
  .qr-ai{border:0;background:var(--blue);color:#fff}.qr-ai:hover{background:#124aa4}
  .qr-n{position:absolute;top:2px;right:3px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--deal,#d93a1a);color:#fff;font-size:10.5px;display:grid;place-items:center}.qr-n[hidden]{display:none}
  .qr-b{color:#fff}.qr-fix{background:#142c4f}.qr-chk{background:#0f8a87}
  .qr-l{border:1px solid #e1e9f4;background:#fff;color:#23406b;white-space:normal;word-break:keep-all}.qr-l small{display:none}
  .qr-top{border:0;background:#a9bdd6;color:#fff;flex-direction:row!important;gap:3px!important}
  .qr-pop{position:absolute;right:calc(100% + 10px);width:250px;margin-top:-8px;background:#fff;border:1px solid #f5e6b3;border-radius:14px;box-shadow:0 12px 34px rgba(23,63,115,.18);padding:14px 16px;text-align:left;display:flex;flex-direction:column;gap:2px}
  .qr-pop[hidden]{display:none}
  body.has-rail .totop{display:none}
  body.has-rail .rr-pill{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;opacity:0;pointer-events:none}
  body.has-rail #rd-support .rd-help-launch{display:none!important}
}
@media (min-width:1180px) and (max-width:1499px) and (min-height:600px){
  body.has-rail #hd,body.has-rail .salebar,body.has-rail #ft{margin-right:-98px;padding-right:98px} /* 머리글·판매 상태 띠·바닥글 바탕은 화면 끝까지 */
}
@media (max-width:600px){
  .mbar .mb-ai{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:48px;min-height:48px;border:1px solid #f5e6b3;border-radius:12px;background:#f4f6f9;color:var(--blue);font:inherit;font-size:10.5px;font-weight:800;line-height:1.1;padding:4px 0;cursor:pointer}
  .mbar .mb-ai:focus-visible{outline:3px solid #ffb703;outline-offset:2px}
}
@media (max-width:360px){.mbar{gap:8px;padding-left:10px;padding-right:10px}.mbar .mb-p{font-size:16.5px}.mbar .btn{padding:12px 12px;font-size:14.5px}}
@media (max-width:360px){body.has-mbar .mbar{gap:6px;padding-left:8px;padding-right:8px}body.has-mbar .mbar .mb-cs,body.has-mbar .mbar .mb-ai{width:40px;font-size:9.5px}.mbar .mb-cs svg,.mbar .mb-ai svg{width:20px;height:20px}body.has-mbar .mbar .mb-p{font-size:15px;letter-spacing:-.04em}.mbar .btn{padding:11px 10px;font-size:14px;letter-spacing:-.03em}}
@media (max-width:360px){.tb-i,.tb-home{font-size:10.5px}.tb-i svg{width:22px;height:22px}.tb-hi{width:48px;height:48px}.tb-hi svg{width:34px;height:34px}}
/* 같은 일정 다른 출발역 링크 (단위 177) */
.twin{margin:4px 0 0;font-size:14.5px;color:var(--muted)}.twin a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media (max-width:340px){body.has-mbar .mbar{gap:5px}body.has-mbar .mbar .mb-cs,body.has-mbar .mbar .mb-ai{width:38px;font-size:0;gap:0}body.has-mbar .mbar .btn{padding-left:9px;padding-right:9px}} /* 아주 좁은 화면은 아이콘만 — 가격이 잘리지 않게 (단위 188) */
/* 첫 화면 소개 상자 — 운영사 한 줄 (단위 197) */
.bft p.bft-co{display:block;font-size:14px;line-height:1.45;color:#556479;margin:6px 0 0}@media(max-width:760px){.bft p.bft-co{display:block;font-size:12.5px;margin:4px 0 0}}.bft-co a{color:#1b4a8a;font-weight:700;white-space:nowrap}
/* 약관·처리방침 표 — 휴대폰은 한 줄 = 카드 (단위 198) */
@media (max-width:700px){.tscroll:has(> table.pcard){overflow:visible}table.pcard{min-width:0!important;width:100%;border:0;background:none}table.pcard thead{display:none}
  table.pcard tr{display:block;border:1px solid #d6e0ee;border-radius:12px;padding:10px 12px;margin:0 0 10px;background:#fff}
  table.pcard td{display:block;border:0!important;padding:4px 0!important;text-align:left!important;white-space:normal!important;font-size:15px!important;line-height:1.55}
  table.pcard td[data-l]:not(.pc-h)::before{content:attr(data-l);display:block;font-size:12.5px;color:#6b7280;font-weight:700;margin-bottom:1px}
  table.pcard td.pc-h{font-weight:800;font-size:16px!important;color:#102440;border-bottom:1px dashed #d6e0ee!important;padding-bottom:6px!important;margin-bottom:4px}}
/* 동의 「내용 보기」 화면 안 창 (단위 198) */
html.kd-open{overflow:hidden}
.kd-dim{position:fixed;inset:0;z-index:200;background:rgba(15,30,60,.45);display:flex;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}
.kd-sh{background:#fff;border-radius:16px;width:min(760px,100%);max-height:100%;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(15,30,60,.3)}
.kd-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid #e3e9f2}
.kd-hd b{font-size:17px;color:#102440;line-height:1.35}
.kd-x{border:1px solid #d6e0ee;background:#fff;border-radius:10px;padding:8px 12px;font-weight:700;font-size:14px;cursor:pointer;flex:none}
.kd-body{overflow:auto;padding:12px 16px;font-size:15px;line-height:1.65;-webkit-overflow-scrolling:touch}
.kd-body .panel{box-shadow:none;padding:0;margin:0}.kd-body h2{font-size:18px}.kd-body h3{font-size:16px;margin:14px 0 6px}
.kd-body .pt{width:100%}.kd-body .pt td,.kd-body .pt th{text-align:left;vertical-align:top;font-size:14px}
.kd-ft{padding:10px 16px 14px;border-top:1px solid #e3e9f2}
.kd-ok{width:100%;border:0;border-radius:12px;background:#1b4a8a;color:#fff;font-weight:800;font-size:16px;padding:13px;cursor:pointer}
@media (max-width:700px){.kd-dim{align-items:flex-end;padding:0}.kd-sh{border-radius:16px 16px 0 0;max-height:88vh;max-height:88dvh}.kd-ft{padding-bottom:max(14px,env(safe-area-inset-bottom))}}
.kd-body .todo{background:#fff7ed;color:#9a3412;border-radius:6px;padding:1px 6px;font-size:14px;font-weight:700}
.kd-note{margin:6px 0 0;text-align:center;font-size:13px;color:#556479} /* 「확인했어요」 누르면 동의 체크 안내 (단위 204) */
.ft .ft-24{font-size:14px;color:#4d5d74;margin-top:6px;line-height:1.6}.ft .ft-24 b{color:#1b4a8a;margin-right:4px} /* 24시간 되는 업무 (단위 214) */
/* 방송에 나온 여행지 키워드 (단위 230) — 배너 아래, 빠른 찾기 위. 키워드 + 방송 한 줄(최대 2줄) */
.tvk{padding:14px 0 0}
.tvk-h{margin:0 0 8px;font-size:15px;font-weight:800;color:var(--deal-ink,#c2253a)}
.tvk-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.tvk-c{display:flex;flex-direction:column;gap:2px;min-width:0;background:#fff;border:1px solid #f3c9cf;border-radius:12px;padding:9px 12px;text-decoration:none;color:#1b3a63;box-shadow:0 2px 8px rgba(194,37,58,.06)}
.tvk-c b{font-size:15px;color:var(--deal-ink,#c2253a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tvk-c span{font-size:12.5px;line-height:1.4;color:#556479;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tvk-c:hover{border-color:var(--deal,#e0352b)}
@media (max-width:900px){.tvk{padding:12px 0 0}.tvk-g{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tvk-c{padding:8px 10px}.tvk-c b{font-size:14px}}

/* 상품 목록 제목 오른쪽 안내 (단위 243): 제목 한 줄 높이 안에 작은 글씨 두 줄 */
#products .ph-head{display:flex;align-items:center;gap:6px 18px;flex-wrap:wrap;margin:0 0 16px}
#products .ph-head h2{margin:0;flex:none}
#products .ph-note{margin:0;flex:1 1 380px;min-width:0;font-size:13px;line-height:1.35;color:#556479}
#products .ph-note span{display:block}
@media (max-width:600px){
  #products .ph-head{margin-bottom:10px}
  #products .ph-note{flex-basis:100%;font-size:12px;line-height:1.4}
  #products .ph-note span{display:inline}
}
/* PC 상품 분류 칩 한 줄 (단위 244, 대표 요청): 글씨·여백을 줄여 계절 칩까지 정렬 옆 한 줄에 — 그래도 좁으면 옆으로 밀어 보기 */
@media (min-width:601px){
  #filters{flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none}#filters::-webkit-scrollbar{display:none}
  #filters .chip{flex:none;display:inline-flex;align-items:center;gap:3px;padding:7px 10px;font-size:14px;line-height:1.2;white-space:nowrap}
  #filters .chip .cnt{font-size:12px}
  .fbar{align-items:center}
  .fbar .sort>span:first-child{display:none}
  .fbar .sort .sv{min-height:38px;font-size:14px}
  .fbar .fwrap{flex:1 1 0;width:0}
  #filters.more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent)}
  #filters.less{-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px);mask-image:linear-gradient(90deg,transparent,#000 40px)}
  #filters.less.more{-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent)}
  .fmore:not([hidden]){display:grid;place-items:center;position:absolute;top:50%;transform:translateY(-50%);z-index:1;width:30px;height:30px;padding:0 0 2px;border-radius:50%;border:1px solid #f5e6b3;background:#fff;color:#1b4a8a;font-size:21px;font-weight:800;line-height:1;box-shadow:0 2px 8px rgba(23,63,115,.2);cursor:pointer}
  .fm-r{right:0}.fm-l{left:0}
}

/* ===== 상품 카드 표준 (2026-10-17 단위 245~248, 대표 요청 — 카드끼리 가로줄 통일) ===== */
/* 단위 245: 제목 한 줄 (길면 assets/cardfit.js 가 글씨를 줄여 맞춤, 그래도 넘치면 「…」) */
.card .body h3,#grid .card .body h3,.gcards .card .body h3{display:block;-webkit-line-clamp:unset;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35}
/* 단위 246: 설명 두 줄 고정 (글씨 크기는 그대로) — 한 줄뿐인 상품도 두 줄 자리를 비워 둠 */
.card .body .sub,#grid .card .body .sub,.gcards .card .body .sub{line-height:1.5;-webkit-line-clamp:2;height:3em;min-height:3em}
/* 단위 247: 포함·특이사항 칩 한 줄 고정 (넘치면 cardfit.js 가 글씨를 줄이거나 뒤쪽 칩을 숨김) — 칩이 없는 상품도 한 줄 자리를 비워 둠 */
.card .body .meta{flex-wrap:nowrap;overflow:hidden;height:28px;align-items:center;margin-top:0}
.card .body .meta span{flex:none;white-space:nowrap}
.card .body .meta span[hidden]{display:none}
/* 단위 248: 카드 맨 아래 두 줄 — 윗줄 기간 칩 | 할인액(사진 위에서 옮김), 아랫줄 원래 금액 | K트레인가. 같은 줄끼리 같은 크기, 윗줄이 조금 작게. 왼쪽 칸·오른쪽 칸 끝을 맞춤 */
#grid .card,.gcards .card{container-type:inline-size}
.card .body .price,#grid .card .body .price,.gcards .card .body .price{display:grid;grid-template-columns:auto auto;justify-content:space-between;align-items:center;row-gap:3px;column-gap:4px;margin-top:auto;padding-top:8px;flex-direction:unset}
.card .body .price .dur,.card .body .price .poff,#grid .card .body .price .dur,#grid .card .body .price .poff,.gcards .card .body .price .dur,.gcards .card .body .price .poff{font-size:clamp(11px,6.2cqi,16px);line-height:1.3;font-weight:800;padding:2px 8px;border-radius:6px;margin:0;white-space:nowrap}
.card .body .price .dur{justify-self:start;background:#fff7d9;color:#1b4a8a}
.card .body .price .poff{justify-self:end;background:var(--deal);color:#fff}
.card .body .price .was,.card .body .price .now,#grid .card .body .price .was,#grid .card .body .price .now,.gcards .card .body .price .was,.gcards .card .body .price .now{font-size:clamp(12px,7.8cqi,22px);line-height:1.25;letter-spacing:-.02em;white-space:nowrap}
.card .body .price .was{justify-self:start;color:#7b8ba3;font-weight:600;text-decoration:line-through}
.card .body .price .now{justify-self:end;color:var(--ink);font-weight:800}
.card .body .price .now small,#grid .card .body .price .now small,.gcards .card .body .price .now small{font-size:.62em;font-weight:600;color:var(--muted)}
/* 단위 249: 사진 위 배치 — 왼쪽 위 출발지 · 오른쪽 위 잔여석 · 왼쪽 아래 출발확정 · 오른쪽 아래 작은 「연출 이미지」 */
.card .thumb .badge{max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card .thumb:has(.sbr) .badge{max-width:calc(45% - 6px)}
.card .thumb .aimark,#grid .card .thumb .aimark,.gcards .card .thumb .aimark{top:auto;bottom:8px;right:8px;font-size:11px;line-height:1.5;padding:0 7px;opacity:.9}
.card .thumb .sb{right:84px}
@media (max-width:600px){
  #grid .card .thumb .sbr,.gcards .card .thumb .sbr{right:6px;top:6px}#grid .sbr span,.gcards .sbr span{font-size:11px;padding:2px 6px}
  #grid .card .thumb .sb,.gcards .card .thumb .sb{right:58px}
  #grid .card .thumb .aimark,.gcards .card .thumb .aimark{bottom:6px;right:5px;font-size:9.5px;padding:0 5px}
}
/* 단위 251: 「도움이 필요하세요?」 상자 — 그림이 글씨 아래로 벗어나지 않게 제목·설명 사이 높이(가운데)에 두고, 위아래 여백을 같게 */
.hlp-c{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:12px;align-items:center;align-content:center;min-height:0;padding:18px 20px}
.hlp-c strong{grid-column:1;grid-row:1;padding-right:0}
.hlp-e{grid-column:1;grid-row:2;padding-right:0;align-self:start}
.hlp-i{position:static;grid-column:2;grid-row:1/3;align-self:center;display:flex}
.hlp-i svg{width:52px;height:52px}
@media (max-width:900px){.hlp-c{padding:14px 14px;column-gap:6px;align-content:start}.hlp-c strong{grid-column:1/3;padding-right:0}.hlp-e{padding-right:0}.hlp-i{grid-row:2;align-self:center}.hlp-i svg{width:38px;height:38px}} /* 휴대폰: 제목은 한 줄 전체, 그림은 설명 오른쪽 */
/* 단위 252: 바닥글 위쪽 — 고객센터·입금 계좌 설명을 줄이고 「앱 설치」 버튼을 입금 계좌 칸 아래로 옮겨, 바로가기 마지막 줄 아래로 내려가지 않게 */
#ft .ft-app-slot{margin-top:4px}
/* 단위 253: 바닥글 맨 아래 한 줄 (사진 안내 · 판매 상태·주관사 · 저작권) */
#ft .ft-line{margin:12px 0 0;font-size:13px;line-height:1.6;color:#36506f;display:flex;flex-wrap:wrap;gap:0 6px}
#ft .ft-line span+span::before{content:"·";margin-right:6px;opacity:.7}
/* 단위 255: 원래 금액에 그은 줄을 빨간색으로 (더 눈에 띄게) — 배너·상품 카드·상품 화면 요금표·가격 상자 */
.hb-price s,.was,.card .body .price .was{text-decoration:line-through;text-decoration-color:#e11d48;text-decoration-thickness:2px}
/* 단위 256: 기차여행·여행 가이드 하위 메뉴 글자 앞 그림 */
.guide-submenu a .mi{display:inline-block;width:1.5em;margin-right:4px;text-align:center;font-size:1.05em;line-height:1}
.guide-submenu a{display:flex;align-items:center}
/* 단위 258: 소개 상자 — 뱃지 줄 위끝은 오른쪽 할인 칸 위선에, 큰 제목 아래끝은 할인 칸 아래선에 맞춤 (PC) */
@media (min-width:901px){.bft-in{align-items:stretch}.bft .bft-h h1{line-height:1.05;margin:0}}
/* 단위 259: 바닥글 바로가기 — 「바로가기」 제목 없이 그림 + 글자 상자 5개(위 2 · 가운데 1 · 아래 2), 왼쪽 고객센터 칸과 세로 높이 맞춤 */
.ft-top{align-items:stretch}
.ft .ft-col-go{display:flex}
.ft .ft-tiles{flex:1;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:8px;margin:0;padding:0;list-style:none}
.ft .ft-tiles li:nth-child(3){grid-column:1/-1;justify-self:center;width:calc(50% - 4px)}
.ft .ft-tiles a{height:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 6px;background:#fff;border-radius:12px;color:#142c4f;font-size:14px;font-weight:700;text-align:center;line-height:1.3;text-decoration:none;box-shadow:0 1px 3px rgba(23,63,115,.06);transition:box-shadow .15s,transform .15s}
.ft .ft-tiles a:hover{box-shadow:0 6px 16px rgba(23,63,115,.14);transform:translateY(-1px);text-decoration:none;color:#1b4a8a}
.ft .ft-tiles a:focus-visible{outline:3px solid #ffb703;outline-offset:2px}
.ft .ft-tiles svg{color:#1b4a8a;flex:none}
@media (max-width:600px){.ft .ft-tiles a{font-size:13px;padding:10px 4px}}
/* 단위 262: 여행 가이드·단독 견적 화면 맨 위 띠 그림 (첫 화면 계절 띠배너와 같은 모양, 누르는 기능 없음) */
.pband{position:relative;display:flex;align-items:center;justify-content:center;min-height:150px;margin:6px 0 18px;border-radius:18px;overflow:hidden;text-align:center;background:var(--pb-bg,#fff1c4) center/cover no-repeat}
.pband-guide{--pb-bg:url(/assets/strip/strip-guide.jpg);background-position:center 82%}
.pband-quote{--pb-bg:url(/assets/strip/strip-quote.jpg);background-position:center 52%}
.pband::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 48% 72% at 50% 50%,rgba(255,255,255,.74),rgba(255,255,255,0) 100%);pointer-events:none}
.pband-in{position:relative;display:flex;flex-direction:column;gap:6px;padding:18px 20px}
.pband-t{font-size:clamp(20px,3.1vw,36px);font-weight:900;letter-spacing:-.02em;color:#102440;line-height:1.2;text-shadow:0 1px 0 rgba(255,255,255,.9),0 0 18px rgba(255,255,255,.9)}
.pband-guide .pband-t{color:#0b4a8a}.pband-quote .pband-t{color:#7a3b0b}
.pband-s{font-size:clamp(13px,1.3vw,16px);font-weight:700;color:#102440;opacity:.88;text-shadow:0 0 10px rgba(255,255,255,.95)}
.pband-ai{position:absolute;right:10px;bottom:8px;font-size:11px;line-height:1.5;padding:0 7px;border-radius:999px;background:rgba(19,49,92,.82);color:#fff}
@media (max-width:600px){.pband{min-height:96px;border-radius:14px;margin:4px 0 14px}.pband-in{padding:12px 14px;gap:3px}.pband-ai{font-size:9.5px;padding:0 5px;right:6px;bottom:6px}}
/* 단위 263: 휴대폰 첫 화면 — 배너 「가을 추천 · 2박 3일 · 서울 출발」 줄을 사진 모서리로 옮김(왼쪽 위 출발지 · 오른쪽 위 연출 이미지 · 왼쪽 아래 계절 추천·기간)
   (대표 요청: 인물을 가리지 않게 — 배너 인물이 주로 가운데·오른쪽이라 아래쪽 두 개는 왼쪽 아래에 나란히)
   → 배너가 낮아져 아래 「빠르게 찾기」 그림 두 줄이 첫 화면에 잘리지 않게. PC·태블릿은 그대로 */
.hb-cn,.hb-cnb{display:none}
@media (max-width:600px){
  .hb .hb-a{position:relative}
  .hb .hb-tag{display:none}
  .hb .hb-cn,.hb .hb-cnb>span{font-size:11.5px;font-weight:800;line-height:1.5;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.92);color:#142c4f;box-shadow:0 2px 6px rgba(23,63,115,.16);white-space:nowrap}
  .hb .hb-cn{display:block;position:absolute;z-index:3;left:10px;top:10px;max-width:58%;overflow:hidden;text-overflow:ellipsis}
  .hb .hb-cnb{display:flex;gap:5px;position:absolute;z-index:3;left:10px;top:calc(min(52vw,290px) - 32px)}
  .hb .hb-cn3{background:#fff1ed!important;color:#cc3316!important}
  .hb .hb-cn4{background:#fff7d9!important;color:#1b4a8a!important}
  .hb .aimark{top:10px;right:10px;font-size:10.5px;padding:1px 7px}
  /* 단위 302 (대표 요청): 첫 화면 아래가 「빠르게 찾기」 그림 두 줄에서 끝나게 — 사진 높이를 화면 높이에 맞춰 늘림
     (사진 외 첫 화면 높이 ≈ 머리글·메뉴·제목·금액·그림 두 줄·아래 메뉴 490px + 판매 상태 띠 --sbh). 키 작은 휴대폰은 예전 높이 그대로 */
  .hb{--mimg:max(min(44vw,250px),min(calc(100svh - 490px),100vw))} /* 첫 그림용 어림값 — 실제 높이는 app.js fitHero가 재서 넣음 */
  .hb .hb-img{height:var(--mimg);max-height:none}
  .hb .hb-cnb{top:calc(var(--mimg) - 32px)}
  .hb .hb-txt{padding:8px 16px 12px;gap:2px}
  .hb .hb-t{font-size:20px;line-height:1.3}
  /* 넘김 버튼(‹ 1/6 ›)을 금액 줄 오른쪽으로 — 배너 아래 빈 줄을 없앰 */
  .hb .hb-price{max-width:calc(100% - 104px)}
  .hb .hb-price b{font-size:22px}.hb .hb-price s{font-size:12px}
  .hb .hb-ctl{left:auto;right:calc(var(--hb-peek,30px) + 22px);bottom:8px}
  .hb .hb-pill{transform:scale(.78);transform-origin:right bottom}
  .qcat{padding-top:10px}
  .qcat-g{padding:10px 6px 6px;gap:6px 2px}
  .qcat .qi{width:52px;height:44px}.qcat .qi svg{width:40px;height:40px}
  .qcat .qc{gap:4px;padding:2px 0}
}
/* 단위 264: 휴대폰 K트레인 소개 상자 — 큰 제목 「같은 기차여행, 런칭특가 …」는 화면에서 숨김(검색·화면읽기용으로는 남김),
   위 두 꼬리표(「KTX · SRT · ITX 기차여행 전문」, 「런칭특가 · 12월 31일 예약까지」)를 크게 키워 한 줄씩 가로폭을 꽉 채움 (대표 요청). PC·태블릿은 그대로 */
@media (max-width:600px){
  .bft .bft-h h1{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .bft .bft-h .ebs{display:flex;flex-direction:column;gap:6px;width:100%}
  .bft .bft-h .eyebrow{display:block;width:100%;box-sizing:border-box;margin:0;text-align:center;font-size:clamp(14px,5.1vw,21px);font-weight:800;line-height:1.35;padding:7px 6px;letter-spacing:-.2px;border-radius:12px;white-space:nowrap}
  .bft .bft-h .eb-promo{margin:0}
}
/* 단위 266: 휴대폰 소개 상자 — 「KTX · SRT · ITX 기차여행 전문」 줄도 지우고 「런칭특가 · 12월 31일 예약까지」 한 줄만 (대표 요청). PC·태블릿은 그대로 */
@media (max-width:600px){
  .bft .bft-h .eyebrow:not(.eb-promo){display:none}
}
/* 단위 267: 휴대폰 상품 카드 — 사진을 세로로 길게(4:5, 기획전 카드처럼) 해서 한 화면에 상품 4개(2줄)만 보이게, 답답하지 않게 (대표 요청). PC·태블릿은 그대로 */
@media (max-width:600px){
  #grid .card .thumb,.gcards .card .thumb{aspect-ratio:4/5}
  #grid .card .thumb img,.gcards .card .thumb img{object-position:center 40%}
}
/* 단위 268: PC 소개 상자 — 왼쪽 칸 빈 여백을 줄이고 글씨를 키워 균형 (대표 요청)
   뱃지 두 개 줄·큰 제목이 왼쪽 칸 폭을 거의 채우게(칸 폭에 맞춰 글씨 크기 자동), 오른쪽 할인 칸 글씨도 조금 키움. 휴대폰·태블릿은 그대로 */
@media (min-width:901px){
  .bft-in{padding:16px 24px;gap:22px}
  .bft-h{container-type:inline-size;gap:10px}
  .bft .bft-h .eyebrow{font-size:min(2.75cqi,19px);line-height:1.3;padding:.22em .62em}
  .bft-h .ebs{gap:.5em}
  .bft .bft-h h1{font-size:min(4.2cqi,30px);line-height:1.2}
  .bft .promise div{padding:12px 16px;display:flex;flex-direction:column;justify-content:center}
  .bft .promise b{font-size:22px;line-height:1.35}
  .bft .promise span{font-size:14px;line-height:1.45}
}
/* 단위 269: PC·태블릿 상품 카드 사진 세로 50% 더 길게 (3:2 → 1:1) — 사진과 글씨가 1:1이라 답답해 보임 (대표 요청). 휴대폰은 단위 267(4:5) */
@media (min-width:601px){
  #grid .card .thumb,.gcards .card .thumb{aspect-ratio:1/1}
}
/* 단위 270: 카드 할인액 빨간 상자(-10,000원)를 작게 — 아랫줄 금액보다 확실히 작게 (대표 요청). 윗줄끼리 같은 크기 기준(단위 248)이라 기간 칩도 같이 */
.card .body .price .dur,.card .body .price .poff,#grid .card .body .price .dur,#grid .card .body .price .poff,.gcards .card .body .price .dur,.gcards .card .body .price .poff{font-size:clamp(10.5px,5cqi,13.5px);line-height:1.35;padding:1px 7px;border-radius:5px}
/* 단위 271: 바닥글 바로가기 5칸에 색 — 위 「도움이 필요하세요」 칸과 같은 색 (대표 요청)
   자주 묻는 질문 노랑 · 고객 문의 보라 · 예약조회 초록 · 단독 견적 주황 · 가이드 파랑 (글씨·그림 같은 색) */
.ft .ft-tiles a{background:var(--tb,#fff);color:var(--tc,#142c4f);box-shadow:none}
.ft .ft-tiles a svg{color:var(--tc,#1b4a8a)}
.ft .ft-tiles a:hover{color:var(--tc,#1b4a8a);box-shadow:0 6px 16px rgba(23,63,115,.12)}
.ft .ft-tiles li:nth-child(1) a{--tb:#fff7db;--tc:#a15c07}
.ft .ft-tiles li:nth-child(2) a{--tb:#f1ecff;--tc:#5b3fd1}
.ft .ft-tiles li:nth-child(3) a{--tb:#e5f6f2;--tc:#0f766e}
.ft .ft-tiles li:nth-child(4) a{--tb:#fff1e6;--tc:#c2410c}
.ft .ft-tiles li:nth-child(5) a{--tb:#eef2f8;--tc:#1b4a8a}
/* 단위 276: PC 소개 상자 — 위 뱃지 두 개 줄을 큰 제목과 같은 폭으로 (대표 요청: 위 줄이 오른쪽으로 튀어나옴)
   큰 제목 폭에 맞춰 칸을 정하고, 뱃지 두 개가 그 폭을 반씩 나눠 꽉 채움 (글씨는 칸 폭에 맞춰 조금 작게) */
@media (min-width:901px){
  .bft .bft-h{display:grid;grid-template-columns:max-content;align-content:space-between;justify-content:start}
  .bft .bft-h .ebs{width:0;min-width:100%;display:flex;flex-wrap:nowrap;gap:.6em}
  .bft .bft-h .ebs .eyebrow{flex:1 1 0;min-width:0;text-align:center;white-space:nowrap;font-size:min(2.45cqi,17px);box-sizing:border-box}
  .bft .bft-h h1{white-space:nowrap}
}
/* 단위 277: 「지금 떠나기 좋은 기차여행」 제목 줄의 왼쪽 시작을 위 소개 상자 글씨(「같은 기차여행…」)·아래 검색 칸 글씨와 같은 선에 (대표 요청)
   소개 상자 안쪽 여백만큼 들여씀 — PC 24px · 태블릿 26px · 휴대폰 14px */
#products .ph-head{padding-left:24px}
@media (min-width:601px) and (max-width:900px){#products .ph-head{padding-left:26px}}
@media (max-width:600px){#products .ph-head{padding-left:14px}}
/* 단위 278: 카드 할인 상자(-○원) 오른쪽 끝을 아래 금액의 「원」 끝에 맞춤 (대표 요청) — 「~」는 폭을 차지하지 않고 「원」 오른쪽에 붙어 보이게 */
.card .body .price .now{position:relative}
.card .body .price .now .tl{position:absolute;left:100%;bottom:0;font-style:normal;font-weight:inherit}
/* 단위 279: 할인 상자 「-○원」의 「원」 글자 크기를 아래 금액 「○원」의 「원」과 같게 (대표 요청) — 아래 「원」 = 금액 글씨의 0.62배 */
.card .body .price .poff .pw{font-size:calc(.62 * clamp(12px,7.8cqi,22px));font-weight:inherit;color:inherit}
/* 단위 280: 휴대폰 — 「지금 떠나기 좋은 기차여행」 아래 설명 두 줄(할인 적용 최저가 · AI 연출 이미지) 숨김 (대표 요청: 카드 「연출 이미지」 표시·할인 안내와 중복). PC는 그대로 */
@media (max-width:600px){#products .ph-note{display:none}}
/* 단위 282: 첫 화면 여행 가이드 칸 — 띠 그림을 누르는 링크로 (화면에서 숨긴 제목은 검색·화면읽기용) */
.kt-vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
a.pband-link{text-decoration:none;color:inherit;margin-top:0;transition:box-shadow .15s,transform .15s}
a.pband-link:hover{box-shadow:0 8px 22px rgba(23,63,115,.16);transform:translateY(-1px)}
a.pband-link:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.home-guides a.pband-link{margin-bottom:18px}
@media (max-width:600px){.home-guides a.pband-link{margin-bottom:14px}}
/* 단위 286: 여행 가이드 주제 화면 「한눈에 비교」 제목 오른쪽 정렬 단추 (첫 화면과 같은 모양) */
.gsec-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
.gsec-h h2{margin:0}
@media (max-width:600px){.gsec-h .sort .sv{min-height:38px;font-size:14px;padding:0 30px 0 12px}}
/* 단위 287: 화면마다 마지막 내용과 아래 바닥글(파란 칸) 사이 빈 공간을 같게 (대표 요청: 가이드 화면 휴대폰 빈칸이 너무 큼 — 138px)
   본문 아래 안쪽 여백·마지막 칸 아래 바깥 여백을 없애고, 바닥글 위 간격 하나로 통일: 휴대폰 28px · PC 32px */
main.wrap,main.wrap.guide,main.wrap.iq-page{padding-bottom:0}
main.wrap>:last-child{margin-bottom:0}
.ft{margin-top:28px}
@media (min-width:601px){.ft{margin-top:32px}}
main.wrap>.sec:last-child{padding-bottom:0}main.wrap>.sec:last-child .faq>:last-child{margin-bottom:0} /* 첫 화면: 마지막 「자주 묻는 질문」 칸 아래 */
main.wrap+section.more{padding-bottom:0;margin-bottom:0}main.wrap+section.more>:last-child,main.wrap+section.more .glinks{margin-bottom:0;padding-bottom:0} /* 상품 화면: 맨 아래 「다른 여행」 칸 아래 */
/* 단위 289: 바닥글 바로가기 5개를 한 줄로 — 색 동그라미 안 흰 그림 + 짧은 이름 (대표 요청: 타사처럼 간단한 아이콘 한 줄)
   Q&A · 문의·입금 · 예약조회 · 단독견적 · 추천여행 (전체 이름은 화면 읽기용으로 남김) */
.ft .ft-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:auto;gap:4px;align-items:start}
.ft .ft-tiles li:nth-child(3){grid-column:auto;justify-self:stretch;width:auto}
.ft .ft-tiles a,.ft .ft-tiles a:hover{height:auto;background:none;box-shadow:none;transform:none;padding:4px 0;gap:7px;color:#142c4f;font-size:13.5px;font-weight:700;line-height:1.25;white-space:nowrap}
.ft .ft-tiles .fti{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--tc,#1b4a8a);color:#fff;box-shadow:0 3px 8px rgba(23,63,115,.16);transition:transform .15s}
.ft .ft-tiles a svg,.ft .ft-tiles a:hover svg{color:#fff}
.ft .ft-tiles a:hover .fti{transform:translateY(-2px)}
.ft .ft-tiles li:nth-child(1) a{--tc:#f2a20c}
.ft .ft-tiles li:nth-child(2) a{--tc:#7048e8}
.ft .ft-tiles li:nth-child(3) a{--tc:#0f9f86}
.ft .ft-tiles li:nth-child(4) a{--tc:#f76707}
.ft .ft-tiles li:nth-child(5) a{--tc:#2c5d9e}
.ft .ft-col-go{align-items:center}
@media (max-width:600px){.ft .ft-tiles .fti{width:48px;height:48px}.ft .ft-tiles a{font-size:12.5px;gap:6px}}
@media (max-width:340px){.ft .ft-tiles .fti{width:42px;height:42px}.ft .ft-tiles a{font-size:11.5px}}
/* 단위 291: 전체 메뉴(사이트맵) — 휴대폰 빠른 메뉴 줄 오른쪽 ☰ 단추 + 아래에서 올라오는 전체 메뉴 창 */
.mq-map{display:none}
@media (max-width:900px){
  .hd .m-quick{align-items:center}
  .mq-map{display:flex;align-items:center;justify-content:center;flex:none;margin-left:auto;width:40px;height:40px;border:0;border-radius:50%;background:var(--blue);color:#fff;cursor:pointer;box-shadow:0 2px 6px rgba(19,49,92,.28)}
  .mq-map:focus-visible{outline:3px solid #ffb703;outline-offset:2px}
}
.km-dim{position:fixed;inset:0;z-index:1200;background:rgba(15,30,55,.42);display:flex;align-items:flex-end;justify-content:center}
.km-sh{width:100%;max-width:560px;max-height:88vh;overflow:auto;background:#f4f7fb;border-radius:22px 22px 0 0;padding:0 16px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px rgba(15,30,55,.2);animation:kmUp .18s ease-out}
@keyframes kmUp{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.km-sh{animation:none}}
.km-hd{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;margin:0 -16px;padding:16px 16px 12px;background:#f4f7fb}
.km-hd b{font-size:19px;color:#142c4f}
.km-x{width:40px;height:40px;border:0;border-radius:50%;background:#fff1c4;color:#142c4f;font-size:18px;cursor:pointer}
.km-top{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.km-top a{display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px 4px 12px;background:#fff;border-radius:14px;color:#142c4f;font-size:14px;font-weight:700;text-decoration:none;box-shadow:0 1px 3px rgba(23,63,115,.06)}
.km-ic{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--kc);color:#fff}
.km-lab{margin:18px 2px 8px;font-size:13px;font-weight:800;letter-spacing:.08em;color:#556479}
.km-list,.km-sub{list-style:none;margin:0;padding:0}
.km-list{background:#fff;border-radius:14px;padding:4px 0;box-shadow:0 1px 3px rgba(23,63,115,.06)}
.km-list>li+li{border-top:1px solid #eef2f8}
.km-row{display:flex;align-items:center}
.km-row a{flex:1;display:block;padding:14px 18px;font-size:16px;font-weight:700;color:#142c4f;text-decoration:none}
.km-tg{flex:none;width:52px;height:48px;border:0;background:none;font-size:24px;line-height:1;color:#1b4a8a;cursor:pointer}
.km-sub{background:#fffbeb;padding:4px 0 8px}
.km-sub a{display:block;padding:10px 18px 10px 32px;font-size:15px;color:#23406b;text-decoration:none}
.km-row a:active,.km-sub a:active,.km-top a:active{background:#fff7d9}
body.km-open{overflow:hidden}
@media (max-width:389px){.mq-map{width:32px;height:32px}.mq-map svg{width:17px;height:17px}.hd .m-quick>a{font-size:13px;padding:9px 3px}.hd .m-quick .guide-menu>.nav-main-link{font-size:13px;padding-left:5px}.m-quick .nav-menu-toggle{width:14px}}
/* 단위 288: 모든 고객 화면 위·좌우 여백 통일 (대표 요청: 페이지별·기종별 여백 전체 통일)
   위: 머리글(판매 준비 띠 포함) 아래 ~ 첫 내용 = 휴대폰 16px · 태블릿·PC 24px (첫 화면은 롤링 배너 위)
   좌우: 휴대폰 16px · 태블릿·PC 20px (본문 폭 안). 아래(단위 287): 휴대폰 28px · PC 32px */
main.wrap:not(.home-main){padding-top:24px}
main.wrap:not(.home-main)>:first-child{margin-top:0!important}
main.wrap:not(.home-main)>section:first-child:not(.panel){padding-top:0}
.q-hero>.pband:first-child{margin-top:0}
.pd-top{padding-top:0}
.hb{margin-top:24px}
@media (max-width:600px){
  main.wrap:not(.home-main){padding-top:16px}
  .hb{margin-top:16px}
  .guide .ghero{margin-left:0;margin-right:0} /* 가이드 머리 영상이 좌우로 4px 튀어나오던 것 */
}
@media (max-width:359px){.ab-info{table-layout:fixed}.ab-info th{width:96px}.ab-info th,.ab-info td{padding:10px 10px;word-break:keep-all;overflow-wrap:anywhere}} /* 회사 소개 표가 가장 작은 휴대폰(320)에서 옆으로 6px 넘치던 것 */

/* 단위 299 (대표 요청): 맨 위로 → 위로·아래로 두 개 세로로. 바깥 상자(.totop)는 자리만, 동그라미는 안쪽 버튼 */
.totop{width:auto;height:auto;border:0;background:none;box-shadow:none;border-radius:0;display:flex;flex-direction:column;gap:8px;color:inherit}
.totop[hidden]{display:none}
.totop:hover{background:none}
.totop .tt-b{width:46px;height:46px;border-radius:50%;border:1px solid #cdd6e3;background:rgba(255,255,255,.96);color:#142c4f;display:grid;place-items:center;box-shadow:0 6px 18px rgba(23,63,115,.16);cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent}
.totop .tt-b:hover{background:#fff;color:var(--blue)}
.totop .tt-b:focus-visible{outline:3px solid #ffb703;outline-offset:2px}
.totop .tt-b[aria-disabled="true"]{opacity:.4;cursor:default;box-shadow:none}
@media (max-width:760px){
  /* 대표 요청(10/19): 아래로 화살표를 예전 「맨 위로」 자리에, 위로는 그 위에 */
  .totop{width:auto;height:auto;gap:6px;right:14px;bottom:calc(136px + env(safe-area-inset-bottom))}
  .totop .tt-b{width:42px;height:42px}
  /* 상품 화면 등 아래 예약 바가 있는 화면: 예약 바가 조금 높아 그만큼 */
  body.has-mbar .totop,body:has(#book) .totop{bottom:calc(142px + env(safe-area-inset-bottom))}
}
@media (min-width:1180px) and (max-width:1499px) and (min-height:600px){
  .qr-down{margin-top:-1px}
}

/* 단위 304 (대표: PC에서 AI 상담 2개): 1500px 이상은 떠 있는 「AI상담」 버튼이 바로가기 바로 밑에 있으므로(단위 128)
   바로가기 안 「AI상담」(1180~1499px 전용)이 함께 보이던 문제 — .qrail button 규칙이 숨김을 덮어썼음 */
@media (min-width:1500px){.qrail .qr-ai{display:none}}
/* 단위 305 (대표 요청): 맨 위 런칭특가 띠 — 사진 위 글씨, ✕로 닫기(닫으면 그 높이만큼 화면이 위로) */
.kpromo{position:relative;height:64px;background:#0f2f5c url(/assets/strip/strip-promo.jpg) center 55%/cover no-repeat;color:#fff;overflow:hidden}
.kpromo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,34,74,.9) 0%,rgba(9,34,74,.78) 42%,rgba(9,34,74,.25) 78%,rgba(9,34,74,.05))}
.kpromo-in{position:relative;max-width:1240px;height:100%;margin:0 auto;padding:0 60px 0 20px;display:flex;align-items:center;gap:14px}
.kp-tag{flex:none;background:#e5383b;color:#fff;font-weight:800;font-size:14px;line-height:1;padding:7px 12px;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.kp-t{display:flex;align-items:baseline;gap:14px;min-width:0}
.kp-t b{font-size:19px;font-weight:800;letter-spacing:-.02em;white-space:nowrap;text-shadow:0 1px 6px rgba(0,0,0,.35)}
.kp-t em{font-style:normal;color:#ffd166}
.kp-t small{font-size:14px;opacity:.92;white-space:nowrap;text-shadow:0 1px 6px rgba(0,0,0,.35)}
.kp-s{display:none}
.kp-x{position:absolute;top:50%;right:max(12px,calc(50% - 620px));transform:translateY(-50%);width:38px;height:38px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(9,34,74,.6);color:#fff;display:grid;place-items:center;cursor:pointer}
.kp-x:hover{background:rgba(9,34,74,.85)}.kp-x:focus-visible{outline:3px solid #ffb703;outline-offset:2px}
.kp-sm{display:none}
@media (max-width:1100px){.kp-sl{display:none}}
@media (max-width:760px){
  .kpromo{height:56px}
  .kpromo::before{background:linear-gradient(90deg,rgba(9,34,74,.9),rgba(9,34,74,.78) 70%,rgba(9,34,74,.6))}
  .kpromo-in{padding:0 50px 0 14px}
  .kp-tag,.kp-l{display:none}
  .kp-t{flex-direction:column;align-items:flex-start;gap:1px;min-width:0}
  .kp-sm{display:block;font-size:12px;line-height:1.3;font-weight:700;color:#ffd5d5}
  .kp-t .kp-s{display:block;font-size:16px;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .kp-x{right:8px;width:34px;height:34px}
}
@media (max-width:359px){.kpromo-in{padding:0 46px 0 12px}.kp-t .kp-s{font-size:13.5px}.kp-sm{font-size:11px}}
@media (min-width:1180px) and (max-width:1499px) and (min-height:600px){body.has-rail .kpromo{margin-right:-98px}}
@media print{.kpromo{display:none!important}}

/* ==========================================================
   코리아레일투어 리뉴얼 층 (K트레인 화면 뼈대 위에 코리아레일투어 얼굴)
   — 남색(#13315c) + 「기차여행 노란깃발」 노랑(#ffc531). 할인·주관사 표시 없음
   ========================================================== */
:root{--flag:#ffc531;--flag-deep:#e0a400;--flag-ink:#6b4e00;--krt:#13315c}
/* 머리글 위 한 줄: 회사 한마디 · 전화 예약 · 예약조회 · 대리점 예약 (PC) */
.kutil{background:var(--krt);color:#d9e1ec;font-size:14px;position:relative;z-index:31}
.kutil .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px}
.ku-l{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ku-l b{color:var(--flag);font-weight:800;margin-right:6px;letter-spacing:.02em}
.ku-r{display:flex;align-items:center;gap:2px;flex:none}.ku-r a{padding:6px 10px;color:#fff;font-weight:600;border-radius:6px}.ku-r a:hover{background:rgba(255,255,255,.1)}
.ku-r .ku-tel{display:flex;align-items:baseline;gap:6px;background:var(--flag);color:var(--krt);margin-right:8px;padding:5px 12px}
.ku-r .ku-tel:hover{background:#ffd35c}.ku-tel span{font-size:13px;font-weight:700}.ku-tel b{font-size:17px;font-weight:800;letter-spacing:.01em}.ku-tel small{font-size:12px;font-weight:600;opacity:.85}
/* 회원: 로그인 · 회원가입 / ○○님 · 마이페이지 · 로그아웃 */
.ku-m{display:flex;align-items:center;gap:2px;margin-left:6px;padding-left:6px;border-left:1px solid rgba(255,255,255,.22);min-height:22px}
.ku-m button{border:0;background:none;padding:6px 10px;color:#fff;font:inherit;font-weight:600;border-radius:6px;cursor:pointer}.ku-m button:hover{background:rgba(255,255,255,.1)}
.ku-m .ku-me{color:var(--flag);max-width:9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:1040px){.ku-r .ku-tel small{display:none}}
/* 윗줄 신년 해돋이 칸 (2026-10-21): 빠진 바로가기 세 개 자리까지 넓게 — 해 뜨는 색 */
.ku-r a.ku-sun{display:flex;align-items:center;gap:10px;min-width:440px;margin-right:6px;padding:5px 14px 5px 10px;border-radius:8px;color:#3d1f00;background:linear-gradient(90deg,#ffb05c 0%,#ffd45c 70%,#ffe48a 100%);font-weight:700}
.ku-r a.ku-sun:hover{background:linear-gradient(90deg,#ffa347 0%,#ffcd45 70%,#ffdf75 100%)}
.ku-sun b{font-size:15.5px;font-weight:800;letter-spacing:-.01em}.ku-sun small{font-size:13px;font-weight:600;opacity:.8}.ku-sun-go{margin-left:auto;font-size:18px;line-height:1}
.ku-sun-i{flex:none;width:26px;height:16px;position:relative;overflow:hidden}
.ku-sun-i::before{content:"";position:absolute;left:5px;bottom:-8px;width:16px;height:16px;border-radius:50%;background:#e8590c}
.ku-sun-i::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:2px;background:#13315c}
@media (max-width:1180px){.ku-r a.ku-sun{min-width:0}.ku-sun small{display:none}}
@media (max-width:760px){.kutil{display:none}}
/* 머리글: 아래 노란 선 · 로고 두 줄 */
.hd{border-bottom:3px solid var(--flag)}
.logo{color:var(--krt)}.logo svg{width:34px;height:34px;flex:none}
.logo .logo-t{display:flex;flex-direction:column;line-height:1.08}
.logo .logo-t small{margin:3px 0 0;font-size:12px;font-weight:700;color:#8a6400;letter-spacing:0}
.nav a.cta{background:var(--krt);color:#fff}.nav a.cta:hover{background:#0d2547}
.guide-submenu .mgrp{display:block;font-weight:800;color:var(--krt);padding-top:4px;border-top:1px solid #e6eaf0}
.guide-submenu a:first-child .mgrp{border-top:0;padding-top:0}
.guide-submenu .msub{display:block;padding-left:12px;font-weight:600;color:#36506f}
.guide-submenu .msub::before{content:"";display:inline-block;width:6px;height:6px;border-radius:2px;background:var(--flag);margin:0 8px 2px 0;vertical-align:middle}
.guide-submenu a[hidden]{display:none!important}
@media (min-width:601px) and (max-width:1180px){.hd .nav a,.hd .nav .nav-main-link{padding-left:8px;padding-right:8px;font-size:16px}}
@media (max-width:600px){.logo .logo-t small{display:none}}
/* 상품 목록 제목 옆 한 줄 안내 */
.ph-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px}.ph-note{margin:0;font-size:15px;color:var(--muted)}
@media (max-width:600px){.ph-note{display:none}}
/* 카드 가격 두 줄: 「당일·1박 2일」 | 출발 요일 / 「성인 1인」 | 판매가 */
.card .body .price .pdays{justify-self:end;font-size:clamp(11px,6cqi,15px);font-weight:700;color:#36506f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.card .body .price .plab{justify-self:start;font-size:clamp(11px,6cqi,15px);color:var(--muted);font-weight:600}
.card .body .price .now{justify-self:end;color:var(--krt)}
.card .body .price .dur{background:#fff4d1;color:#5c4300}
.card .badge{background:var(--krt);color:#fff}
.chip[aria-pressed="true"]{background:var(--krt);border-color:var(--krt);color:#fff}
.chip.catc{background:var(--flag);border-color:var(--flag-deep);color:var(--krt)}
.chip.catc[aria-pressed="true"]{background:var(--flag);color:var(--krt);box-shadow:inset 0 0 0 2px var(--krt)}
/* 첫 화면 배너 가격 (할인 표시 없음) */
.hb-price .hb-pl{font-size:15px;font-weight:700;color:#23406b}.hb-price b{color:var(--krt)}
/* 왜 코리아레일투어인가 — 노란깃발 */
.kwhy{background:var(--krt);color:#e8edf4;border-radius:var(--radius);padding:30px 32px;margin-top:8px}
.kwhy-head{display:flex;gap:18px;align-items:flex-start;max-width:780px}
.kwhy-head h2{color:#fff;margin:0 0 6px;font-size:28px;letter-spacing:-.02em}.kwhy-head p{margin:0;font-size:17px;line-height:1.7}.kwhy-head p b{color:var(--flag)}
@media (min-width:1300px){.kwhy-head{max-width:none}.kwhy-head p{white-space:nowrap;font-size:16px}} /* PC: 소개 한 줄 (2026-10-21 대표 요청) */
.kwhy-flag{flex:none;width:46px;height:58px;position:relative;margin-top:4px}
.kwhy-flag::before{content:"";position:absolute;left:4px;top:0;width:4px;height:58px;border-radius:2px;background:#fff}
.kwhy-flag::after{content:"";position:absolute;left:8px;top:2px;width:36px;height:24px;background:var(--flag);border-radius:0 6px 6px 0;clip-path:polygon(0 0,100% 8%,86% 50%,100% 92%,0 100%)}
@media (prefers-reduced-motion:no-preference){.kwhy-flag::after{animation:kflag 2.6s ease-in-out infinite;transform-origin:left center}@keyframes kflag{0%,100%{transform:skewY(0)}50%{transform:skewY(-5deg) scaleX(.94)}}}
.kwhy-list{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.18)}
.kwhy-list li{padding:16px 18px 2px 0;margin-right:18px;border-right:1px solid rgba(255,255,255,.12)}.kwhy-list li:last-child{border-right:0;margin-right:0}
.kwhy-list b{display:block;color:#fff;font-size:18px;margin-bottom:4px}.kwhy-list b a{color:var(--flag);text-decoration:underline;text-underline-offset:3px}
.kwhy-list span{font-size:15px;color:#c9d3e0;line-height:1.6}
@media (max-width:900px){.kwhy-list{grid-template-columns:1fr 1fr}.kwhy-list li:nth-child(2){border-right:0;margin-right:0}}
@media (max-width:600px){.kwhy{padding:22px 18px;border-radius:12px}.kwhy-head h2{font-size:22px}.kwhy-head p{font-size:15.5px}.kwhy-flag{width:34px;height:44px}.kwhy-flag::before{height:44px}.kwhy-flag::after{width:26px;height:18px}
  .kwhy-list{grid-template-columns:1fr}.kwhy-list li{border-right:0;margin-right:0;padding:12px 0 2px;border-bottom:1px solid rgba(255,255,255,.1)}.kwhy-list li:last-child{border-bottom:0}}
/* 지역·테마별 타일 (원본 분류) */
.kcats-g{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.kcat{position:relative;display:block;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#13315c,#2c5d9e);color:#fff}
.kcat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.kcat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,37,71,0) 35%,rgba(13,37,71,.82) 100%)}
.kcat-t{position:absolute;left:14px;right:14px;bottom:12px;z-index:1;display:flex;flex-direction:column;gap:1px}
.kcat-t b{font-size:21px;letter-spacing:-.02em}.kcat-t small{font-size:14px;opacity:.92}.kcat-t em{font-style:normal;font-size:13px;font-weight:800;color:var(--krt);background:var(--flag);border-radius:999px;padding:1px 9px;align-self:flex-start;margin-top:6px}
.kcat:hover img{transform:scale(1.03)}.kcat img{transition:transform .4s}
.kcat:focus-visible{outline:3px solid var(--flag);outline-offset:2px}
@media (max-width:900px){.kcats-g{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.kcats-g{gap:8px}.kcat-t b{font-size:17px}.kcat-t small{font-size:12.5px}.kcat-t{left:10px;right:10px;bottom:9px}}
@media (prefers-reduced-motion:reduce){.kcat img{transition:none}}
/* 휴대폰 아래 메뉴: 가운데 둥근 버튼 = 홈 · 전화 예약 */
.tb-tel .tb-hi{border-color:#f3d47a;box-shadow:0 6px 16px rgba(224,164,0,.3)}
.tb-tel .tb-l{color:var(--krt)!important}
/* PC 오른쪽 바로가기: 전화 예약 */
.qr-tel{display:flex;flex-direction:column;align-items:center;gap:0;background:var(--flag);color:var(--krt);border-radius:10px;padding:8px 4px;text-align:center;line-height:1.25}
.qr-tel span{font-size:12.5px;font-weight:700}.qr-tel b{font-size:14px;font-weight:800;letter-spacing:-.01em}.qr-tel small{font-size:11px;font-weight:600}
/* 바닥글 보조 줄 */
.ft-sub{font-size:14px;opacity:.85;margin:4px 0 0}.ft-bank2{margin:2px 0}.ft-bank2 b{font-weight:800}

/* ── 첫 화면 전체 폭 띠배너 (굿모닝형 리뉴얼 · tpl/index.html kbInit) ── */
.kb{position:relative;width:100%;height:clamp(320px,31vw,540px);overflow:hidden;background:var(--krt)}
.kb-list{position:absolute;inset:0}
.kb-s{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility 0s .8s}
.kb-s.on{opacity:1;visibility:visible;transition:opacity .8s ease}
.kb-a{position:absolute;inset:0;display:block;color:#fff;text-decoration:none}
.kb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%)}
.kb-a::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,22,44,.66) 0%,rgba(8,22,44,.34) 42%,rgba(8,22,44,0) 72%)}
.kb-txt{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding-left:84px;padding-right:84px}
.kb-tag{background:var(--flag);color:var(--krt);font-weight:800;font-size:15px;border-radius:999px;padding:4px 13px;margin-bottom:10px}
.kb-t1,.kb-t2{display:block;font-size:clamp(30px,3.5vw,56px);font-weight:900;letter-spacing:-.035em;line-height:1.16;text-shadow:0 2px 14px rgba(0,0,0,.38);max-width:15em;text-wrap:balance}
.kb-t2{color:#ffd23f}
.kb-go{display:flex;align-items:center;gap:16px;margin-top:18px;font-size:17px;font-weight:600;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.kb-go b{font-size:28px;font-weight:900;letter-spacing:-.02em}
.kb-btn{background:#fff;color:var(--krt);font-weight:800;border-radius:999px;padding:9px 20px;font-size:16px;text-shadow:none;transition:background .2s}
.kb-a:hover .kb-btn{background:var(--flag)}
.kb-a:focus-visible{outline:3px solid var(--flag);outline-offset:-6px}
.kb-arw{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:52px;height:52px;border-radius:50%;border:0;background:rgba(255,255,255,.94);color:var(--krt);display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.2)}
.kb-arw:hover{background:var(--flag)}.kb-arw:focus-visible{outline:3px solid var(--flag);outline-offset:2px}
.kb-prev{left:max(12px,calc(50% - 640px))}.kb-next{right:max(12px,calc(50% - 640px))}
.kb-dots{position:absolute;left:0;right:0;bottom:18px;z-index:3;display:flex;justify-content:center;gap:8px}
.kb-dots button{width:10px;height:10px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.6);cursor:pointer;transition:width .3s}
.kb-dots button[aria-current="true"]{width:30px;background:var(--flag)}
.kb .aimark{top:auto;bottom:16px;right:max(12px,calc(50% - 640px));z-index:3}
@media (max-width:600px){
  .kb{height:clamp(260px,78vw,360px)}
  .kb-img{object-position:var(--mpos,50% 50%)}
  .kb-a::after{background:linear-gradient(0deg,rgba(8,22,44,.78) 0%,rgba(8,22,44,.3) 52%,rgba(8,22,44,0) 78%)}
  .kb-txt{justify-content:flex-end;padding:0 18px 40px}
  .kb-tag{font-size:12.5px;padding:3px 10px;margin-bottom:6px}
  .kb-t1,.kb-t2{font-size:clamp(21px,6.4vw,28px)}
  .kb-go{margin-top:8px;font-size:14px}.kb-go b{font-size:19px}.kb-btn{display:none}
  .kb-arw{width:36px;height:36px;top:42%}.kb-arw svg{width:17px;height:17px}.kb-prev{left:8px}.kb-next{right:8px}
  .kb-dots{bottom:14px}.kb .aimark{top:12px;bottom:auto;right:10px}
}
@media (prefers-reduced-motion:reduce){.kb-s,.kb-s.on{transition:none}}

/* ── 첫 화면 테마 진열: 왼쪽 그림 판(제목 + 테마 단추) · 오른쪽 상품 카드 넘김 ── */
.kshows{display:grid;gap:48px;margin:40px 0 8px}.kshows:empty{display:none}
#kshowMid{margin:12px 0 40px}
.ks{display:grid;grid-template-columns:400px minmax(0,1fr);align-items:center}
.ks-panel{grid-column:1;grid-row:1;position:relative;min-height:540px;border-radius:18px;overflow:hidden;background:#fff1c4 var(--ks-img) center/cover no-repeat;padding:48px 36px}
.ks-panel::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.82) 34%,rgba(255,255,255,.1) 74%,rgba(255,255,255,0) 100%)}
.ks-panel>*{position:relative}
.ks-panel h2{margin:0;font-size:32px;line-height:1.3;font-weight:600;color:var(--krt);letter-spacing:-.03em}
.ks-panel h2 em{font-style:normal;font-weight:900}
.ks-tabs{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:28px}
.ks-tabs button{min-width:210px;text-align:left;border:0;border-radius:999px;background:#fff;color:var(--krt);font-size:16px;font-weight:700;padding:11px 22px;box-shadow:0 3px 12px rgba(19,49,92,.16);cursor:pointer;transition:background .2s,color .2s}
.ks-tabs button:hover{background:#fff6d6}
.ks-tabs button[aria-selected="true"]{background:var(--krt);color:#fff;box-shadow:0 6px 16px rgba(19,49,92,.32)}
.ks-tabs button[aria-selected="true"]::after{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--flag);margin-left:10px;vertical-align:2px}
.ks-tabs button:focus-visible{outline:3px solid var(--flag);outline-offset:2px}
.ks-ai{position:absolute!important;right:12px;bottom:12px;background:rgba(19,49,92,.86);color:#fff;font-size:12px;font-weight:600;border-radius:999px;padding:2px 8px}
.ks-body{grid-column:1/-1;grid-row:1;margin-left:330px;min-width:0;position:relative;z-index:1;background:#fff;border-radius:18px;box-shadow:0 16px 44px rgba(19,49,92,.15);padding:22px 26px 26px}
.ks-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 14px}
.ks-head span{font-size:17px;font-weight:700;color:#36506f}.ks-head span b{color:var(--krt)}
.ks-head a{font-size:15px;font-weight:700;color:#46566e}.ks-head a:hover{color:var(--krt);text-decoration:underline}
.ks-rail{position:relative}
.ks-row{list-style:none;margin:0;padding:0 0 4px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 44px)/3);gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.ks-row::-webkit-scrollbar{display:none}
.ks-row>li{scroll-snap-align:start;min-width:0}
.ks-card{display:flex;flex-direction:column;gap:9px;height:100%;color:inherit;text-decoration:none}
.ks-card:focus-visible{outline:3px solid var(--flag);outline-offset:3px;border-radius:12px}
.ks-ph.thumb{display:block;aspect-ratio:1/.9;border-radius:12px;background:linear-gradient(135deg,#13315c,#2c5d9e)}
.ks-ph img.photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.ks-card:hover img.photo{transform:scale(1.04)}
.ks-ph .ph .rg{font-size:24px}
.ks-from{position:absolute;left:10px;top:10px;z-index:2;background:var(--krt);color:#fff;font-size:13px;font-weight:700;border-radius:8px;padding:3px 8px}
.ks-chips{display:flex;flex-wrap:wrap;gap:6px}
.ks-ty{border:1px solid #c5cfdd;color:#36506f;font-size:13px;font-weight:700;border-radius:6px;padding:1px 7px;background:#fff}
.ks-cf{background:#e11d48;color:#fff;font-size:13px;font-weight:700;border-radius:6px;padding:2px 7px}
.ks-t{font-size:17px;font-weight:700;line-height:1.45;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em}
.ks-btm{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:auto}
.ks-btm small{font-size:13px;color:var(--muted)}
.ks-pr{font-size:24px;font-weight:900;color:var(--ink);letter-spacing:-.02em;white-space:nowrap}.ks-pr small{font-size:15px;font-weight:600;color:var(--ink)}
.ks-arw{position:absolute;top:36%;z-index:2;width:42px;height:42px;border-radius:50%;border:0;background:#fff;color:var(--krt);font-size:26px;line-height:1;box-shadow:0 4px 14px rgba(19,49,92,.22);cursor:pointer}
.ks-arw:hover{background:var(--flag)}.ks-l{left:-18px}.ks-r{right:-18px}.ks-arw[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.ks-card:hover img.photo{transform:none}}
@media (max-width:1100px){.ks{grid-template-columns:330px minmax(0,1fr)}.ks-body{margin-left:270px}.ks-row{grid-auto-columns:calc((100% - 22px)/2)}.ks-panel{padding:40px 26px}.ks-tabs button{min-width:180px}}
@media (max-width:760px){
  .kshows{gap:30px;margin:26px 0 6px}
  .ks{grid-template-columns:1fr}
  .ks-panel{min-height:0;padding:22px 18px 46px;border-radius:16px}
  .ks-panel::before{background:linear-gradient(180deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.82) 60%,rgba(255,255,255,.55) 100%)}
  .ks-panel h2{font-size:23px}
  .ks-tabs{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:8px;margin:14px -18px 0;padding:2px 18px 6px;scrollbar-width:none}.ks-tabs::-webkit-scrollbar{display:none}
  .ks-tabs button{min-width:0;flex:none;padding:9px 15px;font-size:14.5px}
  .ks-ai{bottom:auto;top:12px}
  .ks-body{grid-column:1;grid-row:2;margin:-30px 8px 0;padding:16px 14px 18px;border-radius:14px}
  .ks-head span{font-size:15px}
  .ks-row{grid-auto-columns:64%;gap:12px}
  .ks-arw{display:none}
  .ks-t{font-size:15.5px}.ks-pr{font-size:20px}.ks-btm small{font-size:12px}
}
/* 오른쪽 바로가기가 있는 넓은 PC: 띠배너·머리글 위 줄은 화면 오른쪽 끝까지 */
@media (min-width:1180px) and (max-width:1499px) and (min-height:600px){body.has-rail .kb,body.has-rail .kutil{margin-right:-98px;width:auto}body.has-rail .kutil{padding-right:98px}}
@media (max-width:600px){.kb-arw{display:none}.ks-btm>small{display:none}.ks-btm{justify-content:flex-end}}
/* AI상담 아래 메뉴 버튼 — 코리아레일투어 색 (네이비·노랑) 2026-10-21 */
.tabbar .tb-ai .tb-hi{border-color:#f1df9e;box-shadow:0 6px 16px rgba(19,49,92,.22)}
.tabbar .tb-ai .tb-l{color:var(--krt)}

/* 바닥글 계좌안내 — 원래 홈페이지와 같은 배치(은행 표시 · 은행 이름 · 번호), 글씨는 이 사이트 글꼴 (2026-10-21) */
.ft-bk h2 small{font-size:13.5px;font-weight:600;margin-left:6px;color:#4a6382;letter-spacing:0}
.bk-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #f0dd9a}
.bk-row:first-child{padding-top:2px}
.bk-mk{flex:none;display:inline-grid;place-items:center;width:30px;height:22px;border-radius:5px;font-size:11.5px;font-weight:900;letter-spacing:.02em;line-height:1}
.bk-kb{background:#ffbc00;color:#4a4130}.bk-nh{background:#0a5fb4;color:#fff}.bk-etc{background:#5b6b82;color:#fff}
.bk-nm{width:90px;flex:none;font-size:15px;font-weight:700;color:#36506f}
.bk-no{border:0;background:none;padding:0;font:inherit;font-size:19px;font-weight:800;color:#142c4f;letter-spacing:.01em;font-variant-numeric:tabular-nums;cursor:pointer;text-align:left;display:inline-flex;align-items:baseline;gap:6px}
.bk-no small{font-size:12px;font-weight:600;color:#7a8aa0}.bk-no:hover small{color:#142c4f;text-decoration:underline}
.bk-ars{border-bottom:0}.bk-ars .bk-nm{width:auto;margin-right:2px}.bk-ars .bk-no{color:#1d5fbf;text-decoration:none}
.bk-arsb{margin-top:4px!important}
.ars-dlg{border:0;border-radius:16px;padding:0;max-width:640px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 20px 60px rgba(15,35,70,.3)}
.ars-dlg::backdrop{background:rgba(15,30,55,.5)}
.ars-in{padding:26px 26px 22px;position:relative}
.ars-x{position:absolute;right:12px;top:10px;border:0;background:none;font-size:20px;width:40px;height:40px;cursor:pointer;color:#5b6b82;border-radius:8px}.ars-x:hover{background:#f1f4f8}
.ars-dlg h2{margin:0 0 16px;font-size:21px;padding-bottom:12px;border-bottom:1px solid #e6ebf2}
.ars-dlg h3{margin:20px 0 8px;font-size:17px}
.ars-st{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ars-st li{background:#fff8e1;border:1px solid #f3e2a6;border-radius:12px;padding:12px 8px;text-align:center;font-size:14px;line-height:1.5}
.ars-n{display:block;font-weight:800;color:#1d5fbf;font-size:13px;margin-bottom:4px}
.ars-od{margin:0;padding:0;list-style:none;counter-reset:a}
.ars-od li{counter-increment:a;display:flex;gap:10px;align-items:baseline;padding:8px 0;border-bottom:1px dashed #dfe5ee;font-size:15px}
.ars-od li::before{content:counter(a);flex:none;display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1.5px solid #1d5fbf;color:#1d5fbf;font-size:12.5px;font-weight:800}
.ars-od small{color:#5b6b82;font-size:13px}
.ars-tel{margin:14px 0 4px;font-size:16px;font-weight:700}.ars-tel a{font-size:22px;color:#1d5fbf;margin-left:6px}
.ars-note{margin:0;font-size:13.5px;color:#5b6b82}
@media (max-width:560px){.ars-st{grid-template-columns:repeat(2,1fr)}.ars-in{padding:22px 18px 18px}}
/* 「역에서 노란깃발을 찾으세요」 상자: 휴대폰에서 안쪽 여백이 0이 되어(main .sec 규칙) 글자가 왼쪽 끝에 붙던 문제 — 아래 진행 순서 숫자 정도로 들여씀 (2026-10-21) */
main .sec.kwhy{padding:30px 32px}
@media (max-width:600px){main .sec.kwhy{padding:24px 24px 20px}}
/* 테마 진열 단추 줄 양끝 「‹ ›」 (휴대폰, 2026-10-21) — 분류 칩 줄 화살표와 같은 모양 */
.ks-tw{position:relative}.ks-ta{display:none}
@media (max-width:760px){
  .ks-tw{margin:14px -18px 0}.ks-tw .ks-tabs{margin:0}
  .ks-ta:not([hidden]){display:grid;place-items:center;position:absolute;top:calc(50% - 2px);transform:translateY(-50%);z-index:2;width:30px;height:30px;padding:0 0 2px;border-radius:50%;border:1px solid #f5e6b3;background:#fff;color:#1b4a8a;font-size:21px;font-weight:800;line-height:1;box-shadow:0 2px 8px rgba(23,63,115,.2);cursor:pointer}
  .ks-tl{left:6px}.ks-tr{right:6px}
}
/* 2026-10-21 대표 요청: 계좌 옆 작은 「복사」 · ARS 결제 방법 안내를 번호 옆 한 줄 · PC 앱 설치는 바로가기 그림 아래 */
.qp-cp{display:inline-block;margin-left:7px;vertical-align:3px;border:1px solid #c9d6ea;background:#fff;color:#1b4a8a;border-radius:6px;padding:1px 7px;font-size:12px;font-weight:700;line-height:1.6;cursor:pointer;letter-spacing:0}
.qp-cp:hover{background:#eef4ff}
.bk-ars{flex-wrap:wrap;row-gap:6px}.bk-arsb{margin-left:4px;border:1px solid #ecd27f;background:rgba(255,255,255,.7);color:#142c4f;border-radius:7px;padding:4px 10px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.bk-arsb:hover{background:#fff}
@media (min-width:901px){
  .ft-app-mo{display:none!important}
  .ft .ft-col-go{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:18px}
  .ft .ft-col-go .ft-tiles{flex:none;grid-template-columns:repeat(4,minmax(0,1fr))}
  .ft-app-pc{margin-top:0!important}.ft-app-pc .ft-app{width:100%;justify-content:center}
}
@media (max-width:900px){.ft-app-pc{display:none!important}}
.bk-no{white-space:nowrap}
@media (max-width:600px){.bk-row{gap:8px}.bk-nm{width:auto;min-width:64px;font-size:14px}.bk-no{font-size:17px}.bk-mk{width:28px}}
.qr-pop .qp-cp,.cs-bankbox .qp-cp,.qrail .qp-cp{display:inline-block!important;width:auto!important;height:auto!important;min-height:0!important;margin:0 0 0 7px!important;padding:1px 7px!important;border:1px solid #c9d6ea!important;border-radius:6px!important;background:#fff!important;color:#1b4a8a!important;font-size:12px!important;font-weight:700!important;line-height:1.6!important;box-shadow:none!important;vertical-align:3px}
.qr-pop .qp-no,.cs-bankbox .qp-no{white-space:nowrap}
.qr-pop .qp-no{font-size:16.5px;letter-spacing:0}

/* 자주 묻는 질문: 원본 답의 줄바꿈(번호 규정)을 그대로 (2026-10-21) */
.faq details p{white-space:pre-line}
/* 바닥글 세 칸 높이·줄 맞춤 (2026-10-21 대표 요청): 고객센터 「24시간」 한 줄 · 세 칸 위아래 맞춤 */
@media (min-width:901px){
  .ft .ft-top{align-items:stretch}
  .ft .ft-top>.ft-col{display:flex;flex-direction:column;justify-content:space-between;gap:6px}
  .ft .ft-top>.ft-col>*{margin-top:0;margin-bottom:0}
  .ft .ft-bk .bk-ars{padding-bottom:0}
  .ft .ft-24{white-space:nowrap}
  .ft .ft-col-go{justify-content:space-between}
}
/* 계절 띠배너 글자 왼쪽 (사진 가운데 인물을 가리지 않게, 2026-10-21) — PC·태블릿만 */
@media (min-width:601px){.sband .sbx-left{justify-content:flex-start;text-align:left}.sband .sbx-left .sbx-in{padding-left:5%;align-items:flex-start}}
@media (max-width:600px){.sband .sbx{background-position:var(--sb-mpos,var(--sb-pos,center)),0 0}}
@media (min-width:601px){.sband .sbx-left::before{background:radial-gradient(ellipse 42% 85% at 22% 50%,rgba(255,255,255,.78),rgba(255,255,255,0) 100%)}}

/* 바닥글 정리 (2026-10-21 대표 요청): ARS 결제 방법 안내는 번호 오른쪽 · 국내여행 표준약관은 윗줄 오른쪽 ·
   대리점 예약~유튜브 5개는 아이콘 + 작은 글씨 한 줄 · 휴대폰 세로 간격 줄임 */
.ft .ft-bk .bk-ars{flex-wrap:nowrap}.ft .ft-bk .bk-arsb{margin:0 0 0 auto!important;white-space:nowrap;flex:0 0 auto}
.ft .fl{flex-wrap:wrap;align-items:center}.ft .fl-1{margin-bottom:0}.ft .fl-2{margin-top:2px;gap:14px}
.ft .fl-2 a{display:inline-flex!important;align-items:center;gap:5px;font-size:13.5px;font-weight:600;color:#3a4f6e}
.ft .fl-i{display:inline-flex;width:17px;height:17px}.ft .fl-i svg{width:100%;height:100%}
.ft .fl-b2b{color:#1d4f91}.ft .fl-kakaostory{color:#f2b705}.ft .fl-band{color:#1fbf54}.ft .fl-instagram{color:#d6336c}.ft .fl-youtube{color:#e11d1d}
@media (max-width:760px){
  .ft .fl{flex-wrap:nowrap!important;justify-content:space-between;gap:6px;margin:8px 0 0!important}
  .ft .fl a{padding:5px 0!important;white-space:nowrap}
  .ft .fl-1 a{font-size:12.5px!important;letter-spacing:-.2px}
  .ft .fl-2{margin-top:0!important;gap:3px!important}.ft .fl-2 a{font-size:11.5px!important;gap:2px;letter-spacing:-.4px}.ft .fl-i{width:14px;height:14px}
  .ft .ft-top{gap:14px}.ft .ft-col h2{margin-bottom:2px}
  .ft .bk-row{padding:6px 0}.ft .ft-bk .bk-ars{padding-top:8px}
  .ft .ft-bk .bk-arsb{font-size:12.5px;padding:4px 8px}
  .ft .ft-col p{margin:2px 0}
  .ft .ft-biz{margin-top:8px}.ft .ft-biz dl>div{padding:2px 0}.ft .ft-biz dt,.ft .ft-biz dd{font-size:13px;line-height:1.45}
}
@media (max-width:370px){.ft .fl-1 a{font-size:11.5px!important}.ft .fl-2 a{font-size:10.6px!important;letter-spacing:-.5px}.ft .fl-i{width:12px;height:12px}}
/* 첫 화면 「포토후기」 (2026-10-21) — 담당자가 고른 후기 4개까지 (api/seo.js homeReviews · 카드 모양은 assets/board.css 와 같음) */
.bd-home-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px}.bd-home-h h2{margin:0}
.bd-home-h a{font-weight:700;color:#1b4a8a;font-size:16px;white-space:nowrap}.bd-home-h a:hover{text-decoration:underline}
.bd-hgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.bd-home .bd-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e4e9f0;border-radius:14px;overflow:hidden;color:#142c4f;min-width:0}
.bd-home .bd-card:hover{box-shadow:0 8px 22px rgba(19,49,92,.12)}
.bd-home .bd-cph{position:relative;display:block;aspect-ratio:4/3;background:#eef2f7;overflow:hidden}
.bd-home .bd-cph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bd-home .bd-cnt{position:absolute;right:8px;bottom:8px;background:rgba(19,49,92,.82);color:#fff;border-radius:6px;padding:2px 8px;font-size:13px;font-weight:700}
.bd-home .bd-cb{display:flex;flex-direction:column;gap:4px;padding:12px 14px 14px;min-width:0}
.bd-home .bd-cb b{font-size:17px;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.bd-home .bd-cm{font-size:14px;color:#6b7a90}
@media (max-width:900px){.bd-hgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bd-home .bd-cb{padding:10px 10px 12px}.bd-home .bd-cb b{font-size:15.5px}.bd-home .bd-cm{font-size:13px}}
/* 머리글 윗줄 공지사항·여행후기 (2026-10-21) */
.ku-cs a{font-size:14px}

/* 상품 화면 「이 상품 여행후기」 (2026-10-21): 첫 화면 포토후기 카드 모양 그대로 + 글 미리보기 3줄 · 사진 없는 후기는 따옴표 칸을 낮게 */
.bd-prod{margin-top:8px}.bd-home .bd-noph{display:flex;align-items:center;justify-content:center;aspect-ratio:auto;height:64px;font-size:44px;font-weight:800;color:#c5d0de;background:#f4f7fb}
.bd-home .bd-ex{font-size:14.5px;color:#4a5b73;line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.bd-home .bd-cb b{display:-webkit-box}
@media (max-width:900px){.bd-home .bd-ex{font-size:13.5px}}
/* PC 오른쪽 바로가기 — 1180~1499px 좁은 칸 (2026-10-21 대표 요청 「너무 얇고 길어 — 이전처럼, K트레인 정도로」): 칸 폭 64 → 84px, 전화 예약 칸은 「전화 예약 / 번호」 두 줄로 줄이고 시간은 마우스를 올리면 */
@media (min-width:1180px) and (max-width:1499px) and (min-height:600px){
  .qrail .qr-tel{padding:6px 2px;gap:0;min-height:44px;line-height:1.2}
  .qrail .qr-tel span{font-size:11px}.qrail .qr-tel b{font-size:12.5px;white-space:nowrap}.qrail .qr-tel small{display:none}
  .qrail .qr-rec span,.qrail .qr-l{white-space:nowrap}
}
