:root{
  --ink:#1a1a1a;
  --muted:#6b6b6b;
  --line:#e4e4e4;
  --bg:#ffffff;
  --accent:#c8102e; /* Lapin House red */
  --maxw:560px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Helvetica Neue',Arial,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px 64px}

/* Header / logo bar */
.topbar{
  border-bottom:1px solid var(--line);
  padding:22px 24px;
  display:flex;
  justify-content:center;
  align-items:center;
}
.topbar img{height:30px;width:auto;display:block}

/* Brand name (e.g. LAPIN HOUSE / LAPIN PLAYFUL) */
.brand{
  text-align:center;
  font-size:34px;
  font-weight:800;
  letter-spacing:.04em;
  margin:38px 0 10px;
  text-transform:uppercase;
}
.style-name{
  text-align:center;
  color:var(--muted);
  font-size:15px;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:30px;
}

/* Spec grid */
.divider{border:0;border-top:1px solid var(--line);margin:26px 0}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:26px 18px;margin:12px 0 6px}
.spec .k{font-weight:700;font-size:15px;margin-bottom:3px}
.spec .v{color:#333;font-size:15px}
.spec.right{text-align:right}

/* Section titles */
.section-title{
  text-align:center;
  font-weight:800;
  letter-spacing:.04em;
  font-size:17px;
  margin:34px 0 16px;
}
.center{text-align:center}
.materials p{margin:6px 0;text-align:center;font-size:15px}
.materials .label{font-weight:700;margin-top:16px}
.materials .muted{color:var(--muted)}

/* Care symbols */
.care-row{
  display:flex;flex-wrap:wrap;gap:14px;
  justify-content:center;align-items:center;
  margin:18px 0 22px;
}
svg.care{width:54px;height:54px;display:block}
.care-cell{display:flex;flex-direction:column;align-items:center;width:60px}

/* Care text block */
.care-text{text-align:center;color:#2b2b2b;font-size:15px;letter-spacing:.02em}
.care-text .comp{font-weight:700;margin-top:14px;text-transform:uppercase;font-size:13px;color:var(--muted)}
.care-text .line{text-transform:uppercase}
.care-notes{text-align:center;color:var(--muted);font-size:14px;margin-top:18px}

/* Footer */
.foot{
  text-align:center;margin-top:46px;padding-top:26px;
  border-top:1px solid var(--line);
  color:var(--muted);font-size:14px;
}
.foot .grp{
  display:inline-flex;align-items:center;gap:10px;
  margin-top:8px;font-weight:800;letter-spacing:.12em;color:var(--ink);
  font-size:16px;
}
.foot .badge{
  background:var(--accent);color:#fff;border-radius:6px;
  padding:3px 8px;font-weight:800;letter-spacing:.04em;
}

/* QR on page */
.qr-box{text-align:center;margin:30px 0 6px}
.qr-box img,.qr-box canvas{width:150px;height:150px}
.qr-box .cap{color:var(--muted);font-size:12px;margin-top:6px;letter-spacing:.08em}

/* ---------- Index / directory ---------- */
.intro{margin:30px 0 10px;text-align:center;color:var(--muted)}
.search{width:100%;padding:13px 16px;font-size:16px;border:1px solid var(--line);
  border-radius:10px;margin:14px 0 8px;outline:none}
.search:focus{border-color:var(--accent)}
.count{color:var(--muted);font-size:13px;margin:6px 2px 14px}
.list{list-style:none;margin:0;padding:0}
.list li{border-bottom:1px solid var(--line)}
.list a{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:15px 6px;text-decoration:none;color:var(--ink);
}
.list a:hover{background:#fafafa}
.list .meta{display:flex;flex-direction:column}
.list .st{font-weight:700;font-size:15px}
.list .ds{color:var(--muted);font-size:13px}
.list .br{color:var(--accent);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.arrow{color:#bbb;font-size:20px}

.back{display:inline-block;margin:24px 0 0;color:var(--muted);text-decoration:none;font-size:14px}
.back:hover{color:var(--ink)}

@media print{
  .topbar{border:none}
  .back,.search,.count,.intro{display:none}
}
