
:root {
  --ink: #102a43;
  --paper: #f3f7ff;
  --accent: #2f6fed;
  --radius: 18px;
  --gap: 16px;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: "Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; color: var(--ink); background: var(--paper); line-height: 1.7; }
a { color: inherit; text-decoration: none; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding: 14px 4vw; position: sticky; top:0; z-index:20; background: color-mix(in srgb, var(--paper) 88%, #fff 12%); border-bottom:1px solid rgba(0,0,0,.08); }
.logo { font-weight: 800; font-size: 1.05rem; }
.nav-links { list-style:none; display:flex; gap:10px; font-size:13px; flex-wrap:wrap; }
.nav-links a { padding:6px 10px; border-radius:999px; }
.nav-toggle { display:none; border:0; background:none; }
.nav-toggle span { display:block; width:22px; height:2px; margin:4px 0; background:var(--ink); }
.hero { max-width: 1240px; margin: 0 auto; padding: 32px 4vw 20px; display:grid; gap:18px; }
.hero-copy .eyebrow { font-size: 12px; color: var(--accent); letter-spacing: .08em; text-transform: uppercase; margin-bottom:6px; }
.hero-copy h1 { font-size: clamp(30px, 4vw, 50px); margin-bottom: 10px; }
.hero-copy p { font-size: 15px; color: rgba(0,0,0,.72); margin-bottom: 12px; }
.hero-media img { width:100%; height:100%; object-fit: cover; border-radius: calc(var(--radius) + 2px); box-shadow: 0 14px 28px rgba(0,0,0,.14); }
.btn { display:inline-block; border:0; background:var(--accent); color:#fff; border-radius:var(--radius); padding: 10px 18px; }
.section { max-width:1240px; margin:0 auto; padding: 28px 4vw; }
.section h2 { margin-bottom: 14px; font-size: 30px; }
.trust,.cat-grid,.product-grid,.review-grid { display:grid; gap:var(--gap); }
.trust { max-width:1240px; margin:0 auto; padding: 12px 4vw 24px; }
.trust article,.cat-card,.product-card,.review-grid blockquote,.contact-wrap,.legal,.faq details { background:#fff; border:1px solid rgba(0,0,0,.08); border-radius: var(--radius); }
.trust article,.cat-card,.review-grid blockquote,.legal,.contact-wrap { padding: 14px; }
.cat-card h3 { margin-bottom: 6px; }
.product-card { overflow:hidden; }
.product-card img { width:100%; height:190px; object-fit:cover; }
.pc-body { padding: 12px; }
.badge { display:inline-block; font-size:11px; margin-bottom: 6px; border-radius:999px; padding:3px 8px; background: color-mix(in srgb, var(--accent) 18%, #fff 82%); color: var(--accent); }
.price { color: var(--accent); font-weight:700; margin: 4px 0; }
.faq details { padding: 10px 14px; margin-bottom: 8px; }
.review-grid cite { display:block; margin-top: 8px; font-size: 12px; color: rgba(0,0,0,.6); }
.contact-wrap p { margin-bottom: 8px; }
.form { display:grid; gap:8px; }
.form input,.form select,.form textarea { width:100%; margin-top:4px; border:1px solid #d1d5db; border-radius:8px; padding:9px 10px; }
.form textarea { min-height: 100px; resize: vertical; }
.form-success { display:none; color:#166534; font-size:13px; }
.footer { text-align:center; padding:24px 4vw 30px; font-size:13px; color: rgba(0,0,0,.65); }
.cookie-banner { position:fixed; left:0; right:0; bottom:0; z-index:40; display:flex; justify-content:space-between; align-items:center; gap:10px; padding:10px 4vw; background:var(--ink); color:#fff; transform: translateY(105%); transition: transform .3s; }
.cookie-banner.show { transform: translateY(0); }
.cookie-accept { border:0; border-radius:6px; background:var(--accent); color:#fff; padding:7px 12px; }
.nav-links a{border:1px solid rgba(0,0,0,.15)}.nav-links a:hover{background:var(--accent);color:#fff;border-color:var(--accent);}.hero{grid-template-columns:1fr}.hero-copy{text-align:center;max-width:760px;margin:0 auto}.hero-media img{max-height:360px}.cat-grid{grid-template-columns:repeat(4,1fr)}.product-grid{grid-template-columns:repeat(4,minmax(220px,1fr));overflow-x:auto}.review-grid{grid-template-columns:repeat(2,1fr)}.trust{grid-template-columns:repeat(4,1fr)}
.theme-13 .hero-copy h1{letter-spacing:0.030em}
.theme-13 .section h2{text-transform:none;font-weight:600}
.theme-13 .cat-card{background: color-mix(in srgb, var(--paper) 70%, #fff 30%);}
.theme-13 .trust article{box-shadow: 0 7px 15px rgba(0,0,0,.03);}

@media (max-width: 980px){
  .hero{grid-template-columns:1fr!important;position:static}
  .hero-copy{position:static!important;background:#fff!important}
  .trust,.cat-grid,.product-grid,.review-grid{grid-template-columns:repeat(2,1fr)!important}
  .product-card{grid-template-columns:1fr!important}
}
@media (max-width: 640px){
  .nav-toggle{display:block}
  .nav-links{position:fixed;right:0;top:0;width:80%;height:100vh;background:var(--paper);flex-direction:column;padding:70px 20px;transform:translateX(100%);transition:transform .3s}
  .nav-links.open{transform:translateX(0)}
  .trust,.cat-grid,.product-grid,.review-grid{grid-template-columns:1fr!important}
}
