/*pulizie udine font*/
:root {
    --pu-font-main: 'Alan Sans', sans-serif;
    --big-line-height:2.5rem;
}
html{
    margin-top: 0px !important;
}
body:not(.home).page #header{
    top:0px !important;
    margin-bottom:3rem;
}
body:not(.home).page .main{
    padding-top: 5rem !important;
    padding-left:1.5rem;
    padding-right:1.5rem;
}
.big-line-height{
    line-height:var(--big-line-height);
}
/* Aplicación base para optimización tipográfica */
body, button, input, select, textarea {
    font-family: var(--pu-font-main) !important;
    font-optical-sizing: auto;
    -webkit-font-smoothing: antialiased;
}

.main {
    margin-top: -120px !important;
}

#header {
    top: calc(100vh - 120px);
    left: 0;
    height: 120px;
}
/* Forzar un alto máximo al contenedor del logo */

#header .header-row {
    height: 120px !important; 
    
}

/* Forzamos el tamaño del logo */
.header-logo img {
    height: auto !important;  /* El alto que me pediste */
    width: 100px !important;    /* Mantiene la proporción 3:4 (serían 75px de ancho) */
    max-height: 100% !important; 
}
.logo-sticky {
    display: none !important;
}
html.sticky-header-active .logo-normal {
    display: none !important;
}
html.sticky-header-active .logo-sticky {
    display: block !important;
}
/* Alineación vertical del menú para que no quede arriba */
.header-nav {
    display: flex !important;
    align-items: center !important;
    height: 120px !important;
}

/* Eliminamos el espacio que Porto reserva automáticamente en el HTML */
html.sticky-header-enabled {
    padding-top: 0 !important;
}

html.sticky-header-active #header .header-body {
    background-color: var(--primary) !important;
    border-bottom-color: var(--quaternary);
}

.social-icons li{
    border:1.5px solid var(--secondary);
}
.social-icons li a{
    
    border-radius:50%;
    background:var(--secondary);
   
}
.social-icons li:hover.social-icons-tiktok a {
	background: #FE2C55 !important;
}
.social-icons.social-icons-icon-light.social-icons-clean li a i{
      color:transparent;
}
#header .header-nav-main nav > ul > li > a.nav-link{
    font-size:16px;
}
#header .header-nav-main nav > ul > li > a.active,
#header .header-nav-main nav > ul > li:hover > a.active{color:#fff !important}
#header .header-nav-main nav > ul > li.open > a,
#header .header-nav-main nav > ul > li:hover > a{
    color:#fff !important;
    text-shadow: 0px 4px 12px #fff;
}
#header .header-nav-main nav > ul > li > a.active:before
{
    border-color: #fff !important;
}

/*map container- se deben aplcar estos estilos porque de lo contrario el mapa,por un lado se sobrepone al container y
 por otro, el contenedor del formulario, no dejaria hacer click en el mapa*/
.map-above {
  position: relative;
}

.map-above-map {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.map-above-content {
  position: relative;
  z-index: 2;
}
.map-above-content {
  pointer-events: none;
}

.map-above-content form,
.map-above-content input,
.map-above-content textarea,
.map-above-content button,
.map-above-content a {
  pointer-events: auto;
}
/*imagenes general*/

.pu-aspect-sqare{
    aspect-ratio:1/1;
    object-fit: cover;
}
/*form*/
.wpcf7-form .contact-form .form-group p{
    margin:0px;
}
.wpcf7-form .contact-form textarea{
    height:111px;
    min-height:111px;
    max-height: 250px ;
}

/*buttons*/
.btn-secondary,.btn-primary{
    color:#fff !important;
}
/* Contenedor del logo en el carrusel */
.pu-logo-item {
    display: flex !important;
    align-items: center;     /* Centrado vertical */
    justify-content: center;  /* Centrado horizontal */
    height: 200px;           /* Altura fija para que todos los logos compartan el eje */
    padding: 20px;           /* Espacio interno para que no se toquen */
}

.pu-logo-item img {
    max-height: 100px !important; /* Altura máxima del logo */
    width: auto !important;      /* Mantiene la proporción original */
    max-width: 100% !important;  /* No se sale del contenedor */
    /*filter: grayscale(100%);      Opcional: logos en gris */
    opacity: 1;
    transition: all 0.3s ease;
}

.pu-logo-item:hover img {
    filter: grayscale(0%);
    opacity: 1;
}
/* --- media queries --- */
@media (min-width: 992px) {
    .pu-phone-link {
        pointer-events: none; /* Deshabilita el link en Desktop */
        cursor: default;
    }
}
@media (max-width: 991px) {
    html:not(.sticky-header-active) #header .header-body {
        background-color: var(--secondary);
        border-bottom-color: var(--quaternary);
    }
    /*socials en el header*/
    .pu-hero-socials{
        display:none !important
    }
}