@charset "UTF-8";

/* Reset & Body */
body {
	font-family: source-sans-pro, sans-serif;
	background-color: #f2f2f2;
	margin: 0;
	padding: 0;
	font-style: normal;
	font-weight: 200;
}

/* Container principal (Ancho controlado y limpio) */
.container {
	width: 100%; /* Ancho fluido: se adapta a la resolución */
	margin-left: auto;
	margin-right: auto;
	min-height: 100vh; /* Reemplaza el alto fijo de 1000px para que no se corte el contenido */
	background-color: #FFFFFF;
}

/* Navigation & Header */
header {
	width: 100%;
	background-color: #52bad5;
	border-bottom: 1px solid #2C9AB7;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	padding: 10px 0;
}

header a {
	text-decoration: none;
}

.logo {
	color: #fff;
	font-weight: bold;
	margin: 0 0 0 25px;
	letter-spacing: 4px;
}

nav {
	margin-right: 25px;
}

header nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 20px;
}

nav ul li {
	color: #FFFFFF;
	font-size: 14px;
	letter-spacing: 2px;
	font-weight: bold;
	transition: all 0.3s linear;
}

nav ul li img {
	vertical-align: middle;
	border-radius: 2px;
}

ul li a {
	color: #FFFFFF;
	text-decoration: none;
}

ul li:hover a {
	color: #2C9AB7;
}

/* Home Section */
.home {
	background-color: #B3B3B3;
	padding-top: 100px;
	padding-bottom: 100px;
}

.home_header {
	color: #FFFFFF;
	text-align: center;
	margin: 0;
	letter-spacing: 4px;
}

.light {
	font-weight: bold;
	color: #717070;
}

.tagline {
	text-align: center;
	color: #FFFFFF;
	margin-top: 15px;
	font-weight: lighter;
	text-transform: uppercase;
	letter-spacing: 1px;
} Levinas d'electricitat i butlletins */

/* About Section (Texto gris en columnas perfectamente alineadas) */
.about {
	padding: 40px 25px;
	background-color: #FFFFFF;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 20px;
}

.text_column {
	flex: 1 1 280px; /* Distribuye las columnas de forma responsiva */
	text-align: justify;
	font-weight: lighter;
	line-height: 25px;
	color: #A3A3A3;
	box-sizing: border-box;
	padding: 10px;
}

.text_column a {
	color: #52bad5;
	text-decoration: none;
}

.text_column a:hover {
	text-decoration: underline;
}

/* Gallery Section (Sección de fotos de servicios) */
.gallery {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
	padding: 40px 25px;
	background-color: #FFFFFF;
}

.footer_column {
	flex: 1 1 350px;
	max-width: 400px;
	text-align: center;
	box-sizing: border-box;
}

.footer_column h2 {
	color: #717070;
	font-size: 20px;
	margin-bottom: 15px;
}

.footer_column h2 a {
	color: #717070;
	text-decoration: none;
}

.footer_column h2 a:hover {
	color: #52bad5;
}

.footer_column p {
	margin-top: 15px;
}

.footer_column p a {
	color: #52bad5;
	text-decoration: none;
	font-weight: bold;
}

.cards {
	width: 100%;
	height: 300px;
	object-fit: cover; /* Evita que las imágenes se estiren o distorsionen */
	border-radius: 4px;
	box-shadow: 0 4px 6px rgba(0,0,0,0.05);
	transition: transform 0.3s ease;
}

.cards:hover {
	transform: scale(1.02);
}

/* Parallax Sections */
.banner {
	background-color: #2D9AB7;
	background-image: url('../images/parallax.png');
	height: auto;
	min-height: 200px;
	background-attachment: fixed;
	background-size: cover;
	background-repeat: no-repeat;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	padding-right: 50px;
	box-sizing: border-box;
}

.parallax {
	color: #FFFFFF;
	text-align: right;
	letter-spacing: 2px;
	margin: 0;
	font-size: 24px;
}

.parallax_description {
	color: #FFFFFF;
	text-align: right;
	max-width: 50%;
	font-weight: lighter;
	line-height: 30px;
	margin-top: 10px;
}

/* Contact Section */
.contact {
	background-color: #B3B3B3;
	padding: 80px 20px;
	text-align: center;
}

/* ==========================================================================
   SECCIÓN DE CONTACTO - RECTÁNGULO ADAPTATIVO CORREGIDO
   ========================================================================== */
.button2 {
	display: inline-flex;          /* Permite alinear el contenido de forma interna */
	justify-content: center;
	align-items: center;
	width: auto !important;        /* Forzamos que se autoajuste al texto */
	min-width: unset !important;   /* Eliminamos restricciones heredadas antiguas */
	max-width: 95%;
	margin: 30px auto 0 auto;
	padding: 15px 35px !important; /* Espacio interno generoso a los lados */
	text-transform: uppercase;
	font-weight: bold;
	letter-spacing: 2px;
	border: 3px solid #FFFFFF;
	color: #FFFFFF;
	background: transparent;
	transition: all 0.3s ease;
	box-sizing: border-box;
}

