/**
 * Pilot Mercury Atlas — Slide Track Gallery theme.
 *
 * Full visual replacement for the Accessible Slick upstream theme. The
 * upstream `slick-theme.css` / `accessible-slick-theme.css` is NOT loaded;
 * this file covers everything that those would have provided plus the
 * Mercury Atlas defaults:
 *   - Gallery layout overrides so core/gallery's flex layout doesn't
 *     fight slick's track transforms
 *   - Slide spacing and image sizing
 *   - Arrow buttons (chevron glyphs, edge positioning, hover/focus state)
 *   - Autoplay toggle visibility (hidden by default; theme can opt in)
 *   - Dots styling (only fires when slick dots are enabled per-init)
 *
 * Trigger classes: `is-style-slide-track` (registered block style) or
 * `make-slick` (legacy advanced class). The runtime JS is in
 * /assets/js/slick-init.js.
 *
 * Site-specific brand layers (color, custom shapes) live in child theme:
 *   jpg-ma-child-2026/assets/css/jpg-slick-track.cssa
 * ======================================================================== */


/* ------------------------------------------------------------------------
   Gallery layout — undo core/gallery's flex+wrap so slick's track owns
   the layout once it's initialized.
   ------------------------------------------------------------------------ */
.wp-block-group.is-style-slide-track.slick-slider,
.wp-block-group.make-slick.slick-slider,
.make-slick-mobile.slick-slider {
	display: block;
}

.wp-block-group.is-style-slide-track,
.wp-block-group.make-slick,
.make-slick-mobile {
	position: relative;
	overflow: visible;
}


/* ------------------------------------------------------------------------
   Track + slides — vertical centering for varying-height images.
   ------------------------------------------------------------------------ */
.wp-block-group.is-style-slide-track .slick-track,
.wp-block-group.make-slick .slick-track,
.make-slick-mobile .slick-track {
	display: flex;
	align-items: center;
}

.wp-block-group.is-style-slide-track .slick-slide,
.wp-block-group.make-slick .slick-slide,
.make-slick-mobile .slick-slide {
	box-sizing: border-box;
	padding: 0 12px;
	height: auto;
}

.wp-block-group.is-style-slide-track .slick-slide figure.wp-block-image,
.wp-block-group.make-slick .slick-slide figure.wp-block-image,
.make-slick-mobile .slick-slide figure.wp-block-image,
.wp-block-group.is-style-slide-track .slick-slide figure.wp-block-image img,
.wp-block-group.make-slick .slick-slide figure.wp-block-image img,
.make-slick-mobile .slick-slide figure.wp-block-image img {
	width: 100%;
	height: auto;
	max-width: 100%;
	margin: 0;
	display: block;
}


/* ------------------------------------------------------------------------
   Arrows — clean chevron at gallery edges. Full replacement for the
   upstream theme's arrow styling. Color picked up from `currentColor`
   so child themes can theme via `color` on the parent gallery.
   ------------------------------------------------------------------------ */
.wp-block-group.is-style-slide-track-auto .slick-prev,
.wp-block-group.is-style-slide-track .slick-prev,
.wp-block-group.is-style-slide-track-auto .slick-next,
.wp-block-group.is-style-slide-track .slick-next,
.wp-block-group.make-slick .slick-prev,
.make-slick-mobile .slick-prev,
.wp-block-group.make-slick .slick-next,
.make-slick-mobile .slick-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	padding: 0;
	border: none;
	background: transparent;
	box-shadow: none;
	border-radius: 0;
	cursor: pointer;
	font-size: 0;     /* hides any inline text content */
	line-height: 1;
	color: #315EA8;
	z-index: 2;
}

.wp-block-group.is-style-slide-track .slick-prev,
.wp-block-group.is-style-slide-track-auto .slick-prev,
.wp-block-group.make-slick .slick-prev,
.make-slick-mobile .slick-prev {
	left: -40px;
}

.wp-block-group.is-style-slide-track .slick-next,
.wp-block-group.is-style-slide-track-auto .slick-next,
.wp-block-group.make-slick .slick-next,
.make-slick-mobile .slick-next {
    right: -40px;
}

.wp-block-group.is-style-slide-track-auto .slick-prev,
.wp-block-group.make-slick .slick-prev,
.make-slick-mobile .slick-prev {
	left: -40px!important;
}

