/* =========================================================
 * TM Typing — Banners laterais de publicidade (300x600)
 *
 * ESTRATEGIA DE COMPATIBILIDADE MAXIMA:
 *   - Nao usamos CSS Grid (conflita com Unity WebGL loader resize).
 *   - Usamos display:FLEX no body wrapper (flex e o que o
 *     Template Unity ja usa internamente).
 *   - Banners com tamanhos FIXOS width:300 / height:600
 *     (aspect-ratio foi removido — falha em alguns WebViews).
 *   - Tudo com !important para TemplateData/style.css (do Unity)
 *     nao sobrescrever em cascata.
 * ========================================================= */

/* ---------- Reset especifico para nao herdar regras do Unity Template ---------- */
.tm-page,
.tm-page *,
.tm-page *::before,
.tm-page *::after {
    box-sizing: border-box !important;
}

.tm-page {
    /* Layout flex: [300px Banner ESQUERDO] + [Unity (largura variavel ate 1024)] */
    width: 100% !important;
    max-width: calc(300px + 1024px + 24px) !important;
    margin: 12px auto 40px auto !important;
    padding: 0 8px !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 12px !important;
    background: transparent !important;
}

/* Banner LATERAL (esquerdo / direito) */
.tm-page .ad-side {
    flex: 0 0 300px !important;   /* nunca encolhe, nunca cresce */
    max-width: 300px !important;
    min-width: 300px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
}

/* Area do Unity (entre os dois banners) — ocupa todo espaco restante */
.tm-page .unity-wrap {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 1024px !important;
    width: 100% !important;
    display: block !important;
}

/* ---------- Responsivo: em telas menores (< 1360px) desliga banner esquerdo ---------- */
@media (max-width: 1360px) {
    .tm-page {
        max-width: 1024px !important;
    }
    .tm-page .ad-side { display: none !important; }
    .tm-page .unity-wrap { max-width: 100% !important; flex: 1 1 100% !important; }
}

/* ---------- Banner 300x600 (CONTEUDO) ---------- */
.ad-banner {
    width:  300px !important;
    height: 600px !important;
    min-width:  300px !important;
    min-height: 600px !important;
    max-width:  300px !important;
    max-height: 600px !important;
    display: block !important;
    /* Background placeholder (usado SOMENTE enquanto imagem carrega) */
    background: linear-gradient(180deg, #111c33 0%, #0b1120 100%) !important;
    border: 1px solid #1e293b !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    position: relative !important;
    box-shadow: 0 6px 22px rgba(0,0,0,0.18) !important;
    margin: 0 auto !important;
}

/* ---------- Camadas de slide (wrapper <a> ou <div>) ---------- */
.ad-slide {
    position: absolute !important;
    inset: 0 !important;
    left: 0 !important; top: 0 !important; right: 0 !important; bottom: 0 !important;
    width:  100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    opacity: 0 !important;
    transition: opacity 800ms ease !important;
    z-index: 0 !important;
    background: #0b1120 !important;
    text-decoration: none !important;
    outline: none !important;
}
.ad-slide.active {
    opacity: 1 !important;
    z-index: 1 !important;
}

/* Imagem dentro do slide */
.ad-slide > img {
    position: absolute !important;
    inset: 0 !important;
    width:  100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #0b1120 !important;
    max-width: none !important;       /* reseta regras do Unity Template p/ imagens */
    max-height: none !important;
}

/* Placeholder (se imagem falhar ou nao existir) */
.ad-slide .ad-placeholder {
    position: absolute !important;
    inset: 0 !important;
    width:  100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 18px !important;
    color: #94a3b8 !important;
    font-family: 'Segoe UI', system-ui, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    text-align: center !important;
    background:
      radial-gradient(circle at 50% 35%, rgba(96,165,250,0.18), transparent 60%),
      linear-gradient(180deg, #111c33 0%, #0b1120 100%) !important;
}
.ad-slide .ad-placeholder strong {
    display: block !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #e2e8f0 !important;
    margin-bottom: 8px !important;
    letter-spacing: 0.3px !important;
}
.ad-slide .ad-placeholder small { color: #64748b !important; font-size: 12px !important; display:block; margin-top:10px;}

/* Badge "Publicidade" minimo (informativo) */
.ad-badge {
    position: absolute !important;
    top: 6px !important; left: 6px !important;
    background: rgba(15,23,42,0.78) !important;
    color: #94a3b8 !important;
    font-size: 10px !important;
    padding: 3px 6px !important;
    border-radius: 6px !important;
    letter-spacing: 0.3px !important;
    z-index: 10 !important;
    font-family: 'Segoe UI', system-ui, sans-serif !important;
    font-weight: 500 !important;
    pointer-events: none !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
}

/* =======================================================
 * FOOTER COM LOGOS (TM Typing + POWER BY Techno Mania)
 * Posicionado ABAIXO do wrapper tm-page (jogo + banners).
 * ======================================================= */

/* Esconde o "TM Typing" textual padrao do Unity footer que nao usamos mais */
.tm-page #unity-build-title,
#unity-build-title {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
}

.tm-footer,
body > footer.tm-footer {
    width: 100% !important;
    max-width: calc(300px + 1024px + 24px) !important;
    margin: 0 auto 32px auto !important;
    padding: 12px 8px 0 8px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    color: #e2e8f0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
}

.tm-footer * {
    box-sizing: border-box !important;
}

/* Linha 1: Logo do TM Typing (titulo principal) */
.tm-footer__logo {
    display: block !important;
    max-width: 100% !important;
    object-fit: contain !important;
    image-rendering: auto !important;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45)) !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    text-decoration: none !important;
}

.tm-footer__logo--title {
    /* Logo TMTyping.png — mantenha proporcao, largura max 420px */
    width: auto !important;
    height: auto !important;
    max-width: 420px !important;
    max-height: 72px !important;
}

/* Linha 2: POWER BY + logo Techno Mania compacto */
.tm-footer__power-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    margin-top: 2px !important;
}

.tm-footer__power-text {
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif !important;
    font-weight: 800 !important;
    font-size: 18px !important;
    letter-spacing: 0.32em !important;
    text-transform: uppercase !important;
    color: #718096 !important;
    display: inline-block !important;
    line-height: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6) !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}

.tm-footer__logo--brand {
    /* Techno_Mania_2026_Compacto.png — proporcao largura 220px */
    width: auto !important;
    height: auto !important;
    max-width: 240px !important;
    max-height: 64px !important;
    vertical-align: middle !important;
}

/* Responsivo: em telas menores, footer fica limitado ao tamanho do Unity */
@media (max-width: 1360px) {
    .tm-footer,
    body > footer.tm-footer {
        max-width: 1024px !important;
    }
}

/* Mobile muito pequeno: reduz logos e texto POWER BY */
@media (max-width: 640px) {
    .tm-footer,
    body > footer.tm-footer {
        gap: 8px !important;
        padding: 8px 4px 0 4px !important;
        margin-bottom: 20px !important;
    }
    .tm-footer__logo--title {
        max-width: 260px !important;
        max-height: 56px !important;
    }
    .tm-footer__logo--brand {
        max-width: 160px !important;
        max-height: 44px !important;
    }
    .tm-footer__power-text {
        font-size: 13px !important;
        letter-spacing: 0.22em !important;
    }
    .tm-footer__power-row {
        gap: 10px !important;
    }
}
