/* =====================================================================
   themes/rockfest/assets/rockfest.css
   Tema "Rockfest" — visual de festival de música (dark, condensado, ousado).
   Carregado DEPOIS do flat.css: re-skin via variáveis + overrides, todo
   escopado em html[data-theme="rockfest"]. Reusa os mesmos partials/JS do
   tema flat, então é 100% compatível com o site-adm (player, módulos,
   formulários, enquete, cookies, apps, shortcodes, etc.).
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Barlow+Condensed:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

/* ---- paleta festival (dark, independente do modo) + tipografia ---- */
html[data-theme="rockfest"]{
  --c-ink:#fff;
  --bg:#0a0a0d; --bg-2:#101015; --card:#131319; --card-2:#1a1a22;
  --text:#f2f1f5; --muted:#9a98a8; --border:#26242f; --hover:#1c1b24;
  --player-bg:#0c0c11;
  --radius:6px; --radius-sm:5px;
  --shadow:0 10px 34px rgba(0,0,0,.5); --shadow-lg:0 24px 60px rgba(0,0,0,.6);
  --font:"Manrope",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --head:"Oswald",Impact,"Arial Narrow",sans-serif;
  --cond:"Barlow Condensed",var(--head);
}
html[data-theme="rockfest"][data-mode="light"]{
  /* mesmo no modo claro do admin, o Rockfest mantém a pegada escura/gritty */
  --bg:#0a0a0d; --bg-2:#101015; --card:#131319; --card-2:#1a1a22;
  --text:#f2f1f5; --muted:#9a98a8; --border:#26242f; --hover:#1c1b24;
}
html[data-theme="rockfest"] body{
  background:
    radial-gradient(1200px 600px at 80% -10%, color-mix(in srgb,var(--c) 18%,transparent), transparent 60%),
    radial-gradient(900px 500px at -10% 10%, color-mix(in srgb,var(--c) 10%,transparent), transparent 55%),
    var(--bg);
  background-attachment:fixed;
}

/* ---- títulos condensados em caixa alta ---- */
html[data-theme="rockfest"] h1,
html[data-theme="rockfest"] h2,
html[data-theme="rockfest"] h3,
html[data-theme="rockfest"] h4,
html[data-theme="rockfest"] .sect-head h2,
html[data-theme="rockfest"] .inner-page h1,
html[data-theme="rockfest"] .mod h2{
  font-family:var(--head);
  text-transform:uppercase;
  letter-spacing:.01em;
  font-weight:700;
  line-height:1.03;
}
html[data-theme="rockfest"] .inner-page h1{font-size:38px}
html[data-theme="rockfest"] .lead{font-family:var(--cond);font-size:18px;letter-spacing:.01em}

/* ---- cabeçalho / nav ---- */
html[data-theme="rockfest"] .masthead{
  background:rgba(10,10,13,.82);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}
html[data-theme="rockfest"] .brand .bname{
  font-family:var(--head);text-transform:uppercase;letter-spacing:.03em;font-weight:700;
}
html[data-theme="rockfest"] .brand .mark{
  border-radius:4px;background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 50%,#000));
}
html[data-theme="rockfest"] .nav a,
html[data-theme="rockfest"] .nav-group>a,
html[data-theme="rockfest"] .nav-sep{
  font-family:var(--cond);text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:15px;border-radius:3px;
}
html[data-theme="rockfest"] .nav a.active,
html[data-theme="rockfest"] .nav-group>a.active{
  background:var(--c);color:#fff;
}
html[data-theme="rockfest"] .nav-sub{border-radius:5px}

