/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/

/* ----------------------------------------------------------------
	Scroll Suave entre secciones
-----------------------------------------------------------------*/
html {
	scroll-behavior: smooth;
}

/* Offset para que el header sticky no tape las secciones */
section[id],
div[id^="section-"] {
	scroll-margin-top: 100px;
}

/* ----------------------------------------------------------------
	Colores Corporativos Chavez Abogados
	- Azul Marino Oscuro: #1a1a2e
	- Naranjo: #F97316
-----------------------------------------------------------------*/
:root {
	/* Color principal - Azul Marino Oscuro */
	--cnvs-themecolor: #1a1a2e;
	--cnvs-themecolor-rgb: 26, 26, 46;

	/* Color de acento - Naranjo */
	--bs-warning: #F97316;
	--bs-warning-rgb: 249, 115, 22;

	/* Colores adicionales corporativos */
	--chavez-primary: #1a1a2e;
	--chavez-primary-rgb: 26, 26, 46;
	--chavez-accent: #F97316;
	--chavez-accent-rgb: 249, 115, 22;
	--chavez-light: #F3F4F6;
	--chavez-dark: #12121f;
	--chavez-light-bg: #252540;
}

/* Sobrescribir colores en contexto dark */
.dark {
	--cnvs-header-sticky-bg: var(--cnvs-themecolor);
}

/* Header - borde inferior naranjo con mismo grosor que footer */
#header #header-wrap {
	border-bottom: 3px solid var(--chavez-accent) !important;
}

.sticky-header #header-wrap,
.sticky-header.full-header #header-wrap {
	border-bottom: 3px solid var(--chavez-accent) !important;
}

/* ----------------------------------------------------------------
	Header Home - Forzar estilo sticky desde el inicio (sin animacion)
-----------------------------------------------------------------*/
@media (min-width: 992px) {
	/* Menu horizontal desde el inicio */
	#header .large-device-menu-wrap {
		align-items: center !important;
	}

	#header .large-device-menu a {
		display: inline-block !important;
		margin: 0 18px !important;
		margin-bottom: 0 !important;
		transform: none !important;
	}

	#header .header-row {
		align-items: center !important;
		padding-top: .5rem !important;
		padding-bottom: .5rem !important;
	}

	#header .large-device-menu {
		padding: 0 !important;
		margin: 0 !important;
	}
}

/* Fondo gris permanente */
#header #header-wrap {
	background-color: var(--chavez-primary) !important;
}

/* Logo consistente en todos los headers */
#header #logo {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	display: flex !important;
	align-items: center !important;
}

#header #logo a {
	display: flex;
	align-items: center;
}

/* Logo mismo tamaño en todos los headers (40px altura) */
#header #logo img,
#header #logo a img,
#header.no-sticky #logo img,
#header.sticky-header #logo img {
	height: 40px !important;
	max-height: 40px !important;
	min-height: 35px !important;
	width: auto !important;
	min-width: 120px !important;
	object-fit: contain !important;
}

/* Logo en Mobile - Centrado horizontal y verticalmente */
@media (max-width: 767.98px) {
	#header .header-row {
		min-height: 70px !important;
		display: flex !important;
		align-items: center !important;
	}

	#header #header-wrap {
		min-height: 70px !important;
	}

	#header #logo {
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
		text-align: center !important;
		padding: 0 !important;
		height: 100% !important;
		min-height: 70px !important;
	}

	#header #logo a {
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
		height: 100% !important;
	}

	#header #logo img {
		height: 35px !important;
		max-height: 35px !important;
		min-height: 30px !important;
		min-width: 100px !important;
		max-width: 150px !important;
		object-fit: contain !important;
	}
}

/* Altura consistente para todos los headers (84px) */
#header #header-wrap {
	min-height: 84px !important;
}

#header .header-row {
	min-height: 84px !important;
}

/* Footer - borde superior naranjo */
#footer.border-warning {
	border-top: 3px solid var(--chavez-accent) !important;
}

/* Eliminar espacio entre sección contacto y por qué elegirnos */
#section-contact {
	border-bottom: none !important;
	margin-bottom: 0 !important;
}

#section-porque {
	margin-top: 0 !important;
	border-top: none !important;
}

/* Color de acento para textos e iconos */
.color,
.text-warning {
	color: var(--bs-warning) !important;
}

/* Fondos con color principal */
.bg-color {
	background-color: var(--cnvs-themecolor) !important;
}

/* Bordes con color de acento */
.border-warning {
	border-color: var(--bs-warning) !important;
}

/* Botones con color principal */
.btn-dark.bg-color {
	background-color: var(--cnvs-themecolor) !important;
	border-color: var(--cnvs-themecolor) !important;
}

