@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');:root{color-scheme:dark;--bg:#0b0b0b;--fg:#f5f4f0;--muted:#9a9997}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid #262626}.logo{font-family:'Space Grotesk',sans-serif;font-size:21px;font-weight:700;letter-spacing:-1px}.logo span{font-size:10px;vertical-align:top;margin-left:3px}nav{display:flex;gap:32px}nav a{font-size:11px;letter-spacing:1.7px;color:#a7a7a7}nav a.active,nav a:hover{color:white}.hero{display:grid;grid-template-columns:53% 47%;min-height:650px}.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:70px 4vw 70px 9vw}.eyebrow{font-size:11px;font-weight:700;letter-spacing:3px;color:#aaa}.hero h1,.page-title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(70px,10vw,170px);line-height:.86;letter-spacing:-.09em;margin:35px 0}.hero h1 em,.page-title em{font-style:normal;color:#777}.lead{font-size:17px;color:#bbb;margin:12px 0 42px}.button{display:inline-flex;gap:55px;align-items:center;background:#f2f2ef;color:#111;border:0;padding:20px 25px;font-size:11px;font-weight:700;letter-spacing:1.5px;cursor:pointer}.button:hover{background:#c9c9c6}.hero-image{overflow:hidden;background:#e9e9e9;min-height:650px}.hero-image img{height:100%;width:100%;object-fit:cover;object-position:center}.about{padding:120px 9vw 150px;display:grid;grid-template-columns:32% 68%;border-top:1px solid #262626}.about h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(40px,5.5vw,88px);line-height:1;letter-spacing:-.07em;margin:0 0 38px}.about h2 i{font-style:normal;color:#777}.about p:not(.eyebrow){max-width:590px;line-height:1.9;color:#bdbdbd}.about .note{font-size:12px;color:#777!important}footer{display:flex;justify-content:space-between;gap:20px;padding:32px 6vw;border-top:1px solid #262626;color:#858585;font-size:10px;letter-spacing:1.5px}.page{max-width:1280px;margin:auto;padding:100px 6vw 150px;min-height:70vh}.page-title{font-size:clamp(65px,9vw,135px)}.subheading{color:#aaa}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:70px}.event-card{border:1px solid #303030;background:#131313}.poster{height:320px;background:linear-gradient(145deg,#282828,#101010);display:flex;align-items:center;justify-content:center;color:#777;font-size:12px;letter-spacing:2px}.poster img{width:100%;height:100%;object-fit:cover}.event-content{padding:25px}.event-date{font-size:11px;letter-spacing:2px;color:#aaa}.event-content h2{font-size:24px;letter-spacing:-.8px}.event-content p{color:#aaa;line-height:1.6}.event-content a{display:inline-block;margin-top:15px;border-bottom:1px solid white;font-size:11px;letter-spacing:1px;padding-bottom:7px}.empty{grid-column:1/-1;padding:60px 0;color:#aaa;border-top:1px solid #333}.admin-page{max-width:900px}.warning{padding:20px;border:1px solid #65543c;color:#ddc8a6;background:#211d17;line-height:1.6;margin:50px 0 35px;font-size:13px}form{display:grid;gap:22px}label{display:grid;gap:9px;font-size:12px;letter-spacing:.5px;color:#ccc}input,textarea{background:#181818;color:#fff;border:1px solid #414141;padding:15px;font:inherit;max-width:100%;width:100%;border-radius:0}input:focus,textarea:focus{outline:1px solid white}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}form .button{justify-self:start}.list-heading{margin-top:75px;font-size:18px;letter-spacing:1px}.admin-item{padding:20px 0;border-bottom:1px solid #333;display:flex;align-items:center;justify-content:space-between;gap:15px}.delete{background:transparent;border:1px solid #777;color:white;padding:10px 14px;cursor:pointer}@media(max-width:800px){header{height:75px;padding:0 5vw}.logo{font-size:17px}nav{gap:15px}nav a{font-size:9px}.hero{grid-template-columns:1fr}.hero-copy{padding:65px 6vw 55px}.hero h1{font-size:clamp(75px,17vw,125px)}.hero-image{min-height:0;height:520px}.about{grid-template-columns:1fr;gap:35px;padding:80px 6vw}.event-grid{grid-template-columns:1fr}.page{padding:70px 6vw 100px}.form-row{grid-template-columns:1fr}footer{flex-direction:column}}

