/* ============================================================
   MUNDO GALBER — custom.css
   Identidad Gráfica Oficial v1.0
   Paleta: Azul Galber #0047BA · Azul claro #BAC8E2 · Negro
   Tipografía: Source Sans Pro (display) + Inter (textos)
   ============================================================ */

/* ── Variables globales — Manual de Identidad Galber ── */
:root {
	/* Paleta primaria */
	--galber-blue:        #0047BA;   /* Pantone 2728 C — color institucional */
	--galber-blue-dark:   #003590;   /* hover / sticky más oscuro            */
	--galber-blue-light:  #BAC8E2;   /* Pantone 2708 C — acento claro        */
	--galber-black:       #000000;   /* Pantone Black C                      */

	/* Paleta secundaria (manual pág. 14) */
	--galber-sky:         #68B1E2;   /* Pantone 292 C  */
	--galber-green:       #4CA585;   /* Pantone 7723 C */
	--galber-yellow:      #EFC462;   /* Pantone 141 C  */
	--galber-orange:      #E79C58;   /* Pantone 157 C  */

	/* Neutros */
	--galber-white:       #ffffff;
	--galber-gray:        #80878e;
	--galber-text:        #5a5a5a;
	--galber-heading:     #111111;
	--galber-light:       #f4f6fb;
	--galber-border:      #dde3ef;

	--transition: all 0.35s ease;
}

/* ============================================================
   FUENTES — Source Sans Pro + Inter (Manual pág. 10–11)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,300;1,400;1,600;1,700&family=Inter:wght@200;300;400;500;600;700;900&display=swap');

@font-face {
	font-family: 'et-line';
	src: url('../fonts/et-line.eot');
	src: url('../fonts/et-line.eot?#iefix') format('embedded-opentype'),
	     url('../fonts/et-line.woff') format('woff'),
	     url('../fonts/et-line.ttf') format('truetype'),
	     url('../fonts/et-line.svg#et-line') format('svg');
	font-weight: normal;
	font-style: normal;
}

/* ============================================================
   RESET / BASE
   ============================================================ */
*, *::before, *::after {
	box-sizing: border-box;
}

body {
	font-family: 'Inter', sans-serif;         /* tipografía secundaria — cuerpo de texto */
	color: var(--galber-text);
	font-size: 16px;
	background-color: var(--galber-white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Source Sans 3', sans-serif; /* tipografía primaria — display */
	color: var(--galber-heading);
	margin-top: 0;
	margin-bottom: 0.5rem;
	line-height: 2rem;
	font-weight: 700;
}

h1 span, h2 span, h3 span, h4 span, h5 span, h6 span {
	color: var(--galber-blue);
}

h1 {
	font-size: 45px;
	line-height: 3.5rem;
	font-weight: 700;
}

p,
.sppb-addon-text-block .sppb-addon-content,
.sppb-addon-text {
	font-family: 'Inter', sans-serif;
	margin-top: 0;
	margin-bottom: 1.5rem;
	line-height: 1.75rem;
	color: #75808b;
}

ol, ul, dl {
	margin-top: 0;
	margin-bottom: 1rem;
	list-style: none;
}

ol ol, ul ul, ol ul, ul ol {
	margin-bottom: 0;
}

a {
	text-decoration: none;
	background-color: transparent;
	-webkit-text-decoration-skip: objects;
	color: var(--galber-blue);
	transition: var(--transition);
}

a:hover {
	color: var(--galber-blue-dark);
}

blockquote {
	padding: 12px 20px 8px 20px;
	margin: 0 0 20px;
	font-size: 17px;
	border-left: 4px solid var(--galber-blue);
	background: var(--galber-light);
	border-radius: 0 4px 4px 0;
}

.subtext {
	display: block;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: var(--galber-blue);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* ============================================================
   HEADER — siempre visible, fondo blanco
   ============================================================ */

#sp-header {
	height: unset;
	margin: 0;
	padding: 0;
	position: relative !important;
	top: 0;
	width: 100%;
	z-index: 999;
	box-shadow: 0 2px 12px rgba(0,0,0,0.07);
	background: var(--galber-white) !important;
	transition: var(--transition);
}

/* Sticky: fondo blanco sólido con sombra */
#sp-header.header-sticky {
	position: fixed !important;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9999;
	background: var(--galber-white) !important;
	box-shadow: 0 2px 16px rgba(0,0,0,0.12) !important;
	transition: all 0.4s ease;
	animation-name: menu_sticky;
	animation-duration: 0.50s;
	animation-timing-function: ease-out;
}

