/* A single, touch-first application surface on every viewport. */
:root{--paper:#fbfaf6;--ink:#253c32;--line:#eeeee6}html{background:#e9ece6}body{max-width:480px;min-height:100dvh;margin:0 auto;background:var(--paper);box-shadow:0 0 70px #243d3310;padding-bottom:90px;font-size:14px}header.app-topbar{height:70px;padding:0 22px;border:0;position:sticky;top:0;background:#fbfaf6f5;backdrop-filter:blur(16px);z-index:10;max-width:480px}.brand{font-size:20px;gap:8px;letter-spacing:-1px}.logo{width:32px;height:32px;border-radius:9px;font-size:13px}.app-region{font-size:11px;display:flex;align-items:center;gap:5px;background:#eef0e7;border-radius:18px;padding:9px 12px;font-weight:600}.app-region span{color:#7b886d}main{padding:0 22px;max-width:480px}footer{display:none}.mobile-nav{display:flex;position:fixed;left:50%;right:auto;transform:translateX(-50%);bottom:0;width:min(100%,480px);height:auto;min-height:76px;padding:9px 12px max(12px,env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid #e9ece4;backdrop-filter:blur(18px);z-index:20;justify-content:space-around;gap:0}.mobile-nav a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;flex:1;min-height:47px;height:auto;color:#91978b;border:0!important}.mobile-nav a.active{color:var(--green);font-weight:700}.mobile-nav svg{width:23px;height:23px}.mobile-nav span{font-size:10px}.app-heading{padding:22px 0 22px}.app-heading .eyebrow{letter-spacing:.3px;font-size:12px;font-weight:500;color:#8a8d80}.app-heading h1{font:700 27px/1.48 'Noto Sans KR',sans-serif;letter-spacing:-1.5px;margin:9px 0 0}.app-heading p{font-size:12px;color:var(--muted)}.app-search{position:relative}.search-form{padding:4px 7px 4px 14px;background:#f0f1e9;border:1px solid transparent;box-shadow:none;border-radius:13px;gap:8px;min-height:52px}.search-form:focus-within{border-color:#728969;background:#fff}.search-form input{font-size:13px;padding:10px 0;min-height:42px}.search-form>span{font-size:25px;color:#566a53}.search-submit{background:none;border:0;padding:10px 7px;color:#345640;font-weight:700;font-size:12px;min-height:44px}#clear-query,#clear-market-query{background:none;border:0;color:#99a08f;font-size:20px;width:28px;height:44px}.app-chips{gap:7px;flex-wrap:nowrap;overflow:auto;margin:13px -22px 0;padding:0 22px 5px;scrollbar-width:none}.chip{min-height:38px;padding:8px 15px;border-color:#e3e6db;background:#fffef9;white-space:nowrap;font-size:12px}.app-feature{display:flex;margin:22px 0 28px;padding:19px 20px;border-radius:15px;background:#e8edde;align-items:center;justify-content:space-between;color:#33513d}.app-feature div{display:flex;flex-direction:column;gap:6px}.app-feature div>span{font-size:10px;color:#748465}.app-feature b{font-size:16px;letter-spacing:-.7px}.app-feature small{font-size:10px;color:#7c886f}.feature-arrow{display:grid;place-items:center;border:1px solid #cbd4bf;width:38px;height:38px;border-radius:50%;font-size:20px}.app-section{margin:25px 0 30px}.app-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}.app-section-title h2{font-size:18px;letter-spacing:-.6px;margin:0}.app-section-title h2 small{font-size:13px;color:#879476;padding-left:4px}.app-section-title>a,.app-section-title>span{font-size:10px;color:#8b9281}.restaurant-grid{grid-template-columns:1fr;gap:0;margin:0}.restaurant-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:17px 0;background:transparent;overflow:visible;box-shadow:none!important;transform:none!important}.restaurant-card:first-child{padding-top:0}.restaurant-card .restaurant-photo{height:130px;width:110px;border-radius:11px;align-self:center}.restaurant-photo figcaption{padding:15px 6px 6px;font-size:8px}.restaurant-card .restaurant-photo figcaption a{font-size:0}.restaurant-card .restaurant-photo figcaption a:after{content:'사진 출처 ↗';font-size:8px}.restaurant-card-content{padding:0;min-width:0}.restaurant-kicker{gap:5px}.pill{font-size:9px;padding:4px 7px}.distance{font-size:9px;white-space:nowrap}.restaurant-card h3{font-size:18px;margin:9px 0 8px;letter-spacing:-.7px}.restaurant-card h3 span{font-size:14px}.restaurant-card p{display:none}.menu-preview{font-size:11px;gap:3px;flex-wrap:wrap}.menu-preview b{font-weight:600}.restaurant-card-foot{border:0;margin:0;padding-top:10px}.restaurant-card-foot>span:last-child{display:none}.open-state{font-size:10px}.market-list{display:flex;flex-direction:column;gap:0}.market-list .card{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;transform:none;box-shadow:none;min-height:101px;padding:13px 35px 13px 0}.market-list .card>a{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:14px}.market-list .card-visual{height:75px;width:76px;border-radius:11px;background:#e8ebdf}.market-list .card-visual svg{width:135px;max-width:none;position:absolute;left:-30px;top:0;height:75px}.market-list .visual-label{display:none}.market-list .card-body{padding:0}.market-list .card h3{font-size:15px;margin:5px 0}.market-list .card .dong{font-size:10px}.market-list .card .meta{display:none}.market-list .card-bottom{border:0;padding:0}.market-list .card-bottom>span:last-child{display:none}.market-list .status{font-size:10px}.market-list .bookmark{right:-5px;top:34px;background:transparent;border:0;border-radius:8px;width:44px;height:44px;font-size:21px;color:#9aa28f}.market-list .bookmark.on{color:var(--green)}.app-filter-bar{display:flex;align-items:center;justify-content:space-between;margin-top:20px;font-size:11px;color:#818b75}.app-filter-bar select{border:0;background:transparent;color:var(--ink);padding:10px;font-size:12px}.outline{min-height:42px;border-color:#e1e5d8;border-radius:9px;padding:11px 14px;font-size:12px}.primary{min-height:44px;border-radius:9px;padding:13px 20px;font-size:12px}.app-filter-bar .outline{min-height:36px;padding:7px 10px;font-size:11px}.app-footnote{text-align:center;color:#9a9e90;line-height:1.9;font-size:10px;margin:35px 0 20px}.back{display:flex;align-items:center;min-height:44px;margin:0;font-size:12px;color:#6e7c65}.detail-hero{grid-template-columns:1fr;padding:17px 0 24px;gap:0}.detail-hero>svg{display:none}.detail-hero h1{font:700 27px/1.5 'Noto Sans KR',sans-serif;margin:10px 0;letter-spacing:-1.3px}.detail-hero .eyebrow{font-size:9px;letter-spacing:1.5px}.detail-hero p{font-size:12px}.detail-hero .chips{margin:13px 0 0;flex-wrap:wrap;overflow:visible}.detail-hero .chips>span{display:inline-flex}.actions{margin-top:18px;gap:8px;flex-wrap:wrap}.research-note{margin-top:18px;display:block;padding:14px 15px;border-radius:10px;font-size:10px;line-height:1.8}.research-note b{display:block;margin-bottom:3px}.section-head{margin:26px 0 15px;display:block}.section-head h2{font-size:18px;letter-spacing:-.5px}.section-head p{font-size:11px;max-width:none;line-height:1.8}.restaurant-filters{flex-wrap:nowrap;overflow:auto;scrollbar-width:none;padding-bottom:8px;margin:0 0 12px}.restaurant-filters .chip{font-size:11px;padding:8px 13px}.neighborhood-section{grid-template-columns:1fr;gap:12px;margin-top:28px;padding-top:24px}.neighborhood-section .eyebrow{display:none}.neighborhood-section h2{font-size:18px;margin:0 0 10px}.neighborhood-section p{font-size:11px}.note{margin:26px 0;padding:17px;gap:12px;background:#f0f1e9}.note .seal{font-size:13px;padding:9px}.note h3{font-size:12px}.note p{font-size:10px}.note>a{display:none}.source{font-size:9px;line-height:1.9;margin:20px 0}.restaurant-detail-hero{grid-template-columns:1fr;gap:20px;padding:10px 0 23px}.restaurant-detail-hero .eyebrow{display:none}.restaurant-detail-hero h1{font:700 28px 'Noto Sans KR',sans-serif;margin:10px 0 13px;letter-spacing:-1px}.restaurant-address{font-size:12px}.restaurant-detail-hero .chips{flex-wrap:wrap;overflow:visible;padding:0;gap:10px;margin-top:13px}.restaurant-detail-hero .chips>span{display:inline-flex}.restaurant-detail-hero .micro{font-size:10px!important}.restaurant-detail-hero .actions{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:7px}.restaurant-detail-hero .actions>*{text-align:center;padding:12px 8px;font-size:12px}.restaurant-photo.large{height:235px;border-radius:14px;width:100%}.detail-tabs{position:sticky;top:70px;z-index:8;background:var(--paper);display:flex;justify-content:space-between;gap:10px;padding:0;border-top:0;min-height:50px;align-items:center}.detail-tabs a{min-height:48px;display:grid;place-items:center;font-size:12px}.detail-columns{grid-template-columns:1fr;gap:0;margin:5px 0}.detail-section{padding:21px 0;scroll-margin-top:130px}.detail-section h3{font-size:18px;margin:0 0 16px}.detail-section p{font-size:12px}.three-lines li{font-size:13px;gap:13px;line-height:1.9}.history-box{padding:16px}.history-box p{font-size:11px}.history-box strong{font-size:11px}.menu-row{font-size:13px;padding:15px 0}.menu-note{font-size:10px}.review{border:0;background:#f0f2e9;padding:17px}.review p{font-size:12px}.map-callout{padding:20px}.longread{margin:20px 0}.longread h1{font:700 27px/1.6 'Noto Sans KR',sans-serif;letter-spacing:-1px}.longread .eyebrow{font-size:9px;letter-spacing:1px}.longread p{font-size:12px;line-height:1.9}.criteria{padding:22px 0;gap:18px}.criteria h3{font-size:16px}.empty{padding:35px 16px;border-radius:12px}.empty h3{font-size:16px}.empty p{font-size:12px}.groups h3{font-size:13px;margin:22px 0 0;color:#7f8972}#toast{width:max-content;max-width:calc(100% - 40px);text-align:center;bottom:95px;font-size:12px}.sample-banner{font-size:10px}.text-link{min-height:32px;line-height:1.8}.app-chips .chip:focus-visible{outline-offset:-3px}
@media(max-width:360px){header.app-topbar{padding:0 18px}main{padding:0 18px}.app-heading h1{font-size:25px}.restaurant-card{grid-template-columns:94px minmax(0,1fr);gap:12px}.restaurant-card .restaurant-photo{width:94px;height:125px}.restaurant-card h3{font-size:16px}.restaurant-kicker{flex-wrap:wrap;gap:4px}.app-region{font-size:10px}.app-chips{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}}

.restaurant-photo>a{position:absolute;inset:0;display:block}.restaurant-photo figcaption{pointer-events:none}.restaurant-photo figcaption a{pointer-events:auto}

.restaurant-card{position:relative}.restaurant-save{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:#74816f;font-size:26px;line-height:1;cursor:pointer;flex-shrink:0}.restaurant-save>span{display:grid;place-items:center;box-sizing:border-box;width:44px;height:44px;border:1px solid #e5e9df;border-radius:50%;background:#fffef9;transform:scale(.333333);pointer-events:none}.restaurant-save.on{color:#a54e3b}.restaurant-save.on>span{background:#fff5ef;border-color:#edc7b8}.restaurant-card>.restaurant-save{position:absolute;left:62px;top:16px;z-index:2;width:40px;height:40px}.restaurant-card>.restaurant-save>span{width:40px;height:40px;box-shadow:0 2px 8px #172c2020}.restaurant-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.restaurant-title-row h1{flex:1}.saved-tabs{display:flex;border-bottom:1px solid var(--line);margin-top:25px}.saved-tabs button{flex:1;min-height:50px;background:transparent;border:0;border-bottom:3px solid transparent;font-size:14px;font-weight:600;color:#88917f;cursor:pointer}.saved-tabs button[aria-selected=true]{color:var(--green);border-bottom-color:var(--green)}.saved-tabs button span{margin-left:5px;font-size:12px}.saved-panel{padding-top:10px}.saved-empty-heart{display:block;font-size:42px;color:#a7b29c;margin-bottom:15px}.saved-panel .empty{margin-top:20px}.saved-panel .empty .outline{display:inline-block;margin-top:12px}@media(max-width:360px){.restaurant-card>.restaurant-save{left:50px}}

button.app-region{border:0;cursor:pointer;min-height:44px;font:600 12px 'Noto Sans KR',sans-serif;gap:10px}.region-sheet{position:fixed;inset:auto 0 0;margin:0 auto;width:min(100%,480px);max-width:480px;max-height:85dvh;padding:0 22px;border:0;border-radius:24px 24px 0 0;background:var(--paper);color:var(--ink);box-sizing:border-box;overflow:hidden;box-shadow:0 -12px 50px #18332820}.region-sheet[open]{display:flex;flex-direction:column;animation:sheet-enter .2s ease-out}.region-sheet::backdrop{background:#162a2355}.sheet-handle{width:36px;height:4px;background:#d4dacd;border-radius:3px;margin:12px auto 22px;flex-shrink:0}.region-sheet-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0}.region-sheet-heading .eyebrow{font-size:10px;letter-spacing:1px}.region-sheet h2{font-size:21px;letter-spacing:-.8px;margin:7px 0 0}.sheet-close{background:#edf0e7;border:0;border-radius:50%;width:44px;height:44px;flex-shrink:0;font-size:26px;color:#66735c;cursor:pointer}#region-description{font-size:12px;color:#89917e;margin:14px 0 20px;flex-shrink:0}.district-list{overflow-y:auto;overscroll-behavior:contain;min-height:0;scrollbar-width:thin}.district-row{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:58px;padding:0 16px;border:0;border-bottom:1px solid #e8ebdf;background:transparent;font-size:15px;text-align:left;color:var(--ink)}.district-row.available{border-radius:12px;background:#e7eddf;color:var(--green);font-weight:700;cursor:pointer;margin-bottom:8px}.district-state{font-size:11px;font-weight:500;display:flex;gap:10px;align-items:center}.district-state b{font-size:17px}.district-row.coming-soon{color:#a9afa2;cursor:default}.coming-soon .district-state{color:#a9afa2;background:#eff1e9;padding:5px 9px;border-radius:20px}.region-sheet-footnote{text-align:center;font-size:10px;color:#909983;margin:0;padding:16px 0 max(20px,env(safe-area-inset-bottom));flex-shrink:0}@keyframes sheet-enter{from{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.region-sheet[open]{animation:none}}
.food-gallery{min-width:0}.gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:14px;background:#e7eadd}.gallery-slide{position:relative;flex:0 0 100%;width:100%;height:280px;padding:0;border:0;background:#e7eadd;scroll-snap-align:start;cursor:zoom-in}.gallery-slide img{width:100%;height:100%;object-fit:contain}.gallery-slide>span{position:absolute;bottom:12px;right:12px;color:white;background:#1d3029bf;border-radius:18px;padding:6px 11px;font-size:11px}.gallery-note{font-size:10px!important;line-height:1.7;color:#89917f}.photo-viewer{position:fixed;inset:0;margin:auto;padding:18px;width:min(100%,480px);height:100dvh;max-height:100dvh;max-width:480px;border:0;box-sizing:border-box;background:#19231f;color:white}.photo-viewer[open]{display:flex;flex-direction:column}.photo-viewer::backdrop{background:#111c}.photo-viewer header{display:flex;align-items:center;justify-content:space-between;padding:0;background:none;height:50px;flex-shrink:0}.photo-viewer strong{font-size:15px}.photo-viewer button{border:0;background:#ffffff16;color:white;width:44px;height:44px;border-radius:50%;font-size:25px;cursor:pointer}.photo-full{flex:1;min-height:0;display:grid;place-items:center;overflow:auto;margin-top:14px}.photo-full img{max-width:100%;max-height:100%;object-fit:contain}.photo-full img[hidden],.photo-full p[hidden]{display:none}.photo-full p{font-size:13px}.photo-pagination{display:flex;justify-content:space-between;align-items:center;padding-top:14px}.photo-pagination span{font-size:12px}.photo-viewer button:disabled{opacity:.25;cursor:default}.photo-credit{color:#d4dfcd;text-align:center;font-size:12px;padding:15px}.photo-viewer small{color:#a5b19f;text-align:center;font-size:10px;padding-bottom:max(12px,env(safe-area-inset-bottom))}

.detail-section .restaurant-intro{font-size:14px;line-height:1.95;word-break:keep-all;margin:0 0 20px}

.nearby-links{display:flex;flex-wrap:wrap;gap:10px}.nearby-links a{font-size:13px;text-decoration:none}

.review-section-heading,.visitor-review-head,.visitor-review-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-section-heading h3{margin-bottom:0}.review-provider{font-size:11px;color:#50705e;background:#edf2ec;border-radius:20px;padding:5px 9px;white-space:nowrap}.visitor-review{padding:20px 0;border-bottom:1px solid #e4e4da}.visitor-review:last-child{border-bottom:0}.visitor-review-head strong{font-size:14px;overflow-wrap:anywhere}.review-stars{color:#ae6936;font-size:14px;white-space:nowrap;letter-spacing:1px}.review-stars b{font-size:12px;margin-left:6px;letter-spacing:0}.visitor-review p{font-size:14px;line-height:1.85;margin:14px 0}.visitor-review-meta{font-size:11px;color:#7b8076;flex-wrap:wrap}.visitor-review-meta a{color:#496052;white-space:nowrap}.review-context{margin:14px 0 0}.review.visitor-review>div{margin-bottom:0}

.gallery-stage{position:relative}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ffffff80;border-radius:50%;background:#fbfaf6ed;color:#244a3d;box-shadow:0 2px 10px #172c2026;font-size:30px;line-height:1;cursor:pointer}.gallery-arrow.previous{left:8px}.gallery-arrow.next{right:8px}.gallery-arrow:disabled{opacity:.3;cursor:default}.gallery-arrow:focus-visible{outline:2px solid #244a3d;outline-offset:3px}

.app-heading .home-brand-line{font-size:11px;line-height:1.7;font-weight:500;color:#71806a;letter-spacing:-.35px;margin:0 0 17px;padding-bottom:15px;border-bottom:1px solid #e4e7dc}.service-about{padding:28px 0 20px}.service-about header.about-intro{display:block;position:static;height:auto;max-width:none;background:none;padding:0;border:0;backdrop-filter:none}.about-intro .eyebrow{font-size:11px;letter-spacing:1px;color:#8b967d}.about-intro h1{font-size:28px;line-height:1.55;letter-spacing:-1px;margin:14px 0 23px}.service-about p{font-size:13px;line-height:1.95;color:#77816f;word-break:keep-all;overflow-wrap:break-word}.about-intro .about-lead{color:#3a5545;margin-bottom:20px}.about-lead strong{font-weight:600}.about-section{padding:32px 0;border-top:1px solid #e4e7dc;margin-top:30px}.about-section-label{font-size:11px;color:#8a967d;letter-spacing:1px}.about-section h2{font-size:21px;line-height:1.6;letter-spacing:-.6px;margin:10px 0 17px}.about-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0 20px}.about-steps>div{padding:15px 5px;border-radius:12px;background:#eef1e7;text-align:center}.about-steps b{display:block;font-size:13px;color:#355440}.about-steps span{display:block;font-size:10px;color:#829076;margin-top:7px}.about-criteria>div{padding:19px 0;border-bottom:1px solid #edf0e6}.about-criteria>div:last-child{border-bottom:0;padding-bottom:0}.about-criteria h3{font-size:15px;margin:0 0 7px}.about-criteria p{margin:0}.about-faq details{border-bottom:1px solid #e4e7dc}.about-faq summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:16px 0;list-style:none;cursor:pointer;font-size:13px;line-height:1.6;font-weight:600}.about-faq summary::-webkit-details-marker{display:none}.about-faq summary span{font-size:22px;color:#8b987d;flex-shrink:0;font-weight:400}.about-faq details[open] summary span{transform:rotate(45deg)}.about-faq details p{padding:0 0 20px;margin:0;font-size:12px}.about-faq summary:focus-visible{outline:2px solid #476446;outline-offset:3px}.about-closing{text-align:center;padding:10px 0 20px}.about-closing p{font-size:12px}.about-closing a{display:inline-flex;margin-top:8px}@media(max-width:360px){.app-heading .home-brand-line{font-size:10px;letter-spacing:-.5px}.about-steps span{font-size:9px}}

/* Main brand slogan: a compact, high-contrast signboard above search. */
.slogan-banner{position:relative;isolation:isolate;overflow:hidden;margin:10px 0 23px;padding:27px 24px 25px;border-radius:18px;background:#244b3d;color:#fff8e8;box-shadow:0 6px 18px #23473812}
.slogan-banner:before{content:"";position:absolute;inset:9px;border:1px solid #d9ddbd33;border-radius:11px;pointer-events:none;z-index:-1}
.slogan-label{display:block;font-size:10px;letter-spacing:1.7px;color:#d2ddc8;font-weight:500}
.slogan-banner h1{position:relative;z-index:1;font-family:'AppleMyungjo','Nanum Myeongjo',Georgia,serif;font-size:32px;line-height:1.5;font-weight:700;letter-spacing:-1.3px;margin:18px 0 14px;color:#fff8e8;word-break:keep-all}
.slogan-banner h1 em{font-style:normal;color:#e7cf95;white-space:nowrap}
.slogan-banner p{position:relative;z-index:1;font-size:11px;line-height:1.7;color:#d2ddc8;margin:0;letter-spacing:-.25px}
.slogan-table{position:absolute;width:115px;height:87px;right:9px;bottom:13px;color:#e4d6aa;opacity:.13;z-index:0;pointer-events:none}
.home-search-prompt{font-size:13px;font-weight:600;letter-spacing:-.4px;color:#53684f;margin:0 0 11px}
@media(max-width:360px){.slogan-banner{padding:24px 20px 23px}.slogan-banner h1{font-size:28px;letter-spacing:-1.2px}.slogan-banner p{font-size:10px}.home-search-prompt{font-size:12px}}

/* In-page location map: real map tiles and a coordinate marker. */
.restaurant-location{margin:18px 0 12px;border:1px solid #dce2d5;border-radius:18px;overflow:hidden;background:#f3f4ed}
.restaurant-location-map{display:block;width:100%;height:300px;border:0;background:#e9ede2}
.restaurant-location figcaption{padding:13px 16px;font-size:14px;font-weight:700;color:#243e32;line-height:1.6}
.restaurant-location figcaption>span{color:#7ba949;margin-right:5px}
.restaurant-location figcaption small{display:block;font-size:11px;font-weight:400;color:#727d6d;margin-top:3px}
.map-external{display:inline-block;margin:0 0 12px;font-size:13px}

/* Keep photos on a single horizontal rail, including diagonal touch gestures. */
.gallery-track{height:280px;overflow-y:hidden;touch-action:pan-x pinch-zoom;overscroll-behavior:contain;user-select:none;cursor:grab}
.gallery-slide{min-height:280px;max-height:280px;overflow:hidden;touch-action:pan-x pinch-zoom}
.gallery-slide img,.photo-full img{display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}
.gallery-track.dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing}
.gallery-track.dragging .gallery-slide{cursor:grabbing}
.photo-full{overflow:hidden}

.food-more{display:block;width:100%;margin:20px 0;min-height:48px}.app-chips{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.app-chips .chip{flex-shrink:0}

.photo-pending{background:#e9ecdf;min-height:180px;display:grid;place-items:center;color:#727e68;border-radius:20px}.photo-pending a{display:grid;place-items:center;min-height:180px;width:100%}.food-gallery.photo-pending{height:280px}

.card-menus{display:grid;gap:5px}.card-menus .menu-preview{display:flex;flex-wrap:nowrap;align-items:baseline;gap:8px;line-height:1.5}.card-menus .menu-preview>span{min-width:0;overflow-wrap:anywhere}.card-menus .menu-preview>b{flex-shrink:0;white-space:nowrap}

#region-trigger[hidden]{display:none}.market-neighborhood{margin-bottom:28px}.market-neighborhood h3{display:flex;align-items:baseline;gap:10px}.market-neighborhood h3 small{font-size:12px;font-weight:400;color:var(--muted,#78816f)}

.slogan-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.slogan-footer p{flex:1}.district-emblem{flex:0 0 116px;margin:-5px -3px -6px 0;color:#e7cf95;text-align:center}.district-emblem svg{display:block;width:116px;height:83px}.district-emblem figcaption{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:2px;white-space:nowrap}.district-emblem strong{font-size:12px;letter-spacing:.4px;color:#fff4d9}.district-emblem figcaption span{font-size:9px;color:#c7d7c4}@media(max-width:360px){.district-emblem{flex-basis:100px}.district-emblem svg{width:100px;height:72px}.district-emblem figcaption{gap:4px}.district-emblem strong{font-size:11px}.district-emblem figcaption span{font-size:8px}}

/* Large, full-width neighborhood picker for the market directory. */
.market-location-filter{display:block;margin-top:22px}
.neighborhood-picker{display:block;position:relative;width:100%;border:2px solid #55745b;border-radius:16px;background:#e9efdf;box-shadow:0 3px 0 #244a3d0a;cursor:pointer}
.neighborhood-picker-label{position:absolute;top:12px;left:18px;font-size:12px;font-weight:700;color:#536d54;pointer-events:none}
.app-filter-bar .neighborhood-picker select{display:block;appearance:none;-webkit-appearance:none;width:100%;min-height:80px;padding:31px 54px 14px 18px;border:0;border-radius:14px;background:transparent;line-height:1.5;font-family:inherit;font-size:21px;font-weight:700;color:var(--green);cursor:pointer}
.neighborhood-picker-arrow{position:absolute;right:20px;top:24px;font-size:25px;color:var(--green);pointer-events:none}
.neighborhood-picker:focus-within{outline:3px solid #244a3d;outline-offset:3px}
.neighborhood-picker:hover{background:#e2ead5}
.neighborhood-picker-hint{display:block;margin:10px 2px 0;font-size:11px;line-height:1.6;color:#737f6c}

.suggestion-section{background:#eef1e7;border-radius:24px;padding:28px!important;margin-top:30px}.suggestion-section form{display:grid;gap:14px;margin-top:24px}.suggestion-section label{font-weight:700;font-size:15px}.suggestion-section input{box-sizing:border-box;width:100%;min-height:54px;border:1px solid #bdc9b5;border-radius:12px;background:#fffdf8;padding:14px;font:inherit;color:#244a3d}.suggestion-section input:focus{outline:2px solid #244a3d;outline-offset:2px}.suggestion-section button{min-height:50px;cursor:pointer}.suggestion-section button:disabled{opacity:.6;cursor:wait}.suggestion-section .micro{font-size:13px;line-height:1.7;margin:0}.suggestion-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}#suggestion-status{margin:0;font-size:14px;line-height:1.6;color:#244a3d}@media(max-width:480px){.suggestion-section{padding:22px 18px!important}}

/* Outdoor dining: independent of neighborhood and menu filters. */
.restaurant-photo .outdoor-badge{position:absolute;left:0;top:7px;z-index:3;padding:5px 7px;border-radius:0 7px 7px 0;background:#244c3d;color:#fff8df;font-size:10px;font-weight:700;line-height:1.4;pointer-events:none;box-shadow:0 2px 6px #0002}.outdoor-filter{margin:16px 0 8px}.outdoor-toggle{min-height:44px;border:1px solid #bdcbb7;border-radius:12px;padding:10px 15px;background:#fffef9;color:#345640;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}.outdoor-toggle[aria-pressed=true]{background:#244c3d;color:#fff8df;border-color:#244c3d}.outdoor-filter p{font-size:11px;line-height:1.7;color:#7a8473;margin:8px 0}.outdoor-neighborhood{min-width:0}.outdoor-neighborhood>h3{font-size:14px;margin:9px 0 13px;padding-bottom:9px;border-bottom:1px solid #e3e7dc}.outdoor-neighborhood .restaurant-card{margin-bottom:18px}.outdoor-visit{background:#eaf0e2;padding:12px 14px;border-radius:10px;margin-bottom:16px}.outdoor-visit strong{font-size:13px}.outdoor-visit p{margin:6px 0 0;line-height:1.7}.outdoor-toggle:focus-visible{outline:2px solid #9a7736;outline-offset:3px}

.signature-menu-label{display:inline-block;vertical-align:baseline;font-size:10px;line-height:1.6;font-weight:700;color:#345640;background:#e9efdf;border-radius:4px;padding:1px 5px;margin-right:3px;white-space:nowrap}.menu-row .signature-menu-label{font-size:11px}.menu-preview>span{min-width:0;overflow-wrap:anywhere}

/* User-supplied vintage sign logo, framed without its outer whitespace. */
.app-topbar .brand{display:flex;align-items:center;flex-shrink:0}
.brand-art{display:block;position:relative;width:154px;aspect-ratio:1876/464;overflow:hidden}
.brand-art img{display:block;position:absolute;width:109.17%;height:auto;max-width:none;left:-4.48%;top:-23%}
@media(max-width:360px){.brand-art{width:129.5px}}

/* Distress only the ink interior; never mask or crop glyph silhouettes. */
.slogan-effect-defs{position:absolute;pointer-events:none}
.slogan-banner h1{font-family:"Arial Black","Apple SD Gothic Neo","Noto Sans KR",sans-serif;font-weight:900;font-size:38px;letter-spacing:-1.2px;line-height:1.5;color:#e7ddbd;padding:0 6px;overflow:visible;mask:none;-webkit-mask:none;filter:url(#slogan-worn-ink)}
.slogan-banner h1 em{color:#c7aa6e}
@media(max-width:360px){.slogan-banner h1{font-size:32px}}

/* Naver place and optional booking, directly below the restaurant introduction. */
.restaurant-naver{margin-top:22px}
.restaurant-naver-actions{display:flex;flex-wrap:wrap;gap:10px}
.naver-place-link,.naver-booking-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 16px;border-radius:12px;text-decoration:none;font-size:15px;font-weight:700;line-height:1.4}
.naver-place-link{background:#edf5eb;color:#24533b;border:1px solid #d4e4d3}
.naver-mark{display:inline-flex;align-items:center;justify-content:center;background:#03a94d;color:#fff;border-radius:5px;width:23px;height:23px;font-size:17px;font-weight:900}
.naver-booking-link{background:#087b3c;color:#fff;border:1px solid #087b3c}
.restaurant-naver a:focus-visible{outline:3px solid #c7aa6e;outline-offset:3px}
.restaurant-naver .micro{margin:10px 0 0;font-size:12px;line-height:1.7}
