/*
Theme Name: K-Culture Family Travel
Theme URI: https://k-culturestory.com/
Author: TIWO
Description: 국내 가족여행·축제·체험 정보를 위한 가볍고 밝은 반응형 테마
Version: 1.0.3
Text Domain: kculture-family-travel
*/
:root{--ink:#172033;--muted:#64748b;--line:#e5eaf1;--bg:#f7fafc;--card:#fff;--primary:#176b5b;--primary2:#2aa889;--accent:#ffb648;--soft:#eaf8f4;--radius:22px;--shadow:0 14px 36px rgba(23,32,51,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Pretendard,"Noto Sans KR",system-ui,-apple-system,sans-serif;line-height:1.75}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;border-radius:16px}.wrap{width:min(1160px,calc(100% - 36px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:1.25rem;font-weight:850;letter-spacing:-.04em}.brand em{font-style:normal;color:var(--primary)}.nav ul{display:flex;gap:22px;list-style:none;padding:0;margin:0}.nav a{font-size:.95rem;font-weight:700;color:#39465b}.hero{padding:74px 0 46px;background:linear-gradient(135deg,#effcf8 0%,#fff8e8 100%)}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:38px;align-items:center}.eyebrow{display:inline-flex;padding:7px 12px;border-radius:999px;background:#fff;color:var(--primary);font-size:.84rem;font-weight:800;box-shadow:0 5px 18px rgba(23,107,91,.09)}h1{font-size:clamp(2.25rem,5vw,4.15rem);line-height:1.13;letter-spacing:-.065em;margin:18px 0}.hero p{font-size:1.08rem;color:var(--muted);max-width:650px}.hero-card{min-height:330px;padding:32px;border-radius:32px;background:linear-gradient(145deg,#176b5b,#2aa889);color:#fff;box-shadow:0 24px 54px rgba(23,107,91,.24);display:flex;flex-direction:column;justify-content:space-between}.hero-card strong{font-size:1.7rem;line-height:1.35}.quick-tags{display:flex;flex-wrap:wrap;gap:9px}.quick-tags span{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.16);font-size:.87rem}.section{padding:64px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.section-head h2{font-size:clamp(1.7rem,3vw,2.35rem);letter-spacing:-.045em;margin:0}.section-head p{color:var(--muted);margin:0}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.category-card,.post-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:.2s ease}.category-card{padding:24px}.category-card:hover,.post-card:hover{transform:translateY(-4px);border-color:#b8ddd5}.category-icon{width:46px;height:46px;border-radius:14px;background:var(--soft);display:grid;place-items:center;font-size:1.35rem}.category-card h3{margin:17px 0 5px;font-size:1.08rem}.category-card p{margin:0;color:var(--muted);font-size:.9rem}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.post-card{overflow:hidden}.post-thumb{aspect-ratio:16/10;background:linear-gradient(135deg,#d8f4ec,#fff0cf);display:block}.post-thumb img{width:100%;height:100%;object-fit:cover;border-radius:0}.post-body{padding:22px}.meta{color:var(--primary);font-size:.82rem;font-weight:800}.post-card h3{font-size:1.16rem;line-height:1.45;letter-spacing:-.025em;margin:9px 0}.post-card p{color:var(--muted);font-size:.91rem;margin:0}.site-main{min-height:60vh}.content-shell{display:grid;grid-template-columns:minmax(0,780px) 300px;gap:34px;padding:52px 0}.article{background:#fff;border:1px solid var(--line);border-radius:26px;padding:clamp(24px,5vw,54px);box-shadow:var(--shadow)}.article h1{font-size:clamp(2rem,4vw,3.2rem)}.article h2{margin-top:46px;padding:12px 16px;background:var(--soft);border-left:5px solid var(--primary);border-radius:0 12px 12px 0;font-size:1.45rem}.article h3{margin-top:32px;color:var(--primary)}.article table{width:100%;border-collapse:separate;border-spacing:0;margin:24px 0;border:1px solid var(--line);border-radius:14px;overflow:hidden}.article th,.article td{padding:13px;border-bottom:1px solid var(--line);text-align:left}.article th{background:var(--primary);color:#fff}.article tr:last-child td{border-bottom:0}.sidebar-card{position:sticky;top:96px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.sidebar-card h3{margin-top:0}.sidebar-card ul{list-style:none;padding:0;margin:0}.sidebar-card li{padding:10px 0;border-bottom:1px solid var(--line)}.site-footer{margin-top:64px;background:#14233a;color:#d6deea;padding:45px 0}.footer-inner{display:flex;justify-content:space-between;gap:30px}.footer-note{color:#9fb0c6;font-size:.88rem;max-width:620px}.pagination{display:flex;gap:8px;justify-content:center;margin:38px 0}.pagination .page-numbers{padding:8px 13px;background:#fff;border:1px solid var(--line);border-radius:10px}.pagination .current{background:var(--primary);color:#fff}
@media(max-width:900px){.hero-grid,.content-shell{grid-template-columns:1fr}.category-grid{grid-template-columns:repeat(2,1fr)}.post-grid{grid-template-columns:repeat(2,1fr)}.nav{display:none}.sidebar-card{position:static}}
@media(max-width:620px){.wrap{width:min(100% - 24px,1160px)}.hero{padding-top:45px}.hero-card{min-height:250px}.category-grid,.post-grid{grid-template-columns:1fr}.section{padding:45px 0}.footer-inner{display:block}.article{border-radius:18px}.article table{display:block;overflow-x:auto}}
.category-grid.category-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:800px}
@media(max-width:620px){.category-grid.category-grid-two{grid-template-columns:1fr}}
.nav a{display:inline-flex;align-items:center;gap:7px}.nav-icon{font-size:1.05rem;line-height:1}
.hero{padding:42px 0 32px}.hero-grid{gap:28px}.hero h1{font-size:clamp(2.1rem,4vw,3.45rem);margin:13px 0}.hero p{font-size:1rem;margin:10px 0}.hero-card{min-height:238px;padding:27px;border-radius:26px}.hero-card strong{font-size:1.42rem}.quick-tags{gap:7px}.quick-tags span{padding:6px 10px;font-size:.82rem}
@media(max-width:900px){.hero{padding:38px 0 30px}.hero-card{min-height:210px}}
@media(max-width:620px){.hero{padding:32px 0 26px}.hero h1{font-size:2.25rem}.hero-card{min-height:190px;padding:22px}}
.footer-nav{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:16px}.footer-nav a{color:#fff;font-size:.9rem;font-weight:700}.footer-nav a:hover{text-decoration:underline}

/* 전국 지역별 필터: 메뉴와 배너 사이에서 한 줄로 빠르게 탐색합니다. */
.region-nav{background:#fff;border-bottom:1px solid var(--line)}
.region-nav-scroll{display:flex;align-items:center;gap:3px;padding-top:13px;padding-bottom:13px;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.region-nav-scroll::-webkit-scrollbar{display:none}
.region-chip{flex:0 0 auto;min-width:52px;padding:9px 10px;border:1px solid #dbe5e2;border-radius:999px;color:#536174;background:#fff;text-align:center;font-size:.95rem;font-weight:750;line-height:1.35;transition:.18s ease}
.region-chip:hover{color:var(--primary);border-color:#91cabe;background:var(--soft)}
.region-chip.is-active{color:#fff;border-color:var(--primary);background:var(--primary);box-shadow:0 5px 14px rgba(23,107,91,.18)}
.region-archive-intro{margin:-10px 0 26px;color:var(--muted)}
.region-archive .section-head h1{font-size:clamp(1.65rem,2.5vw,2.1rem);line-height:1.25;letter-spacing:-.045em}
.region-archive .section-head p{font-size:1rem;line-height:1.7}
.empty-region{grid-column:1/-1;padding:42px 24px;border:1px dashed #b9cac5;border-radius:var(--radius);background:#fff;text-align:center;color:var(--muted)}
@media(min-width:1200px){.region-chip{flex:1 1 0;min-width:0;padding-left:8px;padding-right:8px}}
@media(max-width:620px){.region-nav-scroll{width:100%;padding-left:12px;padding-right:12px;gap:5px}.region-chip{flex:0 0 auto;min-width:50px;padding:8px 12px;font-size:.88rem}.region-archive .section-head h1{font-size:1.75rem}}

/* Readability: keep long-form travel guides comfortable on desktop and mobile. */
.article{font-size:18px;line-height:1.85;letter-spacing:-.012em}
.article p{margin:1.15em 0}
.article li{margin:.42em 0}
.article table{font-size:16px;line-height:1.65}
.article th,.article td{padding:14px}
.article figcaption{font-size:14px;line-height:1.65;color:var(--muted)}
@media(max-width:620px){.article{font-size:17px;line-height:1.82}.article table{font-size:15px}}

/* 주소가 확인된 여행지는 네이버 지도 검색으로 바로 연결합니다. */
.kculture-map-action{margin:14px 0 26px!important}
.naver-map-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border-radius:12px;background:#03c75a;color:#fff!important;font-size:.95rem;font-weight:800;line-height:1.4;box-shadow:0 8px 20px rgba(3,199,90,.2);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.naver-map-button:hover{transform:translateY(-1px);background:#02b351;box-shadow:0 10px 24px rgba(3,199,90,.26)}
.naver-map-button:focus-visible{outline:3px solid rgba(3,199,90,.3);outline-offset:3px}
@media(max-width:620px){.naver-map-button{display:flex;width:100%}}

/* 주소 행 안의 지도 버튼과 주소 바로 아래 공영주차장 목록 */
.nadri-address-value{margin-bottom:12px}
.nadri-auto-visit-table{margin:30px 0}
.nadri-auto-visit-table table{margin:0}
.nadri-address-map-button{width:max-content;max-width:100%;min-height:42px;padding:8px 14px;font-size:.9rem}
.nadri-place-map{overflow:hidden;width:100%;height:340px;margin-top:14px;border:1px solid #dbe5e2;border-radius:14px;background:#eef5f3}
.nadri-place-map iframe{display:block;width:100%;height:100%;border:0}
.nadri-parking-list-row th{vertical-align:top}
.nadri-parking-list{display:grid;gap:12px}
.nadri-parking-item{padding:15px;border:1px solid #dbe5e2;border-radius:14px;background:#f7fbfa}
.nadri-parking-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:7px}
.nadri-parking-item-head strong{color:#102039;font-size:1rem}
.nadri-parking-item-head strong a{color:inherit;text-decoration:none}
.nadri-parking-item-head strong a:hover{text-decoration:underline}
.nadri-parking-item-head span{flex:0 0 auto;padding:3px 8px;border-radius:999px;background:#e4f5f0;color:#176f5f;font-size:.78rem;font-weight:800}
.nadri-parking-item p{margin:0 0 11px;color:#53635f;font-size:.9rem;line-height:1.55}
.nadri-parking-search-button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-height:40px;padding:8px 13px;border-radius:10px;background:#03c75a;color:#fff!important;font-weight:800;text-decoration:none!important}
.nadri-parking-search-button:hover{background:#02b351}
.nadri-parking-detail-button{background:#176b5b}
.nadri-parking-detail-button:hover{background:#0f5548}
.nadri-parking-source,.nadri-parking-empty{margin:12px 0 0;color:#697873;font-size:.78rem;line-height:1.5}
@media(max-width:620px){.nadri-place-map{height:240px}.nadri-parking-item-head{align-items:flex-start;flex-direction:column;gap:6px}.nadri-address-map-button,.nadri-parking-search-button{display:flex;width:100%}}

/* 글 주소를 기준으로 표시하는 기상청 7일 예보 */
.nadri-weather{margin:0 0 30px;padding:20px;border:1px solid #cfe3ee;border-radius:20px;background:linear-gradient(145deg,#f5fbff 0%,#eef8ff 55%,#f8fcff 100%);box-shadow:0 12px 30px rgba(32,91,121,.1)}
.nadri-weather-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}
.nadri-weather-title{font-size:1.08rem;font-weight:850;line-height:1.4;letter-spacing:-.025em;color:#163a50}
.nadri-weather-subtitle{display:block;margin-top:4px;color:#5b7180;font-size:.78rem;font-weight:600}
.nadri-weather-source{flex:0 0 auto;padding:5px 9px;border:1px solid #b8d8e8;border-radius:999px;background:#fff;color:#27759c!important;font-size:.72rem;font-weight:800}
.nadri-weather-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.nadri-weather-day{min-width:0;padding:11px 5px 10px;border:1px solid rgba(166,205,224,.72);border-radius:13px;background:rgba(255,255,255,.86);text-align:center}
.nadri-weather-day.is-today{border-color:#4b9fc6;background:#fff;box-shadow:0 5px 14px rgba(45,126,166,.13)}
.nadri-weather-date{display:block;color:#536b78;font-size:.72rem;font-weight:750;white-space:nowrap}
.nadri-weather-day.is-today .nadri-weather-date{color:#08749f}
.nadri-weather-icon{display:block;margin:4px 0 1px;font-size:1.5rem;line-height:1.25}
.nadri-weather-condition{display:block;min-height:2.4em;color:#263f4d;font-size:.72rem;font-weight:750;line-height:1.2;word-break:keep-all}
.nadri-weather-temp{display:block;margin-top:5px;color:#132e3d;font-size:.78rem;font-weight:850;white-space:nowrap}
.nadri-weather-rain{display:block;margin-top:1px;color:#347694;font-size:.67rem;white-space:nowrap}
.nadri-weather-note{margin:12px 0 0;color:#657985;font-size:.7rem;line-height:1.55}
@media(max-width:900px){.nadri-weather-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.nadri-weather{padding:17px 14px;border-radius:17px}.nadri-weather-head{display:block}.nadri-weather-source{display:inline-flex;margin-top:9px}.nadri-weather-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.nadri-weather-day:last-child:nth-child(odd){grid-column:1/-1}.nadri-weather-condition{min-height:auto}.nadri-weather-note{font-size:.68rem}}

/* 공식 기관 사진은 본문 초반에서 한눈에 볼 수 있는 반응형 갤러리로 보여줍니다. */
.kculture-official-gallery{margin:30px 0 38px}
.kculture-official-gallery h2{margin-top:0}
.official-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.official-photo-grid.is-single{grid-template-columns:1fr}
.official-photo-grid figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(23,32,51,.07)}
.official-photo-grid img{display:block;width:100%;height:auto;border-radius:0}
.official-photo-grid figcaption{padding:11px 13px;margin:0;color:var(--muted)}
.official-photo-grid figcaption a{color:var(--primary);font-weight:750;text-decoration:underline;text-underline-offset:2px}
@media(max-width:620px){.official-photo-grid{grid-template-columns:1fr;gap:13px}}

/* 게시글 하단 마켓렌즈 가로형 배너 */
.nadri-marketlens-banner{margin:46px 0 4px;border-radius:20px;overflow:hidden;box-shadow:0 18px 42px rgba(17,33,43,.2)}
.nadri-marketlens-link{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr);align-items:center;gap:28px;min-height:190px;padding:30px 34px;background:linear-gradient(120deg,#11212b 0%,#173843 72%,#174c4b 100%);color:#fff!important;text-decoration:none!important}
.nadri-marketlens-link:before{position:absolute;inset:0;content:"";pointer-events:none;background:radial-gradient(circle at 86% 20%,rgba(60,226,172,.16),transparent 32%)}
.nadri-marketlens-copy,.nadri-marketlens-visual{position:relative;z-index:1}
.nadri-marketlens-copy{display:flex;align-items:flex-start;flex-direction:column}
.nadri-marketlens-eyebrow{margin-bottom:7px;color:#3ce2ac;font-size:.75rem;font-weight:900;letter-spacing:.16em}
.nadri-marketlens-copy strong{font-size:clamp(1.45rem,3vw,2rem);line-height:1.25;letter-spacing:-.04em}
.nadri-marketlens-description{max-width:480px;margin-top:9px;color:#c7d8dc;font-size:.9rem;line-height:1.55}
.nadri-marketlens-button{display:inline-flex;align-items:center;gap:8px;margin-top:19px;padding:9px 14px;border-radius:10px;background:#0d9c72;color:#fff;font-size:.88rem;font-weight:850;transition:background .18s ease,transform .18s ease}
.nadri-marketlens-link:hover .nadri-marketlens-button{transform:translateX(2px);background:#10b785}
.nadri-marketlens-visual{display:flex;flex-direction:column;padding:15px 16px 12px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(7,19,27,.4);backdrop-filter:blur(4px)}
.nadri-marketlens-chip{align-self:flex-start;padding:3px 7px;border-radius:999px;background:rgba(60,226,172,.12);color:#65edbf;font-size:.62rem;font-weight:900;letter-spacing:.12em}
.nadri-marketlens-visual svg{display:block;width:100%;height:auto;margin-top:7px;overflow:visible}
.nadri-marketlens-grid{fill:none;stroke:rgba(255,255,255,.09);stroke-width:1}
.nadri-marketlens-area{fill:url(#nadri-marketlens-area)}
.nadri-marketlens-line{fill:none;stroke:#3ce2ac;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}
.nadri-marketlens-visual circle{fill:#3ce2ac;stroke:#11212b;stroke-width:3}
.nadri-marketlens-ticker{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#dce9eb;font-size:.7rem}
.nadri-marketlens-ticker b{letter-spacing:.04em}.nadri-marketlens-ticker em{color:#65edbf;font-style:normal}
@media(max-width:700px){.nadri-marketlens-link{grid-template-columns:1fr;gap:22px;padding:26px 24px}.nadri-marketlens-visual{width:100%}}
@media(max-width:420px){.nadri-marketlens-banner{border-radius:16px}.nadri-marketlens-link{min-height:0;padding:23px 20px}.nadri-marketlens-description{font-size:.84rem}.nadri-marketlens-button{width:100%;justify-content:center}.nadri-marketlens-visual{display:none}}

/* 본문 광고는 두 지점에만 표시하고 콘텐츠와 충분한 간격을 둡니다. */
.nadri-adsense{clear:both;margin:34px 0;padding:10px 0;text-align:center;overflow:hidden}
.nadri-adsense-label{display:block;margin-bottom:7px;color:#94a3b8;font-size:10px;letter-spacing:.12em;line-height:1.3}
.nadri-adsense .adsbygoogle{display:block;min-height:90px;width:100%;max-width:728px;margin:0 auto}
