/* 전국 관광 지도 (/map) — 구미 지도(gumimap.css)의 배치를 그대로, 색·글꼴·모서리는 site.css 토큰(--brand·--surface·--line…, 어두운 화면 포함). */
.gfmap{--gutter:16px;--control-h:40px;--soft:color-mix(in srgb,var(--brand) 7%,var(--surface));position:relative;display:flex;flex-direction:column;color:var(--ink);font-size:14px;line-height:1.5}
/* 바탕 맞춤은 :where 로 — 요소 선택자 힘만 갖게 해서 아래 클래스 규칙(여백 등)이 이긴다 */
:where(.gfmap) *{box-sizing:border-box}
:where(.gfmap) :is(button,input,select){font:inherit}
:where(.gfmap) button{background:none;border:0;padding:0;cursor:pointer;color:inherit}
:where(.gfmap) a{color:inherit;text-decoration:none}
:where(.gfmap) :is(h1,h2,h3,p,ol,ul,dl,dd){margin:0;padding:0}
:where(.gfmap) :is(ol,ul){list-style:none}
:where(.gfmap) img{max-width:none}
.gfmap .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gfmap :focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.gfmap [hidden]{display:none!important}

/* 지도 쪽은 머리를 붙이지 않고(아래 창과 겹치지 않게), PC 는 머리 아래를 지도가 꽉 채운다 */
body:has(> .gfmap) .top{position:relative}
.gfmap__map{position:relative;height:56vh;min-height:320px;background:var(--bg)}
.gfmap__side{display:flex;flex-direction:column;min-width:0;background:var(--surface)}
.gfmap__side > *{flex-shrink:0}
.gfmap__head{padding:16px var(--gutter) 12px;border-bottom:1px solid var(--line)}
.gfmap__title{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.gfmap__title small{display:block;margin-top:3px;font-size:12px;font-weight:600;letter-spacing:0;color:var(--brand)}
.gfmap__lead{margin-top:8px;font-size:13.5px;line-height:1.55;color:var(--muted)}
.gfmap__count{margin-top:8px;min-height:1.5em;font-size:12.5px;font-weight:700}

.gfmap__tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:10px var(--gutter);border-bottom:1px solid var(--line)}
.gfmap__tabs::-webkit-scrollbar{display:none}
.gfmap__tabs button{display:inline-flex;align-items:center;gap:6px;flex:none;height:34px;padding-inline:12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:13px;font-weight:600;line-height:1;color:var(--muted);white-space:nowrap}
.gfmap__tabs button:hover{border-color:var(--brand);color:var(--ink)}
.gfmap__tabs button.is-active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.gfmap__tabs i{display:inline-block;width:8px;height:8px;border-radius:50%}
.gfmap__tabs button.is-active i{box-shadow:0 0 0 1.5px var(--brand-ink)}

.gfmap__filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px var(--gutter);border-bottom:1px solid var(--line)}
.gfmap__filters select,.gfmap__filters input[type="search"]{width:100%;height:var(--control-h);padding-inline:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:13.5px;color:var(--ink);min-width:0}
.gfmap__filters select:disabled{opacity:.55}
.gfmap__filters input[type="search"]{grid-column:1/-1;font-size:16px}   /* 16px: 아이폰이 입력할 때 확대하지 않게 */
.gfmap__filters select:focus,.gfmap__filters input:focus{outline:2px solid color-mix(in srgb,var(--brand) 50%,transparent);outline-offset:0}
.gfmap__chk{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600}
.gfmap__chk input{width:16px;height:16px;accent-color:var(--brand)}
.gfmap__reset{justify-self:end;height:var(--control-h);padding-inline:2px;font-size:13px;font-weight:600;color:var(--brand)!important}

