:root{--bg:#fff3f3;--ink:#1a1a1a;--muted:#666;--brand:#7a1f3d;--gold:#c9a961;--line:#eee;--soft:#faf7f4}
*{box-sizing:border-box}body{margin:0;font-family:'Poppins','Segoe UI',sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.site-header{border-bottom:1px solid var(--line);background:#fceaea;position:sticky;top:0;z-index:20}
.nav{display:flex;align-items:center;gap:20px;padding:14px 20px}
.brand{font-family:'Playfair Display',Georgia,serif;font-size:26px;color:var(--brand);font-weight:700}
.menu{display:flex;gap:16px;flex:1;flex-wrap:wrap}.menu a{font-size:14px;color:#333}
.menu a:hover{color:var(--brand)}
.actions{display:flex;gap:14px;align-items:center;font-size:14px}
.badge{background:var(--brand);color:#fff;border-radius:10px;padding:1px 7px;font-size:11px}
.site-footer{background:#111;color:#ccc;padding:30px 0;margin-top:60px;text-align:center;font-size:14px}
.section-title{font-family:'Playfair Display',Georgia,serif;font-size:28px;margin:40px 0 20px;text-align:center}
/* Slider */
.slider{position:relative;height:420px;margin:16px 0 24px;border-radius:8px;overflow:hidden}
.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:.6s;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center}
.slide.active{opacity:1}
.slide-cap{background:rgba(0,0,0,.35);padding:24px 40px;border-radius:8px}
.slide h1{font-family:'Playfair Display',serif;font-size:44px;margin:0}
.s-prev,.s-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.85);border:0;font-size:28px;width:44px;height:44px;border-radius:50%;cursor:pointer}
.s-prev{left:16px}.s-next{right:16px}
/* Grids */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.cat-card{background:var(--soft);border-radius:8px;overflow:hidden;text-align:center;padding-bottom:12px}
.cat-card img{height:180px;object-fit:cover;width:100%}.cat-card span{display:block;padding:8px;font-weight:600}
.p-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin:20px 0}
.p-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;transition:.2s}
.p-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(-2px)}
.p-card img{height:260px;width:100%;object-fit:cover}
.p-body{padding:12px}.p-body h3{margin:0 0 6px;font-size:15px}
.p-price{color:var(--brand);font-weight:700}.p-price del{color:#aaa;margin-left:6px;font-weight:400;font-size:13px}
.p-price.big{font-size:24px}
.p-actions{display:flex;gap:8px;margin-top:10px}
.p-actions button{flex:1;padding:8px;border:0;background:var(--brand);color:#fff;border-radius:4px;cursor:pointer}
.p-actions .ghost{flex:0 0 40px;background:#fff;border:1px solid var(--line);color:var(--brand)}
/* Shop */
.shop{display:grid;grid-template-columns:240px 1fr;gap:24px;margin-top:20px}
.filters form{background:var(--soft);padding:16px;border-radius:8px;position:sticky;top:80px}
.filters h4{margin:12px 0 6px;font-size:14px}
.filters input,.filters select{width:100%;padding:8px;border:1px solid var(--line);border-radius:4px;margin-bottom:6px}
.filters .row{display:flex;gap:6px}.filters button{width:100%;padding:10px;background:var(--brand);color:#fff;border:0;border-radius:4px;cursor:pointer;margin-top:10px}
@media(max-width:768px){.shop{grid-template-columns:1fr}}
/* PDP */
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:20px 0}
.pdp-img img{border-radius:8px;width:100%}
.pdp-info h1{font-family:'Playfair Display',serif;margin:0 0 8px}
.meta{list-style:none;padding:0;color:var(--muted);font-size:14px}
@media(max-width:768px){.pdp{grid-template-columns:1fr}}
/* Cart / Checkout */
.cart-table{width:100%;border-collapse:collapse;margin:16px 0}
.cart-table th,.cart-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}
.cart-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;background:var(--soft);border-radius:8px}
.btn,button.btn{display:inline-block;padding:12px 24px;background:var(--brand);color:#fff;border:0;border-radius:4px;text-decoration:none;cursor:pointer}
.checkout{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin-top:20px}
.ck-form input{width:100%;padding:10px;border:1px solid var(--line);border-radius:4px;margin:6px 0}
.ck-form .row{display:flex;gap:6px}.ck-form button{padding:12px 24px;background:var(--brand);color:#fff;border:0;border-radius:4px;cursor:pointer;margin-top:10px}
.ck-summary{background:var(--soft);padding:20px;border-radius:8px;height:fit-content}
.ck-summary .row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}
.ck-summary .total{font-size:18px;font-weight:700;color:var(--brand)}
@media(max-width:768px){.checkout{grid-template-columns:1fr}}
/* Auth */
.auth-box{max-width:420px;margin:40px auto;padding:30px;background:var(--soft);border-radius:8px}
.auth-box input{width:100%;padding:10px;margin:6px 0;border:1px solid var(--line);border-radius:4px}
.auth-box button{width:100%;padding:12px;background:var(--brand);color:#fff;border:0;border-radius:4px;cursor:pointer;margin-top:10px}
.err{color:#b00020;background:#ffe6e6;padding:8px;border-radius:4px}
.card{background:#fff;border:1px solid var(--line);padding:20px;border-radius:8px;margin:16px 0}
.tabs{display:flex;gap:12px;margin:16px 0}.tabs a{padding:8px 16px;background:var(--soft);border-radius:20px}
/* Admin */
body.admin{background:#f5f5f5;font-family:'Segoe UI',sans-serif}
.admin{display:grid;grid-template-columns:220px 1fr;min-height:100vh}
.admin-side{background:#1a1a1a;color:#fff;padding:20px}
.admin-side h2{color:var(--gold);margin:0 0 20px}
.admin-side nav{display:flex;flex-direction:column;gap:4px}
.admin-side nav a{padding:10px 12px;border-radius:4px;font-size:14px}
.admin-side nav a:hover,.admin-side nav a.on{background:#333;color:var(--gold)}
.admin-main{padding:30px;overflow:auto}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:16px 0}
.stats>div{background:#fff;padding:20px;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.stats h3{margin:0;font-size:13px;color:var(--muted);font-weight:500}
.stats b{font-size:26px;color:var(--brand)}
.admin-form{display:grid;gap:10px;max-width:640px;background:#fff;padding:20px;border-radius:8px}
.admin-form.inline{grid-template-columns:repeat(5,1fr);align-items:end}
.admin-form label{display:flex;flex-direction:column;font-size:13px;color:#555}
.admin-form input,.admin-form textarea,.admin-form select{padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}
.admin-form button{padding:10px 20px;background:var(--brand);color:#fff;border:0;border-radius:4px;cursor:pointer;justify-self:start}