@keyframes menu_sticky {
	0%   { margin-top: -80px; opacity: 0; }
	100% { margin-top: 0;     opacity: 1; }
}

@keyframes spFadeInDown {
	0%   { transform: translateY(-20px); opacity: 0; }
	100% { transform: translateY(0);     opacity: 1; }
}

/* Logo — sin filtro, tamaño natural */
#sp-logo img {
	filter: none !important;
	opacity: 1 !important;
	transition: opacity 0.3s ease;
}

#sp-header .logo {
	height: inherit;
	display: inline-flex;
	margin: 0;
	align-items: center;
}

#sp-header #sp-logo { display: table; margin: auto; }
#sp-header #sp-menu  { display: table; margin: auto; }

.logo-image,
.logo-image-phone {
	height: unset !important;
}

/* ── Menú principal ── */
.sp-megamenu-parent > li > a,
.sp-megamenu-parent > li > span {
	display: inline-block;
	line-height: 20px;
	margin: 0;
	padding: 28px 20px;
	font-size: 13px;
	text-transform: uppercase;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: var(--galber-gray) !important;
	transition: color 0.25s ease;
}

/* Ocultar flecha de submenú */
body.ltr .sp-megamenu-parent > li.sp-has-child > a::after,
body.ltr .sp-megamenu-parent > li.sp-has-child > span::after {
	display: none;
}

/* Ítem activo */
.sp-megamenu-parent > li.active > a,
.sp-megamenu-parent > li.active:hover > a {
	color: var(--galber-blue) !important;
	font-weight: 600;
}

/* Hover */
.sp-megamenu-parent > li:hover > a {
	color: var(--galber-blue) !important;
}

/* Acento azul bajo el ítem activo */
.sp-megamenu-parent > li.active > a::after {
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	background: var(--galber-blue);
	margin-top: 4px;
	border-radius: 2px;
}

/* Ícono hamburguesa */
#offcanvas-toggler > .fa {
	color: var(--galber-blue);
}

.burger-icon > span {
	background-color: var(--galber-blue) !important;
}

/* ── Submenú ── */
.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
	box-shadow: 0 8px 30px rgba(0,71,186,0.12);
	padding: 8px 0;
	border-top: 3px solid var(--galber-blue);
	border-radius: 0 0 6px 6px;
}

.sp-megamenu-parent .sp-mega-group {
	list-style: none;
	padding: 20px 24px;
	margin: 0;
}

.sp-megamenu-parent .sp-mega-group > li > a {
	display: block;
	text-transform: uppercase;
	font-size: 13px;
	font-weight: 600;
	padding: 8px 0;
	color: var(--galber-heading);
}

.sp-megamenu-parent .sp-mega-group:hover > li > a {
	color: var(--galber-blue);
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a {
	color: var(--galber-gray);
	padding: 9px 20px;
	display: block;
	text-transform: none;
	font-size: 14px;
	font-weight: 400;
	transition: var(--transition);
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a:hover {
	color: var(--galber-blue);
	padding-left: 26px;
}

/* ============================================================
   BOTONES
   ============================================================ */
#sp-header .sppb-btn,
#sp-component .sppb-btn,
#sp-footer .sppb-btn {
	font-size: 14px;
	font-weight: 600;
	border-radius: 4px;
	width: auto;
	color: var(--galber-white);
	display: inline-block;
	cursor: pointer;
	border: none;
	line-height: 1.5;
	padding: 12px 28px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: var(--transition);
}

.sppb-btn.sppb-btn-primary {
	background: var(--galber-blue);
}

#sp-header .sppb-btn:hover,
#sp-footer .sppb-btn:hover,
#sp-component .sppb-btn:hover {
	background: var(--galber-blue-dark);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0,71,186,0.28);
}

