:root{--promo-700:#c2410c;--promo-600:#ea580c;--promo-500:#f97316;--promo-100:#ffedd5;--promo-50:#fff7ed}.promo-strip{padding:6px 0 26px}.promo-strip-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.promo-strip-head h2{font-size:20px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.promo-strip-place{color:var(--ink-500);font-weight:600}.promo-strip-all{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--promo-600);white-space:nowrap}.promo-strip-all:hover{color:var(--promo-700)}.promo-scroller{position:relative}.promo-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:4px 2px 14px;scrollbar-width:none}.promo-track::-webkit-scrollbar{display:none}.promo-track>.promo-card{flex:0 0 280px;scroll-snap-align:start}.promo-arrow{position:absolute;top:calc(50% - 26px);z-index:2;width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--navy-900);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;transition:transform .2s var(--ease)}.promo-arrow:hover{transform:scale(1.06)}.promo-arrow svg{width:18px;height:18px}.promo-arrow.prev{left:-14px}.promo-arrow.next{right:-14px}@media (max-width:640px){.promo-arrow{display:none}.promo-track>.promo-card{flex-basis:78%}}.promo-card{display:flex;flex-direction:column;border-radius:var(--radius-lg);overflow:hidden;background:#fff;border:1px solid var(--border-soft);box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.promo-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.promo-card-cover{position:relative;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--tint-a,#e6eaf7),var(--tint-b,#c9d3ef))}.promo-card-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.promo-card-cover>svg{width:40px;height:40px;color:rgba(14,32,78,.35)}.promo-badge{top:10px;right:10px;max-width:calc(100% - 20px);background:linear-gradient(135deg,var(--promo-500),var(--promo-600));color:#fff;font-family:var(--font-head);font-size:14px;padding:6px 12px;border-radius:var(--radius-full);box-shadow:0 8px 18px -6px rgba(234,88,12,.6);white-space:nowrap;text-overflow:ellipsis}.promo-badge,.promo-card-logo{position:absolute;z-index:1;font-weight:800;overflow:hidden}.promo-card-logo{left:12px;bottom:-18px;width:44px;height:44px;border-radius:12px;background:#fff;border:2px solid #fff;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;color:var(--navy-900)}.promo-card-logo img{width:100%;height:100%;object-fit:cover}.promo-card-body{padding:26px 16px 16px;display:flex;flex-direction:column;flex:1 1}.promo-card-body h4{font-size:15.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(1.3em * 2)}.promo-card-provider{font-size:12.5px;color:var(--ink-500);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.promo-card-desc{font-size:13px;color:var(--ink-700);margin-top:8px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.promo-card-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;margin-top:auto;padding-top:12px}.promo-plus{font-size:11.5px;font-weight:700;color:#0b8a7c}.promo-urgency{font-size:11.5px;color:var(--promo-700);background:var(--promo-100);padding:3px 8px}.biz-thumb .promo-flag,.promo-urgency{font-weight:800;border-radius:var(--radius-full)}.biz-thumb .promo-flag{position:absolute;top:12px;right:12px;z-index:1;background:linear-gradient(135deg,var(--promo-500),var(--promo-600));color:#fff;font-size:12px;padding:5px 11px;box-shadow:0 8px 18px -6px rgba(234,88,12,.55)}.promo-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:20px;gap:20px}@media (max-width:1100px){.promo-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:820px){.promo-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.promo-grid{grid-template-columns:1fr}}.promo-detail{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-gap:32px;gap:32px;align-items:start}@media (max-width:900px){.promo-detail{grid-template-columns:1fr}}.promo-hero{position:relative;aspect-ratio:16/9;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md);background:linear-gradient(135deg,var(--tint-a,#e6eaf7),var(--tint-b,#c9d3ef))}.promo-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.promo-hero .promo-badge{top:16px;right:16px;font-size:18px;padding:8px 16px}.promo-ended-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:rgba(14,32,78,.55);color:#fff;font-family:var(--font-head);font-weight:800;font-size:22px}.promo-detail h1{font-size:clamp(24px,3.2vw,34px);margin:18px 0 8px}.promo-meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.promo-meta-chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--ink-700);background:var(--bg-soft);border:1px solid var(--border-soft);padding:6px 12px;border-radius:var(--radius-full)}.promo-meta-chip.hot{color:var(--promo-700);background:var(--promo-50);border-color:var(--promo-100)}.promo-desc{font-size:15.5px;line-height:1.7;color:var(--ink-700);white-space:pre-line}.promo-terms{margin-top:22px}.promo-terms h3{font-size:16px;margin-bottom:10px}.promo-terms li{position:relative;padding-left:22px;margin-bottom:8px;font-size:14px;color:var(--ink-700);line-height:1.5}.promo-terms li:before{content:"";position:absolute;left:4px;top:7px;width:8px;height:8px;border-radius:50%;background:var(--promo-500)}.promo-note{margin-top:22px;padding:14px 16px;border-radius:var(--radius-md);background:var(--teal-100);color:#0b6b60;font-size:13.5px;font-weight:600;line-height:1.5}.promo-biz-card{position:-webkit-sticky;position:sticky;top:calc(var(--header-h) + 16px);background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:22px}@media (max-width:900px){.promo-biz-card{position:static}}.promo-biz-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.promo-biz-logo{width:56px;height:56px;border-radius:14px;overflow:hidden;flex:none;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--navy-900)}.promo-biz-logo img{width:100%;height:100%;object-fit:cover}.promo-biz-head strong{display:block;font-family:var(--font-head);font-size:17px;color:var(--navy-900)}.promo-biz-head span{font-size:12.5px;color:var(--ink-500)}.promo-biz-address{font-size:13.5px;color:var(--ink-700);line-height:1.5;margin-bottom:14px}.promo-biz-map{border-radius:var(--radius-md);overflow:hidden;aspect-ratio:16/10;margin-bottom:14px;border:1px solid var(--border-soft)}.promo-biz-map iframe{width:100%;height:100%;border:0}.promo-biz-actions{display:flex;flex-wrap:wrap;gap:8px}.promo-biz-actions .btn{flex:1 1 140px}.promo-biz-card>.btn-block{margin-top:10px}.map-sector-pin{position:relative}.map-promo-dot{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:var(--promo-500);color:#fff;border:2px solid #fff;font-size:10px;font-weight:800;line-height:14px;text-align:center;box-shadow:0 3px 8px -2px rgba(234,88,12,.7)}.map-pin-promos{width:100%;display:flex;flex-direction:column;gap:6px;margin-top:4px;padding-top:8px;border-top:1px solid var(--border-soft)}.map-pin-promos-title{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--promo-600)}.map-pin-promo{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-radius:var(--radius-sm);background:var(--promo-50);border:1px solid var(--promo-100);font-size:12.5px;font-weight:700;color:var(--navy-900)}.map-pin-promo span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-pin-promo b{color:var(--promo-700);white-space:nowrap}.map-pin-promos-more{font-size:11.5px;color:var(--ink-500)}.map-explorer-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.map-promo-toggle{background:#fff;border:1px solid var(--border);padding:8px 14px;border-radius:var(--radius-full);font-size:12.5px;font-weight:700;color:var(--navy-900);box-shadow:var(--shadow-sm);white-space:nowrap}.map-promo-toggle.active{background:var(--promo-500);border-color:var(--promo-500);color:#fff}.provider-promo-list{display:flex;flex-direction:column;gap:14px}.provider-promo-item{display:grid;grid-template-columns:160px minmax(0,1fr);grid-gap:16px;gap:16px;padding:14px;border-radius:var(--radius-lg);border:1px solid var(--border-soft);background:#fff;box-shadow:var(--shadow-sm)}@media (max-width:640px){.provider-promo-item{grid-template-columns:1fr}}.provider-promo-cover{position:relative;aspect-ratio:16/9;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-soft)}.provider-promo-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.provider-promo-cover .promo-badge{font-size:12px;padding:4px 10px;top:8px;right:8px}.provider-promo-item h4{font-size:16px;margin-bottom:4px}.provider-promo-sub{font-size:12.5px;color:var(--ink-500)}.provider-promo-status{display:inline-block;font-size:11px;font-weight:800;padding:3px 9px;border-radius:var(--radius-full);margin-left:6px;vertical-align:middle}.provider-promo-status.ACTIVE{background:#dcfce7;color:#15803d}.provider-promo-status.SCHEDULED{background:#dbeafe;color:#1d4ed8}.provider-promo-status.ENDED{background:#fee2e2;color:#b91c1c}.provider-promo-status.DRAFT{background:var(--bg-soft-2);color:var(--ink-500)}.provider-promo-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:12px}@media (max-width:640px){.provider-promo-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.provider-promo-stats div{background:var(--bg-soft);border-radius:var(--radius-sm);padding:8px 10px}.provider-promo-stats strong{display:block;font-family:var(--font-head);font-size:17px;color:var(--navy-900)}.provider-promo-stats span{font-size:11.5px;color:var(--ink-500)}.provider-promo-empty{text-align:center;padding:36px 20px}.provider-promo-empty .promo-empty-icon{font-size:34px;margin-bottom:8px}.provider-promo-empty p{color:var(--ink-500);font-size:14px;margin:6px 0 16px;line-height:1.55}