/* =========================================================
   KOPKEN v31.0.5 — Mobile-first UI Polish & Session Stability
   UI-only override. Existing pricing/order/member logic remains authoritative.
   ========================================================= */
:root{
  --v31-bg:#f7f5f2;
  --v31-card:#fff;
  --v31-card-soft:#fbfaf8;
  --v31-text:#211d1b;
  --v31-muted:#756c67;
  --v31-line:rgba(54,43,37,.10);
  --v31-accent:#a91e23;
  --v31-accent-2:#cf3d43;
  --v31-soft:rgba(169,30,35,.08);
  --v31-green:#16804a;
  --v31-shadow:0 12px 36px rgba(50,38,30,.07);
  --v31-border:var(--v31-line);
  --v31-appbar-h:64px;
}
html.dark{
  --v31-bg:#181412;
  --v31-card:#211c19;
  --v31-card-soft:#27211e;
  --v31-text:#f5eeea;
  --v31-muted:#b9aaa1;
  --v31-line:rgba(238,219,206,.10);
  --v31-accent:#e5666b;
  --v31-accent-2:#f0787d;
  --v31-soft:rgba(229,102,107,.11);
  --v31-green:#75c99a;
  --v31-shadow:0 18px 46px rgba(0,0,0,.22);
}
*{scrollbar-width:thin}
html{scroll-padding-top:118px}
body.kopken-v31{background:var(--v31-bg)!important;color:var(--v31-text)!important;font-family:'Poppins',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;padding-top:var(--v31-appbar-h)}
body.kopken-v31 .page-shell{width:min(1180px,100%);margin:0 auto;background:transparent!important}

