/* ============================================================
   AGENDA ROCK BAHÍA — main.css
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow+Condensed:wght@300;600;700&family=Barlow:wght@300;400&display=swap');

:root {
  --red:#E8001C; --yellow:#F5C800; --black:#0A0A0A;
  --dark:#111; --mid:#1A1A1A; --light:#F0EDE8; --gray:#888;
  --max:1100px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--light);font-family:'Barlow',sans-serif;font-weight:300;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");opacity:.03;pointer-events:none;z-index:9999}

/* CONTAINER */
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

/* WIP BAR */
.wip-bar{background:var(--yellow);color:var(--black);display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 20px;position:sticky;top:0;z-index:500;flex-wrap:wrap;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.25em;text-transform:uppercase}
.wip-bar em{font-style:normal;font-weight:300;opacity:.65;font-size:.75rem;letter-spacing:.1em}
.wip-dots{display:flex;gap:4px}
.wip-dots i{width:6px;height:6px;background:var(--black);border-radius:50%;display:inline-block;animation:wip 1.4s ease-in-out infinite;opacity:.35}
.wip-dots i:nth-child(2){animation-delay:.2s}
.wip-dots i:nth-child(3){animation-delay:.4s}
@keyframes wip{0%,100%{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}

/* HEADER */
.site-header{position:sticky;top:35px;z-index:400;background:rgba(10,10,10,.93);backdrop-filter:blur(10px);border-bottom:1px solid rgba(240,237,232,.07)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;gap:16px;max-width:var(--max);margin:0 auto}
.site-logo{display:flex;align-items:center;gap:10px}
.site-logo img{height:34px;width:34px;border-radius:50%;border:1px solid rgba(245,200,0,.4);object-fit:cover}
.site-logo span{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:.12em}
.main-nav{display:flex;gap:24px}
.main-nav a{font-family:'Barlow Condensed',sans-serif;font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;opacity:.7;transition:opacity .2s,color .2s}
.main-nav a:hover,.main-nav a.active{opacity:1;color:var(--yellow)}
.header-actions{display:flex;gap:10px;align-items:center}
.nav-toggle{display:none;background:none;border:none;color:var(--light);font-size:1.4rem;cursor:pointer;padding:4px}

/* BUTTONS */
.btn{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.9rem;letter-spacing:.2em;text-transform:uppercase;padding:12px 28px;display:inline-block;transition:all .2s;cursor:pointer;border:none}
.btn-red{background:var(--red);color:var(--light);clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px))}
.btn-red:hover{background:#ff1a30;transform:translateY(-2px)}
.btn-outline{border:1px solid rgba(240,237,232,.3);color:var(--light)}
.btn-outline:hover{border-color:var(--yellow);color:var(--yellow)}
.btn-sm{padding:6px 14px;font-size:.75rem}
.btn-ghost{color:var(--gray);font-size:.82rem;padding:6px 10px}
.btn-ghost:hover{color:var(--yellow)}

/* HERO */
.hero{min-height:100vh;display:flex;align-items:flex-end;padding-bottom:60px;background:linear-gradient(135deg,#1a0005,#0a0a0a 50%,#0d0a00);background-size:cover;background-position:center;position:relative;overflow:hidden}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,10,10,.15) 0%,rgba(10,10,10,.85) 100%)}
.hero-stripe{position:absolute;top:-20%;right:-5%;width:55%;height:140%;background:linear-gradient(135deg,transparent 45%,rgba(232,0,28,.05) 45%,rgba(232,0,28,.05) 55%,transparent 55%);transform:rotate(-8deg)}
.hero-logo-wrap{position:absolute;top:50%;right:6%;transform:translateY(-50%);z-index:2;pointer-events:none}
.hero-logo-wrap img{width:clamp(150px,25vw,280px);filter:drop-shadow(0 0 50px rgba(232,0,28,.2)) drop-shadow(0 0 20px rgba(0,0,0,.9))}
.hero-date{position:absolute;top:100px;left:40px;font-family:'Bebas Neue',sans-serif;font-size:clamp(90px,16vw,180px);line-height:.85;color:var(--red);opacity:.07;z-index:1;pointer-events:none}
.hero-content{position:relative;z-index:3}
.hero-eyebrow{font-family:'Barlow Condensed',sans-serif;font-size:.85rem;letter-spacing:.35em;text-transform:uppercase;color:var(--red);margin-bottom:12px;display:flex;align-items:center;gap:12px}
.hero-eyebrow::before{content:'';width:32px;height:1px;background:var(--red)}
.hero-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(64px,12vw,148px);line-height:.9;margin-bottom:16px}
.hero-title em{color:var(--yellow);font-style:normal}
.hero-sub{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(240,237,232,.5);margin-bottom:36px}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap}

/* TICKER */
.ticker-bar{background:var(--red);overflow:hidden;white-space:nowrap}
.ticker-inner{display:inline-block;animation:ticker 30s linear infinite;padding:11px 0;font-family:'Bebas Neue',sans-serif;font-size:1.2rem;letter-spacing:.12em}
.ticker-inner span{margin:0 20px;opacity:.35}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SECTIONS */
.section{padding:72px 0}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:36px}
.sec-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(30px,5vw,50px);line-height:1}
.sec-label{font-family:'Barlow Condensed',sans-serif;font-size:.75rem;letter-spacing:.4em;text-transform:uppercase;color:var(--yellow);display:block;margin-bottom:10px}
.see-all{font-family:'Barlow Condensed',sans-serif;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--yellow)}
.see-all:hover{text-decoration:underline}

