.onyx-editorial {
    width: 100%;
    min-width: 0;
    color: #f2ebf7;
    margin: 0 auto 2.5rem;
    padding-block: clamp(1.5rem, 4vw, 3rem);
}
.onyx-editorial-head {
    background: linear-gradient(120deg, #352737, #211925);
    border: 1px solid #674b49;
    border-radius: .9rem;
    padding: clamp(1rem, 2.5vw, 1.6rem);
    margin-bottom: 1.25rem;
}
.onyx-editorial h1 {
    font-size: clamp(2rem, 5vw, 3.25rem);
    line-height: 1.12;
    margin: 0;
    text-wrap: balance;
}
.onyx-editorial-head p, .onyx-editorial-card p { color: #d1c5d8; margin: .5rem 0 0; }
.onyx-editorial-nav { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin-bottom: 1.25rem; }
.onyx-editorial-nav a {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: #f9ddad;
    background: #231c2b;
    border: 1px solid #655044;
    border-radius: .5rem;
    padding: .55rem .85rem;
    text-decoration: none;
    transition: background-color .18s ease, border-color .18s ease;
}
.onyx-editorial-nav a:is(:hover, :focus-visible, [aria-current="page"]) { color: #fff1d6; background: #422f33; border-color: #e9b76a; }
.onyx-editorial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.onyx-editorial-card, .onyx-editorial-surface {
    min-width: 0;
    border: 1px solid #674b49;
    border-radius: .9rem;
    background: #201925;
    overflow-wrap: anywhere;
}
.onyx-editorial-card { overflow: hidden; }
.onyx-editorial-card > img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 8; object-fit: cover; object-position: 65% 30%; }
.onyx-editorial-card > div, .onyx-editorial-surface { padding: clamp(1rem, 2.5vw, 1.75rem); }
.onyx-editorial-card h2 { margin: .45rem 0 0; font-size: clamp(1.2rem, 2.2vw, 1.6rem); line-height: 1.2; }
.onyx-editorial-card h2 a { color: #fbf1fc; }
.onyx-editorial a:is(:hover, :focus-visible) { color: #ffda93; }
.onyx-editorial .onyx-editorial-meta { color: #ffd48b; font-size: .83rem; font-weight: 700; margin: 0; }
.onyx-editorial-meta span { margin-inline: .25rem; }
.onyx-editorial-pager { justify-content: center; margin: 1.25rem 0 0; }
.onyx-editorial-rich { line-height: 1.7; max-width: 58rem; }
.onyx-editorial-rich h2 { margin-top: 0; }
.onyx-editorial-rich :is(h2, h3, h4) { color: #ffe0a3; }
.onyx-editorial-rich a { color: #ffd48b; text-decoration: underline; }
.onyx-editorial-rich :is(ol, ul) { padding-left: 1.6em; }
.onyx-editorial-rich pre { white-space: pre-wrap; }
.onyx-editorial-rich :is(th, td) { padding: .4rem; border: 1px solid #674b49; }
.onyx-editorial-rich blockquote { border-left: 2px solid #d6a660; margin-inline: 0; padding-left: 1rem; }
.onyx-editorial-rich p:last-child { margin-bottom: 0; }
.onyx-editorial-article { max-width: 64rem; }
.onyx-editorial-cover { width: 100%; aspect-ratio: 3 / 1; object-fit: cover; object-position: 50% 35%; margin-bottom: 1.25rem; border: 1px solid #674b49; border-radius: .9rem; }
.onyx-calendar-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; gap: 1rem; }
.onyx-calendar-month { justify-content: space-between; flex-wrap: nowrap; text-align: center; }
.onyx-calendar-month h2 { margin: 0; font-size: clamp(1rem, 3.5vw, 1.65rem); }
.onyx-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .3rem; text-align: center; }
.onyx-calendar-grid > span { color: #d1c5d8; font-size: .8rem; }
.onyx-calendar-grid a { min-height: 2.55rem; display: grid; align-content: center; gap: .1rem; border: 1px solid #655044; border-radius: .45rem; color: #ffe6bd; background: #2b2130; text-decoration: none; }
.onyx-calendar-grid a:is([aria-current="date"], :hover, :focus-visible) { border-color: #f2c880; background: #4a3538; color: #fff1d6; }
.onyx-calendar-grid i { color: #f5bf69; font-size: .3rem; }
.onyx-calendar-agenda h2 { margin: 0 0 .75rem; }
.onyx-calendar-agenda article { border-top: 1px solid #655044; padding: .9rem 0; }
.onyx-calendar-agenda h3 { margin: 0 0 .45rem; }
.onyx-calendar-agenda time { color: #ffd48b; }
.onyx-calendar-agenda p { margin: .4rem 0 0; }
@media (max-width: 880px) { .onyx-editorial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .onyx-calendar-layout { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 540px) { .onyx-editorial-grid { grid-template-columns: minmax(0, 1fr); } .onyx-editorial-cover { aspect-ratio: 2 / 1; } }
