/* ============================================================
   WCAG 2.1 AA ACCESSIBILITY STYLES
   ============================================================ */

/* Skip to main content link (WCAG 2.4.1) */
.skip-to-content {
    position: absolute;
    top: -100%;
    left: 50%;
    transform: translateX(-50%);
    background: #1a1a6e;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    padding: 0.75rem 1.5rem;
    border-radius: 0 0 4px 4px;
    z-index: 99999;
    text-decoration: none;
    transition: top 0.2s;
    white-space: nowrap;
}
.skip-to-content:focus {
    top: 0;
    outline:0px solid #ffbf00;
    outline-offset:0px;
}

/* Screen-reader only utility (WCAG 1.3.1) */
.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;
}

/* Visible focus indicator for all interactive elements (WCAG 2.4.7 / 2.4.11) */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 0px solid #ffbf00;
    outline-offset: 3px;
    border-radius: 2px;
}

/* Ensure focus is never completely hidden even without :focus-visible support */
a:focus,
button:focus,
[role="button"]:focus,
input:focus,
select:focus,
textarea:focus,
[tabindex]:focus {
    outline:none;
}

/* Override any theme-level outline suppression on focusable elements */
.nav-menu a:focus,
.nav-menu a:focus-visible,
.header-top-links a:focus,
.header-top-links a:focus-visible,
.footer a:focus,
.footer a:focus-visible {
    outline:none;
}

/* Carousel: hide focusable items inside hidden slides from keyboard */
.carousel-slide[aria-hidden="true"] a,
.carousel-slide[aria-hidden="true"] button,
.carousel-slide[aria-hidden="true"] [tabindex] {
    visibility: hidden;
    pointer-events: none;
}

/* Video slides: cursor + focus ring for keyboard-accessible [role=button] */
.video-slide[role="button"] {
    cursor: pointer;
}
.video-slide[role="button"]:focus-visible {
    outline:0px solid #ffbf00;
    outline-offset:0px;
    border-radius:0px;
}

/* Play button focus ring (inside video blocks) */
.play-button:focus-visible {
    outline: 0px solid #ffbf00;
    outline-offset:0px;
}

/* Dropdown / submenu: position relative for proper focus management */
.nav-menu li .dropdown-menu,
.nav-menu li .sub-menu {
    /* Only visible when parent is .open */
}
.nav-menu li:not(.open) > .dropdown-menu,
.nav-menu li:not(.open) > .sub-menu {
    display: none;
}
.nav-menu li.open > .dropdown-menu,
.nav-menu li.open > .sub-menu {
    display: block;
}

/* Carousel disabled button (opacity cue for sighted, aria-disabled for AT) */
.carousel-prev.disabled,
.carousel-next.disabled {
    opacity: 0.35;
}

/* Ensure #main-content outline is invisible but still targetable via skip link */
#main-content:focus {
    outline: none;
}

/* ============================================================
   END ACCESSIBILITY STYLES
   ============================================================ */

/* Editor styles for carousel blocks */
.editor-styles-wrapper [data-type="acf/carousel-block"] {
    border: 2px dashed #ccc;
    border-radius: 8px;
    padding: 10px;
}

/* Editor override: prevent compiled frontend flex from affecting editor root and causing horizontal scroll */
.editor-styles-wrapper .wp-block-acf-carousel-block,
.editor-styles-wrapper .wp-block-acf-partners-block {
    display: block !important;
    overflow: visible !important;
    width: 100% !important;
}

/* Stronger editor-scoped fixes for carousel to eliminate horizontal scrollbar */
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-wrapper {
    /* Allow horizontal scrolling in the editor so all slides remain reachable */
    overflow-x: auto !important;
    overflow-y: visible !important;
    width: 100% !important;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
}

.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide {
    min-width:140px !important;
    max-width: 33.33% !important;
}

.editor-styles-wrapper [data-type="acf/carousel-block"] > .acf-block-component > .acf-block-body > .acf-block-preview,
.editor-styles-wrapper [data-type="acf/carousel-block"] > .acf-block-component > .acf-block-body {
    width: 100%;
}

.editor-styles-wrapper .carousel-section {
    width: 100%;
}

/* Carousel track - make InnerBlocks area flex
   - For carousel block: show slides in a single row (no wrap) so editor preview matches frontend
   - For partners block: show wrapped grid for easier editing (handled below)
*/
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-track > .block-editor-inner-blocks,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-track > .block-editor-inner-blocks > .block-editor-block-list__layout {
    display: flex;
    flex-wrap: nowrap;
    gap: 20px;
    width: 100%;
    min-height: 100px;
}

/* Each carousel item in editor */
.editor-styles-wrapper [data-type="acf/carousel-item"] {
    flex-shrink: 0;
    width: 100% !important;
    max-width: 100% !important;
}

.editor-styles-wrapper .carousel-slide {
    width: 100% !important;
}

.editor-styles-wrapper .carousel-slide-inner {
    min-height: 200px;
    min-width: 150px;
}

/* Inner blocks inside carousel item - make sure inserter is visible */
.editor-styles-wrapper .carousel-item-content .block-editor-inner-blocks {
    min-height: 150px;
}

.editor-styles-wrapper .carousel-item-content .block-editor-block-list__layout {
    min-height: 100px;
}

/* Show block appender button inside carousel item */
.editor-styles-wrapper .carousel-item-content .block-list-appender {
    display: flex !important;
    justify-content: center;
    padding: 20px;
}

.editor-styles-wrapper .carousel-item-content .block-editor-inserter {
    display: block !important;
}

/* Style text inside carousel items for visibility */
.editor-styles-wrapper .carousel-item-content .block-editor-rich-text__editable {
    color: inherit;
}

/* Frontend styles for columns inside carousel slides */
.carousel-slide .wp-block-columns,
.carousel-slide .wp-block-group.columns {
    display: flex;
    gap: 1rem;
    align-items: stretch;
    width: 100%;
}

.carousel-slide .wp-block-column {
    flex: 1 1 0;
    min-width: 0; /* allow flex children to shrink properly */
}

.carousel-slide .wp-block-column > * {
    /* ensure inner content fills column and keeps spacing */
    width: 100%;
    box-sizing: border-box;
}

