:root{font-family:Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif;color:#4d2d1e;background:#fffaf3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e98b21;outline-offset:3px}header{height:76px;padding:0 max(24px,calc((100% - 1180px)/2));display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #eee1d2;font-size:17px;font-weight:850;gap:20px}header span{display:block;font-size:10px;letter-spacing:.12em;color:#a16b48;margin-top:4px}.back{font-size:13px;border:1px solid #e8d7c4;border-radius:30px;padding:10px 16px}main{max-width:1180px;margin:auto;padding:28px 24px 48px}.hero{position:relative;isolation:isolate;overflow:hidden;min-height:365px;border-radius:28px;background:linear-gradient(120deg,#d8f3fc,#edfafc 60%,#f9e6c6);display:flex;align-items:center}.hero-copy{position:relative;padding:36px 40px;z-index:2}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;color:#627f83;margin:0 0 18px}h1{font-size:42px;line-height:1.25;letter-spacing:-1.7px;margin:0;font-weight:900}h1 em{font-style:normal;color:#b75d1b}.intro{font-size:21px;font-weight:850;margin:16px 0 9px}.sub{font-size:15px;line-height:1.7;color:#6f7669;margin:0}.hero-art{position:absolute;inset:0 0 0 auto;width:52%;background:url('../bread-map/assets/festival-poster.jpg') center 59%/100% auto;mask-image:linear-gradient(90deg,transparent,#000 35%);z-index:0}.stats{display:flex;gap:20px;margin-top:24px;font-size:13px}.stats strong{font-size:20px;color:#793b1e;margin-right:5px}.browse{margin-top:36px}.browse-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}h2{font-size:23px;letter-spacing:-.8px;margin:0 0 20px}.browse-heading p{font-size:13px;color:#8c7966;margin-top:0}.search{display:flex;align-items:center;gap:14px;border:1px solid #e1d3c3;background:white;border-radius:13px;height:54px;padding:0 18px}.search span{font-size:13px;font-weight:800;color:#a46b3c}.search input{border:0;background:none;width:100%;font-size:16px;min-width:0;outline:0;color:#4d2d1e}.filters{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips button{border:1px solid #e5d8c9;color:#775338;background:#fff;padding:10px 16px;border-radius:25px;font-size:14px;font-weight:700}.chips button[aria-pressed=true]{background:#793b1e;color:white;border-color:#793b1e}select{background:#fff;border:1px solid #e5d8c9;border-radius:9px;padding:10px;font-size:14px;color:#775338}.count{font-size:14px;color:#8e7867;margin:22px 0 14px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{display:flex;flex-direction:column;padding:23px;background:#fff;border:1px solid #ede0d2;border-radius:18px;min-width:0}.card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.category{font-size:12px;color:#887660}.badge{font-size:12px;font-weight:800;padding:5px 10px;background:#fff0d4;color:#9d4a10;border-radius:20px}.badge.pending{color:#6b716d;background:#f0f0ea}.card h3{font-size:19px;line-height:1.4;letter-spacing:-.5px;margin:15px 0 6px;word-break:keep-all}.item{font-size:14px;color:#8a786b;margin:0}.benefit{white-space:pre-line;font-size:17px;font-weight:800;line-height:1.65;color:#a54814;background:#fff9ee;border-radius:10px;padding:14px;margin:18px 0;min-height:80px}.benefit.pending{background:#f6f5f1;color:#93958b}.address{font-size:13px;color:#827264;line-height:1.6;margin:0 0 18px}.map-link{display:flex;justify-content:center;align-items:center;min-height:44px;border:1px solid #d9e8dc;background:#f4faf5;color:#247544;border-radius:9px;font-size:14px;font-weight:800;margin-top:auto}.map-link:hover{background:#e4f4e7}.empty{grid-column:1/-1;text-align:center;padding:55px 20px;font-size:17px;color:#8a786b}.notice{font-size:13px;color:#93816e;line-height:1.7;margin:25px 0 0}footer{padding:30px 20px 40px;border-top:1px solid #e9dece;display:flex;align-items:center;justify-content:center;gap:20px;font-size:13px;color:#967e68}footer strong{color:#69452d}footer a{text-decoration:underline;text-underline-offset:4px}@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}h1{font-size:35px}.hero-copy{padding:30px}.hero-art{width:54%;background-size:auto 145%}}@media(max-width:580px){header{height:68px;padding:0 18px;font-size:15px}.back{font-size:12px;padding:9px 12px}main{padding:18px 16px 32px}.hero{min-height:360px;align-items:flex-start;border-radius:20px}.hero-copy{padding:25px 22px;width:100%}.eyebrow{font-size:10px;margin-bottom:13px;letter-spacing:.07em}h1{font-size:29px;letter-spacing:-1.2px}.intro{font-size:18px;margin-top:15px}.sub{font-size:13px;max-width:215px}.hero-art{width:190px;top:115px;bottom:0;right:-12px;background-size:100% auto;background-position:center 59%;mask-image:linear-gradient(90deg,transparent,#000 40%);opacity:.9}.stats{flex-direction:column;gap:9px;margin-top:24px}.stats strong{font-size:18px}.browse{margin-top:27px}.browse-heading{display:block}h2{font-size:21px;margin-bottom:8px}.browse-heading p{font-size:12px;margin-bottom:16px}.filters{align-items:flex-start;flex-wrap:wrap}.chips{gap:7px}.chips button{font-size:12px;padding:9px 12px}select{font-size:13px}.cards{grid-template-columns:1fr;gap:13px}.card{padding:20px}.benefit{min-height:0;margin:15px 0;font-size:17px}.card h3{font-size:20px}.card-top{font-size:13px}footer{flex-direction:column;gap:9px}.count{margin-top:17px}}

.address-link{display:block;text-align:center;margin-top:10px;color:#7c6c5c;font-size:12px;line-height:1.6;text-decoration:underline;text-underline-offset:3px;padding:6px 0}
[hidden]{display:none!important}.map-section{scroll-margin-top:15px}.map-heading{display:flex;position:relative;overflow:hidden;justify-content:space-between;border-radius:22px 22px 0 0;padding:24px 28px;background:linear-gradient(110deg,#d9f2fc,#f8f7e9);min-height:135px}.map-heading h1{font-size:30px;letter-spacing:-1px}.map-heading .eyebrow{margin-bottom:9px;font-size:12px}.map-heading p:last-child{font-size:14px;color:#716c58;margin:9px 0 0}.map-heading>div:first-child{position:relative;z-index:2}.map-heading-art{position:absolute;right:0;top:0;bottom:0;width:260px;background:url('../bread-map/assets/festival-poster.jpg') center 59%/100% auto;mask-image:linear-gradient(90deg,transparent,#000 30%)}.map-wrap{height:410px;position:relative;overflow:hidden;border:1px solid #e0d9cc;border-radius:0 0 20px 20px;background:#e8eee8}.map-wrap.expanded{height:75dvh;min-height:440px}#sale-map{height:100%;width:100%;z-index:0}.map-controls{position:absolute;right:12px;top:12px;z-index:500;display:flex;gap:7px}.map-controls button{border:1px solid #d9d2c7;border-radius:8px;background:#fffffff5;padding:10px 13px;font-size:13px;color:#714727;font-weight:750}.map-status{position:absolute;left:12px;bottom:23px;margin:0;padding:7px 10px;border-radius:6px;font-size:12px;background:#fffffff0;z-index:500;color:#6b5b48;pointer-events:none}.map-footnote{font-size:12px;line-height:1.7;color:#92816b;margin:10px 2px}.map-error{position:absolute;left:50px;right:15px;top:65px;z-index:600;background:#fff4da;color:#754a22;padding:10px;border-radius:8px;font-size:13px}.sale-pin-shell{display:flex;align-items:center;justify-content:center}.sale-dot{display:block;width:13px;height:13px;border:2px solid white;border-radius:50%;background:#c96720;box-shadow:0 1px 7px #56331966}.sale-dot.multi{background:#247f91;box-shadow:0 0 0 4px #ffffff90,0 1px 8px #1c586d66}.sale-pin-shell:hover .sale-dot{transform:scale(1.4)}.map-pop{font-family:Pretendard,'Malgun Gothic',sans-serif;color:#53351f}.pop-heading{font-size:15px}.pop-hint{font-size:12px;color:#8c7b66;margin:7px 0!important}.pop-store{padding:12px 0;border-bottom:1px solid #e9e0d3}.pop-store:last-child{border:0}.pop-store>strong{font-size:15px}.pop-store p{margin:7px 0!important;line-height:1.6}.pop-offer{color:#a84913;font-size:14px;font-weight:700;white-space:pre-line}.pop-address{font-size:12px;color:#857566}.pop-store a{display:block;background:#edf7ef;padding:9px;text-align:center;border-radius:7px;color:#247544!important;font-weight:700}.show-map{background:#fff8ee;border:1px solid #ead5b8;border-radius:9px;color:#9b5425;font-weight:750;padding:11px;font-size:14px;margin-top:auto;margin-bottom:8px}.show-map:disabled{color:#958977;background:#f6f4ee;cursor:default}.card .map-link{margin-top:0}@media(max-width:580px){.map-heading{padding:20px;min-height:128px}.map-heading h1{font-size:23px}.map-heading .eyebrow{font-size:10px}.map-heading p:last-child{font-size:12px}.map-heading-art{width:120px;opacity:.65}.map-wrap{height:330px}.map-controls button{font-size:12px;padding:9px}.map-status{font-size:11px}.map-footnote{font-size:11px}.map-wrap.expanded{height:70dvh;min-height:400px}}

/* Warm, quick-to-scan festival partner page */
main{max-width:1120px;padding-top:24px}
.sale-hero{position:relative;isolation:isolate;overflow:hidden;min-height:250px;border:1px solid #eed8b5;border-radius:24px;padding:30px 34px;background:radial-gradient(circle at 88% 20%,#ffe8b6 0 12%,transparent 12.2%),linear-gradient(115deg,#fff7e7 0%,#f8e3bd 64%,#efc482 100%);box-shadow:0 12px 30px #653e1610}
.sale-hero:after{content:"";position:absolute;z-index:-1;width:220px;height:220px;right:9%;bottom:-142px;border:20px solid #fff8e5;border-radius:50%;box-shadow:0 0 0 18px #e8ac5b35}
.sale-hero-copy{position:relative;z-index:1;max-width:700px}
.sale-hero .eyebrow{margin:0 0 12px;color:#8a633f;font-size:12px;letter-spacing:.1em;font-weight:850}
.sale-hero h1{font-size:36px;line-height:1.2;letter-spacing:-1.5px;color:#59351f}
.sale-hero h1 em{color:#bc641d}
.sale-intro{margin:12px 0 0;color:#70563e;font-size:15px;font-weight:650}
.sale-total{display:inline-flex;align-items:baseline;gap:7px;margin-top:18px;padding:7px 13px;background:#fffaf0;border:1px solid #efd7b5;border-radius:999px;color:#77533a;font-size:13px;font-weight:750}
.sale-total strong{color:#bd621d;font-size:21px;line-height:1}
.sale-hero-art{position:absolute;right:0;top:0;bottom:0;width:34%;opacity:.34;background:radial-gradient(ellipse at 70% 45%,#fff9e9 0 16%,transparent 16.5%),radial-gradient(ellipse at 79% 62%,#c97b2e 0 13%,transparent 13.5%),radial-gradient(ellipse at 91% 79%,#f8cd7f 0 11%,transparent 11.5%);mask-image:linear-gradient(90deg,transparent,#000 35%)}
.map-panel{margin:16px 0 30px;border:1px solid #ead9c4;border-radius:16px;background:#fff;overflow:hidden}
.map-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:72px;padding:14px 19px;list-style:none;cursor:pointer}
.map-panel>summary::-webkit-details-marker{display:none}
.map-panel>summary:after{content:"＋";display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;background:#fff4df;color:#89532c;font-size:18px;font-weight:800}
.map-panel[open]>summary{border-bottom:1px solid #eee3d4}
.map-panel[open]>summary:after{content:"−"}
.map-panel>summary>span:first-child{display:grid;gap:4px}
.map-panel>summary strong{font-size:16px;color:#59351f}
.map-panel>summary small{font-size:12px;color:#8b7967}
.map-summary-count{margin-left:auto;padding:6px 10px;border-radius:999px;background:#f7f0e5;color:#94643c;font-size:12px;font-weight:800}
.map-section{padding:12px 14px 4px}
.map-wrap{height:360px;border-radius:13px}
.map-wrap.expanded{height:75dvh;min-height:430px}
.map-footnote{margin:9px 2px 12px}
.browse{margin-top:0}
.browse-heading{margin-bottom:15px}
.browse-heading h2{margin:0;font-size:24px;color:#57351f}
.browse-heading p{margin:0;color:#937b61;font-size:12px}
.section-kicker{margin:0 0 5px;color:#c47a32;font-size:10px;font-weight:900;letter-spacing:.14em}
.search{height:56px;border-radius:13px;border-color:#e8d8c3;box-shadow:0 3px 12px #50301408}
.search span{font-size:24px;line-height:1;color:#b96b2a}
.search input{font-size:15px}
.filters{margin-top:13px}
.chips{gap:7px}
.chips button{padding:9px 14px;border-color:#eadac7;color:#77543a;font-size:13px}
.chips button[aria-pressed=true]{background:#743d20;border-color:#743d20}
.count{margin:19px 0 12px;font-size:13px;font-weight:750;color:#836b53}
.cards{gap:14px}
.card{padding:19px;border:1px solid #ecdfce;border-radius:16px;box-shadow:0 5px 18px #593b1a08;transition:transform .16s ease,box-shadow .16s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 10px 22px #593b1a12}
.card h3{margin:13px 0 9px;font-size:18px;color:#55351f}
.item{display:flex;gap:7px;align-items:baseline;color:#6b6257;font-size:14px;font-weight:700}
.item span{flex:none;color:#a78764;font-size:11px;font-weight:800}
.benefit{min-height:74px;margin:14px 0 12px;padding:13px 14px;border:1px solid #f3e2c5;background:#fff8eb;color:#a34c19;font-size:15px;line-height:1.55}
.badge{background:#fff0d5;color:#9a4c18}
.badge.pending{background:#f2f0e9;color:#70716c}
.address{margin-bottom:14px;color:#766c60;font-size:12px}
.show-map{border:0;background:#f8f0e4;color:#81532d}
.show-map:hover{background:#f3e4cd}
.card .map-link{border-color:#e4eadf;background:#f3f7f0;color:#436840}
.card .map-link:hover{background:#e8f0e3}
.address-link{margin-top:5px;padding:4px 0;color:#8c7d6c}
.notice{margin-top:22px;padding:13px 15px;border-radius:11px;background:#f7f1e8;color:#85725e}
footer{margin-top:8px}
@media(max-width:900px){.sale-hero{min-height:235px}.sale-hero-art{width:35%}.sale-hero h1{font-size:33px}}
@media(max-width:580px){
  main{padding:16px 15px 30px}
  .sale-hero{min-height:232px;padding:24px 20px;border-radius:20px}
  .sale-hero .eyebrow{font-size:10px}
  .sale-hero h1{font-size:28px;letter-spacing:-1.1px}
  .sale-intro{max-width:250px;font-size:13px;line-height:1.6}
  .sale-total{margin-top:14px}
  .sale-hero-art{right:-10px;width:45%;opacity:.3}
  .map-panel{margin:13px 0 25px;border-radius:14px}
  .map-panel>summary{min-height:68px;padding:12px 14px}
  .map-panel>summary strong{font-size:14px}
  .map-panel>summary small{max-width:230px;font-size:11px}
  .map-section{padding:9px 9px 2px}
  .map-wrap{height:320px}
  .map-wrap.expanded{height:70dvh;min-height:400px}
  .browse-heading{align-items:flex-end}
  .browse-heading h2{font-size:21px}
  .browse-heading p{font-size:11px}
  .search{height:52px}
  .search input{font-size:14px}
  .chips{width:100%;overflow-x:auto;flex-wrap:nowrap;padding:1px 0 5px;scrollbar-width:none}
  .chips::-webkit-scrollbar{display:none}
  .chips button{white-space:nowrap;flex:none;padding:9px 12px;font-size:12px}
  .filters{align-items:center}
  select{font-size:12px}
  .cards{grid-template-columns:1fr;gap:11px}
  .card{padding:17px}
  .benefit{min-height:0;font-size:15px}
  .card h3{font-size:18px}
  footer{flex-direction:column;gap:9px}
}
