/*!
 * header.css
 *
 * Cabecera/header completa.
 * Incluye:
 *  - Header portada (heights, h1/h2, padding, divider, widget margin)
 *  - Boton hamburguesa canvas, logo movil, weather forecast
 *  - WIDGET STICKY BOOKING (actiu — requereix assets/js/sticky-widget.js)
 *  - LAYOUT GENERAL (.content-area)
 *  - CABECERA · ESTRUCTURA (desactivat)
 *  - CABECERA · NAVEGACIO (desactivat)
 *  - CABECERA · LANGUAGE SWITCHER (actiu)
 *  - HEADER STICKY scroll (actiu)
 *  - CABECERA · SEPARADORES VERTICALS (desactivat)
 *  - CABECERA · LOGO (actiu)
 *  - RESPONSIVE: Off Canvas LS (desactivat), navegacio responsive 1400/1200px, .switcher-movil (desactivat)
 *  - CABECERA · NAP icones (desactivat) — movut aqui des del seu lloc original
 */

/* Desktop grande */
.header-portada{
	min-height: 105vh;
}

.header-portada .kt-row-column-wrap,
.header-portada .kb-row-layout-wrap{
	max-width: 1200px;
	margin: 0 auto;
}
.widgetBookingContainer{
	margin-top:60px;
}
/* Portátiles y pantallas con menos alto */
@media (max-width: 1440px) and (min-width: 1025px){
	.header-portada{
		min-height: 92vh;
	}

	.header-portada .kt-row-column-wrap,
	.header-portada .kb-row-layout-wrap{
		max-width: 1000px;
	}
	.widgetBookingContainer{
	margin-top:60px;
}
}

/* Portátiles más justos */
@media (max-width: 1280px) and (min-width: 1025px){
	.header-portada{
		min-height: 86vh;
	}
	.widgetBookingContainer{
	margin-top:60px;
}
}

.header-portada h1{
	font-size: clamp(40px, 5vw, 72px);
	line-height: 1;
}

.header-portada h2{
	font-size: clamp(22px, 2.4vw, 34px);
	line-height: 1.1;
}

/* Línea de servicios bajo la bienvenida del hero (texto real, indexable) */
.header-portada .hero-serveis{
	display: block;
	margin-top: 22px;
	font-family: "Jost", -apple-system, "Segoe UI", sans-serif;
	font-weight: 600;
	font-size: clamp(12px, 1.35vw, 16px);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	line-height: 1.5;
	color: #fff;
}
@media (max-width: 767px){
	.header-portada .hero-serveis{
		margin-top: 14px;
		font-size: 12px;
		letter-spacing: 0.1em;
	}
}
@media (max-width: 1440px) and (min-width: 1025px){
	.header-portada{
		padding-top: 120px;
		padding-bottom: 40px;
	}
	.widgetBookingContainer{
	margin-top:30px;
}
 h1{
	margin-top:90px!important;
	 font-size: 50px!important;
	line-height: 1;
}
	.header-divider{
		display:none;
	}
	
}



/* Botón hamburguesa del canvas abierto en blanco */
.canvas-izquierda,
.canvas-izquierda:hover,
.canvas-izquierda:focus,
.canvas-izquierda:active{
	color: #fff !important;
}
.logo-movil{
	margin-top:20px!important;
}
.weather-forecast{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #fff;
	font-family: 'Jost', sans-serif;
	font-size: 16px;
	line-height: 1;
	padding-left:30px
}

.weather-forecast i{
	font-size: 16px;
	color: white;
}

.weather-forecast span{
	color: inherit;
}

/* Quitar línea blanca de la cabecera en móvil */
@media (max-width: 1024px){
	.cabecera-transparente::after,
	.kadence-header-row-inner::after{
		content: none !important;
	}
	.widgetBookingContainer{
	display:none;
	}
}
/* =========================================================
   🔖 WIDGET STICKY BOOKING — actiu (desktop only)

   Comportament: en pantalles ≥1025px, el widget de reserves
   ("#widgetBookingContainer") es queda fixat a `top: var(--widget-sticky-offset)`
   un cop l'usuari fa scroll prou per que el sentinel
   (.er-sticky-widget-sentinel, inserit pel JS) surti del viewport.

   El toggle de la classe `.kb-widget-fixed` el fa
   `assets/js/sticky-widget.js` mitjançant un IntersectionObserver.
   En mòbil el widget està display:none, així que el JS no s'enquena.
========================================================= */
:root {
    /* Ajust fi del top quan el widget esta sticky.
       El JS calcula: top = altura header sticky + altura admin bar + aquest valor.
       0 = enganxat al header. Pots posar un valor positiu si vols espai entre
       el header i el widget, o negatiu si el vols solapar lleugerament. */
    --widget-sticky-offset: 0px;
}

