/* ==========================================================
   FLAUTEA 152-B
   FLAUTAS TRADICIONALES DEL MUNDO
   ========================================================== */

.flt-trad {
    max-width: 1080px;
    margin: 0 auto;
    color: #173d43;
}

.flt-trad *,
.flt-trad *::before,
.flt-trad *::after {
    box-sizing: border-box;
}


/* Ocultar imagen genérica si por alguna variante de la vista
   sigue renderizándose encima del contenido específico */

body:has(.flt-trad-page) .fh-main-image {
    display: none !important;
}


/* CABECERA */

.flt-trad-hero {
    padding:
        1.7rem
        1.8rem;

    border:
        1px solid #c9dfdd;

    border-radius:
        16px;

    background:
        #f9fcfb;
}

.flt-trad-kicker,
.flt-trad-number {
    display: block;

    margin-bottom: .45rem;

    color: #087f84;

    font-size: .68rem;
    font-weight: 800;

    letter-spacing: .13em;
}

.flt-trad-hero h1 {
    margin:
        0
        0
        .8rem;

    color: #073943;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(1.8rem, 3vw, 2.55rem);

    line-height: 1.08;
}

.flt-trad-hero p {
    max-width: 950px;

    line-height: 1.75;
}

.flt-trad-lead {
    font-size: 1.04rem;
}


/* ÍNDICE */

.flt-trad-index {
    display: flex;

    flex-wrap: wrap;

    gap: .55rem;

    margin:
        1rem
        0
        2rem;
}

.flt-trad-index a {
    padding:
        .42rem
        .75rem;

    border:
        1px solid #b8d9d6;

    border-radius: 999px;

    background: #fff;

    color: #086b71;

    font-size: .73rem;
    font-weight: 700;

    text-decoration: none;
}


/* SECCIONES */

.flt-trad-section {
    margin-top: 2.8rem;
}

.flt-trad-section > h2,
.flt-trad-sources > h2 {
    margin:
        0
        0
        .8rem;

    color: #073943;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(1.45rem, 2.2vw, 2rem);
}

.flt-trad-section > p {
    max-width: 980px;

    line-height: 1.78;
}


/* GRIDS */

.flt-trad-grid {
    display: grid;

    gap: 1rem;

    margin-top: 1.3rem;
}

.flt-trad-grid-3 {
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
}

.flt-trad-grid-2 {
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
}

.flt-trad-grid article,
.flt-trad-materials article,
.flt-trad-functions article {
    padding: 1.15rem;

    border:
        1px solid #c9dfdd;

    border-radius:
        11px;

    background: #fbfdfc;
}

.flt-trad-grid h3 {
    margin:
        0
        0
        .55rem;

    color: #073943;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1rem;
}

.flt-trad-grid p,
.flt-trad-materials p,
.flt-trad-functions p {
    margin-bottom: 0;

    line-height: 1.67;
}


/* NOTA */

.flt-trad-note {
    margin-top: 1rem;

    padding:
        1rem
        1.15rem;

    border-left:
        4px solid #089497;

    border-radius:
        8px;

    background:
        #edf8f6;

    line-height: 1.7;
}


/* MATERIALES */

.flt-trad-materials,
.flt-trad-functions {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: .9rem;

    margin-top: 1.3rem;
}

.flt-trad-materials strong,
.flt-trad-functions strong {
    color: #06434b;
}


/* INSTRUMENTOS */

.flt-trad-instruments {
    display: grid;

    gap: 1.15rem;

    margin-top: 1.3rem;
}

.flt-trad-instrument,
.flt-trad-instrument-text {
    padding: 1.35rem;

    border:
        1px solid #c9dfdd;

    border-radius:
        13px;

    background: #fff;
}

.flt-trad-instrument {
    display: grid;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(230px, .65fr);

    gap: 1.35rem;

    align-items: center;
}

.flt-trad-instrument-reverse > div {
    order: 2;
}

.flt-trad-instrument-reverse > figure {
    order: 1;
}