.button2 a {
	color: #FFFFFF;
	text-decoration: none !important; /* Eliminamos subrayados azules molestos */
	white-space: nowrap;            /* Bloquea saltos de línea automáticos del correo */
}

.button2:hover {
	background-color: #FFFFFF;
	cursor: pointer;
}

.button2:hover a, .button2:hover {
	color: #B3B3B3;
}

/* Redes Sociales */
.social_media {
	display: flex;
	justify-content: center;
	gap: 20px;
	padding: 30px;
	background-color: #FFFFFF;
}

.social_media img {
	width: 35px;
	height: 35px;
	object-fit: contain;
	transition: transform 0.2s ease;
}

.social_media img:hover {
	transform: translateY(-3px);
}

/* Footer & Copyright */
.copyright {
	text-align: center;
	padding: 25px 20px;
	background-color: #717070;
	color: #FFFFFF;
	text-transform: uppercase;
	font-weight: lighter;
	letter-spacing: 2px;
}

.hidden {
	display: none;
}

/* --- MEDIA QUERIES (ADAPTACIÓN PARA MÓVILES Y TABLETS) --- */
@media (max-width: 768px) {
	header {
		flex-direction: column;
		text-align: center;
		gap: 15px;
	}
	
	.logo {
		margin: 0;
		width: 100%;
	}
	
	nav {
		margin: 0;
		width: 100%;
	}
	
	header nav ul {
		flex-direction: row;
		justify-content: center;
		flex-wrap: wrap;
		gap: 15px;
	}
	
	.about, .gallery {
		flex-direction: column;
		align-items: center;
	}
	
	.text_column, .footer_column {
		width: 100%;
		max-width: 100%;
	}
	
	.banner {
		align-items: center;
		padding: 30px 20px;
		text-align: center;
	}
	
	.parallax, .parallax_description {
		text-align: center;
		max-width: 100%;
		padding: 0;
	}
	
	.button2 {
		padding: 12px 20px !important;
	}
	
	.button2 a {
		white-space: normal; /* Permite rotura limpia solo en móviles muy pequeños */
		font-size: 13px;
	}
}

/* ==========================================================================
   SISTEMA DE GESTIÓN DE COOKIES (CORREGIDO PARA QUEDAR ABAJO FIJO)
   ========================================================================== */
#cookie-banner {
  position: fixed !important; 
  bottom: 0 !important;       
  left: 0 !important;
  width: 100% !important;     
  max-width: 100% !important;
  background-color: #1a202c !important; 
  color: #ffffff !important;
  padding: 15px 30px !important;
  box-shadow: 0 -5px 20px rgba(0,0,0,0.2) !important; 
  z-index: 999999 !important; 
  display: none; 
  
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  box-sizing: border-box !important;
  font-family: sans-serif !important;
}

#cookie-banner p {
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: #cbd5e0 !important;
  margin: 0 !important;
  flex: 1 1 400px; 
  text-align: left !important;
}

#cookie-banner p a {
  color: #52bad5 !important;
  text-decoration: underline !important;
}

.cookie-controls-wrapper {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.cookie-options {
  display: flex;
  flex-direction: column;
  gap: 5px;
  background: #2d3748 !important;
  padding: 8px 12px !important;
  border-radius: 6px !important;
}

.cookie-option {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  font-size: 11px !important;
  color: #ffffff !important;
  white-space: nowrap;
}

.switch {
  position: relative;
  display: inline-block;
  width: 34px;
  height: 18px;
  margin: 0 !important;
}

.switch input { display: none; }

.slider {
  position: absolute;
  cursor: pointer;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: #4a5568;
  transition: .3s;
  border-radius: 20px;
}

.slider:before {
  position: absolute;
  content: "";
  height: 12px;
  width: 14px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  transition: .3s;
  border-radius: 50%;
}

input:checked + .slider { background-color: #48bb78; }
input:checked + .slider:before { transform: translateX(14px); }
input:disabled + .slider { background-color: #718096; cursor: not-allowed; }

.cookie-buttons {
  display: flex;
  gap: 10px;
}

.cookie-btn {
  border: none !important;
  padding: 8px 14px !important;
  font-size: 12px !important;
  font-weight: bold !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  text-transform: uppercase !important;
  white-space: nowrap;
  transition: background-color 0.2s;
}

.cookie-btn-accept { 
  background-color: #48bb78 !important; 
  color: white !important; 
}
.cookie-btn-accept:hover { background-color: #38a169 !important; }

.cookie-btn-save { 
  background-color: #52bad5 !important; 
  color: white !important; 
}
.cookie-btn-save:hover { background-color: #2C9AB7 !important; }

/* Reseñas Google Business Profile */
.review_section {
	text-align: center;
	padding: 0 30px 30px;
	background-color: #FFFFFF;
}

.review_link {
	display: inline-block;
	padding: 10px 22px;
	border: 2px solid #717070;
	border-radius: 25px;
	color: #717070;
	text-decoration: none;
	font-weight: 400;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.review_link:hover {
	background-color: #717070;
	color: #FFFFFF;
}
