@font-face {
    font-family: 'Public Sans';
    src: url('../fonts/PublicSans-Medium.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
}
@font-face {
    font-family: 'Public Sans Bold';
    src: url('../fonts/PublicSans-Bold.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
}
body {
    font-family: "Public Sans","Roboto", sans-serif;
}
/*.row > * {*/
/*    padding: 0;*/
/*}*/

/* estils bàsics */
b,strong {
    font-family: 'Public Sans Bold','Roboto', sans-serif;
    font-weight: normal;
}
.fixed-top {
    background: white;
    padding: 10px !important;
}
.botons-form {
    text-align: right;
}

.hero {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;

    /* Per assegurar que la imatge es vegi bé */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 400px; /* Ajusta l'alçada segons necessitis */
    margin-bottom: 20px;
}
.hero .p-titol {
    color: white;
    z-index:5;
    padding-left: 9vw;
}
.hero-container {
    align-items: end;
    display: flex;
    height: 100%;
}
.reset-form,
.submit-form {
    margin: 1rem 0.5rem;
    border: 0;
}

.reset-form,
.submit-form,
.btn {
    background: #e52d2d;
    color: white;
    border-radius: 999px;
    padding: 5px 20px;
    text-decoration: none;
    transition: .5s;
}

.reset-form:hover,
.submit-form:hover,
.btn:hover {
    background: #e52d2d;
    color: white;
    transform: scale(1.1);
}
.btn.rodo {
    padding: 10px;
}
.btn.rodo > span {
    display: block;
}
.contentDiv img {
    width: 100%
}
.contentDiv .row {
    margin: 0;
}

.contentDiv .titol {
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 20px;
}
.contentDiv h1 {
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.contentDiv h2 {
    margin-top: 2rem;
    margin-bottom: 1rem;
}

/* estils defecte enllaç dins el contingut */
.link:hover,
.link,
.contentDiv a:not(.btn):hover,
.contentDiv a:not(.btn) {
    position: relative;
    color: black;
    text-decoration: none;
    /*padding-bottom: 2px;*/
}

.nav-link.select .link::after,
.contentDiv a:not(.btn):not([class*="item-"])::after,
.link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: currentColor;
    transform-origin: right;
    transform: scaleX(1);
    transition: transform 0.4s ease;
}

.nav-link.select:hover .link::after,
.link:hover::after,
.contentDiv a:not(.btn):hover::after {
    transform: scaleX(0);
    transform-origin: right;
}

.nav-link .link::after {
    transform: scaleX(0);
}
.nav-link:hover .link::after {
    transform: scaleX(1);
}



/* estils per defecte del  plugin fills*/
/*.relacionats,*/
.fills {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
}

.relacionats .titol-relacionats,
.fills .titol-fills {
    font-size: 1.3rem;
    margin-bottom: 0.5rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.fills .img-fills {
    width: 100%;
}
.fills .img-fills img {
    width: 100%;
    object-fit: cover;
    transition: .2s;
    aspect-ratio: 4 / 3;
}
/*.relacionats .data-relacionats,*/
.fills .data-fills,
.fills .descripcio-fills
{
    font-size: 0.9rem;
}
.relacionats .item-relacionats,
.fills .item-fills{
    padding: 20px;
    width: 100%;
    /*border-radius: 10px;*/
    border: 10px solid white;
    transition: 1s;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.relacionats .item-relacionats:hover,
.llistat .item-llistat:hover,
.fills .item-fills:hover {
    /*background: rgba(0,0,0,0.1);*/
    /*padding: 20px;*/
    /*transform: scale(1.01);*/
    border: 10px solid #e52d2d !important;
}

.relacionats,
.fills.cataleg,
.llistat {
    display: flex;
    flex-wrap: wrap;
    gap: 2vw;
    padding-bottom: 0;
}
.fills.cataleg .titol-fills {
    -webkit-line-clamp: 3;
}
.relacionats a::after,
a.item-fills::after,
.fills.cataleg a::after {
    width: 0;
}

.relacionats .item-relacionats,
.fills.cataleg .item-fills,
.llistat .item-llistat {
    width: 100%;
    overflow: hidden;
    position: relative;
    display: block;
    text-decoration: none;
    color: inherit;
    padding: 0;
    border: 10px solid white;
}
.rodatges .llistat .item-llistat {
    border-color: #111111;
}
.relacionats .item-relacionats .img-relacionats::after,
.fills.cataleg .item-fills .img-fills::after,
.llistat .item-llistat .img-llistat::after,
.hero::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Degradat de transparent a negre (bottom) */
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
    z-index: 2; /* Per sobre de la imatge */
    pointer-events: none; /* Permet fer clic a la imatge a través del degradat */
}
/*.relacionats .item-relacionats::before,*/
/*.fills.cataleg .item-fills::before,*/
/*.llistat .item-llistat::before {*/
/*    content: "";*/
/*    position: absolute;*/
/*    top: 0;*/
/*    left: 0;*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    background: rgba(0, 0, 0, 0.4); !* Capa negra translúcida *!*/
/*    opacity: 0;*/
/*    transition: opacity 0.3s ease;*/
/*    z-index: 2;*/
/*}*/

/*.relacionats .item-relacionats:hover::before,*/
/*.fills.cataleg .item-fills:hover::before,*/
/*.llistat .item-llistat:hover::before {*/
/*    opacity: 1;*/
/*}*/
.relacionats .item-relacionats .img-relacionats,
.fills.cataleg .item-fills .img-fills,
.llistat .item-llistat .img-llistat {
    position: relative;
    z-index: 1;
    transition: transform 0.3s ease;
    height: 100%;
    width: 100%;
}

/*.relacionats .item-relacionats:hover .img-relacionats img,*/
/*.fills.cataleg .item-fills:hover .img-fills img,*/
/*.llistat .item-llistat:hover .img-llistat img {*/
/*    transform: scale(1.1);*/
/*}*/

.relacionats .item-relacionats .img-relacionats img,
.fills.cataleg .item-fills .img-fills img,
.llistat .item-llistat .img-llistat img {
    width: 100%;
    transition: 2s;
    object-fit: cover;
    height: 100%;
    display: block;
    aspect-ratio: auto;
}

.relacionats .item-relacionats .text-relacionats,
.fills.cataleg .item-fills .text-fills,
.llistat .item-llistat .text-llistat {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    text-align: center;
    color: white;
    padding: 10px;
    text-transform: uppercase;
    font-size: 1.5rem;
    flex-wrap: wrap;
}
.llistat.horitzontal .item-llistat {
    width: 100%;
    border: 1px solid #ccc;
    /*border-radius: 10px;*/
    padding: 10px;
}
.llistat.horitzontal .item-llistat .text-llistat {
    position: relative;
    color: black;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    text-transform: none;
    font-size: 1rem;
}

.llistat.horitzontal .item-llistat .text-llistat .titol-llistat {
    font-size: 1.5rem;
    margin-bottom: 0.1rem;
}

.cercar .llistat .titol-llistat::before {
    content: "article"; /* Nombre del icono de Material Icons */
    font-family: "Material Symbols Outlined";
    font-size: 1.5rem; /* Tamaño del icono */
    vertical-align: middle; /* Alinear con el texto */
    margin-right: 10px; /* Espacio entre el icono y el texto */
    display: inline-block;
}

.cercar .llistat .descripcio-llistat{
    margin-left: 35px;
}
.contentDiv {
    margin: 0 5%;
    margin-bottom: 40px;
}

/*.contentDiv .marges {*/
/*    width: 95vw;*/
/*    margin: auto;*/
/*    padding: 0 5%;*/
/*}*/
/* estils per defecte del  plugin galeria */
.contentDiv .modal-carousel .carousel-item img {
    object-fit: contain;
    width: 100%;
    height: 90vh;
}
.contentDiv .carousel .carousel-control-next, .carousel-control-prev {
    top: calc(50% - 31px);
    bottom: unset;
    width: auto;
    margin: 0 15px;
    /*border-radius: 10px;*/
    background: rgba(0,0,0,0.3);
}

.contentDiv .carousel .carousel-control-next:hover, .carousel-control-prev:hover {
    background: rgba(0,0,0,0.3);
}
.contentDiv .carousel .carousel-control-next-icon, .carousel-control-prev-icon {
    display: block;
    margin: 15px;
}

.contentDiv .carousel .img-thumbnail {
    aspect-ratio: 4/3;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.descriptors-desplegable {
    padding: 10px;
    display: flex;
    justify-content: start;
}

.descriptors-desplegable .collapse,
.descriptors-desplegable .collapsing {
    position: absolute;
    z-index: 5;
    background: white;
    margin-top: 45px;
}
.descriptors-desplegable .card {
    width: 300px;
    padding: 15px 30px;
    border-radius: 0;
}
.descriptors .btn {
    margin: 20px 0;
    width: 100%;
}

.descriptors form {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.descriptors .form-check {
    width: 100%;
}

@media only screen and (min-width: 576px)
{ /*Mida S */
    .relacionats .item-relacionats,
    .fills.cataleg .item-fills,
    .llistat .item-llistat {
        width: calc(50% - 2vw);
    }
    .llistat.horitzontal .item-llistat {
        width: 100%;
    }

    .descriptors .form-check {
        width: 50%;
    }

}

@media only screen and (min-width: 768px)
{ /*Mida M */

    .descriptors .form-check {
        width: 100%;
    }
    .descriptors .btn {
        margin: 20px 0;
        width: auto;
    }

    .fills .item-fills {
        width: calc(50% - 1.4rem);
    }


}
@media only screen and (min-width: 992px)
{ /*Mida L */
    .relacionats .item-relacionats,
    .fills.cataleg .item-fills,
    .llistat .item-llistat {
        width: calc(25% - 2vw);
    }
    .llistat.horitzontal .item-llistat {
        width: 100%;
    }

    .fills .item-fills {
        width: calc(33.33% - 1.4rem);
    }

}

@media only screen and (min-width: 1201px) /* Mida XL*/
{
}