:root{--blue:#0D2B3E;--blue2:#174669;--bg:#F5F6F8;--card:#FFFFFF;--border:#E0E0E0;--text:#202124;}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);}
.cover{background:var(--blue);padding:16px 0;}
.cover-wrap{position:relative;width:min(980px,96vw);aspect-ratio:1/1.4142;margin:0 auto;border-radius:14px;overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.35);}
.cover-img{width:100%;height:100%;object-fit:contain;background:var(--blue);display:block;}
.cover-sidebar{position:absolute;top:0;bottom:0;right:0;width:min(320px,42%);padding:18px;background:rgba(245,246,248,.92);border-left:1px solid rgba(255,255,255,.25);backdrop-filter:blur(8px);}
.toc{height:100%;display:flex;flex-direction:column;gap:10px;}
.toc-title{font-weight:700;color:var(--blue);text-transform:uppercase;letter-spacing:.08em;font-size:14px;margin-bottom:4px;}
.toc-link{display:block;text-decoration:none;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:14px;}
.toc-link:hover{background:#E0ECF7;border-color:#cfe2f3;}
.toc-note{margin-top:auto;font-size:12px;color:#555;line-height:1.35;}
.container{max-width:1200px;margin:0 auto;padding:18px 14px 96px;}
.section{margin:26px 0;}
.section-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.section h2{margin:0;color:var(--blue);font-size:20px;}
.back{font-size:12px;color:var(--blue2);text-decoration:none;}
.back:hover{text-decoration:underline;}
.subnav{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.subnav-link{font-size:12px;text-decoration:none;color:var(--blue2);background:#fff;border:1px solid var(--border);padding:8px 10px;border-radius:999px;}
.subnav-link:hover{background:#E0ECF7;border-color:#cfe2f3;}
.subsection{margin:20px 0 34px;}
.subsection-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.subsection h3{margin:0;color:var(--blue);font-size:16px;}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:14px;box-shadow:0 8px 20px rgba(0,0,0,.08);}
.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;}
.thumb{width:54px;height:54px;border-radius:12px;border:1px solid var(--border);background:#F2F3F5;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.thumb-img{width:100%;height:100%;object-fit:contain;display:block;}
.thumb-ph{font-size:11px;color:#777;}
.select{display:flex;align-items:center;gap:8px;font-size:12px;color:#444;user-select:none;}
.select input{width:16px;height:16px;}
.tag{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--blue2);background:#E0ECF7;display:inline-block;padding:3px 7px;border-radius:999px;margin-bottom:8px;}
.card h3{margin:6px 0 6px;font-size:14px;}
.meta{font-size:12px;color:#555;margin:0 0 2px;}
.pricebox{margin-top:10px;border:1px solid #d7e7f7;background:#f7fbff;border-radius:12px;padding:10px;font-size:12px;}
.pricebox .row{display:flex;justify-content:space-between;gap:10px;margin:4px 0;}
.pricebox strong{color:var(--blue);}
.actions{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:10px;font-size:12px;font-weight:600;text-decoration:none;border:1px solid var(--border);}
.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff;}
.btn-primary:hover{background:var(--blue2);border-color:var(--blue2);}
.btn-ghost{background:#fff;color:var(--blue);border-color:#cfe2f3;}
.btn-ghost:hover{background:#E0ECF7;border-color:#b7d5ee;}
.qty{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#444;}
.qty-input{width:88px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);}
.orderbar{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--border);padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 -10px 26px rgba(0,0,0,.08);}
.orderbar-title{font-weight:700;color:var(--blue);}
.orderbar-sub{font-size:12px;color:#555;}