/* Permanent app bar */
body.kopken-v31 #brandBurgerNav.brand-burger-nav{display:block!important;position:fixed!important;z-index:5200!important;top:0!important;left:0!important;right:0!important;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;background:color-mix(in srgb,var(--v31-card) 92%,transparent)!important;border-bottom:1px solid var(--v31-line)!important;box-shadow:0 6px 24px rgba(42,32,26,.045)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important}
body.kopken-v31 #brandBurgerNav .brand-burger-nav__bar{width:min(1180px,100%);min-height:64px;margin:0 auto;padding:8px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent!important}
body.kopken-v31 .brand-burger-nav__logo{display:flex;align-items:center;gap:10px;color:var(--v31-text)!important;text-decoration:none;font-weight:800;font-size:13px;letter-spacing:-.01em}
body.kopken-v31 .brand-burger-nav__logo img{width:38px;height:38px;padding:3px;border-radius:12px;background:#fff;object-fit:contain;box-shadow:0 3px 12px rgba(39,28,23,.08)}
body.kopken-v31 .brand-burger-nav__actions{display:flex;align-items:center;gap:7px}
body.kopken-v31 .brand-burger-nav__member{min-height:38px;max-width:180px;padding:0 12px!important;border:1px solid var(--v31-line)!important;border-radius:12px!important;background:var(--v31-card-soft)!important;color:var(--v31-text)!important;display:flex!important;align-items:center!important;gap:6px!important;font-family:inherit!important;box-shadow:none!important}
body.kopken-v31 .brand-burger-nav__member>span{color:var(--v31-accent);font-size:16px}
body.kopken-v31 .brand-burger-nav__member b{display:block;max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px!important;font-weight:800!important}
body.kopken-v31 .brand-burger-nav__toggle{width:40px!important;height:40px!important;border-radius:12px!important;border:1px solid var(--v31-line)!important;background:var(--v31-card)!important;display:grid!important;place-content:center!important;gap:4px!important;box-shadow:none!important}
body.kopken-v31 .brand-burger-nav__toggle span{width:17px!important;height:1.5px!important;border-radius:999px;background:var(--v31-text)!important}
body.kopken-v31 #brandBurgerNav .brand-burger-nav__dropdown{position:absolute!important;top:calc(100% + 7px)!important;right:max(12px,calc((100vw - min(1180px,100vw))/2 + 12px))!important;left:auto!important;width:min(340px,calc(100vw - 24px))!important;max-height:min(78dvh,640px);overflow:auto;padding:10px!important;border:1px solid var(--v31-line)!important;border-radius:18px!important;background:var(--v31-card)!important;color:var(--v31-text)!important;box-shadow:0 24px 70px rgba(33,24,20,.18)!important;transform:translateY(-7px) scale(.985)!important;transform-origin:top right;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:.16s ease!important}
body.kopken-v31 #brandBurgerNav.open .brand-burger-nav__dropdown{transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
body.kopken-v31 .brand-burger-nav__account{margin:2px 2px 10px;padding:12px 13px;border-radius:14px;background:linear-gradient(135deg,var(--v31-soft),var(--v31-card-soft));border:1px solid color-mix(in srgb,var(--v31-accent) 16%,var(--v31-line))}
body.kopken-v31 .brand-burger-nav__account-kicker{display:block;color:var(--v31-accent);font-size:8px;letter-spacing:.09em;font-weight:900}
body.kopken-v31 .brand-burger-nav__account strong{display:block;margin-top:4px;font-size:13px}
body.kopken-v31 .brand-burger-nav__account small{display:block;margin-top:2px;color:var(--v31-muted);font-size:9.5px}
body.kopken-v31 .brand-burger-nav__section{margin:11px 8px 5px!important;color:var(--v31-muted)!important;font-size:8.5px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase}
body.kopken-v31 .brand-burger-nav__item{display:flex!important;align-items:center!important;width:100%!important;min-height:42px!important;padding:0 11px!important;border:0!important;border-radius:11px!important;background:transparent!important;color:var(--v31-text)!important;text-decoration:none!important;font:inherit!important;font-size:10.5px!important;font-weight:650!important;cursor:pointer!important;text-align:left!important}
body.kopken-v31 .brand-burger-nav__item:hover{background:var(--v31-card-soft)!important}

/* Old header controls become redundant; catalog header is content only */
body.kopken-v31 #mainHeader{position:relative!important;top:auto!important;margin:0!important;padding:16px 14px 0!important;background:transparent!important;border:0!important;box-shadow:none!important}
body.kopken-v31 #mainHeader .header-top-row,
body.kopken-v31 #mainHeader .header-sub{display:none!important}

/* Outlet first */
body.kopken-v31 .selected-outlet-badge.v31-outlet-card,
body.kopken-v31 .selected-outlet-badge{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;margin:0 0 12px!important;padding:12px 13px!important;border:1px solid var(--v31-line)!important;border-radius:16px!important;background:var(--v31-card)!important;color:var(--v31-text)!important;box-shadow:0 3px 16px rgba(50,38,30,.035)!important}
body.kopken-v31 .selected-outlet-badge::before{content:'PICKUP DARI';grid-column:1/-1;margin-bottom:-6px;color:var(--v31-muted);font-size:8px;font-weight:900;letter-spacing:.09em}
body.kopken-v31 .selected-outlet-badge>span{min-width:0!important}
body.kopken-v31 .selected-outlet-badge>div>span{display:none!important}
body.kopken-v31 .selected-outlet-badge #selectedOutletMeta{display:none!important}
body.kopken-v31 .selected-outlet-badge #selectedOutletText{display:block!important;font-size:12px!important;line-height:1.35!important;font-weight:800!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.kopken-v31 .selected-outlet-badge #btnChangeOutlet{min-height:36px!important;padding:0 11px!important;border:0!important;border-radius:10px!important;background:var(--v31-soft)!important;color:var(--v31-accent)!important;font:inherit!important;font-size:9.5px!important;font-weight:850!important;cursor:pointer!important}

/* Hero slider */
body.kopken-v31 .promo-slider{margin:0 0 13px!important;border:1px solid var(--v31-line)!important;border-radius:20px!important;background:var(--v31-card)!important;overflow:hidden!important;box-shadow:var(--v31-shadow)!important}
body.kopken-v31 .promo-slider__viewport{border:0!important;border-radius:0!important}
body.kopken-v31 .promo-slider__footer{min-height:31px!important;padding:2px 10px 7px!important}
body.kopken-v31 .promo-slider__status{font-size:8.5px!important;color:var(--v31-muted)!important}
body.kopken-v31 .promo-slider__nav{width:32px!important;height:32px!important;border-radius:50%!important;background:color-mix(in srgb,var(--v31-card) 88%,transparent)!important;color:var(--v31-text)!important;border:1px solid var(--v31-line)!important;box-shadow:0 4px 16px rgba(0,0,0,.08)!important;font-size:20px!important}

/* Search */
body.kopken-v31 .search-row{margin:0 0 10px!important}
body.kopken-v31 #search.search{width:100%!important;height:48px!important;padding:0 42px 0 42px!important;border:1px solid var(--v31-line)!important;border-radius:15px!important;background-color:var(--v31-card)!important;color:var(--v31-text)!important;font-family:'Poppins',system-ui,sans-serif!important;font-size:12px!important;font-weight:500!important;box-shadow:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23756c67' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:14px center!important}
html.dark body.kopken-v31 #search.search{background-color:var(--v31-card)!important}
body.kopken-v31 #search.search::placeholder{color:#9b938e!important;font-size:11px!important}

/* Quick actions */
body.kopken-v31 .growth-program-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:0 0 13px!important}
body.kopken-v31 .growth-program-card{position:relative!important;display:flex!important;min-width:0!important;min-height:105px!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;padding:12px!important;border:1px solid var(--v31-line)!important;border-radius:16px!important;background:var(--v31-card)!important;color:var(--v31-text)!important;text-align:left!important;text-decoration:none!important;font-family:inherit!important;cursor:pointer!important;box-shadow:none!important;overflow:hidden!important}
body.kopken-v31 button.growth-program-card{-webkit-appearance:none;appearance:none}
body.kopken-v31 .growth-program-card::after{content:'';position:absolute;width:74px;height:74px;right:-30px;bottom:-31px;border-radius:50%;background:var(--v31-soft)}
body.kopken-v31 .growth-program-card__badge{display:inline-flex!important;padding:3px 6px!important;border-radius:999px!important;background:var(--v31-soft)!important;color:var(--v31-accent)!important;font-size:7.5px!important;font-weight:900!important;letter-spacing:.07em!important}
body.kopken-v31 .growth-program-card strong{display:block!important;margin-top:8px!important;font-size:11.5px!important;line-height:1.3!important}
body.kopken-v31 .growth-program-card small{display:block!important;margin-top:2px!important;color:var(--v31-muted)!important;font-size:8.7px!important;line-height:1.45!important}
body.kopken-v31 .growth-program-card__cta{display:flex!important;align-items:center!important;gap:4px!important;margin-top:auto!important;padding-top:8px!important;color:var(--v31-accent)!important;font-size:8.8px!important;font-weight:850!important}
body.kopken-v31 .growth-program-card--corporate{background:linear-gradient(145deg,color-mix(in srgb,var(--v31-accent) 5%,var(--v31-card)),var(--v31-card))!important}
body.kopken-v31 .growth-program-card--voucher{background:linear-gradient(145deg,color-mix(in srgb,#169b55 6%,var(--v31-card)),var(--v31-card))!important}
body.kopken-v31 .growth-program-card--voucher .growth-program-card__badge,
body.kopken-v31 .growth-program-card--voucher .growth-program-card__cta{color:#16804a!important;background:rgba(22,128,74,.08)!important}
body.kopken-v31 .growth-program-card--voucher .growth-program-card__cta{background:transparent!important}
html.dark body.kopken-v31 .growth-program-card--voucher .growth-program-card__badge,
html.dark body.kopken-v31 .growth-program-card--voucher .growth-program-card__cta{color:#7ed6a4!important}

/* Sticky category navigation */
body.kopken-v31 #chips.chips{display:flex!important;gap:7px!important;margin:0 -14px!important;padding:8px 14px 10px!important;overflow-x:auto!important;scrollbar-width:none!important;background:color-mix(in srgb,var(--v31-bg) 94%,transparent)!important;border-top:0!important;border-bottom:1px solid transparent!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}
body.kopken-v31 #chips.chips::-webkit-scrollbar{display:none}
body.kopken-v31 #chips.chips.is-sticky{position:fixed!important;top:var(--v31-appbar-h)!important;left:var(--chips-fixed-left)!important;transform:translateX(-50%)!important;width:min(var(--chips-fixed-width),1180px)!important;z-index:5000!important;margin:0!important;padding:8px 14px!important;border-bottom-color:var(--v31-line)!important;box-shadow:0 7px 18px rgba(39,30,25,.045)!important}
body.kopken-v31 .chip{flex:0 0 auto!important;min-height:34px!important;padding:0 12px!important;border:1px solid var(--v31-line)!important;border-radius:999px!important;background:var(--v31-card)!important;color:var(--v31-muted)!important;font:inherit!important;font-size:9.5px!important;font-weight:750!important;box-shadow:none!important}
body.kopken-v31 .chip.is-active{background:var(--v31-text)!important;color:var(--v31-card)!important;border-color:var(--v31-text)!important}
html.dark body.kopken-v31 .chip.is-active{background:#f1e7e0!important;color:#211c19!important;border-color:#f1e7e0!important}

/* Catalog */
body.kopken-v31 .container.gf-main{width:100%!important;max-width:none!important;margin:0!important;padding:7px 14px 96px!important}
body.kopken-v31 .catalog{background:transparent!important}
body.kopken-v31 .category-block{margin:17px 0 25px!important}
body.kopken-v31 .category-title{margin:0 0 10px!important;color:var(--v31-text)!important;font-size:16px!important;font-weight:850!important;letter-spacing:-.025em!important}
body.kopken-v31 .category-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
body.kopken-v31 .product-card{min-width:0!important;border:1px solid var(--v31-line)!important;border-radius:17px!important;background:var(--v31-card)!important;color:var(--v31-text)!important;box-shadow:none!important;overflow:hidden!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important}
body.kopken-v31 .product-card:active{transform:scale(.992)}
body.kopken-v31 .product-image{aspect-ratio:1.12/1!important;height:auto!important;min-height:0!important;background:var(--v31-card-soft)!important;border-radius:0!important;overflow:hidden!important}
body.kopken-v31 .product-image img{width:100%!important;height:100%!important;object-fit:cover!important}
body.kopken-v31 .product-body{padding:10px!important}
body.kopken-v31 .product-name{min-height:2.75em!important;color:var(--v31-text)!important;font-size:11px!important;line-height:1.38!important;font-weight:750!important;letter-spacing:-.01em!important}
body.kopken-v31 .product-price-row{display:grid!important;grid-template-columns:auto 1fr!important;align-items:end!important;column-gap:6px!important;row-gap:2px!important;min-height:42px!important;margin-top:8px!important}
body.kopken-v31 .product-price-old{grid-column:1/-1;color:#9c938e!important;font-size:8.5px!important;text-decoration-thickness:1px!important}
body.kopken-v31 .product-price{color:var(--v31-accent)!important;font-size:13px!important;font-weight:900!important;white-space:nowrap!important}
body.kopken-v31 .product-saving-badge{justify-self:end!important;padding:3px 5px!important;border-radius:7px!important;background:var(--v31-soft)!important;color:var(--v31-accent)!important;font-size:7.5px!important;font-weight:900!important;white-space:nowrap!important}
body.kopken-v31 .product-footer{min-height:37px!important;margin-top:7px!important}
body.kopken-v31 .product-card:not(.is-bundle) .btn-plus:not(:disabled){width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important;max-height:36px!important;border-radius:11px!important;background:var(--v31-text)!important;color:var(--v31-card)!important;border:0!important;font-size:21px!important;box-shadow:none!important}
body.kopken-v31 .product-card.is-bundle .btn-plus{min-height:36px!important;padding:0 11px!important;border:0!important;border-radius:10px!important;background:var(--v31-accent)!important;color:#fff!important;font:inherit!important;font-size:8.8px!important;font-weight:850!important}
body.kopken-v31 .bundle-tags{gap:4px!important;margin-bottom:6px!important}
body.kopken-v31 .bundle-tags span{padding:3px 6px!important;border-radius:999px!important;background:var(--v31-soft)!important;color:var(--v31-accent)!important;font-size:7px!important;font-weight:850!important}
body.kopken-v31 .bundle-desc{color:var(--v31-muted)!important;font-size:8.3px!important;line-height:1.45!important}
body.kopken-v31 .bundle-save{margin-top:4px!important;color:var(--v31-green)!important;font-size:7.8px!important;font-weight:750!important}

/* Product detail becomes mobile bottom sheet */
body.kopken-v31 #detailModal.gf-modal{align-items:flex-end!important;justify-content:center!important;padding:0!important}
body.kopken-v31 #detailModal .gf-modal__overlay{background:rgba(28,22,19,.56)!important;backdrop-filter:blur(3px)!important}
body.kopken-v31 #detailModal .gf-modal__card{position:relative!important;width:min(720px,100%)!important;max-height:92dvh!important;margin:0!important;border:1px solid var(--v31-line)!important;border-bottom:0!important;border-radius:24px 24px 0 0!important;background:var(--v31-card)!important;color:var(--v31-text)!important;box-shadow:0 -18px 60px rgba(29,21,17,.20)!important;overflow:hidden!important}
body.kopken-v31 #detailModal .gf-modal__card::before{content:'';position:absolute;z-index:4;top:7px;left:50%;width:42px;height:4px;transform:translateX(-50%);border-radius:999px;background:rgba(117,108,103,.24)}
body.kopken-v31 .detail-header{position:sticky!important;top:0!important;z-index:3!important;min-height:60px!important;padding:16px 16px 10px!important;background:color-mix(in srgb,var(--v31-card) 94%,transparent)!important;border-bottom:1px solid var(--v31-line)!important;backdrop-filter:blur(12px)!important}
body.kopken-v31 .detail-title-wrap strong{font-size:12px!important}
body.kopken-v31 .detail-title-wrap span{font-size:8.5px!important;color:var(--v31-muted)!important}
body.kopken-v31 .detail-x{width:35px!important;height:35px!important;border:1px solid var(--v31-line)!important;border-radius:50%!important;background:var(--v31-card-soft)!important;color:var(--v31-text)!important}
body.kopken-v31 .gf-modal__body{padding:0 0 max(18px,env(safe-area-inset-bottom))!important}
body.kopken-v31 .detail-card{border:0!important;border-radius:0!important;background:var(--v31-card)!important;box-shadow:none!important}
body.kopken-v31 .detail-hero{padding:13px 15px 4px!important}
body.kopken-v31 .detail-hero .imgwrap{border-radius:18px!important;background:var(--v31-card-soft)!important;overflow:hidden!important}
body.kopken-v31 .detail-name{margin-top:11px!important;font-size:18px!important;font-weight:850!important;letter-spacing:-.025em!important}
body.kopken-v31 .detail-desc{font-size:10px!important;line-height:1.55!important;color:var(--v31-muted)!important}
body.kopken-v31 .detail-price{display:flex!important;align-items:baseline!important;gap:7px!important;flex-wrap:wrap!important;margin-top:9px!important}
body.kopken-v31 .detail-normal-label{width:100%!important;color:var(--v31-muted)!important;font-size:8px!important;font-weight:700!important}
body.kopken-v31 .detail-price .old{font-size:9.5px!important;color:#988e88!important}
body.kopken-v31 .detail-price .now{font-size:18px!important;color:var(--v31-accent)!important;font-weight:900!important}
body.kopken-v31 .opt-section{padding:8px 15px!important}
body.kopken-v31 .opt-head{margin-top:10px!important}
body.kopken-v31 .opt-head strong{font-size:10.5px!important}
body.kopken-v31 .opt-head span{font-size:8px!important;color:var(--v31-muted)!important}
body.kopken-v31 .pill{min-height:36px!important;border:1px solid var(--v31-line)!important;border-radius:10px!important;background:var(--v31-card-soft)!important;color:var(--v31-text)!important;font-size:9px!important}
body.kopken-v31 .pill.is-active{background:var(--v31-text)!important;color:var(--v31-card)!important;border-color:var(--v31-text)!important}
body.kopken-v31 .detail-qty-row{padding:3px 15px 9px!important;margin:8px 0!important}
body.kopken-v31 .detail-bottom{position:sticky!important;bottom:0!important;z-index:2!important;padding:10px 15px max(12px,env(safe-area-inset-bottom))!important;background:color-mix(in srgb,var(--v31-card) 95%,transparent)!important;border-top:1px solid var(--v31-line)!important;backdrop-filter:blur(12px)!important}
body.kopken-v31 .detail-cta{min-height:49px!important;border-radius:14px!important;background:var(--v31-accent)!important;color:#fff!important;font-size:11px!important;font-weight:850!important;box-shadow:0 8px 22px color-mix(in srgb,var(--v31-accent) 22%,transparent)!important}

/* Cart screen */
body.kopken-v31 #screenSummary{max-width:760px!important;margin:0 auto!important;padding-top:7px!important}
body.kopken-v31 .cart-header{position:sticky!important;top:var(--v31-appbar-h)!important;z-index:50!important;display:flex!important;align-items:center!important;gap:10px!important;margin:0 -14px 10px!important;padding:10px 14px!important;background:color-mix(in srgb,var(--v31-bg) 94%,transparent)!important;border-bottom:1px solid var(--v31-line)!important;backdrop-filter:blur(14px)!important}
body.kopken-v31 .cart-back{width:38px!important;height:38px!important;border:1px solid var(--v31-line)!important;border-radius:12px!important;background:var(--v31-card)!important;color:var(--v31-text)!important}
body.kopken-v31 .cart-header-title strong{font-size:13px!important}
body.kopken-v31 .cart-header-title span{font-size:8.5px!important;color:var(--v31-muted)!important}
body.kopken-v31 .cart{border:0!important;background:transparent!important;box-shadow:none!important}
body.kopken-v31 .cart-section{margin-bottom:10px!important;padding:13px!important;border:1px solid var(--v31-line)!important;border-radius:18px!important;background:var(--v31-card)!important;color:var(--v31-text)!important;box-shadow:none!important}
body.kopken-v31 .cart-title-label{font-size:11px!important;font-weight:850!important}
body.kopken-v31 .cart-item-row{display:grid!important;grid-template-columns:54px minmax(0,1fr) auto!important;gap:10px!important;padding:11px 0!important;border-bottom:1px solid var(--v31-line)!important}
body.kopken-v31 .cart-thumb{width:54px!important;height:54px!important;border-radius:13px!important;overflow:hidden!important;background:var(--v31-card-soft)!important}
body.kopken-v31 .cart-item-main .name{font-size:10.5px!important;font-weight:800!important}
body.kopken-v31 .cart-chip{font-size:7.5px!important;padding:2px 5px!important;background:var(--v31-card-soft)!important;border:1px solid var(--v31-line)!important}
body.kopken-v31 .cart-price-anchor{margin-top:5px!important;font-size:8px!important}
body.kopken-v31 .cart-saving-badge{display:inline-flex!important;margin-top:3px!important;padding:2px 5px!important;border-radius:6px!important;background:var(--v31-soft)!important;color:var(--v31-accent)!important;font-size:7px!important;font-weight:850!important}
body.kopken-v31 .cart-item-price{font-size:10px!important;font-weight:850!important;white-space:nowrap!important}
body.kopken-v31 .qty-pill{border:1px solid var(--v31-line)!important;border-radius:10px!important;background:var(--v31-card-soft)!important;overflow:hidden!important}
body.kopken-v31 .qty-pill button{background:transparent!important;color:var(--v31-text)!important}
body.kopken-v31 #cartTotalPcs{margin-top:9px!important;color:var(--v31-muted)!important;font-size:8.8px!important}

/* Split bill trigger */
.v31-cart-tools{margin-top:10px}
.v31-splitbill-trigger{width:100%;min-height:54px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--v31-accent) 14%,var(--v31-line));border-radius:14px;background:linear-gradient(135deg,var(--v31-soft),var(--v31-card-soft));color:var(--v31-text);font:inherit;text-align:left;cursor:pointer}
.v31-splitbill-trigger__icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--v31-card);color:var(--v31-accent);font-size:19px;font-weight:700;border:1px solid var(--v31-line)}
.v31-splitbill-trigger strong{display:block;font-size:10.5px}.v31-splitbill-trigger small{display:block;margin-top:2px;color:var(--v31-muted);font-size:8px}.v31-splitbill-trigger>b{color:var(--v31-accent);font-size:16px}

/* Corporate */
body.kopken-v31 .corporate-progress-card{margin:0 0 10px!important;padding:13px!important;border:1px solid var(--v31-line)!important;border-radius:17px!important;background:var(--v31-card)!important;box-shadow:none!important}
body.kopken-v31 .corporate-progress-kicker{font-size:7.5px!important;color:var(--v31-accent)!important}
body.kopken-v31 .corporate-progress-card strong{font-size:10.5px!important}
body.kopken-v31 .corporate-progress-card p{font-size:8.5px!important;color:var(--v31-muted)!important}

/* Summary */
body.kopken-v31 .summary-card{padding:14px!important;border:1px solid var(--v31-line)!important;border-radius:18px!important;background:var(--v31-card)!important;color:var(--v31-text)!important;box-shadow:none!important}
body.kopken-v31 .summary-card h4{margin:0 0 12px!important;font-size:12px!important;font-weight:850!important}
body.kopken-v31 .summary-row{min-height:27px!important;padding:3px 0!important;color:var(--v31-muted)!important;font-size:9.2px!important}
body.kopken-v31 .summary-row strong{color:var(--v31-text)!important}
body.kopken-v31 .summary-discount{color:var(--v31-green)!important}
body.kopken-v31 .summary-total{margin-top:7px!important;padding-top:12px!important;border-top:1px dashed var(--v31-line)!important;color:var(--v31-text)!important;font-size:11.5px!important}
body.kopken-v31 .summary-total span:last-child{color:var(--v31-accent)!important;font-size:16px!important;font-weight:900!important}
body.kopken-v31 .summary-saving{margin:10px 0 0!important;padding:11px!important;border:1px solid color-mix(in srgb,var(--v31-green) 18%,var(--v31-line))!important;border-radius:13px!important;background:color-mix(in srgb,var(--v31-green) 7%,var(--v31-card))!important}
body.kopken-v31 .saving-kicker{font-size:7px!important}.saving-copy strong{font-size:10px!important}.saving-copy small{font-size:8px!important}

/* Loyalty contextual card */
.v31-loyalty-check{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;margin-top:11px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--v31-accent) 14%,var(--v31-line));border-radius:13px;background:var(--v31-soft);color:var(--v31-text)}
.v31-loyalty-check strong{display:block;font-size:9.5px}.v31-loyalty-check span{display:block;grid-column:1;color:var(--v31-muted);font-size:8px;line-height:1.45}.v31-loyalty-check button{grid-column:2;grid-row:1/3;min-height:32px;padding:0 9px;border:0;border-radius:9px;background:var(--v31-accent);color:#fff;font:inherit;font-size:8px;font-weight:850;cursor:pointer}
.v31-loyalty-check.is-eligible{border-color:color-mix(in srgb,var(--v31-green) 22%,var(--v31-line));background:color-mix(in srgb,var(--v31-green) 7%,var(--v31-card))}.v31-loyalty-check.is-eligible strong{color:var(--v31-green)}.v31-loyalty-check.is-muted{background:var(--v31-card-soft)}

/* Voucher */
body.kopken-v31 .voucher-redeem-card{margin-top:10px!important;border:1px solid var(--v31-line)!important;border-radius:14px!important;background:var(--v31-card-soft)!important;overflow:hidden!important}
body.kopken-v31 .voucher-redeem-toggle{padding:10px 11px!important;background:transparent!important;color:var(--v31-text)!important}
body.kopken-v31 .voucher-redeem-toggle strong{font-size:9.5px!important}.voucher-redeem-toggle small{font-size:7.8px!important;color:var(--v31-muted)!important}
body.kopken-v31 .voucher-redeem-panel{padding:0 11px 11px!important}
body.kopken-v31 .voucher-redeem-form input{height:40px!important;border:1px solid var(--v31-line)!important;border-radius:10px!important;background:var(--v31-card)!important;color:var(--v31-text)!important;font-family:inherit!important;font-size:11px!important}
body.kopken-v31 .voucher-redeem-form button{height:40px!important;border-radius:10px!important;background:var(--v31-text)!important;color:var(--v31-card)!important;font-size:9px!important}
body.kopken-v31 .voucher-status{font-size:8.5px!important}

/* Buyer form */
body.kopken-v31 #buyerForm.form{margin-top:13px!important;padding-top:12px!important;border-top:1px solid var(--v31-line)!important}
body.kopken-v31 #buyerForm input,
body.kopken-v31 #buyerForm textarea,
body.kopken-v31 #buyerForm select{width:100%!important;border:1px solid var(--v31-line)!important;border-radius:12px!important;background:var(--v31-card-soft)!important;color:var(--v31-text)!important;font-family:inherit!important;font-size:11px!important;box-shadow:none!important}
body.kopken-v31 #buyerForm input{height:44px!important}
body.kopken-v31 #buyerForm textarea{min-height:78px!important;padding:11px!important}
body.kopken-v31 #buyerForm .hint{color:var(--v31-muted)!important;font-size:8px!important;line-height:1.5!important}
body.kopken-v31 #buyerForm .btn-primary{width:100%!important;min-height:50px!important;border-radius:14px!important;background:var(--v31-accent)!important;color:#fff!important;font-size:10.5px!important;font-weight:900!important;box-shadow:0 8px 22px color-mix(in srgb,var(--v31-accent) 20%,transparent)!important}
body.kopken-v31 .pickup-schedule{border:1px solid var(--v31-line)!important;border-radius:13px!important;background:var(--v31-card-soft)!important}

/* Floating cart */
body.kopken-v31 #fabCart.fab-cart{left:50%!important;right:auto!important;bottom:max(12px,env(safe-area-inset-bottom))!important;width:min(720px,calc(100% - 24px))!important;min-height:58px!important;transform:translateX(-50%)!important;padding:7px 9px 7px 13px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:17px!important;background:#211d1b!important;color:#fff!important;box-shadow:0 16px 42px rgba(35,25,21,.28)!important}
body.kopken-v31 #fabCart.is-empty{opacity:0!important;pointer-events:none!important;transform:translate(-50%,18px)!important}
body.kopken-v31 #fabCart .fab-line1{font-size:9px!important;font-weight:800!important}.fab-line2{font-size:7.5px!important;opacity:.72!important}.fab-total{font-size:11px!important;font-weight:900!important}
body.kopken-v31 #fabCart.is-summary .fab-right{display:none!important}

/* Member / Loyalty as account sheet */
body.kopken-v31 .member-auth-modal{align-items:flex-end!important;justify-content:center!important;padding:0!important}
body.kopken-v31 .member-auth-overlay{background:rgba(28,22,19,.58)!important;backdrop-filter:blur(4px)!important}
body.kopken-v31 .member-auth-v43 .member-auth-card{width:min(520px,100%)!important;max-height:92dvh!important;margin:0!important;padding:22px 17px max(18px,env(safe-area-inset-bottom))!important;border:1px solid var(--v31-line)!important;border-bottom:0!important;border-radius:24px 24px 0 0!important;background:var(--v31-card)!important;color:var(--v31-text)!important;box-shadow:0 -22px 64px rgba(29,21,17,.24)!important}
body.kopken-v31 .member-auth-v43 .member-auth-card::before{content:'';position:absolute;top:7px;left:50%;width:42px;height:4px;border-radius:999px;background:rgba(117,108,103,.24);transform:translateX(-50%)}
body.kopken-v31 .member-auth-close{top:14px!important;right:13px!important;background:var(--v31-card-soft)!important;border:1px solid var(--v31-line)!important;color:var(--v31-text)!important}
body.kopken-v31 .member-auth-kicker{background:var(--v31-soft)!important;color:var(--v31-accent)!important}
body.kopken-v31 .member-auth-card h3{font-size:20px!important;letter-spacing:-.025em!important}.member-auth-card p{color:var(--v31-muted)!important}
body.kopken-v31 .member-auth-tabs{background:var(--v31-card-soft)!important;border:1px solid var(--v31-line)!important}
body.kopken-v31 .member-auth-tabs button.is-active{background:var(--v31-card)!important;color:var(--v31-text)!important;box-shadow:0 2px 8px rgba(38,29,24,.06)!important}
body.kopken-v31 .member-auth-v43 .member-auth-field input{background:var(--v31-card-soft)!important;color:var(--v31-text)!important;border-color:var(--v31-line)!important}
body.kopken-v31 .member-auth-submit{background:var(--v31-accent)!important;color:#fff!important}
body.kopken-v31 .member-auth-guest-note{background:var(--v31-card-soft)!important;color:var(--v31-muted)!important;border:1px solid var(--v31-line)!important}
body.kopken-v31 .member-account-actions button,
body.kopken-v31 .member-history-item{background:var(--v31-card-soft)!important;border-color:var(--v31-line)!important;color:var(--v31-text)!important}

/* Split Bill sheet */
html.v31-sheet-open,html.v31-sheet-open body{overflow:hidden!important}
.v31-sheet{position:fixed;inset:0;z-index:6800;display:none;align-items:flex-end;justify-content:center}.v31-sheet.is-open{display:flex}.v31-sheet__overlay{position:absolute;inset:0;background:rgba(28,22,19,.60);backdrop-filter:blur(4px)}
.v31-sheet__panel{position:relative;width:min(680px,100%);max-height:94dvh;display:flex;flex-direction:column;border:1px solid var(--v31-line);border-bottom:0;border-radius:24px 24px 0 0;background:var(--v31-card);color:var(--v31-text);box-shadow:0 -24px 70px rgba(28,20,16,.25);overflow:hidden}
.v31-sheet__handle{position:absolute;z-index:4;top:7px;left:50%;width:42px;height:4px;border-radius:999px;background:rgba(117,108,103,.25);transform:translateX(-50%)}
.v31-sheet__header{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 16px 12px;border-bottom:1px solid var(--v31-line)}.v31-sheet__header h3{margin:4px 0 2px;font-size:19px;letter-spacing:-.025em}.v31-sheet__header p{margin:0;color:var(--v31-muted);font-size:8.8px;line-height:1.5}.v31-kicker{color:var(--v31-accent);font-size:7.5px;font-weight:900;letter-spacing:.08em}.v31-sheet__close{flex:none;width:35px;height:35px;border:1px solid var(--v31-line);border-radius:50%;background:var(--v31-card-soft);color:var(--v31-text);font:inherit;font-size:19px;cursor:pointer}
.v31-sheet__body{padding:12px 13px max(20px,env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain}
.v31-split-section{margin-bottom:10px;padding:12px;border:1px solid var(--v31-line);border-radius:15px;background:var(--v31-card-soft)}.v31-split-section__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.v31-split-section__head strong{display:block;font-size:10.5px}.v31-split-section__head span{display:block;margin-top:2px;color:var(--v31-muted);font-size:7.8px;line-height:1.45}.v31-split-section__head button{flex:none;min-height:31px;padding:0 9px;border:0;border-radius:9px;background:var(--v31-text);color:var(--v31-card);font:inherit;font-size:7.8px;font-weight:850;cursor:pointer}
.v31-people-list{display:grid;gap:6px;margin-top:10px}.v31-person-row{display:grid;grid-template-columns:26px minmax(0,1fr) 30px;align-items:center;gap:7px}.v31-person-row>span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--v31-soft);color:var(--v31-accent);font-size:8px;font-weight:900}.v31-person-row input{width:100%;height:37px;padding:0 9px;border:1px solid var(--v31-line);border-radius:10px;background:var(--v31-card);color:var(--v31-text);font:inherit;font-size:9.5px}.v31-person-row button{width:30px;height:30px;border:0;border-radius:9px;background:transparent;color:#b6484d;font:inherit;font-size:16px;cursor:pointer}.v31-person-row:first-child{grid-template-columns:26px minmax(0,1fr)}.v31-person-row:first-child button{display:none}
.v31-assign-list{display:grid;gap:6px;margin-top:10px}.v31-assign-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--v31-line)}.v31-assign-row:last-child{border-bottom:0}.v31-assign-copy strong{display:block;font-size:9.3px}.v31-assign-copy span{display:block;margin-top:2px;color:var(--v31-muted);font-size:7.4px;line-height:1.4}.v31-assign-side{display:flex;align-items:flex-end;flex-direction:column;gap:4px}.v31-assign-side b{font-size:9px;color:var(--v31-accent)}.v31-assign-side select,.v31-shared-options select{height:32px;max-width:145px;padding:0 26px 0 8px;border:1px solid var(--v31-line);border-radius:9px;background:var(--v31-card);color:var(--v31-text);font:inherit;font-size:8px}
.v31-shared-options{display:grid;gap:7px;margin-top:9px}.v31-shared-options label{display:flex;align-items:center;gap:7px;color:var(--v31-text);font-size:8.5px}.v31-shared-options input{accent-color:var(--v31-accent)}.v31-shared-options select{max-width:none;width:100%}.v31-shared-options select:disabled{opacity:.5}
.v31-result-list{display:grid;gap:7px;margin-top:10px}.v31-result-card{padding:10px;border:1px solid var(--v31-line);border-radius:12px;background:var(--v31-card)}.v31-result-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:7px;border-bottom:1px solid var(--v31-line)}.v31-result-card__head strong{font-size:10px}.v31-result-card__head b{font-size:10.5px;color:var(--v31-accent)}.v31-result-items{display:grid;gap:5px;margin-top:7px}.v31-result-items>div{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;color:var(--v31-muted);font-size:8px}.v31-result-items>div b{flex:none;color:var(--v31-text);font-size:8px}.v31-result-items .is-shared{padding-top:5px;border-top:1px dashed var(--v31-line);color:var(--v31-accent)}
.v31-split-total{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;margin-top:10px;padding:10px 11px;border-radius:12px;background:#211d1b;color:#fff}.v31-split-total span{font-size:8px}.v31-split-total strong{font-size:12px}.v31-split-total small{grid-column:1/-1;color:rgba(255,255,255,.68);font-size:7px}.v31-split-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.v31-split-actions button{min-height:40px;border:0;border-radius:11px;background:var(--v31-accent);color:#fff;font:inherit;font-size:8.5px;font-weight:850;cursor:pointer}.v31-split-actions button.is-ghost{border:1px solid var(--v31-line);background:var(--v31-card);color:var(--v31-text)}.v31-split-note{margin:8px 3px 2px;color:var(--v31-muted);font-size:7.4px;line-height:1.55;text-align:center}.v31-split-empty{display:flex;min-height:180px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.v31-split-empty strong{font-size:12px}.v31-split-empty span{margin-top:4px;color:var(--v31-muted);font-size:9px}

/* Toast */
.v31-toast{position:fixed;z-index:7600;top:calc(var(--v31-appbar-h) + 10px);left:50%;width:max-content;max-width:calc(100% - 28px);padding:9px 12px;border:1px solid rgba(22,128,74,.18);border-radius:12px;background:#173f2b;color:#fff;font-size:9.5px;font-weight:750;line-height:1.4;box-shadow:0 12px 34px rgba(24,31,27,.18);transform:translate(-50%,-16px);opacity:0;visibility:hidden;transition:.18s ease}.v31-toast.is-show{transform:translate(-50%,0);opacity:1;visibility:visible}.v31-toast[data-tone="info"]{background:#292420;border-color:rgba(255,255,255,.08)}.v31-toast[data-tone="error"]{background:#7f1d1d}

/* Checkout feedback */
.v31-checkout-overlay{position:fixed;z-index:7400;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(28,22,19,.50);backdrop-filter:blur(4px);opacity:0;visibility:hidden;pointer-events:none;transition:.15s ease}.v31-checkout-overlay.is-show{opacity:1;visibility:visible;pointer-events:auto}.v31-checkout-card{width:min(310px,100%);padding:20px;border:1px solid var(--v31-line);border-radius:19px;background:var(--v31-card);color:var(--v31-text);text-align:center;box-shadow:0 24px 70px rgba(28,20,16,.24)}.v31-checkout-card strong{display:block;margin-top:10px;font-size:12px}.v31-checkout-card small{display:block;margin-top:3px;color:var(--v31-muted);font-size:8.5px}.v31-loader{display:block;width:28px;height:28px;margin:auto;border:3px solid var(--v31-line);border-top-color:var(--v31-accent);border-radius:50%;animation:v31spin .7s linear infinite}@keyframes v31spin{to{transform:rotate(360deg)}}

/* Misc cleanup */
body.kopken-v31 .footer{padding:26px 14px 92px!important;color:var(--v31-muted)!important;font-size:8.5px!important}
body.kopken-v31 .notice-info-card,
body.kopken-v31 .tut-card,
body.kopken-v31 .sgp-modal__card{border-radius:20px!important;background:var(--v31-card)!important;color:var(--v31-text)!important;border-color:var(--v31-line)!important}

@media (min-width:640px){
  :root{--v31-appbar-h:68px}
  body.kopken-v31 #brandBurgerNav .brand-burger-nav__bar{padding-left:20px;padding-right:20px}
  body.kopken-v31 #mainHeader{padding-left:20px!important;padding-right:20px!important}
  body.kopken-v31 .container.gf-main{padding-left:20px!important;padding-right:20px!important}
  body.kopken-v31 .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
  body.kopken-v31 .product-body{padding:12px!important}
  body.kopken-v31 .product-name{font-size:11.5px!important}
  .v31-sheet{align-items:center;padding:22px}.v31-sheet__panel{border-bottom:1px solid var(--v31-line);border-radius:24px;max-height:90dvh}
  body.kopken-v31 .member-auth-modal{align-items:center!important;padding:22px!important}
  body.kopken-v31 .member-auth-v43 .member-auth-card{border-bottom:1px solid var(--v31-line)!important;border-radius:24px!important}
  body.kopken-v31 #detailModal.gf-modal{align-items:center!important;padding:22px!important}
  body.kopken-v31 #detailModal .gf-modal__card{border-bottom:1px solid var(--v31-line)!important;border-radius:24px!important;max-height:88dvh!important}
}

@media (min-width:1024px){
  body.kopken-v31 #mainHeader{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);column-gap:18px!important;align-items:start!important;padding-top:22px!important}
  body.kopken-v31 #mainHeader .selected-outlet-badge{grid-column:1!important;grid-row:1!important}
  body.kopken-v31 #mainHeader .promo-slider{grid-column:1!important;grid-row:2 / span 3!important;margin-bottom:0!important}
  body.kopken-v31 #mainHeader .search-row{grid-column:2!important;grid-row:1!important;margin-top:0!important}
  body.kopken-v31 #mainHeader .growth-program-grid{grid-column:2!important;grid-row:2!important}
  body.kopken-v31 #mainHeader #chips{grid-column:1/-1!important;grid-row:5!important;margin-top:14px!important}
  body.kopken-v31 .category-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:13px!important}
  body.kopken-v31 .product-image{aspect-ratio:1.18/1!important}
  body.kopken-v31 #screenSummary{max-width:820px!important}
}

@media (max-width:420px){
  body.kopken-v31 #brandBurgerNav .brand-burger-nav__bar{padding-left:11px;padding-right:11px}
  body.kopken-v31 .brand-burger-nav__logo span{display:none}
  body.kopken-v31 .brand-burger-nav__member{max-width:155px!important;padding:0 9px!important}
  body.kopken-v31 .brand-burger-nav__member b{max-width:115px}
  body.kopken-v31 #mainHeader{padding-left:10px!important;padding-right:10px!important}
  body.kopken-v31 .container.gf-main{padding-left:10px!important;padding-right:10px!important}
  body.kopken-v31 #chips.chips{margin-left:-10px!important;margin-right:-10px!important;padding-left:10px!important;padding-right:10px!important}
  body.kopken-v31 .category-grid{gap:7px!important}
  body.kopken-v31 .product-body{padding:9px!important}
  body.kopken-v31 .product-saving-badge{font-size:6.9px!important}
  .v31-split-actions{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){.v31-toast,.v31-checkout-overlay,.product-card{transition:none!important}.v31-loader{animation-duration:1.2s!important}}

/* === Order ready → WhatsApp confirmation === */
.v31-order-ready{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:20px;pointer-events:none;opacity:0;transition:opacity .18s ease}
.v31-order-ready.is-show{pointer-events:auto;opacity:1}
.v31-order-ready__overlay{position:absolute;inset:0;background:rgba(25,18,15,.58);backdrop-filter:blur(7px)}
.v31-order-ready__card{position:relative;width:min(100%,430px);border:1px solid var(--v31-border);border-radius:26px;background:var(--v31-card);color:var(--v31-text);box-shadow:0 28px 90px rgba(27,17,13,.26);padding:25px;text-align:center}
.v31-order-ready__check{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:#e7f7ed;color:#187a42;font-size:26px;font-weight:800}
.v31-order-ready__card h3{margin:5px 0 7px;font-size:21px;letter-spacing:-.025em}
.v31-order-ready__card>p{margin:0 auto 18px;max-width:340px;color:var(--v31-muted);font-size:13px;line-height:1.55}
.v31-order-ready__summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 14px;text-align:left}
.v31-order-ready__summary>div{padding:12px;border:1px solid var(--v31-border);border-radius:15px;background:var(--v31-soft)}
.v31-order-ready__summary span,.v31-order-ready__summary strong{display:block}
.v31-order-ready__summary span{font-size:10px;font-weight:750;color:var(--v31-muted);text-transform:uppercase;letter-spacing:.06em}
.v31-order-ready__summary strong{margin-top:3px;font-size:13px;word-break:break-word}
.v31-order-ready__button{width:100%;min-height:49px;border:0;border-radius:15px;background:var(--v31-accent);color:#fff;font:inherit;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 10px 24px rgba(172,30,34,.22)}
.v31-order-ready__card>small{display:block;margin-top:10px;color:var(--v31-muted);font-size:10.5px;line-height:1.45}
body.v31-modal-open{overflow:hidden}
.dark .v31-order-ready__check{background:rgba(42,166,90,.15);color:#70d997}
@media(max-width:639px){.v31-order-ready{align-items:end;padding:0}.v31-order-ready__card{width:100%;max-width:none;border-radius:24px 24px 0 0;padding:24px 18px max(20px,env(safe-area-inset-bottom));border-width:1px 0 0}}

/* =========================================================
   KOPKEN v31.0.1 — Navigation + Member UX correction
   ========================================================= */
body.kopken-v31{--v31-appbar-h:62px;padding-top:var(--v31-appbar-h)!important}

/* One stable app bar for every viewport. */
body.kopken-v31 #brandBurgerNav.v31-primary-nav{
  position:fixed!important;inset:0 0 auto 0!important;width:100%!important;height:auto!important;
  margin:0!important;transform:none!important;opacity:1!important;visibility:visible!important;
  pointer-events:auto!important;z-index:5200!important;background:rgba(255,255,255,.94)!important;
  border:0!important;border-bottom:1px solid var(--v31-line)!important;border-radius:0!important;
  box-shadow:0 3px 18px rgba(42,32,26,.045)!important;backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;transition:none!important;
}
html.dark body.kopken-v31 #brandBurgerNav.v31-primary-nav{background:rgba(33,28,25,.94)!important}
body.kopken-v31 #brandBurgerNav .brand-burger-nav__bar{
  width:min(1180px,100%)!important;height:62px!important;min-height:62px!important;margin:0 auto!important;
  padding:0 18px!important;border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:14px!important;
}
body.kopken-v31 .brand-burger-nav__logo{min-width:0!important;flex:0 0 auto!important;display:flex!important;align-items:center!important;color:var(--v31-text)!important;text-decoration:none!important}
body.kopken-v31 .v31-broyapps-wordmark{display:inline-flex!important;align-items:baseline!important;gap:0!important;white-space:nowrap!important;font-size:20px!important;line-height:1!important;letter-spacing:-.055em!important;color:var(--v31-text)!important}
body.kopken-v31 .v31-broyapps-wordmark b{font-weight:800!important}
body.kopken-v31 .v31-broyapps-wordmark strong{font-weight:800!important;color:var(--v31-accent)!important}
body.kopken-v31 .v31-broyapps-wordmark--small{font-size:16px!important}

body.kopken-v31 .brand-burger-nav__actions{margin-left:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;min-width:0!important}
body.kopken-v31 .v31-nav-icon,
body.kopken-v31 .brand-burger-nav__toggle{
  flex:0 0 38px!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
  padding:0!important;border:1px solid var(--v31-line)!important;border-radius:11px!important;background:var(--v31-card)!important;
  color:var(--v31-text)!important;box-shadow:none!important;cursor:pointer!important;
}
body.kopken-v31 .v31-nav-icon{display:grid!important;place-items:center!important}
body.kopken-v31 .v31-nav-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.kopken-v31 .v31-theme-icon__moon{display:none}
html.dark body.kopken-v31 .v31-theme-icon__sun{display:none}
html.dark body.kopken-v31 .v31-theme-icon__moon{display:block}
body.kopken-v31 .brand-burger-nav__toggle{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important}
body.kopken-v31 .brand-burger-nav__toggle span{display:block!important;width:16px!important;height:1.5px!important;border-radius:999px!important;background:currentColor!important}

body.kopken-v31 .brand-burger-nav__member{
  flex:0 1 auto!important;min-width:0!important;max-width:185px!important;height:38px!important;min-height:38px!important;
  padding:0 10px!important;border:1px solid var(--v31-line)!important;border-radius:11px!important;background:var(--v31-card)!important;
  color:var(--v31-text)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;
  font-family:inherit!important;white-space:nowrap!important;box-shadow:none!important;cursor:pointer!important;
}
body.kopken-v31 .brand-burger-nav__member.is-member{border-color:rgba(169,30,35,.18)!important;background:var(--v31-soft)!important;color:var(--v31-accent)!important}
body.kopken-v31 .v31-member-icon{flex:0 0 16px!important;width:16px!important;height:16px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
body.kopken-v31 .brand-burger-nav__member b{display:block!important;min-width:0!important;max-width:112px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:10px!important;line-height:1!important;font-weight:800!important}
body.kopken-v31 .v31-member-progress{flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;height:20px!important;padding:0 6px!important;border-radius:999px!important;background:rgba(169,30,35,.09)!important;color:var(--v31-accent)!important;font-size:7.7px!important;font-weight:900!important}
body.kopken-v31 .v31-member-progress[hidden]{display:none!important}

/* Dropdown is anchored to the centered app bar, never to legacy floating geometry. */
body.kopken-v31 #brandBurgerNav .brand-burger-nav__dropdown{
  display:block!important;position:fixed!important;top:69px!important;left:auto!important;
  right:max(14px,calc((100vw - 1180px)/2 + 18px))!important;width:min(330px,calc(100vw - 28px))!important;
  max-height:calc(100dvh - 84px)!important;margin:0!important;padding:9px!important;overflow:auto!important;
  border:1px solid var(--v31-line)!important;border-radius:18px!important;background:var(--v31-card)!important;color:var(--v31-text)!important;
  box-shadow:0 20px 58px rgba(33,24,20,.17)!important;transform:translateY(-6px) scale(.985)!important;
  transform-origin:top right!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .16s ease,transform .16s ease,visibility .16s ease!important;
}
body.kopken-v31 #brandBurgerNav.open .brand-burger-nav__dropdown{transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
body.kopken-v31 .v31-account-card{
  width:100%!important;min-height:64px!important;display:grid!important;grid-template-columns:38px minmax(0,1fr) 18px!important;align-items:center!important;gap:10px!important;
  padding:10px!important;border:1px solid var(--v31-line)!important;border-radius:14px!important;background:var(--v31-card-soft)!important;color:var(--v31-text)!important;
  font:inherit!important;text-align:left!important;cursor:pointer!important;
}
body.kopken-v31 .v31-account-card:hover{background:var(--v31-soft)!important}
body.kopken-v31 .v31-account-card__avatar{display:grid!important;place-items:center!important;width:38px!important;height:38px!important;border-radius:12px!important;background:var(--v31-soft)!important;color:var(--v31-accent)!important;font-size:13px!important;font-weight:900!important}
body.kopken-v31 .v31-account-card__copy{min-width:0!important;display:block!important}
body.kopken-v31 .v31-account-card__copy strong{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:10.7px!important;font-weight:850!important}
body.kopken-v31 .v31-account-card__copy small{display:block!important;margin-top:2px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:var(--v31-muted)!important;font-size:8.2px!important}
body.kopken-v31 .v31-account-card__arrow{color:var(--v31-muted)!important;font-size:19px!important;line-height:1!important}
body.kopken-v31 .v31-nav-menu{display:flex!important;flex-direction:column!important;gap:2px!important;margin-top:7px!important}
body.kopken-v31 .brand-burger-nav__item{
  min-height:40px!important;padding:0 10px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:var(--v31-text)!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;text-decoration:none!important;font:inherit!important;font-size:9.7px!important;font-weight:650!important;cursor:pointer!important;text-align:left!important;
}
body.kopken-v31 .brand-burger-nav__item+ .brand-burger-nav__item{margin-top:0!important}
body.kopken-v31 .brand-burger-nav__item:hover{background:var(--v31-card-soft)!important;color:var(--v31-text)!important}
body.kopken-v31 .brand-burger-nav__item b{color:var(--v31-muted)!important;font-size:15px!important;font-weight:500!important}
body.kopken-v31 .v31-broyapps-footer{
  margin-top:7px!important;padding:10px 9px 4px!important;border-top:1px solid var(--v31-line)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;color:var(--v31-text)!important;text-decoration:none!important;
}
body.kopken-v31 .v31-broyapps-footer>span:last-child{color:var(--v31-muted)!important;font-size:7.6px!important;white-space:nowrap!important}

/* Legacy header controls are intentionally suppressed; primary nav owns account/theme. */
body.kopken-v31 #mainHeader .header-top-row,
body.kopken-v31 #mainHeader .header-sub{display:none!important}

/* Member hub must always sit above the app bar. */
body.kopken-v31 #memberAuthModal.member-auth-modal{z-index:7000!important}
body.kopken-v31 .member-auth-v43 .member-auth-card{overscroll-behavior:contain!important}
body.kopken-v31 .member-account-actions button{min-height:46px!important}

@media (min-width:1024px){
  body.kopken-v31{--v31-appbar-h:66px}
  body.kopken-v31 #brandBurgerNav .brand-burger-nav__bar{height:66px!important;min-height:66px!important;padding:0 22px!important}
  body.kopken-v31 #brandBurgerNav .brand-burger-nav__dropdown{top:73px!important;right:max(18px,calc((100vw - 1180px)/2 + 22px))!important}
  body.kopken-v31 .v31-broyapps-wordmark{font-size:21px!important}
}

@media (max-width:639px){
  body.kopken-v31 #brandBurgerNav .brand-burger-nav__bar{padding:0 10px!important;gap:8px!important}
  body.kopken-v31 .brand-burger-nav__actions{gap:5px!important}
  body.kopken-v31 .v31-nav-icon,
  body.kopken-v31 .brand-burger-nav__toggle{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;flex-basis:36px!important;border-radius:10px!important}
  body.kopken-v31 .brand-burger-nav__member{height:36px!important;min-height:36px!important;max-width:144px!important;padding:0 8px!important;gap:5px!important}
  body.kopken-v31 .brand-burger-nav__member b{max-width:78px!important;font-size:9.3px!important}
  body.kopken-v31 .v31-member-progress{height:18px!important;padding:0 5px!important;font-size:7.1px!important}
  body.kopken-v31 .v31-broyapps-wordmark{font-size:18px!important}
  body.kopken-v31 #brandBurgerNav .brand-burger-nav__dropdown{top:68px!important;left:10px!important;right:auto!important;width:calc(100vw - 20px)!important;max-height:calc(100dvh - 80px)!important;border-radius:16px!important}
}

@media (max-width:359px){
  body.kopken-v31 .v31-broyapps-wordmark{font-size:16.5px!important}
  body.kopken-v31 .brand-burger-nav__member{max-width:108px!important}
  body.kopken-v31 .brand-burger-nav__member b{max-width:58px!important}
  body.kopken-v31 .v31-member-progress{display:none!important}
}

/* =========================================================
   KOPKEN v31.0.3 — compatibility layer: navigation, WiFi,
   merchant/service branding and Loyalty Stamp polish
   ========================================================= */
body.kopken-v31{
  --v312-shell:1280px;
  --v31-appbar-h:62px;
  padding-top:var(--v31-appbar-h)!important;
}
body.kopken-v31 .page-shell{width:min(var(--v312-shell),100%)!important;max-width:var(--v312-shell)!important;margin-inline:auto!important}

/* App bar: merchant first, service signature second. */
body.kopken-v31 #brandBurgerNav.v31-primary-nav{
  height:auto!important;background:color-mix(in srgb,var(--v31-card) 95%,transparent)!important;
  border-bottom:1px solid var(--v31-line)!important;box-shadow:0 5px 22px rgba(35,27,23,.055)!important;
}
body.kopken-v31 #brandBurgerNav .brand-burger-nav__bar{
  width:min(var(--v312-shell),100%)!important;height:62px!important;min-height:62px!important;
  padding:0 18px!important;gap:14px!important;
}
body.kopken-v31 .v312-merchant-brand{display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important;text-decoration:none!important}
body.kopken-v31 .v312-merchant-brand>img{width:36px!important;height:36px!important;flex:0 0 36px!important;padding:2px!important;border:1px solid var(--v31-line)!important;border-radius:11px!important;background:#fff!important;object-fit:contain!important;box-shadow:none!important}
body.kopken-v31 .v312-merchant-brand__copy{display:flex!important;min-width:0!important;flex-direction:column!important;gap:1px!important;line-height:1.15!important}
body.kopken-v31 .v312-merchant-brand__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--v31-text);font-size:12.5px;font-weight:850;letter-spacing:-.025em}
body.kopken-v31 .v312-merchant-brand__copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--v31-muted);font-size:7.5px;font-weight:650;letter-spacing:.01em}
body.kopken-v31 .brand-burger-nav__actions{gap:7px!important}
body.kopken-v31 .v31-nav-icon,body.kopken-v31 .brand-burger-nav__toggle{width:39px!important;height:39px!important;min-width:39px!important;min-height:39px!important;border-radius:12px!important;background:var(--v31-card)!important}
body.kopken-v31 .brand-burger-nav__member{min-width:0!important;max-width:210px!important;min-height:39px!important;height:39px!important;padding:0 9px!important;border-radius:12px!important;background:var(--v31-card-soft)!important}
body.kopken-v31 .brand-burger-nav__member .v31-member-icon{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:var(--v31-accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.kopken-v31 .v312-member-copy{display:flex!important;min-width:0;flex-direction:column;align-items:flex-start;gap:0;line-height:1.1}
body.kopken-v31 .v312-member-copy b{max-width:118px!important;color:var(--v31-text)!important;font-size:9.5px!important;font-weight:850!important}
body.kopken-v31 .v312-member-copy small{color:var(--v31-muted);font-size:6.8px;font-weight:650}
body.kopken-v31 .brand-burger-nav__member.is-member .v312-member-copy small{color:var(--v31-accent)}
body.kopken-v31 .v31-member-progress{display:grid!important;place-items:center!important;min-width:32px!important;height:22px!important;padding:0 6px!important;border-radius:8px!important;background:var(--v31-soft)!important;color:var(--v31-accent)!important;font-size:7.5px!important;font-weight:900!important}
body.kopken-v31 .v31-member-progress[hidden]{display:none!important}

/* Dropdown uses tiles rather than long text rows. */
body.kopken-v31 #brandBurgerNav .brand-burger-nav__dropdown{
  position:fixed!important;top:calc(var(--v31-appbar-h) + 8px)!important;
  right:max(12px,calc((100vw - var(--v312-shell))/2 + 18px))!important;left:auto!important;
  width:min(390px,calc(100vw - 24px))!important;max-height:calc(100dvh - var(--v31-appbar-h) - 20px)!important;
  padding:12px!important;border-radius:20px!important;overflow:auto!important;
}
body.kopken-v31 .v31-account-card{width:100%;min-height:62px;padding:9px 10px!important;border:1px solid var(--v31-line)!important;border-radius:15px!important;background:linear-gradient(135deg,var(--v31-card-soft),var(--v31-soft))!important;color:var(--v31-text)!important;display:grid!important;grid-template-columns:38px minmax(0,1fr) 22px;align-items:center;gap:9px;text-align:left;font:inherit;cursor:pointer}
body.kopken-v31 .v31-account-card__avatar{display:grid;place-items:center;width:38px;height:38px;border:1px dashed color-mix(in srgb,var(--v31-accent) 45%,transparent);border-radius:50%;background:var(--v31-card);color:var(--v31-accent);font-size:8px;font-weight:950;letter-spacing:-.04em;transform:rotate(-5deg)}
body.kopken-v31 .v31-account-card__copy{min-width:0}.v31-account-card__copy strong,.v31-account-card__copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v31-account-card__copy strong{font-size:10.5px}.v31-account-card__copy small{margin-top:2px;color:var(--v31-muted);font-size:7.5px}.v31-account-card__arrow{justify-self:end;color:var(--v31-muted);font-size:18px}
body.kopken-v31 .v312-nav-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}
body.kopken-v31 .v312-nav-tile{min-width:0;min-height:72px;padding:10px;border:1px solid var(--v31-line);border-radius:14px;background:var(--v31-card);color:var(--v31-text);display:grid;grid-template-columns:31px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;align-items:center;text-decoration:none;text-align:left;font:inherit;cursor:pointer;transition:transform .14s ease,background .14s ease,border-color .14s ease}
body.kopken-v31 .v312-nav-tile:hover{background:var(--v31-card-soft);border-color:color-mix(in srgb,var(--v31-accent) 20%,var(--v31-line));transform:translateY(-1px)}
body.kopken-v31 .v312-nav-tile__icon{grid-row:1/3;display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:var(--v31-soft);color:var(--v31-accent);font-size:8px;font-weight:950}
body.kopken-v31 .v312-nav-tile strong{align-self:end;font-size:9.5px;font-weight:850}.v312-nav-tile small{align-self:start;margin-top:1px;color:var(--v31-muted);font-size:6.9px}
body.kopken-v31 .v312-nav-secondary{display:flex;align-items:center;justify-content:center;gap:8px;margin:9px 2px 2px;color:var(--v31-muted);font-size:7.4px}
body.kopken-v31 .v312-nav-secondary button,body.kopken-v31 .v312-nav-secondary a{padding:3px;border:0;background:none;color:inherit;text-decoration:none;font:inherit;font-weight:700;cursor:pointer}
body.kopken-v31 .v312-nav-secondary button:hover,body.kopken-v31 .v312-nav-secondary a:hover{color:var(--v31-accent)}
body.kopken-v31 .v312-brand-switcher{margin-top:10px;padding-top:10px;border-top:1px solid var(--v31-line)}
body.kopken-v31 .v312-brand-switcher__label{display:block;margin:0 2px 7px;color:var(--v31-muted);font-size:7px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
body.kopken-v31 .v312-brand-switcher__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
body.kopken-v31 .v312-brand-tile{min-width:0;padding:7px 3px 6px;border:1px solid var(--v31-line);border-radius:12px;background:var(--v31-card-soft);color:var(--v31-text);display:flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none;text-align:center}
body.kopken-v31 .v312-brand-tile.is-current{border-color:color-mix(in srgb,var(--v31-accent) 30%,var(--v31-line));background:var(--v31-soft)}
body.kopken-v31 .v312-brand-tile img,body.kopken-v31 .v312-brand-fallback{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;object-fit:contain}
body.kopken-v31 .v312-brand-tile img{padding:2px}.v312-brand-tile small{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:6.5px;font-weight:750}
body.kopken-v31 .v312-brand-fallback{background:#29221e;color:#fff;font-size:11px;font-weight:900}.v312-brand-fallback--starbucks{background:#00754a!important;color:#fff!important}
body.kopken-v31 .v312-service-signature{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 2px 0;padding-top:9px;border-top:1px solid var(--v31-line)}
body.kopken-v31 .v312-service-signature strong{font-size:8px;font-weight:850;color:var(--v31-text)}.v312-service-signature span{color:var(--v31-muted);font-size:6.5px;text-align:right}

/* Homepage: corporate/voucher are menu utilities; Promo & Combo stays visible. */
body.kopken-v31 .growth-program-grid{display:none!important}
body.kopken-v31 .v312-promo-combo-card{width:100%;min-height:58px;margin:0 0 10px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--v31-accent) 18%,var(--v31-line));border-radius:15px;background:linear-gradient(135deg,var(--v31-soft),var(--v31-card));color:var(--v31-text);display:grid;grid-template-columns:34px minmax(0,1fr) 24px;align-items:center;gap:9px;text-align:left;font:inherit;cursor:pointer;box-shadow:none}
body.kopken-v31 .v312-promo-combo-card__mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--v31-accent);color:#fff;font-size:13px;font-weight:900}
body.kopken-v31 .v312-promo-combo-card__copy{min-width:0;display:flex;flex-direction:column;gap:1px}.v312-promo-combo-card__copy small{color:var(--v31-accent);font-size:6.7px;font-weight:900;letter-spacing:.08em}.v312-promo-combo-card__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;font-weight:850}.v312-promo-combo-card__copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--v31-muted);font-size:7px}.v312-promo-combo-card__arrow{justify-self:end;color:var(--v31-accent);font-size:20px}

