.dwr-gallery-shell {
    --dwr-gallery-blue: #075faf;
    --dwr-gallery-ink: #16314f;
    width: 100%;
    max-width: var(--dwr-gallery-max-width, none);
    margin: 0 auto 28px;
}
.dwr-gallery-title { margin: 0 0 8px; color: var(--dwr-gallery-blue); font-size: clamp(1.5rem, 3vw, 2.2rem); line-height: 1.25; }
.dwr-gallery-description { max-width: 72ch; margin: 0 0 18px; color: #53657a; }
.dwr-gallery-description p { margin: 0; }
.dwr-gallery-render { min-width: 0; margin-top: var(--dwr-gallery-margin-top, 0); }
.dwr-gallery-view-all { margin-top: 24px; text-align: center; }
/* Compatibility only: dwr-shared >= 1.8.1 owns .dwr-fe-view-all.
   Keep the pill usable when Gallery is deployed before Shared is updated. */
.dwr-gallery-view-all__link:not(.dwr-fe-view-all) {
    display: inline-flex;
    box-sizing: border-box;
    min-height: 48px;
    max-width: 100%;
    align-items: center;
    justify-content: center;
    padding: 12px 34px;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, var(--dwr-fe-view-all-start, #003087) 0%, var(--dwr-fe-view-all-end, #2196f3) 100%);
    box-shadow: 0 8px 18px rgba(7, 145, 218, .32);
    font-family: var(--dwr-fe-font, inherit);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    overflow-wrap: anywhere;
}
.dwr-gallery-view-all__link:not(.dwr-fe-view-all):hover { color: #fff; text-decoration: none; filter: brightness(.9); }
.dwr-gallery-view-all__link:not(.dwr-fe-view-all):focus-visible { outline: 3px solid var(--dwr-fe-view-all-start, #003087); outline-offset: 3px; }
@media (forced-colors: active) {
    .dwr-gallery-view-all__link:not(.dwr-fe-view-all) { border: 1px solid ButtonText; color: LinkText; background: Canvas; box-shadow: none; }
}
.dwr-gallery-pagination { margin-top: 24px; }
.dwr-gallery-pagination ul.page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dwr-gallery-pagination li { margin: 0; padding: 0; list-style: none; }
.dwr-gallery-pagination a, .dwr-gallery-pagination span { display: inline-flex; min-height: 40px; min-width: 40px; padding: 6px 12px; align-items: center; justify-content: center; border: 1px solid #c7d4e0; border-radius: 7px; color: #083b76; font-size: 14px; text-decoration: none; }
.dwr-gallery-pagination .current { color: #fff; background: #086fc9; border-color: #086fc9; }
.dwr-gallery-pagination a:hover, .dwr-gallery-pagination a:focus { background: #eaf5ff; }
.dwr-gallery-shell.dwr-gallery-has-height[data-gallery-type="slider"] .robo-gallery-slider-container { height: var(--dwr-gallery-display-height) !important; min-height: var(--dwr-gallery-display-height); }
.dwr-gallery-shell[data-gallery-type="slider"] .swiper-wrapper { height: 100% !important; row-gap: var(--dwr-gallery-vertical-gap, 0); }
.dwr-gallery-shell[data-gallery-type="slider"] .swiper-slide { height: 100% !important; }
.dwr-gallery-shell.dwr-gallery-preserve-original[data-gallery-type="slider"] .robo-gallery-slider-container { height: auto !important; min-height: 0; background: transparent; }
.dwr-gallery-shell.dwr-gallery-preserve-original[data-gallery-type="slider"] .swiper-wrapper { height: auto !important; align-items: flex-start; }
.dwr-gallery-shell.dwr-gallery-preserve-original[data-gallery-type="slider"] .swiper-slide { height: auto !important; background-image: none !important; background-color: transparent; }
.dwr-gallery-shell.dwr-gallery-preserve-original[data-gallery-type="slider"] .dwr-gallery-original-image { display: block; width: auto; max-width: 100%; height: auto !important; margin: 0 auto; object-fit: contain; }
/* WD-535: match the video carousel, leaving image clipping inside Swiper.
   Reserve both controls inside the gallery width, so narrow embeds do not overflow. */
.dwr-gallery-shell .dwr-gallery-slider-navigation {
    --dwr-gallery-nav-size: 44px;
    position: relative;
    box-sizing: border-box;
    padding-inline: calc(var(--dwr-gallery-nav-size) + 12px);
}
.dwr-gallery-shell .dwr-gallery-slider-nav {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: var(--dwr-gallery-nav-size);
    height: var(--dwr-gallery-nav-size);
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--dwr-gallery-nav-background, #0152A2);
    color: #fff;
    box-shadow: 0 6px 16px rgba(1, 82, 162, .3);
    font-family: inherit;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
    transition: background .2s, transform .15s;
}
.dwr-gallery-shell .dwr-gallery-slider-nav::after { font: inherit; }
.dwr-gallery-shell .dwr-gallery-slider-nav.swiper-button-prev { left: 0; right: auto; }
.dwr-gallery-shell .dwr-gallery-slider-nav.swiper-button-next { right: 0; left: auto; }
.dwr-gallery-shell .dwr-gallery-slider-nav.swiper-button-prev::after { content: '\276E'; }
.dwr-gallery-shell .dwr-gallery-slider-nav.swiper-button-next::after { content: '\276F'; }
.dwr-gallery-shell .dwr-gallery-slider-navigation--rtl .swiper-button-prev { right: 0; left: auto; }
.dwr-gallery-shell .dwr-gallery-slider-navigation--rtl .swiper-button-next { left: 0; right: auto; }
.dwr-gallery-shell .dwr-gallery-slider-navigation--rtl .swiper-button-prev::after { content: '\276F'; }
.dwr-gallery-shell .dwr-gallery-slider-navigation--rtl .swiper-button-next::after { content: '\276E'; }
.dwr-gallery-shell .dwr-gallery-slider-nav:hover { transform: translateY(-50%) scale(1.08); }
.dwr-gallery-shell .dwr-gallery-slider-nav:focus-visible { outline: 3px solid var(--dwr-gallery-nav-background, #0152A2); outline-offset: 3px; }
.dwr-gallery-shell .dwr-gallery-slider-nav.swiper-button-disabled { opacity: .3; cursor: default; transform: translateY(-50%); }
.dwr-gallery-shell .dwr-gallery-slider-nav.swiper-button-lock { display: none; }
@media (max-width: 767px) {
    .dwr-gallery-shell .dwr-gallery-slider-navigation { --dwr-gallery-nav-size: 38px; }
}
@media (forced-colors: active) {
    .dwr-gallery-shell .dwr-gallery-slider-nav { border: 1px solid ButtonText; color: ButtonText; background: Canvas; box-shadow: none; }
}
.dwr-gallery-grid { display: grid; grid-template-columns: repeat(var(--dwr-gallery-grid-desktop, 3), minmax(0, 1fr)); column-gap: var(--dwr-gallery-horizontal-gap, 18px); row-gap: var(--dwr-gallery-vertical-gap, 18px); }
.dwr-gallery-grid__item { min-width: 0; margin: 0; overflow: hidden; background: #fff; border: 1px solid #d9e4ef; border-radius: 12px; box-shadow: 0 5px 18px rgba(11, 55, 96, .08); }
.dwr-gallery-grid__item a { display: block; overflow: hidden; aspect-ratio: 4 / 3; background: #edf3f8; }
.dwr-gallery-grid__item img { display: block; width: 100%; height: 100% !important; object-fit: cover; transition: transform .25s ease; }
.dwr-gallery-preserve-original .dwr-gallery-grid__item a { display: flex; align-items: flex-start; justify-content: center; aspect-ratio: auto; background: transparent; }
.dwr-gallery-preserve-original .dwr-gallery-grid__item img { width: auto; max-width: 100%; height: auto !important; object-fit: contain; }
.dwr-gallery-preserve-original .dwr-gallery-grid__item a:hover img,
.dwr-gallery-preserve-original .dwr-gallery-grid__item a:focus-visible img { transform: none; }
.dwr-gallery-grid__item a:hover img, .dwr-gallery-grid__item a:focus-visible img { transform: scale(1.025); }
.dwr-gallery-grid__item a:focus-visible { outline: 3px solid rgba(7, 95, 175, .35); outline-offset: -3px; }
.dwr-gallery-grid__item figcaption { padding: 10px 12px; color: #31445a; background: #fff; font-size: .95rem; line-height: 1.45; }
.dwr-gallery-footer-meta { display: flex; margin-top: 12px; align-items: center; gap: 16px; color: #65758a; font-size: .9rem; }
.dwr-gallery-footer-meta > * + *::before { display: inline-block; width: 3px; height: 3px; margin: 0 10px 2px 0; content: ''; background: #8ca0b5; border-radius: 50%; }
.dwr-gallery-share { margin-top: 12px; }
.dwr-gallery-share .addtoany_shortcode { display: inline-block; }
.dwr-gallery-effect-none .swiper-wrapper,
.dwr-gallery-effect-none .swiper-slide { transition-duration: 0ms !important; }
.dwr-gallery-shell .swiper-slide-desc { right: 0; bottom: 0; left: 0; padding: 12px 16px; color: #fff; background: linear-gradient(transparent, rgba(3,36,72,.88)); }
.dwr-gallery-shell .rbs-hover-caption { padding: 9px 12px; color: #fff; font-size: 15px; line-height: 1.35; text-shadow: 0 1px 2px rgba(0,0,0,.45); }
@media (prefers-reduced-motion: reduce) {
    .dwr-gallery-shell *, .dwr-gallery-shell *::before, .dwr-gallery-shell *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
@media (max-width: 600px) {
    .dwr-gallery-grid { grid-template-columns: repeat(var(--dwr-gallery-grid-mobile, 1), minmax(0, 1fr)); }
}
