*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,Segoe UI,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--accent);text-decoration:none}
img{max-width:100%;display:block}

.topbar{position:sticky;top:0;z-index:1000;display:flex;align-items:center;gap:16px;justify-content:space-between;padding:10px 18px;background:linear-gradient(90deg, rgba(0,0,0,.7), rgba(0,0,0,.3));backdrop-filter:blur(6px);border-bottom:1px solid rgba(255,255,255,.06)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:#fff}
.logo{height:36px;width:auto;filter:drop-shadow(0 0 6px rgba(0,0,0,.35))}
.nav{display:flex;gap:14px;flex-wrap:wrap}
.nav a{padding:8px 10px;border-radius:12px;color:#dfe6f3}
.nav a:hover{background:rgba(255,255,255,.08)}

.social-icons{display:flex;gap:10px;align-items:center}
.social-icons img{width:32px;height:32px;border-radius:8px;transition:transform .25s ease, filter .25s ease}
.social-icons a:hover img{transform:scale(1.12);filter:brightness(1.15)}

.radio-top{position:relative;z-index:900;background:rgba(0,0,0,.65);backdrop-filter:blur(4px);border-bottom:1px solid rgba(255,255,255,.08)}
.radio-wrap{max-width:1200px;margin:0 auto;padding:8px 16px}
.radio-wrap iframe, .radio-wrap audio{width:100%;height:64px;border:0;border-radius:12px;overflow:hidden}

.action-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;padding:10px;background:rgba(255,255,255,0.03);border-bottom:1px solid rgba(255,255,255,.08)}
.btn-action{padding:10px 18px;border-radius:12px;background:linear-gradient(90deg,var(--primary),var(--accent));color:#000;font-weight:600;text-shadow:none;box-shadow:0 0 10px rgba(0,0,0,.2);transition:transform .2s ease, filter .2s ease}
.btn-action:hover{transform:scale(1.05);filter:brightness(1.1)}

main{max-width:1200px;margin:0 auto;padding:20px}
.hero{
  position:relative;
  border-radius:22px;
  overflow:hidden;
}

/* SLIDE RESPONSIVO REAL */
.slide{
  position:relative;
  width:100%;
  min-height:220px;
  height:35vw;              /* se adapta à largura */
  max-height:420px;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* MOBILE: altura mais controlada */
@media (max-width: 768px){
  .slide{
    height:56vw;            /* melhor proporção para celular */
    min-height:220px;
    max-height:360px;
  }
}

.slide img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;        /* nunca distorce */
  object-position:center; /* sempre central */
}
/* sem overlay escuro no slide */
.slide .text{position:relative;z-index:2;text-align:center;color:#fff;text-shadow:0 6px 24px rgba(0,0,0,.5)}
.slide h1{font-size:clamp(22px,4vw,38px);margin:0 0 6px;font-weight:800}
.slide p{opacity:.9;margin:0}
.slider-dots{display:flex;gap:8px;position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:3}
.slider-dots span{width:8px;height:8px;border-radius:10px;background:rgba(255,255,255,.6)}
.slider-dots .active{background:var(--primary)}

.section{margin-top:22px;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.03);opacity:0;transform:translateY(60px);transition:all .9s ease-out;will-change:opacity,transform}
.section.visible{opacity:1;transform:translateY(0)}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.card{background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px}
.card:hover{transform:translateY(-2px);transition:.2s}

/* TV 380px */
.player-tv{position:relative;height:380px;background:#000;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}
.player-tv video, .player-tv iframe{width:100%;height:100%;object-fit:contain;background:#000}

.ad{display:block;padding:8px;border-radius:12px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);text-align:center}

.qr-area{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.qr{display:grid;place-items:center;padding:10px;border-radius:12px;background:#0d0d14;border:1px solid rgba(255,255,255,.08)}

/* movimento sutil */
.motion-bg{position:absolute;inset:-40px;z-index:0;background:radial-gradient(600px 200px at 10% 0%, rgba(57,255,20,.12), transparent 60%), radial-gradient(700px 260px at 90% 20%, rgba(0,212,255,.10), transparent 60%);animation:floaty 12s ease-in-out infinite alternate}
@keyframes floaty{0%{transform:translateY(-6px) translateX(0)}100%{transform:translateY(6px) translateX(-10px)}}

.contact{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}
@media (max-width:900px){.contact{grid-template-columns:1fr}}

.footer{margin-top:30px;border-top:1px solid rgba(255,255,255,.08);padding:20px;text-align:center;background:linear-gradient(180deg, rgba(255,255,255,.02), transparent)}
.footer .footer-brand{display:flex;gap:10px;align-items:center;justify-content:center;margin-bottom:10px}
.footer .footer-social, .footer .social-icons{display:flex;gap:8px;justify-content:center;margin-bottom:6px}
.copy{opacity:.7;font-size:12px}

/* Admin */
.admin-wrap{display:grid;grid-template-columns:280px 1fr;gap:16px}
.sidebar{position:sticky;top:70px;height:calc(100vh - 90px);overflow:auto;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.03)}
.sidebar h3{margin:0 0 10px}
.sidebar a{display:block;padding:8px 10px;border-radius:10px;color:#ffffff}
.sidebar a.active, .sidebar a:hover{background:rgba(255,255,255,.08)}

.panel{padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.03)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.form-row label{font-size:12px;opacity:.8}
.form-row input[type="text"], .form-row input[type="url"], .form-row input[type="color"], .form-row textarea{width:100%;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#161621;color:#fff}
.preview{padding:10px;border-radius:12px;background:#0d0d14;border:1px solid rgba(255,255,255,.08)}
.btn{display:inline-block;padding:10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.04));color:#fff;cursor:pointer}
.btn:hover{filter:brightness(1.1)}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid rgba(255,255,255,.08);padding:8px;text-align:left}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.08);font-size:12px}
.notice{padding:10px;border-radius:12px;background:#11221a;border:1px solid rgba(57,255,20,.3);color:#b8ffcf;margin-bottom:10px}
.err{padding:10px;border-radius:12px;background:#2a1111;border:1px solid #c0392b;color:#ffd2d2;margin-bottom:10px}
/* ================= 3D GLOBAL ================= */



/* MOBILE – efeitos mais leves */
@media(max-width:768px){
  body { perspective: none; }
  .card:hover { transform:none; }
}
<style>
.photos-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:15px;
  margin-top:20px;
}
.photo-item{
  background:#fff;
  padding:10px;
  border-radius:10px;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
  text-align:center;
}
.photo-item img{
  width:100%;
  height:120px;
  object-fit:cover;
  border-radius:8px;
}
.photo-item .caption{
  margin:6px 0;
  font-size:14px;
}
.btn.danger{
  background:#c0392b;
  color:#fff;
}
</style>
<style>body {
    background:
        url("/<?php echo htmlspecialchars(s('background_image')); ?>") center center / cover no-repeat fixed;
}

</style>
.map-embed iframe {
    width: 100%;
    min-height: 320px;
    border: 0;
    border-radius: 12px;
}
/* ===== MENU MOBILE ===== */
.menu-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:0;
  cursor:pointer;
}

.menu-toggle span{
  width:24px;
  height:2px;
  background:var(--text);
  transition:.3s;
}

@media (max-width: 900px){

  .menu-toggle{
    display:flex;
  }

  .nav{
    position:fixed;
    top:0;
    right:-100%;
    width:85%;
    max-width:320px;
    height:100vh;
    background:var(--bg);
    flex-direction:column;
    padding:80px 20px 20px;
    gap:18px;
    transition:.3s;
    z-index:999;
  }

  .nav a{
    font-size:1.05rem;
  }

  .nav.active{
    right:0;
  }

  .social-icons{
    display:none;
  }

  .nav-social{
    display:flex;
    gap:14px;
    margin-top:20px;
  }

  .nav-social img{
    width:26px;
  }
}
.menu-toggle{
  display:none;
  align-items:center;
  gap:10px;
  background:none;
  border:0;
  cursor:pointer;
  color:var(--text);
  font-weight:600;
  letter-spacing:.5px;
}

.menu-toggle .menu-text{
  font-size:.85rem;
}

.menu-toggle span{
  display:block;
}

.menu-toggle span:not(.menu-text){
  width:24px;
  height:2px;
  background:var(--text);
  transition:.3s;
}

@media (max-width: 900px){
  .menu-toggle{
    display:flex;
  }
}
.tv-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  /* player maior, programação menor */
  gap: 20px;
  align-items: stretch;
}

.tv-onair {
  text-align: center;
}

@media (max-width: 900px) {
  .tv-grid {
    grid-template-columns: 1fr;
    /* mobile empilha */
  }
}
/* ====== BASE 3D ====== */
body {
  perspective: 1200px;
}

/* ====== CARDS 3D ====== */
.card,
.video-card,
.qr,
.ad,
figure.card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(6px);
  transform-style: preserve-3d;
  transition:
    transform .4s ease,
    box-shadow .4s ease;
  box-shadow:
    0 10px 30px rgba(0, 0, 0, .35);
}

/* Hover 3D */
@media (hover:hover) {

  .card:hover,
  .video-card:hover,
  .qr:hover,
  .ad:hover,
  figure.card:hover {
    transform:
      translateY(-8px) rotateX(4deg) rotateY(-4deg);
    box-shadow:
      0 25px 60px rgba(0, 0, 0, .6);
  }
}

/* ====== SEÇÕES EM CAMADAS ====== */
.section {
  position: relative;
  transform: translateZ(0);
}

/* ====== PLAYER TV 3D ====== */
.player-tv {
  position: relative;
  transform: translateZ(30px);
  border-radius: 16px;
  overflow: hidden;
  box-shadow:
    0 30px 80px rgba(0, 0, 0, .7);
}

.player-tv::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg,
      rgba(255, 255, 255, .12),
      transparent 60%);
  pointer-events: none;
}

