.idxpw-campo .idxpw-campo__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    max-width: 100%;
    box-sizing: border-box;
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;
    border: 0 none;
    transition: color .25s, background-color .25s, border-color .25s, box-shadow .25s, transform .25s;
}

.idxpw-campo .idxpw-campo__link--text { color: #0E8BB3; }
.idxpw-campo .idxpw-campo__link--text:hover { color: #086d8e; }
.idxpw-campo .idxpw-campo__link--button {
    color: #fff;
    background-color: #1FBCEE;
    min-height: 44px;
    padding: 13px 22px;
    border-radius: 999px;
}
.idxpw-campo .idxpw-campo__link--button:hover { background-color: #0E8BB3; }
.idxpw-campo__action:focus-visible { outline: 2px solid #0E8BB3; outline-offset: 3px; }
.idxpw-campo__link-text { min-width: 0; overflow-wrap: anywhere; }
.idxpw-campo__link-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; line-height: 1; }
.idxpw-campo__link-icon > i, .idxpw-campo__link-icon > svg { display: block; }
.idxpw-campo__link-icon svg { width: 1em; height: 1em; fill: currentColor; }
.idxpw-campo__link--float:hover, .idxpw-campo__link--float:focus-visible { transform: translateY(calc(-1 * var(--idxpw-link-distance, 2px))); }
.idxpw-campo__link--grow:hover, .idxpw-campo__link--grow:focus-visible { transform: scale(calc(1 + var(--idxpw-link-scale, 4) / 100)); }
.idxpw-campo__link--shrink:hover, .idxpw-campo__link--shrink:focus-visible { transform: scale(calc(1 - var(--idxpw-link-scale, 4) / 100)); }
@media (prefers-reduced-motion: reduce) {
    .idxpw-campo .idxpw-campo__action { transition: none !important; }
    .idxpw-campo__action:hover, .idxpw-campo__action:focus-visible { transform: none !important; }
}

.idxpw-campo__image img {
    max-width: 100%;
    height: auto;
}

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

.idxpw-campo__pill {
    display: inline-flex;
    align-items: center;
    border: 1px solid currentColor;
    border-radius: 999px;
    padding: 4px 14px;
    font-size: 0.85em;
    transition: color .25s, background-color .25s, border-color .25s, box-shadow .25s, transform .25s;
}

.idxpw-campo__pill--float:hover {
    transform: translateY(calc(-1 * var(--idxpw-pill-distance, 2px)));
}

.idxpw-campo__pill--grow:hover {
    transform: scale(calc(1 + var(--idxpw-pill-scale, 4) / 100));
}

.idxpw-campo__pill--shrink:hover {
    transform: scale(calc(1 - var(--idxpw-pill-scale, 4) / 100));
}

.idxpw-campo__terms--text {
    display: block;
}

.idxpw-campo__term-before,
.idxpw-campo__term-after,
.idxpw-campo__term-separator {
    white-space: pre-wrap;
}

.idxpw-campo__terms--text-lines {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.idxpw-campo__terms-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.idxpw-campo__terms-list--bullet {
    list-style-type: disc;
    padding-inline-start: 24px;
}

.idxpw-campo__terms-list--number {
    list-style-type: decimal;
    padding-inline-start: 24px;
}

.idxpw-campo__list-item {
    display: list-item;
    margin: 0;
    padding: 0;
    border: 0 none;
    min-width: 0;
    transition: color .25s, background-color .25s, border-color .25s;
}

.idxpw-campo__list-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.idxpw-campo__list-text {
    min-width: 0;
    overflow-wrap: anywhere;
}

.idxpw-campo__list-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 1em;
    min-height: 1em;
    transition: color .25s, background-color .25s;
    flex: 0 0 auto;
    font-size: 16px;
    line-height: 1;
}

.idxpw-campo__list-icon > i,
.idxpw-campo__list-icon > svg {
    display: block;
    flex-shrink: 0;
}

.idxpw-campo__list-icon svg {
    width: 1em;
    height: 1em;
    fill: currentColor;
}

.idxpw-campo__list-item::marker {
    font-size: 16px;
}

@media (prefers-reduced-motion: reduce) {
    .idxpw-campo__pill,
    .idxpw-campo__list-item,
    .idxpw-campo__list-icon {
        transition: none !important;
    }
    .idxpw-campo__pill:hover {
        transform: none !important;
    }
}

.idxpw-campo__repeater {
    border-collapse: collapse;
    width: 100%;
}

.idxpw-campo__repeater td {
    padding: 8px 12px 8px 0;
    vertical-align: top;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.idxpw-campo__repeater-label {
    display: block;
    font-size: 0.8em;
    font-weight: 600;
    opacity: 0.7;
    margin-bottom: 2px;
}

/* Structured repeater presentations. */
.idxpw-campo__repeat { min-width: 0; }
.idxpw-campo__repeat--table { overflow-x: auto; }
.idxpw-campo__repeat-table { width: 100%; border-collapse: collapse; margin: 0; color: inherit; }
.idxpw-campo__repeat-table th,
.idxpw-campo__repeat-table td { padding: 12px 16px; text-align: start; vertical-align: top; border: 0; border-bottom: 1px solid rgba(25,45,52,.12); overflow-wrap: anywhere; }
.idxpw-campo__repeat-table th { font-weight: 600; background: rgba(18,189,227,.08); }
.idxpw-campo__repeat-table td:first-child { font-weight: 600; }
.idxpw-campo__repeat-table img,
.idxpw-campo__repeat-record img,
.idxpw-campo__repeat-copy img { max-width: 100%; height: auto; }
.idxpw-campo__repeat-text { overflow-wrap: anywhere; }
.idxpw-campo__repeat-text--lines { display: flex; flex-direction: column; gap: 12px; }
.idxpw-campo__repeat-before,
.idxpw-campo__repeat-after,
.idxpw-campo__repeat-separator { white-space: pre-wrap; }
.idxpw-campo__repeat-sub-label { font-weight: 600; }
.idxpw-campo__repeat-list { display: flex; flex-direction: column; gap: 12px; padding: 0; margin: 0; list-style: none; }
.idxpw-campo__repeat-list > .idxpw-campo__repeat-item { display: flex; align-items: center; gap: var(--idxpw-repeat-marker-gap,12px); padding: 0; border: 0 none; }
.idxpw-campo__repeat-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.idxpw-campo__repeat-item { min-width: 0; margin: 0; color: inherit; transition: color .25s, background-color .25s, border-color .25s, box-shadow .25s, transform .25s; }
.idxpw-campo__repeat-cards > .idxpw-campo__repeat-item { padding: 20px; border: 1px solid rgba(25,45,52,.12); border-radius: 12px; }
.idxpw-campo__repeat-copy { min-width: 0; overflow-wrap: anywhere; }
.idxpw-campo__repeat-heading { font-size: 1.1em; font-weight: 600; line-height: 1.4; margin: 0 0 8px; color: inherit; }
.idxpw-campo__repeat-body + .idxpw-campo__repeat-body { margin-top: 8px; }
.idxpw-campo__repeat-marker { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 32px; flex: 0 0 auto; font-size: 16px; line-height: 1; border-radius: 8px; }
.idxpw-campo__repeat-marker > i,
.idxpw-campo__repeat-marker > svg { display: block; }
.idxpw-campo__repeat-marker svg { width: 1em; height: 1em; fill: currentColor; }
.idxpw-campo__repeat-cards .idxpw-campo__repeat-marker { margin-bottom: 0; }
.idxpw-campo__repeat-inline-image { display: inline-flex; max-width: 100%; vertical-align: middle; }
.idxpw-campo__repeat-inline-image img { display: block; width: 120px; max-width: 100%; max-height: 160px; height: auto; object-fit: contain; }
.idxpw-campo__repeat-card-image { display: flex; justify-content: flex-start; max-width: 100%; margin-bottom: 0; }
.idxpw-campo__repeat-card-image img { display: block; width: 160px; max-width: 100%; max-height: 200px; height: auto; object-fit: contain; }
@media (max-width:1024px) { .idxpw-campo__repeat-cards { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) { .idxpw-campo__repeat-cards { grid-template-columns: minmax(0,1fr); } }
@media (prefers-reduced-motion: reduce) { .idxpw-campo__repeat-item { transition: none !important; transform: none !important; } }

/* Native video files and external players. */
.idxpw-campo__video-container { display: flex; justify-content: flex-start; min-width: 0; }
.idxpw-campo__video-frame { position: relative; width: 100%; max-width: 100%; min-width: 0; aspect-ratio: 16 / 9; overflow: hidden; background: #000; }
.idxpw-campo__video-frame > iframe,
.idxpw-campo__video-frame > video { display: block; position: absolute; inset: 0; width: 100%; height: 100%; border: 0; max-width: 100%; margin: 0; object-fit: contain; }
.idxpw-campo__video-frame > div { width: 100%; height: 100%; }
.idxpw-campo__video-fallback { overflow-wrap: anywhere; }

/* Icons share the existing picker value format. */
.idxp-icon { display: inline-flex; align-items: center; justify-content: center; width: 1em; height: 1em; max-width: 100%; vertical-align: middle; flex: 0 0 auto; line-height: 1; }
.idxp-icon__glyph { display: block; width: 1em; height: 1em; max-width: 100%; font-size: inherit; line-height: 1; }
.idxp-icon__glyph.dashicons { font-size: inherit; width: 1em; height: 1em; }
.idxp-icon__mask { display: var(--idxp-icon-mask-display, block); width: 1em; height: 1em; max-width: 100%; background-color: currentColor; mask-image: var(--idxp-icon-image); mask-repeat: no-repeat; mask-position: center; mask-size: contain; -webkit-mask-image: var(--idxp-icon-image); -webkit-mask-repeat: no-repeat; -webkit-mask-position: center; -webkit-mask-size: contain; }
.idxp-icon .idxp-icon__original { display: var(--idxp-icon-original-display, none); width: 1em; height: 1em; max-width: 100%; object-fit: contain; }
.idxpw-campo__icon { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; font-size: 32px; min-width: 48px; min-height: 48px; max-width: 100%; padding: 8px; border-radius: 8px; color: #0E8BB3; transition: color .25s, background-color .25s, border-color .25s, box-shadow .25s, transform .25s; }
@media (prefers-reduced-motion: reduce) { .idxpw-campo__icon { transition: none !important; transform: none !important; } }

/* Video cover */
.idxpw-campo__video-frame { position: relative; }
.idxpw-campo__video-cover { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; padding: 0; border-radius: inherit; overflow: hidden; cursor: pointer; background: #000; }
.idxpw-campo__video-cover[hidden] { display: none; }
.idxpw-campo__video-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.idxpw-campo__video-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; color: #fff; background: rgba(0,0,0,.65); font-size: 26px; line-height: 1; }
.idxpw-campo__video-cover:focus-visible { outline: 3px solid #12bde3; outline-offset: -4px; }

/* Repeater card formats; the native responsive control owns the direction. */
.idxpw-campo__repeat-cards > .idxpw-campo__repeat-item { display: flex; flex-direction: var(--idxpw-card-direction, column); align-items: var(--idxpw-card-align, stretch); gap: var(--idxpw-repeat-card-gap, 12px); }
.idxpw-campo__repeat-cards .idxpw-campo__repeat-copy { flex: 1 1 0%; }
.idxpw-campo__repeat-card-visual { display: flex; flex: 0 0 auto; width: var(--idxpw-card-visual-width, 100%); max-width: 100%; min-width: 0; }
.idxpw-campo__repeat-card-visual--image { flex: 0 1 var(--idxpw-card-image-basis, auto); max-width: var(--idxpw-card-image-max, 100%); }
.idxpw-campo__repeat-card-visual--image .idxpw-campo__repeat-card-image { width: 100%; min-width: 0; }
.idxpw-campo__repeat-card-visual--image img { width: var(--idxpw-card-image-child-width, var(--idxpw-repeat-image-width, 160px)); }

/* Term destinations preserve the selected presentation and expose native focus. */
.idxpw-campo .idxpw-campo__term-link { color:inherit; text-decoration:none; }
.idxpw-campo .idxpw-campo__term-link:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
