*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul,ol{list-style:none}:root{--color-primary:#0f0f0f;--color-accent:#e63946;--color-accent-soft:#fde8ea;--color-bg:#fff;--color-surface:#f7f7f7;--color-text:#0f0f0f;--color-text-muted:#636363;--color-border:#e5e5e5;--color-error:#dc2626;--color-success:#16a34a;--color-warning:#f59e0b;--color-rating-superb:#1a8917;--color-rating-good:#4caf50;--color-rating-ok:#ffc107;--color-deal:#e8f5e9;--font-heading:"Nunito", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"Nunito", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-arabic:"Noto Sans Arabic", "Nunito", "Inter", sans-serif;--text-h1:28px;--text-h2:22px;--text-h3:18px;--text-body:16px;--text-small:14px;--text-xs:12px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-card:20px;--radius-button:100px;--radius-pill:100px;--radius-input:14px;--radius-badge:100px;--shadow-card:0 2px 12px #0000000f;--shadow-hover:0 8px 40px #00000014;--shadow-search:0 8px 40px #0000000f, 0 1px 3px #0000000a;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--z-dropdown:10;--z-sticky:50;--z-header:100;--z-overlay:200;--z-modal:300;--z-toast:400;--header-height:56px}@media (width>=1024px){:root{--text-h1:48px;--text-h2:34px;--text-h3:24px;--header-height:64px}}body{font-family:var(--font-body);font-size:var(--text-body);color:var(--color-text);background:var(--color-bg)}h1,h2,h3{font-family:var(--font-heading);font-weight:800}h1{font-size:var(--text-h1);letter-spacing:-.04em}h2{font-size:var(--text-h2);letter-spacing:-.03em}h3{font-size:var(--text-h3);letter-spacing:-.02em}input,select,textarea{font-size:16px}button,a,[role=button]{min-width:44px;min-height:44px}.container{width:100%;padding-inline:var(--space-4)}@media (width>=640px){.container{padding-inline:var(--space-6)}}@media (width>=1024px){.container{max-width:1024px;margin-inline:auto}}@media (width>=1280px){.container{max-width:1200px}}.carousel{gap:var(--space-4);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;display:flex;overflow-x:auto}.carousel::-webkit-scrollbar{display:none}.carousel>*{scroll-snap-align:start;flex-shrink:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:-100%;z-index:9999;background:var(--color-primary);color:#fff;border-radius:var(--radius-button);font-weight:600;font-size:var(--text-small);padding:8px 16px;position:absolute;inset-inline-start:16px}.skip-link:focus{top:8px}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn{font-weight:600;font-size:var(--text-small);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-base);border:none;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:44px;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-accent);color:#fff;border-radius:var(--radius-button);padding:12px 24px}.btn-secondary{background:var(--color-primary);color:#fff;border-radius:var(--radius-button);padding:12px 24px}.btn-outline{color:var(--color-accent);border:2px solid var(--color-accent);border-radius:var(--radius-button);background:0 0;padding:12px 24px}.btn-ghost{color:var(--color-text);background:0 0;padding:8px 0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:1}.reveal-ready .reveal{opacity:0;transform:translateY(20px)}.reveal-ready .reveal.revealed{animation:.5s forwards fadeInUp}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.skeleton{background:var(--color-surface);border-radius:var(--radius-card);animation:1.5s ease-in-out infinite pulse}
