/* JRA journal information pages. All component rules are scoped to .jra-policy. */
.page:has(> .jra-policy) > h2 { display: none; }
.jra-policy { --jra-ink:#183d50; --jra-teal:#2c596d; --jra-blue:#11678a; --jra-muted:#526b78; --jra-line:#dce7ec; color:var(--jra-ink); font-family:inherit; font-size:15px; line-height:1.8; overflow-wrap:anywhere; }
.jra-policy *, .jra-policy *::before, .jra-policy *::after { box-sizing:border-box; }
.jra-policy a { color:var(--jra-blue); text-underline-offset:3px; }
.jra-policy a:hover { color:#07445d; }
.jra-policy a:focus-visible, .jra-policy button:focus-visible, .jra-policy summary:focus-visible { outline:3px solid #1581a5; outline-offset:4px; }
.jra-policy h1, .jra-policy h2, .jra-policy h3 { color:var(--jra-ink); font-family:inherit; font-weight:700; line-height:1.3; }
.jra-policy p { margin:0 0 16px; line-height:1.8; }
.jra-policy ul { margin:12px 0 20px; padding-left:22px; }
.jra-policy li { margin-bottom:10px; }
.jra-policy-progress { height:3px; background:#e3eef2; border-radius:4px; margin-bottom:18px; overflow:hidden; }
.jra-policy-progress span { display:block; height:100%; width:0; background:#2a91ac; }
.jra-policy-hero { position:relative; overflow:hidden; padding:32px; background:linear-gradient(125deg,#173e51 0%,#2c596d 65%,#336e7c 100%); border-radius:16px; color:#fff; }
.jra-policy-hero::after { content:''; position:absolute; width:290px; height:290px; right:-155px; top:-125px; border:1px solid rgba(255,255,255,.18); border-radius:50%; box-shadow:0 0 0 32px rgba(255,255,255,.035),0 0 0 65px rgba(255,255,255,.025); pointer-events:none; }
.jra-policy .jra-policy-back { display:inline-block; color:#dbedf4; text-decoration:none; font-size:12px; letter-spacing:.3px; margin-bottom:24px; position:relative; z-index:1; }
.jra-policy-hero-icon { float:right; display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.09); border-radius:12px; margin:0 0 12px 12px; font-size:18px; }
.jra-policy .jra-policy-kicker { color:#cae2eb; font-size:11px; text-transform:uppercase; letter-spacing:1.8px; margin-bottom:8px; line-height:1.4; }
.jra-policy .jra-policy-hero h1 { color:#fff; font-size:clamp(26px,3vw,38px); margin:0 0 14px; letter-spacing:-.7px; position:relative; z-index:1; }
.jra-policy .jra-policy-lead { color:#e6f0f4; font-size:16px; max-width:600px; line-height:1.65; margin:0 0 23px; }
.jra-policy-tags { display:flex; flex-wrap:wrap; gap:7px; position:relative; z-index:1; }
.jra-policy-tags > span { display:inline-block; font-size:11px; line-height:1.5; font-weight:600; padding:5px 10px; border:1px solid rgba(255,255,255,.25); border-radius:5px; background:rgba(255,255,255,.06); color:#f5fbfd; }
.jra-policy-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 2px 20px; font-size:11px; color:var(--jra-muted); }
.jra-policy-print { background:transparent; border:0; color:var(--jra-blue); font:inherit; padding:4px 0; cursor:pointer; }
.jra-policy-print[hidden] { display:none; }
.jra-policy-toc { padding:18px 20px; background:#f5f9fb; border:1px solid var(--jra-line); border-left:3px solid #2b829e; border-radius:0 10px 10px 0; display:flex; flex-wrap:wrap; gap:8px 16px; }
.jra-policy-toc strong { width:100%; color:var(--jra-muted); font-size:10px; letter-spacing:1.4px; text-transform:uppercase; margin-bottom:2px; }
.jra-policy-toc a { font-size:12px; text-decoration:none; line-height:1.6; padding:2px 0; }
.jra-policy-toc a:hover, .jra-policy-toc a[aria-current="location"] { text-decoration:underline; }
.jra-policy-section { position:relative; padding:34px 0 30px; border-bottom:1px solid var(--jra-line); scroll-margin-top:100px; }
.jra-policy-section-label { color:#578395; font-weight:700; font-size:10px; letter-spacing:1.6px; margin-bottom:6px; }
.jra-policy .jra-policy-section > h2 { margin:0 0 20px; font-size:23px; letter-spacing:-.3px; }
.jra-policy-section > :last-child { margin-bottom:0; }
.jra-policy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:16px 0; }
.jra-policy-card { border:1px solid var(--jra-line); border-radius:10px; padding:20px; background:#fff; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.jra-policy-card:hover { transform:translateY(-2px); border-color:#9abfce; box-shadow:0 7px 20px rgba(28,70,88,.06); }
.jra-policy .jra-policy-card h3 { font-size:15px; margin:0 0 9px; }
.jra-policy .jra-policy-card p { font-size:13px; color:#456170; margin:0; line-height:1.75; }
.jra-policy-note { border-left:3px solid #2b829e; background:#f0f7fa; padding:18px 20px; margin:20px 0; border-radius:0 9px 9px 0; }
.jra-policy-note > strong { display:block; font-size:13px; margin-bottom:6px; }
.jra-policy .jra-policy-note p { font-size:13px; margin:0; }
.jra-policy-detail { border:1px solid var(--jra-line); border-radius:9px; margin:12px 0; overflow:hidden; }
.jra-policy-detail summary { cursor:pointer; font-weight:600; padding:17px 20px; font-size:14px; background:#f8fbfc; }
.jra-policy-detail summary::marker { color:#2b829e; }
.jra-policy-detail[open] summary { border-bottom:1px solid var(--jra-line); background:#edf5f8; }
.jra-policy-detail > div { padding:18px 20px; font-size:14px; }
.jra-policy-detail > div > :last-child { margin-bottom:0; }
.jra-policy-steps { counter-reset:jra-step; list-style:none; margin:0; padding:0; }
.jra-policy-steps > li { position:relative; padding:0 0 25px 50px; margin:0; border-left:1px solid #d9e6ec; margin-left:16px; }
.jra-policy-steps > li:last-child { border-left-color:transparent; padding-bottom:0; }
.jra-policy-steps > li::before { counter-increment:jra-step; content:counter(jra-step,decimal-leading-zero); position:absolute; left:-17px; top:0; height:33px; width:33px; border-radius:50%; background:#e8f3f7; border:1px solid #d4e6ed; color:#236a85; font-size:11px; font-weight:700; display:grid; place-items:center; }
.jra-policy .jra-policy-steps h3 { font-size:15px; margin:0 0 8px; }
.jra-policy .jra-policy-steps p { font-size:14px; margin:0; color:#456170; }
.jra-policy-checklist { display:grid; gap:9px; margin:18px 0; }
.jra-policy-checklist label { display:flex; align-items:flex-start; gap:12px; padding:14px 16px; background:#f8fbfc; border:1px solid var(--jra-line); border-radius:8px; font-size:13px; cursor:pointer; transition:background .2s ease; }
.jra-policy-checklist input { flex:0 0 17px; width:17px; height:17px; margin:4px 0 0; accent-color:#21748d; }
.jra-policy-checklist label:has(input:checked) { background:#eaf5f2; border-color:#b6d9cc; }
.jra-policy-checklist input:focus-visible { outline:3px solid #1581a5; outline-offset:3px; }
.jra-policy-actions { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
.jra-policy a.jra-policy-button { display:inline-flex; align-items:center; padding:11px 16px; background:#24647c; color:#fff; border:1px solid #24647c; border-radius:7px; font-size:12px; font-weight:600; text-decoration:none; transition:background .2s ease; }
.jra-policy a.jra-policy-button:hover { background:#173e51; }
.jra-policy a.jra-policy-button.secondary { color:#205d75; background:#f5fafc; border-color:#c5dce5; }
.jra-policy-tags.roles { margin:20px 0; }
.jra-policy-tags.roles > span { color:#285b6e; background:#eef6f9; border-color:#d8e8ee; font-size:12px; }
.jra-policy-sources { padding:25px 0; }
.jra-policy .jra-policy-sources h2 { font-size:14px; margin:0 0 12px; }
.jra-policy-sources ul { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:8px 18px; margin:0; }
.jra-policy-sources li { font-size:11px; margin:0; }
.jra-policy-contact { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:15px; padding:23px; background:#edf5f8; border:1px solid #d4e6ed; border-radius:10px; }
.jra-policy-contact strong { font-size:15px; }
.jra-policy .jra-policy-contact p { font-size:12px; margin:4px 0 0; }
.jra-policy-contact > a { font-size:12px; font-weight:600; }
.jra-policy-related { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:22px 0 12px; }
.jra-policy-related > a { border:1px solid var(--jra-line); border-radius:8px; padding:16px; text-decoration:none; }
.jra-policy-related > a:hover { background:#f5f9fb; }
.jra-policy-related > a > span { display:block; color:var(--jra-muted); font-size:10px; text-transform:uppercase; letter-spacing:1px; }
.jra-policy-related strong { font-size:13px; line-height:1.5; }
.jra-policy .jra-policy-top { display:inline-block; font-size:11px; margin-top:10px; }
.jra-policy-fee { padding:26px; background:#eef8f5; border:1px solid #c5e1d7; border-radius:12px; margin:12px 0 20px; }
.jra-policy-fee > span { display:block; font-size:12px; font-weight:600; color:#32715b; }
.jra-policy-fee > strong { display:block; font-size:48px; font-weight:700; line-height:1.4; color:#215c48; letter-spacing:-1px; }
.jra-policy .jra-policy-fee p { font-size:14px; margin:4px 0 0; color:#356854; }
.jra-sidebar-links a[aria-current="page"] { background:#eaf4f8; box-shadow:inset 3px 0 #2b829e; font-weight:700; }
@keyframes jra-policy-enter { from { opacity:.55; transform:translateY(7px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:no-preference) { .jra-policy-hero { animation:jra-policy-enter .4s ease-out; } .jra-policy-detail[open] > div { animation:jra-policy-enter .22s ease-out; } }
@media (prefers-reduced-motion:reduce) { .jra-policy *, .jra-policy *::before, .jra-policy *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media (max-width:600px) { .jra-policy { font-size:14px; } .jra-policy-hero { padding:23px 20px; border-radius:12px; } .jra-policy .jra-policy-lead { font-size:14px; } .jra-policy-grid { grid-template-columns:1fr; } .jra-policy .jra-policy-section > h2 { font-size:21px; } .jra-policy-card { padding:17px; } .jra-policy-hero-icon { width:36px; height:36px; font-size:15px; } .jra-policy-toc { padding:15px; gap:8px 14px; } .jra-policy-related { grid-template-columns:1fr; } .jra-policy-toolbar { font-size:10px; } }
@media print { body:has(.jra-policy) #headerNavigationContainer, body:has(.jra-policy) .pkp_structure_sidebar, body:has(.jra-policy) .pkp_structure_footer_wrapper { display:none!important; } body:has(.jra-policy) .pkp_structure_main { width:100%!important; padding:0!important; border:0!important; margin:0!important; } .jra-policy-hero { background:#fff; border:1px solid #ccc; } .jra-policy .jra-policy-hero h1, .jra-policy .jra-policy-hero p, .jra-policy .jra-policy-hero a { color:#000; } .jra-policy-tags > span { color:#333; border-color:#ccc; } .jra-policy-progress, .jra-policy-print, .jra-policy-toc, .jra-policy-related, .jra-policy-top { display:none!important; } .jra-policy-card, .jra-policy-detail, .jra-policy-note { break-inside:avoid; } .jra-policy-detail > div { display:block!important; } .jra-policy-section { padding:20px 0; } }
