/* =========================================================
   VISITA TERUEL - TARJETAS DE CONTENIDO RELACIONADO
   ========================================================= */

.related-visual-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;

    margin-top: 20px;
}


/* ---------------------------------------------------------
   Tarjeta
   --------------------------------------------------------- */

.related-visual-card {
    display: flex;
    flex-direction: column;

    min-width: 0;

    overflow: hidden;

    border: 1px solid #e0e6e2;
    border-radius: 16px;

    background: #ffffff;

    color: inherit;
    text-decoration: none;

    box-shadow:
        0 4px 16px
        rgba(25, 45, 35, 0.05);

    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease;
}

.related-visual-card:hover {
    transform: translateY(-3px);

    border-color: #bdccc4;

    box-shadow:
        0 10px 28px
        rgba(25, 45, 35, 0.10);
}


/* ---------------------------------------------------------
   Imagen
   --------------------------------------------------------- */

.related-visual-card-media {
    position: relative;

    width: 100%;
    aspect-ratio: 16 / 10;

    overflow: hidden;

    background: #edf2ef;
}

.related-visual-card-media img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 0.3s ease;
}

.related-visual-card:hover
.related-visual-card-media img {
    transform: scale(1.035);
}


/* ---------------------------------------------------------
   Sin fotografía
   --------------------------------------------------------- */

.related-visual-card-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    background:
        linear-gradient(
            135deg,
            #edf3ef,
            #dfe9e3
        );
}

.related-visual-card-placeholder span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    border: 1px solid
        rgba(53, 91, 70, 0.22);
    border-radius: 50%;

    color: #577565;

    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}


/* ---------------------------------------------------------
   Contenido
   --------------------------------------------------------- */

.related-visual-card-content {
    display: flex;
    flex: 1;
    flex-direction: column;

    padding: 18px;
}

.related-visual-card-kicker {
    display: block;

    margin-bottom: 7px;

    color: #557461;

    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.related-visual-card-content h3 {
    margin: 0;

    color: #24362d;

    font-size: 1.08rem;
    line-height: 1.28;
}

.related-visual-card-meta {
    margin:
        8px
        0
        0;

    color: #65726b;

    font-size: 0.88rem;
    line-height: 1.4;
}

.related-visual-card-note {
    margin:
        10px
        0
        0;

    padding:
        9px
        11px;

    border-radius: 8px;

    background: #f4f7f5;

    color: #536159;

    font-size: 0.82rem;
    line-height: 1.4;
}

.related-visual-card-link {
    display: flex;
    align-items: center;
    gap: 7px;

    margin-top: auto;
    padding-top: 16px;

    color: #35644c;

    font-size: 0.82rem;
    font-weight: 700;
}

.related-visual-card-link b {
    transition:
        transform 0.18s ease;
}

.related-visual-card:hover
.related-visual-card-link b {
    transform: translateX(4px);
}


/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 760px) {

    .related-visual-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .related-visual-card {
        display: grid;
        grid-template-columns: 125px minmax(0, 1fr);
    }

    .related-visual-card-media {
        height: 100%;
        min-height: 135px;

        aspect-ratio: auto;
    }

    .related-visual-card-content {
        padding: 15px;
    }

}


@media (max-width: 480px) {

    .related-visual-card {
        grid-template-columns: 105px minmax(0, 1fr);
    }

    .related-visual-card-content h3 {
        font-size: 0.98rem;
    }

    .related-visual-card-meta {
        font-size: 0.80rem;
    }

    .related-visual-card-note {
        display: none;
    }

}