.sppb-btn-link {
	font-weight: 400;
	color: var(--galber-blue) !important;
	background-color: transparent !important;
}

.sppb-btn-link:hover {
	color: var(--galber-blue-dark) !important;
	text-decoration: underline !important;
	background-color: transparent !important;
}

/* Outline buttons */
.sppb-btn-primary.sppb-btn-outline {
	color: var(--galber-blue) !important;
	background-color: transparent !important;
	border: 2px solid var(--galber-blue) !important;
}
.sppb-btn-primary.sppb-btn-outline:hover {
	color: var(--galber-white) !important;
	background-color: var(--galber-blue) !important;
}

/* ============================================================
   PAGE TITLE
   ============================================================ */
.sp-page-title {
	padding: 10rem 0 5rem 0;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	background-attachment: scroll;
	text-align: center;
	position: relative;
}

/* Overlay oscuro sobre imagen de fondo */
.sp-page-title::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(17,17,17,0.45);
	z-index: 0;
}

.sp-page-title > * {
	position: relative;
	z-index: 1;
}

.sp-page-title .sp-page-title-heading {
	font-size: 42px;
	line-height: 3.2rem;
	font-weight: 600;
	margin-bottom: 1rem;
	color: var(--galber-white);
}

.sp-page-title .sp-page-title-sub-heading {
	font-weight: 400;
	margin-top: 0;
	margin-bottom: 0.5rem;
	line-height: 2rem;
	color: rgba(255,255,255,0.75);
	font-size: 1rem;
}

/* ============================================================
   MAIN BODY / COMPONENTE
   ============================================================ */
#sp-main-body {
	padding: 0;
}

.com-content #sp-component  { padding-top: 80px;  padding-bottom: 80px; }
.com-j2store #sp-component  { padding-top: 80px;  padding-bottom: 80px; }
.com-search  #sp-component  { padding-top: 80px;  padding-bottom: 80px; }

/* ============================================================
   BLOG — Lista de artículos
   ============================================================ */
.article-list .article {
	margin-bottom: 3rem !important;
	padding: 0;
	border: none;
	border-radius: 6px;
	overflow: hidden;
	transition: var(--transition);
}

.article-list .article:hover {
	box-shadow: 0 6px 24px rgba(0,0,0,0.08);
	transform: translateY(-2px);
}

.article-list .article .article-intro-image,
.article-list .article .article-featured-video,
.article-list .article .article-featured-audio,
.article-list .article .article-feature-gallery {
	margin: 0;
	border-radius: 6px 6px 0 0;
	overflow: hidden;
}

.article-list .article .article-intro-image img {
	width: 100%;
	border-radius: 6px 6px 0 0;
	transition: transform 0.4s ease;
}

.article-list .article:hover .article-intro-image img {
	transform: scale(1.04);
}

.article-list .article .article-header h1,
.article-list .article .article-header h2 {
	color: var(--galber-heading);
	line-height: 2rem;
	margin: 1.5rem 0 0.75rem 0;
	font-size: 1.5rem;
	font-weight: 600;
	transition: color 0.2s;
}

.article-list .article .article-header h2 a:hover {
	color: var(--galber-blue);
}

.article-info {
	border-bottom: 1px solid var(--galber-border);
	border-top: 1px solid var(--galber-border);
	margin: 0.75rem 0;
	padding: 8px 0;
	width: 100%;
	font-size: 13px;
	color: var(--galber-gray);
}

.article-info > span {
	font-size: 13px;
}

/* Artículo individual */
.article-details .article-full-image {
	text-align: center;
	margin-bottom: 0;
}

.article-details .article-full-image img {
	display: block;
	border-radius: 6px;
	width: 100%;
}

.article-details .article-header h1,
.article-details .article-header h2 {
	font-size: 2rem;
	margin-top: 1.5rem !important;
	margin-bottom: 0.5rem !important;
	line-height: 2.6rem;
}

/* Paginación */
.page-item.active .page-link,
.page-item.active .page-link:hover {
	z-index: 1;
	color: var(--galber-white);
	background-color: var(--galber-blue);
	border-color: var(--galber-blue);
}