.gfmap__list{flex-shrink:1}
.gfm-card{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:12px 52px 12px var(--gutter);border-bottom:1px solid var(--line)}
.gfm-card:hover{background:var(--soft)}
.gfm-card.is-sel{background:var(--soft);box-shadow:inset 3px 0 0 var(--brand)}
.gfm-card__hit{position:absolute;inset:0;z-index:0}
.gfm-card__img{width:76px;height:76px;object-fit:cover;border-radius:10px;background:var(--chip)}
.gfm-card__img--none{display:block}
.gfm-card__body{position:relative;z-index:1;display:flex;flex-direction:column;gap:3px;min-width:0;pointer-events:none}
.gfm-card__cat{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gfm-card__cat i{flex:none;display:inline-block;width:8px;height:8px;border-radius:50%}
.gfm-card__name{pointer-events:auto;font-size:15px;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gfm-card__name:hover{color:var(--brand)}
.gfm-card__meta{font-size:12.5px;color:var(--muted);line-height:1.45}
.gfm-pet{display:inline-flex;align-items:center;height:20px;padding:1px 8px 0;border-radius:999px;background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--brand);font-size:11px;font-weight:700;line-height:1;white-space:nowrap}
.gfm-dim{color:var(--muted)}
.gfm-empty{padding:28px var(--gutter);color:var(--muted);font-size:13.5px}
.gfmap__more{display:block;width:calc(100% - var(--gutter) * 2);height:44px;margin:14px auto 22px;border:1px solid var(--line)!important;border-radius:999px!important;font-size:13.5px;font-weight:600}
.gfmap__more:hover{border-color:var(--brand)!important;color:var(--brand)}
.gfmap__src{padding:4px var(--gutter) 22px;font-size:12px;line-height:1.6;color:var(--muted)}

.gfmap__loading{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:color-mix(in srgb,var(--surface) 86%,transparent);font-size:14px;font-weight:600}
.gfmap__noscript{padding:20px var(--gutter);font-size:14px}

@media(min-width:860px){
  body:has(> .gfmap){height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
  body:has(> .gfmap) .top{flex:none}
  .gfmap{flex:1;flex-direction:row;min-height:0}
  .gfmap__side{flex:0 0 380px;order:0;border-right:1px solid var(--line);overflow-y:auto}
  .gfmap__map{flex:1;height:auto;min-height:0;order:1}
}
@media(max-width:859px){.gfmap__map{order:0}.gfmap__side{order:1}}

/* 팝업 */
.gfm-pop .maplibregl-popup-content{padding:0;border-radius:var(--r);background:var(--surface);color:var(--ink);box-shadow:var(--shadow),0 8px 28px rgba(0,0,0,.14);overflow:hidden;font:inherit}
.gfm-pop.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:var(--surface)}
.gfm-pop.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:var(--surface)}
.gfm-pop.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--surface)}
.gfm-pop.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--surface)}
.gfm-pop .maplibregl-popup-close-button{width:28px;height:28px;font-size:18px;color:#fff;background:rgba(10,20,16,.55);border-radius:0 0 0 10px;right:0;top:0}
.gfm-pop__img{display:block;width:100%;height:132px;object-fit:cover;background:var(--chip)}
.gfm-pop__body{display:flex;flex-direction:column;gap:3px;padding:12px 14px 14px}
.gfm-pop__name{font-size:15px;font-weight:700;line-height:1.35}
.gfm-pop__acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.gfm-pop__go,.gfm-pop__dir{display:inline-flex;align-items:center;height:34px;padding-inline:14px;border-radius:999px;font-size:12.5px;font-weight:600;line-height:1}
.gfm-pop__go{background:var(--brand);color:var(--brand-ink)!important}
.gfm-pop__go:hover{filter:brightness(1.1)}
.gfm-pop__dir{border:1px solid var(--line)}
.gfm-pop__dir:hover{border-color:var(--brand);color:var(--brand)}
.gfm-pop{max-width:min(280px, calc(100vw - 32px))!important;z-index:3}
.gfm-pop.is-walk .gfm-pop__img{display:none}
.gfm-pop.is-walk .maplibregl-popup-close-button{color:var(--ink);background:none}

/* ── 장소 상세: PC 는 목록 옆 둥근 상자, 휴대폰은 아래 시트 ── */
.gfm-detail{--dp:18px;display:flex;flex-direction:column;background:var(--surface);color:var(--ink)}
.gfm-detail > *{flex-shrink:0}
.gfmap.is-detail .gfm-pop__img,.gfmap.is-detail .gfm-pop__acts{display:none}
.gfmap.is-detail .gfm-pop .maplibregl-popup-close-button{color:var(--ink);background:none}
.gfmap.is-detail .gfm-pop__body > .gfm-card__cat{padding-right:24px}
@media(min-width:860px){
  .gfm-detail{position:absolute;top:12px;bottom:12px;left:392px;z-index:6;width:380px;overflow-y:auto;overscroll-behavior:contain;border-radius:16px;box-shadow:var(--shadow),0 10px 34px rgba(0,0,0,.16)}
  .gfm-detail__grip{display:none}
}
@media(max-width:859px){
  .gfm-detail{--dp:16px;position:fixed;left:8px;right:8px;bottom:8px;z-index:1060;max-height:calc(82vh - 8px);overflow-y:auto;overscroll-behavior:contain;border-radius:18px;box-shadow:0 -6px 30px rgba(0,0,0,.24),0 0 0 1px var(--line)}
}
.gfm-detail__bar{position:sticky;top:0;z-index:2;flex:none;display:flex;align-items:center;justify-content:center;height:44px;background:var(--surface)}
.gfm-detail__grip{width:40px;height:4px;border-radius:2px;background:var(--line)}
.gfm-detail__x{position:absolute;top:4px;right:8px;width:36px;height:36px;border-radius:50%;font-size:24px!important;line-height:1}
.gfm-detail__x:hover{background:var(--chip)}
.gfm-detail__galw{position:relative}
.gfm-detail__gal{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--dp);padding-inline:var(--dp);scrollbar-width:none}
.gfm-detail__gal::-webkit-scrollbar{display:none}
.gfm-detail__gal img{flex:0 0 100%;width:100%;aspect-ratio:16/10;max-height:230px;object-fit:cover;border-radius:12px;background:var(--chip);scroll-snap-align:start}
.gfm-detail__gal.is-many img{flex-basis:86%}
.gfm-detail__nav{position:absolute;top:50%;z-index:1;display:grid;place-items:center;width:38px;height:38px;margin-top:-19px;border-radius:50%;background:color-mix(in srgb,var(--surface) 94%,transparent)!important;color:var(--ink);box-shadow:var(--shadow)}
.gfm-detail__nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.gfm-detail__nav.is-prev{left:calc(var(--dp) + 8px)}
.gfm-detail__nav.is-next{right:calc(var(--dp) + 8px)}
.gfm-detail__nav.is-next svg{transform:scaleX(-1)}
.gfm-detail__nav:hover{color:var(--brand)}
.gfm-detail__head{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:16px var(--dp) 6px}
.gfm-detail__name{font-size:21px;font-weight:800;line-height:1.25;letter-spacing:-.01em}
.gfm-detail__acts{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px;padding:12px var(--dp) 16px;border-bottom:1px solid var(--line)}
.gfm-detail__acts > *{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:62px;padding:9px 4px 7px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:var(--soft)!important;font-size:11.5px;font-weight:600;line-height:1.2;text-align:center;word-break:keep-all}
.gfm-detail__acts > *:hover{border-color:var(--brand)!important;color:var(--brand)}
.gfm-detail__acts svg{width:20px;height:20px;flex:none}
.gfm-detail__acts span{overflow-wrap:normal}   /* «공유하/기»처럼 낱말 가운데서 끊지 않게(body 의 overflow-wrap:anywhere 를 끔) */
.gfm-detail__acts > .gfm-detail__onmap{display:none}   /* «지도에서 보기»는 휴대폰만 — PC 는 지도가 늘 옆에 있다 */
@media(max-width:859px){
  .gfm-detail__acts{grid-template-columns:repeat(3,minmax(0,1fr))}   /* 휴대폰 6칸 = 3+3(폭 320 에서 한 줄 6칸이면 글자가 안 들어감) */
  .gfm-detail__acts > .gfm-detail__onmap{display:flex}
}
.gfm-detail__acts [aria-pressed="true"]{border-color:var(--brand)!important;background:var(--brand)!important;color:var(--brand-ink)}
.gfm-detail__info{padding:4px var(--dp)}
.gfm-detail__info > div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13.5px;line-height:1.55}
.gfm-detail__info dt{font-size:12.5px;font-weight:700;color:var(--muted)}
.gfm-detail__info dd{overflow-wrap:anywhere}
.gfm-detail__info a{font-weight:600;color:var(--brand)}
.gfm-detail__info small{color:var(--muted)}
.gfm-detail__copy{margin-left:6px;padding:2px 7px 0!important;border:1px solid var(--line)!important;border-radius:6px!important;font-size:11px;font-weight:600;color:var(--muted)!important}
.gfm-detail__sec{padding:14px 0 2px}
.gfm-detail__sec > h3{padding:0 var(--dp);font-size:15px;font-weight:800}
.gfm-detail__sec > h3 small{font-size:12.5px;font-weight:600;color:var(--muted)}
.gfm-detail__sec .gfm-detail__info{padding-top:0}
.gfm-detail__prose{padding:6px var(--dp) 0;font-size:14px;line-height:1.7}
.gfm-detail__flags{display:flex;flex-wrap:wrap;gap:6px;padding:8px var(--dp) 2px}
.gfm-detail__flags span{padding:3px 10px;border-radius:999px;background:var(--chip);font-size:12px;font-weight:600}
.gfm-detail__rooms{padding:6px var(--dp) 0}
.gfm-detail__rooms li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.gfm-detail__rooms img{width:84px;height:64px;object-fit:cover;border-radius:8px;background:var(--chip)}
.gfm-detail__rooms div{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:12.5px;line-height:1.45;color:var(--muted)}
.gfm-detail__rooms div > b{font-size:14px;color:var(--ink)}
.gfm-detail__rooms span b{color:var(--ink)}
.gfm-detail__course{padding:6px var(--dp) 0;counter-reset:c}
.gfm-detail__course li{position:relative;padding:8px 0 8px 32px;border-bottom:1px solid var(--line);counter-increment:c}
.gfm-detail__course li::before{content:counter(c);position:absolute;left:0;top:8px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--brand);color:var(--brand-ink);font-size:12px;font-weight:700}
.gfm-detail__course button,.gfm-detail__course b{font-size:14px;font-weight:700;text-align:left}
.gfm-detail__course button{color:var(--brand)}
.gfm-detail__course p{margin-top:3px;font-size:12.5px;line-height:1.55;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gfm-detail__wait{padding:14px var(--dp);font-size:13.5px;color:var(--muted)}
.gfm-detail__foot{padding:18px var(--dp) 22px;font-size:12px;line-height:1.6;color:var(--muted)}
.gfm-detail__toast{position:sticky;bottom:14px;align-self:center;margin-top:-34px;padding:9px 16px 7px;border-radius:999px;background:var(--ink);color:var(--surface);font-size:12.5px;font-weight:600}
.maplibregl-ctrl-attrib a{text-decoration:underline}

/* ── 내 일정: 지도 위 단추 + PC 오른쪽 패널 / 휴대폰 아래 창 ── */
/* 지도 위 단추 줄(구미 특집 · 내 일정) — PC 오른쪽 위(+/− 단추 옆), 휴대폰 왼쪽 위 */
.gfm-btns{position:absolute;top:10px;right:50px;z-index:3;display:flex;gap:8px}
@media(min-width:860px){.gfmap.is-trip .gfm-btns{right:402px}}
@media(max-width:859px){.gfm-btns{right:auto;left:10px}}
.gfm-gumibtn{display:flex;align-items:center;gap:6px;height:38px;padding-inline:8px 14px!important;border-radius:999px!important;background:#ffc845!important;box-shadow:var(--shadow),0 2px 8px rgba(0,0,0,.18);font-size:13px;font-weight:700;line-height:1;color:#1b1310!important}
.gfm-gumibtn b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#d52b1e;font-size:13px}
.gfm-gumibtn[aria-pressed="true"]{background:#1b1310!important;color:#ffc845!important}
.gfm-fest{display:flex;align-items:center;gap:6px;padding:5px 12px 5px 5px;border-radius:999px;background:#ffc845;color:#1b1310!important;font-size:12.5px;font-weight:800;line-height:1;white-space:nowrap;text-decoration:none;box-shadow:0 2px 10px rgba(0,0,0,.25);border:2px solid #1b1310}
.gfm-fest b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#d52b1e;font-size:13px}
.gfm-tripbtn{display:flex;align-items:center;gap:6px;height:38px;padding-inline:12px 14px!important;border-radius:999px!important;background:var(--brand)!important;box-shadow:var(--shadow),0 2px 8px rgba(0,0,0,.18);font-size:13px;font-weight:700;line-height:1;color:var(--brand-ink)!important}
.gfm-tripbtn svg{width:18px;height:18px;flex:none}
.gfm-tripbtn b{display:grid;place-items:center;min-width:20px;height:20px;padding-inline:5px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px}
.gfm-tripbtn:hover{filter:brightness(1.1)}
.gfmap.is-trip .gfm-tripbtn{display:none}
.gfm-card__trip{position:absolute;top:12px;right:14px;z-index:2;display:grid;place-items:center;width:30px;height:30px;border:1.5px solid var(--line)!important;border-radius:50%!important;background:var(--surface)!important}
.gfm-card__trip svg{width:16px;height:16px}
.gfm-card__trip:hover{border-color:var(--brand)!important;color:var(--brand)}
.gfm-card__trip.is-on{border-color:var(--brand)!important;background:var(--brand)!important;color:var(--brand-ink)}

.gfm-trip{display:flex;flex-direction:column;background:var(--surface);color:var(--ink)}
.gfm-trip > *{flex-shrink:0}
@media(min-width:860px){
  .gfm-trip{position:absolute;top:12px;right:12px;z-index:6;width:340px;max-height:calc(100% - 24px);overflow-y:auto;overscroll-behavior:contain;border-radius:16px;box-shadow:var(--shadow),0 10px 34px rgba(0,0,0,.16)}
  .gfmap.is-trip .maplibregl-ctrl-top-right{right:352px}
}
@media(max-width:859px){
  .gfm-trip{position:fixed;left:8px;right:8px;bottom:8px;z-index:1059;max-height:75vh;overflow-y:auto;overscroll-behavior:contain;border-radius:18px;box-shadow:0 -6px 30px rgba(0,0,0,.24),0 0 0 1px var(--line)}
}
.gfm-trip__bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px;padding-inline:18px 8px;border-bottom:1px solid var(--line);background:var(--surface)}
.gfm-trip__title{font-size:17px;font-weight:800;letter-spacing:-.01em}
.gfm-trip__x{display:grid;place-items:center;width:36px;height:36px;border-radius:50%}
.gfm-trip__x svg{width:20px;height:20px}
.gfm-trip__x:hover{background:var(--chip)}
.gfm-trip__none{padding:14px 18px;font-size:13.5px;line-height:1.6;color:var(--muted)}
.gfm-trip__day{padding-bottom:8px;border-bottom:1px solid var(--line)}
.gfm-trip__dh{display:flex;align-items:center;gap:8px;width:100%;min-height:46px;padding-inline:18px!important;font-size:14.5px;font-weight:800;text-align:left;color:var(--muted)}
.gfm-trip__day.is-on .gfm-trip__dh{color:var(--ink)}
.gfm-trip__dh i{flex:none;width:10px;height:10px;border-radius:50%}
.gfm-trip__date{font-weight:700;color:var(--muted)}
.gfm-trip__date::before{content:"·";margin-right:6px}
.gfm-trip__dh em{margin-left:auto;display:inline-flex;align-items:center;height:20px;padding:1px 8px 0;border-radius:999px;background:color-mix(in srgb,var(--brand) 14%,transparent);font-size:11px;font-style:normal;font-weight:700;line-height:1;color:var(--brand)}
.gfm-trip__it{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:10px;padding-block:5px;padding-inline:18px 8px}
.gfm-trip__no{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#fff;font-size:12px;font-weight:700;line-height:1;cursor:grab;touch-action:none;user-select:none}
.gfm-trip__name{display:flex;flex-direction:column;gap:2px;min-width:0;text-align:left;font-size:14px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.gfm-trip__name small{font-size:12px;font-weight:500;color:var(--muted)}
.gfm-trip__name:hover{color:var(--brand)}
.gfm-trip__ops{display:flex}
.gfm-trip__ops button{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:var(--muted)}
.gfm-trip__ops button:hover:not(:disabled){background:var(--chip);color:var(--ink)}
.gfm-trip__ops button:disabled{opacity:.28;cursor:default}
.gfm-trip__ops svg{width:16px;height:16px}
.gfm-trip__leg{display:flex;flex-wrap:wrap;align-items:center;gap:0 5px;margin-left:30px;padding-block:3px;padding-inline:17px 8px;border-left:2px dashed var(--line);font-size:12px;line-height:1.5;color:var(--muted)}
.gfm-trip__leg svg{flex:none;width:15px;height:15px}
.gfm-trip__leg a{font-weight:600;color:var(--brand)}
.gfm-trip__addday{display:block;width:calc(100% - 36px);height:40px;margin:12px auto;border:1.5px dashed var(--brand)!important;border-radius:999px!important;font-size:13px;font-weight:600;color:var(--brand)!important}
.gfm-trip__addday:hover{background:var(--soft)!important}
.gfm-trip__foot{position:sticky;bottom:0;z-index:2;display:flex;gap:8px;padding:12px 18px;border-top:1px solid var(--line);background:var(--surface)}
.gfm-trip__foot button{height:42px;border-radius:999px!important;font-size:13.5px;font-weight:700;line-height:1}
.gfm-trip__share{flex:1;background:var(--brand)!important;color:var(--brand-ink)!important}
.gfm-trip__share:hover{filter:brightness(1.1)}
.gfm-trip__clear{padding-inline:16px!important;border:1px solid var(--line)!important;color:var(--muted)!important}
.gfm-trip .gfm-detail__toast{bottom:76px;z-index:3}
.gfm-trip__set{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 6px}
.gfm-trip__set input,.gfm-trip__set select,.gfm-trip__time select{height:32px;min-width:0;padding-inline:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:12.5px;color:var(--ink)}
.gfm-trip__set input[type="date"]{flex:1 1 128px}
.gfm-trip__set input[type="time"]{flex:0 1 124px}
.gfm-trip__set select{flex:1 1 120px}
.gfm-trip__sum{padding:2px 18px 6px;font-size:12.5px;font-weight:700;line-height:1.5}
.gfm-trip__time{grid-column:2 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:-2px;font-size:12px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.gfm-trip__time select{height:28px;padding-inline:6px;font-size:12px}
.gfm-trip__tools{display:flex;gap:6px;padding:6px 18px 2px}
.gfm-trip__tools button{height:32px;padding:1px 12px 0!important;border:1px solid var(--line)!important;border-radius:999px!important;font-size:12.5px;font-weight:600;line-height:1}
.gfm-trip__tools button:hover:not(:disabled){border-color:var(--brand)!important;color:var(--brand)}
.gfm-trip__tools button:disabled{opacity:.4;cursor:default}
.gfm-trip__tools [aria-expanded="true"]{border-color:var(--brand)!important;background:var(--soft)!important}
.gfm-trip__near{margin:6px 12px 4px;padding:10px 10px 6px;border-radius:12px;background:var(--soft)}
.gfm-trip__nfrom{padding-inline:4px;font-size:12px;font-weight:600;color:var(--muted)}
.gfm-trip__chips{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0 4px}
.gfm-trip__chips button{height:28px;padding:1px 10px 0!important;border:1px solid var(--line)!important;border-radius:999px!important;background:var(--surface)!important;font-size:12px;font-weight:600;line-height:1;color:var(--muted)}
.gfm-trip__chips [aria-pressed="true"]{border-color:var(--brand)!important;background:var(--brand)!important;color:var(--brand-ink)}
.gfm-trip__near li{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;padding:5px 0}
.gfm-trip__nadd{display:grid;place-items:center;width:30px;height:30px;border:1.5px solid var(--line)!important;border-radius:50%!important;background:var(--surface)!important}
.gfm-trip__nadd svg{width:15px;height:15px}
.gfm-trip__nadd:hover{border-color:var(--brand)!important;color:var(--brand)}
.gfm-trip__near .gfm-trip__none{padding:8px 4px}
.gfm-trip__src{padding:8px 18px 0;font-size:12px;line-height:1.55;color:var(--muted)}
.gfm-trip__it.is-drag{opacity:.45}
.gfm-trip__drop{position:absolute;left:14px;right:14px;z-index:4;height:4px;border-radius:2px;background:var(--accent);pointer-events:none}
.gfm-trip__save{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:12px 18px 2px}
.gfm-trip__save button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:38px;padding:4px 6px!important;border:1px solid var(--line)!important;border-radius:10px!important;font-size:12.5px;font-weight:600;line-height:1.2}
.gfm-trip__save button:hover{border-color:var(--brand)!important;color:var(--brand)}
.gfm-trip__save svg{flex:none;width:16px;height:16px}
.gfm-trip__pmap{display:none}
@media print{
  html,body{height:auto!important;background:#fff!important;overflow:visible!important}
  body > .top,body > .foot{display:none!important}
  .gfmap{display:block!important;height:auto!important}
  .gfmap__side,.gfmap__map,.gfm-detail{display:none!important}
  .gfm-trip{position:static!important;width:auto!important;max-height:none!important;overflow:visible!important;box-shadow:none!important;border-radius:0!important}
  .gfm-trip__bar{position:static}
  .gfm-trip__x,.gfm-trip__set,.gfm-trip__tools,.gfm-trip__near,.gfm-trip__addday,.gfm-trip__save,.gfm-trip__foot,.gfm-trip__ops,.gfm-trip .gfm-detail__toast,.gfm-trip__dh em,.gfm-trip__now{display:none!important}
  .gfm-trip__pmap{display:block;width:100%;margin:10px 0 6px;border-radius:8px}
  .gfm-trip__time select{border:0;padding:0;appearance:none;-webkit-appearance:none;background:none;font-weight:600}
  .gfm-trip__it,.gfm-trip__leg{break-inside:avoid}
  .gfm-trip__leg a{color:inherit;text-decoration:none}
}
/* 내 위치 → 다음 곳(일정 패널 맨 위) */
.gfm-trip__now{margin:10px 12px 0}
.gfm-trip__now.is-on{padding:10px 12px 9px;border:1px solid color-mix(in srgb,var(--brand) 40%,var(--line));border-radius:14px;background:var(--soft)}
.gfm-trip__loc{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:40px;padding:4px 12px!important;border:1.5px dashed var(--brand)!important;border-radius:999px!important;font-size:13px;font-weight:600;line-height:1.3;color:var(--brand)!important}
.gfm-trip__loc svg{flex:none;width:17px;height:17px}
.gfm-trip__loc:hover{background:var(--soft)!important}
.gfm-trip__nowh{font-size:12px;font-weight:700;color:var(--accent)}
.gfm-trip__now .gfm-trip__name{margin-top:3px;font-size:15px}
.gfm-trip__nowleg{display:flex;flex-wrap:wrap;align-items:center;gap:0 5px;margin-top:4px;font-size:12.5px;line-height:1.5;color:var(--muted)}
.gfm-trip__nowleg svg{flex:none;width:15px;height:15px}
.gfm-trip__nowleg a{font-weight:600;color:var(--brand)}
.gfm-trip__nowb{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.gfm-trip__nowb button{display:inline-flex;align-items:center;gap:5px;height:32px;padding:1px 12px 0!important;border-radius:999px!important;font-size:12.5px;font-weight:600;line-height:1}
.gfm-trip__nowb [data-a="arrived"]{background:var(--brand)!important;color:var(--brand-ink)!important}
.gfm-trip__nowb [data-a="nowreset"]{border:1px solid var(--line)!important;background:var(--surface)!important;color:var(--muted)!important}
.gfm-trip__nowb svg{width:15px;height:15px}
.gfm-trip__nowp{margin-top:7px;font-size:11px;line-height:1.5;color:var(--muted)}
.gfm-trip__it.is-done .gfm-trip__name,.gfm-trip__it.is-done .gfm-trip__no{opacity:.5}
.gfm-trip__donetag{display:inline-flex;align-items:center;height:20px;padding:1px 7px 0;border-radius:999px;background:color-mix(in srgb,var(--brand) 14%,transparent);font-size:11px;font-weight:700;line-height:1;color:var(--brand)}
/* 휴대폰: 입력칸 16px(아래면 아이폰이 칸을 누를 때 화면을 키운다)·아래 창은 홈 막대 위로·화면 높이는 주소창 따라(dvh) */
@media(max-width:859px){
  .gfmap__filters select,.gfm-trip__set input,.gfm-trip__set select,.gfm-trip__time select{font-size:16px}
  .gfm-trip__set input,.gfm-trip__set select{height:40px}
  .gfm-trip__time select{height:36px}
  .gfm-trip,.gfm-detail{bottom:calc(8px + env(safe-area-inset-bottom))}
  .gfm-trip__foot{padding-bottom:calc(12px + env(safe-area-inset-bottom) / 2)}
  @supports(height:1dvh){.gfm-trip{max-height:75dvh}.gfm-detail{max-height:calc(82dvh - 8px)}}
  .gfm-pop__img{height:104px}
  .gfm-card__cat,.gfmap__src,.gfm-pet,.gfmap__title small,.gfm-trip__nowp,.gfm-trip__donetag,.gfm-trip__dh em,.gfm-trip__nowh,.gfm-trip__src{font-size:12px}
  .gfm-card__name{padding-block:2px}
}
/* 손가락: 누르는 단추 36~40px */
@media(pointer:coarse){
  .gfm-card__trip{width:38px;height:38px;top:10px}
  .gfm-trip__ops button{width:38px;height:38px}
  .gfm-trip__tools button{height:38px}
  .gfm-trip__chips button{height:36px;padding-inline:12px!important}
  .gfm-trip__nadd{width:38px;height:38px}
  .gfm-trip__near li{grid-template-columns:38px minmax(0,1fr)}
  .maplibregl-ctrl-group button{width:38px;height:38px}
  .gfm-pop .maplibregl-popup-close-button{width:40px;height:40px;font-size:22px}
  .gfm-pop__go,.gfm-pop__dir{height:40px}
  .gfm-detail__copy{min-height:36px;padding:0 10px!important}
  .gfm-detail__course button{display:inline-flex;align-items:center;min-height:36px}
  .gfm-trip__leg a,.gfm-trip__nowleg a{display:inline-block;padding:10px 6px;margin:-10px -6px}
  .gfm-trip__nowb button{height:38px}
}
