/*
Theme Name: 부산스 로컬 푸드 App 1.3
Theme URI: https://busans.com/
Author: 부산스
Description: 부산 구·군별 맛집과 대표 음식 분류에 최적화된 반응형 테마입니다.
Version: 1.3.0
Text Domain: busans-local-food
*/

:root{--navy:#071c2c;--navy2:#0d2c3d;--ivory:#f5f0e8;--paper:#fbf8f2;--ink:#12202a;--coral:#f04b3a;--mustard:#f3b61f;--muted:#67747c;--line:rgba(18,32,42,.17)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,input{font:inherit}.wrap{width:min(90%,1180px);margin-inline:auto}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.site-header{height:82px;position:absolute;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.2)}body:not(.home) .site-header{position:relative;background:var(--navy)}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:900;font-size:24px;letter-spacing:-.05em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;color:#fff;background:var(--coral);border-radius:50%;font-size:21px;line-height:1}.top-nav{display:flex;gap:30px;font-size:13px;font-weight:800}.top-nav a{position:relative}.top-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--mustard);transition:right .2s}.top-nav a:hover:after{right:0}.header-cta{padding:12px 18px;border:1px solid rgba(255,255,255,.65);font-size:13px;font-weight:900}

.hero{min-height:500px;height:62vh;max-height:590px;position:relative;color:#fff;overflow:hidden;background:var(--navy)}.hero>img{position:absolute;inset:0;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.08)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,28,44,.97),rgba(7,28,44,.8) 42%,rgba(7,28,44,.2) 75%),linear-gradient(0deg,rgba(7,28,44,.65),transparent 42%)}.hero-copy{position:relative;z-index:2;padding-top:clamp(132px,17vh,165px)}.eyebrow,.section-kicker{margin:0 0 16px;color:var(--coral);font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;color:var(--mustard)}.eyebrow span{width:28px;height:1px;margin-right:12px;background:currentColor}.hero h1{margin:0;max-width:790px;font-size:clamp(48px,6vw,76px);line-height:1.04;letter-spacing:-.07em;font-weight:900}.hero h1 em{color:var(--coral);font-style:normal}.hero-sub{margin:20px 0 0;color:rgba(255,255,255,.82);font-size:16px;line-height:1.7}.search-form{width:min(620px,100%);display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:8px;padding:8px 8px 8px 20px;background:#fff;color:var(--ink);box-shadow:0 16px 40px rgba(0,0,0,.25)}.search-form>span{color:var(--coral);font-size:28px;transform:rotate(-18deg)}.search-form input[type=search]{width:100%;height:48px;border:0;outline:0;background:transparent}.search-form button{height:48px;padding:0 26px;border:0;color:#fff;background:var(--coral);font-weight:900;cursor:pointer}.quick-tags{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px;color:rgba(255,255,255,.64);font-size:12px}.quick-tags a{color:#fff}

.section{padding-block:120px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:52px;padding-bottom:34px;border-bottom:1px solid var(--line)}.section-head h2,.food-type-card h2,.manage-banner h2{margin:0;font-size:clamp(40px,5vw,68px);line-height:1.1;letter-spacing:-.065em}.section-head>p{margin:0 0 6px;color:var(--muted);line-height:1.8}.district-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.district-card{min-height:124px;position:relative;display:flex;flex-direction:column;justify-content:center;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.2s}.district-card:hover{color:#fff;background:var(--coral)}.district-name{font-size:20px;font-weight:900;letter-spacing:-.04em}.district-count{margin-top:8px;color:var(--muted);font-size:12px}.district-card:hover .district-count{color:rgba(255,255,255,.7)}.district-arrow{position:absolute;right:20px;top:20px;color:var(--coral);font-size:20px}.district-card:hover .district-arrow{color:var(--mustard)}

.food-types{padding:110px 0;background:var(--navy)}.section-kicker.light{color:var(--mustard)}.food-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.food-type-card{height:500px;position:relative;overflow:hidden;color:#fff}.food-type-card>img{position:absolute;inset:0;height:100%;object-fit:cover;transition:transform .5s}.food-type-card:hover>img{transform:scale(1.035)}.food-type-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,28,44,.94),rgba(7,28,44,.05) 68%)}.food-type-card>div{position:absolute;left:36px;right:36px;bottom:34px}.food-type-card small{color:var(--mustard);font-weight:900;letter-spacing:.12em}.food-type-card h2{font-size:44px;margin:8px 0 10px}.food-type-card p{margin:0;color:rgba(255,255,255,.72)}.food-type-card b{display:inline-block;margin-top:22px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.65);font-size:13px}

.restaurant-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px 28px}.restaurant-card{min-width:0;background:#fff;border-bottom:3px solid var(--navy);box-shadow:0 12px 32px rgba(18,32,42,.07);transition:transform .2s,box-shadow .2s}.restaurant-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(18,32,42,.13)}.card-image{display:block;aspect-ratio:4/3;overflow:hidden;background:#ddd}.card-image img{height:100%;object-fit:cover;transition:transform .45s}.restaurant-card:hover .card-image img{transform:scale(1.035)}.card-body{padding:24px}.card-meta{margin:0 0 10px;color:var(--coral);font-size:11px;font-weight:900;letter-spacing:.08em}.card-body h3{margin:0 0 12px;font-size:23px;letter-spacing:-.045em}.card-summary{min-height:48px;margin:0;color:var(--muted);font-size:13px;line-height:1.7}.card-address{margin:15px 0 0;padding-top:13px;border-top:1px solid var(--line);color:#7b858b;font-size:11px}.card-link{display:flex;justify-content:space-between;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;font-weight:900}.outline-link{display:flex;width:max-content;align-items:center;gap:70px;margin:46px auto 0;padding:15px 20px;border:1px solid var(--ink);font-size:13px;font-weight:900}.outline-link:hover{color:#fff;background:var(--ink)}

.manage-banner{padding:100px 0;color:#fff;background:var(--coral)}.manage-inner{display:flex;align-items:end;justify-content:space-between}.manage-banner h2{font-size:clamp(36px,4.6vw,60px)}.manage-banner a{padding:16px 22px;color:var(--navy);background:var(--mustard);font-weight:900}

.archive-hero{padding:95px 0 85px;color:#fff;background:linear-gradient(105deg,var(--navy),#123b4d)}.archive-hero-copy h1{margin:0;font-size:clamp(50px,7vw,86px);letter-spacing:-.07em}.archive-hero-copy>p:last-child{margin:22px 0 0;color:rgba(255,255,255,.65);line-height:1.8}.archive-layout{display:grid;grid-template-columns:220px 1fr;gap:70px;padding-block:90px}.side-nav{border-top:1px solid var(--line)}.side-nav a{display:flex;justify-content:space-between;padding:14px 4px;border-bottom:1px solid var(--line);font-size:13px}.side-nav a.is-current{color:var(--coral);font-weight:900}.side-nav span{color:#899298}.archive-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:35px;padding-bottom:20px;border-bottom:1px solid var(--line)}.archive-title h2{margin:0;font-size:34px;letter-spacing:-.05em}.archive-title p{margin:0;color:var(--coral);font-weight:900}.archive-grid{grid-template-columns:repeat(2,1fr)}.nav-links{display:flex;justify-content:center;gap:12px;margin-top:48px}.page-numbers{padding:9px 13px;border:1px solid var(--line)}.page-numbers.current{color:#fff;background:var(--coral);border-color:var(--coral)}

.single-restaurant{display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;align-items:center;padding-block:100px}.single-image img{height:630px;object-fit:cover}.single-copy h1{margin:0;font-size:clamp(48px,6vw,76px);line-height:1.05;letter-spacing:-.07em}.single-address{margin:22px 0;padding:16px 0;border-block:1px solid var(--line);color:var(--muted)}.single-content{color:#4f5c64;font-size:17px;line-height:1.9}.single-copy .outline-link{margin:36px 0 0}.generic-content{min-height:55vh}.generic-content h1{font-size:54px}.generic-content article{padding:24px 0;border-bottom:1px solid var(--line)}

.site-footer{padding:70px 5vw 42px;color:#fff;background:#04131f}.footer-top{display:flex;align-items:start;justify-content:space-between}.footer-brand{font-size:30px}.footer-top p{margin:20px 0 36px;color:rgba(255,255,255,.55)}.footer-links{display:flex;gap:28px;font-size:13px}.site-footer>small{display:block;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.38);font-size:10px;line-height:1.6}

@media(max-width:980px){.top-nav{gap:18px}.district-grid{grid-template-columns:repeat(3,1fr)}.restaurant-grid{grid-template-columns:repeat(2,1fr)}.archive-grid{grid-template-columns:1fr}}
@media(max-width:760px){.site-header{height:68px;padding-inline:5vw}.top-nav{display:none}.header-cta{padding:9px 12px}.hero{min-height:500px;height:66svh;max-height:560px}.hero>img{object-position:64% center}.hero-overlay{background:linear-gradient(90deg,rgba(7,28,44,.96),rgba(7,28,44,.56)),linear-gradient(0deg,rgba(7,28,44,.76),transparent)}.hero-copy{padding-top:118px}.hero h1{font-size:clamp(44px,13vw,58px)}.hero-sub{font-size:15px}.hero-sub br{display:none}.search-form{grid-template-columns:28px 1fr}.search-form button{grid-column:1/-1;width:100%}.section{padding-block:72px}.section-head{display:block}.section-head>p{margin-top:20px}.district-grid{grid-template-columns:repeat(2,1fr)}.district-card{min-height:98px;padding:18px}.food-types{padding-block:82px}.food-type-grid{grid-template-columns:1fr}.food-type-card{height:390px}.food-type-card>div{left:24px;right:24px;bottom:24px}.food-type-card h2{font-size:36px}.restaurant-grid{grid-template-columns:1fr}.manage-inner{display:block}.manage-banner a{display:inline-block;margin-top:28px}.archive-layout{grid-template-columns:1fr;padding-block:70px}.side-nav{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}.side-nav a{flex:0 0 auto;padding:10px;border:1px solid var(--line)}.side-nav span{margin-left:8px}.archive-grid{grid-template-columns:1fr}.single-restaurant{grid-template-columns:1fr;padding-block:70px}.single-image img{height:430px}.footer-top{display:block}.footer-links{margin-bottom:26px}.header-cta span{display:none}}

.bottom-search{padding:100px 0;color:#fff;background:var(--navy)}.bottom-search-inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);align-items:end;gap:64px}.bottom-search h2{max-width:560px;margin:0;font-size:clamp(38px,4.6vw,64px);line-height:1.08;letter-spacing:-.06em}.bottom-search p{margin:18px 0 0;color:rgba(255,255,255,.68);line-height:1.7}.bottom-search .search-form{width:100%;box-shadow:none}.bottom-search .quick-tags{margin-top:16px}.bottom-search .quick-tags a{color:#fff}.district-card{min-height:106px}.restaurant-card img,.food-type-card img,.single-image img{background:#e8e2d8}
@media(max-width:760px){.bottom-search{padding:76px 0}.bottom-search-inner{grid-template-columns:1fr;gap:34px}.bottom-search h2{font-size:40px}}
#districts{padding-top:64px}
