/* ======================================================================
   Shared accessible-slick overrides
   Scoped to .page-section for specificity over library defaults.

   Layout: arrows + dots on one line below slides.
   Colors: all elements use var(--ctx-fg) — adapts to background context.
   ====================================================================== */


/* Reserve space for nav bar below slides - or not - adjust as needed */
.page-section .slick-slider {
    margin-bottom: 0;
    padding-bottom: 48px;
}


/* ----------------------------------------------------------------------
   Arrows — CSS border chevrons (no SVG, inherits --ctx-fg)
   ---------------------------------------------------------------------- */

.page-section .slick-prev,
.page-section .slick-next {
    position: absolute;
    top: auto;
    bottom: -8px;
    transform: none;
    width: 32px;
    height: 32px;
    z-index: 10;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

.page-section .slick-prev { left: 0; }
.page-section .slick-next { right: 0; }

/* Kill ALL pseudo/icon defaults from accessible-slick */
.page-section .slick-prev:before,
.page-section .slick-next:before,
.page-section .slick-prev-icon:before,
.page-section .slick-next-icon:before {
    content: none;
}

/* Chevron shape via CSS borders on the icon span */
.page-section .slick-prev-icon,
.page-section .slick-next-icon {
    display: block;
    width: 16px;
    height: 16px;
    margin: 0 auto;
    border-style: solid;
    border-color: var(--ctx-fg, #0b3b5b);
    border-width: 0 5px 5px 0;
    background: none;
    opacity: .5;
    font-size: 0;
    transition: opacity .2s;
	
	border-radius: 2px;
}

/* Prev: rotate to point left */
.page-section .slick-prev-icon {
    transform: rotate(135deg);
    margin-left: 4px;
}

/* Next: rotate to point right */
.page-section .slick-next-icon {
    transform: rotate(-45deg);
    margin-right: 4px;
}

/* Prevent accessible-slick's margin shift on focus/active */
.page-section .slick-prev:focus .slick-prev-icon,
.page-section .slick-prev:active .slick-prev-icon {
    margin-left: 4px;
}

.page-section .slick-next:focus .slick-next-icon,
.page-section .slick-next:active .slick-next-icon {
    margin-right: 4px;
    margin-left: auto;
}

/* Hover/focus */
.page-section .slick-prev:hover .slick-prev-icon,
.page-section .slick-prev:focus .slick-prev-icon,
.page-section .slick-next:hover .slick-next-icon,
.page-section .slick-next:focus .slick-next-icon {
    opacity: 1;
}

/* Disabled */
.page-section .slick-prev.slick-disabled .slick-prev-icon,
.page-section .slick-next.slick-disabled .slick-next-icon {
    opacity: .2;
}







/* ----------------------------------------------------------------------
   Dots
   ---------------------------------------------------------------------- */

.page-section .slick-dots {
    position: absolute;
    bottom: 0px;
    left: 0;
    right: 0;
    width: auto;
	height: auto;
    margin: 0;
    padding: 24px 0 0 0;
    list-style: none;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
}

.page-section .slick-dots li {
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
}

.page-section .slick-dots li button {
    width: 0.75rem;
    height: 0.75rem;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Kill ALL pseudo/icon defaults from accessible-slick */
.page-section .slick-dots li button:before,
.page-section .slick-dots li button .slick-dot-icon:before {
    content: none;
}

/* Dot circle on the icon span */
.page-section .slick-dots li button .slick-dot-icon {
    display: block;
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
    background: var(--ctx-fg, #0b3b5b);
    opacity: .25;
    font-size: 0;
    transition: opacity .2s;
}

/* Active dot */
.page-section .slick-dots li.slick-active button .slick-dot-icon {
    opacity: .75;
}

/* Hover/focus dot */
.page-section .slick-dots li button:hover .slick-dot-icon,
.page-section .slick-dots li button:focus .slick-dot-icon {
    opacity: .75;
}
