

/* ==========================================================
   FLAUTEA 99C · PORTADA PREMIUM BIBLIOTECA
   ========================================================== */

.flautea-library-premium {
    margin: 24px 0 34px;
}

.flautea-library-premium-hero {
    position: relative;
    overflow: hidden;
    padding: 38px;
    border: 1px solid #dce9e6;
    border-radius: 28px;
    background:
        radial-gradient(
            circle at 88% 16%,
            rgba(14, 128, 120, .13),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f5fbfa 55%,
            #edf7f5 100%
        );
    box-shadow:
        0 20px 55px rgba(20, 63, 59, .08);
}

.flautea-library-premium-hero::after {
    content: "♪";
    position: absolute;
    right: 36px;
    top: 10px;
    font-size: 150px;
    line-height: 1;
    color: rgba(8, 125, 119, .055);
    pointer-events: none;
}

.flautea-library-premium-eyebrow {
    margin: 0 0 9px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #087d77;
}

.flautea-library-premium-title {
    max-width: 820px;
    margin: 0;
    font-size: clamp(31px, 4vw, 52px);
    line-height: 1.06;
    letter-spacing: -.035em;
    color: #1f2d2b;
}

.flautea-library-premium-lead {
    max-width: 810px;
    margin: 17px 0 0;
    font-size: 17px;
    line-height: 1.7;
    color: #5f6967;
}

.flautea-library-premium-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 25px;
}

.flautea-library-premium-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 17px;
    border: 1px solid #cfe2df;
    border-radius: 999px;
    background: rgba(255,255,255,.88);
    color: #176e69;
    text-decoration: none;
    font-size: 14px;
    font-weight: 750;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease,
        background .18s ease;
}

.flautea-library-premium-action:hover {
    transform: translateY(-2px);
    border-color: #8fc6c0;
    background: #fff;
    box-shadow: 0 8px 22px rgba(10, 87, 81, .10);
}

.flautea-library-premium-action.is-main {
    background: #087d77;
    border-color: #087d77;
    color: #fff;
}

.flautea-library-premium-stats {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.flautea-library-stat {
    min-width: 0;
    padding: 18px 16px;
    border: 1px solid #e0e9e7;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(25, 55, 52, .045);
}

.flautea-library-stat strong {
    display: block;
    margin-bottom: 4px;
    font-size: 25px;
    line-height: 1;
    color: #1f3734;
}

.flautea-library-stat span {
    display: block;
    font-size: 12px;
    line-height: 1.35;
    color: #707a78;
}

.flautea-library-collections {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 22px;
}

.flautea-library-collection {
    min-width: 0;
    padding: 22px;
    border: 1px solid #e1e9e7;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(24, 56, 52, .05);
}

.flautea-library-collection-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 15px;
}

.flautea-library-collection-head h2 {
    margin: 0;
    font-size: 19px;
    line-height: 1.2;
    color: #253633;
}

.flautea-library-collection-head a {
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 750;
    color: #087d77;
    text-decoration: none;
}

.flautea-library-collection-list {
    display: grid;
    gap: 8px;
}

.flautea-library-mini-score {
    display: block;
    padding: 11px 12px;
    border: 1px solid #edf1f0;
    border-radius: 14px;
    background: #fbfcfc;
    color: inherit;
    text-decoration: none;
    transition:
        transform .16s ease,
        border-color .16s ease,
        background .16s ease;
}

.flautea-library-mini-score:hover {
    transform: translateX(3px);
    border-color: #b9dcd8;
    background: #f5fbfa;
}

.flautea-library-mini-score strong {
    display: block;
    overflow: hidden;
    margin-bottom: 3px;
    color: #273835;
    font-size: 13px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.flautea-library-mini-score span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: #7a8482;
    font-size: 11px;
}

.flautea-library-mini-score em {
    overflow: hidden;
    font-style: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.flautea-library-mini-badge {
    flex: 0 0 auto;
    padding: 3px 7px;
    border-radius: 999px;
    background: #e8f5f2;
    color: #087d77;
    font-size: 10px;
    font-weight: 800;
}

.flautea-library-paths {
    margin-top: 22px;
    padding: 23px;
    border: 1px solid #dfe9e7;
    border-radius: 24px;
    background: #fafcfb;
}

.flautea-library-paths-head {
    margin-bottom: 15px;
}

.flautea-library-paths-head h2 {
    margin: 0 0 5px;
    font-size: 21px;
    color: #273835;
}

.flautea-library-paths-head p {
    margin: 0;
    color: #717a78;
    font-size: 14px;
}

.flautea-library-path-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.flautea-library-path {
    display: block;
    padding: 15px;
    border: 1px solid #e2e9e7;
    border-radius: 17px;
    background: #fff;
    color: #354541;
    text-decoration: none;
    transition:
        transform .16s ease,
        box-shadow .16s ease,
        border-color .16s ease;
}

.flautea-library-path:hover {
    transform: translateY(-2px);
    border-color: #a8d2cd;
    box-shadow: 0 9px 20px rgba(18, 81, 75, .07);
}

.flautea-library-path strong {
    display: block;
    margin-bottom: 4px;
    font-size: 14px;
}

.flautea-library-path span {
    display: block;
    font-size: 11px;
    line-height: 1.35;
    color: #7a8381;
}

@media (max-width: 1050px) {
    .flautea-library-premium-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .flautea-library-collections {
        grid-template-columns: 1fr;
    }

    .flautea-library-path-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .flautea-library-premium-hero {
        padding: 25px 20px;
        border-radius: 22px;
    }

    .flautea-library-premium-hero::after {
        right: 5px;
        font-size: 105px;
    }

    .flautea-library-premium-lead {
        font-size: 15px;
    }

    .flautea-library-premium-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .flautea-library-path-grid {
        grid-template-columns: 1fr;
    }
}

