/* Brand palette: white #FFFFFF, Jet Black #24221B, Silver Beige #E4DFD8, Mustard Yellow #F2D04E. */
:root:has(body.customer-site),:root:has(body.auth-view){--accent:#f2d04e;--accent-ink:#24221b;--accent-soft:#fdf6dc;--ink:#24221b;--muted:#6b6b6b;--line:#e4dfd8;--cream:#fff;--red:#24221b;--green:#24221b;--plum:#24221b;--soft-green:#fdf6dc;--shadow:0 4px 16px #00000008;background:#fff;color:#24221b}
body.customer-site,body.auth-view{background:#fff;color:#24221b}
body.customer-site{border-color:#e4dfd8;box-shadow:none}
.brand-logo{position:relative;display:block;width:216px;height:30px;overflow:hidden;flex-shrink:0}
.brand-logo img{position:absolute;display:block;width:137%;max-width:none;height:auto;left:-18.5%;top:50%;transform:translateY(-50%)}
body.customer-site .brand{color:#000;min-width:0}
body.customer-site .brand-tagline{color:#777;letter-spacing:.2px}
body.customer-site .topbar{background:#ffffffed;border-bottom:1px solid #e4dfd8;margin-bottom:15px}
body.customer-site .my-link{background:#fff;border-color:#e4dfd8;color:#24221b;box-shadow:none}
body.customer-site .home-search,body.customer-site .search{background:#f8f6f3;border-color:#e4dfd8;color:#24221b;box-shadow:none}
body.customer-site .home-search input,body.customer-site .home-search button{color:#24221b}
body.customer-site .home-search input::placeholder,body.customer-site .search::placeholder{color:#777}
body.customer-site .quick-links a{background:#fff;border-color:#e4dfd8;box-shadow:none}
body.customer-site .category-icon,body.customer-site .category-icon.green,body.customer-site .category-icon.rose,body.customer-site .category-icon.peach,body.customer-site .category-icon.violet{background:#fdf6dc;color:#24221b;border-radius:10px}
body.customer-site .offer,body.customer-site .wallet-card,body.customer-site .booking-card,body.customer-site .gift-card,body.customer-site .guest-card,body.customer-site .sharing-card{background:#fff;border-color:#e4dfd8;box-shadow:var(--shadow)}
body.customer-site .wallet-card{border-left-color:var(--accent)}
/* My Page: compact, keyboard-accessible disclosure cards. Actions stay inside. */
body.customer-site .wallet-card.wallet-compact{padding:0;border:1px solid #e4dfd8;border-radius:16px;box-shadow:none;overflow:hidden}
.wallet-summary{display:grid;grid-template-columns:60px minmax(0,1fr) 16px;align-items:center;gap:12px;padding:16px;cursor:pointer;list-style:none;min-height:122px;-webkit-tap-highlight-color:transparent}
.wallet-summary::-webkit-details-marker{display:none}
.wallet-summary:focus-visible{outline:3px solid #24221b;outline-offset:-3px;border-radius:16px}
.wallet-thumb{display:grid;place-items:center;width:60px;height:60px;background:#fdf6dc;color:#24221b;border-radius:12px;overflow:hidden}
.wallet-thumb>.ui-icon{width:28px;height:28px}
body.customer-site .wallet-thumb .coupon-photo.wallet{display:block;width:100%;height:100%;aspect-ratio:1;margin:0;border:0;border-radius:0}
.wallet-thumb .coupon-photo img{width:100%;height:100%;object-fit:cover}
.wallet-copy{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.wallet-copy .store-name{font-size:11px;font-weight:400;line-height:1.4}
.wallet-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-size:15px;font-weight:700;line-height:1.45;letter-spacing:-.3px}
.wallet-benefit{font-size:13px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}
.wallet-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;margin-top:3px;line-height:1.5}
body.customer-site .wallet-meta .badge{font-size:10px;padding:3px 7px;line-height:1.4;background:#fdf6dc;color:#24221b;white-space:normal}
body.customer-site .wallet-meta .badge.dim{background:#f2f2f2;color:#666}
.wallet-expiry{font-size:11px;color:#6b6b6b;white-space:nowrap}
.wallet-chevron{font-size:20px;line-height:1;color:#777;text-align:center;transition:transform .15s ease}
.wallet-compact[open] .wallet-chevron{transform:rotate(180deg)}
.wallet-expanded{padding:0 16px 14px;border-top:1px solid #f0ede8}
.wallet-expanded .wallet-terms{font-size:13px;line-height:1.6;color:#666;white-space:pre-line;overflow-wrap:anywhere}
body.customer-site .wallet-expanded .actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:7px;border:0;margin:12px 0 0;padding:0}
body.customer-site .wallet-expanded .actions .secondary{font-size:12px;min-height:44px;padding:10px 5px;border-radius:10px}
body.customer-site .wallet-expanded .transfer-notice{margin:12px 0 0;padding:12px}
.wallet-compact[open] .wallet-title{display:block;-webkit-line-clamp:unset}
@media(max-width:359px){.wallet-summary{grid-template-columns:48px minmax(0,1fr) 12px;gap:9px;padding:13px}.wallet-thumb{width:48px;height:48px}.wallet-title{font-size:14px}.wallet-expanded{padding-inline:13px}}
@media(prefers-reduced-motion:reduce){.wallet-chevron{transition:none}}
body.customer-site .offer-art,body.customer-site .offer-art.discount,body.customer-site .offer-art.fixed,body.customer-site .offer-art.gift,body.customer-site .offer-art.experience{background:#fdf6dc;color:#24221b}
body.customer-site .art-label{color:#24221b;background:#ffffffdd;border-color:#fff}
body.customer-site .art-token{background:#fff;border-color:#e4dfd8;box-shadow:4px 5px 0 #00000009}
body.customer-site .offer-meta,body.customer-site .test-note,body.customer-site .share-note,body.customer-site .share-meta,body.customer-site .share-state,body.customer-site .location-hint,body.customer-site .sharing-sortbar label,body.customer-site .sharing-sortbar>span,body.customer-site .sharing-row-store,body.customer-site .sharing-row-meta{color:#6b6b6b}
body.customer-site .primary,body.customer-site .offer .primary,body.customer-site .action-plus,body.customer-site .gift-banner .banner-cta{background:var(--accent);color:#24221b;box-shadow:none}
body.customer-site .primary:disabled,body.customer-site .offer .primary:disabled,body.customer-site .coupon-add:disabled .action-plus{background:#e4dfd8;color:#777;box-shadow:none}
body.customer-site .secondary{background:#fdf6dc;color:#24221b;border-color:#e4dfd8}
body.customer-site .coupon-add{color:#24221b}
body.customer-site .gift-banner{background:#fdf6dc;border-color:#e4dfd8;box-shadow:none;color:#24221b}
body.customer-site .gift-banner>.ui-icon{border-color:var(--accent);outline-color:var(--accent);color:#24221b}
body.customer-site .gift-banner strong{color:#24221b}
body.customer-site .gift-banner small{color:#666}
body.customer-site .chip{background:#f8f6f3;border-color:#e4dfd8;color:#555;box-shadow:none}
body.customer-site .chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#24221b;box-shadow:none}
body.customer-site .empty,body.customer-site .loading{background:#f8f6f3;color:#6b6b6b}
body.customer-site .summary{background:#fff;border-color:#e4dfd8;box-shadow:none}
body.customer-site .summary button{color:#666;border-color:#e4dfd8}
body.customer-site .summary strong{color:#24221b}
body.customer-site .badge{background:#f2d04e;color:#24221b}
body.customer-site .badge.dim{background:#e4dfd8;color:#6b6b6b}
body.customer-site .actions{border-color:#e4dfd8}
body.customer-site .bottom-nav{background:#fffffff5;border-color:#e4dfd8;box-shadow:0 5px 24px #0000000d}
body.customer-site .bottom-nav a{color:#777;border-radius:18px}
body.customer-site .bottom-nav a[aria-current="page"]{background:#f2d04e;color:#24221b}
body.customer-site .bottom-nav a[aria-current="page"] .ui-icon{color:#24221b;filter:none}
body.customer-site #status{background:#fdf6dc;color:#24221b}
body.customer-site #status.error,body.customer-site .dialog-error{background:#fff0f0;color:#a82f32}
body.customer-site dialog{background:#fff;box-shadow:0 -12px 60px #00000024}
body.customer-site dialog:before{background:#e4dfd8}
body.customer-site dialog::backdrop{background:#0006}
body.customer-site .icon-button,body.customer-site .code,body.customer-site .legal-terms{background:#f8f6f3;color:#333}
body.customer-site .share-filter,body.customer-site .share-refresh{color:#666}
body.customer-site .share-filter[aria-pressed="true"]{background:#f2d04e;color:#24221b}
body.customer-site .entry-card,body.customer-site .sharing-form input:not([type=radio]),body.customer-site .sharing-form select,body.customer-site .sharing-form textarea,body.customer-site #sharing-message{background:#fff;color:#24221b;border-color:#e4dfd8}
body.customer-site .mode-option{background:#fff;border-color:#e4dfd8}
body.customer-site .mode-option:has(input:checked){background:#fdf6dc;border-color:var(--accent)}
body.customer-site .mode-option input{accent-color:#24221b}
body.customer-site .mode-option small{color:#666}
body.customer-site .location-selector,body.customer-site .sharing-sortbar select{color:#24221b}
body.customer-site .region-button{background:#fff;border-color:#e4dfd8;color:#333}
body.customer-site .region-button[aria-pressed="true"]{background:#f2d04e;border-color:var(--accent);color:#24221b}
body.customer-site .sharing-list{background:#fff;border-color:#e4dfd8}
body.customer-site .sharing-compact+.sharing-compact{border-color:#e4dfd8}
body.customer-site .sharing-row-arrow{color:#999}
body.customer-site .coupon-photo{background:#f8f6f3}
body.customer-site .coupon-photo figcaption{background:#24221bb3}
body.customer-site .hero.hero-wheel{box-shadow:0 6px 18px #00000016}
body.customer-site .hero-wheel h1 strong{color:#f2d04e}
body.customer-site .hero-wheel .hero-link{background:var(--accent);color:#24221b}
body.customer-site .hero-wheel .hero-link:disabled{background:#e4dfd8;color:#555}
body.customer-site .hero-wheel .hero-note,body.customer-site .hero-wheel .hero-disclaimer,body.customer-site .hero-wheel .hero-badge{color:#fff}
/* The supplied wordmark is used on login and phone registration as well. */
body:not(.auth-view)>.customer-auth-brand{display:none}
body>header .auth-brand-logo{display:none}
body.auth-view>header{background:#fff;border-color:#e4dfd8}
body.auth-view>header .wordmark{font-size:0;gap:0}
body.auth-view>header .wordmark .mark,body.auth-view>header .wordmark:after{display:none!important}
body.auth-view>header .auth-brand-logo{display:block}
html:has(.login-welcome:not([hidden])){background:#fff}
body:has(.login-welcome:not([hidden])){background:#fff}
body:has(.login-welcome:not([hidden]))>header{background:#fff;border:0;margin-bottom:0}
.login-welcome .login-illustration{mask-image:radial-gradient(ellipse 70% 64% at center,#000 55%,transparent 100%)}
body.auth-view{--amz-coral:#f2d04e;--amz-plum:#24221b;--amz-teal:#24221b;--amz-cream:#fff;--amz-ink:#24221b}
body.auth-view #phone-panel{border-color:#e4dfd8;background:#fff;box-shadow:0 4px 16px #00000008}
body.auth-view .primary{background:#f2d04e;color:#24221b}
/* Keep Kakao's yellow for the provider's sign-in control. */
@media(max-width:390px){.brand-logo{width:183px;height:27px}body.customer-site .header-actions{gap:7px}body.customer-site .topbar{padding-inline:16px}}
@media(max-width:359px){.brand-logo{width:167px;height:25px}body.customer-site .brand-tagline{font-size:8px}}

/* Use the exact brand ink on the welcome headline while preserving Kakao colors. */
body:has(.login-welcome:not([hidden])){color:#24221b}
.login-welcome h1,body.auth-view #login-panel.login-welcome h1{color:#24221b}

body.customer-site .transfer-notice{margin:14px 0;padding:14px;border:1px solid #e4dfd8;border-radius:14px;background:#fdf6dc;color:#24221b}
body.customer-site .transfer-notice strong{font-size:14px}
body.customer-site .transfer-notice p{margin:7px 0 10px;font-size:13px;line-height:1.6}
body.customer-site .transfer-manage{display:inline-flex;align-items:center;min-height:44px;color:#24221b;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
body.customer-site button:disabled{background:#f5f5f5;color:#777;border-color:#e4dfd8;box-shadow:none;opacity:1;cursor:not-allowed}


body.customer-site .invite-preview-card{overflow:hidden;border:1px solid #e4dfd8;border-radius:20px;background:#fff}
body.customer-site .invite-preview-card .coupon-photo{aspect-ratio:3/2}
body.customer-site .invite-preview-card .coupon-photo img{width:100%;height:100%;object-fit:cover}
body.customer-site .invite-preview-card .card-benefit{font-weight:800;color:#24221b}


/* Account notifications: quiet white lists and blue controls. */
.notification-bell{position:relative}.notification-count{position:absolute;top:1px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:12px;background:#f04452;color:#fff;font-size:10px;font-weight:800;line-height:17px;text-align:center;border:2px solid #fff;box-sizing:content-box}.notification-count[hidden]{display:none}
body.customer-site.notification-view{background:#fff;color:#191f28;padding-bottom:env(safe-area-inset-bottom);box-shadow:none}
body.notification-view>.topbar,body.notification-view>.bottom-nav,body.notification-view #customer-location,body.notification-view .test-note{display:none!important}
body.notification-view main{padding:0 24px 32px}
body.notification-view #status:empty{display:none}
body.notification-view #screen{max-width:none;margin:0}
body.notification-view button:focus-visible{outline:3px solid #3182f6;outline-offset:4px}
.notification-nav{height:64px;display:flex;align-items:center;justify-content:space-between;margin:0 -10px}
body.customer-site .notification-nav-button{display:grid;place-items:center;width:44px;height:44px;background:transparent;color:#191f28;border-radius:50%}
.notification-back .ui-icon{transform:rotate(180deg);width:24px;height:24px}
body.customer-site .notification-nav-settings{min-height:44px;padding:10px;font-size:14px;font-weight:500;color:#6b7684;background:transparent}
.notification-title{font-size:26px;line-height:1.4;font-weight:750;letter-spacing:-.7px;margin:14px 0 8px}
.notification-subtitle{font-size:14px;color:#8b95a1;line-height:1.6;margin:0 0 27px;font-weight:400}
.notification-filters{display:flex;align-items:center;gap:6px;overflow:auto;scrollbar-width:none;margin:0 -4px 12px;padding:0 4px}
body.customer-site .notification-filter{flex:1;min-width:48px;min-height:42px;border-radius:12px;background:#fff;color:#8b95a1;font-size:14px;padding:10px 9px;font-weight:500;white-space:nowrap}
body.customer-site .notification-filter[aria-pressed=true]{color:#191f28;background:#f2f4f6;font-weight:700}
.notification-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0 18px;border-bottom:1px solid #f2f4f6}
body.customer-site .notification-text-button{min-height:44px;padding:8px 0 8px 8px;color:#8b95a1;background:transparent;font-size:12px;font-weight:500;white-space:nowrap}
body.customer-site .notification-text-button:disabled{background:transparent;color:#b0b8c1}
.notification-setting-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:78px}
.notification-setting-copy{display:flex;flex-direction:column;gap:7px;text-align:left;flex:1;min-width:0;font-size:15px;font-weight:500;line-height:1.5;color:#333d4b}
.notification-setting-copy small{font-size:13px;font-weight:400;line-height:1.55;color:#8b95a1}
.notification-setting-row.compact{min-height:44px;gap:10px}
.notification-setting-row.compact .notification-setting-copy{font-size:12px;font-weight:400;color:#6b7684}
body.customer-site .notification-switch{display:block;position:relative;flex:0 0 46px;width:46px;height:28px;padding:0;border:0;border-radius:18px;background:#d1d6db;cursor:pointer;transition:background .18s}
body.customer-site .notification-switch:before{content:"";position:absolute;inset:-8px -2px}
body.customer-site .notification-switch[aria-checked=true]{background:#1593f7}
.notification-switch-knob{position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000012;transition:transform .18s}
.notification-switch[aria-checked=true] .notification-switch-knob{transform:translateX(18px)}
.notification-setting-row.compact .notification-switch{flex-basis:38px;width:38px;height:24px}
.notification-setting-row.compact .notification-switch-knob{width:18px;height:18px}
.notification-setting-row.compact .notification-switch[aria-checked=true] .notification-switch-knob{transform:translateX(14px)}
.notification-day{font-size:12px;font-weight:600;color:#8b95a1;letter-spacing:0;margin:24px 0 2px}
body.customer-site .notification-row{display:flex;align-items:flex-start;gap:13px;width:100%;padding:22px 0;background:#fff;color:#333d4b;border:0;border-radius:0;text-align:left;font-weight:400}
.notification-row+.notification-row{border-top:1px solid #f5f6f8!important}
.notification-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:12px;background:#eef5ff;color:#3182f6;margin-top:2px}
.notification-icon .ui-icon{width:20px;height:20px}
.notification-icon.gift,.notification-category-icon.gift{background:#fff0f1;color:#f0657c}
.notification-icon.invite,.notification-category-icon.invite{background:#f4efff;color:#8b6be8}
.notification-icon.reservation,.notification-category-icon.reservation{background:#eaf8f4;color:#26a88b}
.notification-copy{display:grid;gap:5px;flex:1;min-width:0}
.notification-copy strong{font-size:15px;font-weight:500;line-height:1.55;color:#4e5968;letter-spacing:-.3px}
.notification-row.unread .notification-copy strong{font-weight:650;color:#191f28}
.notification-body{font-size:13px;line-height:1.65;color:#6b7684;overflow-wrap:anywhere}
.notification-meta{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.5;color:#b0b8c1;margin-top:4px}
.notification-meta time:before{content:"·";margin-right:8px}
.notification-unread-dot{flex:0 0 5px;width:5px;height:5px;margin-top:11px;border-radius:50%;background:#3182f6}
.notification-feedback{font-size:13px;color:#8b95a1;margin:16px 0;line-height:1.6}
.notification-feedback:empty{display:none}
body.customer-site .notification-more{display:block;width:100%;min-height:52px;background:#fff;color:#3182f6;font-size:13px;font-weight:500;padding:16px 8px;margin-top:12px}
.notification-empty{text-align:center;padding:66px 8px}
.notification-empty>.ui-icon{width:34px;height:34px;margin:0 auto 18px;color:#d1d6db}
.notification-empty h2{font-size:16px;color:#6b7684;font-weight:600;letter-spacing:-.3px}
.notification-empty p{font-size:13px;color:#b0b8c1;line-height:1.6;margin:8px 0}
.notification-settings-section{padding:9px 0 28px}
.notification-section-title{font-size:13px;font-weight:600;color:#6b7684;margin:12px 0 16px;letter-spacing:-.2px}
.notification-settings-categories{position:relative;padding-top:30px;margin-top:6px}
.notification-settings-categories:before{content:"";position:absolute;top:0;left:-24px;right:-24px;height:9px;background:#f2f4f6}
body.customer-site .notification-category-row{display:flex;align-items:center;gap:13px;width:100%;min-height:85px;padding:16px 0;background:#fff;font-weight:400;text-align:left}
.notification-category-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;background:#eef5ff;color:#3182f6;border-radius:10px}
.notification-category-icon .ui-icon{width:17px;height:17px}
.notification-category-arrow{font-size:23px;font-weight:300;color:#d1d6db}
.notification-login{text-align:center;padding:38px 4px 20px}
.notification-login-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 22px;border-radius:20px;background:#eef5ff;color:#3182f6}
.notification-login h2{font-size:20px;line-height:1.5;letter-spacing:-.5px;color:#333d4b}
.notification-login p{font-size:14px;line-height:1.8;color:#8b95a1;white-space:pre-line;margin:12px 0 25px}
.notification-login .kakao{width:100%;min-height:52px;border-radius:14px;font-size:14px}
.benefit-highlight{outline:2px solid #c6a550;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.notification-switch,.notification-switch-knob{transition:none}}
@media(max-width:359px){body.notification-view main{padding-inline:20px}.notification-setting-row.compact{gap:7px}.notification-setting-row.compact .notification-setting-copy{font-size:11px}.notification-settings-categories:before{left:-20px;right:-20px}}
