@import "https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#fff;--bg-secondary:#faf9f6;--border-color:#e5e5e0;--text-primary:#111;--text-secondary:#666;--text-tertiary:#999;--accent:#002fa7;--accent-light:#f0f4ff;--font-serif:"Lora", Georgia, serif;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--transition-clean:all .2s ease}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}.app-layout{background-color:var(--bg-primary);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex;position:relative}h1,h2,h3,h4{font-family:var(--font-serif);color:var(--text-primary);letter-spacing:-.02em;font-weight:600}p{color:var(--text-secondary)}.step-container{flex-direction:column;gap:1.5rem;padding:2.5rem 1.5rem;animation:.3s fadeIn;display:flex}.step-title{margin-bottom:.5rem;font-size:1.85rem;line-height:1.25}.step-subtitle{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1rem}.benefits-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.benefit-card{background:var(--bg-primary);border:1px solid var(--border-color);cursor:pointer;transition:var(--transition-clean);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.25rem 1rem;display:flex}.benefit-card:hover{border-color:var(--text-primary)}.benefit-card.selected{border-color:var(--accent);background-color:var(--accent-light);box-shadow:0 0 0 1px var(--accent)}.benefit-icon{font-size:1.75rem}.benefit-name{color:var(--text-primary);font-size:.9rem;font-weight:500}.option-list{flex-direction:column;gap:.75rem;display:flex}.option-row{border:1px solid var(--border-color);cursor:pointer;transition:var(--transition-clean);justify-content:space-between;align-items:center;padding:1rem;display:flex}.option-row:hover{border-color:var(--text-primary)}.option-row.selected{border-color:var(--accent);background-color:var(--accent-light);box-shadow:0 0 0 1px var(--accent)}.option-info{flex-direction:column;display:flex}.option-title{font-size:.95rem;font-weight:600}.option-desc{color:var(--accent);font-size:.8rem;font-weight:500}.benefits-week-grid{grid-template-columns:repeat(5,1fr);gap:.35rem;width:100%;margin-bottom:1.5rem;display:grid}.week-day-column{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;flex-direction:column;min-height:250px;display:flex;overflow:hidden}.week-day-header{color:var(--text-primary);text-align:center;border-bottom:1px solid var(--border-color);text-transform:uppercase;background:#f1f3f5;padding:.35rem .15rem;font-size:.75rem;font-weight:700}.week-day-promos-container{flex-direction:column;flex-grow:1;gap:.35rem;padding:.35rem .2rem;display:flex}.no-promos-text{color:var(--text-tertiary);text-align:center;margin-top:1rem;font-size:.6rem;font-style:italic}.visual-day-promo-card{background:var(--bg-primary);border:1px solid var(--border-color);cursor:pointer;transition:var(--transition-clean);border-radius:4px;flex-direction:column;align-items:center;gap:.2rem;padding:.35rem .2rem;display:flex;position:relative}.visual-day-promo-card:hover{border-color:var(--text-primary);transform:scale(1.02)}.visual-day-promo-card.selected{border-color:var(--accent);background-color:var(--accent-light)}.mini-check{border:1px solid var(--border-color);background:0 0;border-radius:50%;width:8px;height:8px;position:absolute;top:2px;right:2px}.mini-check.active{background:var(--accent);border-color:var(--accent)}.promo-mini-logo{border:1px solid var(--border-color);background:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:1px;display:flex;overflow:hidden}.promo-mini-logo img{object-fit:contain;width:100%;height:100%}.promo-mini-logo span{color:var(--text-secondary);font-size:.5rem;font-weight:700}.promo-mini-value{color:var(--accent);font-size:.7rem;font-weight:700}.promo-mini-super{justify-content:center;align-items:center;width:100%;height:12px;display:flex}.promo-mini-super img{object-fit:contain;max-width:100%;max-height:100%}.super-mini-txt{color:var(--text-tertiary);text-transform:uppercase;font-size:.5rem;font-weight:700}.promo-cards-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem;display:grid}.promo-card-visual{background:var(--bg-primary);border:1px solid var(--border-color);cursor:pointer;transition:var(--transition-clean);text-align:center;border-radius:8px;flex-direction:column;align-items:center;padding:1.25rem .75rem;display:flex;position:relative}.promo-card-visual:hover{border-color:var(--text-primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.promo-card-visual.selected{border-color:var(--accent);background-color:var(--accent-light);box-shadow:0 0 0 1px var(--accent)}.promo-check{border:1.5px solid var(--border-color);width:16px;height:16px;transition:var(--transition-clean);background:0 0;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;right:8px}.promo-check.active{background:var(--accent);border-color:var(--accent)}.promo-card-logo{border:1px solid var(--border-color);background:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:.5rem;padding:4px;display:flex;overflow:hidden}.promo-card-logo img{object-fit:contain;width:100%;height:100%}.promo-card-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;width:100%;margin-bottom:.25rem;font-size:.8rem;font-weight:600;overflow:hidden}.promo-card-discount{color:var(--accent);margin-bottom:.5rem;font-size:1.1rem;font-weight:700}.promo-day-badges{flex-wrap:wrap;justify-content:center;gap:3px;margin-bottom:.75rem;display:flex}.day-badge{color:#495057;text-transform:capitalize;background:#f1f3f5;border-radius:4px;padding:1px 6px;font-size:.65rem;font-weight:600}.promo-card-visual.selected .day-badge{color:#0b7285;background:#e7f5ff}.promo-super-logos{border-top:1px dashed var(--border-color);justify-content:center;align-items:center;gap:8px;width:100%;margin-top:auto;padding-top:.5rem;display:flex}.promo-super-logos img{object-fit:contain;width:auto;max-width:32px;height:16px}.super-text-badge{color:#495057;text-transform:uppercase;background:#e9ecef;border-radius:2px;padding:1px 4px;font-size:.6rem;font-weight:700}.calendar-container{flex-direction:column;gap:1rem;display:flex}.calendar-grid{border-top:1px solid var(--border-color);grid-template-columns:repeat(7,1fr);gap:.5rem;padding-top:1rem;display:grid}.calendar-day-header{text-align:center;color:var(--text-tertiary);text-transform:uppercase;font-size:.75rem;font-weight:600}.calendar-cell{aspect-ratio:1;border:1px solid var(--border-color);cursor:pointer;flex-direction:column;justify-content:space-between;padding:.25rem;font-size:.8rem;display:flex;position:relative}.calendar-cell.inactive{opacity:.3}.calendar-cell.has-promo{border-color:var(--text-secondary)}.calendar-cell.has-combo{border-color:var(--accent);background-color:var(--accent-light);font-weight:700}.calendar-day-num{font-weight:500}.calendar-dot-container{justify-content:center;gap:2px;margin-top:auto;display:flex}.calendar-dot{border-radius:50%;width:4px;height:4px}.calendar-dot.bank{background-color:var(--accent)}.calendar-dot.super{background-color:#eab308}.calendar-dot.combo{background-color:var(--accent)}.combo-banner{background-color:var(--accent-light);border:1px solid var(--accent);align-items:flex-start;gap:.75rem;padding:1rem;font-size:.9rem;display:flex}.combo-banner i{color:var(--accent);flex-shrink:0;margin-top:.15rem}.cart-input-wrapper{margin-bottom:1.5rem;position:relative}.cart-input{border:1px solid var(--border-color);width:100%;font-size:1rem;font-family:var(--font-sans);outline:none;padding:1rem 1rem 1rem 2.5rem}.cart-input:focus{border-color:var(--text-primary)}.cart-input-icon{color:var(--text-tertiary);width:18px;height:18px;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.quick-add-pills{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.pill{border:1px solid var(--border-color);cursor:pointer;background-color:var(--bg-primary);transition:var(--transition-clean);border-radius:20px;padding:.4rem .8rem;font-size:.85rem}.pill:hover{border-color:var(--text-primary);background-color:var(--bg-secondary)}.shopping-list{flex-direction:column;gap:.5rem;margin-bottom:2rem;display:flex}.shopping-item{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:.75rem 0;display:flex}.item-left{align-items:center;gap:.75rem;display:flex}.checkbox-custom{border:1.5px solid var(--text-secondary);cursor:pointer;color:#fff;width:18px;height:18px;transition:var(--transition-clean);border-radius:4px;justify-content:center;align-items:center;font-size:.7rem;display:flex}.checkbox-custom.checked{background-color:var(--accent);border-color:var(--accent)}.item-name{font-weight:500}.item-price-tag{color:var(--text-secondary);font-size:.85rem}.optimization-section{border-top:1px solid var(--border-color);flex-direction:column;gap:1rem;padding-top:1.5rem;display:flex}.store-comparison-list{flex-direction:column;gap:.5rem;display:flex}.store-comparison-row{justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.9rem;display:flex}.store-comparison-row.best{color:var(--accent);font-weight:700}.financial-overview{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.financial-card{border:1px solid var(--border-color);flex-direction:column;gap:.25rem;padding:1rem;display:flex}.financial-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.financial-value{font-size:1.45rem;font-weight:700;font-family:var(--font-serif)}.financial-accent{color:var(--accent)}.app-footer-nav{border-top:1px solid var(--border-color);background-color:var(--bg-primary);z-index:10;justify-content:space-around;margin-top:auto;padding:.75rem 0;display:flex;position:sticky;bottom:0}.footer-nav-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:.25rem;width:80px;font-size:.75rem;font-weight:500;display:flex}.footer-nav-btn.active{color:var(--accent)}.footer-nav-btn i{width:20px;height:20px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.btn{font-family:var(--font-sans);cursor:pointer;transition:var(--transition-clean);border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.85rem;font-weight:600;display:inline-flex}.btn-primary{background-color:var(--accent);color:#fff}.btn-primary:hover{background-color:#002280}.btn-text{font-family:var(--font-sans);color:var(--text-secondary);cursor:pointer;text-underline-offset:4px;transition:var(--transition-clean);background:0 0;border:none;padding:.5rem 0;font-size:.85rem;font-weight:500;text-decoration:underline}.btn-text:hover{color:var(--text-primary)}.btn-danger-text{color:#b91c1c;text-decoration-color:#fca5a5}.btn-danger-text:hover{color:#7f1d1d;text-decoration-color:#ef4444}.premium-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#00000073;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.premium-modal-content{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;width:90%;max-width:420px;padding:1.5rem;animation:.25s cubic-bezier(.16,1,.3,1) slideUp;box-shadow:0 10px 25px #00000026}.modal-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.modal-header h3{font-size:1.3rem;font-family:var(--font-serif);color:var(--text-primary);margin:0}.modal-close-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;font-size:1.5rem;line-height:1}.modal-close-btn:hover{color:var(--text-primary)}.modal-subtitle{color:var(--text-secondary);margin-bottom:1.25rem;font-size:.85rem;line-height:1.4}.brand-cards-grid{flex-direction:column;gap:.75rem;max-height:320px;padding-right:4px;display:flex;overflow-y:auto}.brand-modal-card{border:1px solid var(--border-color);cursor:pointer;transition:var(--transition-clean);background-color:var(--bg-secondary);border-radius:10px;flex-direction:column;gap:.35rem;padding:.85rem 1rem;display:flex}.brand-modal-card:hover{border-color:var(--text-primary);background-color:var(--bg-primary)}.brand-modal-card.selected{border-color:var(--accent);background-color:var(--accent-light);box-shadow:0 0 0 1px var(--accent)}.brand-modal-card-header{justify-content:space-between;align-items:center;display:flex}.brand-title{color:var(--text-primary);font-size:.9rem;font-weight:700}.brand-percentage{border-radius:4px;padding:2px 6px;font-size:.75rem;font-weight:700}.brand-percentage.increase{color:#ef4444;background-color:#fee2e2}.brand-percentage.decrease{color:#22c55e;background-color:#dcfce7}.brand-prices-row{color:var(--text-secondary);gap:1rem;font-size:.75rem;display:flex}.brand-prices-row strong{color:var(--text-primary)}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (width>=768px){.app-layout{max-width:940px!important}}.days-selector-bar{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;justify-content:space-between;gap:.5rem;margin-bottom:1.5rem;padding:.35rem;display:flex}.day-selector-btn{text-align:center;color:var(--text-secondary);cursor:pointer;transition:var(--transition-clean);text-transform:uppercase;background:0 0;border:none;border-radius:8px;flex:1;padding:.6rem .25rem;font-size:.8rem;font-weight:700}.day-selector-btn:hover{color:var(--text-primary);background-color:#00000008}.day-selector-btn.active{background-color:var(--bg-primary);color:var(--accent);box-shadow:0 2px 6px #00000014}.benefits-columns-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;flex:1;gap:1rem;min-width:0;padding-bottom:1.5rem;display:flex;overflow-x:auto}.redesigned-week-day-column{border:1px solid var(--border-color);min-height:450px;transition:var(--transition-clean);border-radius:16px;flex-direction:column;flex-shrink:0;width:100%;padding:1.25rem;display:flex}.redesigned-week-day-column.day-lunes{background-color:#f4f8fc;border-color:#dbe6f2}.redesigned-week-day-column.day-martes{background-color:#f5fbf3;border-color:#dcedd6}.redesigned-week-day-column.day-miercoles{background-color:#fff6f7;border-color:#fadce0}.redesigned-week-day-column.day-jueves{background-color:#fdf7f2;border-color:#f5e4d5}.redesigned-week-day-column.day-viernes{background-color:#f7f6fc;border-color:#e5e2f5}.column-day-title{font-size:1.1rem;font-family:var(--font-serif);color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;font-weight:700;display:flex}.column-day-subtitle{color:var(--text-secondary);text-transform:none;font-size:.75rem;font-weight:500}.column-promos-list{flex-direction:column;flex-grow:1;gap:1rem;display:flex}.visual-day-promo-card-redesigned{background:var(--bg-primary);border:1px solid var(--border-color);cursor:pointer;transition:var(--transition-clean);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1.25rem;display:flex;position:relative;box-shadow:0 4px 10px #00000008}.visual-day-promo-card-redesigned:hover{border-color:var(--text-primary);transform:translateY(-3px);box-shadow:0 10px 20px #0000000f}.visual-day-promo-card-redesigned.selected{border-color:var(--accent);background-color:var(--accent-light);box-shadow:0 0 0 1px var(--accent), 0 8px 20px #002fa714}.redesigned-check-indicator{border:1.5px solid var(--border-color);background:0 0;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;top:12px;right:12px}.redesigned-check-indicator.active{background-color:var(--accent);border-color:var(--accent);color:#fff}.card-super-logo{object-fit:contain;justify-content:center;align-items:center;width:auto;max-width:130px;height:48px;display:flex}.card-super-logo img{object-fit:contain;max-width:100%;max-height:100%}.card-super-text-logo{text-transform:uppercase;color:var(--text-primary);letter-spacing:.05em;font-size:1.25rem;font-weight:800}.dia-logo-placeholder{letter-spacing:-.05em;background-color:#e30613;border-radius:4px;justify-content:center;align-items:center;height:34px;padding:.2rem .8rem;font-family:Inter,sans-serif;font-size:1.3rem;font-weight:900;display:inline-flex;box-shadow:0 3px 6px #e3061340;color:#fff!important}.card-discount-val{color:var(--accent);font-size:2.25rem;font-weight:800;line-height:1.1;font-family:var(--font-sans);letter-spacing:-.04em;margin:.25rem 0}.card-bank-info{border-top:1px dashed var(--border-color);text-align:center;flex-direction:column;gap:.15rem;width:100%;margin-top:.5rem;padding-top:.75rem;display:flex}.continue-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:40px;align-items:center;gap:.35rem;margin-top:.5rem;padding:.5rem 1.25rem;font-size:.8rem;font-weight:700;transition:transform .2s,box-shadow .2s;animation:2s ease-in-out infinite pulse-continue;display:inline-flex}.continue-btn:hover{animation:none;transform:scale(1.05);box-shadow:0 4px 14px #002fa74d}@keyframes pulse-continue{0%,to{box-shadow:0 0 #002fa74d}50%{box-shadow:0 0 0 6px #002fa700}}.card-bank-info .bank-name{color:var(--text-primary);font-size:.8rem;font-weight:700}.card-bank-info .card-name{color:var(--text-secondary);font-size:.7rem}.best-opportunity-badge{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:linear-gradient(135deg,#ff453a,#ff9f0a);border-radius:20px;align-items:center;gap:.25rem;margin-bottom:.25rem;padding:.25rem .6rem;font-size:.7rem;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #ff453a4d}@media (width<=767px){.redesigned-week-day-column{display:none!important}.redesigned-week-day-column.active-column{width:100%!important;display:flex!important}}@media (width>=768px){.redesigned-week-day-column{display:none!important}.redesigned-week-day-column.visible-in-carousel{flex:1;min-width:0;display:flex!important}}.carousel-nav-header{justify-content:space-between;align-items:center;width:100%;margin-bottom:.75rem;display:flex}.carousel-day-labels{flex:1;justify-content:space-around;gap:1rem;padding:0;display:flex}.carousel-day-label-item{text-align:center;color:var(--text-primary);text-transform:uppercase;letter-spacing:.06em;flex:1;font-size:1rem;font-weight:800;line-height:1.2}.carousel-arrow{background-color:var(--bg-primary);border:1px solid var(--border-color);cursor:pointer;width:36px;height:36px;color:var(--text-primary);transition:var(--transition-clean);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex;box-shadow:0 2px 8px #00000014}.carousel-arrow:hover:not(:disabled){background-color:var(--accent);color:#fff;border-color:var(--accent)}.carousel-arrow.arrow-hidden{opacity:0;pointer-events:none}@media (width>=768px){.benefits-columns-scroll{justify-content:center;gap:1rem;padding-left:0;padding-right:0;overflow-x:hidden!important}}.benefit-filter-row{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;padding:0 .25rem;display:flex}.benefit-filter-pill{border:1.5px solid var(--border-color);cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:#fff;border-radius:20px;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.72rem;font-weight:600;transition:all .15s;display:inline-flex}.benefit-filter-pill:hover{border-color:var(--accent);color:var(--accent)}.benefit-filter-pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}.benefit-filter-img{object-fit:contain;border-radius:2px;width:16px;height:16px}
