/* Contact Info - public styles */

.cif-section {
	--cif-pad-top: var(--cif-pad-top-set, 0px);
	--cif-pad-bot: var(--cif-pad-bot-set, 0px);
	--cif-card-gap: var(--cif-card-gap-set, 20px);
	--cif-map-h: var(--cif-map-h-set, 460px);
	--cif-map-gap: var(--cif-map-gap-set, 60px);
	--cif-card-pad-x: var(--cif-card-pad-x-set, 28px);
	--cif-card-pad-y: var(--cif-card-pad-y-set, 30px);
	--cif-card-min-h: var(--cif-card-min-h-set, 291px);
	--cif-title-fs: var(--cif-title-fs-set, 24px);
	--cif-head-min-h: var(--cif-head-min-h-set, 46px);
	--cif-head-gap: var(--cif-head-gap-set, 29px);

	box-sizing: border-box;
	width: 100%;
	padding-top: var(--cif-pad-top);
	padding-bottom: var(--cif-pad-bot);
	background: var(--cif-section-bg, transparent);
}

.cif-section *,
.cif-section *::before,
.cif-section *::after {
	box-sizing: border-box;
}

.cif-container {
	width: 100%;
	max-width: var(--cif-content, 1200px);
	margin: 0 auto;
}

/* map */
.cif-map {
	position: relative;
	width: 100%;
	height: var(--cif-map-h);
	margin-bottom: var(--cif-map-gap);
	overflow: hidden;
	border-radius: var(--cif-map-radius, 20px);
	background: var(--cif-card-bg, #F7F9FE);
}

.cif-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.cif-map:last-child {
	margin-bottom: 0;
}

/* grid */
.cif-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--cif-card-gap);
	list-style: none;
	margin: 0;
	padding: 0;
}

/* card */
.cif-card {
	display: flex;
	flex-direction: column;
	min-height: var(--cif-card-min-h);
	padding: var(--cif-card-pad-y) var(--cif-card-pad-x);
	background: var(--cif-card-bg, #F7F9FE);
	border-radius: var(--cif-card-radius, 20px);
	list-style: none;
	margin: 0;
}

/* header */
.cif-head {
	min-height: var(--cif-head-min-h);
	margin-bottom: var(--cif-head-gap);
}

.cif-card .cif-title {
	font-family: 'Anybody', sans-serif;
	font-weight: 700;
	font-size: var(--cif-title-fs);
	line-height: 1.042;
	text-transform: uppercase;
	color: var(--cif-title, #333333);
	margin: 0;
	padding: 0;
	letter-spacing: 0;
}

.cif-card .cif-sub {
	font-family: 'Google Sans', sans-serif;
	font-weight: 400;
	font-size: var(--cif-sub-fs, 14px);
	line-height: 1.286;
	color: var(--cif-sub, #333333);
	margin: var(--cif-sub-gap, 3px) 0 0 0;
	padding: 0;
}

/* Theme reset guards */
.cif-section .cif-card .cif-rows,
.cif-section .cif-card .cif-row,
.cif-section .cif-card .cif-hours {
	margin: 0;
	padding: 0;
}

/* contact rows */
.cif-rows {
	display: flex;
	flex-direction: column;
	gap: var(--cif-row-gap, 15px);
	list-style: none;
	margin: 0;
	padding: 0;
}

.cif-row {
	display: flex;
	align-items: flex-start;
	gap: var(--cif-icon-gap, 9px);
	list-style: none;
	margin: 0;
	padding: 0;
}

.cif-row-icon,
.cif-hours-icon {
	display: block;
	flex: 0 0 auto;
	width: var(--cif-icon, 20px);
	height: var(--cif-icon, 20px);
	color: var(--cif-icon-color, #2563EB);
	line-height: 0;
}

.cif-row-icon {
	margin-top: calc((1.286em - var(--cif-icon, 20px)) / 2);
}

.cif-row-icon svg,
.cif-hours-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.cif-row-text {
	font-family: 'Google Sans', sans-serif;
	font-weight: 400;
	font-size: var(--cif-row-fs, 14px);
	line-height: 1.286;
	color: var(--cif-row, #333333);
}

.cif-row-text .cif-link,
.cif-row-text .cif-link:link,
.cif-row-text .cif-link:visited,
.cif-row-text .cif-link:hover,
.cif-row-text .cif-link:focus,
.cif-row-text .cif-link:active {
	color: inherit;
	text-decoration: none;
	box-shadow: none;
	border: 0;
	background: none;
	transition: color .15s ease;
}

.cif-row-text .cif-link:hover,
.cif-row-text .cif-link:focus-visible {
	color: var(--cif-link-hover, #2663EB);
	text-decoration: none;
}

.cif-row-text .cif-link:focus-visible {
	outline: 2px solid var(--cif-link-hover, #2663EB);
	outline-offset: 2px;
	border-radius: 3px;
}

/* hours card */
.cif-hours {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
}

.cif-hours-group + .cif-hours-group {
	margin-top: var(--cif-hours-grp-gap, 15px);
	padding-top: var(--cif-hours-grp-gap, 15px);
	border-top: 1px solid var(--cif-divider, #E3E3E3);
}

.cif-hours .cif-hours-label {
	font-family: 'Google Sans', sans-serif;
	font-weight: 400;
	font-size: var(--cif-hours-label-fs, 14px);
	line-height: 1.286;
	color: var(--cif-hours-label, #999999);
	margin: 0;
	padding: 0;
}

.cif-hours .cif-hours-value {
	display: flex;
	align-items: center;
	gap: var(--cif-hours-icon-gap, 3px);
	font-family: 'Google Sans', sans-serif;
	font-weight: 700;
	font-size: var(--cif-hours-value-fs, 16px);
	line-height: 1.25;
	color: var(--cif-hours-value, #2563EB);
	margin: var(--cif-hours-gap, 5px) 0 0 0;
	padding: 0;
}

/* responsive */
@media (max-width: 1100px) {
	.cif-section {
		--cif-card-pad-x: 26px;
		--cif-card-pad-y: 26px;
		--cif-title-fs: 21px;
		--cif-map-h: 400px;
		--cif-map-gap: 48px;
	}
}

@media (max-width: 900px) {
	.cif-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.cif-section {
		--cif-map-h: 340px;
		--cif-map-gap: 40px;
		--cif-card-min-h: 0px;
		--cif-card-pad-x: 28px;
		--cif-card-pad-y: 28px;
		--cif-title-fs: 22px;
		--cif-head-min-h: 0px;
		--cif-head-gap: 18px;
		--cif-row-gap: 13px;
	}
}

@media (max-width: 600px) {
	.cif-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.cif-section {
		--cif-map-h: 280px;
		--cif-map-gap: 32px;
		--cif-card-pad-x: 24px;
		--cif-card-pad-y: 24px;
		--cif-title-fs: 20px;
		--cif-head-gap: 14px;
		--cif-row-gap: 12px;
		--cif-sub-gap: 2px;
	}
}