.wp-block-group.is-style-slide-track-auto .slick-next,
.wp-block-group.make-slick .slick-next,
.make-slick-mobile .slick-next {
    right: -40px!important;
}



/* Strip any nested visual content the theme might have injected (svg,
   img). Screen-reader-only spans are kept by their own selectors below. */
.wp-block-group.is-style-slide-track .slick-prev > svg,
.wp-block-group.is-style-slide-track .slick-next > svg,
.wp-block-group.is-style-slide-track .slick-prev > img,
.wp-block-group.is-style-slide-track .slick-next > img,
.wp-block-group.make-slick .slick-prev > svg,
.make-slick-mobile .slick-prev > svg,
.wp-block-group.make-slick .slick-next > svg,
.make-slick-mobile .slick-next > svg,
.wp-block-group.make-slick .slick-prev > img,
.make-slick-mobile .slick-prev > img,
.wp-block-group.make-slick .slick-next > img,
.make-slick-mobile .slick-next > img {
	display: none;
}



/* Chevron glyphs via ::before. */
.wp-block-group.is-style-slide-track .slick-prev::before,
.wp-block-group.make-slick .slick-prev::before,
.make-slick-mobile .slick-prev::before {
	content: "\2039"; /* ‹ */
	display: inline-block;
	font-family: inherit;
	font-size: 32px;
	font-weight: 300;
	line-height: .5;
	opacity: 1;
	color: inherit;
	border: 1px solid;
    border-radius: 50%;
    padding: 10px;
    width: 20px;
    height: 20px;
}

.wp-block-group.is-style-slide-track .slick-next::before,
.wp-block-group.make-slick .slick-next::before,
.make-slick-mobile .slick-next::before {
	content: "\203A"; /* › */
	display: inline-block;
	font-family: inherit;
	font-size: 32px;
	font-weight: 300;
	line-height: .5;
	opacity: 1;
	color: inherit;
		border: 1px solid;
    border-radius: 50%;
    padding: 10px;
    width: 20px;
    height: 20px;
}

.slick-next,
.slick-prev {
	margin-top: 0px;
}

/* Disabled state (slick adds .slick-disabled on the first/last when
   infinite is off). Slightly faded. */
.wp-block-group.is-style-slide-track .slick-prev.slick-disabled,
.wp-block-group.is-style-slide-track .slick-next.slick-disabled,
.wp-block-group.make-slick .slick-prev.slick-disabled,
.make-slick-mobile .slick-prev.slick-disabled,
.wp-block-group.make-slick .slick-next.slick-disabled,
.make-slick-mobile .slick-next.slick-disabled {
	opacity: 0.35;
	cursor: default;
}

/* Focus ring — keyboard-only. */
.wp-block-group.is-style-slide-track .slick-prev:focus,
.wp-block-group.is-style-slide-track .slick-next:focus,
.wp-block-group.make-slick .slick-prev:focus,
.make-slick-mobile .slick-prev:focus,
.wp-block-group.make-slick .slick-next:focus,
.make-slick-mobile .slick-next:focus {
	outline: none;
}
.wp-block-group.is-style-slide-track .slick-prev:focus-visible,
.wp-block-group.is-style-slide-track .slick-next:focus-visible,
.wp-block-group.make-slick .slick-prev:focus-visible,
.make-slick-mobile .slick-prev:focus-visible,
.wp-block-group.make-slick .slick-next:focus-visible,
.make-slick-mobile .slick-next:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}


/* ------------------------------------------------------------------------
   Screen-reader-only — preserve a11y text injected by Accessible Slick.
   ------------------------------------------------------------------------ */
.slick-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}


/* ------------------------------------------------------------------------
   Autoplay toggle — hidden by default. The slider behavior we ship
   (hover-pause + arrow-click-locks-autoplay) makes the toggle redundant.
   A theme that wants it back can override `display`.
   ------------------------------------------------------------------------ */
.wp-block-group.is-style-slide-track .slick-autoplay-toggle-button,
.wp-block-group.make-slick .slick-autoplay-toggle-button,
.make-slick-mobile .slick-autoplay-toggle-button {
	display: none;
}


/* ------------------------------------------------------------------------
   Dots — minimal default styling for when an init opts in to dots.
   ------------------------------------------------------------------------ */
