:root{--dust-grey:#d6d2d2;--lavender-veil:#f1e4f3;--soft-blossom:#f4bbd3;--pink-carnation:#f686bd;--rose-kiss:#fe5d9f;--bg-app:#faf8fa;--bg-surface:#fff;--bg-surface-subtle:#fdf9fb;--bg-lavender:#f7edf9;--bg-soft:#fdeef5;--bg-overlay:#2d2a2e80;--text-primary:#232023;--text-secondary:#5c555d;--text-muted:#7d7680;--text-inverse:#fff;--text-on-rose:#fff;--text-rose:#d83177;--text-success:#1e6b3e;--text-warning:#944a00;--text-danger:#c01b35;--border-subtle:#d6d2d299;--border-medium:#d6d2d2;--border-focus:#fe5d9f;--border-pink:#f4bbd3;--btn-primary-bg:#fe5d9f;--btn-primary-hover:#e74789;--btn-primary-active:#cc3675;--btn-secondary-bg:#f1e4f3;--btn-secondary-hover:#e8d3ec;--btn-whatsapp-bg:#25d366;--btn-whatsapp-hover:#20bd5a;--font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-md:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:1.875rem;--font-size-3xl:2.25rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.625;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:22px;--radius-full:9999px;--shadow-sm:0 1px 3px #2d2a2e0d;--shadow-md:0 4px 14px #2d2a2e12;--shadow-lg:0 10px 25px #2d2a2e1a;--shadow-card:0 2px 8px #fe5d9f0f, 0 1px 2px #2d2a2e0a;--shadow-drawer:-4px 0 24px #2d2a2e1f;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--z-sticky:100;--z-backdrop:200;--z-modal:300;--z-toast:400;--max-width-content:1160px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-family-sans);background-color:var(--bg-app);color:var(--text-primary);line-height:var(--line-height-normal);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;min-height:100vh;display:flex;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}:focus-visible{outline:2px solid var(--rose-kiss);outline-offset:3px;border-radius:var(--radius-sm)}.skip-to-content{top:-100px;left:var(--space-4);background:var(--rose-kiss);color:var(--text-inverse);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);z-index:9999;transition:top var(--transition-fast);text-decoration:none;position:absolute}.skip-to-content:focus{top:var(--space-4)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}input,select,textarea,button{font-family:inherit;font-size:inherit;line-height:inherit}button{cursor:pointer;background:0 0;border:none}img,svg{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.container{width:100%;max-width:var(--max-width-content);padding-left:var(--space-4);padding-right:var(--space-4);margin-left:auto;margin-right:auto}@media (width>=768px){.container{padding-left:var(--space-6);padding-right:var(--space-6)}}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);transition:background-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);text-align:center;border:1px solid #0000;min-height:44px;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--btn-primary-bg);color:var(--text-on-rose);box-shadow:0 3px 10px #fe5d9f47}.btn-primary:hover:not(:disabled){background-color:var(--btn-primary-hover)}.btn-secondary{background-color:var(--lavender-veil);color:var(--text-primary);border-color:var(--soft-blossom)}.btn-secondary:hover:not(:disabled){background-color:var(--btn-secondary-hover)}.btn-whatsapp{background-color:var(--btn-whatsapp-bg);color:#fff;font-weight:var(--font-weight-bold);box-shadow:0 4px 14px #25d3664d}.btn-whatsapp:hover:not(:disabled){background-color:var(--btn-whatsapp-hover)}.btn-outline{border-color:var(--border-medium);color:var(--text-primary);background-color:#0000}.btn-outline:hover:not(:disabled){background-color:var(--lavender-veil);border-color:var(--soft-blossom)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important}.badge{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:1;display:inline-flex}.badge-featured{background-color:var(--soft-blossom);color:#7a2148}.badge-sale{color:var(--text-rose);border:1px solid var(--soft-blossom);background-color:#ffe6ee}.badge-unavailable{color:var(--text-muted);background-color:#efecee}.badge-active{color:var(--text-success);background-color:#e2f5ea}.badge-inactive{color:var(--text-danger);background-color:#feecee}.form-input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border-medium);border-radius:var(--radius-md);background-color:var(--bg-surface);color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);min-height:44px}.form-input:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #fe5d9f26}.form-input::placeholder{color:var(--text-muted)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.alert-warning{color:var(--text-warning);background-color:#fff8e6;border:1px solid #ffe4a0}.alert-error{color:var(--text-danger);background-color:#fdf2f4;border:1px solid #f8ccd4}.alert-success{color:var(--text-success);background-color:#ebf8f1;border:1px solid #bfead3}.alert-info{background-color:var(--bg-lavender);border:1px solid var(--soft-blossom);color:var(--text-primary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin,.spin{animation:1s linear infinite spin}