.flt-trad-instrument small,
.flt-trad-instrument-text small {
    display: block;

    margin-bottom: .35rem;

    color: #087f84;

    font-size: .65rem;
    font-weight: 800;

    letter-spacing: .11em;
}

.flt-trad-instrument h3,
.flt-trad-instrument-text h3 {
    margin:
        0
        0
        .65rem;

    color: #073943;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1.35rem;
}

.flt-trad-instrument p,
.flt-trad-instrument-text p {
    line-height: 1.73;
}

.flt-trad-instrument a,
.flt-trad-instrument-text a {
    color: #087b80;

    font-weight: 700;

    text-decoration: none;
}

.flt-trad-instrument figure {
    margin: 0;

    overflow: hidden;

    border:
        1px solid #d4e4e2;

    border-radius: 10px;

    background: #f5f8f7;
}

.flt-trad-instrument figure img {
    display: block;

    width: 100%;
    height: 230px;

    object-fit: contain;

    padding: .75rem;
}

.flt-trad-instrument figcaption {
    padding:
        .7rem
        .85rem;

    border-top:
        1px solid #d4e4e2;

    color: #4d686c;

    font-size: .7rem;

    line-height: 1.45;
}


/* TABLA */

.flt-trad-table-wrap {
    margin-top: 1.3rem;

    overflow-x: auto;

    border:
        1px solid #c9dfdd;

    border-radius: 11px;
}

.flt-trad-table {
    width: 100%;

    border-collapse: collapse;

    font-size: .78rem;
}

.flt-trad-table th {
    padding:
        .8rem
        .85rem;

    background: #eaf5f3;

    color: #073943;

    text-align: left;
}

.flt-trad-table td {
    padding:
        .78rem
        .85rem;

    border-top:
        1px solid #d7e6e4;

    vertical-align: top;

    line-height: 1.55;
}


/* FUENTES */

.flt-trad-sources {
    margin-top: 3rem;

    padding: 1.35rem;

    border:
        1px solid #c9dfdd;

    border-radius: 13px;

    background: #f8fbfa;
}

.flt-trad-sources a {
    display: flex;

    flex-direction: column;

    gap: .25rem;

    padding: 1rem;

    border:
        1px solid #cfe1df;

    border-radius: 9px;

    background: #fff;

    color: #17464c;

    text-decoration: none;
}

.flt-trad-sources span {
    color: #087b80;

    font-size: .72rem;
}


/* RESPONSIVE */

@media (max-width: 820px) {

    .flt-trad-grid-3,
    .flt-trad-materials,
    .flt-trad-functions {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .flt-trad-instrument {
        grid-template-columns: 1fr;
    }

    .flt-trad-instrument-reverse > div,
    .flt-trad-instrument-reverse > figure {
        order: initial;
    }

}


@media (max-width: 600px) {

    .flt-trad-hero {
        padding:
            1.2rem
            1rem;
    }

    .flt-trad-grid-3,
    .flt-trad-grid-2,
    .flt-trad-materials,
    .flt-trad-functions {
        grid-template-columns: 1fr;
    }

    .flt-trad-section {
        margin-top: 2.1rem;
    }

}

/* ==========================================================
   152-D · BOTON VOLVER
   ========================================================== */

.flt-trad-back-wrap {
    max-width: 1080px;
    margin: 1.4rem auto .8rem;
    display: flex;
    justify-content: flex-end;
}

.flt-trad-back {
    display: inline-flex;
    align-items: center;
    gap: .35rem;

    padding: .7rem 1rem;

    border: 1px solid #b8d9d6;
    border-radius: 999px;

    background: #fff;

    color: #08777c;

    font-size: .82rem;
    font-weight: 700;

    text-decoration: none;

    transition:
        border-color .18s ease,
        background .18s ease,
        transform .18s ease;
}

.flt-trad-back:hover {
    border-color: #7ebeba;
    background: #f4fbfa;
    transform: translateY(-1px);
}

@media (max-width: 600px) {
    .flt-trad-back-wrap {
        margin:
            1rem
            1rem
            .7rem;
    }
}