/* Retrato oficial sobre fondo oscuro */
.hero-image{background:#030308}
.hero-image img{object-fit:cover;object-position:center 35%;display:block}
@media(max-width:800px){.hero-image img{object-position:center 27%}}

/* Portada actualizada: retrato de fondo blanco */
.hero-image{background:#f5f5f5}
.hero-image img{object-fit:cover;object-position:center center}
@media(max-width:800px){.hero-image{height:auto;aspect-ratio:1/1}.hero-image img{object-position:center center}}

/* Header and bilingual language selector */
.header-actions{display:flex;align-items:center;gap:32px}.language-switch{display:flex;align-items:center;gap:7px;border-left:1px solid #333;padding-left:22px;color:#777}.language-switch button{appearance:none;border:0;background:transparent;color:#888;font:700 12px 'DM Sans',sans-serif;letter-spacing:1px;cursor:pointer;padding:6px 2px}.language-switch button.chosen,.language-switch button:hover{color:#fff}.playlist-holder{margin-top:55px;min-height:180px}.soundcloud-player{width:100%;height:640px;display:block;border:0;background:#1b1b1b}.music-page{min-height:78vh}.music-note,.muted{color:#999;line-height:1.7}.music-note{font-size:12px;margin-top:16px}.playlist-admin{margin-top:90px;padding-top:30px;border-top:1px solid #333}.section-title{font-family:'Space Grotesk',sans-serif;letter-spacing:-.04em;font-size:28px;margin:30px 0}.playlist-admin .muted{font-size:14px;margin-bottom:30px}
@media(max-width:850px){header{height:auto;min-height:85px;padding:20px 5vw;gap:18px;flex-wrap:wrap}.header-actions{gap:16px;flex-wrap:wrap}nav{gap:14px;flex-wrap:wrap}.language-switch{padding-left:14px}.soundcloud-player{height:360px}}
@media(max-width:480px){header{align-items:flex-start}.header-actions{width:100%;justify-content:space-between}nav{gap:14px}.language-switch{margin-left:auto}}

.soundcloud-credit{font-size:13px;margin-top:12px;color:#aaa}.soundcloud-credit a{color:#bbb;text-decoration:underline;text-underline-offset:4px}.soundcloud-credit a:hover{color:white}

/* Circular flags in language selector */
.language-switch button{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.language-switch .flag-icon{display:block;width:19px;height:19px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 1px rgba(255,255,255,.22)}

/* Event editing controls */
.admin-actions{display:flex;gap:12px;flex-wrap:wrap}.admin-actions button{cursor:pointer}.admin-actions .edit{background:transparent;color:#fff;border:1px solid #888;padding:8px 14px;font-weight:700}.admin-actions .edit:hover{border-color:#fff;background:#252525}.edit-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.edit-controls .cancel-edit{background:transparent;border:1px solid #666;color:#ddd}.edit-controls .cancel-edit[hidden]{display:none}#edit-hint:empty{display:none}#edit-hint{margin:14px 0}


/* Portada: fotografía vertical 3:4 en escritorio y móvil. */
.hero-image {
  position: relative;
  aspect-ratio: 3 / 4;
  min-height: 0;
  height: auto;
}
.hero-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (max-width: 800px) {
  .hero-image {
    height: auto;
    aspect-ratio: 3 / 4;
  }
}

/* Carteles de eventos publicos: proporcion vertical 3:4 */
.event-card .poster { width:100%; height:auto; aspect-ratio:3 / 4; overflow:hidden; }
.event-card .poster img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }

.admin-login{display:grid;gap:20px;margin:30px 0;padding:26px;border:1px solid #444}.admin-login .button{justify-self:start}#admin-login[hidden],#event-form[hidden],#admin-list[hidden],.playlist-admin[hidden]{display:none}

/* YouTube: featured player + responsive gallery */
.youtube-page .subheading{margin-bottom:45px}.youtube-featured{width:100%;aspect-ratio:16/9;background:#161616;border:1px solid #292929}.youtube-featured iframe{width:100%;height:100%;border:0;display:block}.youtube-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:45px 0 20px}.youtube-toolbar h2{font-family:'Space Grotesk',sans-serif;letter-spacing:1px;font-size:18px}.youtube-toolbar a{font-size:11px;color:#aaa;text-decoration:underline;text-underline-offset:5px}.youtube-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.youtube-thumb{display:flex;flex-direction:column;text-align:left;gap:13px;background:transparent;border:1px solid #333;color:#ddd;padding:0 0 15px;cursor:pointer;font:500 13px/1.55 'DM Sans',sans-serif}.youtube-thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#161616}.youtube-thumb span{padding:0 12px}.youtube-thumb:hover,.youtube-thumb.active{border-color:#d4d4d4;color:#fff}.youtube-page #youtube-status:empty{display:none}@media(max-width:800px){.youtube-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.youtube-grid{grid-template-columns:1fr}.youtube-toolbar{align-items:flex-start;flex-direction:column}}

/* Keep the featured panel readable when the YouTube API/feed cannot load. */
.youtube-featured {position:relative; background:#171717; min-height:270px; overflow:hidden;}
.youtube-featured iframe:not([src]) {visibility:hidden;}
.youtube-fallback {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:24px;text-align:center;color:#f8f8f8;background:#171717;}
.youtube-fallback p {max-width:450px;line-height:1.5;margin:0;}
.youtube-fallback a {color:#fff;text-decoration:underline;text-underline-offset:4px;}