/* Columns order helpers (used by backend dropdown + frontend) */
.is-reverse-desktop {
    flex-direction: row-reverse;
}

.is-reverse-mobile {
    flex-direction: column-reverse;
}

.is-reverse-both {
    flex-direction: column-reverse;
}

@media (min-width: 768px) {
    .is-reverse-mobile {
        flex-direction: row;
    }

    .is-reverse-both {
        flex-direction: row-reverse;
    }
}

/* Backend/editor visual parity for Columns block */
.editor-styles-wrapper .wp-block-columns.is-reverse-desktop {
    flex-direction: row-reverse !important;
}

.editor-styles-wrapper .wp-block-columns.is-reverse-mobile {
    flex-direction: column-reverse !important;
}

.editor-styles-wrapper .wp-block-columns.is-reverse-both {
    flex-direction: column-reverse !important;
}

@media (min-width: 768px) {
    .editor-styles-wrapper .wp-block-columns.is-reverse-mobile {
        flex-direction: row !important;
    }

    .editor-styles-wrapper .wp-block-columns.is-reverse-both {
        flex-direction: row-reverse !important;
    }
}

/* Smaller gaps when carousel shows multiple columns on narrow screens */
@media (max-width: 768px) {
    .carousel-slide .wp-block-columns {
        gap: 0.75rem;
        flex-direction: column;
    }
    .main-nav{
        display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
 }
 body.menu-open{
    overflow-y:hidden
 }
 .mobile-menu-secondary{
    margin: 0 0 50px 30px;
 }
}

/* Some visual spacing inside slide content on frontend */
.carousel-slide .carousel-item-content {
    padding:0;
    height: 100%;
}

/* Header menu About toggle styles */
.nav-menu li { position: relative; }
.nav-menu li .menu-toggle-arrow {
    background: transparent;
    border: none;
    color: inherit;
    margin-left: 6px;
    padding: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.nav-menu li .menu-toggle-arrow i { transition: transform .18s ease; }
.nav-menu li.open > .menu-toggle-arrow i { transform: rotate(180deg); }

/* Editor-only: ensure original aspect ratio blocks don't retain fixed heights from ratio switching */
/* Even more specific override for 'Original' aspect ratio in editor */
.editor-styles-wrapper [data-wstheme-original-ratio-fix="1"],
.editor-styles-wrapper [data-wstheme-original-ratio-fix="1"] img,
.editor-styles-wrapper [data-wstheme-original-ratio-fix="1"] .wp-block-cover__image-background {
    height: auto !important;
    min-height: unset !important;
    max-height: unset !important;
    aspect-ratio: unset !important;
    max-width: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
}

/* Let Original-mode blocks (aspect-ratio: auto) render at their natural height */
.editor-styles-wrapper .wp-block-cover[style*="aspect-ratio: auto"],
.editor-styles-wrapper .wp-block-image[style*="aspect-ratio: auto"] {
    height: auto !important;
    min-height: unset !important;
    max-height: none !important;
}

/* Apply min-height only to cover blocks that have NO explicit aspect-ratio set */
.editor-styles-wrapper .wp-block-cover:not([style*="aspect-ratio:"]),
.editor-styles-wrapper .wp-block-cover-image:not([style*="aspect-ratio:"]) {
    min-height: 430px !important;
}


.wp-block-acf-carousel-item{
    height: 100%;
}

.carousel-slide .wp-block-columns{
    height: 100%;
}

/* Keep carousel item images equal size (exclude partner logos carousel) */
.carousel-section:not(.partners-section) .carousel-item-content .wp-block-image,
.carousel-section:not(.partners-section) .carousel-item-content figure {
    margin: 0;
    overflow: hidden;
}

.carousel-section:not(.partners-section) .carousel-item-content .wp-block-cover {
    margin: 0;
    min-height: 0 !important;
}

.carousel-section:not(.partners-section) .carousel-item-content .wp-block-image img,
.carousel-section:not(.partners-section) .carousel-item-content figure img,
.carousel-section:not(.partners-section) .carousel-item-content > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}

.carousel-section:not(.partners-section) .carousel-item-content .wp-block-cover__image-background,
.carousel-section:not(.partners-section) .carousel-item-content .wp-block-cover img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

/* Strong fallback: lock carousel media to equal height across all items */
.carousel-section:not(.partners-section) .carousel-item-content > .wp-block-image,
.carousel-section:not(.partners-section) .carousel-item-content > figure,
.carousel-section:not(.partners-section) .carousel-item-content > .wp-block-cover {
    height: var(--carousel-image-height, 220px) !important;
    min-height: var(--carousel-image-height, 220px) !important;
    max-height: var(--carousel-image-height, 220px) !important;
    overflow: hidden;
    margin: 0 !important;
}

.carousel-section:not(.partners-section) .carousel-item-content > .wp-block-image img,
.carousel-section:not(.partners-section) .carousel-item-content > figure img,
.carousel-section:not(.partners-section) .carousel-item-content > .wp-block-cover .wp-block-cover__image-background,
.carousel-section:not(.partners-section) .carousel-item-content > .wp-block-cover img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Also enforce selected image height when media is nested inside columns/groups */
.carousel-section:not(.partners-section) .carousel-item-content .wp-block-columns .wp-block-column > .wp-block-image,
.carousel-section:not(.partners-section) .carousel-item-content .wp-block-columns .wp-block-column > figure,
.carousel-section:not(.partners-section) .carousel-item-content .wp-block-columns .wp-block-column > .wp-block-cover,
.carousel-section:not(.partners-section) .carousel-item-content .wp-block-group .wp-block-image,
.carousel-section:not(.partners-section) .carousel-item-content .wp-block-group figure,
.carousel-section:not(.partners-section) .carousel-item-content .wp-block-group .wp-block-cover {
    height: var(--carousel-image-height, 220px) !important;
    min-height: var(--carousel-image-height, 220px) !important;
    max-height: var(--carousel-image-height, 220px) !important;
    overflow: hidden;
}

