/* Bridge 4.11.0 — scoped, opt-in components. No theme/Elementor selectors. */
.ri411-carousel, .ri411-link-grid { container-type: inline-size; min-width: 0; max-width: 100%; }
.ri411-carousel *, .ri411-link-grid *, .ri411-card { box-sizing: border-box; }
.ri411-carousel { margin: 1.75rem 0 2rem; padding: clamp(1rem, 3vw, 1.75rem); border: 1px solid #d8e3eb; border-radius: 16px; background: #f3f7fa; color: #172f43; }
.ri411-carousel .ri411-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ri411-carousel .ri411-heading h2 { margin: 0; font-family: inherit; font-size: clamp(1.25rem, 2.3vw, 1.65rem); line-height: 1.3; color: #172f43; }
.ri411-carousel .ri411-notice { margin: .65rem 0 1.25rem; font-size: .875rem; line-height: 1.5; color: #475c6b; }
.ri411-carousel .ri411-controls { display: flex; gap: .5rem; flex: 0 0 auto; }
.ri411-carousel .ri411-controls[hidden] { display: none !important; }
.ri411-carousel .ri411-controls button { display: inline-flex; align-items: center; justify-content: center; width: 44px; min-width: 44px; height: 44px; padding: 0; border: 1px solid #acc1d0; border-radius: 50%; background: #fff; color: #164e70; font: 700 1.25rem/1 sans-serif; cursor: pointer; }
.ri411-carousel .ri411-controls button:disabled { opacity: .4; cursor: default; }
.ri411-carousel .ri411-track { --ri411-gap: 16px; display: grid; grid-auto-flow: column; grid-auto-columns: 100%; gap: var(--ri411-gap); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding: 3px; margin: 0; padding: 3px 3px 14px; list-style: none; direction: ltr; }
.ri411-carousel .ri411-slide { display: flex; min-width: 0; margin: 0; padding: 0; list-style: none; scroll-snap-align: start; }
.ri411-carousel .ri411-slide::before { content: none; }
.ri411-carousel .ri411-card, .ri411-link-grid .ri411-card, a.ri411-link-card { display: flex; flex-direction: column; width: 100%; min-width: 0; padding: 0; overflow: hidden; border: 1px solid #d1dfe9; border-radius: 12px; background: #fff; color: #17364f; text-decoration: none; box-shadow: 0 3px 12px #15354b08; transition: border-color .15s, box-shadow .15s; }
.ri411-carousel .ri411-card:hover, .ri411-link-grid .ri411-card:hover, a.ri411-link-card:hover { border-color: #547f9b; box-shadow: 0 5px 18px #15354b14; text-decoration: none; }
.ri411-card .ri411-image { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; margin: 0; border: 0; border-radius: 0; }
.ri411-link-card .ri411-image { aspect-ratio: 16 / 7; max-height: 240px; object-fit: cover; }
.ri411-card .ri411-no-image { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 10; background: #e8eef2; color: #526675; font-size: .9rem; }
.ri411-card .ri411-card-body { display: flex; flex: 1; flex-direction: column; gap: .65rem; padding: 1rem; }
.ri411-card .ri411-card-title { display: block; font-family: inherit; font-size: 1.0625rem; line-height: 1.4; font-weight: 700; overflow-wrap: anywhere; color: #17364f; }
.ri411-card .ri411-location, .ri411-card .ri411-description { display: block; font-size: .9375rem; line-height: 1.5; color: #475c6b; }
.ri411-card .ri411-cta { display: block; margin-top: auto; padding-top: .4rem; font-size: .9375rem; line-height: 1.45; font-weight: 700; color: #175a7e; text-decoration: underline; text-underline-offset: 3px; }
.ri411-carousel .ri411-all { display: inline-block; margin-top: 1rem; padding: .3rem 0; color: #175a7e; font-weight: 700; text-underline-offset: 3px; }
.ri411-link-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; margin: 1.75rem 0; }
.ri411-link-grid > p { display: contents; } /* WordPress wpautop wrappers around shortcodes. */
.ri411-link-grid > br { display: none; }
.ri411-carousel a:focus-visible, .ri411-carousel button:focus-visible, .ri411-carousel .ri411-track:focus-visible, .ri411-link-grid a:focus-visible, a.ri411-link-card:focus-visible { outline: 3px solid #12638e; outline-offset: 3px; }
.ri411-carousel .ri411-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (min-width: 650px) { .ri411-link-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container (min-width: 480px) { .ri411-carousel .ri411-track { grid-auto-columns: calc((100% - var(--ri411-gap)) / 2); } }
@container (min-width: 780px) { .ri411-carousel .ri411-track { grid-auto-columns: calc((100% - 2 * var(--ri411-gap)) / 3); } }
@supports not (container-type: inline-size) {
  @media (min-width: 650px) { .ri411-carousel .ri411-track { grid-auto-columns: calc((100% - var(--ri411-gap)) / 2); } }
  @media (min-width: 1100px) { .ri411-carousel .ri411-track { grid-auto-columns: calc((100% - 2 * var(--ri411-gap)) / 3); } }
}
@media (max-width: 420px) { .ri411-carousel .ri411-heading { align-items: flex-start; flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { .ri411-card { transition: none !important; } }
@media print {
  .ri411-carousel .ri411-track { display: grid; grid-auto-flow: row; grid-template-columns: repeat(2, 1fr); overflow: visible; }
  .ri411-carousel .ri411-controls { display: none !important; }
}
