.pc-fest-wrapper { 
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; 
    color: #f8f8f8; 
    background: #0a0a0a; 
    border-radius: 24px; 
    padding: 0 0 45px 0; 
    margin: 25px auto; 
    width: 95%; 
    max-width: 1600px; 
    border: 1px solid #282828; 
    overflow: hidden; 
    box-sizing: border-box; 
    font-size: 1.5rem; 
    line-height: 1.8; 
}
.pc-fest-header-banner { 
    width: 100%; 
    height: 450px; 
    background-size: cover; 
    background-position: center; 
    position: relative; 
}
.pc-fest-header-overlay { 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background: linear-gradient(180deg, rgba(0,0,0,0.2) 0%, rgba(10,10,10,1) 100%); 
}
.pc-fest-body { 
    padding: 0 45px; 
    position: relative; 
    z-index: 2; 
    margin-top: -80px; 
}
.pc-fest-hero-flex { 
    display: flex; 
    gap: 30px; 
    align-items: flex-end; 
    margin-bottom: 35px; 
    flex-wrap: wrap; 
}
.pc-fest-icon { 
    width: 150px; 
    height: 150px; 
    border-radius: 20px; 
    object-fit: cover; 
    border: 3px solid #ffcc00; 
    box-shadow: 0 10px 25px rgba(0,0,0,0.8); 
    background: #111; 
}
.pc-fest-title-area { 
    flex: 1; 
    min-width: 280px; 
}
.pc-fest-edition-tag { 
    color: #ffcc00; 
    font-size: 1.25rem; 
    font-weight: 800; 
    text-transform: uppercase; 
    letter-spacing: 0.05em; 
    display: block; 
    margin-bottom: 4px; 
}
.pc-fest-title-area h1 { 
    font-size: 3.2rem; 
    font-weight: 900; 
    margin: 0 0 10px 0; 
    color: #fff; 
    text-shadow: 0 2px 10px rgba(0,0,0,0.8); 
    line-height: 1.2; 
}
.pc-fest-pills { 
    display: flex; 
    gap: 12px; 
    flex-wrap: wrap; 
    font-size: 1.25rem; 
    font-weight: bold; 
}
.pc-fest-pill { 
    background: #181818; 
    border: 1px solid #333; 
    padding: 8px 20px; 
    border-radius: 30px; 
    color: #ffcc00; 
}
.pc-fest-tvod-box { 
    background: linear-gradient(135deg, #181818 0%, #111111 100%); 
    border: 2px solid #ffcc00; 
    padding: 35px; 
    border-radius: 20px; 
    text-align: center; 
    margin: 35px 0; 
    box-shadow: 0 10px 30px rgba(255, 204, 0, 0.15); 
}
.pc-fest-tvod-btn { 
    background: #ffcc00; 
    color: #000; 
    font-size: 1.5rem; 
    font-weight: 900; 
    padding: 20px 48px; 
    border-radius: 60px; 
    text-decoration: none; 
    display: inline-block; 
    text-transform: uppercase; 
    margin-top: 15px; 
    transition: transform 0.2s ease; 
}
.pc-fest-tvod-btn:hover { 
    transform: scale(1.03); 
    background: #ffe066; 
}
.pc-fest-tvod-box.unlocked { 
    border-color: #00e676; 
    background: linear-gradient(135deg, #0a2215 0%, #0d1a12 100%); 
    box-shadow: 0 10px 30px rgba(0, 230, 118, 0.15); 
}
.pc-fest-unlocked-badge { 
    background: #00e676; 
    color: #000000; 
    font-size: 1.3rem; 
    font-weight: 900; 
    padding: 16px 36px; 
    border-radius: 50px; 
    display: inline-block; 
    text-transform: uppercase; 
    margin-top: 10px; 
    letter-spacing: 0.03em; 
    box-shadow: 0 4px 15px rgba(0,230,118,0.3); 
}
.pc-fest-section-heading { 
    font-size: 2.2rem; 
    margin-top: 50px; 
    border-bottom: 2px solid #222; 
    padding-bottom: 12px; 
    font-weight: 900; 
    text-transform: uppercase; 
    display: flex; 
    align-items: center; 
    gap: 12px; 
}
.pc-fest-section-heading.ganadores { color: #00e676; border-color: #00e676; }
.pc-fest-section-heading.finalistas { color: #00b0ff; border-color: #00b0ff; }
.pc-fest-section-heading.seleccion { color: #ffcc00; border-color: #222; }

.pc-fest-grid-cortos { 
    display: grid; 
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); 
    gap: 28px; 
    margin-top: 25px; 
}
.pc-fest-card-corto { 
    background: #141414; 
    border: 1px solid #262626; 
    border-radius: 18px; 
    overflow: hidden; 
    transition: transform 0.2s ease, border-color 0.2s ease; 
    display: flex; 
    flex-direction: column; 
    position: relative; 
}
.pc-fest-card-corto:hover { transform: translateY(-5px); border-color: #ffcc00; }
.pc-fest-card-img-container { position: relative; width: 100%; aspect-ratio: 2/3; overflow: hidden; }
.pc-fest-card-img { width: 100%; height: 100%; object-fit: cover; display: block; }

.pc-fest-badge-award { 
    position: absolute; 
    top: 12px; 
    left: 12px; 
    z-index: 5; 
    background: rgba(10, 10, 10, 0.9); 
    backdrop-filter: blur(4px); 
    font-size: 0.8rem; 
    font-weight: 900; 
    padding: 4px 10px; 
    border-radius: 8px; 
    text-transform: uppercase; 
    letter-spacing: 0.04em; 
    box-shadow: 0 4px 12px rgba(0,0,0,0.6); 
}
.pc-fest-badge-award.ganador { color: #00e676; border: 1px solid #00e676; }
.pc-fest-badge-award.finalista { color: #00b0ff; border: 1px solid #00b0ff; }
.pc-fest-badge-award.seleccion { color: #ffcc00; border: 1px solid #ffcc00; }

.pc-fest-card-content { padding: 22px; flex: 1; display: flex; flex-direction: column; justify-content: space-between; }
.pc-fest-card-title { font-size: 1.45rem; font-weight: 900; margin: 0 0 12px 0; color: #fff; line-height: 1.3; }
.pc-fest-socials { display: flex; gap: 14px; margin-top: 20px; align-items: center; }
.pc-fest-social-icon-btn { 
    background: #181818; 
    border: 1px solid #333333; 
    width: 48px; 
    height: 48px; 
    border-radius: 50%; 
    display: inline-flex; 
    align-items: center; 
    justify-content: center; 
    color: #ffffff; 
    transition: all 0.2s ease; 
    text-decoration: none; 
}
.pc-fest-social-icon-btn:hover { background: #ffcc00; color: #000000; border-color: #ffcc00; transform: translateY(-3px); }
.pc-fest-social-icon-btn svg { width: 22px; height: 22px; fill: currentColor; }

@media screen and (max-width: 768px) {
    .pc-fest-wrapper { width: 100%; padding: 0 0 30px 0; font-size: 1.25rem; }
    .pc-fest-body { padding: 0 20px; margin-top: -40px; }
    .pc-fest-header-banner { height: 280px; }
    .pc-fest-title-area h1 { font-size: 2.2rem; }
    .pc-fest-tvod-btn, .pc-fest-unlocked-badge { font-size: 1.15rem; padding: 14px 28px; width: 100%; box-sizing: border-box; }
}