/* Relata theme-native frontend layer.
 * The active WordPress theme should lead typography, colors and spacing.
 * Relata adds semantic structure and only the functional CSS needed for relations and maps.
 */
.rdm-frontend{--rdm-gap:var(--wp--preset--spacing--40,1.5rem);--rdm-small-gap:var(--wp--preset--spacing--20,.75rem);--rdm-line:var(--wp--preset--color--cyan-bluish-gray,#d0d7de);--rdm-muted:var(--wp--preset--color--contrast-2,var(--theme-text-color,#646970));--rdm-accent:var(--wp--preset--color--primary,var(--theme-palette-color-1,currentColor));}
.rdm-frontend [hidden],.rdm-overlay[hidden]{display:none!important;}
.rdm-frontend :where(a){color:inherit;}
.rdm-frontend :where(h1,h2,h3,h4,p){overflow-wrap:anywhere;}
.rdm-frontend :where(.rdm-entity-related-title,.rdm-view-header h2){margin-block:0 var(--rdm-small-gap);}
.rdm-frontend :where(.rdm-view-header,.rdm-filters,.rdm-active-filters,.rdm-view-share,.rdm-sort-controls,.rdm-filter-presets){margin-block-end:var(--rdm-gap);}
.rdm-frontend :where(.rdm-button,.rdm-page-link,.rdm-filter-preset,.rdm-map-filter){font:inherit;color:inherit;background:transparent;border:1px solid var(--rdm-line);border-radius:999px;padding:.45em .8em;text-decoration:none;line-height:1.2;cursor:pointer;}
.rdm-frontend :where(.rdm-button:hover,.rdm-page-link:hover,.rdm-filter-preset:hover,.rdm-map-filter:hover,.rdm-map-filter.is-active){border-color:currentColor;}
.rdm-frontend :where(input,select,textarea){font:inherit;max-width:100%;}
.rdm-frontend :where(.rdm-filters){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:var(--rdm-small-gap);}
.rdm-frontend :where(.rdm-filter-item){display:grid;gap:.35rem;}
.rdm-frontend :where(.rdm-filter-actions,.rdm-card-actions,.rdm-view-share__actions,.rdm-filter-presets__list,.rdm-active-filters__chips){display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;}
.rdm-frontend :where(.rdm-detail-claim){display:flex;justify-content:space-between;align-items:center;gap:var(--rdm-small-gap);flex-wrap:wrap;margin-block-start:var(--rdm-gap);padding-block:var(--rdm-small-gap);border-block-start:1px solid var(--rdm-line);}
.rdm-frontend :where(.rdm-detail-claim p){margin:0;font-weight:600;}
.rdm-frontend :where(.rdm-view-count,.rdm-result-kicker,.rdm-related-item-kicker,.rdm-entity-template-label,.rdm-related-item-relation,.rdm-related-item-chip,.rdm-active-filter-chip,.rdm-type-chip,.description){color:var(--rdm-muted);font-size:.875em;}
.rdm-frontend :where(.rdm-entity-field-list){display:grid;gap:.75rem;}
.rdm-frontend :where(.rdm-entity-field-list.is-layout-facts){grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));}
.rdm-frontend :where(.rdm-entity-template-field,.rdm-related-item-card,.rdm-map-result-card,.rdm-related-map-card,.rdm-navigator-panel,.rdm-entity-related-empty){border-block-start:1px solid var(--rdm-line);padding-block:.75rem;}
.rdm-frontend :where(.rdm-entity-template-value){min-width:0;}
.rdm-entity-related-list,.rdm-entity-related-group,.rdm-entity-related-group-items{display:grid;gap:var(--rdm-small-gap);}
.rdm-entity-related-list.is-view-cards .rdm-entity-related-group-items{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));}
.rdm-related-item-card{min-width:0;}
.rdm-related-item-media{margin-block-end:.75rem;}
.rdm-related-item-media__img{display:block;width:100%;height:auto;}
.rdm-related-item-card__body{display:grid;gap:.35rem;}
.rdm-related-item-title{margin:0;font-size:1.05em;line-height:1.25;}
.rdm-related-item-summary{color:var(--rdm-muted);}
.rdm-related-item-chips,.rdm-related-item-facts{display:flex;flex-wrap:wrap;gap:.5rem;}
.rdm-map-layout{display:grid;gap:var(--rdm-gap);align-items:start;}
.rdm-map-layout.is-navigator{grid-template-columns:minmax(0,1fr) minmax(min(100%,18rem),.38fr);}
.rdm-map-main,.rdm-map-sidebar{min-width:0;}
.rdm-map-canvas{width:100%;min-height:320px;}
.rdm-map-toolbar{display:grid;gap:.75rem;}
.rdm-map-results,.rdm-related-map-list-items{display:grid;gap:.75rem;}
.rdm-map-result-card{cursor:pointer;}
.rdm-map-result-card.is-active,.rdm-map-result-card.is-highlighted{outline:2px solid currentColor;outline-offset:2px;}
.rdm-map-sync-record.is-active,.rdm-map-sync-record.is-highlighted{outline:2px solid currentColor;outline-offset:2px;}
.rdm-quickstart-layout .rdm-native-query__records{display:grid;gap:var(--wp--preset--spacing--30,1rem);}.rdm-quickstart-layout--tiles .rdm-native-query__records{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));}.rdm-quickstart-layout--tiles .rdm-native-record{border:1px solid currentColor;padding:var(--wp--preset--spacing--30,1rem);}.rdm-quickstart-layout--logos .rdm-native-query__records{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));align-items:start;text-align:center;}.rdm-quickstart-layout--logos .rdm-native-record{display:grid;gap:var(--wp--preset--spacing--20,.75rem);justify-items:center;}.rdm-quickstart-layout--logos .wp-block-image{margin:0;max-width:12rem;width:100%;}.rdm-quickstart-layout--logos .wp-block-image img{aspect-ratio:1;object-fit:contain;width:100%;}
.rdm-map-controls{display:grid;gap:.5rem;margin-block:.25rem .75rem;}
.rdm-map-legend,.rdm-map-filterbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;}
.rdm-map-legend-item{display:inline-flex;gap:.4em;align-items:center;font-size:.875em;}
.rdm-map-legend-marker{display:inline-flex;align-items:center;justify-content:center;width:1.35em;height:1.35em;border-radius:999px;background:currentColor;color:Canvas;font-size:.72em;font-weight:700;}
.rdm-map-marker-icon{background:transparent;border:0;}
.rdm-map-marker-pin{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:CanvasText;color:Canvas;border:2px solid Canvas;box-shadow:0 2px 8px rgba(0,0,0,.18);font-weight:700;font-size:.78rem;line-height:1;}
.rdm-map-marker-icon.is-active .rdm-map-marker-pin{transform:scale(1.16);}
.rdm-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1.5rem;}
.rdm-overlay__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);}
.rdm-overlay__dialog{position:relative;z-index:1;max-width:min(100%,46rem);max-height:min(85vh,56rem);overflow:auto;background:Canvas;color:CanvasText;padding:var(--rdm-gap);box-shadow:0 1rem 4rem rgba(0,0,0,.24);}
.rdm-overlay__close{position:absolute;top:.75rem;right:.75rem;}
body.rdm-overlay-open{overflow:hidden;}
@media (max-width: 900px){.rdm-map-layout.is-navigator{grid-template-columns:1fr;}}
.rdm-entity-primary-media{margin:0 0 var(--rdm-gap);}
.rdm-entity-primary-media__frame{aspect-ratio:var(--rdm-primary-media-ratio,16/9);overflow:hidden;}
.rdm-entity-primary-media__img{display:block;width:100%;height:100%;object-fit:cover;}
.rdm-entity-field-list__title{margin-block:0 .75rem;}
.rdm-entity-field-list__item{border-block-start:1px solid var(--rdm-line);padding-block:.55rem;}
.rdm-entity-field-list__label{color:var(--rdm-muted);font-size:.82em;}
.rdm-entity-field-list__value{font-weight:600;}

