/* Mobile-first refinements. Kept last so desktop layouts remain unchanged. */
@media (max-width:760px) {
 :root{--mobile-gutter:16px;--mobile-nav-space:calc(78px + env(safe-area-inset-bottom,0px))}
 html{scroll-padding-top:88px;scroll-padding-bottom:var(--mobile-nav-space);-webkit-text-size-adjust:100%}
 body{word-break:keep-all;overflow-wrap:break-word}
 button,a,input,select,textarea{touch-action:manipulation}
 input[type=search],input[type=text],input[type=number],select,textarea{font-size:16px}
 button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:2px}
 main{padding:24px max(var(--mobile-gutter),env(safe-area-inset-right,0px)) 36px max(var(--mobile-gutter),env(safe-area-inset-left,0px));min-width:0}
 .header-inner{height:64px;min-height:64px;padding:0 var(--mobile-gutter);gap:12px}
 .header-actions{gap:4px}.brand{min-height:44px}.brand strong{font-size:23px}
 .icon-button,.my-button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
 .my-button:before{font-size:13px}.icon-button svg{width:22px;height:22px}
 .notice{min-height:44px;padding:0 12px;gap:5px;font-size:11px;line-height:1.35;text-align:center}
 .notice a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-left:5px;font-size:11px;flex:none}
 .notice .live-dot{flex:none}.notice-lead{font-size:10px}
 .primary,.secondary,.text-link,.back,.tabs button,.offer-filter a,.cb-saved-filter{min-height:44px;min-width:44px}
 .primary,.secondary{font-size:14px;padding:13px 16px;line-height:1.4}
 .text-link,.back{font-size:12px;display:inline-flex;align-items:center}
 .section{margin-top:32px}.section-head{align-items:flex-start;gap:12px}
 .section-head>div{min-width:0}.section-head>a{flex:none}
 .section-head h2{font-size:21px;line-height:1.35}.section-head p{font-size:12px;line-height:1.65}
 .page-heading h1{font-size:28px;line-height:1.25}.page-heading p{font-size:14px;line-height:1.7}
 .label,.page-heading .label,.home-heading .label{font-size:10px}
 .home-heading{gap:10px;align-items:flex-start}.home-heading h1{font-size:25px;line-height:1.25}
 .home-pill{font-size:10px;padding:8px 9px;margin-top:3px}
 .home-search{min-height:56px;gap:10px;padding:5px 5px 5px 13px}
 .home-search input{font-size:16px;min-height:44px;min-width:0;padding:10px 0}
 .home-search button{min-width:52px;min-height:44px;font-size:13px;padding:11px 12px;border-radius:9px}
 .home-search .icon{width:20px;height:20px}
 .tabs{gap:8px;padding:3px 0 6px;scroll-padding-inline:4px;overscroll-behavior-x:contain}
 .tabs button{font-size:13px;padding:11px 16px;flex:none}
 .offer-filter{gap:8px}.offer-filter a{font-size:13px;padding:12px 16px;display:flex;align-items:center;justify-content:center}
 .subtle-note,.cb-page-note{font-size:12px;line-height:1.75;padding:15px}
 .subtle-note p,.cb-page-note p{font-size:12px;color:#6e637b}
 .count{font-size:12px;margin:20px 0}
 .store-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .store-card{border-radius:18px;min-width:0;overflow:hidden}
 .store-card>a:not(.store-conditions){padding:45px 12px 18px;min-height:216px}
 .store-card .store-logo{width:96px;height:42px;margin:0 auto 15px}
 .store-card h3{font-size:15px;line-height:1.45;overflow-wrap:anywhere}
 .store-benefit{font-size:16px;line-height:1.4;margin-top:9px}
 .store-benefit.has-offer{font-size:24px}.store-benefit small{font-size:12px}
 .store-benefit-scope{font-size:11px;min-height:20px;margin-top:6px;line-height:1.5;color:#7d7389}
 .store-card .ready{font-size:10px;padding:5px 7px;margin-top:10px;white-space:normal;line-height:1.4}
 .store-card>.store-conditions,.cb-card>.store-conditions{font-size:12px;min-height:44px;padding:11px 5px;display:flex;align-items:center;justify-content:center;color:#776589;background:#fcfaff}
 .favourite,.store-card .favourite,.cb-card .favourite,.product-card .favourite{width:44px;height:44px;min-width:44px;min-height:44px;padding:12px;top:3px;right:3px;border-radius:50%}
 .favourite .icon,.store-card .favourite .icon,.product-card .favourite .icon{width:19px;height:19px}
 .product-card .favourite{background:#ffffffed}
 .brand-section-heading h2{font-size:15px}
 .brand-controls button{width:44px;height:44px}.brand-controls .icon{width:18px;height:18px}
 .brand-chip{min-width:100px;flex-basis:100px;padding:17px 10px 14px}
 .brand-chip .store-logo{width:78px;height:32px}.brand-chip>span:last-child{font-size:12px}
 .brand-rail{scroll-padding-inline:2px}
 .home-categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px;margin:25px 0 32px}
 .home-categories a{font-size:12px;min-height:76px;gap:10px}
 .home-categories a>span{width:48px;height:48px;border-radius:16px}.home-categories .icon{width:23px;height:23px}
 .showcase-slide,.showcase-slide.seasonal-slide{min-height:405px;padding:25px 22px 76px}
 .showcase-copy h2{font-size:32px;line-height:1.22}
 .showcase-eyebrow{font-size:9px}.showcase-copy p{font-size:12px;max-width:175px}
 .showcase-copy .primary{font-size:12px;min-height:44px;padding:12px 14px;margin-top:18px}
 .showcase-art{bottom:75px;right:10px}.seasonal-art{width:220px;height:160px;bottom:67px;right:-6px}
 .seasonal-slide .showcase-copy h2{font-size:34px}.seasonal-slide .showcase-copy>p{font-size:12px;max-width:100%}
 .showcase-toolbar{left:16px;right:16px;bottom:13px;gap:8px}
 .showcase-controls{gap:0;padding:0 3px}.showcase-controls button{width:44px;height:44px}
 .showcase-controls .icon{width:18px;height:18px}.showcase-controls>span{font-size:12px;min-width:28px}
 .showcase-dots{gap:0}.showcase-dots button{width:28px;height:44px}
 .ticket-label{font-size:10px}.ticket-rule{font-size:9px}.ticket-caption{font-size:8px}
 .offer-open{padding:18px 13px 0}.offer-top{flex-wrap:wrap;gap:9px;margin-bottom:14px}
 .offer-top .store-logo{width:78px;height:32px}.offer-kind{font-size:10px;padding:5px 7px}
 .offer-merchant{font-size:11px}.offer-card h3{font-size:15px;line-height:1.5;min-height:45px}
 .offer-rate{font-size:29px;line-height:1.3;letter-spacing:-1px}.offer-rate>span{font-size:12px}
 .offer-scope{font-size:12px;line-height:1.6;min-height:58px}.offer-bottom{flex-direction:column;align-items:flex-start;font-size:11px;gap:10px;padding:13px 0}
 .offer-bottom strong{font-size:12px}.benefit-footnote{font-size:12px;line-height:1.7}
 .product-card h3{font-size:15px}.product-card .merchant,.product-tag{font-size:12px}
 .product-bottom{font-size:11px;flex-wrap:wrap;gap:5px;line-height:1.5}
 .product-card .secondary{font-size:13px;width:100%;min-height:46px}
 .affiliate-disclosure,.feed-status,.feed-updated{font-size:12px;line-height:1.7}
 .cb-card>a:not(.store-conditions){padding:46px 16px 18px}
 .cb-card-top{flex-direction:column;align-items:flex-start;gap:10px;padding:0;margin-bottom:16px}
 .cb-card-top .store-logo{width:96px;height:42px}.cb-card-top>span:last-child{font-size:11px}
 .cb-card h3{font-size:16px}.cb-card p{font-size:12px}.cb-card-bottom strong{font-size:15px}.cb-card-bottom>span{font-size:12px}
 .cb-filter-row{flex-wrap:wrap;gap:12px}.cb-filter-row .tabs{max-width:100%;min-width:0}.cb-saved-filter{font-size:13px}
 .cb-shopping-panel .primary,.cb-shopping-panel .secondary{font-size:14px;min-height:48px}
 .cb-section-links a{min-height:44px;display:flex;align-items:center;font-size:12px}
 .cb-small,.cb-panel-disclosure,.cb-journey-note,.cb-journey p{font-size:12px}
 .cb-spotlight>div>p,.cb-section p,.cb-condition-list p{font-size:13px}
 .seasonal-merchant-grid{gap:12px}.seasonal-merchant{padding:20px 13px 12px}
 .seasonal-merchant-top .store-logo{width:94px;height:42px}.seasonal-merchant-top>span:last-child{font-size:10px}
 .seasonal-merchant h3{font-size:17px}.seasonal-merchant>p{font-size:13px;line-height:1.7;min-height:0}
 .seasonal-tags>span{font-size:10px}.seasonal-merchant-actions{gap:4px}
 .seasonal-merchant-actions .secondary{font-size:12px;min-height:46px;padding:11px 6px;white-space:normal}
 .seasonal-merchant-actions .text-link{font-size:12px;min-height:44px}
 .seasonal-tabs>a{font-size:13px;min-height:76px}.seasonal-shortcuts>a{font-size:12px;min-height:76px}
 .chuseok-hero-copy>p,.seasonal-group-heading p,.seasonal-checklist li p,.seasonal-closing p{font-size:13px}
 .seasonal-source{font-size:11px}.seasonal-date{font-size:11px}.seasonal-checklist h3{font-size:15px}
 .profile{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;margin:0 0 20px}
 .avatar{width:48px;height:48px;flex:none}.profile h1{font-size:23px;line-height:1.3;overflow-wrap:anywhere}
 .profile p{font-size:13px;line-height:1.6;margin-top:5px}
 .profile [data-account-control]{grid-column:1/-1;margin:4px 0 0;display:flex;justify-content:stretch;gap:10px}
 .profile [data-account-control]>*{flex:1;min-height:46px;text-align:center;justify-content:center}
 .account-wallet{margin:20px 0 14px;border-radius:20px}.account-wallet>div{padding:23px 16px;min-width:0}
 .account-wallet span{font-size:13px}.account-wallet strong{font-size:clamp(23px,6.6vw,30px);overflow-wrap:anywhere}
 .account-wallet small{font-size:12px;line-height:1.65;color:#756589}
 .text-small{font-size:13px;line-height:1.75}.menu-list{margin-top:16px}
 .menu-list a,.menu-list button{min-height:62px;font-size:14px;padding:18px 16px;gap:12px}
 .saved-heading{font-size:17px;gap:8px;flex-wrap:wrap}.saved-heading small{font-size:11px;margin-left:auto}
 .account-row{font-size:13px;gap:12px;align-items:flex-start}.account-row>div:first-child{min-width:0;overflow-wrap:anywhere}
 .account-row small{font-size:11px;line-height:1.6;margin-top:5px}.account-row>div:last-child{min-width:82px;max-width:40%;flex-shrink:0}
 .account-row>div:last-child strong{overflow-wrap:anywhere}.account-row>span{max-width:35%;font-size:12px;flex-shrink:0}
 .account-card{padding:26px 20px;margin:20px auto;border-radius:22px}.account-card h1{font-size:26px;line-height:1.3}
 .login-provider{min-height:52px;font-size:15px}.account-card .text-small a{display:inline-flex;align-items:center;min-height:44px}
 .departure{min-height:0;padding:12px 0 22px}.departure-card{padding:27px 20px 18px;border-radius:24px}
 .departure-card>.store-logo{width:116px;height:56px;margin-bottom:20px}.departure-orbit{margin-bottom:19px}
 .departure h1{font-size:24px;line-height:1.35;margin:12px 0 16px}.departure [role=status]{font-size:14px;line-height:1.75;min-height:0;word-break:keep-all}
 .departure [role=status] p{margin-top:8px}.departure .label{font-size:10px}
 .departure-disclosure{padding:18px;margin:22px 0 14px}.departure-disclosure strong{font-size:14px}
 .departure-disclosure p{font-size:13px;line-height:1.75}.departure-back{font-size:12px;min-height:44px;display:inline-flex;align-items:center;margin-top:6px}
 .departure [data-departure-actions] .text-link{font-size:13px;min-height:44px}
 .gift-card .secondary{font-size:13px;min-height:44px}.gift-card p,.step p,.page-intro p{font-size:13px}
 .gift-card{grid-template-columns:80px minmax(0,1fr);gap:0 15px}.gift-card h2{font-size:18px}
 .panel{padding:22px 18px;border-radius:18px}.panel h2{font-size:19px}
 .faq summary{font-size:15px;min-height:44px;align-content:center}.faq p{font-size:14px}
 .legal p,.legal li{font-size:15px;line-height:1.85}.legal h2{font-size:19px}.legal .intro{font-size:14px}
 .facts li{font-size:14px;line-height:1.7}.description{font-size:15px}
 .benefit-guide strong{font-size:15px}.benefit-guide p{font-size:12px}
 .footer{margin:0 var(--mobile-gutter);padding:28px 0 calc(96px + env(safe-area-inset-bottom,0px))}
 .footer nav{gap:4px 14px;margin-top:14px}.footer nav a{min-height:44px;display:inline-flex;align-items:center;font-size:12px}
 .footer p{font-size:12px;line-height:1.75}.footer-brand span,.footer-bottom{font-size:11px}
 .bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:6px max(8px,env(safe-area-inset-right,0px)) max(6px,env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:#fffffff5}
 .bottom-nav a{min-width:0;min-height:54px;justify-content:center;gap:6px;font-size:11px;border-radius:12px}
 .bottom-nav a[aria-current]{background:#f4efff}.bottom-nav .icon{width:23px;height:23px}
 #toast{bottom:calc(85px + env(safe-area-inset-bottom,0px));font-size:13px;max-width:calc(100% - 32px);line-height:1.6}
 body:has(dialog[open]){overflow:hidden}
 dialog{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:100%;max-height:calc(100vh - 20px);max-height:calc(100dvh - env(safe-area-inset-top,0px) - 16px);padding:24px 22px max(24px,env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0;overflow-y:auto;overscroll-behavior:contain;scroll-padding-bottom:24px}
 .dialog-head{align-items:center;gap:12px;margin-bottom:16px}.dialog-head h2{font-size:21px;line-height:1.4}
 .close{width:44px;height:44px;min-width:44px;min-height:44px}.close .icon{width:21px;height:21px}
 dialog p{font-size:14px;line-height:1.8}.offer-conditions{font-size:14px;line-height:1.8;padding-left:20px}
 .offer-sources a{font-size:13px;min-height:44px;align-items:center}
 .coupon-code{gap:10px;padding:15px}.coupon-code .secondary{font-size:13px;min-height:44px;width:auto;margin:0}
 .coupon-code small{font-size:12px}.offer-link-note{font-size:13px!important;line-height:1.7!important}
 .admin-policies input:not([type=checkbox]),.admin-policies select,.admin-policies textarea{font-size:16px;min-height:44px}
 .admin-policies label{font-size:13px}.admin-policies input[type=checkbox]{width:22px;height:22px}
}
@media(max-width:360px){
 .notice-lead{display:none}.notice{font-size:11px}.notice a{margin-left:10px}
 .home-heading{flex-wrap:wrap}.home-heading h1{font-size:24px}.home-pill{padding:6px 9px}
 .showcase-dots{display:none}.showcase-toolbar{justify-content:flex-end}
 .showcase-copy h2,.seasonal-slide .showcase-copy h2{font-size:30px}
 .showcase-slide,.showcase-slide.seasonal-slide{padding-left:20px;padding-right:20px}
 .seasonal-art{width:195px;height:145px}.showcase-copy p{max-width:132px}
 .seasonal-slide .showcase-copy>p{max-width:100%}.seasonal-slide .showcase-copy>p br{display:none}
 .store-card>a:not(.store-conditions){padding-left:10px;padding-right:10px}.store-card .store-logo{width:90px}
 .offer-rate{font-size:25px}.offer-scope{font-size:12px}.offer-card h3{font-size:14px}
 .cb-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cb-card>a:not(.store-conditions){padding-left:12px;padding-right:12px}
 .seasonal-merchant-actions .secondary{font-size:12px;gap:4px}.seasonal-merchant-actions .secondary .icon{display:none}
 .gift-card{grid-template-columns:1fr}.gift-art{height:104px;grid-row:auto;margin-bottom:18px}.gift-card .ready{justify-self:start}
}
@media(min-width:761px) and (max-width:900px){
 .header-inner{gap:16px;padding:0 20px}.desktop-nav{gap:16px}.desktop-nav a{font-size:12px}.header-actions{gap:4px}.my-button{padding:10px}
}

@media(max-width:760px){.page-heading{margin:0 0 18px}.home-search{margin:16px 0 18px}.tabs{margin-bottom:14px}.offer-filter{margin:10px 0 16px}.subtle-note{padding:12px 14px;margin-bottom:18px}.count{margin:16px 0}}
