/* PAGINA CONTACTO */
.contact-form-left-column .h2 { margin-bottom: 25px; }
.contact-form-box .contact-form-right-column { padding: var(--padding-top-m); }
.contact-form-box .contact-form-right-column>.row {align-items: center;height: 100%;}
.contact-form-box .contact-form-right-column .contact-form-wrapper small { display: none; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group:not(:has(textarea)) { margin-bottom: 0; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group label { margin-bottom: 0; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group:has(textarea) { margin-bottom: 25px; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-send { margin-bottom: 0 !important; display: flex; justify-content: space-between; padding: 0 15px; flex-wrap: wrap; gap: 15px; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-send label { display: flex; align-items: center; font-size: 14px !important; gap: 10px; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-send label span { font-size: 16px; color: #333; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-send label span a { text-decoration: underline; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-send label input { margin-top: 0 !important; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group label textarea { resize: none; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group label textarea,.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group label input { border-top: 0; border-left: 0; border-right: 0; display: block; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group label textarea::placeholder,.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group label input::placeholder { opacity: 1 !important; color: #333333 !important; }
.contact-form-box .acepto_comunicacion input, .contact-form-box .acepto_comunicacion, .contact-form-box .acepto_condiciones input, .contact-form-box .acepto_condiciones{ cursor: pointer; }
.contact-form-box .acepto_comunicacion input, .contact-form-box .acepto_condiciones input{ width: 20px; height: 20px; }
.contact-form-box .contact-form-left-column { padding: 30px; border-radius: 40px 15px 40px 15px;}
.contact-form-box .contact-form-left-column .social-icons .sociallist { margin-bottom: 0; gap: 20px; }
.contact-form-box .contact-form-left-column .social-icons .sociallist i { font-size: 25px; }
.contact-form-box .contact-form-left-column p i { margin-right: 5px; color: var(--main-color-3); }
.contact-form-wrapper .form-last { display: flex; }
.contact-form-wrapper .form-last .form-checks { width: calc(100% - 175px); min-width: 500px; }
.contact-form-wrapper .form-last .form-checks .checkbox-inline { display: flex; align-items: center; justify-content: start; gap: 10px; margin-bottom: 10px !important; }
.contact-form-wrapper .form-last .form-checks .checkbox-inline input { margin-top: 0 !important; }
.contact-form-wrapper .form-last .form-send { max-width: unset; flex: unset; width: fit-content; }

.img-fluid { width: 100%; }
figure { margin: 0; }
.cookie-policy-lang li { margin-bottom: 0 !important; }

/* GENERAL */
.title { margin-bottom: var(--margin-bottom-s); }
p:has(+p, +ul) { margin-bottom: 15px; }
ul li:has(+li) { margin-bottom: 5px; }
li, p {line-height: 22px;}
.contentext .h1, .contentext .h2, .contentext .h3, .contentext .h4, .contentext .h5, .contentext .h6, .contentext h1, .contentext h2, .contentext h3, .contentext h4, .contentext h5, .contentext h6, .contentext .title {margin-bottom: 15px;}
.contentext p + h2 {margin-top: 30px;}
.contentext p + h3 {margin-top: 25px;}
.contentext h5 + h3, .contentext h4 + h3 { margin-top: 25px; }
.contentext p + h5, .contentext p + h4 { margin-top: 20px; }
.contentext p + h5, .contentext p + h4, .contentext p:has( + p) { margin-bottom: 15px; }

.max-half { max-width: 991px; min-width: 576px; }
.max-half.center{margin: 0 auto;}


.btn{ gap: 20px; }
.btn::after { content: ""; display: block; width: 16px; height: 8px; background-repeat: no-repeat; background-position: center; background-size: cover; background-image: url(/media/images/iconos/move-right.svg); transition: all 0.3s ease-in-out; filter: invert(1);}

/* ═══════════════════════════════════════════════════════════
   GLOBAL RESETS & BASE
═══════════════════════════════════════════════════════════ */
* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* Eliminar marges extra del main */



/* ═══════════════════════════════════════════════════════════
   HEADER - Transparent sobre hero
═══════════════════════════════════════════════════════════ */
@media only screen and (min-width: 991px){
   header.sticky-header { position: fixed; width: 100%; z-index: 1000; }
}
header .cbp-af-header.header-transparent { transition: all 0.3s ease; }

/* Quan fa scroll (shrink), canviar colors a fosc */
header .cbp-af-header.header-transparent.cbp-af-header-shrink .nav-link,
header .cbp-af-header.header-transparent.cbp-af-header-shrink .navbar-brand { color: #000000; }
header .cbp-af-header.header-transparent.cbp-af-header-shrink { box-shadow: 0 1px 0 rgba(0,0,0,0.08); }
header .cbp-af-header-shrink .navbar-brand .logo1 { filter: none; }
header .languages { display: flex; border-left: 1px solid #000; margin-left: 20px; padding-left: 20px; }
header .languages .lang-item a { font-size: clamp(0.6875rem, 0.625rem + 0.25vw, 0.75rem); text-transform: uppercase; letter-spacing: 0.05em; opacity: 0.6; transition: opacity 0.2s ease; }
header .languages .lang-item.active a,
header .languages .lang-item a:hover { opacity: 1; }

header .nav-link:not(.dropdown-item)::before{height: 1px;}
.nav-item.featured > .nav-link > .data { background: var(--main-color-1); border-radius: 16px; padding: 1px 10px; color: #fff !important; }
.navbar-toggler-icon{ width: 24px !important; transform: translateX(0px);}
.navbar-toggler-icon:after, .navbar-toggler-icon:before{width: 24px !important; transform: translateX(0px);}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after { transform: translateX(0px) rotate(45deg); width: 24px; left: 0; }
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before { transform: translate(0px, 8px) rotate(-45deg); width: 24px; }

.navbar-toggler-icon { width: 16px; height: 18px; background-image: none; position: relative; display: block; padding: 0; margin: 0; margin-right: 7px; border-bottom: 1px solid var(--dark); transform: translateX(8px); }
.navbar-toggler-icon:after, .navbar-toggler-icon:before{ width: 16px; position: absolute; height: 1px; background-color: var(--dark); top: 1px; left: 0; content: ''; z-index: 2; /* transform: translateX(-8px); */ transition: all 300ms linear; }
.navbar-toggler-icon:after{ top: 9px; width: 24px; left: 0; }
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after { transform:  rotate(45deg); width: 24px; left: 0; }
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before { transform: translate(0, 8px) rotate(-45deg); width: 24px; }
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon { border-color: transparent; transition: all 300ms linear; }

/* ═══════════════════════════════════════════════════════════
   HERO BANNER - Fullscreen amb overlay
═══════════════════════════════════════════════════════════ */
.banner.herobloc { position: relative; min-height: 100vh; min-height: 100dvh; display: flex; align-items: center; justify-content: center; }
.banner.herobloc .portfolio-thumb { position: absolute; inset: 0; z-index: 1; }
.banner.herobloc .portfolio-thumb::after { content: ''; position: absolute; inset: 0; background: linear-gradient( to bottom, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.5) 50%, rgba(0,0,0,0.7) 100% ); z-index: 2; }
.banner.herobloc .portfolio-thumb img { width: 100%; height: 100%; object-fit: cover; }
.banner.herobloc .banner-content { position: relative; z-index: 10; text-align: center; max-width: 800px; padding: clamp(1rem, 0.5rem + 2vw, 2rem); }

/* Etiqueta superior del hero */
.banner.herobloc .banner-content .inputtext { display: block; font-size: clamp(0.625rem, 0.5rem + 0.5vw, 0.75rem); font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: #ffffff; background: var(--main-color-1); padding: 0.5em 1em; border-radius: 2px; margin-bottom: clamp(1rem, 0.75rem + 1vw, 1.5rem); display: inline-block; }
.banner.herobloc .content-title { font-size: clamp(45px, 24.766px + 3.513vw, 75px) !important; font-weight: 400; color: #ffffff !important; letter-spacing: -0.02em; line-height: 1; margin-bottom: var(--margin-bottom-m); text-transform: uppercase; }
.banner.herobloc .content-text,
.banner.herobloc .content-text * { color: rgba(255,255,255,0.85) !important; max-width: 500px; margin: 0 auto clamp(1.5rem, 1rem + 2vw, 2.5rem); }
.banner.herobloc .btn { background: #ffffff !important; color: #000000 !important; border-color: #ffffff !important; }
.banner.herobloc .btn::after{filter: none;}
.banner.herobloc .btn:hover { background: var(--main-color-1) !important; color: #ffffff !important; border-color: var(--main-color-1) !important; }
.banner.herobloc .btn:hover::after{filter: invert(1);}

/* Indicador scroll */

/* ═══════════════════════════════════════════════════════════
   IMAGE TEXT - Secció "Spirit of Roquetes"
═══════════════════════════════════════════════════════════ */
.imagetext .content-column { padding-left: var(--padding-left-m); padding-right: var(--padding-right-m); }
.imagetext { overflow: hidden; }
.imagetext .row { align-items: stretch; }
.imagetext .image-column { position: relative; }

/* Contingut text */
.imagetext .content-column { display: flex; align-items: center; }
.imagetext .feature-info { padding: clamp(1.5rem, 1rem + 2vw, 3rem); }

/* Primera imagetext - Imatge gran amb label */
.imagetext .image-column { min-height: clamp(400px, 50vw, 700px); }
.imagetext .image { position: relative; height: 100%; overflow: hidden; border-radius: 8px; }
.imagetext .image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(100%); transition: filter 0.5s ease; }
.imagetext:hover .image img { filter: grayscale(0%); }

/* ═══════════════════════════════════════════════════════════
   SECONDARY BANNER - CTA Section
═══════════════════════════════════════════════════════════ */
.section-cta > .row > div *:not(img, figure,picture, [class*="banner-content-details"] *, .btn){ height: 100%; }
.section-cta .banner {display: flex; flex-direction: column; justify-content: start !important;}
.section-cta .banner .banner-content-details{display: flex; flex-direction: column; justify-content: space-between;}
.content-wrapper.CTA .individualbannersheet .btn{ --button-bg-color: #1a1a1a; --button-bg-color-hover: #000000; --button-border-color: #1a1a1a; --button-border-color-hover: #000000; }
.content-wrapper.CTA .individualbannersheet *:not(.btn),
.content-wrapper.CTA .individualbannersheet{color: var(--background3-color);}
.content-wrapper.CTA .individualbannersheet{background: var(--background3-bg-color);}
.content-wrapper.CTA .individualbannersheet img{filter: brightness(0) invert(1);}
.content-wrapper.CTA-Shop .individualbannersheet .btn{ --button-bg-color: #1a1a1a; --button-bg-color-hover: #000000; --button-border-color: #1a1a1a; --button-border-color-hover: #000000; }
.content-wrapper.CTA-Shop .individualbannersheet *:not(.btn),
.content-wrapper.CTA-Shop .individualbannersheet{color: var(--background3-color);}
.content-wrapper.CTA-Shop .individualbannersheet{background: var(--background3-bg-color);}
.content-wrapper.CTA-Shop .individualbannersheet img{filter: brightness(0) invert(1);}

.individualbannersheet { --content-p-color: var(--main-color-1); --content-heading-color: var(--main-color-1); /* --content-p-font-size: 22px; */ --content-h2-font-size: var(--content-h3-font-size); padding: 30px; border-radius: 8px; overflow: hidden;}
.individualbannersheet {justify-content: center !important;}
/* .individualbannersheet .portfolio-thumb::before{ content: ""; width: 100%; height: 100%; display: block; position: absolute; top: 0; left: 0; background-color: rgba(255,255,255,0.4); } */
.individualbannersheet .portfolio-thumb img { max-height: 100px; width: auto; margin-bottom: var(--margin-bottom-s); }
.individualbannersheet .banner-content .banner-content-details{/* display: flex; */ justify-content: space-between; gap: 30px; flex-wrap: wrap; /* align-items: end; */}
.individualbannersheet .banner-content .banner-content-details-inner .title{margin-bottom: var(--margin-bottom-s); --heading-font-family: var(--general-text-font-family); --content-h3-font-size: var(--content-h4-font-size); }
.individualbannersheet .banner-content .banner-content-details-inner .content-text{margin-bottom: var(--margin-bottom-s);}

/* ═══════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════ */
footer{--content-heading-color: #fff;}
/* footer .footer-logo img { filter: brightness(0) invert(1); } */
footer .footer-logo{margin-bottom: var(--margin-bottom-s);}

/* FOOTER */
#footer { padding-top: 20px; }
#footer {--content-heading-color: #ffffff; --content-strong-color: #ffffff;}
#footer strong{font-weight: 600;}
#footer .menu { margin: 0; }
#footer .menu-list { justify-content: start; }
#footer .menu-list .menu-item { margin: 0 0 10px 0 !important; }
#footer .menu-list .menu-item .dropdown-menu { display: none; opacity: 1; pointer-events: auto; visibility: visible; max-height: 9999px; transform: translate3d(0, 0px, 0); background-color: transparent; margin-top: 0 !important;}
#footer .menu-list .menu-item .nav-link .toggler::after, #footer .menu-list .menu-item .nav-link .toggler-inside::after, #footer .menu-list .menu-item .nav-link::after{content: unset;}
#footer .menu-list .menu-item .dropdown-menu::before{content: unset;}
#footer .menu-list .menu-item .dropdown-menu .nav-link{padding: 0; margin-top: 10px;}
#footer .menu-list .menu-item:last-child { margin: 0 !important; }
#footer .menu-list .menu-link span { transition: all 0.3s ease-in-out; }
#footer .menu-list .menu-link:hover span { color: var(--footer-a-hover-color); }

.footer-copyright { padding: 10px 15px;}
.footer-copyright-text p { margin: 0; }
.footer-links ul { list-style: none; margin: 0; padding: 0; text-align: end; }
.footer-links ul li { display: inline-block; margin-right: 40px; margin-bottom: 0;}
.footer-links ul li:last-child { margin-right: 0; }
.footer-links ul li a { transition: all 0.3s ease-in-out; }

#footer .title{margin-bottom: 20px; --heading-font-family: var(--general-font-family); }
#footer .contentext p i{margin-right: 5px;}
#footer .contentext p:not(.title):has( + p){margin-bottom: 10px;}

#footer .extrafooter{ --background3-color: #fff; --footer-a-hover-color: #fff; }
#footer .extrafooter a{ text-decoration: underline;}

/* ═══════════════════════════════════════════════════════════
   FEATURE BOXES (per la secció Spirit)
═══════════════════════════════════════════════════════════ */
/* ===== STICKY SECTION SELECTOR ===== */
.page-section-selector { padding: 20px !important; position: fixed; top: 100px; z-index: 1; left: 0; right: 0; transition: box-shadow 0.3s ease; }
body.has-sticky-header .page-section-selector { top: 80px; }
.page-section-selector.is-stuck { box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
.page-section-selector .contentext p a { text-decoration: none; padding: 4px 8px; /* border-radius: 4px; */ transition: color 0.3s ease, border-color 0.3s ease; display: inline-block; /* border-bottom: 2px solid transparent; */ }
.page-section-selector .contentext p span { opacity: 0.3; }
.page-section-selector .contentext p a.active { color: #003f23; font-weight: 600; border-bottom-color: #003f23; }
.page-section-selector .contentext p a:hover:not(.active) { opacity: 0.7; }

/* Tablet */
@media (max-width: 991px) {
   .page-section-selector { padding: 12px 0 !important; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none; /* Firefox */ }
   body.has-sticky-header .page-section-selector { top: 0; }
   .page-section-selector::-webkit-scrollbar { display: none; /* Chrome/Safari */ }
   .page-section-selector .contentext p { justify-content: flex-start; padding: 0 16px; min-width: max-content; }
   .page-section-selector .contentext p a { padding: 6px 14px; font-size: 14px; }
}

/* Mòbil */
@media (max-width: 575px) {
   .page-section-selector { padding: 10px 0 !important; }
   .page-section-selector .contentext p a { padding: 6px 10px; font-size: 13px; }
   .page-section-selector .contentext p span { display: none; /* amagar separadors, guanyar espai */ }
   .page-section-selector .contentext p { gap: 2px; }
}

#story, #urban, #movement, #services, #spirit{margin-top: -150px; padding-top: 150px;}
.feature-box { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(1rem, 0.75rem + 1vw, 1.5rem); background: #f5f5f5; border-radius: 8px; min-width: 140px; }
.feature-box .icon { font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem); margin-bottom: 0.75rem; color: var(--main-color-1); }
.feature-box .label { font-size: clamp(0.75rem, 0.6875rem + 0.25vw, 0.875rem); font-weight: 500; color: #000000; }

/* ═══════════════════════════════════════════════════════════
   UTILITIES
═══════════════════════════════════════════════════════════ */
.text-accent { color: var(--main-color-1) !important; }
.bg-accent { background-color: var(--main-color-1) !important; }
.bg-light-gray { background-color: #f5f5f5 !important; }
.bg-dark { background-color: #1a1a1a !important; }

.img-grayscale { filter: grayscale(100%); transition: filter 0.5s ease; }
.img-grayscale:hover { filter: grayscale(0%); }

/* Títol amb decoració superior */
.title-decorated::before { content: attr(data-pretitle); display: block; font-size: clamp(0.625rem, 0.5rem + 0.5vw, 0.75rem); font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #666666; margin-bottom: 0.75rem; }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE ADJUSTMENTS
═══════════════════════════════════════════════════════════ */
@media (max-width: 576px) {
    /* Hero més compacte en mòbil */
    .banner.hero-bloc { min-height: 100svh; }

}

/* FICHA NOTICIAS */
.Noticias.fitxa .main-content{max-width: 1200px;}
.Noticias.fitxa .main-content .contentext h2, .Noticias.fitxa .main-content .contentext .h2, .Noticias.fitxa .main-content .contentext h3, .Noticias.fitxa .main-content .contentext .h3, .Noticias.fitxa .main-content .contentext h4, .Noticias.fitxa .main-content .contentext .h4, .Noticias.fitxa .main-content .contentext h5, .Noticias.fitxa .main-content .contentext .h5, .Noticias.fitxa .main-content .contentext h6, .Noticias.fitxa .main-content .contentext .h6{margin-bottom: 25px;}
.Noticias.fitxa h1,.Noticias.fitxa .h1{ font-size: calc(var(--content-h1-font-size) * 0.8 ); }
.Noticias.fitxa h2,.Noticias.fitxa .h2{ font-size: calc(var(--content-h2-font-size) * 0.7 ); }
.Noticias.fitxa h3,.Noticias.fitxa .h3{ font-size: calc(var(--content-h3-font-size) * 0.7 ); }
.Noticias.fitxa h4,.Noticias.fitxa .h4{ font-size: calc(var(--content-h4-font-size) * 0.7 ); }
.Noticias.fitxa h5,.Noticias.fitxa .h5{ font-size: calc(var(--content-h5-font-size) * 0.7 ); }
.Noticias.fitxa h6,.Noticias.fitxa .h6{ font-size: calc(var(--content-h6-font-size) * 0.7 ); }


/* LISTADO NOTICIAS */
.Noticias.item-list .item{--heading-font-family: var(--general-text-font-family); margin-bottom: 30px;}
.Noticias.item-list .item .single-post-slide-wrap{ position: relative;}
.Noticias.item-list .item .single-post-slide-wrap .item-miniature{ overflow: hidden; border-radius: 4px; position: relative; }
.Noticias.item-list .item .single-post-slide-wrap .item-details{padding: 15px;}
.Noticias.item-list .item .single-post-slide-wrap .item-details .item-title{--content-h3-font-size: 20px; margin-bottom: 15px;}
.Noticias.item-list .item .single-post-slide-wrap .item-details .item-summary{--content-p-font-size:14px;}
.Noticias.item-list .item .single-post-slide-wrap .item-categories{ position: absolute; bottom: 5px; right: 5px; background: #eeeeee; font-size: 12px; color: #fff !important; /* --content-a-color: #fff; */ padding: 4px 8px; border-radius: 4px; }

/* PAGINADOR */
.pagination-box .btn { aspect-ratio: 1 !important; padding: 0 !important; }
.pagination-box .btn::after{content: unset !important;}
.pagination-box .pagination-item:first-child,
.pagination-box .pagination-item:last-child{display: block !important;}