/* RegioImages gallery design 1.1.50 – scoped to the gallery module */
.ri-gallery-module{--ri-card-padding:16px;--ri-accent:#2366bd;max-width:100%;min-width:0}
.ri-gallery-module .ri-gallery-body{padding:var(--ri-card-padding)}
.ri-gallery-module .ri-gallery-item{border-radius:var(--ri-radius)}
.ri-gallery-module.ri-card-plain .ri-gallery-item{border:0;box-shadow:none}
.ri-gallery-module.ri-card-border .ri-gallery-item{box-shadow:none;border:1px solid currentColor}
.ri-gallery-module.ri-card-shadow .ri-gallery-item{border:0;box-shadow:0 .45rem 1.4rem #0002}
.ri-gallery-module.ri-card-soft .ri-gallery-item{background:color-mix(in srgb,var(--body-bg,#fff) 90%,var(--ri-accent));box-shadow:none}
.ri-gallery-module.ri-card-elevated .ri-gallery-item{box-shadow:0 .8rem 2rem #0002;transform:translateY(-2px)}
.ri-gallery-module.ri-card-glass .ri-gallery-item{background:color-mix(in srgb,var(--body-bg,#fff) 70%,transparent);backdrop-filter:blur(10px)}
.ri-gallery-module.ri-card-outline .ri-gallery-item{border:2px solid var(--ri-accent);box-shadow:none}
.ri-gallery-module.ri-preset-news{--ri-accent:#b6222d}
.ri-gallery-module.ri-preset-blog{--ri-accent:#7561ae}
.ri-gallery-module.ri-preset-magazine{--ri-accent:#303746}
.ri-gallery-module.ri-preset-localportal{--ri-accent:#137c66}
.ri-gallery-module.ri-preset-corporate{--ri-accent:#175995}
.ri-gallery-module .ri-gallery-item:focus-within{outline:2px solid var(--ri-accent);outline-offset:2px}
.ri-gallery-module:is(.ri-layout-overlay,.ri-layout-hover-reveal,.ri-layout-hero,.ri-layout-stories) .ri-gallery-item{position:relative;min-height:220px}
.ri-gallery-module:is(.ri-layout-overlay,.ri-layout-hover-reveal,.ri-layout-hero,.ri-layout-stories) .ri-gallery-media{height:100%;min-height:220px}
.ri-gallery-module:is(.ri-layout-overlay,.ri-layout-hover-reveal,.ri-layout-hero,.ri-layout-stories) .ri-gallery-media img{height:100%;object-fit:cover}
.ri-gallery-module:is(.ri-layout-overlay,.ri-layout-hover-reveal,.ri-layout-hero,.ri-layout-stories) .ri-gallery-body{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,#000b);color:#fff}
.ri-gallery-module:is(.ri-layout-overlay,.ri-layout-hover-reveal) .ri-gallery-body a{color:#fff}
.ri-gallery-module.ri-layout-hover-reveal .ri-gallery-body{opacity:.12;transition:opacity .25s}
.ri-gallery-module.ri-layout-hover-reveal .ri-gallery-item:is(:hover,:focus-within) .ri-gallery-body{opacity:1}
.ri-gallery-module:is(.ri-layout-hero,.ri-layout-magazine) .ri-gallery-item:first-child{grid-column:1/-1}
.ri-gallery-module:is(.ri-layout-bento,.ri-layout-editorial) .ri-gallery-item:first-child{grid-column:span 2;grid-row:span 2}
.ri-gallery-module:is(.ri-layout-split,.ri-layout-table,.ri-layout-timeline,.ri-layout-accordion) .ri-gallery-items{grid-template-columns:1fr}
.ri-gallery-module:is(.ri-layout-split,.ri-layout-table) .ri-gallery-item{display:grid;grid-template-columns:minmax(100px,34%) 1fr}
.ri-gallery-module.ri-layout-table .ri-gallery-media{max-height:120px}
.ri-gallery-module:is(.ri-layout-slider,.ri-layout-carousel,.ri-layout-coverflow,.ri-layout-ticker,.ri-layout-stories,.ri-layout-timeline-horizontal,.ri-layout-comparison) .ri-gallery-items{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain}
.ri-gallery-module:is(.ri-layout-slider,.ri-layout-carousel,.ri-layout-coverflow,.ri-layout-ticker,.ri-layout-stories,.ri-layout-timeline-horizontal,.ri-layout-comparison) .ri-gallery-item{flex:0 0 min(78vw,310px);scroll-snap-align:start}
.ri-gallery-module.ri-layout-stories .ri-gallery-item{flex-basis:min(85vw,480px);min-height:420px}
.ri-gallery-module.ri-layout-stories .ri-gallery-media{min-height:420px}
.ri-gallery-module.ri-layout-ticker .ri-gallery-item{flex-basis:min(70vw,220px)}
.ri-gallery-module.ri-layout-timeline .ri-gallery-item{border-inline-start:4px solid var(--ri-accent)}
.ri-gallery-module.ri-layout-timeline-horizontal .ri-gallery-item{border-top:4px solid var(--ri-accent)}
.ri-gallery-module.ri-layout-accent .ri-gallery-item{border-top:5px solid var(--ri-accent)}
.ri-gallery-module.ri-layout-flip .ri-gallery-item{transition:transform .3s}
.ri-gallery-module.ri-layout-flip .ri-gallery-item:is(:hover,:focus-within){transform:rotateY(6deg)}
.ri-gallery-module.ri-layout-tabs .ri-gallery-items{display:flex;overflow-x:auto;gap:.5rem}
.ri-gallery-module.ri-layout-tabs .ri-gallery-item{flex:0 0 min(80vw,320px)}
.ri-gallery-module.ri-layout-filter-grid .ri-filter-label{display:block;margin-bottom:1rem;max-width:440px}
.ri-gallery-module .ri-filter-empty[hidden],.ri-gallery-module .ri-gallery-item[hidden]{display:none!important}
.ri-gallery-module .ri-gallery-summary{display:flex;gap:1.5rem;margin-bottom:1rem;padding:1rem;border-inline-start:4px solid var(--ri-accent);background:color-mix(in srgb,var(--ri-accent) 8%,transparent)}
.ri-gallery-module.ri-layout-dashboard .ri-gallery-items{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
.ri-gallery-module.ri-layout-calendar .ri-gallery-items{grid-template-columns:1fr 1fr}
.ri-gallery-module .ri-gallery-date{grid-column:1/-1;padding:.5rem;color:var(--ri-accent);font-weight:bold}
.ri-gallery-module .ri-details summary{cursor:pointer}
@media(max-width:700px){.ri-gallery-module:is(.ri-layout-split,.ri-layout-table) .ri-gallery-item{grid-template-columns:1fr}.ri-gallery-module:is(.ri-layout-bento,.ri-layout-editorial) .ri-gallery-item:first-child{grid-column:auto;grid-row:auto}.ri-gallery-module.ri-layout-calendar .ri-gallery-items{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ri-gallery-module .ri-gallery-item,.ri-gallery-module .ri-gallery-body,.ri-gallery-module img{animation:none!important;transition:none!important;transform:none!important}}

.ri-gallery-module.ri-layout-tabs .ri-gallery-items{display:block;overflow:visible}
.ri-gallery-module.ri-layout-tabs .ri-gallery-item{width:100%;max-width:720px}
.ri-gallery-module.ri-layout-tabs .ri-gallery-item[hidden]{display:none}
.ri-gallery-module .ri-image-tablist{display:flex;gap:.5rem;overflow-x:auto;margin-bottom:1rem;padding-bottom:.5rem}
.ri-gallery-module .ri-image-tab{white-space:nowrap;border:1px solid currentColor;border-radius:var(--ri-radius);padding:.4rem .8rem;background:transparent;color:inherit;cursor:pointer}
.ri-gallery-module .ri-image-tab[aria-selected="true"]{background:var(--ri-accent);color:#fff;border-color:var(--ri-accent)}
.ri-gallery-module .ri-image-tab:focus-visible{outline:3px solid var(--ri-accent);outline-offset:3px}

/* 1.1.38: missing eighth card style and keyboard-visible tab panels */
.ri-gallery-module.ri-card-border-shadow .ri-gallery-item{border:1px solid color-mix(in srgb,currentColor 25%,transparent);box-shadow:0 .45rem 1.4rem #0002}
.ri-gallery-module [role="tabpanel"]:focus-visible{outline:3px solid var(--ri-accent);outline-offset:3px}
.ri-gallery-module .ri-gallery-items[tabindex="0"]:focus-visible{outline:3px solid var(--ri-accent);outline-offset:2px}
.ri-gallery-module .ri-filter-input:focus-visible{outline:3px solid var(--ri-accent);outline-offset:2px}

/* Ensure live-count is visually hidden with or without Bootstrap utilities. */
.ri-gallery-module .ri-filter-status{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* 1.1.38: horizontal strips remain keyboard-focusable in module and component. */
.ri-gallery-module .ri-gallery-items[tabindex="0"]{scroll-padding-inline:1rem;-webkit-overflow-scrolling:touch}
.ri-gallery-module .ri-gallery-items[tabindex="0"]:focus-visible{outline:3px solid var(--ri-accent);outline-offset:3px}

/* 1.1.42 – calendar groups: show a heading only at a month boundary. */
.ri-gallery-module.ri-layout-calendar .ri-gallery-date{grid-column:1/-1;margin:1.15rem 0 .2rem;padding:.55rem .85rem;border-inline-start:4px solid var(--ri-accent);background:color-mix(in srgb,var(--ri-accent) 8%,transparent);font-size:1.1rem;line-height:1.4}
.ri-gallery-module.ri-layout-calendar .ri-gallery-date:first-child{margin-top:0}
.ri-gallery-module.ri-layout-calendar .ri-gallery-item{min-width:0}
@media (max-width:700px){.ri-gallery-module.ri-layout-calendar .ri-gallery-date{font-size:1rem}}

/* 1.1.43: timeline and comparison layouts have distinct, data-driven visual structures. */
.ri-gallery-module.ri-layout-timeline .ri-gallery-items{position:relative;gap:0;padding-inline-start:1.25rem}
.ri-gallery-module.ri-layout-timeline .ri-gallery-timeline-date{position:relative;margin:1.1rem 0 .35rem;padding:.25rem .7rem;font-weight:650;color:var(--ri-accent);border-inline-start:3px solid var(--ri-accent)}
.ri-gallery-module.ri-layout-timeline .ri-gallery-item{margin-inline-start:.7rem;margin-bottom:1rem;border-inline-start:2px solid var(--ri-accent)}
.ri-gallery-module.ri-layout-timeline-horizontal .ri-gallery-timeline-date{flex:0 0 auto;align-self:center;font-weight:650;color:var(--ri-accent);white-space:nowrap;padding-inline:.5rem}
.ri-gallery-module.ri-layout-comparison .ri-gallery-item{flex-basis:min(78vw,360px);display:flex;flex-direction:column}
.ri-gallery-module.ri-layout-comparison .ri-gallery-body{flex:1;display:flex;flex-direction:column;gap:.5rem}
.ri-gallery-module.ri-layout-comparison .ri-compare-specs{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;border-top:1px solid currentColor;padding-top:.65rem;font-variant-numeric:tabular-nums}
.ri-gallery-module.ri-layout-comparison .ri-gallery-meta{display:none}
.ri-gallery-module.ri-layout-magazine .ri-gallery-item:first-child .ri-gallery-media{min-height:260px}
.ri-gallery-module.ri-layout-magazine .ri-gallery-item:first-child .ri-gallery-title{font-size:clamp(1.25rem,2.5vw,2rem)}
@media(max-width:700px){.ri-gallery-module.ri-layout-timeline .ri-gallery-items{padding-inline-start:.25rem}.ri-gallery-module.ri-layout-timeline .ri-gallery-item{margin-inline-start:.25rem}.ri-gallery-module.ri-layout-magazine .ri-gallery-item:first-child .ri-gallery-media{min-height:180px}}

/* RegioImages 1.1.44: native accessible data table, independent of card grids */
.ri-gallery-module.ri-layout-table .ri-gallery-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.ri-gallery-module.ri-layout-table .ri-gallery-table-scroll:focus-visible{outline:3px solid var(--ri-accent,#2463a6);outline-offset:3px}
.ri-gallery-module.ri-layout-table .ri-gallery-data-table{width:100%;border-collapse:collapse;text-align:start;min-width:650px;font-variant-numeric:tabular-nums}
.ri-gallery-module.ri-layout-table .ri-gallery-data-table th,.ri-gallery-module.ri-layout-table .ri-gallery-data-table td{padding:.7rem .85rem;text-align:start;vertical-align:middle;border-bottom:1px solid rgba(120,130,140,.25)}
.ri-gallery-module.ri-layout-table .ri-gallery-data-table thead th{background:rgba(120,130,140,.1);font-weight:700;white-space:nowrap}
.ri-gallery-module.ri-layout-table .ri-gallery-data-table tbody tr:hover{background:rgba(120,130,140,.07)}
.ri-gallery-module.ri-layout-table .ri-gallery-data-table img{display:block;max-width:84px;max-height:64px;width:auto;height:auto;object-fit:contain;border-radius:min(var(--ri-radius,6px),8px)}
.ri-gallery-module.ri-layout-comparison .ri-compare-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
.ri-gallery-module.ri-layout-comparison .ri-compare-specs>span{overflow-wrap:anywhere}
@media(max-width:700px){.ri-gallery-module.ri-layout-table .ri-gallery-data-table{min-width:560px}.ri-gallery-module.ri-layout-table .ri-gallery-data-table th,.ri-gallery-module.ri-layout-table .ri-gallery-data-table td{padding:.5rem}}
@media(prefers-reduced-motion:reduce){.ri-gallery-module.ri-layout-table *{scroll-behavior:auto!important}}

/* Accessible sortable table headers (1.1.45) */
.ri-gallery-module .ri-gallery-data-table .ri-gallery-sort{appearance:none;background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;font-weight:inherit;text-align:start;padding:.45rem .25rem;width:100%}
.ri-gallery-module .ri-gallery-data-table .ri-gallery-sort:hover{text-decoration:underline}
.ri-gallery-module .ri-gallery-data-table .ri-gallery-sort:focus-visible{outline:3px solid currentColor;outline-offset:2px;border-radius:3px}
.ri-gallery-module .ri-gallery-data-table .ri-sort-indicator{display:inline-block;margin-inline-start:.25em;font-size:.8em}

/* RegioImages 1.1.47: visible, instance-scoped preset application. */
.ri-gallery-module.ri-preset-news:not(.ri-card-plain) .ri-gallery-item{border-top:3px solid var(--ri-accent)}
.ri-gallery-module.ri-preset-blog:not(.ri-card-plain) .ri-gallery-item{border-inline-start:3px solid var(--ri-accent)}
.ri-gallery-module.ri-preset-magazine .ri-gallery-title{font-family:Georgia,serif;letter-spacing:.012em}
.ri-gallery-module.ri-preset-localportal:not(.ri-card-plain) .ri-gallery-item{border-bottom:3px solid var(--ri-accent)}
.ri-gallery-module.ri-preset-corporate .ri-gallery-title{font-weight:750;color:var(--ri-accent)}
.ri-gallery-module.ri-card-border-shadow .ri-gallery-item{border:1px solid color-mix(in srgb,var(--ri-accent) 26%,transparent);box-shadow:0 .5rem 1.35rem #0002}
/* Presets must not silently undo a separately selected card style. */
.ri-gallery-module.ri-card-plain .ri-gallery-item{border:0;box-shadow:none}
.ri-gallery-module.ri-card-outline .ri-gallery-item{border:2px solid var(--ri-accent);box-shadow:none}
@media(prefers-reduced-motion:reduce){.ri-gallery-module .ri-gallery-media img,.ri-gallery-module .ri-gallery-item{transition:none;animation:none;scroll-behavior:auto}}


/* 1.1.50 – distinguish card layouts from horizontal filmstrip, instance-scoped. */
.ri-gallery-module.ri-layout-filmstrip .ri-gallery-items{
  display:flex;flex-flow:row nowrap;align-items:flex-start;gap:clamp(10px,1.5vw,22px);
  overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;
  padding:.5rem .25rem 1rem;scroll-padding-inline:.25rem;
}
.ri-gallery-module.ri-layout-filmstrip .ri-gallery-item{
  flex:0 0 clamp(180px,24vw,275px);width:clamp(180px,24vw,275px);
  min-width:0;align-self:flex-start;height:auto;min-height:0;
  scroll-snap-align:start;display:flex;flex-direction:column;
  box-shadow:none;border:0;border-radius:0;background:transparent;
}
.ri-gallery-module.ri-layout-filmstrip .ri-gallery-media{
  display:block;aspect-ratio:4/3!important;height:auto!important;
  border-radius:var(--ri-radius,10px);box-shadow:0 3px 10px #0002;
}
.ri-gallery-module.ri-layout-filmstrip .ri-gallery-media img{
  display:block;width:100%;height:100%!important;object-fit:cover;
}
.ri-gallery-module.ri-layout-filmstrip .ri-gallery-body{
  padding:.6rem .15rem .3rem;display:block;flex:0 0 auto;
}
.ri-gallery-module.ri-layout-filmstrip .ri-gallery-title{
  font-size:.9rem;line-height:1.3;overflow-wrap:anywhere;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.ri-gallery-module.ri-layout-filmstrip .ri-gallery-meta{
  font-size:.78rem;gap:.3rem;margin-bottom:.35rem;
}
.ri-gallery-module.ri-layout-filmstrip .ri-gallery-button{font-size:.8rem}
.ri-gallery-module.ri-layout-filmstrip.ri-card-border .ri-gallery-media,
.ri-gallery-module.ri-layout-filmstrip.ri-card-border-shadow .ri-gallery-media,
.ri-gallery-module.ri-layout-filmstrip.ri-card-outline .ri-gallery-media{border:1px solid var(--ri-accent)}
.ri-gallery-module.ri-layout-filmstrip.ri-card-shadow .ri-gallery-media,
.ri-gallery-module.ri-layout-filmstrip.ri-card-border-shadow .ri-gallery-media,
.ri-gallery-module.ri-layout-filmstrip.ri-card-elevated .ri-gallery-media{box-shadow:0 .5rem 1.1rem #0003}
.ri-gallery-module.ri-layout-filmstrip .ri-gallery-item:focus-within{outline-offset:4px}

/* Tile grid remains a true card layout; avoid layout rules leaking between modes. */
.ri-gallery-module:is(.ri-layout-auto,.ri-layout-compact,.ri-layout-dashboard) .ri-gallery-items{align-items:start}
.ri-gallery-module:is(.ri-layout-auto,.ri-layout-compact,.ri-layout-dashboard) .ri-gallery-item{height:auto;min-height:0}
.ri-gallery-module.ri-layout-large .ri-gallery-item{min-height:220px}
.ri-gallery-module.ri-layout-large .ri-gallery-media{min-height:220px}
.ri-gallery-module.ri-layout-minimal .ri-gallery-item{border-radius:calc(var(--ri-radius) / 2)}
.ri-gallery-module.ri-layout-titles .ri-gallery-item{border-inline-start:4px solid var(--ri-accent)}
.ri-gallery-module.ri-layout-accordion .ri-gallery-item{display:grid;grid-template-columns:minmax(100px,200px) 1fr;align-items:start}
.ri-gallery-module.ri-layout-accordion .ri-gallery-media{max-height:150px}
.ri-gallery-module.ri-layout-accordion .ri-gallery-media img{max-height:150px;object-fit:cover}
.ri-gallery-module.ri-layout-split .ri-gallery-item{align-items:stretch}
.ri-gallery-module.ri-layout-split .ri-gallery-body{align-self:center}
.ri-gallery-module.ri-layout-comparison .ri-gallery-item{align-self:flex-start}
@media(max-width:700px){
  .ri-gallery-module.ri-layout-filmstrip .ri-gallery-item{flex-basis:min(65vw,235px);width:min(65vw,235px)}
  .ri-gallery-module.ri-layout-accordion .ri-gallery-item{grid-template-columns:1fr}
  .ri-gallery-module.ri-layout-accordion .ri-gallery-media{max-height:none}
}
@media(prefers-reduced-motion:reduce){
  .ri-gallery-module.ri-layout-filmstrip .ri-gallery-items{scroll-behavior:auto}
}

/* 1.1.52: structurally distinct photo-first editorial layouts */
.ri-gallery-module:is(.ri-layout-hero,.ri-layout-editorial,.ri-layout-magazine,.ri-layout-bento,.ri-layout-overlay) .ri-feature-frame{min-width:0;position:relative;display:flex;flex-direction:column;overflow:hidden}
.ri-gallery-module:is(.ri-layout-hero,.ri-layout-editorial) .ri-feature-heading{display:flex;align-items:baseline;gap:.9rem;padding:1rem 1.2rem;background:var(--ri-feature-surface,#f1f4f8);border-bottom:1px solid #d6dce6}
.ri-gallery-module .ri-feature-kicker{font-size:.8rem;font-weight:700;letter-spacing:.12em;opacity:.65}
.ri-gallery-module .ri-feature-title{margin:0;font-size:clamp(1.2rem,2.4vw,2.2rem);line-height:1.2;overflow-wrap:anywhere}
.ri-gallery-module.ri-layout-hero .ri-gallery-item:first-child{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(15rem,1fr);align-items:stretch}
.ri-gallery-module.ri-layout-hero .ri-gallery-item:first-child .ri-feature-frame{min-height:350px}
.ri-gallery-module.ri-layout-hero .ri-gallery-item:first-child .ri-gallery-media{flex:1;min-height:230px}
.ri-gallery-module.ri-layout-hero .ri-gallery-item:first-child .ri-gallery-body{position:static;background:#19283d;color:#fff;display:flex;flex-direction:column;justify-content:end;padding:1.5rem}
.ri-gallery-module.ri-layout-editorial .ri-gallery-items{grid-template-columns:repeat(3,minmax(0,1fr))}
.ri-gallery-module.ri-layout-editorial .ri-gallery-item:first-child{grid-column:span 2;grid-row:span 2}
.ri-gallery-module.ri-layout-editorial .ri-gallery-item{border:0;border-bottom:2px solid currentColor;border-radius:0;box-shadow:none}
.ri-gallery-module.ri-layout-editorial .ri-gallery-body{padding:.8rem 0}
.ri-gallery-module.ri-layout-magazine .ri-gallery-item:first-child{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.ri-gallery-module.ri-layout-magazine .ri-gallery-item:first-child .ri-feature-frame{min-height:310px}
.ri-gallery-module.ri-layout-magazine .ri-gallery-item:first-child .ri-gallery-body{display:flex;flex-direction:column;justify-content:center;padding:1.5rem}
.ri-gallery-module.ri-layout-bento .ri-gallery-items{grid-auto-flow:dense}
.ri-gallery-module.ri-layout-bento .ri-gallery-item:first-child .ri-feature-frame{height:100%;min-height:360px}
.ri-gallery-module.ri-layout-bento .ri-gallery-item:first-child img{height:100%;object-fit:cover}
.ri-gallery-module.ri-layout-overlay .ri-gallery-item{overflow:hidden;border:0}
.ri-gallery-module.ri-layout-overlay .ri-feature-frame{height:100%;min-height:260px}
.ri-gallery-module.ri-layout-overlay .ri-gallery-media{min-height:260px;height:100%}
.ri-gallery-module.ri-layout-overlay .ri-gallery-body{background:linear-gradient(transparent,rgba(0,0,0,.9));padding:3rem 1rem 1rem}
.ri-gallery-module.ri-layout-overlay .ri-gallery-title{color:#fff;text-shadow:0 1px 3px #000}
@media(max-width:700px){.ri-gallery-module:is(.ri-layout-hero,.ri-layout-magazine) .ri-gallery-item:first-child{display:flex;flex-direction:column}.ri-gallery-module.ri-layout-editorial .ri-gallery-items{grid-template-columns:1fr}.ri-gallery-module.ri-layout-editorial .ri-gallery-item:first-child{grid-column:auto;grid-row:auto}.ri-gallery-module.ri-layout-hero .ri-gallery-item:first-child .ri-feature-frame{min-height:240px}.ri-gallery-module.ri-layout-bento .ri-gallery-item:first-child .ri-feature-frame{min-height:240px}}
@media(prefers-reduced-motion:reduce){.ri-gallery-module .ri-feature-frame *{scroll-behavior:auto;transition:none!important;animation:none!important}}

/* 1.1.52 – scoped readability, viewport and design-combination fixes. */
.ri-gallery-module .ri-gallery-item,.ri-gallery-module .ri-gallery-body,.ri-gallery-module .ri-feature-frame{min-width:0}
.ri-gallery-module .ri-gallery-title,.ri-gallery-module .ri-feature-title{overflow-wrap:anywhere;word-break:normal}
.ri-gallery-module .ri-gallery-meta{min-width:0;overflow-wrap:anywhere}
.ri-gallery-module .ri-gallery-items{max-width:100%}
.ri-gallery-module .ri-gallery-media img{max-width:100%}
/* In a filmstrip, the selected card style acts on the photo/frame rather than imposing tall cards. */
.ri-gallery-module.ri-layout-filmstrip.ri-card-plain .ri-gallery-media{border:0;box-shadow:none}
.ri-gallery-module.ri-layout-filmstrip.ri-card-soft .ri-gallery-media{border:0;box-shadow:none;background:color-mix(in srgb,var(--ri-accent) 9%,#fff)}
.ri-gallery-module.ri-layout-filmstrip.ri-card-glass .ri-gallery-media{border:1px solid #ffffff66;box-shadow:0 .25rem .9rem #0002;backdrop-filter:blur(10px)}
.ri-gallery-module.ri-layout-filmstrip.ri-card-outline .ri-gallery-media{border:2px solid var(--ri-accent)}
.ri-gallery-module.ri-layout-filmstrip.ri-card-elevated .ri-gallery-media{box-shadow:0 .8rem 1.6rem #0003}
/* Preset decoration is secondary to an explicitly selected plain card style. */
.ri-gallery-module.ri-card-plain .ri-gallery-item{border:0;box-shadow:none}
@media(max-width:700px){
  .ri-gallery-module.ri-layout-large .ri-gallery-item{grid-template-columns:1fr;min-height:0}
  .ri-gallery-module.ri-layout-large .ri-gallery-media{min-height:0}
  .ri-gallery-module.ri-layout-bento .ri-gallery-items{grid-auto-flow:row}
  .ri-gallery-module:is(.ri-layout-hero,.ri-layout-magazine) .ri-gallery-item:first-child{min-width:0}
  .ri-gallery-module.ri-layout-hero .ri-gallery-item:first-child .ri-gallery-body{padding:1rem}
  .ri-gallery-module.ri-layout-titles .ri-gallery-title{font-size:clamp(.9rem,3vw,1.1rem)}
}
@media(max-width:420px){
 .ri-gallery-module.ri-layout-filmstrip .ri-gallery-item{flex-basis:min(78vw,235px);width:min(78vw,235px)}
 .ri-gallery-module .ri-gallery-summary{flex-wrap:wrap;gap:.6rem}
 .ri-gallery-module.ri-layout-comparison .ri-compare-specs{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.ri-gallery-module *{scroll-behavior:auto!important}}
/* Explicit baseline: 'cards' uses the core responsive card grid, not a fallback to an unrelated layout. */
.ri-gallery-module.ri-layout-cards .ri-gallery-items{display:grid;grid-template-columns:repeat(var(--ri-columns,3),minmax(0,1fr));align-items:start}
@media(max-width:767.98px){.ri-gallery-module.ri-layout-cards .ri-gallery-items{grid-template-columns:1fr}}



.ri-gallery-module .ri-gallery-item,.ri-gallery-module .ri-gallery-body,.ri-gallery-module .ri-feature-frame{min-width:0}
.ri-gallery-module .ri-gallery-title,.ri-gallery-module .ri-feature-title{overflow-wrap:anywhere;word-break:normal}
.ri-gallery-module .ri-gallery-meta{min-width:0;overflow-wrap:anywhere}
.ri-gallery-module .ri-gallery-items{max-width:100%}
.ri-gallery-module .ri-gallery-media img{max-width:100%}
/* In a filmstrip, the selected card style acts on the photo/frame rather than imposing tall cards. */
.ri-gallery-module.ri-layout-filmstrip.ri-card-plain .ri-gallery-media{border:0;box-shadow:none}
.ri-gallery-module.ri-layout-filmstrip.ri-card-soft .ri-gallery-media{border:0;box-shadow:none;background:color-mix(in srgb,var(--ri-accent) 9%,#fff)}
.ri-gallery-module.ri-layout-filmstrip.ri-card-glass .ri-gallery-media{border:1px solid #ffffff66;box-shadow:0 .25rem .9rem #0002;backdrop-filter:blur(10px)}
.ri-gallery-module.ri-layout-filmstrip.ri-card-outline .ri-gallery-media{border:2px solid var(--ri-accent)}
.ri-gallery-module.ri-layout-filmstrip.ri-card-elevated .ri-gallery-media{box-shadow:0 .8rem 1.6rem #0003}
/* Preset decoration is secondary to an explicitly selected plain card style. */
.ri-gallery-module.ri-card-plain .ri-gallery-item{border:0;box-shadow:none}
@media(max-width:700px){
  .ri-gallery-module.ri-layout-large .ri-gallery-item{grid-template-columns:1fr;min-height:0}
  .ri-gallery-module.ri-layout-large .ri-gallery-media{min-height:0}
  .ri-gallery-module.ri-layout-bento .ri-gallery-items{grid-auto-flow:row}
  .ri-gallery-module:is(.ri-layout-hero,.ri-layout-magazine) .ri-gallery-item:first-child{min-width:0}
  .ri-gallery-module.ri-layout-hero .ri-gallery-item:first-child .ri-gallery-body{padding:1rem}
  .ri-gallery-module.ri-layout-titles .ri-gallery-title{font-size:clamp(.9rem,3vw,1.1rem)}
}
@media(max-width:420px){
 .ri-gallery-module.ri-layout-filmstrip .ri-gallery-item{flex-basis:min(78vw,235px);width:min(78vw,235px)}
 .ri-gallery-module .ri-gallery-summary{flex-wrap:wrap;gap:.6rem}
 .ri-gallery-module.ri-layout-comparison .ri-compare-specs{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.ri-gallery-module *{scroll-behavior:auto!important}}

/* 1.2.0 – visual QA: distinct, accessible layout families without global selectors. */
/* Compact cards: predictable image footprint; short text remains fully readable by title tooltip. */
.ri-gallery-module.ri-layout-compact .ri-gallery-items{align-items:start}
.ri-gallery-module.ri-layout-compact .ri-gallery-item{align-self:start;min-height:0;overflow:hidden}
.ri-gallery-module.ri-layout-compact .ri-gallery-media{aspect-ratio:4/3;min-height:0;overflow:hidden}
.ri-gallery-module.ri-layout-compact .ri-gallery-media img{width:100%;height:100%;object-fit:cover;display:block}
.ri-gallery-module.ri-layout-compact .ri-gallery-body{padding:clamp(.55rem,1vw,.85rem)}
.ri-gallery-module.ri-layout-compact .ri-gallery-title{font-size:clamp(.85rem,1.15vw,.98rem);line-height:1.36;overflow-wrap:anywhere}
.ri-gallery-module.ri-layout-compact .ri-gallery-meta{font-size:.76rem;line-height:1.35}
/* Filmstrip: photo-first thumbnail rail, independent card height, scroll cue and no forced 100% stretch. */
.ri-gallery-module.ri-layout-filmstrip .ri-gallery-items{align-items:flex-start;scrollbar-width:thin;scrollbar-color:var(--ri-accent) transparent;scroll-padding-inline:1rem;padding-bottom:1.1rem}
.ri-gallery-module.ri-layout-filmstrip .ri-gallery-item{height:max-content;min-height:0;align-self:flex-start;contain:layout style}
.ri-gallery-module.ri-layout-filmstrip .ri-gallery-media{aspect-ratio:4/3;flex:none;overflow:hidden}
.ri-gallery-module.ri-layout-filmstrip .ri-gallery-body{min-height:0;flex:none}
.ri-gallery-module.ri-layout-filmstrip .ri-gallery-title{margin-block:.25rem;line-height:1.32}
.ri-gallery-module.ri-layout-filmstrip .ri-gallery-meta{margin-block:.3rem}
/* Editorial and magazine: preserve hierarchy while containing long file names. */
.ri-gallery-module:is(.ri-layout-editorial,.ri-layout-magazine) .ri-gallery-item{min-width:0;align-self:start}
.ri-gallery-module.ri-layout-magazine .ri-gallery-item:first-child .ri-feature-frame{min-width:0}
.ri-gallery-module.ri-layout-magazine .ri-gallery-item:first-child .ri-gallery-body{min-width:0;gap:.65rem}
.ri-gallery-module.ri-layout-magazine .ri-gallery-item:not(:first-child) .ri-gallery-title{font-size:clamp(.88rem,1.15vw,1.05rem);line-height:1.4}
.ri-gallery-module.ri-layout-editorial .ri-gallery-item:first-child .ri-gallery-title{font-size:clamp(1.15rem,2.3vw,1.85rem);line-height:1.2}
.ri-gallery-module.ri-layout-editorial .ri-gallery-item:not(:first-child) .ri-gallery-media{aspect-ratio:4/3;overflow:hidden}
.ri-gallery-module.ri-layout-editorial .ri-gallery-item:not(:first-child) .ri-gallery-media img{width:100%;height:100%;object-fit:cover}
/* Touch-friendly focus and overflowing content. */
.ri-gallery-module :is(.ri-gallery-button,.ri-image-tab,.ri-gallery-sort):focus-visible{outline:3px solid var(--ri-accent);outline-offset:3px}
@media(max-width:700px){
 .ri-gallery-module.ri-layout-magazine .ri-gallery-item:first-child{grid-template-columns:1fr}
 .ri-gallery-module.ri-layout-editorial .ri-gallery-item:first-child{grid-column:auto;grid-row:auto}
 .ri-gallery-module.ri-layout-filmstrip .ri-gallery-items{scroll-snap-type:x proximity}
}
@media(max-width:420px){
 .ri-gallery-module.ri-layout-compact .ri-gallery-body{padding:.65rem}
 .ri-gallery-module.ri-layout-magazine .ri-gallery-item:first-child .ri-gallery-body{padding:1rem}
}
@media(prefers-reduced-motion:reduce){.ri-gallery-module.ri-layout-filmstrip .ri-gallery-items{scroll-behavior:auto}}
