:root{--primary-color: #4F46E5;--primary-hover: #4338CA;--primary-light: #EEF2FF;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--text-primary: #1a1a1a;--text-secondary: #4a4a4a;--text-muted: #6b7280;--border-color: #e5e7eb;--border-hover: #d1d5db;--card-bg: #ffffff;--card-shadow: rgba(0, 0, 0, .1);--header-bg: #ffffff;--footer-bg: #1a1a1a;--footer-text: #ffffff;--success-color: #10B981;--error-color: #dc2626;--warning-color: #f59e0b;--hover-bg: rgba(79, 70, 229, .1);--scrollbar-track: #f1f1f1;--scrollbar-thumb: #c1c1c1;--scrollbar-hover: #a1a1a1;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}[data-theme=dark]{--primary-color: #6366F1;--primary-hover: #818CF8;--primary-light: #1e1b4b;--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--border-color: #334155;--border-hover: #475569;--card-bg: #1e293b;--card-shadow: rgba(0, 0, 0, .3);--header-bg: #1e293b;--footer-bg: #0f172a;--footer-text: #f1f5f9;--hover-bg: rgba(99, 102, 241, .2);--scrollbar-track: #1e293b;--scrollbar-thumb: #475569;--scrollbar-hover: #64748b}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal),color var(--transition-normal)}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}button{cursor:pointer;font-family:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}::selection{background-color:var(--primary-color);color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}@keyframes slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-up{animation:slide-up .3s ease-out}@supports (padding-bottom: env(safe-area-inset-bottom)){.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}}.touch-action-pan-y{touch-action:pan-y}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.gpu-accelerated{transform:translateZ(0);will-change:transform;backface-visibility:hidden}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.content-visibility-auto{content-visibility:auto;contain-intrinsic-size:0 500px}.optimized-image-container{background-color:var(--bg-tertiary)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-secondary) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.font-display-swap{font-display:swap}img[loading=lazy]{opacity:0;transition:opacity .3s ease}img[loading=lazy].loaded,img[loading=lazy]:not([src*="data:"]){opacity:1}@media(max-width:768px){main,.page-container,.main-content{padding-bottom:120px}.home-page,.promotions-page,.categories-page,.cupones-page,.profile-page,.category-detail-page{padding-bottom:120px}}@media(max-width:480px){main,.page-container,.main-content,.home-page,.promotions-page,.categories-page,.cupones-page,.profile-page,.category-detail-page{padding-bottom:110px}}@media(max-width:360px){main,.page-container,.main-content,.home-page,.promotions-page,.categories-page,.cupones-page,.profile-page,.category-detail-page{padding-bottom:100px}}@media print{.header,.footer,.mobile-navigation,.auth-buttons,.btn,.compare-toast{display:none!important}body{background:#fff;color:#000}a{text-decoration:underline}.container{max-width:100%;padding:0}}
