/* Basic reset and theme */
:root{
  --bg:#ffffff; --text:#111827; --muted:#6b7280; --primary:#2563eb; --accent:#f59e0b; --danger:#ef4444; --success:#10b981;
}
*{box-sizing:border-box}
html,body,#root{height:100%}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text)}

.app{display:flex;flex-direction:column;min-height:100vh}
main{flex:1;max-width:1200px;margin:0 auto;padding:1rem}
a{text-decoration:none;color:var(--primary)}
img{max-width:100%;display:block}

/* Header */
.header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #e5e7eb}
.header .bar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem}
.header .brand{font-weight:700;font-size:1.25rem}
.header .search{flex:1;display:flex}
.header .search input{flex:1;padding:.5rem .75rem;border:1px solid #e5e7eb;border-radius:.5rem}
.header .actions{display:flex;align-items:center;gap:.5rem}
.header select, .header button{padding:.4rem .6rem;border:1px solid #e5e7eb;border-radius:.5rem;background:#fff}
.header .nav{display:flex;gap:.75rem;padding:.5rem 1rem;flex-wrap:wrap}
.header .dropdown{position:relative}
.header .dropdown-menu{position:absolute;left:0;top:calc(100% + 4px);background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;min-width:200px;box-shadow:0 6px 20px rgba(0,0,0,.08);padding:.5rem;display:none}
.header .dropdown:hover .dropdown-menu{display:block}

/* Hero */
.hero{background:linear-gradient(135deg,#eef2ff,#fef3c7);border-radius:1rem;padding:2rem;margin:1rem auto;max-width:1200px}
.hero h1{margin:.25rem 0 0;font-size:2rem}
.hero p{color:var(--muted)}
.hero .cta{margin-top:1rem;display:flex;gap:.75rem}
.hero .cta a{display:inline-block;background:var(--primary);color:#fff;padding:.6rem 1rem;border-radius:.5rem}
.hero .carousel{margin-top:1rem;color:#111827;background:#fff;border:1px dashed #e5e7eb;padding:.75rem;border-radius:.5rem}

/* Grids */
.grid{display:grid;gap:1rem}
.grid.cols-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1024px){.grid.cols-4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}main{padding:.5rem}}
@media(max-width:480px){.grid.cols-4{grid-template-columns:1fr}}

.card{border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.card .content{padding:.75rem;display:flex;flex-direction:column;gap:.5rem}
.card h4{margin:0;font-size:1rem}
.card .price{font-weight:600}
.card .mrp{color:var(--muted);text-decoration:line-through;margin-left:.35rem}
.card .actions{display:flex;gap:.5rem}
.card button{padding:.45rem .7rem;border:1px solid #e5e7eb;background:#fff;border-radius:.5rem}
.card button.primary{background:var(--primary);color:#fff;border-color:var(--primary)}

/* Sections */
.section{margin:2rem 0}
.section h2{margin:.25rem 0 1rem}
.section .sub{color:var(--muted);margin-top:-.5rem}

/* Footer */
.footer{background:#f9fafb;border-top:1px solid #e5e7eb;margin-top:2rem}
.footer .wrap{max-width:1200px;margin:0 auto;padding:1.5rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}
.footer ul{list-style:none;padding:0;margin:0}
.footer li{margin:.35rem 0;color:#374151}
.footer .newsletter input{padding:.5rem;border:1px solid #e5e7eb;border-radius:.5rem;margin-right:.5rem}
@media(max-width:768px){.footer .wrap{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.footer .wrap{grid-template-columns:1fr}}

/* Utility */
.badge{display:inline-block;padding:.2rem .4rem;background:#fee2e2;color:#b91c1c;border-radius:.35rem;font-size:.75rem}
.muted{color:var(--muted)}
.row{display:flex;gap:.5rem;align-items:center}
.center{display:flex;justify-content:center;align-items:center}