/* =========================================================
   00. 매장안내 초기화 · 공통
========================================================= */
#wrapper.is_store_page,#wrapper.is_store_page #container,#wrapper.is_store_page .shop-content{width:100%;max-width:none;margin:0;padding:0;float:none;display:block}
.store-page{--store-charcoal:#2e2e2b;--store-yellow:#ffda00;--store-gray:#f7f7f7;--store-bg:#fff;--store-line:#dedede;color:var(--store-charcoal);background:var(--store-bg);font-family:"Pretendard","Noto Sans KR",sans-serif;word-break:keep-all}
.store-page *{box-sizing:border-box}
.store-inner{width:min(calc(100% - 48px),1200px);margin:0 auto}

/* =========================================================
   02. 매장찾기 · 카카오맵
========================================================= */
.store-map-section{scroll-margin-top:150px;padding:68px 0 78px}
.store-heading{margin-bottom:34px}
.store-eyebrow{margin:0 0 14px;color:#555;font-size:14px;font-weight:900;letter-spacing:.3px}
.store-heading h2{margin:0;font-size:48px;line-height:1.35;letter-spacing:-1.8px}
.store-map-wrap{position:relative;height:580px;overflow:hidden;border:1px solid var(--store-line);border-radius:8px;background:#e9eee5}
.store-map{width:100%;height:100%}
.store-map-loading,.store-map-fallback{display:flex;width:100%;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#8a7f75;font-size:13px;text-align:center}
.store-map-fallback strong{color:#4d3b31;font-size:18px}
.store-search-panel{position:absolute;top:24px;left:24px;z-index:10;width:330px;max-height:calc(100% - 48px);overflow:hidden;border:1px solid #e0cdbb;border-radius:6px;background:#fff;box-shadow:0 13px 30px rgba(49,35,25,.16)}
.store-search-tabs{display:grid;padding:18px 18px 0;grid-template-columns:repeat(2,1fr)}
.store-search-tabs button{height:48px;border:1px solid #d7d7d3;background:#fff;color:var(--store-charcoal);font-size:14px;font-weight:800;cursor:pointer}
.store-search-tabs button:first-child{border-radius:5px 0 0 5px}
.store-search-tabs button:last-child{border-left:0;border-radius:0 5px 5px 0}
.store-search-tabs button.is-active{border-color:var(--store-yellow);background:var(--store-yellow);color:var(--store-charcoal)}
.store-search-view{display:none;max-height:445px;padding:16px 18px 20px;overflow-y:auto;overscroll-behavior:contain}
.store-search-view.is-active{display:block}
.store-keyword-form input{width:100%;height:46px;padding:0 14px;border:1px solid #dfcdbd;border-radius:4px;color:#3f3028;font-size:13px}
.store-keyword-form button{width:100%;height:44px;margin-top:10px;border:0;border-radius:4px;background:var(--store-yellow);color:var(--store-charcoal);font-size:13px;font-weight:800;cursor:pointer}
.store-result-list{display:grid;margin-top:18px;gap:0}
.store-result-item{display:block;width:100%;padding:15px 7px;border:0;border-top:1px solid #eee4da;background:#fff;text-align:left;cursor:pointer}
.store-result-item:first-child{border-top:0}
.store-result-item span,.store-result-item strong,.store-result-item small{display:block}
.store-result-item span{color:#555;font-size:10px;font-weight:800}
.store-result-item strong{margin-top:5px;color:#433229;font-size:15px}
.store-result-item small{margin-top:7px;color:#81756c;font-size:11px;line-height:1.5}
.store-result-item:hover strong{color:#111}
.store-result-empty{grid-column:1/-1;margin:16px 0;color:#998c82;font-size:12px;text-align:center}
.store-region-step>p{margin:0 0 13px;color:#66564c;font-size:13px;line-height:1.55}
.store-region-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
.store-region-grid button,.store-region-back{min-height:39px;border:1px solid #dfcdbd;border-radius:2px;background:#fff;color:#55443a;font-size:12px;font-weight:700;cursor:pointer}
.store-region-grid button:hover{border-color:var(--store-yellow);background:#fffbea;color:var(--store-charcoal)}
.store-region-back{width:100%;margin-top:12px}
.store-map-detail{position:relative;width:286px;max-height:212px;border:1px solid #dec8b3;border-radius:8px;background:#fff;box-shadow:0 12px 28px rgba(49,35,25,.2);isolation:isolate}
.store-map-detail:after{position:absolute;bottom:-10px;left:50%;width:18px;height:18px;border-right:1px solid #dec8b3;border-bottom:1px solid #dec8b3;background:#fff;content:"";transform:translateX(-50%) rotate(45deg)}
.store-map-detail[hidden]{display:none}
.store-detail-close{position:absolute;top:12px;right:12px;z-index:5;display:flex;width:28px;height:28px;padding:0;border:1px solid #dec8b3;border-radius:4px;align-items:center;justify-content:center;background:#fff;color:#765f50;font-size:18px;line-height:1;box-shadow:0 2px 7px rgba(49,35,25,.08);cursor:pointer}
.store-detail-close:hover{border-color:var(--store-yellow);color:var(--store-charcoal)}
.store-detail-scroll{position:relative;z-index:2;max-height:210px;padding:18px 20px 20px;overflow-x:hidden;overflow-y:auto;border-radius:8px;background:#fff;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b7a89c transparent}
.store-detail-scroll::-webkit-scrollbar{width:5px}
.store-detail-scroll::-webkit-scrollbar-track{background:transparent}
.store-detail-scroll::-webkit-scrollbar-thumb{border-radius:99px;background:#b7a89c}
.store-detail-image{height:86px;margin:-18px -20px 15px;overflow:hidden;border-radius:7px 7px 0 0;background:#f4ede5}
.store-detail-image img{display:block;width:100%;height:100%;object-fit:cover}
.store-detail-category{display:block;color:#555;font-size:13px;font-weight:800}
.store-detail-scroll h3{margin:8px 36px 0 0;color:#3f2e25;font-size:20px;line-height:1.3;letter-spacing:-.6px}
.store-detail-address{margin:10px 0 0;padding-right:4px;color:#75685f;font-size:12px;line-height:1.5}
.store-detail-scroll dl{margin:12px 0 0;padding-top:9px;border-top:1px solid #eee3d8}
.store-detail-scroll dl div{display:grid;margin-top:7px;grid-template-columns:62px 1fr;gap:10px;font-size:12px;line-height:1.55}
.store-detail-scroll dt{color:#998b80;font-weight:700}
.store-detail-scroll dd{margin:0;color:#514139}
.store-detail-scroll dd a{color:inherit}
.store-detail-info{margin:11px 0 0;padding:10px;border-radius:5px;background:#faf4ec;color:#6e6057;font-size:12px;line-height:1.6;white-space:pre-line}
.store-map-marker{position:relative;width:44px;height:44px;border:2px solid #4c3525;border-radius:50% 50% 50% 0;background:#f6ba18;color:#302116;font-size:16px;font-weight:900;box-shadow:0 5px 10px rgba(43,31,23,.22);transform:rotate(-45deg);cursor:pointer}
.store-map-marker{line-height:40px;text-align:center;text-indent:0}
.store-map-marker:after{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:50%;content:"10";transform:rotate(45deg)}
.store-map-marker{font-size:0}
.store-map-marker.has-image{width:54px;height:66px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;line-height:normal;transform:none}
.store-map-marker.has-image:after{display:none;content:none}
.store-map-marker.has-image img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.store-map-note{margin:20px 0 0;color:#92857a;font-size:14px}
.store-map-key-notice{margin:8px 0 0;color:#666;font-size:14px}
.store-map-key-notice code{padding:2px 5px;border-radius:3px;background:#f1f1ef;color:#333}

/* =========================================================
   03. 매장 판매 메뉴
========================================================= */
.store-menu-section{scroll-margin-top:150px;padding:68px 0 82px;background:var(--store-gray)}
.store-menu-heading h2{margin:0;font-size:48px;letter-spacing:-1.4px}
.store-menu-heading p{margin:14px 0 0;color:#887a70;font-size:14px}
.store-menu-filters{display:flex;margin-top:27px;gap:8px}
.store-menu-filters button{min-width:110px;height:43px;border:1px solid #ccc;border-radius:0;background:#fff;color:var(--store-charcoal);font-size:13px;font-weight:800;cursor:pointer}
.store-menu-filters button.is-active{border-color:var(--store-yellow);background:var(--store-yellow);color:var(--store-charcoal)}
.store-menu-slider{position:relative;margin-top:28px;padding:0 64px}
.store-menu-track{display:grid;overflow-x:auto;padding:0 0 10px;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}
.store-menu-track::-webkit-scrollbar{display:none}
.store-menu-card{min-width:0;text-align:center;scroll-snap-align:start}
.store-menu-card[hidden]{display:none}
.store-menu-image{overflow:hidden;border:1px solid #dfcfbf;border-radius:5px;background:#fff;aspect-ratio:1/1}
.store-menu-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .3s ease}
.store-menu-card:hover img{transform:scale(1.025)}
.store-menu-card h3{margin:13px 0 0;color:#4c392f;font-size:15px;line-height:1.4}
.store-menu-arrow{position:absolute;top:calc(50% - 26px);z-index:2;width:44px;height:44px;border:1px solid #dac6b3;border-radius:5px;background:#fff;color:#57443a;font-size:30px;line-height:1;cursor:pointer;transform:translateY(-50%)}
.store-menu-arrow.is-prev{left:0}
.store-menu-arrow.is-next{right:0}
.store-menu-empty{display:flex;min-height:280px;grid-column:1/-1;align-items:center;justify-content:center;border:1px solid #dfcfbf;border-radius:6px;background:#fff;color:#998b80;font-size:13px}
.store-menu-empty[hidden]{display:none!important}

/* =========================================================
   04. 반응형
========================================================= */
@media(max-width:1024px){
   .store-page{padding-top:64px}
   .store-map-wrap{height:620px}
}
@media(max-width:760px){
   .store-inner{width:calc(100% - 48px)}
   .store-map-section{padding:48px 0 58px}
   .store-heading{margin-bottom:24px}
   .store-heading h2{font-size:29px}
   .store-map-wrap{display:flex;height:auto;overflow:visible;flex-direction:column;border:0;background:transparent}
   .store-map{height:430px;border:1px solid var(--store-line);border-radius:7px;order:2}
   .store-search-panel{position:relative;top:auto;left:auto;width:100%;max-height:none;margin-bottom:12px;order:1;box-shadow:none}
   .store-search-view{max-height:330px}
   .store-map-detail{width:min(280px,calc(100vw - 44px));max-height:205px}
   .store-detail-scroll{max-height:203px;padding:17px 18px}
   .store-detail-image{margin:-17px -18px 14px}
   .store-map-note{line-height:1.6}
   .store-menu-section{padding:50px 0 60px}
   .store-menu-heading h2{font-size:28px}
   .store-menu-slider{padding:0}
   .store-menu-track{grid-auto-columns:calc((100% - 12px)/2);gap:12px}
   .store-menu-arrow{display:none}
   .store-menu-card h3{font-size:13px}
}
@media(max-width:480px){
   .store-map{height:360px}
   .store-search-tabs{padding:14px 14px 0}
   .store-search-view{padding:14px}
   .store-detail-scroll{padding:17px 18px}
   .store-detail-scroll h3{font-size:20px}
}


