.idxpw-campo__gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.idxpw-campo__gallery-item img {
    display: block;
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 0;
}

.idxpw-campo__gallery-item { min-width: 0; }
.idxpw-campo__gallery-media { display: block; position: relative; overflow: hidden; box-sizing: border-box; border-radius: 4px; line-height: 0; transform: translateY(0); transition: transform .3s ease, box-shadow .3s ease; }
.idxpw-campo__gallery-media::after { content: ""; position: absolute; inset: 0; pointer-events: none; background-color: transparent; transition: background-color .3s ease; }
.idxpw-campo__gallery-media img { transform: scale(1); filter: grayscale(var(--idxpw-gray-normal, 0)); opacity: var(--idxpw-opacity-normal, 1); transition: transform var(--idxpw-zoom-duration, .3s) ease, filter .3s ease, opacity .3s ease; }
.idxpw-campo__gallery-media:focus-visible { outline: 2px solid currentColor; outline-offset: -3px; }
.idxpw-campo__gallery[data-normal="grayscale"] { --idxpw-gray-normal: calc(var(--idxpw-grayscale-normal-amount, 100) * .01); }
.idxpw-campo__gallery[data-hover="zoom"] { --idxpw-scale-hover: calc(1 + var(--idxpw-zoom-amount, 8) * .01); }
.idxpw-campo__gallery[data-hover="shrink"] { --idxpw-scale-hover: calc(1 - var(--idxpw-zoom-amount, 8) * .01); }
.idxpw-campo__gallery[data-hover="grayscale"] { --idxpw-gray-hover: calc(var(--idxpw-grayscale-hover-amount, 100) * .01); }
.idxpw-campo__gallery[data-hover="overlay"] { --idxpw-overlay-color-hover: var(--idxpw-overlay-hover, rgba(0, 0, 0, .4)); }
.idxpw-campo__gallery[data-hover="float"] { --idxpw-float-hover: calc(-1 * var(--idxpw-float-distance, 2px)); --idxpw-float-space: var(--idxpw-float-distance, 2px); }
/* Rollover defines the whole image state, including when its effect is None. */
.idxpw-campo__gallery-item:is(:hover, :focus-within) .idxpw-campo__gallery-media { transform: translateY(var(--idxpw-float-hover, 0px)); }
.idxpw-campo__gallery-item:is(:hover, :focus-within) img { transform: scale(var(--idxpw-scale-hover, 1)); filter: grayscale(var(--idxpw-gray-hover, 0)); opacity: var(--idxpw-opacity-hover, 1); }
.idxpw-campo__gallery-item:is(:hover, :focus-within) .idxpw-campo__gallery-media::after { background-color: var(--idxpw-overlay-color-hover, transparent); }
.idxpw-campo__gallery-colorize-defs { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.idxpw-campo__gallery[data-normal="colorize"] { --idxpw-colorize-normal-opacity: calc(var(--idxpw-normal-colorize-amount, 100) * .01); }
.idxpw-campo__gallery[data-hover="colorize"] { --idxpw-colorize-hover-opacity: calc(var(--idxpw-colorize-amount, 100) * .01); }
.idxpw-campo__gallery:is([data-normal="colorize"], [data-hover="colorize"]) .idxpw-campo__gallery-media img { filter: grayscale(var(--idxpw-gray-normal, 0)) var(--idxpw-colorize-filter); }
.idxpw-campo__gallery:is([data-normal="colorize"], [data-hover="colorize"]) .idxpw-campo__gallery-item:is(:hover, :focus-within) img { filter: grayscale(var(--idxpw-gray-hover, 0)) var(--idxpw-colorize-filter); }
.idxpw-campo__gallery-colorize-flood { flood-color: var(--idxpw-normal-colorize-color, #304951); flood-opacity: var(--idxpw-colorize-normal-opacity, 0); transition: flood-color .3s ease, flood-opacity .3s ease; }
.idxpw-campo__gallery-item:is(:hover, :focus-within) .idxpw-campo__gallery-colorize-flood { flood-color: var(--idxpw-colorize-color, #304951); flood-opacity: var(--idxpw-colorize-hover-opacity, 0); }
.idxpw-campo__gallery-shell { position: relative; min-width: 0; --idxpw-arrow-size: 36px; --idxpw-arrow-icon-size: 18px; }
.idxpw-campo__gallery-track { position: relative; min-width: 0; }
.idxpw-campo__gallery--carousel { display: block; position: relative; overflow: hidden; width: 100%; margin: 0; gap: 0; box-sizing: border-box; padding: max(var(--idxpw-shadow-top, 0px), var(--idxpw-float-space, 0px)) var(--idxpw-shadow-right, 0px) var(--idxpw-shadow-bottom, 0px) var(--idxpw-shadow-left, 0px); margin-block: calc(-1 * max(var(--idxpw-shadow-top, 0px), var(--idxpw-float-space, 0px))) calc(-1 * var(--idxpw-shadow-bottom, 0px)); }
.idxpw-campo__gallery--carousel .swiper-wrapper { display: flex; flex-wrap: nowrap; gap: 0; width: 100%; box-sizing: content-box; transition-property: transform; }
.idxpw-campo__gallery--carousel .swiper-slide { flex-shrink: 0; width: 100%; height: auto; }
.idxpw-campo__gallery--carousel .idxpw-campo__gallery-item img { width: 100%; height: 220px; }
.idxpw-campo__gallery[data-adjustment="original"] .idxpw-campo__gallery-media,
.idxpw-campo__gallery[data-adjustment="proportional"] .idxpw-campo__gallery-media { width: fit-content; max-width: 100%; }
.idxpw-campo__gallery[data-adjustment="original"] .idxpw-campo__gallery-item img,
.idxpw-campo__gallery[data-adjustment="proportional"] .idxpw-campo__gallery-item img { width: auto; max-width: 100%; height: auto; object-fit: contain; }
.idxpw-campo__gallery[data-adjustment="crop"] .idxpw-campo__gallery-media { width: 100%; aspect-ratio: 1 / 1; }
.idxpw-campo__gallery[data-adjustment="crop"] .idxpw-campo__gallery-item img { width: 100%; height: 100%; max-width: 100%; object-fit: cover; }
.idxpw-campo__gallery[data-adjustment="original"],
.idxpw-campo__gallery[data-adjustment="proportional"],
.idxpw-campo__gallery[data-adjustment="crop"] { align-items: start; }
.idxpw-campo__gallery-open-icon { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1; pointer-events: none; opacity: 0; color: #fff; font-size: 28px; line-height: 1; transition: opacity .3s ease; }
.idxpw-campo__gallery-open-icon svg { display: block; width: 1em; height: 1em; fill: currentColor; }
.idxpw-campo__gallery[data-hover="overlay"] .idxpw-campo__gallery-item:is(:hover, :focus-within) .idxpw-campo__gallery-open-icon { opacity: 1; }
.idxpw-campo__gallery-nav { position: absolute; top: 50%; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; width: var(--idxpw-arrow-size); height: var(--idxpw-arrow-size); box-sizing: border-box; font-size: var(--idxpw-arrow-icon-size); line-height: 1; padding: 0; margin: 0; border: 0; border-radius: 50%; cursor: pointer; color: #304951; background: #eef3f5; transition: color .2s ease, background-color .2s ease; z-index: 1; }
.idxpw-campo__gallery-nav--prev { left: 0; }
.idxpw-campo__gallery-nav--next { right: 0; }
.idxpw-campo__gallery-nav:hover, .idxpw-campo__gallery-nav:focus-visible { color: #fff; background: #304951; }
.idxpw-campo__gallery-nav-icon { display: inline-flex; align-items: center; justify-content: center; line-height: 1; }
.idxpw-campo__gallery-nav-icon svg { display: block; width: 1em; height: 1em; fill: currentColor; }
.idxpw-campo__gallery-nav:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.idxpw-campo__gallery-nav.swiper-button-disabled { opacity: .3; cursor: default; pointer-events: none; }
.idxpw-campo__gallery-shell .swiper-button-lock, .idxpw-campo__gallery-shell .swiper-pagination-lock { display: none; }
.idxpw-campo__gallery-pagination { position: static; display: flex; justify-content: center; gap: 8px; margin-top: 16px; --idxpw-dot-size: 8px; }
.idxpw-campo__gallery-pagination .swiper-pagination-bullet { display: block; width: var(--idxpw-dot-size); height: var(--idxpw-dot-size); margin: 0; border-radius: 50%; background: #b7c5cc; opacity: 1; cursor: pointer; }
.idxpw-campo__gallery-pagination .swiper-pagination-bullet-active { background: #304951; }
.idxpw-campo__gallery-pagination .swiper-pagination-bullet:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.idxpw-campo__gallery-pages { min-width: 0; scroll-margin-top: 100px; }
.idxpw-campo__gallery-pages .idxpw-campo__gallery-item[hidden],
.idxpw-campo__gallery-page-controls[hidden] { display: none !important; }
.idxpw-campo__gallery-page-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin-top: 24px; }
.idxpw-campo__gallery-page-controls .idxpw-campo__gallery-page-button { display: inline-flex; align-items: center; justify-content: center; padding: 8px 16px; border: 1px solid #b7c5cc; border-radius: 24px; background: #fff; color: #304951; font: inherit; line-height: 1.4; text-decoration: none; cursor: pointer; transition: background-color .2s, color .2s, border-color .2s; }
.idxpw-campo__gallery-page-controls .idxpw-campo__gallery-page-button:hover,
.idxpw-campo__gallery-page-controls .idxpw-campo__gallery-page-button:focus-visible,
.idxpw-campo__gallery-page-controls .idxpw-campo__gallery-page-button[aria-current="page"] { background: #304951; border-color: #304951; color: #fff; }
.idxpw-campo__gallery-page-controls .idxpw-campo__gallery-page-button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.idxpw-campo__gallery-page-controls .idxpw-campo__gallery-page-button:disabled { opacity: .35; cursor: default; pointer-events: none; }
.idxpw-campo__gallery-page-end { color: #667c86; }
.idxpw-campo__gallery-page-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.idxpw-campo__gallery--fallback .swiper-wrapper { flex-wrap: wrap; gap: 8px; }
.idxpw-campo__gallery--fallback .swiper-slide { width: calc(50% - 4px); }
.idxpw-campo__gallery-shell.is-fallback .idxpw-campo__gallery-nav, .idxpw-campo__gallery-shell.is-fallback .idxpw-campo__gallery-pagination { display: none; }
@media (prefers-reduced-motion: reduce) {
    .idxpw-campo__gallery[data-hover="float"] { --idxpw-float-hover: 0px; --idxpw-float-space: 0px; }
    .idxpw-campo__gallery-media, .idxpw-campo__gallery-media img, .idxpw-campo__gallery-media::after, .idxpw-campo__gallery-colorize-flood, .idxpw-campo__gallery-open-icon, .idxpw-campo__gallery-page-button { transition: none; }
}


/* A single image shares image states and opening, without a gallery layout. */
.idxpw-campo__gallery--single { display: flex; flex-wrap: nowrap; width: 100%; gap: 0; }
.idxpw-campo__gallery--single .idxpw-campo__gallery-item { width: 100%; max-width: 100%; flex: 0 1 auto; }
.idxpw-campo__gallery--single[data-adjustment="fixed"] .idxpw-campo__gallery-media,
.idxpw-campo__gallery--single[data-adjustment="crop"] .idxpw-campo__gallery-media { width: 100%; }
.idxpw-campo__gallery--single[data-adjustment="fixed"] .idxpw-campo__gallery-item img { width: 100%; height: 220px; }
