/* SwordOnline product presentation. Existing BlackLine/store rules stay untouched. */
.so-section { padding: 64px 0; }
.so-card { display:grid; grid-template-columns:1.15fr 1fr; background:var(--bl-surface); border:1px solid var(--bl-line); border-radius:var(--bl-radius-lg); overflow:hidden; }
.so-card-media { display:block; min-height:320px; background:#151310; }
.so-card-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:35% center; }
.so-card-copy { padding:36px; align-self:center; }
.so-kicker { color:#e2bd79; text-transform:uppercase; letter-spacing:.1em; font-size:.875rem; font-weight:600; margin:0 0 12px; }
.so-card h2,.so-page h1 { margin:0 0 18px; font-family:var(--bl-font-alt); line-height:1; letter-spacing:.02em; text-transform:none; }
.so-card h2 { font-size:clamp(2.5rem,4vw,3.8rem); }
.so-card p { color:var(--bl-text-clair); }
.so-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:12px; margin:22px 0; }
.so-price strong { font:700 2.5rem/1 var(--bl-font-alt); color:#fff; }
.so-price span,.so-note { color:var(--bl-text-2); font-size:.9375rem; }
.so-actions { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 0; }
.so-page { padding:70px 0; }
.so-page h1 { font-size:clamp(3.2rem,6vw,5.8rem); }
.so-intro { display:grid; grid-template-columns:.85fr 1.15fr; gap:42px; align-items:center; }
.so-intro p { color:var(--bl-text-clair); font-size:1.0625rem; }
.so-shot { margin:0; }
.so-shot img { display:block; width:100%; height:auto; border-radius:8px; border:1px solid var(--bl-line); }
.so-shot figcaption { font-size:.875rem; color:var(--bl-text-2); padding-top:10px; }
.so-offers { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:48px 0; }
.so-offer { padding:30px; background:var(--bl-surface); border:1px solid var(--bl-line); border-top:3px solid #d6af6a; border-radius:8px; }
.so-offer h2 { font-size:1.6rem; margin:0 0 12px; }
.so-offer p { margin:12px 0 0; color:var(--bl-text-clair); }
.so-offer .so-price { margin:18px 0; }
.so-status { display:inline-block; color:#e2bd79; font-size:.9375rem; }
.so-details { margin:48px 0 30px; display:flex; flex-wrap:wrap; gap:12px; padding:0; list-style:none; }
.so-details li { padding:8px 14px; border:1px solid var(--bl-line); color:var(--bl-text-clair); border-radius:4px; }
.so-footer-note { padding:24px 0 0; color:var(--bl-text-2); }
@media(max-width:800px) { .so-card,.so-intro,.so-offers { grid-template-columns:1fr; } .so-card-media { min-height:0; aspect-ratio:16/9; } .so-card-copy { padding:26px; } .so-page { padding:42px 0; } .so-intro { gap:26px; } .so-section { padding:40px 0; } }
@media(prefers-reduced-motion:reduce) { .so-card { transform:none !important; } }