/* ---- botão "buy ticket" style: skew + caixa alta ---- */
html[data-theme="rockfest"] .btn-primary,
html[data-theme="rockfest"] .enq-btn,
html[data-theme="rockfest"] .frm-submit,
html[data-theme="rockfest"] .comment-form .btn-primary,
html[data-theme="rockfest"] .mural .send{
  position:relative;border-radius:0;
  font-family:var(--cond);text-transform:uppercase;letter-spacing:.07em;font-weight:700;
  background:var(--c);color:#fff;transform:skewX(-10deg);
  box-shadow:0 8px 22px color-mix(in srgb,var(--c) 40%,transparent);
}
html[data-theme="rockfest"] .btn-primary>*,
html[data-theme="rockfest"] .enq-btn>*,
html[data-theme="rockfest"] .frm-submit>*{display:inline-block;transform:skewX(10deg)}
html[data-theme="rockfest"] .btn-primary:hover,
html[data-theme="rockfest"] .enq-btn:hover,
html[data-theme="rockfest"] .frm-submit:hover{filter:brightness(1.08)}

/* ---- player fixo: pegada escura, nome condensado ---- */
html[data-theme="rockfest"] .player{border-bottom:1px solid var(--border)}
html[data-theme="rockfest"] .player .np .song{font-family:var(--cond);text-transform:uppercase;letter-spacing:.04em;font-size:16px}
html[data-theme="rockfest"] .player .np .live{font-family:var(--cond);letter-spacing:.12em}
html[data-theme="rockfest"] .player .cover{border-radius:4px}
html[data-theme="rockfest"] .player-pop{border-radius:0;transform:skewX(-10deg);font-family:var(--cond);text-transform:uppercase;letter-spacing:.06em}
html[data-theme="rockfest"] .player-pop span,
html[data-theme="rockfest"] .player-pop svg{transform:skewX(10deg)}

/* ---- cabeçalho de seção: barra + número fantasma estilo "01" ---- */
html[data-theme="rockfest"] .sect-head{position:relative}
html[data-theme="rockfest"] .sect-head h2{
  display:inline-flex;align-items:center;gap:14px;font-size:30px;
}
html[data-theme="rockfest"] .sect-head h2::before{
  content:"";width:34px;height:4px;background:var(--c);display:inline-block;transform:skewX(-20deg);
}
html[data-theme="rockfest"] .sect-head .more{
  font-family:var(--cond);text-transform:uppercase;letter-spacing:.06em;color:var(--c);font-weight:600;
}

/* ---- cards / superfícies: cantos retos, borda que acende no hover ---- */
html[data-theme="rockfest"] .card,
html[data-theme="rockfest"] .inner-page,
html[data-theme="rockfest"] .mod,
html[data-theme="rockfest"] .enq-card,
html[data-theme="rockfest"] .enq-closed-item,
html[data-theme="rockfest"] .enq-gadget,
html[data-theme="rockfest"] .app-card,
html[data-theme="rockfest"] .flat-form,
html[data-theme="rockfest"] .post-card,
html[data-theme="rockfest"] .news-card,
html[data-theme="rockfest"] .evt-card{
  border-radius:var(--radius);
}
html[data-theme="rockfest"] .card:hover,
html[data-theme="rockfest"] .app-card:hover,
html[data-theme="rockfest"] .news-card:hover,
html[data-theme="rockfest"] .evt-card:hover{
  border-color:var(--c);
  box-shadow:0 12px 30px color-mix(in srgb,var(--c) 22%,transparent);
}

/* ---- inputs: cantos retos, foco com a cor ---- */
html[data-theme="rockfest"] .comment-form input,
html[data-theme="rockfest"] .comment-form textarea,
html[data-theme="rockfest"] .flat-form input,
html[data-theme="rockfest"] .flat-form select,
html[data-theme="rockfest"] .flat-form textarea{border-radius:4px;background:var(--card-2)}

/* ---- enquete: barras com a cor do tema (já usa --c) + cantos retos ---- */
html[data-theme="rockfest"] .enq-bar-track,
html[data-theme="rockfest"] .enq-bar-fill,
html[data-theme="rockfest"] .enq-gbar-track,
html[data-theme="rockfest"] .enq-gbar-track span{border-radius:2px}
html[data-theme="rockfest"] .enq-q{font-family:var(--head);text-transform:uppercase}

/* ---- rodapé: títulos condensados ---- */
html[data-theme="rockfest"] footer.foot h4{font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em}
html[data-theme="rockfest"] footer.foot{border-top:2px solid var(--c)}

