/* ==========================================================================
   1. STILI GENERALI E BASE (Validi per tutti i dispositivi)
   ========================================================================== */

.results .rufa-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    list-style: none;
    padding: 0;
    margin: 0!important;
    gap: 3rem;
}

.results .rufa-list:has(li.persona) {
    grid-template-columns: repeat(5, 1fr);                           
}

.rufa-card {
    display: block;
    border-top: 2px solid black;
    position: relative;
}

.rufa-card.persona{
    border-top: none;
   
}

/* IMAGE: Di base sempre a sinistra */
.rufa-card__image {
    width: 50%;
    transition: 1s all;
}

.rufa-card__image img {
    aspect-ratio: 4/5;
    width: 100%;
    display: block;
    object-fit: cover;
}
.rufa-card-persone__image{
  transition: 1s all;
}

.rufa-card-persone__image img {
    aspect-ratio: 1/1;
    width: 100%;
    display: block;
    object-fit: cover;
}

/* CONTENT: Di base sempre a destra */
.rufa-card__content {
    position: absolute;
    top: 0;
    right: 0;
    width: 70%;
    background: white;
    padding: 1rem;
    transition: 1s all;
}

.rufa-card__content  h3{
    font-size: 28px!important;
    font-weight: 600!important;
		margin-bottom:0!important;
}

.rufa-card.persona h3{
    font-size: 20.8px!important;
    margin-top:1rem;
}

.rufa-card.persona:hover .rufa-card-persone__image{
    transform: scale(0.95);
}

.rufa-card-persone__image.docenti img{
    margin-bottom:1rem;
   
}

.rufa-card.persona:hover h3{
    border-bottom: 1px solid black;
}

.rufa-card:hover .rufa-card__content {
    width: 90%;
}

.rufa-card:hover .rufa-card__image{
    width: 55%;
}

/* FORM: Layout base desktop */
.rufa_form {
    display: flex;
    width: 100%;
    justify-content: flex-end;
    gap: 1rem;
    margin-bottom: 80px;
}

.rufa_form select {
    width: 10%;
    background: white;
    border: 1px solid black;
    border-radius: 0;
}

.rufa-card-rect__content{
    transition: 0.5s all;
}


.rufa-card-rect__image img{
    width:100%
}

.rufa-card-rect:hover .rufa-card-rect__content{
    background: #EEEEEE;
    padding: 5px;
}

.grid-ul {
    margin:0!important;
}

/* ==========================================================================
   2. SOLO SMARTPHONE E TABLET (Da 1024px in giù)
   ========================================================================== */
@media (max-width: 1024px) {
    /* Griglia a 1 colonna */
    .results .rufa-list {
        grid-template-columns: 1fr;
    }

    /* I select e il bottone vanno a capo occupando il 100% della riga */
    .rufa_form {
        flex-wrap: wrap;
        flex-direction: column;
    }

.rufa_form select,
    .rufa_form div,
    .rufa_form button {
        width: 100% !important;
        max-width: 100%!important;
    
    }
    .rufa_form {
        margin-bottom:40px;
    }
}

/* ==========================================================================
   GRIGLIA PERSONE - RESPONSIVE (Senza conflitti)
   ========================================================================== */

/* 1. COMPORTAMENTO BASE: Smartphone (Valido da 0px in su) */
.results .rufa-list:has(li.persona) {
    grid-template-columns: repeat(1, 1fr); /* 1 colonna su mobile */
    gap: 1.5rem;
}

/* 2. TABLET: Da 768px in su */
@media (min-width: 768px) {
    .results .rufa-list:has(li.persona) {
        grid-template-columns: repeat(2, 1fr); /* 2 colonne su tablet */
        gap: 2rem;
    }
}

/* 3. LAPTOP / SCHERMI MEDI: Da 1025px in su */
@media (min-width: 1025px) {
    .results .rufa-list:has(li.persona) {
        grid-template-columns: repeat(3, 1fr); /* 3 colonne su laptop */
        gap: 2rem;
    }
}

/* 4. DESKTOP GRANDI: Da 1441px in su */
@media (min-width: 1441px) {
    .results .rufa-list:has(li.persona) {
        grid-template-columns: repeat(5, 1fr); /* 5 colonne su schermi grandi */
        gap: 2rem;
    }
}

/* ==========================================================================
   3. SOLO DESKTOP (Da 1025px in su)
   Qui gestiamo l'alternanza specchiata delle card
   ========================================================================== */
@media (min-width: 1025px) {
    /* Card 3 e 4: invertono la direzione (Immagine a destra) */
    .rufa-list .rufa-card:not(.persona):nth-child(4n + 3),
    .rufa-list .rufa-card:not(.persona):nth-child(4n + 4) {
        direction: rtl;
    }

    /* Contenuto delle card 3 e 4: mantiene il testo a sinistra ma si sposta a sinistra */
    .rufa-list .rufa-card:not(.persona):nth-child(4n + 3) .rufa-card__content,
    .rufa-list .rufa-card:not(.persona):nth-child(4n + 4) .rufa-card__content {
        direction: ltr;
        right: auto;
        left: 0;
    }
}


/* ==========================================================================
   STILE DI WP BAKERY RUFA SNODO
   ========================================================================== */

.rufa_form select {
    height:100%;
}

.rufa_form .filter {
    flex: 1 1 100%; 
    max-width: 300px;
    min-width: 200px;
}

@media (max-width: 1024px) {
    .rufa_form .filter {
        max-width: 100%; 
    }
}


/* Seleziona i checkbox all'interno del modulo dei filtri RUFA */
.rufa_form input[type="checkbox"] {
    /* Rimuove lo stile predefinito del browser */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    
    /* Forza dimensioni perfettamente quadrate */
    width: 18px;
    height: 18px;
    
    /* Stile dello stato neutro (deselezionato) */
    border: 2px solid #000000;
    background-color: transparent;
    border-radius: 0px; /* Elimina qualsiasi arrotondamento */
    
    /* Allineamento e comportamento base */
    cursor: pointer;
    display: inline-block;
    vertical-align: middle;
    outline: none;
    transition: background-color 0.2s ease;
}

/* Quando è selezionato: si colora INTERAMENTE di nero, senza nessuna "v" */
.rufa_form input[type="checkbox"]:checked {
    background-color: #000000;
    border-color: #000000;
}




.rufa-card__link {
    display: block;
    width: 100%;
    text-decoration: none;
}

.rufa-card__image-rettangolo {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.rufa-card__image-rettangolo img {
    position: absolute;
    inset: 0;

    width: 100% !important;
    height: 100% !important;
    max-width: none;

    display: block;
    object-fit: cover;
    object-position: center;
    transition: 0.5s ease;
}

.rufa-card-rect-wrapper:hover .rufa-card__image-rettangolo:hover img{
    transform: scale(0.95);
}

.rufa-card__content-rettangolo {
    width: 100%;
    padding-top: 15px;
}

.rufa-card__content-rettangolo h3 {
    margin: 0;
}