.page-link {
	position: relative;
	margin-left: 0;
	line-height: 1.5;
	border: none;
	background: var(--galber-light);
	color: var(--galber-heading);
	padding: 10px 18px;
	font-weight: 700;
	margin: 0 4px;
	border-radius: 4px;
	transition: var(--transition);
}

.page-link:hover {
	background: var(--galber-blue);
	color: var(--galber-white);
}

/* ============================================================
   SIDEBAR
   ============================================================ */
.sidebar-class .sppb-row-container { width: 100% !important; }
.sidebar-class.com-sppagebuilder #sp-main-body { margin: 0 auto; }

@media (min-width: 768px)  { .sidebar-class.com-sppagebuilder #sp-main-body { max-width: 750px; } }
@media (min-width: 992px)  { .sidebar-class.com-sppagebuilder #sp-main-body { max-width: 970px; } }
@media (min-width: 1200px) { .sidebar-class.com-sppagebuilder #sp-main-body { max-width: 1170px; } }

#sp-right, #sp-left {
	padding-top: 80px;
	padding-bottom: 80px;
	position: relative;
}

#sp-left .sp-module,
#sp-right .sp-module {
	margin-top: 2.5rem;
	border: none;
	padding: 0;
}

#sp-left .sp-module .sp-module-title,
#sp-right .sp-module .sp-module-title {
	color: var(--galber-heading);
	font-size: 1.25rem;
	font-weight: 600;
	padding-bottom: 10px;
	margin-bottom: 16px;
	border-bottom: 2px solid var(--galber-blue);
}

#sp-left .sp-module ul > li > a,
#sp-right .sp-module ul > li > a {
	display: block;
	padding: 6px 0;
	color: var(--galber-gray);
	transition: var(--transition);
}

#sp-left .sp-module ul > li > a:hover,
#sp-right .sp-module ul > li > a:hover {
	color: var(--galber-blue);
	padding-left: 6px;
}

/* Noticias recientes sidebar */
.latestnews li {
	margin-bottom: 1rem !important;
}

.latestnews li .text a {
	color: var(--galber-heading);
	transition: var(--transition);
	display: block;
	margin-bottom: .5rem !important;
	font-weight: 500;
}

.latestnews li .text a:hover {
	color: var(--galber-blue);
}

.latestnews li .post-meta {
	font-size: 12px;
	color: #aaa;
	margin-bottom: 10px;
}

/* Tags */
.tagspopular ul { margin: 0; padding: 0; }
.tagspopular ul li { display: inline-block !important; }
.tagspopular ul li a {
	background: var(--galber-light);
	padding: 7px 14px !important;
	color: var(--galber-heading);
	border-radius: 4px;
	margin: 4px 6px 4px 0;
	display: inline-block;
	font-size: 13px;
	transition: var(--transition);
}
.tagspopular ul li a:hover {
	background: var(--galber-blue);
	color: var(--galber-white);
}

/* ============================================================
   FOOTER
   ============================================================ */
#sp-footer { font-size: unset; }

/* ============================================================
   CARDS / GENERAL
   ============================================================ */
.card {
	position: relative;
	background-color: var(--galber-white);
	border: 1px solid rgba(0,0,0,.08);
	border-radius: 8px;
	padding: 1.5rem !important;
	transition: var(--transition);
}

.card:hover {
	box-shadow: 0 6px 24px rgba(0,0,0,0.09);
	transform: translateY(-2px);
}

.call-to-action {
	border: 2px solid var(--galber-border);
	padding: 20px !important;
	overflow: hidden;
	border-radius: 6px;
}

/* Pricing */
.sppb-pricing-box .sppb-pricing-features,
.sppb-pricing-box .sppb-pricing-price-container {
	margin: 0;
}

/* ============================================================
   OFFCANVAS MENU
   ============================================================ */
.sp-megamenu-wrapper,
#sp-header > .container > .container-inner > .row > div > .sp-column,
#sp-header > .row > div > .sp-column {
	display: block !important;
}

#sp-header .sp-module {
	margin-left: 0px !important;
}

.offcanvas-menu > .d-flex {
	padding: 0 !important;
}

