/* Public menu pages. Keep these styles scoped away from member and plugin views. */
.yj-page { --yj-ink:#1c2534; --yj-muted:#687487; --yj-accent:#ee6338; --yj-line:#e5e9ef; color:var(--yj-ink); background:#fff; }
.yj-page #yj-content, .yj-page #yj-content * { box-sizing:border-box; }
.yj-page #yj-content { font-size:15px; line-height:1.75; }
.yj-page #yj-content [hidden] { display:none!important; }
.yj-page #yj-content p, .yj-page #yj-content h1, .yj-page #yj-content h2, .yj-page #yj-content h3 { margin:0; }
.yj-page #yj-content a { color:var(--yj-accent); text-decoration:none; }
.yj-page #yj-content a:hover { text-decoration:underline; }
.yj-page #yj-content button, .yj-page #yj-content input, .yj-page #yj-content select { font:inherit; }
.yj-page #yj-content :focus-visible { outline:3px solid #a14424; outline-offset:4px; }
.yj-shell { width:min(1180px,calc(100% - 64px)); margin:0 auto; }
.yj-skip { position:absolute; top:-100px; left:20px; z-index:10000; background:#fff; color:#96350e; padding:12px 18px; }
.yj-skip:focus { top:8px; }
.yj-hero { padding:56px 0 60px; background:radial-gradient(ellipse at 92% 10%,#fde9df 0,transparent 55%),linear-gradient(125deg,#fafbfc,#f3f5f8); border-bottom:1px solid var(--yj-line); }
.yj-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:32px; font-size:13px; color:var(--yj-muted); }
.yj-page #yj-content .yj-breadcrumb a { color:var(--yj-muted); }
.yj-hero-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr); align-items:center; gap:72px; }
.yj-eyebrow { margin-bottom:16px!important; color:#a64423; font-size:13px; font-weight:650; letter-spacing:.12em; }
.yj-page #yj-content h1 { font-size:clamp(32px,4vw,48px); letter-spacing:-.04em; line-height:1.25; font-weight:700; }
.yj-lead { margin-top:24px!important; max-width:720px; color:#536174; font-size:17px; line-height:1.85; }
.yj-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:28px; }
.yj-page #yj-content .yj-button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:10px 20px; border:1px solid #dbe1e9; background:#fff; border-radius:7px; color:#273447; font-weight:600; line-height:1.5; cursor:pointer; }
.yj-page #yj-content .yj-button:hover { background:#f4f6f9; text-decoration:none; }
.yj-page #yj-content .yj-button--primary { color:#fff; border-color:#c74c25; background:#c74c25; }
.yj-page #yj-content .yj-button--primary:hover { background:#ac3e1c; }
.yj-hero-note { padding:28px; border:1px solid #fff; background:rgba(255,255,255,.84); border-radius:14px; box-shadow:0 12px 40px rgba(28,37,52,.035); }
.yj-hero-note h2 { font-size:17px; font-weight:650; margin-bottom:18px!important; }
.yj-hero-note dl { margin:0; }
.yj-hero-note dl>div { display:grid; grid-template-columns:80px 1fr; gap:12px; padding:12px 0; border-top:1px solid var(--yj-line); }
.yj-hero-note dt { color:var(--yj-muted); font-weight:400; }
.yj-hero-note dd { margin:0; font-weight:600; }
.yj-block { padding:64px 0; scroll-margin-top:24px; }
.yj-block--muted { background:#f7f8fa; }
.yj-heading { margin-bottom:28px; max-width:820px; }
.yj-page #yj-content h2 { font-size:28px; line-height:1.4; letter-spacing:-.02em; }
.yj-heading>p { margin-top:12px!important; color:var(--yj-muted); }
.yj-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.yj-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.yj-card { min-width:0; padding:28px; border:1px solid var(--yj-line); border-radius:12px; background:#fff; }
.yj-card h3 { font-size:19px; font-weight:650; line-height:1.5; }
.yj-card>p { margin-top:14px!important; color:var(--yj-muted); }
.yj-card>a:not(.yj-button) { display:inline-block; margin-top:20px; font-weight:600; }
.yj-card-label { display:block; font-size:12px; font-weight:650; color:#a64423; margin-bottom:14px; }
.yj-card-list { padding-left:19px; margin:16px 0 0; color:var(--yj-muted); }
.yj-card-list li { margin:8px 0; }
.yj-toolbar { display:flex; flex-wrap:wrap; gap:16px; padding:20px; margin-bottom:20px; background:#f6f7f9; border:1px solid var(--yj-line); border-radius:10px; }
.yj-field { display:flex; flex-direction:column; gap:6px; flex:1 1 240px; min-width:0; }
.yj-field label { font-size:13px; font-weight:600; }
.yj-field input, .yj-field select { width:100%; min-height:44px; border:1px solid #d4dae3; border-radius:6px; background:#fff; padding:9px 12px; color:var(--yj-ink); }
.yj-field--compact { flex:0 1 230px; }
.yj-catalog-status { margin:14px 0 20px!important; color:var(--yj-muted); font-size:14px; }
.yj-product { display:flex; flex-direction:column; padding:24px; }
.yj-product h3 { padding-right:4px; }
.yj-product-group { font-size:12px; color:var(--yj-muted); margin:6px 0 18px!important; }
.yj-product-specs { margin:0 0 22px; }
.yj-product-specs>div { display:grid; grid-template-columns:52px 1fr; gap:12px; padding:6px 0; font-size:14px; }
.yj-product-specs dt { font-weight:400; color:var(--yj-muted); }
.yj-product-specs dd { margin:0; overflow-wrap:anywhere; }
.yj-product-footer { margin-top:auto; padding-top:20px; border-top:1px solid var(--yj-line); display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; }
.yj-price { color:#a74422; font-size:13px; }
.yj-price strong { font-size:29px; line-height:1.3; letter-spacing:-.03em; }
.yj-stock { font-size:12px; color:#59677a; margin:0 0 16px!important; }
.yj-empty { padding:34px; border:1px dashed #ccd5e1; border-radius:12px; background:#fafbfc; text-align:center; }
.yj-empty h3 { font-size:20px; }
.yj-empty p { color:var(--yj-muted); max-width:680px; margin:12px auto 0!important; }
.yj-empty .yj-actions { justify-content:center; }
.yj-steps { padding:0; margin:0; list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.yj-steps li { border-top:2px solid #e7ab94; padding-top:20px; }
.yj-step-number { display:block; color:#a64423; font-weight:650; font-size:13px; margin-bottom:12px; }
.yj-steps strong { display:block; font-size:18px; }
.yj-steps p { margin-top:12px!important; color:var(--yj-muted); }
.yj-faq { max-width:900px; }
.yj-faq details { border-bottom:1px solid var(--yj-line); padding:20px 0; }
.yj-faq summary { cursor:pointer; font-weight:600; font-size:17px; padding-right:16px; }
.yj-faq details p { padding-top:14px; color:var(--yj-muted); }
.yj-contact-value { color:var(--yj-ink)!important; font-size:19px; font-weight:600; overflow-wrap:anywhere; }
.yj-inline-note { font-size:13px; color:var(--yj-muted); margin-top:20px!important; }
.yj-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:20px; }
.yj-callout { padding:32px; border-radius:12px; background:#1e293b; color:#fff; }
.yj-callout p { color:#d2dae6; margin-top:14px!important; }
.yj-page #yj-content .yj-callout h2 { font-size:25px; }
.yj-callout .yj-actions { margin-top:22px; }
@media (max-width:960px) {
  .yj-hero-grid { gap:32px; grid-template-columns:minmax(0,1.35fr) minmax(230px,1fr); }
  .yj-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .yj-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .yj-shell { width:calc(100% - 36px); }
  .yj-hero { padding:28px 0 36px; }
  .yj-breadcrumb { margin-bottom:24px; }
  .yj-hero-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .yj-hero-note { padding:22px; }
  .yj-lead { font-size:16px; margin-top:18px!important; }
  .yj-block { padding:40px 0; }
  .yj-page #yj-content h2 { font-size:24px; }
  .yj-grid, .yj-grid--two { grid-template-columns:minmax(0,1fr); gap:16px; }
  .yj-card { padding:22px; }
  .yj-field--compact { flex:1 1 220px; }
  .yj-empty { padding:26px 18px; }
  .yj-steps { gap:22px 18px; }
  .yj-steps strong { font-size:16px; }
  .yj-callout { padding:24px; }
}
@media (prefers-reduced-motion:reduce) { .yj-page * { scroll-behavior:auto!important; } }
