@charset "utf-8";
/*
Theme Name: vegarquitectura_v01
Theme URI:
Description: Design created by Panda Creatiu.
Version: 1.0
Author: Panda Creatiu
Author URI: http://www.pandacreatiu.com/
Tags:
*/
/* ------------------------------------------------------------------ */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;padding: 0;border: 0;outline: 0;font-size: 100%;background: transparent;list-style:none;
	webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
body {line-height: 1;}
ol, ul {list-style: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after,
q:before, q:after {content: '';content: none;}
:focus {outline: 0;}
ins {text-decoration: none;}
del {text-decoration: line-through;}
table {border-collapse: collapse;border-spacing: 0;}
a {text-decoration:none;}
/* -------------------------------------------------------------------- */

@font-face {
    font-family: 'kirvy bold';
    src: url('fonts/kirvy-bold-webfont.eot');
    src: url('fonts/kirvy-bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/kirvy-bold-webfont.woff2') format('woff2'),
         url('fonts/kirvy-bold-webfont.woff') format('woff'),
         url('fonts/kirvy-bold-webfont.ttf') format('truetype'),
         url('fonts/kirvy-bold-webfont.svg#kirvybold') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'kirvy light';
    src: url('fonts/kirvy-light-webfont.eot');
    src: url('fonts/kirvy-light-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/kirvy-light-webfont.woff2') format('woff2'),
         url('fonts/kirvy-light-webfont.woff') format('woff'),
         url('fonts/kirvy-light-webfont.ttf') format('truetype'),
         url('fonts/kirvy-light-webfont.svg#kirvylight') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'kirvy regular';
    src: url('fonts/kirvy-regular-webfont.eot');
    src: url('fonts/kirvy-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/kirvy-regular-webfont.woff2') format('woff2'),
         url('fonts/kirvy-regular-webfont.woff') format('woff'),
         url('fonts/kirvy-regular-webfont.ttf') format('truetype'),
         url('fonts/kirvy-regular-webfont.svg#kirvyregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'kirvy thin';
    src: url('fonts/kirvy-thin-webfont.eot');
    src: url('fonts/kirvy-thin-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/kirvy-thin-webfont.woff2') format('woff2'),
         url('fonts/kirvy-thin-webfont.woff') format('woff'),
         url('fonts/kirvy-thin-webfont.ttf') format('truetype'),
         url('fonts/kirvy-thin-webfont.svg#kirvythin') format('svg');
    font-weight: normal;
    font-style: normal;
}


html, body{ overflow-x: hidden; }
body { font-family: 'kirvy regular'; font-optical-sizing: auto; font-weight: 400; font-style: normal; font-size:14px; }

body .hidden { display: none !important; }

.serif{ font-family: 'kirvy thin'; /*font-family: "Baskervville", serif;*/ font-optical-sizing: auto; font-weight: 400; font-style: normal; }

.wrapper{ width: 100%; margin: 0; }

.txtgen{ font-size: 17px; line-height: 1.6; font-weight: 300; }

.txtgen p, .txtgen h1, .txtgen h2, .txtgen h3{ margin-bottom: 30px; }
.txtgen p:last-child{ margin-bottom:0; }

.txtgen h1{ font-size: 100%; }
.txtgen h2{ font-size: 130%;  }
.txtgen h3{ font-size: 100%; }
.txtgen h4, .txtgen h5, .txtgen h6, .txtgen h7, .txtgen h8{ font-size: 100%; font-weight:300; margin-bottom:20px; }

.txtgen img { max-width: 100%; height: auto; }
.txtgen a{ color: #009a00; text-decoration: underline; }
.txtgen a:hover{ text-decoration: underline; }
.txtgen ul, .txtgen ol{ padding-left:40px; margin-bottom:25px; margin-top:15px; }
.txtgen ul li, .txtgen ol li{  list-style:outside; margin-bottom:12px; }
.txtgen ol li { list-style:decimal; margin:15px 0; }
.txtgen iframe { max-width: 100%; height: 300px; }

.transition{ transition: all .3s ease-in-out; }

.shadow{ -webkit-box-shadow: 0px 5px 15px 0px rgba(96,67,17,0.4); -moz-box-shadow: 0px 5px 15px 0px rgba(96,67,17,0.4); box-shadow: 0px 5px 15px 0px rgba(96,67,17,0.4); }
.radius{ -webkit-border-radius: 12px; -moz-border-radius: 12px; border-radius: 12px; }

::selection { background: #F1F1F1; }
::-moz-selection { background: #F1F1F1; }

select{
    padding: .3125rem 3rem .3125rem 1rem;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org/2000/svg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23000000%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.2%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat, repeat;
    background-position: right 1rem center;
    border-radius: .25rem;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid #d8e2ef;
    color: #344040;
    background-size: 10px 12px;
    background-color: #fff;
    box-shadow: 0 1px 2px rgba(0,0,0,0.075);
    outline:none;
}

.clear{ clear: both; }

.container{ width: 100%; max-width: 1280px; min-width: 320px; margin: auto; padding: 0 10px; position: relative; }


/* HEADER ===================================================================================================================================================================== */
.header { width: 100%; background-color: #fff; padding: 25px 0; margin-bottom:0px; }

	.header .container_header { display: flex; align-items: center; justify-content: space-between; padding:0 10px; }

	.header_logo{}

	.header_menu{}

		#main-nav { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; }
		#main-nav ul { margin: 0; padding: 0; display: inline-flex; align-items: center; list-style: none; }
		#main-nav li { display: flex; align-items: center; position: relative; cursor: pointer; }
		#main-nav li a { display: block; padding: 0 20px; color: #1a1a1a; text-decoration: none; transition: all .3s ease-in-out; }
		#main-nav a:hover, #main-nav .current-menu-item a { color: #C4EB30; }
		#main-nav li:not(:last-child)::after { content: "/"; color: #e2ff8d; font-weight: bold; font-size: 22px; }

	.header_right { display: flex; align-items: center; gap: 15px; }

		#main-nav-contact ul { margin: 0; padding: 0; list-style: none; }
		#main-nav-contact li a { display: inline-block; background-color: #e2ff8d; color: #000; text-transform: uppercase; font-weight: bold; font-size: 12px; letter-spacing: 1px; 
			padding: 8px 25px 6px 25px; text-decoration: none; transition: background-color 0.2s; }
		#main-nav-contact li a:hover { background-color: #d4f76c; }

		.lang { border: 1px solid #333; padding: 0px 8px; line-height: 1.2; }
		.lang .wpml-ls-legacy-list-horizontal ul { display: flex !important; flex-direction: row !important; align-items: center !important; list-style: none !important; padding: 0 !important; margin: 0 !important; }
		.lang .wpml-ls-item { display: flex !important; align-items: center !important; margin: 0 !important; padding: 0 !important; }
		.lang .wpml-ls-link { display: inline-block !important; font-size: 10px !important; color: #000 !important; text-decoration: none !important; text-transform: uppercase !important; font-weight: bold !important; }
		.lang .wpml-ls-item:not(.wpml-ls-last-item)::after { content: "/" !important; display: inline-block !important; font-size: 10px !important; margin: 0 2px !important; }
		.wpml-ls-legacy-list-horizontal { padding: 3px 0px !important; }
		.wpml-ls-legacy-list-horizontal a { padding: 2px !important; }
		.wpml-ls-legacy-list-horizontal a:hover, .wpml-ls-current-language a span{ color: #C4EB30 !important; }

		.menu_movil_trigger { display: none; }


@media only screen and (max-width: 1050px) {	
	#main-nav { font-size: 12px; }
	#main-nav li a { padding: 0 10px; }
	.logo img{ width:175px; height:auto; }
}


@media only screen and (max-width: 870px) {	

	.logo img{ width:228px; height:auto; }

	.header_menu{ display:none; }	
	#main-nav-contact{ display:none; }
	.lang{ display:none; }

	.menu_movil_trigger { display: inherit; opacity:.6; }
}


/* menu mobile*/
.menu_mobile{ margin-top: 20px; }

	.sidr { display: block; position: fixed; top: 0; height: 100%; z-index: 999999; width: 260px; overflow-x: hidden; overflow-y: auto;
	  font-size: 14px; background: #fff; color: #333; box-shadow: 0 0 5px 5px #F0F3F7 inset; padding: 15px; }

	.sidr .sidr-inner { padding: 0 0 15px; }

	.sidr.right { left: auto; right: -260px; }
	.sidr.left { left: -260px; right: auto; }

		.lang_mobile { width: fit-content; border: 1px solid #333; padding: 0px 8px; line-height: 1.2; }
		.lang_mobile .wpml-ls-legacy-list-horizontal ul { display: flex !important; flex-direction: row !important; align-items: center !important; list-style: none !important; padding: 0 !important; margin: 0 !important; }
		.lang_mobile .wpml-ls-item { display: flex !important; align-items: center !important; margin: 0 !important; padding: 0 !important; }
		.lang_mobile .wpml-ls-link { display: inline-block !important; font-size: 10px !important; color: #000 !important; text-decoration: none !important; text-transform: uppercase !important; font-weight: bold !important; }
		.lang_mobile .wpml-ls-item:not(.wpml-ls-last-item)::after { content: "/" !important; display: inline-block !important; font-size: 10px !important; margin: 0 2px !important; }
		.lang_mobile .wpml-ls-legacy-list-horizontal { padding: 3px 0px !important; }
		.lang_mobile .wpml-ls-legacy-list-horizontal a { padding: 2px !important; }

		.menu_mobile{ font-size: 13px; text-transform: uppercase; margin-top:25px; }
			.menu_mobile a{ color: #000; }
			.menu_mobile ul li{ padding: 20px 0; border-bottom: 1px solid #ccc; }
			.menu_mobile ul li a{ display: block; width: 230px !important; padding-bottom: 5px; font-weight: bold; }
			
			.menu-item-has-children > a:after{ content: ''; width: 15px; height: 15px; float: right; padding-right: 10px; 
				background-image: url('images/arrow-down.png'); background-size: contain; background-position:center; background-repeat:no-repeat; }

			.menu_mobile ul li ul{ padding-left: 15px; font-size: 12px; margin-top: 7px; display: none; }
			.menu_mobile ul li ul li a{ border-bottom: none; font-weight: normal; }
			.menu_mobile ul li ul li a:after{ content: ''; }

		.menu_mobile_contacto{ margin-top:20px; }
		.menu_mobile_contacto ul { margin: 0; padding: 0; list-style: none; }
		.menu_mobile_contacto li a { display: inline-block; background-color: #e2ff8d; color: #000; text-transform: uppercase; font-weight: bold; font-size: 12px; letter-spacing: 1px; 
			padding: 14px 0; text-decoration: none; transition: background-color 0.2s; width:100%; text-align:center; }
		.menu_mobile_contacto li a:hover { background-color: #d4f76c; }



/* FRONT PAGE ================================================================================================================================================================= */
/* HERO */
.hero-banner { width: 100%; background-color: #fff; overflow: hidden; }

	.hero-container { display: flex; width: 100%; height: calc(100vh - 250px); max-height: calc(100vh - 250px); }
		
		.hero-left { width: 35%; position: relative; }
			.banner-swiper { width: 100%; height: 100%; }
			.banner-swiper .swiper-slide img { width: 100%; height: 100%; object-fit: cover; }

		.hero-right-text { width: 65%; background-color: #e2ff8d; display: flex; align-items: center; padding-left: 5%; margin-top: -5%; position: relative; }
			.hero-text-content h1 { font-size: 64px; font-weight: 800; color: #000; line-height: 1.2; margin: 0; text-transform: uppercase; letter-spacing: -1px; width:100%; max-width:650px; }
				.decor-dot { display: inline-block; width: 16px; height: 16px; background-color: #C4EB30; border-radius: 50%; margin-top: 30px; }


@media (max-width: 768px) {

	.hero-container { height: auto; max-height: auto; }

		.hero-left { width: 30%; }

		.hero-right-text { width:70%; padding: 70px 10px 70px 5%; margin-top:0; }
			.hero-text-content h1 { font-size: 30px; font-weight: 800; }
			.decor-dot { display:none; }
}


/* INTRODUCCIÓ */
.seccio-introduccio { width: 100%; max-width: 1200px; margin: 0 auto; padding: 60px 20px 100px 20px; position: relative; }
	.intro-container { display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: flex-start; padding:0 30px 0 0; }

		.contenedor-marc-imatge { position: relative; width: 40%; aspect-ratio: .75; overflow: hidden; margin-top: -250px; background-color:#fff; }
			.contenedor-marc-imatge .img-parallax { position: absolute; top: 0; left: 0; width: 100%; height: 120%; object-fit: cover; will-change: transform, top; }

		.intro-text { width: 50%; margin-top: 80px; }
			.intro-text p { font-size: 18px; line-height: 1.8; color: #333; max-width: 420px; font-weight: 500; }
		

@media (max-width: 768px) {

	.seccio-introduccio { width: 100%; padding: 0; margin-bottom:40px; }
		.intro-container { display: block; padding:0 10px; }

			.contenedor-marc-imatge { width: 100%; margin: 10px auto 0 auto; }

			.intro-text { width: 100%; margin-top: 10px; margin-left:5px; }

			

}



/* BEFORE/AFTER */
.seccio-comparador { width: 100%; max-width: 415px; margin: 0 auto 30px auto; padding: 0 20px; }
	.comparador-outer { position: relative; }

		.comparador-decor { position: absolute; z-index: 0; background: #E5FF80; }
			.comparador-decor--tl { top: 50px; left: -100px; width: 150px; height: 140px; }
			.comparador-decor--br { bottom: -50px; right: -60px; width: 200px; height: 170px; }

		.comparador-wrapper { position: relative; z-index: 1; width: 100%; aspect-ratio: 9 / 16; overflow: hidden; user-select: none; outline: 2px dashed #E5FF80; outline-offset: 0px; }

			.img-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
			.img-container img { width: 100%; height: 100%; object-fit: cover; display: block; }
			.img-antes { width: 100%; clip-path: inset(0 0 0 0); }

			.slider-divisor { position: absolute; inset: 0; width: 100%; height: 100%; background: transparent; opacity: 0; cursor: ew-resize; z-index: 10; margin: 0; }
			
			.linia-divisoria { position: absolute; top: 0; bottom: 0; left: 0%; width: 2px; background-color: #E5FF80; pointer-events: none; z-index: 5; transform: translateX(-50%); }
				.boto-fletxes { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 44px; height: 44px; background-color: #E5FF80; border-radius: 50%; 
					display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 10px rgba(0,0,0,0.15); }


/* --- Contenidor General --- */
.quote{ text-align:center; width:100%; max-width:850px; margin:auto; padding: 80px 20px 60px 20px; }
	.marca-subtitol { margin-bottom: 25px; }
	.marca-subtitol span { font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; position: relative; z-index: 1; padding: 0 5px; }
	.marca-subtitol span::after { content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 4px; background-color: #dbff3d; z-index: -1; }
	.frase-destacada { font-family: 'Courier New', Courier, monospace; font-style: italic; font-size: 18px; color: #333; margin: 25px 0 120px 0; line-height:1.3; }
	.quote-estreta .frase-destacada { max-width: 450px; margin:auto; }

.seccio-projectes { width: 100%; background-color: #fff; overflow: hidden; position: relative; margin-top:40px; }

	.projectes-header { display: block; text-align: center; max-width: 800px; margin: 0 auto; }

		.explora-text { display: block; font-size: 11px; font-weight: 600; letter-spacing: 2px; color: #666; text-transform: uppercase; margin-bottom: 10px; }

		.projectes-header h2 { font-size: 42px; font-weight: 800; color: #000; letter-spacing: -0.5px; margin: 0; text-transform: uppercase; }


	.projectes-grid-container { position: relative; width: 100%; max-width: 1200px; margin: 40px auto 0 auto; padding: 40px 20px; }

		.fons-llima-decoratiu { position: absolute; top: 15%; height: 460px; background-color: #e2ff8d; z-index: 1; right: 50%; width: calc(50% + 50vw); left: -50vw; }

		.projectes-grid { display: flex; justify-content: space-between; align-items: flex-start; position: relative; z-index: 2; }

			.projecte-item { width: 30%; display: flex; flex-direction: column; }
			.projecte-item a { text-decoration: none; color: inherit; }

			/* --- Joc d'Alçades Asimètriques (Clau de la captura) --- */
			.item-esquerra { margin-top: 0px; /* La més alta */ }
			.item-centre { margin-top: 120px; /* Baixa respecte a l'esquerra */ }
			.item-dreta { margin-top: 40px; /* Posició mitjana */ }

				.projecte-img-container { position: relative; width: 100%; aspect-ratio: 9 / 16; overflow: hidden; background-color: #f5f5f5; }
				.projecte-img-container .img-parallax { position: absolute; top: 0; left: 0; width: 100%; height: 130%; object-fit: cover; will-change: transform, top; transition: transform 0.1s ease-out; }

				.projecte-item h3 { font-size: 17px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; line-height: 1.5; margin-top: 20px; color: #1a1a1a; text-align: center; }


	.projectes-footer { text-align: center; margin-top: 50px; }
		.btn-veure-tots { display: inline-block; background-color: #e2ff8d; color: #000; font-size: 15px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; 
			padding: 20px 45px; text-decoration: none; transition: background-color 0.2s ease; }
		.btn-veure-tots:hover { background-color: #d4f76c; }


@media (max-width: 768px) {

	.projectes-header h2 { font-size: 32px; }

	.projectes-grid-container { margin: 0 auto 0 auto; padding: 0 20px 40px 20px; }

		.fons-llima-decoratiu { width: 100%; height: 200px; }

	    .projectes-grid { flex-direction: column; align-items: center; }
	    	.projecte-item { width: 80%; margin-top: 40px !important; }
	    
	
	.serv_intro-text .frase-destacada { margin: 25px 0; }

}


/* PROCESO */
.seccio-proceso { width: 100%; max-width: 1000px; margin: 0 auto; padding: 80px 20px; text-align: center; box-sizing: border-box; }
	
	.proceso-header .proceso-subtitol { display: block; font-size: 11px; font-weight: 600; letter-spacing: 2px; color: #666; margin-bottom: 10px; }
	.proceso-header h2 { font-size: 46px; font-weight: 800; margin: 0 0 40px 0; text-transform: uppercase; }
	
	/* Tags */
	.proceso-tags { display: flex; justify-content: center; gap: 10px; margin-bottom: 80px; flex-wrap: wrap; }
		.tag-item { font-size: 10px; font-weight: 600; letter-spacing: 1px; padding: 6px 14px; border: 1px solid #ccc; color: #444; }
	

	/* Contenidor Swiper */
	.proceso-swiper { width: 100%; padding-bottom: 50px; overflow: hidden; }
		
		.proceso-col { box-sizing: border-box; padding: 0 25px 25px 25px; text-align: left; height: auto; position: relative; }
		.proceso-col::after { content: ""; position: absolute; right: 0; top: 10%; width: 1px; height: 80%; background-color: #ddd; }

			.num-pas { display: block; font-size: 64px; font-weight: 800; color: #e2ff8d; line-height: 1; margin-bottom: 15px; }

			.proceso-col h3 { font-size: 16px; font-weight: 700; letter-spacing: 1px; margin: 0 0 45px 0; text-transform: uppercase; position: relative; }
			.proceso-col h3::after { content: ""; position: absolute; bottom: -6px; left: 0; width: 30px; height: 2px; background-color: #e2ff8d; }

			.proceso-col p { font-size: 14px; line-height: 1.7; color: #666; margin: 0; }

	/* --- ESTIL PERSONALITZAT PER A LA BARRA DE SCROLL --- */
	.proceso-swiper .swiper-scrollbar { background: #f0f0f0; /* Fons de la barra */ height: 4px; /* Molt fineta i elegant */ bottom: 0; }
	.proceso-swiper .swiper-scrollbar-drag { background: #e2ff8d; /* El polsador mòbil en negre contrastat */ border-radius: 0; }

	/* Botó Saber Más */
	.proceso-footer { text-align: center; margin-top: 40px; }

	.btn-saber-mas { display: inline-block; background-color: #e2ff8d; color: #000; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; padding: 14px 40px; 
		text-decoration: none; transition: background-color 0.2s; }
	.btn-saber-mas:hover { background-color: #d4f76c; }

	.btn-llima { display: inline-block; background-color: #e2ff8d; color: #000; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; 
		padding: 14px 45px; text-decoration: none; transition: background-color 0.2s; }
	.btn-llima:hover { background-color: #d4f76c; }



/* CORPORATIVO */
/* --- CONTENIDOR PRINCIPAL --- */
.seccio-estudio { width: 100%; overflow: hidden; padding: 100px 0; background-color: #fff; }
	
	.estudio-container-top{ position: relative; z-index: 2; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
		.estudio-container-top h2 { font-size: 64px; font-weight: 700; line-height: 1; color: #1a1a1a; margin: 0; text-transform: uppercase; }

	.estudio-container { max-width: 1200px; margin: -90px auto 0 auto; padding: 0 20px; display: flex; align-items: flex-end; gap: 60px; }

		.estudio-esquerra { width: 55%; position: relative; padding-top: 190px; z-index: 1; }
		.estudio-esquerra::before { content: ""; position: absolute; top: 0; bottom: 60px; left: -100vw; right: 15%; background-color: #e2ff8d; z-index: -1; }
		.estudio-esquerra img { width: 100%; height: auto; display: block; }

		.estudio-dreta { width: 45%; padding-bottom: 30px; }
		.estudio-dreta p { font-family: 'Courier New', Courier, monospace; font-size: 14px; line-height: 2; color: #1a1a1a; margin-bottom: 40px; max-width: 460px; }

			.estudio-botons { display: flex; gap: 15px; }
				.btn-estudio { display: inline-block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: 14px 26px; text-decoration: none; transition: all 0.3s; }
				.btn-llima { background-color: #e2ff8d; color: #000; }
				.btn-llima:hover { background-color: #d4f76c; }

				.btn-transparent { border: 1px solid #1a1a1a; color: #1a1a1a; }
				.btn-transparent:hover { background-color: #1a1a1a; color: #fff; }


@media (max-width: 992px) {
	.seccio-estudio { width: 100%; overflow: hidden; padding: 10px 0 100px 0; background-color: #fff; }

    .estudio-container { flex-direction: column; align-items: flex-start; gap: 40px; }
    .estudio-esquerra, .estudio-dreta { width: 100%; }
    .estudio-esquerra::before { right: 0; bottom: 40px; }

    .estudio-container-top h2 { font-size: 40px; }
}






/* PROYECTOS ========================================================================================================================================================================== */

/* --- CONTENIDOR GLOBAL --- */
.page-proyectos-wrap { width: 100%; background-color: #fff; overflow-x: hidden; }

/* 1. HERO TITULARS =========================================== */
.hero-titulars { text-align: center; padding: 80px 20px 60px 20px; max-width: 700px; margin: 0 auto; }
	.explora-label { display: block; font-size: 11px; font-weight: 700; letter-spacing: 2px; color: #666; text-transform: uppercase; margin-bottom: 20px; }
	.hero-titulars h1 { font-size: 46px; font-weight: 900; line-height: 1.15; color: #1a1a1a; text-transform: uppercase; letter-spacing: -1px; margin: 0; }

/* 2. PROJECTE DESTACAT =========================================== */
.hero-destacat { width: 100%; padding-bottom: 50px; }

	.destacat-container { max-width: 1200px; margin: 0 auto; position: relative; }

		.destacat-imatge-wrap { position: relative; width: 100%; height: 600px; }
		.destacat-imatge-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }

			.destacat_opacity{ position:absolute; width:100%; height:100%; background-color:rgba(0,0,0,.2); }

			/* Títol Blanc Superposat */
			.destacat-titol { position: absolute; top: 50px; left: 60px; font-size: 42px; font-weight: 800; color: #fff; line-height: 1.1; margin: 0; text-shadow: 0 2px 10px rgba(0,0,0,0.2); }

			/* Botó Verd Llima (Dins de la imatge, a baix a la dreta) */
			.btn-destacat { position: absolute; bottom: 30px; right: 40px; background-color: #e2ff8d; color: #000; font-size: 11px; font-weight: 700; text-transform: uppercase; 
				letter-spacing: 1.5px; padding: 15px 30px; text-decoration: none; transition: background-color 0.2s; z-index: 10; }
			.btn-destacat:hover { background-color: #d4f76c; }

		.destacat-caixa-verda { position: absolute; bottom: -40px;  left: -80px; width: 380px; padding: 40px; z-index: 5; box-sizing: border-box; }
		.destacat-caixa-verda::before { content: ""; position: absolute; top: 0; bottom: 0; right: 0; left: -50vw; background-color: #e2ff8d; z-index: -1; }
		.destacat-caixa-verda p { font-size: 13px; font-weight: 500; color: #000; line-height: 1.6; margin: 0; position: relative; z-index: 2; }

@media (max-width: 992px) {
	.hero-titulars { padding: 20px 20px 60px 20px; }

    .destacat-container { padding: 0 20px; }
    .destacat-caixa-verda { position: relative; bottom: 0; left: 0; width: 100%; padding: 30px; }
    .destacat-titol { top: 30px; left: 20px; font-size: 32px; }
    .btn-destacat { bottom: 20px; right: 20px; }
    .hero-titulars h1 { font-size: 32px; }
}



.pr_quote{ text-align:center; width:100%; max-width:850px; margin:auto; padding: 80px 20px 40px 20px; }
	.pr_marca-subtitol { margin-bottom: 25px; }
	.pr_marca-subtitol span { font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; position: relative; z-index: 1; padding: 0 5px; }
	.pr_marca-subtitol span::after { content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 4px; background-color: #dbff3d; z-index: -1; }
	.pr_frase-destacada { font-family: 'Courier New', Courier, monospace; font-style: italic; font-size: 18px; color: #333; margin: 25px 0 80px 0; line-height:1.3; }
	

@media (max-width: 768px) {
	.pr_quote{ padding: 40px 20px 30px 20px; }
		.pr_frase-destacada { margin: 0px 0 60px 0; line-height:1.3; }
}


/* PASADOR DE PROJECTES ============================================= */
.seccio-pasador-projectes { width: 100%; overflow: hidden; background: #fff; position: relative; }
	
	/* Swiper contenidor */
	.seccio-pasador-projectes .proyectos-swiper { width: 100%; overflow: hidden; }
		
		/* Cada slide: grid de dos columnes */
		.seccio-pasador-projectes .slide-proyecto { display: grid; grid-template-columns: 45fr 55fr; min-height: 520px; position: relative; align-items: stretch; }
			
			/* ---- COLUMNA ESQUERRA ---- */
			.slide-proyecto__left { display: flex; flex-direction: column; padding: 40px 48px 80px 48px; position: relative; z-index: 2; background: #fff; }
				
				/* Collage: dues imatges */
				.slide-proyecto__collage { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; gap: 12px; margin-bottom: 28px; }

					.slide-proyecto__img-left { grid-column: 1; grid-row: 1 / 3; aspect-ratio: 1.6; overflow: hidden; background-size:cover; background-position:center; background-repeat:no-repeat; }
					.slide-proyecto__claim-inline { grid-column: 2; grid-row: 1; display: flex; align-items: flex-end; padding: 0 0 8px 8px; font-size: 11px; font-weight: 700;
						letter-spacing: 0.08em; text-transform: uppercase; color: #1a1a1a; line-height: 1.4; }
					.slide-proyecto__img-right { grid-column: 2; grid-row: 2; aspect-ratio: 1.6; overflow: hidden; background-size:cover; background-position:center; background-repeat:no-repeat; }
				
				/* Text + botó */
				.slide-proyecto__text { font-size: 14px; line-height: 1.7; color: #444; margin-bottom: 28px; flex: 1; }
					.slide-proyecto__btn { display: inline-block; padding: 10px 22px; font-size: 11px; font-weight: 700; letter-spacing: 0.12em; margin-top: 15px;
						text-transform: uppercase; color: #1a1a1a; text-decoration: none; background-color: #e2ff8d; transition: background 0.2s, color 0.2s; align-self: flex-start; }
					.slide-proyecto__btn:hover { background: #d4f76c; }

			/* ---- COLUMNA DRETA: imatge a pantalla completa ---- */
			.slide-proyecto__right { position: relative; overflow: hidden; }
				.slide-proyecto__right img { width: 100%; height: 100%; object-fit: cover; display: block; }

			/* ---- TÍTOL SUPERPOSAT (baix-esquerra) ---- */
			.slide-proyecto__title-block { position: absolute; bottom: 20px; right: 0; width: 90%; z-index: 10; padding:30px 0; }
				.slide-proyecto__bar{ position:absolute; z-index: 1; width:85%; height:100%; background-color:#e2ff8d;  right: 0; top: 0; }
				.slide-proyecto__title{ position: relative; z-index: 2; display: block; font-size: 60px; font-weight: 700; line-height: 1.1; color: #1a1a1a; }
	
	/* ---- NAVEGACIÓ ---- */
	.proyectos-nav { display: flex; justify-content: center; align-items: center; gap: 32px; padding: 24px 0 16px; }
		.swiper-button-prev-custom,
		.swiper-button-next-custom { width: 40px; height: 40px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: opacity 0.2s; border:1px solid #ccc; border-radius:50%; }
		.swiper-button-prev-custom:hover, .swiper-button-next-custom:hover { opacity: 0.5; }
		.swiper-button-prev-custom svg, .swiper-button-next-custom svg { width: 28px; height: 28px; }


@media (max-width: 900px) {
	.seccio-pasador-projectes .slide-proyecto { grid-template-columns: 1fr; min-height: unset; }

	/* Amaguem el collage + claim */
	.slide-proyecto__collage, .slide-proyecto__claim-inline { display: none; }

	/* Ordre visual: imatge gran > títol > text/botó */
	.slide-proyecto__right { order: 1; aspect-ratio: 4 / 3; }

	.slide-proyecto__title-block { order: 2; position: static; width: 100%; padding: 20px 20px; background-color: #e2ff8d; }
	.slide-proyecto__bar { display: none; }
	.slide-proyecto__title { font-size: 32px; line-height: 1.15; }

	.slide-proyecto__left { order: 3; padding: 24px 20px 40px; }
	.slide-proyecto__text { margin-bottom: 20px; }
}





/* --- CONTENIDOR GLOBAL DE LA SECCIÓ --- */
.seccio-cta-final { width: 100%; max-width: 1000px; margin: 100px auto; padding: 0 20px; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; }

	.collage-equip-container { display: flex; justify-content: center; align-items: center; gap: 30px; margin-bottom: 80px; width: 100%; }

		.foto-equip { position: relative; overflow: hidden; background-color: #f5f5f5; box-shadow: 0 10px 30px rgba(0,0,0,0.05); transition: transform 0.4s ease; }
		.foto-equip img { width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(100%); transition: filter 0.5s ease, transform 0.5s ease; }

		/* --- ASIMETRIA INTENCIONADA --- */
		/* Imatge de l'esquerra */
		.foto-esquerra { width: 250px; height: 320px; transform: translateY(-20px); /* Un poc més alta */ }

		/* Imatge central (L'equip junt) */
		.foto-centre { width: 380px; height: 250px; transform: translateY(40px); /* Baixa per trencar la línia */ z-index: 2; /* Si tanques el gap fins a solapar-se, aquesta queda damunt */ }

		/* Imatge de la dreta */
		.foto-dreta { width: 280px; height: 350px; transform: translateY(-40px); /* La més desplaçada cap a dalt */ }

	/* --- TEXT I BOTÓ (Call To Action) --- */
	.text-cta-final { text-align: center; max-width: 650px; }

		.text-cta-final h2 { font-size: 28px; font-weight: 800; color: #1a1a1a; margin-bottom: 20px; }
		.text-cta-final p { font-size: 14px; line-height: 1.8; color: #666; margin-bottom: 40px; }

		.btn-cta { display: inline-block; background-color: #e2ff8d; color: #000; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; 
			padding: 16px 40px; text-decoration: none; transition: background-color 0.2s ease; }

		.btn-cta:hover { background-color: #d4f76c; }

/* --- RESPONSIVE MÒBIL --- */
@media (max-width: 992px) {
	.seccio-cta-final { margin: 0 auto 100px auto; }

    .collage-equip-container { flex-direction: column; gap: 20px; }
    .foto-equip { width: 100% !important; /* En mòbil ocupen l'ample complet */ height: auto !important; transform: translateY(0) !important; /* Llevem l'asimetria perquè no es trenque l'scroll */ }
    .foto-equip img { aspect-ratio: 4/3; /* Mantenim una proporció neta */ }
}




/* SINGLE PROYECTOS — afegir al style.css global ======================================================================================================================================== */
/* ── Reset de l'article ── */
.sp-single { width: 100%; max-width: 1400px; margin: 0 auto; padding: 0 clamp(24px, 5vw, 80px) 80px; box-sizing: border-box; }

	/* CAPÇALERA — metadades en fila ═══════════════════════════════════════════ */
	.sp-header { width: fit-content; padding: 32px 0 10px 0; margin: 10px auto; }

		.sp-meta { display: flex; align-items: flex-start; gap: 0; flex-wrap: wrap; padding:10px 0; }
			.sp-meta__item { display: flex; flex-direction: column; padding: 10px 50px; text-align:center; }
			.sp-meta__item:first-child { padding-left: 0; }

				.sp-meta__label { font-size: 22px; font-weight: 700; text-transform: uppercase; color: #1A1A1A; margin-bottom: 4px; }
				.sp-meta__value { color: #1A1A1A; font-size: 16px; font-style: normal; font-weight: 400; line-height: normal; letter-spacing: 2px; text-transform: uppercase; }

			/* Separador vertical entre metadades */
			.sp-meta__sep { width: 3px; background: #e2ff8d; align-self: stretch; flex-shrink: 0; }


@media (max-width: 768px) {
    .sp-header { width: 100%; padding: 20px 20px 4px; margin: 0 auto; }
    .sp-meta { justify-content: flex-start; row-gap: 14px; }
    .sp-meta__item { padding: 0 18px 0 0; text-align: left; align-items: flex-start; }
    .sp-meta__item:first-child { padding-left: 0; }
    .sp-meta__label { font-size: 15px; margin-bottom: 2px; }
    .sp-meta__value { font-size: 11px; letter-spacing: 1px; }
    .sp-meta__sep { display: none; }
}



/* SINGLE PROJECTES - MAQUETACIÓ ASIMÈTRICA ========================================================================== */
.single-proyecto-wrapper { max-width: 1200px; margin: 0 auto; padding: 80px 20px; background-color: #fff; overflow: hidden; }

	/* BLOC 1 (Superior / 1 Columna) ========================================== */
	.sp-bloc-1 { max-width: 800px; margin: 0 auto 100px auto; }
		.sp-b1-header { display: flex; align-items: flex-end; gap: 40px; margin-bottom: 30px; }
			.sp-claim { font-size: 9px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; line-height: 1.6; color: #1a1a1a;display: block; }
			.sp-claim-esquerra { max-width: 180px; }
			.sp-titol { font-size: clamp(35px, 4vw, 55px); font-weight: 800; color: #1a1a1a; margin: 0; line-height: 1.1; }

		.sp-b1-cos { position: relative; }
			.sp-b1-img { width: 90%; aspect-ratio: 4/3; object-fit: cover; display: block; }
			.sp-b1-caixa-verda { position: absolute; bottom: -40px; right: 0; width: 50%; background-color: #e2ff8d; padding: 35px; font-size: 11px; line-height: 1.8; z-index: 5; }


	/* BLOCS 2 I 3 (Inferior / 2 Columnes) ========================================== */
	.sp-columnes-inferiors { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: flex-start; }

		/* --- COLUMNA ESQUERRA (La esencia) --- */
		.sp-titol-esquerra { margin-bottom: 40px; }

		.sp-b2-imatges { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 40px; }
			.sp-b2-img-1 { width: 55%; aspect-ratio: 4/3; object-fit: cover; }

			.sp-b2-img-2-wrap { width: 45%; margin-top: 50px; } 
				.sp-b2-img-2 { width: 100%; aspect-ratio: 3/4; object-fit: cover; margin-bottom: 20px; display: block;}
				.sp-claim-centre { text-align: center; }


		.sp-b2-text-wrap { position: relative; max-width: 280px; margin-left: 20px; }
			.sp-b2-fons-verd { position: absolute; top: -20px; left: -50vw; width: calc(50vw + 80%); height: 130%; background-color: #e2ff8d; z-index: 0; }
			.sp-text-contingut { font-size: 12px; line-height: 1.8; font-weight: 500; color: #1a1a1a; position: relative; z-index: 2; }


	/* --- COLUMNA DRETA (Detalles) --- */
	.sp-b3-imatges { display: flex; align-items: flex-end; gap: 20px; margin-bottom: 40px; padding-top: 60px; }
		.sp-b3-img-1-wrap { width: 55%; display: flex; flex-direction: column; align-items: flex-end; }
			.sp-claim-dreta { text-align: right; margin-bottom: 20px; max-width: 150px; }
			.sp-b3-img-1 { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
			.sp-b3-img-2 { width: 45%; aspect-ratio: 3/4; object-fit: cover; transform: translateY(40px); }

		.sp-titol-dreta { text-align: right; margin-bottom: 40px; margin-top: 40px; }

		.sp-b3-text-wrap { position: relative; max-width: 280px; }
			.sp-b3-fons-verd { position: absolute; top: 50px; left: 20px; width: 150%; height: 120%; background-color: #e2ff8d; z-index: 0; }




@media (max-width: 992px) {
	.single-proyecto-wrapper { padding: 50px 0px; }

	.sp-bloc-1 { margin: 0 auto 50px auto; }

    /* Bloc 1 Mòbil */
    .sp-b1-header { flex-direction: column; align-items: flex-start; gap: 15px; }
    .sp-b1-img { width: 100%; }
    .sp-b1-caixa-verda { position: relative; width: 90%; bottom: 0; margin-top: -30px; margin-left: auto; padding:20px; }
    
    /* Canviar a 1 Columna a baix */
    .sp-columnes-inferiors { grid-template-columns: 1fr; gap: 80px; }
    
    .sp-b2-imatges { display: block; }
		.sp-b2-img-1 { width: 100%; }
		.sp-b2-img-2-wrap { width: 100%; margin-top: 50px; } 



    /* Bloc 2 Mòbil */
    .sp-b2-fons-verd { left: -20px; /*width: 100%;*/ }
    .sp-b2-text-wrap { max-width: 100%; margin-left: 0; padding: 20px; }
    
    /* Bloc 3 Mòbil */
    .sp-b3-imatges { flex-direction: column; align-items: flex-start; padding-top: 0; }
    .sp-b3-img-1-wrap, .sp-b3-img-2 { width: 100%; transform: none; }
    .sp-claim-dreta { text-align: left; max-width: 100%; }
    .sp-titol-dreta { text-align: left; margin-top: 20px; }
    .sp-b3-fons-verd { left: -20px; top: -20px; }
    .sp-b3-text-wrap { max-width: 100%; padding: 20px; margin-top: 40px; }
}



/* BLOC 4: GALERIA SLIDER (Formes bloquejades) ========================================== */
.sp-galeria-section { position: relative; width: 100%; padding: 80px 0 140px 0; overflow: hidden; }

	.sp-fons-verd-slider { position: absolute; top: 0; left: 0; width: 25vw; height: 60%; background-color: #e2ff8d; z-index: 0; }

	.galeria-swiper { width: 100%; padding: 60px 0; z-index: 2; }

		.galeria-swiper .swiper-wrapper { align-items: center; }

			/* Base de les slides amb protecció per a l'arrossegament */
			.sp-slide-galeria { flex-shrink: 0; transition: transform 0.3s ease; }

			/* FORMES FIXADES SEGONS LA FOTO REAL */
			.gal-horitzontal { width: 450px !important; height: 320px !important; transform: translateY(-30px); }
			.gal-vertical { width: 320px !important; height: 450px !important; transform: translateY(30px); }
			.sp-slide-galeria img { width: 100%; height: 100%; object-fit: cover; display: block; box-shadow: 0 10px 30px rgba(0,0,0,0.05); }

	/* Fletxes de navegació galeria */
	.sp-galeria-nav { display: flex; justify-content: center; gap: 15px; position: absolute; bottom: 40px; left: 0; width: 100%; z-index: 20; }
	.swiper-button-prev-galeria, .swiper-button-next-galeria { width: 40px; height: 40px; border: 1px solid #ccc; border-radius: 50%; display: flex; align-items: center; justify-content: center; 
		cursor: pointer; transition: all 0.3s; background-color: #fff; }
	.swiper-button-prev-galeria:hover, .swiper-button-next-galeria:hover { border-color: #000; background-color: #f5f5f5; }
	.swiper-button-prev-galeria svg, .swiper-button-next-galeria svg { width: 20px; height: 20px; }




/* BLOC 5: SOSTENIBILITAT I DADES (Grid Layout) ========================================== */
.sp-dades-section { padding: 40px 20px 60px 20px; background-color: #fff; overflow: hidden; }

	.sp-dades-container { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 2.5fr 1fr;  gap: 80px; align-items: center; }


		/* --- Columna Esquerra: Sostenible --- */
		.sp-col-sostenible { display: flex; flex-direction: column; align-items: center; }

			.sostenible-header { text-align: center; margin-bottom: 30px; }
				.icona-fulla { width: 40px; height: 40px; margin-bottom: 15px; }
				.sostenible-header h3 { font-size: 22px; font-weight: 800; color: #1a1a1a; margin: 0; }

			.sostenible-items { display: flex; justify-content: center; align-items: center; }
				.s-item { display: flex; flex-direction: column; padding: 0 25px; border-left: 2px solid #e2ff8d; }
				.s-item:first-child { border-left: none; } 

					.s-item span { font-size: 12px; font-weight: 700; letter-spacing: 1.5px; color: #333; line-height: 1.4; }


		/* --- Columna Dreta: Datos --- */
		.sp-col-datos { position: relative; width: 100%; }

			.sp-fons-verd-datos { position: absolute; top: 20px; left: 20px; width: 100vw; height: 100%; background-color: #e2ff8d; z-index: 0; }

			.datos-caixa { position: relative; background-color: #fff; border: 1px solid #1a1a1a; padding: 40px 30px; z-index: 5; }

				.datos-caixa h4 { font-size: 14px; font-weight: 800; letter-spacing: 2px; margin: 0 0 25px 0; color: #1a1a1a; }

				.datos-caixa ul { list-style: none; padding: 0; margin: 0; }
					.datos-caixa li { display: flex; margin-bottom: 12px; font-size: 12px; font-weight: 700; }
					.datos-caixa li:last-child { margin-bottom: 0; }
						.dato-label { width: 130px; flex-shrink: 0; color: #1a1a1a; }
						.dato-valor { color: #666; font-weight: 500; }



/* ADAPTACIÓ MÒBIL (Només Blocs 4 i 5) ========================================== */
@media (max-width: 992px) {
    /* Galeria Mòbil */
    .gal-horitzontal, .gal-vertical { width: 85vw !important; height: 60vw !important; transform: none !important; }

    /* Dades Inferiors Mòbil */
    .sp-dades-container { grid-template-columns: 1fr; gap: 60px; }
    .sostenible-items { flex-direction: column; align-items: center; text-align: center; gap: 20px; }
    .s-item { border-left: none; border-bottom: 2px solid #e2ff8d; padding: 0 0 15px 0; }
    .s-item:last-child { border-bottom: none; }
}








/* SERVICIOS ======================================================================================================================================================================= */
.serv_intro-text { width: 50%; margin-top: 80px; }
	.serv_intro-text p { font-size: 18px; line-height: 1.8; color: #333; max-width: 420px; font-weight: 500; }
		

@media (max-width: 768px) {
	.serv_intro-text { width: 100%; margin-top: 40px; }
	.serv_intro-text .frase-destacada{ width:100% !important; max-width:100%; }
}







/* SECCIÓ SERVEIS — afegir al style.css global ============================================= */
.sv-seccio { width: 100%; max-width: 1280px; margin: -40px auto 0 auto; padding: 0 40px; box-sizing: border-box; }

	/* ── Bloc genèric ── */
	.sv-bloc { margin-bottom: 100px; }

	/* ── Capçalera: subtítol + títol gran ── */
	.sv-cap { margin-bottom: 20px; }
	.sv-cap--dreta { text-align: right; } 

		.sv-subtitol { display: block; font-size: 10px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #888; margin-bottom: 8px; }
		.sv-titol { font-size: clamp(32px, 5vw, 68px); font-weight: 900; line-height: 1.05; letter-spacing: -0.02em; color: #1a1a1a; margin: 0; max-width: 600px; }

		.sv-cap--dreta .sv-titol { margin-left: auto; }

	/* ── Cos: composició d'imatges ── */
	.sv-cos { display: grid; grid-template-columns: 200px 1fr; gap: 16px; align-items: end; }

		/* Servei 2: imatge petita a la dreta → invertim l'ordre */
		.sv-cos--invertit { grid-template-columns: 1fr 200px; }

/* Imatge gran — contenidor relatiu per als elements flotants */
.sv-img-pri { position: relative; }

.sv-img-pri > img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }

/* Imatge petita lateral */
.sv-img-sec { position: relative; align-self: end; padding-bottom: 0; }
.sv-img-sec::after { content: ''; position: absolute; bottom: -16px; left: -16px; width: 72px; height: 72px; background: #e2ff8d; z-index: -1; }


/* --- CONTENIDOR DE LA IMATGE PETITA --- */
.imatge-decorativa-wrap { position: relative; display: inline-block; }

/* Servei 1: img petita esquerra puja una mica */
.sv-bloc--esq .sv-img-sec { padding-bottom: 60px; }

.sv-bloc--esq .sv-img-sec::after { bottom: auto; top: -16px; left: auto; right: -16px; }

/* Servei 2: img petita dreta baixa una mica */
.sv-bloc--dreta .sv-img-sec { padding-top: 80px; align-self: start; }

.sv-bloc--dreta .sv-img-sec::after { bottom: auto; top: 40px; left: -16px; right: auto; }

.sv-img-sec img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; display: block; }

/* Claim petit flotant sobre la imatge */
.sv-claim { position: absolute; font-size: 9px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #1a1a1a; line-height: 1.5; max-width: 140px; z-index: 2; }

.sv-claim--dalt-dreta { top: -32px; right: 0; text-align: right; }

/* Servei 2: claim a l'esquerra */
.sv-bloc--dreta .sv-claim--dalt-dreta { right: auto; left: 0; text-align: left; }

/* Bloc verd text — flota sobre la imatge gran */
.sv-text-verd { position: absolute; bottom: 0; width: 38%; background: #e2ff8d; padding: 24px 28px; font-size: 13px; line-height: 1.8; color: #1a1a1a; box-sizing: border-box; z-index: 3; }

.sv-text-verd--dreta { right: -48px; bottom: -40px; }

.sv-text-verd--esq { left: -48px;   /* era 0, ara surt per l'esquerra */ bottom: -40px; }


/* SECCIÓ SERVEIS — RESPONSIVE (substitueix el teu @media max-width:768px actual) */

@media (max-width: 768px) {

    /* El -40px de marge superior estava pensat per encaixar sota el que hi ha
       just a sobre (la intro) a mida escriptori. A mòbil aquest bloc de dalt
       segurament té una alçada molt diferent, i el marge negatiu es menja
       o solapa contingut. El neutralitzem. */
    .sv-seccio {
        margin-top: 0;
        padding: 10px;
    }

    .sv-bloc { margin-bottom: 64px; }
    .sv-titol { font-size: clamp(28px, 8vw, 42px); }

    .sv-cos, .sv-cos--invertit {
        grid-template-columns: 1fr;
        gap: 16px;
        align-items: stretch; /* a l'escriptori és "end"; en una sola columna no cal */
    }

    /* Imatge petita va sempre a sota en mòbil */
    .sv-bloc--esq .sv-img-sec,
    .sv-bloc--dreta .sv-img-sec {
        padding: 0;
        order: 2;
        align-self: auto; /* reset de l'"end"/"start" de l'escriptori */
    }
    .sv-img-pri { order: 1; }

    /* La imatge petita queda centrada i amb una mida raonable.
       Abans es quedava ancorada a l'esquerra amb un buit gran a la dreta. */
    .sv-img-sec img {
        aspect-ratio: 4 / 3;
        width: 100%;
        margin: 0 auto;
        display: block;
    }

    /* Quadrat decoratiu (::after): les mides/posicions (-16px, 72px...) estan
       calculades per a la imatge de 200px fixa de l'escriptori. Amb la imatge
       petita ara al 55% i sense el padding que li feia lloc, queda descol·locat
       o tallat. En lloc d'intentar reajustar-lo per a cada variant, el traiem
       a mòbil (igual que ja fem amb .sv-claim). */
    .sv-img-sec::after {
        display: none;
    }

    .sv-text-verd {
        position: static;
        width: 100%;
        margin-top: 16px;
    }
    .sv-claim {
        display: none;
    }

    .sv-cap--dreta { text-align: left; }
    .sv-cap--dreta .sv-titol { margin-left: 0; }
}




/* QUIENES SOMOS ====================================================================================================================================================================== */
.qs-wrap { width: 100%; position: relative; }

	/* ── Títol ── */
	.qs-cap { max-width: 1200px; margin: 0 auto; padding: 80px clamp(24px, 5vw, 80px) 0; box-sizing: border-box; position:relative; z-index: 1; }
		.qs-titol { font-size: clamp(32px, 5vw, 64px); font-weight: 700; line-height: 1.05; letter-spacing: -0.02em; color: #1a1a1a; margin: 0; max-width: 60%; }

	/* ── Massa verda ampla ── */
	.qs-massa-verda { width: 55%; min-width: 500px; height: 250px; background: #e2ff8d; margin-left: calc(-1 * clamp(24px, 5vw, 80px) - 50px); margin-top: -70px; position: relative; z-index: 0; }

	/* ── Equip ── */
	.qs-equip { max-width: 1200px; margin: -90px auto 0; padding: 0 clamp(24px, 5vw, 80px) 100px; box-sizing: border-box; display: flex; flex-direction: column; gap: 0; position: relative; z-index: 1; }

		/* ── Cada persona ── */
		.qs-persona { display: grid; align-items: start; margin-bottom: -60px; }

		.qs-persona--esq { grid-template-columns: 280px 1fr; gap: 60px; }
		.qs-persona--dreta { grid-template-columns: 1fr 280px; gap: 60px; margin-left: 80px; }

			/* ── Foto ── */
			.qs-foto-wrap { position: relative; display: flex; flex-direction: column; }
				.qs-foto { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: top center; display: block; filter: grayscale(100%); }
				.qs-nom { display: block; font-size: 12px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #1a1a1a; margin-top: 12px; }

		.qs-nom--dreta { text-align: right; }

			.qs-franja-verda { position: absolute; height: 80px; background: #e2ff8d; bottom: 120px; left: 100%; width: 200vw; z-index: -1; }

/* ── Cita ── */
.qs-cita-wrap { display: flex; align-items: center; padding-top: 40px; }
.qs-cita-wrap--dreta { padding-top: 20px; align-items: flex-start; justify-content: flex-end; }
.qs-cita { font-family: 'Courier New', Courier, monospace; font-size: 15px; line-height: 1.8; color: #1a1a1a; font-style: normal; margin: 0; padding: 0; border: none; quotes: none; max-width: 360px; }

/* ── Responsive ── */
@media (max-width: 768px) {
    .qs-titol { max-width: 100%; font-size: clamp(28px, 8vw, 44px); }
    .qs-massa-verda { width: 80%; min-width: unset; height: 120px; margin-left: -24px; }
    .qs-equip { margin-top: -20px; }
    .qs-persona, .qs-persona--esq, .qs-persona--dreta { grid-template-columns: 1fr; gap: 24px; margin-bottom: 48px; margin-left: 0; }
    .qs-persona--dreta .qs-cita-wrap { order: 2; }
    .qs-persona--dreta .qs-foto-wrap { order: 1; }
    .qs-foto { aspect-ratio: 4 / 5; max-width: 280px; }
    .qs-foto-wrap--dreta .qs-foto { margin-left: auto; }
    .qs-cita-wrap, .qs-cita-wrap--dreta { padding-top: 0; justify-content: flex-start; }
    .qs-nom--dreta { text-align: left; }
    .qs-franja-verda { display: none; }
}




/* QUIÉNES SOMOS — Bloc 2 ============================================= */
.nb2-wrap { width: 100%; position: relative; overflow: hidden; padding-bottom: 80px; padding-left: 0 !important; margin-left: 0 !important;  }

	/* ── Pills dalt ── */
	.nb2-pills-wrap { max-width: 1200px; margin: 0 auto; padding: 0 clamp(24px, 5vw, 80px) 0; box-sizing: border-box; }

		.nb2-pills { display: flex; align-items: center; gap: 0; width:fit-content;  margin:auto; }

			.nb2-pill { font-size: 15px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #1a1a1a; padding: 0 32px; text-align: center; line-height: 1.4; }
			.nb2-pill:first-child { padding-left: 0; }
			.nb2-pill-sep { width: 2px; height: 40px; background: #c8f000; flex-shrink: 0; }


/* ── Títol ── */
.nb2-cap { max-width: 1200px; margin: 60px auto 0 auto; padding: 48px clamp(24px, 5vw, 80px) 40px; box-sizing: border-box; position:relative; z-index:1; }
	.nb2-titol { font-size: clamp(32px, 5vw, 64px); font-weight: 700; line-height: 1.05; letter-spacing: -0.02em; color: #1a1a1a; margin: 0; width:100%; max-width:640px; }

/* ── Massa verda — arriba fins al marge esquerre ── */
.nb2-massa-verda { position: relative; z-index: 0; width: 40%; min-width: 300px; height: 270px; background: #e2ff8d; margin-left: 0; z-index: 0; margin-top:-100px; }


/* ── Grid: text (esq) + swiper (dreta) ── */
.nb2-grid { display: flex; margin: -160px 0 0 0; padding-left: clamp(24px, 5vw, 80px); align-items: start; position: relative; z-index: 1; }

	/* ── Text esquerra ── */
	.nb2-text { width: 260px; flex-shrink: 0; margin-right: 40px; padding-top: 20px; font-size: 13px; line-height: 1.8; color: #1a1a1a; }
		.nb2-text p { margin: 0 0 20px; }
		.nb2-text p:last-child { margin-bottom: 0; color: #555; }
		.nb2-text strong { font-weight: 700; }

	/* ── Swiper dreta — arriba fins al marge dret ── */
	.nb2-swiper-col { flex: 1; min-width: 0; overflow: hidden; }
		.nb2-swiper { width: 100%; overflow: visible; }
		.nb2-slide { height: 420px; }
		.qs_slide{ background-size:cover; background-position:center; background-repeat:no-repeat; aspect-ratio:1.2; }

/* ── Navegació ── */
.nb2-nav { display: flex; justify-content: center; align-items: center; gap: 24px; margin-top: 28px; }
.nb2-btn-prev, .nb2-btn-next { width: 40px; height: 40px; border: 1px solid #ccc; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; 
	transition: border-color 0.2s; background: #fff; flex-shrink: 0; }

.nb2-btn-prev:hover, .nb2-btn-next:hover { border-color: #1a1a1a; }
.nb2-btn-prev svg, .nb2-btn-next svg { width: 20px; height: 20px; }

/* ── Responsive ── */

@media (max-width: 768px) {
 
    /* Un baix de l'altre, centrat, amb una línia verda fina entre
       cada item (en lloc del separador vertical de l'escriptori). */
    .nb2-pills {
        flex-direction: column;
        align-items: center;
        width: 100%;
        margin: 0;
        gap: 0;
    }
    .nb2-pill {
        display: block;
        width: 100%;
        text-align: center;
        padding: 14px 0;
        border-bottom: 2px solid #c8f000;
    }
    /* .nb2-pill és un <span>, així que :last-of-type l'identifica bé
       encara que després hi hagi el <div class="nb2-pill-sep"> final
       (que amaguem, ja no fa falta). */
    .nb2-pill:last-of-type {
        border-bottom: none;
    }
    .nb2-pill-sep {
        display: none;
    }
 
    .nb2-titol { font-size: clamp(28px, 8vw, 44px); }
 
    .nb2-massa-verda { width: 70vw; height: 140px; }
 
    /* BUG: .nb2-grid és display:flex (no grid), així que
       "grid-template-columns: 1fr" no feia absolutament res —
       text i swiper es quedaven en fila, el text (260px fixos)
       esclafant el swiper contra el marge. Cal flex-direction. */
    .nb2-grid {
        flex-direction: column;
        align-items: stretch;
        margin-top: -80px;
        padding-right: 0;
        gap: 24px;
    }
 
    /* El text tenia width:260px fix + margin-right:40px per fer lloc
       al swiper en el layout de fila. En columna això sobra i, a més,
       amb width:100% podia provocar overflow horitzontal. */
    .nb2-text {
        width: 100%;
        margin-right: 0;
        padding-top: 100px;
    }
 
    /* El swiper no tenia amplada pròpia (confiava en flex:1 del mode
       fila). En columna, sense "stretch" explícit es quedaria amb
       l'amplada mínima del contingut. Ho forcem a ple ample. */
    .nb2-swiper-col {
        width: 100%;
        flex: none;
    }
 
    .nb2-slide { height: 260px; }
}



/* PROCESO ===================================================================================================================================================================== */
.pc-seccio { width: 100%; max-width: 900px; margin: 0 auto; padding: 20px clamp(24px, 5vw, 80px) 50px; box-sizing: border-box; }

/* ── Cada bloc ── */
.pc-bloc { display: grid; align-items: center; padding: 48px 0; border-top: 1px solid #e0e0e0; gap: 0; position: relative; }
.pc-bloc:last-child { border-bottom: 1px solid #e0e0e0; }

.pc-bloc--esq { grid-template-columns: 280px 1fr; }
.pc-bloc--dreta { grid-template-columns: 1fr 280px; }

/* ── Número gran ── */
.pc-num { font-size: clamp(100px, 15vw, 180px); font-weight: 900; color: #e2ff8d; line-height: 1; letter-spacing: -0.04em; user-select: none; display: flex; align-items: center; }

.pc-bloc--esq .pc-num { justify-content: flex-start; }
.pc-bloc--dreta .pc-num { justify-content: flex-end; }

/* ── Text ── */
.pc-text { padding-left: 40px; text-align: left; }
.pc-text--dreta { padding-left: 0; padding-right: 40px; text-align: right; }

/* Títol */
.pc-titol { font-size: clamp(16px, 2vw, 22px); font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: #1a1a1a; margin: 0 0 12px; }

/* Línia verda baix del títol */
.pc-titol::after { content: ''; display: block; width: 40px; height: 3px; background: #e2ff8d; margin-top: 8px; }

.pc-text--dreta .pc-titol::after { margin-left: auto; }

/* Paràgraf */
.pc-paragraf { font-size: 14px; line-height: 1.8; color: #555; margin: 0; max-width: 420px; }

.pc-text--dreta .pc-paragraf { margin-left: auto; }

/* ══ ANIMACIONS SCROLL ══════════════════════ */
.pc-from-left { opacity: 0; transform: translateX(-60px); transition: opacity 0.7s ease, transform 0.7s ease; }
.pc-from-right { opacity: 0; transform: translateX(60px); transition: opacity 0.7s ease, transform 0.7s ease; }

.pc-visible { opacity: 1; transform: translateX(0); }

.pc-bloc--dreta .pc-text { text-align: right; }
.pc-bloc--dreta .pc-titol::after { margin-left: auto; }
.pc-bloc--dreta .pc-paragraf { margin-left: auto; }

.pc-bloc--esq .pc-text { text-align: left; }
.pc-bloc--esq .pc-titol::after { margin-left: 0; margin-right: auto; }
.pc-bloc--esq .pc-paragraf { margin-left: 0; margin-right: auto; }

/* ── Responsive ── */
@media (max-width: 640px) {
    .pc-bloc--esq, .pc-bloc--dreta { grid-template-columns: 1fr; gap: 8px; }

    .pc-bloc--esq .pc-num, .pc-bloc--dreta .pc-num { order: -1; /*justify-content: flex-start;*/ }

    .pc-text, .pc-text--dreta { padding: 0; text-align: left; }

    .pc-text--dreta .pc-titol::after, .pc-text--dreta .pc-paragraf { margin-left: 0; }

    .pc-num { font-size: clamp(80px, 25vw, 120px); }
}


/* equip */
.pc-wrap { width: 100%; position: relative; }

	.pc-cap { max-width: 1200px; margin: 0 auto; padding: 80px clamp(24px, 5vw, 80px) 0; box-sizing: border-box; position:relative; z-index: 1; }
		.pc-titol-equip { font-size: clamp(32px, 5vw, 64px); font-weight: 700; line-height: 1.05; letter-spacing: -0.02em; color: #1a1a1a; margin: 0; max-width: 60%; }

	.pc-massa-verda { width: 55%; min-width: 500px; height: 250px; background: #e2ff8d; margin-left: calc(-1 * clamp(24px, 5vw, 80px) - 50px); margin-top: -70px; position: relative; z-index: 0; }

.pc-content { max-width: 1200px; margin: -90px auto 0; padding: 0 clamp(24px, 5vw, 80px) 30px; box-sizing: border-box; position: relative; z-index: 1; display: grid;
    grid-template-columns: 2fr 2fr 1fr; /* proporció ~40/40/20 */ align-items: start; gap: 60px; }

/* --- Nom --- */
.pc-nom { display: block; font-size: 12px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #1a1a1a; margin-bottom: 14px; }

/* --- Foto --- */
.pc-foto { position: relative; z-index: 2; margin-bottom: 20px; }
.pc-foto img { display: block; width: 100%; height: auto; object-fit: cover; object-position: top center; }

/* petit quadrat verd decoratiu darrere la foto */
.pc-foto::before { content: ""; position: absolute; z-index: -1; left: -14px; bottom: -14px; width: 60px; height: 60px; background: #e2ff8d; /* mateix verd que .pc-massa-verda */ }


/* --- Cita --- */
.pc-cita { font-family: "Courier New", Courier, monospace; font-size: 15px; line-height: 1.8; color: #1a1a1a; max-width: 360px; margin: 0; }

/* --- Columnes --- */
.pc-persona--1 { margin-top: -30px; /* la foto puja i queda sobre la massa verda */ }
.pc-persona--2 { margin-top: 100px; /* baixa respecte la primera columna (efecte esglaonat) */ }

.pc-info { margin-top: 100px; }
.pc-info-titol { font-size: 1.05rem; font-weight: 700; color: #1a1a1a; margin: 0 0 12px; }
.pc-info-text { font-size: 0.85rem; line-height: 1.6; color: #555; margin: 0 0 24px;}

.pc-btn { display: inline-block; background: #e2ff8d; color: #1a1a1a; font-size: 12px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; text-decoration: none; padding: 14px 26px; }
.pc-btn:hover { background-color: #d4f76c; }

/* --- Responsive: es col·lapsa en columna a mòbil/tablet --- */
@media (max-width: 900px) {
    .pc-content { margin-top: -60px; padding: 0 24px 60px; grid-template-columns: 1fr; gap: 48px; }
    .pc-persona--1, .pc-persona--2, .pc-info { max-width: 340px; margin-top: 0; }
}




/* CONTACTO ============================================================================================================================================================================= */
.ct-contacte { position: relative; width: 100%; overflow: visible; margin: 50px 0 80px 0; }

	.ct-verd { position: absolute; z-index: 0; background: #e2ff8d; }
	.ct-verd--tl { top: 0; left: 0; width: max(260px, calc((100% - 1200px) / 2 + clamp(24px, 5vw, 80px) + 190px)); height: 165px; }
	.ct-verd--br { bottom: 90px; right: 0; width: max(220px, calc((100% - 1200px) / 2 + clamp(24px, 5vw, 80px) + 140px)); height: 160px; }

	/* --- Contenidor centrat --- */
	.ct-container { position: relative; z-index: 1; max-width: 1300px; margin: 0 auto; padding: 0 10px; box-sizing: border-box; display: grid; 
		grid-template-columns: 3fr 2fr; /* 60/40 */ gap: 60px; align-items: start; }

		/* --- Columna esquerra --- */
		.ct-info{}

			.ct-titol { font-size: clamp(28px, 4vw, 60px); font-weight: 800; line-height: 1.1; letter-spacing: -0.01em; color: #1a1a1a; margin: 20px 0 40px 0; }

			.ct-dades { display: flex; flex-direction: column; gap: 18px; margin: 50px 0 40px 0; }

				.ct-fila { display: flex; align-items: flex-start; gap: 14px; font-size: 15px; line-height: 1.5; color: #1a1a1a; }
					.ct-icona { flex: 0 0 20px; width: 20px; height: 20px; color: #1a1a1a; }
					.ct-icona svg { width: 100%; height: 100%; display: block; }
					.ct-text span{ color:#e2ff8d; }
					.ct-text a { color: inherit; text-decoration: none; }
					.ct-text a:hover { text-decoration: underline; }


			.ct-mapes { display: flex; gap: 20px; }
				.ct-mapa { flex: 1; display: flex; flex-direction: column; gap: 8px; }
					.ct-mapa-frame { aspect-ratio: 1; overflow: hidden; border:1px solid #ccc; }
					.ct-mapa-frame iframe { width: 100%; aspect-ratio: 1; height: 100%; display: block; border: 0; }

					.ct-mapa-adresa { font-size: 13px; line-height: 1.4; color: #1a1a1a; }


		/* --- Columna dreta: formulari --- */
		.ct-form-col { display: flex; flex-direction: column; align-items: center; }

			.ct-form-box { width: 100%; box-sizing: border-box; border: 1px solid #1a1a1a; padding: clamp(28px, 4vw, 48px); background-color:#fff; }
				.ct-form-titol { font-size: 20px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; text-align: center; color: #1a1a1a; margin: 0 0 30px; }

				/* --- Camps CF7 --- */
				.form_theme_3 input[type="text"], .form_theme_3 input[type="email"], .form_theme_3 textarea{ 
					width: 100%; border: none; border: 1px solid #ccc; margin-bottom: 10px; margin-top: 7px; color: #000; box-sizing: border-box; padding: 8px;border-radius: 5px; }

				.form_theme_3 input[type='checkbox']{ margin-top: 5px; margin-left: -5px; }

				.form_theme_3 textarea{ resize:none; height: 180px; font-family: 'Dosis', sans-serif; font-size: 1em; }

				.form_theme_3 .label_checkbox{ font-size: 14px; color: #1A1A1A; }

				.form_theme_3 a{ color: #000; font-size: 14px; text-decoration: underline; }
				.form_theme_3 a:hover{ opacity:.6; }

				.form_theme_3 p{ margin-top:7px; }

				.form_theme_3 input[type="submit"]{  border: none; margin-top: 20px; cursor: pointer; background-color: #e2ff8d; color: #000; width: 150px; height: 50px;  }

				.form_theme_3 div.wpcf7-validation-errors{ 
					margin-top: 20px !important; 
					margin-left: -10px !important; 
					font-size: 14px !important; 
					border: none !important; 
					padding-top: 0 !important; 
					color: red !important;
					webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 15px;
				}
			
				.wpcf7-not-valid-tip{ position:absolute; font-size:10px !important; margin-top:-10px; }

			/* --- Xarxes socials --- */
			.ct-socials { margin-top: 28px; text-align: center; }
				.ct-socials-titol { display: block; font-size: 14px; font-weight: 700; margin-bottom: 12px; color: #1a1a1a; }

				.ct-socials-icones { display: flex; justify-content: center; gap: 18px; }
					.ct-socials-icones a { color: #1a1a1a; width: 20px; height: 20px; display: flex; }
					.ct-socials-icones svg { width: 100%; height: 100%; display: block; }


/* --- Responsive --- */
@media (max-width: 900px) {
    .ct-container { grid-template-columns: 1fr; gap: 50px; }
    .ct-mapes { flex-direction: column; }
    .ct-verd--tl { width: 60%; height: 80px; }
    .ct-verd--br { width: 55%; height: 110px; }
    .ct-form-row { grid-template-columns: 1fr; gap: 0; }
}










/* FOOTER ============================================================================================================================================================================= */
.site-footer { width: 100%; position: relative; border-top: 1px solid #000; }

	.footer-main { display: flex; width: 100%; }

		/* --- COLUMNA ESQUERRA --- */
		.footer-left { width: 50%; background-color: #fff; padding: 60px 40px; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid #000; }
			.footer-logo img { max-width: 250px; }
			.footer-contact-link { margin-top: 60px; }
			.footer-contact-link a { display: inline-flex; align-items: baseline; text-decoration: none; color: #1a1a1a; transition: transform 0.2s ease; }
			.footer-contact-link a:hover { transform: translateX(10px); }
				.footer-contact-link h2 { font-size: clamp(40px, 6vw, 90px); font-weight: 900; margin: 0; letter-spacing: -1px; color: #1a1a1a; }
				.arrow-icon { width: 50px; height: 50px; margin-left: 20px; filter: drop-shadow(1px 0px 0px #000) drop-shadow(-1px 0px 0px #000) drop-shadow(0px 1px 0px #000) drop-shadow(0px -1px 0px #000); }

		/* --- COLUMNA DRETA --- */
		.footer-right { width: 50%; background-color: #e2ff8d; display: flex; flex-direction: column; }

			.contact-row { flex: 1; display: flex; align-items: center; padding: 30px 40px; border-bottom: 1px solid #000; }
			.contact-row:last-child { border-bottom: none; }

				.icon-wrap { width: 24px; height: 24px; margin-right: 25px; flex-shrink: 0; }
				.icon-wrap.icon-top { align-self: flex-start; margin-top: 5px; }

					.contact-text { font-size: 14px; color: #1a1a1a; font-weight: 500; line-height: 1.6; }
						.separator { margin: 0 15px; font-weight: 300; color: #000; }

				.addresses { display: flex; align-items: center; }
					.separator-large { font-size: 30px; font-weight: 200; margin: 0 25px; color: #000; font-style: italic; }

		/* --- BARRA INFERIOR --- */
		.footer-bottom { background-color: #fff; border-top: 1px solid #000; padding: 20px 0; text-align: center; }
			.legal-links ul { display: flex; align-items: center; justify-content: center; list-style: none; padding: 0; margin: 0; gap: 20px; }
			.legal-links li a { font-size: 10px; font-weight: 600; color: #1a1a1a; text-decoration: none; text-transform: uppercase; 
				letter-spacing: 1px; display: inline-block; transition: color 0.2s ease; }
			.legal-links li a:hover { text-decoration: underline; }
			.legal-links li:not(:last-child)::after { content: "·"; color: #1a1a1a; font-size: 16px; font-weight: bold; margin-left: 20px; display: inline-block; vertical-align: middle; }

		/* --- BOTÓ WHATSAPP FLOTANT --- */
		.whatsapp-float { position: absolute; bottom: 20px; right: 30px; width: 60px; height: 60px; background-color: #e2ff8d; border: 1px solid #000; border-radius: 50%; display: flex; 
			align-items: center; justify-content: center; z-index: 100; transition: transform 0.2s ease; }
		.whatsapp-float svg { width: 32px; height: 32px; }
		.whatsapp-float:hover { transform: scale(1.1); }

/* --- RESPONSIVE MÒBIL --- */
@media (max-width: 992px) {
    .footer-main { flex-direction: column; }
    .footer-left, .footer-right { width: 100%; border-right: none; }
    .footer-left { border-bottom: 1px solid #000; padding: 40px 20px; align-items: center; text-align: center; }
    .footer-contact-link { margin-top: 40px; }
    .contact-row { padding: 20px; }
    .addresses { flex-direction: column; align-items: flex-start; }
    .separator-large { display: none; /* Amaguem la barra inclinada en mòbil */ }
    .address-col:last-child { margin-top: 15px; }
    .legal-links { flex-direction: column; gap: 15px; }
    .whatsapp-float { bottom: 10px; right: 10px; width: 50px; height: 50px; }
}








@media only screen and (max-width: 763px) {
}


/* PER FER FUNCIONAR LA MAQUETACIO FLOAT DE CONTENT ------------------------------- */
/* 1. Alineacions Bàsiques */
.aligncenter { display: block; margin-left: auto; margin-right: auto; clear: both; }
.alignleft { float: left; margin: 0.5em 1.5em 1.5em 0; }
.alignright { float: right; margin: 0.5em 0 1.5em 1.5em; }

/* 2. Suport per a blocs d'amplada Ampla i Completa */
/* Assegura't que el teu functions.php tingui: add_theme_support( 'align-wide' ); */
.alignwide { margin-left: -10vw; margin-right: -10vw; max-width: 120vw; width: auto; }
.alignfull { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); width: 100vw; max-width: 100vw; }

/* 3. RESPONSIVE: Adaptació per a mòbils */
@media (max-width: 768px) {
    .alignleft, .alignright { float: none; display: block; margin-left: auto; margin-right: auto; max-width: 100%; width: 100%; }
    .alignwide, .alignfull { margin-left: 0; margin-right: 0; width: 100%; max-width: 100%; }
}

/* 4. Neteja de Floats (Clearfix) */
/* Molt important perquè el contingut següent no s'amuntegui sota les imatges flotants */
.entry-content::after, .comment-content::after { content: ""; display: table; clear: both; }









/* BLOG =========================================================================================================================================== */
.col33{ float: left; width: 33.333%; padding: 0 10px; }
.col50{ float: left; width: 50%; padding: 0 10px; }
.col66{ float: left; width: 66.666%; padding: 0 10px; }
.col100{ width: 100%; padding: 0 10px; }

.container_mini{ width: 100%; max-width: 1050px; min-width: 320px; margin: auto; padding: 0 10px; position: relative; }

.archive_info{ border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; margin-top:-3px; }

.blog_masa{ position: absolute; width: 75%; z-index: -1; height: 640px; right: 0; top: 0; background-color: #F8F8F8; }

.blog_archive_title_cat{ margin: 40px; font-size: 40px; /*font-family: "Baskervville", serif;*/ font-weight: bold; 
	background-color: #000; color: #fff; padding: 15px 40px; width: fit-content; }

@media only screen and (max-width: 763px) {	
	.blog_archive_title_cat{ margin: 40px 10px; font-size: 30px; padding: 15px 25px; }
}

.txtgen_blog{ font-size: 14px; line-height: 1.8; font-weight: 400; /*font-family: "Baskervville", serif;*/ }
.txtgen_blog p, .txtgen_blog h1, .txtgen_blog h2, .txtgen_blog h3{ margin-bottom: 25px; }
.txtgen_blog h1{ font-size: 225%; line-height: 1.4;}
.txtgen_blog h2{ font-size: 200%; line-height: 1.4; }
.txtgen_blog h3{ font-size: 175%; line-height: 1.4; }
.txtgen_blog img { max-width: 100% !important; height: auto !important; }
.txtgen_blog a{ color: #666; text-decoration: underline; }
.txtgen_blog a:hover{ opacity: .6; }

.txtgen_blog ul, .txtgen_blog ol{ padding-left:40px; margin-bottom:25px; margin-top:15px; }
.txtgen_blog ul li{ list-style:outside; margin-bottom:12px; }
.txtgen_blog ol li{ margin-bottom:12px; }
.txtgen_blog ol, .txtgen_blog ol li { list-style:decimal; }

.txtgen_blog iframe { max-width: 100%; /*height: 300px;*/ }

.txtgen_blog table{ max-width: 100%; margin-bottom: 20px; width: 100%; }
.txtgen_blog table tr td{ padding: 7px; border: 1px solid #d9d9d9; }

.txtgen_blog table tr td img{ width: 100%; max-width: 100%; height: auto; }

@media only screen and (max-width: 800px) {	
	.txtgen_blog table tr{ display: flex;
      flex-wrap: wrap; }
	.txtgen_blog table td{  width: 50%; }	
}

/* DESTACADO PRINCIPAL =========================================================================================================== */
.blog_first_item{ margin-top: 25px; }
	
	.blog_first_item .col:first-child{ padding: 0 40px; }
		
		.blog_first_item_content{ width: 100%; display: table-cell; vertical-align: middle; }

		.blog_first_item_title{ /*font-family: "Baskervville", serif;*/ font-size: 46px; font-weight: bold; text-align: left; }
			.blog_first_item_title a{ color: #000; }
			.blog_first_item_title a:hover{ opacity: .5; }
		
		.blog_first_item_cat{ font-size: 10px; font-weight: 900; text-transform: uppercase; margin-top: 10px; width: 100%; line-height: 1.3; padding-left: 3px; 
			position: relative; display:flex; align-items: center; }

			.blog_first_item_cat .arrow-right-deco{ width:9px; height:8px; background-image:url('images/righ_arrow.png'); }
			
			.blog_first_item_cat a{ margin-right: 3px; margin-left: 3px; }
			.blog_first_item_cat h2{ font-size: 10px; font-weight: 900; }
			.blog_first_item_cat a, .blog_first_item_cat_mobile a{ color: #000; }
			.blog_first_item_cat a:hover, .blog_first_item_cat_mobile a:hover{ opacity: .5; }
			.blog_first_item_cat .blog_first_item_data, .blog_first_item_cat_mobile .blog_first_item_data{ color: #CECFD0; }

			.blog_first_item_arrow{ position: absolute; left: 0; }

		.blog_first_item_excerpt{ margin-top: 20px; width: 100%; }

	.blog_first_item_image{ width: 100%; height: auto; background-position: center; background-size: cover; background-repeat: no-repeat; }

.destacado_principal_mobile{ display: none; }

@media only screen and (max-width: 763px) {	
	
	.destacado_principal_screen{ display: none; }
	.destacado_principal_mobile{ display: inherit; }

	.blog_first_item_cat_mobile{ font-size: 10px; font-weight: 900; text-transform: uppercase; margin-top: 0; line-height: 1.3; }
	.blog_first_item_cat_mobile img, .blog_first_item_cat_mobile a, .blog_first_item_cat_mobile span{ float: left; margin-right: 3px; }
	.blog_first_item_cat_mobile h2{ font-size: 10px; font-weight: 900; }
	.blog_first_item_cat_mobile img{ margin-top: 2px; }

	.blog_first_item_image_mobile{ margin-top: 10px; }
	.blog_first_item_image_mobile img{ width: 100%; height: auto; }

	.blog_first_item_title_mobile{ /*font-family: "Baskervville", serif;*/ font-size: 25px; font-weight: bold; margin-top: 10px; }
	.blog_first_item_title_mobile a{ color: #000; }

	.blog_first_item_excerpt_mobile{ margin-top: 20px; }
}


/* BLOG COLUMNA ===================================================================================================== */
.blog_column{ float: right; width: 45%; margin-top: 70px; position: relative; }
	
	.blog_column_mc{ margin-top: 70px;  }

	.blog_destacadao_items{ padding: 0; background-color: #F8F8F8; }

	.destacado_item{ padding: 25px; }
	/* =========================================================================== */
		.destacado_item_cat{ margin-left: 3px; font-size: 10px; text-transform: uppercase; font-weight: 900; position: relative; display:flex; align-items: center; }
			
			.destacado_item_cat .arrow-right-deco{ width:9px; height:8px; background-image:url('images/righ_arrow.png'); }

			.destacado_item_cat a h2{ font-size: 10px; text-transform: uppercase; font-weight: 900; }
			.destacado_item_cat a h2{ margin-right: 3px; }
			.destacado_item_cat a{ color: #000; margin-left:3px; }
			.destacado_item_cat a:hover{ opacity: .6; }
			.destacado_item_cat span{ position: absolute; margin-left: -15px; margin-top: -2px; }

		.destacado_item_img img{ width: 100%; height: auto; margin-top: 7px; }

		.destacado_item_title{ /*font-family: "Baskervville", serif;*/ font-size: 30px; font-weight: 900; padding: 20px 0 5px 0; line-height: 1.3; }
			.destacado_item_title a{ color: #000; }
				.destacado_item_title a:hover{ opacity: .6; }
		.destacado_item_date{ font-size: 10px; font-weight: 900; text-transform: uppercase; color: #CECFD0; }
		.destacado_item_content{ margin-top: 15px; margin-bottom: 40px; }

	.blog_cta{ margin-top: 20px; }
	.blog_cta img{ width: 100%; height: auto; }

	.blog_tags{ margin-top: 20px; padding: 35px 30px; background: linear-gradient(to right, #F8F8F8 60%, transparent 0);}
		.blog_tags_title{ /*font-family: "Baskervville", serif;*/ font-size: 23px; font-weight: 900; width: 50%; }
		
		.blog_tags ul{ margin-top: 25px; height: 100px; overflow: hidden; }
		.blog_tags ul li{ display: inline-block; font-size: 12px; font-weight: bold; border-bottom: 2px solid #CECFD0; padding-bottom: 3px; margin: 0 8px 8px 0; }
			.blog_tags ul li a{ color: #000; }

		.blog_tags_more{ cursor: pointer; margin-top: 25px; }
		.blog_tags_more:hover{ opacity: .6; }

		.blog_tags_less{ display: none; cursor: pointer; }

	.single_content_stars{ margin-top: 30px; }
	
	.fixed_column{ opacity: 0; visibility: hidden; position: fixed; top: 10px; }


@media only screen and (max-width: 763px) {	
	.blog_column{ float: none; margin-top: 40px; width: 100%; }
}


/* BLOG LIST ======================================================================================================================= */
.blog_item_list{ float: left; width: 55%;  margin-top: 90px; padding-right: 40px; }

.home_blog_item:nth-child(odd){ }

	.home_blog_item:nth-child(odd) .home_blog_item_img{ float: left; width: 50%; padding-right: 20px; }
	.home_blog_item:nth-child(odd) .home_blog_item_txt{ float: right; width: 50%; padding-left: 20px; }

.home_blog_item:nth-child(even){  }

	.home_blog_item:nth-child(even) .home_blog_item_img{ float: right; width: 50%; padding-left: 20px; }
	.home_blog_item:nth-child(even) .home_blog_item_txt{ float: left; width: 50%; padding-right: 20px; }

.home_blog_item_img img{ width: 100%; height: auto; }

.home_blog_item{ margin-bottom: 50px; }
.hbii{ width: 100%; height: auto; }

.home_blog_item_txt{ }
	.home_blog_item_cat{ font-size: 10px; font-weight: 900; margin-bottom: 15px; text-transform: uppercase; line-height: 1.5; position: relative; padding-left: 3px; display:flex; align-items: center; }
	.home_blog_item_cat .arrow-right-deco{ width:9px; height:8px; background-image:url('images/righ_arrow.png'); }

	.home_blog_item_cat a h2{ font-size: 10px; font-weight: 900; }
	.home_blog_item_cat a h2{ float: left; margin-right: 3px; }
	.home_blog_item_cat span{ position: absolute; margin-top: -2px; }

	.home_blog_item_cat a{ color: #000; margin-left:3px; }
	.home_blog_item_title{ /*font-family: "Baskervville", serif;*/ font-size: 20px; font-weight: 900; line-height: 1.4; }
	.home_blog_item_title a{ color: #000; }
	.home_blog_item_title a:hover{ opacity: .5; }
	.home_blog_item_data{ font-size: 10px; color: #CECFD0; text-transform: uppercase; margin: 10px 0; font-weight: 900;  }

.bt_mas_articulos{ font-size: 17px; font-weight: bold; text-align: center; margin-top: 40px; cursor: pointer; }
.bt_mas_articulos:hover{ opacity: .6; }
.bt_mas_articulos img{ margin-top: 7px; }

.home_blog_item_cat_mobile{ display: none; }

@media only screen and (max-width: 763px) {	
	
	.blog_item_list{ float: none; width: 100%; margin-top: 50px; padding-right: 0; }
	
	.home_blog_item:nth-child(odd) .home_blog_item_img{ float: none; width: 100%; padding: 0; }
	.home_blog_item:nth-child(odd) .home_blog_item_txt{ float: none; width: 100%; padding: 0; }

	.home_blog_item:nth-child(even) .home_blog_item_img{ float: none; width: 100%; padding: 0; }
	.home_blog_item:nth-child(even) .home_blog_item_txt{ float: none; width: 100%; padding: 0; }
	
	.home_blog_item_cat_mobile{ display: inherit; font-size: 10px; font-weight: 900; margin-bottom: 5px; text-transform: uppercase; padding-left: 13px; }
	
		.home_blog_item_cat_mobile h2{ font-size: 10px; font-weight: 900; }
		.home_blog_item_cat_mobile a h2{ float: left; margin-right: 3px; }
		.home_blog_item_cat_mobile a{ color: #000; }
		.home_blog_item_cat_mobile span{ position: absolute; margin-left: 10px; margin-top: -1px; }

	.home_blog_item_cat{ display: none; }
}

.navigation_archive{ margin: 40px 0; }


.wp-pagenavi
{
font-size:12px;
display:block;
clear:both;
padding:20px 10px 20px 10px;
}
.wp-pagenavi a,
.wp-pagenavi a:link,
.wp-pagenavi a:visited,
.wp-pagenavi a:active {
    padding: 4px 8px !important;
    margin: 3px !important;
    text-decoration: none !important;
    border: 1px solid #C8C8C2 !important;
    background: #FCFCFC !important;
    -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.1) !important;
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.1) !important;
    color: #999 !important;
}

.wp-pagenavi a:hover {
    border: 1px solid #a7a7a3 !important;
    color: #444 !important;
}

.wp-pagenavi span.pages {
    padding: 4px 8px !important;
    margin: 3px !important;
    font-family: Georgia,serif !important;
    font-style: italic !important;
    color: #999 !important;
}

.wp-pagenavi span.current {
    padding: 4px 8px !important;
    margin: 3px !important;
    text-decoration: none !important;
    border: 1px solid #a7a7a3 !important;
    background: #FCFCFC !important;
    -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.1) !important;
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.1) !important;
    font-weight: bold !important;
    color: #444 !important;
}

.wp-pagenavi span.extend {
    padding: 4px 8px !important;
    margin: 3px !important;
    text-decoration: none !important;
    border: 1px solid #C8C8C2 !important;
    background: #FCFCFC !important;
    -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.1) !important;
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.1) !important;
}





/* SINGLE ------------------------------------------------- */
.container_single{ width: 100%; max-width: 925px; margin: auto; }

	.single_cat{ font-size: 10px; text-transform: uppercase; font-weight: 900; text-align: center; margin: 40px 0 25px 0; }
	.single_title{ /*font-family: "Baskervville", serif;*/ font-size: 46px; font-weight: bold; text-align: center; line-height: 1.2; }
	.single_subtitle{ font-size: 20px; text-align: center; line-height: 1.2; margin-top: 20px; }
	.single_subtitle h2{ font-weight: normal; }

	.single_img{ margin-top: 25px; text-align: center; }
	.single_img img{ max-width: 100%; height: auto; }

	.single_content{ margin-top: 30px; display:flex;  }

		.single_content_col{ width: 230px; padding-right:20px; }

		.single_content_txt{ padding-left: 40px; width: calc(100% - 230px); }


	.single_blog_cat{ margin-bottom: 10px; font-size: 12px; }
	.single_blog_cat a{ color: #000; }

	.single_share_title{ /*font-family: "Baskervville", serif;*/ font-size: 23px; font-weight: 900; width: 50%; margin-bottom: 15px; padding-left: 30px; }
	.single_share_bts{ padding-left: 30px; }



.single_content_col .widget{ margin-bottom:10px; }
.single_content_col .widget .header_widget{ background-color: #f1f1f1; webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 12px 2px; text-align: center; margin-bottom: 15px; }
.single_content_col .widget ul li { padding: 12px 0; border-bottom: 1px solid #E1E5E4; color: #666; font-size:12px; }
.single_content_col .widget ul li a { color: #666; }

.widget h2{ background-color:#999; color:#fff; padding:6px; }


@media only screen and (max-width: 763px) {	
	
	.blog_masa{ display: none; }

	.single_cat{ margin: 30px 0 15px 0; }

	.single_title{ font-size: 32px; padding: 0 10px; }

	.single_subtitle{ font-size: 17px; }

	.single_content{ flex-direction: column; margin-top: 15px; }
		.single_content_col{ width: 100%; order: 2; margin:40px 0 10px 0; }
		.single_content_txt{ width: 100%; padding: 0 5px; order: 1; }
}

.navigation{ padding: 20px 0; }
	
	.next_post, .prev_post{ position: relative; font-size: 13px; color: #333; width: 50%; }
	.next_post{ float: right; }
	.prev_post{ float: left; border-right: 1px solid #ccc; }
	
	.nav_post a{ color: #000; }

	.next_post_inner{ text-align: right; padding: 25px 30px 25px 10px; display:flex; justify-content:flex-end;  }
		.next_post_content{ padding-right:15px; }

	.prev_post_inner{ padding: 25px 10px 25px 30px; display:flex;  }
		.prev_post_content{ padding-left:15px; }

		.prev_post_prev, .next_post_next{ font-size: 10px; font-weight: 900; color: #898F93; margin-bottom: 7px; }
		.prev_post_txt, .next_post_txt{ font-size:19px; /*font-family: "Baskervville", serif;*/ width:100%; max-width:250px; line-height:1.2; }

@media only screen and (max-width: 763px) {	

	.next_post{ float: none; width:100%; }
	.prev_post{ float: none; width:100%; border-right: 1px solid #fff; }

	.next_post_inner{ padding: 25px 10px 25px 10px; }

	.prev_post_inner{ padding: 25px 10px 25px 10px; }
}

/* single firma */
.blog_firma{ display:flex; padding-left:25px; }
	
	.blog_firma_img{ align-self: flex-end; }

	.blog_firma_content{ align-self: flex-end; padding: 0 0 20px 30px; max-width: 550px; line-height:1.3; }
		.blog_firma_head{ width: fit-content; font-size:18px; font-weight:400; border-bottom:1px solid #000; padding: 0 70px 6px 0; }
		.blog_firma_name{ margin-top:7px; font-size:18px; font-weight:900; }
		.blog_firma_cargo{ margin-top:2px; font-size:14px; font-weight:400; }
		.blog_firma_description{ margin-top:10px; font-size:12px; font-weight:400; color:#666; }

@media only screen and (max-width: 763px) {	
	.blog_firma{ display:block; padding-left:0; }
		.blog_firma_content{ padding: 0 0 20px 20px; }
			.blog_firma_head{ display:none; }
}	

/* comments ---------------- */
.single_comments{ width:100%; max-width:1000px; margin: 30px auto 0 auto; }

	.single_comments a{ color:#666; text-decoration:underline; }

	.item_num_comments{ font-size:14px; }
	#comentaris .navigation{ display:none; }

	.commentlist{ padding-left: 20px; }

	.commentlist li{ margin-bottom:15px; min-height:50px; border-bottom: 1px solid #E1E5E4; padding: 7px 0; }
	.commentlist li:last-child{ border-bottom: 1px solid #fff; }
	.commentlist li a{ color: #666; text-decoration: underline; }

	.comment-author{ float:left; }
	.comment-author .fn{ margin-left:0px; font-size:14px; font-style:normal; font-weight:bold; }
	.comment-author .fn, .comment-author .fn a{ color:#000; }
	.comment-author .says { display:none; }
	.comment-author img{ width:40px; height:40px; }

	.comment-meta{ clear:both; font-size:12px; }
	.comment-meta a{ color: #000; font-size: 11px; pointer-events: none; opacity: .7; font-style: italic; }
	.reply{ display:none; }

	.commentlist p{ margin-left:0; padding: 5px 0; }
	
	.comment_input_name{ float: left; width: 49%; }
	.comment_input_email{ float: right; width: 49%; }

	.comment-body{ color:#666; font-size:13px; line-height:1.2; }
	.commentmetadata{ margin:10px 0; }


	#deja_coment_txt{ font-size:18px; color:#000; opacity: .7; font-weight:bold; text-transform: uppercase; padding-top: 15px; margin-bottom: 20px; }
	#commentform{ padding-left: 0px; }

	#commentform textarea{ width:100%; height:150px; resize:none; font-family: 'Poppins', sans-serif; font-size:13px; padding: 10px; border:none; border:1px solid #ccc; 
		webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; margin-top: 15px; }

	#commentform p{ font-size:12px; color:#666; margin-top:15px; margin-bottom:2px; }
	
	#commentform input[type='text']{ width: 100%; border:none; border:1px solid #ccc; padding: 10px; font-family: 'Poppins', sans-serif; font-size:14px;
		webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
	
	#commentform input[type='submit']{ color:#000; font-size:14px; border:none; height:35px; cursor:pointer; line-height: 1 !important;
		border: 1px solid #ccc; }

.comment-form-url{ display:none; }
.google-captcha-notice{ font-size:12px; color:#666; }
.comment-reply-title{ display:none; }

.comments_title1{ font-size:20px; font-weight:900; }
.comments_title2{ margin-top:7px; }

#comments{ margin-top:15px; }

.comment ul{ padding-left:40px; background-color:#F8F8F8; }