body.kopken-v31 .v312-daily-wifi-card{min-height:58px;margin:0 0 10px;padding:8px 9px;border:1px solid var(--v31-line);border-radius:15px;background:var(--v31-card);color:var(--v31-text);display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;box-shadow:none}
body.kopken-v31 .v312-wifi-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--v31-card-soft);color:var(--v31-accent);font-size:7px;font-weight:900;letter-spacing:-.03em}
body.kopken-v31 .daily-wifi-main{min-width:0;display:flex;flex-direction:column;gap:1px}.daily-wifi-kicker{color:var(--v31-muted);font-size:6.5px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.v312-daily-wifi-card #dailyWifiPassword{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--v31-text);font-size:10px;font-weight:850;user-select:text}.v312-daily-wifi-card #dailyWifiDate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--v31-muted);font-size:6.4px}.v312-wifi-copy{min-height:32px;padding:0 9px;border:1px solid var(--v31-line);border-radius:10px;background:var(--v31-card-soft);color:var(--v31-accent);font:inherit;font-size:7.5px;font-weight:850;cursor:pointer}.v312-wifi-copy.is-copied{background:rgba(22,128,74,.10);color:var(--v31-green);border-color:rgba(22,128,74,.18)}

/* Loyalty: recognizable stamp board, not a generic progress bar. */
body.kopken-v31 .member-stamp-track{display:none!important}
body.kopken-v31 .member-stamp-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:11px 0 9px}
body.kopken-v31 .member-stamp-mark{position:relative;display:grid;place-items:center;aspect-ratio:1;border:1px dashed color-mix(in srgb,var(--v31-muted) 28%,transparent);border-radius:50%;background:var(--v31-card);color:color-mix(in srgb,var(--v31-muted) 55%,transparent);transform:rotate(-3deg)}
body.kopken-v31 .member-stamp-mark:nth-child(even){transform:rotate(3deg)}
body.kopken-v31 .member-stamp-mark b{font-size:8px;font-weight:950;letter-spacing:-.05em}.member-stamp-mark small{position:absolute;right:2px;bottom:0;display:grid;place-items:center;min-width:13px;height:13px;padding:0 2px;border-radius:50%;background:var(--v31-card-soft);color:var(--v31-muted);font-size:5.5px;font-weight:850}
body.kopken-v31 .member-stamp-mark.is-earned{border:2px solid color-mix(in srgb,var(--v31-accent) 72%,transparent);background:var(--v31-soft);color:var(--v31-accent);box-shadow:inset 0 0 0 2px var(--v31-card),0 2px 9px rgba(169,30,35,.08)}
body.kopken-v31 .member-history-summary{margin:10px 0;padding:11px;border:1px solid var(--v31-line);border-radius:15px;background:var(--v31-card-soft)}
body.kopken-v31 .member-history-summary>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.member-history-summary>div:first-child span{color:var(--v31-muted);font-size:8px;font-weight:750}.member-history-summary>div:first-child strong{font-size:11px;color:var(--v31-accent)}
body.kopken-v31 .member-history-list{display:grid;gap:7px!important}
body.kopken-v31 .member-history-item{display:grid!important;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px!important;border:1px solid var(--v31-line)!important;border-radius:13px!important;background:var(--v31-card-soft)!important}
body.kopken-v31 .member-history-stamp,body.kopken-v31 .member-history-loading__stamp,body.kopken-v31 .member-history-state__stamp{display:grid;place-items:center;width:35px;height:35px;border:1px dashed color-mix(in srgb,var(--v31-accent) 45%,transparent);border-radius:50%;background:var(--v31-card);color:var(--v31-accent);font-size:7px;font-weight:950;transform:rotate(-5deg)}
body.kopken-v31 .member-history-stamp.is-earned{border-width:2px;background:var(--v31-soft)}
body.kopken-v31 .member-history-item__copy{min-width:0}.member-history-item__copy strong,.member-history-item__copy small{display:block}.member-history-item__copy strong{font-size:8.5px;line-height:1.35}.member-history-item__copy small{margin-top:2px;color:var(--v31-muted);font-size:6.7px}.member-history-delta{color:var(--v31-green);font-size:9px}.member-history-delta.is-minus{color:var(--v31-accent)}
body.kopken-v31 .member-history-loading,body.kopken-v31 .member-history-state{display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border:1px solid var(--v31-line);border-radius:14px;background:var(--v31-card-soft)}
body.kopken-v31 .member-history-loading>div,body.kopken-v31 .member-history-state>div{min-width:0}.member-history-loading strong,.member-history-loading small,.member-history-state strong,.member-history-state small{display:block}.member-history-loading strong,.member-history-state strong{font-size:8.8px}.member-history-loading small,.member-history-state small{margin-top:2px;color:var(--v31-muted);font-size:6.7px;line-height:1.4}.member-history-state button{min-height:30px;padding:0 8px;border:0;border-radius:9px;background:var(--v31-accent);color:#fff;font:inherit;font-size:6.8px;font-weight:850;cursor:pointer}

/* Desktop is deliberately different from stretched mobile. */
@media (min-width:1024px){
  body.kopken-v31{--v31-appbar-h:72px;padding-top:72px!important}
  body.kopken-v31 #brandBurgerNav .brand-burger-nav__bar{height:72px!important;min-height:72px!important;padding:0 24px!important}
  body.kopken-v31 .v312-merchant-brand>img{width:42px!important;height:42px!important;flex-basis:42px!important;border-radius:13px!important}
  body.kopken-v31 .v312-merchant-brand__copy strong{font-size:14px}.v312-merchant-brand__copy small{font-size:8px!important}
  body.kopken-v31 .brand-burger-nav__member{height:42px!important;min-height:42px!important;padding-inline:11px!important}
  body.kopken-v31 .v31-nav-icon,body.kopken-v31 .brand-burger-nav__toggle{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}
  body.kopken-v31 #brandBurgerNav .brand-burger-nav__dropdown{top:80px!important;right:max(20px,calc((100vw - var(--v312-shell))/2 + 24px))!important;width:410px!important;padding:13px!important}

  body.kopken-v31 #mainHeader{
    display:grid!important;grid-template-columns:minmax(0,1.68fr) minmax(300px,.72fr)!important;
    grid-template-areas:"hero outlet" "hero wifi" "search promo" "chips chips"!important;
    grid-template-rows:auto auto auto auto!important;gap:12px 16px!important;
    padding:24px 24px 4px!important;align-items:stretch!important;
  }
  body.kopken-v31 #mainHeader .promo-slider{grid-area:hero!important;grid-column:auto!important;grid-row:auto!important;margin:0!important;align-self:stretch!important}
  body.kopken-v31 #mainHeader .promo-slider__viewport{height:100%!important;min-height:250px!important;aspect-ratio:auto!important}
  body.kopken-v31 #mainHeader .selected-outlet-badge{grid-area:outlet!important;grid-column:auto!important;grid-row:auto!important;margin:0!important;min-height:118px!important;padding:14px!important;align-self:stretch!important}
  body.kopken-v31 #mainHeader .selected-outlet-badge::before{font-size:7.5px!important}.selected-outlet-badge #selectedOutletText{white-space:normal!important;font-size:12px!important;line-height:1.42!important}
  body.kopken-v31 #mainHeader .v312-daily-wifi-card{grid-area:wifi!important;margin:0!important;min-height:118px!important;padding:13px!important;align-self:stretch!important;grid-template-columns:46px minmax(0,1fr)!important;grid-template-rows:1fr auto!important}.v312-daily-wifi-card .v312-wifi-mark{grid-row:1;grid-column:1;width:46px;height:46px}.v312-daily-wifi-card .daily-wifi-main{grid-row:1;grid-column:2}.v312-daily-wifi-card .v312-wifi-copy{grid-row:2;grid-column:1/-1;width:100%;height:34px}.v312-daily-wifi-card #dailyWifiPassword{font-size:11px!important}.v312-daily-wifi-card #dailyWifiDate{white-space:normal!important;line-height:1.35!important}
  body.kopken-v31 #mainHeader .search-row{grid-area:search!important;grid-column:auto!important;grid-row:auto!important;margin:0!important;align-self:stretch!important}.search-row .search{height:58px!important;border-radius:15px!important;font-size:12px!important}
  body.kopken-v31 #mainHeader .v312-promo-combo-card{grid-area:promo!important;margin:0!important;min-height:58px!important;align-self:stretch!important}
  body.kopken-v31 #mainHeader #chips{grid-area:chips!important;grid-column:auto!important;grid-row:auto!important;margin:4px -2px 0!important;padding-bottom:7px!important}

  body.kopken-v31 .container.gf-main{padding:8px 24px 30px!important}
  body.kopken-v31 .category-block{margin-bottom:26px!important}.category-title{margin:10px 2px 12px!important;font-size:17px!important;font-weight:750!important;letter-spacing:-.02em}
  body.kopken-v31 .category-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:15px!important}
  body.kopken-v31 .product-card{border-radius:18px!important;box-shadow:0 5px 20px rgba(42,32,26,.045)!important;transition:transform .16s ease,box-shadow .16s ease!important}.product-card:hover{transform:translateY(-2px)!important;box-shadow:0 12px 28px rgba(42,32,26,.085)!important}
  body.kopken-v31 .product-body{padding:12px 13px 13px!important}.product-name{font-size:13px!important;line-height:1.4!important}.product-price{font-size:13px!important}.product-price-old{font-size:10.5px!important}

  /* Desktop cart becomes a review column + sticky checkout column. */
  body.kopken-v31 #screenSummary{max-width:none!important;width:100%!important}
  body.kopken-v31 #screenSummary>.cart-header{max-width:var(--v312-shell);margin-inline:auto}
  body.kopken-v31 #cart.cart{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)!important;gap:16px!important;align-items:start!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
  body.kopken-v31 #cart>.cart-section:first-child{grid-column:1;grid-row:1;margin:0!important;border:1px solid var(--v31-line)!important;border-radius:18px!important;background:var(--v31-card)!important}
  body.kopken-v31 #cart>#cartAddMore{grid-column:1;grid-row:2;margin:0!important;border:1px solid var(--v31-line)!important;border-radius:16px!important;background:var(--v31-card)!important}
  body.kopken-v31 #cart>#corporateProgressCard{grid-column:1;grid-row:3;margin:0!important}
  body.kopken-v31 #cart>#summaryCard{grid-column:2;grid-row:1/span 3;margin:0!important;position:sticky!important;top:calc(var(--v31-appbar-h) + 14px)!important;border-radius:18px!important;box-shadow:0 8px 30px rgba(42,32,26,.055)!important}
  body.kopken-v31 .member-auth-v43 .member-auth-card{width:min(480px,100%)!important;max-height:min(86dvh,760px)!important}
}

