/*
 * Career - Contact HR.
 *
 * Read from cp-all-designer css/career.css:1130-1307 (.crrhr, .hrx) and
 * css/contact-info.css:505-660 (.crrhr three cards, .crrhr--fit).
 *
 * Colour, type, padding and the measures arrive from the Style tab and are not
 * repeated here.
 */

/* contact-info.css:537 — white at the top, the ground by 40% */
.custom-career-contact-hr.custom-career-contact-hr[data-custom-partner-band] {
	background: linear-gradient(180deg,
		var(--custom-career-contact-hr-top, #FFFFFF) 0%,
		var(--custom-career-contact-hr-ground, #F3F8FD) 40%,
		var(--custom-career-contact-hr-ground, #F3F8FD) 100%);
}

/* contact-info.css:539-544 — three cards in a row, as tall as each other */
.custom-career-contact-hr .custom-career-contact-hr__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
}

/* contact-info.css:545-552, 572 */
.custom-career-contact-hr .custom-career-contact-hr__card {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: auto minmax(0, 1fr);
	align-content: start;
	box-sizing: border-box;
	min-width: 0;
	margin: 0;
	border: 2px solid #EEF2F7;               /* contact-info.css:549 measures 1px */
	box-shadow: 0 2px 6px rgba(22, 65, 140, 0.05), 0 16px 34px -18px rgba(22, 65, 140, 0.2);
}

/* contact-info.css:569-582 — the drawing and the name on a line, the status on its own under them */
.custom-career-contact-hr .custom-career-contact-hr__label {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	align-self: start;
}

/* career.css:1163-1167 */
.custom-career-contact-hr .custom-career-contact-hr__tile {
	display: grid;
	flex: none;
	place-items: center;
	box-sizing: border-box;
	border: 2px solid #CCDAF2;               /* career.css:1166 measures 1px */
	border-radius: 14px 4px 14px 4px;
}

.custom-career-contact-hr .custom-career-contact-hr__tile svg {
	display: block;
}

/* Kadence takes the top margin off a widget's first heading (0,3,2): this stands over it */
.custom-career-contact-hr .custom-career-contact-hr__card .custom-career-contact-hr__label .custom-career-contact-hr__card-title {
	margin: 0;
	font-weight: 600;
	line-height: 1.45;
}

/* career.css:1174-1179, contact-info.css:575-582 — a line of status, no pill round it */
.custom-career-contact-hr .custom-career-contact-hr__card .custom-career-contact-hr__label .custom-career-contact-hr__status {
	display: inline-flex;
	flex-basis: 100%;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	font-weight: 500;
	line-height: 1.5;
}

.custom-career-contact-hr .custom-career-contact-hr__dot {
	flex: none;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--custom-career-contact-hr-dot, #5CA13F);
}

/* career.css:1186, contact-info.css:606 */
.custom-career-contact-hr .custom-career-contact-hr__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-content: start;
	min-width: 0;
}

/* contact-info.css:584 */
.custom-career-contact-hr .custom-career-contact-hr__line {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	gap: 10px;
	min-width: 0;
}

.custom-career-contact-hr .custom-career-contact-hr__card .custom-career-contact-hr__line .custom-career-contact-hr__line-label {
	margin: 0;
	font-weight: 600;
	line-height: 1.6;
}

/* contact-info.css:588-589 — two chips a row */
.custom-career-contact-hr .custom-career-contact-hr__numbers {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.custom-career-contact-hr .custom-career-contact-hr__numbers li {
	margin: 0;
	padding: 0;
}

/* career.css:1203-1216 */
.custom-career-contact-hr .custom-career-contact-hr__number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	border: 2px solid #CCDAF2;               /* career.css:1207 measures 1px */
	border-radius: 10px 4px 10px 4px;
	background: #FFFFFF;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	line-height: 1.5;
	white-space: nowrap;
	text-decoration: none;
	transition: color 200ms cubic-bezier(0.2, 0.8, 0.2, 1),
	            border-color 200ms cubic-bezier(0.2, 0.8, 0.2, 1),
	            transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* the Style tab writes these colours at (0,4,0): a reached one stands over it */
.custom-career-contact-hr.custom-career-contact-hr[data-custom-partner-band] .custom-career-contact-hr__number:hover {
	border-color: var(--custom-career-contact-hr-on, #50A3D5);
	color: var(--custom-career-contact-hr-on, #50A3D5);
	transform: translateY(-2px);
}

.custom-career-contact-hr .custom-career-contact-hr__number:focus-visible,
.custom-career-contact-hr .custom-career-contact-hr__social:focus-visible,
.custom-career-contact-hr .custom-career-contact-hr__map-link:focus-visible {
	outline: 2px solid #50A3D5;
	outline-offset: 2px;
}

/* contact-info.css:646 — the button runs the card's width, its words centred */
.custom-career-contact-hr .custom-career-contact-hr__line--act .custom-career-contact-hr__button {
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
}

/* career.css:1222-1250, contact-info.css:585 — one page to follow a row */
.custom-career-contact-hr .custom-career-contact-hr__socials {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.custom-career-contact-hr .custom-career-contact-hr__socials li {
	min-width: 0;
	margin: 0;
	padding: 0;
}

.custom-career-contact-hr .custom-career-contact-hr__social {
	display: flex;
	align-items: center;
	gap: 10px;
	box-sizing: border-box;
	height: 100%;
	border: 2px solid #EEF2F7;               /* career.css:1229 measures 1px */
	border-radius: 12px 4px 12px 4px;
	background: #FFFFFF;
	text-decoration: none;
	transition: border-color 200ms cubic-bezier(0.2, 0.8, 0.2, 1),
	            transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.custom-career-contact-hr.custom-career-contact-hr[data-custom-partner-band] a.custom-career-contact-hr__social:hover {
	border-color: var(--custom-career-contact-hr-on, #50A3D5);
	transform: translateY(-2px);
}

.custom-career-contact-hr .custom-career-contact-hr__social-tile {
	display: grid;
	flex: none;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 10px;                     /* career.css:1236 measures 9px */
	color: #FFFFFF;
}

.custom-career-contact-hr .custom-career-contact-hr__social-tile svg {
	display: block;
	width: 16px;
	height: 16px;
	fill: currentColor;
}

.custom-career-contact-hr .custom-career-contact-hr__social-words {
	display: grid;
	flex: 1 1 auto;
	gap: 2px;
	min-width: 0;
}

.custom-career-contact-hr .custom-career-contact-hr__social-name {
	overflow: hidden;
	font-weight: 600;
	line-height: 1.4;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.custom-career-contact-hr .custom-career-contact-hr__social-platform {
	font-weight: 400;
	line-height: 1.6;
}

.custom-career-contact-hr .custom-career-contact-hr__social-go {
	flex-shrink: 0;
	transition: color 200ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.custom-career-contact-hr.custom-career-contact-hr[data-custom-partner-band] a.custom-career-contact-hr__social:hover .custom-career-contact-hr__social-go {
	color: var(--custom-career-contact-hr-on, #50A3D5);
}

/* career.css:1254-1277, contact-info.css:593-594 — the address over the map */
.custom-career-contact-hr .custom-career-contact-hr__place {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: auto minmax(0, 1fr);
	align-items: stretch;
	height: 100%;
}

.custom-career-contact-hr .custom-career-contact-hr__place-words {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}

.custom-career-contact-hr .custom-career-contact-hr__place-words .custom-career-contact-hr__org,
.custom-career-contact-hr .custom-career-contact-hr__place-words .custom-career-contact-hr__address {
	margin: 0;
}

.custom-career-contact-hr .custom-career-contact-hr__org {
	font-weight: 600;
	line-height: 1.45;
}

.custom-career-contact-hr .custom-career-contact-hr__address {
	font-weight: 400;
	line-height: 1.7;
}

.custom-career-contact-hr .custom-career-contact-hr__place-acts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 20px;
	margin-top: auto;
	padding-top: 6px;
}

.custom-career-contact-hr .custom-career-contact-hr__map-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	line-height: 1.6;
	text-decoration: none;
	transition: color 200ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.custom-career-contact-hr .custom-career-contact-hr__map-link svg {
	transition: transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.custom-career-contact-hr.custom-career-contact-hr[data-custom-partner-band] .custom-career-contact-hr__map-link:hover {
	color: var(--custom-career-contact-hr-on, #50A3D5);
}

.custom-career-contact-hr .custom-career-contact-hr__map-link:hover svg {
	transform: translateX(4px);
}

/* career.css:1273-1277, contact-info.css:626-628 — the map fills what the card leaves it */
.custom-career-contact-hr .custom-career-contact-hr__map {
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	border: 2px solid #CCDAF2;               /* career.css:1275 measures 1px */
	border-radius: 12px 4px 12px 4px;
	line-height: 0;
}

.custom-career-contact-hr .custom-career-contact-hr__map iframe {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* past four pages to follow the list keeps four in view and scrolls; the script measures four (300 until it has) */
.custom-career-contact-hr .custom-career-contact-hr__socials[data-custom-scroll] {
	max-height: var(--custom-career-contact-hr-four, 300px);
	padding: 2px 8px 2px 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-color: #CCDAF2 transparent;
	scrollbar-width: thin;
}

.custom-career-contact-hr .custom-career-contact-hr__socials[data-custom-scroll]:focus-visible {
	outline: 2px solid #50A3D5;
	outline-offset: 2px;
}

/* a card whose list scrolls is as tall as its four, and the row takes its height from it */
.custom-career-contact-hr .custom-career-contact-hr__card--scroll {
	grid-template-rows: auto auto;
}

/* cards side by side: the numbers stay inside the height the other cards give the row, and scroll past it */
@media (width > 900px) {
	.custom-career-contact-hr .custom-career-contact-hr__card--phone .custom-career-contact-hr__body {
		contain: size;
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-color: #CCDAF2 transparent;
		scrollbar-width: thin;
	}
}

/* contact-info.css:615-620 — the online card's pages share out what is left of it */
@media (width > 1100px) {
	.custom-career-contact-hr .custom-career-contact-hr__card--online:not(.custom-career-contact-hr__card--scroll) .custom-career-contact-hr__body {
		grid-template-rows: auto minmax(0, 1fr);
		align-content: stretch;
	}
	.custom-career-contact-hr .custom-career-contact-hr__card--online:not(.custom-career-contact-hr__card--scroll) .custom-career-contact-hr__line--socials {
		grid-template-rows: auto minmax(0, 1fr);
	}
	.custom-career-contact-hr .custom-career-contact-hr__card--online .custom-career-contact-hr__socials:not([data-custom-scroll]) {
		grid-auto-rows: 1fr;
	}
	.custom-career-contact-hr .custom-career-contact-hr__card--place .custom-career-contact-hr__body {
		grid-template-rows: minmax(0, 1fr);
		align-content: stretch;
	}
}

/* contact-info.css:561-566 — two across, the third under them the whole width, its map beside it */
@media (max-width: 1100px) {
	.custom-career-contact-hr .custom-career-contact-hr__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.custom-career-contact-hr .custom-career-contact-hr__card:last-child {
		grid-column: 1 / -1;
	}
	.custom-career-contact-hr .custom-career-contact-hr__place {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-rows: none;
	}
}

@media (max-width: 900px) {
	.custom-career-contact-hr .custom-career-contact-hr__cards {
		grid-template-columns: minmax(0, 1fr);
	}
	.custom-career-contact-hr .custom-career-contact-hr__place {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 560px) {
	.custom-career-contact-hr .custom-career-contact-hr__numbers {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	.custom-career-contact-hr .custom-career-contact-hr__number,
	.custom-career-contact-hr .custom-career-contact-hr__social,
	.custom-career-contact-hr .custom-career-contact-hr__map-link svg {
		transition: none;
	}
}