.wp-block-group.is-style-slide-track .slick-dots,
.wp-block-group.make-slick .slick-dots,
.make-slick-mobile .slick-dots {
	position: relative;
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.wp-block-group.is-style-slide-track .slick-dots li,
.wp-block-group.make-slick .slick-dots li,
.make-slick-mobile .slick-dots li {
	display: inline-block;
}

.wp-block-group.is-style-slide-track .slick-dots li button,
.wp-block-group.make-slick .slick-dots li button,
.make-slick-mobile .slick-dots li button {
	display: block;
	width: 8px;
	height: 8px;
	padding: 0;
	border: 1px solid currentColor;
	border-radius: 50%;
	background: transparent;
	color: currentColor;
	font-size: 0;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.wp-block-group.is-style-slide-track .slick-dots li.slick-active button,
.wp-block-group.make-slick .slick-dots li.slick-active button,
.make-slick-mobile .slick-dots li.slick-active button {
	background: currentColor;
}


/* ------------------------------------------------------------------------
   Gallery layout — undo core/gallery's flex+wrap so slick's track owns
   the layout once it's initialized.
   ------------------------------------------------------------------------ */
.wp-block-group.is-style-slide-track-auto.slick-slider,
.wp-block-group.make-slick.slick-slider,
.make-slick-mobile.slick-slider {
	display: block;
}

.wp-block-group.is-style-slide-track-auto,
.wp-block-group.make-slick,
.make-slick-mobile {
	position: relative;
	overflow: visible;
}


/* ------------------------------------------------------------------------
   Track + slides — vertical centering for varying-height images.
   ------------------------------------------------------------------------ */
.wp-block-group.is-style-slide-track-auto .slick-track,
.wp-block-group.make-slick .slick-track,
.make-slick-mobile .slick-track {
	display: flex;
	align-items: center;
}

.wp-block-group.is-style-slide-track-auto .slick-slide,
.wp-block-group.make-slick .slick-slide,
.make-slick-mobile .slick-slide {
	box-sizing: border-box;
	padding: 0 12px;
	height: auto;
}

.wp-block-group.is-style-slide-track-auto .slick-slide figure.wp-block-image,
.wp-block-group.make-slick .slick-slide figure.wp-block-image,
.make-slick-mobile .slick-slide figure.wp-block-image,
.wp-block-group.is-style-slide-track-auto .slick-slide figure.wp-block-image img,
.wp-block-group.make-slick .slick-slide figure.wp-block-image img,
.make-slick-mobile .slick-slide figure.wp-block-image img {
	width: 100%;
	height: auto;
	max-width: 100%;
	margin: 0;
	display: block;
}


/* ------------------------------------------------------------------------
   Arrows — clean chevron at gallery edges. Full replacement for the
   upstream theme's arrow styling. Color picked up from `currentColor`
   so child themes can theme via `color` on the parent gallery.
   ------------------------------------------------------------------------ */
.wp-block-group.is-style-slide-track-auto .slick-prev,
.wp-block-group.is-style-slide-track-auto .slick-next,
.wp-block-group.make-slick .slick-prev,
.make-slick-mobile .slick-prev,
.wp-block-group.make-slick .slick-next,
.make-slick-mobile .slick-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	padding: 0;
	border: none;
	background: transparent;
	box-shadow: none;
	border-radius: 0;
	cursor: pointer;
	font-size: 0;     /* hides any inline text content */
	line-height: 1;
	color: #315EA8;
	z-index: 2;
}

.wp-block-group.is-style-slide-track-auto .slick-prev,
.wp-block-group.make-slick .slick-prev,
.make-slick-mobile .slick-prev {
	left: 40px;
}

.wp-block-group.is-style-slide-track-auto .slick-next,
.wp-block-group.make-slick .slick-next,
.make-slick-mobile .slick-next {
    right: 40px;

}

/* Strip any nested visual content the theme might have injected (svg,
   img). Screen-reader-only spans are kept by their own selectors below. */
.wp-block-group.is-style-slide-track-auto .slick-prev > svg,
.wp-block-group.is-style-slide-track-auto .slick-next > svg,
.wp-block-group.is-style-slide-track-auto .slick-prev > img,
.wp-block-group.is-style-slide-track-auto .slick-next > img,
.wp-block-group.make-slick .slick-prev > svg,
.make-slick-mobile .slick-prev > svg,
.wp-block-group.make-slick .slick-next > svg,
.make-slick-mobile .slick-next > svg,
.wp-block-group.make-slick .slick-prev > img,
.make-slick-mobile .slick-prev > img,
.wp-block-group.make-slick .slick-next > img,
.make-slick-mobile .slick-next > img {
	display: none;
}

/* Chevron glyphs via ::before. */
.wp-block-group.is-style-slide-track-auto .slick-prev::before,
.wp-block-group.make-slick .slick-prev::before,
.make-slick-mobile .slick-prev::before {
	content: "\2039"; /* ‹ */
	display: inline-block;
	font-family: inherit;
	font-size: 32px;
	font-weight: 300;
	line-height: .5;
	opacity: 1;
	color: inherit;
		border: 1px solid;
    border-radius: 50%;
    padding: 10px;
    width: 20px;
    height: 20px;
}

.wp-block-group.is-style-slide-track-auto .slick-next::before,
.wp-block-group.make-slick .slick-next::before,
.make-slick-mobile .slick-next::before {
	content: "\203A"; /* › */
	display: inline-block;
	font-family: inherit;
	font-size: 32px;
	font-weight: 300;
	line-height: .5;
	opacity: 1;
	color: inherit;
		border: 1px solid;
    border-radius: 50%;
    padding: 10px;
    width: 20px;
    height: 20px;
}

/* Disabled state (slick adds .slick-disabled on the first/last when
   infinite is off). Slightly faded. */
.wp-block-group.is-style-slide-track-auto .slick-prev.slick-disabled,
.wp-block-group.is-style-slide-track-auto .slick-next.slick-disabled,
.wp-block-group.make-slick .slick-prev.slick-disabled,
.make-slick-mobile .slick-prev.slick-disabled,
.wp-block-group.make-slick .slick-next.slick-disabled,
.make-slick-mobile .slick-next.slick-disabled {
	opacity: 0.35;
	cursor: default;
}

/* Focus ring — keyboard-only. */
.wp-block-group.is-style-slide-track-auto .slick-prev:focus,
.wp-block-group.is-style-slide-track-auto .slick-next:focus,
.wp-block-group.make-slick .slick-prev:focus,
.make-slick-mobile .slick-prev:focus,
.wp-block-group.make-slick .slick-next:focus,
.make-slick-mobile .slick-next:focus {
	outline: none;
}
.wp-block-group.is-style-slide-track-auto .slick-prev:focus-visible,
.wp-block-group.is-style-slide-track-auto .slick-next:focus-visible,
.wp-block-group.make-slick .slick-prev:focus-visible,
.make-slick-mobile .slick-prev:focus-visible,
.wp-block-group.make-slick .slick-next:focus-visible,
.make-slick-mobile .slick-next:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}


