/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/* Single gallery pages: add breathing room between the nav bar and the intro text */
body.single-gallery #brx-content {
	padding-top: 40px;
}

body.single-gallery .nu-gallery-title {
	margin-top: 0;
}

/* Breadcrumb (single gallery pages) */
.nu-breadcrumb {
	margin: 0 0 1rem;
	font-size: 0.9rem;
}

.nu-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nu-breadcrumb li {
	margin: 0;
	padding: 0;
}

.nu-crumb-link {
	color: #00457c;
	text-decoration: none;
}

.nu-crumb-link:hover,
.nu-crumb-link:focus {
	text-decoration: underline;
}

.nu-crumb-sep {
	margin: 0 6px;
	color: #6b7280;
}

.nu-crumb-current {
	color: #111827;
	font-weight: 600;
}


/* ==========================================================
   Single gallery page – layout, accessibility (AODA / WCAG 2.1 AA)
   Overrides the inline styles printed by the Gallery manager snippet.
   ========================================================== */
.nu-gallery-wrapper-single {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)) !important;
	gap: 24px !important;
	margin: 32px 0 48px;
	padding: 0;
}
.nu-gallery-item-single {
	background: #fff;
	border: 1px solid #d1d3d4;
	border-radius: 6px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
	overflow: hidden;
}
.nu-gallery-item-single:hover { transform: none; box-shadow: 0 4px 14px rgba(0, 38, 63, .18); }
.nu-gallery-link-single {
	display: block;
	aspect-ratio: 4 / 3;
	background: #e9edf1;
	line-height: 0;
}
.nu-gallery-link-single .nu-gallery-image {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	object-position: center 25%;
}
/* Visible keyboard focus (WCAG 2.4.7) */
.nu-gallery-link-single:focus-visible,
.nu-gallery-lightbox button:focus-visible {
	outline: 3px solid #00457c;
	outline-offset: -3px;
	box-shadow: inset 0 0 0 5px #fff;
}
.nu-gallery-lightbox button:focus-visible { outline-color: #fff; box-shadow: 0 0 0 5px #00457c; outline-offset: 2px; }
/* Enlarge icon: always available on focus, not hover only; meets 3:1 contrast */
.nu-gallery-link-single::after {
	content: "View larger";
	width: auto; height: auto;
	padding: 6px 10px;
	font: 600 13px/1.2 "futura-pt", sans-serif;
	background: #00263f;
	color: #fff;
	border-radius: 4px;
}
.nu-gallery-link-single:focus-visible::after { opacity: 1; }

/* Lightbox: larger targets (44px min, WCAG 2.5.5), solid contrast */
.nu-gallery-lightbox { background: rgba(0, 20, 35, .94); }
.nu-gallery-lightbox-close,
.nu-gallery-lightbox-prev,
.nu-gallery-lightbox-next {
	background: #00263f;
	border: 2px solid #fff;
	min-width: 48px;
	min-height: 48px;
}
.nu-gallery-lightbox-close:hover,
.nu-gallery-lightbox-prev:hover,
.nu-gallery-lightbox-next:hover { background: #00457c; }
.nu-gallery-lightbox-caption { color: #fff; font-size: 16px; line-height: 1.5; }
.nu-gallery-lightbox-count { color: #fff; font-size: 14px; margin-top: 6px; }

@media (max-width: 480px) {
	.nu-gallery-wrapper-single { grid-template-columns: 1fr !important; }
	.nu-gallery-link-single { aspect-ratio: 3 / 2; }
}
@media (prefers-reduced-motion: reduce) {
	.nu-gallery-item-single,
	.nu-gallery-image,
	.nu-gallery-link-single::after { transition: none !important; }
	.nu-gallery-item-single:hover .nu-gallery-image { transform: none !important; }
}
