/* GMIA Locations: location page layout helpers (loaded on single location pages only). */

/* Attorney slider: the whole Legal Team in one scrollable row, 4 cards at a time on desktop, 3 on tablet,
   1 (with a peek of the next) on phones. UABB positions grid cards absolutely, so this module switches to a
   flex row; the arrows are added by the script. */
.gmia-location-team .fl-module-content {
	position: relative;
}

.gmia-location-team .uabb-blog-posts-grid {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: stretch;
	height: auto !important;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.gmia-location-team .uabb-blog-posts-grid::-webkit-scrollbar {
	display: none;
}

.gmia-location-team .uabb-blog-posts-grid .uabb-post-wrapper {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	flex: 0 0 25%;
	width: 25% !important;
	scroll-snap-align: start;
}

.gmia-location-team .uabb-blog-posts-grid .uabb-blog-posts-shadow {
	height: 100% !important;
}

@media (max-width: 992px) {
	.gmia-location-team .uabb-blog-posts-grid .uabb-post-wrapper {
		flex-basis: 33.3333%;
		width: 33.3333% !important;
	}
}

@media (max-width: 768px) {
	.gmia-location-team .uabb-blog-posts-grid .uabb-post-wrapper {
		flex-basis: 85%;
		width: 85% !important;
	}
}

.gmia-location-team .gmia-team-arrow {
	position: absolute;
	top: 40%;
	z-index: 2;
	display: flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 44px;
	height: 44px;
	min-width: 0;
	padding: 0 !important;
	border: 2px solid #fff !important;
	border-radius: 50%;
	background: #c8031c !important;
	color: #fff !important;
	font-size: 0;
	line-height: 0;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
	transition: background 0.2s ease, opacity 0.2s ease;
}

.gmia-location-team .gmia-team-arrow:hover,
.gmia-location-team .gmia-team-arrow:focus-visible {
	background: #62010e !important;
}

.gmia-location-team .gmia-team-arrow[disabled] {
	opacity: 0.35;
	cursor: default;
}

.gmia-location-team .gmia-team-arrow.gmia-prev {
	left: -22px;
}

.gmia-location-team .gmia-team-arrow.gmia-next {
	right: -22px;
}

@media (max-width: 768px) {
	.gmia-location-team .gmia-team-arrow.gmia-prev {
		left: 0;
	}

	.gmia-location-team .gmia-team-arrow.gmia-next {
		right: 0;
	}
}

/* Centered text blocks (team intro, "When can a lawyer help"). */
.gmia-center-text,
.gmia-center-text .fl-rich-text,
.gmia-center-text .fl-heading {
	text-align: center;
}

/* Link lists (related blog posts + office practice areas): two columns, items top-aligned. */
.single-locations #related-blogs-2025 ul,
.single-locations .gmia-location-pa ul {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-count: initial !important;
	-webkit-column-count: initial !important;
	gap: 20px;
	align-items: start;
	list-style: none;
	margin: 0;
	padding: 0;
}

.single-locations #related-blogs-2025 ul li,
.single-locations .gmia-location-pa ul li {
	margin: 0 !important;
	padding: 0;
}

@media (max-width: 768px) {
	.single-locations #related-blogs-2025 ul,
	.single-locations .gmia-location-pa ul {
		grid-template-columns: 1fr;
	}
}

/* Office practice areas: same card style as the related blog posts (bold, white on hover). */
.fl-builder-content .gmia-location-pa ul li a {
	display: block;
	border: 1px solid #9f743e;
	border-radius: 10px;
	padding: 15px;
	font-size: 16px;
	font-weight: 700;
	color: #000;
	background: #fff;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}

.fl-builder-content .gmia-location-pa ul li a:hover,
.fl-builder-content .gmia-location-pa ul li a:focus-visible {
	background: #9f743e;
	color: #fff;
}

/* Sticky section photos: the script adds .gmia-sticky-on only when the text column is clearly taller
   than the photo column (desktop/tablet), so balanced sections are untouched. */
.gmia-sticky-on .fl-col-group {
	align-items: stretch;
}

.gmia-sticky-on .fl-col {
	align-self: stretch;
}

.gmia-sticky-on .gmia-sticky-photo-col > .fl-col-content {
	height: 100%;
	justify-content: flex-start !important;
}

.gmia-sticky-on .gmia-sticky-photo-col .fl-module-photo {
	position: sticky;
	top: var(--gmia-sticky-top, 120px);
}

/* The theme sets overflow-x: hidden on <body>, which makes the body a scroll container and silently
   disables position: sticky. "clip" hides horizontal overflow the same way without breaking sticky. */
body.single-locations {
	overflow-x: clip !important;
	overflow-y: visible !important;
}

/* Section photos: rounded corners + shadow (same as the original location photos). Applied by module class
   because an image-rewriting plugin drops BB's .fl-photo-img class from images that have alt text. */
.gmia-section-photo .fl-photo-content img {
	border-radius: 10px;
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.4);
}

/* Dividers (team section, "When can a lawyer help"): gold, 100px × 4px, centered. */
.gmia-divider .fl-separator {
	width: 100px !important;
	max-width: 100px !important;
	border-top-width: 4px !important;
	border-top-style: solid !important;
	border-top-color: #e3bf79 !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Centered text: beat the theme's paragraph alignment too. */
.gmia-center-text,
.gmia-center-text p,
.gmia-center-text li {
	text-align: center !important;
}

/* G Guarantee seal: max 500px, centered in its column. */
.gmia-seal .fl-photo,
.gmia-seal .fl-photo-content {
	width: 100%;
	max-width: 500px;
	margin-left: auto !important;
	margin-right: auto !important;
	display: block;
}

.gmia-seal .fl-photo-content img {
	width: 100%;
	height: auto;
}

.gmia-location-team .gmia-team-arrow svg {
	display: block;
	flex: none;
}