@media (min-width:1280px){
  body.kopken-v31 .category-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:17px!important}
}

/* Tablet keeps a clean 3-column catalog without desktop grid tricks. */
@media (min-width:640px) and (max-width:1023px){
  body.kopken-v31{--v31-appbar-h:66px;padding-top:66px!important}
  body.kopken-v31 #brandBurgerNav .brand-burger-nav__bar{height:66px!important;min-height:66px!important;padding-inline:18px!important}
  body.kopken-v31 #mainHeader{display:block!important;padding:18px 18px 0!important}
  body.kopken-v31 .container.gf-main{padding-inline:18px!important}
  body.kopken-v31 .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
}

/* Mobile: no cramped desktop leftovers. */
@media (max-width:639px){
  body.kopken-v31 #brandBurgerNav .brand-burger-nav__bar{height:62px!important;min-height:62px!important;padding:0 10px!important;gap:8px!important}
  body.kopken-v31 .v312-merchant-brand{gap:7px!important;max-width:min(44vw,170px)!important}.v312-merchant-brand>img{width:34px!important;height:34px!important;flex-basis:34px!important;border-radius:10px!important}.v312-merchant-brand__copy strong{font-size:10.5px!important}.v312-merchant-brand__copy small{font-size:6.2px!important}
  body.kopken-v31 .brand-burger-nav__actions{gap:5px!important}.v31-nav-icon,.brand-burger-nav__toggle{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;border-radius:10px!important}.brand-burger-nav__member{height:36px!important;min-height:36px!important;max-width:124px!important;padding:0 7px!important;gap:5px!important}.brand-burger-nav__member .v31-member-icon{display:none!important}.v312-member-copy b{max-width:72px!important;font-size:8.4px!important}.v312-member-copy small{font-size:5.8px!important}.v31-member-progress{min-width:28px!important;height:20px!important;padding:0 4px!important;font-size:6.5px!important}
  body.kopken-v31 #brandBurgerNav .brand-burger-nav__dropdown{top:69px!important;right:8px!important;width:calc(100vw - 16px)!important;max-height:calc(100dvh - 77px)!important;border-radius:18px!important;padding:10px!important}
  body.kopken-v31 .v312-nav-tile{min-height:66px!important;padding:8px!important}.v312-nav-tile strong{font-size:8.5px!important}.v312-nav-tile small{font-size:6.2px!important}.v312-brand-switcher__grid{gap:4px!important}.v312-brand-tile{padding-inline:2px!important}.v312-brand-tile small{font-size:5.7px!important}
  body.kopken-v31 #mainHeader{display:block!important;padding:12px 10px 0!important}.selected-outlet-badge{margin-bottom:9px!important}.promo-slider{margin-bottom:9px!important}.search-row{margin-top:9px!important;margin-bottom:9px!important}.search-row .search{height:48px!important;border-radius:14px!important;font-size:16px!important}
  body.kopken-v31 .v312-promo-combo-card,body.kopken-v31 .v312-daily-wifi-card{margin-bottom:8px!important}
  body.kopken-v31 .v312-daily-wifi-card{grid-template-columns:35px minmax(0,1fr) auto!important}.v312-wifi-mark{width:35px!important;height:35px!important}.v312-daily-wifi-card #dailyWifiPassword{font-size:9.2px!important}.v312-daily-wifi-card #dailyWifiDate{font-size:5.9px!important}.v312-wifi-copy{padding-inline:8px!important}
  body.kopken-v31 .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.product-name{font-size:11.5px!important;line-height:1.35!important}
  body.kopken-v31 .member-stamp-grid{gap:5px!important}.member-stamp-mark b{font-size:7px!important}.member-history-state{grid-template-columns:32px minmax(0,1fr)!important}.member-history-state button{grid-column:1/-1;width:100%!important}
}

@media (max-width:380px){
  body.kopken-v31 .v312-merchant-brand{max-width:110px!important}.v312-merchant-brand__copy strong{font-size:9.5px!important}.v312-merchant-brand__copy small{display:none!important}
  body.kopken-v31 .brand-burger-nav__member{max-width:96px!important}.v312-member-copy small{display:none!important}.v31-member-progress{min-width:25px!important}
  body.kopken-v31 .v312-brand-switcher__grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}.v312-brand-tile img,.v312-brand-fallback{width:26px!important;height:26px!important}.v312-brand-tile small{font-size:5.2px!important}
}

/* =========================================================
   KOPKEN v31.0.3 — FINAL RESPONSIVE STABILIZATION LAYER
   One content flow across mobile/tablet/desktop.
   ========================================================= */
:root{--v313-shell:1080px;--v313-appbar-h:64px}
body.kopken-v313{--v31-appbar-h:var(--v313-appbar-h);padding-top:var(--v313-appbar-h)!important}
body.kopken-v313 .page-shell{width:min(var(--v313-shell),100%)!important;margin:0 auto!important}