/* Relata logo grid: semantic WordPress-friendly listing for logo archives. */
.rdm-logo-grid{margin-block:var(--wp--preset--spacing--40,1.5rem);}
.rdm-logo-grid__title{margin-block:0 var(--wp--preset--spacing--30,1rem);}
.rdm-logo-grid__list{display:grid;grid-template-columns:repeat(var(--rdm-logo-grid-columns,4),minmax(0,1fr));gap:var(--wp--preset--spacing--40,1.5rem);list-style:none;margin:0;padding:0;}
.rdm-logo-grid__item{min-width:0;}
.rdm-logo-grid__link{display:flex;flex-direction:column;min-height:5.5rem;align-items:center;justify-content:center;text-align:center;text-decoration:none;border:1px solid color-mix(in srgb,currentColor 16%,transparent);padding:var(--wp--preset--spacing--30,1rem);background:transparent;color:inherit;}
.rdm-logo-grid__link:hover,.rdm-logo-grid__link:focus-visible{border-color:currentColor;}
.rdm-logo-grid__figure{margin:0;max-width:100%;}
.rdm-logo-grid__image{display:block;max-width:100%;max-height:4.5rem;width:auto;height:auto;object-fit:contain;}
.rdm-logo-grid__fallback-title,.rdm-logo-grid__name,.rdm-logo-grid__description{display:block;}
.rdm-logo-grid__name{margin-block-start:.5rem;font-weight:600;}
.rdm-logo-grid__description{margin-block-start:.35rem;font-size:.875em;color:var(--rdm-muted,var(--wp--preset--color--contrast-2,#646970));}
@media (max-width: 900px){.rdm-logo-grid__list{grid-template-columns:repeat(var(--rdm-logo-grid-tablet-columns,2),minmax(0,1fr));}}
@media (max-width: 560px){.rdm-logo-grid__list{grid-template-columns:repeat(var(--rdm-logo-grid-mobile-columns,1),minmax(0,1fr));}}

/* Generic theme-native Relata record list. This keeps structure usable while allowing the active theme to lead visual design. */
.rdm-record-list {
    margin-block: var(--wp--preset--spacing--50, 2rem);
}
.rdm-record-list__items {
    display: grid;
    grid-template-columns: repeat(var(--rdm-record-list-columns, 3), minmax(0, 1fr));
    gap: var(--wp--preset--spacing--40, 1.5rem);
    list-style: none;
    margin: 0;
    padding: 0;
}
.rdm-record-list--list .rdm-record-list__items,
.rdm-record-list--compact .rdm-record-list__items {
    display: block;
}
.rdm-record-list--list .rdm-record-list__item,
.rdm-record-list--compact .rdm-record-list__item {
    border-block-start: 1px solid currentColor;
    padding-block: 1rem;
}
.rdm-record-list__record {
    height: 100%;
}
.rdm-record-list__media {
    margin: 0 0 1rem;
}
.rdm-record-list__image {
    display: block;
    width: 100%;
    height: auto;
}
.rdm-record-list__heading {
    margin-block: 0 .35rem;
}
.rdm-record-list__summary {
    margin-block: 0 .75rem;
}
.rdm-record-list__facts,
.rdm-record-detail__fields {
    margin: 0;
}
.rdm-record-list__fact,
.rdm-record-detail__field {
    display: grid;
    grid-template-columns: minmax(7rem, 12rem) minmax(0, 1fr);
    gap: .5rem 1rem;
    padding-block: .35rem;
}
.rdm-record-list__fact dt,
.rdm-record-detail__field dt {
    font-size: .85em;
    opacity: .75;
}
.rdm-record-list__fact dd,
.rdm-record-detail__field dd {
    margin: 0;
}
.rdm-record-list__action {
    margin-block: 1rem 0;
}
.rdm-record-list__table {
    width: 100%;
}
.rdm-record-detail__back {
    margin-block: 0 1.5rem;
}
.rdm-record-detail__kicker {
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .8em;
    opacity: .7;
}
.rdm-record-detail__media {
    margin-block: 1.5rem;
}
.rdm-record-detail__gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
    gap: var(--rdm-gap);
    margin-block: 1.5rem;
}
.rdm-record-detail__gallery-item {
    margin: 0;
}
.rdm-record-detail__gallery-image {
    display: block;
    width: 100%;
    height: auto;
}
@media (max-width: 900px) {
    .rdm-record-list__items {
        grid-template-columns: repeat(var(--rdm-record-list-tablet-columns, 2), minmax(0, 1fr));
    }
}
@media (max-width: 640px) {
    .rdm-record-list__items {
        grid-template-columns: repeat(var(--rdm-record-list-mobile-columns, 1), minmax(0, 1fr));
    }
    .rdm-record-list__fact,
    .rdm-record-detail__field {
        display: block;
    }
}

/* Optional record separation presets. They provide structure, while colors and typography stay theme-led. */
.rdm-record-list--separation-dividers .rdm-record-list__record {
    border-block-start: 1px solid var(--wp--preset--color--contrast-3, #dcdcde);
    padding-block-start: var(--wp--preset--spacing--30, 1rem);
}
.rdm-record-list--separation-dividers .rdm-record-list__item {
    padding-block-end: var(--wp--preset--spacing--30, 1rem);
}
.rdm-record-list--separation-cards .rdm-record-list__record {
    border: 1px solid var(--wp--preset--color--contrast-3, #dcdcde);
    padding: var(--wp--preset--spacing--40, 1.25rem);
    background: var(--wp--preset--color--base, transparent);
}
.rdm-record-list--separation-cards .rdm-record-list__items {
    gap: var(--wp--preset--spacing--50, 2rem);
}
.rdm-record-list--separation-none .rdm-record-list__record {
    border: 0;
    padding: 0;
    background: transparent;
}
@media (max-width: 640px) {
    .rdm-record-list--separation-cards .rdm-record-list__record {
        padding: var(--wp--preset--spacing--30, 1rem);
    }
}

/* Record-list logo media mode: used for records with logo media.
   Controlled by Relata shortcode/block attribute image_mode="logo", not by page IDs. */
.rdm-record-list--media-logo .rdm-record-list__media{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:var(--rdm-record-media-box-height,7.25rem)!important;margin:0 0 var(--wp--preset--spacing--40,1rem) 0!important;}
.rdm-record-list--media-logo .rdm-record-list__image{display:block!important;width:100%!important;height:100%!important;max-width:var(--rdm-record-media-max-width,22.5rem)!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important;margin:0 auto!important;}
.rdm-map-error,.rdm-map-warning{box-sizing:border-box;position:absolute;z-index:1200;left:12px;right:12px;padding:10px 12px;border-radius:8px;font:600 14px/1.45 system-ui,sans-serif}
.rdm-map-error{top:12px;background:#fff0f0;color:#7a1f1f;border:1px solid #e0a8a8}
.rdm-map-warning{bottom:12px;background:rgba(255,248,225,.96);color:#5d4500;border:1px solid #d8c27a}
.rdm-map-canvas--error{position:relative}


/* M24 relation-aware view builder. Relationships inherit typography and color from the active theme. */
.rdm-record-relations {
    display: grid;
    gap: .75rem;
    margin-block: .9rem 0;
}
.rdm-record-relations__group {
    min-width: 0;
}
.rdm-record-relations__label {
    display: flex;
    align-items: baseline;
    gap: .5rem;
    font-size: .85em;
    font-weight: 600;
}
.rdm-record-relations__count {
    opacity: .65;
    font-variant-numeric: tabular-nums;
}
.rdm-record-relations__items {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .75rem;
    list-style: none;
    margin: .35rem 0 0;
    padding: 0;
}
.rdm-record-relations__item {
    min-width: 0;
}
.rdm-record-relations--detail {
    gap: 1rem;
    margin-block: 1.5rem 0;
}
.rdm-record-relations--detail .rdm-record-relations__items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
}
.rdm-record-relations--table {
    margin: 0;
}
.rdm-record-relations--table .rdm-record-relations__items {
    display: block;
}

/* M25 visitor discovery controls: server-rendered, accessible and theme-led. */
.rdm-record-view-controls {
    margin-block: 0 1.25rem;
    padding: var(--wp--preset--spacing--30, 1rem);
    border: 1px solid var(--wp--preset--color--contrast-3, #dcdcde);
    background: var(--wp--preset--color--base-2, transparent);
}
.rdm-record-view-controls__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
    gap: .9rem 1rem;
    align-items: end;
}
.rdm-record-view-controls__field {
    display: grid;
    gap: .35rem;
    min-width: 0;
    font-weight: 600;
}
.rdm-record-view-controls__field input,
.rdm-record-view-controls__field select {
    box-sizing: border-box;
    width: 100%;
    min-height: 2.75rem;
    padding: .55rem .7rem;
    border: 1px solid currentColor;
    border-radius: var(--wp--custom--border-radius--small, .25rem);
    background: var(--wp--preset--color--base, Canvas);
    color: inherit;
    font: inherit;
    font-weight: 400;
}
.rdm-record-view-controls__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem 1rem;
    margin-block-start: 1rem;
}
.rdm-record-view-controls__reset {
    font-size: .95em;
}
.rdm-record-view-results {
    margin-block: 0 1rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.rdm-record-view-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    align-items: center;
    margin-block-start: 1.5rem;
}
.rdm-record-view-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.4rem;
    min-height: 2.4rem;
    padding: .35rem .65rem;
    border: 1px solid currentColor;
    text-decoration: none;
}
.rdm-record-view-pagination .current {
    font-weight: 700;
    outline: 2px solid currentColor;
    outline-offset: 1px;
}
.rdm-record-list--empty .rdm-empty-state {
    margin-block: 1rem 0;
}
@media (max-width: 640px) {
    .rdm-record-view-controls {
        padding: var(--wp--preset--spacing--20, .75rem);
    }
    .rdm-record-view-controls__actions > * {
        width: 100%;
        text-align: center;
    }
}

/* M26 map-aware view builder: native, theme-led composition. */
.rdm-record-map-panel {
    display: grid;
    gap: .75rem;
    min-width: 0;
    padding: var(--wp--preset--spacing--30, 1rem);
    border: 1px solid var(--wp--preset--color--contrast-3, #dcdcde);
    background: var(--wp--preset--color--base-2, transparent);
}
.rdm-record-map-panel__header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: .75rem 1rem;
}
.rdm-record-map-panel__count,
.rdm-record-map-notice {
    margin: 0;
}
.rdm-record-map-panel__count {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.rdm-record-map-panel__reset {
    min-height: 2.4rem;
    padding: .45rem .7rem;
    border: 1px solid currentColor;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}
.rdm-record-map-canvas {
    width: 100%;
    min-height: 320px;
}
.rdm-record-map-notice {
    font-size: .92em;
}
.rdm-record-list {
    container-type: inline-size;
}
.rdm-record-map-composition {
    display: grid;
    gap: var(--wp--preset--spacing--40, 1.5rem);
    align-items: start;
}
.rdm-record-map-composition--left.rdm-record-map-composition--width-compact {
    grid-template-columns: minmax(16rem, .65fr) minmax(0, 1.35fr);
}
.rdm-record-map-composition--left.rdm-record-map-composition--width-balanced {
    grid-template-columns: minmax(18rem, .9fr) minmax(0, 1.1fr);
}
.rdm-record-map-composition--left.rdm-record-map-composition--width-equal {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.rdm-record-map-composition--right.rdm-record-map-composition--width-compact {
    grid-template-columns: minmax(0, 1.35fr) minmax(16rem, .65fr);
}
.rdm-record-map-composition--right.rdm-record-map-composition--width-balanced {
    grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr);
}
.rdm-record-map-composition--right.rdm-record-map-composition--width-equal {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.rdm-record-map-composition__map,
.rdm-record-map-composition__results {
    min-width: 0;
}
.rdm-record-list--cards .rdm-record-map-composition__results .rdm-record-list__items {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
}
.rdm-record-list--cards:not(.rdm-record-list--separation-none) .rdm-record-list__record {
    box-sizing: border-box;
    border: 1px solid var(--wp--preset--color--contrast-3, #dcdcde);
    padding: var(--wp--preset--spacing--40, 1.25rem);
    background: var(--wp--preset--color--base, transparent);
}
.rdm-record-map-composition--left .rdm-record-list__table,
.rdm-record-map-composition--right .rdm-record-list__table {
    display: block;
    overflow-x: auto;
}
@container (max-width: 780px) {
    .rdm-record-map-composition--left,
    .rdm-record-map-composition--right {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 900px) {
    .rdm-record-map-composition--left,
    .rdm-record-map-composition--right {
        grid-template-columns: 1fr;
    }
}

/* Pure linked logo grid for reusable views. */
.rdm-record-list--logo-only .rdm-record-list__items{display:grid;grid-template-columns:repeat(var(--rdm-record-list-columns,3),minmax(0,1fr));gap:var(--wp--preset--spacing--40,1.5rem);list-style:none;margin:0;padding:0;}
.rdm-record-list--logo-only .rdm-record-list__record{height:100%;display:flex!important;align-items:center!important;justify-content:center!important;padding:var(--wp--preset--spacing--40,1rem)!important;}
.rdm-record-list--logo-only .rdm-record-list__media{margin:0!important;height:var(--rdm-record-media-box-height,11rem)!important;}
.rdm-record-list--logo-only .rdm-record-list__logo-link{box-sizing:border-box;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;padding:clamp(.5rem,2vw,1.25rem)!important;text-decoration:none!important;}
.rdm-record-list--logo-only .rdm-record-list__logo-link:focus-visible{outline:2px solid currentColor;outline-offset:3px;}
.rdm-record-list--logo-only .rdm-record-list__image{display:block!important;width:100%!important;height:100%!important;max-width:var(--rdm-record-media-max-width,90%)!important;max-height:90%!important;object-fit:contain!important;object-position:center center!important;margin:auto!important;}
@container (max-width:700px){.rdm-record-list--logo-only .rdm-record-list__items{grid-template-columns:repeat(var(--rdm-record-list-tablet-columns,2),minmax(0,1fr));}}
@container (max-width:420px){.rdm-record-list--logo-only .rdm-record-list__items{grid-template-columns:repeat(var(--rdm-record-list-mobile-columns,1),minmax(0,1fr));}}
@media (max-width:900px){.rdm-record-list--logo-only .rdm-record-list__items{grid-template-columns:repeat(var(--rdm-record-list-tablet-columns,2),minmax(0,1fr));}}
@media (max-width:560px){.rdm-record-list--logo-only .rdm-record-list__items{grid-template-columns:repeat(var(--rdm-record-list-mobile-columns,1),minmax(0,1fr));}}
