/*
Theme Name: IKE Dojo
Theme URI: https://ikedojo.com.br
Author: Ravira Digital
Author URI: https://raviradigital.com.br
Description: Tema custom IKE Dojo — Aikido & Karate Tatuape. Visual congelado pelo HTML original; areas editaveis via Customizer.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ikedojo
Tags: martial-arts, aikido, karate
*/

/* CSS principal carregado via assets/css/style.css. Ajustes WP-only abaixo. */

.admin-bar .header { top: 32px !important; }
@media (max-width: 782px) {
  .admin-bar .header { top: 46px !important; }
}

/* WP block editor reset minimo (caso editor seja usado em paginas extras) */
.wp-block-image img { max-width: 100%; height: auto; }

/* Override: btn-outline em secoes de fundo claro fica ilegivel (texto branco em branco).
   Forcar cor vermelha + borda vermelha em fundos light. */
.ig-feed .btn-outline,
.ig-feed .btn-outline-red,
.section-light .btn-outline,
section[style*="background-image"] + section .btn-outline {
  color: var(--primary) !important;
  border-color: var(--primary) !important;
  background: transparent !important;
}
.ig-feed .btn-outline:hover,
.section-light .btn-outline:hover {
  background: var(--primary) !important;
  color: #fff !important;
}

/* Hero slideshow — 6 slides x 3s = 18s loop, crossfade suave 1.2s */
.hero__slideshow { position: relative; overflow: hidden; }
.hero__slideshow .hero__slide {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; border-radius: var(--radius);
  opacity: 0; transform: scale(1.02);
  animation: heroFade 18s cubic-bezier(0.45, 0, 0.20, 1) infinite;
  animation-delay: calc(var(--idx) * 3s);
  will-change: opacity, transform;
}
.hero__slideshow .hero__img-kanji { position: relative; z-index: 2; }
@keyframes heroFade {
  0%               { opacity: 0; transform: scale(1.02); }
  6.67%, 16.67%    { opacity: 1; transform: scale(1); }
  23.33%, 100%     { opacity: 0; transform: scale(1.02); }
}
@media (prefers-reduced-motion: reduce) {
  .hero__slideshow .hero__slide { animation: none; opacity: 1; transform: none; }
  .hero__slideshow .hero__slide:not(:first-of-type) { display: none; }
}

/* WPConsent (banner LGPD cookies) — alinhar com brand IKE Dojo: preto/vermelho/branco */
wpconsent-root,
.wpconsent-root,
[class*="wpconsent-banner"],
[class*="wpconsent-preferences"] {
  --wpconsent-background: #0D0D0D !important;
  --wpconsent-text: #ffffff !important;
  --wpconsent-outline-color: rgba(255,255,255,0.18) !important;
  --wpconsent-accept-bg: #C0392B !important;
  --wpconsent-accept-color: #ffffff !important;
  --wpconsent-cancel-bg: transparent !important;
  --wpconsent-cancel-color: #ffffff !important;
  --wpconsent-preferences-bg: #ffffff !important;
  --wpconsent-preferences-color: #0D0D0D !important;
  --wpconsent-font-size: 15px !important;
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
}
.wpconsent-banner-title { font-family: 'Cinzel', 'Inter', serif !important; letter-spacing: 0.04em !important; }
.wpconsent-accept-cookies { font-weight: 700 !important; letter-spacing: 0.05em !important; text-transform: uppercase !important; }
.wpconsent-cancel-cookies { border: 1px solid rgba(255,255,255,0.4) !important; }

/* News card link mantem cor herdada do body */
.news-card__link { color: inherit; }
/* btn--back sai de .btn-primary (fundo vermelho + texto branco) — nao sobrescrever cor */

/* Video player: largura full + sem video quebrado aparente */
.post-content video,
.post-content iframe { max-width: 100%; width: 100%; height: auto; aspect-ratio: 16/9; background: #0D0D0D; border-radius: 8px; }
.post-content video[data-broken="1"],
.post-content .video-broken-msg + video { display: none; }
.video-broken-msg {
  display: flex; flex-direction: column; gap: 12px; align-items: center; justify-content: center;
  background: #0D0D0D; color: #fff; aspect-ratio: 16/9; border-radius: 8px; padding: 32px; text-align: center;
}
.video-broken-msg svg { width: 48px; height: 48px; opacity: 0.6; }
.video-broken-msg .btn { margin-top: 8px; }

/* Botao CTA do header — menor pra nao competir com o logo/menu */
.header__cta .btn-primary,
.header .btn-primary {
  padding: 8px 16px !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.02em !important;
  gap: 6px;
}
.header__cta .btn-primary svg,
.header .btn-primary svg {
  width: 13px !important;
  height: 13px !important;
}
@media (max-width: 1024px) {
  .header__cta .btn-primary,
  .header .btn-primary { padding: 7px 12px !important; font-size: 0.78rem !important; }
}
