/* ==========================================================================
   Consigliati (mod_portalaccommodations tpl: consigliati.php)
   Swiper 14 + card design delle pagine località (cfr. single-structure.jpg)
   Palette: #f2b41e (giallo) · #071f38 (navy) · #299fa8 (teal) · #6b7280 (grigio)
   Font: 'Source Sans Pro'
   Nota: blocco visibile su tutti i breakpoint (classi nuove, nessun
   display:none ereditato dallo swiper custom precedente).
   ========================================================================== */

.mod-consigliati {
    display: block;
    position: relative;
    /* Larghezza DEFINITA: il blocco vive dentro <aside>, un float "shrink-to-fit"
       senza larghezza propria. Uno Swiper con width:100% qui non avrebbe un
       riferimento e collasserebbe la colonna. Con una larghezza in px (e vw su
       mobile — lunghezze definite, non %) il float si dimensiona correttamente. */
    width: 340px;
    max-width: 100%;
    /* Spazio ai lati (dx/sx): padding orizzontale con box-sizing border-box,
       così il padding rientra nella larghezza (niente overflow). */
    box-sizing: border-box;
    padding: 0 20px;
    margin: 32px 0;
    font-family: 'Source Sans Pro', sans-serif;
}
@media only screen and (max-width:750px) {
    .mod-consigliati {
        width: 100%;
        max-width: 100%;
    }
}
/* Container Swiper: padding verticale per il "lift" hover delle card,
   padding orizzontale per far spazio alle frecce di navigazione. */
.mod-consigliati .swiper-consigliati {
    position: relative;
    padding: 8px 8px 12px;
}

/* Slide ad altezza uniforme (card allineate) */
.mod-consigliati .swiper-consigliati .swiper-slide {
    height: auto;
    display: flex;
}

/* --- Card --- */
.mod-consigliati .consigliati-card {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    overflow: hidden;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                border-color 0.25s ease;
}

.mod-consigliati .consigliati-card:hover {
    /*transform: translateY(-4px);*/
    /*box-shadow: 0 16px 40px rgba(7, 31, 56, 0.14);*/
    border-color: rgba(242, 180, 30, 0.55);
}

.mod-consigliati .consigliati-card__link {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    flex: 1;
    min-width: 0;
}

/* --- Immagine --- */
.mod-consigliati .consigliati-card__media {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #f3f4f6;
}

.mod-consigliati .consigliati-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.mod-consigliati .consigliati-card:hover .consigliati-card__media img {
    transform: scale(1.06);
}

/* --- Corpo --- */
.mod-consigliati .consigliati-card__body {
    padding: 18px 20px 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.mod-consigliati .consigliati-card__title {
    margin: 0;
    color: #071f38;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    line-height: 1.3;
}

.mod-consigliati .consigliati-card__title span[itemprop="name"] {
    display: inline;
}

/* Stelle classificazione (markup <i> restituito da getClassification) */
.mod-consigliati .consigliati-card__title i {
    color: #f2b41e;
    font-size: 13px;
    letter-spacing: 1.5px;
    margin-left: 4px;
    vertical-align: middle;
    font-style: normal;
}

.mod-consigliati .consigliati-card__link:hover .consigliati-card__title {
    color: #f2b41e;
}

/* --- Località con pin --- */
.mod-consigliati .consigliati-card__locality {
    margin: 0;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.4;
    display: inline-flex;
    align-items: flex-start;
    gap: 6px;
}

.mod-consigliati .consigliati-card__locality::before {
    content: "\f041"; /* FontAwesome map-marker */
    font: normal normal normal 13px/1 FontAwesome;
    color: #f2b41e;
    margin-top: 2px;
    flex-shrink: 0;
}

/* --- CTA --- */
.mod-consigliati .consigliati-card__cta {
    padding: 0 20px 20px;
    margin-top: auto;
}

.mod-consigliati .consigliati-card__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: 999px;
    background: #071f38;
    color: #fff;
    border: 1px solid #071f38;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.3px;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s ease, color 0.2s ease,
                border-color 0.2s ease, transform 0.15s ease;
}

.mod-consigliati .consigliati-card__btn:hover {
    background: #f2b41e;
    color: #071f38;
    border-color: #f2b41e;
    transform: translateY(-1px);
}

.mod-consigliati .consigliati-card__btn svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.mod-consigliati .consigliati-card__btn svg path {
    stroke: currentColor;
}

/* --- Focus accessibile --- */
.mod-consigliati .consigliati-card a:focus-visible {
    outline: 2px solid #f2b41e;
    outline-offset: 3px;
    border-radius: 6px;
}

/* --- Navigazione (frecce) --- */
.mod-consigliati .consigliati-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid #e5e7eb;
    border-radius: 50%;
    background: #fff;
    color: #071f38;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(7, 31, 56, 0.12);
    transition: background 0.2s ease, color 0.2s ease,
                border-color 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.mod-consigliati .consigliati-nav:hover {
    background: #f2b41e;
    color: #071f38;
    border-color: #f2b41e;
}

.mod-consigliati .consigliati-nav--prev {
    left: -6px;
}

.mod-consigliati .consigliati-nav--next {
    right: -6px;
}

.mod-consigliati .consigliati-nav svg {
    width: 22px;
    height: 22px;
}

/* Stati Swiper: nasconde le frecce quando non servono */
.mod-consigliati .consigliati-nav.swiper-button-disabled,
.mod-consigliati .consigliati-nav.swiper-button-lock {
    opacity: 0;
    pointer-events: none;
}

/* --- Responsive --- */
@media (max-width: 900px) {
    .mod-consigliati .consigliati-nav {
        width: 40px;
        height: 40px;
    }
    .mod-consigliati .consigliati-nav--prev { left: 0; }
    .mod-consigliati .consigliati-nav--next { right: 0; }
}

@media (max-width: 600px) {
    .mod-consigliati {
        margin: 24px 0;
    }
    .mod-consigliati .consigliati-card__body {
        padding: 16px 16px 10px;
    }
    .mod-consigliati .consigliati-card__cta {
        padding: 0 16px 16px;
    }
    .mod-consigliati .consigliati-nav {
        width: 36px;
        height: 36px;
    }
    .mod-consigliati .consigliati-nav svg {
        width: 18px;
        height: 18px;
    }
}

/* Telefoni stretti: 300px potrebbe sforare il wrapper (width:90%).
   Uso vw (lunghezza definita) per non collassare né andare in overflow. */
@media (max-width: 360px) {
    .mod-consigliati { width: 88vw; }
}