/* 어낚 바다낚시지수 v0.9 — Pretendard 적용 · 가독성 · 갯바위 세부 포인트 */
.efi, .efi-finder {
	--ink: #0e2a38;
	--sea: #1b6f8a;
	--float: #ff5a36;
	--foam: #edf5f6;
	--line: #d9e6e9;
	--muted: #49616a;
	--display: "Pretendard Variable", Pretendard, "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
	--body: "Pretendard Variable", Pretendard, "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
}
.efi { color: var(--ink); font-family: var(--body); font-size: 16px; line-height: 1.72; letter-spacing: -0.01em; margin: 0 0 2em; max-width: 820px; }
.efi *, .efi *::before, .efi *::after { box-sizing: border-box; }
.efi p { margin: 0; }
.efi [hidden] { display: none !important; }
.efi button { font: inherit; cursor: pointer; }
.efi button:focus-visible, .efi a:focus-visible, .efi-pick select:focus-visible, .efi td[data-day]:focus-visible { outline: 2px solid var(--float); outline-offset: 2px; }

/* 점수 색: 깊을수록 좋음 */
.efi .s5 { --c: #0b5f7a; --fg: #fff; }
.efi .s4 { --c: #2f8fae; --fg: #fff; }
.efi .s3 { --c: #8ec5d6; --fg: #0e2a38; }
.efi .s2 { --c: #f2c4a8; --fg: #0e2a38; }
.efi .s1 { --c: #e5765a; --fg: #fff; }
.efi .s0 { --c: #e6ecee; --fg: #5f7880; }

/* 테마 간섭 막기 */
.efi h2.efi-name, .efi h3.efi-h3 { border: 0 !important; padding: 0 !important; background: none !important; text-transform: none; }
.efi h2.efi-name::before, .efi h2.efi-name::after, .efi h3.efi-h3::after { display: none !important; }
.efi button.efi-daytab, .efi button.efi-daytab:hover, .efi button.efi-daytab:focus,
.efi button.efi-windytab, .efi button.efi-windytab:hover, .efi button.efi-windytab:focus,
.efi button.efi-iconbtn, .efi button.efi-iconbtn:hover, .efi button.efi-iconbtn:focus {
	background: transparent; color: var(--muted); text-transform: none; line-height: 1.3; min-height: 0; box-shadow: none;
}

/* 머리 */
.efi-head { margin-bottom: 1.1em; }
.efi .efi-crumb { font-size: .78rem; color: var(--muted); }
.efi-titlerow { display: flex; align-items: center; justify-content: space-between; gap: 1em; margin: .1em 0 .45em; }
.efi h2.efi-name { margin: 0 !important; font-family: var(--display); font-weight: 800; font-size: 2rem; line-height: 1.28; letter-spacing: -0.035em; color: var(--ink); }
.efi-share { display: flex; gap: 6px; position: relative; }
.efi button.efi-iconbtn { width: 38px; height: 38px; padding: 0; border: 1.5px solid var(--ink); border-radius: 50%; display: grid; place-items: center; color: var(--ink); }
.efi button.efi-iconbtn:hover { background: var(--ink); color: #fff; }
.efi-copied { position: absolute; right: 0; top: 100%; margin-top: 4px; font-size: .75rem; color: var(--sea); white-space: nowrap; }
.efi .efi-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.efi-tag { font-size: .78rem; font-weight: 600; padding: .15em .65em; border: 1px solid var(--line); border-radius: 4px; color: var(--muted); }
.efi-tag-main { border-color: var(--ink); color: var(--ink); }

/* 날짜: 막대 물때표 */
.efi-daytabs { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-bottom: 2px solid var(--ink); margin-bottom: 1.2em; }
.efi button.efi-daytab { border: 0; padding: 0 0 .5em; display: flex; flex-direction: column; align-items: center; gap: 2px; position: relative; border-radius: 0; }
.efi-bar { width: 14px; height: 34px; display: flex; align-items: flex-end; margin-bottom: 4px; }
.efi-bar i { display: block; width: 100%; height: var(--h); background: var(--c); border-radius: 3px 3px 0 0; }
.efi-wd { font-size: .72rem; }
.efi-dd { font-size: 1.05rem; font-weight: 800; color: var(--ink); }
.efi button.efi-daytab[aria-selected="true"] .efi-wd { color: var(--ink); font-weight: 700; }
.efi button.efi-daytab[aria-selected="true"]::after { content: ""; position: absolute; left: 25%; right: 25%; bottom: -2px; height: 4px; background: var(--float); border-radius: 2px 2px 0 0; }

/* 판정 카드: 찌 */
.efi-verdict-card { display: flex; align-items: center; gap: 1.1em; padding: 1.1em 1.4em 1.1em 1em; background: var(--ink); color: #fff; border-radius: 6px 22px 6px 6px; }
.efi-float { position: relative; flex: none; width: 80px; height: 120px; }
.efi-float svg { display: block; overflow: visible; }
.efi-float .cap { fill: var(--float); }
.efi-float .body { fill: #f4f7f8; }
.efi-float .band { fill: var(--float); }
.efi-float .stem { fill: #9fb4bb; }
.efi-float .water { fill: #1b6f8a; opacity: .9; }
.efi-float-body { transform: translateY(calc((var(--sink) - 3) * 6px)); animation: efi-bob 3.2s ease-in-out infinite; }
@keyframes efi-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 2.5px; } }
.efi-float-score { position: absolute; left: 0; right: 0; bottom: 6px; text-align: center; font-family: var(--display); font-weight: 800; font-size: 1.55rem; line-height: 1; color: #fff; }
.efi .efi-when { font-size: .8rem; color: #a9c6cf; }
.efi .efi-phrase { font-family: var(--display); font-weight: 800; font-size: 1.55rem; line-height: 1.35; letter-spacing: -0.025em; margin: .1em 0 .25em; word-break: keep-all; }
.efi .efi-verdict-sub { font-size: .85rem; color: #cfe0e5; }

/* 어낚 한마디 */
.efi-say { position: relative; margin: 1em 0 0 .6em; padding: .9em 1.1em; background: var(--foam); border-radius: 4px 18px 18px 18px; }
.efi .efi-say-who { font-size: .78rem; font-weight: 800; color: var(--float); margin-bottom: .15em; }
.efi-say p:last-child { font-size: .95rem; line-height: 1.75; word-break: keep-all; }

/* 섹션 */
.efi-sec { margin-top: 1.8em; padding-top: 1.3em; border-top: 1px solid var(--line); }
.efi h3.efi-h3 { margin: 0 0 .7em !important; font-family: var(--display); font-weight: 800; font-size: 1.25rem; line-height: 1.35; letter-spacing: -0.02em; color: var(--ink); display: flex; align-items: center; gap: .45em; }
.efi h3.efi-h3::before { content: ""; display: inline-block !important; width: 7px; height: 16px; border-radius: 4px; background: var(--float); }
.efi .efi-cardsub { font-size: .8rem; color: var(--muted); margin: -.4em 0 .9em; }
.efi .efi-note { font-size: .75rem; color: var(--muted); margin-top: .6em; }

/* 어종별 막대 */
.efi ol.efi-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; background: none; }
.efi ol.efi-bars li { display: grid; grid-template-columns: 6em 1fr auto; align-items: center; gap: .8em; margin: 0; }
.efi-bars-name { font-weight: 800; }
.efi-bars-track { background: var(--foam); border-radius: 4px; height: 32px; overflow: hidden; }
.efi-bars-fill { display: flex; align-items: center; gap: .35em; height: 100%; width: var(--w); min-width: 6.5em; padding: 0 .7em; background: var(--c); color: var(--fg); font-size: .8rem; font-weight: 700; white-space: nowrap; border-radius: 4px; }
.efi-bars-fill b { font-family: var(--display); font-weight: 800; font-size: 1rem; }
.efi-bars-halves { font-size: .75rem; color: var(--muted); font-variant-numeric: tabular-nums; white-space: nowrap; }

/* 바다 상황 표 */
.efi table.efi-cond-table { width: 100%; border-collapse: collapse; margin: 0; border: 0; font-variant-numeric: tabular-nums; }
.efi-cond-table th, .efi-cond-table td { border: 0 !important; border-bottom: 1px solid var(--line) !important; padding: .6em .4em; text-align: left; background: none; }
.efi-cond-table thead th { font-size: .8rem; color: var(--muted); font-weight: 600; border-bottom: 2px solid var(--ink) !important; }
.efi-cond-table tbody th { width: 22%; font-size: .85rem; color: var(--muted); font-weight: 600; }
.efi-cond-table td { font-size: 1.02rem; font-weight: 800; }
.efi-cond-table td.is-warn { color: #c4472a; }
.efi-warn { display: inline-block; margin-left: .3em; font-size: .68rem; font-weight: 800; padding: .05em .45em; border-radius: 3px; background: #fde4dc; color: #c4472a; vertical-align: 2px; }
.efi-na { font-weight: 500; color: var(--muted); font-size: .85rem; }

/* 7일 흐름 */
.efi-weekwrap { overflow-x: auto; }
.efi table.efi-week { width: 100%; min-width: 460px; border-collapse: separate; border-spacing: 2px; margin: 0; border: 0; font-variant-numeric: tabular-nums; }
.efi-week th, .efi-week td { border: 0 !important; padding: .45em .2em; text-align: center; font-size: .85rem; background: none; }
.efi-week thead th { font-weight: 500; color: var(--muted); line-height: 1.25; cursor: pointer; }
.efi-week thead th b { color: var(--ink); }
.efi-week thead th.is-on { color: var(--float); }
.efi-week thead th.is-on b { color: var(--float); }
.efi-week tbody th { text-align: left; font-weight: 800; white-space: nowrap; padding-right: .6em; }
.efi-week td { background: var(--c) !important; color: var(--fg); font-family: var(--display); font-weight: 800; font-size: .95rem; border-radius: 3px; cursor: pointer; }
.efi-week td.is-on { outline: 2.5px solid var(--float); outline-offset: -2.5px; }
.efi-week tr.efi-tiderow td { background: none !important; font-family: var(--body); font-size: .72rem; color: var(--muted); cursor: pointer; }
.efi-week tr.efi-tiderow td.is-on { outline: 0; color: var(--float); font-weight: 700; }
.efi-week tr.efi-tiderow th { font-size: .78rem; color: var(--muted); font-weight: 600; }
.efi .efi-legend { display: flex; flex-wrap: wrap; gap: .3em 1em; font-size: .75rem; color: var(--muted); margin-top: .6em; }
.efi-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; background: var(--c); margin-right: .35em; vertical-align: -1px; }

/* Windy · 지도 */
.efi-windytabs { display: flex; gap: 0; margin-bottom: .7em; border: 1.5px solid var(--ink); border-radius: 6px; overflow: hidden; width: max-content; max-width: 100%; }
.efi button.efi-windytab { border: 0; border-radius: 0; padding: .4em 1.1em; font-size: .85rem; font-weight: 700; color: var(--ink); }
.efi button.efi-windytab + .efi-windytab { border-left: 1.5px solid var(--ink); }
.efi button.efi-windytab[aria-selected="true"] { background: var(--ink); color: #fff; }
.efi-windy iframe { display: block; width: 100%; aspect-ratio: 4 / 3; max-height: 460px; border: 0; border-radius: 6px; background: var(--foam); }
.efi-map { height: 320px; border-radius: 6px; background: var(--foam); z-index: 0; }
.efi-map-all { height: 420px; margin-bottom: 1em; }
.efi-pin { font: 700 12px/1 Pretendard, -apple-system, "Malgun Gothic", sans-serif; }

/* 가까운 포인트 · 오늘 목록 */
.efi ul.efi-near, .efi ol.efi-todaylist { list-style: none; margin: .9em 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.4em; }
.efi-near li, .efi-todaylist li { margin: 0; padding: .65em 0; border-bottom: 1px solid var(--line); }
.efi-near li, .efi-todaylist li, .efi-near a, .efi-todaylist a { display: flex; align-items: center; gap: .6em; }
.efi-near a, .efi-todaylist a { color: inherit; text-decoration: none; width: 100%; }
.efi-near a:hover .efi-near-name, .efi-todaylist a:hover .efi-near-name { color: var(--float); }
.efi-near-name { font-weight: 800; }
.efi-near-km { color: var(--muted); font-size: .78rem; margin-right: auto; }
.efi-near-score { font-family: var(--display); font-size: .95rem; color: var(--fg); background: var(--c); border-radius: 3px; padding: .05em .5em; }
.efi-todaylist .efi-near-score { order: -1; min-width: 1.9em; text-align: center; }
.efi .efi-head .efi-kind { font-size: .85rem; color: var(--muted); }

/* 가이드 · 시즌 · 팁 */
.efi .efi-lead { font-size: .88rem; line-height: 1.7; color: var(--muted); padding-left: .9em; border-left: 3px solid var(--line); margin-bottom: 1.1em; }
.efi-prose { font-size: 1rem; line-height: 1.9; max-width: 40em; word-break: keep-all; overflow-wrap: break-word; }
.efi .efi-prose p { margin: 0 0 1.1em; }
.efi .efi-prose p:last-child { margin-bottom: 0; }
.efi .efi-prose h4 { margin: 1.5em 0 .4em; padding: 0; border: 0; font-family: var(--display); font-weight: 800; font-size: 1.08rem; color: var(--sea); }
.efi .efi-prose h4:first-child { margin-top: 0; }
.efi .efi-prose ul { margin: 0 0 1.1em; padding-left: 1.2em; }
.efi .efi-prose li { margin: 0 0 .35em; }
.efi .efi-prose li::marker { color: var(--float); }
.efi .efi-prose strong { font-weight: 800; }
.efi .efi-adminnote { font-size: .8rem; color: #8f4a14; background: #fff1e6; border-radius: 6px; padding: .5em .8em; }
.efi table.efi-season { width: 100%; min-width: 520px; border-collapse: separate; border-spacing: 2px; margin: 0; border: 0; }
.efi-season th, .efi-season td { border: 0 !important; padding: .35em .1em; text-align: center; font-size: .72rem; background: none; }
.efi-season thead th { color: var(--muted); font-weight: 500; }
.efi-season thead th.is-now { color: var(--float); font-weight: 800; }
.efi-season tbody th { text-align: left; font-size: .85rem; font-weight: 800; white-space: nowrap; padding-right: .5em; }
.efi-season td { background: var(--foam) !important; border-radius: 2px; height: 1.5em; }
.efi-season td.on { background: var(--sea) !important; }
.efi-season td.is-now { outline: 2px solid var(--float); outline-offset: -2px; }
.efi .efi-season-now { margin-top: .7em; font-size: .9rem; font-weight: 700; }
.efi dl.efi-tips { margin: 0; display: grid; gap: 0; }
.efi-tips > div { display: grid; grid-template-columns: 6em 1fr; gap: 1em; padding: .8em 0; border-bottom: 1px solid var(--line); }
.efi-tips dt { font-family: var(--display); font-weight: 800; font-size: 1rem; color: var(--sea); }
.efi-tips dd { margin: 0; font-size: .92rem; line-height: 1.75; word-break: keep-all; }
.efi .efi-tipmeta { margin-top: .3em; font-size: .8rem; color: var(--muted); }
.efi .efi-source { margin-top: 1.6em; font-size: .75rem; color: var(--muted); }
.efi-empty { color: #5f7880; }

/* 지역 선택 */
.efi-finder { max-width: 820px; font-family: var(--body); font-size: 16px; line-height: 1.65; color: var(--ink); }
.efi-pick { display: grid; grid-template-columns: .85fr 1fr 1fr 1.35fr; gap: .65em; margin-bottom: 1.4em; padding: 1em; background: var(--ink); border-radius: 8px 20px 8px 8px; }
.efi-pick label { display: block; margin: 0; }
.efi-pick span { display: block; font-size: .78rem; font-weight: 800; color: #d1e1e6; margin-bottom: .3em; }
.efi-pick select { width: 100%; height: 44px; padding: 0 .7em; border: 1px solid #c8d8dd; border-radius: 6px; background: #fff; color: #102d3a; font-family: var(--body); font-size: .95rem; font-weight: 700; letter-spacing: -0.015em; }
.efi-finder-body { transition: opacity .15s; }
.efi-finder-body.is-loading { opacity: .4; pointer-events: none; }

@media (max-width: 700px) {
	.efi h2.efi-name { font-size: 1.7rem; }
	.efi-verdict-card { padding: 1em 1em 1em .6em; gap: .6em; }
	.efi-float { width: 64px; height: 100px; }
	.efi-float svg { width: 64px; height: 96px; }
	.efi .efi-phrase { font-size: 1.3rem; }
	.efi ol.efi-bars li { grid-template-columns: 1fr auto; }
	.efi ol.efi-bars .efi-bars-track { grid-column: 1 / -1; grid-row: 2; }
	.efi ul.efi-near, .efi ol.efi-todaylist { grid-template-columns: 1fr; }
	.efi-tips > div { grid-template-columns: 1fr; gap: .2em; }
	.efi-pick { grid-template-columns: 1fr 1fr; }
	.efi-pick-kind, .efi-pick-point { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
	.efi-float-body { animation: none; }
	.efi-finder-body { transition: none; }
}

/* 주변 갯바위 포인트 */
.efi-rockmap { height: 360px; }
.efi-rockinfo { margin-top: .7em; padding: .9em 1em; background: var(--foam); border-radius: 4px 14px 14px 14px; min-height: 3.2em; }
.efi .efi-rockinfo-empty { font-size: .85rem; color: var(--muted); }
.efi .efi-rockinfo-name { font-family: var(--display); font-weight: 800; font-size: 1.15rem; line-height: 1.4; }
.efi-rockinfo-name span, .efi-rocks-name span { font-family: var(--body); font-size: .78rem; color: var(--muted); margin-left: .3em; }
.efi dl.efi-rockinfo-meta { display: flex; flex-wrap: wrap; gap: .3em 1.4em; margin: .4em 0 0; }
.efi-rockinfo-meta dt { font-size: .72rem; color: var(--muted); }
.efi-rockinfo-meta dd { margin: 0; font-weight: 800; }
.efi ul.efi-rockinfo-fish { list-style: none; margin: .6em 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.efi-rockinfo-fish li { margin: 0; padding: .2em .6em; background: #fff; border-radius: 4px; font-size: .82rem; }
.efi-rockinfo-fish span { color: var(--muted); font-size: .75rem; }
.efi ul.efi-rocks { list-style: none; margin: 1em 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.4em; }
.efi-rocks li { margin: 0; padding: .7em 0; border-bottom: 1px solid var(--line); }
.efi .efi-rocks-name { font-weight: 800; }
.efi .efi-rocks-meta { font-size: .8rem; color: var(--muted); }
.efi .efi-rocks-fish { font-size: .82rem; margin-top: .15em; word-break: keep-all; }
@media (max-width: 560px) { .efi ul.efi-rocks { grid-template-columns: 1fr; } .efi-rockmap { height: 300px; } }

/* ---- v0.9 가독성 ---- */
.efi, .efi-finder { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.efi { font-size: 16px; font-weight: 400; letter-spacing: -0.012em; word-break: keep-all; overflow-wrap: break-word; }
.efi .efi-note, .efi .efi-cardsub, .efi .efi-crumb { font-size: .82rem; line-height: 1.6; color: #4f666e; }
.efi .efi-lead { font-size: .95rem; line-height: 1.75; color: #3d555d; }

/* 낚시 가이드 본문 */
.efi-prose { font-size: 1.0625rem; line-height: 1.88; color: #22383f; max-width: 38em; }
.efi .efi-prose p { margin: 0 0 1.25em; }
.efi .efi-prose h4 { margin: 1.9em 0 .55em; font-size: 1.15rem; font-weight: 700; line-height: 1.45; color: var(--ink); padding-left: .65em !important; border-left: 3px solid var(--float) !important; }
.efi .efi-prose h4:first-child { margin-top: .2em; }
.efi .efi-prose ul { margin: 0 0 1.25em; padding-left: 1.25em; }
.efi .efi-prose li { margin: 0 0 .5em; line-height: 1.8; }
.efi .efi-prose strong { font-weight: 700; color: var(--ink); background: linear-gradient(transparent 62%, #ffe2d8 62%); }
.efi .efi-prose .efi-note { margin-top: 1.4em; }

/* 한마디 · 팁 */
.efi-say p:last-child { font-size: 1rem; line-height: 1.8; }
.efi-tips dd { font-size: .98rem; line-height: 1.8; color: #22383f; }

/* 갯바위 세부 포인트 */
.efi-spot { margin-bottom: 1.6em; padding-bottom: 1.4em; border-bottom: 2px solid var(--ink); }
.efi dl.efi-spot-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: .2em 0 .9em; }
.efi-spot-meta > div { padding: .7em .9em; background: var(--foam); border-radius: 6px; }
.efi-spot-meta dt { font-size: .78rem; color: #4f666e; }
.efi-spot-meta dd { margin: .1em 0 0; font-size: 1.05rem; font-weight: 700; }
.efi ul.efi-spot-fish { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.efi-spot-fish li { margin: 0; padding: .3em .75em; border: 1px solid var(--line); border-radius: 4px; font-size: .9rem; }
.efi-spot-fish span { color: #4f666e; font-size: .8rem; }
.efi .efi-spot-bridge { margin-top: 1em; padding: .8em 1em; background: #fff4ef; border-left: 3px solid var(--float); border-radius: 0 6px 6px 0; font-size: .95rem; line-height: 1.7; }
@media (max-width: 560px) {
	.efi dl.efi-spot-meta { grid-template-columns: 1fr 1fr; }
	.efi-prose { font-size: 1rem; }
}


/* ---- v0.9.5 finder 페이지: 워드프레스 기본 페이지 제목 숨김 ---- */
.efi-finder-page .entry-title,
.efi-finder-page .site-main > article > .inside-article > .entry-header,
.efi-finder-page .site-main > article > .entry-header {
	display: none !important;
}

/* GeneratePress 등에서 제목 영역이 사라진 뒤 남는 불필요한 간격 최소화 */
.efi-finder-page .site-main > article > .inside-article > .entry-content:first-child,
.efi-finder-page .site-main > article > .inside-article .entry-content {
	margin-top: 0;
}


/* ---- v0.9.6 finder 상단 브랜딩 ---- */
.efi-finder-hero {
	margin: 0 0 1.25rem;
	padding: 2.8rem 2.9rem 2.2rem;
	border: 0;
	border-radius: 14px;
	background: #102d3d;
	color: #fff;
}
.efi-hero-kicker {
	display: block;
	margin-bottom: .65rem;
	color: #e8a620;
	font-size: .75rem;
	font-weight: 900;
	line-height: 1.4;
	letter-spacing: .12em;
}
.efi-finder-hero h1 {
	margin: 0;
	font-family: var(--body);
	font-size: clamp(1.75rem, 3.2vw, 2.45rem);
	line-height: 1.18;
	letter-spacing: -0.035em;
	font-weight: 800;
	color: #fff;
}
.efi-finder-hero p {
	margin: .55rem 0 0;
	font-size: 1rem;
	line-height: 1.65;
	color: #d4e3e7;
}
.efi-finder-hero a {
	color: #7fcfd0;
	font-weight: 800;
}
.efi-finder-source {
	display: inline-flex;
	align-items: center;
	margin-top: .65rem;
	padding: .35rem .65rem;
	border: 1px solid rgba(127, 207, 208, .35);
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	color: #d4e3e7;
	font-size: .78rem;
	font-weight: 700;
	line-height: 1.3;
}
@media (max-width: 560px) {
	.efi-finder-hero { margin-bottom: 1rem; padding: 1.9rem 1.45rem; }
	.efi-finder-hero h1 { font-size: 1.75rem; }
	.efi-finder-hero p { font-size: .95rem; }
	.efi-finder-source { font-size: .72rem; }
}

/* 첫 출조 체크리스트: 플러그인 도구와 동일한 제목 카드 */
.efi-checklist-page .entry-title,
.efi-checklist-page .site-main > article > .inside-article > .entry-header,
.efi-checklist-page .site-main > article > .entry-header {
	display: none !important;
}
.efi-checklist-hero {
	margin: 0 0 1.25rem;
	padding: 2.8rem 2.9rem 2.2rem;
	border-radius: 14px;
	background: #102d3d;
	color: #fff;
}
.efi-checklist-hero h1 {
	margin: 0;
	color: #fff !important;
	font-family: "Pretendard Variable", Pretendard, sans-serif;
	font-size: clamp(1.75rem, 3.2vw, 2.45rem);
	font-weight: 800;
	line-height: 1.18;
	letter-spacing: -.035em;
}
.efi-checklist-hero p {
	max-width: 680px;
	margin: .75rem 0 0;
	color: #d4e3e7;
	font-size: 1rem;
	line-height: 1.65;
}
@media (max-width: 560px) {
	.efi-checklist-hero { padding: 1.9rem 1.45rem; }
	.efi-checklist-hero h1 { font-size: 1.8rem; }
	.efi-checklist-hero p { font-size: .95rem; }
}

/* ---- v1.0 추가 기능 ---- */
.efi-warnbar { display: flex; flex-wrap: wrap; gap: .2em .8em; align-items: baseline; margin: 0 0 1em; padding: .8em 1em; background: #c4472a; color: #fff; border-radius: 6px; }
.efi-warnbar b { font-size: 1.05rem; font-weight: 800; }
.efi-warnbar span { font-size: .88rem; line-height: 1.6; }

.efi-live { margin: 1em 0 0; padding: .9em 1em; border: 1.5px solid var(--ink); border-radius: 6px; }
.efi .efi-live-title { font-size: .85rem; font-weight: 800; display: flex; align-items: center; gap: .45em; margin-bottom: .4em; }
.efi-live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--float); box-shadow: 0 0 0 3px #ffe2d8; }
.efi-live dl { display: flex; flex-wrap: wrap; gap: .3em 1.6em; margin: 0; }
.efi-live dt { font-size: .78rem; color: #4f666e; }
.efi-live dd { margin: 0; font-size: 1.15rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.efi .efi-live-cmp { margin-top: .5em; font-size: .95rem; line-height: 1.7; }

.efi ol.efi-tidelist { list-style: none; margin: 0 0 .4em; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.efi-tidelist li { margin: 0; padding: .6em .7em; border-radius: 6px; background: var(--foam); display: flex; flex-direction: column; gap: 1px; }
.efi-tidelist li.is-high { background: #dcecf2; }
.efi-tide-type { font-size: .75rem; font-weight: 700; color: #4f666e; }
.efi-tidelist li.is-high .efi-tide-type { color: var(--sea); }
.efi-tidelist b { font-size: 1.2rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.efi-tide-lv { font-size: .75rem; color: #4f666e; }
.efi dl.efi-sunmoon { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin: .7em 0 0; }
.efi-sunmoon > div { padding: .5em .7em; border: 1px solid var(--line); border-radius: 6px; }
.efi-sunmoon dt { font-size: .75rem; color: #4f666e; }
.efi-sunmoon dd { margin: 0; font-weight: 800; font-variant-numeric: tabular-nums; }
@media (max-width: 560px) {
	.efi ol.efi-tidelist, .efi dl.efi-sunmoon { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---- v1.1 제목 클릭 → 전국 포인트 지도 ---- */
.efi button.efi-name-btn, .efi button.efi-name-btn:hover, .efi button.efi-name-btn:focus {
	all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: .3em; font: inherit; color: inherit; letter-spacing: inherit; line-height: inherit;
}
.efi button.efi-name-btn:focus-visible { outline: 2px solid var(--float); outline-offset: 3px; border-radius: 4px; }
.efi-name-ico { flex: none; width: .75em; height: .75em; color: var(--float); transition: transform .15s; }
.efi button.efi-name-btn:hover .efi-name-ico { transform: translateY(-1px) scale(1.08); }
.efi button.efi-name-btn:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .18em; text-decoration-color: #ffcbbd; }

html.efi-mm-open { overflow: hidden; }
.efi-mm {
	--ink: #0e2a38; --sea: #1b6f8a; --float: #ff5a36; --foam: #edf5f6; --line: #d9e6e9;
	position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 3vh 3vw;
	background: rgba(14, 42, 56, .55);
	font-family: "Pretendard Variable", Pretendard, -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif; color: var(--ink);
}
.efi-mm[hidden] { display: none; }
.efi-mm-panel { width: 100%; max-width: 1100px; height: 100%; max-height: 860px; display: flex; flex-direction: column; background: #fff; border-radius: 8px 22px 8px 8px; overflow: hidden; box-shadow: 0 20px 60px rgba(14, 42, 56, .35); }
.efi-mm-head { display: flex; align-items: center; gap: .6em 1.2em; flex-wrap: wrap; padding: .75em 1em; background: var(--ink); color: #fff; }
.efi-mm-title { margin: 0; font-size: 1.1rem; font-weight: 800; }
.efi-mm-filters { display: flex; flex-wrap: wrap; gap: .3em 1em; margin-right: auto; font-size: .85rem; }
.efi-mm-filters label { display: inline-flex; align-items: center; gap: .35em; cursor: pointer; margin: 0; }
.efi-mm-filters input { margin: 0; accent-color: var(--float); }
.efi-mm-filters .dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; }
.efi-mm-filters .dot.idx { background: #2f8fae; box-shadow: 0 0 0 2px #fff; }
.efi-mm-filters .dot.rock { width: 7px; height: 7px; background: var(--float); }
.efi-mm-filters .dot.boat { width: 7px; height: 7px; background: #8ec5d6; }
button.efi-mm-close, button.efi-mm-close:hover, button.efi-mm-close:focus { all: unset; cursor: pointer; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; font-size: 1.05rem; color: #fff; background: rgba(255, 255, 255, .12); }
button.efi-mm-close:focus-visible { outline: 2px solid var(--float); outline-offset: 2px; }
.efi-mm-map { flex: 1; min-height: 0; background: var(--foam); }
.efi-mm-info { padding: .8em 1em; border-top: 1px solid var(--line); min-height: 4.4em; }
.efi-mm-info p { margin: 0; }
.efi-mm-hint { font-size: .88rem; color: #4f666e; }
.efi-mm-name { font-size: 1.1rem; font-weight: 800; display: flex; align-items: center; gap: .5em; }
.efi-mm-sub { font-size: .85rem; color: #4f666e; margin-top: .1em !important; }
.efi-mm-score { font-size: .8rem; font-weight: 800; padding: .1em .5em; border-radius: 3px; background: var(--c, #c9d3d6); color: var(--fg, #0e2a38); }
.efi-mm .s5 { --c: #0b5f7a; --fg: #fff; } .efi-mm .s4 { --c: #2f8fae; --fg: #fff; } .efi-mm .s3 { --c: #8ec5d6; --fg: #0e2a38; }
.efi-mm .s2 { --c: #f2c4a8; --fg: #0e2a38; } .efi-mm .s1 { --c: #e5765a; --fg: #fff; } .efi-mm .s0 { --c: #e6ecee; --fg: #5f7880; }
button.efi-mm-go, button.efi-mm-go:hover, button.efi-mm-go:focus { margin-top: .55em; padding: .5em 1.1em; border: 0; border-radius: 6px; background: var(--float); color: #fff; font: inherit; font-weight: 700; font-size: .9rem; cursor: pointer; }
button.efi-mm-go:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
@media (max-width: 640px) {
	.efi-mm { padding: 0; }
	.efi-mm-panel { max-height: none; border-radius: 0; }
	.efi-mm-filters { order: 3; width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .efi-name-ico { transition: none; } }

/* ---- v1.2 출조정보 메인 ---- */
.efi-hub-head { margin-bottom: 1.2em; }
.efi .efi-hub-lead { font-size: 1.05rem; margin: .3em 0 .9em; }
.efi .efi-hub-lead b { color: var(--float); }
.efi-hub-seas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.efi a.efi-hub-sea { display: flex; flex-direction: column; padding: .7em .9em; border-radius: 6px; background: var(--c); color: var(--fg); text-decoration: none; }
.efi-hub-sea span { font-size: .85rem; font-weight: 700; }
.efi-hub-sea b { font-size: 1.6rem; font-weight: 800; line-height: 1.2; font-variant-numeric: tabular-nums; }
.efi a.efi-hub-sea:hover { filter: brightness(1.05); }
.efi ol.efi-hub-top { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.efi-hub-top li { margin: 0; }
.efi-hub-top a { display: flex; gap: .8em; align-items: flex-start; padding: .8em .9em; border: 1px solid var(--line); border-radius: 6px; color: inherit; text-decoration: none; height: 100%; }
.efi-hub-top a:hover { border-color: var(--ink); }
.efi-hub-score { flex: none; width: 2.2em; height: 2.2em; display: grid; place-items: center; border-radius: 6px; background: var(--c); color: var(--fg); font-weight: 800; font-size: 1.1rem; }
.efi-hub-top-body { display: flex; flex-direction: column; min-width: 0; }
.efi-hub-top-body b { font-size: 1.05rem; }
.efi-hub-top-body small { font-size: .8rem; color: #4f666e; line-height: 1.5; }
.efi-hubmap { height: 460px; border-radius: 6px; background: var(--foam); z-index: 0; }
.efi-hubmap-info { margin-top: .6em; padding: .8em 1em; background: var(--foam); border-radius: 6px; min-height: 3.6em; }
.efi-hubmap-info p { margin: 0; }
.efi .efi-hubmap-info .efi-mm-name { font-size: 1.05rem; font-weight: 800; display: flex; gap: .5em; align-items: center; }
.efi .efi-hubmap-info .efi-mm-sub { font-size: .85rem; color: #4f666e; }
.efi .efi-hubmap-info .efi-mm-score { font-size: .8rem; font-weight: 800; padding: .1em .5em; border-radius: 3px; background: var(--c, #c9d3d6); color: var(--fg, #0e2a38); }
.efi .efi-hubmap-info button.efi-mm-go { margin-top: .55em; padding: .5em 1.1em; border: 0; border-radius: 6px; background: var(--float); color: #fff; font: inherit; font-weight: 700; font-size: .9rem; cursor: pointer; }
.efi-hub-week tbody th a { color: var(--ink); text-decoration: none; font-weight: 800; }
.efi-hub-week tbody th a:hover { color: var(--float); }
.efi-hub-week tbody th small { margin-left: .3em; font-size: .7rem; font-weight: 600; color: #4f666e; }
.efi-hub-week td { cursor: default; }
.efi-hub-cta p { font-size: .98rem; line-height: 1.75; }
.efi a.efi-hub-btn { display: inline-block; margin-top: .8em; padding: .7em 1.4em; border-radius: 6px; background: var(--ink); color: #fff; font-weight: 700; text-decoration: none; }
.efi a.efi-hub-btn:hover { background: var(--float); }
@media (max-width: 560px) {
	.efi-hub-seas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.efi ol.efi-hub-top { grid-template-columns: 1fr; }
	.efi-hubmap { height: 380px; }
}

/* ---- v1.3 출조도우미 콘텐츠 보강 ---- */
.efi-editorial-intro {
	margin: 0 0 1.35rem;
	padding: 1.15rem 1.2rem 1.2rem;
	border: 1px solid #d8e5e8;
	border-radius: 8px;
	background: #f8fbfc;
}
.efi-editorial-kicker {
	margin-bottom: .35rem;
	color: var(--float);
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .02em;
}
.efi-editorial-intro h2,
.efi-editorial-foot h2,
.efi-tool-head h2 {
	margin: 0;
	font-family: var(--body);
	color: var(--ink);
	font-weight: 800;
	letter-spacing: -.025em;
}
.efi-editorial-intro h2 { font-size: 1.22rem; line-height: 1.4; }
.efi-editorial-intro p {
	margin: .72rem 0 0;
	font-size: .96rem;
	line-height: 1.82;
	color: #334f59;
}
.efi-editorial-intro p strong { color: #153846; }
.efi-check-order {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 7px;
	margin-top: 1rem;
}
.efi-check-order > div {
	display: flex;
	align-items: center;
	gap: .55rem;
	min-width: 0;
	padding: .65rem .7rem;
	border: 1px solid #d8e5e8;
	border-radius: 7px;
	background: #fff;
}
.efi-check-order b {
	flex: none;
	width: 1.75rem;
	height: 1.75rem;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--ink);
	color: #fff;
	font-size: .8rem;
}
.efi-check-order span { display: flex; flex-direction: column; min-width: 0; }
.efi-check-order strong { font-size: .86rem; line-height: 1.25; color: var(--ink); }
.efi-check-order small { margin-top: .1rem; font-size: .7rem; line-height: 1.35; color: #698088; }
.efi-tool-head { margin: 0 0 .65rem; }
.efi-tool-head h2 { font-size: 1.05rem; }
.efi-tool-head p { margin: .25rem 0 0; color: #688089; font-size: .85rem; line-height: 1.55; }
.efi-editorial-foot {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid #d7e2e6;
}
.efi-editorial-foot h2 { font-size: 1.18rem; }
.efi-editorial-foot p {
	margin: .7rem 0 0;
	font-size: .94rem;
	line-height: 1.8;
	color: #405b64;
}
.efi-editorial-foot p strong { color: #153846; }
@media (max-width: 700px) {
	.efi-editorial-intro { padding: 1rem; }
	.efi-check-order { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.efi-editorial-intro p, .efi-editorial-foot p { font-size: .93rem; line-height: 1.78; }
}
@media (max-width: 380px) {
	.efi-check-order { grid-template-columns: 1fr; }
}

/* ---- v1.4 어낚 출조 기준 (출조정보 메인) ---- */
.efi .efi-criteria .efi-editorial-kicker { margin: 0 0 .2rem; }
.efi .efi-criteria-lead { font-size: 1rem; line-height: 1.8; color: #22383f; margin: 0 0 .2rem; }
.efi ol.efi-check-order { list-style: none; padding: 0; margin: 1rem 0 1.2rem; }
.efi ol.efi-check-order > li { display: flex; align-items: center; gap: .55rem; min-width: 0; margin: 0; padding: .65rem .7rem; border: 1px solid #d8e5e8; border-radius: 7px; background: #fff; }
.efi-criteria-step { margin-top: 1.4rem; }
.efi .efi-criteria-step h4 { margin: 0 0 .5rem; padding: 0 0 0 .65em !important; border: 0; border-left: 3px solid var(--float) !important; font-size: 1.08rem; font-weight: 800; line-height: 1.45; color: var(--ink); }
.efi .efi-criteria-step p { margin: 0 0 .8rem; font-size: .98rem; line-height: 1.85; color: #22383f; max-width: 40em; }
.efi .efi-criteria-step strong { color: var(--ink); }
.efi .efi-criteria-step ul { margin: 0; padding-left: 1.2em; max-width: 40em; }
.efi .efi-criteria-step li { margin: 0 0 .55em; font-size: .97rem; line-height: 1.8; color: #22383f; }
.efi .efi-criteria-step li::marker { color: var(--float); }
.efi table.efi-criteria-table { width: 100%; max-width: 34em; border-collapse: collapse; margin: .2rem 0 .9rem; border: 0; font-variant-numeric: tabular-nums; }
.efi-criteria-table th, .efi-criteria-table td { border: 0 !important; border-bottom: 1px solid var(--line) !important; padding: .55em .5em; text-align: left; font-size: .92rem; background: none; }
.efi-criteria-table thead th { font-size: .8rem; color: #4f666e; font-weight: 600; border-bottom: 2px solid var(--ink) !important; }
.efi-criteria-table tbody th { font-weight: 800; }
.efi-criteria-table td:nth-child(3) { color: #8f620a; font-weight: 700; }
.efi-criteria-table td:nth-child(4) { color: #c4472a; font-weight: 800; }
.efi-criteria-stop { margin-top: 1.4rem; padding: 1rem 1.1rem; border-radius: 6px; background: #fff4ef; border-left: 4px solid #c4472a; }
.efi .efi-criteria-stop-title { margin: 0 0 .45rem; font-weight: 800; color: #c4472a; }
.efi .efi-criteria-stop ul { margin: 0; padding-left: 1.2em; }
.efi .efi-criteria-stop li { margin: 0 0 .35em; font-size: .95rem; line-height: 1.7; }
.efi-finder .efi-finder-hublink { margin-top: .5rem; font-size: .9rem; color: #4f666e; }
.efi-finder .efi-finder-hublink a { color: var(--sea); font-weight: 700; }
.efi ul.efi-daynotes { list-style: none; margin: 1em 0 0; padding: .7em 1em; background: var(--foam); border-radius: 6px; }
.efi-daynotes li { margin: 0; font-size: .82rem; line-height: 1.7; color: #4f666e; padding-left: .9em; position: relative; }
.efi-daynotes li::before { content: ""; position: absolute; left: 0; top: .7em; width: 4px; height: 4px; border-radius: 50%; background: var(--float); }
@media (max-width: 700px) { .efi ol.efi-check-order { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 380px) { .efi ol.efi-check-order { grid-template-columns: 1fr; } }

/* ---- v1.4.1 출조정보 메인 상단을 도우미와 같은 형식으로 ---- */
.efi-hub .efi-hub-hero {
	margin: 0 0 1.4rem;
	padding: 2.8rem 2.9rem 2.2rem;
	border: 0;
	border-radius: 14px;
	background: #102d3d;
	color: #fff;
}
.efi-hub .efi-hero-kicker {
	display: block;
	margin-bottom: .65rem;
	color: #e8a620;
	font-size: .75rem;
	font-weight: 900;
	line-height: 1.4;
	letter-spacing: .12em;
}
.efi-hub .efi-hub-hero h1 {
	color: #fff;
	font-size: clamp(2rem, 4vw, 2.375rem);
}
.efi-hub .efi-hub-hero p {
	max-width: 680px;
	color: #d4e3e7;
}
.efi-hub .efi-hub-hero a {
	color: #7fcfd0;
	font-weight: 800;
}
.efi-hub .efi-hub-hero .efi-finder-source {
	border-color: rgba(127, 207, 208, .35);
	background: rgba(255, 255, 255, .08);
	color: #d4e3e7;
}
@media (max-width: 560px) {
	.efi-hub .efi-hub-hero {
		padding: 1.9rem 1.45rem;
	}
	.efi-hub .efi-hub-hero h1 {
		font-size: 1.8rem;
	}
}
.efi .efi-hub-head { margin: 0 0 .4rem; }
.efi .efi-hub-sum-title { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; font-family: var(--body); font-size: 1.25rem; font-weight: 800; line-height: 1.4; letter-spacing: -.025em; color: var(--ink); }
.efi .efi-hub-sum-title::before, .efi .efi-hub-sum-title::after { display: none !important; }
.efi .efi-hub-lead { margin: .3rem 0 .9rem; font-size: 1rem; color: #334f59; }
/* 테마 링크 스타일(밑줄·청록 글자) 막기 */
.efi a.efi-hub-sea, .efi a.efi-hub-sea:hover, .efi a.efi-hub-sea:focus,
.efi a.efi-hub-sea span, .efi a.efi-hub-sea b, .efi a.efi-hub-sea small { color: var(--fg) !important; text-decoration: none !important; border: 0 !important; box-shadow: none !important; }
.efi a.efi-hub-sea { gap: .1rem; padding: .8em 1em; }
.efi a.efi-hub-sea span { font-size: .9rem; font-weight: 800; }
.efi a.efi-hub-sea b { font-size: 1.75rem; }
.efi a.efi-hub-sea small { font-size: .72rem; font-weight: 600; opacity: .85; }
.efi a.efi-hub-sea:focus-visible { outline: 2px solid var(--float); outline-offset: 2px; }

/* ---- v1.4.2 ---- */
.efi .efi-disclaim { margin: -.4rem 0 1rem; padding: .55rem .8rem; font-size: .85rem; line-height: 1.6; color: #4f666e; background: var(--foam); border-radius: 6px; }
.efi .efi-windy-fallback { margin-top: .5rem; }
.efi .efi-windy-fallback a { color: var(--sea); font-weight: 700; }

/* ---- v1.5 금어기·금지체장 조회기 ---- */
.efi-rules .efi-finder-hero { margin-bottom: 1.2rem; }
.efi-rules-today { padding: 1rem 1.1rem; border-radius: 6px 18px 6px 6px; background: var(--ink); color: #fff; }
.efi .efi-rules-today-date { font-size: .8rem; color: #a9c6cf; }
.efi .efi-rules-today-main { font-size: 1.15rem; font-weight: 800; margin: .15rem 0 .3rem; }
.efi .efi-rules-today-main.is-in b { color: #ffb39f; }
.efi .efi-rules-today-sub { font-size: .9rem; color: #d6e6ea; line-height: 1.65; }
.efi .efi-rules-today-sub b { color: #fff; }

.efi-rules-form { display: grid; grid-template-columns: 1.4fr 1fr auto; gap: .6em; align-items: end; padding: .9em 1em; background: var(--foam); border-radius: 6px; }
.efi-rules-form label { display: block; margin: 0; }
.efi-rules-form span { display: block; font-size: .78rem; font-weight: 700; color: #4f666e; margin-bottom: .25em; }
.efi-rules-form select, .efi-rules-form input { width: 100%; height: 44px; padding: 0 .7em; border: 1px solid #c8d8dd; border-radius: 6px; background: #fff; color: var(--ink); font: inherit; font-weight: 700; }
.efi button.efi-rules-go, .efi button.efi-rules-go:hover, .efi button.efi-rules-go:focus { height: 44px; padding: 0 1.3em; border: 0; border-radius: 6px; background: var(--float); color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.efi-rules-form select:focus-visible, .efi-rules-form input:focus-visible, .efi button.efi-rules-go:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.efi-rules-result { margin-top: .7em; }
.efi-rules-result:empty { display: none; }
.efi-rules-result p { margin: 0 0 .35em; font-size: .97rem; line-height: 1.7; }
.efi-rules-result.is-bad { padding: .9em 1em; border-left: 4px solid #c4472a; background: #fff1ec; border-radius: 0 6px 6px 0; }
.efi-rules-result.is-ok { padding: .9em 1em; border-left: 4px solid #0b5f7a; background: #e8f3f6; border-radius: 0 6px 6px 0; }
.efi .efi-rules-verdict { font-size: 1.2rem !important; font-weight: 800; }
.efi-rules-result.is-bad .efi-rules-verdict { color: #c4472a; }
.efi-rules-result.is-ok .efi-rules-verdict { color: #0b5f7a; }
.efi .efi-rules-warn { color: #8f3a22; font-weight: 600; }

.efi-rules-filter input { width: 100%; height: 44px; padding: 0 .9em; margin-bottom: .8em; border: 1px solid #c8d8dd; border-radius: 6px; font: inherit; }
.efi ul.efi-rules-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.efi-rules-item { margin: 0; padding: .85em 1em; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.efi-rules-item.st-in { border-color: #e5765a; background: #fff6f2; }
.efi-rules-item.st-soon { border-color: #f2c4a8; }
.efi-rules-head { display: flex; align-items: center; justify-content: space-between; gap: .5em; margin-bottom: .4em; }
.efi .efi-rules-head h4 { margin: 0; padding: 0; border: 0; font-size: 1.08rem; font-weight: 800; }
.efi-rules-head h4 small { font-size: .78rem; font-weight: 600; color: #4f666e; margin-left: .2em; }
.efi-rules-badge { flex: none; font-size: .72rem; font-weight: 800; padding: .2em .55em; border-radius: 4px; background: var(--foam); color: #4f666e; }
.st-in .efi-rules-badge { background: #c4472a; color: #fff; }
.st-soon .efi-rules-badge { background: #f2c4a8; color: #0e2a38; }
.st-open .efi-rules-badge { background: #e3f1f6; color: #0b5f7a; }
.efi-rules-item dl { display: grid; grid-template-columns: 1fr 1fr; gap: .4em .8em; margin: 0; }
.efi-rules-item dt { font-size: .74rem; color: #4f666e; }
.efi-rules-item dd { margin: 0; font-size: .92rem; font-weight: 700; line-height: 1.45; }
.efi .efi-rules-note { margin-top: .5em; font-size: .82rem; line-height: 1.6; color: #4f666e; }
.efi .efi-rules-empty { margin-top: .6em; font-size: .9rem; color: #4f666e; }
.efi-rules-cal td.off { background: #e5765a !important; }
@media (max-width: 600px) {
	.efi-rules-form { grid-template-columns: 1fr 1fr; }
	.efi button.efi-rules-go { grid-column: 1 / -1; }
	.efi ul.efi-rules-list { grid-template-columns: 1fr; }
}

/* ---- v1.5.2 계측법 · 예시 · 주의문 ---- */
.efi .efi-rules-caution { margin-top: .5em !important; padding-top: .5em; border-top: 1px dashed #b9d3db; font-size: .88rem !important; color: #3d555d; }
.efi-rules-examples { margin-top: .9em; padding: .8em 1em; border: 1px dashed #c8d8dd; border-radius: 6px; }
.efi .efi-rules-examples-title { margin: 0 0 .35em; font-size: .82rem; font-weight: 800; color: #4f666e; }
.efi .efi-rules-examples ul { margin: 0; padding-left: 1.1em; }
.efi .efi-rules-examples li { margin: 0 0 .3em; font-size: .92rem; line-height: 1.65; }
.efi-measure-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.efi .efi-measure-card { margin: 0; padding: .8em .9em 1em; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.efi-measure-card svg { display: block; width: 100%; height: auto; max-height: 120px; margin-bottom: .4em; }
.efi-measure-card .fish { fill: #dcecf2; stroke: #0e2a38; stroke-width: 2; stroke-linejoin: round; }
.efi-measure-card .arms { fill: none; stroke: #0e2a38; stroke-width: 2; stroke-linecap: round; }
.efi-measure-card .eye { fill: #0e2a38; }
.efi-measure-card .vent { fill: #ff5a36; }
.efi-measure-card .ruler { stroke: #ff5a36; stroke-width: 3; stroke-linecap: round; }
.efi-measure-card .tick { stroke: #ff5a36; stroke-width: 2.5; }
.efi-measure-card .guide { stroke: #ff5a36; stroke-width: 1.5; stroke-dasharray: 3 3; }
.efi-measure-card .scale { fill: #0e2a38; }
.efi-measure-card .scale-t { fill: #fff; font: 700 11px/1 Pretendard, -apple-system, "Malgun Gothic", sans-serif; }
.efi-measure-card figcaption { font-size: .9rem; line-height: 1.65; color: #22383f; }
.efi-measure-card figcaption b { display: block; font-size: 1.02rem; color: var(--ink); margin-bottom: .1em; }
@media (max-width: 560px) { .efi-measure-grid { grid-template-columns: 1fr; } }

/* ---- v1.6 바다낚시터 찾기 ---- */
.efi-parks-notice { display: flex; flex-direction: column; gap: .2em; margin: 0 0 1rem; padding: .8em 1em; border-left: 4px solid var(--float); background: #fff4ef; border-radius: 0 6px 6px 0; }
.efi-parks-notice b { color: #a8401f; }
.efi-parks-notice span { font-size: .9rem; line-height: 1.65; color: #3d555d; }
.efi-parks-filter { display: grid; grid-template-columns: 1fr 1.4fr; gap: .6em .8em; padding: .9em 1em; background: var(--ink); border-radius: 6px 18px 6px 6px; margin-bottom: .8em; }
.efi-parks-filter label { display: block; margin: 0; }
.efi-parks-filter span { display: block; font-size: .75rem; font-weight: 700; color: #a9c6cf; margin-bottom: .25em; }
.efi-parks-filter select, .efi-parks-filter input[type="search"] { width: 100%; height: 42px; padding: 0 .7em; border: 0; border-radius: 4px; background: #fff; color: var(--ink); font: inherit; font-weight: 700; }
.efi-parks-types { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; border: 0; }
.efi-parks-types legend { width: 100%; font-size: .75rem; font-weight: 700; color: #a9c6cf; margin-bottom: .25em; padding: 0; }
.efi-chip { cursor: pointer; }
.efi-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.efi .efi-parks-types .efi-chip span { display: inline-block; margin: 0; padding: .3em .75em; border: 1.5px solid #4c6b76; border-radius: 999px; font-size: .82rem; font-weight: 700; color: #cfe0e5; }
.efi .efi-parks-types .efi-chip input:checked + span { background: #fff; border-color: #fff; color: var(--ink); }
.efi-chip input:focus-visible + span { outline: 2px solid var(--float); outline-offset: 2px; }
.efi-parks-map { height: 400px; border-radius: 6px; background: var(--foam); z-index: 0; }
.efi .efi-parks-count { margin: .5em 0 .6em; font-size: .85rem; font-weight: 700; color: #4f666e; }
.efi ul.efi-parks-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.efi-park { margin: 0; padding: .9em 1em; border: 1px solid var(--line); border-radius: 6px; background: #fff; scroll-margin-top: 90px; }
.efi-park.is-active { border-color: var(--float); box-shadow: 0 0 0 2px #ffd7cb; }
.efi-park-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .5em; }
.efi .efi-park-head h3 { margin: 0; padding: 0; border: 0; font-size: 1.05rem; font-weight: 800; line-height: 1.4; }
.efi-park-type { flex: none; font-size: .72rem; font-weight: 800; padding: .2em .55em; border-radius: 4px; color: #fff; background: #5f7880; }
.efi-park-type.t0 { background: #0b5f7a; } .efi-park-type.t1 { background: #2f8fae; } .efi-park-type.t2 { background: #ff5a36; }
.efi-park-type.t3 { background: #8a5bd6; } .efi-park-type.t4 { background: #5f7880; } .efi-park-type.t5 { background: #b9a37a; }
.efi .efi-park-addr { margin-top: .25em; font-size: .84rem; color: #4f666e; line-height: 1.55; }
.efi .efi-park-fish { margin-top: .35em; font-size: .9rem; font-weight: 700; }
.efi .efi-park-near { margin-top: .45em; font-size: .84rem; line-height: 1.6; }
.efi .efi-park-near a { color: var(--sea); font-weight: 700; }
.efi-park-score { display: inline-block; min-width: 1.5em; text-align: center; padding: 0 .35em; border-radius: 3px; background: var(--c); color: var(--fg); font-weight: 800; }
.efi-park-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: .6em; }
.efi .efi-park-links a, .efi button.efi-park-show, .efi button.efi-park-show:hover, .efi button.efi-park-show:focus { display: inline-block; padding: .3em .7em; border: 1px solid var(--line); border-radius: 4px; background: #fff; color: var(--ink); font: inherit; font-size: .8rem; font-weight: 700; text-decoration: none; cursor: pointer; line-height: 1.5; }
.efi .efi-park-links a:hover, .efi button.efi-park-show:hover { border-color: var(--ink); }
.efi .efi-parks-empty { margin-top: .6em; color: #4f666e; }
.efi .efi-parks-guide { margin-top: .6em; font-size: .95rem; }
.efi .efi-parks-guide a { color: var(--sea); font-weight: 700; }
.efi dl.efi-parks-typedesc { margin: 0; display: grid; gap: 0; }
.efi-parks-typedesc > div { display: grid; grid-template-columns: 8em 1fr; gap: .8em; padding: .55em 0; border-bottom: 1px solid var(--line); }
.efi-parks-typedesc dt { font-weight: 800; }
.efi-parks-typedesc dd { margin: 0; font-size: .92rem; line-height: 1.6; color: #22383f; }
@media (max-width: 600px) {
	.efi-parks-filter { grid-template-columns: 1fr; }
	.efi ul.efi-parks-list { grid-template-columns: 1fr; }
	.efi-parks-map { height: 320px; }
	.efi-parks-typedesc > div { grid-template-columns: 1fr; gap: .1em; }
}
/* v1.6.1 낚시터 카드 상세 */
.efi dl.efi-park-meta { display: grid; grid-template-columns: 5.2em 1fr; gap: .15em .6em; margin: .5em 0 0; font-size: .84rem; line-height: 1.55; }
.efi-park-meta > div { display: contents; }
.efi-park-meta dt { color: #4f666e; }
.efi-park-meta dd { margin: 0; color: #22383f; word-break: keep-all; overflow-wrap: anywhere; }
.efi .efi-park-links a.efi-park-tel { background: var(--ink); border-color: var(--ink); color: #fff; }
.efi .efi-park-date { margin-top: .5em; font-size: .74rem; color: #6b8288; }
/* v1.6.2 테마 목록 스타일(회색 바탕·왼쪽 들여쓰기) 무력화 */
.efi ul.efi-parks-list { margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
.efi ul.efi-parks-list > li.efi-park { margin: 0 !important; list-style: none !important; }
.efi ul.efi-parks-list > li.efi-park::before, .efi ul.efi-parks-list > li.efi-park::marker { content: none !important; display: none !important; }
.efi .efi-park-alias { margin-top: .1em; font-size: .76rem; color: #6b8288; }
.efi .efi-park-memo { margin-top: .5em; padding: .5em .7em; background: var(--foam); border-radius: 4px 12px 12px 12px; font-size: .88rem; line-height: 1.6; }
.efi .efi-park-memo b { color: var(--float); margin-right: .3em; font-size: .78rem; }


/* =========================================================
   v1.7.0 mobile layout fix — finder / fishing rules only
   Preserve all existing plugin behavior and other tools.
   ========================================================= */
@media (max-width: 767px) {
  body.efi-finder-page .site-content,
  body.efi-finder-page .content-area,
  body.efi-finder-page .site-main,
  body.efi-finder-page .inside-article,
  body.efi-finder-page .entry-content {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
  .efi-finder,
  .efi.efi-rules {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    overflow-wrap: anywhere;
  }
  .efi-finder *, .efi-finder *::before, .efi-finder *::after,
  .efi.efi-rules *, .efi.efi-rules *::before, .efi.efi-rules *::after {
    box-sizing: border-box;
    min-width: 0;
  }
  .efi-finder .efi-finder-hero,
  .efi.efi-rules .efi-finder-hero,
  .efi-finder .efi-pick,
  .efi.efi-rules .efi-rules-form {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  .efi-finder .efi-pick {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .efi-finder .efi-pick label,
  .efi.efi-rules .efi-rules-form label {
    min-width: 0;
    max-width: 100%;
  }
  .efi-finder .efi-pick select,
  .efi.efi-rules .efi-rules-form select,
  .efi.efi-rules .efi-rules-form input {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    font-size: 16px;
  }
  .efi.efi-rules .efi-rules-form {
    grid-template-columns: minmax(0, 1fr);
  }
  .efi.efi-rules .efi-rules-form > * {
    min-width: 0;
    max-width: 100%;
  }
  .efi.efi-rules .efi-rules-form button {
    width: 100%;
    max-width: 100%;
    white-space: normal;
  }
  .efi-finder-hero h1,
  .efi-finder-hero p,
  .efi.efi-rules .efi-rules-today {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}
@media (max-width: 420px) {
  .efi-finder .efi-pick {
    grid-template-columns: minmax(0, 1fr);
  }
  .efi-finder .efi-pick-kind,
  .efi-finder .efi-pick-point {
    grid-column: auto;
  }
}

/* =========================================================
   금어기·금지체장 페이지 전용 모바일 가로 넘침 수정
   12개월 달력은 표 내부에서만 가로 스크롤
   ========================================================= */
@media (max-width: 767px) {
  html:has(.efi.efi-rules),
  body:has(.efi.efi-rules) {
    max-width: 100%;
    overflow-x: clip;
  }
  body:has(.efi.efi-rules) .site,
  body:has(.efi.efi-rules) .site-content,
  body:has(.efi.efi-rules) .content-area,
  body:has(.efi.efi-rules) .site-main,
  body:has(.efi.efi-rules) .inside-article,
  body:has(.efi.efi-rules) .entry-content {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
  .efi.efi-rules {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: 0;
    margin-right: 0;
  }
  .efi.efi-rules .efi-sec,
  .efi.efi-rules .efi-finder-hero,
  .efi.efi-rules .efi-rules-today,
  .efi.efi-rules .efi-rules-check,
  .efi.efi-rules .efi-measure-grid,
  .efi.efi-rules .efi-rules-list,
  .efi.efi-rules .efi-rules-item {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .efi.efi-rules .efi-weekwrap {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }
  .efi.efi-rules .efi-weekwrap table.efi-rules-cal {
    width: 520px !important;
    min-width: 520px !important;
    max-width: none !important;
    table-layout: fixed;
    margin: 0 !important;
  }
  .efi.efi-rules .efi-rules-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
    min-width: 0;
  }
  .efi.efi-rules .efi-rules-form > *,
  .efi.efi-rules .efi-rules-form select,
  .efi.efi-rules .efi-rules-form input,
  .efi.efi-rules .efi-rules-filter input {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
  .efi.efi-rules .efi-rules-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .efi.efi-rules .efi-measure-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .efi.efi-rules img,
  .efi.efi-rules svg {
    max-width: 100%;
  }
}

/* 1.7.4: 낚시지수보다 앞에 표시하는 안전 참고 안내 */
.efi .efi-safety{border:1px solid #b9d5de;border-left:5px solid #397a8c;border-radius:10px;background:#f2f8fa;padding:16px 18px;margin:0 0 16px;overflow-wrap:anywhere}
.efi .efi-safety strong{display:block;font-size:18px;line-height:1.5;color:#15394a}
.efi .efi-safety p{font-size:14px;line-height:1.7;margin:8px 0 0;color:#334f5c}
.efi .efi-safety-postpone{background:#fff2ef;border-color:#e4a394;border-left-color:#ba3e26}
.efi .efi-safety-postpone strong{color:#922f1f}
.efi .efi-safety-caution,.efi .efi-safety-unknown{background:#fff9e9;border-color:#e3ca84;border-left-color:#a77512}
.efi .efi-safety-tag{display:block;border-radius:5px;padding:5px 8px;margin:0 0 6px;font-weight:700;color:#244c5d;background:#edf5f7;white-space:normal}
.efi .efi-safety-tag.efi-safety-postpone{color:#922f1f;background:#fff0eb}
.efi .efi-safety-tag.efi-safety-caution,.efi .efi-safety-tag.efi-safety-unknown{color:#775109;background:#fff7de}