.carousel-section:not(.partners-section) .carousel-item-content .wp-block-columns .wp-block-image img,
.carousel-section:not(.partners-section) .carousel-item-content .wp-block-columns figure img,
.carousel-section:not(.partners-section) .carousel-item-content .wp-block-columns .wp-block-cover .wp-block-cover__image-background,
.carousel-section:not(.partners-section) .carousel-item-content .wp-block-columns .wp-block-cover img,
.carousel-section:not(.partners-section) .carousel-item-content .wp-block-group .wp-block-image img,
.carousel-section:not(.partners-section) .carousel-item-content .wp-block-group figure img,
.carousel-section:not(.partners-section) .carousel-item-content .wp-block-group .wp-block-cover .wp-block-cover__image-background,
.carousel-section:not(.partners-section) .carousel-item-content .wp-block-group .wp-block-cover img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Override Gutenberg inline height:auto on carousel media */
.carousel-section:not(.partners-section) .carousel-item-content img[style*="height: auto"],
.carousel-section:not(.partners-section) .carousel-item-content .wp-block-cover__image-background[style*="height: auto"] {
    height: 100% !important;
}

/* Backend/editor parity: enforce equal media heights including Gutenberg resizable wrappers */
.editor-styles-wrapper .carousel-section:not(.partners-section) .carousel-item-content .wp-block-image,
.editor-styles-wrapper .carousel-section:not(.partners-section) .carousel-item-content figure,
.editor-styles-wrapper .carousel-section:not(.partners-section) .carousel-item-content .wp-block-cover {
    height: var(--carousel-image-height, 220px) !important;
    min-height: var(--carousel-image-height, 220px) !important;
    max-height: var(--carousel-image-height, 220px) !important;
    overflow: hidden;
}

.editor-styles-wrapper .carousel-section:not(.partners-section) .carousel-item-content .wp-block-image .components-resizable-box__container,
.editor-styles-wrapper .carousel-section:not(.partners-section) .carousel-item-content .wp-block-image .components-resizable-box__container img,
.editor-styles-wrapper .carousel-section:not(.partners-section) .carousel-item-content .wp-block-image img,
.editor-styles-wrapper .carousel-section:not(.partners-section) .carousel-item-content figure img,
.editor-styles-wrapper .carousel-section:not(.partners-section) .carousel-item-content .wp-block-cover .wp-block-cover__image-background,
.editor-styles-wrapper .carousel-section:not(.partners-section) .carousel-item-content .wp-block-cover img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Make sure slides shrink nicely inside track */
.carousel-slide {
    box-sizing: border-box;
}
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide {
    min-width:300px !important;
    flex: 0 0 auto !important;
   
}

/* Strong backend fallback: force equal media heights for any image/cover in carousel slides */
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-image,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide figure.wp-block-image,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-cover,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-post-featured-image,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-image .components-resizable-box__container {
    height: var(--carousel-image-height, 220px) !important;
    min-height: var(--carousel-image-height, 220px) !important;
    max-height: var(--carousel-image-height, 220px) !important;
    overflow: hidden !important;
}

.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-image img,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide figure.wp-block-image img,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-cover img,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-cover .wp-block-cover__image-background,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-image .components-resizable-box__container img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Optional per-image height override classes from backend sidebar */
.carousel-section .carousel-item-content .wp-block-image[class*="carousel-img-h-"],
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-image[class*="carousel-img-h-"] {
    overflow: hidden;
}

.carousel-img-h-180 { --carousel-img-selected-height: 180px; }
.carousel-img-h-200 { --carousel-img-selected-height: 200px; }
.carousel-img-h-220 { --carousel-img-selected-height: 220px; }
.carousel-img-h-240 { --carousel-img-selected-height: 240px; }
.carousel-img-h-260 { --carousel-img-selected-height: 260px; }
.carousel-img-h-280 { --carousel-img-selected-height: 280px; }
.carousel-img-h-300 { --carousel-img-selected-height: 300px; }
.carousel-img-h-340 { --carousel-img-selected-height: 340px; }
.carousel-img-h-380 { --carousel-img-selected-height: 380px; }
.carousel-img-h-420 { --carousel-img-selected-height: 420px; }

/* High-specificity override so chosen image height wins over generic slide defaults */
.carousel-section:not(.partners-section) .carousel-item-content .wp-block-columns .wp-block-column > .wp-block-image[class*="carousel-img-h-"],
.carousel-section:not(.partners-section) .carousel-item-content .wp-block-columns .wp-block-column > figure[class*="carousel-img-h-"],
.carousel-section:not(.partners-section) .carousel-item-content > .wp-block-image[class*="carousel-img-h-"],
.carousel-section:not(.partners-section) .carousel-item-content > figure[class*="carousel-img-h-"] {
    height: var(--carousel-img-selected-height, var(--carousel-image-height, 220px)) !important;
    min-height: var(--carousel-img-selected-height, var(--carousel-image-height, 220px)) !important;
    max-height: var(--carousel-img-selected-height, var(--carousel-image-height, 220px)) !important;
}

.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-columns .wp-block-column > .wp-block-image[class*="carousel-img-h-"],
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-columns .wp-block-column > figure[class*="carousel-img-h-"],
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide > .wp-block-image[class*="carousel-img-h-"],
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide > figure[class*="carousel-img-h-"] {
    height: var(--carousel-img-selected-height, var(--carousel-image-height, 220px)) !important;
    min-height: var(--carousel-img-selected-height, var(--carousel-image-height, 220px)) !important;
    max-height: var(--carousel-img-selected-height, var(--carousel-image-height, 220px)) !important;
}

