:root{ --bg:#0B0D12; --card:#0f1320; --text:#E8ECF1; --muted:#A5B0C2; --border:rgba(255,255,255,.10); --white:#fff; }
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Noto Sans',Helvetica,Arial}
a{color:var(--text);text-decoration:none}
img{display:block;max-width:100%}
.container{max-width:1200px;margin:0 auto;padding:0 16px}
.header{position:sticky;top:0;background:rgba(0,0,0,.35);border-bottom:1px solid var(--border);backdrop-filter:saturate(180%) blur(10px);z-index:50}
.header-wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:10px}
.nav{display:flex;gap:8px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);padding:10px 14px;border-radius:12px;transition:.15s}
.btn:hover{background:rgba(255,255,255,.06)}
.btn-primary{background:var(--white);color:#0b0d12;border-color:transparent}
.btn-primary:hover{opacity:.95}
.card{background:var(--card);border:1px solid var(--border);border-radius:18px;overflow:hidden}
.card-body{padding:16px}
.badge{font-size:12px;color:var(--muted)}
.small{font-size:13px;color:var(--muted)}
h1,h2,h3{margin:0 0 8px 0}
h1{font-size:32px;line-height:1.2}
h2{font-size:22px}
.grid{display:grid;gap:16px}
.grid-3{grid-template-columns:repeat(1,minmax(0,1fr))}
@media(min-width:640px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* HERO */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}
@media(max-width:1024px){.hero{grid-template-columns:1fr}}

/* PRODUCT GRID */
.imgwrap{position:relative;aspect-ratio:1/1;overflow:hidden}
.imgwrap img{width:100%;height:100%;object-fit:cover}

/* PDP */
.product{display:grid;gap:16px;grid-template-columns:1fr 1fr}
@media(max-width:980px){.product{grid-template-columns:1fr}}
.product .left{border:1px solid var(--border);border-radius:16px;padding:12px}
.rating{display:flex;align-items:center;gap:8px}
.stars{letter-spacing:2px}
.price{font-size:28px;font-weight:800;margin-top:8px}
.opts{display:grid;gap:10px;margin-top:10px}
.select{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:10px;padding:10px 12px;color:var(--text)}

/* Carousel */
.carousel{position:relative}
.carousel .viewport{position:relative;overflow:hidden;border-radius:12px}
.carousel .track{display:flex;transition:transform .3s ease}
.carousel .slide{min-width:100%;aspect-ratio:1/1}
.carousel .nav{display:flex;gap:8px;justify-content:center;margin-top:8px}
.carousel .dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.25);border:1px solid var(--border)}
.carousel .dot.active{background:var(--white)}
.carousel .prev,.carousel .next{position:absolute;top:50%;transform:translateY(-50%);border:1px solid var(--border);background:rgba(0,0,0,.45);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;cursor:pointer}
.carousel .prev{left:8px}.carousel .next{right:8px}

/* Accordion */
.accordion{margin-top:16px;border-top:1px solid var(--border)}
.acc-item{border-bottom:1px solid var(--border)}
.acc-btn{width:100%;text-align:left;background:transparent;border:0;color:var(--text);padding:14px 0;font-weight:600;cursor:pointer}
.acc-content{max-height:0;overflow:hidden;transition:max-height .25s ease}
.acc-item.open .acc-content{max-height:240px}

/* Modal COD */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.65);display:none;align-items:center;justify-content:center;padding:16px;z-index:100}
.modal.open{display:flex}
.modal .box{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px;max-width:680px;width:100%}
.summary{display:grid;grid-template-columns:80px 1fr auto;gap:12px;align-items:center;margin:10px 0 14px 0}
.input{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:10px;padding:10px 12px;color:var(--text)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form-grid .full{grid-column:1/-1}
.table{width:100%;border-collapse:collapse}
.table td{padding:6px 0}
.table .muted{color:var(--muted)}
.total{font-weight:800}
.notice{font-size:12px;color:var(--muted)}
.footer{margin-top:40px;border-top:1px solid var(--border)}