.offcanvas-menu > .d-flex > .logo,
.breadcrumb .float-start {
	display: none !important;
}

/* ============================================================
   SCROLL TO TOP
   ============================================================ */
.sp-scroll-up {
	background: var(--galber-blue) !important;
	color: var(--galber-white) !important;
	border-radius: 4px;
	width: 40px;
	height: 40px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	transition: var(--transition);
}

.sp-scroll-up:hover {
	background: var(--galber-blue-dark) !important;
	transform: translateY(-3px);
}

/* ============================================================
   RESPONSIVE — texto y contenedores
   ============================================================ */
.text-start, .text-left   { text-align: left !important; }
.text-end,   .text-right  { text-align: right !important; }

@media (min-width: 576px) {
	.text-sm-start, .text-sm-left  { text-align: left !important; }
	.text-sm-end,   .text-sm-right { text-align: right !important; }
	.text-sm-center                { text-align: center !important; }
}
@media (min-width: 768px) {
	.text-md-start, .text-md-left  { text-align: left !important; }
	.text-md-end,   .text-md-right { text-align: right !important; }
	.text-md-center                { text-align: center !important; }
}
@media (min-width: 992px) {
	.text-lg-start, .text-lg-left  { text-align: left !important; }
	.text-lg-end,   .text-lg-right { text-align: right !important; }
	.text-lg-center                { text-align: center !important; }
}
@media (min-width: 1200px) {
	.text-xl-start, .text-xl-left  { text-align: left !important; }
	.text-xl-end,   .text-xl-right { text-align: right !important; }
	.text-xl-center                { text-align: center !important; }
}

