/* Minimal, dependency-free styling (mobile-first). */
:root{
  --bg:#ffffff;
  --text:#111827;
  --muted:#6b7280;
  --border:#e5e7eb;
  --soft:#f9fafb;
  --shadow: 0 10px 30px rgba(0,0,0,.06);
  --radius: 14px;
  --radius-sm: 10px;
  --max: 1080px;
  --accent:#111827;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji"; color:var(--text); background:var(--bg);}
a{color:inherit}
code{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size:.95em}

.container{width: min(var(--max), calc(100% - 32px)); margin: 0 auto;}

.topbar{border-bottom:1px solid var(--border); background:var(--soft);}
.topbar .container{display:flex; align-items:center; justify-content:space-between; padding:10px 0; font-size:14px; color:var(--muted);}
.topbar__link{color:var(--muted); text-decoration:none;}
.topbar__link:hover{text-decoration:underline;}

.header{display:flex; align-items:center; justify-content:space-between; padding:18px 0;}
.brand{font-weight:800; text-decoration:none;}
.nav{display:flex; gap:14px;}
.nav a{color:var(--muted); text-decoration:none; font-weight:600;}
.nav a:hover{color:var(--text);}

.product{display:grid; gap:20px; grid-template-columns: 1fr; align-items:start; padding: 10px 0 24px;}
@media (min-width: 900px){
  .product{grid-template-columns: 1.05fr .95fr; gap:28px;}
}

.product__media{
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:linear-gradient(180deg, #fff, #fafafa);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.media-placeholder{min-height: 320px; display:flex; align-items:center; justify-content:center; padding:18px;}
.media-placeholder__inner{max-width: 520px;}
.badge{display:inline-flex; padding:6px 10px; border:1px solid var(--border); border-radius:999px; font-size:12px; color:var(--muted); background:#fff;}
.media-placeholder h2{margin:14px 0 8px; font-size:22px;}
.media-placeholder p{margin:0;}

.product__info{padding-top: 4px;}
.title{margin:0 0 10px; font-size:28px; line-height:1.2;}
.price{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:12px;}
.price__sale{font-size:20px; font-weight:800;}
.price__compare{color:var(--muted); text-decoration: line-through;}
.pill{display:inline-flex; padding:5px 10px; border-radius:999px; background:#f3f4f6; color:var(--muted); font-size:12px; border:1px solid var(--border);}

.lead{font-size:16px; line-height:1.55; margin:12px 0;}
.bullets{margin:10px 0 16px; padding-left: 18px; color: var(--text);}
.bullets li{margin:6px 0;}
.muted{color:var(--muted);}
.tiny{font-size:12px;}

.controls{display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin:18px 0;}
@media (min-width: 520px){
  .controls{grid-template-columns: 1fr 1fr auto; align-items:end;}
}

.field{display:flex; flex-direction:column; gap:6px;}
.field__label{font-size:13px; color:var(--muted); font-weight:600;}
.field__input{
  border:1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 10px 12px;
  background:#fff;
  font-size:14px;
}

.button{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 11px 14px;
  border-radius: var(--radius-sm);
  text-decoration:none;
  font-weight:800;
  border:1px solid var(--border);
  background:#fff;
  box-shadow: var(--shadow);
  cursor:pointer;
}
.button.primary{background: var(--accent); color: #fff; border-color: var(--accent);}
.button:hover{transform: translateY(-1px);}
.button:active{transform: translateY(0px);}

.section{border-top: 1px solid var(--border); padding: 22px 0;}
.section h2{margin:0 0 10px; font-size:22px;}
.section p{line-height:1.7;}

.accordion-stack{display:flex; flex-direction:column; gap:10px; margin-top: 8px;}

details.accordion{
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background:#fff;
  box-shadow: var(--shadow);
  overflow:hidden;
}
details.accordion > summary{
  list-style:none;
  cursor:pointer;
  padding: 14px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
}
details.accordion > summary::-webkit-details-marker{display:none;}
.accordion__title{font-weight:900;}
.accordion__caret{
  width:10px; height:10px;
  border-right: 2px solid var(--muted);
  border-bottom: 2px solid var(--muted);
  transform: rotate(45deg);
  transition: transform .15s ease;
}
details[open] > summary .accordion__caret{transform: rotate(225deg);}

.accordion__content{padding: 0 14px 14px; border-top: 1px solid var(--border);}
.accordion__content h3{margin:14px 0 8px; font-size:16px;}
.accordion__content p{margin:10px 0; line-height:1.65;}
.compact{margin: 10px 0; padding-left: 18px;}
.compact li{margin: 6px 0; line-height:1.55;}

blockquote{
  margin: 12px 0 6px;
  padding: 12px 14px;
  border-left: 4px solid var(--border);
  background: var(--soft);
  border-radius: 10px;
  color: #111827;
}

.footer{border-top:1px solid var(--border); padding: 22px 0; background: var(--soft);}
.footer__inner{display:flex; align-items:flex-start; justify-content:space-between; gap:18px; flex-wrap:wrap;}
.footer__links{display:flex; gap:14px; flex-wrap:wrap;}
.footer__links a{color: var(--muted); text-decoration:none; font-weight:700;}
.footer__links a:hover{text-decoration:underline;}