/* ---- HERO da home (injetado pelo layout no $page==='home') ---- */
html[data-theme="rockfest"] .rf-hero{
  position:relative;margin:0 0 30px;padding:74px 28px;border-radius:var(--radius);overflow:hidden;
  text-align:center;color:#fff;
  background:
    linear-gradient(180deg, rgba(8,8,11,.55), rgba(8,8,11,.92)),
    radial-gradient(900px 400px at 50% -20%, color-mix(in srgb,var(--c) 55%,transparent), transparent 60%),
    var(--card);
  border:1px solid var(--border);
}
html[data-theme="rockfest"] .rf-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(115deg, transparent, transparent 38px, rgba(255,255,255,.015) 38px, rgba(255,255,255,.015) 76px);
}
html[data-theme="rockfest"] .rf-hero .rf-kicker{
  position:relative;display:inline-flex;align-items:center;gap:9px;
  font-family:var(--cond);text-transform:uppercase;letter-spacing:.22em;font-size:13px;font-weight:600;
  color:var(--c);margin-bottom:14px;
}
html[data-theme="rockfest"] .rf-hero .rf-kicker .d{width:8px;height:8px;border-radius:50%;background:#ff3b46;box-shadow:0 0 0 0 rgba(255,59,70,.6);animation:rfpulse 1.6s infinite}
@keyframes rfpulse{70%{box-shadow:0 0 0 9px rgba(255,59,70,0)}100%{box-shadow:0 0 0 0 rgba(255,59,70,0)}}
html[data-theme="rockfest"] .rf-hero h1{
  position:relative;font-family:var(--head);text-transform:uppercase;font-weight:700;
  font-size:clamp(38px,7vw,86px);line-height:.95;letter-spacing:.005em;margin:0 0 10px;
  text-shadow:0 6px 30px rgba(0,0,0,.5);
}
html[data-theme="rockfest"] .rf-hero h1 .id{color:var(--c)}
html[data-theme="rockfest"] .rf-hero p{position:relative;font-family:var(--cond);font-size:clamp(16px,2.4vw,21px);color:#dcdbe4;max-width:680px;margin:0 auto 22px}
html[data-theme="rockfest"] .rf-hero .rf-cta{position:relative;display:inline-flex;gap:12px;flex-wrap:wrap;justify-content:center}
html[data-theme="rockfest"] .rf-hero .rf-btn{
  font-family:var(--cond);text-transform:uppercase;letter-spacing:.07em;font-weight:700;font-size:16px;
  padding:13px 26px;border:0;cursor:pointer;transform:skewX(-10deg);background:var(--c);color:#fff;text-decoration:none;
  box-shadow:0 10px 26px color-mix(in srgb,var(--c) 42%,transparent);
}
html[data-theme="rockfest"] .rf-hero .rf-btn span{display:inline-block;transform:skewX(10deg)}
html[data-theme="rockfest"] .rf-hero .rf-btn.ghost{background:transparent;border:2px solid rgba(255,255,255,.35);box-shadow:none}
html[data-theme="rockfest"] .rf-hero .rf-now{
  position:relative;display:inline-flex;align-items:center;gap:12px;margin-top:26px;padding:10px 16px;
  background:rgba(0,0,0,.35);border:1px solid var(--border);border-radius:40px;
}
html[data-theme="rockfest"] .rf-hero .rf-now .cv{width:34px;height:34px;border-radius:50%;overflow:hidden;background:var(--c);flex:0 0 34px;display:grid;place-items:center;font-weight:800}
html[data-theme="rockfest"] .rf-hero .rf-now .cv img{width:100%;height:100%;object-fit:cover}
html[data-theme="rockfest"] .rf-hero .rf-now .tx{font-family:var(--cond);text-align:left;line-height:1.15}
html[data-theme="rockfest"] .rf-hero .rf-now .tx small{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:var(--c)}
html[data-theme="rockfest"] .rf-hero .rf-now .tx b{font-size:15px;text-transform:uppercase}
@media(max-width:640px){html[data-theme="rockfest"] .rf-hero{padding:54px 18px}}

/* seleção com a cor do tema */
html[data-theme="rockfest"] ::selection{background:var(--c);color:#fff}
