@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;
}
/* estils bàsics */
b,strong {
    font-family: 'Public Sans Bold','Roboto', sans-serif;
    font-weight: normal;
}

.btn {
    background: #e52d2d;
    color: white;
    border-radius: 999px;
    padding: 5px 20px;
    text-decoration: none;
    transition: .5s;
}
.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:hover,
.contentDiv a {
    position: relative;
    color: black;
    text-decoration: none;
    /*padding-bottom: 2px;*/
}

.nav-link.select .link::after,
.link::after,
.contentDiv a::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: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: 1px solid #ccc;
    transition: 1s;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
/*.relacionats .item-relacionats:hover,*/
.fills .item-fills:hover {
    background: rgba(0,0,0,0.1);
    padding: 20px;
    transform: scale(1.01);
}

.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;
    border: 0;
    padding: 0;
}

.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%;
    border-radius: 10px;
    overflow: hidden;
}

.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: center;
    justify-content: center;
    text-align: center;
    color: white;
    padding: 10px;
    text-transform: uppercase;
    font-size: 1.5rem;
    flex-wrap: wrap;
}
.llistat .item-llistat .text-llistat .data-llistat {
    font-size: 1rem;
    margin-bottom: 1rem;
}
.llistat .item-llistat .text-llistat .titol-llistat {
     font-size: 1.2rem;
    font-weight: bold;
    text-align: left;
    color: white;
    margin-bottom: 1rem;
 }
.llistat .item-llistat .text-llistat .resum-llistat {
    font-size: 1rem;
    color: white;
}

.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-bottom: 40px;
}
/* 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 .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 .img-fills {
        width: 150px;
    }

    .fills .text-fills {
        width: calc(100% - 160px);
    }



}
@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 .img-fills {
        width: 300px;
    }

    .fills .text-fills {
        width: calc(100% - 310px);
    }
}

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