/* App bar: stable, compact, same hierarchy on every viewport */
body.kopken-v313 #brandBurgerNav.brand-burger-nav{height:auto!important;background:color-mix(in srgb,var(--v31-card) 94%,transparent)!important}
body.kopken-v313 #brandBurgerNav .brand-burger-nav__bar{width:min(var(--v313-shell),100%)!important;height:var(--v313-appbar-h)!important;min-height:var(--v313-appbar-h)!important;margin:0 auto!important;padding:0 16px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
body.kopken-v313 .v312-merchant-brand{min-width:0!important;max-width:min(62vw,330px)!important;display:flex!important;align-items:center!important;gap:9px!important}
body.kopken-v313 .v312-merchant-brand>img{flex:0 0 36px!important;width:36px!important;height:36px!important;padding:3px!important;border-radius:11px!important;background:#fff!important;object-fit:contain!important}
body.kopken-v313 .v312-merchant-brand__copy{min-width:0!important;display:flex!important;flex-direction:column!important;gap:1px!important}
body.kopken-v313 .v312-merchant-brand__copy strong{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:var(--v31-text)!important;font-size:11.5px!important;line-height:1.2!important;font-weight:800!important}
body.kopken-v313 .v312-merchant-brand__copy small{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:var(--v31-muted)!important;font-size:7px!important;line-height:1.25!important;font-weight:600!important}
body.kopken-v313 .brand-burger-nav__actions{flex:0 0 auto!important;display:flex!important;align-items:center!important;gap:6px!important}
body.kopken-v313 .v31-nav-icon,
body.kopken-v313 .brand-burger-nav__toggle,
body.kopken-v313 .v313-member-icon-button{position:relative!important;flex:0 0 38px!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important;padding:0!important;border:1px solid var(--v31-line)!important;border-radius:11px!important;background:var(--v31-card)!important;color:var(--v31-text)!important;display:grid!important;place-items:center!important;box-shadow:none!important}
body.kopken-v313 .v313-member-icon-button .v31-member-icon{display:block!important;width:19px!important;height:19px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
body.kopken-v313 .v313-member-icon-button::after{content:'';position:absolute;top:5px;right:5px;width:7px;height:7px;border:2px solid var(--v31-card);border-radius:50%;background:#9b938e;box-sizing:border-box}
body.kopken-v313 .v313-member-icon-button.is-member{border-color:color-mix(in srgb,var(--v31-accent) 28%,var(--v31-line))!important;background:var(--v31-soft)!important;color:var(--v31-accent)!important}
body.kopken-v313 .v313-member-icon-button.is-member::after{background:var(--v31-green)}
body.kopken-v313 .brand-burger-nav__toggle{gap:3.5px!important}
body.kopken-v313 .brand-burger-nav__toggle span{width:16px!important;height:1.5px!important;margin:0!important;background:currentColor!important}
body.kopken-v313 #brandBurgerNav .brand-burger-nav__dropdown{top:calc(var(--v313-appbar-h) + 7px)!important;right:max(10px,calc((100vw - min(var(--v313-shell),100vw))/2 + 12px))!important;left:auto!important;width:min(382px,calc(100vw - 20px))!important;max-height:calc(100dvh - var(--v313-appbar-h) - 18px)!important;padding:11px!important;border-radius:18px!important;overflow:auto!important}
body.kopken-v313 .v313-brand-wordmark{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#006241;color:#fff;font-size:5.4px;font-weight:900;letter-spacing:.04em;text-align:center}
body.kopken-v313 .v312-service-signature strong{font-size:9px!important}.v312-service-signature span{font-size:6.8px!important}

/* Main storefront: desktop intentionally follows the mobile information architecture. */
body.kopken-v313 #mainHeader{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:16px 14px 0!important;background:transparent!important}
body.kopken-v313 #mainHeader .promo-slider{width:100%!important;margin:0 0 12px!important;grid-area:auto!important;grid-column:auto!important;grid-row:auto!important}
body.kopken-v313 #mainHeader .promo-slider__viewport{height:auto!important;min-height:0!important;aspect-ratio:auto!important}
body.kopken-v313 #mainHeader .search-row{width:100%!important;margin:10px 0 10px!important;grid-area:auto!important;grid-column:auto!important;grid-row:auto!important}
body.kopken-v313 #mainHeader #chips{grid-area:auto!important;grid-column:auto!important;grid-row:auto!important;margin-top:0!important}
body.kopken-v313 .growth-program-grid,
body.kopken-v313 .v312-promo-combo-card{display:none!important}

/* New member discovery: useful promotion for guests, real progress for members. */
body.kopken-v313 .v313-member-discovery{position:relative;display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-height:92px;margin:0 0 10px;padding:12px 13px;border:1px solid color-mix(in srgb,var(--v31-accent) 16%,var(--v31-line));border-radius:17px;background:linear-gradient(135deg,color-mix(in srgb,var(--v31-accent) 7%,var(--v31-card)),var(--v31-card));color:var(--v31-text);overflow:hidden}
body.kopken-v313 .v313-member-discovery::after{content:'';position:absolute;right:-26px;bottom:-34px;width:100px;height:100px;border-radius:50%;background:var(--v31-soft);pointer-events:none}
body.kopken-v313 .v313-member-discovery__skeleton{grid-column:1/-1;height:56px;border-radius:12px;background:linear-gradient(90deg,var(--v31-card-soft),color-mix(in srgb,var(--v31-muted) 7%,var(--v31-card-soft)),var(--v31-card-soft));background-size:220% 100%;animation:v313shimmer 1.2s linear infinite}
@keyframes v313shimmer{to{background-position:-220% 0}}
body.kopken-v313 .v313-member-discovery__stamp{position:relative;z-index:1;display:grid;place-items:center;width:50px;height:50px;border:2px solid color-mix(in srgb,var(--v31-accent) 65%,transparent);border-radius:50%;background:var(--v31-card);color:var(--v31-accent);transform:rotate(-4deg);box-shadow:inset 0 0 0 3px var(--v31-soft)}
body.kopken-v313 .v313-member-discovery__stamp b{font-size:17px;font-weight:900;line-height:1}.v313-member-discovery__stamp small{margin-top:-8px;font-size:5.5px;font-weight:900;letter-spacing:.08em}
body.kopken-v313 .v313-member-discovery__stamp.is-member b{font-size:14px}.v313-member-discovery__stamp.is-member small{font-size:7px}
body.kopken-v313 .v313-member-discovery__copy{position:relative;z-index:1;min-width:0}.v313-member-discovery__copy>span{display:block;color:var(--v31-accent);font-size:7px;font-weight:900;letter-spacing:.08em}.v313-member-discovery__copy>strong{display:block;margin-top:2px;font-size:11.5px;line-height:1.32;font-weight:850}.v313-member-discovery__copy>p{max-width:590px;margin:3px 0 0;color:var(--v31-muted);font-size:8px;line-height:1.48}
body.kopken-v313 .v313-member-discovery__actions{position:relative;z-index:1;display:flex;flex-direction:column;gap:5px;min-width:92px}.v313-member-discovery__actions button{min-height:32px;padding:0 10px;border:1px solid var(--v31-line);border-radius:10px;background:var(--v31-card);color:var(--v31-text);font:inherit;font-size:7.6px;font-weight:800;white-space:nowrap;cursor:pointer}.v313-member-discovery__actions button.is-primary{border-color:var(--v31-accent);background:var(--v31-accent);color:#fff}
body.kopken-v313 .v313-mini-stamps{display:flex;gap:3px;margin-top:6px}.v313-mini-stamps span{display:grid;place-items:center;width:16px;height:16px;border:1px dashed color-mix(in srgb,var(--v31-muted) 36%,transparent);border-radius:50%;color:var(--v31-muted);font-size:5.5px;font-weight:900}.v313-mini-stamps span.is-earned{border:1.5px solid var(--v31-accent);background:var(--v31-soft);color:var(--v31-accent)}

/* Utility row: one column on mobile, two equal utilities on wide screens. */
body.kopken-v313 .v313-utility-row{display:grid;grid-template-columns:1fr;gap:8px;width:100%;margin:0 0 10px}
body.kopken-v313 .selected-outlet-badge.v313-outlet-card{position:relative!important;display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;align-items:center!important;gap:9px!important;width:100%!important;min-width:0!important;min-height:64px!important;margin:0!important;padding:9px 10px!important;border:1px solid var(--v31-line)!important;border-radius:15px!important;background:var(--v31-card)!important;color:var(--v31-text)!important;box-shadow:none!important}
body.kopken-v313 .selected-outlet-badge.v313-outlet-card::before{content:none!important}
body.kopken-v313 .v313-outlet-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--v31-soft);color:var(--v31-accent)}
body.kopken-v313 .v313-outlet-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.kopken-v313 .v313-outlet-copy{min-width:0!important;display:block!important}
body.kopken-v313 .selected-outlet-badge.v313-outlet-card .v313-outlet-copy>span{display:block!important;margin:0 0 2px!important;color:var(--v31-muted)!important;font-size:6.5px!important;line-height:1.2!important;font-weight:850!important;letter-spacing:.07em!important;text-transform:uppercase!important}
body.kopken-v313 .selected-outlet-badge.v313-outlet-card #selectedOutletText{display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:var(--v31-text)!important;font-size:9.7px!important;line-height:1.35!important;font-weight:800!important}
body.kopken-v313 .selected-outlet-badge.v313-outlet-card #selectedOutletMeta{display:none!important}
body.kopken-v313 .selected-outlet-badge.v313-outlet-card #btnChangeOutlet{align-self:center!important;min-width:51px!important;min-height:34px!important;padding:0 9px!important;border:0!important;border-radius:10px!important;background:var(--v31-soft)!important;color:var(--v31-accent)!important;font:inherit!important;font-size:7.5px!important;font-weight:850!important;cursor:pointer!important}
body.kopken-v313 .v313-utility-row .v312-daily-wifi-card{width:100%!important;min-height:64px!important;margin:0!important;padding:9px 10px!important;grid-template-columns:38px minmax(0,1fr) auto!important;gap:9px!important;border-radius:15px!important}
body.kopken-v313 .v313-utility-row .v312-wifi-mark{width:38px!important;height:38px!important;border-radius:11px!important;font-size:7px!important}
body.kopken-v313 .v313-utility-row .daily-wifi-kicker{font-size:6.5px!important}.v313-utility-row .v312-daily-wifi-card #dailyWifiPassword{font-size:9.7px!important}.v313-utility-row .v312-daily-wifi-card #dailyWifiDate{font-size:6.2px!important}.v313-utility-row .v312-wifi-copy{min-height:34px!important;padding:0 9px!important;font-size:7.3px!important}

/* Search + chips */
body.kopken-v313 #search.search{height:48px!important;font-size:13px!important;border-radius:14px!important}
body.kopken-v313 #chips.chips{margin-left:-14px!important;margin-right:-14px!important;padding-left:14px!important;padding-right:14px!important}
body.kopken-v313 #chips.chips.is-sticky{width:min(var(--chips-fixed-width),var(--v313-shell))!important}

/* Cart: one predictable flow. Empty cart never leaks checkout modules. */
body.kopken-v313 #screenSummary{width:100%!important;max-width:760px!important;margin:0 auto!important}
body.kopken-v313 #cart.cart{display:block!important;width:100%!important;max-width:none!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
body.kopken-v313 #cart>.cart-section:first-child,
body.kopken-v313 #cart>#cartAddMore,
body.kopken-v313 #cart>#summaryCard{width:100%!important;grid-column:auto!important;grid-row:auto!important;position:relative!important;top:auto!important;margin:0 0 10px!important}
body.kopken-v313 #cart>#corporateProgressCard{grid-column:auto!important;grid-row:auto!important;margin:0 0 10px!important}
body.kopken-v313 .v313-cart-empty-state[hidden]{display:none!important}
body.kopken-v313 #cart.is-v313-empty .v313-cart-empty-state{display:grid!important;place-items:center;min-height:235px;padding:24px 16px;text-align:center}
body.kopken-v313 #cart.is-v313-empty #cartList,
body.kopken-v313 #cart.is-v313-empty #cartTotalPcs,
body.kopken-v313 #cart.is-v313-empty #v31CartTools,
body.kopken-v313 #cart.is-v313-empty #cartAddMore,
body.kopken-v313 #cart.is-v313-empty #corporateProgressCard,
body.kopken-v313 #cart.is-v313-empty #summaryCard{display:none!important}
body.kopken-v313 .v313-cart-empty-state__icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:10px;border-radius:18px;background:var(--v31-card-soft);color:var(--v31-muted)}.v313-cart-empty-state__icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
body.kopken-v313 .v313-cart-empty-state strong{font-size:12px}.v313-cart-empty-state>span:not(.v313-cart-empty-state__icon){margin-top:3px;color:var(--v31-muted);font-size:8.5px}.v313-cart-empty-state button{min-height:38px;margin-top:13px;padding:0 14px;border:0;border-radius:11px;background:var(--v31-text);color:var(--v31-card);font:inherit;font-size:8.5px;font-weight:850;cursor:pointer}

/* Loyalty shortfall is a concrete goal, not a generic promo. */
body.kopken-v313 .v31-loyalty-check{display:block!important;padding:11px 12px!important}.v31-loyalty-check[hidden]{display:none!important}
body.kopken-v313 .v31-loyalty-check strong{display:block!important}.v31-loyalty-check>span{display:block!important;margin-top:2px!important}
body.kopken-v313 .v313-loyalty-progress{height:6px;margin:9px 0 4px;border-radius:999px;background:color-mix(in srgb,var(--v31-muted) 12%,transparent);overflow:hidden}.v313-loyalty-progress>span{display:block;height:100%;border-radius:inherit;background:var(--v31-accent);transition:width .2s ease}
body.kopken-v313 .v31-loyalty-check.is-eligible .v313-loyalty-progress>span{background:var(--v31-green)}
body.kopken-v313 .v31-loyalty-check>small{display:block;color:var(--v31-muted);font-size:6.8px;line-height:1.4}

/* BroyApps stamp system: B = BroyApps, social handle stays attribution only. */
body.kopken-v313 .member-stamp-mark b{font-size:9px!important;letter-spacing:0!important}
body.kopken-v313 .member-history-stamp,
body.kopken-v313 .member-history-loading__stamp,
body.kopken-v313 .member-history-state__stamp{font-size:9px!important;letter-spacing:0!important}

/* Wide screens: increase breathing room, never change the information architecture. */
@media (min-width:640px){
  :root{--v313-appbar-h:66px}
  body.kopken-v313 #brandBurgerNav .brand-burger-nav__bar{padding-inline:20px!important}
  body.kopken-v313 #mainHeader{padding:20px 20px 0!important}
  body.kopken-v313 .container.gf-main{padding-left:20px!important;padding-right:20px!important}
  body.kopken-v313 #chips.chips{margin-left:-20px!important;margin-right:-20px!important;padding-left:20px!important;padding-right:20px!important}
  body.kopken-v313 .v313-utility-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  body.kopken-v313 .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
  body.kopken-v313 .v313-member-discovery{min-height:96px;padding:13px 15px;grid-template-columns:54px minmax(0,1fr) auto}.v313-member-discovery__stamp{width:54px!important;height:54px!important}.v313-member-discovery__actions{flex-direction:row!important;min-width:0!important}.v313-member-discovery__actions button{min-width:94px!important}
}

@media (min-width:1024px){
  :root{--v313-appbar-h:68px}
  body.kopken-v313 #brandBurgerNav .brand-burger-nav__bar{height:68px!important;min-height:68px!important;padding-inline:24px!important}
  body.kopken-v313 .v312-merchant-brand>img{width:38px!important;height:38px!important;flex-basis:38px!important}.v312-merchant-brand__copy strong{font-size:12.5px!important}.v312-merchant-brand__copy small{font-size:7.4px!important}
  body.kopken-v313 .v31-nav-icon,body.kopken-v313 .brand-burger-nav__toggle,body.kopken-v313 .v313-member-icon-button{width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important}
  body.kopken-v313 #brandBurgerNav .brand-burger-nav__dropdown{top:75px!important;right:max(16px,calc((100vw - var(--v313-shell))/2 + 20px))!important;width:390px!important}
  body.kopken-v313 #mainHeader{display:block!important;padding:24px 24px 0!important}
  body.kopken-v313 .container.gf-main{padding:8px 24px 34px!important}
  body.kopken-v313 #chips.chips{margin-left:-24px!important;margin-right:-24px!important;padding-left:24px!important;padding-right:24px!important}
  body.kopken-v313 .promo-slider{max-width:100%!important}
  body.kopken-v313 .v313-member-discovery{margin-top:0!important}
  body.kopken-v313 .category-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
  body.kopken-v313 .product-name{font-size:12.2px!important}.product-price{font-size:14px!important}
  body.kopken-v313 #screenSummary{max-width:780px!important}
  body.kopken-v313 #cart.cart{display:block!important;grid-template-columns:none!important}
  body.kopken-v313 #cart>#summaryCard{position:relative!important;top:auto!important}
  body.kopken-v313 .member-auth-v43 .member-auth-card{width:min(500px,100%)!important}
}

@media (max-width:639px){
  :root{--v313-appbar-h:60px}
  body.kopken-v313 #brandBurgerNav .brand-burger-nav__bar{height:60px!important;min-height:60px!important;padding:0 10px!important;gap:8px!important}
  body.kopken-v313 .v312-merchant-brand{max-width:min(58vw,215px)!important;gap:7px!important}.v312-merchant-brand>img{width:33px!important;height:33px!important;flex-basis:33px!important}.v312-merchant-brand__copy strong{font-size:10px!important}.v312-merchant-brand__copy small{font-size:5.9px!important}
  body.kopken-v313 .v31-nav-icon,body.kopken-v313 .brand-burger-nav__toggle,body.kopken-v313 .v313-member-icon-button{width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important;border-radius:11px!important}
  body.kopken-v313 #brandBurgerNav .brand-burger-nav__dropdown{top:67px!important;right:8px!important;width:calc(100vw - 16px)!important;max-height:calc(100dvh - 75px)!important}
  body.kopken-v313 #mainHeader{padding:12px 10px 0!important}
  body.kopken-v313 .container.gf-main{padding-left:10px!important;padding-right:10px!important}
  body.kopken-v313 #chips.chips{margin-left:-10px!important;margin-right:-10px!important;padding-left:10px!important;padding-right:10px!important}
  body.kopken-v313 .v313-member-discovery{grid-template-columns:44px minmax(0,1fr);gap:9px;min-height:0;padding:11px}.v313-member-discovery__stamp{width:44px!important;height:44px!important}.v313-member-discovery__copy>strong{font-size:10px!important}.v313-member-discovery__copy>p{font-size:7.2px!important;line-height:1.45!important}.v313-member-discovery__actions{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr!important;flex-direction:initial!important;min-width:0!important}.v313-member-discovery[data-state="member"] .v313-member-discovery__actions{grid-template-columns:1fr!important}.v313-member-discovery__actions button{min-height:35px!important;width:100%!important}.v313-mini-stamps{gap:2.5px!important}.v313-mini-stamps span{width:14px!important;height:14px!important;font-size:5px!important}
  body.kopken-v313 .v313-utility-row{grid-template-columns:1fr!important}
  body.kopken-v313 .selected-outlet-badge.v313-outlet-card{grid-template-columns:35px minmax(0,1fr) auto!important;min-height:60px!important;padding:8px 9px!important}.v313-outlet-icon{width:35px!important;height:35px!important}.selected-outlet-badge.v313-outlet-card #selectedOutletText{font-size:9.2px!important}
  body.kopken-v313 .v313-utility-row .v312-daily-wifi-card{grid-template-columns:35px minmax(0,1fr) auto!important;min-height:60px!important;padding:8px 9px!important}.v313-utility-row .v312-wifi-mark{width:35px!important;height:35px!important}
  body.kopken-v313 .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
}

@media (max-width:370px){
  body.kopken-v313 .v312-merchant-brand{max-width:132px!important}.v312-merchant-brand__copy small{display:none!important}
  body.kopken-v313 .brand-burger-nav__actions{gap:4px!important}
  body.kopken-v313 .v31-nav-icon,body.kopken-v313 .brand-burger-nav__toggle,body.kopken-v313 .v313-member-icon-button{width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important}
  body.kopken-v313 .v313-member-discovery__copy>p{display:none}
}

/* =========================================================
   KOPKEN v31.0.4 — FINAL STOREFRONT POLISH
   One mobile-width storefront shell for mobile + desktop.
   Screen state is controlled by body.is-catalog / .is-cart / .is-detail.
   ========================================================= */
:root{
  --v314-shell:440px;
  --v314-red:#b91f24;
  --v314-red-strong:#a7191e;
  --v314-red-soft:#fff1f2;
  --v314-green:#16804a;
  --v314-outer:#e7e9ed;
}
html.dark{
  --v314-red:#df5d62;
  --v314-red-strong:#c8494e;
  --v314-red-soft:rgba(223,93,98,.13);
  --v314-green:#78d0a0;
  --v314-outer:#100d0c;
}
body.kopken-v314{
  --v31-appbar-h:62px;
  min-height:100vh!important;
  padding-top:var(--v31-appbar-h)!important;
  background:var(--v314-outer)!important;
  overflow-x:hidden!important;
}
body.kopken-v314 .page-shell{
  width:min(var(--v314-shell),100%)!important;
  max-width:var(--v314-shell)!important;
  min-height:calc(100vh - var(--v31-appbar-h))!important;
  margin:0 auto!important;
  background:var(--v31-bg)!important;
  box-shadow:0 0 0 1px rgba(55,45,40,.04),0 16px 46px rgba(35,29,26,.10)!important;
  overflow:visible!important;
}
html.dark body.kopken-v314 .page-shell{box-shadow:0 0 0 1px rgba(255,255,255,.035),0 18px 48px rgba(0,0,0,.28)!important}

/* Centered app bar: same visual width as the storefront shell on desktop. */
body.kopken-v314 #brandBurgerNav.v31-primary-nav{
  height:var(--v31-appbar-h)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.kopken-v314 #brandBurgerNav .brand-burger-nav__bar{
  width:min(var(--v314-shell),100%)!important;
  height:var(--v31-appbar-h)!important;
  min-height:var(--v31-appbar-h)!important;
  margin:0 auto!important;
  padding:0 10px!important;
  gap:8px!important;
  background:color-mix(in srgb,var(--v31-card) 96%,transparent)!important;
  border:0!important;
  border-bottom:1px solid var(--v31-line)!important;
  border-radius:0!important;
  box-shadow:0 4px 18px rgba(38,29,24,.045)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}
body.kopken-v314 .v312-merchant-brand{min-width:0!important;max-width:220px!important;gap:8px!important}
body.kopken-v314 .v312-merchant-brand>img{width:34px!important;height:34px!important;flex:0 0 34px!important;border-radius:10px!important}
body.kopken-v314 .v312-merchant-brand__copy strong{font-size:10.5px!important;line-height:1.15!important}
body.kopken-v314 .v312-merchant-brand__copy small{margin-top:2px!important;font-size:6px!important;line-height:1.15!important;color:var(--v31-muted)!important}
body.kopken-v314 .brand-burger-nav__actions{gap:5px!important}
body.kopken-v314 .v31-nav-icon,
body.kopken-v314 .brand-burger-nav__toggle,
body.kopken-v314 .v313-member-icon-button{
  width:38px!important;min-width:38px!important;max-width:38px!important;
  height:38px!important;min-height:38px!important;max-height:38px!important;
  flex:0 0 38px!important;border-radius:11px!important;
  border:1px solid var(--v31-line)!important;background:var(--v31-card)!important;color:var(--v31-text)!important;
  box-shadow:none!important;
}
body.kopken-v314 .v313-member-icon-button.is-member{
  border-color:rgba(185,31,36,.28)!important;background:var(--v314-red-soft)!important;color:var(--v314-red)!important;
  position:relative!important;
}
body.kopken-v314 .v313-member-icon-button.is-member::after{
  content:'';position:absolute;right:4px;top:4px;width:7px;height:7px;border-radius:50%;background:var(--v314-red);box-shadow:0 0 0 2px var(--v31-card)
}
body.kopken-v314 #brandBurgerNav .brand-burger-nav__dropdown{
  position:fixed!important;
  top:calc(var(--v31-appbar-h) + 6px)!important;
  right:max(8px,calc((100vw - min(var(--v314-shell),100vw))/2 + 8px))!important;
  left:auto!important;
  width:min(360px,calc(100vw - 16px))!important;
  max-height:calc(100dvh - var(--v31-appbar-h) - 16px)!important;
  border-radius:16px!important;
}