@media (min-width: 1025px) {
    #widgetBookingContainer {
        z-index: 99999;
        width: 90%;
        max-width: 1200px;
        margin: 0 auto;
    }

    [id^="widgetBookingContainer"].kb-widget-fixed {
        position: fixed;
        top: var(--widget-sticky-offset);
        left: 0;
        right: 0;
        width: 100%;
        max-width: none;
        margin: 0;
        background: #fff !important;
        padding: 10px max(24px, calc((100vw - var(--global-content-width, 1200px)) / 2));
        z-index: 999999;
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
        border-bottom: 1px solid rgba(0, 0, 0, 0.06);
        overflow: visible;
    }

    /* Força texto oscuro en todos los descendientes del widget en estado sticky.
       El MasterWidget renderitza els labels i camps amb color blanc per ser
       llegits sobre el hero fosc. Quan el widget passa a sticky (sobre pàgina
       blanca), reset a color fosc llegible. */
    [id^="widgetBookingContainer"].kb-widget-fixed,
    [id^="widgetBookingContainer"].kb-widget-fixed * {
        color: #1f2937 !important;
    }

    /* Inputs i selects: borde inferior gris suau (en lloc del blanc original) */
    [id^="widgetBookingContainer"].kb-widget-fixed .inputBox,
    [id^="widgetBookingContainer"].kb-widget-fixed .comboBox,
    [id^="widgetBookingContainer"].kb-widget-fixed input,
    [id^="widgetBookingContainer"].kb-widget-fixed select {
        border-color: rgba(0, 0, 0, 0.2) !important;
    }

    /* Botó de cerca: invertir a fons fosc / text clar perquè destaqui */
    [id^="widgetBookingContainer"].kb-widget-fixed .button.searchButton,
    [id^="widgetBookingContainer"].kb-widget-fixed .searchButton.button.enabled {
        background: #1f2937 !important;
        color: #fff !important;
        border-color: #1f2937 !important;
    }
    [id^="widgetBookingContainer"].kb-widget-fixed .button.searchButton:hover,
    [id^="widgetBookingContainer"].kb-widget-fixed .searchButton.button.enabled:hover {
        background: #374151 !important;
        color: #fff !important;
        border-color: #374151 !important;
    }
    /* El texto interior del botón sí debe quedar blanco */
    [id^="widgetBookingContainer"].kb-widget-fixed .button.searchButton,
    [id^="widgetBookingContainer"].kb-widget-fixed .button.searchButton *,
    [id^="widgetBookingContainer"].kb-widget-fixed .searchButton.button.enabled,
    [id^="widgetBookingContainer"].kb-widget-fixed .searchButton.button.enabled * {
        color: #fff !important;
    }

    /* Anula qualsevol transform que pugui aplicar Kadence o un altre plugin
       sobre els descendents quan el widget esta en mode fixed (evita salts) */
    [id^="widgetBookingContainer"].kb-widget-fixed * {
        transform: none;
    }

    /* Placeholder injectat pel JS — manté l'altura original del widget quan
       passa a position:fixed, evitant un salt de layout. */
    #widgetBookingPlaceholder {
        width: 100%;
    }

    /* Popups del widget per sobre del header sticky */
    .comboPopup,
    .datePickerPopup {
        position: absolute !important;
        z-index: 1000000 !important;
    }
}
/* =========================================================
   📱 LAYOUT GENERAL
========================================================= */
@media (min-width: 1025px) {
     .content-area {
        margin-top: calc(-1 * var(--global-xxl-spacing)) !important;
    }
}
@media (max-width: 1025px) {
     .content-area {
        margin-top: calc(-1 * var(--global-xxl-spacing)) !important;
    }
}
/* =========================================================
   🧭 CABECERA - ESTRUCTURA
========================================================= */

/* Concentración alrededor del logo */
/*
.wp-block-kadence-header-row22555_348309-68 .kadence-header-row-inner {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

/* Secciones laterales SIN flex-grow *
.wp-block-kadence-header-section22555_ec9692-1e,
.wp-block-kadence-header-section22555_77bfba-e2 {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    display: flex !important;
}

/* Columna center-left oculta *
.wp-block-kadence-header-column-center-left {
    display: none !important;
}

/* Columna center-right visible para language switcher *
.wp-block-kadence-header-column-center-right {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    gap: 10px;
}

/* Alinear contenido de las secciones *
.wp-block-kadence-header-section22555_ec9692-1e > * {
    margin-left: auto !important;
}

.wp-block-kadence-header-section22555_77bfba-e2 > * {
    margin-right: auto !important;
}

/* Logo sin márgenes extras *
.wp-block-kadence-header-column-center {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 1rem !important;
}
*/
/* =========================================================
   🧭 CABECERA - NAVEGACIÓN
========================================================= */