/* GRID SISTEMA */
.grid-border{gap:1px;background:rgba(240,237,232,.07);border:1px solid rgba(240,237,232,.07)}

/* EVENTOS */
.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.event-card{background:var(--dark);transition:background .2s;position:relative}
.event-card:hover{background:#181818}
.event-card.featured{grid-column:span 2}
.event-card__img{aspect-ratio:16/9;overflow:hidden;background:var(--mid)}
.event-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.event-card:hover .event-card__img img{transform:scale(1.04)}
.event-card__img.empty{background:linear-gradient(135deg,#1a0005,#0a0a0a)}
.event-card__body{padding:20px}
.event-card__date{font-family:'Bebas Neue',sans-serif;font-size:1rem;color:var(--red);margin-bottom:6px}
.event-card__title{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.15rem;margin-bottom:8px}
.event-card__title a:hover{color:var(--yellow)}
.event-card__venue{font-size:.84rem;color:var(--gray);margin-bottom:12px}

/* BANDAS */
.bands-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr))}
.band-card{background:var(--dark);text-align:center;transition:background .2s;display:block}
.band-card:hover{background:#181818}
.band-card__img{aspect-ratio:1;overflow:hidden;background:var(--mid)}
.band-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.band-card:hover .band-card__img img{transform:scale(1.06)}
.band-card__img.empty{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a0005,#0a0a0a)}
.band-card__img.empty span{font-family:'Bebas Neue',sans-serif;font-size:3rem;color:rgba(232,0,28,.25)}
.band-card__body{padding:14px 12px}
.band-card__body h3{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;margin-bottom:4px}
.tag{font-family:'Barlow Condensed',sans-serif;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gray);border:1px solid rgba(240,237,232,.15);padding:2px 8px;display:inline-block}

/* VENUES */
.venues-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.venue-card{background:var(--dark);padding:24px 20px}
.venue-card h4{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.05rem;margin-bottom:6px}
.venue-card p{font-size:.84rem;color:var(--gray)}

/* CLASIFICADOS */
.classifieds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.classified-card{background:var(--dark);padding:24px 20px}
.classified-cat{font-family:'Barlow Condensed',sans-serif;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--yellow);display:block;margin-bottom:8px}
.classified-card h4{font-family:'Barlow Condensed',sans-serif;font-weight:700;margin-bottom:8px}
.classified-card p{font-size:.84rem;color:var(--gray);margin-bottom:12px}
.classified-card a{font-family:'Barlow Condensed',sans-serif;font-size:.8rem;color:var(--red)}

