:root{
  --bg:#0f1724; /* deep navy */
  --card:#0f172a; /* slightly lighter */
  --muted:#94a3b8; /* muted text */
  --accent:#06b6d4; /* teal accent */
  --accent-2:#7c3aed; /* purple accent */
  --surface:#0b1220;
  --glass: rgba(255,255,255,0.04);
  --success:#10b981;
  --danger:#ef4444;
  --container-max:1100px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background: #ffffff;
  color: #e6eef8;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.45;
}
.site-header{
  padding:20px 24px;
  background:#000000;
  border-bottom:1px solid rgba(255,255,255,0.04);
  backdrop-filter: blur(6px);
}
.header-content{
  display:flex;
  align-items:center;
  gap:16px;
}
.logo{
  height:150px;
  width:auto;
}
.site-header h1{margin:0;font-size:1.5rem;letter-spacing:-0.5px}
.site-header p{margin:6px 0 0;color:var(--muted)}
.container{
  max-width:none;
  margin:28px 0;
  padding:24px max(24px, calc((100vw - var(--container-max)) / 2 + 24px)) 24px 24px;
  display:grid;
  grid-template-columns: 1fr;
  gap:28px;
}
.configurator{
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border-radius:12px;
  padding:20px;
  box-shadow: 0 6px 20px rgba(2,6,23,0.6);
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:20px;
  max-height:600px;
  overflow-y:auto;
  grid-area:config;
}
.main-row{
  display:grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  grid-template-areas:"config summary";
  gap:20px;
  align-items:start;
}
.configurator fieldset{
  border:0;
  margin:0 0 12px 0;
  padding:0;
}
.configurator legend{font-weight:600;color:#ED1E79;margin-bottom:6px}
select, input[type="radio"]+label{
  width:100%;
}
select{
  width:100%;
  padding:10px 12px;
  border-radius:8px;
  background:#3BDBE9;
  color:#000000;
  border:1px solid rgba(255,255,255,0.04);
  outline:none;
}
.summary h2{margin:0 0 12px 0;color:var(--muted)}
#summary-list{list-style:none;padding:0;margin:0 0 12px 0;max-height:none;overflow-y:auto}
#summary-list li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed rgba(255,255,255,0.02);color:var(--muted)}
.total{font-weight:700;font-size:1.15rem;margin-top:12px;color:var(--muted)}
.summary-section{
  display:block;
}
.sticky-summary{
  position:sticky;
  top:20px;
  width:100%;
  background:#ffffff;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:12px;
  padding:16px;
  color:#111827;
  box-shadow:0 8px 20px rgba(0,0,0,0.08);
  grid-area:summary;
}
.sticky-summary h3{
  margin:0 0 12px 0;
  font-size:1rem;
  color:#111827;
}
.sticky-summary .total{
  color:#111827;
  font-size:1rem;
}
.actions{display:flex;gap:8px;margin-top:12px}
.actions button{
  flex:1;
  padding:10px 12px;
  border-radius:10px;
  border:0;
  cursor:pointer;
  font-weight:600;
}
#add-to-cart{background:transparent;color:var(--accent);border:1px solid rgba(6,182,212,0.12)}
#checkout{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#041025}
.component-preview{
  background:var(--glass);
  padding:18px;
  border-radius:12px;
  color:var(--muted);
  border:1px solid rgba(255,255,255,0.03);
}
.component-preview h3{margin:0 0 16px 0;font-size:1rem}
.preview-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:8px;
  align-items:start;
}
.preview-item{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}
.preview-img{
  width:100%;
  height:144px;
  min-height:144px;
  max-height:144px;
  border-radius:8px;
  background:linear-gradient(135deg, rgba(6,182,212,0.08), rgba(124,58,237,0.08));
  border:1px solid rgba(255,255,255,0.04);
  display:block;
  align-items:center;
  justify-content:center;
  font-size:0.85rem;
  text-align:center;
  padding:6px;
  color:var(--muted);
  font-weight:600;
  overflow:hidden;
  box-sizing:border-box;
  flex: none;
}
.preview-label{
  font-size:0.72rem;
  font-weight:700;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:0.5px;
}

/* Ensure embedded SVG fills the fixed preview box */
.preview-img svg{
  width:100%;
  height:100%;
  display:block;
}

.preview-img img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.site-footer{padding:18px;text-align:center;color:var(--muted);border-top:1px solid rgba(255,255,255,0.03)}
@media(max-width:980px){
  .container{grid-template-columns:1fr; padding:16px}
  .main-row{grid-template-columns:1fr;grid-template-areas:"summary" "config"}
  .configurator{grid-template-columns:1fr}
  .summary-section{grid-template-columns:1fr}
  .sticky-summary{position:static}
}
