:root{--m-bg: #f5f7fa;--m-surface: #ffffff;--m-surface-2: #eef2f6;--m-text: #0b1620;--m-text-muted: #4a5a68;--m-border: #dce3ea;--m-accent: #4ea1ff;--m-accent-hover: #3c8fe6;--m-dark-bg: #0f2f53;--m-dark-surface: #163e6a;--m-dark-text: rgba(255,255,255,.92);--m-dark-text-muted: rgba(255,255,255,.72);--m-font: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--m-font);background:var(--m-bg);color:var(--m-text);min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden}#root{min-height:100vh}a{color:var(--m-accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;border-radius:8px;padding:10px 18px;font-size:1rem}.btn-primary{background:var(--m-dark-bg);color:var(--m-dark-text)}.btn-primary:hover{background:var(--m-dark-surface)}.btn-accent{background:var(--m-accent);color:#fff}.btn-accent:hover{background:var(--m-accent-hover)}input,select,textarea{font-family:inherit;font-size:1rem;padding:8px 12px;border:1px solid var(--m-border);border-radius:6px}.container{width:min(1120px,92vw);margin:0 auto;padding:0 16px}header{background:var(--m-dark-bg);color:var(--m-dark-text);padding:16px 0}header .container{display:flex;align-items:center;justify-content:space-between}header a{color:var(--m-dark-text)}header a:hover{color:var(--m-accent);text-decoration:none}.store-title{font-size:1.25rem;font-weight:700}footer{background:var(--m-dark-bg);color:var(--m-dark-text-muted);padding:24px 0;margin-top:48px;font-size:.875rem}footer a{color:var(--m-accent)}.grid{display:grid;gap:24px}.card{background:var(--m-surface);border-radius:12px;overflow:hidden;border:1px solid var(--m-border)}.card img{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover}.card-body{padding:16px}.card-title{font-size:1rem;font-weight:600;margin:0 0 8px}.card-price{font-size:1.125rem;font-weight:700;color:var(--m-dark-bg)}.loading{text-align:center;padding:48px;color:var(--m-text-muted)}.error{color:#c00;padding:16px}@media (max-width: 768px){.container{padding:0 12px;width:100%;max-width:100%}body{font-size:16px}button,.btn-primary,.btn-accent{min-height:44px;min-width:44px;padding:12px 20px}input,select,textarea{min-height:44px;font-size:16px;padding:10px 12px}}@media (max-width: 768px){header .container{flex-wrap:wrap;gap:12px;padding:12px 0}.header-nav{flex-wrap:wrap;gap:10px;justify-content:flex-end}.header-nav a,.header-nav span{font-size:.9rem}.header-nav a{min-height:44px;display:inline-flex;align-items:center}.store-title{font-size:1.1rem}}.grid-products{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}@media (max-width: 640px){.grid-products{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}}@media (max-width: 380px){.grid-products{grid-template-columns:1fr}}.product-gallery-thumbs button:focus{outline:2px solid var(--m-accent);outline-offset:2px}@media (max-width: 768px){.product-gallery-thumbs{padding:8px;gap:6px}.product-gallery-thumbs button{width:48px;height:48px}}.product-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}@media (max-width: 768px){.product-detail-grid{grid-template-columns:1fr;gap:20px}}.cart-item-row{display:flex;flex-direction:row;align-items:center;gap:16px;margin-bottom:12px}@media (max-width: 640px){.cart-item-row{flex-direction:column;align-items:stretch;text-align:center}.cart-item-row img{margin:0 auto}.cart-item-actions{justify-content:center;flex-wrap:wrap}}.checkout-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkout-city-grid{display:grid;grid-template-columns:1fr 1fr 80px;gap:12px}@media (max-width: 640px){.checkout-name-grid,.checkout-city-grid{grid-template-columns:1fr}}.checkout-promo-row{display:flex;gap:8px}@media (max-width: 640px){.checkout-promo-row{flex-direction:column}}.checkout-card-grid{display:grid;gap:12px}.checkout-card-grid .card-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 400px){.checkout-card-grid .card-row{grid-template-columns:1fr}}@media (max-width: 768px){main{padding:16px 0;min-height:50vh}}
