/* DB Social Links v1.3.0
 * Colors use site tokens and follow the accessibility modes (high contrast etc).
 * Icon color is set per theme so it always passes 3:1 against its background:
 *   Light + Brand red   --brand-red            5.7:1 (hover --color-link-hover)
 *   Light + Black/white --surface-dark         17.4:1 (hover --brand-red)
 *   Dark  + Brand red   --color-link-on-dark   4.9:1 (hover --color-link-hover-on-dark)
 *   Dark  + Black/white --color-white          17.4:1 (hover --color-link-hover-on-dark)
 * Icon sizes are px on purpose: icons are not text and do not grow in the text size modes.
 * Hover colors live here (the old .db-social-links a:hover rule in styles.css is removed).
 */

/* -- Outer wrapper: full-width themed background -- */
.db-social-links-wrap {
	display: block;
	width: 100%;
}

.db-social-links-wrap--light { background-color: var(--color-white, #ffffff); }
.db-social-links-wrap--dark  { background-color: var(--surface-dark, #1a1a1a); }

/* -- Inner wrapper -- */
.db-social-links-wrap__inner {
	padding: 16px 0;
}

/* -- Divider (decorative, hidden from screen readers) -- */
.db-social-links-wrap__hr {
	border: none;
	height: 2px;
	margin: 0;
}

.db-social-links-wrap--light .db-social-links-wrap__hr { background-color: var(--surface-dark, #1a1a1a); }
.db-social-links-wrap--dark  .db-social-links-wrap__hr { background-color: var(--brand-red, #c32b2a); }

/* -- Nav layout -- */
.db-social-links {
	display: block;
	margin: 0;
	padding: 0;
}

.db-social-links__list {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.db-social-links--align-left   .db-social-links__list { justify-content: flex-start; }
.db-social-links--align-center .db-social-links__list { justify-content: center; }
.db-social-links--align-right  .db-social-links__list { justify-content: flex-end; }

/* -- Icon link base: at least a 24px target, even for Small icons -- */
.db-social-links .db-social-links__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	min-height: 24px;
	text-decoration: none;
	line-height: 1;
	transition: color 0.2s ease, transform 0.2s ease;
}

.db-social-links .db-social-links__link:hover,
.db-social-links .db-social-links__link:focus-visible {
	transform: scale(1.1);
}

.db-social-links .db-social-links__link:focus {
	outline: none;
}

.db-social-links .db-social-links__link:focus-visible {
	outline: 2px solid var(--color-focus, #c32b2a);
	outline-offset: 3px;
	border-radius: 2px;
}

.db-social-links-wrap--dark .db-social-links .db-social-links__link:focus-visible {
	outline-color: var(--color-white, #ffffff);
}

/* Underline Links mode: no underline under icons (they are clearly links) */
html[data-links="underline"] .db-social-links .db-social-links__link,
html[data-links="underline"] .db-social-links .db-social-links__link:hover {
	text-decoration: none !important;
}

/* No grow effect for people who ask for reduced motion */
@media (prefers-reduced-motion: reduce) {
	.db-social-links .db-social-links__link {
		transition: none;
	}
	.db-social-links .db-social-links__link:hover,
	.db-social-links .db-social-links__link:focus-visible {
		transform: none;
	}
}

/* -- Override global .fa-* background rules -- */
.db-social-links__link i {
	background-color: transparent !important;
	padding: 0 !important;
}

/* -- Sizes -- */
.db-social-links--small  .db-social-links__link { font-size: 18px; }
.db-social-links--medium .db-social-links__link { font-size: 24px; }
.db-social-links--large  .db-social-links__link { font-size: 32px; }

/* -- Colors (!important + extra specificity beat the site-wide a:hover rules) -- */
.db-social-links-wrap--light .db-social-links--brand .db-social-links__link { color: var(--brand-red, #c32b2a) !important; }
.db-social-links-wrap--light .db-social-links--brand .db-social-links__link:hover { color: var(--color-link-hover, #94111e) !important; }

.db-social-links-wrap--light .db-social-links--neutral .db-social-links__link { color: var(--surface-dark, #1a1a1a) !important; }
.db-social-links-wrap--light .db-social-links--neutral .db-social-links__link:hover { color: var(--brand-red, #c32b2a) !important; }

.db-social-links-wrap--dark .db-social-links--brand .db-social-links__link { color: var(--color-link-on-dark, #ff3b30) !important; }
.db-social-links-wrap--dark .db-social-links--neutral .db-social-links__link { color: var(--color-white, #ffffff) !important; }
.db-social-links-wrap--dark .db-social-links .db-social-links__link:hover { color: var(--color-link-hover-on-dark, #ff7a6b) !important; }
