/* Clothing applicability, not an alternate implementation of R18 theme settings. */
.instance-storefront { background:var(--store-surface,#f7fafc); color:var(--ew-ink); font-family:inherit; min-height:100vh; }
.instance-storefront :focus-visible { outline:3px solid var(--ew-blue-soft); outline-offset:4px; }
.vj-experiment { background:var(--ew-ink); color:#fff; padding:10px 20px; text-align:center; font:12px/1.5 ui-monospace,monospace; letter-spacing:.08em; }
.vj-header { max-width:1320px; margin:auto; padding:30px 28px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--ew-line); }
.vj-wordmark { font-size:36px; letter-spacing:-.055em; line-height:1; }
.vj-header nav { display:flex; flex-wrap:wrap; align-items:center; gap:18px; font:14px/1.5 ui-sans-serif,sans-serif; }
.vj-header a,.vj-footer a { text-underline-offset:5px; }
.vj-header a:hover { text-decoration:underline; }
.vj-main { max-width:1320px; margin:auto; padding:42px 28px 90px; }
.vj-hero { display:grid; grid-template-columns:1.6fr 1fr; align-items:end; gap:40px; border-bottom:1px solid var(--ew-line); padding:35px 0 70px; }
.vj-kicker { font:12px/1.5 ui-monospace,monospace; text-transform:uppercase; letter-spacing:.16em; }
.vj-hero h1 { font-size:clamp(56px,8vw,108px); letter-spacing:-.065em; line-height:.96; margin:24px 0; font-weight:normal; }
.vj-hero p { max-width:420px; font-size:19px; line-height:1.7; }
.vj-cta { display:inline-block; background:var(--ew-ink); color:white; padding:16px 26px; margin-top:28px; font:15px ui-sans-serif,sans-serif; }
.vj-notice { border:1px solid var(--ew-line); padding:16px; margin-bottom:28px; }
.vj-footer { border-top:1px solid var(--ew-line); padding:40px 28px; max-width:1320px; margin:auto; font-size:14px; line-height:1.8; }
.vj-empty-photo { display:flex; align-items:center; justify-content:center; min-height:inherit; height:100%; background:#ece9df; color:#52635b; padding:32px; text-align:center; }
.vj-garment-facts { display:flex; flex-wrap:wrap; gap:10px 24px; margin:24px 0; font:14px ui-sans-serif,sans-serif; }
.vj-garment-facts div { border-bottom:1px solid var(--ew-line); padding:10px 0; }
@media(max-width:640px) { .vj-header { align-items:start; flex-direction:column; padding:24px 18px; }.vj-main { padding:28px 18px 100px; }.vj-hero { grid-template-columns:1fr; gap:12px; padding:15px 0 40px; }.vj-header nav { gap:14px; }.vj-wordmark { font-size:32px; } }