.btn-dark.bg-color:hover {
	background-color: var(--chavez-light-bg) !important;
	border-color: var(--chavez-light-bg) !important;
}

/* Formulario de Contacto Inline */
#contact-form-ajax label {
	display: inline-block;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 300;
	font-size: 1.75rem;
	line-height: 2;
}

#contact-form-ajax input,
#contact-form-ajax select,
.dark #contact-form-ajax input,
.dark #contact-form-ajax select {
	display: inline-block;
	background-color: transparent;
	margin: 0 10px;
	border-radius: 0;
	width: auto;
	cursor: pointer;
	border: none;
	border-bottom: 1px solid #FFF !important;
	font-size: 1.75rem;
	padding: 0 3px;
	color: var(--bs-warning);
	font-weight: 300;
}

#contact-form-ajax input:focus {
	outline: none;
}

#contact-form-ajax select,
.dark #contact-form-ajax select {
	-webkit-appearance: none;
	border-radius: 0;
	background-position: 100% 50%;
	background-repeat: no-repeat;
	background-image: url("demos/law-firm/images/select-arrow.svg");
	padding-right: 20px;
	background-size: 12px;
}

#contact-form-ajax input::-moz-placeholder {
	color: var(--chavez-accent);
}

#contact-form-ajax input:-ms-input-placeholder {
	color: var(--chavez-accent);
}

#contact-form-ajax input::-webkit-input-placeholder {
	color: var(--chavez-accent);
}

#contact-form-ajax input::placeholder {
	color: var(--chavez-accent);
}

/* ----------------------------------------------------------------
	Estilos adicionales con colores corporativos
-----------------------------------------------------------------*/

/* Links con color de acento */
a.color:hover,
.more-link.color:hover {
	color: var(--chavez-accent) !important;
}

/* Iconos Material Symbols con color de acento */
.material-symbols-outlined.color {
	color: var(--chavez-accent) !important;
}

/* Cards de servicios - borde inferior en hover */
.card:hover {
	border-bottom: 2px solid var(--chavez-accent);
}

/* Footer con color principal */
#footer.bg-color {
	background-color: var(--cnvs-themecolor) !important;
}

/* SweetAlert con colores corporativos */
.swal2-confirm {
	background-color: var(--chavez-accent) !important;
}

.swal2-confirm:hover {
	background-color: #e56510 !important;
}

/* ----------------------------------------------------------------
	Header para paginas internas (estructura estandar Canvas)
-----------------------------------------------------------------*/
/* Logo tamaño adecuado */
#header.dark:not(.transparent-header) #logo img {
	max-height: 60px;
}

/* Asegurar que el header interno tenga el fondo correcto */
#header.dark:not(.transparent-header) #header-wrap {
	background-color: var(--chavez-primary);
}

/* Forzar menu horizontal en paginas internas */
.internal-menu {
	display: flex !important;
	align-items: center;
}

.internal-menu-container {
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.internal-menu .menu-item {
	display: inline-block;
	margin: 0;
}

.internal-menu .menu-link {
	display: block;
	padding: 10px 15px;
	color: white;
	text-decoration: none;
	font-weight: 500;
}

.internal-menu .menu-link:hover {
	color: var(--chavez-accent);
}

.internal-menu .menu-item.current .menu-link {
	color: var(--chavez-accent);
}

.internal-menu .btn-consulta {
	padding: 5px 0 !important;
}

/* Header row flex layout para paginas internas */
#header.no-sticky .header-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 84px;
}

/* Ocultar hamburger en desktop */
@media (min-width: 992px) {
	#header.no-sticky .primary-menu-trigger {
		display: none;
	}
}

/* Menu responsive para mobile */
@media (max-width: 991.98px) {
	.internal-menu {
		display: none !important;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--chavez-primary);
		padding: 15px;
		z-index: 1000;
	}

	.internal-menu.show {
		display: block !important;
	}

	.internal-menu-container {
		flex-direction: column !important;
	}

	.internal-menu .menu-item {
		display: block;
		width: 100%;
	}

	.internal-menu .menu-link {
		padding: 12px 15px;
		border-bottom: 1px solid rgba(255,255,255,0.1);
	}
}
/* ----------------------------------------------------------------
	Language Switcher
-----------------------------------------------------------------*/
.language-switcher {
	position: relative;
}

.language-switcher img {
	border-radius: 2px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

.language-dropdown {
	animation: fadeIn 0.2s ease;
}

@keyframes fadeIn {
	from { opacity: 0; transform: translateY(-5px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Responsive language switcher */
@media (max-width: 991.98px) {
	.language-switcher {
		margin-left: auto;
		margin-right: 15px;
	}
}
