:root{--deal-green:#07825b;--deal-red:#e74f55;--deal-ink:#25332c;--deal-muted:#7c837e;--deal-line:#e9e1d6;--deal-surface:#fffdfa}
.deals-shell{background:#f8f4ee;color:var(--deal-ink)}
.deals-page-header{position:relative;z-index:28;padding:9px 14px 7px;background:#f8f4ee}
.deal-title-row{height:43px;display:flex;align-items:center;gap:8px}
.deal-title-row>span{flex:1}
.deal-title-button{display:flex;align-items:baseline;gap:9px;padding:0}
.deal-title-button strong{font-family:Georgia,"Noto Serif SC",serif;font-size:26px}
.deal-title-button small{color:#8a8f8b;font-size:11px}
.coupon-entry{min-height:31px;padding:0 9px;display:inline-flex;align-items:center;gap:3px;border-radius:16px;background:#f0ebe4;color:#68716b;font-size:9px}
.coupon-entry i{min-width:16px;height:16px;padding:0 4px;display:inline-grid;place-items:center;border-radius:8px;background:#d9a04d;color:#fff;font-size:8px;font-style:normal}
.coupon-entry.active{background:#e0f0e6;color:var(--deal-green)}
.deals-topbar{height:50px;display:flex;align-items:center;gap:7px}
.deals-topbar .region-btn{min-width:114px;max-width:120px;padding:0;border:0;background:transparent;box-shadow:none}
.deals-topbar .region-pin{width:23px;height:23px;color:#111a16;fill:currentColor;stroke:none}
.deals-topbar .region-btn [data-region-label]{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.deal-search{height:40px;min-width:0;flex:1;padding:0 11px;display:flex;align-items:center;gap:7px;border:1px solid #e8e1d8;border-radius:21px;background:#fffdfa}
.deal-search .ui-icon{width:17px;height:17px;color:#59645e}
.deal-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#27362f;font-size:16px}
.deals-topbar .notify-btn{position:relative;width:31px;height:40px;flex:0 0 31px}
.deals-topbar .notify-btn i{position:absolute;right:2px;top:5px;width:7px;height:7px;border:2px solid #f8f4ee;border-radius:50%;background:#e5483f}
.deals-topbar .avatar-link{width:37px;height:37px;flex:0 0 37px}
.deals-main{padding:0 14px 104px}

.deal-categories{display:flex;gap:6px;overflow-x:auto;padding:2px 0 9px;scrollbar-width:none}
.deal-categories::-webkit-scrollbar{display:none}
.category-item{height:34px;padding:0 10px;flex:0 0 auto;display:flex;align-items:center;gap:5px;border-radius:17px;background:#efeae4;color:#3e4944}
.category-item.active{background:var(--deal-green);color:#fff}
.category-item .ui-icon{width:15px;height:15px}
.category-item strong{font-size:9px;white-space:nowrap}

.event-banner-carousel{position:relative;height:146px;overflow:hidden;border-radius:18px;background:#213b4b;box-shadow:0 9px 24px rgba(39,32,25,.13);touch-action:pan-y}
.event-banner-viewport{height:100%;overflow:hidden}
.event-banner-track{display:flex;height:100%;transition:transform .62s cubic-bezier(.22,.72,.22,1);will-change:transform}
.event-banner-slide{position:relative;height:100%;min-width:100%;flex:0 0 100%;overflow:hidden;background:#233b49}
.event-banner-slide>img,.event-banner-slide>.event-hero-shade{position:absolute;inset:0;width:100%;height:100%}
.event-banner-slide>img{object-fit:cover;transform:scale(1.02);transition:transform 5.6s ease}
.event-banner-slide.active>img{transform:scale(1.08)}
.event-hero-shade{background:linear-gradient(90deg,rgba(5,24,47,.94),rgba(7,29,48,.48) 58%,rgba(7,29,48,.08) 88%)}
.event-hero-copy{position:relative;z-index:2;width:76%;padding:17px 0 0 18px;color:#fff}
.event-hero-copy>small{display:block;margin-bottom:3px;color:rgba(255,255,255,.76);font-size:8px;font-weight:750;letter-spacing:.04em}
.event-hero-copy h2{margin:0 0 4px;font-family:Georgia,"Noto Serif SC",serif;font-size:21px;line-height:1.15}
.event-hero-copy p{margin:0 0 8px;color:rgba(255,255,255,.86);font-size:8px}
.event-hero-copy strong{display:block;font-size:15px}.event-hero-copy strong em{font-size:9px;font-style:normal}
.event-hero-copy>span,.event-hero-copy>button{display:inline-flex;min-height:24px;margin-top:6px;padding:0 9px;align-items:center;border-radius:12px;background:rgba(255,255,255,.92);color:#33423c;font-size:7px;font-weight:800}
.event-hero-copy>button{border:0;cursor:pointer}
.spa-event .event-hero-shade{background:linear-gradient(90deg,rgba(68,37,22,.94),rgba(67,35,20,.46) 62%,rgba(60,31,18,.08))}
.spa-event .event-hero-copy h2{color:#ffe2a5}.spa-event .event-hero-copy strong{font-size:24px}.spa-event .event-hero-copy strong em{font-size:9px}
.market-event .event-hero-shade{background:linear-gradient(90deg,rgba(35,31,24,.94),rgba(59,43,27,.43) 62%,rgba(54,38,22,.08))}
.food-event .event-hero-shade{background:linear-gradient(90deg,rgba(54,25,18,.94),rgba(76,36,23,.42) 62%,rgba(63,32,22,.08))}
.banner-arrow{position:absolute;top:50%;z-index:4;width:28px;height:34px;padding:0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:11px;background:rgba(16,29,35,.34);color:#fff;font-size:22px;line-height:1;opacity:0;transform:translateY(-50%);transition:opacity .2s ease,background .2s ease;cursor:pointer}
.event-banner-carousel:hover .banner-arrow,.event-banner-carousel:focus-within .banner-arrow{opacity:1}.banner-arrow:hover{background:rgba(16,29,35,.66)}
.banner-arrow-prev{left:8px}.banner-arrow-next{right:8px}
.banner-dots{position:absolute;right:13px;bottom:12px;z-index:4;display:flex;gap:5px;align-items:center}
.banner-dots button{width:6px;height:6px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.55);transition:width .25s ease,background .25s ease;cursor:pointer}
.banner-dots button.active{width:18px;background:#fff}
.banner-progress{position:absolute;right:0;bottom:0;left:0;z-index:4;height:2px;background:rgba(255,255,255,.18)}
.banner-progress i{display:block;width:100%;height:100%;background:#f0c16c;transform:scaleX(0);transform-origin:left}
@keyframes banner-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.search-summary{margin:8px 0;padding:8px 10px;border-radius:8px;background:#eaf4ee;color:#476258;font-size:10px}

.deal-section{padding:8px 0 2px}
.deal-section.is-hidden,.coupon-section.is-hidden{display:none}
.deal-section-head{height:37px;display:flex;align-items:center;gap:8px}
.deal-section-head>div{min-width:0;display:flex;align-items:baseline;gap:8px}
.deal-section-head h2{margin:0;font-family:Georgia,"Noto Serif SC",serif;font-size:16px;white-space:nowrap}
.deal-section-head p{margin:0;color:#8a908b;font-size:8px;white-space:nowrap}
.deal-section-head>button{margin-left:auto;color:#828883;font-size:9px}
.event-list{display:flex;flex-direction:column;gap:7px}
.event-card{min-height:91px;padding:5px;display:grid;grid-template-columns:139px minmax(0,1fr) 65px;gap:7px;border:1px solid var(--deal-line);border-radius:14px;background:var(--deal-surface);box-shadow:0 4px 12px rgba(48,40,29,.045)}
.event-card.is-hidden{display:none}
.event-card[data-detail-href],.event-banner-slide[data-detail-href]{cursor:pointer}
.event-card[data-detail-href]:focus-visible,.event-banner-slide[data-detail-href]:focus-visible{outline:2px solid var(--deal-green);outline-offset:-3px}
.event-cover{position:relative;height:81px;overflow:hidden;border-radius:10px}
.event-cover img{width:100%;height:100%;object-fit:cover}
.event-cover span{position:absolute;left:5px;top:5px;padding:3px 6px;border-radius:6px;background:#ed5360;color:#fff;font-size:7px;font-weight:800}
.event-cover span.limited{background:#d49a34}.event-cover span.spa{background:#b24ea9}
.event-copy{min-width:0;padding-top:1px}
.event-copy>small,.event-copy>p{display:flex;align-items:center;gap:3px;color:#7b817d;font-size:7px;white-space:nowrap}
.event-copy .ui-icon{width:10px;height:10px}
.event-copy h3{margin:5px 0 3px;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.event-copy p{margin:0}
.event-tags{margin-top:4px;display:flex;gap:3px}
.event-tags em{padding:2px 5px;border-radius:5px;background:#f1eee9;color:#737975;font-size:6px;font-style:normal}
.event-joined{display:block;margin-top:4px;color:#8d928e;font-size:7px}
.event-action{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;padding:2px 0}
.event-action>b{color:#d49a32;font-size:8px}.event-action>strong{color:#de4653;font-size:16px}.event-action>strong small{font-size:7px}.event-action>strong.free{color:var(--deal-green);font-size:13px}
.claim-btn{min-height:27px;padding:0 10px;border-radius:14px;background:var(--deal-green);color:#fff;font-size:8px;font-weight:800;white-space:nowrap}
.claim-btn.outline{border:1px solid var(--deal-green);background:#fff;color:var(--deal-green)}
.claim-btn.claimed{background:#9ba59f;border-color:#9ba59f;color:#fff}

.coupon-section{padding:8px 0 2px}
.coupon-pack{position:relative;min-height:60px;padding:10px 125px 10px 14px;display:flex;align-items:center;gap:10px;overflow:hidden;border:1px solid #eedfc9;border-radius:15px;background:linear-gradient(100deg,#fff4df,#fffaf3)}
.coupon-pack.is-hidden{display:none}
.coupon-pack>div{min-width:0}.coupon-pack strong{font-size:13px}.coupon-pack p{margin:3px 0 0;color:#736c64;font-size:8px;white-space:nowrap}
.coupon-pack>button{flex:0 0 auto;border:1px solid #d5b277;background:#fff;color:#755b35}
.coupon-pack>span{position:absolute;right:0;top:0;width:115px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f7ad76,#e86538);color:#fff;transform:skewX(-12deg);transform-origin:bottom}
.coupon-pack>span>*{transform:skewX(12deg)}.coupon-pack>span small{font-size:7px}.coupon-pack>span b{font-size:23px}

.upcoming-section{padding:7px 0 2px}
.event-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:6px}
.event-calendar button{height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;color:#666f69}
.event-calendar button.active{background:var(--deal-green);color:#fff}
.event-calendar b{font-size:7px}.event-calendar span{margin-top:2px;font-size:8px}
.upcoming-card{min-height:55px;padding:5px;display:grid;grid-template-columns:92px minmax(0,1fr) 42px 54px;align-items:center;gap:6px;border:1px solid var(--deal-line);border-radius:12px;background:#fffdfa}
.upcoming-card.is-hidden{display:none}
.upcoming-card>img{width:92px;height:45px;border-radius:8px;object-fit:cover}
.upcoming-card>div{min-width:0}.upcoming-card small{color:#838985;font-size:7px}.upcoming-card h3{margin:3px 0;font-size:9px}.upcoming-card p{margin:0;color:#858b87;font-size:7px}
.upcoming-card>span{color:#d59a33;font-size:8px}

.empty-coupons{min-height:300px;padding:58px 24px;text-align:center}
.empty-coupons>.ui-icon{width:54px;height:54px;color:var(--deal-green)}
.empty-coupons h2{margin:12px 0 6px;font-size:16px}.empty-coupons p{margin:0 0 16px;color:var(--deal-muted);font-size:10px}.empty-coupons button{min-height:35px;padding:0 18px;border-radius:18px;background:var(--deal-green);color:#fff;font-size:10px;font-weight:800}
.deal-status{position:fixed;left:50%;bottom:89px;z-index:46;max-width:280px;margin:0;padding:9px 13px;border-radius:8px;background:rgba(36,53,46,.96);color:#fff;font-size:10px;opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:opacity .2s ease,transform .2s ease}
.deal-status.show{opacity:1;transform:translate(-50%,0)}
.is-hidden{display:none}
.deals-shell .bottom-nav{height:82px;padding-top:10px}.deals-shell .nav-item>.ui-icon{width:24px;height:24px}.deals-shell .nav-item strong{font-size:10px}
.deals-page-header a:focus-visible,.deals-page-header button:focus-visible,.deal-search:focus-within,.deal-categories button:focus-visible,.claim-btn:focus-visible,.event-calendar button:focus-visible{outline:2px solid var(--deal-green);outline-offset:2px}
@media(max-width:390px){
  .deals-page-header,.deals-main{padding-left:10px;padding-right:10px}
  .deals-topbar{gap:5px}.deals-topbar .region-btn{min-width:101px;max-width:105px}.deal-search{padding:0 8px}.deal-search input{font-size:16px}.deals-topbar .notify-btn{width:29px;flex-basis:29px}.deals-topbar .avatar-link{width:35px;height:35px;flex-basis:35px}
  .event-card{grid-template-columns:122px minmax(0,1fr) 58px;gap:5px}.event-cover{height:78px}.event-copy h3{font-size:11px}.event-tags em:nth-child(2){display:none}
  .coupon-pack{padding-left:10px;padding-right:107px}.coupon-pack>span{width:100px}.coupon-pack p{font-size:7px}
  .event-banner-carousel{height:138px;border-radius:16px}.event-hero-copy{width:82%;padding:15px 0 0 15px}.event-hero-copy h2{font-size:19px}.banner-arrow{display:none}.banner-dots{right:11px;bottom:10px}
}
@media(prefers-reduced-motion:reduce){.deal-status,.event-banner-track,.event-banner-slide>img,.banner-dots button{transition:none}.banner-progress i{animation:none}}