.carousel-section .carousel-item-content .wp-block-image.carousel-img-h-180,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-image.carousel-img-h-180 { height: 180px !important; min-height: 180px !important; max-height: 180px !important; }
.carousel-section .carousel-item-content .wp-block-image.carousel-img-h-200,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-image.carousel-img-h-200 { height: 200px !important; min-height: 200px !important; max-height: 200px !important; }
.carousel-section .carousel-item-content .wp-block-image.carousel-img-h-220,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-image.carousel-img-h-220 { height: 220px !important; min-height: 220px !important; max-height: 220px !important; }
.carousel-section .carousel-item-content .wp-block-image.carousel-img-h-240,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-image.carousel-img-h-240 { height: 240px !important; min-height: 240px !important; max-height: 240px !important; }
.carousel-section .carousel-item-content .wp-block-image.carousel-img-h-260,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-image.carousel-img-h-260 { height: 260px !important; min-height: 260px !important; max-height: 260px !important; }
.carousel-section .carousel-item-content .wp-block-image.carousel-img-h-280,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-image.carousel-img-h-280 { height: 280px !important; min-height: 280px !important; max-height: 280px !important; }
.carousel-section .carousel-item-content .wp-block-image.carousel-img-h-300,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-image.carousel-img-h-300 { height: 300px !important; min-height: 300px !important; max-height: 300px !important; }
.carousel-section .carousel-item-content .wp-block-image.carousel-img-h-340,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-image.carousel-img-h-340 { height: 340px !important; min-height: 340px !important; max-height: 340px !important; }
.carousel-section .carousel-item-content .wp-block-image.carousel-img-h-380,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-image.carousel-img-h-380 { height: 380px !important; min-height: 380px !important; max-height: 380px !important; }
.carousel-section .carousel-item-content .wp-block-image.carousel-img-h-420,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-image.carousel-img-h-420 { height: 420px !important; min-height: 420px !important; max-height: 420px !important; }

.carousel-section .carousel-item-content .wp-block-image[class*="carousel-img-h-"] img,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-image[class*="carousel-img-h-"] img,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-image[class*="carousel-img-h-"] .components-resizable-box__container,
.editor-styles-wrapper [data-type="acf/carousel-block"] .carousel-slide .wp-block-image[class*="carousel-img-h-"] .components-resizable-box__container img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
/* Arrow disabled state */
.carousel-prev.disabled,
.carousel-next.disabled {
    opacity: 0.2;
}

.partners-section .carousel-wrapper {
    width: 100%;
}

.partners-section .carousel-track {
    user-select: none;
}

.partners-section .carousel-track img,
.partners-section .carousel-track a {
    -webkit-user-drag: none;
    pointer-events: none;
}

.partners-section .carousel-wrapper > .overflow-hidden {
    overflow: hidden !important;
    width: 100%;
}

/* Make ACF wrapper divs transparent to flex layout so .carousel-slide elements
   become direct flex children — fixes slide counting, widths, and overflow clipping */
.partners-section .carousel-track > .wp-block-acf-partner-item,
.partners-section .carousel-track > .wp-block-acf-partners-block {
    display: contents;
}

.partners-section .carousel-slide-inner {
    overflow: visible;
}

.partners-section .carousel-item-content {
    padding: 4px 8px;
}

.partners-section .carousel-item-content img {
    max-width: 100%;
    display: block;
    margin: 0 auto;
}

.partners-section .carousel-item-content figure {
    margin: 0;
    line-height: 0;
}

/* Partners carousel: image alignment = logo fill within slide
   alignnone  → natural size, centered
   alignwide  → stretch to fill slide width
   alignfull  → same as wide (no viewport breakout inside carousel) */