/* CABECERA · NAVEGACIÓ compacta — desactivat intencionalment */
/*
--- Navegaciones compactas ---
.wp-block-kadence-navigation22572-cpt-id,
.wp-block-kadence-navigation22577-cpt-id {
    width: auto !important;
    display: inline-flex !important;
}

.wp-block-kadence-navigation22572-cpt-id .menu-container,
.wp-block-kadence-navigation22577-cpt-id .menu-container {
    width: auto !important;
}

--- Items del menú en mayúsculas ---
.kb-navigation .kb-nav-link-content {
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.9rem;
    white-space: nowrap;
}

--- Reducir espaciado entre items ---
.kb-navigation > .menu-container > ul {
    display: flex !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

--- Items con padding ---
.kb-navigation .menu-container ul.kb-navigation li.menu-item {
    position: relative !important;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
    margin: 0 !important;
}

.kb-navigation .menu-container ul.kb-navigation li.menu-item:first-child {
    padding-left: 0 !important;
}

.kb-navigation .menu-container ul.kb-navigation li.menu-item:last-child {
    padding-right: 0 !important;
}

--- Márgenes laterales generales ---
.kadence-header-row-inner {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
}
*/

/* =========================================================
   CABECERA · LANGUAGE SWITCHER
========================================================= */

:root{
	--ls-globe-size: 22px;
	--ls-globe-gap: 8px;
	--ls-globe-bg-size: 22px;
	--ls-text-color: #fff;
	--ls-line-color: rgba(255,255,255,.35);
}

/* =========================================================
   1) OCULTAR BANDERAS
========================================================= */

.current-language-item img.wpml-ls-flag,
.wp-block-navigation__submenu-container img.wpml-ls-flag{
	display: none !important;
}

/* =========================================================
   2) GLOBO BLANCO
========================================================= */

.current-language-item::before,
.wp-block-navigation__submenu-container a.wp-block-navigation-item__content::before{
	content: "";
	display: inline-block;
	width: var(--ls-globe-size);
	height: var(--ls-globe-size);
	margin-right: var(--ls-globe-gap);
	vertical-align: middle;
	flex: 0 0 auto;
	background-repeat: no-repeat;
	background-position: center;
	background-size: var(--ls-globe-bg-size) var(--ls-globe-bg-size);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20'/%3E%3Cpath d='M12 2c3.5 3 3.5 17 0 20'/%3E%3Cpath d='M12 2c-3.5 3-3.5 17 0 20'/%3E%3Cpath d='M4 7.5h16'/%3E%3Cpath d='M4 16.5h16'/%3E%3C/g%3E%3C/svg%3E");
}

/* =========================================================
   3) COLOR BLANCO DEL SWITCHER
========================================================= */

.wpml-language-switcher-block,
.wpml-language-switcher-block a,
.wpml-language-switcher-block .wp-block-navigation-item__content,
.current-language-item{
	color: var(--ls-text-color) !important;
}

/* =========================================================
   4) ESTRUCTURA DEL SWITCHER
========================================================= */

.wpml-language-switcher-block{
	position: relative !important;
	width: auto !important;
	max-width: 140px !important;
	margin-left: auto !important;
	margin-right:30px!important;
	flex-shrink: 0 !important;
	z-index: 50 !important;
	isolation: isolate;
}

.wpml-language-switcher-block > .wp-block-navigation-item,
.wpml-language-switcher-block > .wp-block-navigation-item > div{
	width: auto !important;
}

.wpml-language-switcher-block .wp-block-navigation-item,
.wpml-language-switcher-block .wp-block-navigation-submenu{
	position: relative;
}

/* =========================================================
   5) SUBMENÚ
========================================================= */

.wpml-language-switcher-block .wp-block-navigation__submenu-container{
	position: absolute !important;
	top: 100% !important;
	right: 0 !important;
	left: auto !important;
	transform: none !important;
	margin: 0 !important;
	min-width: max-content;
	padding: 6px 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	z-index: 9999 !important;
}

.wpml-language-switcher-block .wp-block-navigation__submenu-container a.wp-block-navigation-item__content{
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	background: transparent !important;
	color: #fff !important;
}

.wpml-language-switcher-block .wp-block-navigation__submenu-container a.wp-block-navigation-item__content:hover{
	background: rgba(255,255,255,.08) !important;
	color: #fff !important;
}

