/* Sudameris Securities - estilos base del tema.
   Valores calcados de los screenshots de produccion (header id 9, footer id 1296).
   DinRoundPro solo trae 400 y 700: todo "600" del diseno se mapea a 700. */

:root {
	/* Paleta de marca (= paleta global de Kadence del sitio actual) */
	--ssb-red: #ff0000;
	--ssb-red-dark: #bf0303;
	--ssb-ink: #2b2926;
	--ssb-grey: #6c6c6c;
	--ssb-line: #ecebe5;
	--ssb-black: #000000;
	--ssb-white: #ffffff;

	--ssb-maxw: 1300px;
	--ssb-gap: 1.5rem;

	/* DinRoundPro es la unica familia. system-ui solo como red si el woff falla. */
	--ssb-font: "DinRoundPro", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;

	/* Kadence arma su CSS dinamico con estas variables: las apuntamos a DinRoundPro. */
	--global-body-font-family: var(--ssb-font);
	--global-heading-font-family: var(--ssb-font);
	--global-content-font-family: var(--ssb-font);
	--global-content-secondary-font-family: var(--ssb-font);
}

/* ---------- Tipografia ----------
   !important porque Kadence y Elementor inyectan font-family con alta
   especificidad desde CSS en linea en el <head>. Es la garantia de que
   no entre ninguna otra fuente. */
body,
button,
input,
select,
optgroup,
textarea,
h1, h2, h3, h4, h5, h6,
.elementor-widget-container,
.entry-content {
	font-family: var(--ssb-font) !important;
}

/* ================= HEADER ================= */
/* Barra roja, sticky, solo desktop. El mobile-nav toma el relevo <= 900px. */
.ssb-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--ssb-red);
}

.ssb-header__inner {
	max-width: var(--ssb-maxw);
	margin: 0 auto;
	padding: 8px 40px;
	display: flex;
	align-items: center;
	gap: 2.5rem;
}

/* Logo dentro de un recuadro blanco redondeado */
.ssb-header__logo {
	display: flex;
	align-items: center;
	background: var(--ssb-white);
	border-radius: 16px;
	padding: 10px 22px;
}

.ssb-header__logo img {
	display: block;
	width: 120px;
	height: auto;
}

.ssb-header__brands {
	display: flex;
	align-items: center;
	gap: 2.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ssb-header__brands img {
	display: block;
	width: 140px;
	height: auto;
}

.ssb-nav {
	margin-left: auto;
}

.ssb-nav__list,
.ssb-nav__list .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ssb-nav__list {
	display: flex;
	align-items: center;
	gap: 2.25rem;
}

.ssb-nav__list li {
	position: relative;
}

.ssb-nav__list a {
	display: block;
	font-family: var(--ssb-font);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--ssb-white);
	text-decoration: none;
	padding: 8px 0;
}

.ssb-nav__list a:hover,
.ssb-nav__list .current-menu-item > a {
	color: var(--ssb-line);
}

/* Dropdown ("Nuestros productos") */
.ssb-nav__list .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 200px;
	background: var(--ssb-red);
	padding: 8px 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
}

.ssb-nav__list li:hover > .sub-menu,
.ssb-nav__list li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.ssb-nav__list .sub-menu a {
	padding: 8px 20px;
	font-weight: 400;
	white-space: nowrap;
}

/* Boton de acceso al portal: rectangulo redondeado con contorno blanco */
.ssb-header__login {
	flex-shrink: 0;
	font-family: var(--ssb-font);
	font-size: 14px;
	font-weight: 700;
	color: var(--ssb-white);
	text-decoration: none;
	white-space: nowrap;
	padding: 0.6rem 1.15rem;
	border: 1.5px solid var(--ssb-white);
	border-radius: 6px;
	transition: background 0.2s, color 0.2s;
}

.ssb-header__login:hover {
	background: var(--ssb-white);
	color: var(--ssb-red);
}

/* ---------- Mobile nav ---------- */
.ssb-mobile-nav {
	display: none;
	margin-left: auto;
	position: relative;
}

.ssb-mobile-nav__toggle {
	list-style: none;
	cursor: pointer;
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
}

.ssb-mobile-nav__toggle::-webkit-details-marker {
	display: none;
}

.ssb-mobile-nav__bars,
.ssb-mobile-nav__bars::before,
.ssb-mobile-nav__bars::after {
	content: "";
	display: block;
	width: 24px;
	height: 2px;
	background: var(--ssb-white);
}

.ssb-mobile-nav__bars::before {
	position: absolute;
	transform: translateY(-7px);
}

.ssb-mobile-nav__bars::after {
	position: absolute;
	transform: translateY(7px);
}

.ssb-mobile-nav__panel {
	position: absolute;
	right: 0;
	top: 100%;
	min-width: 240px;
	background: var(--ssb-red);
	padding: var(--ssb-gap);
}

.ssb-mobile-nav__list,
.ssb-mobile-nav__list .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ssb-mobile-nav__list {
	display: grid;
	gap: 0.75rem;
}

.ssb-mobile-nav__list .sub-menu {
	padding-left: 1rem;
	margin-top: 0.5rem;
	display: grid;
	gap: 0.5rem;
}

.ssb-mobile-nav__list a {
	color: var(--ssb-white);
	text-decoration: none;
	font-weight: 700;
	font-size: 14px;
}

@media (max-width: 900px) {
	.ssb-header__inner {
		padding: 8px var(--ssb-gap);
		gap: 1rem;
	}

	.ssb-header__brands,
	.ssb-nav,
	.ssb-header__login {
		display: none;
	}

	.ssb-mobile-nav {
		display: block;
	}
}

/* ================= FOOTER ================= */
/* Bloque superior claro (sucursales) + franja negra full-width abajo. */
.ssb-footer {
	background: var(--ssb-white);
	color: var(--ssb-ink);
	margin-top: 4rem;
}

.ssb-footer__inner {
	max-width: var(--ssb-maxw);
	margin: 0 auto;
	padding: 60px var(--ssb-gap) 40px;
}

.ssb-footer__offices {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: space-between;
}

.ssb-footer__office {
	flex: 1 1 240px;
}

.ssb-footer__city {
	margin: 0 0 1.5rem;
	font-family: var(--ssb-font);
	font-size: 18px;
	font-weight: 700;
	color: var(--ssb-red);
}

.ssb-footer__address {
	font-family: var(--ssb-font);
	font-size: 13px;
	font-weight: 400;
	font-style: normal;
	line-height: 1.6;
	color: var(--ssb-grey);
}

.ssb-footer__map {
	display: inline-block;
	margin-top: 1.25rem;
	font-size: 13px;
	font-weight: 700;
	color: var(--ssb-black);
	text-decoration: none;
	border-bottom: 2px solid var(--ssb-red);
	padding-bottom: 3px;
}

.ssb-footer__bottom {
	background: var(--ssb-black);
	color: var(--ssb-white);
}

.ssb-footer__bottom-inner {
	max-width: var(--ssb-maxw);
	margin: 0 auto;
	padding: 28px var(--ssb-gap);
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2rem;
	justify-content: space-between;
	align-items: center;
}

.ssb-footer__copy {
	margin: 0;
	font-family: var(--ssb-font);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--ssb-white);
}

.ssb-footer__social {
	list-style: none;
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0;
	padding: 0;
}

.ssb-footer__social a {
	display: inline-flex;
	color: var(--ssb-white);
}

.ssb-footer__social svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
}