.partners-section .carousel-item-content .wp-block-image.alignwide,
.partners-section .carousel-item-content .wp-block-image.alignfull {
    width: 100%;
    max-width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.partners-section .carousel-item-content .wp-block-image.alignwide img,
.partners-section .carousel-item-content .wp-block-image.alignfull img {
    width: 100% !important;
    max-width: 100%;
    height: auto;
    margin: 0;
}

/* Editor parity: same behavior in block editor preview */
.editor-styles-wrapper [data-type="acf/partner-item"] .carousel-item-content .wp-block-image.alignwide,
.editor-styles-wrapper [data-type="acf/partner-item"] .carousel-item-content .wp-block-image.alignfull {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.editor-styles-wrapper [data-type="acf/partner-item"] .carousel-item-content .wp-block-image.alignwide img,
.editor-styles-wrapper [data-type="acf/partner-item"] .carousel-item-content .wp-block-image.alignfull img {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
}

.partners-section .carousel-item-content .wp-block-columns {
    margin: 0;
    gap: 0;
}

.partners-section .carousel-item-content .wp-block-column {
    display: flex;
    align-items: center;
    justify-content: center;
}

.partners-section .carousel-track {
    align-items: center;
}

/* Mobile: force 3 logos visible regardless of JS column calculation */
@media (max-width: 767px) {
    .partners-section .carousel-slide {
        width: calc((100% - 16px) / 3) !important;
        min-width: calc((100% - 16px) / 3) !important;
        flex-shrink: 0 !important;
    }
    .partners-section .carousel-track > .wp-block-acf-partners-block {
        width: calc((100% - 16px) / 3) !important;
        min-width: calc((100% - 16px) / 3) !important;
        flex-shrink: 0 !important;
        max-width: calc((100% - 16px) / 3) !important;
    }
    .partners-section .carousel-item-content img {
        max-height: 60px;
    }
}

/* Tablet: 4 logos */
@media (min-width: 768px) and (max-width: 1024px) {
    .partners-section .carousel-slide {
        width: calc((100% - 24px) / 4) !important;
        min-width: calc((100% - 24px) / 4) !important;
        flex-shrink: 0 !important;
    }
}

/* Editor: show multiple partner items per row for easier editing */
.editor-styles-wrapper [data-type="acf/partners-block"] .carousel-track > .block-editor-inner-blocks,
.editor-styles-wrapper [data-type="acf/partners-block"] .carousel-track > .block-editor-inner-blocks > .block-editor-block-list__layout {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
}

.block-editor-block-list__layout.is-root-container > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
     margin:0 auto 1.75em auto !important;
     max-width:580px !important
}

.block-editor-block-list__layout.is-root-container > .alignwide, .block-editor-block-list__block.wp-block .has-child-selected .alignwide {
    max-width: 1240px !important;
    margin:0 auto 1.75em auto !important;
}

.block-editor-block-list__layout.is-root-container > .alignfull{
   max-width:90% !important; 
     margin:0 auto 1.75em auto !important;
}


.editor-styles-wrapper [data-type="acf/partners-block"] .carousel-slide {
    /* default preview: 4 items per row - use exact calc to avoid overflow */
    width: calc((100% - 60px) / 4) !important;
    max-width: calc((100% - 60px) / 4) !important;
    box-sizing: border-box;
}

.editor-styles-wrapper [data-type="acf/partners-block"] .carousel-item-content {
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.news-detail .wp-block-columns{max-width: 100%;margin:0px;}
.news-detail .wp-block-columns .is-text-column{padding:30px 0}


@media (max-width: 800px) {
    .editor-styles-wrapper [data-type="acf/partners-block"] .carousel-slide {
        width: calc((100% - 20px) / 2) !important;
        max-width: calc((100% - 20px) / 2) !important;
    }
}

@media (max-width: 480px) {
    .editor-styles-wrapper [data-type="acf/partners-block"] .carousel-slide {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Button fill/outline hover behavior
   - If a button is filled initially (data-button-filled="true"), hover -> outlined (transparent bg) and text color matches fill
   - If a button is outlined initially (data-button-filled="false"), hover -> filled with border color and high-contrast text
*/

.carousel-wrapper .wp-block-button .wp-block-button__link[data-button-filled="true"]:hover,
.carousel-wrapper .wp-block-button .wp-block-button__link[data-button-filled="true"]:focus,
.carousel-wrapper .wp-block-button__link[data-button-filled="true"]:hover,
.carousel-wrapper .wp-block-button__link[data-button-filled="true"]:focus,
.carousel-slide .wp-block-button__link[data-button-filled="true"]:hover,
.carousel-slide .wp-block-button__link[data-button-filled="true"]:focus,
.carousel-section .wp-block-button__link[data-button-filled="true"]:hover,
.carousel-section .wp-block-button__link[data-button-filled="true"]:focus {
    color: var(--button-fill, inherit) !important;
    border-color: var(--button-fill, var(--button-border)) !important;
    border-width: 2px !important;
}

.carousel-wrapper .wp-block-button .wp-block-button__link[data-button-filled="false"]:hover,
.carousel-wrapper .wp-block-button .wp-block-button__link[data-button-filled="false"]:focus,
.carousel-wrapper .wp-block-button__link[data-button-filled="false"]:hover,
.carousel-wrapper .wp-block-button__link[data-button-filled="false"]:focus,
.carousel-slide .wp-block-button__link[data-button-filled="false"]:hover,
.carousel-slide .wp-block-button__link[data-button-filled="false"]:focus,
.carousel-section .wp-block-button__link[data-button-filled="false"]:hover,
.carousel-section .wp-block-button__link[data-button-filled="false"]:focus {
    background: var(--button-border, transparent) !important;
        background-color: var(--button-border, transparent) !important;
    color: var(--button-contrast, #fff) !important;
    border-color: var(--button-border, transparent) !important;
    border-width: 2px !important;
}

/* Global fallback: ensure any WP button with data-button-filled toggles on hover if script did run */
.wp-block-button__link[data-button-filled="true"]:hover,
.wp-block-button__link[data-button-filled="true"]:focus {
    background: #fff !important;
    color: var(--button-fill, inherit) !important;
    border-color: var(--button-fill, var(--button-border)) !important;
    border-width: 2px !important;
}
.wp-block-button__link[data-button-filled="false"]:hover,
.wp-block-button__link[data-button-filled="false"]:focus {
    background: var(--button-border, transparent) !important;
    color: var(--button-contrast, #fff) !important;
    border-color: var(--button-border, transparent) !important;
    border-width: 2px !important;
}

/* Keep a persistent 2px border on filled buttons to avoid layout jump on hover */
.wp-block-button__link[data-button-filled="true"],
.carousel-wrapper .wp-block-button__link[data-button-filled="true"],
.carousel-slide .wp-block-button__link[data-button-filled="true"],
.partners-section .wp-block-button__link[data-button-filled="true"] {
    border-width: 2px !important;
    border-style: solid !important;
    border-color: var(--button-fill) !important;
    box-sizing: border-box !important;
   
}



/* Specific rules for Gutenberg outline style buttons */
/* .wp-block-button.is-style-outline > .wp-block-button__link,
.carousel-wrapper .wp-block-button.is-style-outline > .wp-block-button__link,
.partners-section .wp-block-button.is-style-outline > .wp-block-button__link {
    background-color: transparent !important;
    color: inherit !important;
    border-color: currentColor !important;
} */
/* .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.carousel-wrapper .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.partners-section .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:focus,
.carousel-wrapper .wp-block-button.is-style-outline > .wp-block-button__link:focus,
.partners-section .wp-block-button.is-style-outline > .wp-block-button__link:focus {

    background-color: var(--button-border, currentColor) !important;
    color: var(--button-contrast, #fff) !important;
    border-color: var(--button-border, currentColor) !important;
    border-width: 2px !important;
} */

/* Nav/dot equivalents when outline style applied */
.carousel-prev.is-style-outline,
.carousel-next.is-style-outline,
.partners-section .carousel-prev.is-style-outline,
.partners-section .carousel-next.is-style-outline {
    background-color: transparent !important;
}
.carousel-prev.is-style-outline:hover,
.carousel-next.is-style-outline:hover,
.partners-section .carousel-prev.is-style-outline:hover,
.partners-section .carousel-next.is-style-outline:hover {
    background-color: var(--button-border, transparent) !important;
    color: var(--button-contrast, #fff) !important;
    border-color: var(--button-border, transparent) !important;
}


.carousel-prev[data-button-filled="false"]:hover,
.carousel-next[data-button-filled="false"]:hover,
.carousel-dots .dot[data-button-filled="false"]:hover,
.carousel-dots button[data-button-filled="false"]:hover {
    background: var(--button-border, transparent) !important;
        background-color: var(--button-border, transparent) !important;
    color: var(--button-contrast, #fff) !important;
    border-color: var(--button-border, transparent) !important;
    border-width: 2px !important;
}

/* Play button: when hovering a slide or featured thumbnail, make the play button lime */
.video-slide:hover .play-button,
.video-slide:focus-within .play-button,
.featured-video:hover .play-button,
.featured-video:focus-within .play-button {
    background-color: #84cc16 !important; /* lime-500 */
    color: #fff !important;
}



/* .block-editor-block-list__block.alignwide{
    width:780px !important;
    margin: auto !important;
}

.block-editor-block-list__block.alignfull{
    width:1180px !important; 
    margin: auto !important;
} */
.wp-admin .block-editor-block-list__block.alignfull{
    width:auto !important;
    margin: auto !important;
}

/* Small width (580px) block style */
.is-style-small-width-580 {
    max-width: 580px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Alignment class for small width option (alignsmall) */
.alignsmall,
.wp-block-align-small {
    max-width: 580px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


.btn-primary .wp-block-button__link {
    background: #1e73be;
    border: 2px solid #1e73be;
    color: #fff;
}

.btn-green .wp-block-button__link {
    background: #00a859;
    border: 2px solid #00a859;
    color: #fff;
}

.btn-dark .wp-block-button__link {
    background: #222;
    border: 2px solid #222;
    color: #fff;
}

.wp-block-button .wp-block-button__link.has-white-color[data-button-filled="false"]:hover{
color: #fff !important;
background-color:transparent !important;
}

.wp-block-button .wp-block-button__link.has-white-background-color[data-button-filled="true"]:hover{
color: #fff !important;
background-color:transparent !important;
border-color: #fff !important;
}


@media screen and (max-width:767px){
    .wp-block-columns.has-background {
        gap:0px;
    }
    .is-reverse-desktop {
    flex-direction: column-reverse;
}
.wp-block-columns:not([class*="has-background"]) .is-text-column{
    padding: 0 !important;
     box-sizing: border-box;
}
.wp-block-column[class*="has-background"].is-text-column{
    padding: 30px !important;
     box-sizing: border-box;
}
.carousel-item-content .wp-block-column[class*="has-background"] .is-text-column{
     padding: 30px !important;
     box-sizing: border-box;
}
.wp-block-columns .wp-block-column .wp-block-cover{padding:30px !important}
}

/* Gutenberg columns: automatic text contrast by selected background palette color */
.editor-styles-wrapper .wp-block-column.has-blue-background-color:not(.has-text-color),
.editor-styles-wrapper .wp-block-column.has-green-dark-background-color:not(.has-text-color),
.editor-styles-wrapper .wp-block-column.has-pink-dark-background-color:not(.has-text-color),
.editor-styles-wrapper .wp-block-column.has-purple-background-color:not(.has-text-color),
.editor-styles-wrapper .wp-block-column.has-grey-background-color:not(.has-text-color),
.editor-styles-wrapper .wp-block-column.has-black-background-color:not(.has-text-color),
.wp-block-column.has-blue-background-color:not(.has-text-color),
.wp-block-column.has-green-dark-background-color:not(.has-text-color),
.wp-block-column.has-pink-dark-background-color:not(.has-text-color),
.wp-block-column.has-purple-background-color:not(.has-text-color),
.wp-block-column.has-grey-background-color:not(.has-text-color),
.wp-block-column.has-black-background-color:not(.has-text-color) {
    color: #ffffff !important;
}

.editor-styles-wrapper .wp-block-column.has-lime-background-color:not(.has-text-color),
.editor-styles-wrapper .wp-block-column.has-green-light-background-color:not(.has-text-color),
.editor-styles-wrapper .wp-block-column.has-pink-light-background-color:not(.has-text-color),
.editor-styles-wrapper .wp-block-column.has-lemon-background-color:not(.has-text-color),
.editor-styles-wrapper .wp-block-column.has-white-background-color:not(.has-text-color),
.wp-block-column.has-lime-background-color:not(.has-text-color),
.wp-block-column.has-green-light-background-color:not(.has-text-color),
.wp-block-column.has-pink-light-background-color:not(.has-text-color),
.wp-block-column.has-lemon-background-color:not(.has-text-color),
.wp-block-column.has-white-background-color:not(.has-text-color) {
    color: #242424 !important;
}

/* Force inner text to follow column contrast unless text color is explicitly set */
.editor-styles-wrapper .wp-block-column.has-blue-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.editor-styles-wrapper .wp-block-column.has-green-dark-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.editor-styles-wrapper .wp-block-column.has-pink-dark-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.editor-styles-wrapper .wp-block-column.has-purple-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.editor-styles-wrapper .wp-block-column.has-grey-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.editor-styles-wrapper .wp-block-column.has-black-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.wp-block-column.has-blue-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.wp-block-column.has-green-dark-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.wp-block-column.has-pink-dark-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.wp-block-column.has-purple-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.wp-block-column.has-grey-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.wp-block-column.has-black-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color) {
    color: #ffffff !important;
}

.editor-styles-wrapper .wp-block-column.has-lime-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.editor-styles-wrapper .wp-block-column.has-green-light-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.editor-styles-wrapper .wp-block-column.has-pink-light-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.editor-styles-wrapper .wp-block-column.has-lemon-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.editor-styles-wrapper .wp-block-column.has-white-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.wp-block-column.has-lime-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.wp-block-column.has-green-light-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.wp-block-column.has-pink-light-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.wp-block-column.has-lemon-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.wp-block-column.has-white-background-color:not(.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color) {
    color: #242424 !important;
}

/* Gutenberg can keep has-black-color on nested blocks; force readable contrast on dark columns */
.editor-styles-wrapper .wp-block-column.has-blue-background-color:not(.has-text-color) .has-black-color,
.editor-styles-wrapper .wp-block-column.has-green-dark-background-color:not(.has-text-color) .has-black-color,
.editor-styles-wrapper .wp-block-column.has-pink-dark-background-color:not(.has-text-color) .has-black-color,
.editor-styles-wrapper .wp-block-column.has-purple-background-color:not(.has-text-color) .has-black-color,
.editor-styles-wrapper .wp-block-column.has-grey-background-color:not(.has-text-color) .has-black-color,
.editor-styles-wrapper .wp-block-column.has-black-background-color:not(.has-text-color) .has-black-color,
.wp-block-column.has-blue-background-color:not(.has-text-color) .has-black-color,
.wp-block-column.has-green-dark-background-color:not(.has-text-color) .has-black-color,
.wp-block-column.has-pink-dark-background-color:not(.has-text-color) .has-black-color,
.wp-block-column.has-purple-background-color:not(.has-text-color) .has-black-color,
.wp-block-column.has-grey-background-color:not(.has-text-color) .has-black-color,
.wp-block-column.has-black-background-color:not(.has-text-color) .has-black-color {
    color: #ffffff !important;
}

/* Parent columns background -> child columns/text contrast */
.editor-styles-wrapper .wp-block-columns.has-blue-background-color:not(.has-text-color),
.editor-styles-wrapper .wp-block-columns.has-green-dark-background-color:not(.has-text-color),
.editor-styles-wrapper .wp-block-columns.has-pink-dark-background-color:not(.has-text-color),
.editor-styles-wrapper .wp-block-columns.has-purple-background-color:not(.has-text-color),
.editor-styles-wrapper .wp-block-columns.has-grey-background-color:not(.has-text-color),
.editor-styles-wrapper .wp-block-columns.has-black-background-color:not(.has-text-color),
.wp-block-columns.has-blue-background-color:not(.has-text-color),
.wp-block-columns.has-green-dark-background-color:not(.has-text-color),
.wp-block-columns.has-pink-dark-background-color:not(.has-text-color),
.wp-block-columns.has-purple-background-color:not(.has-text-color),
.wp-block-columns.has-grey-background-color:not(.has-text-color),
.wp-block-columns.has-black-background-color:not(.has-text-color) {
    color: #ffffff !important;
}

.editor-styles-wrapper .wp-block-columns.has-lime-background-color:not(.has-text-color),
.editor-styles-wrapper .wp-block-columns.has-green-light-background-color:not(.has-text-color),
.editor-styles-wrapper .wp-block-columns.has-pink-light-background-color:not(.has-text-color),
.editor-styles-wrapper .wp-block-columns.has-lemon-background-color:not(.has-text-color),
.editor-styles-wrapper .wp-block-columns.has-white-background-color:not(.has-text-color),
.wp-block-columns.has-lime-background-color:not(.has-text-color),
.wp-block-columns.has-green-light-background-color:not(.has-text-color),
.wp-block-columns.has-pink-light-background-color:not(.has-text-color),
.wp-block-columns.has-lemon-background-color:not(.has-text-color),
.wp-block-columns.has-white-background-color:not(.has-text-color) {
    color: #242424 !important;
}

.editor-styles-wrapper .wp-block-columns.has-background:not(.has-text-color) .wp-block-column,
.editor-styles-wrapper .wp-block-columns.has-background:not(.has-text-color) .wp-block-column :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color),
.wp-block-columns.has-background:not(.has-text-color) .wp-block-column,
.wp-block-columns.has-background:not(.has-text-color) .wp-block-column :where(h1, h2, h3, h4, h5, h6, p, li, span, a):not(.has-text-color) {
    color: inherit !important;
}

/* Remove visible borders on dark background columns */
.editor-styles-wrapper .wp-block-column.has-blue-background-color,
.editor-styles-wrapper .wp-block-column.has-green-dark-background-color,
.editor-styles-wrapper .wp-block-column.has-pink-dark-background-color,
.editor-styles-wrapper .wp-block-column.has-purple-background-color,
.editor-styles-wrapper .wp-block-column.has-grey-background-color,
.editor-styles-wrapper .wp-block-column.has-black-background-color,
.wp-block-column.has-blue-background-color,
.wp-block-column.has-green-dark-background-color,
.wp-block-column.has-pink-dark-background-color,
.wp-block-column.has-purple-background-color,
.wp-block-column.has-grey-background-color,
.wp-block-column.has-black-background-color {
    border-width: 0 !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

/* Keep border visible on light background columns */


/* White background columns: force readable dark text */
.editor-styles-wrapper .wp-block-column.has-white-background-color,
.editor-styles-wrapper .wp-block-column.has-white-background-color :where(h1, h2, h3, h4, h5, h6, p, li, span, a, strong, em):not(.has-text-color),
.editor-styles-wrapper .wp-block-column.has-white-background-color .has-white-color,
.wp-block-column.has-white-background-color,
.wp-block-column.has-white-background-color :where(h1, h2, h3, h4, h5, h6, p, li, span, a, strong, em):not(.has-text-color),
.wp-block-column.has-white-background-color .has-white-color {
    color: #242424 !important;
}



/* Generic rule: if text is set to white on a non-dark background column, force readable dark text */
.editor-styles-wrapper .wp-block-column.has-background.has-white-color:not(.has-blue-background-color):not(.has-green-dark-background-color):not(.has-pink-dark-background-color):not(.has-purple-background-color):not(.has-grey-background-color):not(.has-black-background-color):not(.has-pink-light-background-color):not(.has-green-light-background-color):not(.has-lime-background-color),
.editor-styles-wrapper .wp-block-column.has-background.has-white-color:not(.has-blue-background-color):not(.has-green-dark-background-color):not(.has-pink-dark-background-color):not(.has-purple-background-color):not(.has-grey-background-color):not(.has-black-background-color):not(.has-pink-light-background-color):not(.has-green-light-background-color):not(.has-lime-background-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a, strong, em),
.wp-block-column.has-background.has-white-color:not(.has-blue-background-color):not(.has-green-dark-background-color):not(.has-pink-dark-background-color):not(.has-purple-background-color):not(.has-grey-background-color):not(.has-black-background-color),
.wp-block-column.has-background.has-white-color:not(.has-blue-background-color):not(.has-green-dark-background-color):not(.has-pink-dark-background-color):not(.has-purple-background-color):not(.has-grey-background-color):not(.has-black-background-color):not(.has-pink-light-background-color):not(.has-green-light-background-color):not(.has-lime-background-color) :where(h1, h2, h3, h4, h5, h6, p, li, span, a, strong, em) {
    color: #242424 !important;
}

/* .editor-styles-wrapper .wp-block-columns.has-blue-background-color:not(.has-text-color) .has-black-color,
.editor-styles-wrapper .wp-block-columns.has-green-dark-background-color:not(.has-text-color) .has-black-color,
.editor-styles-wrapper .wp-block-columns.has-pink-dark-background-color:not(.has-text-color) .has-black-color,
.editor-styles-wrapper .wp-block-columns.has-purple-background-color:not(.has-text-color) .has-black-color,
.editor-styles-wrapper .wp-block-columns.has-grey-background-color:not(.has-text-color) .has-black-color,
.editor-styles-wrapper .wp-block-columns.has-black-background-color:not(.has-text-color) .has-black-color,
.wp-block-columns.has-blue-background-color:not(.has-text-color) .has-black-color,
.wp-block-columns.has-green-dark-background-color:not(.has-text-color) .has-black-color,
.wp-block-columns.has-pink-dark-background-color:not(.has-text-color) .has-black-color,
.wp-block-columns.has-purple-background-color:not(.has-text-color) .has-black-color,
.wp-block-columns.has-grey-background-color:not(.has-text-color) .has-black-color,
.wp-block-columns.has-black-background-color:not(.has-text-color) .has-black-color {
    color: #ffffff !important;
} */

.has-white-background-color{
    border: solid 2px rgba(0,0,0,0.08) !important;
}




/* Respect explicit Gutenberg button text color selections from sidebar */
.editor-styles-wrapper .wp-block-button__link.has-blue-color,
.wp-block-button__link.has-blue-color { color: var(--wp--preset--color--blue) !important; }

.editor-styles-wrapper .wp-block-button__link.has-lime-color,
.wp-block-button__link.has-lime-color { color: var(--wp--preset--color--lime) !important; }

.editor-styles-wrapper .wp-block-button__link.has-green-light-color,
.wp-block-button__link.has-green-light-color { color: var(--wp--preset--color--green-light) !important; }

.editor-styles-wrapper .wp-block-button__link.has-green-dark-color,
.wp-block-button__link.has-green-dark-color { color: var(--wp--preset--color--green-dark) !important; }

.editor-styles-wrapper .wp-block-button__link.has-pink-light-color,
.wp-block-button__link.has-pink-light-color { color: var(--wp--preset--color--pink-light) !important; }

.editor-styles-wrapper .wp-block-button__link.has-pink-dark-color,
.wp-block-button__link.has-pink-dark-color { color: var(--wp--preset--color--pink-dark) !important; }

.editor-styles-wrapper .wp-block-button__link.has-purple-color,
.wp-block-button__link.has-purple-color { color: var(--wp--preset--color--purple) !important; }

.editor-styles-wrapper .wp-block-button__link.has-lemon-color,
.wp-block-button__link.has-lemon-color { color: var(--wp--preset--color--lemon) !important; }

.editor-styles-wrapper .wp-block-button__link.has-grey-color,
.wp-block-button__link.has-grey-color { color: var(--wp--preset--color--grey) !important; }

.editor-styles-wrapper .wp-block-button__link.has-black-color,
.wp-block-button__link.has-black-color { color: var(--wp--preset--color--black) !important; }

.editor-styles-wrapper .wp-block-button__link.has-white-color,
.wp-block-button__link.has-white-color { color: var(--wp--preset--color--white) !important; }

/* Button size variations in editor */
.editor-styles-wrapper .wp-block-button__link {
    padding: 12px 24px;
    font-size: 16px;
}

/* Small button size (S) */
.editor-styles-wrapper .wp-block-button.is-size-small .wp-block-button__link,
.editor-styles-wrapper .wp-block-button[data-size="small"] .wp-block-button__link {
    padding: 8px 16px;
    font-size: 14px;
}

/* Medium button size (M) */
.editor-styles-wrapper .wp-block-button.is-size-medium .wp-block-button__link,
.editor-styles-wrapper .wp-block-button[data-size="medium"] .wp-block-button__link {
    padding: 12px 24px;
    font-size: 16px;
}

/* Large button size (L) */
.editor-styles-wrapper .wp-block-button.is-size-large .wp-block-button__link,
.editor-styles-wrapper .wp-block-button[data-size="large"] .wp-block-button__link {
    padding: 16px 32px;
    font-size: 18px;
}

/* XL button size - larger and more prominent */
.editor-styles-wrapper .wp-block-button.is-size-xl .wp-block-button__link,
.editor-styles-wrapper .wp-block-button[data-size="xl"] .wp-block-button__link {
    padding: 20px 40px;
    font-size: 20px;
    font-weight: 600;
}

.news-masonry {
    column-count: 1;
    column-gap: 20px;
}
@media (min-width: 640px) {
    .news-masonry { column-count: 2; }
}
@media (min-width: 1024px) {
    .news-masonry { column-count: 3; }
}

/* ============================================================
   GALLERY LIGHTBOX (Magnific Popup) — match carousel arrow style
   ============================================================ */

.mfp-arrow {
    width: 54px !important;
    height: 54px !important;
    background: transparent !important;
    opacity: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: opacity 0.2s ease !important;
}

.mfp-arrow:hover {
    opacity: 0.6 !important;
}

.mfp-arrow:before,
.mfp-arrow:after {
    display: none !important;
    border: none !important;
    content: none !important;
}

.mfp-arrow-left {
    background-image: url("data:image/svg+xml,%3Csvg width='27' height='20' viewBox='0 0 27 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.75 19.5405L1.93715e-07 9.79053L9.79063 -9.93609e-05L11.7406 1.9499L5.28125 8.40928H26.0406V11.1718H5.28125L11.7 17.5905L9.75 19.5405Z' fill='%23ffffff'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 27px 20px !important;
}

.mfp-arrow-right {
    background-image: url("data:image/svg+xml,%3Csvg width='26' height='20' viewBox='0 0 26 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.25 19.5404L14.3 17.5904L20.7188 11.1311H1.93715e-07V8.40918H20.7188L14.3 1.9498L16.2094 -0.000196397L26 9.79043L16.25 19.5404Z' fill='%23ffffff'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 26px 20px !important;
}

/* Cap image height so caption always stays visible above bottom */
.mfp-img {
    max-height: calc(100vh - 160px) !important;
    object-fit: contain !important;
}

/* ============================================================
   EVENTS ARCHIVE PAGE
   Used by page-events-archive.php
   ============================================================ */

.events-archive {
    padding-bottom: 4rem;
}

/* Year filter buttons – ensure spacing matches the live site feel */
.events-archive__filters ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Description / intro content */
.events-archive header .prose p {
    margin-bottom: 0.75rem;
    line-height: 1.6;
}

/* New design (2024+) – ensure ticket button hover sits above border */
.events-archive .event-card {
    transition: box-shadow 0.25s ease;
}
.events-archive .event-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

/* Legacy design (pre-2024) – simple, readable list */
.events-archive .legacy-event h2 {
    line-height: 1.25;
}

.events-archive .legacy-event:first-child {
    padding-top: 0;
}

/* Smooth transition between filter states */
.events-archive__filters a {
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}