.regioarticlesultimate {
    --rau-cols-desktop: 3;
    --rau-cols-tablet: 2;
    --rau-cols-mobile: 1;
    --rau-gap: 24px;
    --rau-radius: .75rem;
    --rau-padding: 1.25rem;
    --rau-overlay-alpha: .68;
    --rau-accent: var(--link-color, #0d6efd);
    --rau-card-bg: var(--body-bg, #fff);
    --rau-card-text: inherit;
    --rau-border: color-mix(in srgb, currentColor 14%, transparent);
    --rau-muted: color-mix(in srgb, currentColor 68%, transparent);
}

.regioarticlesultimate *,
.regioarticlesultimate *::before,
.regioarticlesultimate *::after { box-sizing: border-box; }

.rau-items {
    display: grid;
    grid-template-columns: repeat(var(--rau-cols-desktop), minmax(0, 1fr));
    gap: var(--rau-gap);
    align-items: start;
}

.rau-items--equal { align-items: stretch; }
.rau-items--equal .rau-item { height: 100%; }
.rau-item[hidden] { display: none !important; }

.rau-item {
    position: relative;
    min-width: 0;
    overflow: hidden;
    color: var(--rau-card-text);
    background: var(--rau-card-bg);
    border-radius: var(--rau-radius);
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.rau-item:focus-within { outline: 3px solid color-mix(in srgb, var(--rau-accent) 35%, transparent); outline-offset: 3px; }
.rau-card--border { border: 1px solid var(--rau-border); }
.rau-card--shadow { box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.09); }
.rau-card--border-shadow { border: 1px solid var(--rau-border); box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.07); }
.rau-card--plain { overflow: visible; background: transparent; border-radius: 0; }
.rau-card--soft { background: color-mix(in srgb, var(--rau-accent) 7%, var(--rau-card-bg)); }
.rau-card--elevated { box-shadow: 0 1rem 2.8rem rgba(0,0,0,.15); }
.rau-card--glass {
    border: 1px solid color-mix(in srgb, #fff 45%, transparent);
    background: color-mix(in srgb, var(--rau-card-bg) 74%, transparent);
    box-shadow: 0 .8rem 2.5rem rgba(0,0,0,.1);
    backdrop-filter: blur(14px) saturate(135%);
}
.rau-card--outline { border: 2px solid var(--rau-accent); }

.rau-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    padding: var(--rau-padding);
}

.rau-card--plain .rau-content { padding-inline: 0; }
.rau-item--image-left,
.rau-item--image-right { display: flex; }
.rau-item--image-right { flex-direction: row-reverse; }
.rau-item--image-left .rau-image,
.rau-item--image-right .rau-image { flex: 0 0 min(42%, 22rem); }
.rau-item--image-left .rau-content,
.rau-item--image-right .rau-content { flex: 1 1 auto; }

.rau-image {
    position: relative;
    margin: 0;
    overflow: hidden;
    background: color-mix(in srgb, currentColor 6%, transparent);
}
.rau-image > a { display: block; width: 100%; height: 100%; }
.rau-image img { display: block; width: 100%; height: 100%; object-fit: var(--rau-image-fit, cover); transition: transform .35s ease; }
.rau-ratio--1-1 { aspect-ratio: 1 / 1; }
.rau-ratio--4-3 { aspect-ratio: 4 / 3; }
.rau-ratio--3-2 { aspect-ratio: 3 / 2; }
.rau-ratio--16-9 { aspect-ratio: 16 / 9; }
.rau-ratio--21-9 { aspect-ratio: 21 / 9; }
.rau-ratio--auto img { height: auto; }
.rau-image figcaption { position: absolute; z-index: 3; inset: auto 0 0; padding: .45rem .7rem; color: #fff; background: rgba(0,0,0,.66); font-size: .78rem; }

.rau-category-name { margin-bottom: .45rem; color: var(--rau-accent); font-size: .78rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.rau-category-name a { color: inherit; text-decoration: none; }
.rau-title { margin: 0 0 .65rem; line-height: 1.22; font-size: clamp(1.08rem, 1rem + .35vw, 1.42rem); }
.rau-title a { color: inherit; text-decoration: none; }
.rau-title a:hover, .rau-category-name a:hover { text-decoration: underline; text-underline-offset: .15em; }
.rau-meta { display: flex; flex-wrap: wrap; gap: .3rem .85rem; margin-bottom: .8rem; color: var(--rau-muted); font-size: .82rem; }
.rau-text { margin-bottom: 1rem; }
.rau-text > :last-child { margin-bottom: 0; }
.rau-readmore { margin-top: auto; padding-top: .25rem; }
.rau-more-link { color: var(--rau-accent); font-weight: 750; text-underline-offset: .18em; }
.rau-featured { align-self: flex-start; margin-bottom: .55rem; padding: .2rem .55rem; border-radius: 99rem; color: #fff; background: var(--rau-accent); font-size: .72rem; font-weight: 750; text-transform: uppercase; }
.rau-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0 0 1rem; }
.rau-tag { padding: .18rem .5rem; border-radius: 99rem; background: color-mix(in srgb, var(--rau-accent) 11%, transparent); font-size: .76rem; }
.rau-fields { margin: 0 0 1rem; font-size: .88rem; }
.rau-fields > div { display: grid; grid-template-columns: minmax(7rem, .4fr) 1fr; gap: .75rem; padding-block: .28rem; border-bottom: 1px solid var(--rau-border); }
.rau-fields dt { font-weight: 700; }
.rau-fields dd { margin: 0; }

.rau-align--center .rau-content { text-align: center; }
.rau-align--center .rau-meta,
.rau-align--center .rau-tags { justify-content: center; }
.rau-align--center .rau-featured { align-self: center; }
.rau-align--right .rau-content { text-align: right; }
.rau-align--right .rau-meta,
.rau-align--right .rau-tags { justify-content: flex-end; }
.rau-align--right .rau-featured { align-self: flex-end; }

.rau-hover--lift .rau-item:hover { z-index: 2; transform: translateY(-7px); box-shadow: 0 1rem 2.6rem rgba(0,0,0,.16); }
.rau-hover--zoom .rau-item:hover .rau-image img { transform: scale(1.075); }
.rau-hover--glow .rau-item:hover { border-color: var(--rau-accent); box-shadow: 0 0 0 1px var(--rau-accent), 0 1rem 2.5rem color-mix(in srgb, var(--rau-accent) 24%, transparent); }

.rau-filters { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: 1.25rem; }
.rau-filter { flex: 1 1 14rem; margin: 0; }
.rau-filter--search { flex-grow: 2; }
.rau-empty, .rau-client-empty { padding: 1rem; border: 1px dashed var(--rau-border); border-radius: var(--rau-radius); color: var(--rau-muted); text-align: center; }

/* Image overlay cards */
.regioarticlesultimate--overlay .rau-item--has-image { min-height: clamp(19rem, 35vw, 30rem); isolation: isolate; }
.regioarticlesultimate--overlay .rau-item--has-image::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    content: "";
    pointer-events: none;
    background: linear-gradient(180deg, rgba(0,0,0,.04) 12%, rgba(0,0,0,var(--rau-overlay-alpha)) 100%);
}
.regioarticlesultimate--overlay .rau-item--has-image .rau-image {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
}
.regioarticlesultimate--overlay .rau-item--has-image .rau-content {
    position: absolute;
    z-index: 2;
    inset: 0;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
    color: #fff;
}
.regioarticlesultimate--overlay .rau-item--has-image .rau-category-name,
.regioarticlesultimate--overlay .rau-item--has-image .rau-meta,
.regioarticlesultimate--overlay .rau-item--has-image .rau-more-link { color: rgba(255,255,255,.9); }
.regioarticlesultimate--overlay .rau-item--has-image .rau-text { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.regioarticlesultimate--overlay .rau-item--no-image { background: linear-gradient(145deg, var(--rau-accent), color-mix(in srgb, var(--rau-accent) 35%, var(--rau-card-bg))); }
.regioarticlesultimate--overlay .rau-item--no-image .rau-content { color: #fff; }
.regioarticlesultimate--overlay .rau-item--no-image .rau-category-name,
.regioarticlesultimate--overlay .rau-item--no-image .rau-meta,
.regioarticlesultimate--overlay .rau-item--no-image .rau-more-link { color: rgba(255,255,255,.9); }

/* Accent cards */
.regioarticlesultimate--accent .rau-item { border-top: .32rem solid var(--rau-accent); }
.regioarticlesultimate--accent .rau-item::before { position: absolute; inset: .7rem .7rem auto auto; width: 2.3rem; height: 2.3rem; border-radius: 50%; content: ""; background: color-mix(in srgb, var(--rau-accent) 13%, transparent); }

/* Editorial cards */
.regioarticlesultimate--editorial .rau-item { border-radius: 0; border-block: 1px solid var(--rau-border); background: transparent; box-shadow: none; }
.regioarticlesultimate--editorial .rau-content { padding-inline: 0; }
.regioarticlesultimate--editorial .rau-title { font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.25rem, 1.05rem + .65vw, 1.75rem); }
.regioarticlesultimate--editorial .rau-image { border-radius: var(--rau-radius); }

/* Compact cards can also be arranged in multiple columns */
.regioarticlesultimate--compact .rau-item { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; border-bottom: 1px solid var(--rau-border); border-radius: min(var(--rau-radius), .75rem); }
.regioarticlesultimate--compact .rau-image { width: 7rem; height: 5.5rem; aspect-ratio: auto; }
.regioarticlesultimate--compact .rau-content { padding: .75rem 1rem; }
.regioarticlesultimate--compact .rau-title { margin-bottom: .3rem; font-size: 1rem; }
.regioarticlesultimate--compact .rau-text,
.regioarticlesultimate--compact .rau-readmore,
.regioarticlesultimate--compact .rau-fields { display: none; }

/* Magazine: first article spans the complete first row */
.regioarticlesultimate--magazine .rau-item--lead { grid-column: 1 / -1; }
.regioarticlesultimate--magazine .rau-item--lead .rau-title { font-size: clamp(1.5rem, 1.05rem + 1.15vw, 2.35rem); }
.regioarticlesultimate--magazine .rau-item--lead.rau-item--has-image.rau-item--image-left,
.regioarticlesultimate--magazine .rau-item--lead.rau-item--has-image.rau-item--image-right { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(17rem, .7fr); }
.regioarticlesultimate--magazine .rau-item--lead.rau-item--image-right .rau-image { grid-column: 2; grid-row: 1; }
.regioarticlesultimate--magazine .rau-item--lead.rau-item--image-right .rau-content { grid-column: 1; grid-row: 1; }
.regioarticlesultimate--magazine .rau-item--lead .rau-image { width: 100%; }

/* Masonry / newspaper columns */
.regioarticlesultimate--masonry .rau-items { display: block; column-count: var(--rau-cols-desktop); column-gap: var(--rau-gap); }
.regioarticlesultimate--masonry .rau-item { display: inline-block; width: 100%; margin: 0 0 var(--rau-gap); break-inside: avoid; page-break-inside: avoid; vertical-align: top; }
.regioarticlesultimate--masonry .rau-item--image-left,
.regioarticlesultimate--masonry .rau-item--image-right { display: inline-block; }
.regioarticlesultimate--masonry .rau-item--image-left .rau-image,
.regioarticlesultimate--masonry .rau-item--image-right .rau-image { width: 100%; }

@media (max-width: 991.98px) {
    .rau-items { grid-template-columns: repeat(var(--rau-cols-tablet), minmax(0, 1fr)); }
    .regioarticlesultimate--masonry .rau-items { column-count: var(--rau-cols-tablet); }
    .regioarticlesultimate--magazine .rau-item--lead.rau-item--has-image.rau-item--image-left,
    .regioarticlesultimate--magazine .rau-item--lead.rau-item--has-image.rau-item--image-right { display: block; }
}

@media (max-width: 575.98px) {
    .rau-items { grid-template-columns: repeat(var(--rau-cols-mobile), minmax(0, 1fr)); }
    .regioarticlesultimate--masonry .rau-items { column-count: var(--rau-cols-mobile); }
    .rau-item--image-left,
    .rau-item--image-right { display: block; }
    .rau-item--image-left .rau-image,
    .rau-item--image-right .rau-image { width: 100%; }
    .regioarticlesultimate--compact .rau-item { grid-template-columns: 5.5rem minmax(0, 1fr); }
    .regioarticlesultimate--compact .rau-image { width: 5.5rem; height: 5rem; }
}

@media (prefers-reduced-motion: reduce) {
    .rau-item,
    .rau-image img { transition: none; }
    .rau-hover--lift .rau-item:hover { transform: none; }
}