/* Screen-state isolation: catalog utilities never leak into cart/detail. */
body.kopken-v314 #mainHeader{
  display:block!important;
  width:100%!important;max-width:none!important;margin:0!important;
  padding:12px 10px 0!important;
  background:transparent!important;
}
body.kopken-v314.is-cart #mainHeader,
body.kopken-v314.is-detail #mainHeader{display:none!important}
body.kopken-v314.is-cart #screenCatalog{display:none!important}
body.kopken-v314.is-catalog #screenCatalog.is-active{display:block!important}
body.kopken-v314 .container.gf-main{width:100%!important;max-width:none!important;padding:8px 10px 24px!important}
body.kopken-v314 #screenSummary{width:100%!important;max-width:none!important;margin:0!important;padding-top:4px!important}
body.kopken-v314 #screenSummary>.cart-header{max-width:none!important;margin:0!important}
body.kopken-v314 #cart.cart{display:block!important;width:100%!important}

/* Promo slider: familiar mobile proportions, minimalist nav controls. */
body.kopken-v314 .promo-slider{margin:0 0 10px!important;border-radius:17px!important;box-shadow:0 5px 18px rgba(46,34,28,.055)!important}
body.kopken-v314 .promo-slider__viewport{min-height:0!important;height:auto!important;aspect-ratio:auto!important}
body.kopken-v314 .promo-slider__nav{
  width:28px!important;height:36px!important;border:0!important;border-radius:10px!important;
  background:rgba(255,255,255,.82)!important;color:var(--v314-red)!important;
  box-shadow:none!important;font-size:25px!important;font-weight:400!important;line-height:1!important;
  backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important;
}
html.dark body.kopken-v314 .promo-slider__nav{background:rgba(33,28,25,.82)!important;color:#f1888c!important}
body.kopken-v314 .promo-slider__nav--prev{left:7px!important}
body.kopken-v314 .promo-slider__nav--next{right:7px!important}
body.kopken-v314 .promo-slider__footer{min-height:29px!important;padding:2px 9px 6px!important}

/* Member discovery stays compact and storefront-oriented. */
body.kopken-v314 .v313-member-discovery{margin:0 0 9px!important;border-radius:15px!important;padding:10px!important;box-shadow:none!important}
body.kopken-v314 .v313-member-discovery__actions button.is-primary,
body.kopken-v314 .member-auth-submit,
body.kopken-v314 .v31-split-actions button:not(.is-ghost){background:var(--v314-red)!important;color:#fff!important}
body.kopken-v314 .v313-member-discovery__actions button.is-primary:hover,
body.kopken-v314 .member-auth-submit:hover{background:var(--v314-red-strong)!important}

/* Outlet + WiFi utility row. */
body.kopken-v314 .v313-utility-row{
  display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin:0 0 9px!important;width:100%!important;
}
body.kopken-v314 .selected-outlet-badge.v313-outlet-card{
  display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;align-items:center!important;gap:9px!important;
  width:100%!important;min-width:0!important;min-height:60px!important;margin:0!important;padding:8px 9px!important;
  border:1px solid var(--v31-line)!important;border-radius:14px!important;background:var(--v31-card)!important;box-shadow:none!important;
}
body.kopken-v314 .selected-outlet-badge.v313-outlet-card::before{content:none!important}
body.kopken-v314 .v313-outlet-icon{width:36px!important;height:36px!important;border-radius:11px!important;background:var(--v314-red-soft)!important;color:var(--v314-red)!important}
body.kopken-v314 .v313-outlet-icon svg{width:18px!important;height:18px!important}
body.kopken-v314 .selected-outlet-badge.v313-outlet-card .v313-outlet-copy{display:block!important;min-width:0!important;overflow:hidden!important}
body.kopken-v314 .selected-outlet-badge.v313-outlet-card .v313-outlet-copy>span{display:block!important;margin:0 0 2px!important;font-size:6.5px!important;line-height:1.15!important;color:var(--v31-muted)!important;font-weight:800!important;letter-spacing:.06em!important;text-transform:uppercase!important}
body.kopken-v314 .selected-outlet-badge.v313-outlet-card #selectedOutletText{display:block!important;min-width:0!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:9.5px!important;line-height:1.35!important;font-weight:800!important;color:var(--v31-text)!important}
body.kopken-v314 .selected-outlet-badge.v313-outlet-card #selectedOutletMeta{display:none!important}
body.kopken-v314 .selected-outlet-badge.v313-outlet-card #btnChangeOutlet{min-width:52px!important;min-height:34px!important;padding:0 9px!important;border:0!important;border-radius:10px!important;background:var(--v314-red-soft)!important;color:var(--v314-red)!important;font-size:7.5px!important;font-weight:850!important;box-shadow:none!important}
body.kopken-v314 .v313-utility-row .v312-daily-wifi-card{min-height:58px!important;padding:8px 9px!important;border-radius:14px!important;box-shadow:none!important}

/* Search + categories: red selected state, no black active UI. */
body.kopken-v314 .search-row{margin:0 0 8px!important}
body.kopken-v314 #search.search{height:46px!important;border-radius:14px!important;font-size:16px!important}
body.kopken-v314 #chips.chips{margin:0 -10px!important;padding:7px 10px 9px!important;background:color-mix(in srgb,var(--v31-bg) 95%,transparent)!important}
body.kopken-v314 #chips.chips.is-sticky{
  top:var(--v31-appbar-h)!important;
  width:min(var(--chips-fixed-width),var(--v314-shell))!important;
  padding:7px 10px 8px!important;
}
body.kopken-v314 .chip.active,
body.kopken-v314 .chip.is-active,
body.kopken-v314 .pill.active,
body.kopken-v314 .pill.is-active{background:var(--v314-red)!important;border-color:var(--v314-red)!important;color:#fff!important}

/* Product cards: restore compact pre-redesign product-body hierarchy. */
body.kopken-v314 .category-block{margin-bottom:16px!important}
body.kopken-v314 .category-title{font-size:14px!important;margin:6px 2px 8px!important}
body.kopken-v314 .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
body.kopken-v314 .product-card{
  border-radius:16px!important;border:1px solid var(--v31-line)!important;background:var(--v31-card)!important;
  box-shadow:0 4px 11px rgba(42,32,26,.035)!important;transform:none!important;
}
body.kopken-v314 .product-card:hover{transform:none!important;box-shadow:0 5px 14px rgba(42,32,26,.045)!important}
body.kopken-v314 .product-image{width:100%!important;padding-top:70%!important;aspect-ratio:auto!important}
body.kopken-v314 .product-body{padding:8px 9px 9px!important;display:flex!important;flex:1 1 auto!important;flex-direction:column!important;gap:4px!important}
body.kopken-v314 .product-name{min-height:2.8em!important;font-size:12.5px!important;line-height:1.4!important;font-weight:650!important}
body.kopken-v314 .product-price-row{margin-top:auto!important;min-height:0!important;display:flex!important;align-items:baseline!important;gap:5px!important;row-gap:4px!important;flex-wrap:wrap!important}
body.kopken-v314 .product-price-old{font-size:10px!important;color:#9a9390!important}
body.kopken-v314 .product-price{font-size:14.5px!important;line-height:1.15!important;font-weight:850!important;color:var(--v314-red)!important}
body.kopken-v314 .product-saving-badge{
  flex-basis:100%!important;width:100%!important;max-width:100%!important;justify-content:flex-start!important;
  min-height:20px!important;padding:4px 7px!important;border-radius:8px!important;background:var(--v314-red-soft)!important;
  color:var(--v314-red)!important;font-size:7.8px!important;font-weight:850!important;line-height:1.2!important;
}
body.kopken-v314 .product-footer{width:100%!important;min-height:40px!important;margin-top:5px!important;display:flex!important;align-items:center!important;justify-content:flex-end!important}
body.kopken-v314 .product-card:not(.is-bundle) .btn-plus:not(:disabled){
  flex:0 0 42px!important;width:42px!important;min-width:42px!important;max-width:42px!important;
  height:42px!important;min-height:42px!important;max-height:42px!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:13px!important;background:var(--v314-red)!important;color:#fff!important;
  box-shadow:0 7px 16px rgba(185,31,36,.18)!important;font-size:24px!important;font-weight:650!important;
}
body.kopken-v314 .product-card:not(.is-bundle) .btn-plus:not(:disabled):active{background:var(--v314-red-strong)!important;transform:translateY(1px)!important}
body.kopken-v314 .product-card.is-bundle .btn-plus{background:var(--v314-red)!important;color:#fff!important}

/* Outlet status: Buka = green, Tutup = red/neutral. */
body.kopken-v314 .outlet-card__status.is-open{background:rgba(22,128,74,.11)!important;color:var(--v314-green)!important}
body.kopken-v314 .outlet-card__status.is-closed{background:rgba(185,31,36,.09)!important;color:var(--v314-red)!important}
body.kopken-v314 .outlet-detail-badge:not(.is-closed){background:rgba(22,128,74,.12)!important;color:var(--v314-green)!important}
body.kopken-v314 .outlet-detail-badge.is-closed{background:rgba(185,31,36,.10)!important;color:var(--v314-red)!important}

/* Product detail: centered compact dialog again, never full-screen. */
body.kopken-v314 #detailModal.gf-modal{
  display:none!important;align-items:flex-start!important;justify-content:center!important;padding:0 10px!important;
}
body.kopken-v314 #detailModal.gf-modal.is-open{display:flex!important}
body.kopken-v314 #detailModal .gf-modal__overlay{background:rgba(19,15,13,.52)!important;backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important}
body.kopken-v314 #detailModal .gf-modal__card{
  position:relative!important;width:min(92vw,420px)!important;height:min(82dvh,680px)!important;max-height:min(82dvh,680px)!important;
  margin:max(4.5vh,16px) auto 0!important;padding:11px!important;border:1px solid var(--v31-line)!important;border-radius:20px!important;
  background:var(--v31-card)!important;color:var(--v31-text)!important;box-shadow:0 24px 70px rgba(0,0,0,.30)!important;overflow:hidden!important;
}
body.kopken-v314 #detailModal .gf-modal__card::before{content:none!important}
body.kopken-v314 #detailModal .detail-header{
  position:relative!important;z-index:30!important;flex:0 0 auto!important;min-height:48px!important;padding:5px 48px 8px 5px!important;
  background:var(--v31-card)!important;border-bottom:1px solid transparent!important;
}
body.kopken-v314 #detailModal .detail-x{
  position:absolute!important;top:3px!important;right:3px!important;z-index:40!important;
  width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;
  border:1px solid var(--v31-line)!important;border-radius:12px!important;background:var(--v31-card-soft)!important;color:var(--v31-text)!important;
  display:grid!important;place-items:center!important;cursor:pointer!important;box-shadow:none!important;
}
body.kopken-v314 #detailModal .gf-modal__body{max-height:none!important;min-height:0!important;flex:1 1 auto!important;overflow:auto!important;padding:0 7px 12px!important}
body.kopken-v314 #detailModal .detail-card{min-height:0!important;overflow:visible!important;padding-bottom:8px!important}
body.kopken-v314 #detailModal .detail-bottom{position:sticky!important;bottom:0!important;z-index:10!important;padding:10px 4px 4px!important;background:linear-gradient(180deg,color-mix(in srgb,var(--v31-card) 0%,transparent),var(--v31-card) 28%)!important;border-top:0!important}
body.kopken-v314 #detailModal .detail-cta{background:var(--v314-red)!important;color:#fff!important;border-radius:13px!important;min-height:46px!important}

/* Cart: clean mobile-width view. Empty cart reveals only its empty state. */
body.kopken-v314 .cart-header{padding:5px 2px 10px!important}
body.kopken-v314 .cart-back{background:var(--v31-card)!important;color:var(--v314-red)!important;border-color:var(--v31-line)!important}
body.kopken-v314 .cart-section,
body.kopken-v314 .summary-card{border-radius:16px!important;box-shadow:none!important}
body.kopken-v314 #cart.is-v313-empty>.cart-section:first-child>.cart-title-label,
body.kopken-v314 #cart.is-v313-empty #cartList,
body.kopken-v314 #cart.is-v313-empty #cartTotalPcs,
body.kopken-v314 #cart.is-v313-empty #v31CartTools,
body.kopken-v314 #cart.is-v313-empty #cartAddMore,
body.kopken-v314 #cart.is-v313-empty #corporateProgressCard,
body.kopken-v314 #cart.is-v313-empty #summaryCard,
body.kopken-v314 #cart.is-v313-empty #voucherRedeemPanel,
body.kopken-v314 #cart.is-v313-empty #v31LoyaltyCheck,
body.kopken-v314 #cart.is-v313-empty .checkout-form,
body.kopken-v314 #cart.is-v313-empty .pickup-schedule{display:none!important}
body.kopken-v314 #cart.is-v313-empty #v313CartEmptyState{display:flex!important}
body.kopken-v314 .v313-cart-empty-state button{background:var(--v314-red)!important;color:#fff!important}
body.kopken-v314 .v31-loyalty-check button{background:var(--v314-red)!important;color:#fff!important;border-color:var(--v314-red)!important}
body.kopken-v314 .v313-loyalty-progress>span{background:var(--v314-red)!important}
body.kopken-v314 .v31-split-total{background:var(--v314-red-soft)!important;color:var(--v31-text)!important;border:1px solid rgba(185,31,36,.10)!important}
body.kopken-v314 .v31-split-total small{color:var(--v31-muted)!important}

/* Member modal remains compact and centered on every viewport. */
body.kopken-v314 .member-auth-modal{align-items:center!important;justify-content:center!important;padding:14px!important}
body.kopken-v314 .member-auth-v43 .member-auth-card{
  width:min(410px,100%)!important;max-height:min(86dvh,700px)!important;overflow:auto!important;
  border:1px solid var(--v31-line)!important;border-radius:20px!important;background:var(--v31-card)!important;
}
body.kopken-v314 .member-auth-close{width:40px!important;height:40px!important;border-radius:12px!important}
body.kopken-v314 .member-stamp-mark.is-earned,
body.kopken-v314 .member-history-stamp.is-earned,
body.kopken-v314 .member-history-loading__stamp,
body.kopken-v314 .member-history-state__stamp{background:var(--v314-red-soft)!important;color:var(--v314-red)!important;border-color:rgba(185,31,36,.18)!important}

/* Small screens retain the exact same information architecture. */
@media (max-width:480px){
  body.kopken-v314{background:var(--v31-bg)!important}
  body.kopken-v314 .page-shell{box-shadow:none!important}
  body.kopken-v314 .v312-merchant-brand{max-width:min(53vw,205px)!important}
  body.kopken-v314 #brandBurgerNav .brand-burger-nav__dropdown{right:8px!important;width:calc(100vw - 16px)!important}
}
@media (max-width:360px){
  body.kopken-v314 .v312-merchant-brand{max-width:125px!important}
  body.kopken-v314 .v312-merchant-brand__copy small{display:none!important}
  body.kopken-v314 .v31-nav-icon,
  body.kopken-v314 .brand-burger-nav__toggle,
  body.kopken-v314 .v313-member-icon-button{width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important;max-height:36px!important;flex-basis:36px!important}
  body.kopken-v314 .selected-outlet-badge.v313-outlet-card{grid-template-columns:34px minmax(0,1fr) auto!important;gap:7px!important}
  body.kopken-v314 .v313-outlet-icon{width:34px!important;height:34px!important}
  body.kopken-v314 .category-grid{gap:7px!important}
}

/* ========================================================================
   KOPKEN v31.0.5 — Mobile-first stabilization for iOS Safari + Android Chrome
   Final compatibility layer. Mobile and desktop intentionally share one flow.
   ======================================================================== */
:root{
  --v315-shell:448px;
  --v315-appbar-h:68px;
  --v315-touch:48px;
  --v315-red:#b91f24;
  --v315-red-strong:#9f1a1f;
  --v315-red-soft:rgba(185,31,36,.09);
  --v315-green:#16804a;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--v315-appbar-h) + 48px)}
html,body{max-width:100%;overflow-x:hidden}
body.kopken-v315{
  --v31-appbar-h:var(--v315-appbar-h);
  padding-top:calc(var(--v315-appbar-h) + env(safe-area-inset-top,0px))!important;
  background:#e8eaed!important;
  overscroll-behavior-y:auto;
}
html.dark body.kopken-v315{background:#11100f!important}
body.kopken-v315 .page-shell{
  width:min(var(--v315-shell),100%)!important;
  max-width:var(--v315-shell)!important;
  min-height:calc(100svh - var(--v315-appbar-h))!important;
  margin:0 auto!important;
  background:var(--v31-bg)!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  overflow:visible!important;
}
@media(max-width:448px){
  body.kopken-v315{background:var(--v31-bg)!important}
}

/* App bar: one mobile-sized bar on every viewport. */
body.kopken-v315 #brandBurgerNav.brand-burger-nav{
  top:env(safe-area-inset-top,0px)!important;
  height:var(--v315-appbar-h)!important;
  z-index:5200!important;
  background:transparent!important;
  border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  transition:opacity .16s ease,visibility .16s ease!important;
}
body.kopken-v315 #brandBurgerNav.is-onboarding-hidden{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
}
body.kopken-v315 #brandBurgerNav .brand-burger-nav__bar{
  width:min(var(--v315-shell),100%)!important;
  height:var(--v315-appbar-h)!important;min-height:var(--v315-appbar-h)!important;
  margin:0 auto!important;padding:0 10px!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;
  background:var(--v31-card)!important;
  border:0!important;border-bottom:1px solid var(--v31-line)!important;border-radius:0!important;
  box-shadow:0 3px 14px rgba(40,31,26,.045)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.kopken-v315 .v312-merchant-brand{
  flex:1 1 auto!important;min-width:0!important;max-width:none!important;gap:9px!important;
}
body.kopken-v315 .v312-merchant-brand>img{
  width:40px!important;height:40px!important;flex:0 0 40px!important;padding:3px!important;
  border-radius:12px!important;background:#fff!important;object-fit:contain!important;
  box-shadow:0 2px 9px rgba(42,31,25,.065)!important;
}
body.kopken-v315 .v312-merchant-brand__copy{display:block!important;min-width:0!important}
body.kopken-v315 .v312-merchant-brand__copy strong{
  display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  font-size:13.5px!important;line-height:1.15!important;font-weight:800!important;letter-spacing:-.025em!important;
}
body.kopken-v315 .v312-merchant-brand__copy small{
  display:block!important;margin-top:3px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  font-size:9.1px!important;line-height:1.2!important;color:var(--v31-muted)!important;font-weight:600!important;letter-spacing:-.01em!important;
}
body.kopken-v315 .brand-burger-nav__actions{flex:0 0 auto!important;gap:5px!important}
body.kopken-v315 .v31-nav-icon,
body.kopken-v315 .v313-member-icon-button,
body.kopken-v315 .brand-burger-nav__toggle{
  width:var(--v315-touch)!important;height:var(--v315-touch)!important;
  min-width:var(--v315-touch)!important;min-height:var(--v315-touch)!important;max-width:var(--v315-touch)!important;max-height:var(--v315-touch)!important;
  flex:0 0 var(--v315-touch)!important;border-radius:12px!important;
  border:1px solid var(--v31-line)!important;background:var(--v31-card)!important;color:var(--v31-text)!important;
  box-shadow:none!important;-webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
body.kopken-v315 .v31-nav-icon:active,
body.kopken-v315 .v313-member-icon-button:active,
body.kopken-v315 .brand-burger-nav__toggle:active{background:var(--v31-card-soft)!important;transform:scale(.97)}
body.kopken-v315 .brand-burger-nav__toggle{
  position:relative!important;display:block!important;padding:0!important;
}
body.kopken-v315 .brand-burger-nav__toggle span{
  position:absolute!important;left:50%!important;width:18px!important;height:1.5px!important;margin:0!important;
  border-radius:999px!important;background:currentColor!important;transform-origin:center!important;
  transition:transform .18s ease,opacity .14s ease,top .18s ease!important;
}
body.kopken-v315 .brand-burger-nav__toggle span:nth-child(1){top:14px!important;transform:translateX(-50%)!important}
body.kopken-v315 .brand-burger-nav__toggle span:nth-child(2){top:21px!important;transform:translateX(-50%)!important}
body.kopken-v315 .brand-burger-nav__toggle span:nth-child(3){top:28px!important;transform:translateX(-50%)!important}
body.kopken-v315 #brandBurgerNav.open .brand-burger-nav__toggle span:nth-child(1){top:21px!important;transform:translateX(-50%) rotate(45deg)!important}
body.kopken-v315 #brandBurgerNav.open .brand-burger-nav__toggle span:nth-child(2){opacity:0!important;transform:translateX(-50%) scaleX(.4)!important}
body.kopken-v315 #brandBurgerNav.open .brand-burger-nav__toggle span:nth-child(3){top:21px!important;transform:translateX(-50%) rotate(-45deg)!important}
body.kopken-v315 #brandBurgerNav .brand-burger-nav__dropdown{
  top:calc(env(safe-area-inset-top,0px) + var(--v315-appbar-h) + 6px)!important;
  right:max(8px,calc((100vw - min(var(--v315-shell),100vw))/2 + 8px))!important;left:auto!important;
  width:min(calc(var(--v315-shell) - 16px),calc(100vw - 16px))!important;
  max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--v315-appbar-h) - 18px)!important;
  padding:10px!important;border-radius:16px!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;
}
html.v315-menu-open,html.v315-menu-open body{overflow:hidden!important;overscroll-behavior:none!important}

