/* Category banner and article feature: original Yzuran presentation. */
/* Both link states inherit the same authored colour; browser history adds no purple. */
:where(.yzuran a:link,.yzuran a:visited){color:inherit}
.yz-category-content{display:grid;gap:24px;margin-bottom:48px}
.yz-category-deck{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.yz-category-tile{position:relative;border-radius:10px;overflow:hidden;background:#f6f7f9;border:1px solid var(--line);isolation:isolate;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.yz-category-card:any-link{display:block;color:inherit;text-decoration:none;height:100%}
.yz-category-card:focus-visible{outline:3px solid var(--yz-orange);outline-offset:-3px}
.yz-category-media{position:relative;height:300px;overflow:hidden;background:#143770}
.yz-category-media>img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0;transform:scale(1.02);transition:transform .5s ease}
.yz-category-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0009 0%,#0000002e 55%,transparent 100%);opacity:.9;transition:opacity .35s ease;pointer-events:none}
.yz-category-caption{position:absolute;inset-inline:16px;bottom:14px;z-index:2;color:#fff;display:grid;gap:6px}
.yz-category-caption h2{font-size:clamp(17px,1.3vw,20px);font-weight:800;letter-spacing:.2px;line-height:1.2;margin:0;color:#fff}
.yz-category-badge{justify-self:start;display:inline-flex;align-items:center;background:#ffffff24;border:1px solid #ffffff47;backdrop-filter:blur(3px);padding:6px 10px;border-radius:999px;font-size:.92rem;line-height:1.5;max-width:100%}
.yz-category-cta{position:absolute;inset-inline-end:16px;bottom:16px;z-index:3;background:#ffffffe6;color:#111;border-radius:50px;padding:6px 10px;font-size:.85rem;border:1px solid #dcdde1;letter-spacing:.3px;font-weight:600;opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}
.yz-category-tile:is(:hover,:focus-within){transform:translateY(-6px);box-shadow:0 10px 25px #0f172a1f;border-color:#d7d9df}
.yz-category-tile:is(:hover,:focus-within) .yz-category-cta{transform:translateY(0);opacity:1;background:#fff;box-shadow:0 3px 10px #0000001a}
.yz-category-tile:is(:hover,:focus-within) .yz-category-media>img{transform:scale(1.08)}
.yz-category-tile:is(:hover,:focus-within) .yz-category-media::after{opacity:1}
.yz-category-bottom{padding:12px 14px;background:#fff;border-top:1px solid var(--line);min-height:58px;display:flex;align-items:center}
.yz-category-bottom p{margin:0;font-size:.95rem;color:var(--muted);line-height:1.6}
@media(max-width:900px){.yz-category-deck{grid-template-columns:1fr}}
@media(hover:none){.yz-category-cta{position:static;display:inline-flex;margin:0 16px 14px;opacity:1;transform:none}.yz-category-media{height:auto}.yz-category-media>img{height:300px}.yz-category-caption{position:relative;inset:auto;padding:16px 16px 12px}.yz-category-media::after{display:none}.yz-category-tile:is(:hover,:focus-within){transform:none}.yz-category-tile:is(:hover,:focus-within) .yz-category-caption{padding-inline-end:16px}}
.yz-resource-banner{width:100%;overflow:hidden}
.yz-resource-banner img{width:100%;height:auto;max-height:350px;display:block;object-fit:cover}
.yz-resource-title{text-align:center;margin:2em 16px 1.5em}
.yz-resource-title h1,.yz-resource-title h2{font-size:2.4em;letter-spacing:.01em;color:#143770;font-weight:700;line-height:1.15;text-shadow:0 2px 6px #0001}
.yz-resource-title p{font-size:1.3em;color:#1871ac;margin-top:.7em;font-weight:500;letter-spacing:.02em;line-height:1.3;text-shadow:0 1px 3px #0001}
.nx-context-article [data-section-id=article-body]{margin-bottom:60px}
.yz-article-feature{position:relative;width:100%;border-radius:18px;overflow:hidden;border:1px solid #e1e4ea;box-shadow:0 12px 30px #0a00282e;background:#f3f4f7;margin-bottom:22px}
.yz-article-feature>img{display:block;width:100%;height:auto}
.yz-article-feature:not(.yz-article-no-image)::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#000a 0%,#0004 55%,transparent 100%);pointer-events:none}
.yz-article-caption{position:absolute;inset-inline:26px;bottom:26px;z-index:1;color:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.yz-article-caption p{padding:6px 14px;border-radius:999px;background:#ffffff29;border:1px solid #ffffff52;font-size:.9rem;font-weight:500;line-height:1.5;max-width:640px;text-shadow:0 2px 6px #000a}
.yz-article-caption h1{font-size:clamp(22px,2.1vw,30px);font-weight:800;letter-spacing:.02em;line-height:1.2;color:inherit;margin:0;text-shadow:0 4px 14px #0009}
.yz-article-no-image .yz-article-caption{position:static;padding:26px;color:#143770}
.yz-article-no-image .yz-article-caption p{background:transparent;color:#1871ac;border-color:#e1e4ea;text-shadow:none}
.yz-article-no-image .yz-article-caption h1{text-shadow:none}
.yz-article-date{margin:-6px 0 16px;color:#4b5563;font-size:.85rem}
.nx-context-article .prose-reading{border-radius:14px;border:1px solid #eaecf2;box-shadow:0 6px 22px #0f172a0f;padding:20px 22px 26px;line-height:1.85}
.nx-context-article .prose-reading p{margin-bottom:16px}
@media(max-width:700px){.yz-resource-title h1,.yz-resource-title h2{font-size:2em}.yz-article-caption{inset-inline:16px;bottom:16px}.yz-article-feature>img{min-height:0}.yz-article-feature:not(.yz-article-no-image) .yz-article-caption{position:relative;padding:16px;inset:auto;background:#143770}.yz-article-feature:not(.yz-article-no-image)::after{display:none}.yz-article-caption h1{font-size:22px}.yz-article-caption p{max-width:100%;border-radius:12px}.nx-context-article .prose-reading{padding:18px}}

/* 0.1.10: Sidebar Widgets beside the content, stacked on narrow screens. */
.yzuran .nx-template-composition .nx-grid{align-items:start}
.yzuran .nx-position[data-position-key="sidebar-right"]{display:grid;gap:18px;min-width:0}
.yzuran .nx-position[data-position-key="sidebar-right"]>.nx-block{background:#fff;border:1px solid #eaecf2;border-radius:12px;padding:16px;box-shadow:0 6px 22px #0f172a0f;min-width:0;overflow-wrap:anywhere}
.yzuran .nx-position[data-position-key="sidebar-right"] .nx-block-title{font-size:1rem;color:#1f2937;line-height:1.4;margin-bottom:12px}
.yzuran .nx-position[data-position-key="sidebar-right"] img{max-width:100%;height:auto}
@media(max-width:1100px){.yzuran .nx-template-composition .nx-grid>.nx-column{grid-column:span 12}}

/* 0.1.11: Article Widgets supplied by Core, including text-only lists. */
.yzuran .nx-article-list-block h3{font-size:1rem;font-weight:700;line-height:1.4;color:#143770;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid #edf0f5}
.yzuran .nx-article-list-block ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.yzuran .nx-article-list-block li{list-style:none;margin:0;padding:0;min-width:0}
.yzuran .nx-article-list-block li>a:any-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#f7f9fc;border:1px solid #edf0f5;border-radius:9px;color:#253955;font-weight:500;font-size:.94rem;line-height:1.5;overflow-wrap:anywhere;transition:background .18s ease,border-color .18s ease,color .18s ease}
.yzuran .nx-article-list-block li>a::after{content:"→";flex:none;color:#ed7c3b;font-size:1.1rem}
.yzuran .nx-article-list-block li>a:is(:hover,:focus-visible){background:#fff;border-color:#d6dfea;color:#1b05a4}
.yzuran .nx-article-list-block li>a:focus-visible{outline:2px solid #ed7c3b;outline-offset:2px}
.yzuran[dir=rtl] .nx-article-list-block li>a::after,[dir=rtl] .yzuran .nx-article-list-block li>a::after{content:"←"}
.yzuran .nx-position[data-position-key="sidebar-right"]>.nx-block{padding:18px;box-shadow:0 6px 22px #0f172a08}
.yzuran .yz-category-tile{border-radius:14px;background:#fff;box-shadow:0 3px 12px #0f172a06}
.yzuran .yz-category-bottom{padding:16px 18px;min-height:78px}
.yzuran .yz-category-bottom p{color:#475569;line-height:1.65}
.yzuran .nx-context-article .prose-reading{font-size:1rem;line-height:1.9}
.yzuran .nx-context-article .prose-reading p:last-child{margin-bottom:0}

/* 0.1.12: Core media Widgets — one image and a separate, padded title per card. */
.yzuran .nx-article-media-list{display:grid;gap:20px;min-width:0}
.yzuran .nx-article-media-item{min-width:0;overflow:hidden;border:1px solid #e7ecf3;border-radius:12px;background:#fff;box-shadow:0 3px 12px #0f172a06;transition:box-shadow .3s ease,border-color .3s ease}
.yzuran .nx-article-media-image:any-link{display:block;overflow:hidden;aspect-ratio:16/10;background:#f4f6fa;text-decoration:none}
.yzuran .nx-article-media-list .nx-article-media-image>img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;border-radius:0;transform:scale(1);transition:transform .55s cubic-bezier(.2,.65,.3,1)}
.yzuran .nx-article-media-title:any-link{display:block;padding:16px 18px 18px;margin:0;color:#253955;text-decoration:none;font-size:clamp(.95rem,1.1vw,1.08rem);font-weight:600;line-height:1.55;overflow-wrap:anywhere;transition:color .25s ease,background .25s ease}
.yzuran .nx-article-media-item:focus-within{border-color:#d4deeb;box-shadow:0 8px 22px #0f172a12}
.yzuran .nx-article-media-item:focus-within .nx-article-media-image>img{transform:scale(1.045)}
.yzuran .nx-article-media-title:focus-visible,.yzuran .nx-article-media-image:focus-visible{outline:2px solid #ed7c3b;outline-offset:-3px}
@media(hover:hover) and (pointer:fine){
 .yzuran .nx-article-media-item:hover{border-color:#d4deeb;box-shadow:0 8px 22px #0f172a12}
 .yzuran .nx-article-media-item:hover .nx-article-media-image>img{transform:scale(1.045)}
 .yzuran .nx-article-media-title:hover{color:#1b05a4;background:#fafbfe}
}
@media(max-width:700px){.yzuran .nx-article-media-list{gap:18px}.yzuran .nx-article-media-title:any-link{padding:14px 16px 16px;font-size:1rem}}
@media(prefers-reduced-motion:reduce){
 .yzuran .nx-article-media-item,.yzuran .nx-article-media-image>img,.yzuran .nx-article-media-title,
 .yzuran .yz-category-tile,.yzuran .yz-category-media>img,.yzuran .yz-category-media::after,.yzuran .yz-category-cta{transition:none}
 .yzuran .nx-article-media-item:focus-within .nx-article-media-image>img,
 .yzuran .nx-article-media-item:hover .nx-article-media-image>img,
 .yzuran .yz-category-tile:is(:hover,:focus-within),
 .yzuran .yz-category-tile:is(:hover,:focus-within) .yz-category-media>img{transform:none}
}