/* ------------------------------------------------------------------------
   Screen-reader-only — preserve a11y text injected by Accessible Slick.
   ------------------------------------------------------------------------ */
.slick-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}


/* ------------------------------------------------------------------------
   Autoplay toggle — hidden by default. The slider behavior we ship
   (hover-pause + arrow-click-locks-autoplay) makes the toggle redundant.
   A theme that wants it back can override `display`.
   ------------------------------------------------------------------------ */
.wp-block-group.is-style-slide-track-auto .slick-autoplay-toggle-button,
.wp-block-group.make-slick .slick-autoplay-toggle-button,
.make-slick-mobile .slick-autoplay-toggle-button {
	display: none;
}


/* ------------------------------------------------------------------------
   Dots — minimal default styling for when an init opts in to dots.
   ------------------------------------------------------------------------ */
.wp-block-group.is-style-slide-track-auto .slick-dots,
.wp-block-group.make-slick .slick-dots,
.make-slick-mobile .slick-dots {
	position: relative;
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.wp-block-group.is-style-slide-track-auto .slick-dots li,
.wp-block-group.make-slick .slick-dots li,
.make-slick-mobile .slick-dots li {
	display: inline-block;
}

.wp-block-group.is-style-slide-track-auto .slick-dots li button,
.wp-block-group.make-slick .slick-dots li button,
.make-slick-mobile .slick-dots li button {
	display: block;
	width: 8px;
	height: 8px;
	padding: 0;
	border: 1px solid currentColor;
	border-radius: 50%;
	background: transparent;
	color: currentColor;
	font-size: 0;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.wp-block-group.is-style-slide-track-auto .slick-dots li.slick-active button,
.wp-block-group.make-slick .slick-dots li.slick-active button,
.make-slick-mobile .slick-dots li.slick-active button {
	background: currentColor;
}
