:root{--ink:#2C211B;--coral:#D86442;--sage:#66805F;--cream:#F5EFE4;--app-h:100dvh}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;font-family:"DM Sans",system-ui,sans-serif;color:var(--ink);background:#EEE7DC}body{overflow-x:hidden}button,a{font:inherit;color:inherit}.shopping-bg{position:fixed;inset:0;z-index:0;overflow:hidden}.shopping-bg img{width:100%;height:100%;object-fit:cover;filter:blur(10px) saturate(.88);transform:scale(1.12);opacity:.55}.shopping-bg i{position:absolute;inset:0;background:linear-gradient(180deg,rgba(247,242,233,.76),rgba(247,242,233,.94))}.shopping-app{position:relative;z-index:1;width:min(100%,480px);height:var(--app-h);min-height:100dvh;margin:auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.shopping-topbar{min-height:68px;padding:calc(9px + env(safe-area-inset-top)) 15px 9px;display:flex;align-items:center;justify-content:space-between;background:rgba(248,243,235,.88);border-bottom:1px solid rgba(255,255,255,.78);backdrop-filter:blur(18px);z-index:20}.shopping-topbar>div{display:grid;gap:2px}.shopping-topbar strong{font:800 16px/1.1 "Manrope",sans-serif}.shopping-topbar span{font:600 8.8px/1.2 "DM Sans",sans-serif;color:#83877F}.shopping-profile{width:41px;height:41px;border:0;border-radius:15px;background:rgba(255,255,255,.9);box-shadow:0 8px 20px rgba(67,50,35,.07);display:grid;place-items:center;position:relative}.shopping-profile>span{position:absolute;right:8px;top:8px;width:6px;height:6px;border-radius:50%;background:#78A36E}.shopping-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;padding:12px 13px 22px;display:flex;flex-direction:column;gap:11px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.shopping-scroll::-webkit-scrollbar{display:none}.shopping-hero,.shopping-price-card,.shopping-list-card,.shopping-empty{border-radius:28px;background:rgba(255,252,247,.86);border:1px solid rgba(255,255,255,.94);box-shadow:0 16px 40px rgba(68,50,34,.085);backdrop-filter:blur(14px)}.shopping-hero{min-height:218px;padding:19px;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(255,250,242,.96),rgba(255,250,242,.82) 52%,rgba(255,250,242,.08)),url('/assets/hero/hero-05.webp') center/cover}.shopping-hero>span{font:900 8px/1 "Manrope",sans-serif;letter-spacing:1.05px;color:var(--coral)}.shopping-hero h1{margin:9px 0 8px;font:700 34px/.98 "Playfair Display",serif;letter-spacing:-1px}.shopping-hero p{margin:0;max-width:28ch;font:550 10.5px/1.48 "DM Sans",sans-serif;color:#656A62}.shopping-hero em{position:absolute;left:19px;bottom:15px;font:500 17px/1 "Caveat",cursive;color:#785441;font-style:normal}.shopping-price-card,.shopping-list-card{padding:15px 14px}.shopping-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:12px}.shopping-section-head>div{display:grid;gap:3px}.shopping-section-head span{font:900 7.5px/1 "Manrope",sans-serif;letter-spacing:1px;color:var(--coral)}.shopping-section-head h2{margin:0;font:800 18px/1.05 "Manrope",sans-serif;letter-spacing:-.3px}.shopping-section-head>small{font:700 7.8px/1.25 "DM Sans",sans-serif;color:#92958E;text-align:right}.list-head button{border:0;background:#F2EDE6;color:#776B60;padding:7px 9px;border-radius:10px;font:800 8px/1 "Manrope",sans-serif}.price-loader{min-height:78px;border-radius:19px;background:linear-gradient(145deg,#F9F4ED,#F1EBE1);display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center;padding:12px}.price-loader>i{width:25px;height:25px;border-radius:50%;border:3px solid rgba(216,100,66,.15);border-top-color:#D86442;animation:spin .75s linear infinite}.price-loader div{display:grid;gap:3px}.price-loader strong{font:800 10.5px/1.15 "Manrope",sans-serif}.price-loader span{font:550 8.8px/1.4 "DM Sans",sans-serif;color:#85847D}@keyframes spin{to{transform:rotate(360deg)}}.market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.market-card{min-height:92px;padding:11px;border-radius:19px;background:#fff;border:1px solid #EEE9E1;display:grid;align-content:start;gap:4px}.market-card.is-best{background:linear-gradient(145deg,#EFF6EC,#E6F0E2);border-color:#DCE8D7}.market-card .market-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.market-card .market-name{font:800 10.5px/1 "Manrope",sans-serif}.market-card .market-badge{font:900 6.8px/1 "Manrope",sans-serif;letter-spacing:.5px;color:#5E8255;background:#fff;padding:5px 6px;border-radius:8px}.market-card strong{font:800 18px/1.1 "Manrope",sans-serif;color:#342820}.market-card small{font:650 7.8px/1.35 "DM Sans",sans-serif;color:#8C8E88}.market-card.is-unavailable{opacity:.6}.basket-best{margin-top:9px;padding:11px 12px;border-radius:17px;background:linear-gradient(145deg,#FFF1E8,#FBE7DA);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center}.basket-best div{display:grid;gap:2px}.basket-best span{font:900 7px/1 "Manrope",sans-serif;letter-spacing:.8px;color:#B85C3D}.basket-best b{font:800 10.5px/1.25 "Manrope",sans-serif}.basket-best strong{font:800 17px/1 "Manrope",sans-serif;color:#BF5C3C}.price-note{margin:9px 2px 0;font:500 7.8px/1.45 "DM Sans",sans-serif;color:#929089}.shopping-progress{display:grid;grid-template-columns:auto minmax(80px,1fr);gap:10px;align-items:center;margin-bottom:8px}.shopping-progress>div{font:750 8.5px/1 "DM Sans",sans-serif;color:#787B74}.shopping-progress>i{height:5px;border-radius:999px;background:#EAE6DF;overflow:hidden}.shopping-progress b{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#7B9773,#5F8058);transition:width .2s ease}.shopping-groups{display:grid;gap:11px}.shopping-group{display:grid;gap:6px}.shopping-group h3{margin:3px 1px 0;font:800 9.5px/1.2 "Manrope",sans-serif;color:#594D43}.shopping-item{min-height:51px;border-radius:16px;background:#fff;border:1px solid #EFEAE3;display:grid;grid-template-columns:29px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px 9px;cursor:pointer}.shopping-item input{position:absolute;opacity:0;pointer-events:none}.shopping-check{width:25px;height:25px;border-radius:9px;border:1.5px solid #D8D3CB;background:#FCFAF7;display:grid;place-items:center;color:#fff;font:900 12px/1 "Manrope",sans-serif}.shopping-item.is-checked{opacity:.56}.shopping-item.is-checked .shopping-check{background:#6F8D67;border-color:#6F8D67}.shopping-item.is-checked .shopping-check::after{content:'✓'}.shopping-item.is-checked .shopping-copy strong{text-decoration:line-through}.shopping-copy{display:grid;gap:2px;min-width:0}.shopping-copy strong{font:750 10px/1.15 "Manrope",sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shopping-copy small{font:550 7.7px/1.25 "DM Sans",sans-serif;color:#92918A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shopping-qty{font:800 8.7px/1 "Manrope",sans-serif;color:#60775B;background:#EEF4EB;padding:6px 7px;border-radius:9px;white-space:nowrap}.shopping-empty{padding:28px 20px;text-align:center}.shopping-empty div{font-size:34px}.shopping-empty h2{margin:8px 0 5px;font:800 20px/1.1 "Manrope",sans-serif}.shopping-empty p{margin:0 auto 14px;max-width:30ch;font:550 9.5px/1.5 "DM Sans",sans-serif;color:#81837C}.shopping-empty a{display:inline-grid;place-items:center;height:43px;padding:0 16px;border-radius:14px;background:linear-gradient(145deg,#DF6C47,#CB5938);color:#fff;text-decoration:none;font:800 10px/1 "Manrope",sans-serif}.bottom-nav{height:calc(60px + env(safe-area-inset-bottom));padding:4px 9px env(safe-area-inset-bottom);display:grid;grid-template-columns:1fr 1fr 1.05fr 1fr 1fr;align-items:center;background:rgba(250,246,239,.95);border-top:1px solid rgba(255,255,255,.86);backdrop-filter:blur(18px);z-index:30}.nav-item,.camera-nav{border:0;background:transparent;text-decoration:none;display:grid;justify-items:center;align-content:center;gap:2px;height:52px;color:#9A9C96;font:700 7.5px/1 "DM Sans",sans-serif}.nav-icon{height:24px;display:grid;place-items:center}.nav-item.active{color:#D56341}.camera-nav{position:relative;color:#6D7469}.camera-bubble{width:46px;height:46px;margin-top:-20px;border-radius:17px;background:linear-gradient(145deg,#F9CBAF,#EE9E74);color:#fff;display:grid;place-items:center;box-shadow:0 10px 22px rgba(196,102,60,.20);border:3px solid #F8F2E9}.camera-label{margin-top:-1px}.shopping-profile:active,.list-head button:active,.shopping-item:active{transform:scale(.985)}@media(max-width:370px){.shopping-scroll{padding-left:10px;padding-right:10px}.shopping-hero h1{font-size:31px}.market-card strong{font-size:16px}}@media(prefers-reduced-motion:reduce){.price-loader>i{animation:none}.shopping-progress b{transition:none}}

/* V2.93.1 fast-price states */
.price-loader[hidden],.market-grid[hidden],.basket-best[hidden]{display:none!important}
.price-loader.is-idle{display:block;min-height:0;padding:12px 13px}
.price-loader.is-idle>i{display:none!important}
.price-idle-copy{display:grid;gap:4px}
.price-idle-copy strong{font:800 10.5px/1.2 "Manrope",sans-serif;color:#4F493F}
.price-idle-copy span{font:550 8.8px/1.45 "DM Sans",sans-serif;color:#85847D}


/* V2.93.2 — shopping modes + detailed price sheet */
.shopping-buy-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 9px}
.shopping-buy-modes[hidden]{display:none!important}
.buy-mode{min-height:92px;border:1px solid #ECE6DE;border-radius:19px;background:rgba(255,255,255,.78);padding:11px;text-align:left;display:grid;align-content:start;gap:4px;color:#4E443B;box-shadow:0 8px 20px rgba(68,50,34,.035)}
.buy-mode span{font:900 6.7px/1 "Manrope",sans-serif;letter-spacing:.65px;color:#B86A4B}
.buy-mode strong{font:800 10.5px/1.18 "Manrope",sans-serif;color:#352A22}
.buy-mode small{font:550 7.8px/1.38 "DM Sans",sans-serif;color:#8B8982}
.buy-mode.is-active{background:linear-gradient(145deg,#FFF2E8,#F9E6D9);border-color:#F0D9C9;box-shadow:0 10px 24px rgba(190,91,57,.08)}
.buy-mode:active,.market-card:not(.is-unavailable):active,.basket-best:active{transform:scale(.985)}
.market-card:not(.is-unavailable){cursor:pointer;position:relative;padding-right:12px}
.market-card:not(.is-unavailable)::after{content:'›';position:absolute;right:10px;bottom:9px;width:20px;height:20px;border-radius:8px;background:#F5F0E9;display:grid;place-items:center;color:#8B7869;font:900 15px/1 "Manrope",sans-serif}
.market-card.is-best::after{background:#fff;color:#64805D}
.basket-best{border:0;width:100%;text-align:left;cursor:pointer;color:inherit}
.basket-best::after{content:'›';font:900 19px/1 "Manrope",sans-serif;color:#C26646;margin-left:2px}
.basket-best{grid-template-columns:minmax(0,1fr) auto auto}
.shopping-detail-layer{position:fixed;inset:0;z-index:120;display:grid;place-items:center;background:rgba(46,36,29,.28);backdrop-filter:blur(10px);padding:calc(10px + env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom));opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s}
.shopping-detail-layer[hidden]{display:none!important}
.shopping-detail-layer.is-open{opacity:1;visibility:visible;transition:opacity .2s ease}
.shopping-detail-panel{width:min(100%,460px);height:min(88vh,760px);max-height:calc(var(--app-h) - 22px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:30px;overflow:hidden;background:rgba(249,245,238,.98);border:1px solid rgba(255,255,255,.94);box-shadow:0 26px 70px rgba(43,30,21,.22);display:grid;grid-template-rows:auto minmax(0,1fr) auto;transform:translateY(8px) scale(.985);transition:transform .22s ease}
.shopping-detail-layer.is-open .shopping-detail-panel{transform:translateY(0) scale(1)}
.shopping-detail-topbar{min-height:63px;padding:10px 12px;display:grid;grid-template-columns:40px minmax(0,1fr) 38px;gap:9px;align-items:center;border-bottom:1px solid #ECE6DE;background:rgba(250,247,241,.96)}
.shopping-detail-topbar>button{width:40px;height:40px;border:0;border-radius:14px;background:#fff;box-shadow:0 7px 18px rgba(67,48,35,.06);font:800 18px/1 "Manrope",sans-serif}
.shopping-detail-topbar>div{display:grid;gap:2px}.shopping-detail-topbar span{font:900 6.9px/1 "Manrope",sans-serif;letter-spacing:.8px;color:#B96546}.shopping-detail-topbar strong{font:800 13px/1.15 "Manrope",sans-serif;color:#30261F}.shopping-detail-topbar>i{width:36px;height:36px;border-radius:13px;background:#EDF3E9;display:grid;place-items:center;color:#68815F;font:900 13px/1 "Manrope",sans-serif;font-style:normal}
.shopping-detail-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;padding:12px;display:flex;flex-direction:column;gap:10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.shopping-detail-scroll::-webkit-scrollbar{display:none}
.price-detail-summary{padding:14px;border-radius:22px;background:linear-gradient(145deg,#FFF1E7,#F9E6D9);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.price-detail-summary>div{display:grid;gap:4px}.price-detail-summary span{font:900 6.9px/1 "Manrope",sans-serif;letter-spacing:.7px;color:#B65E40}.price-detail-summary b{font:800 13px/1.18 "Manrope",sans-serif;color:#35281F}.price-detail-summary small{font:550 8.2px/1.4 "DM Sans",sans-serif;color:#837B72}.price-detail-summary strong{font:800 20px/1 "Manrope",sans-serif;color:#BE5D3E;white-space:nowrap}
.price-detail-note{margin:0 1px;font:550 8.3px/1.45 "DM Sans",sans-serif;color:#87857E}
.price-detail-list{display:grid;gap:7px}
.price-detail-row{border:1px solid #ECE7E0;border-radius:18px;background:#fff;padding:10px 11px;display:grid;gap:7px}
.price-detail-row.is-missing{opacity:.68;background:#F8F5F0}
.price-detail-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.price-detail-main>div{display:grid;gap:2px;min-width:0}.price-detail-main strong{font:800 10.5px/1.15 "Manrope",sans-serif;color:#332A23}.price-detail-main small{font:550 7.8px/1.3 "DM Sans",sans-serif;color:#94918B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.price-detail-main>b{font:800 11px/1.1 "Manrope",sans-serif;color:#5E7858;white-space:nowrap}.price-detail-meta{display:flex;flex-wrap:wrap;gap:5px}.price-detail-meta span{padding:5px 7px;border-radius:8px;background:#F5F0E9;font:750 7.6px/1 "DM Sans",sans-serif;color:#74685D}.price-detail-meta .is-market{background:#EDF3E9;color:#60775B}.price-detail-meta .is-promo{background:#FFF0E6;color:#B85D40}
.shopping-detail-footer{padding:9px 12px calc(9px + env(safe-area-inset-bottom));border-top:1px solid #ECE6DE;background:rgba(250,247,241,.96)}.shopping-detail-footer button{width:100%;height:46px;border:0;border-radius:15px;background:linear-gradient(145deg,#DF6C47,#CB5938);color:#fff;font:800 10px/1 "Manrope",sans-serif;box-shadow:0 10px 22px rgba(190,80,45,.16)}
html.shopping-detail-open,html.shopping-detail-open body{overflow:hidden!important}
@media(max-width:370px){.shopping-buy-modes{grid-template-columns:1fr}.shopping-detail-panel{height:92vh}.price-detail-summary strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){.shopping-detail-layer,.shopping-detail-panel{transition:none!important}}


/* V2.96.1 — shared app chrome: exact Home / Plan header & footer */
:root{
  --chrome-bg:rgba(48,52,45,.94);
  --chrome-text:#F7F1E8;
  --chrome-muted:#BFC5BA;
  --chrome-accent:#E2724B;
  --chrome-header-h:58px;
  --chrome-footer-h:60px;
}
.shopping-app{display:block!important;height:var(--app-h)!important;min-height:var(--app-h)!important;overflow:hidden!important}
.global-app-header.shopping-topbar{
  position:fixed!important;left:0!important;right:0!important;top:0!important;width:100%!important;max-width:none!important;
  height:calc(var(--chrome-header-h) + env(safe-area-inset-top))!important;margin:0!important;
  padding:calc(env(safe-area-inset-top) + 7px) 14px 7px!important;display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;box-sizing:border-box!important;
  z-index:1000!important;background:var(--chrome-bg)!important;color:var(--chrome-text)!important;border:0!important;border-radius:0!important;
  transform:none!important;box-shadow:0 5px 16px rgba(22,24,20,.12)!important;
  backdrop-filter:blur(20px) saturate(1.08)!important;-webkit-backdrop-filter:blur(20px) saturate(1.08)!important;
}
.global-header-copy{display:grid!important;gap:1px!important;min-width:0!important}
.global-header-copy strong{margin:0!important;font:800 18px/1 "Manrope",sans-serif!important;letter-spacing:-.45px!important;color:var(--chrome-text)!important;white-space:nowrap!important}
.global-header-copy span{font:700 9.2px/1.2 "DM Sans",sans-serif!important;color:var(--chrome-muted)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.global-app-header .global-profile-button{position:relative!important;inset:auto!important;width:36px!important;height:36px!important;margin:0!important;padding:0!important;border-radius:12px!important;display:grid!important;place-items:center!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.15)!important;box-shadow:none!important;color:var(--chrome-text)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:none!important}
.global-app-header .profile-dot{position:absolute!important;right:7px!important;top:7px!important;width:6px!important;height:6px!important;border-radius:50%!important;background:#78A36E!important;box-shadow:0 0 0 2px #30342D!important}
.shopping-scroll{height:100%!important;padding-top:calc(var(--chrome-header-h) + env(safe-area-inset-top) + 12px)!important;padding-bottom:calc(var(--chrome-footer-h) + env(safe-area-inset-bottom) + 20px)!important}
.bottom-nav.shopping-bottom-nav{position:fixed!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:none!important;height:calc(var(--chrome-footer-h) + env(safe-area-inset-bottom))!important;margin:0!important;padding:4px 8px calc(4px + env(safe-area-inset-bottom))!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:center!important;box-sizing:border-box!important;z-index:1000!important;background:var(--chrome-bg)!important;border:0!important;border-radius:0!important;transform:none!important;box-shadow:0 -5px 16px rgba(22,24,20,.12)!important;backdrop-filter:blur(20px) saturate(1.08)!important;-webkit-backdrop-filter:blur(20px) saturate(1.08)!important}
.bottom-nav.shopping-bottom-nav .nav-item{appearance:none!important;min-width:0!important;height:50px!important;margin:0!important;padding:0 2px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;border-radius:14px!important;background:transparent!important;color:var(--chrome-muted)!important;font:700 8.8px/1 "DM Sans",sans-serif!important;text-decoration:none!important;border:0!important}
.bottom-nav.shopping-bottom-nav .nav-icon{width:28px!important;height:28px!important;border-radius:10px!important;display:grid!important;place-items:center!important}
.bottom-nav.shopping-bottom-nav .nav-item.active{color:var(--chrome-accent)!important;background:transparent!important}
.bottom-nav.shopping-bottom-nav .nav-item.active .nav-icon{color:var(--chrome-accent)!important;background:rgba(226,114,75,.14)!important}
.bottom-nav.shopping-bottom-nav .camera-nav{height:54px!important;margin:-8px 0 0!important;padding:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:1px!important;background:transparent!important;color:var(--chrome-text)!important;transform:none!important;border:0!important}
.bottom-nav.shopping-bottom-nav .camera-bubble{width:46px!important;height:46px!important;border-radius:14px!important;display:grid!important;place-items:center!important;color:#fff!important;background:linear-gradient(145deg,#F07C55,#D96843)!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 8px 18px rgba(217,104,67,.18)!important}
.bottom-nav.shopping-bottom-nav .camera-label{font:800 8.6px/1 "DM Sans",sans-serif!important;color:var(--chrome-text)!important}


/* V2.97 — Smart Basket Estimate (markets stay internal) */
.basket-estimate{display:grid;gap:11px}
.basket-estimate-main{padding:16px 15px;border-radius:23px;background:linear-gradient(145deg,#FFF1E7,#F6E4D8);display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:12px;align-items:center;border:1px solid rgba(220,122,84,.10)}
.basket-estimate-main>div{display:grid;gap:4px}.basket-estimate-main span{font:900 7px/1 "Manrope",sans-serif;letter-spacing:.9px;color:#B75E40}.basket-estimate-main strong{font:800 27px/1 "Manrope",sans-serif;color:#2F251E;letter-spacing:-.8px}.basket-estimate-main small{font:600 9px/1.35 "DM Sans",sans-serif;color:#7D746C}
.basket-estimate-main>i{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.72);color:#BF6747;font:900 16px/1 "Manrope",sans-serif;font-style:normal;box-shadow:0 8px 20px rgba(90,57,40,.07)}
.basket-budget-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.basket-budget-grid article{padding:12px;border-radius:18px;background:#fff;border:1px solid #EEE8E0;display:grid;gap:4px}.basket-budget-grid small{font:700 7.8px/1.2 "DM Sans",sans-serif;color:#99958E}.basket-budget-grid strong{font:800 13px/1.1 "Manrope",sans-serif;color:#3B3028}.basket-budget-grid article:last-child{background:#EFF5EC;border-color:rgba(101,130,91,.10)}.basket-budget-grid article:last-child strong{color:#607A58}.basket-budget-grid article.is-over{background:#FFF0EA;border-color:rgba(196,94,61,.12)}.basket-budget-grid article.is-over strong{color:#BC5C3F}
.basket-category-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 1px 0}.basket-category-head span{font:900 7px/1 "Manrope",sans-serif;letter-spacing:.8px;color:#B86143}.basket-category-head small{font:600 7.8px/1 "DM Sans",sans-serif;color:#A09B94}
.basket-category-list{display:grid;gap:7px}.basket-category-row{display:grid;grid-template-columns:29px minmax(0,1fr);gap:9px;align-items:center;padding:9px 10px;border-radius:16px;background:rgba(255,255,255,.78);border:1px solid #EEE8E0}.basket-category-icon{width:29px;height:29px;border-radius:10px;background:#EDF3E9;color:#62785D;display:grid;place-items:center;font:900 12px/1 "Manrope",sans-serif}.basket-category-row>div{display:grid;gap:6px}.basket-category-row>div>div{display:flex;justify-content:space-between;gap:8px;align-items:center}.basket-category-row strong{font:750 9.1px/1.15 "DM Sans",sans-serif;color:#494139}.basket-category-row b{font:800 9.3px/1 "Manrope",sans-serif;color:#5E7459;white-space:nowrap}.basket-category-row i{height:5px;border-radius:999px;background:#EFEAE3;overflow:hidden;display:block}.basket-category-row em{height:100%;border-radius:999px;background:linear-gradient(90deg,#D98261,#C56545);display:block}
.basket-confidence{padding:10px 11px;border-radius:16px;background:#F7F4EE;border:1px solid #EEE9E2;display:grid;gap:3px}.basket-confidence span{font:800 8.7px/1.2 "Manrope",sans-serif;color:#5F665C}.basket-confidence small{font:550 7.8px/1.42 "DM Sans",sans-serif;color:#8C8982}

/* V2.98.4 — premium shopping UI polish */
.basket-estimate-main{grid-template-columns:minmax(0,1fr) 62px!important;align-items:center!important}
.basket-estimate-visual{
  width:62px;height:62px;border-radius:20px;display:grid;place-items:center;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(246,236,225,.92));
  border:1px solid rgba(214,151,117,.22);
  box-shadow:0 14px 28px rgba(122,86,57,.10);
  overflow:hidden;
}
.basket-estimate-visual img{width:100%;height:100%;object-fit:cover;display:block}

.basket-category-list{display:grid;gap:8px}
.basket-category-row{
  grid-template-columns:40px minmax(0,1fr)!important;
  gap:10px!important;
  padding:10px 11px!important;
  background:rgba(255,255,255,.82)!important;
}
.basket-category-visual{
  width:40px;height:40px;border-radius:14px;display:block;overflow:hidden;position:relative;
  box-shadow:0 10px 20px rgba(85,63,45,.08);
  background:linear-gradient(145deg,#F7F0E7,#EFE3D4);
}
.basket-category-visual::after{
  content:'';position:absolute;inset:0;border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.75);
  pointer-events:none;
}
.basket-category-visual img{width:100%;height:100%;object-fit:cover;display:block}
.basket-category-row strong{font:800 9.4px/1.15 "Manrope",sans-serif!important;color:#43372F!important}
.basket-category-row b{font:800 9.6px/1 "Manrope",sans-serif!important;color:#5E7459!important}

.basket-confidence{
  padding:11px 12px!important;border-radius:16px!important;border:1px solid transparent!important;
  background:#F6F3ED!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:44px;
}
.basket-confidence span{font:800 9px/1.2 "Manrope",sans-serif!important;letter-spacing:-.1px}
.basket-confidence small{display:none!important}
.basket-confidence.is-high{background:#EEF6EB!important;border-color:#D9E8D2!important}
.basket-confidence.is-high span{color:#5C7A54!important}
.basket-confidence.is-medium{background:#FFF5EC!important;border-color:#F2DEC9!important}
.basket-confidence.is-medium span{color:#B56B46!important}
.basket-confidence.is-low{background:#FFF0EC!important;border-color:#F1D2CC!important}
.basket-confidence.is-low span{color:#B95B4B!important}

.shopping-item{transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .12s ease}
.shopping-item.is-checked{
  opacity:1!important;
  background:linear-gradient(145deg,#F1F8EE,#E9F4E5)!important;
  border-color:#D8E8D1!important;
  box-shadow:0 10px 20px rgba(103,133,93,.08)!important;
}
.shopping-item.is-checked .shopping-check{background:#6F8D67!important;border-color:#6F8D67!important}
.shopping-item.is-checked .shopping-check::after{content:'✓'}
.shopping-item.is-checked .shopping-copy strong,
.shopping-item.is-checked .shopping-copy small{
  text-decoration:none!important;
  color:#5A7254!important;
}
.shopping-item.is-checked .shopping-qty{
  background:#DDEBD8!important;color:#56704F!important;
}
.shopping-item.is-checked .shopping-copy strong{font-weight:800!important}

/* V2.98.6 — shopping page alignment + premium visuals polish */
.shopping-scroll{
  padding-top:calc(var(--chrome-header-h) + env(safe-area-inset-top) + 14px)!important;
  padding-right:16px!important;
  padding-bottom:calc(var(--chrome-footer-h) + env(safe-area-inset-bottom) + 30px)!important;
  padding-left:16px!important;
  gap:14px!important;
}
.shopping-hero,
.shopping-price-card,
.shopping-list-card,
.shopping-empty{
  border-radius:30px!important;
}
.shopping-price-card,
.shopping-list-card{padding:18px 16px!important}
.shopping-section-head{margin-bottom:14px!important}
.shopping-hero{min-height:224px!important;padding:21px!important}
.shopping-hero em{bottom:18px!important;left:21px!important}

.basket-estimate-main{grid-template-columns:minmax(0,1fr) 72px!important;align-items:center!important}
.basket-estimate-visual{
  width:72px!important;height:72px!important;
  display:grid!important;place-items:center!important;
  background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;
  overflow:visible!important;
}
.basket-estimate-visual img{
  width:72px!important;height:72px!important;display:block!important;object-fit:contain!important;
  filter:drop-shadow(0 14px 20px rgba(92,68,48,.16));
}

.basket-category-list{gap:9px!important}
.basket-category-row{
  grid-template-columns:46px minmax(0,1fr)!important;
  gap:11px!important;
  padding:11px 2px 11px 0!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.basket-category-visual{
  width:46px!important;height:46px!important;border-radius:50%!important;display:block!important;overflow:hidden!important;
  background:transparent!important;box-shadow:none!important;border:0!important;
}
.basket-category-visual::after{content:none!important;display:none!important}
.basket-category-visual img{
  width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;
  border-radius:50%!important;background:transparent!important;
  filter:drop-shadow(0 10px 16px rgba(92,68,48,.11));
}
.basket-category-row>div>div{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important}
.basket-category-row strong{font:800 9.8px/1.15 "Manrope",sans-serif!important;color:#40342C!important}
.basket-category-row b{font:800 9.6px/1 "Manrope",sans-serif!important;color:#5E7459!important;white-space:nowrap}
.basket-category-row i{background:#EEE6DB!important}
.basket-category-row i em{background:linear-gradient(90deg,#E97A51,#D95E3B)!important}

.shopping-item{background:#FFF!important;border:1px solid #F0ECE5!important}
.shopping-item.is-checked{
  opacity:1!important;
  background:linear-gradient(145deg,#F0F8EE,#E9F3E6)!important;
  border-color:#D3E5CF!important;
}
.shopping-item.is-checked .shopping-copy strong,
.shopping-item.is-checked .shopping-copy small{text-decoration:none!important}

.price-note{margin-top:12px!important}

/* V2.98.9 — confidence readiness state */
.basket-confidence.is-warming{background:#F3F1EC!important;border-color:#E5E0D8!important}
.basket-confidence.is-warming span{color:#7E7A72!important}


/* V2.99.2 — exact recipe-driven shopping list sync */
.shopping-sync-card{
  border-radius:24px;background:rgba(255,252,247,.88);border:1px solid rgba(255,255,255,.95);
  box-shadow:0 14px 34px rgba(68,50,34,.08);backdrop-filter:blur(14px);
  min-height:82px;padding:14px 15px;display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;align-items:center;
}
.shopping-sync-card[hidden]{display:none!important}
.shopping-sync-loader{width:29px;height:29px;border-radius:50%;border:3px solid rgba(216,100,66,.15);border-top-color:#D86442;animation:spin .8s linear infinite}
.shopping-sync-card>div:last-child{display:grid;gap:4px}
.shopping-sync-card strong{font:800 11px/1.18 "Manrope",sans-serif;color:#382B23}
.shopping-sync-card span{font:600 9px/1.4 "DM Sans",sans-serif;color:#85827B}
@media(prefers-reduced-motion:reduce){.shopping-sync-loader{animation:none!important}}

/* V2.99.5 — checklist details sheet
   The checklist stays clean: only the checkbox changes purchase state.
   Tapping the rest of a row opens the recipe/quantity breakdown. */
.shopping-item{
  grid-template-columns:32px minmax(0,1fr) 28px!important;
  min-height:60px!important;
  padding:9px 10px!important;
  gap:10px!important;
  cursor:pointer!important;
  outline:none;
}
.shopping-item:focus-visible{
  box-shadow:0 0 0 3px rgba(216,100,66,.18),0 10px 24px rgba(82,61,44,.07)!important;
  border-color:rgba(216,100,66,.34)!important;
}
.shopping-check-zone{
  width:32px;height:40px;display:grid;place-items:center;cursor:pointer;position:relative;z-index:2;
}
.shopping-check-zone input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.shopping-check{width:27px!important;height:27px!important;border-radius:9px!important}
.shopping-copy{gap:3px!important}
.shopping-item .shopping-copy strong{font-size:15.5px!important;line-height:1.15!important;letter-spacing:-.12px!important}
.shopping-item .shopping-copy small{font-size:12.5px!important;line-height:1.25!important;color:#969087!important}
.shopping-row-action{
  width:28px;height:28px;border-radius:10px;display:grid;place-items:center;
  color:#A09A91;background:#F6F2EC;transition:transform .15s ease,background .15s ease,color .15s ease;
}
.shopping-item:active .shopping-row-action{transform:translateX(2px);background:#F0E7DE;color:#D06442}
.shopping-qty{display:none!important}
.shopping-item.is-checked .shopping-row-action{background:#E4EFE0!important;color:#627C5B!important}
.shopping-item.is-checked .shopping-copy strong,.shopping-item.is-checked .shopping-copy small{color:#60735A!important}

body.shopping-detail-open{overscroll-behavior:none}
.shopping-detail-layer{
  position:fixed;inset:0;z-index:120;display:grid;align-items:end;justify-items:center;
  pointer-events:none;
}
.shopping-detail-layer[hidden]{display:none!important}
.shopping-detail-backdrop{
  position:absolute;inset:0;border:0;background:rgba(40,31,25,.30);backdrop-filter:blur(2px);
  opacity:0;transition:opacity .18s ease;pointer-events:auto;
}
.shopping-detail-sheet{
  position:relative;width:min(100%,480px);max-height:min(78dvh,680px);overflow:hidden;
  display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;
  border-radius:30px 30px 0 0;background:rgba(255,252,247,.985);
  border:1px solid rgba(255,255,255,.98);border-bottom:0;
  box-shadow:0 -20px 60px rgba(50,36,26,.20);backdrop-filter:blur(20px);
  transform:translateY(104%);transition:transform .22s cubic-bezier(.2,.8,.2,1);
  padding-bottom:env(safe-area-inset-bottom);pointer-events:auto;
}
.shopping-detail-layer.is-open .shopping-detail-backdrop{opacity:1}
.shopping-detail-layer.is-open .shopping-detail-sheet{transform:translateY(0)}
.shopping-detail-handle{width:42px;height:5px;border-radius:999px;background:#DDD5CC;margin:9px auto 3px}
.shopping-detail-head{
  display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:12px;align-items:start;
  padding:12px 18px 14px;border-bottom:1px solid #EEE8E0;
}
.shopping-detail-head>div{min-width:0}
.shopping-detail-head span{display:block;font:900 10px/1 "Manrope",sans-serif;letter-spacing:1.05px;color:#D06442;margin-bottom:6px}
.shopping-detail-head h2{margin:0;font:800 24px/1.05 "Manrope",sans-serif;letter-spacing:-.55px;color:#30241D}
.shopping-detail-head p{margin:5px 0 0;font:650 13px/1.3 "DM Sans",sans-serif;color:#8A867F}
.shopping-detail-close{
  width:40px;height:40px;border:0;border-radius:14px;background:#F3EEE7;color:#756D65;display:grid;place-items:center;cursor:pointer;
}
.shopping-detail-body{
  overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  display:grid;gap:10px;padding:14px 16px 16px;scrollbar-width:none;
}
.shopping-detail-body::-webkit-scrollbar{display:none}
.shopping-detail-recipe{
  border-radius:20px;background:#FFF;border:1px solid #EEE8E0;padding:13px 14px;display:grid;gap:10px;
  box-shadow:0 8px 22px rgba(72,54,40,.045);
}
.shopping-detail-recipe-head{display:grid;gap:4px}
.shopping-detail-recipe-head span{font:900 9px/1 "Manrope",sans-serif;letter-spacing:.9px;color:#B86B50}
.shopping-detail-recipe-head strong{font:800 15px/1.25 "Manrope",sans-serif;color:#3C3028}
.shopping-detail-uses{display:grid;gap:7px}
.shopping-detail-use{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;
  padding-top:8px;border-top:1px dashed #ECE5DC;
}
.shopping-detail-use span{min-width:0;font:650 13.5px/1.3 "DM Sans",sans-serif;color:#655C54}
.shopping-detail-use span small{display:block;margin-top:2px;font:600 10.5px/1.2 "DM Sans",sans-serif;color:#A09A92}
.shopping-detail-use b{
  font:800 13px/1 "Manrope",sans-serif;color:#5E7657;background:#EEF4EB;padding:7px 9px;border-radius:10px;white-space:nowrap;
}
.shopping-detail-empty{margin:8px 2px;font:600 13px/1.5 "DM Sans",sans-serif;color:#8B8780;text-align:center}
.shopping-detail-total{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:0 16px 14px;padding:13px 14px;border-radius:18px;background:linear-gradient(145deg,#F3F7EF,#EAF2E6);border:1px solid #DCE9D6;
}
.shopping-detail-total span{font:900 9px/1.15 "Manrope",sans-serif;letter-spacing:.75px;color:#71806D}
.shopping-detail-total strong{font:800 16px/1 "Manrope",sans-serif;color:#536E4D;white-space:nowrap}
@media(max-width:370px){
  .shopping-item .shopping-copy strong{font-size:15px!important}.shopping-item .shopping-copy small{font-size:12px!important}
  .shopping-detail-head h2{font-size:22px}.shopping-detail-use span{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .shopping-detail-backdrop,.shopping-detail-sheet,.shopping-row-action{transition:none!important}
}