/* TICKETS CTA */
.tickets-cta{background:linear-gradient(135deg,var(--red),#9b0012);padding:56px 48px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px));margin:0 0 80px}
.tickets-cta .eyebrow{font-family:'Barlow Condensed',sans-serif;font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;opacity:.7;margin-bottom:8px}
.tickets-cta h3{font-family:'Bebas Neue',sans-serif;font-size:clamp(30px,5vw,54px);line-height:.95}
.btn-white{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.95rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;background:var(--light);color:var(--red);padding:16px 36px;display:inline-block;flex-shrink:0;transition:all .2s}
.btn-white:hover{background:#fff;transform:translateY(-2px)}

/* ABOUT */
.about-section{background:var(--dark);padding:72px 0;margin-top:72px}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.about-grid h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(36px,5vw,58px);margin-bottom:20px}
.about-grid p{font-size:.95rem;line-height:1.78;color:rgba(240,237,232,.65);margin-bottom:16px}
.wip-note{background:var(--mid);border-left:3px solid var(--yellow);padding:14px 18px;font-size:.9rem !important}
.wip-note strong{color:var(--light)}
.offers{display:flex;flex-direction:column;gap:1px;background:rgba(240,237,232,.06);border:1px solid rgba(240,237,232,.06)}
.offer-item{background:var(--black);padding:20px 22px;display:flex;flex-direction:column;gap:4px;transition:background .2s;border-left:2px solid transparent}
.offer-item:hover{background:#141414;border-left-color:var(--red)}
.offer-item strong{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.9rem;letter-spacing:.1em;text-transform:uppercase}
.offer-item span{font-size:.84rem;color:var(--gray)}

/* EMPTY STATE */
.empty{padding:48px;text-align:center;color:var(--gray);font-family:'Barlow Condensed',sans-serif;letter-spacing:.15em;background:var(--dark)}

/* FOOTER */
.site-footer{border-top:1px solid rgba(240,237,232,.07);margin-top:80px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;padding:56px 24px 40px;max-width:var(--max);margin:0 auto}
.footer-brand strong{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;display:block;margin-bottom:8px}
.footer-brand p{font-size:.85rem;color:var(--gray);margin-bottom:12px}
.footer-col h4{font-family:'Barlow Condensed',sans-serif;font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--yellow);margin-bottom:16px}
.footer-col a{display:block;font-size:.85rem;color:var(--gray);margin-bottom:8px;transition:color .2s}
.footer-col a:hover{color:var(--light)}
.footer-bottom{border-top:1px solid rgba(240,237,232,.06);padding:20px 24px;display:flex;justify-content:space-between;font-size:.75rem;color:rgba(240,237,232,.25);flex-wrap:wrap;gap:8px;max-width:var(--max);margin:0 auto}

/* FLASH */
.flash{padding:12px 18px;font-family:'Barlow Condensed',sans-serif;font-size:.85rem;letter-spacing:.1em;margin-bottom:24px;transition:opacity .5s}
.flash-ok{background:rgba(0,200,80,.12);border:1px solid rgba(0,200,80,.3);color:#00c850}
.flash-err{background:rgba(232,0,28,.12);border:1px solid rgba(232,0,28,.3);color:var(--red)}

/* ADMIN */
.admin-wrap{display:grid;grid-template-columns:220px 1fr;min-height:100vh}
.admin-side{background:var(--dark);border-right:1px solid rgba(240,237,232,.07);padding:0;display:flex;flex-direction:column}
.admin-side .side-logo{padding:20px;border-bottom:1px solid rgba(240,237,232,.07);font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:.1em}
.admin-side a{display:block;padding:10px 20px;font-family:'Barlow Condensed',sans-serif;font-size:.83rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);transition:all .2s;border-left:2px solid transparent}
.admin-side a:hover,.admin-side a.active{color:var(--light);background:rgba(240,237,232,.05);border-left-color:var(--red)}
.admin-side .side-bottom{margin-top:auto;border-top:1px solid rgba(240,237,232,.07)}
.admin-main{padding:40px;overflow-y:auto;background:var(--black)}
.admin-title{font-family:'Bebas Neue',sans-serif;font-size:2.4rem;margin-bottom:32px}
.admin-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}
.admin-bar .admin-title{margin:0}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:1px;background:rgba(240,237,232,.06);border:1px solid rgba(240,237,232,.06);margin-bottom:40px}
.stat-card{background:var(--dark);padding:22px 18px}
.stat-num{font-family:'Bebas Neue',sans-serif;font-size:2.8rem;color:var(--red);line-height:1}
.stat-num.warn{color:var(--yellow)}
.stat-lbl{font-family:'Barlow Condensed',sans-serif;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gray)}
.tbl{width:100%;border-collapse:collapse;font-size:.87rem}
.tbl th{background:var(--mid);padding:11px 16px;text-align:left;font-family:'Barlow Condensed',sans-serif;letter-spacing:.15em;text-transform:uppercase;font-size:.72rem;color:var(--yellow)}
.tbl td{padding:11px 16px;border-bottom:1px solid rgba(240,237,232,.06);vertical-align:middle}
.tbl tr:hover td{background:rgba(240,237,232,.03)}
.badge{display:inline-block;padding:3px 10px;font-family:'Barlow Condensed',sans-serif;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;border-radius:2px}
.b-green{background:rgba(0,200,80,.12);color:#00c850;border:1px solid rgba(0,200,80,.3)}
.b-yellow{background:rgba(245,200,0,.12);color:var(--yellow);border:1px solid rgba(245,200,0,.3)}
.b-red{background:rgba(232,0,28,.12);color:var(--red);border:1px solid rgba(232,0,28,.3)}
.b-gray{background:rgba(136,136,136,.12);color:var(--gray);border:1px solid rgba(136,136,136,.3)}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-family:'Barlow Condensed',sans-serif;font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;color:var(--yellow);margin-bottom:6px}
.form-ctrl{width:100%;background:var(--mid);border:1px solid rgba(240,237,232,.15);color:var(--light);padding:10px 14px;font-family:'Barlow',sans-serif;font-size:.9rem;border-radius:2px;transition:border-color .2s}
.form-ctrl:focus{outline:none;border-color:var(--red)}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.col-span-2{grid-column:1/-1}
.cb-row{display:flex;align-items:center;gap:10px;padding-top:24px}
.cb-row label{color:var(--light);font-size:.9rem;text-transform:none;letter-spacing:0;margin:0}
.thumb-prev{height:70px;margin-bottom:8px;border-radius:2px;object-fit:cover}

/* RESPONSIVE */
@media(max-width:900px){
  .about-grid,.footer-grid{grid-template-columns:1fr;gap:36px}
  .event-card.featured{grid-column:span 1}
  .admin-wrap{grid-template-columns:1fr}
  .admin-side{display:none}
}
@media(max-width:660px){
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--dark);flex-direction:column;padding:16px 24px;gap:12px;border-bottom:1px solid rgba(240,237,232,.07);z-index:500}
  .main-nav.open{display:flex}
  .nav-toggle{display:block}
  .hero-logo-wrap{display:none}
  .tickets-cta{padding:36px 24px}
  .form-grid-2{grid-template-columns:1fr}
}
