/* 트래블마크 공용 — 디자인 #565 의 폭 갈래(760·1090)와 탭 모양. 쪽 CSS 는 pages/*.html 안에 */
@font-face{font-family:'SUIT Variable';src:url('../brand/SUIT-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:#FBF9F3;color:#17353A;font-family:'SUIT Variable','SUIT',sans-serif;-webkit-text-size-adjust:100%}
img{max-width:100%}
[hidden]{display:none!important}
:root{--tm-railPosition:sticky;--tm-railMaxHeight:calc(100vh - 24px);--tm-railOverflow:auto;--tm-galleryCols:repeat(4,minmax(0,1fr));--tm-heroHeight:100vh;--tm-cityCols:repeat(4,minmax(0,1fr));--tm-cityFlow:row;--tm-cityAutoCols:auto;--tm-cityOverflow:visible}
@media (max-width:1089.98px){:root{--tm-railPosition:static;--tm-railMaxHeight:none;--tm-railOverflow:visible}.tm-ge1090{display:none!important}}
@media (min-width:1090px){.tm-lt1090{display:none!important}}
@media (max-width:759.98px){:root{--tm-galleryCols:repeat(2,minmax(0,1fr));--tm-heroHeight:85vh;--tm-cityCols:none;--tm-cityFlow:column;--tm-cityAutoCols:min(72%,300px);--tm-cityOverflow:auto}.tm-ge760{display:none!important}}
@media (min-width:760px){.tm-lt760{display:none!important}}
.tm-tab{color:#4F6566;font-weight:600;background:none;border:0;border-bottom:2px solid transparent;padding:0 0 2px;font:inherit;font-weight:600;cursor:pointer}
.tm-tab[aria-selected=true]{color:inherit;font-weight:700;border-bottom-color:var(--tm-tabline)}
[data-tm-panel]:not(.is-on){display:none}

/* ── 숙소 찾기·할인·글 옆 할인 칸(#2077 · 29) — 카드는 eco-trip.php 가 같은 클래스로 찍는다 ── */
.tm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;background:#17353A;color:#FBF9F3;font:inherit;font-size:16px;font-weight:700;line-height:1.3;text-decoration:none;border:1px solid #B8925A;border-radius:10px;cursor:pointer}
.tm-btn:hover{background:#0F272B;color:#FBF9F3}
.tm-btn:disabled{background:#ECE9E1;color:#4F6566;border-color:#8E9B98;cursor:not-allowed}
.tm-btn-line{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;background:transparent;color:#17353A;font:inherit;font-size:15px;font-weight:700;text-decoration:none;border:1px solid #17353A;border-radius:10px;cursor:pointer}
.tm-btn-line:hover{border-color:#B8925A;color:#8E6B3C}
.tm-note{font-size:14px;line-height:1.55;color:#17353A}
.tm-hcard:focus-visible,.tm-deal:focus-visible,.tm-event:focus-visible,.tm-btn:focus-visible,.tm-btn-line:focus-visible,.tm-chip input:focus-visible+span{outline:2px solid #B8925A;outline-offset:3px}

/* 찾기 상자 */
.tm-sbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;background:#FFFFFF;border-radius:12px;box-shadow:0 12px 32px rgba(23,53,58,0.08);padding:clamp(16px,2vw,22px) clamp(16px,2.5vw,26px)}
.tm-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.tm-field>span,.tm-field>label{font-size:14px;font-weight:600;color:#4F6566}
.tm-field input{width:100%;min-height:48px;padding:0 14px;border:1px solid #E6E1D5;border-radius:10px;background:#FBF9F3;color:#17353A;font:inherit;font-size:16px}
.tm-field input:focus{outline:2px solid #B8925A;outline-offset:0;border-color:#B8925A}
.tm-field--q{flex:1 1 240px}
.tm-field--near{flex:1.4 1 300px}
.tm-near{display:flex;gap:8px;align-items:center}
.tm-near input{flex:1 1 auto}
.tm-maplink{flex:0 0 auto;min-height:48px;padding:0 4px;background:none;border:0;color:#17353A;font:inherit;font-size:15px;font-weight:700;text-decoration:underline;text-underline-offset:4px;white-space:nowrap;cursor:pointer}
.tm-maplink:hover{color:#8E6B3C}
.tm-sbar__go{flex:0 0 auto;min-width:120px;min-height:48px}
@media (max-width:759.98px){.tm-sbar__go{flex:1 1 100%}}

/* 결과 칸 배치: 모바일 1칸 · 1090~ 거르기|결과 · 1280~ 거르기|결과|할인 */
.tm-slayout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"r" "d";gap:clamp(32px,4vw,48px)}
.tm-filters{grid-area:f}.tm-rcol{grid-area:r}.tm-sdeals{grid-area:d;min-width:0}
@media (min-width:1090px){
  .tm-slayout{grid-template-columns:264px minmax(0,1fr);grid-template-areas:"f r" "f d";column-gap:40px}
  .tm-filters{position:sticky;top:12px;align-self:start;max-height:calc(100vh - 24px);overflow-y:auto;scrollbar-width:thin;display:flex;flex-direction:column;gap:18px;padding:4px 4px 4px 0}
  .tm-sheet-bg{display:none}
}
@media (min-width:1280px){
  .tm-slayout{grid-template-columns:264px minmax(0,1fr) 288px;grid-template-areas:"f r d"}
  .tm-sdeals{align-self:start;position:sticky;top:12px}
}
.tm-filters__hd{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tm-filters__hd h2{font-size:18px;font-weight:700;line-height:1.4}
.tm-filters__x{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:#17353A;font:inherit;font-size:28px;line-height:1;cursor:pointer}
.tm-filters__body{display:flex;flex-direction:column;gap:22px}
.tm-filters__ft{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tm-filters__reset{font-size:15px;font-weight:700;color:#17353A}
.tm-fs{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.tm-fs legend{float:left;width:100%;padding:0;margin:0 0 4px;font-size:15px;font-weight:700}
.tm-chip{position:relative;display:inline-flex}
.tm-chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.tm-chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid #E6E1D5;border-radius:999px;background:#FFFFFF;font-size:15px;font-weight:600;line-height:1.3;cursor:pointer}
.tm-chip:hover span{border-color:#B8925A}
.tm-chip input:checked+span{background:#17353A;border-color:#17353A;color:#FBF9F3}
@media (max-width:1089.98px){
  .tm-filters{position:fixed;left:0;right:0;bottom:0;z-index:60;max-height:88vh;display:flex;flex-direction:column;background:#FBF9F3;border-radius:16px 16px 0 0;box-shadow:0 -12px 40px rgba(23,53,58,0.18);transform:translateY(100%);visibility:hidden;transition:transform .32s cubic-bezier(.32,.72,0,1),visibility 0s linear .32s}
  .tm-filters.is-open{transform:none;visibility:visible;transition:transform .32s cubic-bezier(.32,.72,0,1)}
  .tm-filters__hd{padding:8px 12px 8px 20px;border-bottom:1px solid #E6E1D5}
  .tm-filters__body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:18px 20px 24px}
  .tm-filters__ft{padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #E6E1D5;background:#FBF9F3}
  .tm-filters__ft .tm-btn{flex:1 1 auto;max-width:240px}
  .tm-sheet-bg{position:fixed;inset:0;z-index:55;background:rgba(10,24,27,0.45)}
}
@media (prefers-reduced-motion:reduce){.tm-filters,.tm-filters.is-open{transition:none}}

/* 결과 */
.tm-rcol{display:flex;flex-direction:column;gap:14px;min-width:0}
.tm-rhead{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.tm-sort{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#4F6566}
.tm-sort select{min-height:44px;padding:0 12px;border:1px solid #E6E1D5;border-radius:10px;background:#FFFFFF;color:#17353A;font:inherit;font-size:16px;font-weight:600}
.tm-count{font-size:15px;color:#4F6566}
.tm-count b{color:#17353A;font-weight:700}
.tm-postband{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;padding:16px 20px;background:#DDE5DF;border-radius:12px;color:#17353A;text-decoration:none}
.tm-postband>span:first-child{font-size:14px;font-weight:700;letter-spacing:0.08em;color:#8E6B3C}
.tm-postband strong{flex:1 1 240px;font-size:17px;font-weight:700;line-height:1.45}
.tm-postband:hover strong{color:#8E6B3C}
.tm-hcards{list-style:none;margin:0;padding:0;border-top:1px solid #E6E1D5}
.tm-hcards>li{border-bottom:1px solid #E6E1D5}
.tm-hcard{display:grid;grid-template-columns:clamp(112px,20vw,220px) minmax(0,1fr);gap:clamp(14px,2vw,24px);padding:clamp(16px,2vw,22px) 0;color:#17353A;text-decoration:none}
.tm-hcard__img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:#ECE9E1}
.tm-hcard__body{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.tm-hcard__name{font-family:'Noto Serif KR',serif;font-size:clamp(18px,0.5vw + 15px,22px);font-weight:600;line-height:1.35;letter-spacing:-0.01em}
a.tm-hcard:hover .tm-hcard__name{color:#8E6B3C}
.tm-hcard__meta,.tm-hcard__dist{font-size:15px;color:#4F6566}
.tm-hcard__score{font-size:15px}
.tm-hcard__score b{font-weight:700}
.tm-rcol:not(:has(a.tm-hcard)) .tm-note__aff{display:none}
.tm-hcard__go,.tm-deal__go,.tm-event__go{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:auto;padding:0 18px;background:#17353A;color:#FBF9F3;font-size:15px;font-weight:700;border:1px solid #B8925A;border-radius:10px}
.tm-hcard__go{margin-top:8px}
a.tm-hcard:hover .tm-hcard__go,.tm-deal:hover .tm-deal__go,.tm-event:hover .tm-event__go{background:#0F272B}
@media (max-width:759.98px){.tm-hcard__go{align-self:stretch}}
.tm-more{display:flex;width:min(100%,320px);margin:10px auto 0}
.tm-empty{display:flex;flex-direction:column;align-items:center;gap:14px;padding:32px 24px;background:#FFFFFF;border-radius:12px;text-align:center;font-size:16px;line-height:1.6}

/* 할인·이벤트 쪽 */
.tm-dtabs{--tm-tabline:#17353A;display:flex;gap:22px;overflow-x:auto;margin:0 0 20px;font-size:16px;scrollbar-width:none}
.tm-dtabs .tm-tab{min-height:44px;white-space:nowrap}
.tm-dsec:has(.tm-deal,.tm-event)>.tm-empty{display:none}
.tm-deals,.tm-events{list-style:none;margin:0;padding:0;display:grid;gap:clamp(16px,2vw,24px)}
.tm-deals{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.tm-events{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.tm-deal,.tm-event{height:100%;display:flex;flex-direction:column;background:#FFFFFF;border-radius:12px;box-shadow:0 12px 32px rgba(23,53,58,0.08);color:#17353A;text-decoration:none;overflow:hidden}
.tm-deal__img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#ECE9E1}
.tm-deal__body{flex:1 1 auto;display:flex;flex-direction:column;gap:6px;padding:18px 20px 20px}
.tm-deal__rate{font-size:22px;font-weight:800;line-height:1.2;color:#8E6B3C}
.tm-deal__name,.tm-event__title{font-size:17px;font-weight:700;line-height:1.4}
.tm-deal__date,.tm-event__period{font-size:14px;line-height:1.5;color:#4F6566}
.tm-deal__go,.tm-event__go{margin-top:auto}
.tm-deal__date+.tm-deal__go,.tm-event__period+.tm-event__go{margin-top:10px}
.tm-deal:hover .tm-deal__name,.tm-event:hover .tm-event__title{color:#8E6B3C}
.tm-event{gap:8px;padding:22px 24px}

/* 글 옆 할인 칸 — 비면 칸째 숨김 */
.tm-side{display:flex;flex-direction:column;gap:14px}
.tm-side-deals,.tm-side-events{display:flex;flex-direction:column;gap:10px;background:#FFFFFF;border-radius:12px;box-shadow:0 12px 32px rgba(23,53,58,0.08);padding:20px 22px}
.tm-side:not(:has(.tm-deal,.tm-event)),.tm-side-deals:not(:has(.tm-deal)),.tm-side-events:not(:has(.tm-event)){display:none}
.tm-side__hd{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.tm-side__hd span:first-child{font-size:14px;font-weight:700;letter-spacing:0.08em;color:#8E6B3C}
.tm-side__hd span:last-child{font-size:14px;font-weight:600;color:#4F6566}
.tm-side__all{font-size:15px;font-weight:700}
.tm-side .tm-deals,.tm-side .tm-events{display:flex;flex-direction:column;gap:0}
.tm-side .tm-deal,.tm-side .tm-event{flex-direction:row;align-items:center;gap:12px;padding:10px 0;background:none;box-shadow:none;border-radius:0;border-bottom:1px solid #E6E1D5;overflow:visible}
.tm-side .tm-event{flex-direction:column;align-items:flex-start;gap:2px}
.tm-side .tm-deal__img{flex:0 0 76px;width:76px;height:76px;aspect-ratio:1;border-radius:8px}
.tm-side .tm-deal__body{padding:0;gap:2px}
.tm-side .tm-deal__rate{font-size:16px}
.tm-side .tm-deal__name,.tm-side .tm-event__title{font-size:15px}
.tm-side .tm-deal__go,.tm-side .tm-event__go{display:none}
.tm-side.tm-lt1090{margin:8px 0;max-width:560px}
.tm-side.tm-lt1090 .tm-deal__body{flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:8px;min-width:0}
.tm-side.tm-lt1090 .tm-deal__date{flex-basis:100%}
.tm-side.tm-lt1090 .tm-deal{padding:8px 0}
.tm-side.tm-lt1090 .tm-deal__name{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (min-width:1090px){div:has(>aside){flex-wrap:nowrap!important}}

/* 지도에서 고르기 */
.tm-map{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(10,24,27,0.5)}
.tm-map__box{width:min(100%,860px);max-height:92vh;display:flex;flex-direction:column;background:#FBF9F3;border-radius:14px;overflow:hidden}
.tm-map__hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 20px;font-size:16px;font-weight:700}
.tm-map__canvas{height:min(60vh,520px);background:#DDE5DF}
.tm-map__ft{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;font-size:15px}

/* 지역 메뉴 · 나라별 여행용품 · 저장함(#2127) — 메뉴 마크업은 eco-trip.php·eco-tripsale.php 가 찍는다 */
.tm-rm a:hover{color:#8E6B3C}
.tm-rm a:focus-visible,.tm-side-items a:focus-visible,.tm-save:focus-visible,.tm-fab:focus-visible,.tm-dw a:focus-visible,.tm-dw button:focus-visible{outline:2px solid #B8925A;outline-offset:3px}
.tm-rm__off{opacity:.55;cursor:default}
.tm-side-items{display:flex;flex-direction:column;gap:10px;background:#FFFFFF;border-radius:12px;box-shadow:0 12px 32px rgba(23,53,58,0.08);padding:20px 22px}
.tm-side-items ul{list-style:none;margin:0;padding:0}
.tm-side-items li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #E6E1D5}
.tm-side-items li a{font-size:15px;font-weight:700;line-height:1.45;color:#17353A;text-decoration:none}
.tm-side-items li a:hover{color:#8E6B3C}
.tm-save{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;background:#FFFFFF;color:#17353A;font:inherit;font-size:14px;font-weight:700;border:1px solid #E6E1D5;border-radius:999px;cursor:pointer;white-space:nowrap}
.tm-save:hover{border-color:#B8925A;color:#8E6B3C}
.tm-save::before{content:"☆";margin-right:6px;color:#8E6B3C}
.tm-save[aria-pressed=true]{background:#17353A;border-color:#17353A;color:#FBF9F3}
.tm-save[aria-pressed=true]::before{content:"★";color:#B8925A}
.tm-save--h1{align-self:flex-start;font-size:15px}
.tm-save--card{align-self:flex-start}
.tm-fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));z-index:50;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 20px;background:#17353A;color:#FBF9F3;font:inherit;font-size:15px;font-weight:700;border:1px solid #B8925A;border-radius:999px;box-shadow:0 12px 32px rgba(23,53,58,0.22);cursor:pointer}
.tm-fab b{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background:#B8925A;color:#17353A;border-radius:999px;font-size:14px}
.tm-fab:hover{background:#0F272B}
.tm-dw{position:fixed;inset:0;z-index:80}
.tm-dw__bg{position:absolute;inset:0;background:rgba(10,24,27,0.45)}
.tm-dw__box{position:absolute;top:0;right:0;bottom:0;width:min(100%,440px);display:flex;flex-direction:column;background:#FBF9F3;box-shadow:-12px 0 40px rgba(23,53,58,0.18);animation:tm-dw-in .28s cubic-bezier(.32,.72,0,1)}
@keyframes tm-dw-in{from{transform:translateX(100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.tm-dw__box{animation:none}}
.tm-dw__hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px 8px 22px;border-bottom:1px solid #E6E1D5}
.tm-dw__hd h2{font-family:'Noto Serif KR',serif;font-size:20px;font-weight:600;letter-spacing:-0.01em}
.tm-dw__tabs{margin:0;padding:12px 22px 0}
.tm-dw__note{margin:0;padding:10px 22px 0;font-size:14px;line-height:1.55;color:#4F6566}
.tm-dw__body{flex:1 1 auto;overflow:auto;overscroll-behavior:contain;padding:14px 22px 22px}
.tm-dw__empty{font-size:15px;line-height:1.6;color:#4F6566}
.tm-dw__list{list-style:none;margin:0;padding:0;border-top:1px solid #E6E1D5}
.tm-dw__list>li{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px 0;border-bottom:1px solid #E6E1D5}
.tm-dw__title{font-size:16px;font-weight:700;line-height:1.45;color:#17353A;text-decoration:underline;text-underline-offset:4px}
.tm-dw__title:hover{color:#8E6B3C}
.tm-dw__sub{margin:0;font-size:14px;line-height:1.5;color:#4F6566}
.tm-dw__buy{display:flex;flex-wrap:wrap;gap:8px}
.tm-dw__buy .tm-btn,.tm-dw__buy .tm-btn-line{min-height:44px;font-size:15px}
.tm-dw__del{min-height:44px;padding:0;background:none;border:0;color:#4F6566;font:inherit;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.tm-dw__del:hover{color:#8E6B3C}
.tm-dw__cmp{list-style:none;margin:0;padding:0 0 6px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:12px;overflow-x:auto}
.tm-dw__cmp>li{display:flex;flex-direction:column;gap:10px;padding:16px;background:#FFFFFF;border-radius:12px;box-shadow:0 12px 32px rgba(23,53,58,0.08)}
.tm-dw__cmp dl{margin:0;display:flex;flex-direction:column}
.tm-dw__row{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-top:1px solid #E6E1D5}
.tm-dw__row dt{font-size:14px;font-weight:700;color:#8E6B3C}
.tm-dw__row dd{margin:0;font-size:15px;line-height:1.5}
.tm-dw__cmp .tm-dw__buy{flex-direction:column}
.tm-dw__ft{padding:12px 22px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #E6E1D5}
.tm-dw__ft .tm-btn-line{width:100%}

.tm-ad,[data-tm-panel]{max-width:100%;overflow:hidden}.tm-ad iframe,[data-tm-panel] iframe,.tm-ad img{max-width:100%}
