/**
 * CSW Maintenance - Estilos Globales y Normalización de WPBakery
 * @package Csw_Maintenance
 * @author Colca Studios
 */
/**
 * CSW Maintenance - Estilos Consolidados
 * @package Csw_Maintenance
 * @author Colca Studios
 */
/**
 * CSW Maintenance - Estilos Globales y Normalización de WPBakery
 * @package Csw_Maintenance
 * @author Colca Studios
 */

:root {
	/* Paleta Colca Studios */
	--primary: #004a99;
	--secondary: #ffcc00;
	--accent: #4caf50;
	--dark: #0f172a;
	--light-bg: #f8fafc;
	--slate: #64748b;

	/* Layout */
	--bg-gradient: radial-gradient(circle at top, #f0f7ff 0%, #e2e8f0 100%);
	--transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
	--shadow-premium: 0 20px 25px -5px rgba(0, 74, 153, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* 1. RESET Y BASE */
body.csw-in-maintenance {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: 'Roboto', sans-serif;
	background: var(--bg-gradient);
	color: var(--dark);
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	overflow-x: hidden;
}

body.csw-in-maintenance * {
	box-sizing: inherit;
}

body.csw-in-maintenance a {
	color: var(--primary);
	text-decoration: none;
}

body.csw-in-maintenance a:hover {
	color: var(--accent);
}

/* 2. NORMALIZACIÓN DE GRILLA WPBAKERY */
body.csw-in-maintenance .vc_row,
body.csw-in-maintenance .vc_row-fluid {
	display: flex;
	flex-wrap: wrap;
	margin-right: -15px;
	margin-left: -15px;
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

body.csw-in-maintenance .vc_row::before,
body.csw-in-maintenance .vc_row::after {
	display: table;
	content: " ";
}

body.csw-in-maintenance .wpb_column {
	position: relative;
	min-height: 1px;
	padding-right: 15px;
	padding-left: 15px;
	width: 100%;
	display: flex;
	margin-bottom: 20px;
}

body.csw-in-maintenance .vc_column-inner {
	width: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
}


/* 4. ELEMENTOS DE CONTENIDO */
.csw-in-maintenance .csw-maintenance-wrapper {
	flex: 1;
	padding: 1.25rem 1.5rem 0 1.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* Logo Box */
.csw-in-maintenance .logo-box {
	margin-bottom: 3rem;
	transition: var(--transition);
}

.csw-in-maintenance .logo-box img {
	width: 260px;
	height: auto;
}

.csw-in-maintenance .logo-box:hover {
	transform: translateY(-10px);
}

/* Tipografía */
.csw-in-maintenance h1,
.csw-in-maintenance .vc_custom_heading h1,
.csw-in-maintenance .vc_custom_heading h2 {
	font-family: 'Roboto', sans-serif;
	color: var(--primary);
	font-weight: 800;
	text-transform: uppercase;
	margin-bottom: 1rem;
	line-height: 1.2;
}

body.csw-in-maintenance h2.csw-custom-heading {
	font-size: 2rem;
	color: var(--primary);
	margin: 30px 0;
}

/* 5. COMPONENTES PERSONALIZADOS */
.csw-in-maintenance .thumb {
	padding: 20px;
	border: 1px solid rgba(0, 74, 153, 0.05);
	box-shadow: var(--shadow-premium);
	border-radius: 20px;
	background-color: #fff;
	overflow: hidden;
	transition: var(--transition);
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.csw-in-maintenance .card:hover,
.csw-in-maintenance .thumb:hover {
	transform: translateY(-10px);
	box-shadow: 0 30px 50px rgba(0, 74, 153, 0.12);
}

.csw-in-maintenance .thumb img {
	max-width: 100%;
	height: auto;
	border-radius: 12px;
	margin-bottom: 15px;
}
.csw-in-maintenance .card {
	transition: var(--transition);
}
.csw-in-maintenance .card p{
	color: var(--slate);
}

/* Cards e Iconos */
body.csw-in-maintenance .csw_icon-picker {
	background: #fff;
	border-radius: 24px;
	padding: 30px;
	border: 1px solid rgba(0, 74, 153, 0.1);
	box-shadow: var(--shadow-premium);
	flex-direction: column !important;
	transition: var(--transition);
}

body.csw-in-maintenance .vc_icon_element-inner {
	background: var(--accent);
	color: #fff;
	width: 70px;
	height: 70px;
	border-radius: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	font-size: 30px;
	margin: auto;
}

/* 6. COMPONENTES DE BAKERY */
body.csw-in-maintenance .vc_section {
	padding: 0;
	position: relative;
	box-sizing: border-box;
}

body.csw-in-maintenance .vc_section.vc_section-has-fill {
	background-color: rgba(0, 74, 153, 0.03);
	border-top: 1px solid rgba(0, 0, 0, 0.05);
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

body.csw-in-maintenance .wpb_single_image {
	margin-bottom: 20px;
	display: inline-block;
	width: 100%;
}

body.csw-in-maintenance .wpb_single_image.vc_align_center {
	text-align: center;
}

body.csw-in-maintenance .vc_single_image-wrapper {
	display: inline-block;
	max-width: 100%;
	transition: var(--transition);
}

body.csw-in-maintenance .vc_box_circle {
	border-radius: 50% !important;
	overflow: hidden;
}

body.csw-in-maintenance .vc_single_image-img,
body.csw-in-maintenance .wpb_wrapper img {
	height: auto;
	max-width: 100%;
	display: block;
	margin: 0 auto;
}

body.csw-in-maintenance .wpb_text_column p {
	line-height: 1.6;
	color: var(--slate);
}

/* 7. UTILIDADES Y ANIMACIONES */
.csw-in-maintenance .footer {
	padding: 2.5rem;
	border-top: 1px solid #e2e8f0;
	text-align: center;
}

.csw-in-maintenance hr {
	border: 0;
	height: 1px;
	background: #cbd5e1;
	margin: 40px 0;
	width: 100%;
}

.csw-in-maintenance .reveal {
	opacity: 0;
	transform: translateY(20px);
	animation: revealUp 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

@keyframes revealUp {
	to { opacity: 1; transform: translateY(0); }
}

.csw-in-maintenance .vc_heading_text p:empty { display: none; }

/* 3. MEDIA QUERIES GRILLA */
@media (min-width: 768px) {
	body.csw-in-maintenance .wpb_column { float: left; }
	body.csw-in-maintenance .vc_col-sm-1  { width: 8.33333333%; }
	body.csw-in-maintenance .vc_col-sm-2  { width: 16.66666667%; }
	body.csw-in-maintenance .vc_col-sm-3  { width: 25%; }
	body.csw-in-maintenance .vc_col-sm-4  { width: 33.33333333%; }
	body.csw-in-maintenance .vc_col-sm-5  { width: 41.66666667%; }
	body.csw-in-maintenance .vc_col-sm-6  { width: 50%; }
	body.csw-in-maintenance .vc_col-sm-7  { width: 58.33333333%; }
	body.csw-in-maintenance .vc_col-sm-8  { width: 66.66666667%; }
	body.csw-in-maintenance .vc_col-sm-9  { width: 75%; }
	body.csw-in-maintenance .vc_col-sm-10 { width: 83.33333333%; }
	body.csw-in-maintenance .vc_col-sm-11 { width: 91.66666667%; }
	body.csw-in-maintenance .vc_col-sm-12 { width: 100%; }
}