:root{--color-bg:#fee2ca;--color-primary:#F21C1C;--color-primary-dark:#B31515;--color-secondary:#19412E;--color-accent:#EDBA69;--color-white:#ffffff;--color-text-light:#fffaf4;--color-menu-bg:#EDBA69;--color-menu-text:#19412E;--font-main:"Mona Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--radius-pill:9999px;--radius-lg:24px;--radius-md:16px;--radius-sm:10px;--shadow-soft:0 8px 24px rgba(0, 0, 0, 0.12);--shadow-strong:0 14px 32px rgba(0, 0, 0, 0.24);--transition-fast:0.2s ease-out;--transition-med:0.35s ease}*,::after,::before{box-sizing:border-box}body{margin:0;font-family:var(--font-main);background-color:var(--color-bg)}body.menu-open{overflow:hidden}.bg-app{background-image:radial-gradient(circle at 0 0,rgba(255,255,255,.5) 0,transparent 55%),radial-gradient(circle at 100% 20%,rgba(255,255,255,.5) 0,transparent 60%),radial-gradient(circle at 20% 100%,rgba(255,255,255,.4) 0,transparent 60%),url('../img/background.jpg');background-color:var(--color-bg);background-size:cover;background-position:center center;background-repeat:no-repeat;background-attachment:fixed}.bg-app-green{background-image:url('../img/background-green.png');background-color:var(--color-secondary);background-size:cover;background-position:center center;background-repeat:no-repeat;background-attachment:fixed}.app-shell{max-width:414px;margin:0 auto;min-height:100vh;position:relative}.app-header{z-index:10}.btn-circle-icon{width:40px;height:40px;font-size:22px;padding:0;border-radius:50%;border:none;background-color:var(--color-primary);color:var(--color-white);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-soft);transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.btn-circle-icon:focus-visible,.btn-circle-icon:hover{background-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-strong);outline:0}.menu-icon{display:inline-flex;flex-direction:column;justify-content:center;gap:4px}.menu-icon span{display:block;width:18px;height:2px;border-radius:999px;background-color:var(--color-white)}.app-main{padding-bottom:2rem;padding-left:20px;padding-right:20px;margin-top:100px}.promo{animation:fadeUp .6s var(--transition-med) both}.promo_cupon_bg{height:280px!important;background-color:var(--color-accent)!important;display:block!important}.promo_cupon_bg p{color:var(--color-secondary)!important;font-weight:600;font-size:16px}.promo-card{background-color:var(--color-white);border-radius:32px;padding:1.5rem;box-shadow:var(--shadow-soft);height:150px;display:flex;align-items:center;justify-content:center;margin-bottom:40px!important}.promo-image-wrapper{border-radius:24px;overflow:hidden;display:flex;align-items:center;justify-content:center;width:100%;height:150px}.promo-gift-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;position:absolute}.promo-text{font-size:18px;font-weight:500;line-height:22px;color:var(--color-accent);margin-top:5px}.promo-title-static{color:var(--color-accent);font-weight:500;font-size:32px}.promo-title{margin-top:1.75rem;font-size:18px;line-height:1.3;font-weight:600;color:var(--color-primary)}.promo-subtitle-static{margin-top:.75rem;font-size:14px;font-weight:200;line-height:1.5;color:var(--color-white)}.promo-subtitle{margin-top:.75rem;font-size:14px;line-height:1.5;color:var(--color-primary)}.promo-link{font-size:13px;font-weight:600;color:var(--color-primary);text-decoration:underline}.promo-link:hover{text-decoration:none}.btn-cta{border-radius:var(--radius-pill);background-color:var(--color-primary);border:none;font-weight:500;font-size:18px;color:#fef6e2!important;padding-block:0.5rem;padding-left:20px;padding-right:20px;box-shadow:var(--shadow-soft);transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.btn-sm{padding-block:0.5rem!important;font-size:14px!important}.btn-cta:focus-visible,.btn-cta:hover{background-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-strong);outline:0}.bottom-spacer{height:230px}.friend-step-wrapper{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;pointer-events:none;z-index:20}.friend-step-card{pointer-events:auto;position:relative;background-color:var(--color-secondary);color:var(--color-text-light);border-radius:32px 32px 0 0;padding:20px;width:100%;max-width:414px;box-shadow:0 -10px 25px rgba(0,0,0,.25);padding-bottom:5px!important}.friend-step-card-white{background-color:var(--color-white)!important;max-height:40vh;overflow-y:auto;overflow-x:hidden}.step-badge{position:absolute;top:-28px;left:50%;transform:translateX(-50%);width:50px;height:50px;background-color:var(--color-accent);border-radius:50%;box-shadow:var(--shadow-soft);font-weight:500;font-size:28px;color:var(--color-primary);z-index:22}.friend-step-header{margin-bottom:.75rem;margin-top:10px;position:relative}.friend-step-header>div{flex:1;display:flex;justify-content:center;align-items:center}.friend-step-title{font-size:16px;font-weight:500;color:#fef6e2;text-align:center;margin:0}.btn-step-arrow{position:absolute;right:0;top:50%;transform:translateY(-50%);width:30px;height:30px;background-color:var(--color-white);color:var(--color-secondary);border:none;font-size:16px;box-shadow:var(--shadow-soft);transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.btn-step-arrow:focus-visible,.btn-step-arrow:hover{transform:translateY(-50%) translateX(2px);box-shadow:var(--shadow-strong);background-color:var(--color-primary);color:var(--color-white);outline:0}.btn-step-arrow-left{position:absolute;left:20px;top:50%;transform:translateY(-50%);width:30px;height:30px;background-color:var(--color-white);color:var(--color-secondary);border:none;font-size:16px;box-shadow:var(--shadow-soft);transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.btn-step-arrow-left:focus-visible,.btn-step-arrow-left:hover{transform:translateY(-50%) translateX(-2px);box-shadow:var(--shadow-strong);background-color:var(--color-primary);color:var(--color-white);outline:0}.friend-step-illustration{position:absolute;right:0;bottom:12px;display:flex;justify-content:flex-end;align-items:flex-end}.friend-step-image{max-width:280px;height:auto}@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDots{0%{opacity:0;transform:translateY(-20px)}100%{opacity:1;transform:translateY(0)}}.dots-animation{animation:fadeInDots .8s ease-out forwards;animation-delay:.3s;opacity:0}.steps-screen{color:var(--color-white);margin-bottom:-15px}.steps-title{font-size:22.4px;line-height:1.3;font-weight:600;color:var(--color-white)}.step-item{display:flex;gap:.75rem;margin-bottom:2px}.step-icon{width:64px;height:64px;border-radius:50%;object-fit:contain;flex-shrink:0;position:absolute;z-index:99}.step-circle{width:30px;height:30px;border-radius:50%;background-color:var(--color-white);box-shadow:var(--shadow-soft)}.step-btn{display:flex;align-items:center;justify-content:center;padding-block:7px;border-radius:var(--radius-pill);font-weight:600;font-size:16px;text-decoration:none;letter-spacing:.5px;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);box-shadow:var(--shadow-soft)}.step-btn-active{background-color:var(--color-accent);color:var(--color-secondary)}.step-btn-active:hover{transform:translateY(-2px)}.step-btn-yellow{background-color:transparent;color:var(--color-accent);border:1px solid var(--color-accent)}.step-btn-yellow:hover{transform:translateY(-2px);box-shadow:var(--shadow-strong)}.menu-overlay{position:fixed;inset:0;display:flex;justify-content:flex-start;align-items:stretch;background-color:transparent;opacity:0;pointer-events:none;transition:opacity var(--transition-med);z-index:40}.menu-overlay.is-open{opacity:1;pointer-events:auto}.menu-panel{position:relative;width:90%;max-width:372px;height:100%;background-color:var(--color-menu-bg);border-radius:0 32px 32px 0;box-shadow:4px 0 24px rgba(0,0,0,.35);transform:translateX(-100%);transition:transform var(--transition-med)}.menu-overlay.is-open .menu-panel{transform:translateX(0)}.menu-close{position:absolute;top:18px;left:18px;padding:0;width:36px;height:36px;border-radius:0;border:none;background:0 0;color:var(--color-white);font-size:2rem;line-height:1;display:flex;align-items:center;justify-content:center}.menu-header{display:flex;justify-content:space-between;align-items:center;padding:18px;margin-bottom:2rem;position:relative;martin-top:40px}.menu-lang-buttons{display:flex;gap:.5rem;position:absolute;right:18px;top:18px}.menu-lang-btn{padding:.5rem 1rem;text-decoration:none;color:var(--color-menu-text);font-weight:600;font-size:14px;border-radius:4px;transition:background-color .2s}.menu-lang-btn:hover{background-color:rgba(0,0,0,.1)}.menu-lang-btn.active{background-color:var(--color-secondary);color:var(--color-white)}.menu-nav{height:100%;padding:0 1.5rem 2rem;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.6rem}.menu-link{text-decoration:none;color:var(--color-menu-text);font-weight:700;font-size:1.1rem;text-transform:uppercase;letter-spacing:.08em}body.menu-open,body.modal-open{overflow:hidden}.instructions-overlay{position:fixed;inset:0;display:flex;justify-content:center;align-items:center;padding:1.5rem;background-color:rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity var(--transition-med);z-index:60}.instructions-overlay.is-open{opacity:1;pointer-events:auto}.instructions-dialog{position:relative;width:100%;max-width:414px;background-color:var(--color-white);border-radius:32px;padding:1.75rem 1.5rem 1.8rem;box-shadow:0 18px 40px rgba(0,0,0,.25);color:var(--color-secondary)}.instructions-close{position:absolute;top:1.1rem;right:1.1rem;padding:0;width:32px;height:32px;border:none;background:0 0;color:var(--color-secondary);font-size:1.8rem;line-height:1;display:flex;align-items:center;justify-content:center}.instructions-title{margin-top:.5rem;margin-bottom:1.2rem;text-align:left;font-size:1rem;font-weight:700;letter-spacing:.06em}.instructions-dialog p{font-size:.95rem;line-height:1.5;text-align:left;margin-bottom:.8rem}.instructions-link{color:var(--color-secondary);text-decoration:underline;text-underline-offset:0.15em}.search-input-wrapper{position:relative;width:100%;margin:1.25rem 0}.search-input-wrapper .search-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--color-secondary);opacity:.8;pointer-events:none}.search-input{width:100%;padding:.9rem 1.4rem .9rem 54px;border:none;border-radius:var(--radius-pill);background-color:var(--color-white);font-family:var(--font-main);font-size:16px;color:var(--color-secondary);box-shadow:var(--shadow-soft);outline:0}.search-input::placeholder{color:var(--color-secondary);opacity:.8}.locations-list{background:var(--color-white);border-radius:32px;padding:0 10px}.location-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.08)}.location-item:last-child{border-bottom:none}.location-link{display:flex;justify-content:space-between;align-items:center;width:100%;text-decoration:none;color:inherit;transition:opacity .2s ease}.location-link:hover{opacity:.7}.location-text{font-size:14px;font-weight:500;color:var(--color-secondary);text-decoration:underline}.location-arrow{font-size:22px;color:var(--color-secondary)}.location-item.no-results{justify-content:center;border-bottom:none}.location-item.no-results .location-text{text-decoration:none;font-style:italic;opacity:.7}.locations-list{width:100%}.legal-card{background-color:var(--color-white);border-radius:32px;padding:2rem 1.75rem;margin:1.5rem 0 2rem;box-shadow:var(--shadow-soft);color:var(--color-secondary)}.legal-title{font-size:18px;font-weight:700;margin:0 0 1.75rem}.legal-paragraph{font-size:12px;text-align:left;line-height:1.6;margin:0 0 1.1rem;color:var(--color-secondary)}.legal-link-underline{font-weight:600}@keyframes fadeIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideIn{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.animate-fade-in{animation:fadeIn .6s ease-out forwards;opacity:0}.animate-slide-in{animation:slideIn .5s ease-out forwards;opacity:0}.barcode-container{padding:20px;background:var(--color-white);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.barcode-text{font-family:'Courier New',Courier,monospace;font-size:16px;font-weight:600;letter-spacing:3px;color:var(--color-secondary);margin-top:8px;margin-bottom:0}.barcode-container .barcode,.barcode-container svg{max-width:100%;height:auto}.barcode-container.cupon-usado{opacity:1;filter:blur(4px);pointer-events:none;user-select:none}.menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.menu-lang-buttons{display:flex;gap:.5rem}.menu-lang-btn{padding:.5rem 1rem;text-decoration:none;color:inherit;font-weight:500;border-radius:4px;transition:background-color .2s}