/* Secondary navigation rows: visually clickable without becoming loud CTA buttons. */
body.kopken-v315 .v312-nav-secondary{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;margin:9px 0 2px!important;font-size:inherit!important}
body.kopken-v315 .v315-secondary-row{
  width:100%!important;min-height:52px!important;padding:7px 8px!important;margin:0!important;
  display:grid!important;grid-template-columns:36px minmax(0,1fr) 18px!important;align-items:center!important;gap:9px!important;
  border:1px solid var(--v31-line)!important;border-radius:12px!important;background:var(--v31-card-soft)!important;
  color:var(--v31-text)!important;text-decoration:none!important;text-align:left!important;font:inherit!important;cursor:pointer!important;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
body.kopken-v315 .v315-secondary-row:active{background:var(--v315-red-soft)!important}
body.kopken-v315 .v315-secondary-row__icon{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;border-radius:10px!important;background:var(--v315-red-soft)!important;color:var(--v315-red)!important;font-size:11px!important;font-weight:900!important}
body.kopken-v315 .v315-secondary-row__copy{display:block!important;min-width:0!important}
body.kopken-v315 .v315-secondary-row__copy strong{display:block!important;font-size:10.5px!important;line-height:1.25!important;font-weight:800!important}
body.kopken-v315 .v315-secondary-row__copy small{display:block!important;margin-top:2px!important;color:var(--v31-muted)!important;font-size:8.2px!important;line-height:1.35!important}
body.kopken-v315 .v315-secondary-row__arrow{color:var(--v31-muted)!important;font-size:18px!important;line-height:1!important}

/* Main storefront: desktop deliberately keeps the mobile composition. */
body.kopken-v315 #mainHeader{width:100%!important;max-width:none!important;padding:11px 10px 0!important;margin:0!important}
body.kopken-v315 .v313-utility-row{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin:0 0 9px!important;width:100%!important}
body.kopken-v315 .selected-outlet-badge.v313-outlet-card,
body.kopken-v315 .v313-utility-row .v312-daily-wifi-card{width:100%!important;margin:0!important;min-height:60px!important}
body.kopken-v315 .container.gf-main{width:100%!important;max-width:none!important;padding:8px 10px 24px!important}
body.kopken-v315 .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}

/* WiFi utility uses a familiar platform glyph. */
body.kopken-v315 .v312-wifi-mark{
  display:grid!important;place-items:center!important;width:38px!important;height:38px!important;border-radius:11px!important;
  background:var(--v31-card-soft)!important;color:inherit!important;font-size:20px!important;font-weight:400!important;letter-spacing:0!important;
}

/* Slider: single chevron, minimal visual surface, full touch area. */
body.kopken-v315 .promo-slider__nav{
  width:var(--v315-touch)!important;height:var(--v315-touch)!important;
  border:0!important;border-radius:12px!important;background:rgba(255,255,255,.72)!important;
  color:var(--v315-red)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  font-size:27px!important;font-family:system-ui,-apple-system,'Segoe UI',sans-serif!important;font-weight:300!important;line-height:1!important;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
html.dark body.kopken-v315 .promo-slider__nav{background:rgba(35,30,27,.72)!important;color:#f18c90!important}
body.kopken-v315 .promo-slider__nav:active{background:var(--v315-red-soft)!important;transform:scale(.96)}

/* Outlet modal must cover the app bar. During first onboarding the app bar is also hidden. */
body.kopken-v315 .outlet-modal{z-index:7600!important;padding-top:env(safe-area-inset-top,0px)!important;padding-bottom:env(safe-area-inset-bottom,0px)!important}
body.kopken-v315 .outlet-modal__card{max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 18px)!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}

/* Product detail: compact, centered, above app bar, with solid footer. */
body.kopken-v315 #detailModal.gf-modal{
  z-index:7800!important;align-items:center!important;justify-content:center!important;
  padding:max(10px,env(safe-area-inset-top,0px)) 10px max(10px,env(safe-area-inset-bottom,0px))!important;
}
body.kopken-v315 #detailModal .gf-modal__overlay{background:rgba(18,14,12,.56)!important;backdrop-filter:blur(3px)!important;-webkit-backdrop-filter:blur(3px)!important}
body.kopken-v315 #detailModal .gf-modal__card{
  width:min(calc(100vw - 22px),400px)!important;height:auto!important;
  max-height:min(82dvh,680px)!important;margin:0 auto!important;padding:10px!important;
  display:flex!important;flex-direction:column!important;border-radius:19px!important;overflow:hidden!important;
}
body.kopken-v315 #detailModal #screenDetail{display:flex!important;flex-direction:column!important;min-height:0!important;flex:1 1 auto!important}
body.kopken-v315 #detailModal .detail-header{min-height:50px!important;padding:5px 52px 8px 4px!important;flex:0 0 auto!important}
body.kopken-v315 #detailModal .detail-x{
  top:3px!important;right:3px!important;width:var(--v315-touch)!important;height:var(--v315-touch)!important;
  min-width:var(--v315-touch)!important;min-height:var(--v315-touch)!important;border-radius:12px!important;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
body.kopken-v315 #detailModal .gf-modal__body{
  min-height:0!important;flex:1 1 auto!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;
  padding:0 6px 8px!important;
}
body.kopken-v315 #detailModal .detail-bottom{
  position:sticky!important;bottom:0!important;z-index:12!important;margin-top:8px!important;padding:9px 0 max(2px,env(safe-area-inset-bottom,0px))!important;
  background:var(--v31-card)!important;border-top:1px solid var(--v31-line)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.kopken-v315 #detailModal .modal-footer-row{
  display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:8px!important;width:100%!important;
}
body.kopken-v315 #detailModal .detail-qty-control{
  display:grid!important;grid-template-columns:var(--v315-touch) 36px var(--v315-touch)!important;gap:3px!important;align-items:center!important;
}
body.kopken-v315 #detailModal .detail-qty-control button{
  width:var(--v315-touch)!important;height:var(--v315-touch)!important;min-width:var(--v315-touch)!important;min-height:var(--v315-touch)!important;
  border-radius:12px!important;border:1px solid var(--v31-line)!important;background:var(--v31-card-soft)!important;color:var(--v31-text)!important;
  font-size:20px!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
body.kopken-v315 #detailModal .detail-qty-control span{
  width:36px!important;height:var(--v315-touch)!important;border:0!important;background:transparent!important;font-size:13px!important;font-weight:800!important;
}
body.kopken-v315 #detailModal .detail-cta{
  width:100%!important;min-width:0!important;min-height:var(--v315-touch)!important;margin:0!important;padding:0 12px!important;
  border-radius:12px!important;background:var(--v315-red)!important;color:#fff!important;font-size:10.5px!important;font-weight:850!important;
  box-shadow:none!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
body.kopken-v315 #detailModal .detail-cta:active{background:var(--v315-red-strong)!important}

/* Corporate / clean modal: useful content rather than an empty shell. */
body.kopken-v315 .sgp-modal{padding:max(12px,env(safe-area-inset-top,0px)) 12px max(12px,env(safe-area-inset-bottom,0px))!important}
body.kopken-v315 .sgp-modal__card{
  width:min(calc(100vw - 24px),410px)!important;max-height:min(86dvh,720px)!important;overflow:auto!important;
  border-radius:19px!important;background:var(--v31-card)!important;color:var(--v31-text)!important;border:1px solid var(--v31-line)!important;
  overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;
}
body.kopken-v315 .sgp-modal__sub{color:var(--v31-muted)!important}
body.kopken-v315 .sgp-modal__msg{color:var(--v31-text)!important;white-space:normal!important}
body.kopken-v315 .v315-corporate-intro{margin:0 0 10px;color:var(--v31-muted);font-size:10px;line-height:1.55}
body.kopken-v315 .v315-corporate-tiers{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}
body.kopken-v315 .v315-corporate-tier{padding:9px;border:1px solid var(--v31-line);border-radius:12px;background:var(--v31-card-soft)}
body.kopken-v315 .v315-corporate-tier strong{display:block;font-size:11px}.v315-corporate-tier span{display:block;margin-top:2px;color:var(--v31-muted);font-size:8.2px}.v315-corporate-tier b{display:block;margin-top:6px;color:var(--v315-red);font-size:9px}
body.kopken-v315 .v315-corporate-note{padding:9px 10px;border-radius:11px;background:var(--v315-red-soft);color:var(--v31-text);font-size:8.7px;line-height:1.55}
body.kopken-v315 .sgp-modal__actions{gap:7px!important}
body.kopken-v315 .sgp-btn{min-height:var(--v315-touch)!important;border-radius:12px!important}

/* Payment summary: tighter scanning rhythm and larger labels. */
body.kopken-v315 .summary-card{padding:13px 13px 14px!important}
body.kopken-v315 .summary-card h4{margin:0 0 9px!important;font-size:15px!important;line-height:1.25!important;font-weight:800!important;letter-spacing:-.02em!important}
body.kopken-v315 .summary-row{min-height:26px!important;margin:0!important;padding:3px 0!important;gap:10px!important;font-size:12.5px!important;line-height:1.35!important}
body.kopken-v315 .summary-row>span:first-child,
body.kopken-v315 .summary-row>strong:first-child{font-size:12.5px!important;color:var(--v31-text)!important}
body.kopken-v315 .summary-row>span:last-child,
body.kopken-v315 .summary-row>strong:last-child{font-size:13px!important;white-space:nowrap!important}
body.kopken-v315 .summary-row.summary-total{margin-top:7px!important;padding-top:10px!important;border-top:1px solid var(--v31-line)!important;min-height:38px!important}
body.kopken-v315 .summary-row.summary-total span{font-size:14px!important;font-weight:850!important}
body.kopken-v315 .summary-row.summary-total #total{font-size:18px!important;color:var(--v315-red)!important}
body.kopken-v315 .summary-saving{margin-top:9px!important;padding:9px 10px!important}
body.kopken-v315 .saving-kicker{font-size:8.5px!important}.saving-copy strong{font-size:11.5px!important}.saving-copy small{font-size:9px!important}

/* Cart screen owns the bottom CTA space — floating cart never follows into summary. */
body.kopken-v315.is-cart #fabCart,
body.kopken-v315.is-detail #fabCart{display:none!important;visibility:hidden!important;pointer-events:none!important}
body.kopken-v315.is-catalog #fabCart{visibility:visible!important}

/* Consistent tap targets for mobile controls. */
body.kopken-v315 button,
body.kopken-v315 a{ -webkit-tap-highlight-color:transparent }
body.kopken-v315 .v312-nav-tile,
body.kopken-v315 .v31-account-card,
body.kopken-v315 .v312-brand-tile,
body.kopken-v315 .v312-wifi-copy,
body.kopken-v315 #btnChangeOutlet{min-height:48px!important;touch-action:manipulation}
body.kopken-v315 #search.search{font-size:16px!important} /* avoid iOS focus zoom */

@media(max-width:380px){
  :root{--v315-appbar-h:64px}
  body.kopken-v315 .v312-merchant-brand>img{width:36px!important;height:36px!important;flex-basis:36px!important}
  body.kopken-v315 .v312-merchant-brand__copy strong{font-size:12.2px!important}
  body.kopken-v315 .v312-merchant-brand__copy small{font-size:7.9px!important}
  body.kopken-v315 #detailModal .modal-footer-row{grid-template-columns:123px minmax(0,1fr)!important;gap:6px!important}
  body.kopken-v315 #detailModal .detail-qty-control{grid-template-columns:41px 35px 41px!important;gap:3px!important}
  body.kopken-v315 #detailModal .detail-qty-control button{width:41px!important;height:44px!important;min-width:41px!important}
}
@media(prefers-reduced-motion:reduce){
  body.kopken-v315 .brand-burger-nav__toggle span{transition:none!important}
  body.kopken-v315 #brandBurgerNav{transition:none!important}
}
body.kopken-v315 .v315-corporate-detail-link{display:inline-flex;margin-top:9px;color:var(--v315-red);font-size:9px;font-weight:800;text-decoration:none}
body.kopken-v315 .v315-corporate-detail-link:active{text-decoration:underline}
@media(max-width:448px){
  body.kopken-v315 input[type="text"],
  body.kopken-v315 input[type="search"],
  body.kopken-v315 input[type="tel"],
  body.kopken-v315 input[type="password"],
  body.kopken-v315 textarea,
  body.kopken-v315 select{font-size:16px!important}
}
body.kopken-v315 .sgp-modal.is-open{display:flex!important;align-items:center!important;justify-content:center!important}
body.kopken-v315 .sgp-modal__card{margin:0!important}
body.kopken-v315 .sgp-modal__icon{background:var(--v315-red-soft)!important;border-color:rgba(185,31,36,.12)!important;color:var(--v315-red)!important;font-size:10px!important;font-weight:900!important}
body.kopken-v315 .sgp-modal__x{width:44px!important;height:44px!important;margin-left:auto!important;padding:0!important;display:grid!important;place-items:center!important;background:var(--v31-card-soft)!important;color:var(--v31-text)!important;border:1px solid var(--v31-line)!important;border-radius:12px!important}
body.kopken-v315 .sgp-btn--ghost{background:var(--v31-card-soft)!important;color:var(--v31-text)!important;border:1px solid var(--v31-line)!important}
body.kopken-v315 .v315-corporate-links{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;margin-top:10px}
body.kopken-v315 .v315-corporate-activate{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border-radius:12px;background:var(--v315-red);color:#fff;text-decoration:none;font-size:9.5px;font-weight:850;touch-action:manipulation}
body.kopken-v315 .v315-corporate-activate:active{background:var(--v315-red-strong)}
body.kopken-v315 .v315-corporate-detail-link{min-height:48px;align-items:center;padding:0 4px;margin-top:0!important}

/* ========================================================================
   KOPKEN v31.0.6 — Large-mobile polish + burger cleanup
   Final layer: same information architecture from compact phones to desktop.
   ======================================================================== */
:root{
  --v316-shell:460px;
  --v316-touch:48px;
  --v316-appbar-h:68px;
  --v316-gutter:12px;
}
body.kopken-v316{
  --v315-shell:var(--v316-shell);
  --v315-touch:var(--v316-touch);
  --v315-appbar-h:var(--v316-appbar-h);
  --v31-appbar-h:var(--v316-appbar-h);
}
body.kopken-v316 .page-shell{
  width:min(var(--v316-shell),100%)!important;
  max-width:var(--v316-shell)!important;
  margin-inline:auto!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.kopken-v316 #brandBurgerNav .brand-burger-nav__bar{
  width:min(var(--v316-shell),100%)!important;
}
body.kopken-v316 #mainHeader{
  padding:11px var(--v316-gutter) 0!important;
}
body.kopken-v316 .container.gf-main{
  padding:8px var(--v316-gutter) calc(28px + env(safe-area-inset-bottom,0px))!important;
}
body.kopken-v316 .v313-utility-row{
  grid-template-columns:minmax(0,1fr)!important;
  gap:8px!important;
}
body.kopken-v316 .category-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}

/* Keep the previous account card intact. Only reorganize the actions below it. */
body.kopken-v316 .v312-nav-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  margin-top:9px!important;
}
body.kopken-v316 .v316-nav-tile--tutorial{
  grid-column:1 / -1!important;
  min-height:50px!important;
  grid-template-columns:31px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
}

/* Secondary links stay above the brand switcher and use little vertical space. */
body.kopken-v316 .v312-nav-secondary{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  margin:9px 0 2px!important;
}
body.kopken-v316 .v315-secondary-row{
  min-width:0!important;
  min-height:48px!important;
  padding:6px 7px!important;
  grid-template-columns:28px minmax(0,1fr) 11px!important;
  gap:6px!important;
  border-radius:11px!important;
  background:var(--v31-card-soft)!important;
}
body.kopken-v316 .v315-secondary-row__icon{
  width:28px!important;height:28px!important;
  border-radius:8px!important;
  font-size:12px!important;
}
body.kopken-v316 .v315-secondary-row__copy strong{
  font-size:9.6px!important;
  line-height:1.2!important;
  white-space:normal!important;
}
body.kopken-v316 .v315-secondary-row__copy small{display:none!important}
body.kopken-v316 .v315-secondary-row__arrow{
  font-size:15px!important;
  justify-self:end!important;
}