/* ====== PROGRAMAÇÃO NO AR (GLASS) ====== */
.tv-onair {
  backdrop-filter: blur(10px);
  border-radius: 16px;
  transform: translateZ(40px);
}

/* ====== SLIDER 3D ====== */
.slider {
  transform-style: preserve-3d;
}

.slide img {
  transform: translateZ(-40px) scale(1.1);
}

/* ====== QR CODES 3D ====== */
.qr img {
  border-radius: 12px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, .5);
}

/* ====== MAPA 3D ====== */
.map-embed iframe {
  border-radius: 16px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .6);
}

/* ====== MOBILE ====== */
@media(max-width:900px) {
  body {
    perspective: none;
  }

  .card:hover,
  .video-card:hover,
  .qr:hover {
    transform: none;
  }
}
.section{
  transform: var(--tilt, none);
  transition: transform .15s linear;
}
.integration-preview {
  margin: 10px 0;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 15px 40px rgba(0, 0, 0, .5);
}

.integration-preview iframe,
.integration-preview video {
  width: 100%;
  min-height: 220px;
  border: 0;
}

.integration-code {
  width: 100%;
  min-height: 120px;
  margin-top: 6px;
  background: #0b0b12;
  color: #0f0;
  font-family: monospace;
  font-size: 13px;
  border-radius: 10px;
  padding: 10px;
  cursor: pointer;
}
.brand span{
  font-size: 1.8rem;              /* aumenta o tamanho */
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--primary);

  /* efeito glow moderno */
  text-shadow:
    0 0 5px rgba(57,255,20,.6),
    0 0 10px rgba(57,255,20,.4),
    0 0 20px rgba(57,255,20,.25);

  transition: all .3s ease;
}
.brand:hover span{
  color: var(--accent);
  text-shadow:
    0 0 6px rgba(0,212,255,.8),
    0 0 14px rgba(0,212,255,.6),
    0 0 28px rgba(0,212,255,.4);

  transform: scale(1.03);
}
@media (max-width: 768px){
  .brand span{
    font-size: 1.3rem;
  }
}
/* ==================================================
   SLIDE UNIVERSAL – FUNCIONA COM QUALQUER IMAGEM
================================================== */

/* DESKTOP: visual de banner */
.slide {
  position: relative;
  width: 100%;
  height: clamp(260px, 38vw, 420px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.slide img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* ==================================================
   MOBILE: imagem SEM CORTE (abre corretamente)
================================================== */
@media (max-width: 768px){

  .slide {
    height: auto;              /* 🔥 deixa a imagem definir a altura */
    min-height: unset;
    padding: 10px 0;
    background: #000;          /* fundo neutro se sobrar espaço */
  }

  .slide img {
    position: relative;        /* sai do absolute */
    width: 100%;
    height: auto;
    max-height: 75vh;          /* nunca estoura a tela */
    object-fit: contain;       /* 🔥 ESSENCIAL */
    object-position: center;
    margin: 0 auto;
  }
}
