:root{--font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--brand-primary:#C22026;--brand-primary-hover:#A8171D;--brand-primary-light:#FEE2E2;--brand-amber:#D97706;--brand-amber-light:#FEF3C7;--brand-gold:#92400E;--brand-gold-text:#854D0E;--color-whatsapp:#25D366;--color-whatsapp-hover:#1EA952;--color-whatsapp-dark:#128C7E;--color-bg:#F7EFE6;--color-bg-light:#FAF4ED;--color-bg-warm:#F4EAE0;--color-header:#FFF9F3;--color-surface:#FFFDFC;--color-surface-elevated:#FFFDFC;--color-surface-hover:#FFF9F3;--color-surface-subtle:#F2E8DC;--color-border:#EADFD3;--color-border-hover:#DECFC0;--color-border-subtle:rgba(234,223,211,0.75);--color-border-light:#EADFD3;--color-text-main:#1C1917;--color-text-muted:#66615C;--color-text-light:#9B948C;--color-status-open:#15803D;--color-status-open-bg:#DCFCE7;--color-status-closed:#991B1B;--color-status-closed-bg:#FEE2E2;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--shadow-sm:0 1px 3px rgba(60,42,25,0.04);--shadow-card:0 1px 4px rgba(60,42,25,0.04),0 1px 2px rgba(60,42,25,0.02);--shadow-card-hover:0 4px 12px rgba(60,42,25,0.07),0 1px 3px rgba(60,42,25,0.03);--shadow-floating:0 8px 24px rgba(194,32,38,0.22),0 2px 6px rgba(60,42,25,0.06);--shadow-drawer:0 -8px 28px rgba(44,30,20,0.12);--header-height:64px;--category-bar-height:52px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{font-family:var(--font-sans);color:var(--color-text-main);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{background-color:var(--color-bg)}body{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.container-catalog{width:100%;max-width:840px;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{background:linear-gradient(90deg,var(--color-surface-subtle) 25%,var(--color-border-light) 50%,var(--color-surface-subtle) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}button:active:not(:disabled){transform:scale(.97);transition:transform .1s ease}button:disabled{opacity:.55;cursor:not-allowed}.badge-status-open{background-color:var(--color-status-open-bg);color:var(--color-status-open)}.badge-status-closed,.badge-status-open{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:4px 10px;border-radius:var(--radius-full)}.badge-status-closed{background-color:var(--color-status-closed-bg);color:var(--color-status-closed)}.pulsing-dot-green{width:7px;height:7px;border-radius:50%;background-color:var(--color-status-open);box-shadow:0 0 0 0 rgba(21,128,61,.7);animation:pulse-green 2s infinite}@keyframes pulse-green{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(21,128,61,.7)}70%{transform:scale(1);box-shadow:0 0 0 6px rgba(21,128,61,0)}to{transform:scale(.95);box-shadow:0 0 0 0 rgba(21,128,61,0)}}.safe-bottom-padding{padding-bottom:max(16px,env(safe-area-inset-bottom))}.safe-bottom-margin{margin-bottom:max(16px,env(safe-area-inset-bottom))}@keyframes mascotEnter{0%{opacity:0;transform:translateY(6px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes mascotChew{0%,to{transform:translateY(0) scaleY(1) rotate(0deg)}18%{transform:translateY(-1.5px) scaleY(.985) rotate(-.4deg)}30%{transform:translateY(.5px) scaleY(1.008) rotate(.3deg)}42%{transform:translateY(-.8px) scaleY(.993) rotate(-.2deg)}55%{transform:translateY(0) scaleY(1) rotate(0deg)}}@keyframes sparkle1{0%,60%,to{opacity:0;transform:scale(.3)}20%{opacity:.8;transform:scale(1)}35%{opacity:0;transform:scale(.6) translateY(-3px)}}@keyframes sparkle2{0%,45%,to{opacity:0;transform:scale(.3)}55%{opacity:.6;transform:scale(.9)}70%{opacity:0;transform:scale(.4) translateY(-2px)}}.mascot-wrapper{animation:mascotEnter .5s cubic-bezier(.16,1,.3,1) forwards;will-change:transform,opacity}.mascot-chewing{animation:mascotChew 3.5s ease-in-out .8s infinite;will-change:transform}.mascot-sparkle-1{animation:sparkle1 3.5s ease-in-out 1.2s infinite;will-change:opacity,transform}.mascot-sparkle-2{animation:sparkle2 3.5s ease-in-out 1.2s infinite;will-change:opacity,transform}@media (hover:hover) and (pointer:fine){.mascot-wrapper:hover .mascot-chewing{animation-play-state:paused;transform:scale(1.06);transition:transform .2s ease}}@keyframes heroEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes heroFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.hero-mascot-enter{animation:heroEnter .6s cubic-bezier(.16,1,.3,1) forwards}.hero-mascot-float{animation:heroFloat 4s ease-in-out .7s infinite;will-change:transform}@media (prefers-reduced-motion:reduce){.hero-mascot-enter,.hero-mascot-float,.mascot-chewing,.mascot-sparkle-1,.mascot-sparkle-2,.mascot-wrapper{animation:none!important;opacity:1!important;transform:none!important;transition:none!important;will-change:auto!important}}