/* WiFi copy action: icon-only with visible copy-success state. */
body.kopken-v316 .v316-wifi-copy{
  position:relative!important;
  width:var(--v316-touch)!important;
  min-width:var(--v316-touch)!important;
  max-width:var(--v316-touch)!important;
  height:var(--v316-touch)!important;
  min-height:var(--v316-touch)!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:12px!important;
  color:var(--v315-red)!important;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease!important;
}
body.kopken-v316 .v316-wifi-copy:active{transform:scale(.96)!important}
body.kopken-v316 .v316-copy-icon{
  position:absolute!important;
  width:20px!important;height:20px!important;
  fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;
  transition:opacity .16s ease,transform .18s ease!important;
}
body.kopken-v316 .v316-copy-icon--copy{opacity:1!important;transform:scale(1)!important}
body.kopken-v316 .v316-copy-icon--check{opacity:0!important;transform:scale(.65)!important}
body.kopken-v316 .v316-wifi-copy.is-copied{
  color:#14834b!important;
  background:rgba(20,131,75,.11)!important;
  border-color:rgba(20,131,75,.25)!important;
}
body.kopken-v316 .v316-wifi-copy.is-copied .v316-copy-icon--copy{opacity:0!important;transform:scale(.7)!important}
body.kopken-v316 .v316-wifi-copy.is-copied .v316-copy-icon--check{opacity:1!important;transform:scale(1)!important}

/* Slider: exactly one SVG chevron. Neutralize the legacy pseudo-arrow completely. */
body.kopken-v316 .promo-slider__nav::before,
body.kopken-v316 .promo-slider__nav::after{
  content:none!important;
  display:none!important;
}
body.kopken-v316 .promo-slider__nav{
  width:var(--v316-touch)!important;
  height:var(--v316-touch)!important;
  min-width:var(--v316-touch)!important;
  min-height:var(--v316-touch)!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  font-size:0!important;
  border:0!important;
  background:rgba(255,255,255,.70)!important;
  box-shadow:none!important;
}
html.dark body.kopken-v316 .promo-slider__nav{background:rgba(31,27,24,.72)!important}
body.kopken-v316 .v316-slider-chevron{
  width:22px!important;height:22px!important;
  fill:none!important;stroke:currentColor!important;
  stroke-width:1.85!important;stroke-linecap:round!important;stroke-linejoin:round!important;
}

/* Cart heading belongs to normal flow; no stacked sticky offset under the app bar. */
body.kopken-v316 #screenSummary{
  padding-top:4px!important;
}
body.kopken-v316 #screenSummary>.cart-header,
body.kopken-v316 .cart-header{
  position:relative!important;
  top:auto!important;
  z-index:1!important;
  width:100%!important;
  margin:0 0 8px!important;
  padding:7px 2px 10px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.kopken-v316 .cart-header-title strong{font-size:14px!important;line-height:1.2!important}
body.kopken-v316 .cart-header-title span{font-size:10px!important;line-height:1.35!important}
body.kopken-v316 .cart-back{
  min-width:var(--v316-touch)!important;
  min-height:var(--v316-touch)!important;
  width:var(--v316-touch)!important;
  height:var(--v316-touch)!important;
  flex:0 0 var(--v316-touch)!important;
}
body.kopken-v316 #cart.cart{margin-top:0!important}

/* Floating cart follows the centered mobile shell, including on desktop. */
body.kopken-v316 #fabCart.fab-cart{
  width:min(calc(var(--v316-shell) - 20px),calc(100vw - 20px))!important;
  bottom:max(10px,env(safe-area-inset-bottom,0px))!important;
}
body.kopken-v316.is-cart #fabCart,
body.kopken-v316.is-detail #fabCart{display:none!important}

/* Product density scales gently; the grid never jumps to desktop-style 3/4 columns. */
body.kopken-v316 .product-body{padding:8.5px 9px 9px!important}
body.kopken-v316 .product-name{font-size:12.5px!important;line-height:1.38!important}
body.kopken-v316 .product-price{font-size:14.7px!important}
body.kopken-v316 .product-price-old{font-size:9.8px!important}
body.kopken-v316 .product-saving-badge{font-size:7.2px!important}

/* Large phones get roomier typography and spacing, but retain the exact mobile composition. */
@media(min-width:400px){
  :root{--v316-gutter:12px;--v316-touch:48px;--v316-appbar-h:68px}
  body.kopken-v316 .product-body{padding:9px 10px 10px!important}
  body.kopken-v316 .product-name{font-size:12.9px!important}
  body.kopken-v316 .product-price{font-size:15.2px!important}
  body.kopken-v316 .product-price-old{font-size:10px!important}
  body.kopken-v316 .v313-utility-row .v312-daily-wifi-card,
  body.kopken-v316 .selected-outlet-badge.v313-outlet-card{min-height:62px!important}
  body.kopken-v316 #detailModal .gf-modal__card{width:min(calc(100vw - 28px),410px)!important}
}

/* Regular phones: iPhone 12/13/14 class widths remain the baseline, not a squeezed fallback. */
@media(min-width:360px) and (max-width:399px){
  :root{--v316-gutter:10px;--v316-touch:46px;--v316-appbar-h:66px}
  body.kopken-v316 .product-name{font-size:12.3px!important}
  body.kopken-v316 .product-price{font-size:14.5px!important}
}

/* Compact phones: reduce visual density, never the essential usability target. */
@media(max-width:359px){
  :root{--v316-gutter:8px;--v316-touch:44px;--v316-appbar-h:64px}
  body.kopken-v316 #brandBurgerNav .brand-burger-nav__bar{padding-inline:7px!important;gap:5px!important}
  body.kopken-v316 .brand-burger-nav__actions{gap:3px!important}
  body.kopken-v316 .v312-merchant-brand{gap:6px!important}
  body.kopken-v316 .v312-merchant-brand>img{width:34px!important;height:34px!important;flex-basis:34px!important;border-radius:10px!important}
  body.kopken-v316 .v312-merchant-brand__copy strong{font-size:11.8px!important}
  body.kopken-v316 .v312-merchant-brand__copy small{font-size:7.5px!important;margin-top:2px!important}
  body.kopken-v316 .product-body{padding:7.5px 8px 8px!important}
  body.kopken-v316 .product-name{font-size:11.7px!important}
  body.kopken-v316 .product-price{font-size:13.8px!important}
  body.kopken-v316 .product-price-old{font-size:9.2px!important}
  body.kopken-v316 .product-saving-badge{font-size:6.8px!important}
  body.kopken-v316 .v312-nav-tile{padding:7px!important}
  body.kopken-v316 .v315-secondary-row{padding-inline:5px!important;grid-template-columns:27px minmax(0,1fr) 9px!important;gap:4px!important}
  body.kopken-v316 .v315-secondary-row__icon{width:27px!important;height:27px!important}
  body.kopken-v316 .v315-secondary-row__copy strong{font-size:8.8px!important}
  body.kopken-v316 #detailModal .gf-modal__card{width:min(calc(100vw - 16px),400px)!important}
}

/* Desktop is deliberately only a centered mobile shell. */
@media(min-width:768px){
  :root{--v316-shell:460px;--v316-gutter:12px;--v316-touch:48px;--v316-appbar-h:68px}
  body.kopken-v316 .page-shell{width:var(--v316-shell)!important;max-width:var(--v316-shell)!important}
  body.kopken-v316 #brandBurgerNav .brand-burger-nav__bar{width:var(--v316-shell)!important;max-width:var(--v316-shell)!important}
  body.kopken-v316 #mainHeader{display:block!important;width:100%!important;grid-template-areas:none!important;grid-template-columns:none!important}
  body.kopken-v316 .v313-utility-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
  body.kopken-v316 .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.kopken-v316 #cart.cart{display:block!important;grid-template-columns:none!important}
  body.kopken-v316 #screenSummary{max-width:none!important;width:100%!important}
}

@media(prefers-reduced-motion:reduce){
  body.kopken-v316 .v316-copy-icon,
  body.kopken-v316 .v316-wifi-copy{transition:none!important}
}

/* Readability tuning across common phone widths. */
body.kopken-v316 .v313-member-discovery__copy>strong{font-size:11.2px!important}
body.kopken-v316 .v313-member-discovery__copy>p{font-size:8.5px!important;line-height:1.45!important}
body.kopken-v316 .v313-member-discovery__actions button{min-height:44px!important;font-size:8.7px!important}
body.kopken-v316 .selected-outlet-badge.v313-outlet-card #selectedOutletText{font-size:10px!important;line-height:1.3!important}
body.kopken-v316 .v313-utility-row .v312-daily-wifi-card #dailyWifiPassword{font-size:10px!important}
body.kopken-v316 .v313-utility-row .v312-daily-wifi-card #dailyWifiDate{font-size:7px!important}
@media(min-width:400px){
  body.kopken-v316 .v313-member-discovery__copy>strong{font-size:11.8px!important}
  body.kopken-v316 .v313-member-discovery__copy>p{font-size:9px!important}
  body.kopken-v316 .v313-member-discovery__actions button{min-height:46px!important;font-size:9.1px!important}
  body.kopken-v316 .selected-outlet-badge.v313-outlet-card #selectedOutletText{font-size:10.6px!important}
  body.kopken-v316 .v313-utility-row .v312-daily-wifi-card #dailyWifiPassword{font-size:10.7px!important}
  body.kopken-v316 .v313-utility-row .v312-daily-wifi-card #dailyWifiDate{font-size:7.3px!important}
}
@media(max-width:359px){
  body.kopken-v316 .v313-member-discovery__copy>strong{font-size:10.4px!important}
  body.kopken-v316 .v313-member-discovery__copy>p{display:none!important}
  body.kopken-v316 .v313-member-discovery__actions button{min-height:44px!important;font-size:8.2px!important}
  body.kopken-v316 .selected-outlet-badge.v313-outlet-card #selectedOutletText{font-size:9.4px!important}
  body.kopken-v316 .v313-utility-row .v312-daily-wifi-card #dailyWifiPassword{font-size:9.6px!important}
}

/* ========================================================================
   KOPKEN v31.0.7 — Final UI polish
   Visual controls are deliberately smaller than their touch hit regions.
   Business logic and information architecture remain unchanged.
   ======================================================================== */
:root{
  --v317-hit:44px;
  --v317-red:#b91f24;
  --v317-red-strong:#9f191e;
  --v317-red-soft:rgba(185,31,36,.085);
  --v317-green:#168451;
  --v317-green-soft:rgba(22,132,81,.095);
  --v317-radius-sm:10px;
  --v317-radius-md:14px;
  --v317-radius-lg:16px;
}

/* Refine global interaction feedback without making every control visually heavy. */
body.kopken-v317 button,
body.kopken-v317 a{
  -webkit-tap-highlight-color:transparent;
}
body.kopken-v317 button:focus-visible,
body.kopken-v317 a:focus-visible,
body.kopken-v317 input:focus-visible,
body.kopken-v317 select:focus-visible,
body.kopken-v317 textarea:focus-visible{
  outline:2px solid color-mix(in srgb,var(--v317-red) 68%,white)!important;
  outline-offset:2px!important;
}

/* Slider: generous 44px hit target, visually just a light single chevron. */
body.kopken-v317 .promo-slider__nav,
body.kopken-v317 .promo-slider__nav:hover,
body.kopken-v317 .promo-slider__nav:focus{
  width:var(--v317-hit)!important;
  min-width:var(--v317-hit)!important;
  max-width:var(--v317-hit)!important;
  height:var(--v317-hit)!important;
  min-height:var(--v317-hit)!important;
  max-height:var(--v317-hit)!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--v317-red)!important;
  box-shadow:none!important;
  opacity:.92!important;
}
html.dark body.kopken-v317 .promo-slider__nav{background:transparent!important;color:#f18b90!important}
body.kopken-v317 .promo-slider__nav:active{transform:scale(.94)!important;opacity:1!important}
body.kopken-v317 .promo-slider__nav--prev{left:2px!important}
body.kopken-v317 .promo-slider__nav--next{right:2px!important}
body.kopken-v317 .v316-slider-chevron{
  width:17px!important;
  height:17px!important;
  stroke-width:1.7!important;
}

/* Cart back: icon-only visually; preserve a comfortable invisible touch area. */
body.kopken-v317 #summaryBack.cart-back{
  width:var(--v317-hit)!important;
  height:var(--v317-hit)!important;
  min-width:var(--v317-hit)!important;
  min-height:var(--v317-hit)!important;
  flex:0 0 var(--v317-hit)!important;
  padding:0!important;
  margin-left:-8px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--v31-text)!important;
  box-shadow:none!important;
}
body.kopken-v317 #summaryBack.cart-back svg{width:18px!important;height:18px!important;stroke-width:1.8!important}
body.kopken-v317 #summaryBack.cart-back:active{transform:translateX(-1px)!important;color:var(--v317-red)!important}
body.kopken-v317 .cart-header{gap:4px!important;padding-top:5px!important;padding-bottom:9px!important}
body.kopken-v317 .cart-header-title strong{font-size:14.5px!important;font-weight:750!important;letter-spacing:-.015em!important}
body.kopken-v317 .cart-header-title span{font-size:10.5px!important;color:var(--v31-muted)!important}

/* Product +: 44px hit target but only a compact 34px red visual control. */
body.kopken-v317 .product-card:not(.is-bundle) .btn-plus:not(:disabled){
  position:relative!important;
  isolation:isolate!important;
  width:var(--v317-hit)!important;
  min-width:var(--v317-hit)!important;
  max-width:var(--v317-hit)!important;
  height:var(--v317-hit)!important;
  min-height:var(--v317-hit)!important;
  max-height:var(--v317-hit)!important;
  flex:0 0 var(--v317-hit)!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:500!important;
}
body.kopken-v317 .product-card:not(.is-bundle) .btn-plus:not(:disabled)::before{
  content:''!important;
  position:absolute!important;
  z-index:-1!important;
  width:34px!important;
  height:34px!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  border-radius:10px!important;
  background:var(--v317-red)!important;
  box-shadow:0 4px 10px rgba(185,31,36,.14)!important;
  transition:transform .14s ease,background .14s ease,box-shadow .14s ease!important;
}
body.kopken-v317 .product-card:not(.is-bundle) .btn-plus:not(:disabled):active{transform:none!important;background:transparent!important}
body.kopken-v317 .product-card:not(.is-bundle) .btn-plus:not(:disabled):active::before{
  transform:translate(-50%,-50%) scale(.94)!important;
  background:var(--v317-red-strong)!important;
  box-shadow:0 2px 7px rgba(185,31,36,.12)!important;
}
body.kopken-v317 .product-footer{min-height:38px!important;margin-top:3px!important}

/* Price hierarchy: a touch calmer and more consistent between compact and large phones. */
body.kopken-v317 .product-body{gap:3px!important}
body.kopken-v317 .product-name{font-weight:650!important;letter-spacing:-.008em!important}
body.kopken-v317 .product-price{font-weight:800!important;letter-spacing:-.02em!important}
body.kopken-v317 .product-saving-badge{
  min-height:19px!important;
  padding:3px 6px!important;
  border-radius:7px!important;
  letter-spacing:.01em!important;
}

/* Promo success is semantically positive, not another red discount row. */
body.kopken-v317 #promoAppliedRow,
body.kopken-v317 #promoAppliedRow > span,
body.kopken-v317 #promoAppliedRow #promoApplied{
  color:var(--v317-green)!important;
}
body.kopken-v317 #promoAppliedRow > span:first-child{
  font-weight:700!important;
}
body.kopken-v317 #promoAppliedRow #promoApplied{font-weight:800!important}
html.dark body.kopken-v317 #promoAppliedRow,
html.dark body.kopken-v317 #promoAppliedRow > span,
html.dark body.kopken-v317 #promoAppliedRow #promoApplied{color:#79d7a5!important}

/* Payment summary: final optical rhythm — readable without feeling loose or oversized. */
body.kopken-v317 .summary-card{
  padding:12px 13px 13px!important;
  border-radius:15px!important;
}
body.kopken-v317 .summary-card h4{
  margin-bottom:8px!important;
  font-size:14.5px!important;
  font-weight:750!important;
}
body.kopken-v317 .summary-row{
  min-height:24px!important;
  padding:2.5px 0!important;
  gap:8px!important;
  font-size:12.8px!important;
}
body.kopken-v317 .summary-row>span:first-child,
body.kopken-v317 .summary-row>strong:first-child{font-size:12.8px!important}
body.kopken-v317 .summary-row>span:last-child,
body.kopken-v317 .summary-row>strong:last-child{font-size:13px!important}
body.kopken-v317 .summary-row.summary-total{
  min-height:36px!important;
  margin-top:6px!important;
  padding-top:9px!important;
}
body.kopken-v317 .summary-row.summary-total span{font-size:14px!important}
body.kopken-v317 .summary-row.summary-total #total{font-size:17.5px!important}
body.kopken-v317 .summary-saving{margin-top:8px!important;padding:8px 9px!important;border-radius:11px!important}

/* Icon-only WiFi action keeps 44px hit target, visually quieter than previous 48px block. */
body.kopken-v317 .v316-wifi-copy{
  width:var(--v317-hit)!important;
  min-width:var(--v317-hit)!important;
  max-width:var(--v317-hit)!important;
  height:var(--v317-hit)!important;
  min-height:var(--v317-hit)!important;
  max-height:var(--v317-hit)!important;
  border-radius:11px!important;
}
body.kopken-v317 .v316-copy-icon{width:18px!important;height:18px!important;stroke-width:1.7!important}
body.kopken-v317 .v316-wifi-copy:not(.is-copied){background:transparent!important;border-color:transparent!important}
body.kopken-v317 .v316-wifi-copy.is-copied{background:var(--v317-green-soft)!important;color:var(--v317-green)!important}

/* Header icon controls: keep the touch target, reduce the visual chrome. */
body.kopken-v317 .v31-nav-icon,
body.kopken-v317 .brand-burger-nav__toggle,
body.kopken-v317 .v313-member-icon-button{
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  border-radius:11px!important;
  box-shadow:none!important;
}
body.kopken-v317 .v31-nav-icon svg,
body.kopken-v317 .v313-member-icon-button svg{width:18px!important;height:18px!important}
body.kopken-v317 .brand-burger-nav__toggle span{width:17px!important;height:1.5px!important}

/* Compact text actions should not compete visually with primary commerce CTAs. */
body.kopken-v317 .v315-secondary-row{
  min-height:44px!important;
  padding:5px 7px!important;
  border-radius:10px!important;
}
body.kopken-v317 .v315-secondary-row__icon{width:26px!important;height:26px!important;border-radius:8px!important}
body.kopken-v317 .v315-secondary-row__copy strong{font-size:9.4px!important;font-weight:700!important}

/* Primary text buttons: avoid unnecessarily tall controls while keeping touch comfort. */
body.kopken-v317 .v313-member-discovery__actions button,
body.kopken-v317 .sgp-btn,
body.kopken-v317 .v315-corporate-activate{
  min-height:44px!important;
  border-radius:11px!important;
}
body.kopken-v317 #detailModal .detail-cta{min-height:44px!important;border-radius:12px!important}

/* Modal icon close: lighter visual treatment with the same tap region. */
body.kopken-v317 #detailModal .detail-x,
body.kopken-v317 .member-auth-close,
body.kopken-v317 .sgp-modal__x{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.kopken-v317 #detailModal .detail-x:active,
body.kopken-v317 .member-auth-close:active,
body.kopken-v317 .sgp-modal__x:active{background:var(--v31-card-soft)!important;transform:scale(.96)!important}

/* Floating cart: prominent enough to find, not an oversized dock. */
body.kopken-v317 #fabCart.fab-cart{
  min-height:52px!important;
  padding:6px 8px 6px 12px!important;
  border-radius:15px!important;
  box-shadow:0 12px 30px rgba(35,25,21,.23)!important;
}

/* Keep centered-shell proportionality on large phones and desktop. */
@media(min-width:400px){
  body.kopken-v317 .product-card:not(.is-bundle) .btn-plus:not(:disabled)::before{width:35px!important;height:35px!important}
  body.kopken-v317 .product-name{font-size:12.8px!important}
  body.kopken-v317 .product-price{font-size:15px!important}
}
@media(max-width:359px){
  body.kopken-v317 .product-card:not(.is-bundle) .btn-plus:not(:disabled)::before{width:32px!important;height:32px!important;border-radius:9px!important}
  body.kopken-v317 .product-card:not(.is-bundle) .btn-plus:not(:disabled){font-size:17px!important}
  body.kopken-v317 .summary-card{padding-inline:11px!important}
  body.kopken-v317 .summary-row,
  body.kopken-v317 .summary-row>span:first-child,
  body.kopken-v317 .summary-row>strong:first-child{font-size:12.2px!important}
}

@media(prefers-reduced-motion:reduce){
  body.kopken-v317 .promo-slider__nav,
  body.kopken-v317 .product-card .btn-plus,
  body.kopken-v317 .product-card .btn-plus::before{transition:none!important}
}