/* =========================================================
   6) CABECERA Y LÍNEA INFERIOR
========================================================= */

.kb-header,
.kadence-header,
.site-header,
.site,
.kadence-header-row,
.kadence-header-row-inner,
.wp-block-kadence-header-row,
.wp-block-kadence-header-row-inner{
	overflow: visible !important;
}

.cabecera-transparente,
.kadence-header-row-inner{
	position: relative;
	border-bottom: none !important;
}

.cabecera-transparente::after,
.kadence-header-row-inner::after{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: white;
	z-index: 0 !important;
	pointer-events: none;
}

/* El switcher debe quedar por encima de la línea */
.wpml-language-switcher-block,
.wpml-language-switcher-block .wp-block-navigation-item,
.wpml-language-switcher-block .wp-block-navigation__submenu-container{
	z-index: 9999 !important;
}

/* =========================================================
   7) DESKTOP
========================================================= */

@media (min-width: 1025px){
	.wpml-language-switcher-block{
		max-width: 140px !important;
	}
}
.wpml-language-switcher-block .wp-block-navigation__submenu-container{
	background: rgba(0,0,0,.72) !important;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(255,255,255,.14) !important;
	border-radius: 8px;
	box-shadow: 0 10px 30px rgba(0,0,0,.18);
}
/* =========================================================
   HEADER STICKY · SOLO AL HACER SCROLL
========================================================= */

.kb-header-sticky-wrapper.item-is-fixed:not(.item-at-start) .kadence-header-row-inner,
.kb-header-sticky-wrapper.item-is-fixed:not(.item-at-start){
	background: linear-gradient(
		to bottom,
		rgba(0,0,0,.42) 0%,
		rgba(0,0,0,.26) 55%,
		rgba(0,0,0,.14) 100%
	) !important;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}
/* Quitar línea inferior cuando el header ya está sticky */
.kb-header-sticky-wrapper.item-is-fixed:not(.item-at-start) .cabecera-transparente::after,
.kb-header-sticky-wrapper.item-is-fixed:not(.item-at-start) .kadence-header-row-inner::after{
	content: none !important;
}
/* LANGUAGE SWITCHER · SOLO MEJORAR LEGIBILIDAD EN STICKY */
.kb-header-sticky-wrapper.item-is-fixed:not(.item-at-start) 
.wpml-language-switcher-block 
.wp-block-navigation__submenu-container{
background: rgba(10,10,10,.86) !important;
}
/* Sticky: misma estética, pero aumentando opacidad en todo el submenu */
.kb-header-sticky-wrapper.item-is-fixed:not(.item-at-start) 
.wpml-language-switcher-block 
.wp-block-navigation__submenu-container,
.kb-header-sticky-wrapper.item-is-fixed:not(.item-at-start) 
.wpml-language-switcher-block 
.wp-block-navigation__submenu-container ul,
.kb-header-sticky-wrapper.item-is-fixed:not(.item-at-start) 
.wpml-language-switcher-block 
.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{
	background: rgba(10,10,10,.50) !important;
}

/* Quitar fondos internos que rompen la uniformidad */
.kb-header-sticky-wrapper.item-is-fixed:not(.item-at-start) 
.wpml-language-switcher-block 
.wp-block-navigation__submenu-container li,
.kb-header-sticky-wrapper.item-is-fixed:not(.item-at-start) 
.wpml-language-switcher-block 
.wp-block-navigation__submenu-container a{
	background: transparent !important;
}
.kb-header-sticky-wrapper.item-is-fixed:not(.item-at-start) 
.wpml-language-switcher-block 
.wp-block-navigation__submenu-container{
	padding-left: 10px !important;
	padding-right: 10px !important;
}
/*FIN HEADER STICKY*/
/* =========================================================
   🧭 CABECERA - SEPARADORES VERTICALES — desactivat intencionalment
========================================================= */
/*
.left-menu-item-001,
.left-menu-item-002,
.left-menu-item-003,
.right-menu-item-001,
.right-menu-item-002,
.right-menu-item-003 {
    position: relative !important;
    width: fit-content !important;
    padding-right: 20px !important;
}

.left-menu-item-001::after,
.left-menu-item-002::after,
.left-menu-item-003::after,
.right-menu-item-001::after,
.right-menu-item-002::after,
.right-menu-item-0013:after {
    content: '│' !important;
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: rgba(51, 51, 51, 0.3) !important;
    font-size: 18px !important;
    line-height: 1 !important;
}
*/