/* ── Footer containers ── */
@media (min-width: 320px)  { #sp-footer .sppb-container-inner { max-width: 400px;  width: 100%; padding-right: 15px; padding-left: 15px; margin: 0 auto; } }
@media (min-width: 576px)  { #sp-footer .sppb-container-inner { max-width: 540px;  width: 100%; padding-right: 15px; padding-left: 15px; margin: 0 auto; } }
@media (min-width: 768px)  { #sp-footer .sppb-container-inner { max-width: 720px;  width: 100%; padding-right: 15px; padding-left: 15px; margin: 0 auto; } }
@media (min-width: 992px)  { #sp-footer .sppb-container-inner { max-width: 960px;  width: 100%; padding-right: 15px; padding-left: 15px; margin: 0 auto; } }
@media (min-width: 1200px) { #sp-footer .sppb-container-inner { max-width: 1140px; width: 100%; padding-right: 15px; padding-left: 15px; margin: 0 auto; } }
@media (min-width: 1400px) { #sp-footer .sppb-container-inner { max-width: 1320px; width: 100%; padding-right: 15px; padding-left: 15px; margin: 0 auto; } }

@media (min-width: 320px)  { #sp-top1 .sppb-container-inner { max-width: 400px;  width: 100%; padding-right: 15px; padding-left: 15px; margin: 0 auto; } }
@media (min-width: 576px)  { #sp-top1 .sppb-container-inner { max-width: 540px;  width: 100%; padding-right: 15px; padding-left: 15px; margin: 0 auto; } }
@media (min-width: 768px)  { #sp-top1 .sppb-container-inner { max-width: 100%;   width: 100%; padding-right: 15px; padding-left: 15px; margin: 0 auto; } }
@media (min-width: 992px)  { #sp-top1 .sppb-container-inner { max-width: 960px;  width: 100%; padding-right: 15px; padding-left: 15px; margin: 0 auto; } }
@media (min-width: 1200px) { #sp-top1 .sppb-container-inner { max-width: 1140px; width: 100%; padding-right: 15px; padding-left: 15px; margin: 0 auto; } }

@media (min-width: 1400px) { #sp-banner .sppb-container-inner   { max-width: 1320px; width: 100%; margin: 0 auto; padding-right: 15px; padding-left: 15px; } }
@media (min-width: 1400px) { #sp-bottom1 .sppb-container-inner  { max-width: 1320px; width: 100%; margin: 0 auto; padding-right: 15px; padding-left: 15px; } }
@media (min-width: 1400px) { #sp-top3 .sppb-container-inner     { max-width: 1320px; width: 100%; margin: 0 auto; padding-right: 15px; padding-left: 15px; } }
@media (min-width: 1400px) { .contained-row .sppb-container-inner { max-width: 1320px; width: 100%; margin: 0 auto; padding-right: 15px; padding-left: 15px; } }
@media (min-width: 1400px) { .sppb-row-container                 { max-width: 1320px; width: 100%; margin: 0 auto; padding-right: 15px; padding-left: 15px; } }
@media (min-width: 1400px) { .sp-slider .sppb-container          { max-width: 1320px; width: 100%; margin: 0 auto; padding-right: 15px; padding-left: 15px; } }

/* ============================================================
   MEDIA — flexbox helpers
   ============================================================ */
.media {
	display: flex;
	align-items: flex-start;
}

.media-body {
	flex: 1;
}

/* ============================================================
   FONT AWESOME — et-line icons
   ============================================================ */
[data-icon]:before {
	font-family: 'et-line';
	content: attr(data-icon);
	speak: none;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	display: inline-block;
}

.icon-mobile, .icon-laptop, .icon-desktop, .icon-tablet, .icon-phone, .icon-document,
.icon-documents, .icon-search, .icon-clipboard, .icon-newspaper, .icon-notebook,
.icon-book-open, .icon-browser, .icon-calendar, .icon-presentation, .icon-picture,
.icon-pictures, .icon-video, .icon-camera, .icon-printer, .icon-toolbox,
.icon-briefcase, .icon-wallet, .icon-gift, .icon-bargraph, .icon-grid, .icon-expand,
.icon-focus, .icon-edit, .icon-adjustments, .icon-ribbon, .icon-hourglass, .icon-lock,
.icon-megaphone, .icon-shield, .icon-trophy, .icon-flag, .icon-map, .icon-puzzle,
.icon-basket, .icon-envelope, .icon-streetsign, .icon-telescope, .icon-gears,
.icon-key, .icon-paperclip, .icon-attachment, .icon-pricetags, .icon-lightbulb,
.icon-layers, .icon-pencil, .icon-tools, .icon-tools-2, .icon-scissors,
.icon-paintbrush, .icon-magnifying-glass, .icon-circle-compass, .icon-linegraph,
.icon-mic, .icon-strategy, .icon-beaker, .icon-caution, .icon-recycle, .icon-anchor,
.icon-profile-male, .icon-profile-female, .icon-bike, .icon-wine, .icon-hotairballoon,
.icon-globe, .icon-genius, .icon-map-pin, .icon-dial, .icon-chat, .icon-heart,
.icon-cloud, .icon-upload, .icon-download, .icon-target, .icon-hazardous,
.icon-piechart, .icon-speedometer, .icon-global, .icon-compass, .icon-lifesaver,
.icon-clock, .icon-aperture, .icon-quote, .icon-scope, .icon-alarmclock,
.icon-refresh, .icon-happy, .icon-sad, .icon-facebook, .icon-twitter,
.icon-googleplus, .icon-rss, .icon-tumblr, .icon-linkedin, .icon-dribbble {
	font-family: 'et-line';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	display: inline-block;
}

.icon-mobile:before        { content: "\e000"; }
.icon-laptop:before        { content: "\e001"; }
.icon-desktop:before       { content: "\e002"; }
.icon-tablet:before        { content: "\e003"; }
.icon-phone:before         { content: "\e004"; }
.icon-document:before      { content: "\e005"; }
.icon-documents:before     { content: "\e006"; }
.icon-search:before        { content: "\e007"; }
.icon-clipboard:before     { content: "\e008"; }
.icon-newspaper:before     { content: "\e009"; }
.icon-notebook:before      { content: "\e00a"; }
.icon-book-open:before     { content: "\e00b"; }
.icon-browser:before       { content: "\e00c"; }
.icon-calendar:before      { content: "\e00d"; }
.icon-presentation:before  { content: "\e00e"; }
.icon-picture:before       { content: "\e00f"; }
.icon-pictures:before      { content: "\e010"; }
.icon-video:before         { content: "\e011"; }
.icon-camera:before        { content: "\e012"; }
.icon-printer:before       { content: "\e013"; }
.icon-toolbox:before       { content: "\e014"; }
.icon-briefcase:before     { content: "\e015"; }
.icon-wallet:before        { content: "\e016"; }
.icon-gift:before          { content: "\e017"; }
.icon-bargraph:before      { content: "\e018"; }
.icon-grid:before          { content: "\e019"; }
.icon-expand:before        { content: "\e01a"; }
.icon-focus:before         { content: "\e01b"; }
.icon-edit:before          { content: "\e01c"; }
.icon-adjustments:before   { content: "\e01d"; }
.icon-ribbon:before        { content: "\e01e"; }
.icon-hourglass:before     { content: "\e01f"; }
.icon-lock:before          { content: "\e020"; }
.icon-megaphone:before     { content: "\e021"; }
.icon-shield:before        { content: "\e022"; }
.icon-trophy:before        { content: "\e023"; }
.icon-flag:before          { content: "\e024"; }
.icon-map:before           { content: "\e025"; }
.icon-puzzle:before        { content: "\e026"; }
.icon-basket:before        { content: "\e027"; }
.icon-envelope:before      { content: "\e028"; }
.icon-streetsign:before    { content: "\e029"; }
.icon-telescope:before     { content: "\e02a"; }
.icon-gears:before         { content: "\e02b"; }
.icon-key:before           { content: "\e02c"; }
.icon-paperclip:before     { content: "\e02d"; }
.icon-attachment:before    { content: "\e02e"; }
.icon-pricetags:before     { content: "\e02f"; }
.icon-lightbulb:before     { content: "\e030"; }
.icon-layers:before        { content: "\e031"; }
.icon-pencil:before        { content: "\e032"; }
.icon-tools:before         { content: "\e033"; }
.icon-tools-2:before       { content: "\e034"; }
.icon-scissors:before      { content: "\e035"; }
.icon-paintbrush:before    { content: "\e036"; }
.icon-magnifying-glass:before { content: "\e037"; }
.icon-circle-compass:before   { content: "\e038"; }
.icon-linegraph:before     { content: "\e039"; }
.icon-mic:before           { content: "\e03a"; }
.icon-strategy:before      { content: "\e03b"; }
.icon-beaker:before        { content: "\e03c"; }
.icon-caution:before       { content: "\e03d"; }
.icon-recycle:before       { content: "\e03e"; }
.icon-anchor:before        { content: "\e03f"; }
.icon-profile-male:before  { content: "\e040"; }
.icon-profile-female:before { content: "\e041"; }
.icon-bike:before          { content: "\e042"; }
.icon-wine:before          { content: "\e043"; }
.icon-hotairballoon:before { content: "\e044"; }
.icon-globe:before         { content: "\e045"; }
.icon-genius:before        { content: "\e046"; }
.icon-map-pin:before       { content: "\e047"; }
.icon-dial:before          { content: "\e048"; }
.icon-chat:before          { content: "\e049"; }
.icon-heart:before         { content: "\e04a"; }
.icon-cloud:before         { content: "\e04b"; }
.icon-upload:before        { content: "\e04c"; }
.icon-download:before      { content: "\e04d"; }
.icon-target:before        { content: "\e04e"; }
.icon-hazardous:before     { content: "\e04f"; }
.icon-piechart:before      { content: "\e050"; }
.icon-speedometer:before   { content: "\e051"; }
.icon-global:before        { content: "\e052"; }
.icon-compass:before       { content: "\e053"; }
.icon-lifesaver:before     { content: "\e054"; }
.icon-clock:before         { content: "\e055"; }
.icon-aperture:before      { content: "\e056"; }
.icon-quote:before         { content: "\e057"; }
.icon-scope:before         { content: "\e058"; }
.icon-alarmclock:before    { content: "\e059"; }
.icon-refresh:before       { content: "\e05a"; }
.icon-happy:before         { content: "\e05b"; }
.icon-sad:before           { content: "\e05c"; }
.icon-facebook:before      { content: "\e05d"; }
.icon-twitter:before       { content: "\e05e"; }
.icon-googleplus:before    { content: "\e05f"; }
.icon-rss:before           { content: "\e060"; }
.icon-tumblr:before        { content: "\e061"; }
.icon-linkedin:before      { content: "\e062"; }
.icon-dribbble:before      { content: "\e063"; }

/* Font Awesome fix */
a[class*="fa-"]::before,
ul.list-styled li::before {
	font-family: "Font Awesome 5 Free" !important;
	font-weight: 900 !important;
}

a[class*="fa-"]::before,
a[class*="fa-"] > i {
	font-family: "Font Awesome 5 Brands" !important;
	font-weight: 400 !important;
}

/* ============================================================
   PARTICLES (hero sections)
   ============================================================ */
.particles-js-canvas-el {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* ============================================================
   OWL CAROUSEL
   ============================================================ */
.owl-theme .owl-controls {
	margin-top: 40px;
	text-align: center;
}

.owl-theme .owl-controls .owl-page span {
	display: block;
	opacity: 1;
	background: #ccc;
	border-radius: 100%;
	height: 10px;
	margin: 0 5px;
	width: 10px;
}

.owl-theme .owl-controls .owl-page.active span,
.owl-theme .owl-controls.clickable .owl-page:hover span {
	background: var(--galber-blue);
}

/* ============================================================
   PORTFOLIO
   ============================================================ */
.portfolio-column #sp-main-body,
.portfolio-column2 #sp-main-body,
.portfolio-mosaic #sp-main-body {
	padding: 80px 0;
}

.sp-simpleportfolio .sp-simpleportfolio-filter {
	margin-bottom: 30px;
	text-align: center;
}

.sp-simpleportfolio .sp-simpleportfolio-filter > ul > li > a {
	background-color: var(--galber-light);
	border: 1px solid var(--galber-border);
	color: var(--galber-gray);
	cursor: pointer;
	display: inline-block;
	font: 400 12px/32px 'Inter', sans-serif;
	margin: 0 8px 10px 0;
	padding: 0 17px;
	transition: var(--transition);
	border-radius: 4px;
}

.sp-simpleportfolio .sp-simpleportfolio-filter > ul > li.active > a {
	background-color: var(--galber-blue);
	border-color: var(--galber-blue);
	color: var(--galber-white);
}

/* ============================================================
   J4 — fixes de compatibilidad
   ============================================================ */
#sp-top {
	color: var(--galber-text);
}

/* ============================================================
   IPAD — Tablet 768px a 1024px
   ============================================================ */

/* Header fijo y visible */
@media (min-width: 768px) and (max-width: 1024px) {

    /* Header siempre blanco y visible */
    #sp-header,
    #sp-header.header-sticky {
        position: relative !important;
        background: var(--galber-white) !important;
        box-shadow: 0 2px 12px rgba(0,71,186,0.10) !important;
        height: auto !important;
    }

    /* Logo visible */
    #sp-logo img {
        filter: none !important;
        opacity: 1 !important;
        max-height: 40px;
        width: auto;
    }

    /* Ocultar menú desktop, mostrar hamburguesa */
    .sp-megamenu-parent.d-lg-block {
        display: none !important;
    }

    #offcanvas-toggler,
    .offcanvas-toggler-right,
    .mega_offcanvas {
        display: flex !important;
    }

    .burger-icon > span {
        background-color: var(--galber-blue) !important;
    }

    /* Imágenes responsivas */
    img {
        max-width: 100% !important;
        height: auto !important;
    }

    .article-intro-image img,
    .article-full-image img,
    .sppb-img-responsive {
        width: 100% !important;
        height: auto !important;
    }

    /* Contenedor principal */
    #sp-component,
    .com-content #sp-component {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    /* Columnas que se apilan */
    .sppb-col-md-4,
    .sppb-col-md-6,
    .sppb-col-sm-6 {
        max-width: 100% !important;
        flex-basis: 100% !important;
    }

    /* Artículos en lista */
    .col-lg-6 {
        max-width: 50% !important;
        flex-basis: 50% !important;
    }

    /* Page title padding reducido */
    .sp-page-title {
        padding: 6rem 0 3rem 0 !important;
    }
}