:root{ --red:#da291c; --dark:#1a1a2e; --grey:#f4f4f6; --line:#ddd; }
*{ box-sizing:border-box; margin:0; padding:0; }
body{ font-family:-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif; color:#222; background:#fff; line-height:1.55; }
header.site{ background:var(--dark); color:#fff; }
header.site .wrap{ max-width:860px; margin:0 auto; padding:18px 16px 12px; }
header.site .brand{ font-size:1.35rem; font-weight:800; }
header.site .brand .accent{ color:#ff6b5e; }
header.site .tagline{ color:#c9c9d6; font-size:.88rem; margin-top:2px; }
nav.main{ max-width:860px; margin:0 auto; padding:0 16px 14px; display:flex; flex-wrap:wrap; gap:6px 14px; }
nav.main a{ color:#e8e8f2; text-decoration:none; font-size:.9rem; font-weight:600; }
nav.main a:hover{ color:#ff6b5e; }
nav.main a.lang{ margin-left:auto; color:#ffd9d4; }
main{ max-width:860px; margin:0 auto; padding:24px 16px 48px; }
h1{ font-size:1.65rem; line-height:1.25; margin-bottom:10px; }
h2{ font-size:1.2rem; margin:26px 0 10px; }
h3{ font-size:1.02rem; margin:18px 0 8px; }
p{ margin-bottom:12px; }
.lede{ font-size:1.05rem; }
.answer{ background:#fff1f0; border-left:4px solid var(--red); padding:12px 14px; border-radius:0 9px 9px 0; margin-bottom:16px; }
.card{ background:var(--grey); border:1px solid var(--line); border-radius:12px; padding:20px; margin:20px 0; }
label.group-label{ display:block; font-weight:600; font-size:.9rem; margin:14px 0 6px; }
label.group-label:first-of-type{ margin-top:0; }
.seg{ display:flex; gap:8px; flex-wrap:wrap; }
.seg button{ flex:1; min-width:100px; padding:11px 8px; border:2px solid var(--line); background:#fff; border-radius:9px; font-size:.95rem; font-weight:600; cursor:pointer; }
.seg button.active{ border-color:var(--red); background:#fff1f0; color:var(--red); }
.weight-row{ display:flex; gap:12px; align-items:center; }
.weight-row input[type=number]{ width:110px; padding:10px; font-size:1.05rem; border:2px solid var(--line); border-radius:9px; }
.weight-row input[type=range]{ flex:1; accent-color:var(--red); }
.sheets{ font-size:.85rem; color:#666; margin-top:4px; }
.result{ text-align:center; padding:12px 0 2px; }
.result .price{ font-size:2.5rem; font-weight:800; color:var(--red); }
.result .desc{ color:#444; font-size:.95rem; }
.result .note{ color:#777; font-size:.82rem; margin-top:6px; }
.denoms{ display:grid; grid-template-columns:repeat(auto-fill,minmax(215px,1fr)); gap:8px; }
.denom-row{ display:flex; justify-content:space-between; align-items:center; background:#fff; border:1.5px solid var(--line); border-radius:9px; padding:6px 10px; font-size:.88rem; }
.denom-qty{ width:66px; padding:6px 8px; border:1.5px solid var(--line); border-radius:7px; font-size:.95rem; }
.limits{ font-size:.82rem; color:#666; margin-top:10px; }
.inv-out,.wed-out{ background:#fdf3f3; border:1.5px solid var(--line); border-radius:10px; padding:14px 16px; margin-top:14px; }
.sz-out{ background:#fdf3f3; border:1.5px solid var(--line); border-radius:10px; padding:14px 16px; margin-top:14px; font-weight:600; }
.est-total{ font-size:2rem; font-weight:800; color:var(--navy); }
.est-prices{ margin-top:10px; }
.est-prices div{ display:flex; justify-content:space-between; border-top:1px solid var(--line); padding:7px 0; }
select.inp{ width:100%; padding:11px 12px; border:1.5px solid var(--line); border-radius:9px; font-size:1rem; background:#fff; }
.checkline{ display:flex; gap:8px; align-items:center; margin-top:12px; font-size:.95rem; }
.checkline input{ accent-color:var(--red); width:18px; height:18px; }
.combo-amount-row{ display:flex; gap:10px; align-items:center; margin-bottom:12px; font-size:.92rem; }
.combo-amount-row input{ width:100px; padding:8px; font-size:1rem; border:2px solid var(--line); border-radius:8px; }
.combo-out{ margin-top:14px; background:#fff; border:1px dashed var(--red); border-radius:9px; padding:12px 14px; font-size:.95rem; display:none; }
.combo-out .over{ color:#777; font-size:.85rem; margin-top:4px; }
table{ width:100%; border-collapse:collapse; font-size:.9rem; margin-bottom:18px; }
th,td{ border:1px solid var(--line); padding:7px 9px; text-align:left; }
th{ background:var(--dark); color:#fff; }
td.pc{ font-weight:600; white-space:nowrap; }
.ad{ border:1px solid #e4e4e8; background:#fafafa; color:#999; text-align:center; border-radius:10px; font-size:.8rem; letter-spacing:.04em; margin:26px 0; padding:10px 12px 14px; }
.ad::before{ content:attr(data-label); display:block; font-size:.62rem; text-transform:uppercase; letter-spacing:.14em; color:#aaa; margin-bottom:8px; }
.ad .ad-box{ min-height:100px; display:flex; align-items:center; justify-content:center; border:1.5px dashed #ccc; border-radius:8px; padding:12px; }
.faq p{ margin-bottom:12px; }
.faq b.q{ display:block; margin-bottom:2px; }
ul.tight li{ margin-bottom:6px; }
footer.site{ border-top:1px solid var(--line); color:#777; font-size:.82rem; }
footer.site .wrap{ max-width:860px; margin:0 auto; padding:18px 16px 30px; }
footer.site a{ color:#555; }
.related{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.related a{ background:var(--grey); border:1px solid var(--line); border-radius:20px; padding:6px 14px; font-size:.88rem; color:#333; text-decoration:none; }
.related a:hover{ border-color:var(--red); color:var(--red); }