/* =========================================================
   🧭 CABECERA - LOGO
========================================================= */
.kb-identity img {
    max-width: 140px;
    height: auto;
}

/* Un poco de aire alrededor del logo, sin engordar el header: el logo mide
   ~95px; con min-height 112 respira ~8px arriba y abajo. */
.wp-block-kadence-header-row22832_f76085-02 .kadence-header-row-inner{
    min-height: 112px !important;
}

/* =========================================================
   📐 RESPONSIVE
========================================================= */
/* Off Canvas - Language Switcher (solo responsive) */
/*
@media (max-width: 1024px) {
    .switcher-movil {
        padding-left: 20px !important;
			margin-left:-70px;
			margin-top: 20px
    }

    .switcher-movil .wpml-ls-dropdown {
        width: auto !important;
    }

    .switcher-movil .wpml-ls-dropdown img.wpml-ls-flag {
        width: 24px !important;
        height: auto !important;
    }
}
@media (max-width: 1400px) {
    .kb-navigation .kb-nav-link-content {
        font-size: 0.75rem;
        letter-spacing: 0.2px;
    }

    .kb-navigation .menu-container ul.kb-navigation li.menu-item {
        padding-left: 0.4rem !important;
        padding-right: 0.4rem !important;
    }

    .kadence-header-row-inner {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .wp-block-kadence-header-column-center {
        padding: 0 !important;
    }

    .kb-nav-link-22572_985ff7-54,
    .kb-nav-link-22572_6a339a-92,
    .kb-nav-link-22572_efd0df-75,
    .kb-nav-link-22577_bb8a07-60,
    .kb-nav-link-22577_fcdcde-79,
    .kb-nav-link-22577_7a45e2-98 {
        padding-right: 10px !important;
    }

    .kb-nav-link-22572_985ff7-54::after,
    .kb-nav-link-22572_6a339a-92::after,
    .kb-nav-link-22572_efd0df-75::after,
    .kb-nav-link-22577_bb8a07-60::after,
    .kb-nav-link-22577_fcdcde-79::after,
    .kb-nav-link-22577_7a45e2-98::after {
        font-size: 14px !important;
    }
}

@media (max-width: 1200px) {
    .kb-navigation .kb-nav-link-content {
        font-size: 0.65rem;
        letter-spacing: 0.1px;
    }

    .kb-navigation .menu-container ul.kb-navigation li.menu-item {
        padding-left: 0.25rem !important;
        padding-right: 0.25rem !important;
    }

    .wpml-language-switcher-block {
        max-width: 50px !important;
    }

    .kadence-header-row-inner {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }

    .kb-nav-link-22572_985ff7-54,
    .kb-nav-link-22572_6a339a-92,
    .kb-nav-link-22572_efd0df-75,
    .kb-nav-link-22577_bb8a07-60,
    .kb-nav-link-22577_fcdcde-79,
    .kb-nav-link-22577_7a45e2-98 {
        padding-right: 6px !important;
    }

    .kb-nav-link-22572_985ff7-54::after,
    .kb-nav-link-22572_6a339a-92::after,
    .kb-nav-link-22572_efd0df-75::after,
    .kb-nav-link-22577_bb8a07-60::after,
    .kb-nav-link-22577_fcdcde-79::after,
    .kb-nav-link-22577_7a45e2-98::after {
        font-size: 11px !important;
    }

    .kb-identity img {
        max-width: 120px;
    }
}

/* Off Canvas — desactivat intencionalment */
/*
.switcher-movil{

}
*/

/* === CABECERA – Ajustes NAP (icono + texto) — desactivat intencionalment === */
/*
--- Separa los bloques de NAP (teléfono, correo, idioma) ---
#wrapper > header > div.wp-block-kadence-header-desktop.kb-header-container > div.wp-block-kadence-header-row.wp-block-kadence-header-rowkadence__blank-2_0ed220-43.wp-block-kadence-header-row-top.kb-header-row-layout-fullwidth > div > div.wp-block-kadence-header-section.wp-block-kadence-header-sectionkadence__blank-2_183655-ec{
gap:40px;
}

--- Dentro de cada bloque, reduce la separación icono↔texto ---
.header-nap.kb-buttons-wrap {
  display: flex;
  align-items: center;
  gap: 1px;
  -- icono más pegado al texto --
}

--- Elimina padding interno de los botones Kadence ---
.header-nap .kb-button {
  padding: 0 !important;
  margin: 0 !important;
}

--- Asegura alineación vertical y color heredado ---
.header-nap a {
  display: inline-flex;
  align-items: center;
  color: #66b469;
  text-decoration: none;
}

#widgetBookingContainer{
	z-index:99999!important;
}
*/

