/* ==========================================
   TOMARES GOURMET
   FICHAS INDIVIDUALES DE PARTICIPANTES
   ========================================== */


/* 1. INTEGRACION CON ASTRA */

body.single-tg_participante {
    background: #f7f7f5;
}

body.single-tg_participante #content,
body.single-tg_participante .site-content,
body.single-tg_participante #content > .ast-container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}


/* 2. CONTENEDOR PRINCIPAL */

.tg-ficha {
    width: 100%;
    margin: 0;
    padding: 70px 20px;
    background: #f7f7f5;
    font-family: 'Inter', sans-serif;
}

.tg-ficha,
.tg-ficha *,
.tg-ficha *::before,
.tg-ficha *::after {
    box-sizing: border-box;
}

.tg-ficha-contenedor {
    width: 100%;
    max-width: 920px;
    margin: 0 auto;
}


/* 3. CABECERA */

.tg-ficha-cabecera {
    text-align: center;
    margin-bottom: 38px;
}

.tg-ficha-edicion,
.tg-ficha-etiqueta {
    display: block;
    color: #b88624;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.tg-ficha-cabecera h1 {
    font-family: 'Inter', sans-serif;
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 600;
    line-height: 1.2;
    color: #171717;
    margin: 18px 0;
}

.tg-ficha-subtitulo {
    font-size: 16px;
    line-height: 1.6;
    color: #666;
    margin: 12px 0 0;
}


/* 4. CONTENEDOR DE TAPAS */

.tg-ficha-tapas {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}

/* Una sola tapa: tarjeta horizontal */
.tg-ficha-tapas:has(> .tg-tapa:only-child) {
    grid-template-columns: minmax(0, 1fr);
}

.tg-ficha-tapas > .tg-tapa:only-child {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
}


/* 5. TARJETAS DE TAPAS */

.tg-tapa {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e9e5dd;
    border-radius: 12px;
}

/* Fotografia */

.tg-tapa-imagen {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    background: #f1f1ee;
}

.tg-tapa-imagen img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

/* Imagen en tarjeta horizontal */
.tg-ficha-tapas > .tg-tapa:only-child .tg-tapa-imagen img {
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
}

/* Informacion gastronomica */

.tg-tapa-informacion {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 28px;
    flex: 1;
}

.tg-tapa-informacion h2 {
    font-family: 'Inter', sans-serif;
    font-size: clamp(23px, 2.4vw, 30px);
    font-weight: 600;
    line-height: 1.3;
    color: #171717;
    margin: 15px 0;
}

.tg-tapa .tg-ficha-etiqueta {
    color: #b88624;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.tg-ficha-descripcion {
    color: #555;
    font-size: 15px;
    line-height: 1.75;
    white-space: pre-line;
}


/* 6. INFORMACION DEL ESTABLECIMIENTO */

.tg-ficha-contacto {
    width: 100%;
    margin: 30px 0 0;
    padding: 30px;
    background: #fff;
    border: 1px solid #e9e5dd;
    border-radius: 12px;
}

.tg-ficha-contacto h2 {
    font-family: 'Inter', sans-serif;
    font-size: 23px;
    font-weight: 600;
    line-height: 1.3;
    color: #171717;
    margin: 0 0 24px;
}

.tg-ficha-contacto-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.tg-ficha-dato strong {
    display: block;
    color: #171717;
    font-size: 15px;
    margin-bottom: 8px;
}

.tg-ficha-dato p {
    margin: 0;
    color: #555;
    line-height: 1.6;
}

.tg-ficha-dato a {
    color: #555;
    text-decoration: none;
    transition: color 0.2s ease;
}

.tg-ficha-dato a:hover,
.tg-ficha-dato a:focus-visible {
    color: #b88624;
}


/* 7. TABLETS */

@media (max-width: 1024px) {

    .tg-ficha {
        padding: 55px 24px;
    }

    .tg-ficha-tapas {
        gap: 20px;
    }

    .tg-tapa-informacion {
        padding: 24px;
    }

}


/* 8. MOVILES */

@media (max-width: 767px) {

    .tg-ficha {
        padding: 45px 16px;
    }

    .tg-ficha-cabecera {
        margin-bottom: 30px;
    }

    .tg-ficha-cabecera h1 {
        font-size: 32px;
    }

    .tg-ficha-subtitulo {
        font-size: 14px;
    }

    .tg-ficha-tapas {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    /* Todas las tarjetas verticales en movil */
    .tg-ficha-tapas > .tg-tapa:only-child {
        display: flex;
        flex-direction: column;
    }

    .tg-ficha-tapas > .tg-tapa:only-child
    .tg-tapa-imagen img {
        height: auto;
        aspect-ratio: 4 / 3;
    }

    .tg-tapa-informacion {
        padding: 22px;
    }

    .tg-ficha-contacto {
        padding: 25px 20px;
        margin-top: 25px;
    }

    .tg-ficha-contacto h2 {
        font-size: 22px;
    }

    .tg-ficha-contacto-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

}