:root{
  --green:#178447;--green-dark:#0f5f33;--green-soft:#eaf7ef;--ink:#111713;--muted:#707970;
  --line:#e4e8e5;--soft:#f5f7f5;--white:#fff;--danger:#c93d3d;--warning:#fff5d6;
  --nav-h:72px;--top-h:64px;--radius:22px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#f3f6f4;-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}.customer-app-body{overscroll-behavior-y:none}.customer-app-shell{width:min(100%,760px);min-height:100vh;margin:0 auto;background:#fff;position:relative}.customer-topbar{height:var(--top-h);position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#fff;border-bottom:1px solid var(--line)}.brand-mini{border:0;background:transparent;display:flex;align-items:center;gap:9px;padding:0;text-align:left}.brand-mini>span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--green-soft);font-size:24px}.brand-mini strong,.brand-mini small{display:block}.brand-mini strong{font-size:.78rem;letter-spacing:.08em}.brand-mini small{font-size:.68rem;color:var(--muted)}.top-actions{display:flex;gap:8px}.points-pill,.cart-top-button{height:42px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:0 12px;display:flex;align-items:center;gap:6px;font-weight:900}.points-pill{padding:0 8px;gap:0;min-width:0;overflow:visible}.points-pill [data-header-points]{display:flex;align-items:center;min-width:0;flex:0 0 auto}.points-pill .pixel-number{--px:clamp(1.75px,.53vw,2.15px);display:flex;align-items:center;gap:1px;line-height:1;flex:0 0 auto}.points-pill .pixel-digit{display:grid;grid-template-columns:repeat(5,var(--px));grid-template-rows:repeat(7,var(--px));gap:0;width:calc(var(--px)*5);height:calc(var(--px)*7)}.points-pill .px{width:var(--px);height:var(--px);display:block}.points-pill .px-0,.points-pill .px-2{background:transparent}.points-pill .px-1{background:#050505}.points-pill .points-coin{width:32px;height:auto;max-height:32px;margin-left:1px;object-fit:contain;display:block;flex:0 0 auto;image-rendering:pixelated;filter:none}.big-points,.profile-coins,.ranking-coins{display:flex!important;align-items:center;justify-content:center;gap:0}.big-points [data-rewards-points],.profile-coins [data-profile-points],.ranking-coins .pixel-number{display:flex;align-items:center}.big-points .pixel-number,.profile-coins .pixel-number{--px:clamp(1.35px,.42vw,1.9px)}.big-points .points-coin,.profile-coins .points-coin{width:31px;height:auto;max-height:31px;margin-left:0;object-fit:contain;display:block;image-rendering:pixelated}.ranking-coins .pixel-number{--px:clamp(1.05px,.32vw,1.55px)}.ranking-coins img{width:23px;height:auto;max-height:23px;object-fit:contain;display:block;image-rendering:pixelated}.cart-top-button{position:relative;font-size:20px}.cart-top-button b{position:absolute;right:-4px;top:-5px;min-width:20px;height:20px;border-radius:999px;background:var(--green);color:#fff;font-size:.68rem;display:grid;place-items:center;padding:0 4px}.customer-main{padding:0 16px calc(var(--nav-h) + 40px)}.customer-view{display:none;padding:18px 0 28px}.customer-view.active{display:block}.home-greeting,.view-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.home-greeting small,.view-heading small,.section-title small{font-size:.67rem;font-weight:900;letter-spacing:.12em;color:var(--green)}.home-greeting h1,.view-heading h1{margin:4px 0 0;font-size:1.7rem;line-height:1.05}.home-greeting button,.view-heading>button{width:44px;height:44px;border:0;border-radius:50%;background:var(--soft);font-size:20px}.promo-banner{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:12px;background:var(--green);color:#fff;border-radius:24px;padding:16px;margin-bottom:18px}.promo-icon{width:48px;height:48px;border-radius:16px;background:#fff;display:grid;place-items:center;font-size:26px}.promo-banner strong{font-size:1.08rem}.promo-banner p{margin:3px 0 0;font-size:.76rem;color:#dff5e7}.promo-banner button{border:0;border-radius:14px;background:#fff;color:var(--green-dark);font-weight:900;padding:11px 13px}.active-order-card{border:1px solid #b9dfc7;background:#f1fbf4;border-radius:20px;padding:15px;margin-bottom:18px}.active-order-card header{display:flex;justify-content:space-between;gap:12px}.active-order-card h3{margin:0}.active-order-card small{color:var(--muted)}.active-order-progress{height:8px;background:#d9ebdf;border-radius:999px;margin:14px 0 8px;overflow:hidden}.active-order-progress span{display:block;height:100%;background:var(--green)}.active-order-card button{width:100%;border:0;border-radius:13px;padding:11px;background:var(--green);color:#fff;font-weight:900;margin-top:10px}.section-block{margin-top:24px}.section-title{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:13px}.section-title h2{margin:4px 0 0;font-size:1.3rem}.section-title button{border:0;background:transparent;color:var(--green);font-weight:850}.reward-map{position:relative;min-height:auto;border:0;border-radius:0;overflow:visible;background:transparent;padding:0}.reward-stage{display:grid;gap:12px}.reward-board{position:relative;overflow:hidden;isolation:isolate;border-radius:24px;border:1px solid #d7dfd9;background-color:#edf7ef;background-size:cover;background-position:center center;box-shadow:0 12px 28px rgba(23,132,71,.08)}.reward-board-map{aspect-ratio:2048/682}.reward-stage.compact .reward-board{border-radius:22px}.reward-stage.full .reward-board{border-radius:26px}.reward-node{position:absolute;z-index:4;transform:translate(-50%,-50%);width:clamp(44px,12vw,68px);height:clamp(44px,12vw,68px);display:grid;place-items:center}.reward-node-icon{width:100%;height:100%;object-fit:contain;display:block;image-rendering:pixelated;transform:translateY(1px);filter:drop-shadow(0 4px 6px rgba(0,0,0,.28))}.reward-node-meta{position:absolute;z-index:4;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:0;white-space:nowrap;line-height:1}.reward-node-meta .pixel-number{--px:clamp(1.2px,.38vw,1.9px);display:flex;align-items:center;gap:1px;line-height:1}.reward-node-meta .pixel-digit{display:grid;grid-template-columns:repeat(5,var(--px));grid-template-rows:repeat(7,var(--px));gap:0;width:calc(var(--px)*5);height:calc(var(--px)*7)}.reward-node-meta .px{width:var(--px);height:var(--px);display:block}.reward-node-meta .px-0{background:transparent}.reward-node-meta .px-1{background:#050505}.reward-node-meta .px-2{background:transparent}.reward-node-meta img{width:clamp(20px,5.4vw,30px);height:clamp(20px,5.4vw,30px);margin-left:0;object-fit:contain;display:block;image-rendering:pixelated;filter:none}.reward-node-meta.current .pixel-number,.reward-node-meta.current img{animation:rewardPulse 1.4s infinite}.reward-node-check{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:.76rem;font-weight:900;box-shadow:0 4px 10px rgba(23,132,71,.3)}.reward-node.done .reward-node-icon{opacity:.9;filter:drop-shadow(0 4px 6px rgba(0,0,0,.20))}.reward-node.current .reward-node-icon{animation:rewardPulse 1.4s infinite}.reward-monkey-token{position:absolute;z-index:5;width:clamp(48px,13vw,76px);transform:translate(-50%,-60%);filter:drop-shadow(0 8px 12px rgba(0,0,0,.28))}.reward-monkey-token img{width:100%;height:auto;display:block;image-rendering:pixelated}.reward-progress-chip{display:grid;gap:10px;width:100%;min-width:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px 14px;box-shadow:0 10px 24px rgba(17,23,19,.08);overflow:hidden}.reward-wallet{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0}.reward-wallet small{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:var(--green)}.reward-coin-amount,.reward-rule-coins,.reward-next-goal{display:flex;align-items:center;gap:0;min-width:0}.reward-coin-amount{justify-self:end;flex:0 0 auto}.reward-wallet .pixel-number{--px:clamp(1.8px,.56vw,2.6px)}.reward-wallet img{width:36px;height:auto;max-height:36px;object-fit:contain;display:block;flex:0 0 auto;image-rendering:pixelated}.reward-rules{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;min-width:0}.reward-rule{display:grid;grid-template-columns:max-content 24px max-content;align-items:center;justify-content:center;column-gap:4px;min-width:0;min-height:48px;padding:8px 7px;border-radius:13px;background:var(--soft)}.reward-rule-money{font-size:.70rem;font-weight:900;white-space:nowrap}.reward-rule-arrow{display:grid;place-items:center;margin:0;font-size:.9rem;font-weight:1000;color:var(--green)}.reward-rule-coins{justify-content:center;flex:0 0 auto}.reward-rule .pixel-number{--px:clamp(1.65px,.50vw,2.25px);gap:1px;flex:0 0 auto}.reward-rule img{width:29px;height:auto;max-height:29px;margin-left:1px;object-fit:contain;display:block;flex:0 0 auto;image-rendering:pixelated}.reward-next-goal{justify-content:center;flex-wrap:wrap;min-height:30px;padding:0 4px;font-size:.72rem;color:#4e5c50;text-align:center}.reward-next-goal .pixel-number{--px:clamp(1.35px,.42vw,1.95px);flex:0 0 auto}.reward-next-goal img{width:25px;height:auto;max-height:25px;object-fit:contain;display:block;flex:0 0 auto;image-rendering:pixelated}.reward-next-goal span{margin-left:5px}.reward-next-goal.completed{font-weight:900;color:var(--green)}.reward-map.large .reward-node{width:clamp(48px,10vw,74px);height:clamp(48px,10vw,74px)}.reward-map.large .reward-node-meta .pixel-number{--px:clamp(1.35px,.42vw,2.1px)}.reward-map.large .reward-node-meta img{width:clamp(24px,4.1vw,32px);height:clamp(24px,4.1vw,32px)}.reward-map.large .reward-monkey-token{width:clamp(56px,10vw,88px)}.reward-map.large .reward-progress-chip{padding:14px 16px}.reward-map.large .reward-wallet .pixel-number{--px:clamp(1.9px,.46vw,2.8px)}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.product-card{min-width:0;position:relative}.product-card-image{aspect-ratio:1/1;border-radius:21px;background:var(--soft);overflow:hidden;display:grid;place-items:center}.product-card-image img{width:100%;height:100%;object-fit:cover}.product-card-image .fallback{font-size:56px}.product-card-add{position:absolute;right:8px;top:calc(50% - 15px);width:42px;height:42px;border-radius:50%;border:3px solid #fff;background:var(--green);color:#fff;font-size:28px;line-height:1;display:grid;place-items:center}.product-card h3{font-size:.95rem;line-height:1.2;margin:10px 0 4px;min-height:2.25em}.product-card p{font-size:.73rem;color:var(--muted);margin:0 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-card strong{font-size:1rem}.home-how{margin-top:28px}.home-how h2{font-size:1.25rem}.home-how>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.home-how article{background:var(--soft);border-radius:18px;padding:12px 8px;text-align:center}.home-how article span{width:30px;height:30px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;margin:0 auto 8px;font-weight:900}.home-how b,.home-how small{display:block}.home-how small{font-size:.65rem;color:var(--muted);margin-top:3px}.customer-search{height:48px;border-radius:16px;background:var(--soft);display:flex;align-items:center;gap:8px;padding:0 14px;margin-bottom:14px}.customer-search input{border:0;outline:0;background:transparent;flex:1;min-width:0;font-size:16px}.category-tabs{display:flex;overflow-x:auto;gap:8px;padding:0 0 12px;position:sticky;top:var(--top-h);z-index:20;background:#fff}.category-tabs::-webkit-scrollbar{display:none}.category-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;white-space:nowrap;font-weight:800}.category-tabs button.active{background:var(--green);border-color:var(--green);color:#fff}.menu-section-title{font-size:1.3rem;font-weight:900;margin:8px 0 14px}.menu-grid{padding-bottom:20px}.big-points{border-radius:999px;background:var(--green-soft);padding:9px 13px;color:var(--green-dark)}.coupon-wallet{display:grid;gap:10px}.coupon-card{display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:11px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:13px;background:#fff}.coupon-card.unavailable{opacity:.55}.coupon-card>span{width:48px;height:48px;border-radius:15px;background:var(--green-soft);display:grid;place-items:center;font-size:24px}.coupon-card b,.coupon-card small{display:block}.coupon-card small{color:var(--muted);font-size:.7rem}.coupon-card button{border:0;border-radius:12px;background:var(--green);color:#fff;padding:9px 10px;font-weight:900}.coupon-code{font-size:.67rem;color:var(--green);font-weight:900;margin-top:4px}.empty-card{padding:22px;text-align:center;border:1px dashed #ccd5ce;border-radius:18px;color:var(--muted)}.box-code-card{display:grid;grid-template-columns:50px minmax(0,1fr);gap:12px;border:1px solid #e5d9a7;background:#fff9df;border-radius:21px;padding:15px;margin-top:24px}.box-code-card>span{font-size:34px}.box-code-card h2{margin:0;font-size:1.1rem}.box-code-card p{margin:4px 0 12px;color:#756b45;font-size:.76rem}.box-code-card form{display:flex;gap:8px}.box-code-card input{min-width:0;flex:1;border:1px solid #d6c98d;border-radius:12px;padding:10px;background:#fff}.box-code-card button{border:0;border-radius:12px;background:var(--green);color:#fff;font-weight:900;padding:10px 13px}.ranking-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--soft);padding:4px;border-radius:14px;margin-bottom:12px}.ranking-tabs button{border:0;background:transparent;border-radius:11px;padding:9px;font-weight:850}.ranking-tabs button.active{background:#fff;color:var(--green)}.ranking-prize{background:var(--green-soft);border-radius:15px;padding:11px 13px;font-size:.78rem;margin-bottom:10px}.ranking-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border-bottom:1px solid var(--line)}.ranking-row.me{background:#f0fbf4;border-radius:13px}.ranking-row .rank{font-size:1.05rem;font-weight:900}.ranking-row b,.ranking-row small{display:block}.ranking-row small{font-size:.69rem;color:var(--muted)}.orders-list{display:grid;gap:12px}.order-list-card{border:1px solid var(--line);border-radius:19px;padding:14px;background:#fff}.order-list-card header,.order-list-card footer{display:flex;justify-content:space-between;gap:10px}.order-list-card h3{margin:0;font-size:1rem;font-weight:950}.order-list-card header small{display:block;margin-top:3px;font-size:.72rem;color:#708076;font-weight:800}.order-list-card p{margin:9px 0;font-size:.76rem;color:var(--muted)}.order-status-tag{font-size:.67rem;font-weight:900;border-radius:999px;background:var(--green-soft);color:var(--green-dark);padding:6px 9px;height:max-content}.order-status-tag.cancelado{background:#feeaea;color:var(--danger)}.order-list-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.order-list-card button{min-height:34px;padding:0 12px;border:1px solid #178447;border-radius:999px;background:transparent;color:#178447;font-weight:400;font-size:.76rem;line-height:1}.profile-hero{text-align:center;padding:14px 0 22px}.profile-hero>span{width:80px;height:80px;border-radius:50%;background:var(--green-soft);display:grid;place-items:center;font-size:46px;margin:0 auto}.profile-hero h1{margin:10px 0 2px}.profile-hero p{margin:0;color:var(--muted)}.profile-hero b{display:inline-block;margin-top:10px;background:var(--green-soft);padding:7px 11px;border-radius:999px}.profile-form{border:1px solid var(--line);border-radius:21px;padding:16px;margin-bottom:12px}.profile-form h2{margin:0 0 13px;font-size:1.1rem}.profile-form label,.auth-card label{display:block;font-size:.76rem;font-weight:800;margin-bottom:12px}.profile-form label small,.auth-card label small{float:right;color:var(--muted);font-weight:600}.profile-form input,.auth-card input{display:block;width:100%;height:48px;border:1px solid #d8ded9;border-radius:14px;padding:0 13px;margin-top:6px;background:#fff;outline:0;font-size:16px}.profile-form input:focus,.auth-card input:focus{border-color:var(--green)}.customer-primary{width:100%;height:50px;border:0;border-radius:15px;background:var(--green);color:#fff;font-weight:900;font-size:1rem}.profile-option{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:10px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:17px;padding:12px;text-align:left;margin-top:10px}.profile-option>span{width:40px;height:40px;border-radius:13px;background:var(--soft);display:grid;place-items:center}.profile-option b,.profile-option small{display:block}.profile-option small{font-size:.69rem;color:var(--muted)}.profile-option i{font-size:25px}.profile-option.danger{color:var(--danger)}.customer-bottom-nav{position:fixed;z-index:35;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,760px);height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:7px 8px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-top:1px solid var(--line)}.customer-bottom-nav button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#6d756f}.customer-bottom-nav button span{font-size:20px;line-height:1}.customer-bottom-nav button small{font-size:.66rem;font-weight:800}.customer-bottom-nav button.active{color:var(--green)}.floating-cart{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--nav-h) + 10px + env(safe-area-inset-bottom));z-index:34;width:min(calc(100% - 26px),720px);border:0;border-radius:17px;background:var(--green);color:#fff;padding:14px 16px;display:flex;justify-content:space-between;font-weight:800}.floating-cart span{font-size:.75rem}.floating-cart strong{font-size:.92rem}.customer-sheet{position:fixed;inset:0;z-index:70;background:#fff;display:flex;flex-direction:column;width:min(100%,760px);margin:auto}.customer-sheet[hidden]{display:none}.customer-sheet>header{height:64px;flex:0 0 64px;display:grid;grid-template-columns:44px minmax(0,1fr) 70px;align-items:center;border-bottom:1px solid var(--line);padding:0 12px}.customer-sheet>header h2{text-align:center;font-size:1.15rem;margin:0}.customer-sheet>header button{border:0;background:transparent;font-size:1.3rem;font-weight:900}.customer-sheet>header button:last-child{font-size:.73rem;color:var(--danger);text-align:right}.sheet-scroll{flex:1;overflow:auto;padding:16px 16px 120px}.cart-sheet>footer,.product-sheet>footer{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:auto minmax(180px,1fr);gap:12px;align-items:center;background:#fff;border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.cart-sheet>footer small,.cart-sheet>footer strong{display:block}.cart-sheet>footer button,.product-footer>button{height:52px;border:0;border-radius:17px;background:var(--green);color:#fff;font-weight:900;font-size:1rem}.cart-items{display:grid;gap:14px}.cart-item{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:11px;align-items:center}.cart-item-media{width:74px;height:74px;border-radius:17px;background:var(--soft);display:grid;place-items:center;overflow:hidden;font-size:32px}.cart-item-media img{width:100%;height:100%;object-fit:cover}.cart-item h3{margin:0;font-size:.92rem}.cart-item small{color:var(--muted)}.cart-qty{display:grid;grid-template-columns:36px 30px 36px;align-items:center;background:var(--soft);border-radius:14px}.cart-qty button{width:36px;height:40px;border:0;background:transparent;font-size:20px}.cart-qty b{text-align:center}.cart-suggestions{margin-top:22px}.cart-suggestions h3{font-size:1rem}.cart-suggestions>div{display:flex;gap:10px;overflow:auto}.suggestion{width:128px;flex:0 0 128px}.suggestion .product-card-image{border-radius:16px}.suggestion h3{font-size:.8rem;margin:7px 0 3px}.suggestion button{width:34px;height:34px;top:95px}.more-products{width:100%;height:48px;border:0;border-radius:15px;background:var(--soft);font-weight:900;margin:22px 0 14px}.cart-note{display:block;border-top:1px solid var(--line);padding-top:15px;font-weight:850}.cart-note textarea{width:100%;min-height:84px;border:1px solid var(--line);border-radius:14px;padding:11px;margin-top:8px;resize:vertical}.coupon-box{border:1px solid var(--line);border-radius:18px;padding:13px;margin-top:18px}.coupon-box>div:first-child{display:flex;align-items:center;gap:8px}.coupon-entry{display:flex;gap:8px;margin-top:10px}.coupon-entry input{min-width:0;flex:1;height:44px;border:1px solid var(--line);border-radius:12px;padding:0 11px;text-transform:uppercase}.coupon-entry button{border:0;border-radius:12px;background:var(--green);color:#fff;font-weight:900;padding:0 13px}.wallet-shortcuts{display:flex;gap:7px;overflow:auto;margin-top:9px}.wallet-shortcuts button{border:1px solid #b9ddc6;background:var(--green-soft);color:var(--green-dark);border-radius:999px;padding:7px 10px;white-space:nowrap;font-size:.68rem;font-weight:900}.coupon-box p{margin:8px 0 0;font-size:.72rem;color:var(--green-dark)}.payment-choices{margin-top:20px}.payment-choices h3{font-size:1rem}.payment-choices label{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:8px;border:1px solid var(--line);border-radius:15px;padding:12px;margin-bottom:8px}.payment-choices input{grid-row:1/3;align-self:center;width:19px;height:19px;accent-color:var(--green)}.payment-choices span{font-weight:900}.payment-choices small{font-size:.68rem;color:var(--muted)}.cart-summary{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}.cart-summary>div{display:flex;justify-content:space-between;margin:8px 0}.cart-summary .total{font-size:1.15rem;font-weight:900;margin-top:14px}.payment-warning{background:var(--warning);border-radius:14px;padding:11px;margin-top:14px;font-size:.75rem;font-weight:800}.product-detail{padding-bottom:110px}.product-hero{aspect-ratio:1.3/1;border-radius:24px;background:var(--soft);display:grid;place-items:center;overflow:hidden;font-size:86px}.product-hero img{width:100%;height:100%;object-fit:cover}.product-detail h1{font-size:1.7rem;margin:18px 0 6px}.product-detail .product-price{font-size:1.2rem;font-weight:900}.product-detail p{color:var(--muted)}.qty-control{height:52px;display:grid;grid-template-columns:50px 42px 50px;border:1px solid var(--line);border-radius:17px;align-items:center}.qty-control button{height:50px;border:0;background:transparent;font-size:24px}.qty-control b{text-align:center}.payment-content{padding-bottom:30px}.payment-success-head{text-align:center;padding:6px 0 20px}.payment-success-head span{width:68px;height:68px;border-radius:50%;background:var(--green-soft);display:grid;place-items:center;font-size:38px;margin:0 auto}.payment-success-head h1{margin:10px 0 4px}.payment-success-head p{color:var(--muted);margin:0}.payment-card{border:1px solid var(--line);border-radius:20px;padding:15px;margin-bottom:12px}.payment-card h3{margin:0 0 9px}.pay-detail{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.pay-detail:last-child{border:0}.copy-button{border:0;border-radius:10px;background:var(--green-soft);color:var(--green-dark);padding:7px 9px;font-weight:900}.proof-upload{display:block;border:1px dashed #aab7ad;border-radius:17px;padding:17px;text-align:center;margin-top:12px}.proof-upload input{display:block;width:100%;margin-top:10px}.payment-actions{display:grid;gap:9px;margin-top:14px}.payment-actions button{height:50px;border:0;border-radius:15px;font-weight:900}.payment-actions .primary{background:var(--green);color:#fff}.payment-actions .secondary{background:var(--soft)}.order-content{padding-bottom:30px}.order-status-hero{text-align:center;padding:10px 0}.order-status-hero>span{width:76px;height:76px;border-radius:50%;background:var(--green-soft);display:grid;place-items:center;font-size:40px;margin:0 auto}.order-status-hero h1{margin:10px 0 4px}.order-status-hero p{margin:0;color:var(--muted)}.status-progress{height:10px;background:#e2ebe5;border-radius:999px;margin:18px 0;overflow:hidden}.status-progress span{display:block;height:100%;background:var(--green)}.timeline{display:grid;gap:0;margin:18px 0}.timeline-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;min-height:58px}.timeline-row .dot{width:22px;height:22px;border-radius:50%;border:3px solid #d3dbd5;background:#fff;margin-top:2px;position:relative}.timeline-row:not(:last-child) .dot:after{content:"";position:absolute;left:7px;top:19px;height:38px;border-left:2px solid #d9e0db}.timeline-row.done .dot{border-color:var(--green);background:var(--green)}.timeline-row b,.timeline-row small{display:block}.timeline-row small{color:var(--muted);font-size:.7rem}.order-summary-card{border:1px solid var(--line);border-radius:18px;padding:14px}.order-summary-card>div{display:flex;justify-content:space-between;margin:8px 0}.order-items-small{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}.order-items-small div{display:flex;justify-content:space-between;font-size:.78rem;padding:4px 0}.customer-toast-stack{position:fixed;z-index:100;top:14px;left:50%;transform:translateX(-50%);width:min(calc(100% - 24px),720px);display:grid;gap:8px}.customer-toast{background:#152219;color:#fff;border-radius:15px;padding:12px 14px;font-weight:800;animation:toastIn .2s ease}.customer-toast.error{background:#8e2727}.customer-loading{position:fixed;z-index:3000;inset:0;background:rgba(34,39,36,.86);display:grid;place-items:center;padding:24px;overscroll-behavior:contain;touch-action:none}.customer-loading.hidden{display:none}.customer-loading-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:210px}.customer-loading-card img{width:min(260px,70vw);height:180px;object-fit:contain;animation:customerLoaderPulse 1.15s ease-in-out infinite}.customer-loading-card b{color:#fff;font-size:1rem;font-weight:900;letter-spacing:.02em;text-align:center}.customer-is-busy{overflow:hidden!important}.customer-is-busy .customer-app-shell,.customer-is-busy .customer-auth-shell{pointer-events:none;user-select:none}@keyframes customerLoaderPulse{0%,100%{transform:scale(.96);opacity:.78}50%{transform:scale(1.03);opacity:1}}

@keyframes rewardPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.customer-auth-body{min-height:100vh;background:#f3f7f4}.customer-auth-shell{width:min(100%,520px);margin:0 auto;padding:28px 16px}.auth-brand{text-align:center;margin-bottom:18px}.auth-monkey{width:82px;height:82px;border-radius:28px;background:var(--green);display:grid;place-items:center;font-size:48px;margin:0 auto 10px}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{letter-spacing:.1em}.auth-brand small{font-size:.65rem;color:var(--muted);margin-top:4px}.auth-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--soft);border-radius:14px;padding:4px;margin-bottom:18px}.auth-tabs button{border:0;border-radius:11px;background:transparent;padding:10px;font-weight:900}.auth-tabs button.active{background:#fff;color:var(--green)}.welcome-gift{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;background:var(--green-soft);border-radius:16px;padding:12px;margin-bottom:15px}.welcome-gift>span{font-size:30px}.welcome-gift strong,.welcome-gift small{display:block}.welcome-gift small{font-size:.7rem;color:var(--green-dark)}.auth-card h1{font-size:1.45rem;margin:0 0 6px}.auth-card>form>p{color:var(--muted);font-size:.8rem}.auth-legal{text-align:center;font-size:.65rem!important;margin-bottom:0}.customer-alert{border-radius:14px;padding:12px;margin-bottom:12px;font-size:.78rem}.customer-alert.error{background:#feeaea;color:#8f2929}.auth-code-card{text-align:center;position:relative}.auth-back{position:absolute;left:12px;top:12px;width:42px;height:42px;border:0;border-radius:50%;background:var(--soft);font-size:20px}.code-mail{width:72px;height:72px;border-radius:50%;background:var(--green-soft);display:grid;place-items:center;font-size:34px;margin:10px auto}.code-inputs{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:18px 0}.code-inputs input{height:54px!important;padding:0!important;text-align:center;font-size:1.35rem!important;font-weight:900}.auth-resend{border:0;background:transparent;color:var(--green);font-weight:850;margin-top:14px}
@keyframes toastIn{from{transform:translateY(-8px);opacity:0}}@keyframes bob{50%{transform:translateY(-8px)}}
@media(min-width:640px){.customer-main{padding-left:24px;padding-right:24px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.promo-banner{padding:18px 20px}.customer-sheet{inset:18px 0;border-radius:24px;overflow:hidden;max-height:calc(100vh - 36px)}.home-how article{padding:16px 10px}}
@media(max-width:560px){.reward-progress-chip{padding:10px;gap:8px}.reward-rules{grid-template-columns:1fr;gap:7px}.reward-rule{grid-template-columns:max-content 25px max-content;width:100%;min-height:44px;padding:7px 8px;column-gap:5px}.reward-rule-money{font-size:.69rem}.reward-rule .pixel-number{--px:2px}.reward-rule img{width:28px;max-height:28px}.reward-wallet .pixel-number{--px:2.2px}.reward-wallet img{width:34px;max-height:34px}.reward-next-goal{font-size:.68rem;line-height:1.25}.reward-next-goal .pixel-number{--px:1.7px}.reward-next-goal img{width:24px;max-height:24px}}@media(max-width:380px){.points-pill{padding:0 6px}.points-pill .pixel-number{--px:1.8px}.points-pill .points-coin{width:30px;height:auto;max-height:30px}.product-grid{gap:14px 9px}.product-card h3{font-size:.87rem}.promo-banner{grid-template-columns:42px minmax(0,1fr)}.promo-banner button{grid-column:1/-1;width:100%}.promo-icon{width:42px;height:42px}.reward-stage{gap:10px}.reward-node{width:clamp(38px,12vw,54px);height:clamp(38px,12vw,54px)}.reward-node-meta .pixel-number{--px:clamp(1.1px,.44vw,1.7px)}.reward-node-meta img{width:19px;height:19px;margin-left:0;filter:none}.reward-monkey-token{width:clamp(44px,14vw,64px)}.reward-progress-chip{padding:9px}.reward-wallet{gap:7px}.reward-wallet .pixel-number{--px:2px}.reward-wallet img{width:32px;max-height:32px}.reward-rule{grid-template-columns:max-content 21px max-content;column-gap:3px;padding:7px 5px}.reward-rule-money{font-size:.64rem}.reward-rule .pixel-number{--px:1.8px}.reward-rule img{width:25px;max-height:25px}.reward-next-goal{font-size:.64rem}.reward-next-goal .pixel-number{--px:1.5px}.reward-next-goal img{width:22px;max-height:22px}.code-inputs{gap:4px}.code-inputs input{height:48px!important}}

/* ===== CANJE DE MONEDAS · 2026-07-30 ===== */
.reward-rules{grid-template-columns:minmax(0,1fr)}
.reward-rule{grid-template-columns:max-content 24px max-content;width:100%}
.coin-store-section{margin-top:24px}
.coin-store{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.coin-store-card{position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:12px;min-width:0;border:1px solid var(--line);border-radius:20px;background:#fff;padding:16px 13px 13px;overflow:hidden}
.coin-store-card.best-value{border:2px solid #d8a90c;padding:15px 12px 12px;background:#fffdf2}
.coin-store-best{position:absolute;top:0;right:0;border-radius:0 17px 0 12px;background:#f1c40f;color:#332600;padding:5px 8px;font-size:.55rem;line-height:1;font-weight:1000;letter-spacing:.04em}
.coin-store-discount{display:grid;gap:1px;text-align:center;padding-top:5px}
.coin-store-discount small{font-size:.58rem;letter-spacing:.12em;font-weight:1000;color:var(--green)}
.coin-store-discount strong{font-size:1.75rem;line-height:1;color:#15251a}
.coin-store-details{display:grid;justify-items:center;align-content:start;gap:4px;text-align:center}
.coin-store-details>small{font-size:.67rem;line-height:1.25;color:var(--muted)}
.coin-store-cost{display:flex;align-items:center;justify-content:center;gap:0;min-height:36px;margin-bottom:2px}
.coin-store-cost .pixel-number{--px:clamp(1.35px,.42vw,2px);gap:1px}
.coin-store-cost img{width:35px;height:auto;max-height:35px;object-fit:contain;display:block;flex:0 0 auto;image-rendering:pixelated}
.coin-store-card>button{width:100%;min-height:42px;border:0;border-radius:13px;background:var(--green);color:#fff;padding:10px 8px;font-size:.76rem;font-weight:950}
.coin-store-card>button:disabled{background:#e5e9e6;color:#667068;cursor:not-allowed}
.coin-store-card.owned{background:#f6f8f6}

@media(max-width:700px){
 .coin-store{grid-template-columns:1fr;gap:9px}
 .coin-store-card{grid-template-columns:82px minmax(0,1fr) minmax(92px,auto);grid-template-rows:auto;align-items:center;gap:10px;padding:12px}
 .coin-store-card.best-value{padding:11px}
 .coin-store-best{font-size:.50rem;padding:4px 6px}
 .coin-store-discount{padding-top:0;text-align:left}
 .coin-store-discount strong{font-size:1.45rem}
 .coin-store-details{justify-items:start;text-align:left;gap:2px}
 .coin-store-cost{justify-content:flex-start;min-height:29px;margin:0}
 .coin-store-cost .pixel-number{--px:clamp(1.2px,.48vw,1.7px)}
 .coin-store-cost img{width:30px;max-height:30px}
 .coin-store-card>button{min-height:39px;padding:8px 6px;font-size:.68rem}
}
@media(max-width:390px){
 .coin-store-card{grid-template-columns:70px minmax(0,1fr) 86px;gap:7px;padding:10px}
 .coin-store-card.best-value{padding:9px}
 .coin-store-discount strong{font-size:1.28rem}
 .coin-store-details>small{font-size:.60rem}
 .coin-store-cost .pixel-number{--px:1.15px}
 .coin-store-cost img{width:27px;max-height:27px}
 .coin-store-card>button{font-size:.62rem;padding:7px 4px}
}
@media(max-width:700px){.coin-store-card.best-value{padding-top:24px}}
@media(max-width:390px){.coin-store-card.best-value{padding-top:22px}}


/* ===== Mascota Monkey ===== */
.pet-section .section-title small{color:#178447;letter-spacing:.18em}
.pet-card{display:flex;flex-direction:column;gap:14px;background:#fff;border:2px solid #dfe7de;border-radius:20px;padding:18px;box-shadow:none}
.pet-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:190px;padding:10px;border:2px solid #d5dfd1;border-radius:16px;background:#f3f6ed;overflow:hidden;box-shadow:none}
.pet-card.large .pet-stage{min-height:210px}
.pet-scene-glow{display:none}
.pet-sprite{position:relative;z-index:2;flex:0 0 auto;width:min(36vw,122px);max-width:100%;aspect-ratio:289.6/271.5;overflow:hidden;background:transparent;filter:none;box-shadow:none;transform:none}
.pet-card.large .pet-sprite{width:min(42vw,138px);max-width:100%}
.pet-sprite-frame{position:absolute;inset:0;background-repeat:no-repeat;background-size:500% 400%;background-position:0 0;background-color:transparent;image-rendering:pixelated;image-rendering:crisp-edges;filter:none;box-shadow:none;transform:translate(0,0);will-change:transform,background-position}
.pet-action{position:absolute;z-index:3;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.18);cursor:pointer;font-size:28px;line-height:1;padding:10px 12px;transform:translateY(0);animation:petFloat 1.9s ease-in-out infinite}
.pet-action b{position:absolute;top:-7px;right:-7px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#178447;color:#fff;font-size:12px;display:inline-flex;align-items:center;justify-content:center}
.pet-action-burger{right:14px;top:16px}
.pet-action-banana{top:20px}
@keyframes petFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.pet-info{display:flex;flex-direction:column;gap:12px}
.pet-info-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.pet-info-top small{display:block;color:#178447;font-weight:900;letter-spacing:.18em;font-size:11px}
.pet-info-top h3{margin:4px 0 0;font-size:30px;line-height:1.02}
.pet-wallet-mini{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}
.pet-wallet-mini img{width:24px;height:24px;object-fit:contain}
.pet-progress-wrap{display:flex;flex-direction:column;gap:8px}
.pet-progress-head{display:flex;justify-content:space-between;gap:10px;font-size:14px;font-weight:800;color:#223126}
.pet-progress-bar{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:2px;height:22px;padding:2px;border:3px solid #21180b;border-radius:0;background:#21180b;overflow:hidden;box-shadow:none}
.pet-progress-bar span{display:block;min-width:0;height:100%;background:#d8d1b9;border-radius:0;box-shadow:none}.pet-progress-bar span.filled{background:#d99b20}
.pet-progress-copy{margin:0;font-size:14px;color:#4b5b51}
.pet-progress-copy b{color:#1c3024}
.pet-reward-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pet-reward-strip article{border:1px solid #e0e8db;border-radius:18px;padding:10px 12px;background:#fafcf8}
.pet-reward-strip small{display:block;font-size:11px;letter-spacing:.12em;color:#178447;font-weight:800;margin-bottom:4px}
.pet-reward-strip strong{font-size:19px;display:inline-block;vertical-align:middle}
.pet-reward-strip article img{width:18px;height:18px;vertical-align:middle;margin-left:3px}
.pet-level-track{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:4px}
.pet-level-track span{height:30px;border-radius:999px;border:1px solid #d9e2d5;background:#f6f8f4;color:#748579;display:flex;align-items:center;justify-content:center;font-weight:900}
.pet-level-track span.done{background:#dff1df;color:#178447;border-color:#c7e6c8}
.pet-level-track span.active{background:#178447;color:#fff;border-color:#178447}
.pet-home-quick-note,.pet-rewards-note{margin:0;color:#536159;font-size:14px}
@media (max-width:640px){
 .pet-card{padding:14px;border-radius:20px}
 .pet-stage{min-height:178px}
 .pet-card.large .pet-stage{min-height:200px}
 .pet-info-top h3{font-size:24px}
 .pet-reward-strip{grid-template-columns:1fr 1fr 1fr}
 .pet-reward-strip strong{font-size:16px}
 .pet-action{font-size:24px;padding:9px 11px}
 .pet-action-burger{right:10px;top:10px}
 .pet-progress-bar{height:20px;gap:1px;padding:2px;border-width:3px}
}

.customer-boot-error{margin:18px;border:1px solid #efc4c4;background:#fff5f5;border-radius:20px;padding:22px;text-align:center;color:#6d2020}.customer-boot-error>span{font-size:42px}.customer-boot-error h2{margin:8px 0 6px}.customer-boot-error p{margin:0 0 14px;word-break:break-word}.customer-boot-error button{border:0;border-radius:14px;background:#178447;color:#fff;font-weight:900;padding:12px 18px}


/* ===== Confirmación de pago v25 ===== */
.payment-instruction-card{margin-top:12px}
.payment-main-instruction{margin:0 0 12px;font-size:1rem;line-height:1.45;color:#1d2a21}
.payment-main-instruction strong{color:#102a19}
.payment-help-text{margin:12px 0 0;padding:10px 12px;border-left:4px solid var(--green);background:var(--green-soft);font-size:.78rem;line-height:1.4;color:#2f4937}
.proof-upload small{display:block;margin-top:5px;color:var(--muted);line-height:1.35}
.proof-upload input{padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}
.proof-upload .customer-primary{margin-top:12px}
@media(max-width:560px){.pay-detail{align-items:flex-start;flex-direction:column;gap:5px}.pay-detail b{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px}.copy-button{flex:0 0 auto}.payment-main-instruction{font-size:.92rem}}


/* ===== Inicio estilo aplicación de pedidos · v26 ===== */
:root{--top-h:86px;--nav-h:78px}
.customer-topbar{height:var(--top-h);padding:14px 18px;background:var(--green);border-bottom:0;color:#fff}
.brand-mini{min-width:0;gap:10px;color:#fff}
.brand-mini .brand-location-icon{font-size:1.35rem;flex:0 0 auto}
.brand-mini .brand-chevron{font-size:.86rem;opacity:.92;flex:0 0 auto}
.brand-mini>div{min-width:0}
.brand-mini strong{font-size:1.03rem;letter-spacing:0;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}
.brand-mini small{margin-top:2px;font-size:.70rem;color:#dff4e7;white-space:nowrap}
.top-actions{align-items:center;gap:7px}
.points-pill{height:42px;border:0;border-radius:15px;background:#fff;padding:0 7px;color:#111}
.cart-top-button{width:44px;height:44px;padding:0;justify-content:center;border:0;border-radius:50%;background:transparent;color:#fff;font-size:1.45rem}
.cart-top-button b{right:-1px;top:-2px;background:#fff;color:var(--green);border:2px solid var(--green);font-size:.62rem}
.customer-main{padding-left:16px;padding-right:16px}
.customer-view[data-view="home"]{padding-top:0}
.customer-view[data-view="home"]::before{content:"";position:absolute;left:0;right:0;top:var(--top-h);height:104px;background:var(--green);z-index:0}
.home-search-panel{position:relative;z-index:1;margin:0 -16px;padding:0 18px 18px;background:var(--green);color:#fff}
.home-welcome-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:.77rem;color:#e2f4e8}
.home-welcome-line b{color:#fff;font-size:.82rem}
.home-welcome-line button{width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:1.24rem}
.home-search-box{position:relative;display:flex;align-items:center;height:54px;border-radius:999px;background:#fff;border:0;overflow:hidden}
.home-search-box input{width:100%;height:100%;padding:0 58px 0 20px;border:0;outline:0;background:transparent;color:#333;font-size:.96rem;cursor:pointer}
.home-search-box input::placeholder{color:#757575}
.home-search-box i{position:absolute;right:8px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:1.15rem;pointer-events:none}
.home-content{position:relative;z-index:1;padding-top:18px}
.home-content .promo-banner{margin-bottom:22px;border-radius:28px;padding:17px 16px;background:var(--green);border:0;box-shadow:none}
.home-content .promo-icon{background:#fff;color:var(--green);font-size:1.5rem}
.home-content .promo-banner button{border-radius:999px;padding:11px 16px}
.home-categories-section{margin-top:4px}
.home-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}
.home-section-heading small{font-size:.66rem;font-weight:900;letter-spacing:.14em;color:var(--green)}
.home-section-heading h2{margin:4px 0 0;font-size:1.36rem}
.home-section-heading button{border:0;background:transparent;color:var(--green);font-weight:850;padding:4px 0}
.home-featured-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.home-featured-category{min-width:0;min-height:194px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:8px;padding:0 0 17px;border:1px solid #e7e9e7;border-radius:25px;background:#f4f5f4;color:#171717;overflow:hidden;box-shadow:none;text-align:center}
.home-featured-media{height:142px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:10px}
.home-featured-media img{width:100%;height:100%;object-fit:contain;display:block}
.home-featured-media .home-category-fallback{display:grid;place-items:center;width:100%;height:100%;font-size:4.3rem}
.home-featured-category strong{display:block;padding:0 8px;font-size:1rem;line-height:1.18}
.home-category-strip{display:flex;gap:12px;overflow-x:auto;margin:15px -16px 0;padding:0 16px 6px;scrollbar-width:none;overscroll-behavior-x:contain}
.home-category-strip::-webkit-scrollbar{display:none}
.home-mini-category{flex:0 0 106px;min-width:106px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 8px 12px;border:1px solid #e7e9e7;border-radius:22px;background:#f4f5f4;color:#171717;text-align:center;box-shadow:none}
.home-mini-category>span{width:82px;height:82px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.home-mini-category img{width:100%;height:100%;object-fit:contain;display:block}
.home-mini-category .home-category-fallback{font-size:2.8rem}
.home-mini-category strong{max-width:100%;font-size:.76rem;line-height:1.14;overflow:hidden;text-overflow:ellipsis}
.home-content .pet-section{margin-top:24px}
.home-content .section-block:last-child{padding-bottom:4px}
.customer-bottom-nav{height:var(--nav-h);padding:7px 5px calc(7px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e8e8e8}
.customer-bottom-nav button{gap:3px;color:#5e655f}
.customer-bottom-nav button i{font-size:1.42rem;line-height:1}
.customer-bottom-nav button small{font-size:.67rem;font-weight:800}
.customer-bottom-nav button.active{color:var(--green)}
.customer-bottom-nav button.active i{transform:translateY(-1px)}
@media(max-width:420px){
 .customer-topbar{padding-left:14px;padding-right:14px}
 .brand-mini strong{font-size:.94rem}
 .brand-mini small{font-size:.64rem}
 .points-pill .pixel-number{--px:1.65px}
 .points-pill .points-coin{width:29px;max-height:29px}
 .home-featured-category{min-height:176px;border-radius:22px}
 .home-featured-media{height:126px}
 .home-featured-category strong{font-size:.91rem}
 .home-mini-category{flex-basis:96px;min-width:96px}
 .home-mini-category>span{width:72px;height:72px}
}


/* ===== Inicio móvil sin cabecera superior · v27 ===== */
:root{--top-h:0px}
.customer-main{padding-top:0}
.customer-view[data-view="home"]{position:relative;padding-top:0}
.customer-view[data-view="home"]::before{display:none!important;content:none!important}
.home-search-panel{
 position:sticky;
 top:0;
 z-index:40;
 margin:0 -16px;
 padding:calc(10px + env(safe-area-inset-top)) 16px 14px;
 background:var(--green);
 color:#fff;
 border:0;
 box-shadow:none;
}
.home-welcome-line{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;
 min-height:42px;
 margin:0 0 10px;
 color:#e2f4e8;
 font-size:.78rem;
}
.home-welcome-line>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-welcome-line b[data-greeting-name]{color:#fff;font-size:.86rem}
.home-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex:0 0 auto}
.home-welcome-line .home-points-pill{width:auto;height:38px;min-width:0;padding:0 6px;border:0;border-radius:13px;background:#fff;color:#111;box-shadow:none}
.home-points-pill .pixel-number{--px:clamp(1.55px,.50vw,2px)}
.home-points-pill .points-coin{width:29px;max-height:29px}
.home-welcome-line .home-cart-button{
 position:relative;
 width:38px;
 height:38px;
 padding:0;
 border:1px solid rgba(255,255,255,.35);
 border-radius:13px;
 background:rgba(255,255,255,.12);
 color:#fff;
 font-size:1.30rem;
 box-shadow:none;
}
.home-welcome-line .home-cart-button b{right:-4px;top:-5px;background:#e53935;color:#fff;border:2px solid #e53935;font-size:.60rem}
.home-search-box{height:52px;border-radius:999px;background:#fff;border:0;box-shadow:none}
.home-search-box input{padding:0 58px 0 19px;font-size:.95rem;color:#2a2f2b}
.home-search-box input::placeholder{color:#666d68;opacity:1}
.home-search-box i{right:7px;width:39px;height:39px;border-radius:50%;background:var(--green);color:#fff;font-size:1.12rem}
.home-content{padding-top:18px}
.view-cart-button{position:relative;display:grid!important;place-items:center;width:44px!important;height:44px!important;padding:0!important;border:0!important;border-radius:50%!important;background:var(--soft)!important;color:var(--green-dark);font-size:1.24rem!important}
.view-cart-button b{position:absolute;right:-3px;top:-4px;min-width:19px;height:19px;padding:0 4px;border-radius:999px;background:var(--green);color:#fff;font-size:.62rem;display:grid;place-items:center}
@media(max-width:420px){
 .home-search-panel{margin:0 -16px;padding:calc(8px + env(safe-area-inset-top)) 14px 12px}
 .home-welcome-line{min-height:38px;margin-bottom:8px;font-size:.74rem}
 .home-welcome-line b[data-greeting-name]{font-size:.81rem}
 .home-welcome-line .home-points-pill{height:36px;border-radius:12px;padding:0 5px}
 .home-points-pill .pixel-number{--px:1.5px}
 .home-points-pill .points-coin{width:27px;max-height:27px}
 .home-welcome-line .home-cart-button{width:36px;height:36px;border-radius:12px;font-size:1.22rem}
 .home-search-box{height:50px}
 .home-search-box input{padding-left:17px;font-size:.91rem}
 .home-search-box i{width:37px;height:37px;right:7px}
}
@media(max-width:350px){
 .home-welcome-line>span{max-width:42%}
 .home-top-actions{gap:5px}
 .home-points-pill .pixel-number{--px:1.35px}
 .home-points-pill .points-coin{width:25px;max-height:25px}
}


/* ===== Ajustes de inicio compacto · v28 ===== */
.home-welcome-line .home-points-pill{
 width:auto;
 height:auto;
 min-width:0;
 padding:0;
 border:0;
 border-radius:0;
 background:transparent;
 color:#fff;
 box-shadow:none;
 gap:1px;
}
.home-welcome-line .home-points-pill .px-1{background:#fff}
.home-welcome-line .home-points-pill .px-0,
.home-welcome-line .home-points-pill .px-2{background:transparent}
.home-welcome-line .home-points-pill .points-coin{width:27px;max-height:27px;margin-left:2px}
.home-welcome-line .home-cart-button{
 width:auto;
 height:auto;
 min-width:32px;
 min-height:32px;
 padding:0;
 border:0;
 border-radius:0;
 background:transparent;
 color:#fff;
 box-shadow:none;
 font-size:1.42rem;
 display:grid;
 place-items:center;
}
.home-welcome-line .home-cart-button b{right:-8px;top:-7px}
.home-categories-section{margin-top:0}
.home-featured-categories{margin-top:0}
.home-content .promo-banner{
 grid-template-columns:38px minmax(0,1fr) auto;
 gap:9px;
 min-height:0;
 margin-bottom:14px;
 padding:10px 12px;
 border-radius:18px;
}
.home-content .promo-icon{
 width:36px;
 height:36px;
 border-radius:10px;
 font-size:1.15rem;
}
.home-content .promo-banner strong{font-size:.94rem;line-height:1.1}
.home-content .promo-banner p{margin-top:2px;font-size:.68rem;line-height:1.22}
.home-content .promo-banner button{
 min-height:34px;
 padding:7px 11px;
 border-radius:11px;
 font-size:.72rem;
 white-space:nowrap;
}
@media(max-width:420px){
 .home-top-actions{gap:12px}
 .home-welcome-line .home-points-pill{height:auto;padding:0;border-radius:0}
 .home-welcome-line .home-cart-button{width:auto;height:auto;min-width:30px;min-height:30px;border-radius:0;font-size:1.34rem}
 .home-content .promo-banner{grid-template-columns:34px minmax(0,1fr) auto;gap:8px;padding:9px 10px;border-radius:16px}
 .home-content .promo-icon{width:32px;height:32px;border-radius:9px;font-size:1.05rem}
 .home-content .promo-banner strong{font-size:.88rem}
 .home-content .promo-banner p{font-size:.64rem}
 .home-content .promo-banner button{min-height:32px;padding:6px 9px;font-size:.67rem}
}
@media(max-width:350px){
 .home-content .promo-banner{grid-template-columns:32px minmax(0,1fr) auto;gap:6px;padding:8px}
 .home-content .promo-icon{width:30px;height:30px}
 .home-content .promo-banner strong{font-size:.83rem}
 .home-content .promo-banner p{font-size:.60rem}
 .home-content .promo-banner button{padding:6px 7px;font-size:.62rem}
}


/* ===== Navegación móvil, buscadores y carrito animado · v29 ===== */
.home-search-panel{
 position:relative!important;
 top:auto!important;
 z-index:1!important;
 padding-bottom:11px!important;
}
.home-search-box{
 height:44px!important;
 border-radius:999px!important;
}
.home-search-box input{
 padding:0 48px 0 17px!important;
 font-size:.88rem!important;
}
.home-search-box i{
 right:6px!important;
 width:33px!important;
 height:33px!important;
 font-size:1rem!important;
}
.customer-view[data-view="menu"]{
 padding-top:0;
}
.menu-sticky-header{
 position:sticky;
 top:0;
 z-index:45;
 margin:0 -16px;
 padding:calc(7px + env(safe-area-inset-top)) 14px 0;
 background:#fff;
 border-bottom:1px solid #ecefec;
 box-shadow:none;
}
.menu-top-row{
 display:grid;
 grid-template-columns:38px minmax(0,1fr) 38px;
 align-items:center;
 gap:8px;
}
.menu-back-button,
.menu-cart-button{
 position:relative;
 width:38px;
 height:42px;
 display:grid;
 place-items:center;
 padding:0;
 border:0;
 border-radius:0;
 background:transparent;
 color:#101812;
 box-shadow:none;
 font-size:1.48rem;
}
.menu-back-button i{font-size:1.65rem}
.menu-search-box{
 position:relative;
 display:flex;
 align-items:center;
 height:44px;
 border-radius:999px;
 background:#f1f2f1;
 overflow:hidden;
}
.menu-search-box input{
 width:100%;
 height:100%;
 min-width:0;
 padding:0 43px 0 17px;
 border:0;
 outline:0;
 background:transparent;
 color:#252b27;
 font-size:16px;
}
.menu-search-box input::placeholder{color:#717773;opacity:1}
.menu-search-box>i{
 position:absolute;
 right:14px;
 color:#121813;
 font-size:1.12rem;
 pointer-events:none;
}
.menu-cart-button>i{font-size:1.48rem}
.menu-cart-button b{
 position:absolute;
 right:-3px;
 top:0;
 min-width:19px;
 height:19px;
 display:grid;
 place-items:center;
 padding:0 4px;
 border:2px solid #fff;
 border-radius:999px;
 background:var(--green);
 color:#fff;
 font-size:.61rem;
 font-weight:900;
}
.menu-sticky-header .category-tabs{
 position:relative!important;
 top:auto!important;
 z-index:auto!important;
 gap:8px;
 margin:8px -14px 0;
 padding:0 14px 9px;
 background:#fff;
 scrollbar-width:none;
}
.menu-sticky-header .category-tabs button{
 padding:8px 12px;
 border-color:#e1e5e2;
 background:#f4f5f4;
 font-size:.73rem;
}
.menu-sticky-header .category-tabs button.active{
 border-color:var(--green);
 background:var(--green);
 color:#fff;
}
.menu-section-title{
 margin:16px 0 14px;
 font-size:1.28rem;
}
[data-cart-count][hidden],
.floating-cart[hidden]{display:none!important}
[data-cart-count].cart-badge-pop{animation:cartBadgePop .34s cubic-bezier(.2,1.45,.45,1)}
.floating-cart.floating-cart-enter{animation:floatingCartEnter .34s cubic-bezier(.2,.9,.25,1)}
@keyframes cartBadgePop{
 0%{transform:scale(.25);opacity:0}
 65%{transform:scale(1.25);opacity:1}
 100%{transform:scale(1);opacity:1}
}
@keyframes floatingCartEnter{
 0%{transform:translate(-50%,26px);opacity:0}
 100%{transform:translate(-50%,0);opacity:1}
}
@media(max-width:420px){
 .home-search-panel{padding-bottom:10px!important}
 .home-search-box{height:42px!important}
 .home-search-box input{font-size:.84rem!important;padding-left:15px!important}
 .home-search-box i{width:31px!important;height:31px!important;right:5px!important}
 .menu-sticky-header{padding-left:12px;padding-right:12px}
 .menu-sticky-header .category-tabs{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}
 .menu-top-row{grid-template-columns:36px minmax(0,1fr) 36px;gap:7px}
 .menu-back-button,.menu-cart-button{width:36px;height:40px}
 .menu-search-box{height:42px}
 .menu-search-box input{padding-left:15px;padding-right:40px}
 .menu-search-box>i{right:13px}
 .floating-cart{bottom:calc(var(--nav-h) + 8px + env(safe-area-inset-bottom));padding:12px 14px}
}


/* ===== Productos por categorías y carruseles · v30 ===== */
.menu-sticky-header .category-tabs{
 display:flex;
 gap:28px;
 overflow-x:auto;
 padding:0 18px;
 margin:0 -16px;
 border-bottom:1px solid #e9ecea;
 background:#fff;
 scroll-snap-type:x proximity;
 scrollbar-width:none;
}
.menu-sticky-header .category-tabs::-webkit-scrollbar{display:none}
.menu-sticky-header .category-tabs button{
 position:relative;
 flex:0 0 auto;
 min-height:54px;
 padding:0;
 border:0;
 border-radius:0;
 background:transparent;
 color:#858b91;
 font-size:1rem;
 font-weight:700;
 white-space:nowrap;
 scroll-snap-align:start;
}
.menu-sticky-header .category-tabs button.active{background:transparent;color:#121713}
.menu-sticky-header .category-tabs button.active::after{
 content:"";
 position:absolute;
 left:0;
 right:0;
 bottom:0;
 height:4px;
 background:#121713;
}
.menu-sections{display:grid;gap:34px;padding:28px 0 24px;min-width:0}
.menu-product-section{min-width:0}
.menu-product-section>h2{margin:0 0 16px;font-size:1.55rem;line-height:1.1;font-weight:900;color:#111712}
.product-carousel{
 display:flex;
 gap:14px;
 overflow-x:auto;
 margin:0 -16px;
 padding:0 16px 8px;
 scroll-snap-type:x mandatory;
 scroll-padding-left:16px;
 overscroll-behavior-inline:contain;
 scrollbar-width:none;
 -webkit-overflow-scrolling:touch;
}
.product-carousel::-webkit-scrollbar{display:none}
.product-carousel .product-card{
 flex:0 0 clamp(154px,43vw,188px);
 width:clamp(154px,43vw,188px);
 min-width:0;
 scroll-snap-align:start;
}
.product-carousel .product-card-image{
 position:relative;
 width:100%;
 aspect-ratio:1/1;
 border-radius:22px;
 background:#f3f4f3;
 overflow:visible;
 display:grid;
 place-items:center;
}
.product-carousel .product-card-image>img{
 width:100%;
 height:100%;
 object-fit:cover;
 border-radius:22px;
}
.product-carousel .product-card-image .fallback{font-size:64px}
.product-carousel .product-card-add{
 position:absolute;
 z-index:4;
 top:-8px;
 right:-8px;
 width:46px;
 height:46px;
 border:4px solid #fff;
 border-radius:50%;
 background:var(--green);
 color:#fff;
 display:grid;
 place-items:center;
 padding:0;
 box-shadow:none;
 font-size:25px;
 line-height:1;
}
.product-carousel .product-card-add i{display:block;font-size:25px;line-height:1;font-weight:900}
.product-card-add.product-add-pressed{animation:productAddPress .34s ease}
@keyframes productAddPress{0%{transform:scale(1)}45%{transform:scale(.78)}75%{transform:scale(1.16)}100%{transform:scale(1)}}
.product-card-copy{padding-top:12px}
.product-current-price{display:block;font-size:1.03rem;line-height:1.1;font-weight:950;color:#111712}
.product-discount-line{display:flex;align-items:center;gap:6px;min-height:22px;margin-top:3px}
.product-discount-line span{display:inline-flex;align-items:center;min-height:21px;padding:1px 4px;background:#ffd928;color:#111;font-size:.88rem;font-weight:900}
.product-discount-line del{color:#666c68;font-size:.88rem;text-decoration-thickness:1px}
.product-carousel .product-card h3{margin:7px 0 0;min-height:0;font-size:.98rem;line-height:1.25;font-weight:500;color:#202520;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-carousel .product-card p{margin:4px 0 0;color:#777e79;font-size:.76rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-rank-badge,.product-promo-badge{
 position:absolute;
 z-index:3;
 left:10px;
 bottom:10px;
 max-width:calc(100% - 20px);
 padding:5px 10px;
 border-radius:999px;
 background:#fff;
 color:#202520;
 font-size:.72rem;
 font-weight:900;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.product-promo-badge{top:10px;bottom:auto;background:#178447;color:#fff}
.product-detail-price{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}
.product-detail-price .product-price{font-size:1.25rem;font-weight:950}
.product-detail-discount{background:#ffd928;padding:2px 5px;font-weight:900}
.product-detail-price del{color:#707771}
/* Las sugerencias del carrito mantienen tamaño compacto. */
.cart-suggestions .product-card-add{right:4px;top:92px;border:3px solid #fff}
@media(max-width:380px){
 .menu-sticky-header .category-tabs{gap:22px}
 .menu-sticky-header .category-tabs button{font-size:.94rem;min-height:50px}
 .menu-product-section>h2{font-size:1.38rem}
 .product-carousel .product-card{flex-basis:146px;width:146px}
 .product-carousel .product-card-add{width:42px;height:42px;top:-7px;right:-7px;font-size:22px}
 .product-carousel .product-card-add i{font-size:22px}
}
@media(min-width:640px){
 .product-carousel{margin:0 -24px;padding-left:24px;padding-right:24px;scroll-padding-left:24px}
 .product-carousel .product-card{flex-basis:190px;width:190px}
}


/* ===== Productos por categoría · v31 ===== */
.product-grid-two{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:28px 14px;
 min-width:0;
 overflow:visible;
}
.product-grid-two .product-card{
 min-width:0;
 width:100%;
}
.product-grid-two .product-card-image,
.product-carousel .product-card-image{
 position:relative;
 overflow:visible;
}
.product-grid-two .product-card-image{
 width:100%;
 aspect-ratio:1/1;
 border-radius:22px;
 background:#f3f4f3;
 display:grid;
 place-items:center;
}
.product-grid-two .product-card-image>img{
 width:100%;
 height:100%;
 object-fit:cover;
 border-radius:22px;
}
.product-grid-two .product-card-image .fallback{font-size:58px}
.product-grid-two .product-card-copy{padding-top:11px}
.product-grid-two .product-card h3,
.product-carousel .product-card h3{
 margin:7px 0 0;
 min-height:0;
 font-size:.98rem;
 line-height:1.25;
 font-weight:500;
 color:#202520;
 display:-webkit-box;
 -webkit-line-clamp:2;
 -webkit-box-orient:vertical;
 overflow:hidden;
}
.product-grid-two .product-card p,
.product-carousel .product-card p{
 margin:4px 0 0;
 color:#777e79;
 font-size:.76rem;
 line-height:1.25;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.product-grid-two .product-current-price{font-size:1rem}
.product-grid-two .product-discount-line{gap:5px}
.product-grid-two .product-discount-line span,
.product-grid-two .product-discount-line del{font-size:.83rem}
.product-grid-two .product-card-add,
.product-carousel .product-card-add,
.cart-suggestions .product-card-add{
 position:absolute;
 z-index:6;
 top:8px;
 right:8px;
 width:44px;
 height:44px;
 border:4px solid #fff;
 border-radius:50%;
 background:var(--green);
 color:#fff;
 display:grid;
 place-items:center;
 padding:0;
 box-shadow:none;
 overflow:visible;
}
.product-plus-mark{
 position:relative;
 display:block;
 width:23px;
 height:23px;
}
.product-plus-mark::before,
.product-plus-mark::after{
 content:"";
 position:absolute;
 left:50%;
 top:50%;
 transform:translate(-50%,-50%);
 border-radius:2px;
 background:#fff;
}
.product-plus-mark::before{width:23px;height:5px}
.product-plus-mark::after{width:5px;height:23px}
.repeat-order-section{margin-bottom:2px}
.repeat-order-section>h2{color:var(--green)}
@media(max-width:380px){
 .product-grid-two{gap:24px 10px}
 .product-grid-two .product-card-add,
 .product-carousel .product-card-add,
 .cart-suggestions .product-card-add{width:40px;height:40px;top:7px;right:7px;border-width:3px}
 .product-plus-mark{width:21px;height:21px}
 .product-plus-mark::before{width:21px;height:5px}
 .product-plus-mark::after{width:5px;height:21px}
 .product-grid-two .product-card h3{font-size:.91rem}
 .product-grid-two .product-card p{font-size:.71rem}
}


/* ===== Ajustes de categorías y barra de canasta · v32 ===== */
.menu-sticky-header .category-tabs{
 padding-left:20px!important;
 padding-right:18px!important;
 scroll-padding-left:20px;
}
.menu-sticky-header .category-tabs button:first-child{
 margin-left:0!important;
}
.floating-cart{
 display:grid!important;
 grid-template-columns:minmax(0,1fr) auto!important;
 align-items:center!important;
 gap:16px!important;
 min-height:82px!important;
 padding:11px 12px 11px 22px!important;
 border:1px solid #e4e8e5!important;
 border-radius:28px!important;
 background:#fff!important;
 color:#111!important;
 box-shadow:0 -7px 24px rgba(16,28,19,.10)!important;
 text-align:left!important;
}
.floating-cart-summary{
 display:flex!important;
 min-width:0;
 flex-direction:column;
 align-items:flex-start;
 justify-content:center;
 gap:2px;
 color:#111!important;
}
.floating-cart-summary small{
 display:block;
 color:#202520;
 font-size:.82rem!important;
 font-weight:500;
 line-height:1.1;
}
.floating-cart-summary small b{
 font-weight:500;
}
.floating-cart-summary strong{
 display:block;
 color:#111;
 font-size:1.65rem!important;
 line-height:1.05;
 font-weight:800;
 white-space:nowrap;
}
.floating-cart-action{
 display:flex!important;
 align-items:center;
 justify-content:center;
 min-width:154px;
 min-height:56px;
 padding:0 25px;
 border-radius:999px;
 background:var(--green)!important;
 color:#fff!important;
 font-size:1.08rem!important;
 font-weight:800;
 line-height:1;
 white-space:nowrap;
}
@media(max-width:420px){
 .menu-sticky-header .category-tabs{
  padding-left:18px!important;
  padding-right:14px!important;
  scroll-padding-left:18px;
 }
 .floating-cart{
  gap:10px!important;
  min-height:72px!important;
  padding:9px 9px 9px 17px!important;
  border-radius:24px!important;
 }
 .floating-cart-summary small{font-size:.72rem!important}
 .floating-cart-summary strong{font-size:1.38rem!important}
 .floating-cart-action{
  min-width:130px;
  min-height:50px;
  padding:0 18px;
  font-size:.94rem!important;
 }
}
@media(max-width:350px){
 .floating-cart{padding-left:13px!important}
 .floating-cart-action{min-width:112px;padding:0 13px;font-size:.86rem!important}
 .floating-cart-summary strong{font-size:1.22rem!important}
}

/* ===== Barra de canasta compacta · v33 ===== */
.floating-cart{
 min-height:60px!important;
 padding:7px 8px 7px 18px!important;
 border-radius:24px!important;
 gap:12px!important;
}
.floating-cart-summary{gap:0!important}
.floating-cart-summary small{
 font-size:.70rem!important;
 line-height:1!important;
}
.floating-cart-summary strong{
 margin-top:2px;
 font-size:1.32rem!important;
 line-height:1!important;
}
.floating-cart-action{
 min-width:142px;
 min-height:44px;
 padding:0 20px;
 font-size:.94rem!important;
}
@media(max-width:420px){
 .floating-cart{
  min-height:56px!important;
  padding:6px 7px 6px 15px!important;
  border-radius:22px!important;
  gap:9px!important;
 }
 .floating-cart-summary small{font-size:.66rem!important}
 .floating-cart-summary strong{font-size:1.20rem!important}
 .floating-cart-action{
  min-width:122px;
  min-height:42px;
  padding:0 15px;
  font-size:.88rem!important;
 }
}
@media(max-width:350px){
 .floating-cart{padding-left:12px!important}
 .floating-cart-summary strong{font-size:1.10rem!important}
 .floating-cart-action{
  min-width:108px;
  min-height:40px;
  padding:0 12px;
  font-size:.81rem!important;
 }
}


/* Icono de hamburguesa del menú inferior · v35 */
.customer-bottom-nav button .nav-hamburger-icon{display:block;width:1.5rem;height:1.5rem;flex:0 0 auto;overflow:visible}
.customer-bottom-nav button.active .nav-hamburger-icon{transform:translateY(-1px)}


/* ===== Flechas de carrusel en computadora · v36 ===== */
.product-carousel-shell{position:relative;min-width:0}
.product-carousel-arrow{display:none}
@media (min-width:769px){
 .product-carousel-shell{margin:0 -4px}
 .product-carousel-shell .product-carousel{margin:0;padding-left:4px;padding-right:4px;scroll-padding-left:4px}
 .product-carousel-arrow{
  position:absolute;
  z-index:12;
  top:0;
  width:44px;
  height:104px;
  padding:0;
  border:0;
  border-radius:0;
  background:rgba(255,255,255,.24);
  color:#111712;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  opacity:.92;
  transition:opacity .16s ease,background-color .16s ease,transform .16s ease;
 }
 .product-carousel-arrow.prev{left:0}
 .product-carousel-arrow.next{right:0}
 .product-carousel-arrow i{font-size:42px;line-height:1;font-weight:900;-webkit-text-stroke:1.2px currentColor}
 .product-carousel-arrow:hover{background:rgba(255,255,255,.58);opacity:1}
 .product-carousel-arrow:active{transform:scale(.94)}
 .product-carousel-arrow:disabled{opacity:.18;cursor:default;pointer-events:none}
 .product-carousel-shell.not-scrollable .product-carousel-arrow{display:none}
}


/* ===== Canasta y pago compacto · v37 ===== */
.product-carousel-arrow[hidden]{display:none!important}
@media(min-width:769px){
 .product-carousel-arrow{top:var(--carousel-arrow-center,110px)!important;transform:translateY(-50%)!important;height:112px!important;background:rgba(255,255,255,.34)!important}
 .product-carousel-arrow:active{transform:translateY(-50%) scale(.94)!important}
}
.cart-sheet,.payment-sheet{z-index:90}
.basket-sheet-header,.checkout-sheet-header{grid-template-columns:48px minmax(0,1fr) 48px!important;height:60px!important;flex-basis:60px!important;padding:0 14px!important;background:#fff}
.basket-sheet-header button,.checkout-sheet-header button{width:42px;height:42px;border-radius:50%!important;background:#f0f2f3!important;color:#161b18!important;display:grid;place-items:center;font-size:1.35rem!important}
.basket-sheet-header h2,.checkout-sheet-header h2{text-align:left!important;font-size:1.34rem!important;padding-left:4px}
.basket-scroll{padding:8px 22px 116px!important}
.cart-items{gap:0!important}
.basket-item{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid #ecefee}
.basket-item-media{width:88px;height:72px;border-radius:14px;background:#f4f5f3;display:grid;place-items:center;overflow:hidden;font-size:40px}
.basket-item-media img{width:100%;height:100%;object-fit:contain}
.basket-item-info h3{margin:0 0 5px;font-size:1rem;line-height:1.2;font-weight:600}
.basket-item-price{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.basket-item-price strong{font-size:1.05rem}.basket-item-price span{background:#ffe02b;border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:900}.basket-item-price del{color:#707773;font-size:.82rem}
.basket-qty{display:grid;grid-template-columns:42px 34px 42px;align-items:center;border:1px solid #e2e6e4;border-radius:16px;background:#fff;overflow:hidden}
.basket-qty button{width:42px;height:44px;border:0;background:transparent;font-size:1.55rem;font-weight:900;color:#111}.basket-qty button i{font-size:1.25rem}.basket-qty b{text-align:center;font-size:1rem}
.basket-clear{display:block;margin:18px auto 8px;border:0;background:transparent;color:#e94343;font-size:1rem;font-weight:800;padding:10px 18px}.basket-clear[hidden]{display:none!important}
.cart-suggestions{margin:22px -22px 0;padding:22px 22px 8px;border-top:12px solid #f6f7f6}
.cart-suggestions>h3{margin:0;font-size:1.28rem}.cart-suggestions>p{margin:5px 0 16px;color:#7a817d;font-size:.78rem}
.basket-suggestion-carousel{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:4px 3px 10px;scrollbar-width:none}.basket-suggestion-carousel::-webkit-scrollbar{display:none}
.basket-suggestion-card{flex:0 0 154px;width:154px;scroll-snap-align:start;min-width:0}.basket-suggestion-image{position:relative;height:154px;border:1px solid #e4e8e6;border-radius:20px;background:#f7f8f6;display:grid;place-items:center;overflow:visible}.basket-suggestion-image>img{width:100%;height:100%;object-fit:contain;border-radius:20px}.basket-suggestion-image .fallback{font-size:58px}
.basket-suggestion-image button{position:absolute;right:-5px;top:-8px;width:43px;height:43px;border-radius:50%;border:3px solid #fff;background:var(--green);display:grid;place-items:center}
.basket-suggestion-card h4{margin:8px 0 3px;font-size:.94rem;line-height:1.2}.basket-suggestion-card p{margin:0;color:#8a918d;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.basket-suggestion-card>strong{display:block;margin-top:6px;font-size:1rem}
.basket-footer,.checkout-footer{position:absolute!important;left:0;right:0;bottom:0;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(180px,250px)!important;align-items:center;gap:16px;background:#fff;border-top:1px solid #ecefee;padding:12px 22px calc(12px + env(safe-area-inset-bottom))!important}
.basket-footer small,.basket-footer strong,.checkout-footer small,.checkout-footer strong{display:block}.basket-footer small,.checkout-footer small{font-size:.78rem}.basket-footer strong,.checkout-footer strong{font-size:1.7rem;line-height:1.05}
.basket-footer button,.checkout-footer button{height:52px;border:0;border-radius:999px;background:var(--green);color:#fff;font-size:1.05rem;font-weight:800}
.payment-content{padding:12px 24px 120px!important}
.checkout-section{margin-bottom:26px}.checkout-section h3{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:1.24rem}.checkout-section h3 i{font-size:1.35rem}
.checkout-option-list,.checkout-payment-list{display:grid;gap:10px}.checkout-option,.checkout-payment-list label{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:78px;border:1px solid #e1e5e3;border-radius:18px;padding:12px 16px;background:#fff}.checkout-option:has(input:checked),.checkout-payment-list label:has(input:checked){border:3px solid #171b19;padding:10px 14px}.checkout-option input,.checkout-payment-list input{position:absolute;opacity:0;pointer-events:none}.checkout-radio{width:28px;height:28px;border:3px solid #161b18;border-radius:50%;display:grid;place-items:center}.checkout-option input:checked+.checkout-radio,.checkout-payment-list input:checked+.checkout-radio{background:#111;color:#fff}.checkout-option input:checked+.checkout-radio:after,.checkout-payment-list input:checked+.checkout-radio:after{content:'✓';font-size:.9rem;font-weight:900}.checkout-option b,.checkout-option small,.checkout-payment-list b,.checkout-payment-list small{display:block}.checkout-option b em{color:#ee4c59;font-style:normal}.checkout-option small,.checkout-payment-list small{color:#606762;margin-top:2px}.checkout-option>strong{font-size:.9rem}.checkout-payment-list label{grid-template-columns:34px 38px minmax(0,1fr)}.checkout-payment-list label>i{font-size:1.45rem;color:var(--green)}
.checkout-row-card{border-top:1px solid #e8ebe9;border-bottom:1px solid #e8ebe9;margin:0 0 18px;background:#fff}.checkout-row-card summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 0;cursor:pointer}.checkout-row-card summary::-webkit-details-marker{display:none}.checkout-row-card summary>span{display:flex;align-items:center;gap:10px}.checkout-row-card summary>span>i{font-size:1.25rem}.checkout-row-card summary small{color:#727a75}.coupon-checkout-body{padding:0 0 16px}.checkout-order-lines{padding:0 0 14px}.checkout-order-lines>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;color:#565d59}.checkout-order-lines>div b{color:#111}.checkout-order-total{border-top:1px solid #e5e8e6;margin-top:6px;padding-top:13px!important;font-size:1.08rem;color:#111!important}
.checkout-note{display:block;margin:18px 0}.checkout-note>span{display:flex;align-items:center;gap:8px;font-weight:800}.checkout-note small{margin-left:auto;color:#888;font-weight:500}.checkout-note textarea{width:100%;min-height:70px;margin-top:9px;border:1px solid #dfe4e1;border-radius:14px;padding:11px;resize:vertical}
.checkout-pay-warning{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:12px;background:#fff8dc;color:#4c431e;font-size:.76rem;font-weight:800}.checkout-pay-warning.compact{margin:0 0 14px}.checkout-pay-warning i{color:#e2a700}
.payment-done-head{text-align:center;padding:10px 0 16px}.payment-done-head>span{width:62px;height:62px;border-radius:50%;background:#e5f7eb;color:var(--green);display:grid;place-items:center;margin:0 auto;font-size:2rem}.payment-done-head h2{margin:10px 0 3px}.payment-done-head p{margin:0;color:#6d746f}
.final-payment-card{border:1px solid #dfe4e1;border-radius:20px;padding:17px}.final-payment-method{display:flex;align-items:center;gap:12px}.final-payment-method>i{width:48px;height:48px;border-radius:15px;background:#eaf8ef;color:var(--green);display:grid;place-items:center;font-size:1.5rem}.final-payment-method small,.final-payment-method h3{display:block;margin:0}.final-payment-card>p{color:#4e5651;line-height:1.4}.final-payment-data{display:grid;gap:8px}.final-payment-data article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:center;padding:11px 12px;border-radius:14px;background:#f6f8f6}.final-payment-data article small{grid-column:1/-1;color:#6b726e}.final-payment-data article b{font-size:1.05rem}.order-short-code{font-size:1.35rem!important;letter-spacing:.12em}.copy-button{border:0;border-radius:10px;background:#e4f6ea;color:#126f39;padding:7px 10px;font-weight:900}
.optional-proof{margin-top:14px;border:1px dashed #b8c2bc;border-radius:18px;padding:15px}.optional-proof>div{display:flex;align-items:center;gap:11px}.optional-proof>div>i{font-size:1.5rem}.optional-proof b,.optional-proof small{display:block}.optional-proof small{color:#707873;font-size:.72rem}.optional-proof input{display:block;width:100%;margin:12px 0 9px}.optional-proof button,.finish-payment-button{width:100%;height:48px;border:0;border-radius:999px;background:var(--green);color:#fff;font-weight:800}.finish-payment-button{margin-top:14px}
@media(min-width:769px){
 .cart-sheet,.payment-sheet{inset:24px!important;width:min(680px,calc(100% - 48px))!important;height:min(860px,calc(100vh - 48px))!important;margin:auto!important;border-radius:28px!important;overflow:hidden!important;box-shadow:0 0 0 100vmax rgba(10,18,13,.38),0 22px 60px rgba(0,0,0,.22)!important}
}
@media(max-width:768px){
 .cart-sheet,.payment-sheet{inset:0!important;width:100%!important;height:100dvh!important;max-height:none!important;border-radius:0!important}
 .basket-scroll{padding-left:16px!important;padding-right:16px!important}.cart-suggestions{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.basket-item{grid-template-columns:72px minmax(0,1fr) auto;gap:10px}.basket-item-media{width:72px;height:64px}.basket-qty{grid-template-columns:38px 28px 38px}.basket-qty button{width:38px}.basket-footer,.checkout-footer{grid-template-columns:minmax(0,1fr) minmax(150px,1fr)!important;padding-left:16px!important;padding-right:16px!important}.basket-footer strong,.checkout-footer strong{font-size:1.45rem}.payment-content{padding-left:18px!important;padding-right:18px!important}
}
@media(max-width:390px){.basket-item{grid-template-columns:62px minmax(0,1fr);align-items:start}.basket-item-media{width:62px;height:58px}.basket-qty{grid-column:2;justify-self:end;margin-top:-4px}.basket-footer,.checkout-footer{grid-template-columns:minmax(0,1fr) 145px!important;gap:8px!important}.basket-footer button,.checkout-footer button{font-size:.94rem}.basket-footer strong,.checkout-footer strong{font-size:1.28rem}}


/* ===== Canasta compacta, controles redondeados y movimientos · v39 ===== */
.floating-cart-action,
.basket-footer button,
.checkout-footer button,
.product-footer>button,
.optional-proof button,
.finish-payment-button,
.payment-actions .primary,
.customer-primary,
.active-order-card button{
 border-radius:999px!important;
}

.basket-sheet-header,.checkout-sheet-header{
 min-height:56px!important;
 height:56px!important;
 flex-basis:56px!important;
 padding:0 12px!important;
}
.basket-sheet-header button,.checkout-sheet-header button{
 width:36px!important;
 height:36px!important;
 font-size:1.1rem!important;
}
.basket-sheet-header h2,.checkout-sheet-header h2{font-size:1.16rem!important}

.basket-scroll{
 padding:2px 18px 92px!important;
}
.cart-items{gap:0!important}
.basket-item{
 grid-template-columns:64px minmax(0,1fr) auto!important;
 gap:9px!important;
 min-height:76px;
 padding:9px 0!important;
 align-items:center!important;
 transform-origin:center;
}
.basket-item-media{
 width:64px!important;
 height:56px!important;
 border-radius:12px!important;
 font-size:31px!important;
}
.basket-item-info{min-width:0}
.basket-item-info h3{
 margin:0 0 3px!important;
 font-size:.88rem!important;
 line-height:1.13!important;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.basket-item-price{gap:5px!important;line-height:1}
.basket-item-price strong{font-size:.92rem!important}
.basket-item-price span{padding:2px 6px!important;font-size:.64rem!important}
.basket-item-price del{font-size:.72rem!important}

.basket-qty{
 grid-template-columns:34px 25px 34px!important;
 min-height:36px;
 border-radius:999px!important;
 overflow:hidden!important;
}
.basket-qty button{
 width:34px!important;
 height:34px!important;
 min-width:34px;
 border-radius:999px!important;
 font-size:1.24rem!important;
 line-height:1!important;
 display:grid;
 place-items:center;
 transition:background-color .15s ease,transform .15s ease;
}
.basket-qty button:first-child{border-radius:999px 0 0 999px!important}
.basket-qty button:last-child{border-radius:0 999px 999px 0!important}
.basket-qty button i{font-size:1.02rem!important}
.basket-qty b{font-size:.88rem!important;line-height:1}

.qty-control{
 height:44px!important;
 grid-template-columns:42px 34px 42px!important;
 border-radius:999px!important;
 overflow:hidden!important;
}
.qty-control button{
 width:42px!important;
 height:42px!important;
 border-radius:999px!important;
 font-size:1.3rem!important;
 display:grid;
 place-items:center;
}
.qty-control button:first-child{border-radius:999px 0 0 999px!important}
.qty-control button:last-child{border-radius:0 999px 999px 0!important}
.qty-control b{font-size:.92rem}

.basket-clear{
 margin:10px auto 4px!important;
 padding:7px 14px!important;
 font-size:.88rem!important;
}
.cart-suggestions{
 margin:14px -18px 0!important;
 padding:15px 18px 5px!important;
 border-top-width:8px!important;
}
.cart-suggestions>h3{font-size:1.1rem!important}
.cart-suggestions>p{margin:3px 0 11px!important;font-size:.72rem!important}
.basket-suggestion-carousel{gap:11px!important;padding-bottom:6px!important}
.basket-suggestion-card{flex-basis:136px!important;width:136px!important}
.basket-suggestion-image{height:136px!important;border-radius:17px!important}
.basket-suggestion-card h4{font-size:.86rem!important;margin-top:6px!important}
.basket-suggestion-card p{font-size:.69rem!important}
.basket-suggestion-card>strong{font-size:.92rem!important;margin-top:4px!important}

.basket-footer,.checkout-footer{
 gap:10px!important;
 padding:8px 18px calc(8px + env(safe-area-inset-bottom))!important;
}
.basket-footer small,.checkout-footer small{font-size:.69rem!important;line-height:1}
.basket-footer strong,.checkout-footer strong{font-size:1.36rem!important;line-height:1!important;margin-top:2px}
.basket-footer button,.checkout-footer button{
 height:44px!important;
 min-height:44px!important;
 font-size:.94rem!important;
 padding:0 20px!important;
}

.floating-cart{border-radius:999px!important}
.floating-cart-action{border-radius:999px!important}

@keyframes basketItemIncrease{
 0%{transform:translateX(0) scale(1)}
 45%{transform:translateX(4px) scale(1.025)}
 100%{transform:translateX(0) scale(1)}
}
@keyframes basketItemDecrease{
 0%{transform:translateX(0) scale(1)}
 45%{transform:translateX(-4px) scale(.985)}
 100%{transform:translateX(0) scale(1)}
}
@keyframes basketItemRemove{
 0%{opacity:1;transform:translateX(0) scale(1);max-height:100px}
 100%{opacity:0;transform:translateX(-24px) scale(.94);max-height:0;padding-top:0;padding-bottom:0;border-width:0}
}
@keyframes basketQtyPop{
 0%{transform:scale(1)}
 50%{transform:scale(1.28)}
 100%{transform:scale(1)}
}
@keyframes basketTotalPulse{
 0%{transform:translateY(0) scale(1);opacity:1}
 40%{transform:translateY(-2px) scale(1.08);opacity:.75}
 100%{transform:translateY(0) scale(1);opacity:1}
}
@keyframes basketControlPress{
 0%{transform:scale(1)}
 50%{transform:scale(.82)}
 100%{transform:scale(1)}
}
.basket-item-increase{animation:basketItemIncrease .28s ease both}
.basket-item-decrease{animation:basketItemDecrease .28s ease both}
.basket-item-remove,.basket-item-removing{animation:basketItemRemove .18s ease forwards;overflow:hidden}
.basket-qty-changing{display:inline-block;animation:basketQtyPop .25s ease both}
.basket-total-changing{display:inline-block;transform-origin:center;animation:basketTotalPulse .3s ease both}
.basket-control-press{animation:basketControlPress .18s ease both}

@media(max-width:768px){
 .basket-scroll{padding:2px 13px 88px!important}
 .basket-item{grid-template-columns:58px minmax(0,1fr) auto!important;gap:8px!important;min-height:69px;padding:7px 0!important}
 .basket-item-media{width:58px!important;height:52px!important}
 .basket-qty{grid-template-columns:31px 23px 31px!important;min-height:33px}
 .basket-qty button{width:31px!important;height:31px!important;min-width:31px;font-size:1.15rem!important}
 .cart-suggestions{margin-left:-13px!important;margin-right:-13px!important;padding-left:13px!important;padding-right:13px!important}
 .basket-footer,.checkout-footer{padding-left:13px!important;padding-right:13px!important;grid-template-columns:minmax(0,1fr) minmax(142px,1fr)!important}
 .basket-footer strong,.checkout-footer strong{font-size:1.24rem!important}
 .basket-footer button,.checkout-footer button{height:42px!important;min-height:42px!important;font-size:.9rem!important}
}
@media(max-width:390px){
 .basket-item{grid-template-columns:54px minmax(0,1fr) auto!important}
 .basket-item-media{width:54px!important;height:49px!important}
 .basket-item-info h3{font-size:.82rem!important}
 .basket-item-price strong{font-size:.86rem!important}
 .basket-qty{grid-template-columns:29px 21px 29px!important}
 .basket-qty button{width:29px!important;height:29px!important;min-width:29px!important}
 .basket-footer,.checkout-footer{grid-template-columns:minmax(0,1fr) 136px!important;gap:7px!important}
 .basket-footer button,.checkout-footer button{padding:0 13px!important;font-size:.85rem!important}
}


/* ===== Pedido pendiente simplificado · v40 ===== */
.order-content{padding:14px 18px 34px!important}
.order-detail-summary{border:1px solid #e1e6e3;border-radius:20px;background:#fff;padding:15px}
.order-detail-summary>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #edf0ee}
.order-detail-summary>header small{display:block;color:var(--green);font-size:.64rem;font-weight:900;letter-spacing:.12em}
.order-detail-summary>header h1{margin:4px 0 0;font-size:1.25rem;line-height:1.1}
.order-detail-items{display:grid;gap:0;padding:9px 0}
.order-detail-items>div{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:7px 0;font-size:.84rem}
.order-detail-items>div span{min-width:0;color:#303733}
.order-detail-items>div strong{flex:0 0 auto}
.order-detail-totals{border-top:1px solid #edf0ee;padding-top:8px}
.order-detail-totals>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;color:#59615c;font-size:.82rem}
.order-detail-totals>div b{color:#202622}
.order-detail-totals>.total{margin-top:3px;padding-top:9px;border-top:1px solid #edf0ee;color:#111;font-size:1rem;font-weight:900}
.order-payment-guide{margin-top:14px;border:1px solid #dce5df;border-radius:20px;background:#f8fbf9;padding:15px}
.order-guide-heading{display:flex;align-items:center;gap:11px}
.order-guide-heading>i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#dff4e6;color:var(--green);font-size:1.25rem}
.order-guide-heading small{display:block;color:var(--green);font-size:.62rem;font-weight:900;letter-spacing:.11em}
.order-guide-heading h3{margin:3px 0 0;font-size:1.05rem}
.order-payment-guide ol{margin:13px 0;padding-left:22px;display:grid;gap:8px;color:#404843;font-size:.83rem;line-height:1.38}
.order-payment-guide ol b{color:#121713}
.order-payment-facts{display:grid;gap:7px}
.order-payment-facts article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;border:1px solid #e2e7e4;border-radius:13px;background:#fff;padding:9px 11px}
.order-payment-facts article small{grid-column:1/-1;color:#727a75;font-size:.65rem}
.order-payment-facts article b{font-size:.94rem;word-break:break-word}
.order-payment-facts article button{border:0;border-radius:999px;background:#e2f4e8;color:#116c37;padding:6px 10px;font-size:.69rem;font-weight:900}
.order-upload-proof{width:100%;min-height:46px;margin-top:12px;border:0;border-radius:999px;background:var(--green);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;gap:8px}
.order-cancel-button{width:100%;min-height:44px;margin-top:12px;border:1px solid #e3a6a6;border-radius:999px;background:#fff;color:#a72c2c;font-weight:900;display:flex;align-items:center;justify-content:center;gap:8px}
.order-simple-status{margin-top:14px;border:1px solid #dfe5e1;border-radius:18px;padding:14px;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:11px;background:#f8faf8}
.order-simple-status>i{font-size:1.65rem;color:#657169}
.order-simple-status.paid>i{color:var(--green)}
.order-simple-status.cancelled>i{color:#b22f2f}
.order-simple-status h3{margin:0 0 3px;font-size:1rem}
.order-simple-status p{margin:0;color:#68706b;font-size:.78rem;line-height:1.35}
@media(max-width:560px){
 .order-content{padding:12px 14px 28px!important}
 .order-detail-summary,.order-payment-guide{border-radius:17px;padding:13px}
 .order-detail-summary>header h1{font-size:1.12rem}
 .order-payment-guide ol{font-size:.79rem}
}


/* ===== Pedido pendiente compacto · v41 ===== */
.order-payment-title{margin:0 0 10px;font-size:1.08rem;line-height:1.1;color:#151a17}
.order-payment-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.order-payment-facts article{grid-template-columns:minmax(0,1fr) 34px;min-width:0;padding:9px 10px}
.order-payment-facts article small{grid-column:1/-1}
.order-payment-facts article b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.order-payment-facts.cash-facts article:first-child{grid-template-columns:minmax(0,1fr)}
.order-copy-icon{width:34px;height:34px;padding:0!important;border:0!important;border-radius:50%!important;background:#e2f4e8!important;color:#116c37!important;display:grid!important;place-items:center!important;font-size:1rem!important}
.order-copy-icon i{line-height:1}
.order-pending-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}
.order-pending-actions form{min-width:0}
.order-upload-proof,.order-cancel-button{width:100%;min-height:44px;margin:0!important;padding:8px 12px;border-radius:999px;white-space:nowrap}
.order-upload-proof span,.order-cancel-button span{overflow:hidden;text-overflow:ellipsis}
@media(max-width:420px){
 .order-payment-guide{padding:12px}
 .order-guide-heading{gap:9px}
 .order-guide-heading>i{width:38px;height:38px;font-size:1.1rem}
 .order-payment-guide ol{margin:11px 0;font-size:.76rem;gap:6px}
 .order-payment-facts{gap:6px}
 .order-payment-facts article{padding:8px;grid-template-columns:minmax(0,1fr) 31px}
 .order-payment-facts article small{font-size:.6rem}
 .order-payment-facts article b{font-size:.84rem}
 .order-copy-icon{width:31px;height:31px;font-size:.9rem!important}
 .order-pending-actions{gap:7px}
 .order-upload-proof,.order-cancel-button{min-height:42px;padding:7px 8px;font-size:.76rem}
}


/* ===== Checkout compacto sin preparación estimada · v42 ===== */
.checkout-estimate{display:none!important}
.checkout-section{margin-bottom:16px!important}
.checkout-section-heading h3{margin:0 0 9px!important;font-size:1.03rem!important;line-height:1.15}
.compact-payment-list{display:grid!important;gap:7px!important}
.compact-payment-list label{
 min-height:50px!important;
 grid-template-columns:25px minmax(0,1fr)!important;
 gap:10px!important;
 padding:8px 12px!important;
 border-radius:15px!important;
}
.compact-payment-list label:has(input:checked){
 border-width:2px!important;
 padding:7px 11px!important;
}
.compact-payment-list .checkout-radio{
 width:22px!important;
 height:22px!important;
 border-width:2px!important;
}
.compact-payment-list .checkout-radio:after{font-size:.72rem!important}
.compact-payment-list b{font-size:.94rem!important;line-height:1.1;margin:0!important}
.compact-payment-list label>i,.compact-payment-list small{display:none!important}
.coupon-checkout summary{min-height:52px;padding:13px 0!important}
.coupon-checkout summary>span{gap:8px!important}
.coupon-checkout summary>span>i{font-size:1.08rem!important}
.coupon-checkout summary>i{transition:transform .22s ease}
.coupon-checkout[open] summary>i{transform:rotate(90deg)}
.coupon-checkout-body{transform-origin:top center}
.coupon-checkout.coupon-motion .coupon-checkout-body{
 animation:couponDropV42 .28s cubic-bezier(.2,.75,.25,1) both;
}
@keyframes couponDropV42{
 from{opacity:0;transform:translateY(-10px) scaleY(.94)}
 to{opacity:1;transform:translateY(0) scaleY(1)}
}
@media(max-width:480px){
 .checkout-section{margin-bottom:13px!important}
 .checkout-section-heading h3{font-size:.98rem!important;margin-bottom:7px!important}
 .compact-payment-list{gap:6px!important}
 .compact-payment-list label{min-height:46px!important;padding:7px 10px!important;border-radius:14px!important}
 .compact-payment-list label:has(input:checked){padding:6px 9px!important}
 .compact-payment-list .checkout-radio{width:21px!important;height:21px!important}
 .coupon-checkout summary{min-height:48px;padding:11px 0!important}
}
@media(prefers-reduced-motion:reduce){
 .coupon-checkout.coupon-motion .coupon-checkout-body{animation:none}
 .coupon-checkout summary>i{transition:none}
}


/* ===== Ventana de cupones y cupón aplicado · v43 ===== */
.checkout-coupon-sheet{z-index:112!important;animation:checkoutCouponSheetIn .24s cubic-bezier(.2,.78,.25,1) both}
.checkout-coupon-sheet-header{grid-template-columns:48px minmax(0,1fr) 48px!important;height:70px!important;flex-basis:70px!important;padding:0 18px!important;border-bottom:0!important}
.checkout-coupon-sheet-header button{width:42px;height:42px;border-radius:50%!important;background:#f0f3f1!important;color:#202522!important;display:grid;place-items:center}
.checkout-coupon-sheet-header h2{text-align:left!important;font-size:1.65rem!important;line-height:1!important;margin-left:6px!important}
.checkout-coupon-content{padding:8px 24px 34px!important}
.checkout-coupon-validator{border:1px solid #e2e7e4;border-radius:22px;background:#fff;padding:12px 14px;box-shadow:0 7px 20px rgba(22,31,25,.08)}
.checkout-coupon-validator form{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px}
.checkout-coupon-validator form>i{font-size:1.3rem;color:#202522}
.checkout-coupon-validator input{width:100%;height:42px;border:0;border-bottom:1px solid #e1e5e2;outline:0;padding:0 2px;text-transform:uppercase;font-size:.98rem;background:#fff}
.checkout-coupon-validator button{height:38px;border:0;border-radius:999px;background:var(--green);color:#fff;font-size:.78rem;font-weight:900;padding:0 17px}
.checkout-coupon-validator button:disabled{background:#edf0ee;color:#929994;opacity:1}
.checkout-coupon-validation{margin:9px 0 0 37px;font-size:.72rem;line-height:1.35;font-weight:750}
.checkout-coupon-validation.success{color:#13723b}.checkout-coupon-validation.error{color:#a62f2f}
.checkout-coupon-tabs{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0 17px;border-bottom:1px solid #e9ecea}
.checkout-coupon-tabs button{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:0;background:transparent;color:#727a75;font-weight:900}
.checkout-coupon-tabs button i{font-size:1.12rem}.checkout-coupon-tabs button.active{color:#161a18}.checkout-coupon-tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--green)}
.checkout-coupon-list{display:grid;gap:13px}
.checkout-coupon-card{border:1px solid #e1e6e3;border-radius:22px;background:#fff;padding:15px 16px;box-shadow:0 7px 18px rgba(20,29,23,.08);overflow:hidden}
.checkout-coupon-card.new-coupon{animation:checkoutCouponNew .42s cubic-bezier(.2,.8,.25,1) both}
.checkout-coupon-card>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}
.checkout-coupon-card>header strong{display:block;font-size:1.02rem;line-height:1.18}
.checkout-coupon-card>header p{margin:5px 0 0;color:#555d58;font-size:.76rem;line-height:1.35}
.checkout-coupon-card>header>small{text-align:right;color:#626a65;font-size:.65rem;line-height:1.25;white-space:nowrap}.checkout-coupon-card>header>small b{display:block;color:#1a1f1c;font-size:.72rem}
.checkout-coupon-code{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:13px;padding-bottom:11px;border-bottom:1px dashed #dfe4e1}
.checkout-coupon-code span{font-size:.77rem}.checkout-coupon-code span b{font-size:.86rem;letter-spacing:.03em}.checkout-coupon-code small{color:#69716c;font-size:.65rem;text-align:right}
.checkout-coupon-card>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:11px}
.checkout-coupon-card>footer>span{color:#6e7671;font-size:.68rem;font-weight:800}
.checkout-coupon-card>footer button{min-width:112px;height:38px;border:0;border-radius:999px;background:var(--green);color:#fff;font-size:.78rem;font-weight:900;padding:0 16px}
.checkout-coupon-card>footer button:disabled{background:#e5eee8;color:#14713b;opacity:1}
.checkout-coupon-card.expired{opacity:.64;box-shadow:none}.checkout-coupon-card.expired>footer{justify-content:flex-end}
.checkout-coupon-empty{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#727a75;padding:24px}
.checkout-coupon-empty i{font-size:2.2rem;color:#a1aaa4}.checkout-coupon-empty b{margin-top:9px;color:#29302c}.checkout-coupon-empty small{margin-top:4px;font-size:.72rem}
.checkout-coupon-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;margin-bottom:16px!important;border-top:1px solid #e8ebe9!important;border-bottom:1px solid #e8ebe9!important}
.checkout-coupon-main{width:100%;min-height:54px;border:0;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;text-align:left}
.checkout-coupon-main>span{display:flex;align-items:center;gap:10px;min-width:0}.checkout-coupon-main>span>i{font-size:1.17rem}.checkout-coupon-main>span>span{display:block;min-width:0}.checkout-coupon-main b,.checkout-coupon-main small{display:block}.checkout-coupon-main small{margin-top:2px;color:#69716c;font-size:.67rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.checkout-coupon-main>strong{margin-left:auto;color:var(--green);white-space:nowrap;font-size:.84rem}
.checkout-coupon-remove{width:42px;border:0;background:#fff;color:#777f7a;font-size:1rem;display:grid;place-items:center}
.checkout-coupon-row.has-coupon{background:#f7fbf8}.checkout-coupon-row.has-coupon .checkout-coupon-main,.checkout-coupon-row.has-coupon .checkout-coupon-remove{background:#f7fbf8}
.checkout-coupon-removed{animation:checkoutCouponRemoved .24s ease both}
[data-discount-row][hidden]{display:none!important}
@keyframes checkoutCouponSheetIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes checkoutCouponNew{from{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes checkoutCouponRemoved{50%{transform:translateX(7px);opacity:.55}}
@media(min-width:769px){
 .checkout-coupon-sheet{inset:36px!important;width:min(570px,calc(100% - 72px))!important;height:min(760px,calc(100vh - 72px))!important;margin:auto!important;border-radius:28px!important;overflow:hidden!important;box-shadow:0 0 0 100vmax rgba(10,18,13,.44),0 24px 70px rgba(0,0,0,.25)!important}
}
@media(max-width:768px){
 .checkout-coupon-sheet{inset:0!important;width:100%!important;height:100dvh!important;max-height:none!important;border-radius:0!important}
 .checkout-coupon-content{padding:6px 16px calc(24px + env(safe-area-inset-bottom))!important}
 .checkout-coupon-sheet-header{padding:0 14px!important}
}
@media(max-width:390px){
 .checkout-coupon-sheet-header h2{font-size:1.45rem!important}
 .checkout-coupon-validator{padding:10px 11px;border-radius:18px}.checkout-coupon-validator button{padding:0 13px}
 .checkout-coupon-tabs{gap:7px;margin-top:18px}.checkout-coupon-tabs button{font-size:.82rem;gap:5px}
 .checkout-coupon-card{padding:13px;border-radius:19px}.checkout-coupon-card>header{grid-template-columns:minmax(0,1fr)}.checkout-coupon-card>header>small{text-align:left;white-space:normal}.checkout-coupon-code{align-items:flex-start;flex-direction:column;gap:4px}.checkout-coupon-card>footer button{min-width:102px;padding:0 12px}
}
@media(prefers-reduced-motion:reduce){.checkout-coupon-sheet,.checkout-coupon-card.new-coupon,.checkout-coupon-removed{animation:none!important}}


/* ===== Pago directo y comprobante obligatorio · v44 ===== */
.payment-content{padding-bottom:34px!important}
.payment-required-intro{padding:4px 2px 14px}
.payment-required-intro>small{display:block;color:var(--green);font-size:.67rem;font-weight:950;letter-spacing:.13em;margin-bottom:6px}
.payment-required-intro h2{margin:0;font-size:1.38rem;line-height:1.12;color:#111915}
.payment-required-intro p{margin:7px 0 0;color:#5f6963;font-size:.82rem;line-height:1.42}
.payment-simple-steps{display:grid;gap:8px;margin-top:4px}
.payment-simple-steps article{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center;min-height:54px;padding:9px 11px;border:1px solid #e2e7e4;border-radius:15px;background:#fff}
.payment-simple-steps article>b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e7f6ec;color:#0c7b3d;font-size:.82rem;font-weight:950}
.payment-simple-steps article p{margin:0;color:#39423d;font-size:.79rem;line-height:1.36}
.payment-simple-steps article strong{color:#111915;font-weight:950}
.required-proof-form{margin-top:12px;padding-top:12px;border-top:1px solid #e7ebe8}
.required-proof-preview{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center;margin-bottom:10px;padding:8px 10px;border:1px solid #cfe6d7;border-radius:14px;background:#f4fbf6}
.required-proof-preview[hidden]{display:none!important}
.required-proof-preview img{width:48px;height:48px;border-radius:10px;object-fit:cover;background:#e8efea}
.required-proof-preview b,.required-proof-preview small{display:block;min-width:0}
.required-proof-preview b{font-size:.78rem}.required-proof-preview small{margin-top:2px;color:#68716b;font-size:.65rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.payment-double-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.payment-double-actions button{min-width:0;min-height:46px;border-radius:999px;padding:8px 12px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:.76rem;font-weight:950;line-height:1.1}
.payment-double-actions button i{font-size:1rem;flex:0 0 auto}
.payment-pick-proof,.payment-secondary-action{border:1px solid #cfd7d2;background:#fff;color:#1c2821}
.payment-send-proof,.payment-primary-action{border:1px solid var(--green);background:var(--green);color:#fff}
.payment-send-proof:disabled{border-color:#dce3df;background:#e8ece9;color:#909892;opacity:1}
.cash-actions{margin-top:12px;padding-top:12px;border-top:1px solid #e7ebe8}
.proof-preview-in{animation:proofPreviewInV44 .24s cubic-bezier(.2,.78,.25,1) both}
@keyframes proofPreviewInV44{from{opacity:0;transform:translateY(-7px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:430px){
 .payment-content{padding-left:15px!important;padding-right:15px!important}
 .payment-required-intro h2{font-size:1.2rem}
 .payment-required-intro p{font-size:.76rem}
 .payment-simple-steps{gap:7px}
 .payment-simple-steps article{grid-template-columns:27px minmax(0,1fr);gap:8px;min-height:49px;padding:8px 9px;border-radius:13px}
 .payment-simple-steps article>b{width:27px;height:27px;font-size:.75rem}
 .payment-simple-steps article p{font-size:.72rem}
 .payment-double-actions{gap:7px}
 .payment-double-actions button{min-height:43px;padding:7px 8px;font-size:.68rem;gap:5px}
 .payment-double-actions button i{font-size:.91rem}
}
@media(max-width:350px){
 .payment-double-actions button{font-size:.63rem;padding-left:5px;padding-right:5px}
}
@media(prefers-reduced-motion:reduce){.proof-preview-in{animation:none!important}}


/* ===== Pago pendiente unificado y captura confirmada · v45 ===== */
.order-detail-totals{padding-top:6px}
.order-detail-totals>.total{margin-top:0;border-top:0;padding-top:7px}
.order-payment-required{margin:11px 0 2px;padding:9px 11px;border-left:4px solid #e0a400;background:#fff8d9;color:#5a4300;font-size:.78rem;font-weight:800;line-height:1.35}
.order-pending-actions{display:block;margin-top:11px}
.order-pending-actions form{width:100%}
.order-proof-main-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.order-proof-pick,.order-proof-submit,.order-cash-home{width:100%;min-height:43px;border-radius:999px;padding:8px 10px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:7px}
.order-proof-pick{border:1px solid var(--green);background:#fff;color:var(--green)}
.order-proof-submit,.order-cash-home{border:0;background:var(--green);color:#fff}
.order-proof-submit:disabled{background:#cfd7d1;color:#7e8881;cursor:not-allowed}
.order-proof-selected{margin-top:7px;border:1px solid #dce9df;border-radius:11px;background:#f2faf4;padding:7px 9px;display:flex;align-items:center;gap:7px;color:#226b3c;font-size:.71rem;min-width:0}
.order-proof-selected i{flex:0 0 auto}
.order-proof-selected span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.order-proof-selected[hidden]{display:none!important}
.order-proof-selected-in{animation:orderProofSelectedIn .28s ease both}
@keyframes orderProofSelectedIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.order-cancel-link{display:block;width:max-content;max-width:100%;margin:10px auto 0;border:0;background:transparent;color:#8f4747;padding:5px 12px;font-size:.73rem;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.order-pending-actions.cash .order-cash-home{max-width:320px;margin:0 auto}
@media(max-width:420px){
 .order-proof-main-actions{gap:6px}
 .order-proof-pick,.order-proof-submit,.order-cash-home{min-height:41px;padding:7px 7px;font-size:.74rem;gap:5px}
 .order-payment-required{font-size:.73rem;padding:8px 9px}
 .order-cancel-link{font-size:.69rem;margin-top:8px}
}


/* ===== Logos de pago y navegación del pedido · v46 ===== */
.order-payment-brand{
 width:46px;
 height:46px;
 flex:0 0 46px;
 object-fit:contain;
 display:block;
 background:transparent;
 border:0;
 border-radius:0;
 box-shadow:none;
}
.order-payment-required-standalone{
 margin:12px 0 0;
 border-radius:0;
}
.order-payment-guide{margin-top:12px}
.order-cancel-link{
 text-decoration:none!important;
 text-underline-offset:0!important;
}
.order-sheet-header button[data-close-order]{
 width:42px!important;
 height:42px!important;
 border-radius:50%!important;
 background:#f0f3f1!important;
 color:#202522!important;
 display:grid!important;
 place-items:center!important;
 padding:0!important;
 font-size:1.15rem!important;
}
.order-sheet-header button[data-close-order] i{line-height:1}
@media(max-width:420px){
 .order-payment-brand{width:40px;height:40px;flex-basis:40px}
 .order-payment-required-standalone{margin-top:10px}
 .order-sheet-header button[data-close-order]{width:40px!important;height:40px!important}
}


/* ===== Ayuda por WhatsApp y confirmación de cancelación · v48 ===== */
.order-help-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px}
.order-secondary-link{min-width:0;border:0;background:transparent;color:#4a5d50;padding:7px 5px;font-size:.73rem;font-weight:800;text-decoration:none!important;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:10px}
.order-secondary-link i{font-size:.92rem;line-height:1}
.order-secondary-link:hover,.order-secondary-link:focus-visible{background:#f1f6f2;color:#176f3e;outline:none}
.order-secondary-link.danger{color:#9a3434}
.order-secondary-link.danger:hover,.order-secondary-link.danger:focus-visible{background:#fff1f1;color:#852626}
.order-cancel-dialog[hidden]{display:none!important}
.order-cancel-dialog{position:fixed;inset:0;z-index:2200;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(17,25,20,.48);animation:orderDialogBackdropIn .2s ease both}
.order-cancel-dialog-card{width:min(100%,390px);border-radius:24px;background:#fff;padding:22px 20px 18px;text-align:center;box-shadow:0 18px 55px rgba(0,0,0,.22);animation:orderDialogCardIn .24s ease both}
.order-cancel-dialog-icon{width:50px;height:50px;margin:0 auto 11px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff1dc;color:#b86b00;font-size:1.35rem}
.order-cancel-dialog-card h2{margin:0 0 7px;font-size:1.23rem;line-height:1.2;color:#172019}
.order-cancel-dialog-card p{margin:0;color:#5c675f;font-size:.86rem;line-height:1.45}
.order-cancel-dialog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:18px}
.order-cancel-dialog-actions button{min-height:43px;border-radius:999px;padding:8px 12px;font-weight:900;font-size:.78rem}
.order-cancel-dialog-actions .keep{border:1px solid #bfcac2;background:#fff;color:#294333}
.order-cancel-dialog-actions .confirm{border:1px solid #b93434;background:#b93434;color:#fff}
.order-cancel-dialog-actions button:disabled{opacity:.6}
.customer-dialog-open{overflow:hidden!important}
@keyframes orderDialogBackdropIn{from{opacity:0}to{opacity:1}}
@keyframes orderDialogCardIn{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:420px){
 .order-help-actions{gap:5px;margin-top:7px}
 .order-secondary-link{font-size:.68rem;padding:7px 2px;gap:4px}
 .order-cancel-dialog{padding:14px}
 .order-cancel-dialog-card{padding:20px 14px 14px;border-radius:21px}
 .order-cancel-dialog-actions{gap:7px;margin-top:15px}
 .order-cancel-dialog-actions button{min-height:41px;padding:7px 7px;font-size:.69rem}
}


/* ===== Confirmación positiva después de subir el pago · v49 ===== */
.payment-success-dialog[hidden]{display:none!important}
.payment-success-dialog{position:fixed;inset:0;z-index:2250;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(17,25,20,.48);animation:orderDialogBackdropIn .2s ease both}
.payment-success-dialog-card{width:min(100%,390px);border-radius:24px;background:#fff;padding:24px 20px 19px;text-align:center;box-shadow:0 18px 55px rgba(0,0,0,.22);animation:orderDialogCardIn .24s ease both}
.payment-success-dialog-icon{width:58px;height:58px;margin:0 auto 12px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#def5e6;color:#118644;font-size:1.8rem;font-weight:950}
.payment-success-dialog-card h2{margin:0 0 8px;font-size:1.28rem;line-height:1.18;color:#172019}
.payment-success-dialog-card p{margin:0;color:#5c675f;font-size:.86rem;line-height:1.46}
.payment-success-dialog-card p b{color:#172019}
.payment-success-dialog-card button{width:100%;min-height:44px;margin-top:18px;border:1px solid var(--green);border-radius:999px;background:var(--green);color:#fff;padding:9px 14px;font-size:.81rem;font-weight:950}
@media(max-width:480px){
 .payment-success-dialog{padding:14px}
 .payment-success-dialog-card{padding:21px 15px 15px;border-radius:21px}
 .payment-success-dialog-icon{width:52px;height:52px;font-size:1.55rem}
 .payment-success-dialog-card h2{font-size:1.14rem}
 .payment-success-dialog-card p{font-size:.79rem}
 .payment-success-dialog-card button{min-height:42px;margin-top:15px;font-size:.75rem}
}


/* ===== Validación completa de captura · v50 ===== */
.proof-state-indicator{width:1em;height:1em;display:inline-grid;place-items:center;flex:0 0 1em;position:relative}
.proof-state-indicator>i{font-size:1em;line-height:1;color:#178447}
.proof-load-spinner{display:none;width:1em;height:1em;border:2px solid #b9d8c4;border-top-color:#178447;border-radius:50%;box-sizing:border-box;animation:proofLoadSpinV50 .7s linear infinite}
.order-proof-selected.is-loading .proof-state-indicator>i{display:none}
.order-proof-selected.is-loading .proof-load-spinner{display:block}
.order-proof-selected.is-loading{color:#536159;background:#f6faf7;border-color:#dce7df}
.order-proof-selected.is-ready .proof-state-indicator>i{display:block}
.order-proof-selected.is-error{color:#9e2d2d;background:#fff5f5;border-color:#edcaca}
.order-proof-selected.is-error .proof-state-indicator>i{display:block;color:#b93434}
.order-proof-selected.is-error .proof-state-indicator>i:before{content:"\\f623"}
.required-proof-preview.is-loading{border-color:#dce7df;background:#f6faf7}
.required-proof-preview.is-loading img{opacity:.45}
.required-proof-preview.is-loading:after{content:"";width:1em;height:1em;border:2px solid #b9d8c4;border-top-color:#178447;border-radius:50%;box-sizing:border-box;animation:proofLoadSpinV50 .7s linear infinite;position:absolute;right:12px;top:50%;margin-top:-.5em}
.required-proof-preview{position:relative}
.required-proof-preview.is-error{border-color:#edcaca;background:#fff5f5;color:#9e2d2d}
@keyframes proofLoadSpinV50{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.proof-load-spinner,.required-proof-preview.is-loading:after{animation-duration:1.4s}}


/* ===== Pago en validación y estados en vivo · v52 ===== */
.order-status-tag.validando_pago{background:#e8f3ff;color:#155c91}
.active-order-card.validando_pago{border-color:#b9d9ee;background:#f4faff}
.active-order-card.validando_pago .active-order-progress span{background:#2f87bd}
.order-validation-status{display:grid;grid-template-columns:48px minmax(0,1fr);gap:13px;align-items:start;margin-top:14px;padding:16px;border:1px solid #b9d9ee;border-radius:19px;background:#f4faff}
.order-validation-status>span{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#dcefff;color:#176b9f;font-size:1.3rem}
.order-validation-status h2{margin:0 0 4px;font-size:1.12rem;color:#163b52}
.order-validation-status p{margin:0 0 5px;font-weight:900;color:#235d7f}
.order-validation-status small{display:block;color:#597482;line-height:1.45}
.order-validation-actions{display:flex;justify-content:center;margin-top:12px}
.order-validation-actions .order-secondary-link{width:min(100%,280px);text-decoration:none!important}
@media(max-width:520px){
 .order-validation-status{grid-template-columns:40px minmax(0,1fr);gap:10px;padding:13px;border-radius:16px}
 .order-validation-status>span{width:39px;height:39px;font-size:1.08rem}
 .order-validation-status h2{font-size:1rem}
 .order-validation-status p,.order-validation-status small{font-size:.78rem}
}


/* ===== Canasta, resumen y captura de pago · v53 ===== */
.basket-item-category{
 display:block;
 margin:0 0 2px;
 color:#7a827d;
 font-size:.62rem;
 font-weight:800;
 line-height:1.1;
 letter-spacing:.035em;
 text-transform:uppercase;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.basket-item-info h3{margin-top:0!important}
.order-checkout-summary .checkout-order-lines{padding-top:3px!important;padding-bottom:8px!important}
.order-checkout-summary .checkout-order-lines>div{
 min-height:0!important;
 padding:3px 0!important;
 line-height:1.18!important;
}
.order-checkout-summary .checkout-order-lines>div:not(.checkout-order-total){font-size:.82rem!important}
.order-checkout-summary .checkout-order-total{
 margin-top:5px!important;
 padding-top:9px!important;
}
.order-proof-pick{
 background:var(--green)!important;
 border:1px solid var(--green)!important;
 color:#fff!important;
}
.order-proof-pick i,.order-proof-pick span{color:inherit!important}
[data-order-proof-form].proof-file-loading .order-proof-pick{opacity:.82}
[data-order-proof-form].proof-file-ready .order-proof-pick{
 background:#fff!important;
 border-color:var(--green)!important;
 color:var(--green)!important;
}
[data-order-proof-form].proof-file-error .order-proof-pick{
 background:#fff!important;
 border-color:#c64b4b!important;
 color:#a93434!important;
}
.order-proof-submit:disabled{
 opacity:.48!important;
 cursor:not-allowed!important;
 filter:saturate(.55);
}
.order-proof-selected.is-loading{display:flex!important}
.order-proof-selected.is-loading [data-order-proof-name]{color:#4c5550!important;font-weight:800}
.order-proof-selected.is-error [data-order-proof-name]{color:#a93434!important;font-weight:800}
@media(max-width:560px){
 .order-checkout-summary .checkout-order-lines>div{padding:2.5px 0!important}
}


/* ===== Pedido activo animado y monedas con contador · v66 ===== */
.active-order-card{
 --order-accent:#178447;
 --order-soft:#eef9f2;
 --order-ink:#16452b;
 position:relative;
 overflow:hidden;
 margin:0 0 14px!important;
 padding:0!important;
 border:1px solid color-mix(in srgb,var(--order-accent) 28%,#dfe7e1)!important;
 border-radius:19px!important;
 background:var(--order-soft)!important;
 box-shadow:none!important;
 transform-origin:center top;
}
.active-order-card.esperando_pago{--order-accent:#c58a00;--order-soft:#fff8df;--order-ink:#6f4e00}
.active-order-card.validando_pago{--order-accent:#287eb5;--order-soft:#eff8ff;--order-ink:#174f73}
.active-order-card.preparando{--order-accent:#e15b22;--order-soft:#fff4ec;--order-ink:#81320f}
.active-order-card.listo{--order-accent:#178447;--order-soft:#eefaf2;--order-ink:#145d32}
.active-order-open-button,
.active-order-card .active-order-open-button{
 width:100%!important;
 min-height:76px;
 margin:0!important;
 padding:10px 12px!important;
 border:0!important;
 border-radius:0!important;
 background:transparent!important;
 color:var(--order-ink)!important;
 display:grid!important;
 grid-template-columns:54px minmax(0,1fr) auto;
 align-items:center;
 gap:10px;
 text-align:left;
 box-shadow:none!important;
}
.active-order-open-button:active{transform:scale(.992)}
.active-order-copy{display:block;min-width:0}
.active-order-copy small{display:block;margin:0 0 3px;color:#6c756f!important;font-size:.66rem;font-weight:800;line-height:1.1}
.active-order-copy strong{display:block;min-width:0;color:var(--order-ink);font-size:.96rem;font-weight:950;line-height:1.16;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.active-order-side{display:flex;align-items:center;gap:7px;justify-self:end;color:var(--order-ink)}
.active-order-side b{font-size:.94rem;white-space:nowrap}
.active-order-side i{font-size:1rem;opacity:.72}
.active-order-visual{position:relative;width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--order-accent) 14%,#fff);color:var(--order-accent);overflow:hidden}
.active-order-visual i{position:absolute;display:block;line-height:1}
.active-order-visual .order-icon-main{font-size:1.72rem;z-index:3}
.active-order-progress{height:4px!important;margin:0!important;border-radius:0!important;background:color-mix(in srgb,var(--order-accent) 14%,#fff)!important;overflow:hidden}
.active-order-progress span{display:block;height:100%;border-radius:0 999px 999px 0;background:var(--order-accent)!important;transition:width .55s cubic-bezier(.22,.8,.25,1)}

.active-order-visual.waiting .order-icon-main{animation:orderWalletBreathe 1.8s ease-in-out infinite}
.active-order-visual.waiting .order-icon-orbit{right:5px;top:5px;font-size:.78rem;color:#fff;background:var(--order-accent);border-radius:50%;padding:3px;animation:orderClockOrbit 2.4s linear infinite}
.active-order-visual.validating .order-icon-main{animation:orderReceiptFloat 1.8s ease-in-out infinite}
.active-order-visual.validating .order-icon-scan{font-size:1rem;right:7px;bottom:7px;z-index:4;animation:orderScanMove 1.65s ease-in-out infinite}
.active-order-visual.cooking .order-icon-pan{font-size:1.62rem;top:9px;z-index:4;animation:orderPanToss 1.35s ease-in-out infinite}
.active-order-visual.cooking .order-icon-fire{bottom:4px;font-size:1.25rem;color:var(--order-accent);z-index:2;transform-origin:center bottom}
.active-order-visual.cooking .fire-one{left:12px;animation:orderFireFlicker .72s ease-in-out infinite alternate}
.active-order-visual.cooking .fire-two{right:11px;animation:orderFireFlicker .58s .16s ease-in-out infinite alternate-reverse}
.active-order-visual.ready .order-icon-main{animation:orderReadyBag 1.55s ease-in-out infinite}
.active-order-visual.ready .order-icon-spark{right:5px;top:5px;font-size:.9rem;animation:orderReadySpark 1.15s ease-in-out infinite}

.active-order-enter{animation:activeOrderCardIn .48s cubic-bezier(.18,.89,.32,1.2) both}
.active-order-state-change{animation:activeOrderStateChange .52s ease both}
.active-order-leaving{pointer-events:none;animation:activeOrderCardOut .34s ease forwards}

.home-points-pill{position:relative;isolation:isolate}
.home-points-pill.coin-balance-counting .pixel-number{animation:coinNumberLift .42s ease-in-out infinite alternate}
.home-points-pill.coin-balance-counting .points-coin{animation:coinIconCount 520ms ease-in-out infinite}
.home-points-pill.coin-balance-finished{animation:coinBalanceDone .58s ease both}
.home-points-pill.coin-balance-finished:before,
.home-points-pill.coin-balance-finished:after{content:"";position:absolute;z-index:-1;width:7px;height:7px;border-radius:50%;background:#ffd43b;pointer-events:none;animation:coinSpark .58s ease-out both}
.home-points-pill.coin-balance-finished:before{left:20%;top:48%;--spark-x:-15px;--spark-y:-13px}
.home-points-pill.coin-balance-finished:after{right:14%;top:45%;--spark-x:14px;--spark-y:-15px}

@keyframes activeOrderCardIn{0%{opacity:0;transform:translateY(-12px) scale(.97);max-height:0;margin-bottom:0}100%{opacity:1;transform:translateY(0) scale(1);max-height:100px;margin-bottom:14px}}
@keyframes activeOrderCardOut{0%{opacity:1;transform:translateY(0) scale(1);max-height:100px;margin-bottom:14px}100%{opacity:0;transform:translateY(-10px) scale(.97);max-height:0;margin-bottom:0;border-width:0}}
@keyframes activeOrderStateChange{0%{transform:scale(1);filter:brightness(1)}35%{transform:scale(1.018);filter:brightness(1.07)}100%{transform:scale(1);filter:brightness(1)}}
@keyframes orderWalletBreathe{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.08) rotate(-3deg)}}
@keyframes orderClockOrbit{0%{transform:translate(0,0) rotate(0)}25%{transform:translate(-2px,2px) rotate(90deg)}50%{transform:translate(-4px,0) rotate(180deg)}75%{transform:translate(-2px,-2px) rotate(270deg)}100%{transform:translate(0,0) rotate(360deg)}}
@keyframes orderReceiptFloat{0%,100%{transform:translateY(1px) rotate(-2deg)}50%{transform:translateY(-3px) rotate(2deg)}}
@keyframes orderScanMove{0%,100%{transform:translate(-10px,-8px) scale(.92)}50%{transform:translate(2px,2px) scale(1.05)}}
@keyframes orderPanToss{0%,100%{transform:translateY(4px) rotate(-7deg)}45%{transform:translateY(-5px) rotate(7deg)}60%{transform:translateY(-2px) rotate(2deg)}}
@keyframes orderFireFlicker{from{transform:scale(.82,1);opacity:.65}to{transform:scale(1.08,1.22);opacity:1}}
@keyframes orderReadyBag{0%,100%{transform:translateY(1px) scale(1)}45%{transform:translateY(-4px) scale(1.06)}60%{transform:translateY(-2px) scale(1.02)}}
@keyframes orderReadySpark{0%,100%{transform:scale(.7) rotate(-14deg);opacity:.35}50%{transform:scale(1.18) rotate(12deg);opacity:1}}
@keyframes coinNumberLift{from{transform:translateY(1px)}to{transform:translateY(-2px)}}
@keyframes coinIconCount{0%,100%{transform:translateY(0) rotate(0) scale(1)}40%{transform:translateY(-4px) rotate(-12deg) scale(1.08)}70%{transform:translateY(0) rotate(8deg) scale(1.03)}}
@keyframes coinBalanceDone{0%{transform:scale(1)}45%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes coinSpark{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) scale(.25)}}

@media(max-width:390px){
 .active-order-open-button,.active-order-card .active-order-open-button{grid-template-columns:48px minmax(0,1fr) auto;gap:8px;min-height:70px;padding:8px 10px!important}
 .active-order-visual{width:46px;height:46px;border-radius:14px}
 .active-order-copy strong{font-size:.88rem}
 .active-order-side b{font-size:.86rem}
}
@media(prefers-reduced-motion:reduce){
 .active-order-card,.active-order-card *, .home-points-pill,.home-points-pill *{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
 .active-order-progress span{transition:none!important}
}


/* ===== Recojo o delivery en el checkout · v67 ===== */
.checkout-fulfillment-section{margin-bottom:13px!important}
.checkout-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.checkout-section-heading .checkout-payment-rule{color:#9a6300;font-size:.68rem;font-weight:900;text-align:right}
.checkout-fulfillment-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.checkout-fulfillment-list label{position:relative;min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;min-height:72px;padding:11px 12px;border:1px solid #dfe5e1;border-radius:17px;background:#fff;cursor:pointer}
.checkout-fulfillment-list input{position:absolute;opacity:0;pointer-events:none}
.checkout-fulfillment-list label:has(input:checked){border:2px solid var(--green);padding:10px 11px;background:#edf8f1}
.checkout-fulfillment-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#eef3ef;color:#355c43;font-size:1.18rem}
.checkout-fulfillment-list label:has(input:checked) .checkout-fulfillment-icon{background:var(--green);color:#fff}
.checkout-fulfillment-list b,.checkout-fulfillment-list small{display:block;min-width:0}
.checkout-fulfillment-list b{font-size:.84rem;line-height:1.15}
.checkout-fulfillment-list small{margin-top:3px;color:#727b75;font-size:.65rem;line-height:1.25}
.checkout-delivery-panel{margin:-3px 0 18px;padding:12px;border:1px solid #cfe0d5;border-radius:18px;background:#f7fbf8;animation:deliveryPanelIn .24s ease both}
.checkout-delivery-notice{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:start;padding:10px;border-radius:14px;background:#fff7d9;color:#5b4700}
.checkout-delivery-notice>i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#ffe89a;color:#704f00;font-size:1.2rem}
.checkout-delivery-notice p{margin:0;line-height:1.35}
.checkout-delivery-notice b,.checkout-delivery-notice span{display:block}
.checkout-delivery-notice b{font-size:.78rem}
.checkout-delivery-notice span{margin-top:3px;font-size:.69rem}
.checkout-delivery-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:11px}
.checkout-delivery-fields label{min-width:0;display:block;color:#354039;font-size:.68rem;font-weight:900}
.checkout-delivery-fields label.full{grid-column:1/-1}
.checkout-delivery-fields label>span{display:block;margin:0 0 5px}
.checkout-delivery-fields input,.checkout-delivery-fields select{width:100%;height:44px;border:1px solid #d5ddd8;border-radius:13px;background:#fff;color:#182019;padding:0 11px;outline:0;font:inherit;font-size:16px;font-weight:600}
.checkout-delivery-fields input:focus,.checkout-delivery-fields select:focus{border:2px solid var(--green);padding-left:10px}
.checkout-delivery-fields input::placeholder{color:#98a09b;font-weight:500}
.order-delivery-summary{margin-top:11px;padding:13px;border:1px solid #cfe0d5;border-radius:17px;background:#f7fbf8}
.order-delivery-title{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.order-delivery-title>i{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#dff3e6;color:var(--green);font-size:1.15rem}
.order-delivery-title small,.order-delivery-title b{display:block}.order-delivery-title small{color:var(--green);font-size:.58rem;font-weight:950;letter-spacing:.11em}.order-delivery-title b{margin-top:2px;font-size:.9rem}
.order-delivery-summary dl{display:grid;gap:7px;margin:0}
.order-delivery-summary dl>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px}
.order-delivery-summary dt{color:#768078;font-size:.67rem;font-weight:800}.order-delivery-summary dd{margin:0;color:#202823;font-size:.75rem;font-weight:750;overflow-wrap:anywhere}
.order-delivery-summary p{margin:9px 0 0;padding-top:8px;border-top:1px solid #dfe9e2;color:#69746d;font-size:.67rem;line-height:1.3}
@keyframes deliveryPanelIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:430px){
 .checkout-fulfillment-list{gap:7px}
 .checkout-fulfillment-list label{grid-template-columns:34px minmax(0,1fr);gap:7px;min-height:67px;padding:9px}
 .checkout-fulfillment-list label:has(input:checked){padding:8px}
 .checkout-fulfillment-icon{width:34px;height:34px;font-size:1.05rem}
 .checkout-fulfillment-list b{font-size:.75rem}.checkout-fulfillment-list small{font-size:.59rem}
 .checkout-delivery-panel{padding:10px}
 .checkout-delivery-notice{grid-template-columns:34px minmax(0,1fr);padding:9px}
 .checkout-delivery-notice>i{width:34px;height:34px}
 .checkout-delivery-fields{grid-template-columns:1fr;gap:9px}
 .checkout-delivery-fields label.full{grid-column:auto}
 .checkout-section-heading .checkout-payment-rule{font-size:.60rem;max-width:125px}
}
@media(prefers-reduced-motion:reduce){.checkout-delivery-panel{animation:none}}


/* ===== Checkout sin pago preseleccionado y ubicación de recojo · v68 ===== */
.checkout-delivery-notice{align-items:center}
.checkout-delivery-notice p{margin:0;font-size:.72rem;font-weight:800;line-height:1.38}
.checkout-delivery-notice>i{font-size:1.15rem}
.order-pickup-summary{border-color:#d9e4dc;background:#f8faf8}
.order-pickup-summary .order-delivery-title{margin-bottom:10px}
.order-store-map-button{width:100%;min-height:43px;display:grid;grid-template-columns:20px minmax(0,1fr) 18px;align-items:center;gap:8px;border:1px solid var(--green);border-radius:13px;background:var(--green);color:#fff;padding:9px 11px;text-decoration:none;font-size:.74rem;font-weight:900;line-height:1.15}
.order-store-map-button>i:first-child{font-size:1rem}.order-store-map-button>i:last-child{font-size:.82rem;text-align:right}
.order-store-map-button span{min-width:0;text-align:left}
@media(max-width:430px){
 .checkout-delivery-notice p{font-size:.68rem}
 .order-store-map-button{min-height:41px;font-size:.70rem}
}


/* ===== Pago primero y resumen compacto · v69 ===== */
.order-payment-top{display:block;margin:0 0 12px}
.order-payment-top .order-payment-required-standalone{margin:0 0 10px!important}
.order-payment-top .order-payment-guide{margin-top:0!important}
.order-payment-top .order-pending-actions{margin-top:10px!important}
.order-payment-top + .order-detail-summary{margin-top:0}
.order-detail-items{padding:5px 0!important;gap:0!important}
.order-detail-items>div{min-height:0!important;padding:3px 0!important;line-height:1.2!important}
@media(max-width:560px){
 .order-payment-top{margin-bottom:10px}
 .order-detail-items{padding:4px 0!important}
 .order-detail-items>div{padding:2.5px 0!important;font-size:.81rem!important}
}

/* ===== Pago delivery y comprobantes convertidos · v70 ===== */
.payment-delivery-reminder{
 display:grid;
 grid-template-columns:34px minmax(0,1fr);
 align-items:center;
 gap:9px;
 margin:0 0 10px;
 padding:9px 10px;
 border:1px solid #eadb9e;
 border-radius:14px;
 background:#fff8dc;
 color:#5b4700;
 font-size:.72rem;
 font-weight:850;
 line-height:1.32;
}
.payment-delivery-reminder>i{
 width:34px;
 height:34px;
 display:grid;
 place-items:center;
 border-radius:11px;
 background:#ffe89a;
 color:#704f00;
 font-size:1.05rem;
}
.order-payment-delivery-reminder{margin:0 0 10px}
.required-proof-preview.is-loading,
.order-proof-selected.is-loading{border-color:#d8e6dc!important;background:#f6faf7!important}
.required-proof-preview.is-ready,
.order-proof-selected.is-ready{border-color:#9ed0ae!important;background:#f1faf4!important}
.required-proof-preview.is-error,
.order-proof-selected.is-error{border-color:#e9b6b6!important;background:#fff5f5!important;color:#9e2d2d!important}
.required-proof-preview.is-loading [data-proof-file-name],
.order-proof-selected.is-loading [data-order-proof-name]{color:#4b6554!important;font-weight:850}
.required-proof-preview.is-ready [data-proof-file-name],
.order-proof-selected.is-ready [data-order-proof-name]{color:#176d39!important;font-weight:850}
.required-proof-preview.is-error [data-proof-file-name],
.order-proof-selected.is-error [data-order-proof-name]{color:#a93434!important;font-weight:850}
@media(max-width:430px){
 .payment-delivery-reminder{grid-template-columns:31px minmax(0,1fr);gap:8px;padding:8px 9px;font-size:.67rem}
 .payment-delivery-reminder>i{width:31px;height:31px;font-size:.98rem}
}


/* ===== Mensajes de comprobante claros y animados · v71 ===== */
.required-proof-preview{margin:9px 0 0!important}
.proof-status-message-in{animation:proofStatusMessageInV71 .34s cubic-bezier(.2,.78,.25,1) both}
.required-proof-preview.is-retry,
.order-proof-selected.is-retry{border-color:#e8cf82!important;background:#fff9e7!important;color:#6b5000!important}
.required-proof-preview.is-retry [data-proof-file-name],
.order-proof-selected.is-retry [data-order-proof-name]{color:#6b5000!important;font-weight:850}
[data-proof-preview][hidden],
[data-order-proof-selected][hidden]{display:none!important}
@keyframes proofStatusMessageInV71{
 0%{opacity:0;transform:translateY(-7px) scale(.985)}
 55%{opacity:1;transform:translateY(1px) scale(1.012)}
 100%{opacity:1;transform:translateY(0) scale(1)}
}
@media(prefers-reduced-motion:reduce){.proof-status-message-in{animation:none!important}}


/* ===== Pago en efectivo claro y ubicación simple · v74 ===== */
.payment-cash-reminder{
 display:grid;
 grid-template-columns:34px minmax(0,1fr);
 align-items:center;
 gap:9px;
 margin:0 0 10px;
 padding:9px 10px;
 border:1px solid #eadb9e;
 border-radius:14px;
 background:#fff8dc;
 color:#5b4700;
 font-size:.72rem;
 font-weight:850;
 line-height:1.32;
}
.payment-cash-reminder>i{
 width:34px;
 height:34px;
 display:grid;
 place-items:center;
 border-radius:11px;
 background:#ffe89a;
 color:#704f00;
 font-size:1.05rem;
}
.order-payment-cash-reminder{margin:0 0 10px}
.payment-single-action{display:flex;justify-content:center}
.payment-single-action .payment-secondary-action{width:min(100%,320px);min-height:43px;border-radius:999px;padding:8px 12px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:.76rem;font-weight:950}
.order-pending-actions.cash{margin-top:7px}
.order-store-map-link{width:max-content;max-width:100%;margin:1px auto 0;padding:7px 10px!important;color:#4a5d50!important}
.order-store-map-link:hover,.order-store-map-link:focus-visible{color:#176f3e!important}
@media(max-width:430px){
 .payment-cash-reminder{grid-template-columns:31px minmax(0,1fr);gap:8px;padding:8px 9px;font-size:.67rem}
 .payment-cash-reminder>i{width:31px;height:31px;font-size:.98rem}
 .payment-single-action .payment-secondary-action{min-height:41px;padding:7px 8px;font-size:.68rem}
 .order-store-map-link{font-size:.68rem!important;padding:7px 6px!important}
}


/* ===== Acceso con contraseña y bloqueo de operaciones importantes · v76 ===== */
.auth-logo{width:112px;height:112px;border-radius:28px;background:var(--green);display:grid;place-items:center;margin:0 auto 10px;overflow:hidden}
.auth-logo img{width:104px;height:104px;object-fit:contain}
.auth-password-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-top:6px;border:1px solid #d8ded9;border-radius:14px;background:#fff;overflow:hidden}
.auth-password-wrap:focus-within{border-color:var(--green)}
.auth-password-wrap input{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.auth-password-wrap button{height:48px;padding:0 13px;border:0;background:transparent;color:var(--green);font-weight:900}
.auth-text-button{display:block;margin:14px auto 0;padding:6px;border:0;background:transparent;color:var(--green);font-weight:900}
.auth-forgot-card{position:relative;padding-top:60px}
.auth-forgot-card>p{color:var(--muted);font-size:.82rem;margin:0 0 18px}
.auth-code-card [data-reset-password-fields]{margin-top:18px;text-align:left}
.auth-code-card [data-reset-password-fields][hidden]{display:none}
@media(max-width:380px){.auth-logo{width:96px;height:96px}.auth-logo img{width:90px;height:90px}.customer-loading-card img{height:150px}}


/* ===== Acceso de clientes · v77 ===== */
html:has(body.customer-auth-body){background:#0f7b41}
body.customer-auth-body{
 min-height:100vh;
 min-height:100dvh;
 background:#0f7b41!important;
}
.customer-auth-shell{
 width:min(100%,540px);
 min-height:100vh;
 min-height:100dvh;
 margin:0 auto;
 padding:20px 16px 34px;
 background:transparent!important;
}
.auth-brand{margin:0 auto 10px;text-align:center}
.auth-logo{
 width:min(330px,86vw)!important;
 height:230px!important;
 margin:0 auto!important;
 border-radius:0!important;
 background:transparent!important;
 overflow:visible!important;
 display:grid!important;
 place-items:center!important;
}
.auth-logo img{
 width:100%!important;
 height:100%!important;
 object-fit:contain!important;
 display:block!important;
}
.auth-card{
 background:#fff;
 border:0!important;
 border-radius:25px;
 padding:20px;
 box-shadow:0 12px 34px rgba(4,50,25,.18);
}
.auth-card h1{margin:0 0 18px;font-size:1.55rem;line-height:1.1;text-align:center;color:#122319}
.auth-tabs{margin-bottom:20px}
.auth-forgot-card,.auth-code-card{margin-top:0}
.auth-text-button,.auth-resend{
 border:0;
 background:transparent;
 color:var(--green);
 font-weight:900;
 padding:12px 4px 2px;
 width:100%;
 text-align:center;
}
.auth-password-wrap button{min-width:70px;touch-action:manipulation}
.customer-auth-body .customer-toast-stack{z-index:4100}
.customer-auth-body .customer-loading{z-index:4000}
@media(max-width:420px){
 .customer-auth-shell{padding:12px 12px 26px}
 .auth-logo{width:min(285px,88vw)!important;height:198px!important}
 .auth-card{padding:17px 15px;border-radius:22px}
 .auth-card h1{font-size:1.4rem;margin-bottom:16px}
}
@media(max-height:700px){
 .auth-logo{height:160px!important;width:min(245px,76vw)!important}
 .customer-auth-shell{padding-top:8px}
}


/* ===== Acceso separado, título de manada y fondo verde · v78 ===== */
html:has(body.customer-auth-body),
body.customer-auth-body{
 background:#0f7b41!important;
 min-height:100%;
}
body.customer-auth-body{
 margin:0!important;
 min-height:100vh!important;
 min-height:100dvh!important;
}
.customer-auth-shell{
 width:min(100%,540px)!important;
 min-height:100vh!important;
 min-height:100dvh!important;
 margin:0 auto!important;
 padding:24px 16px 38px!important;
 display:grid!important;
 grid-template-columns:minmax(0,1fr)!important;
 grid-auto-rows:max-content!important;
 align-content:start!important;
 gap:0!important;
 background:transparent!important;
 overflow:visible!important;
}
.auth-brand{
 position:static!important;
 z-index:auto!important;
 width:100%!important;
 margin:0 0 24px!important;
 padding:0!important;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 background:transparent!important;
 transform:none!important;
}
.auth-brand-logo{
 display:block!important;
 width:min(390px,92vw)!important;
 height:auto!important;
 margin:0 auto!important;
 object-fit:contain!important;
 object-position:center!important;
 filter:none!important;
 transform:none!important;
}
.customer-auth-shell>.customer-alert{
 position:static!important;
 margin:-8px 0 16px!important;
}
.customer-auth-shell>.auth-card{
 position:static!important;
 z-index:auto!important;
 width:100%!important;
 margin:0!important;
 transform:none!important;
 clear:both!important;
 background:#fff!important;
 border:0!important;
 border-radius:25px!important;
 padding:21px!important;
 box-shadow:0 14px 36px rgba(2,48,24,.22)!important;
 overflow:visible!important;
}
.auth-card .auth-manada-title{
 position:relative!important;
 margin:2px auto 24px!important;
 padding:0 12px 13px!important;
 max-width:390px!important;
 color:#0c6f3a!important;
 font-family:"Arial Black","Trebuchet MS",Arial,sans-serif!important;
 font-size:clamp(1.55rem,5.8vw,2rem)!important;
 font-weight:950!important;
 line-height:1.04!important;
 letter-spacing:-.035em!important;
 text-align:center!important;
 text-transform:none!important;
}
.auth-card .auth-manada-title::after{
 content:""!important;
 position:absolute!important;
 left:50%!important;
 bottom:0!important;
 width:68px!important;
 height:5px!important;
 border-radius:999px!important;
 background:#f4b51f!important;
 transform:translateX(-50%)!important;
}
.auth-tabs{
 margin-bottom:22px!important;
}
.auth-forgot-card,.auth-code-card{
 margin-top:0!important;
}
@media(max-width:420px){
 .customer-auth-shell{padding:18px 12px 30px!important}
 .auth-brand{margin-bottom:20px!important}
 .auth-brand-logo{width:min(330px,91vw)!important;max-height:250px!important}
 .customer-auth-shell>.auth-card{padding:18px 15px!important;border-radius:22px!important}
 .auth-card .auth-manada-title{font-size:1.55rem!important;margin-bottom:21px!important}
}
@media(max-height:700px){
 .customer-auth-shell{padding-top:12px!important}
 .auth-brand{margin-bottom:16px!important}
 .auth-brand-logo{width:min(290px,78vw)!important;max-height:205px!important}
}

/* ===== Acceso funcional y diseño jungla · v79 ===== */
html,
body.customer-auth-body{
  background:#0f7b41!important;
}

body.customer-auth-body{
  min-height:100vh!important;
  min-height:100dvh!important;
  margin:0!important;
}

.customer-auth-shell{
  width:min(100%,520px)!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  padding:8px 14px 30px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  background:transparent!important;
}

.auth-brand{
  width:100%!important;
  margin:0 0 3px!important;
  padding:0!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
}

.auth-brand-logo{
  display:block!important;
  width:min(300px,78vw)!important;
  max-width:100%!important;
  height:auto!important;
  max-height:220px!important;
  margin:0 auto!important;
  object-fit:contain!important;
  object-position:center bottom!important;
}

.customer-auth-shell>.customer-alert{
  width:100%!important;
  margin:0 0 8px!important;
}

.customer-auth-shell>.auth-card{
  width:100%!important;
  margin:0!important;
  padding:19px 18px!important;
  background:#fff!important;
  border:0!important;
  border-radius:23px!important;
  box-shadow:0 12px 30px rgba(2,47,24,.22)!important;
}

.auth-card .auth-manada-title{
  position:relative!important;
  max-width:none!important;
  margin:1px 0 17px!important;
  padding:0!important;
  color:#ffae31!important;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold","Trebuchet MS",sans-serif!important;
  font-size:1.28rem!important;
  font-weight:900!important;
  line-height:1.08!important;
  letter-spacing:.025em!important;
  text-align:center!important;
  text-transform:none!important;
  text-shadow:0 2px 0 rgba(21,91,49,.3)!important;
}

.auth-card .auth-manada-title::after{
  content:none!important;
  display:none!important;
}

.auth-tabs{
  margin-bottom:17px!important;
}

.auth-tabs button{
  cursor:pointer!important;
  touch-action:manipulation!important;
}

.auth-password-wrap button,
.auth-text-button,
.auth-back,
.auth-resend,
.customer-primary{
  cursor:pointer!important;
  touch-action:manipulation!important;
}

.auth-password-wrap button{
  min-width:74px!important;
  height:48px!important;
  padding:0 13px!important;
  color:#0f7b41!important;
  background:#fff!important;
  border-left:1px solid #e2e8e3!important;
}

.auth-inline-message{
  display:block;
  margin:0 0 13px;
  padding:10px 12px;
  border-radius:13px;
  font-size:.78rem;
  font-weight:850;
  line-height:1.35;
  animation:authMessageIn .2s ease both;
}

.auth-inline-message[hidden]{
  display:none!important;
}

.auth-inline-message.error{
  background:#fee9e9;
  color:#8e2727;
  border:1px solid #f1bcbc;
}

.auth-inline-message.success{
  background:#e9f8ef;
  color:#0d6d39;
  border:1px solid #b8e0c8;
}

@keyframes authMessageIn{
  from{opacity:0;transform:translateY(-5px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:420px){
  .customer-auth-shell{
    padding:5px 11px 24px!important;
  }
  .auth-brand{
    margin-bottom:2px!important;
  }
  .auth-brand-logo{
    width:min(270px,76vw)!important;
    max-height:198px!important;
  }
  .customer-auth-shell>.auth-card{
    padding:17px 14px!important;
    border-radius:21px!important;
  }
  .auth-card .auth-manada-title{
    font-size:1.16rem!important;
    margin-bottom:15px!important;
  }
}

@media(max-height:690px){
  .customer-auth-shell{
    padding-top:2px!important;
  }
  .auth-brand-logo{
    width:min(235px,68vw)!important;
    max-height:165px!important;
  }
  .auth-brand{
    margin-bottom:1px!important;
  }
}


/* ===== Recuperación por pasos y título limpio · v80 ===== */
.auth-card .auth-manada-title{
  color:#0c6f3a!important;
  font-family:"Arial Black","Trebuchet MS",Arial,sans-serif!important;
  font-size:1.28rem!important;
  font-weight:950!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  text-shadow:none!important;
}
.auth-reset-password-card h1{
  margin:4px 0 7px!important;
}
.auth-reset-password-card>p{
  margin:0 0 16px!important;
  color:#647168!important;
  font-size:.86rem!important;
  line-height:1.4!important;
}
@media(max-width:420px){
  .auth-card .auth-manada-title{font-size:1.16rem!important}
}
/* ===== Recuperación estricta, navegación interna y título limpio · v81 ===== */
html,
body.customer-auth-body{
  overflow-x:hidden!important;
}

.customer-auth-shell{
  width:100%!important;
  max-width:520px!important;
  box-sizing:border-box!important;
  overflow-x:clip!important;
}

.auth-brand{
  margin:0 0 2px!important;
}

.auth-brand-logo{
  width:min(282px,76vw)!important;
  max-width:100%!important;
  max-height:194px!important;
  object-position:center bottom!important;
}

.customer-auth-shell>.auth-card{
  box-sizing:border-box!important;
}

.customer-auth-shell>[hidden],
.customer-auth-shell>.auth-card[hidden]{
  display:none!important;
}

.auth-card .auth-manada-title{
  color:#0c6f3a!important;
  font-family:"Arial Black","Trebuchet MS",Arial,sans-serif!important;
  font-size:1.28rem!important;
  font-weight:950!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  text-shadow:none!important;
  filter:none!important;
}

.auth-card .auth-manada-title::before,
.auth-card .auth-manada-title::after{
  content:none!important;
  display:none!important;
}

.auth-forgot-card,
.auth-code-card,
.auth-reset-password-card{
  position:relative!important;
  padding-top:60px!important;
}

.auth-back{
  position:absolute!important;
  top:14px!important;
  left:14px!important;
  z-index:3!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:50%!important;
  background:#eef5f0!important;
  color:#0c6f3a!important;
  font-size:0!important;
  line-height:1!important;
  box-shadow:none!important;
}

.auth-back i{
  display:block!important;
  font-size:19px!important;
  line-height:1!important;
  color:inherit!important;
}

.auth-back:focus-visible{
  outline:3px solid rgba(15,123,65,.22)!important;
  outline-offset:2px!important;
}

.auth-code-card h1,
.auth-forgot-card h1,
.auth-reset-password-card h1{
  margin-top:0!important;
}

@media(max-width:420px){
  .auth-brand{
    margin-bottom:1px!important;
  }

  .auth-brand-logo{
    width:min(258px,72vw)!important;
    max-height:178px!important;
  }

  .auth-card .auth-manada-title{
    font-size:1.16rem!important;
  }

  .auth-forgot-card,
  .auth-code-card,
  .auth-reset-password-card{
    padding-top:56px!important;
  }

  .auth-back{
    top:12px!important;
    left:12px!important;
  }
}

/* ===== Perfil con dirección y avatares prediseñados · v85 ===== */
.profile-avatar-current{
  width:92px;
  height:92px;
  margin:0 auto;
  border-radius:50%;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:var(--green-soft);
  border:3px solid #fff;
  box-shadow:0 0 0 2px var(--green);
}
.profile-avatar-current img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.profile-form-section+ .profile-form-section{
  border-top:1px solid var(--line);
  margin-top:18px;
  padding-top:18px;
}
.profile-form-section h2{
  margin:0 0 13px;
  font-size:1.1rem;
}
.profile-avatar-section h2{
  text-align:center;
}
.profile-avatar-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.profile-avatar-option{
  margin:0!important;
  cursor:pointer;
}
.profile-avatar-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.profile-avatar-option>span{
  aspect-ratio:1/1;
  display:block;
  overflow:hidden;
  border-radius:50%;
  border:2px solid var(--line);
  background:var(--green-soft);
  padding:3px;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.profile-avatar-option img{
  width:100%;
  height:100%;
  display:block;
  border-radius:50%;
  object-fit:cover;
}
.profile-avatar-option input:checked+span{
  border-color:var(--green);
  box-shadow:0 0 0 3px rgba(23,132,71,.16);
  transform:scale(1.05);
}
.profile-form select{
  display:block;
  width:100%;
  height:48px;
  border:1px solid #d8ded9;
  border-radius:14px;
  padding:0 38px 0 13px;
  margin-top:6px;
  background:#fff;
  outline:0;
  font-size:16px;
  color:inherit;
}
.profile-form select:focus{
  border-color:var(--green);
}
.profile-delivery-section h2{
  display:flex;
  align-items:center;
  gap:8px;
}
.profile-delivery-section h2:before{
  content:"\F3E8";
  font-family:"bootstrap-icons";
  color:var(--green);
}
@media(max-width:380px){
  .profile-avatar-grid{gap:7px}
  .profile-avatar-current{width:84px;height:84px}
}


/* ===== Perfil: selector de avatar sencillo · v87 ===== */
.profile-hero{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.profile-hero [data-profile-display-name]{
  margin-top:10px;
}
.profile-avatar-change{
  margin:7px auto 0;
  padding:5px 8px;
  border:0;
  background:transparent;
  color:var(--green);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-size:.76rem;
  font-weight:800;
}
.profile-avatar-change i{
  font-size:.9rem;
}
.profile-avatar-change:active,
.profile-avatar-change.active{
  background:var(--green-soft);
  border-radius:10px;
}
.profile-avatar-section[hidden]{
  display:none!important;
}
.profile-avatar-section{
  margin:0 0 18px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.profile-avatar-section .profile-avatar-grid{
  margin:0;
}
.profile-avatar-section[hidden]+.profile-form-section{
  border-top:0;
  margin-top:0;
  padding-top:0;
}


/* ===== Perfil horizontal con 5 avatares · v88 ===== */
.profile-hero{
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  align-items:center;
  gap:18px;
  padding:20px 18px;
  text-align:left;
}
.profile-avatar-current{
  width:132px;
  height:132px;
  margin:0;
  justify-self:start;
  flex:0 0 auto;
}
.profile-identity{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}
.profile-hero .profile-identity [data-profile-display-name]{
  width:100%;
  margin:0 0 8px;
  text-align:left;
  line-height:1.08;
  overflow-wrap:anywhere;
}
.profile-summary{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px 12px;
  margin-bottom:7px;
}
.profile-summary .profile-coins{
  justify-content:flex-start!important;
  min-height:28px;
}
.profile-summary .profile-coins .points-coin{
  width:29px;
  max-height:29px;
}
.profile-pet-level{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:var(--green-dark);
  font-size:.78rem;
  font-weight:850;
  white-space:nowrap;
}
.profile-pet-level i{
  color:var(--green);
  font-size:.9rem;
}
.profile-avatar-change{
  margin:0;
  padding:5px 7px 5px 0;
  justify-content:flex-start;
}
.profile-avatar-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
}
.profile-avatar-section{
  overflow:hidden;
  transform-origin:top center;
}
.profile-avatar-section.avatar-panel-opening{
  animation:profileAvatarPanelIn .28s cubic-bezier(.2,.78,.28,1) both;
}
.profile-avatar-section.avatar-panel-opening .profile-avatar-option{
  opacity:0;
  animation:profileAvatarChoiceIn .34s cubic-bezier(.2,.78,.28,1) both;
}
.profile-avatar-section.avatar-panel-opening .profile-avatar-option:nth-child(1){animation-delay:.04s}
.profile-avatar-section.avatar-panel-opening .profile-avatar-option:nth-child(2){animation-delay:.08s}
.profile-avatar-section.avatar-panel-opening .profile-avatar-option:nth-child(3){animation-delay:.12s}
.profile-avatar-section.avatar-panel-opening .profile-avatar-option:nth-child(4){animation-delay:.16s}
.profile-avatar-section.avatar-panel-opening .profile-avatar-option:nth-child(5){animation-delay:.20s}
@keyframes profileAvatarPanelIn{
  from{opacity:0;transform:translateY(-8px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes profileAvatarChoiceIn{
  from{opacity:0;transform:translateY(10px) scale(.78)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(max-width:420px){
  .profile-hero{
    grid-template-columns:116px minmax(0,1fr);
    gap:14px;
    padding:18px 14px;
  }
  .profile-avatar-current{width:116px;height:116px}
  .profile-hero .profile-identity [data-profile-display-name]{font-size:1.24rem}
  .profile-summary{gap:5px 9px}
  .profile-avatar-grid{gap:6px}
}
@media(prefers-reduced-motion:reduce){
  .profile-avatar-section.avatar-panel-opening,
  .profile-avatar-section.avatar-panel-opening .profile-avatar-option{animation:none!important;opacity:1}
}


/* ===== Monedas pixeladas visibles en perfil · v89 ===== */
.profile-summary .profile-points-pill{
  width:auto;
  min-width:0;
  height:42px;
  padding:0 8px;
  gap:0;
  justify-content:flex-start!important;
  flex:0 0 auto;
  overflow:visible;
}
.profile-summary .profile-points-pill [data-profile-points]{
  display:flex;
  align-items:center;
  min-width:0;
  flex:0 0 auto;
}
.profile-summary .profile-points-pill .pixel-number{
  --px:clamp(1.75px,.53vw,2.15px);
  display:flex;
  align-items:center;
  gap:1px;
  line-height:1;
  flex:0 0 auto;
}
.profile-summary .profile-points-pill .pixel-digit{
  display:grid;
  grid-template-columns:repeat(5,var(--px));
  grid-template-rows:repeat(7,var(--px));
  gap:0;
  width:calc(var(--px)*5);
  height:calc(var(--px)*7);
}
.profile-summary .profile-points-pill .px{
  display:block;
  width:var(--px);
  height:var(--px);
}
.profile-summary .profile-points-pill .px-0,
.profile-summary .profile-points-pill .px-2{background:transparent}
.profile-summary .profile-points-pill .px-1{background:#050505}
.profile-summary .profile-points-pill .points-coin{
  width:32px;
  height:auto;
  max-height:32px;
  margin-left:1px;
  object-fit:contain;
  display:block;
  flex:0 0 auto;
  image-rendering:pixelated;
  filter:none;
}


/* Promociones v90 */
.promotions-admin-layout{display:grid;gap:18px}.promotion-admin-list{display:grid;gap:12px}.promotion-admin-card{display:flex;justify-content:space-between;gap:18px;padding:16px;border:1px solid #dbe5df;border-radius:16px;background:#fff}.promotion-admin-card.is-off{opacity:.55}.promo-admin-type{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e9f7ef;color:#157443;font-size:11px;text-transform:uppercase}.promotion-admin-card h3{margin:8px 0 4px}.promotion-admin-card p{margin:0 0 8px;color:#66736b}.promotion-admin-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.promotion-admin-actions button{border:0;background:#eef3f0;border-radius:9px;padding:8px 10px}.promotion-admin-actions .danger{color:#b52828}.promotion-editor-card{width:min(920px,96vw)}.promotion-editor-body{max-height:72vh;overflow:auto}.promotion-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.promotion-editor-grid .full{grid-column:1/-1}.promo-type-fields{padding:14px;border:1px solid #e0e8e3;border-radius:14px;background:#f8fbf9}.promo-products-picker{max-height:300px;overflow:auto;display:grid;gap:10px}.promo-products-group{border:0;margin:0;padding:0}.promo-products-group legend{font-weight:800;margin:8px 0}.promo-products-group label{display:grid;grid-template-columns:auto 1fr auto;gap:10px;padding:8px;border-bottom:1px solid #edf1ef}.promo-fixed-row{display:grid;grid-template-columns:1fr 80px 38px;gap:8px;margin-bottom:8px}.promo-fixed-row select,.promo-fixed-row input{width:100%}.promo-fixed-row button{border:0;border-radius:8px}.promo-calculation{display:flex;flex-direction:column;justify-content:center;padding:12px;border-radius:12px;background:#fff4d9}.promo-calculation b{font-size:21px}.promo-schedule{margin-top:18px;padding-top:16px;border-top:1px solid #e0e8e3}.week-days{display:flex;gap:7px;margin:12px 0}.week-days input{position:absolute;opacity:0}.week-days span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#edf2ef}.week-days input:checked+span{background:#178447;color:#fff}.switch-row{display:flex;gap:10px;align-items:center;margin:10px 0}
.customer-promotions-view{padding:18px 14px 110px}.customer-promotions-hero{padding:18px;border-radius:18px;background:#178447;color:#fff;margin-bottom:16px}.customer-promotions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.customer-promo-card{position:relative;border:1px solid #e1e9e4;border-radius:17px;background:#fff;overflow:hidden;padding:14px;text-align:left}.customer-promo-card.upcoming{filter:grayscale(.35)}.customer-promo-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff0cf;color:#8a5600;font-size:10px;font-weight:900;text-transform:uppercase}.customer-promo-card h3{margin:9px 0 5px;font-size:17px}.customer-promo-card p{margin:0 0 10px;color:#66736b;font-size:12px}.customer-promo-price{display:flex;align-items:end;gap:7px}.customer-promo-price strong{font-size:21px;color:#178447}.customer-promo-price del{font-size:12px;color:#89938d}.customer-promo-card button{width:100%;margin-top:12px;border:0;border-radius:11px;padding:10px;background:#178447;color:#fff;font-weight:800}.customer-promo-card button:disabled{background:#cdd5d0;color:#657069}.promo-countdown{display:block;margin-top:6px;color:#9a6500;font-size:11px;font-weight:800}.promotion-picker-sheet .sheet-scroll{padding:16px}.promotion-picker-summary{padding:14px;border-radius:14px;background:#eef8f2;margin-bottom:14px}.promotion-choice-list{display:grid;gap:9px}.promotion-choice-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid #e1e8e3;border-radius:12px}.promotion-choice-row small{display:block;color:#6c756f}.promotion-choice-controls{display:flex;align-items:center;gap:8px}.promotion-choice-controls button{width:31px;height:31px;border:0;border-radius:8px;background:#e8f1eb}.promotion-picker-footer{position:sticky;bottom:0;background:#fff;padding:12px 0}.promotion-picker-footer button{width:100%;border:0;border-radius:12px;padding:13px;background:#178447;color:#fff;font-weight:900}.basket-promotion-line{padding:12px;border:2px solid #ffcf68;border-radius:14px;background:#fff8e8;margin-bottom:10px}.basket-promotion-line small{display:block;color:#7b6540}.basket-promotion-line button{border:0;background:transparent;color:#b02a2a;padding:5px 0}
@media(max-width:700px){.promotion-editor-grid{grid-template-columns:1fr}.promotion-editor-grid .full{grid-column:auto}.promotion-admin-card{flex-direction:column}.promotion-admin-actions{justify-content:flex-start}.customer-promotions-grid{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.customer-promotions-grid{grid-template-columns:1fr}}

/* ===== Promociones integradas al pedido · v91 ===== */
.customer-bottom-nav button[hidden]{display:none!important}
.menu-promotions-section{margin-bottom:22px}
.menu-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.menu-section-heading h2{margin:0}
.menu-section-heading button{border:0;background:transparent;color:var(--green);font-weight:900;padding:6px 0}
.menu-promotions-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.customer-promo-card{display:flex;flex-direction:column;min-width:0}
.customer-promo-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.customer-promo-in-cart{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;background:#e9f7ef;color:#157443;font-size:11px;font-weight:900}
.customer-promo-preview{display:block;color:#46524b;font-size:11px;line-height:1.35;margin:0 0 10px;min-height:2.7em}
.customer-promo-card .customer-promo-price{margin-top:auto}
.customer-promo-card.upcoming{filter:none;background:#f5f6f5}
.customer-promo-card.upcoming>*:not(button){opacity:.68}
.menu-promotion-card{padding:12px;border-radius:16px}
.menu-promotion-card h3{font-size:15px;line-height:1.18;min-height:2.35em}
.menu-promotion-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.menu-promotion-card .customer-promo-price strong{font-size:19px}
.menu-promotion-card button{padding:9px 8px;font-size:12px}

.promotion-picker-sheet{z-index:115;overflow:hidden}
.promotion-picker-sheet .sheet-scroll{padding:16px 16px calc(28px + env(safe-area-inset-bottom));overscroll-behavior:contain}
.promotion-picker-summary{margin-bottom:16px;padding:16px;border:1px solid #d7ebdf;border-radius:18px;background:#eef8f2}
.promotion-picker-summary h3{margin:9px 0 5px;font-size:21px}
.promotion-picker-summary p{margin:0;color:#56645b;line-height:1.4}
.promotion-action-requirement{display:flex;align-items:flex-start;gap:10px;margin-top:13px;padding:11px;border-radius:13px;background:#fff8dc;color:#4f451e}
.promotion-action-requirement>i{font-size:18px;color:#d89f00}
.promotion-action-requirement small,.promotion-action-requirement b{display:block}
.promotion-action-requirement small{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#8b782f}
.promotion-picker-section{margin:0 0 16px}
.promotion-picker-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}
.promotion-picker-section-title h3{margin:0;font-size:17px}
.promotion-picker-section-title small{max-width:55%;text-align:right;color:#748078;font-size:11px;line-height:1.3}
.promotion-choice-list,.promotion-fixed-products{display:grid;gap:9px}
.promotion-choice-row,.promotion-fixed-products article{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid #dfe7e2;border-radius:14px;background:#fff}
.promotion-choice-row.selected{border-color:#65b583;background:#f1fbf5}
.promotion-choice-media{width:52px;height:52px;display:grid;place-items:center;border-radius:12px;background:#f0f4f1;overflow:hidden;font-size:25px}
.promotion-choice-media img{width:100%;height:100%;object-fit:cover}
.promotion-choice-info{min-width:0}
.promotion-choice-info b,.promotion-choice-info small,.promotion-fixed-products article b,.promotion-fixed-products article small{display:block}
.promotion-choice-info b,.promotion-fixed-products article b{font-size:13px;line-height:1.25}
.promotion-choice-info small,.promotion-fixed-products article small{margin-top:3px;color:#758078;font-size:10px;line-height:1.25}
.promotion-fixed-products article>strong{font-size:15px;color:#178447}
.promotion-choice-controls{display:grid;grid-template-columns:34px 26px 34px;align-items:center;gap:4px}
.promotion-choice-controls button{width:34px;height:34px;border:0;border-radius:10px;background:#e7f1ea;color:#176d3d;font-size:18px;font-weight:900}
.promotion-choice-controls button:disabled{opacity:.35}
.promotion-choice-controls b{text-align:center;font-size:14px}
.promotion-pack-progress{padding:12px 14px;margin:0 0 14px;border-radius:14px;background:#fff7df}
.promotion-pack-progress>span,.promotion-pack-progress>b{font-size:12px}
.promotion-pack-progress>b{float:right}
.promotion-pack-progress>div{clear:both;height:7px;margin-top:9px;border-radius:999px;background:#eadfb9;overflow:hidden}
.promotion-pack-progress>div i{display:block;height:100%;border-radius:inherit;background:#d3a522;transition:width .2s ease}
.promotion-pack-progress.complete{background:#eaf8ef;color:#126b3a}
.promotion-pack-progress.complete>div{background:#cce8d5}
.promotion-pack-progress.complete>div i{background:#178447}
.promotion-picker-price{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:14px 3px 8px}
.promotion-picker-price small,.promotion-picker-price b{display:block}
.promotion-picker-price small{color:#748078;font-size:11px}
.promotion-picker-price b{font-size:25px;color:#178447}
.promotion-picker-price del{color:#89938d;font-size:13px}
.promotion-picker-footer{position:sticky;bottom:-1px;z-index:2;margin:0 -16px -28px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e4e9e6}
.promotion-picker-footer button{height:52px;border-radius:999px!important;font-size:15px}
.promotion-picker-footer button:disabled{background:#cbd4ce;color:#68736c}

.basket-promotion-line{padding:14px;border:1px solid #f0c85f;border-radius:17px;background:#fff9e8;margin-bottom:12px}
.basket-promotion-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.basket-promotion-head>button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:#176f40!important;padding:4px!important;font-size:12px;font-weight:900}
.basket-promotion-line h3{margin:9px 0 7px;font-size:17px}
.basket-promotion-products{display:grid;gap:4px;margin-bottom:12px}
.basket-promotion-products span{display:flex;align-items:center;gap:5px;color:#665b3e;font-size:11px;line-height:1.35}
.basket-promotion-products em{display:inline-flex;margin-left:3px;padding:2px 5px;border-radius:999px;background:#dff4e7;color:#14713e;font-size:9px;font-style:normal;font-weight:900;text-transform:uppercase}
.basket-promotion-bottom{display:flex;align-items:end;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px dashed #e8d39b}
.basket-promotion-price small,.basket-promotion-price strong{display:block!important}
.basket-promotion-price small{font-size:10px!important;color:#89784e!important}
.basket-promotion-price strong{margin-top:2px;font-size:19px;color:#178447}
.promotion-basket-qty{flex:0 0 auto}
.promotion-basket-qty button:disabled{opacity:.35}
.checkout-promotion-line>span{display:block;min-width:0}
.checkout-promotion-line>span>b,.checkout-promotion-line>span>small{display:block}
.checkout-promotion-line>span>small{margin-top:3px;color:#7a837d;font-size:10px;line-height:1.35}
.checkout-coupon-row.coupon-blocked{background:#f4f5f4;color:#737a75}
.checkout-coupon-row.coupon-blocked .checkout-coupon-main{width:100%;padding:0;border:0;background:transparent}

@media(min-width:769px){
 .promotion-picker-sheet{inset:24px;width:min(680px,calc(100% - 48px));height:min(860px,calc(100vh - 48px));margin:auto;border-radius:28px;box-shadow:0 0 0 100vmax rgba(10,18,13,.42),0 22px 60px rgba(0,0,0,.22)}
}
@media(max-width:768px){
 .promotion-picker-sheet{inset:0;width:100%;height:100dvh;max-height:none;border-radius:0}
 .menu-promotions-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:390px){
 .menu-promotions-grid{gap:8px!important}
 .menu-promotion-card{padding:10px}
 .menu-promotion-card h3{font-size:14px}
 .promotion-choice-row,.promotion-fixed-products article{grid-template-columns:46px minmax(0,1fr);gap:9px}
 .promotion-choice-media{width:46px;height:46px}
 .promotion-choice-controls{grid-column:2;justify-self:end}
 .promotion-fixed-products article>strong{grid-column:2;justify-self:end}
}
.customer-bottom-nav.has-four-items{grid-template-columns:repeat(4,1fr)}

.customer-app-body .customer-toast-stack{z-index:2300}

/* ===== Productos de promociones en canasta y resúmenes · v94 ===== */
.basket-promotion-group{
 display:grid;
 grid-template-columns:minmax(0,1fr) auto;
 align-items:start;
 gap:6px;
 margin:4px 0 8px;
 padding:4px 6px;
 border:1px solid #dfe7e1;
 border-radius:16px;
 background:#fff;
 overflow:hidden;
}
.basket-promotion-group+.basket-promotion-group{
 margin-top:8px;
}
.basket-promotion-products-list{
 min-width:0;
}
.basket-promotion-product{
 grid-template-columns:58px minmax(0,1fr) auto!important;
 gap:8px!important;
 min-height:61px!important;
 padding:5px 2px!important;
 border-bottom:1px solid #edf0ee!important;
 background:transparent;
}
.basket-promotion-product:last-child{
 border-bottom:0!important;
}
.basket-promotion-product .basket-item-media{
 width:58px!important;
 height:52px!important;
}
.basket-promotion-product-qty{
 align-self:center;
 min-width:24px;
 color:#616963;
 font-size:.76rem;
 font-weight:800;
 text-align:right;
 white-space:nowrap;
}
.basket-promotion-group-actions{
 display:grid;
 justify-items:end;
 align-content:start;
 gap:5px;
 min-width:104px;
 padding:3px 0 0 2px;
}
.basket-promotion-edit-button{
 display:inline-flex;
 align-items:center;
 justify-content:flex-end;
 width:auto;
 min-width:0;
 height:auto;
 margin:0 7px 0 0;
 padding:1px 0;
 border:0;
 border-radius:0;
 background:transparent;
 color:#176f40;
 font-size:.78rem;
 font-weight:800;
 line-height:1.2;
 text-decoration:none;
}
.basket-promotion-edit-button:active{
 transform:scale(.96);
}
.basket-promotion-group-actions .basket-qty{
 grid-template-columns:38px 28px 38px!important;
 justify-self:end!important;
 margin:0!important;
}
.basket-promotion-group-actions .basket-qty button{
 width:38px!important;
 min-width:38px!important;
}
.promotion-item-price{
 align-items:baseline!important;
 gap:6px!important;
}
.promotion-item-price del{
 order:0;
 color:#7b827e!important;
 font-size:.76rem!important;
}
.promotion-item-price strong{
 order:1;
 color:#111!important;
 font-size:.96rem!important;
}
.promotion-basket-qty button:disabled{
 opacity:.28!important;
 cursor:not-allowed;
}

.order-checkout-summary .checkout-order-lines{
 display:block;
}
.checkout-promotion-group{
 display:grid;
 gap:0;
 margin:5px 0;
 padding:4px 7px;
 border:1px solid #dfe7e1;
 border-radius:13px;
 background:#fff;
 overflow:hidden;
}
.checkout-promotion-group-name{
 margin:0;
 padding:2px 1px 5px;
 border-bottom:1px solid #edf0ee;
 color:#176f40;
 font-size:.68rem;
 font-weight:900;
 line-height:1.2;
 text-transform:uppercase;
}
.checkout-promotion-group+.checkout-promotion-group,
.checkout-promotion-group+.checkout-product-line{
 margin-top:6px;
}
.order-checkout-summary .checkout-product-line{
 display:grid!important;
 grid-template-columns:42px minmax(0,1fr) auto;
 align-items:center;
 gap:9px;
 min-height:52px!important;
 padding:6px 0!important;
 color:#111!important;
}
.checkout-promotion-group .checkout-product-line:last-child{
 border-bottom:0!important;
}
.checkout-product-media{
 width:42px;
 height:42px;
 display:grid;
 place-items:center;
 overflow:hidden;
 border-radius:11px;
 background:#f3f5f3;
 font-size:23px;
}
.checkout-product-media img{
 width:100%;
 height:100%;
 object-fit:contain;
}
.checkout-product-media .fallback{
 line-height:1;
}
.checkout-product-copy{
 display:block;
 min-width:0;
}
.checkout-product-copy small,
.checkout-product-copy b{
 display:block;
 min-width:0;
}
.checkout-product-copy small{
 margin:0 0 2px;
 color:#7a827d;
 font-size:.57rem!important;
 font-weight:800;
 line-height:1.1;
 letter-spacing:.035em;
 text-transform:uppercase;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.checkout-product-copy b{
 color:#171b19!important;
 font-size:.78rem;
 font-weight:700;
 line-height:1.2;
}
.checkout-product-price{
 display:grid;
 justify-items:end;
 align-content:center;
 gap:1px;
 white-space:nowrap;
}
.checkout-product-price del{
 color:#7d8580;
 font-size:.65rem;
 line-height:1.1;
}
.checkout-product-price b{
 color:#111!important;
 font-size:.8rem;
 line-height:1.1;
}
.checkout-promotion-product-line .checkout-product-price b{
 color:#178447!important;
}
.order-checkout-summary .checkout-order-total{
 display:flex!important;
}
.order-checkout-summary [data-discount-row]:not([hidden]){
 display:flex!important;
}
.order-checkout-summary [data-discount-row][hidden]{
 display:none!important;
}

.order-detail-items{
 display:block!important;
}
.order-detail-promotion-group{
 display:grid;
 gap:0;
 margin:0;
 padding:0;
 border:0;
}
.order-detail-promotion-group+.order-detail-promotion-group,
.order-detail-promotion-group+.order-detail-product-line{
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.order-detail-product-copy b{
 color:#202622;
 font-size:.78rem;
 font-weight:700;
 line-height:1.2;
}
.order-detail-product-price{
 display:grid;
 justify-items:end;
 align-content:center;
 gap:1px;
 white-space:nowrap;
}
.order-detail-product-price del{
 color:#7d8580;
 font-size:.65rem;
 line-height:1.1;
}
.order-detail-product-price strong{
 color:#111;
 font-size:.8rem;
 line-height:1.1;
}
.order-detail-promotion-product-line .order-detail-product-price strong{
 color:#178447;
}

@media(max-width:520px){
 .basket-promotion-group{gap:4px;padding:3px 5px}
 .basket-promotion-group-actions{min-width:96px;gap:4px}
 .basket-promotion-edit-button{margin-right:6px;font-size:.74rem}
 .basket-promotion-group-actions .basket-qty{grid-template-columns:35px 26px 35px!important}
 .basket-promotion-group-actions .basket-qty button{width:35px!important;min-width:35px!important}
 .order-checkout-summary .checkout-product-line,
 .order-detail-product-line{grid-template-columns:38px minmax(0,1fr) auto;gap:7px}
 .checkout-product-media,
 .order-detail-product-media{width:38px;height:38px;border-radius:10px;font-size:21px}
 .checkout-product-copy b,
 .order-detail-product-copy b{font-size:.74rem}
 .checkout-product-price b,
 .order-detail-product-price strong{font-size:.76rem}
}
@media(max-width:390px){
 .basket-promotion-group{grid-template-columns:minmax(0,1fr) 90px}
 .basket-promotion-product{grid-template-columns:50px minmax(0,1fr) auto!important;gap:6px!important}
 .basket-promotion-product .basket-item-media{width:50px!important;height:47px!important}
 .basket-promotion-group-actions{min-width:90px}
 .basket-promotion-group-actions .basket-qty{grid-template-columns:32px 24px 32px!important}
 .basket-promotion-group-actions .basket-qty button{width:32px!important;min-width:32px!important;height:34px!important}
 .basket-promotion-group-actions .basket-qty b{font-size:.86rem!important}
 .basket-promotion-product-qty{min-width:20px;font-size:.7rem}
}

/* ===== Selector de promociones con resumen inferior fijo · v93 ===== */
.promotion-picker-sheet .promotion-picker-content{
 min-height:0;
 padding:16px 16px 18px;
 scroll-padding-bottom:18px;
 overscroll-behavior:contain;
}
.promotion-picker-footer{
 position:relative;
 inset:auto;
 bottom:auto;
 z-index:3;
 flex:0 0 auto;
 display:grid;
 grid-template-columns:minmax(105px,.72fr) minmax(190px,1.28fr);
 align-items:center;
 gap:12px;
 margin:0 16px calc(14px + env(safe-area-inset-bottom));
 padding:9px 9px 9px 18px;
 border:1px solid #dfe6e1;
 border-radius:999px;
 background:#fff;
 box-shadow:0 8px 28px rgba(24,53,35,.10);
}
.promotion-picker-cart-summary{
 min-width:0;
 display:flex;
 flex-direction:column;
 justify-content:center;
 line-height:1.05;
}
.promotion-picker-cart-summary small{
 display:block;
 color:#303631;
 font-size:12px;
 white-space:nowrap;
}
.promotion-picker-cart-summary small b{font-weight:500}
.promotion-picker-total-line{
 min-width:0;
 display:flex;
 align-items:baseline;
 gap:6px;
 margin-top:3px;
 white-space:nowrap;
}
.promotion-picker-total-line del{
 color:#8a948d;
 font-size:11px;
 font-weight:700;
}
.promotion-picker-total-line strong{
 color:#111;
 font-size:22px;
 font-weight:950;
 letter-spacing:-.02em;
}
.promotion-picker-footer>button{
 width:100%;
 height:52px;
 margin:0;
 padding:0 16px;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:7px;
 border:0;
 border-radius:999px!important;
 background:var(--green);
 color:#fff;
 font-size:15px;
 font-weight:900;
 line-height:1.1;
}
.promotion-picker-footer>button:active:not(:disabled){transform:scale(.975)}
.promotion-picker-footer>button:disabled{
 background:#dfe4e1;
 color:#a1aaa4;
}
.promotion-choice-row{transform-origin:center}
.promotion-choice-row.promotion-choice-increase{animation:promotionChoiceIncrease .34s cubic-bezier(.2,1.15,.35,1)}
.promotion-choice-row.promotion-choice-decrease{animation:promotionChoiceDecrease .28s ease}
.promotion-choice-qty-changing{display:inline-block;animation:promotionChoiceQty .3s cubic-bezier(.2,1.45,.4,1)}
.promotion-picker-summary-changing{animation:promotionFooterSummary .3s ease}
.promotion-picker-total-changing{display:inline-block;animation:promotionFooterTotal .32s ease}
.promotion-progress-changing{animation:promotionProgressPulse .34s ease}
.promotion-picker-sheet.promotion-picker-added .promotion-picker-footer{animation:promotionFooterConfirmed .46s cubic-bezier(.2,1.1,.35,1)}
.promotion-picker-sheet.promotion-picker-added .promotion-picker-content{animation:promotionContentConfirmed .46s ease}
.promotion-picker-footer>button.promotion-add-confirmed{
 background:#11753e;
 color:#fff;
 animation:promotionActionConfirmed .46s cubic-bezier(.2,1.2,.35,1);
}
.floating-cart.floating-cart-added{animation:floatingCartAdded .58s cubic-bezier(.2,1.2,.35,1)}
.basket-promotion-group.promotion-basket-updated{animation:promotionBasketUpdated .45s ease}
@keyframes promotionChoiceIncrease{
 0%{transform:scale(.97);background:#fff}
 52%{transform:scale(1.018);background:#dcf5e5}
 100%{transform:scale(1)}
}
@keyframes promotionChoiceDecrease{
 0%{transform:scale(1)}
 45%{transform:scale(.982);opacity:.72}
 100%{transform:scale(1);opacity:1}
}
@keyframes promotionChoiceQty{
 0%{transform:scale(.68);opacity:.35}
 60%{transform:scale(1.25);opacity:1}
 100%{transform:scale(1)}
}
@keyframes promotionFooterSummary{
 0%{transform:translateY(2px);opacity:.65}
 100%{transform:none;opacity:1}
}
@keyframes promotionFooterTotal{
 0%{transform:scale(.82);opacity:.5}
 60%{transform:scale(1.12);opacity:1}
 100%{transform:scale(1)}
}
@keyframes promotionProgressPulse{
 0%{transform:scale(.99)}
 55%{transform:scale(1.012)}
 100%{transform:scale(1)}
}
@keyframes promotionFooterConfirmed{
 0%{transform:scale(1)}
 48%{transform:scale(1.025)}
 100%{transform:scale(1)}
}
@keyframes promotionContentConfirmed{
 0%,100%{opacity:1}
 50%{opacity:.82}
}
@keyframes promotionActionConfirmed{
 0%{transform:scale(.97)}
 55%{transform:scale(1.025)}
 100%{transform:scale(1)}
}
@keyframes floatingCartAdded{
 0%{transform:translateX(-50%) scale(1)}
 42%{transform:translateX(-50%) scale(1.045)}
 72%{transform:translateX(-50%) scale(.992)}
 100%{transform:translateX(-50%) scale(1)}
}
@keyframes promotionBasketUpdated{
 0%{background:#e9f8ef;transform:scale(.99)}
 100%{background:#fff;transform:scale(1)}
}
@media(max-width:390px){
 .promotion-picker-sheet .promotion-picker-content{padding:12px 12px 14px}
 .promotion-picker-footer{
  grid-template-columns:minmax(82px,.66fr) minmax(158px,1.34fr);
  gap:8px;
  margin:0 10px calc(10px + env(safe-area-inset-bottom));
  padding:8px 8px 8px 12px;
 }
 .promotion-picker-cart-summary small{font-size:10px}
 .promotion-picker-total-line{gap:4px}
 .promotion-picker-total-line del{font-size:9px}
 .promotion-picker-total-line strong{font-size:19px}
 .promotion-picker-footer>button{height:48px;padding:0 10px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){
 .promotion-choice-row.promotion-choice-increase,
 .promotion-choice-row.promotion-choice-decrease,
 .promotion-choice-qty-changing,
 .promotion-picker-summary-changing,
 .promotion-picker-total-changing,
 .promotion-progress-changing,
 .promotion-picker-sheet.promotion-picker-added .promotion-picker-footer,
 .promotion-picker-sheet.promotion-picker-added .promotion-picker-content,
 .promotion-picker-footer>button.promotion-add-confirmed,
 .floating-cart.floating-cart-added,
 .basket-promotion-group.promotion-basket-updated{animation:none!important}
}


/* ===== Ajustes finales de canasta y pago · v95 ===== */
.basket-promotion-group-header{
 grid-column:1/-1;
 min-width:0;
 margin:0;
 padding:2px 3px 4px;
 border-bottom:1px solid #edf0ee;
 color:#176f40;
 font-size:.72rem;
 font-weight:900;
 line-height:1.2;
 text-transform:uppercase;
 overflow:hidden;
}
.basket-promotion-group-header strong{
 display:block;
 min-width:0;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.order-checkout-summary .checkout-product-line{
 grid-template-columns:minmax(0,1fr) auto!important;
 gap:10px!important;
 min-height:0!important;
 padding:6px 0!important;
}
.order-checkout-summary .checkout-product-copy b{
 white-space:normal;
}
.customer-action-attention-running:not(:disabled){
 transform-origin:center;
 animation:customerPrimaryActionAttention 12s ease-in-out 4.5s infinite;
 will-change:transform,box-shadow;
}
@keyframes customerPrimaryActionAttention{
 0%,78%,88%,100%{transform:scale(1);box-shadow:none}
 82%{transform:scale(1.022);box-shadow:0 0 0 5px rgba(23,132,71,.13),0 7px 18px rgba(23,132,71,.18)}
 85%{transform:scale(1.008);box-shadow:0 0 0 2px rgba(23,132,71,.07)}
 92%{transform:scale(1.016);box-shadow:0 0 0 4px rgba(23,132,71,.10)}
 95%{transform:scale(1);box-shadow:none}
}
.cart-clear-dialog[hidden]{display:none!important}
.cart-clear-dialog{
 position:fixed;
 inset:0;
 z-index:2600;
 display:flex;
 align-items:center;
 justify-content:center;
 padding:18px;
 background:rgba(17,25,20,.52);
 animation:orderDialogBackdropIn .2s ease both;
}
.cart-clear-dialog-card{
 width:min(100%,390px);
 border-radius:24px;
 background:#fff;
 padding:22px 20px 18px;
 text-align:center;
 box-shadow:0 18px 55px rgba(0,0,0,.24);
 animation:orderDialogCardIn .24s ease both;
}
.cart-clear-dialog-icon{
 width:50px;
 height:50px;
 margin:0 auto 11px;
 border-radius:50%;
 display:flex;
 align-items:center;
 justify-content:center;
 background:#fff0f0;
 color:#c53333;
 font-size:1.35rem;
}
.cart-clear-dialog-card h2{margin:0 0 7px;font-size:1.23rem;line-height:1.2;color:#172019}
.cart-clear-dialog-card p{margin:0;color:#5c675f;font-size:.86rem;line-height:1.45}
.cart-clear-dialog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:18px}
.cart-clear-dialog-actions button{min-height:43px;border-radius:999px;padding:8px 12px;font-weight:900;font-size:.78rem}
.cart-clear-dialog-actions .keep{border:1px solid #bfcac2;background:#fff;color:#294333}
.cart-clear-dialog-actions .confirm{border:1px solid #bd3030;background:#bd3030;color:#fff}
.cart-clear-dialog-actions button:active{transform:scale(.97)}
@media(max-width:520px){
 .basket-promotion-group-header{padding:2px 2px 3px;font-size:.68rem}
 .order-checkout-summary .checkout-product-line{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}
 .cart-clear-dialog{padding:14px}
 .cart-clear-dialog-card{padding:20px 14px 14px;border-radius:21px}
 .cart-clear-dialog-actions{gap:7px;margin-top:15px}
 .cart-clear-dialog-actions button{min-height:41px;padding:7px 7px;font-size:.71rem}
}
@media(prefers-reduced-motion:reduce){
 .customer-action-attention-running:not(:disabled){animation:none!important}
 .cart-clear-dialog,.cart-clear-dialog-card{animation:none!important}
}

/* ===== Selector de promociones y orden de categorías · v96 ===== */
.product-card-copy{
 display:flex;
 flex-direction:column;
 align-items:flex-start;
}
.product-card-category{
 display:block;
 width:100%;
 margin:0 0 3px;
 color:#6f7872;
 font-size:.65rem;
 font-weight:900;
 letter-spacing:.06em;
 line-height:1.2;
 text-transform:uppercase;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.product-grid-two .product-card h3,
.product-carousel .product-card h3{
 width:100%;
 margin:0;
 font-weight:650;
}
.product-card-pricing{
 display:flex;
 align-items:center;
 flex-wrap:wrap;
 gap:5px 7px;
 width:100%;
 margin-top:5px;
}
.product-card-pricing .product-current-price{
 margin:0;
}
.product-card-pricing .product-discount-line{
 min-height:0;
 margin:0;
}
.product-card-copy>p{
 width:100%;
 margin-top:4px!important;
}
.basket-suggestion-category{
 display:block;
 margin:9px 0 2px;
 color:#727a75;
 font-size:.64rem;
 font-weight:900;
 letter-spacing:.05em;
 line-height:1.15;
 text-transform:uppercase;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.basket-suggestion-card .basket-suggestion-category+h4{
 margin-top:0;
}

.promotion-picker-summary{display:none!important}
.promotion-pack-progress-top{
 margin:0 0 15px;
}
.promotion-action-requirement-top{
 margin:0 0 15px;
}
.promotion-picker-section-title{
 align-items:center;
 margin-bottom:6px;
}
.promotion-picker-section-title h3{
 font-size:1.22rem;
}
.promotion-picker-section-title small{
 max-width:62%;
}
.promotion-choice-list,
.promotion-fixed-products{
 display:grid;
 gap:0;
 overflow:hidden;
 border:1px solid #e4e8e5;
 border-radius:18px;
 background:#fff;
}
.promotion-choice-row.basket-item,
.promotion-fixed-product.basket-item{
 display:grid;
 grid-template-columns:58px minmax(0,1fr) auto!important;
 align-items:center;
 gap:8px!important;
 min-height:69px;
 margin:0;
 padding:7px 10px!important;
 border:0!important;
 border-bottom:1px solid #ecefee!important;
 border-radius:0!important;
 background:#fff;
}
.promotion-choice-row.basket-item:last-child,
.promotion-fixed-product.basket-item:last-child{
 border-bottom:0!important;
}
.promotion-choice-row.basket-item.selected{
 background:#f1fbf5;
 box-shadow:inset 3px 0 0 #178447;
}
.promotion-choice-row .promotion-choice-media,
.promotion-fixed-product .promotion-choice-media{
 width:58px!important;
 height:52px!important;
 border-radius:14px!important;
 background:#f4f5f3!important;
 font-size:30px;
}
.promotion-choice-row .promotion-choice-media img,
.promotion-fixed-product .promotion-choice-media img{
 object-fit:contain!important;
}
.promotion-choice-info{
 min-width:0;
}
.promotion-choice-info .basket-item-category{
 display:block;
 margin:0 0 2px;
}
.promotion-choice-info h3{
 margin:0 0 4px!important;
 font-size:.86rem!important;
 font-weight:650!important;
 line-height:1.18!important;
}
.promotion-choice-info .basket-item-price{
 display:flex!important;
 align-items:center;
 gap:6px!important;
}
.promotion-choice-info .basket-item-price strong{
 font-size:.91rem!important;
}
.promotion-choice-info .basket-item-price del{
 font-size:.72rem!important;
}
.promotion-choice-controls.basket-qty{
 display:grid;
 grid-template-columns:38px 28px 38px;
 align-items:center;
 gap:0;
 min-width:104px;
 height:42px;
 padding:0;
 border:1px solid #dfe5e1;
 border-radius:999px;
 background:#fff;
 overflow:hidden;
}
.promotion-choice-controls.basket-qty button{
 width:38px;
 height:40px;
 padding:0;
 border:0;
 border-radius:0;
 background:transparent;
 color:#111713;
 font-size:1.15rem;
 font-weight:900;
}
.promotion-choice-controls.basket-qty button:disabled{
 color:#aeb7b1;
 opacity:.55;
}
.promotion-choice-controls.basket-qty b{
 min-width:28px;
 text-align:center;
 font-size:.9rem;
}
.promotion-fixed-qty{
 align-self:center;
 min-width:34px;
 color:#555f59;
 font-size:.78rem;
 font-weight:900;
 text-align:right;
 white-space:nowrap;
}
@media(max-width:390px){
 .promotion-picker-sheet .promotion-picker-content{
  padding-left:12px;
  padding-right:12px;
 }
 .promotion-picker-section-title{
  display:block;
 }
 .promotion-picker-section-title small{
  display:block;
  max-width:none;
  margin-top:3px;
  text-align:left;
 }
 .promotion-choice-row.basket-item,
 .promotion-fixed-product.basket-item{
  grid-template-columns:54px minmax(0,1fr) auto!important;
  gap:7px!important;
  padding:7px 8px!important;
 }
 .promotion-choice-row .promotion-choice-media,
 .promotion-fixed-product .promotion-choice-media{
  width:54px!important;
  height:49px!important;
 }
 .promotion-choice-controls.basket-qty{
  grid-column:auto!important;
  justify-self:end;
  grid-template-columns:34px 24px 34px;
  min-width:92px;
  height:40px;
 }
 .promotion-choice-controls.basket-qty button{
  width:34px;
  height:38px;
 }
 .promotion-choice-controls.basket-qty b{
  min-width:24px;
 }
}


/* ===== Jerarquía de textos y cuadrícula de escritorio · v97 ===== */
/* En cada producto, la categoría es el texto principal y el nombre usa el estilo secundario. */
.product-card-category{
 display:-webkit-box;
 width:100%;
 margin:0 0 2px;
 color:#202520;
 font-size:.98rem;
 font-weight:650;
 letter-spacing:0;
 line-height:1.25;
 text-transform:none;
 white-space:normal;
 overflow:hidden;
 text-overflow:ellipsis;
 -webkit-line-clamp:2;
 -webkit-box-orient:vertical;
}
.product-grid-two .product-card h3,
.product-carousel .product-card h3{
 display:block;
 width:100%;
 margin:0;
 min-height:0;
 color:#6f7872;
 font-size:.65rem;
 font-weight:900;
 letter-spacing:.06em;
 line-height:1.2;
 text-transform:uppercase;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}

.basket-item-category,
.promotion-choice-info .basket-item-category{
 display:block;
 margin:0 0 2px;
 color:#171b19;
 font-size:.88rem;
 font-weight:650;
 letter-spacing:0;
 line-height:1.13;
 text-transform:none;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.basket-item-info h3,
.promotion-choice-info h3{
 margin:0 0 4px!important;
 color:#7a827d!important;
 font-size:.62rem!important;
 font-weight:800!important;
 letter-spacing:.035em!important;
 line-height:1.1!important;
 text-transform:uppercase!important;
 white-space:nowrap!important;
 overflow:hidden!important;
 text-overflow:ellipsis!important;
}

.basket-suggestion-category{
 display:block;
 margin:9px 0 2px;
 color:#202520;
 font-size:.94rem;
 font-weight:650;
 letter-spacing:0;
 line-height:1.2;
 text-transform:none;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.basket-suggestion-card .basket-suggestion-category+h4{
 margin:0!important;
 color:#727a75;
 font-size:.64rem!important;
 font-weight:900;
 letter-spacing:.05em;
 line-height:1.15;
 text-transform:uppercase;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}

.checkout-product-copy small,
.order-detail-product-copy small{
 display:block;
 margin:0 0 2px;
 color:#171b19!important;
 font-size:.78rem!important;
 font-weight:700!important;
 letter-spacing:0!important;
 line-height:1.2!important;
 text-transform:none!important;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.checkout-product-copy b,
.order-detail-product-copy b{
 display:block;
 color:#7a827d!important;
 font-size:.57rem!important;
 font-weight:800!important;
 letter-spacing:.035em!important;
 line-height:1.1!important;
 text-transform:uppercase!important;
 white-space:normal;
}

/* En computadoras siempre se reservan cuatro columnas, aunque haya menos productos. */
@media(min-width:769px){
 .product-grid-two{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:26px 14px;
 }
 .product-grid-two .product-card{
  width:100%;
  min-width:0;
 }
}

@media(max-width:380px){
 .product-card-category{font-size:.91rem}
 .basket-suggestion-category{font-size:.86rem}
}


/* ===== Espacio inferior visible en Terminar y pagar · v98 ===== */
/*
 * El pie con el total y el botón Continuar está superpuesto al contenido.
 * Este espacio permite desplazar completamente el aviso amarillo por encima
 * del pie, incluso en celulares con área segura inferior.
 */
.payment-sheet .payment-content{
 padding-bottom:calc(112px + env(safe-area-inset-bottom))!important;
 scroll-padding-bottom:calc(112px + env(safe-area-inset-bottom));
}
.payment-sheet .checkout-pay-warning{
 flex:0 0 auto;
 margin-bottom:10px;
}

/* ===== Navegación Mi Monky y menú Mi cuenta · v99 ===== */
.customer-bottom-nav{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  overflow:visible!important;
}
.customer-bottom-nav button{
  position:relative;
  min-width:0;
}
.customer-bottom-nav button>i,
.customer-bottom-nav button>.nav-hamburger-icon{
  width:24px;
  height:24px;
  font-size:23px;
  line-height:1;
}
.customer-bottom-nav button small{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.customer-bottom-nav .monky-nav-button{
  overflow:visible;
  z-index:2;
}
.customer-bottom-nav .nav-monky-icon{
  width:42px;
  height:42px;
  margin-top:-17px;
  margin-bottom:1px;
  border:4px solid #fff;
  border-radius:50%;
  background:#eef7f1;
  display:grid;
  place-items:center;
  font-size:25px;
  line-height:1;
  box-shadow:0 3px 10px rgba(17,23,19,.12);
  transition:transform .18s ease,background .18s ease;
}
.customer-bottom-nav .monky-nav-button.active .nav-monky-icon{
  background:var(--green);
  transform:translateY(-2px) scale(1.05);
}
.customer-bottom-nav.has-four-items{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

.account-view,
.account-subview{
  padding-top:0!important;
  padding-bottom:34px!important;
}
.account-hero{
  display:grid;
  grid-template-columns:68px minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:18px 0 8px;
}
.account-avatar{
  width:68px;
  height:68px;
  border-radius:50%;
  overflow:hidden;
  background:#f1f4f2;
  border:1px solid #e3e8e5;
}
.account-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.account-hero small{
  display:block;
  color:var(--green);
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.12em;
}
.account-hero h1{
  margin:3px 0 1px;
  font-size:1.55rem;
  line-height:1.1;
}
.account-hero p{
  margin:0;
  color:#747d77;
  font-size:.82rem;
}
.account-menu-group{
  margin-top:25px;
}
.account-menu-group h2{
  margin:0 0 11px;
  font-size:1.42rem;
  line-height:1.15;
}
.account-menu-row{
  width:100%;
  min-height:64px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto 24px;
  align-items:center;
  gap:8px;
  border:0;
  border-bottom:1px solid #e9ecea;
  border-radius:0;
  background:#fff;
  color:#121714;
  padding:8px 5px;
  text-align:left;
}
.account-menu-row:first-of-type{
  border-top:1px solid #e9ecea;
}
.account-menu-row:active{
  background:#f7f9f8;
}
.account-menu-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  font-size:1.42rem;
  color:#171c19;
}
.account-menu-copy{
  min-width:0;
}
.account-menu-copy b,
.account-menu-copy small{
  display:block;
}
.account-menu-copy b{
  font-size:1rem;
  line-height:1.2;
}
.account-menu-copy small{
  margin-top:3px;
  color:#7b837e;
  font-size:.7rem;
  line-height:1.3;
}
.account-menu-arrow{
  font-size:1.25rem;
  color:#111;
}
.account-menu-value{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:1px;
  color:#111;
  white-space:nowrap;
}
.account-menu-value [data-account-points]{
  display:flex;
  align-items:center;
}
.account-menu-value .pixel-number{
  --px:1.25px;
  display:flex;
  align-items:center;
  gap:1px;
}
.account-menu-value .pixel-digit{
  display:grid;
  grid-template-columns:repeat(5,var(--px));
  grid-template-rows:repeat(7,var(--px));
  width:calc(var(--px)*5);
  height:calc(var(--px)*7);
}
.account-menu-value .px{
  width:var(--px);
  height:var(--px);
}
.account-menu-value .px-1{background:#111}
.account-menu-value .px-0,
.account-menu-value .px-2{background:transparent}
.account-menu-value img{
  width:25px;
  height:25px;
  object-fit:contain;
  image-rendering:pixelated;
}
.account-logout-button{
  width:100%;
  min-height:54px;
  margin-top:32px;
  border:0;
  border-radius:999px;
  background:#eef0f4;
  color:#151a17;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  font-size:1rem;
  font-weight:900;
}
.account-logout-button i{
  font-size:1.3rem;
}
.account-subview-header{
  position:sticky;
  top:0;
  z-index:18;
  min-height:64px;
  margin:0 -16px 18px;
  padding:8px 16px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 44px;
  align-items:center;
  background:#fff;
  border-bottom:1px solid #e7ebe8;
}
.account-subview-header button{
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:#f0f2f3;
  color:#151a17;
  display:grid;
  place-items:center;
  font-size:1.25rem;
}
.account-subview-header h1{
  margin:0;
  font-size:1.24rem;
  text-align:center;
  line-height:1.15;
}
.account-profile-hero{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:15px!important;
  padding:2px 0 18px!important;
  text-align:left!important;
}
.account-profile-hero .profile-avatar-current{
  margin:0!important;
}
.account-profile-hero .profile-identity{
  min-width:0;
  flex:1 1 0;
}
.account-profile-hero .profile-identity h2{
  width:100%;
  margin:0 0 7px;
  font-size:1.15rem;
  text-align:center;
}
.account-form{
  margin:0!important;
  border-radius:20px!important;
}
.account-form .profile-form-section{
  padding:0!important;
  border:0!important;
  margin:0!important;
}
.account-form .profile-form-section+button{
  margin-top:7px;
}
.delivery-account-form{
  margin-top:4px!important;
}
.account-coupon-wallet{
  margin-top:4px;
}
.monky-view-heading{
  padding-top:3px;
}

@media(min-width:769px){
  .account-view,
  .account-subview{
    width:min(100%,650px);
    margin:0 auto;
  }
  .account-menu-row{
    min-height:68px;
    padding-left:10px;
    padding-right:10px;
  }
  .account-subview-header{
    margin-left:0;
    margin-right:0;
    border:1px solid #e7ebe8;
    border-radius:20px;
    top:12px;
  }
  .account-form{
    max-width:600px;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

@media(max-width:520px){
  .customer-bottom-nav .nav-monky-icon{
    width:39px;
    height:39px;
    font-size:23px;
  }
  .customer-bottom-nav button small{
    font-size:.61rem!important;
  }
  .account-menu-group h2{
    font-size:1.28rem;
  }
  .account-menu-row{
    grid-template-columns:42px minmax(0,1fr) auto 20px;
    min-height:60px;
  }
  .account-menu-icon{
    width:38px;
    height:38px;
    font-size:1.28rem;
  }
  .account-menu-copy b{
    font-size:.94rem;
  }
}

/* Mantiene Mi Monky exactamente en el centro aunque Promociones esté oculta. */
.customer-bottom-nav,
.customer-bottom-nav.has-four-items{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
.customer-bottom-nav>button[data-go="home"]{grid-column:1}
.customer-bottom-nav>button[data-go="menu"]{grid-column:2}
.customer-bottom-nav>button[data-go="rewards"]{grid-column:3}
.customer-bottom-nav>button[data-go="promotions"]{grid-column:4}
.customer-bottom-nav>button[data-go="account"]{grid-column:5}
.account-menu-arrow{grid-column:4}


/* ===== Beneficios separados de Mi Monky · v101 ===== */
.account-coupons-view,
.account-coins-view{
  padding-bottom:calc(var(--nav-h) + 34px)!important;
}
.account-coupon-wallet{
  margin-top:6px!important;
}
.account-coupon-code-card{
  margin-top:20px!important;
  margin-bottom:8px!important;
}
.account-coins-balance-card{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  align-items:center;
  gap:14px;
  margin:4px 0 20px;
  padding:16px 18px;
  border:1px solid #dbe4dd;
  border-radius:22px;
  background:#f7fbf8;
}
.account-coins-balance-icon{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:19px;
  background:#fff;
  border:1px solid #e3e9e5;
}
.account-coins-balance-icon img{
  width:48px;
  height:48px;
  object-fit:contain;
  display:block;
  image-rendering:pixelated;
}
.account-coins-balance-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
}
.account-coins-balance-copy small{
  color:var(--green);
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.1em;
}
.account-coins-balance-copy>strong{
  display:flex;
  align-items:center;
  min-height:30px;
}
.account-coins-balance-copy .pixel-number{
  --px:clamp(1.9px,.55vw,2.75px);
  display:flex;
  align-items:center;
  gap:2px;
  line-height:1;
}
.account-coins-balance-copy .pixel-digit{
  display:grid;
  grid-template-columns:repeat(5,var(--px));
  grid-template-rows:repeat(7,var(--px));
  width:calc(var(--px)*5);
  height:calc(var(--px)*7);
}
.account-coins-balance-copy .px{
  width:var(--px);
  height:var(--px);
  display:block;
}
.account-coins-balance-copy .px-0,
.account-coins-balance-copy .px-2{background:transparent}
.account-coins-balance-copy .px-1{background:#111}
.account-coins-store{
  display:grid;
  gap:12px;
}
.account-coins-view .coin-store-card{
  margin:0!important;
}
.monky-view-heading{
  justify-content:flex-start!important;
}
@media(max-width:480px){
  .account-coins-balance-card{
    grid-template-columns:56px minmax(0,1fr);
    gap:12px;
    padding:14px;
    border-radius:19px;
  }
  .account-coins-balance-icon{
    width:56px;
    height:56px;
    border-radius:16px;
  }
  .account-coins-balance-icon img{
    width:42px;
    height:42px;
  }
  .account-coupon-code-card form{
    flex-wrap:wrap;
  }
  .account-coupon-code-card form button{
    min-height:42px;
  }
}

/* ===== Cupones unificados · v103 ===== */
.account-coupons-view{
  min-height:calc(100dvh - var(--nav-h));
  padding-bottom:calc(var(--nav-h) + 28px)!important;
}
.account-coupon-content{
  width:100%;
  margin:4px auto 0;
}
.account-coupon-validator{
  margin:0;
}
.account-coupon-tabs{
  margin-top:24px;
}
.account-coupon-list{
  padding-bottom:18px;
}
.account-coupon-empty{
  min-height:300px;
}
.coupon-benefit-pill{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  margin:0 0 8px;
  padding:4px 9px;
  border-radius:999px;
  background:#e7f6ec;
  color:#11733b;
  font-size:.68rem;
  font-weight:900;
  line-height:1;
}
.checkout-coupon-card.expired .coupon-benefit-pill{
  background:#eef0ef;
  color:#6d746f;
}
.checkout-coupon-card>header>div{
  min-width:0;
}
.checkout-coupon-card>header strong{
  margin-top:0;
}
.checkout-coupon-code>span{
  color:#4d5550;
}
.checkout-coupon-code>span b{
  color:#141915;
}
.checkout-coupon-card.expired>footer{
  justify-content:flex-start;
}
.checkout-coupon-card.expired>footer>span{
  color:#6b726e;
}
@media(min-width:769px){
  .account-coupon-content{
    max-width:620px;
  }
  .account-coupon-empty{
    min-height:360px;
  }
}
@media(max-width:520px){
  .account-coupon-content{
    margin-top:0;
  }
  .account-coupon-validator{
    border-radius:20px;
  }
  .account-coupon-tabs{
    margin-top:20px;
  }
  .account-coupon-empty{
    min-height:260px;
  }
}


/* ===== Promociones como productos e imágenes múltiples · v106 ===== */
.customer-promotions-grid,
.menu-promotions-grid{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:28px 14px!important;
}
.customer-promo-product-card{
 min-width:0;
 width:100%;
 padding:0!important;
 border:0!important;
 border-radius:0!important;
 background:transparent!important;
 overflow:visible!important;
 text-align:left;
}
.customer-promo-product-image{
 position:relative;
 width:100%;
 aspect-ratio:1/1;
 border-radius:22px!important;
 background:#f3f4f3!important;
 overflow:visible!important;
 display:grid!important;
 place-items:center;
}
.customer-promo-special-image{
 width:100%;
 height:100%;
 object-fit:cover;
 border-radius:22px;
}
.customer-promo-collage{
 position:absolute;
 inset:0;
 display:grid;
 gap:3px;
 padding:3px;
 overflow:hidden;
 border-radius:22px;
 background:#eef1ef;
}
.customer-promo-collage>span{
 min-width:0;
 min-height:0;
 display:grid;
 place-items:center;
 overflow:hidden;
 background:#fff;
}
.customer-promo-collage img{
 width:100%;
 height:100%;
 object-fit:contain;
}
.customer-promo-collage.count-1{grid-template-columns:1fr}
.customer-promo-collage.count-1>span{border-radius:19px}
.customer-promo-collage.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.customer-promo-collage.count-2>span:first-child{border-radius:19px 4px 4px 19px}
.customer-promo-collage.count-2>span:last-child{border-radius:4px 19px 19px 4px}
.customer-promo-collage.count-3,
.customer-promo-collage.count-4{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.customer-promo-collage.count-3>span:first-child{grid-row:1/-1;border-radius:19px 4px 4px 19px}
.customer-promo-collage.count-3>span:nth-child(2){border-radius:4px 19px 4px 4px}
.customer-promo-collage.count-3>span:nth-child(3){border-radius:4px 4px 19px 4px}
.customer-promo-collage.count-4>span:nth-child(1){border-radius:19px 4px 4px 4px}
.customer-promo-collage.count-4>span:nth-child(2){border-radius:4px 19px 4px 4px}
.customer-promo-collage.count-4>span:nth-child(3){border-radius:4px 4px 4px 19px}
.customer-promo-collage.count-4>span:nth-child(4){border-radius:4px 4px 19px 4px}
.customer-promo-image-fallback{
 font-size:58px;
 line-height:1;
}
.customer-promo-add{
 position:absolute!important;
 z-index:8!important;
 top:8px!important;
 right:8px!important;
 width:44px!important;
 height:44px!important;
 margin:0!important;
 padding:0!important;
 border:4px solid #fff!important;
 border-radius:50%!important;
 background:var(--green)!important;
 color:#fff!important;
 display:grid!important;
 place-items:center!important;
}
.customer-promo-add:disabled{
 background:#cdd5d0!important;
 color:#657069!important;
 opacity:.9;
}
.customer-promo-in-cart{
 position:absolute;
 z-index:7;
 left:8px;
 top:8px;
 min-width:30px;
 height:30px;
 justify-content:center;
 padding:0 8px;
 border:3px solid #fff;
 border-radius:999px;
 background:var(--green);
 color:#fff;
}
.customer-promo-product-image .promo-countdown{
 position:absolute;
 z-index:7;
 left:8px;
 bottom:8px;
 margin:0;
 padding:6px 9px;
 border-radius:999px;
 background:rgba(255,255,255,.94);
 color:#6f5700;
 font-size:.65rem;
 box-shadow:0 1px 0 rgba(0,0,0,.06);
}
.customer-promo-card-copy{padding-top:11px}
.customer-promo-name{
 display:-webkit-box!important;
 margin:0 0 2px!important;
 color:#202520!important;
 font-size:.98rem!important;
 font-weight:650!important;
 letter-spacing:0!important;
 line-height:1.25!important;
 text-transform:none!important;
 white-space:normal!important;
 -webkit-line-clamp:2;
 -webkit-box-orient:vertical;
 overflow:hidden;
}
.customer-promo-price{margin-top:5px!important}
.customer-promo-price .product-current-price{font-size:1rem!important}
.customer-promo-price .product-discount-line del{font-size:.83rem!important}
.customer-promo-card-copy>p{
 display:-webkit-box;
 width:100%;
 margin:4px 0 0!important;
 color:#777e79;
 font-size:.76rem;
 line-height:1.25;
 white-space:normal;
 -webkit-line-clamp:2;
 -webkit-box-orient:vertical;
 overflow:hidden;
}
.customer-promo-products,
.customer-promo-limit{
 display:block;
 width:100%;
 margin-top:4px;
 color:#6f7872;
 font-size:.67rem;
 line-height:1.25;
}
.customer-promo-limit{color:#8b6500;font-weight:900}
.customer-promo-product-card.upcoming{filter:none!important;opacity:.78}
.customer-promo-product-card.upcoming>*{opacity:1!important}
@media(min-width:769px){
 .customer-promotions-grid,
 .menu-promotions-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:26px 14px!important;
 }
}
@media(max-width:380px){
 .customer-promotions-grid,
 .menu-promotions-grid{gap:24px 10px!important}
 .customer-promo-add{width:40px!important;height:40px!important;top:7px!important;right:7px!important;border-width:3px!important}
 .customer-promo-name{font-size:.91rem!important}
}


/* Iconos de imagen para el menú inferior */
.customer-bottom-nav--image-icons button{gap:4px}
.customer-bottom-nav--image-icons .nav-icon-image{display:block;width:48px;height:48px;object-fit:contain;flex:0 0 48px}
.customer-bottom-nav--image-icons .nav-icon-image--monky{width:54px;height:54px;flex-basis:54px}
.customer-bottom-nav--image-icons button.active .nav-icon-image{transform:translateY(-1px)}
.customer-bottom-nav--image-icons button small{margin-top:1px}

/* =========================================================
   TIENDA DE MONEDAS — ESTILO RETRO PIXEL
   La imagen de fondo podrá añadirse después con:
   --retro-coin-shop-background:url('../assets/.../fondo.png');
   ========================================================= */
.account-coins-view .retro-coin-shop{
 --retro-coin-shop-background:none;
 margin:4px -6px 0;
 padding:12px 9px 16px;
 border:4px solid #292d29;
 background-color:#174b34;
 background-image:var(--retro-coin-shop-background);
 background-repeat:no-repeat;
 background-position:center;
 background-size:cover;
 box-shadow:5px 5px 0 #0c261b;
 image-rendering:pixelated;
 overflow:hidden;
}
.account-coins-view .retro-wallet-panel{
 min-height:76px;
 margin:0;
 padding:9px 12px;
 display:grid;
 grid-template-columns:58px minmax(0,1fr);
 align-items:center;
 gap:10px;
 border:3px solid #292d29;
 border-radius:0;
 background:#f6e8ad;
 color:#202720;
 box-shadow:4px 4px 0 #0c261b;
}
.account-coins-view .retro-wallet-panel:before,
.account-coins-view .retro-wallet-panel:after{display:none!important}
.account-coins-view .retro-wallet-panel .account-coins-balance-icon{
 width:54px;height:54px;border:3px solid #292d29;border-radius:0;background:#d79c2d;display:grid;place-items:center;box-shadow:3px 3px 0 #73501d;
}
.account-coins-view .retro-wallet-panel .account-coins-balance-icon img{width:47px;height:47px;object-fit:contain;image-rendering:pixelated}
.account-coins-view .retro-wallet-panel .account-coins-balance-copy{display:grid;gap:7px;min-width:0}
.account-coins-view .retro-wallet-panel .account-coins-balance-copy small{
 font-family:"Courier New",monospace;font-size:clamp(.58rem,2.5vw,.72rem);line-height:1;font-weight:1000;letter-spacing:.07em;color:#30523b;text-transform:uppercase;
}
.account-coins-view .retro-wallet-panel [data-account-coins-points]{display:flex;align-items:center;min-height:25px}
.account-coins-view .retro-wallet-panel .pixel-number{--px:clamp(2.5px,.78vw,3.4px);gap:1px}
.account-coins-view .retro-wallet-panel .px-1{background:#171c18}
.account-coins-view .retro-shop-heading{
 display:flex;align-items:center;justify-content:center;margin:18px 0 11px;position:relative;
}
.account-coins-view .retro-shop-heading:before,
.account-coins-view .retro-shop-heading:after{content:"";height:4px;flex:1;background:#f0d778;box-shadow:0 3px 0 #0c261b}
.account-coins-view .retro-shop-heading span{
 margin:0 8px;padding:7px 12px 6px;border:3px solid #292d29;background:#d79c2d;color:#1b251c;box-shadow:3px 3px 0 #0c261b;font-family:"Courier New",monospace;font-size:.86rem;line-height:1;font-weight:1000;letter-spacing:.13em;
}
.account-coins-view .retro-shop-grid{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:7px;
 margin:0;
 align-items:stretch;
}
.account-coins-view .retro-coupon-card{
 --tier:#77b887;
 min-width:0;
 display:grid;
 grid-template-rows:minmax(105px,1fr) 35px 37px;
 gap:6px;
 padding:6px;
 border:3px solid #292d29;
 border-radius:0;
 background:#e9d89b;
 box-shadow:4px 4px 0 #0c261b;
 position:relative;
}
.account-coins-view .retro-coupon-card.tier-1{--tier:#75bd8c}
.account-coins-view .retro-coupon-card.tier-2{--tier:#e1b83f}
.account-coins-view .retro-coupon-card.tier-3{--tier:#d77a3e}
.account-coins-view .retro-coupon-ticket{
 min-width:0;min-height:105px;padding:10px 4px 8px;border:3px solid #292d29;background:var(--tier);position:relative;display:grid;place-items:center;text-align:center;overflow:hidden;
}
.account-coins-view .retro-coupon-ticket:before{
 content:"";position:absolute;left:6px;right:6px;bottom:6px;border-bottom:3px dashed rgba(34,40,34,.68);
}
.account-coins-view .retro-ticket-cut{position:absolute;top:50%;width:10px;height:16px;margin-top:-8px;background:#e9d89b;border:3px solid #292d29;z-index:2}
.account-coins-view .retro-ticket-cut.cut-left{left:-6px;border-left:0}
.account-coins-view .retro-ticket-cut.cut-right{right:-6px;border-right:0}
.account-coins-view .retro-ticket-benefit{
 min-width:0;max-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0 2px 10px;color:#19231b;font-family:"Courier New",monospace;font-weight:1000;text-transform:uppercase;
}
.account-coins-view .retro-benefit-amount{display:flex;align-items:center;justify-content:center;gap:1px;min-width:0}
.account-coins-view .retro-benefit-amount>i{font-style:normal;font-size:clamp(.72rem,3.3vw,1.05rem);font-weight:1000;line-height:1}
.account-coins-view .retro-benefit-amount .pixel-number{--px:clamp(1.65px,.54vw,2.35px);gap:1px}
.account-coins-view .retro-benefit-amount .px-1{background:#19231b}
.account-coins-view .retro-decimal-number{font-size:clamp(.72rem,3vw,1.03rem);line-height:1;font-weight:1000}
.account-coins-view .retro-ticket-benefit>small{
 display:block;max-width:100%;font-size:clamp(.46rem,1.85vw,.61rem);line-height:1.05;font-weight:1000;letter-spacing:.015em;overflow:hidden;text-overflow:ellipsis;
}
.account-coins-view .retro-ticket-benefit>em{font-style:normal;font-size:clamp(.39rem,1.55vw,.52rem);line-height:1;font-weight:1000}
.account-coins-view .retro-free-word{font-size:clamp(.78rem,3.4vw,1.12rem);line-height:1;letter-spacing:-.03em}
.account-coins-view .retro-ticket-price{
 min-width:0;height:35px;display:flex;align-items:center;justify-content:center;gap:1px;border:3px solid #292d29;background:#244f3a;color:#fff3bd;overflow:hidden;
}
.account-coins-view .retro-ticket-price .pixel-number{--px:clamp(1.35px,.44vw,2px);gap:1px;min-width:0}
.account-coins-view .retro-ticket-price .px-1{background:#fff3bd}
.account-coins-view .retro-ticket-price img{width:24px;height:24px;flex:0 0 24px;object-fit:contain;image-rendering:pixelated}
.account-coins-view .retro-coupon-card>button{
 width:100%;min-width:0;height:37px;padding:3px 2px;border:3px solid #292d29;border-radius:0;background:#f5e7ac;color:#172019;box-shadow:2px 2px 0 #0c261b;font-family:"Courier New",monospace;font-size:clamp(.45rem,1.72vw,.59rem);line-height:1;font-weight:1000;text-transform:uppercase;white-space:normal;overflow:hidden;
}
.account-coins-view .retro-coupon-card>button:not(:disabled):active{transform:translate(2px,2px);box-shadow:none}
.account-coins-view .retro-coupon-card>button:disabled{opacity:1;background:#7d887d;color:#e5e5d6;box-shadow:none}
.account-coins-view .retro-coupon-card.owned .retro-coupon-ticket{filter:saturate(.45)}
.account-coins-view .retro-store-empty{
 grid-column:1/-1;min-height:150px;padding:28px 12px;display:grid;place-items:center;align-content:center;gap:8px;border:3px solid #292d29;background:#f6e8ad;box-shadow:4px 4px 0 #0c261b;text-align:center;font-family:"Courier New",monospace;color:#222b23;
}
.account-coins-view .retro-store-empty b{font-size:.85rem}.account-coins-view .retro-store-empty small{font-size:.62rem}
.retro-coupon-redeemed{animation:retroCouponRedeemed .7s steps(4,end)}
@keyframes retroCouponRedeemed{0%{transform:translateY(0)}25%{transform:translateY(-7px)}50%{transform:translateY(0)}75%{transform:translateY(-4px)}100%{transform:translateY(0)}}

.coin-redeem-dialog[hidden]{display:none!important}
.coin-redeem-dialog{
 position:fixed;inset:0;z-index:3200;padding:18px;display:grid;place-items:center;background:rgba(13,23,16,.82);
}
.coin-redeem-open{overflow:hidden!important}
.coin-redeem-dialog-card{
 width:min(100%,390px);padding:18px 16px 15px;border:4px solid #292d29;border-radius:0;background:#f6e8ad;box-shadow:7px 7px 0 #0c261b;text-align:center;font-family:"Courier New",monospace;color:#1b241c;
}
.coin-redeem-dialog-ticket{
 width:62px;height:54px;margin:0 auto 10px;border:3px solid #292d29;background:#d79c2d;display:grid;place-items:center;font-size:1.75rem;font-weight:1000;box-shadow:3px 3px 0 #73501d;
}
.coin-redeem-dialog-card>small{display:block;font-size:.58rem;line-height:1;font-weight:1000;letter-spacing:.12em;color:#31523d}
.coin-redeem-dialog-card h2{margin:9px 0 7px;font-size:1rem;line-height:1.25;text-transform:uppercase}
.coin-redeem-dialog-card p{margin:0;font-size:.72rem;line-height:1.45}
.coin-redeem-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:17px}
.coin-redeem-dialog-actions button{min-height:44px;border:3px solid #292d29;border-radius:0;font-family:"Courier New",monospace;font-size:.68rem;font-weight:1000;box-shadow:3px 3px 0 #0c261b}
.coin-redeem-dialog-actions .keep{background:#e3d59e;color:#202820}.coin-redeem-dialog-actions .confirm{background:#247345;color:#fff7c8}
.coin-redeem-dialog-actions button:active{transform:translate(3px,3px);box-shadow:none}

@media(max-width:420px){
 .account-coins-view .retro-coin-shop{margin-left:-10px;margin-right:-10px;padding:9px 5px 13px;border-width:3px;box-shadow:3px 3px 0 #0c261b}
 .account-coins-view .retro-wallet-panel{grid-template-columns:49px minmax(0,1fr);min-height:66px;padding:7px 8px;gap:8px}
 .account-coins-view .retro-wallet-panel .account-coins-balance-icon{width:46px;height:46px;box-shadow:2px 2px 0 #73501d}
 .account-coins-view .retro-wallet-panel .account-coins-balance-icon img{width:41px;height:41px}
 .account-coins-view .retro-shop-heading{margin:15px 0 9px}
 .account-coins-view .retro-shop-heading span{padding:6px 8px 5px;margin:0 5px;font-size:.7rem}
 .account-coins-view .retro-shop-grid{gap:4px}
 .account-coins-view .retro-coupon-card{grid-template-rows:minmax(94px,1fr) 31px 35px;gap:4px;padding:4px;border-width:2px;box-shadow:3px 3px 0 #0c261b}
 .account-coins-view .retro-coupon-ticket{min-height:94px;padding:8px 2px 7px;border-width:2px}
 .account-coins-view .retro-ticket-cut{width:8px;height:14px;margin-top:-7px;border-width:2px}
 .account-coins-view .retro-ticket-price{height:31px;border-width:2px}
 .account-coins-view .retro-ticket-price img{width:21px;height:21px;flex-basis:21px}
 .account-coins-view .retro-coupon-card>button{height:35px;border-width:2px;box-shadow:2px 2px 0 #0c261b}
}
@media(prefers-reduced-motion:reduce){.retro-coupon-redeemed{animation:none!important}}


/* ===== Monedas: nueva tienda pixel ===== */
.account-coins-view .pixel-coin-shop-scene{padding:10px 0 24px;background:transparent}
.account-coins-view .pixel-coin-balance-board{position:relative;width:min(330px,88vw);margin:0 auto -2px;z-index:2}
.account-coins-view .pixel-coin-balance-board-art{display:block;width:100%;height:auto;image-rendering:pixelated;filter:drop-shadow(0 6px 0 rgba(58,24,4,.28))}
.account-coins-view .pixel-coin-balance-board-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 34px 18px;text-align:center}
.account-coins-view .pixel-coin-balance-board-copy small{display:block;font-family:"Courier New",monospace;font-size:.66rem;line-height:1;letter-spacing:.12em;font-weight:1000;color:#402311;text-shadow:1px 1px 0 rgba(255,240,175,.6)}
.account-coins-view .pixel-coin-balance-total{margin-top:7px;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.account-coins-view .pixel-coin-balance-total img{width:34px;height:34px;object-fit:contain;image-rendering:pixelated;flex:0 0 34px}
.account-coins-view .pixel-coin-balance-total strong{display:flex;align-items:center;justify-content:center;min-width:0}
.account-coins-view .pixel-coin-balance-total .pixel-number{--px:clamp(2.6px,.9vw,4.6px);gap:1px}
.account-coins-view .pixel-coin-balance-total .px-1{background:#1a1209}

.account-coins-view .pixel-coin-shop-stage{position:relative;width:min(100%,780px);margin:0 auto;overflow:visible}
.account-coins-view .pixel-coin-shop-art{display:block;width:100%;height:auto;image-rendering:auto;border-radius:0}
.account-coins-view .pixel-coin-shop-window{position:absolute;left:8.5%;right:8.5%;top:31%;height:45%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1.3vw,16px);align-items:start;padding:0 clamp(4px,1vw,14px)}
.account-coins-view .pixel-shop-offer{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0;padding-top:2px}
.account-coins-view .pixel-shop-offer-ticket{position:relative;width:100%;max-width:170px;display:block}
.account-coins-view .pixel-shop-offer-ticket-art{display:block;width:100%;height:auto;image-rendering:pixelated}
.account-coins-view .pixel-shop-offer-ticket-value{position:absolute;left:50%;top:50%;transform:translate(-50%,-54%);font-family:"Courier New",monospace;font-size:clamp(.9rem,2.2vw,1.45rem);line-height:1;font-weight:1000;color:#7f4500;letter-spacing:-.03em;text-shadow:1px 1px 0 #fff4b8,-1px -1px 0 rgba(255,205,64,.5);white-space:nowrap}
.account-coins-view .pixel-shop-offer-cost{margin-top:7px;display:flex;flex-direction:column;align-items:center;gap:4px;color:#29170d;font-family:"Courier New",monospace;font-weight:1000;font-size:.62rem;line-height:1}
.account-coins-view .pixel-shop-offer-cost img{width:24px;height:24px;object-fit:contain;image-rendering:pixelated}
.account-coins-view .pixel-shop-offer-cost span{display:flex;align-items:center;justify-content:center;min-width:0}
.account-coins-view .pixel-shop-offer-cost .pixel-number{--px:clamp(1.65px,.5vw,2.55px);gap:1px}
.account-coins-view .pixel-shop-offer-cost .px-1{background:#29170d}
.account-coins-view .pixel-shop-offer-button{position:relative;border:0;background:transparent;padding:0;margin-top:8px;width:100%;max-width:145px;display:block;filter:drop-shadow(0 3px 0 rgba(75,20,76,.32));appearance:none}
.account-coins-view .pixel-shop-offer-button img{display:block;width:100%;height:auto;image-rendering:pixelated;pointer-events:none;user-select:none}
.account-coins-view .pixel-shop-offer-button .pixel-btn-pressed{position:absolute;inset:0;opacity:0}
.account-coins-view .pixel-shop-offer-button span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-top:1px;font-family:"Courier New",monospace;font-size:clamp(.6rem,1.55vw,.92rem);line-height:1;font-weight:1000;letter-spacing:.04em;text-transform:uppercase;color:#4f0640;text-shadow:1px 1px 0 rgba(255,226,255,.7)}
.account-coins-view .pixel-shop-offer-button:active .pixel-btn-default,.account-coins-view .pixel-shop-offer-button.is-loading .pixel-btn-default{opacity:0}
.account-coins-view .pixel-shop-offer-button:active .pixel-btn-pressed,.account-coins-view .pixel-shop-offer-button.is-loading .pixel-btn-pressed{opacity:1}
.account-coins-view .pixel-shop-offer-button:active span,.account-coins-view .pixel-shop-offer-button.is-loading span{transform:translateY(2px)}
.account-coins-view .pixel-shop-offer.is-locked .pixel-shop-offer-ticket,.account-coins-view .pixel-shop-offer.is-locked .pixel-shop-offer-button,.account-coins-view .pixel-shop-offer.is-owned .pixel-shop-offer-ticket,.account-coins-view .pixel-shop-offer.is-owned .pixel-shop-offer-button{filter:saturate(.7) brightness(.94)}
.account-coins-view .pixel-shop-offer.is-locked .pixel-shop-offer-button,.account-coins-view .pixel-shop-offer.is-owned .pixel-shop-offer-button{opacity:.72}
.account-coins-view .pixel-shop-offer-button:disabled{cursor:not-allowed}
.account-coins-view .pixel-coin-store-empty{grid-column:1/-1;align-self:center;justify-self:center;text-align:center;padding:14px 10px;font-family:"Courier New",monospace;font-weight:1000;color:#503320;text-shadow:1px 1px 0 rgba(255,255,255,.65)}
.account-coins-view .pixel-coin-store-empty b,.account-coins-view .pixel-coin-store-empty small{display:block}
.account-coins-view .pixel-coin-store-empty small{margin-top:4px;font-size:.68rem}

@media (max-width:700px){
 .account-coins-view .pixel-coin-balance-board{width:min(300px,92vw)}
 .account-coins-view .pixel-coin-balance-board-copy{padding:17px 20px 15px}
 .account-coins-view .pixel-coin-balance-board-copy small{font-size:.58rem}
 .account-coins-view .pixel-coin-balance-total img{width:29px;height:29px;flex-basis:29px}
 .account-coins-view .pixel-coin-shop-window{left:8%;right:8%;top:30%;height:48%;gap:6px;padding:0 2px}
 .account-coins-view .pixel-shop-offer-ticket{max-width:108px}
 .account-coins-view .pixel-shop-offer-cost{margin-top:4px;gap:2px}
 .account-coins-view .pixel-shop-offer-cost img{width:18px;height:18px}
 .account-coins-view .pixel-shop-offer-button{max-width:96px;margin-top:5px}
 .account-coins-view .pixel-shop-offer-button span{font-size:.48rem}
}

@media (max-width:430px){
 .account-coins-view .pixel-coin-shop-window{left:7.5%;right:7.5%;top:29%;height:50%}
 .account-coins-view .pixel-shop-offer-ticket{max-width:90px}
 .account-coins-view .pixel-shop-offer-ticket-value{font-size:clamp(.7rem,3.6vw,1rem)}
 .account-coins-view .pixel-shop-offer-cost .pixel-number{--px:1.45px}
 .account-coins-view .pixel-shop-offer-button{max-width:80px}
 .account-coins-view .pixel-shop-offer-button span{font-size:.42rem}
}


/* Ajustes finos tienda de monedas v114 */
.account-coins-view .retro-coin-shop.pixel-coin-shop-scene{margin:0!important;padding:8px 0 22px!important;border:0!important;box-shadow:none!important;background:transparent!important;background-image:none!important}
.account-coins-view .pixel-coin-balance-board{width:min(250px,68vw);margin:4px auto 14px 18px;z-index:3}
.account-coins-view .pixel-coin-balance-board-copy{align-items:flex-start;justify-content:center;padding:18px 16px 18px 22px;text-align:left}
.account-coins-view .pixel-coin-balance-board-copy small{font-size:.46rem;letter-spacing:.12em;max-width:140px;text-align:left}
.account-coins-view .pixel-coin-balance-total{margin-top:6px;gap:6px;justify-content:flex-start}
.account-coins-view .pixel-coin-balance-total img{width:24px;height:24px;flex-basis:24px}
.account-coins-view .pixel-coin-balance-total .pixel-number{--px:2.25px;gap:1px}

.account-coins-view .pixel-coin-shop-stage{width:min(100%,820px);margin:0 auto;padding-top:2px}
.account-coins-view .pixel-coin-shop-art{display:block;width:100%;height:auto}
.account-coins-view .pixel-coin-shop-window{left:12%;right:12%;top:35.5%;height:24%;gap:10px;padding:0}
.account-coins-view .pixel-shop-offer{padding-top:0;justify-content:flex-start}
.account-coins-view .pixel-shop-offer-ticket{max-width:120px}
.account-coins-view .pixel-shop-offer-ticket-value{font-size:clamp(.8rem,1.65vw,1.15rem);transform:translate(-50%,-52%)}
.account-coins-view .pixel-shop-offer-cost{margin-top:4px;gap:2px;font-size:.52rem}
.account-coins-view .pixel-shop-offer-cost img{width:18px;height:18px}
.account-coins-view .pixel-shop-offer-cost .pixel-number{--px:1.9px}
.account-coins-view .pixel-shop-offer-button{max-width:92px;margin-top:5px;filter:none}
.account-coins-view .pixel-shop-offer-button .pixel-btn-default,.account-coins-view .pixel-shop-offer-button .pixel-btn-pressed{width:100%;height:auto}
.account-coins-view .pixel-shop-offer-button span{display:none!important}
.account-coins-view .pixel-shop-offer.is-locked .pixel-shop-offer-button,.account-coins-view .pixel-shop-offer.is-owned .pixel-shop-offer-button{opacity:.86}

@media (min-width:761px){
 .account-coins-view .pixel-coin-balance-board{width:270px;margin-left:26px;margin-bottom:20px}
 .account-coins-view .pixel-coin-balance-board-copy small{font-size:.5rem;max-width:150px}
 .account-coins-view .pixel-coin-balance-total .pixel-number{--px:2.45px}
 .account-coins-view .pixel-coin-shop-window{left:13%;right:13%;top:36%;height:23%;gap:12px}
 .account-coins-view .pixel-shop-offer-ticket{max-width:132px}
 .account-coins-view .pixel-shop-offer-button{max-width:104px}
}

@media (max-width:600px){
 .account-coins-view .pixel-coin-balance-board{width:min(214px,70vw);margin-left:14px;margin-bottom:10px}
 .account-coins-view .pixel-coin-balance-board-copy{padding:15px 13px 16px 18px}
 .account-coins-view .pixel-coin-balance-board-copy small{font-size:.4rem;max-width:110px}
 .account-coins-view .pixel-coin-balance-total img{width:21px;height:21px;flex-basis:21px}
 .account-coins-view .pixel-coin-balance-total .pixel-number{--px:1.9px}
 .account-coins-view .pixel-coin-shop-window{left:12%;right:12%;top:36.5%;height:22%;gap:5px}
 .account-coins-view .pixel-shop-offer-ticket{max-width:86px}
 .account-coins-view .pixel-shop-offer-ticket-value{font-size:clamp(.56rem,3.1vw,.8rem)}
 .account-coins-view .pixel-shop-offer-cost{margin-top:2px}
 .account-coins-view .pixel-shop-offer-cost img{width:14px;height:14px}
 .account-coins-view .pixel-shop-offer-cost .pixel-number{--px:1.35px}
 .account-coins-view .pixel-shop-offer-button{max-width:64px;margin-top:3px}
}

@media (max-width:420px){
 .account-coins-view .pixel-coin-shop-window{left:11%;right:11%;top:36.8%;height:21.5%}
 .account-coins-view .pixel-shop-offer-ticket{max-width:76px}
 .account-coins-view .pixel-shop-offer-button{max-width:58px}
 .account-coins-view .pixel-shop-offer-cost .pixel-number{--px:1.15px}
}


/* ===== Ajustes definitivos de la tienda de monedas v115 ===== */
body:has(.account-coins-view.active){overflow:hidden!important}
.customer-app-shell:has(.account-coins-view.active){height:100dvh;min-height:0;overflow:hidden}
.customer-main:has(.account-coins-view.active){height:calc(100dvh - var(--nav-h));padding-bottom:0!important;overflow:hidden}
.account-coins-view.active{height:100%;min-height:0;padding-bottom:0!important;display:flex!important;flex-direction:column;overflow:hidden}
.account-coins-view.active .account-subview-header{flex:0 0 64px;margin-bottom:0!important}

.account-coins-view .retro-coin-shop.pixel-coin-shop-scene{
 flex:1 1 auto;
 min-height:0;
 margin:0!important;
 padding:0!important;
 border:0!important;
 border-radius:0!important;
 box-shadow:none!important;
 background:none!important;
 background-image:none!important;
 overflow:hidden;
 display:flex;
 flex-direction:column;
 align-items:stretch;
}
.account-coins-view .pixel-coin-balance-board{
 position:relative;
 flex:0 0 auto;
 width:200px;
 margin:-1px 0 14px 0!important;
 z-index:3;
 border:0!important;
 border-radius:0!important;
 box-shadow:none!important;
 background:transparent!important;
 filter:none!important;
}
.account-coins-view .pixel-coin-balance-board-art{
 display:block;
 width:100%;
 height:auto;
 border:0!important;
 border-radius:0!important;
 box-shadow:none!important;
 filter:none!important;
 image-rendering:pixelated;
}
.account-coins-view .pixel-coin-balance-board-copy{
 position:absolute;
 inset:0;
 padding:27px 17px 14px;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 text-align:center;
 pointer-events:none;
}
.account-coins-view .pixel-coin-balance-board-copy small{
 display:block;
 max-width:none!important;
 margin:0;
 color:#402311;
 font-family:"Courier New",monospace;
 font-size:.66rem!important;
 line-height:1;
 font-weight:1000;
 letter-spacing:.08em;
 white-space:nowrap;
 text-align:center!important;
 text-shadow:1px 1px 0 rgba(255,238,166,.72);
}
.account-coins-view .pixel-coin-balance-total{
 display:flex!important;
 flex-direction:row!important;
 align-items:center!important;
 justify-content:center!important;
 gap:6px!important;
 margin-top:7px!important;
 min-height:27px;
}
.account-coins-view .pixel-coin-balance-total img{
 display:block;
 width:25px!important;
 height:25px!important;
 flex:0 0 25px!important;
 object-fit:contain;
 border:0!important;
 box-shadow:none!important;
 filter:none!important;
 image-rendering:pixelated;
}
.account-coins-view .pixel-coin-balance-total strong{
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 min-width:18px!important;
 min-height:22px;
 overflow:visible!important;
}
.account-coins-view .pixel-coin-balance-total .pixel-number,
.account-coins-view .pixel-shop-offer-cost .pixel-number{
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 gap:1px!important;
 line-height:1!important;
 flex:0 0 auto!important;
 overflow:visible!important;
}
.account-coins-view .pixel-coin-balance-total .pixel-number{--px:2.65px!important}
.account-coins-view .pixel-coin-balance-total .pixel-digit,
.account-coins-view .pixel-shop-offer-cost .pixel-digit{
 display:grid!important;
 grid-template-columns:repeat(5,var(--px))!important;
 grid-template-rows:repeat(7,var(--px))!important;
 width:calc(var(--px)*5)!important;
 height:calc(var(--px)*7)!important;
 flex:0 0 calc(var(--px)*5)!important;
}
.account-coins-view .pixel-coin-balance-total .px,
.account-coins-view .pixel-shop-offer-cost .px{
 display:block!important;
 width:var(--px)!important;
 height:var(--px)!important;
}
.account-coins-view .pixel-coin-balance-total .px-0,
.account-coins-view .pixel-coin-balance-total .px-2,
.account-coins-view .pixel-shop-offer-cost .px-0,
.account-coins-view .pixel-shop-offer-cost .px-2{background:transparent!important}
.account-coins-view .pixel-coin-balance-total .px-1{background:#24150b!important}

.account-coins-view .pixel-coin-shop-stage{
 position:relative;
 flex:0 1 auto;
 width:100%;
 max-width:100%;
 aspect-ratio:962/591;
 margin:0 auto!important;
 padding:0!important;
 border:0!important;
 border-radius:0!important;
 box-shadow:none!important;
 background:transparent!important;
 overflow:hidden;
}
.account-coins-view .pixel-coin-shop-art{
 position:absolute;
 inset:0;
 display:block;
 width:100%;
 height:100%;
 object-fit:contain;
 border:0!important;
 border-radius:0!important;
 box-shadow:none!important;
 filter:none!important;
}
.account-coins-view .pixel-coin-shop-window{
 position:absolute!important;
 inset:0 9.5% 0 9.5%!important;
 width:auto!important;
 height:auto!important;
 padding:0!important;
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:8px!important;
 align-items:stretch!important;
 overflow:visible!important;
}
.account-coins-view .pixel-shop-offer{
 position:relative!important;
 display:block!important;
 width:100%;
 height:100%;
 min-width:0;
 padding:0!important;
 border:0!important;
 border-radius:0!important;
 box-shadow:none!important;
 background:transparent!important;
}
.account-coins-view .pixel-shop-offer-ticket{
 position:absolute!important;
 left:50%!important;
 top:39.5%!important;
 transform:translateX(-50%)!important;
 width:min(92%,116px)!important;
 max-width:none!important;
 margin:0!important;
 border:0!important;
 border-radius:0!important;
 box-shadow:none!important;
 background:transparent!important;
 filter:none!important;
}
.account-coins-view .pixel-shop-offer-ticket-art{
 display:block;
 width:100%;
 height:auto;
 border:0!important;
 border-radius:0!important;
 box-shadow:none!important;
 filter:none!important;
 image-rendering:pixelated;
}
.account-coins-view .pixel-shop-offer-ticket-value{
 left:50%!important;
 top:50%!important;
 transform:translate(-50%,-52%)!important;
 font-size:clamp(.72rem,1.7vw,1.05rem)!important;
}
.account-coins-view .pixel-shop-offer-cost{
 position:absolute!important;
 left:50%!important;
 top:56.2%!important;
 transform:translateX(-50%)!important;
 margin:0!important;
 display:flex!important;
 flex-direction:row!important;
 align-items:center!important;
 justify-content:center!important;
 gap:4px!important;
 min-width:52px;
 min-height:23px;
 color:#29170d!important;
 border:0!important;
 box-shadow:none!important;
 background:transparent!important;
 white-space:nowrap;
}
.account-coins-view .pixel-shop-offer-cost img{
 display:block!important;
 width:20px!important;
 height:20px!important;
 flex:0 0 20px!important;
 object-fit:contain;
 border:0!important;
 box-shadow:none!important;
 filter:none!important;
 image-rendering:pixelated;
}
.account-coins-view .pixel-shop-offer-cost span{display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important}
.account-coins-view .pixel-shop-offer-cost .pixel-number{--px:1.9px!important}
.account-coins-view .pixel-shop-offer-cost .px-1{background:#29170d!important}
.account-coins-view .pixel-shop-offer-button{
 position:absolute!important;
 left:50%!important;
 top:67.8%!important;
 transform:translateX(-50%)!important;
 width:min(96%,132px)!important;
 max-width:none!important;
 margin:0!important;
 padding:0!important;
 border:0!important;
 border-radius:0!important;
 box-shadow:none!important;
 background:transparent!important;
 filter:none!important;
 appearance:none;
}
.account-coins-view .pixel-shop-offer-button img{
 display:block;
 width:100%;
 height:auto;
 border:0!important;
 border-radius:0!important;
 box-shadow:none!important;
 filter:none!important;
 image-rendering:pixelated;
}
.account-coins-view .pixel-shop-offer-button span{display:none!important}
.account-coins-view .pixel-shop-offer-button .pixel-btn-pressed{position:absolute;inset:0;opacity:0}
.account-coins-view .pixel-shop-offer-button:active .pixel-btn-default,
.account-coins-view .pixel-shop-offer-button.is-loading .pixel-btn-default{opacity:0}
.account-coins-view .pixel-shop-offer-button:active .pixel-btn-pressed,
.account-coins-view .pixel-shop-offer-button.is-loading .pixel-btn-pressed{opacity:1}

@media (min-width:769px){
 .account-coins-view .pixel-coin-balance-board{width:210px;margin-left:0!important;margin-bottom:16px!important}
 .account-coins-view .pixel-coin-shop-window{inset:0 10.5% 0 10.5%!important;gap:12px!important}
 .account-coins-view .pixel-shop-offer-ticket{width:min(88%,122px)!important}
 .account-coins-view .pixel-shop-offer-button{width:min(92%,138px)!important}
}

@media (max-width:600px){
 .account-coins-view .pixel-coin-balance-board{width:178px;margin-bottom:10px!important}
 .account-coins-view .pixel-coin-balance-board-copy{padding:23px 13px 12px}
 .account-coins-view .pixel-coin-balance-board-copy small{font-size:.56rem!important;letter-spacing:.06em}
 .account-coins-view .pixel-coin-balance-total{margin-top:5px!important}
 .account-coins-view .pixel-coin-balance-total img{width:22px!important;height:22px!important;flex-basis:22px!important}
 .account-coins-view .pixel-coin-balance-total .pixel-number{--px:2.25px!important}
 .account-coins-view .pixel-coin-shop-window{inset:0 8.5% 0 8.5%!important;gap:4px!important}
 .account-coins-view .pixel-shop-offer-ticket{top:39.8%!important;width:min(94%,82px)!important}
 .account-coins-view .pixel-shop-offer-ticket-value{font-size:clamp(.58rem,3vw,.78rem)!important}
 .account-coins-view .pixel-shop-offer-cost{top:56.5%!important;gap:3px!important;min-width:38px;min-height:18px}
 .account-coins-view .pixel-shop-offer-cost img{width:15px!important;height:15px!important;flex-basis:15px!important}
 .account-coins-view .pixel-shop-offer-cost .pixel-number{--px:1.35px!important}
 .account-coins-view .pixel-shop-offer-button{top:67.6%!important;width:min(96%,92px)!important}
}

@media (max-width:390px){
 .account-coins-view .pixel-coin-balance-board{width:164px}
 .account-coins-view .pixel-coin-balance-board-copy small{font-size:.51rem!important}
 .account-coins-view .pixel-coin-balance-total .pixel-number{--px:2px!important}
 .account-coins-view .pixel-shop-offer-ticket{width:min(95%,74px)!important}
 .account-coins-view .pixel-shop-offer-cost .pixel-number{--px:1.2px!important}
 .account-coins-view .pixel-shop-offer-button{width:min(98%,84px)!important}
}


/* Ajustes finos tienda monedas v116 */
.account-coins-view{padding-bottom:8px!important;overflow-x:hidden}
.account-coins-view.active .account-subview-header{margin-bottom:0!important}
.account-coins-view .pixel-coin-shop-scene{padding:0 0 6px!important;min-height:auto!important}
.account-coins-view .pixel-coin-balance-board{margin:0 0 10px 10px!important;width:210px!important}
.account-coins-view .pixel-coin-balance-board-copy{padding:32px 14px 10px!important;align-items:center!important;justify-content:flex-start!important;text-align:center!important}
.account-coins-view .pixel-coin-balance-board-copy small{font-size:.72rem!important;letter-spacing:.06em!important;line-height:.95!important;max-width:none!important;text-align:center!important;white-space:nowrap!important}
.account-coins-view .pixel-coin-balance-total{margin-top:10px!important;justify-content:center!important;gap:7px!important;width:100%}
.account-coins-view .pixel-coin-balance-total strong{justify-content:center!important;min-width:30px!important}
.account-coins-view .pixel-coin-balance-total .pixel-number{--px:3.1px!important}
.account-coins-view .pixel-coin-shop-stage{margin-top:8px!important;overflow:visible!important}
.account-coins-view .pixel-coin-shop-window{inset:0 10.5% 0 10.5%!important;gap:8px!important}
.account-coins-view .pixel-shop-offer-ticket{top:39.2%!important;width:min(88%,112px)!important}
.account-coins-view .pixel-shop-offer-ticket-value{font-size:1rem!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%}
.account-coins-view .pixel-shop-offer-ticket-value .pixel-ticket-inline{display:inline-flex;align-items:center;justify-content:center;gap:3px;white-space:nowrap}
.account-coins-view .pixel-shop-offer-ticket-value i{font-style:normal;font-size:.98em;font-weight:1000;color:#7f4500;line-height:1}
.account-coins-view .pixel-shop-offer-ticket-value .pixel-ticket-word{font-size:1em;letter-spacing:.03em}
.account-coins-view .pixel-shop-offer-ticket-value .pixel-ticket-number{display:inline-flex;align-items:center;justify-content:center}
.account-coins-view .pixel-shop-offer-ticket-value .pixel-ticket-number .pixel-number{--px:2.15px!important;gap:1px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.account-coins-view .pixel-shop-offer-ticket-value .pixel-ticket-number .pixel-digit{display:grid!important;grid-template-columns:repeat(5,var(--px))!important;grid-template-rows:repeat(7,var(--px))!important;width:calc(var(--px)*5)!important;height:calc(var(--px)*7)!important}
.account-coins-view .pixel-shop-offer-ticket-value .pixel-ticket-number .px{display:block!important;width:var(--px)!important;height:var(--px)!important}
.account-coins-view .pixel-shop-offer-ticket-value .pixel-ticket-number .px-0,.account-coins-view .pixel-shop-offer-ticket-value .pixel-ticket-number .px-2{background:transparent!important}
.account-coins-view .pixel-shop-offer-ticket-value .pixel-ticket-number .px-1{background:#7f4500!important}
.account-coins-view .pixel-shop-offer-cost{top:56.8%!important;gap:5px!important;min-width:56px!important;min-height:24px!important}
.account-coins-view .pixel-shop-offer-cost img{width:20px!important;height:20px!important;flex-basis:20px!important}
.account-coins-view .pixel-shop-offer-cost .pixel-number{--px:1.95px!important}
.account-coins-view .pixel-shop-offer-button{top:71.8%!important;width:min(96%,116px)!important}
.account-coins-view .pixel-shop-offer-button img{width:100%!important}
@media (min-width:769px){
 .account-coins-view .pixel-coin-balance-board{width:228px!important;margin-left:12px!important;margin-bottom:12px!important}
 .account-coins-view .pixel-coin-balance-board-copy small{font-size:.76rem!important}
 .account-coins-view .pixel-coin-balance-total .pixel-number{--px:3.25px!important}
 .account-coins-view .pixel-shop-offer-ticket{width:min(88%,120px)!important}
 .account-coins-view .pixel-shop-offer-ticket-value .pixel-ticket-number .pixel-number{--px:2.3px!important}
 .account-coins-view .pixel-shop-offer-cost .pixel-number{--px:2.05px!important}
 .account-coins-view .pixel-shop-offer-button{top:72.5%!important;width:min(96%,126px)!important}
}
@media (max-width:600px){
 .account-coins-view .pixel-coin-balance-board{width:188px!important;margin-left:8px!important}
 .account-coins-view .pixel-coin-balance-board-copy{padding:28px 12px 8px!important}
 .account-coins-view .pixel-coin-balance-board-copy small{font-size:.64rem!important}
 .account-coins-view .pixel-coin-balance-total .pixel-number{--px:2.55px!important}
 .account-coins-view .pixel-coin-shop-window{inset:0 9% 0 9%!important;gap:4px!important}
 .account-coins-view .pixel-shop-offer-ticket{width:min(92%,86px)!important}
 .account-coins-view .pixel-shop-offer-ticket-value{font-size:.82rem!important}
 .account-coins-view .pixel-shop-offer-ticket-value .pixel-ticket-number .pixel-number{--px:1.6px!important}
 .account-coins-view .pixel-shop-offer-cost{top:57.1%!important;gap:3px!important}
 .account-coins-view .pixel-shop-offer-cost img{width:16px!important;height:16px!important;flex-basis:16px!important}
 .account-coins-view .pixel-shop-offer-cost .pixel-number{--px:1.45px!important}
 .account-coins-view .pixel-shop-offer-button{top:72.8%!important;width:min(94%,84px)!important}
}
@media (max-width:390px){
 .account-coins-view .pixel-coin-balance-board{width:176px!important}
 .account-coins-view .pixel-coin-balance-board-copy small{font-size:.6rem!important}
 .account-coins-view .pixel-coin-balance-total .pixel-number{--px:2.2px!important}
 .account-coins-view .pixel-shop-offer-ticket{width:min(94%,78px)!important}
 .account-coins-view .pixel-shop-offer-ticket-value{font-size:.74rem!important}
 .account-coins-view .pixel-shop-offer-ticket-value .pixel-ticket-number .pixel-number{--px:1.45px!important}
 .account-coins-view .pixel-shop-offer-cost .pixel-number{--px:1.28px!important}
 .account-coins-view .pixel-shop-offer-button{width:min(96%,76px)!important}
}


/* Ajustes tienda monedas v117 */
.account-coins-view .pixel-coin-balance-board-copy{padding:34px 12px 8px!important;align-items:center!important;text-align:center!important}
.account-coins-view .pixel-coin-balance-board-copy small{font-size:.84rem!important;letter-spacing:.08em!important;line-height:1!important;width:100%;text-align:center!important}
.account-coins-view .pixel-coin-balance-total{margin-top:12px!important;width:100%!important;justify-content:center!important;gap:8px!important}
.account-coins-view .pixel-coin-balance-total img{width:32px!important;height:32px!important;flex-basis:32px!important}
.account-coins-view .pixel-coin-balance-total .pixel-number{--px:3.2px!important}
.account-coins-view .pixel-shop-offer-cost{top:54.7%!important;gap:6px!important}
.account-coins-view .pixel-shop-offer-cost img{width:24px!important;height:24px!important;flex-basis:24px!important}
.account-coins-view .pixel-shop-offer-cost .pixel-number{--px:2.25px!important}
.account-coins-view .pixel-shop-offer-button{top:75.5%!important}
.account-coins-view .pixel-shop-offer.is-locked .pixel-shop-offer-ticket,.account-coins-view .pixel-shop-offer.is-locked .pixel-shop-offer-button,.account-coins-view .pixel-shop-offer.is-owned .pixel-shop-offer-ticket,.account-coins-view .pixel-shop-offer.is-owned .pixel-shop-offer-button{filter:none!important;opacity:1!important}
.account-coins-view .pixel-shop-offer-button:disabled{opacity:1!important;cursor:pointer!important}
.coin-redeem-dialog-ticket img{display:block;width:52px;height:52px;object-fit:contain;image-rendering:pixelated}
.coin-redeem-dialog.is-warning .coin-redeem-dialog-card{background:#fff0a9;border-color:#4a260e;box-shadow:6px 6px 0 #7d360d}
.coin-redeem-dialog.is-warning .coin-redeem-dialog-card>small{color:#8e2d16}
.coin-redeem-dialog.is-warning .coin-redeem-dialog-ticket{background:#ffd75b;border-color:#4a260e}
.coin-redeem-dialog.is-owned .coin-redeem-dialog-card{background:#eaf9df;border-color:#193b24;box-shadow:6px 6px 0 #235735}
.coin-redeem-dialog.is-owned .coin-redeem-dialog-card>small{color:#1d6a39}
.coin-redeem-dialog-actions .confirm[hidden]{display:none!important}
.coin-redeem-dialog-actions:has(.confirm[hidden]){grid-template-columns:1fr}
@media (min-width:769px){
 .account-coins-view .pixel-coin-balance-board-copy small{font-size:.9rem!important}
 .account-coins-view .pixel-coin-balance-total img{width:34px!important;height:34px!important;flex-basis:34px!important}
 .account-coins-view .pixel-shop-offer-cost .pixel-number{--px:2.4px!important}
 .account-coins-view .pixel-shop-offer-button{top:76%!important}
}
@media (max-width:600px){
 .account-coins-view .pixel-coin-balance-board-copy{padding:30px 10px 7px!important}
 .account-coins-view .pixel-coin-balance-board-copy small{font-size:.72rem!important}
 .account-coins-view .pixel-coin-balance-total{margin-top:10px!important}
 .account-coins-view .pixel-coin-balance-total img{width:27px!important;height:27px!important;flex-basis:27px!important}
 .account-coins-view .pixel-coin-balance-total .pixel-number{--px:2.6px!important}
 .account-coins-view .pixel-shop-offer-cost{top:54.2%!important;gap:4px!important}
 .account-coins-view .pixel-shop-offer-cost img{width:19px!important;height:19px!important;flex-basis:19px!important}
 .account-coins-view .pixel-shop-offer-cost .pixel-number{--px:1.75px!important}
 .account-coins-view .pixel-shop-offer-button{top:76.4%!important}
}
@media (max-width:390px){
 .account-coins-view .pixel-coin-balance-board-copy small{font-size:.68rem!important}
 .account-coins-view .pixel-coin-balance-total img{width:25px!important;height:25px!important;flex-basis:25px!important}
 .account-coins-view .pixel-shop-offer-cost .pixel-number{--px:1.55px!important}
}


/* Ajustes visuales tienda monedas v118 */
.account-coins-view{padding-bottom:10px!important}
.account-coins-view .pixel-coin-shop-scene{position:relative;padding:0 0 8px!important;background:none!important}
.account-coins-view .pixel-coin-balance-board{width:222px!important;margin:0 0 14px 8px!important}
.account-coins-view .pixel-coin-balance-board-copy{padding:38px 16px 10px!important;justify-content:flex-start!important}
.account-coins-view .pixel-coin-balance-board-copy small{font-size:.9rem!important;letter-spacing:.04em!important;line-height:1!important}
.account-coins-view .pixel-coin-balance-total{margin-top:12px!important;gap:9px!important}
.account-coins-view .pixel-coin-balance-total img{width:42px!important;height:42px!important;flex-basis:42px!important}
.account-coins-view .pixel-coin-balance-total .pixel-number{--px:3.45px!important}
.account-coins-view .pixel-coin-shop-stage{margin-top:12px!important}
.account-coins-view .pixel-shop-offer-cost{top:54.8%!important;gap:6px!important;min-width:72px!important}
.account-coins-view .pixel-shop-offer-cost img{width:24px!important;height:24px!important;flex-basis:24px!important}
.account-coins-view .pixel-shop-offer-cost .pixel-number{--px:2.25px!important}
.account-coins-view .pixel-shop-offer-button{top:74.6%!important;width:min(96%,124px)!important}
@media (min-width:769px){
 .account-coins-view .pixel-coin-shop-scene{background-position:right top!important;background-size:cover!important}
 .account-coins-view .pixel-coin-balance-board{width:236px!important;margin-left:12px!important}
 .account-coins-view .pixel-coin-balance-board-copy{padding:42px 18px 10px!important}
 .account-coins-view .pixel-coin-balance-board-copy small{font-size:.98rem!important}
 .account-coins-view .pixel-coin-balance-total img{width:46px!important;height:46px!important;flex-basis:46px!important}
 .account-coins-view .pixel-coin-balance-total .pixel-number{--px:3.7px!important}
 .account-coins-view .pixel-shop-offer-cost img{width:26px!important;height:26px!important;flex-basis:26px!important}
 .account-coins-view .pixel-shop-offer-cost .pixel-number{--px:2.45px!important}
 .account-coins-view .pixel-shop-offer-button{width:min(96%,132px)!important}
}
@media (max-width:600px){
 .account-coins-view .pixel-coin-shop-scene{background-position:62% top!important;background-size:auto 100%!important}
 .account-coins-view .pixel-coin-balance-board{width:205px!important;margin-left:6px!important}
 .account-coins-view .pixel-coin-balance-board-copy{padding:34px 14px 8px!important}
 .account-coins-view .pixel-coin-balance-board-copy small{font-size:.8rem!important}
 .account-coins-view .pixel-coin-balance-total img{width:34px!important;height:34px!important;flex-basis:34px!important}
 .account-coins-view .pixel-coin-balance-total .pixel-number{--px:2.95px!important}
 .account-coins-view .pixel-shop-offer-cost{top:55.2%!important;gap:4px!important}
 .account-coins-view .pixel-shop-offer-cost img{width:19px!important;height:19px!important;flex-basis:19px!important}
 .account-coins-view .pixel-shop-offer-cost .pixel-number{--px:1.7px!important}
 .account-coins-view .pixel-shop-offer-button{top:74.4%!important;width:min(94%,90px)!important}
}
@media (max-width:390px){
 .account-coins-view .pixel-coin-balance-board{width:196px!important}
 .account-coins-view .pixel-coin-balance-board-copy small{font-size:.74rem!important}
 .account-coins-view .pixel-coin-balance-total img{width:31px!important;height:31px!important;flex-basis:31px!important}
 .account-coins-view .pixel-coin-balance-total .pixel-number{--px:2.65px!important}
 .account-coins-view .pixel-shop-offer-cost .pixel-number{--px:1.5px!important}
 .account-coins-view .pixel-shop-offer-button{width:min(96%,82px)!important}
}


/* ==========================================================
   Corrección definitiva: tienda de monedas y menú inferior v119
   ========================================================== */
.account-coins-view.active{
  width:min(100%,650px)!important;
  margin:0 auto!important;
  padding-bottom:8px!important;
  overflow-x:hidden!important;
}
.account-coins-view.active .account-subview-header{
  margin-bottom:0!important;
}
.account-coins-view.active .retro-coin-shop.pixel-coin-shop-scene{
  position:relative!important;
  width:calc(100% + 32px)!important;
  max-width:none!important;
  min-height:0!important;
  margin:0 -16px!important;
  padding:0 16px 10px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  overflow:hidden!important;
  background-color:#dff2ff!important;
  background-image:var(--coin-shop-bg)!important;
  background-repeat:no-repeat!important;
  background-position:center top!important;
  background-size:cover!important;
}
.account-coins-view.active .retro-coin-shop.pixel-coin-shop-scene .pixel-coin-balance-board{
  position:relative!important;
  width:210px!important;
  max-width:210px!important;
  margin:0 0 12px 0!important;
  flex:0 0 auto!important;
  z-index:3!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  filter:none!important;
}
.account-coins-view.active .pixel-coin-balance-board-art{
  display:block!important;
  width:100%!important;
  height:auto!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  image-rendering:pixelated!important;
}
.account-coins-view.active .pixel-coin-balance-board-copy{
  position:absolute!important;
  inset:0!important;
  padding:0!important;
  display:block!important;
  text-align:center!important;
  pointer-events:none!important;
}
.account-coins-view.active .pixel-coin-balance-board-copy small{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:33%!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  color:#402311!important;
  font-family:"Courier New",monospace!important;
  font-size:.86rem!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:.04em!important;
  white-space:nowrap!important;
  text-align:center!important;
  text-shadow:1px 1px 0 rgba(255,238,166,.75)!important;
}
.account-coins-view.active .pixel-coin-balance-total{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:51%!important;
  transform:translateY(-50%)!important;
  width:100%!important;
  min-height:40px!important;
  margin:0!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}
.account-coins-view.active .pixel-coin-balance-total img{
  display:block!important;
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  object-fit:contain!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
  image-rendering:pixelated!important;
}
.account-coins-view.active .pixel-coin-balance-total strong{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:30px!important;
  overflow:visible!important;
}
.account-coins-view.active .pixel-coin-balance-total .pixel-number{
  --px:3.25px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:1px!important;
  line-height:1!important;
}
.account-coins-view.active .pixel-coin-shop-stage{
  position:relative!important;
  width:100%!important;
  max-width:600px!important;
  aspect-ratio:962/591!important;
  margin:14px auto 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:hidden!important;
}
.account-coins-view.active .pixel-coin-shop-art{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
}
/* Mantener exactamente la misma escala del diseño en móvil, tablet y PC. */
.account-coins-view.active .pixel-coin-shop-window{
  position:absolute!important;
  inset:0 9% 0 9%!important;
  width:auto!important;
  height:auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:4px!important;
  align-items:stretch!important;
  overflow:visible!important;
}
.account-coins-view.active .pixel-shop-offer-ticket{
  top:39.8%!important;
  width:min(94%,86px)!important;
}
.account-coins-view.active .pixel-shop-offer-ticket-value{
  font-size:.82rem!important;
}
.account-coins-view.active .pixel-shop-offer-ticket-value .pixel-ticket-number .pixel-number{
  --px:1.6px!important;
}
.account-coins-view.active .pixel-shop-offer-cost{
  top:54.5%!important;
  min-width:54px!important;
  min-height:22px!important;
  gap:4px!important;
}
.account-coins-view.active .pixel-shop-offer-cost img{
  width:19px!important;
  height:19px!important;
  flex-basis:19px!important;
}
.account-coins-view.active .pixel-shop-offer-cost .pixel-number{
  --px:1.72px!important;
}
.account-coins-view.active .pixel-shop-offer-button{
  top:75.5%!important;
  width:min(94%,90px)!important;
}

/* Tamaño constante de iconos y menor separación con sus textos. */
.customer-bottom-nav.customer-bottom-nav--image-icons{
  align-items:stretch!important;
}
.customer-bottom-nav.customer-bottom-nav--image-icons>button{
  min-width:0!important;
  min-height:0!important;
  padding:3px 1px 2px!important;
  gap:0!important;
  justify-content:center!important;
  overflow:visible!important;
}
.customer-bottom-nav.customer-bottom-nav--image-icons .nav-icon-image,
.customer-bottom-nav.customer-bottom-nav--image-icons .nav-icon-image--monky{
  display:block!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  flex:0 0 38px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  transform:none!important;
}
.customer-bottom-nav.customer-bottom-nav--image-icons>button.active .nav-icon-image{
  transform:translateY(-1px)!important;
}
.customer-bottom-nav.customer-bottom-nav--image-icons>button small{
  display:block!important;
  margin:-2px 0 0!important;
  padding:0!important;
  font-size:.66rem!important;
  line-height:1!important;
  font-weight:800!important;
  white-space:nowrap!important;
  transform:none!important;
}

@media (max-width:390px){
  .account-coins-view.active .retro-coin-shop.pixel-coin-shop-scene .pixel-coin-balance-board{
    width:196px!important;
    max-width:196px!important;
  }
  .account-coins-view.active .pixel-coin-balance-board-copy small{font-size:.78rem!important}
  .account-coins-view.active .pixel-coin-balance-total img{
    width:34px!important;height:34px!important;flex-basis:34px!important;
  }
  .account-coins-view.active .pixel-coin-balance-total .pixel-number{--px:2.8px!important}
  .account-coins-view.active .pixel-shop-offer-ticket{width:min(94%,78px)!important}
  .account-coins-view.active .pixel-shop-offer-ticket-value{font-size:.74rem!important}
  .account-coins-view.active .pixel-shop-offer-ticket-value .pixel-ticket-number .pixel-number{--px:1.45px!important}
  .account-coins-view.active .pixel-shop-offer-cost .pixel-number{--px:1.5px!important}
  .account-coins-view.active .pixel-shop-offer-button{width:min(96%,82px)!important}
  .customer-bottom-nav.customer-bottom-nav--image-icons .nav-icon-image,
  .customer-bottom-nav.customer-bottom-nav--image-icons .nav-icon-image--monky{
    width:35px!important;height:35px!important;min-width:35px!important;max-width:35px!important;min-height:35px!important;max-height:35px!important;flex-basis:35px!important;
  }
}


/* Ajustes finales letrero monedas y tienda png v120 */
.account-coins-view.active .pixel-coin-balance-board-copy small{top:40%!important;font-size:.98rem!important;letter-spacing:.03em!important}
.account-coins-view.active .pixel-coin-balance-total{top:60%!important;gap:10px!important;min-height:46px!important}
.account-coins-view.active .pixel-coin-balance-total img{width:52px!important;height:52px!important;flex:0 0 52px!important}
.account-coins-view.active .pixel-coin-balance-total .pixel-number{--px:3.35px!important}
@media (max-width:390px){
 .account-coins-view.active .pixel-coin-balance-board-copy small{top:40.5%!important;font-size:.86rem!important}
 .account-coins-view.active .pixel-coin-balance-total{top:60.5%!important;gap:8px!important}
 .account-coins-view.active .pixel-coin-balance-total img{width:44px!important;height:44px!important;flex-basis:44px!important}
 .account-coins-view.active .pixel-coin-balance-total .pixel-number{--px:2.95px!important}
}


/* Ajustes finales monedas y mensajes de canje v121 */
.account-coins-view.active .pixel-coin-balance-total{top:64%!important}
@media (max-width:390px){.account-coins-view.active .pixel-coin-balance-total{top:64.5%!important}}

/* El diálogo de canje usa exactamente la estructura visual del aviso de vaciar canasta. */
.coin-redeem-dialog.cart-clear-dialog{z-index:2600!important}
.coin-redeem-dialog .coin-redeem-dialog-card{width:min(100%,390px)!important;border:0!important;border-radius:24px!important;background:#fff!important;padding:22px 20px 18px!important;text-align:center!important;box-shadow:0 18px 55px rgba(0,0,0,.24)!important}
.coin-redeem-dialog .coin-redeem-dialog-ticket{width:50px!important;height:50px!important;margin:0 auto 11px!important;border:0!important;border-radius:50%!important;background:#eef8f1!important;color:#178447!important;box-shadow:none!important;padding:7px!important}
.coin-redeem-dialog .coin-redeem-dialog-ticket img{display:block!important;width:36px!important;height:36px!important;object-fit:contain!important;image-rendering:pixelated!important}
.coin-redeem-dialog .coin-redeem-dialog-card>small{display:block!important;margin:0 0 6px!important;color:#178447!important;font-family:inherit!important;font-size:.68rem!important;line-height:1!important;font-weight:900!important;letter-spacing:.08em!important}
.coin-redeem-dialog .coin-redeem-dialog-card h2{margin:0 0 7px!important;font-family:inherit!important;font-size:1.23rem!important;line-height:1.2!important;color:#172019!important;text-transform:none!important}
.coin-redeem-dialog .coin-redeem-dialog-card p{margin:0!important;color:#5c675f!important;font-family:inherit!important;font-size:.86rem!important;line-height:1.45!important}
.coin-redeem-dialog .coin-redeem-dialog-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;margin-top:18px!important}
.coin-redeem-dialog .coin-redeem-dialog-actions:has(.confirm[hidden]){grid-template-columns:1fr!important}
.coin-redeem-dialog .coin-redeem-dialog-actions button{min-height:43px!important;border-radius:999px!important;padding:8px 12px!important;font-family:inherit!important;font-size:.78rem!important;font-weight:900!important;box-shadow:none!important}
.coin-redeem-dialog .coin-redeem-dialog-actions .keep{border:1px solid #bfcac2!important;background:#fff!important;color:#294333!important}
.coin-redeem-dialog .coin-redeem-dialog-actions .confirm{border:1px solid #178447!important;background:#178447!important;color:#fff!important}
.coin-redeem-dialog .coin-redeem-dialog-actions button:active{transform:scale(.97)!important;box-shadow:none!important}
.coin-redeem-dialog.is-warning .coin-redeem-dialog-ticket{background:#fff5dc!important}
.coin-redeem-dialog.is-warning .coin-redeem-dialog-card>small{color:#9a6400!important}
.coin-redeem-dialog.is-owned .coin-redeem-dialog-ticket,.coin-redeem-dialog.is-success .coin-redeem-dialog-ticket{background:#eaf8ef!important}
.coin-redeem-dialog.is-owned .coin-redeem-dialog-card>small,.coin-redeem-dialog.is-success .coin-redeem-dialog-card>small{color:#178447!important}
@media(max-width:520px){
 .coin-redeem-dialog .coin-redeem-dialog-card{padding:20px 14px 14px!important;border-radius:21px!important}
 .coin-redeem-dialog .coin-redeem-dialog-actions{gap:7px!important;margin-top:15px!important}
 .coin-redeem-dialog .coin-redeem-dialog-actions button{min-height:41px!important;padding:7px!important;font-size:.71rem!important}
}


/* Mi Monky simplificado v122 */
.monky-view{padding-top:0!important}
.monky-view .monky-view-header{margin-bottom:18px!important}
.monky-view .monky-view-header>span{display:block;width:42px;height:42px}
.monky-view [data-pet-rewards] .pet-level-only{display:flex;align-items:center;min-height:28px}
.monky-view [data-pet-rewards] .pet-level-only small{font-size:.78rem;letter-spacing:.12em}
@media(min-width:769px){
 .monky-view .monky-view-header{margin-left:0!important;margin-right:0!important}
}


/* Reducir únicamente los iconos del menú inferior v126 */
.customer-bottom-nav.customer-bottom-nav--image-icons .nav-icon-image,
.customer-bottom-nav.customer-bottom-nav--image-icons .nav-icon-image--monky{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  max-width:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  flex:0 0 32px!important;
}
@media (max-width:390px){
  .customer-bottom-nav.customer-bottom-nav--image-icons .nav-icon-image,
  .customer-bottom-nav.customer-bottom-nav--image-icons .nav-icon-image--monky{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    flex:0 0 30px!important;
  }
}


/* Iconos más pequeños y separados del texto, sin aumentar el menú v127 */
.customer-bottom-nav.customer-bottom-nav--image-icons>button{
  gap:3px!important;
  padding-top:3px!important;
  padding-bottom:2px!important;
}
.customer-bottom-nav.customer-bottom-nav--image-icons .nav-icon-image,
.customer-bottom-nav.customer-bottom-nav--image-icons .nav-icon-image--monky{
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  max-width:26px!important;
  min-height:26px!important;
  max-height:26px!important;
  flex:0 0 26px!important;
}
.customer-bottom-nav.customer-bottom-nav--image-icons>button small{
  margin:0!important;
  line-height:1!important;
}
@media (max-width:390px){
  .customer-bottom-nav.customer-bottom-nav--image-icons>button{
    gap:3px!important;
  }
  .customer-bottom-nav.customer-bottom-nav--image-icons .nav-icon-image,
  .customer-bottom-nav.customer-bottom-nav--image-icons .nav-icon-image--monky{
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    max-width:24px!important;
    min-height:24px!important;
    max-height:24px!important;
    flex:0 0 24px!important;
  }
}


/* Correcciones de pedido, canasta y tienda de monedas v129 */
/* En el pago y estado del pedido no se muestran imágenes de productos. */
.order-detail-product-line{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  padding:7px 0!important;
}
.order-detail-product-media,
.order-detail-product-line>img,
.order-detail-product-line .fallback{
  display:none!important;
}
.order-detail-product-copy{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
}
.order-detail-product-copy small,
.order-detail-product-copy b{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.order-detail-product-price{
  align-self:center!important;
  justify-self:end!important;
}

/* Controles de cantidad alineados con la información del producto en todos los tamaños. */
.basket-item:not(.basket-promotion-product){
  align-items:center!important;
}
.basket-item:not(.basket-promotion-product) .basket-item-media,
.basket-item:not(.basket-promotion-product) .basket-item-info,
.basket-item:not(.basket-promotion-product) .basket-qty{
  align-self:center!important;
}
.basket-item:not(.basket-promotion-product) .basket-qty{
  grid-column:3!important;
  grid-row:1!important;
  justify-self:end!important;
  margin:0!important;
  transform:none!important;
}

/* En celulares el cupón ocupa menos ancho para dejar visible el precio en monedas. */
@media (max-width:600px){
  .account-coins-view.active .pixel-shop-offer-ticket{
    width:min(78%,70px)!important;
  }
  .account-coins-view.active .pixel-shop-offer-ticket-value{
    font-size:.7rem!important;
  }
  .account-coins-view.active .pixel-shop-offer-ticket-value .pixel-ticket-number .pixel-number{
    --px:1.35px!important;
  }
}
@media (max-width:390px){
  .account-coins-view.active .pixel-shop-offer-ticket{
    width:min(76%,64px)!important;
  }
  .account-coins-view.active .pixel-shop-offer-ticket-value{
    font-size:.64rem!important;
  }
  .account-coins-view.active .pixel-shop-offer-ticket-value .pixel-ticket-number .pixel-number{
    --px:1.22px!important;
  }
}

/* ===== Delivery en camino y calificaciones · v130 ===== */
.active-order-card.en_camino{--order-accent:#2276b8;--order-soft:#eef7ff;--order-ink:#174f76}
.active-order-card.entregado{--order-accent:#178447;--order-soft:#f1fbf4;--order-ink:#145d32}
.active-order-main{min-width:0}
.active-order-copy em{display:block;margin-top:3px;color:#607069;font-size:.67rem;font-style:normal;line-height:1.25;white-space:normal}
.active-order-visual.on-route .order-icon-main{font-size:1.72rem;animation:orderScooterMove 1.35s ease-in-out infinite}
.active-order-visual.on-route .order-icon-orbit{right:4px;top:4px;font-size:.78rem;color:#fff;background:var(--order-accent);border-radius:50%;padding:3px;animation:orderPinPulse 1.25s ease-in-out infinite}
.active-order-visual.delivered .order-icon-main{font-size:1.9rem}
.active-order-actions{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.45fr);gap:8px;padding:10px 12px 12px;border-top:1px solid color-mix(in srgb,var(--order-accent) 18%,#fff)}
.active-order-card .active-order-actions button{width:100%!important;min-height:42px;margin:0!important;padding:9px 10px!important;border:1px solid color-mix(in srgb,var(--order-accent) 30%,#fff)!important;border-radius:13px!important;background:#fff!important;color:var(--order-ink)!important;font-size:.76rem;font-weight:900;line-height:1.12;box-shadow:none!important}
.active-order-card .active-order-actions button.primary{border-color:var(--order-accent)!important;background:var(--order-accent)!important;color:#fff!important}
.active-order-actions.completed{grid-template-columns:1fr 1fr}
@keyframes orderScooterMove{0%,100%{transform:translateX(-2px) rotate(-2deg)}50%{transform:translateX(3px) rotate(2deg)}}
@keyframes orderPinPulse{0%,100%{transform:scale(.82);opacity:.65}50%{transform:scale(1.12);opacity:1}}

.order-list-card footer{align-items:center}
.order-list-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.order-list-actions button{margin:0!important}
.order-list-actions .order-list-rate{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important}

.order-simple-status.en_camino{border-color:#bddcf2;background:#f3faff}
.order-simple-status.en_camino>i{color:#2276b8}
.order-delivery-received-button,.order-rate-button{width:100%;min-height:48px;margin-top:12px;border:0;border-radius:15px;background:var(--green);color:#fff;font-weight:950;padding:12px 16px}

.order-rating-sheet{z-index:112!important;background:#fff}
.order-rating-sheet-header{flex:0 0 auto}
.order-rating-content{padding:18px 18px 128px!important;background:#fff}
.order-rating-footer{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}
.order-rating-footer button{width:100%;min-height:50px;border:0;border-radius:17px;background:var(--green);color:#fff;font-weight:950}
.order-rating-intro{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:12px;margin-bottom:18px;padding:16px;border:1px solid #d9e8df;border-radius:20px;background:#f5fbf7}
.order-rating-intro>span{width:54px;height:54px;border-radius:17px;background:#e3f6e9;color:var(--green);display:grid;place-items:center;font-size:1.7rem}
.order-rating-intro small{display:block;color:var(--green);font-size:.65rem;font-weight:950;letter-spacing:.1em}
.order-rating-intro h2{margin:3px 0 3px;font-size:1.22rem;line-height:1.1}
.order-rating-intro p{margin:0;color:#657169;font-size:.78rem}
.order-rating-intro.saved>span{background:#e5f7eb}
.order-rating-question{margin:0 0 13px;padding:16px;border:1px solid #e0e7e2;border-radius:19px;background:#fff}
.order-rating-question-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.order-rating-question h3{margin:0;font-size:1rem;line-height:1.2}
.order-rating-question p{margin:4px 0 0;color:#747e78;font-size:.75rem;line-height:1.3}
.order-rating-question-head>strong{color:var(--green);font-size:.78rem;white-space:nowrap}
.order-rating-stars{display:flex;align-items:center;gap:7px;margin-top:13px}
.order-rating-stars button{width:43px;height:43px;padding:0;border:0;border-radius:12px;background:#f2f4f2;color:#c7cec9;display:grid;place-items:center;font-size:1.62rem;transition:transform .15s ease,background .15s ease,color .15s ease}
.order-rating-stars button.selected{background:#e8f7ed;color:#25bd61}
.order-rating-stars button:active{transform:scale(.9)}
.order-rating-stars button:disabled{opacity:1;cursor:default}
.order-rating-improve,.order-rating-general{display:block;margin-top:14px}
.order-rating-improve[hidden],.order-rating-general[hidden]{display:none!important}
.order-rating-improve span,.order-rating-general>span{display:block;margin-bottom:7px;color:#3d4741;font-size:.78rem;font-weight:900}
.order-rating-improve textarea,.order-rating-general textarea{width:100%;min-height:86px;padding:12px;border:1px solid #d9e1dc;border-radius:15px;background:#f7f9f8;color:#1f2823;resize:vertical;outline:none}
.order-rating-improve textarea:focus,.order-rating-general textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,132,71,.1)}
.order-rating-general{margin:4px 0 16px;padding:16px;border:1px solid #e0e7e2;border-radius:19px;background:#fff}
.order-rating-general.saved h3{margin:0 0 6px;font-size:.92rem}
.order-rating-general.saved p,.order-rating-saved-comment{margin:0!important;color:#535f58!important;line-height:1.45!important;white-space:pre-wrap}

@media(max-width:430px){
 .active-order-actions{grid-template-columns:.8fr 1.4fr;padding:9px 10px 10px}
 .active-order-card .active-order-actions button{font-size:.7rem;padding:8px!important}
 .order-rating-content{padding:14px 14px 122px!important}
 .order-rating-footer{padding-left:14px;padding-right:14px}
 .order-rating-question{padding:14px}
 .order-rating-stars{justify-content:space-between;gap:4px}
 .order-rating-stars button{width:40px;height:40px;font-size:1.48rem}
}
.tournament-rule{margin:0 0 10px;padding:10px 12px;border:2px solid #163d29;background:#fff7cf;color:#172019;font-size:.78rem;font-weight:900;text-align:center}.ranking-tabs button[hidden]{display:none}.ranking-tabs button:only-child{grid-column:1/-1}.ranking-prize{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr) 22px;align-items:center;gap:10px;margin-bottom:10px;padding:11px 13px;border:3px solid #6f4800;border-radius:8px;background:#ffdb55;color:#3d2600;box-shadow:inset 0 0 0 3px #fff09a,4px 4px 0 #2c1b08;overflow:hidden}.ranking-prize:before{content:"";position:absolute;inset:4px;border:2px dashed rgba(111,72,0,.48);pointer-events:none}.ranking-prize-trophy{position:relative;z-index:1;display:grid;place-items:center;width:50px;height:50px;font-size:2.1rem;filter:drop-shadow(2px 3px 0 rgba(77,43,0,.3));animation:rankingPrizePulse 1.8s steps(4,end) infinite}.ranking-prize div{position:relative;z-index:1;min-width:0}.ranking-prize small,.ranking-prize b{display:block}.ranking-prize small{font:1000 .58rem/1.15 "Courier New",monospace;letter-spacing:.03em}.ranking-prize b{margin-top:4px;font-size:.88rem;line-height:1.15}.ranking-prize>i{position:relative;z-index:1;font-style:normal;animation:rankingPrizeSpark 1.1s steps(3,end) infinite}.ranking-table-head{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:8px;padding:7px 10px;background:#173f2a;color:#fff;font-size:.59rem;font-weight:900;letter-spacing:.04em}.ranking-table-head span:last-child{text-align:right}.ranking-row{grid-template-columns:44px minmax(0,1fr) auto;min-height:52px}.ranking-row.top-rank{grid-template-columns:54px minmax(0,1fr) auto;min-height:68px;border-left:4px solid #d8a31c;background:#fffaf0}.ranking-row.top-rank.rank-2{border-left-color:#9aa1a8;background:#f8fafb}.ranking-row.top-rank.rank-3{border-left-color:#b56b31;background:#fff8f1}.ranking-row.top-rank .rank{height:48px;display:flex;align-items:center;justify-content:center}.ranking-row .rank .pixel-number,.ranking-coins .pixel-number{display:flex;align-items:center;gap:1px;line-height:1}.ranking-row .rank .pixel-digit,.ranking-coins .pixel-digit{display:grid;grid-template-columns:repeat(5,var(--px));grid-template-rows:repeat(7,var(--px));width:calc(var(--px)*5);height:calc(var(--px)*7)}.ranking-row .rank .px,.ranking-coins .px{display:block;width:var(--px);height:var(--px)}.ranking-row .rank .px-0,.ranking-row .rank .px-2,.ranking-coins .px-0,.ranking-coins .px-2{background:transparent}.ranking-row .rank .px-1,.ranking-coins .px-1{background:currentColor}.ranking-row.top-rank .rank .pixel-number{--px:5px;filter:drop-shadow(2px 2px 0 rgba(0,0,0,.2))}.ranking-row.top-rank.rank-1 .rank .pixel-number{color:#c58b00}.ranking-row.top-rank.rank-2 .rank .pixel-number{color:#6f7880}.ranking-row.top-rank.rank-3 .rank .pixel-number{color:#a95c25}@keyframes rankingPrizePulse{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.08)}}@keyframes rankingPrizeSpark{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
/* V155 · aviso único de la mascota y preferencia de correo */
.pet-home-alert{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin:0 0 14px;padding:11px 13px;border:1px solid #cfe4d4;border-radius:15px;background:#f5fbf6;box-shadow:0 5px 15px rgba(18,72,39,.08)}
.pet-home-alert[hidden]{display:none}
.pet-home-alert.is-warning{border-color:#f0d39d;background:#fff9ed}
.pet-home-alert.is-critical{border-color:#efb5b0;background:#fff4f2}
.pet-home-alert-icon{display:grid;place-items:center;width:34px;height:34px;font-size:24px;line-height:1}
.pet-home-alert strong{display:block;color:#1c3425;font-size:13px;line-height:1.25}
.pet-home-alert p{margin:4px 0 0;color:#617067;font-size:12px;line-height:1.35}
.pet-home-alert button{min-height:36px;padding:8px 12px;border:0;border-radius:999px;background:#168947;color:#fff;font:800 12px/1.1 inherit;white-space:nowrap;cursor:pointer}
.pet-email-settings{gap:12px!important}
.pet-email-settings-copy h3{margin:0;color:#1d3425;font-size:17px}
.pet-email-settings-copy p{margin:5px 0 0;color:#67736b;font-size:13px;line-height:1.45}
.pet-email-capsule{display:grid!important;grid-template-columns:50px minmax(0,1fr);gap:11px;align-items:center;padding:12px 0;cursor:pointer}
.pet-email-capsule input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
.pet-email-capsule span{position:relative;width:48px;height:27px;border-radius:999px;background:#b8c1bb;box-shadow:inset 0 0 0 1px rgba(0,0,0,.11);transition:background .18s ease}
.pet-email-capsule span::after{content:"";position:absolute;left:3px;top:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.22);transition:transform .18s ease}
.pet-email-capsule input:checked+span{background:#178b49}
.pet-email-capsule input:checked+span::after{transform:translateX(21px)}
.pet-email-capsule input:focus-visible+span{outline:3px solid rgba(23,139,73,.24);outline-offset:2px}
.pet-email-capsule b{font-size:14px;color:#26362c}
.pet-email-settings>small{display:block;color:#69766e;font-size:12px;line-height:1.45}
@media(max-width:380px){.pet-home-alert{gap:7px;padding:10px}.pet-home-alert-icon{width:30px;height:30px;font-size:21px}.pet-home-alert strong{font-size:12px}.pet-home-alert button{min-height:34px;padding-inline:9px;font-size:11px}}
/* Compra como invitado y continuidad de registro (V156) */
.guest-login-pill{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border-radius:999px;background:#0e713d;color:#fff;font-size:.78rem;font-weight:900;text-decoration:none;box-shadow:0 3px 0 #07562d}
.customer-guest-app .customer-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.guest-contact-section{border:1px solid #dfe9e1;background:#f8fcf9}
.guest-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.guest-contact-fields label{display:grid;gap:6px;font-size:.73rem;font-weight:800;color:#36463b}.guest-contact-fields input{width:100%;min-height:46px;border:1px solid #cad8cd;border-radius:12px;background:#fff;padding:10px 12px;font:inherit;color:#15231a;outline:0}.guest-contact-fields input:focus{border-color:#168349;box-shadow:0 0 0 3px rgba(22,131,73,.12)}
.guest-register-dialog[hidden]{display:none!important}.guest-register-dialog{position:fixed;z-index:1600;inset:0;display:grid;place-items:center;padding:18px;background:rgba(5,29,18,.72);backdrop-filter:blur(4px);opacity:0;transition:opacity .15s ease}.guest-register-dialog.open{opacity:1}.guest-register-dialog-card{position:relative;width:min(100%,430px);border-radius:24px;background:#fff;padding:30px 22px 20px;text-align:center;box-shadow:0 22px 60px rgba(0,0,0,.28);transform:translateY(10px) scale(.98);transition:transform .16s ease}.guest-register-dialog.open .guest-register-dialog-card{transform:none}.guest-register-gift{display:grid;place-items:center;width:64px;height:64px;margin:-62px auto 12px;border:0;border-radius:50%;background:#fff;font-size:2rem;box-shadow:none}.guest-register-dialog-card>small{font-size:.63rem;letter-spacing:.13em;color:#0f7b41;font-weight:950}.guest-register-dialog-card h2{margin:7px 0 22px;color:#14251a;line-height:1.12}.guest-register-dialog-card h2 span{display:block}.guest-register-dialog-card h2 span:first-child{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:1.72rem;font-weight:900;letter-spacing:.045em;line-height:1.02}.guest-register-dialog-card h2 span+span{margin-top:7px;font-size:.98rem;font-weight:800;letter-spacing:0;line-height:1.15}.guest-register-dialog-card>a,.guest-register-dialog-card>button:not(.guest-register-close){width:100%;min-height:48px;border:0;border-radius:13px;display:flex;align-items:center;justify-content:center;font:inherit;font-size:.83rem;cursor:pointer}.guest-register-dialog-card>a{background:#0f7b41;color:#fff;font-weight:900;box-shadow:0 4px 0 #075a2d;text-decoration:none!important}.guest-register-dialog-card>button:not(.guest-register-close){margin-top:9px;background:transparent;color:#516058;font-weight:400}.guest-register-close{position:absolute;right:10px;top:8px;border:0;background:transparent;color:#7c8980;font-size:1.6rem;line-height:1;cursor:pointer}.guest-join-banner .promo-icon{font-size:1.2rem}
@media(max-width:520px){.guest-contact-fields{grid-template-columns:1fr}.guest-register-dialog{align-items:end;padding:0}.guest-register-dialog-card{width:100%;max-width:none;border-radius:24px 24px 0 0;padding:32px 18px calc(18px + env(safe-area-inset-bottom))}.guest-register-gift{margin:-64px auto 12px}}


/* ===== Top coins/cart UI v199 ===== */
.home-top-actions{gap:8px}
.home-welcome-line .home-points-pill{
  width:auto;
  min-width:0;
  height:34px;
  padding:0 9px 0 7px;
  border:0!important;
  border-radius:999px;
  background:#14552f!important;
  color:#fff!important;
  box-shadow:none!important;
  display:flex;
  align-items:center;
  gap:4px;
}
.home-welcome-line .home-points-pill [data-header-points]{display:flex;align-items:center;flex:0 0 auto}
.home-welcome-line .home-points-pill .pixel-number{--px:clamp(1.46px,.47vw,1.85px);gap:1px}
.home-welcome-line .home-points-pill .px-1{background:#fff}
.home-welcome-line .home-points-pill .px-0,
.home-welcome-line .home-points-pill .px-2{background:transparent}
.home-welcome-line .home-points-pill .points-coin{
  order:-1;
  width:22px;
  max-height:22px;
  margin:0 4px 0 0;
  flex:0 0 auto;
}
.home-cart-button{
  width:34px;
  height:34px;
  min-width:34px;
  min-height:34px;
  padding:0;
  border:0!important;
  border-radius:50%!important;
  background:#14552f!important;
  color:#fff!important;
  display:grid;
  place-items:center;
  box-shadow:none!important;
  overflow:visible;
}
.home-cart-button .nav-library-icon--basket{
  width:1.28rem!important;
  height:1.28rem!important;
}
.home-cart-button b{
  right:-2px;
  top:-3px;
  background:#e53935;
  color:#fff;
  border:2px solid #e53935;
}
@media(max-width:560px){
  .home-top-actions{gap:6px}
  .home-welcome-line .home-points-pill{height:32px;padding:0 8px 0 6px}
  .home-welcome-line .home-points-pill .pixel-number{--px:1.34px}
  .home-welcome-line .home-points-pill .points-coin{width:20px;max-height:20px;margin-right:3px}
  .home-cart-button{width:32px;height:32px;min-width:32px;min-height:32px}
  .home-cart-button .nav-library-icon--basket{width:1.18rem!important;height:1.18rem!important}
}
@media(max-width:390px){
  .home-welcome-line .home-points-pill{height:30px;padding:0 7px 0 5px}
  .home-welcome-line .home-points-pill .pixel-number{--px:1.22px}
  .home-welcome-line .home-points-pill .points-coin{width:18px;max-height:18px}
  .home-cart-button{width:30px;height:30px;min-width:30px;min-height:30px}
  .home-cart-button .nav-library-icon--basket{width:1.08rem!important;height:1.08rem!important}
}


/* ===== Ajustes pedidos inicio + icono mono v200 ===== */
.active-order-actions{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  padding:10px 12px 12px!important;
}
.active-order-actions.completed{
  display:flex!important;
  justify-content:flex-end!important;
  grid-template-columns:none!important;
}
.active-order-card .active-order-actions button{
  width:auto!important;
  min-width:0!important;
  flex:0 0 auto!important;
  min-height:40px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.active-order-card .active-order-actions button.primary{
  padding:0 20px!important;
}
@media(max-width:560px){
  .active-order-actions{gap:8px!important}
  .active-order-card .active-order-actions button{
    min-height:38px!important;
    padding:0 15px!important;
    font-size:.72rem!important;
  }
}

/* compact active orders v206 */
.active-order-card{padding:0!important;margin-bottom:10px!important;border-radius:17px!important}
.active-order-open-button,.active-order-card .active-order-open-button{min-height:60px!important;padding:6px 10px!important;grid-template-columns:44px minmax(0,1fr) auto!important;gap:8px!important}
.active-order-visual{width:42px!important;height:42px!important;border-radius:13px!important}
.active-order-copy small{margin-bottom:2px!important;font-size:.64rem!important;line-height:1.05!important}
.active-order-copy strong{font-size:.91rem!important;line-height:1.08!important}
.active-order-side b{font-size:.9rem!important}
.active-order-progress{display:none!important}
.active-order-actions,.active-order-actions.completed{gap:7px!important;padding:4px 10px 8px!important;border-top:0!important}
.active-order-card .active-order-actions button{min-height:34px!important;margin:0!important;padding:0 14px!important;font-size:.72rem!important}
.active-order-card .active-order-actions button.primary{padding:0 16px!important}
@media(max-width:390px){
 .active-order-open-button,.active-order-card .active-order-open-button{min-height:56px!important;padding:5px 9px!important;grid-template-columns:40px minmax(0,1fr) auto!important;gap:7px!important}
 .active-order-visual{width:39px!important;height:39px!important;border-radius:12px!important}
 .active-order-actions,.active-order-actions.completed{padding:3px 9px 7px!important;gap:6px!important}
 .active-order-card .active-order-actions button{min-height:32px!important;padding:0 12px!important;font-size:.69rem!important}
}

/* ===== Referidos de clientes · v223 ===== */
.referral-view{max-width:650px;margin:0 auto}
.referral-share-card{margin-top:4px;padding:24px 20px 20px;border:1px solid #dfe7e1;border-radius:24px;background:#fff;text-align:center}
.referral-share-icon{width:58px;height:58px;margin:0 auto 12px;border-radius:18px;display:grid;place-items:center;background:#eaf7ef;color:var(--green);font-size:1.65rem}
.referral-share-card h2{margin:0;font-size:1.35rem;line-height:1.15}
.referral-share-card>p{max-width:480px;margin:8px auto 18px;color:#68736b;font-size:.88rem;line-height:1.5}
.referral-code-box{display:grid;gap:4px;max-width:420px;margin:0 auto;padding:14px 16px;border:1px dashed #9fc8ad;border-radius:18px;background:#f5faf7}
.referral-code-box small{font-size:.63rem;font-weight:900;letter-spacing:.13em;color:#5c7565}
.referral-code-box strong{font-size:1.35rem;letter-spacing:.08em;color:#123923;word-break:break-all}
.referral-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:420px;margin:14px auto 0}
.referral-actions button{min-height:48px;border:1px solid #d7e2da;border-radius:15px;background:#fff;color:#173b26;font-weight:850;display:flex;align-items:center;justify-content:center;gap:8px}
.referral-actions button:last-child{border-color:var(--green);background:var(--green);color:#fff}
.referral-actions button:disabled{opacity:.45;cursor:not-allowed}
.referral-status-card{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}
.referral-status-card>div{min-width:0;padding:14px 8px;border:1px solid #e2e8e4;border-radius:18px;background:#fff;text-align:center}
.referral-status-card small,.referral-status-card strong{display:block}
.referral-status-card small{font-size:.66rem;color:#727d75}
.referral-status-card strong{margin-top:4px;font-size:1.18rem;color:#173b26}
.referral-limit-note{margin:12px 4px 0;text-align:center;color:#707a73;font-size:.76rem;line-height:1.4}
@media(max-width:420px){.referral-share-card{padding:20px 14px 16px;border-radius:21px}.referral-actions{grid-template-columns:1fr}.referral-status-card{gap:6px}.referral-status-card>div{padding:12px 4px}.referral-status-card small{font-size:.6rem}.referral-status-card strong{font-size:1.05rem}}


/* ===== Modal de registro para invitados · lenguaje visual de registro.php ===== */
.guest-register-dialog-card{
  width:min(100%,430px);
  border:1px solid #dce6de;
  border-radius:32px;
  padding:34px 28px 26px;
  background:#fff;
  text-align:center;
  box-shadow:0 24px 62px rgba(14,45,29,.14);
}
.guest-register-gift{
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  margin:-68px auto 14px;
  border:0;
  border-radius:50%;
  background:#fff;
  box-shadow:none;
  font-size:2rem;
  line-height:1;
}
.guest-register-dialog-card>small{
  display:block;
  margin:0 0 12px;
  color:#2b4235;
  font-family:inherit;
  font-size:.84rem;
  line-height:1.35;
  font-weight:800;
  letter-spacing:0;
  text-transform:none;
}
.guest-register-dialog-card h2{
  margin:0 0 24px;
  color:#173b26;
  font-family:inherit;
  line-height:1.02;
  letter-spacing:-.03em;
}
.guest-register-dialog-card h2 span{
  display:block;
  font-family:inherit;
  text-transform:none;
}
.guest-register-dialog-card h2 span:first-child{
  font-family:inherit;
  font-size:clamp(2rem,4.8vw,2.35rem);
  line-height:1.02;
  font-weight:1000;
  letter-spacing:-.03em;
}
.guest-register-dialog-card h2 span+span{
  margin-top:9px;
  font-family:inherit;
  font-size:1.04rem;
  line-height:1.2;
  font-weight:900;
  letter-spacing:-.01em;
}
.guest-register-dialog-card>a{
  width:100%;
  min-height:58px;
  border:0;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 17px;
  background:var(--green);
  color:#fff;
  font:inherit;
  font-size:1rem;
  font-weight:900;
  line-height:1;
  text-decoration:none!important;
  box-shadow:0 14px 26px rgba(23,132,71,.18);
}
.guest-register-dialog-card>a:hover,
.guest-register-dialog-card>a:focus,
.guest-register-dialog-card>a:active{
  color:#fff;
  text-decoration:none!important;
}
.guest-register-dialog-card>button:not(.guest-register-close){
  width:auto;
  min-height:0;
  margin:18px auto 0;
  padding:4px 8px;
  border:0;
  border-radius:0;
  display:block;
  background:transparent;
  color:#738177;
  font:inherit;
  font-size:.92rem;
  line-height:1.35;
  font-weight:400;
  box-shadow:none;
  text-decoration:none;
}
.guest-register-dialog-card>button:not(.guest-register-close):hover,
.guest-register-dialog-card>button:not(.guest-register-close):focus{
  color:#0f7b41;
  text-decoration:underline;
}
.guest-register-close{
  right:14px;
  top:12px;
  color:#7c8980;
}
@media(max-width:640px){
  .guest-register-dialog-card{
    border-radius:24px 24px 0 0;
    padding:32px 18px calc(22px + env(safe-area-inset-bottom));
  }
  .guest-register-gift{margin:-66px auto 14px}
  .guest-register-dialog-card>small{font-size:.8rem}
  .guest-register-dialog-card h2{margin-bottom:22px}
  .guest-register-dialog-card h2 span:first-child{font-size:1.95rem}
  .guest-register-dialog-card h2 span+span{font-size:.96rem;margin-top:8px}
  .guest-register-dialog-card>a{min-height:56px;border-radius:16px}
  .guest-register-dialog-card>button:not(.guest-register-close){font-size:.88rem;margin-top:17px}
}

/* ===== UX checkout, cupones y pago móvil · v259 ===== */
.compact-payment-list label:has(input:checked),
.compact-payment-list label.is-selected{
  border-color:var(--green)!important;
  background:#f1faf4!important;
  box-shadow:0 0 0 1px rgba(23,132,71,.08)!important;
}
.compact-payment-list label:has(input:checked) .checkout-radio,
.compact-payment-list label.is-selected .checkout-radio{
  border-color:var(--green)!important;
  background:var(--green)!important;
  color:#fff!important;
}
.compact-payment-list label:has(input:checked) b,
.compact-payment-list label.is-selected b{color:var(--green)!important}

.basket-coupon-minimum-alert{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:9px;
  align-items:center;
  margin:12px 0 2px;
  padding:11px 12px;
  border:1px solid #bfe3f4;
  border-radius:14px;
  background:#eef9ff;
  color:#24596f;
  font-size:.76rem;
  line-height:1.4;
  font-weight:780;
}
.basket-coupon-minimum-alert>i{font-size:1.15rem;text-align:center;color:#2a8fbe}
.basket-coupon-minimum-alert b{color:#1d6d95;font-weight:950}

/* En pago pendiente la atención va a los pasos y al botón Confirmar pago. */
.order-payment-top{max-width:600px;margin:0 auto!important;padding:2px 0 10px}
.order-payment-top .order-payment-guide{
  margin:0 auto!important;
  padding:20px 18px!important;
  border-radius:22px!important;
  background:#f7fbf8!important;
  box-shadow:0 10px 28px rgba(16,62,36,.07);
}
.order-payment-top .order-payment-title{
  margin:0 0 15px!important;
  text-align:center!important;
  font-size:1.28rem!important;
  line-height:1.15!important;
}
.order-payment-top .order-guide-heading{justify-content:center;text-align:center;margin-bottom:12px}
.order-payment-top .order-guide-heading>div{min-width:0}
.order-payment-top .order-payment-guide ol{
  counter-reset:paysteps;
  list-style:none!important;
  margin:14px 0 0!important;
  padding:0!important;
  display:grid!important;
  gap:9px!important;
}
.order-payment-top .order-payment-guide ol li{
  counter-increment:paysteps;
  position:relative;
  min-height:54px;
  padding:11px 12px 11px 48px;
  border:1px solid #dde8e1;
  border-radius:15px;
  background:#fff;
  color:#34423a;
  font-size:.82rem;
  line-height:1.4;
  animation:paymentStepInV259 .34s ease both;
}
.order-payment-top .order-payment-guide ol li::before{
  content:counter(paysteps);
  position:absolute;
  left:11px;
  top:50%;
  width:27px;
  height:27px;
  margin-top:-13.5px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e7f6ec;
  color:var(--green);
  font-size:.77rem;
  font-weight:950;
}
.order-payment-top .order-payment-guide ol li:nth-child(2){animation-delay:.06s}
.order-payment-top .order-payment-guide ol li:nth-child(3){animation-delay:.12s}
.order-payment-top .order-payment-guide ol li:nth-child(4){animation-delay:.18s}
.order-payment-top .order-pending-actions{margin-top:16px!important}
.order-proof-main-actions{gap:10px!important}
.order-proof-pick,.order-proof-submit{min-height:50px!important;font-size:.78rem!important}
.order-help-actions{
  margin-top:30px!important;
  padding-top:15px!important;
  border-top:1px solid #e5ebe7!important;
  gap:12px!important;
}
[data-order-proof-form].proof-file-ready .order-proof-submit,
.required-proof-form.proof-file-ready .payment-send-proof{
  opacity:1!important;
  filter:none!important;
  box-shadow:0 10px 22px rgba(23,132,71,.18);
}
[data-order-proof-form].proof-file-ready .order-proof-selected{
  animation:proofReadyInV259 .28s ease both;
}
.payment-required-intro{text-align:center!important}
.payment-required-intro h2{font-size:1.5rem!important;line-height:1.12!important;margin-inline:auto!important;max-width:420px}
.payment-required-intro p{max-width:470px;margin-inline:auto!important}
.payment-required-intro--simple small{letter-spacing:.08em}
.payment-brand-showcase{display:flex;justify-content:center;align-items:center;margin:12px auto 0}
.payment-brand-showcase img{display:block;max-width:min(100%,240px);width:100%;height:auto;object-fit:contain}
.payment-simple-steps{max-width:620px;margin-inline:auto!important;gap:10px!important}
.payment-simple-steps article{min-height:72px!important;padding:14px 14px 14px 58px!important;border-radius:18px!important;position:relative}
.payment-simple-steps article>b{width:34px!important;height:34px!important;font-size:1rem!important;position:absolute;left:14px;top:50%;transform:translateY(-50%)}
.payment-simple-steps article p{font-size:.93rem!important;line-height:1.45!important}
.payment-simple-steps article strong{font-weight:950}
.required-proof-form{max-width:620px;margin-left:auto!important;margin-right:auto!important}
.payment-double-actions button{min-height:54px!important;font-size:.92rem!important;gap:9px!important;padding:10px 14px!important}
.payment-double-actions button i{font-size:1.15rem!important}
.required-proof-preview{padding:10px 12px!important}
.proof-source-dialog[hidden]{display:none!important}
.proof-source-dialog{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:18px}
.proof-source-dialog-backdrop{position:absolute;inset:0;background:rgba(15,24,18,.44)}
.proof-source-dialog-card{position:relative;z-index:1;width:min(100%,360px);border-radius:24px;background:#fff;padding:20px 18px 16px;box-shadow:0 24px 60px rgba(0,0,0,.18);text-align:center}
.proof-source-dialog-card h3{margin:0 0 14px;font-size:1.12rem;color:#15221b}
.proof-source-dialog-actions{display:grid;gap:10px}
.proof-source-option{width:100%;min-height:56px;border:1px solid #d7e0da;border-radius:18px;background:#fff;color:#163524;font-weight:900;font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 14px}
.proof-source-option i{font-size:1.2rem;color:var(--green)}
.proof-source-cancel{margin-top:12px;border:0;background:transparent;color:#68716b;font-size:.86rem;font-weight:800}

@media(max-width:560px){
  .basket-coupon-minimum-alert{grid-template-columns:26px minmax(0,1fr);gap:7px;padding:10px;font-size:.71rem}
  .order-payment-top .order-payment-guide{padding:16px 12px!important;border-radius:18px!important}
  .order-payment-top .order-payment-title{font-size:1.18rem!important;margin-bottom:12px!important}
  .order-payment-top .order-payment-guide ol li{min-height:50px;padding:10px 9px 10px 43px;font-size:.75rem}
  .order-payment-top .order-payment-guide ol li::before{left:9px;width:25px;height:25px;margin-top:-12.5px}
  .order-proof-pick,.order-proof-submit{min-height:48px!important;font-size:.72rem!important}
  .order-help-actions{margin-top:27px!important;padding-top:13px!important}
  .payment-required-intro h2{font-size:1.24rem!important}
  .payment-brand-showcase img{max-width:min(100%,210px)}
  .payment-simple-steps article{min-height:66px!important;padding:12px 12px 12px 52px!important}
  .payment-simple-steps article>b{width:31px!important;height:31px!important;left:12px;font-size:.92rem!important}
  .payment-simple-steps article p{font-size:.84rem!important}
  .payment-double-actions button{min-height:50px!important;font-size:.84rem!important}
  .proof-source-dialog-card{border-radius:22px;padding:18px 16px 14px}
}
@media(prefers-reduced-motion:reduce){
  .order-payment-top .order-payment-guide ol li,.required-proof-form.proof-file-ready .required-proof-preview,[data-order-proof-form].proof-file-ready .order-proof-selected,[data-order-proof-form].proof-file-ready .order-proof-submit,.required-proof-form.proof-file-ready .payment-send-proof{animation:none!important}
}


/* ===== Pago móvil y pedido activo · v261 ===== */
.order-payment-top .order-payment-guide.digital{
  max-width:620px!important;
  margin:0 auto!important;
  padding:20px 16px 18px!important;
  text-align:center!important;
}
.order-payment-top .order-payment-title{
  margin:0 0 10px!important;
  font-size:1.5rem!important;
  line-height:1.12!important;
  font-weight:950!important;
  text-align:center!important;
}
.order-payment-top .order-guide-heading-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 auto 18px!important;
  min-height:86px!important;
}
.order-payment-top .order-payment-brand{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:min(100%,250px)!important;
  max-height:92px!important;
  object-fit:contain!important;
}
.order-payment-top .order-payment-guide ol{
  margin:0!important;
  gap:10px!important;
}
.order-payment-top .order-payment-guide ol li{
  min-height:70px!important;
  padding:14px 14px 14px 58px!important;
  border-radius:17px!important;
  font-size:.94rem!important;
  line-height:1.45!important;
  text-align:left!important;
}
.order-payment-top .order-payment-guide ol li::before{
  left:13px!important;
  width:34px!important;
  height:34px!important;
  margin-top:-17px!important;
  font-size:1rem!important;
}
.order-payment-top .order-payment-guide ol li b{font-size:1em!important}
.order-proof-main-actions{gap:10px!important;margin-top:14px!important}
.order-proof-pick,.order-proof-submit{
  min-height:56px!important;
  padding:10px 14px!important;
  font-size:.94rem!important;
  gap:9px!important;
}
.order-proof-pick i,.order-proof-submit i{font-size:1.18rem!important}
.order-proof-selected{
  min-height:48px!important;
  margin-top:10px!important;
  padding:10px 12px!important;
  font-size:.82rem!important;
}
.order-proof-selected .proof-state-indicator{font-size:1.12rem!important}
[data-order-proof-form].proof-file-ready .order-proof-submit,
.required-proof-form.proof-file-ready .payment-send-proof{
  animation:none!important;
  transform:none!important;
  box-shadow:0 10px 22px rgba(23,132,71,.18)!important;
}
.proof-source-dialog[hidden]{display:none!important}
.proof-source-dialog{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:18px}
.proof-source-dialog-backdrop{position:absolute;inset:0;background:rgba(13,22,16,.5);backdrop-filter:blur(2px)}
.proof-source-dialog-card{position:relative;z-index:1;width:min(100%,370px);padding:20px 18px 16px;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.22);text-align:center}
.proof-source-dialog-card h3{margin:0 0 15px;color:#142219;font-size:1.16rem;font-weight:950}
.proof-source-dialog-actions{display:grid;gap:10px}
.proof-source-option{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:58px;padding:0 16px;border:1px solid #d5e0d9;border-radius:18px;background:#fff;color:#183725;font-size:.96rem;font-weight:900}
.proof-source-option:active{background:#f2f8f4;transform:scale(.99)}
.proof-source-option i{color:var(--green);font-size:1.26rem}
.proof-source-cancel{margin-top:13px;padding:8px 12px;border:0;background:transparent;color:#6a746e;font-size:.87rem;font-weight:800}

@media(max-width:560px){
  .order-payment-top .order-payment-guide.digital{padding:17px 12px 15px!important;border-radius:20px!important}
  .order-payment-top .order-payment-title{font-size:1.32rem!important;margin-bottom:8px!important}
  .order-payment-top .order-guide-heading-brand{min-height:76px!important;margin-bottom:14px!important}
  .order-payment-top .order-payment-brand{max-width:min(100%,220px)!important;max-height:82px!important}
  .order-payment-top .order-payment-guide ol li{min-height:66px!important;padding:12px 11px 12px 53px!important;font-size:.88rem!important}
  .order-payment-top .order-payment-guide ol li::before{left:11px!important;width:31px!important;height:31px!important;margin-top:-15.5px!important;font-size:.95rem!important}
  .order-proof-pick,.order-proof-submit{min-height:54px!important;font-size:.88rem!important;padding:9px 10px!important}
  .order-proof-pick i,.order-proof-submit i{font-size:1.12rem!important}
  .proof-source-dialog-card{padding:18px 15px 14px;border-radius:22px}
}


/* ===== Pago móvil y carga de comprobante robusta · v262 ===== */
.payment-simple-steps article{
  display:flex!important;
  align-items:center!important;
  min-height:58px!important;
  padding:9px 12px 9px 52px!important;
}
.payment-simple-steps article>b{
  top:50%!important;
  transform:translateY(-50%)!important;
}
.payment-simple-steps article p{
  width:100%!important;
  margin:0!important;
  align-self:center!important;
  line-height:1.35!important;
}
.proof-native-input{
  position:fixed!important;
  left:-10000px!important;
  top:-10000px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.proof-source-option{
  box-sizing:border-box;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
}
.required-proof-form.proof-file-ready .payment-send-proof,
[data-order-proof-form].proof-file-ready .order-proof-submit{
  background:var(--green)!important;
  color:#fff!important;
  border-color:var(--green)!important;
  opacity:1!important;
}
@media(max-width:560px){
  .payment-simple-steps article{
    min-height:54px!important;
    padding:8px 10px 8px 49px!important;
  }
  .payment-simple-steps article>b{
    left:10px!important;
    width:30px!important;
    height:30px!important;
  }
  .payment-simple-steps article p{font-size:.84rem!important}
}

/* Pedido pendiente abierto desde inicio: pasos más compactos y centrados · v262 */
.order-payment-top .order-payment-guide ol li{
  display:flex!important;
  align-items:center!important;
  min-height:58px!important;
  padding-top:9px!important;
  padding-bottom:9px!important;
  line-height:1.35!important;
}
@media(max-width:560px){
  .order-payment-top .order-payment-guide ol li{
    min-height:54px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }
}


/* ===== Selector de comprobante y pasos de pago · v263 ===== */
.payment-simple-steps article{
  min-height:52px!important;
  padding-top:7px!important;
  padding-bottom:7px!important;
}
.payment-simple-steps article p{
  display:block!important;
  line-height:1.38!important;
}
.payment-simple-steps .payment-step-data,
.order-payment-guide .payment-step-data{
  display:inline-block;
  margin-inline:.18em;
  font-weight:950!important;
}
.payment-step-nowrap{white-space:nowrap}
.proof-native-input{
  position:fixed!important;
  left:-9999px!important;
  top:0!important;
  width:2px!important;
  height:2px!important;
  opacity:.001!important;
  pointer-events:auto!important;
}
.proof-source-option{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid #d7e0da;
}
.proof-camera-open{overflow:hidden!important}
.proof-camera-overlay{position:fixed;inset:0;z-index:4200;display:grid;place-items:center;padding:14px;background:rgba(11,18,14,.78)}
.proof-camera-card{width:min(100%,520px);overflow:hidden;border-radius:24px;background:#111915;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.proof-camera-head{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;color:#fff}
.proof-camera-head strong{font-size:1rem}
.proof-camera-head button{width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:1.05rem}
.proof-camera-view{position:relative;display:grid;place-items:center;min-height:300px;aspect-ratio:3/4;background:#050706;overflow:hidden}
.proof-camera-view video{width:100%;height:100%;object-fit:cover}
.proof-camera-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#101713;color:#fff}
.proof-camera-loading[hidden]{display:none!important}
.proof-camera-loading span{width:28px;height:28px;border:3px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:proofCameraSpin .8s linear infinite}
.proof-camera-loading b{font-size:.85rem}
.proof-camera-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:10px;padding:12px;background:#111915}
.proof-camera-actions button{min-height:52px;border-radius:16px;font-weight:900;font-size:.9rem}
.proof-camera-cancel{border:1px solid rgba(255,255,255,.18);background:transparent;color:#fff}
.proof-camera-shot{border:0;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px}
.proof-camera-shot:disabled{opacity:.5}
@keyframes proofCameraSpin{to{transform:rotate(360deg)}}
@media(max-width:560px){
  .payment-simple-steps article{min-height:50px!important;padding-top:6px!important;padding-bottom:6px!important}
  .payment-simple-steps article p{font-size:.87rem!important}
  .payment-simple-steps article>b{width:30px!important;height:30px!important;font-size:.94rem!important}
  .proof-source-option{min-height:58px;font-size:.97rem}
  .proof-camera-overlay{padding:0;align-items:stretch}
  .proof-camera-card{width:100%;height:100dvh;border-radius:0;display:flex;flex-direction:column}
  .proof-camera-view{flex:1;min-height:0;aspect-ratio:auto}
  .proof-camera-actions{padding:12px 12px calc(12px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.proof-camera-loading span{animation-duration:1.5s}}


/* ===== Selector nativo de comprobante estable · v264 ===== */
.proof-native-input{
  position:fixed!important;
  left:-10000px!important;
  top:0!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.proof-source-option{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  cursor:pointer!important;
  text-decoration:none!important;
  -webkit-tap-highlight-color:transparent;
}
.proof-source-option:active{background:#f2f8f4!important;transform:scale(.99)}
.proof-camera-overlay{display:none!important}
.required-proof-form.proof-file-ready .payment-send-proof,
[data-order-proof-form].proof-file-ready .order-proof-submit{
  pointer-events:auto!important;
  cursor:pointer!important;
  opacity:1!important;
}


/* ===== Carga de comprobante estable en móvil · v265 ===== */
.proof-source-option{
  width:100%!important;
  min-height:58px!important;
  margin:0!important;
  padding:0 16px!important;
  border:1px solid #d7e0da!important;
  border-radius:18px!important;
  background:#fff!important;
  color:#163524!important;
  font:900 .96rem/1.2 Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
}
.proof-source-option i{font-size:1.25rem!important;color:var(--green)!important}
.proof-source-option:focus-visible{outline:3px solid rgba(15,123,65,.18)!important;outline-offset:2px!important}
.required-proof-form.proof-file-ready .payment-send-proof,
[data-order-proof-form].proof-file-ready .order-proof-submit{
  cursor:pointer!important;
  pointer-events:auto!important;
  opacity:1!important;
}
.required-proof-preview.is-ready,
.order-proof-selected.is-ready{
  display:grid!important;
}
@media(max-width:560px){
  .proof-source-dialog-card{width:min(calc(100% - 12px),370px)!important}
  .proof-source-option{min-height:60px!important;font-size:1rem!important}
}


/* ===== Selección de comprobante confiable + estados visibles · v266 ===== */
.required-proof-preview,
.order-proof-selected{transition:border-color .18s ease,background-color .18s ease,color .18s ease,opacity .18s ease}
.required-proof-preview.is-loading,
.order-proof-selected.is-loading{
  display:grid!important;
  border-color:#b9d9ed!important;
  background:#eef8ff!important;
  color:#285c78!important;
}
.required-proof-preview.is-loading [data-proof-file-name],
.order-proof-selected.is-loading [data-order-proof-name]{color:#285c78!important;font-weight:850!important}
.required-proof-preview.is-ready,
.order-proof-selected.is-ready{
  display:grid!important;
  border-color:#9fd3af!important;
  background:#effaf3!important;
  color:#176d39!important;
}
.required-proof-preview.is-error,
.order-proof-selected.is-error{
  display:grid!important;
  border-color:#e7b7b7!important;
  background:#fff4f4!important;
  color:#9a2d2d!important;
}
.required-proof-form.proof-file-loading .payment-send-proof,
[data-order-proof-form].proof-file-loading .order-proof-submit{opacity:.58!important;cursor:wait!important}
.required-proof-form.proof-file-ready .payment-send-proof,
[data-order-proof-form].proof-file-ready .order-proof-submit{
  opacity:1!important;
  background:var(--green)!important;
  color:#fff!important;
  border-color:var(--green)!important;
  box-shadow:0 8px 18px rgba(15,123,65,.18)!important;
}
/* Corrección de layout del estado en el detalle del pedido · v266 */
.order-proof-selected.is-loading,
.order-proof-selected.is-ready,
.order-proof-selected.is-error,
.order-proof-selected.is-retry{display:flex!important;align-items:center!important;gap:8px!important}
.required-proof-preview.is-loading,
.required-proof-preview.is-ready,
.required-proof-preview.is-error,
.required-proof-preview.is-retry{display:grid!important}


/* ===== Copiar datos en pasos de pago · v267 ===== */
.payment-simple-steps article.payment-step-copyable,
.order-payment-guide li.payment-step-copyable{position:relative!important;padding-right:58px!important}
.payment-step-copy{
  position:absolute!important;
  right:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #cfe0d5!important;
  border-radius:12px!important;
  background:#f3faf5!important;
  color:var(--green)!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:none!important;
  z-index:2;
  -webkit-tap-highlight-color:transparent;
}
.payment-step-copy i{font-size:1.12rem!important;line-height:1!important;color:inherit!important}
.payment-step-copy:active{background:#e4f4e9!important;transform:translateY(-50%) scale(.94)!important}
.payment-step-copy:focus-visible{outline:3px solid rgba(15,123,65,.18)!important;outline-offset:2px!important}
.payment-copy-feedback{
  position:fixed;
  z-index:6500;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) scale(.96);
  width:max-content;
  max-width:calc(100% - 36px);
  padding:12px 18px;
  border-radius:14px;
  background:#14251b;
  color:#fff;
  font-size:.9rem;
  font-weight:900;
  line-height:1.2;
  text-align:center;
  box-shadow:0 18px 42px rgba(0,0,0,.22);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s;
}
.payment-copy-feedback.is-visible{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,-50%) scale(1);
  transition-delay:0s;
}
@media(max-width:560px){
  .payment-simple-steps article.payment-step-copyable,
  .order-payment-guide li.payment-step-copyable{padding-right:54px!important}
  .payment-step-copy{right:9px!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
  .payment-step-copy i{font-size:1.08rem!important}
  .payment-copy-feedback{font-size:.88rem;padding:11px 16px}
}
@media(prefers-reduced-motion:reduce){.payment-copy-feedback{transition:none!important}}


/* ===== Aviso informativo antes de los pasos de pago · v268 ===== */
.payment-preparation-info{
  width:min(100%,620px);
  margin:2px auto 14px;
  padding:11px 13px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid #bfe3f4;
  border-radius:14px;
  background:#eef9ff;
  color:#24596f;
  font-size:.82rem;
  line-height:1.35;
  font-weight:800;
  text-align:center;
}
.payment-preparation-info i{
  flex:0 0 auto;
  color:#2a8fbe;
  font-size:1.08rem;
}
@media(max-width:560px){
  .payment-preparation-info{margin:0 auto 12px;padding:10px 11px;font-size:.78rem;border-radius:13px}
}

/* ===== Carrusel de productos móvil · v269 =====
 * En celular deja visible parte del tercer producto para comunicar que la fila se desliza.
 * Solo afecta carruseles de productos; tablets y escritorio conservan su tamaño actual.
 */
@media(max-width:639px){
  .product-carousel{
    gap:10px!important;
    padding-bottom:7px!important;
    scroll-snap-type:x proximity!important;
  }
  .product-carousel .product-card{
    flex:0 0 clamp(124px,35.5vw,154px)!important;
    width:clamp(124px,35.5vw,154px)!important;
  }
  .product-carousel .product-card-image,
  .product-carousel .product-card-image>img{
    border-radius:17px!important;
  }
  .product-carousel .product-card-add{
    width:36px!important;
    height:36px!important;
    top:6px!important;
    right:6px!important;
    border-width:3px!important;
  }
  .product-carousel .product-plus-mark{
    width:18px!important;
    height:18px!important;
  }
  .product-carousel .product-plus-mark::before{width:18px!important;height:4px!important}
  .product-carousel .product-plus-mark::after{width:4px!important;height:18px!important}
  .product-carousel .product-card-copy{padding-top:8px!important}
  .product-carousel .product-card-category{
    margin-bottom:1px!important;
    font-size:.84rem!important;
    line-height:1.18!important;
    -webkit-line-clamp:2!important;
  }
  .product-carousel .product-card h3{
    font-size:.57rem!important;
    line-height:1.15!important;
    letter-spacing:.045em!important;
  }
  .product-carousel .product-card-pricing{
    gap:3px 5px!important;
    margin-top:4px!important;
  }
  .product-carousel .product-current-price,
  .product-carousel .product-card-pricing .product-current-price{
    font-size:.9rem!important;
  }
  .product-carousel .product-discount-line{gap:4px!important}
  .product-carousel .product-discount-line span,
  .product-carousel .product-discount-line del{
    font-size:.7rem!important;
  }
  .product-carousel .product-card-copy>p{
    margin-top:3px!important;
    font-size:.66rem!important;
  }
  .product-carousel .product-rank-badge,
  .product-carousel .product-promo-badge{
    left:7px!important;
    max-width:calc(100% - 14px)!important;
    padding:4px 7px!important;
    font-size:.62rem!important;
  }
  .product-carousel .product-rank-badge{bottom:7px!important}
  .product-carousel .product-promo-badge{top:7px!important}
}

/* ===== Horario del negocio + navegación móvil estable · v270 ===== */
.business-hours-status{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:9px;
  align-items:center;
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid #cfe7d7;
  border-radius:14px;
  background:#f2faf4;
  color:#245438;
}
.business-hours-status>i{font-size:1.08rem;text-align:center;color:var(--green)}
.business-hours-status span,.business-hours-status b,.business-hours-status small{display:block;min-width:0}
.business-hours-status b{font-size:.76rem;line-height:1.15}
.business-hours-status small{margin-top:2px;font-size:.7rem;line-height:1.3;color:#597065}
.business-hours-status.is-closed{border-color:#bfe3f4;background:#eef9ff;color:#24596f}
.business-hours-status.is-closed>i{color:#2a8fbe}
.business-hours-status.is-closed small{color:#467488}
.basket-business-hours-alert{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:8px;
  align-items:center;
  margin:12px 0 2px;
  padding:10px 12px;
  border:1px solid #bfe3f4;
  border-radius:14px;
  background:#eef9ff;
  color:#24596f;
  font-size:.74rem;
  line-height:1.4;
  font-weight:780;
}
.basket-business-hours-alert>i{font-size:1.08rem;text-align:center;color:#2a8fbe}

@media(max-width:768px){
  .customer-bottom-nav,
  .customer-bottom-nav.has-four-items{
    box-sizing:border-box!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    align-items:stretch!important;
    overflow:hidden!important;
  }
  .customer-bottom-nav>button{
    box-sizing:border-box!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:5px 1px 4px!important;
    display:grid!important;
    grid-template-rows:28px 14px!important;
    align-content:center!important;
    align-items:center!important;
    justify-items:center!important;
    gap:2px!important;
    line-height:1!important;
    transform:none!important;
    translate:none!important;
    overflow:hidden!important;
  }
  .customer-bottom-nav>button.active,
  .customer-bottom-nav>button:active,
  .customer-bottom-nav>button:focus{
    transform:none!important;
    translate:none!important;
  }
  .customer-bottom-nav .nav-library-icon,
  .customer-bottom-nav .nav-library-icon--menu,
  .customer-bottom-nav .nav-library-icon--monkey,
  .customer-bottom-nav>button.active .nav-library-icon,
  .customer-bottom-nav>button:active .nav-library-icon{
    display:block!important;
    width:26px!important;
    height:26px!important;
    min-width:26px!important;
    max-width:26px!important;
    min-height:26px!important;
    max-height:26px!important;
    margin:0 auto!important;
    padding:0!important;
    object-fit:contain!important;
    align-self:center!important;
    transform:none!important;
    translate:none!important;
  }
  .customer-bottom-nav>button small{
    display:block!important;
    width:100%!important;
    height:14px!important;
    min-height:14px!important;
    margin:0!important;
    padding:0!important;
    line-height:14px!important;
    font-size:.65rem!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    transform:none!important;
    translate:none!important;
  }
}
@media(max-width:390px){
  .customer-bottom-nav .nav-library-icon,
  .customer-bottom-nav .nav-library-icon--menu,
  .customer-bottom-nav .nav-library-icon--monkey,
  .customer-bottom-nav>button.active .nav-library-icon{
    width:24px!important;height:24px!important;min-width:24px!important;max-width:24px!important;min-height:24px!important;max-height:24px!important;
  }
  .customer-bottom-nav>button{grid-template-rows:26px 14px!important}
  .customer-bottom-nav>button small{font-size:.61rem!important}
}
.basket-footer [data-go-checkout].is-business-closed,
.basket-footer [data-go-checkout]:disabled{
  background:#dfe6e1!important;
  color:#6f7a73!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
  opacity:1!important;
}


/* El + aislado parecía decorativo. El CTA ahora dice explícitamente Agregar
   y conserva el verde y la posición sobre la foto. */
.product-card-add.product-card-add--labeled,
.product-card-add--labeled{
  width:auto!important;
  min-width:82px!important;
  height:36px!important;
  min-height:36px!important;
  padding:0 10px!important;
  border:2px solid var(--green)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--green)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  box-shadow:0 5px 13px rgba(18,87,49,.10)!important;
  font-weight:950!important;
  font-size:.69rem!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.product-card-add--labeled i{font-size:.92rem!important;line-height:1!important;color:var(--green)!important}
.product-card-add--labeled .product-add-label{font-size:inherit!important;line-height:1!important;color:var(--green)!important}
.product-card-add--labeled.is-added{background:#fff!important;min-width:86px!important;border-color:var(--green)!important;color:var(--green)!important}
.product-card-add--labeled.is-added i{font-size:1rem!important;color:var(--green)!important}

@media(max-width:639px){
  .product-carousel .product-card-add.product-card-add--labeled{
    width:auto!important;
    min-width:72px!important;
    height:32px!important;
    min-height:32px!important;
    top:6px!important;
    right:5px!important;
    padding:0 8px!important;
    gap:4px!important;
    font-size:.62rem!important;
    border-width:2px!important;
    box-shadow:0 4px 10px rgba(18,87,49,.2)!important;
  }
  .product-carousel .product-card-add--labeled i{font-size:.82rem!important}
}

.basket-suggestion-image .product-card-add--suggestion{
  position:absolute!important;
  top:-7px!important;
  right:-4px!important;
  width:auto!important;
  min-width:72px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0 8px!important;
  border-width:2px!important;
  font-size:.61rem!important;
  z-index:3!important;
}
.basket-suggestion-image .product-card-add--suggestion i{font-size:.82rem!important}

/* ===== Solo icono + del botón Agregar · v273 ===== */
.product-card-add--labeled .product-plus-mark{
  flex:0 0 auto;
  width:19px;
  height:19px;
}
.product-card-add--labeled .product-plus-mark::before{width:19px;height:4px;background:var(--green)!important}
.product-card-add--labeled .product-plus-mark::after{width:4px;height:19px;background:var(--green)!important}
@media(max-width:639px){
  .product-carousel .product-card-add--labeled .product-plus-mark,
  .basket-suggestion-image .product-card-add--labeled .product-plus-mark{
    width:18px!important;
    height:18px!important;
  }
  .product-carousel .product-card-add--labeled .product-plus-mark::before,
  .basket-suggestion-image .product-card-add--labeled .product-plus-mark::before{width:18px!important;height:4px!important}
  .product-carousel .product-card-add--labeled .product-plus-mark::after,
  .basket-suggestion-image .product-card-add--labeled .product-plus-mark::after{width:4px!important;height:18px!important}
}


/* ===== Detalle de producto ordenado · v274 ===== */
.product-detail-description{margin:12px 0 0!important;color:var(--muted);font-size:.9rem;line-height:1.5}
.product-detail-items{margin-top:18px;background:transparent}
.product-detail-items h2{margin:0 0 9px;padding:0;font-size:.94rem;font-weight:950;color:var(--ink)}
.product-detail-items>div{display:grid;gap:8px}
.product-detail-items p{margin:0!important;min-height:0;padding:0;display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;color:#45534b!important;font-size:.82rem;line-height:1.42}
.product-detail-items p i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#f0f2f1;color:#7b8580;font-size:.9rem;font-weight:900;border:1px solid #d9dfdb}
.product-detail-items p span{min-width:0;padding-top:2px}
@media(max-width:560px){.product-detail-items{margin-top:15px}.product-detail-items h2{margin-bottom:8px;font-size:.9rem}.product-detail-items>div{gap:7px}.product-detail-items p{font-size:.78rem;grid-template-columns:22px minmax(0,1fr);gap:9px}.product-detail-items p i{width:22px;height:22px;font-size:.84rem}}


/* ===== Enlace sutil de detalles en tarjetas de producto · v277 ===== */
.product-detail-link{
  margin:8px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--green)!important;
  font-size:.78rem!important;
  font-weight:900!important;
  line-height:1.2!important;
  text-align:left!important;
  text-decoration:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:transparent;
}
.product-detail-link:hover,
.product-detail-link:focus-visible{
  color:#0b6332!important;
  text-decoration:underline!important;
  text-underline-offset:3px;
}
.product-detail-link:focus-visible{outline:none!important}
@media(max-width:639px){
  .product-detail-link{margin-top:7px!important;font-size:.73rem!important}
}

/* ===== Botón Agregar completo en “Completa tu pedido” · v279 ===== */
.basket-suggestion-image .product-card-add--suggestion{
  top:7px!important;
  right:7px!important;
  min-width:78px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 9px!important;
  overflow:visible!important;
  white-space:nowrap!important;
  z-index:5!important;
}
.basket-suggestion-carousel{
  padding-top:4px!important;
  overflow-y:visible!important;
}
@media(max-width:639px){
  .basket-suggestion-image .product-card-add--suggestion{
    top:7px!important;
    right:7px!important;
    min-width:76px!important;
    height:33px!important;
    min-height:33px!important;
    padding:0 8px!important;
  }
}


/* ===== Referidos + visibilidad barra canasta · v280 ===== */
.referral-share-card .referral-join-text{
  margin:8px auto 10px!important;
  color:#6d786f!important;
  font-size:.96rem!important;
  font-weight:900!important;
  line-height:1.1!important;
}
.referral-reward-box{
  display:grid;
  gap:8px;
  justify-items:center;
  max-width:420px;
  margin:0 auto 16px;
}
.referral-reward-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:10px 18px;
  border-radius:999px;
  background:#f5faf7;
  border:1px solid #d9e8de;
  color:#173b26;
}
.referral-reward-pill img{
  width:28px;
  height:28px;
  object-fit:contain;
  display:block;
}
.referral-reward-pill strong{
  font-size:1rem;
  font-weight:950;
  line-height:1.1;
  color:#173b26;
}
.referral-reward-box>small{
  display:block;
  color:#6d786f;
  font-size:.78rem;
  line-height:1.35;
  font-weight:800;
  text-align:center;
}
@media(max-width:420px){
  .referral-share-card .referral-join-text{margin-bottom:9px!important;font-size:.9rem!important}
  .referral-reward-pill{min-height:45px;padding:9px 16px;gap:8px}
  .referral-reward-pill img{width:24px;height:24px}
  .referral-reward-pill strong{font-size:.92rem}
  .referral-reward-box>small{font-size:.74rem}
}


/* ===== Referidos y horario inicio · v281 ===== */
.referral-share-card h2{display:flex;align-items:baseline;justify-content:center;gap:6px;flex-wrap:wrap}
.referral-share-card .referral-title-join{color:inherit;font-size:1em;font-weight:inherit}
.referral-limit-note[hidden],
.referral-share-card [data-referral-description][hidden]{display:none!important}
.business-hours-status{
  margin:12px 0 0!important;
  grid-template-columns:36px minmax(0,1fr);
  gap:8px;
  border-color:#efdca0!important;
  background:#fff7d8!important;
  color:#6b5213!important;
}
.business-hours-status .business-hours-emoji{display:grid;place-items:center;font-size:1.5rem;line-height:1;transform:translateY(-2px)}
.business-hours-status b{font-size:.78rem;line-height:1.15;color:#7a5b12}
.business-hours-status small{margin-top:2px;font-size:.72rem;line-height:1.35;color:#745f29}
.business-hours-status small strong{font-weight:950;color:#5c4310}
.business-hours-status.is-closed{border-color:#efdca0!important;background:#fff8e3!important;color:#7a621d!important}
.business-hours-status.is-closed b{color:#7a621d}
.business-hours-status.is-closed small{color:#7b6a39}
.business-hours-status>i{display:none!important}


/* ===== Tarjeta informativa de monedas en inicio · v287 ===== */
.home-coins-info-card{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:12px;
  align-items:center;
  margin:12px 0 0!important;
  padding:10px 12px;
  border:1px solid #d8c7ff;
  border-radius:17px;
  background:linear-gradient(135deg,#f2e8ff 0%,#ebe2ff 48%,#e3f4ff 100%);
  color:#4c2f83;
}
.home-coins-info-coin{
  width:52px;
  height:52px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 8px 14px rgba(89,56,156,.18));
}
.home-coins-info-copy,
.home-coins-info-copy b,
.home-coins-info-copy small{display:block;min-width:0}
.home-coins-info-copy b{
  font-size:.8rem;
  line-height:1.14;
  color:#5a33a2;
}
.home-coins-info-copy small{
  margin-top:3px;
  font-size:.71rem;
  line-height:1.32;
  color:#6a5a95;
}
.home-coins-info-copy small strong{font-weight:950;color:#4d318a}
@media(max-width:420px){
  .home-coins-info-card{grid-template-columns:50px minmax(0,1fr);gap:10px;padding:10px 12px}
  .home-coins-info-coin{width:48px;height:48px}
  .home-coins-info-copy b{font-size:.76rem}
  .home-coins-info-copy small{font-size:.68rem}
}


/* ===== Tarjetas informativas de inicio con dimensiones idénticas · v289 =====
   Horario y monedas comparten exactamente alto, padding, separación y radios. */
.business-hours-status,
.home-coins-info-card{
  box-sizing:border-box!important;
  width:100%!important;
  height:70px!important;
  min-height:70px!important;
  margin:12px 0 0!important;
  padding:8px 12px!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
  border-radius:17px!important;
}

.business-hours-status .business-hours-emoji,
.home-coins-info-coin{
  width:48px!important;
  height:48px!important;
  margin:0!important;
  align-self:center!important;
  justify-self:center!important;
}

.business-hours-status .business-hours-emoji{
  display:grid!important;
  place-items:center!important;
  font-size:1.65rem!important;
  line-height:1!important;
  transform:none!important;
}

.home-coins-info-coin{
  object-fit:contain!important;
  display:block!important;
}

.business-hours-status>span:last-child,
.home-coins-info-copy{
  min-width:0!important;
  align-self:center!important;
}

.business-hours-status b,
.home-coins-info-copy b{
  margin:0!important;
  line-height:1.15!important;
}

.business-hours-status small,
.home-coins-info-copy small{
  margin-top:3px!important;
  line-height:1.3!important;
}

@media(max-width:420px){
  .business-hours-status,
  .home-coins-info-card{
    height:68px!important;
    min-height:68px!important;
    padding:8px 11px!important;
    grid-template-columns:46px minmax(0,1fr)!important;
    gap:9px!important;
  }
  .business-hours-status .business-hours-emoji,
  .home-coins-info-coin{
    width:46px!important;
    height:46px!important;
  }
  .business-hours-status .business-hours-emoji{
    font-size:1.58rem!important;
  }
}

/* ===== Buscador de productos: estado activo y resultados vacíos · v290 ===== */
.menu-search-box{
  border:2px solid transparent;
  transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease;
}
.menu-search-box.search-active{
  background:#f2fbf5!important;
  border-color:var(--green)!important;
  box-shadow:0 0 0 3px rgba(23,126,66,.08);
}
.menu-search-box.search-active input{
  color:#122b1b!important;
  font-weight:800;
}
.menu-search-box.search-active>i{
  width:30px;
  height:30px;
  right:6px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--green);
  color:#fff!important;
  font-size:.95rem;
}
.menu-search-box.search-active input::-webkit-search-cancel-button{
  cursor:pointer;
}
.menu-search-empty{
  width:min(100%,640px);
  margin:28px auto 18px;
  padding:22px 18px 18px;
  display:grid;
  justify-items:center;
  gap:10px;
  border:1px solid #dce7df;
  border-radius:20px;
  background:#f8fbf9;
  text-align:center;
}
.menu-search-empty-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e4f4e9;
  color:var(--green);
  font-size:1.15rem;
}
.menu-search-empty-copy{
  display:grid;
  gap:5px;
}
.menu-search-empty-copy strong{
  color:#17231b;
  font-size:1rem;
  line-height:1.3;
  overflow-wrap:anywhere;
}
.menu-search-empty-copy span{
  color:#667069;
  font-size:.82rem;
  line-height:1.4;
}
.menu-search-empty button{
  margin-top:3px;
  padding:9px 14px;
  border:0;
  border-radius:999px;
  background:var(--green);
  color:#fff;
  font:inherit;
  font-size:.78rem;
  font-weight:800;
  cursor:pointer;
}
.menu-search-empty button:active{transform:scale(.98)}
@media(max-width:420px){
  .menu-search-empty{margin-top:20px;padding:19px 15px 16px;border-radius:18px}
  .menu-search-empty-copy strong{font-size:.94rem}
}

/* ===== Cupón de bienvenida compacto y temporizador · v271 ===== */
.home-content .welcome-coupon-banner{
 grid-template-columns:auto minmax(0,1fr) auto;
 align-items:center;
 column-gap:10px;
 padding:10px 12px;
 background:#8367bd;
}
.home-content .welcome-coupon-banner .welcome-coupon-gift{
 width:auto;
 height:auto;
 min-width:0;
 border-radius:0;
 background:transparent;
 color:inherit;
 font-size:2.55rem;
 line-height:1;
 overflow:visible;
 transform:translate(3px,-3px) rotate(-11deg);
 transform-origin:center;
}
.welcome-coupon-copy{min-width:0}
.home-content .welcome-coupon-banner .welcome-coupon-copy strong{
 display:block;
 overflow:hidden;
 text-overflow:ellipsis;
 line-height:1.12;
}
.home-content .welcome-coupon-banner .welcome-coupon-copy p{
 margin:3px 0 0;
 color:#f3eff9;
 white-space:nowrap;
}
.home-content .welcome-coupon-banner .welcome-coupon-copy p b{color:#fff}
.welcome-coupon-actions{
 display:flex;
 align-items:center;
 justify-content:flex-end;
 gap:9px;
 min-width:0;
}
.welcome-coupon-countdown{
 display:flex;
 flex-direction:column;
 align-items:flex-end;
 justify-content:center;
 min-width:max-content;
 line-height:1.05;
 white-space:nowrap;
}
.welcome-coupon-countdown small{
 margin:0 0 3px;
 color:#eee8f7;
 font-size:.54rem;
 font-weight:750;
 letter-spacing:.02em;
}
.welcome-coupon-countdown b{
 color:#fff;
 font-size:.69rem;
 font-weight:950;
}
.home-content .welcome-coupon-banner .welcome-coupon-actions button{
 min-height:34px;
 padding:7px 12px;
 border-radius:999px;
 color:#5b448e;
}
@media(max-width:420px){
 .home-content .welcome-coupon-banner{
  grid-template-columns:40px minmax(0,1fr) auto;
  column-gap:7px;
  padding:9px 9px;
 }
 .home-content .welcome-coupon-banner .welcome-coupon-gift{
  width:40px;
  font-size:2.25rem;
 }
 .home-content .welcome-coupon-banner .welcome-coupon-copy strong{font-size:.86rem}
 .home-content .welcome-coupon-banner .welcome-coupon-copy p{font-size:.62rem}
 .welcome-coupon-actions{gap:6px}
 .welcome-coupon-countdown small{font-size:.49rem}
 .welcome-coupon-countdown b{font-size:.63rem}
 .home-content .welcome-coupon-banner .welcome-coupon-actions button{
  min-height:32px;
  padding:6px 10px;
  font-size:.67rem;
 }
}
@media(max-width:350px){
 .home-content .welcome-coupon-banner{
  grid-template-columns:36px minmax(0,1fr) auto;
  column-gap:5px;
  padding:8px 7px;
 }
 .home-content .welcome-coupon-banner .welcome-coupon-gift{width:36px;font-size:2rem}
 .home-content .welcome-coupon-banner .welcome-coupon-copy strong{font-size:.80rem}
 .home-content .welcome-coupon-banner .welcome-coupon-copy p{font-size:.57rem}
 .welcome-coupon-actions{gap:5px}
 .welcome-coupon-countdown small{font-size:.46rem}
 .welcome-coupon-countdown b{font-size:.58rem}
 .home-content .welcome-coupon-banner .welcome-coupon-actions button{padding:6px 8px;font-size:.62rem}
}


/* ===== Temporizador sutil en Mis cupones · v272 ===== */
.account-coupon-expiry{
 display:flex;
 flex-direction:column;
 align-items:flex-end;
 gap:5px;
}
.account-coupon-live-countdown{
 display:inline-flex;
 align-items:baseline;
 gap:4px;
 width:max-content;
 max-width:100%;
 padding:3px 7px;
 border-radius:999px;
 background:#f2eef8;
 color:#66538f;
 font-size:.58rem;
 font-weight:800;
 line-height:1.15;
 white-space:nowrap;
}
.account-coupon-live-countdown>b{
 display:inline!important;
 color:#59447f!important;
 font-size:.62rem!important;
 font-weight:950!important;
}
@media(max-width:520px){
 .account-coupon-expiry{align-items:flex-start}
 .account-coupon-live-countdown{padding:3px 6px;font-size:.55rem}
 .account-coupon-live-countdown>b{font-size:.59rem!important}
}

/* ===== Confirmación visual al agregar a canasta · v324 ===== */
/* El contador de productos debe llamar la atención solo cuando realmente hay algo en la canasta. */
.cart-top-button b,
.menu-cart-button b,
[data-cart-count]{
 background:#e53935!important;
 color:#fff!important;
 border-color:#fff!important;
}

.customer-cart-flyer{
 position:fixed;
 z-index:3600;
 display:grid;
 place-items:center;
 overflow:hidden;
 border:2px solid rgba(255,255,255,.96);
 border-radius:16px;
 background:#fff;
 box-shadow:0 10px 24px rgba(16,28,19,.22);
 font-size:25px;
 line-height:1;
 opacity:1;
 pointer-events:none;
 transition:transform .56s cubic-bezier(.22,.8,.25,1),opacity .56s ease;
 will-change:transform,opacity;
}
.customer-cart-flyer img{
 width:100%;
 height:100%;
 display:block;
 object-fit:cover;
}
.floating-cart.customer-cart-hit,
.floating-cart.floating-cart-added{
 transform-origin:center center;
 animation:customerCartReceived .48s cubic-bezier(.2,1.22,.35,1)!important;
}
.menu-cart-button.customer-cart-hit,
.cart-top-button.customer-cart-hit{
 animation:customerCartIconReceived .42s cubic-bezier(.2,1.28,.35,1);
}
@keyframes customerCartReceived{
 0%{transform:translateX(-50%) scale(1)}
 42%{transform:translateX(-50%) scale(1.045)}
 72%{transform:translateX(-50%) scale(.992)}
 100%{transform:translateX(-50%) scale(1)}
}
@keyframes customerCartIconReceived{
 0%{transform:scale(1)}
 48%{transform:scale(1.13)}
 100%{transform:scale(1)}
}
@media(prefers-reduced-motion:reduce){
 .customer-cart-flyer{display:none!important}
 .floating-cart.customer-cart-hit,
 .floating-cart.floating-cart-added,
 .menu-cart-button.customer-cart-hit,
 .cart-top-button.customer-cart-hit{animation:none!important}
}

/* ===== Canasta cliente · cremas por producto v325 ===== */
.customer-item-creams{
 display:grid;
 grid-template-columns:52px minmax(0,1fr);
 align-items:start;
 gap:6px 8px;
 grid-column:2/-1;
 margin-top:2px;
 padding-top:8px;
 border-top:1px dashed #e5e9e5;
}
.basket-promotion-group>.customer-item-creams{
 grid-template-columns:52px minmax(0,1fr);
 margin:8px 12px 2px;
}
.customer-item-creams-label{
 padding-top:5px;
 color:#68746c;
 font-size:.62rem;
 font-weight:900;
 text-transform:uppercase;
 letter-spacing:.035em;
}
.customer-item-cream-chips{display:flex;flex-wrap:wrap;gap:5px}
.customer-item-cream-chips button{
 display:inline-flex;
 align-items:center;
 gap:4px;
 min-height:29px;
 padding:5px 8px;
 border:1px solid #d6ded8;
 border-radius:999px;
 background:#fafcf9;
 color:#5d6861;
 font:inherit;
 font-size:.66rem;
 font-weight:800;
 line-height:1;
 cursor:pointer;
}
.customer-item-cream-chips button i{
 width:13px;
 height:13px;
 display:grid;
 place-items:center;
 border:1px solid #bec9c1;
 border-radius:4px;
 font-style:normal;
 font-size:.55rem;
 line-height:1;
}
.customer-item-cream-chips button.selected{border-color:#83bf95;background:#eaf7ee;color:#226c40}
.customer-item-cream-chips button.selected i{border-color:#28894d;background:#28894d;color:#fff}
.checkout-product-copy em,
.order-detail-product-copy em{
 display:block;
 margin-top:3px;
 color:#6b776f;
 font-size:.65rem;
 font-style:normal;
 font-weight:650;
 line-height:1.3;
}
@media(max-width:520px){
 .customer-item-creams{grid-template-columns:1fr;gap:5px;grid-column:1/-1;margin-left:0}
 .basket-promotion-group>.customer-item-creams{grid-template-columns:1fr;margin-left:10px;margin-right:10px}
 .customer-item-creams-label{padding-top:0}
 .customer-item-cream-chips{gap:4px}
 .customer-item-cream-chips button{min-height:28px;padding:5px 7px;font-size:.63rem}
}
.basket-promotion-group>.customer-item-creams{grid-column:1/-1}

/* ===== Torneos · premios en una sola fila v167 ===== */
.ranking-prizes-section{margin:14px 0 16px;min-width:0}
.ranking-prizes-section>h3{margin:0 0 8px;padding:0 2px;font-size:.72rem;font-weight:1000;letter-spacing:.08em;color:#173f2a}
.ranking-prizes-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;min-width:0}
.ranking-prize-row{min-width:0;display:grid;grid-template-rows:auto auto;justify-items:center;align-content:start;gap:5px;padding:8px 3px 7px;border:0;border-top:3px solid #d8a31c;background:#fffaf0;border-radius:8px}
.ranking-prize-row.rank-2{border-top-color:#9aa1a8;background:#f8fafb}
.ranking-prize-row.rank-3{border-top-color:#b56b31;background:#fff8f1}
.ranking-prize-row>.rank{height:42px;display:flex;align-items:center;justify-content:center;font-weight:1000}
.ranking-prize-row>.rank .pixel-number{--px:4.7px;display:flex;align-items:center;gap:1px;line-height:1;filter:drop-shadow(2px 2px 0 rgba(0,0,0,.18))}
.ranking-prize-row>.rank .pixel-digit{display:grid;grid-template-columns:repeat(5,var(--px));grid-template-rows:repeat(7,var(--px));width:calc(var(--px)*5);height:calc(var(--px)*7)}
.ranking-prize-row>.rank .px{display:block;width:var(--px);height:var(--px)}
.ranking-prize-row>.rank .px-0,.ranking-prize-row>.rank .px-2{background:transparent}
.ranking-prize-row>.rank .px-1{background:currentColor}
.ranking-prize-row.rank-1>.rank{color:#c58b00}
.ranking-prize-row.rank-2>.rank{color:#6f7880}
.ranking-prize-row.rank-3>.rank{color:#a95c25}
.ranking-prize-main{width:100%;min-width:0;display:grid;justify-items:center}
.ranking-prize-ticket{position:relative;width:min(100%,132px);display:block;min-width:0}
.ranking-prize-ticket-art{display:block;width:100%;height:auto;image-rendering:pixelated}
.ranking-prize-ticket-value{position:absolute;left:50%;top:50%;transform:translate(-50%,-53%);display:flex;align-items:center;justify-content:center;width:100%;padding:0 2px;font-family:"Courier New",monospace;font-size:clamp(.68rem,2.5vw,.95rem);line-height:1;font-weight:1000;color:#7f4500;letter-spacing:-.04em;text-shadow:1px 1px 0 #fff4b8,-1px -1px 0 rgba(255,205,64,.5);white-space:nowrap}
.ranking-prize-ticket-value .pixel-ticket-stack{display:grid;justify-items:center;gap:1px}
.ranking-prize-ticket-value .pixel-ticket-inline{display:inline-flex;align-items:center;justify-content:center;gap:2px;white-space:nowrap}
.ranking-prize-ticket-value i{font-style:normal;font-size:.95em;font-weight:1000;color:#7f4500;line-height:1}
.ranking-prize-ticket-value .pixel-ticket-word{font-size:.95em;letter-spacing:.01em}
.ranking-prize-ticket-value .pixel-ticket-stack>small{font-size:clamp(.34rem,1.35vw,.46rem);line-height:1;font-weight:1000;letter-spacing:.02em;color:#7f4500}
.ranking-prize-ticket-value .pixel-ticket-number{display:inline-flex;align-items:center;justify-content:center}
.ranking-prize-ticket-value .pixel-ticket-number .pixel-number{--px:clamp(1.3px,.55vw,2.05px);gap:1px;display:flex;align-items:center;justify-content:center}
.ranking-prize-ticket-value .pixel-ticket-number .pixel-digit{display:grid;grid-template-columns:repeat(5,var(--px));grid-template-rows:repeat(7,var(--px));width:calc(var(--px)*5);height:calc(var(--px)*7)}
.ranking-prize-ticket-value .pixel-ticket-number .px{display:block;width:var(--px);height:var(--px)}
.ranking-prize-ticket-value .pixel-ticket-number .px-0,.ranking-prize-ticket-value .pixel-ticket-number .px-2{background:transparent}
.ranking-prize-ticket-value .pixel-ticket-number .px-1{background:#7f4500}
.ranking-prize-coins{display:flex;align-items:center;justify-content:center;gap:1px;min-width:0}
.ranking-prize-coins .pixel-number{--px:clamp(1.45px,.55vw,2.1px);display:flex;align-items:center;gap:1px}
.ranking-prize-coins img{width:clamp(20px,7vw,28px);height:auto;object-fit:contain;image-rendering:pixelated}
@media(max-width:420px){
 .ranking-prizes-list{gap:4px}
 .ranking-prize-row{padding:7px 2px 6px;gap:3px;border-radius:7px}
 .ranking-prize-row>.rank{height:38px}
 .ranking-prize-row>.rank .pixel-number{--px:4.15px}
 .ranking-prize-ticket{width:100%}
 .ranking-prize-ticket-value{font-size:clamp(.58rem,2.65vw,.72rem);letter-spacing:-.05em}
 .ranking-prize-ticket-value .pixel-ticket-stack>small{font-size:clamp(.30rem,1.35vw,.38rem)}
 .ranking-prize-ticket-value .pixel-ticket-number .pixel-number{--px:clamp(1.15px,.48vw,1.55px)}
}
@media(max-width:340px){
 .ranking-prizes-list{gap:3px}
 .ranking-prize-row{padding-left:1px;padding-right:1px}
 .ranking-prize-row>.rank .pixel-number{--px:3.8px}
 .ranking-prize-ticket-value{font-size:.54rem}
 .ranking-prize-ticket-value .pixel-ticket-stack>small{font-size:.28rem}
 .ranking-prize-ticket-value .pixel-ticket-number .pixel-number{--px:1.05px}
}


/* ===== Torneos · premios limpios e información externa v168 ===== */
.tournament-rule-external{margin-top:24px;margin-bottom:14px}
.tournament-rule-external + .tournament-section{margin-top:0}
.ranking-prizes-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ranking-prize-row,.ranking-prize-row.rank-2,.ranking-prize-row.rank-3{
 min-width:0;
 padding:0 2px 4px;
 gap:5px;
 border:0!important;
 border-radius:0!important;
 background:transparent!important;
 box-shadow:none!important;
}
.ranking-prize-place{
 display:block;
 min-height:1.2em;
 color:#24332a;
 font-size:.74rem;
 line-height:1.2;
 font-weight:850;
 text-align:center;
 white-space:nowrap;
}
.ranking-prize-main{width:100%;min-width:0}
@media(max-width:420px){
 .ranking-prizes-list{gap:4px}
 .ranking-prize-row,.ranking-prize-row.rank-2,.ranking-prize-row.rank-3{padding:0 1px 3px;gap:4px}
 .ranking-prize-place{font-size:.68rem}
}
@media(max-width:340px){
 .ranking-prizes-list{gap:3px}
 .ranking-prize-place{font-size:.62rem}
}


/* ===== Torneos · premios sin recuadros y aviso alineado v169 ===== */
.tournament-rule-external{
 width:calc(100% - 8px);
 margin:0 auto 14px;
}
.tournament-rule-external + .tournament-section{margin-top:0}
.ranking-prizes-section{margin:14px 0 16px;min-width:0}
.ranking-prizes-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ranking-prize-row,
.ranking-prize-row.rank-2,
.ranking-prize-row.rank-3{
 min-width:0;
 padding:0 2px 4px;
 gap:6px;
 border:0!important;
 border-radius:0!important;
 background:transparent!important;
 box-shadow:none!important;
}
.ranking-prize-place{
 display:flex;
 align-items:flex-end;
 justify-content:center;
 gap:3px;
 min-height:auto;
 margin:0;
 padding:0;
 color:#24332a;
 background:transparent!important;
 border:0!important;
 border-radius:0!important;
 box-shadow:none!important;
 line-height:1;
 white-space:nowrap;
}
.ranking-prize-place .rank{
 height:auto;
 display:flex;
 align-items:flex-end;
 justify-content:center;
 line-height:1;
}
.ranking-prize-place .rank .pixel-number{
 --px:clamp(2.55px,.9vw,3.6px);
 display:flex;
 align-items:center;
 gap:1px;
 line-height:1;
 filter:none;
}
.ranking-prize-place .rank .pixel-digit{
 display:grid;
 grid-template-columns:repeat(5,var(--px));
 grid-template-rows:repeat(7,var(--px));
 width:calc(var(--px)*5);
 height:calc(var(--px)*7);
}
.ranking-prize-place .rank .px{display:block;width:var(--px);height:var(--px)}
.ranking-prize-place .rank .px-0,
.ranking-prize-place .rank .px-2{background:transparent}
.ranking-prize-place .rank .px-1{background:currentColor}
.ranking-prize-row.rank-1 .ranking-prize-place .rank{color:#c58b00}
.ranking-prize-row.rank-2 .ranking-prize-place .rank{color:#6f7880}
.ranking-prize-row.rank-3 .ranking-prize-place .rank{color:#a95c25}
.ranking-prize-suffix{
 font-size:.7rem;
 font-weight:900;
 line-height:1.05;
 color:#24332a;
 transform:translateY(-1px);
}
.ranking-prize-main{width:100%;min-width:0}
.ranking-prize-ticket{width:100%}
@media(max-width:420px){
 .tournament-rule-external{width:calc(100% - 6px)}
 .ranking-prizes-list{gap:5px}
 .ranking-prize-row,
 .ranking-prize-row.rank-2,
 .ranking-prize-row.rank-3{padding:0 1px 3px;gap:4px}
 .ranking-prize-place .rank .pixel-number{--px:clamp(2.35px,1vw,3.1px)}
 .ranking-prize-suffix{font-size:.62rem}
}
@media(max-width:340px){
 .ranking-prizes-list{gap:4px}
 .ranking-prize-place .rank .pixel-number{--px:2.15px}
 .ranking-prize-suffix{font-size:.56rem}
}


/* ===== Torneos · tarjetas de premios con fondo y etiqueta externa v170 ===== */
.tournament-rule-external{
 width:min(100%,100%);
 margin:0 0 14px;
}
.ranking-prizes-list{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:8px;
 width:100%;
 min-width:0;
}
.ranking-prize-row,
.ranking-prize-row.rank-2,
.ranking-prize-row.rank-3{
 min-width:0;
 display:grid;
 align-content:start;
 justify-items:center;
 gap:6px;
 padding:10px 6px 8px;
 border:1px solid rgba(21,54,38,.08)!important;
 border-radius:18px!important;
 box-shadow:0 6px 16px rgba(17,23,19,.06)!important;
 background:#fff6d8!important;
}
.ranking-prize-row.rank-1{background:#fff1ad!important}
.ranking-prize-row.rank-2{background:#edf0f3!important}
.ranking-prize-row.rank-3{background:#f7dfcf!important}
.ranking-prize-place{
 display:flex;
 align-items:flex-end;
 justify-content:center;
 gap:3px;
 min-height:auto;
 margin:0;
 padding:0;
 color:#24332a;
 background:transparent!important;
 border:0!important;
 border-radius:0!important;
 box-shadow:none!important;
 line-height:1;
 white-space:nowrap;
}
.ranking-prize-place .rank .pixel-number{
 --px:clamp(2.45px,.85vw,3.35px);
 display:flex;
 align-items:center;
 gap:1px;
 line-height:1;
 filter:none;
}
.ranking-prize-place .rank .pixel-digit{
 display:grid;
 grid-template-columns:repeat(5,var(--px));
 grid-template-rows:repeat(7,var(--px));
 width:calc(var(--px)*5);
 height:calc(var(--px)*7);
}
.ranking-prize-place .rank .px{display:block;width:var(--px);height:var(--px)}
.ranking-prize-place .rank .px-0,
.ranking-prize-place .rank .px-2{background:transparent}
.ranking-prize-place .rank .px-1{background:currentColor}
.ranking-prize-row.rank-1 .ranking-prize-place .rank{color:#c58b00}
.ranking-prize-row.rank-2 .ranking-prize-place .rank{color:#6f7880}
.ranking-prize-row.rank-3 .ranking-prize-place .rank{color:#a95c25}
.ranking-prize-suffix{font-size:.72rem;font-weight:900;line-height:1.05;color:#24332a;transform:translateY(-1px)}
.ranking-prize-main{
 width:100%;
 min-width:0;
 display:grid;
 justify-items:center;
 gap:4px;
}
.ranking-prize-ticket{
 position:relative;
 width:min(100%,120px);
 display:block;
 min-width:0;
}
.ranking-prize-ticket-art{display:block;width:100%;height:auto;image-rendering:pixelated}
.ranking-prize-ticket-value{
 position:absolute;
 left:50%;
 top:50%;
 transform:translate(-50%,-56%);
 display:flex;
 align-items:center;
 justify-content:center;
 width:100%;
 padding:0 2px;
 font-family:"Courier New",monospace;
 font-size:clamp(.66rem,2.3vw,.92rem);
 line-height:1;
 font-weight:1000;
 color:#7f4500;
 letter-spacing:-.04em;
 text-shadow:1px 1px 0 #fff4b8,-1px -1px 0 rgba(255,205,64,.5);
 white-space:nowrap;
}
.ranking-prize-ticket-face-inline{display:inline-flex;align-items:center;justify-content:center;gap:2px;white-space:nowrap}
.ranking-prize-ticket-value i{font-style:normal;font-size:.95em;font-weight:1000;color:#7f4500;line-height:1}
.ranking-prize-ticket-face-word{font-size:.95em;letter-spacing:.01em}
.ranking-prize-ticket-face-number{display:inline-flex;align-items:center;justify-content:center}
.ranking-prize-ticket-face-number .pixel-number{--px:clamp(1.3px,.52vw,1.95px);gap:1px;display:flex;align-items:center;justify-content:center}
.ranking-prize-ticket-face-number .pixel-digit{display:grid;grid-template-columns:repeat(5,var(--px));grid-template-rows:repeat(7,var(--px));width:calc(var(--px)*5);height:calc(var(--px)*7)}
.ranking-prize-ticket-face-number .px{display:block;width:var(--px);height:var(--px)}
.ranking-prize-ticket-face-number .px-0,.ranking-prize-ticket-face-number .px-2{background:transparent}
.ranking-prize-ticket-face-number .px-1{background:#7f4500}
.ranking-prize-caption{
 display:block;
 font-size:.72rem;
 line-height:1.1;
 font-weight:800;
 color:#6d5730;
 text-transform:lowercase;
 text-align:center;
}
@media(max-width:420px){
 .ranking-prizes-list{gap:5px}
 .ranking-prize-row,.ranking-prize-row.rank-2,.ranking-prize-row.rank-3{padding:8px 4px 7px;border-radius:16px!important;gap:4px}
 .ranking-prize-place .rank .pixel-number{--px:2.2px}
 .ranking-prize-suffix{font-size:.62rem}
 .ranking-prize-ticket{width:100%}
 .ranking-prize-ticket-value{font-size:clamp(.55rem,2.5vw,.72rem)}
 .ranking-prize-ticket-face-number .pixel-number{--px:clamp(1.05px,.46vw,1.45px)}
 .ranking-prize-caption{font-size:.64rem}
}
@media(max-width:340px){
 .ranking-prizes-list{gap:4px}
 .ranking-prize-row,.ranking-prize-row.rank-2,.ranking-prize-row.rank-3{padding:7px 3px 6px}
 .ranking-prize-place .rank .pixel-number{--px:2px}
 .ranking-prize-suffix{font-size:.56rem}
 .ranking-prize-ticket-value{font-size:.5rem}
 .ranking-prize-ticket-face-number .pixel-number{--px:.96px}
 .ranking-prize-caption{font-size:.58rem}
}


/* ===== Torneos · usuarios, avatares y corona v171 ===== */
.ranking-table-head{
 grid-template-columns:48px 42px minmax(0,1fr) minmax(82px,auto);
 gap:7px;
 align-items:center;
}
.ranking-table-head span:nth-child(3){text-align:left}
.ranking-table-head span:last-child{text-align:right}
.ranking-row,
.ranking-row.top-rank,
.ranking-row.top-rank.rank-2,
.ranking-row.top-rank.rank-3{
 grid-template-columns:48px 42px minmax(0,1fr) minmax(82px,auto);
 gap:7px;
 align-items:center;
}
.ranking-user-avatar{
 width:38px;
 height:38px;
 border-radius:50%;
 overflow:hidden;
 display:grid;
 place-items:center;
 background:#edf3ef;
 border:1px solid rgba(23,63,42,.12);
}
.ranking-user-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.ranking-row.top-rank .ranking-user-avatar{width:42px;height:42px}
.ranking-user-copy{
 min-width:0;
 display:flex;
 flex-direction:column;
 align-items:flex-start;
 justify-content:center;
 position:relative;
}
.ranking-user-copy b{
 display:block;
 max-width:100%;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
.ranking-user-crown{
 display:block;
 height:18px;
 margin:0 0 -1px;
 font-size:1rem;
 line-height:1;
 transform:translateX(2px) rotate(-5deg);
 filter:drop-shadow(0 1px 0 rgba(0,0,0,.12));
}
@media(max-width:420px){
 .ranking-table-head{
  grid-template-columns:40px 34px minmax(0,1fr) 76px;
  gap:5px;
  padding-left:7px;
  padding-right:7px;
  font-size:.53rem;
 }
 .ranking-row,
 .ranking-row.top-rank,
 .ranking-row.top-rank.rank-2,
 .ranking-row.top-rank.rank-3{
  grid-template-columns:40px 34px minmax(0,1fr) 76px;
  gap:5px;
  padding-left:7px;
  padding-right:7px;
 }
 .ranking-user-avatar{width:32px;height:32px}
 .ranking-row.top-rank .ranking-user-avatar{width:34px;height:34px}
 .ranking-user-copy b{font-size:.78rem}
 .ranking-user-copy small{font-size:.6rem}
 .ranking-user-crown{height:15px;font-size:.86rem}
 .ranking-coins img{width:20px;max-height:20px}
 .ranking-coins .pixel-number{--px:clamp(.9px,.30vw,1.3px)}
}
@media(max-width:340px){
 .ranking-table-head{
  grid-template-columns:36px 30px minmax(0,1fr) 68px;
  gap:4px;
  font-size:.48rem;
 }
 .ranking-row,
 .ranking-row.top-rank,
 .ranking-row.top-rank.rank-2,
 .ranking-row.top-rank.rank-3{
  grid-template-columns:36px 30px minmax(0,1fr) 68px;
  gap:4px;
  padding-left:5px;
  padding-right:5px;
 }
 .ranking-user-avatar,.ranking-row.top-rank .ranking-user-avatar{width:29px;height:29px}
 .ranking-user-copy b{font-size:.72rem}
 .ranking-user-crown{height:14px;font-size:.78rem}
}


/* ===== Torneos · ajustes de ranking y aviso v172 ===== */
.ranking-table-head{
 grid-template-columns:48px 42px minmax(0,1fr) minmax(82px,auto);
 gap:7px;
 align-items:center;
}
.ranking-table-head span:nth-child(3){text-align:left}
.ranking-table-head span:last-child{text-align:right}
.ranking-row,
.ranking-row.top-rank,
.ranking-row.top-rank.rank-2,
.ranking-row.top-rank.rank-3{
 grid-template-columns:48px 42px minmax(0,1fr) minmax(82px,auto);
 gap:7px;
 align-items:center;
 border-left:4px solid #dfe5e0;
}
.ranking-row .rank,
.ranking-row.top-rank .rank{
 display:flex;
 align-items:center;
 justify-content:center;
 width:100%;
 text-align:center;
 justify-self:center;
}
.ranking-row:not(.top-rank){background:transparent}
.ranking-user-avatar{
 position:relative;
 width:38px;
 height:38px;
 border-radius:50%;
 overflow:visible;
 display:grid;
 place-items:center;
 background:#edf3ef;
 border:1px solid rgba(23,63,42,.12);
}
.ranking-user-avatar img{
 width:100%;
 height:100%;
 display:block;
 object-fit:cover;
 border-radius:50%;
}
.ranking-row.top-rank .ranking-user-avatar{width:42px;height:42px}
.ranking-user-avatar-crown{
 position:absolute;
 right:-4px;
 top:-6px;
 z-index:2;
 font-size:.92rem;
 line-height:1;
 filter:drop-shadow(0 1px 0 rgba(0,0,0,.16));
}
.ranking-user-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.ranking-user-copy b{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ranking-empty-state{
 padding:24px 8px 10px;
 text-align:center;
 color:#315241;
}
.ranking-empty-state i{
 display:block;
 font-size:2rem;
 line-height:1;
 color:#178447;
 margin-bottom:8px;
}
.ranking-empty-state b{
 display:block;
 font-size:1.05rem;
 line-height:1.2;
 color:#173f2a;
 margin-bottom:4px;
}
.ranking-empty-state span{
 display:block;
 font-size:.8rem;
 line-height:1.35;
 color:#5a6a60;
}
@media(max-width:420px){
 .ranking-table-head{
  grid-template-columns:40px 34px minmax(0,1fr) 76px;
  gap:5px;
  padding-left:7px;
  padding-right:7px;
  font-size:.53rem;
 }
 .ranking-row,
 .ranking-row.top-rank,
 .ranking-row.top-rank.rank-2,
 .ranking-row.top-rank.rank-3{
  grid-template-columns:40px 34px minmax(0,1fr) 76px;
  gap:5px;
  padding-left:7px;
  padding-right:7px;
 }
 .ranking-user-avatar{width:32px;height:32px}
 .ranking-row.top-rank .ranking-user-avatar{width:34px;height:34px}
 .ranking-user-avatar-crown{right:-4px;top:-6px;font-size:.8rem}
 .ranking-user-copy b{font-size:.78rem}
 .ranking-user-copy small{font-size:.6rem}
 .ranking-coins img{width:20px;max-height:20px}
 .ranking-coins .pixel-number{--px:clamp(.9px,.30vw,1.3px)}
 .ranking-empty-state{padding:20px 4px 8px}
 .ranking-empty-state i{font-size:1.7rem}
 .ranking-empty-state b{font-size:.92rem}
 .ranking-empty-state span{font-size:.72rem}
}
@media(max-width:340px){
 .ranking-table-head{
  grid-template-columns:36px 30px minmax(0,1fr) 68px;
  gap:4px;
  font-size:.48rem;
 }
 .ranking-row,
 .ranking-row.top-rank,
 .ranking-row.top-rank.rank-2,
 .ranking-row.top-rank.rank-3{
  grid-template-columns:36px 30px minmax(0,1fr) 68px;
  gap:4px;
  padding-left:5px;
  padding-right:5px;
 }
 .ranking-user-avatar,.ranking-row.top-rank .ranking-user-avatar{width:29px;height:29px}
 .ranking-user-avatar-crown{right:-4px;top:-5px;font-size:.74rem}
 .ranking-user-copy b{font-size:.72rem}
}


/* ===== Torneos · privacidad, corona y resumen informativo v173 ===== */
.tournament-info-copy{display:block;min-width:0}
.tournament-info-title{
 margin:0 0 6px;
 font-size:.82rem;
 line-height:1.2;
 font-weight:900;
 color:#174d62;
}
.tournament-info-list{
 margin:0;
 padding:0 0 0 17px;
 display:grid;
 gap:3px;
 color:#24566a;
 font-size:.76rem;
 line-height:1.3;
}
.tournament-info-list li{margin:0;padding-left:1px}
.tournament-info-list b{font-weight:900}
.tournament-info-note{
 margin:7px 0 0;
 padding-top:7px;
 border-top:1px solid rgba(48,158,195,.24);
 font-size:.72rem;
 line-height:1.3;
 color:#376778;
}
.ranking-user-avatar{overflow:hidden}
.ranking-user-avatar-crown{display:none!important}
.ranking-user-copy{position:relative;padding-top:0}
.ranking-user-crown{
 display:block;
 height:16px;
 margin:0 0 -1px 2px;
 font-size:.9rem;
 line-height:1;
 transform:rotate(-5deg);
 filter:drop-shadow(0 1px 0 rgba(0,0,0,.12));
}
@media(max-width:420px){
 .tournament-info-title{font-size:.76rem;margin-bottom:5px}
 .tournament-info-list{font-size:.69rem;line-height:1.28;gap:2px;padding-left:15px}
 .tournament-info-note{font-size:.66rem;margin-top:6px;padding-top:6px}
 .ranking-user-crown{height:14px;font-size:.78rem}
}
@media(max-width:340px){
 .tournament-info-title{font-size:.72rem}
 .tournament-info-list{font-size:.65rem}
 .tournament-info-note{font-size:.62rem}
 .ranking-user-crown{height:13px;font-size:.72rem}
}

/* ===== Primera entrada después del registro · v273 ===== */
body.first-customer-welcome-open{overflow:hidden!important}
.first-customer-welcome{
 position:fixed;inset:0;z-index:9000;display:grid;place-items:center;
 padding:max(16px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));
 background:rgba(15,24,18,.56);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
 animation:firstWelcomeFadeIn .18s ease both;overflow:auto;overscroll-behavior:contain;
}
.first-customer-welcome.is-closing{animation:firstWelcomeFadeOut .18s ease both}
.first-customer-welcome-card{
 position:relative;width:min(100%,390px);border-radius:26px;background:#fff;color:#14251b;
 padding:34px 22px 22px;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.28);
 animation:firstWelcomeCardIn .22s ease both;
}
.first-customer-welcome-close{
 position:absolute;top:10px;right:10px;width:38px;height:38px;border:0;border-radius:50%;
 display:grid;place-items:center;background:#eef3ef;color:#506158;font-size:1.65rem;line-height:1;
 cursor:pointer;touch-action:manipulation;
}
.first-customer-welcome-close:focus-visible,.first-customer-welcome-close:hover{outline:3px solid rgba(23,132,71,.14);background:#e4ede7;color:#173e28}
.first-customer-welcome-icon{
 width:68px;height:68px;margin:0 auto 14px;border-radius:22px;display:grid;place-items:center;
 background:#fff6df;font-size:2.4rem;
}
.first-customer-welcome h2{margin:0;color:#143d28;font-size:clamp(1.45rem,5vw,1.8rem);line-height:1.16;font-weight:950}
.first-customer-welcome-lead{margin:10px 0 0;color:#596860;font-size:1rem;line-height:1.4}
.first-customer-welcome-order{
 width:100%;min-height:52px;margin-top:22px;border:0;border-radius:16px;background:#178447;color:#fff;
 font-weight:950;font-size:1rem;cursor:pointer;touch-action:manipulation;box-shadow:0 9px 22px rgba(23,132,71,.2);
}
.first-customer-welcome-order:hover,.first-customer-welcome-order:focus-visible{background:#126f3b;outline:3px solid rgba(23,132,71,.15)}
@keyframes firstWelcomeFadeIn{from{opacity:0}to{opacity:1}}
@keyframes firstWelcomeFadeOut{from{opacity:1}to{opacity:0}}
@keyframes firstWelcomeCardIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:520px){
 .first-customer-welcome{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}
 .first-customer-welcome-card{width:min(100%,370px);padding:31px 17px 18px;border-radius:23px}
 .first-customer-welcome-close{top:8px;right:8px;width:36px;height:36px}
 .first-customer-welcome-icon{width:62px;height:62px;font-size:2.2rem;margin-bottom:12px}
 .first-customer-welcome-order{min-height:50px;margin-top:20px}
}
@media(max-height:560px){.first-customer-welcome{place-items:start center}.first-customer-welcome-card{margin:auto 0}}
@media(prefers-reduced-motion:reduce){.first-customer-welcome,.first-customer-welcome-card,.first-customer-welcome.is-closing{animation:none!important}}

/* v272 · instalación PWA y avisos útiles del pedido */
.payment-success-smart-actions{display:grid;gap:9px;margin-top:16px;text-align:left}
.payment-success-smart-actions[hidden]{display:none!important}
.payment-success-dialog-card .payment-success-smart-action{width:100%;min-height:58px;margin:0;border:1px solid #dfe7e1;border-radius:16px;background:#f8fbf9;color:#172019;padding:10px 12px;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;text-align:left}
.payment-success-dialog-card .payment-success-smart-action[hidden]{display:none!important}
.payment-success-dialog-card .payment-success-smart-action:disabled{opacity:.58;cursor:not-allowed}
.payment-success-smart-icon{width:38px;height:38px;border-radius:12px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:1.05rem}
.payment-success-smart-action b,.payment-success-smart-action small{display:block}
.payment-success-smart-action b{font-size:.8rem;line-height:1.2}
.payment-success-smart-action small{margin-top:3px;color:#69746c;font-size:.67rem;line-height:1.3;font-weight:650}
.payment-success-dialog-card .payment-success-primary{margin-top:15px}
@media (min-width:720px){
 .payment-success-dialog-card{width:min(100%,440px)}
 .payment-success-smart-actions{grid-template-columns:1fr 1fr}
 .payment-success-dialog-card .payment-success-smart-action{min-height:76px;grid-template-columns:34px minmax(0,1fr);padding:11px}
 .payment-success-smart-icon{width:34px;height:34px}
}
@media (max-width:560px){
 .payment-success-dialog{padding:14px max(14px,env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
 .payment-success-dialog-card{max-height:calc(100dvh - 28px - env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain}
 .payment-success-smart-actions{gap:8px}
 .payment-success-dialog-card .payment-success-smart-action{min-height:56px;border-radius:15px}
}


/* v273 · invitación a reseña de Google después de una calificación perfecta */
.google-review-dialog{position:fixed;inset:0;z-index:4900;display:grid;place-items:center;padding:22px;background:rgba(13,28,20,.56);backdrop-filter:blur(5px)}
.google-review-dialog[hidden]{display:none!important}
.google-review-dialog-card{position:relative;width:min(100%,390px);padding:28px 22px 22px;border-radius:26px;background:#fff;box-shadow:0 24px 70px rgba(7,26,15,.28);text-align:center}
.google-review-close{position:absolute;top:12px;right:12px;width:42px;height:42px;border:0;border-radius:50%;background:#f0f5f2;color:#59665f;font-size:1.65rem;line-height:1;display:grid;place-items:center}
.google-review-emoji{display:block;margin:2px auto 10px;font-size:2.75rem;line-height:1}
.google-review-dialog-card h2{margin:0;color:#173e29;font-size:1.28rem;line-height:1.15}
.google-review-dialog-card p{margin:10px auto 18px;max-width:300px;color:#5f6b64;font-size:.92rem;line-height:1.45}
.google-review-dialog-card a{display:flex;align-items:center;justify-content:center;min-height:52px;padding:0 18px;border-radius:17px;background:var(--green);color:#fff;text-decoration:none;font-weight:950}
.google-review-dialog-card a:active{transform:scale(.985)}

/* ===== Invitación Google Maps después de calificación perfecta · v275 ===== */
.active-order-card.google-review-home{
 --order-accent:#178447;
 --order-soft:#f3fbf5;
 --order-ink:#174b2e;
 overflow:hidden;
 border-color:#b8dfc5!important;
 background:#f3fbf5!important;
}
.google-review-home-link{
 display:grid;
 grid-template-columns:48px minmax(0,1fr) auto;
 align-items:center;
 gap:11px;
 min-height:84px;
 padding:12px 13px;
 color:inherit;
 text-decoration:none;
}
.google-review-home-link:active{transform:scale(.992)}
.google-review-home-icon{
 width:48px;
 height:48px;
 display:grid;
 place-items:center;
 border-radius:15px;
 background:#fff;
 border:1px solid #d8eadf;
 font-size:1.75rem;
 box-shadow:0 4px 12px rgba(23,132,71,.08);
}
.google-review-home-copy{display:block;min-width:0}
.google-review-home-copy strong{
 display:block;
 color:#174b2e;
 font-size:.91rem;
 font-weight:950;
 line-height:1.18;
}
.google-review-home-copy small{
 display:block;
 margin-top:4px;
 color:#65736b!important;
 font-size:.72rem;
 font-weight:700;
 line-height:1.2;
}
.google-review-home-action{
 display:flex;
 align-items:center;
 gap:5px;
 padding:9px 10px;
 border-radius:12px;
 background:#178447;
 color:#fff;
 font-size:.7rem;
 font-weight:950;
 line-height:1;
 white-space:nowrap;
}
.google-review-home-action i{font-size:.8rem}
@media(max-width:460px){
 .google-review-home-link{grid-template-columns:44px minmax(0,1fr);gap:9px;min-height:82px;padding:11px 12px}
 .google-review-home-icon{width:44px;height:44px;border-radius:14px;font-size:1.55rem}
 .google-review-home-action{grid-column:2;justify-self:start;margin-top:-1px;padding:8px 10px}
 .google-review-home-copy strong{font-size:.86rem}
 .google-review-home-copy small{font-size:.69rem}
}
