:root{--bg:#050505;--surface:#111;--surface2:#191919;--text:#fff;--muted:#aaa;--yellow:#ffc400;--yellow2:#ffd84a;--border:#2a2a2a;--danger:#ff5a5f;--success:#35d07f}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif}body{margin:0;background:radial-gradient(circle at 70% -20%,#332900 0,transparent 35%),var(--bg);min-height:100vh}a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:14px clamp(18px,5vw,72px);background:#050505e8;border-bottom:1px solid var(--border);backdrop-filter:blur(10px)}.brand img{width:190px;height:auto}.site-header nav{display:flex;gap:20px}.site-header nav a{font-weight:700}.site-header nav a:hover{color:var(--yellow)}.container{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:38px 0 70px}.hero{padding:28px 0 34px}.eyebrow{color:var(--yellow);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}.hero h1{font-size:clamp(2.2rem,6vw,5.2rem);line-height:.95;max-width:900px;margin:.35em 0}.hero p{max-width:720px;color:#d0d0d0;font-size:1.1rem}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:linear-gradient(180deg,#161616,#0e0e0e);border:1px solid var(--border);border-radius:18px;overflow:hidden}.card-body{padding:20px}.card h2,.card h3{margin-top:0}.event-cover{height:180px;background:#222 center/cover no-repeat;display:flex;align-items:end;padding:14px}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#2b2400;color:var(--yellow);font-weight:800;font-size:.8rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:12px 18px;font-weight:900;cursor:pointer;background:var(--yellow);color:#080808}.btn:hover{background:var(--yellow2)}.btn.secondary{background:#222;color:#fff;border:1px solid #333}.btn.danger{background:var(--danger);color:#fff}.btn.block{width:100%}.muted{color:var(--muted)}.meta{display:grid;gap:7px;margin:14px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}label{font-weight:800}.input,select,textarea{width:100%;background:#101010;border:1px solid #333;color:#fff;border-radius:12px;padding:12px 13px;font:inherit;outline:none}.input:focus,select:focus,textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 3px #ffc40022}textarea{min-height:120px}.alert{padding:14px 16px;border-radius:12px;margin-bottom:18px;border:1px solid}.alert.success{background:#0d2619;border-color:#1f6e46}.alert.error{background:#2a1011;border-color:#7d2d30}.panel{background:#101010;border:1px solid var(--border);border-radius:18px;padding:22px}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid #222}.table th{color:var(--yellow);font-size:.84rem;text-transform:uppercase}.actions{display:flex;gap:8px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 28px}.stat{background:#111;border:1px solid var(--border);border-radius:16px;padding:18px}.stat strong{display:block;font-size:1.7rem;color:var(--yellow)}.qr-box{background:#fff;padding:14px;border-radius:14px;width:max-content;max-width:100%;margin:20px auto}.ticket{text-align:center;max-width:620px;margin:0 auto}.code{font-size:1.35rem;color:var(--yellow);font-weight:900;letter-spacing:.05em}.footer{text-align:center;border-top:1px solid var(--border);padding:32px 18px;color:#ddd}.footer img{width:180px}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.scanner video{width:100%;max-width:520px;border-radius:16px;background:#000}.scanner-status{color:var(--muted);margin-top:8px}@media(max-width:850px){.grid,.stats{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.site-header nav{gap:12px;font-size:.9rem}}@media(max-width:560px){.grid,.stats{grid-template-columns:1fr}.site-header{align-items:flex-start;gap:10px}.brand img{width:140px}.site-header nav{flex-direction:column;gap:5px}.container{padding-top:24px}.hero h1{font-size:2.5rem}}

/* ===== DG SPORTS RUN PATCH V1.1A - HOME / CARDS / EVENTO ===== */
.institutional-hero{width:100%;margin:0 0 34px;border:1px solid var(--border);border-radius:20px;overflow:hidden;background:#000;box-shadow:0 18px 60px #0008}.institutional-hero img{display:block;width:100%;height:auto;aspect-ratio:8/3;object-fit:cover}.home-intro{padding:10px 0 28px}.home-intro h1{font-size:clamp(2rem,5vw,4rem);line-height:1;margin:.25em 0}.home-intro p{max-width:760px;color:#d0d0d0;font-size:1.05rem}.events-section{padding-top:6px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.section-heading h2{margin:4px 0 0;font-size:2rem}.event-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.event-card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.event-card:hover{transform:translateY(-3px);border-color:#554400;box-shadow:0 18px 45px #0008}.event-cover-link{display:block}.event-card .event-cover{height:auto;aspect-ratio:4/3;position:relative;align-items:flex-start;background-position:center;background-size:cover}.event-card .event-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#00000022 25%,#00000099 100%);pointer-events:none}.event-card .event-cover .badge{position:relative;z-index:1}.event-cover-empty{background:linear-gradient(135deg,#181818 0 55%,#2b2400 55% 70%,#111 70%)}.event-cover-empty::before{content:"DG SPORTS RUN";position:absolute;inset:0;display:grid;place-items:center;color:var(--yellow);font-weight:950;font-size:1.35rem;letter-spacing:.08em}.event-meta{min-height:70px}.event-detail-banner{overflow:hidden;border:1px solid var(--border);border-radius:20px;margin-bottom:24px;background:#111}.event-detail-banner img{display:block;width:100%;aspect-ratio:16/7;object-fit:cover}.event-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.event-title-block{padding:4px 0 20px}.event-title-block h1{font-size:clamp(2.3rem,6vw,5rem);line-height:.95;margin:.28em 0}.event-detail-meta{font-size:1rem}.event-main-content{min-width:0}.event-info-panel{margin-bottom:20px}.event-description{color:#e3e3e3;line-height:1.7}.modalities-panel h2{margin-top:0}.modality-card .code{font-size:1.6rem}.modality-price{font-weight:800}.event-sidebar{position:sticky;top:100px}.countdown-card{text-align:center}.countdown-card .eyebrow{display:block;margin-bottom:14px}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.countdown-grid div{background:#090909;border:1px solid var(--border);border-radius:12px;padding:10px 4px}.countdown-grid strong{display:block;font-size:1.55rem;color:var(--yellow)}.countdown-grid span{font-size:.68rem;color:#ccc;text-transform:uppercase;font-weight:800}.countdown-actions{margin-top:16px}.event-cover-admin{padding:14px;border:1px dashed #3a3a3a;border-radius:14px}.cover-preview{display:block;width:min(620px,100%);aspect-ratio:16/7;object-fit:cover;border-radius:12px;border:1px solid var(--border);margin:8px 0 14px}.legacy-cover{margin-top:8px}.legacy-cover summary{cursor:pointer;color:var(--muted);margin-bottom:8px}.inline-check{display:flex;align-items:center;gap:8px;margin-top:10px;color:#ddd}
@media(max-width:900px){.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-detail-layout{grid-template-columns:1fr}.event-sidebar{position:static;order:-1}.event-detail-banner img{aspect-ratio:16/8}}
@media(max-width:560px){.institutional-hero{border-radius:12px;margin-bottom:22px}.institutional-hero img{aspect-ratio:16/7}.event-grid{grid-template-columns:1fr}.event-detail-banner{border-radius:12px}.event-detail-banner img{aspect-ratio:4/3}.countdown-grid strong{font-size:1.25rem}.event-title-block h1{font-size:2.5rem}}


/* ===== DG SPORTS RUN PATCH V1.1B - CAPA PROPORCIONAL + CARROSSEL ===== */
html,body{max-width:100%;overflow-x:hidden}

.institutional-hero,
.sponsor-carousel{
  width:100%;
  max-width:100%;
  margin:0 auto 34px;
  border:1px solid var(--border);
  border-radius:20px;
  overflow:hidden;
  background:#000;
  box-shadow:0 18px 60px #0008;
}

.institutional-hero img,
.sponsor-slide img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center center;
}

.sponsor-carousel{
  position:relative;
}

.sponsor-carousel-track{
  position:relative;
  width:100%;
}

.sponsor-slide{
  display:none;
  width:100%;
}

.sponsor-slide.is-active{
  display:block;
  animation:sponsorFade .45s ease;
}

@keyframes sponsorFade{
  from{opacity:.2}
  to{opacity:1}
}

.sponsor-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid #ffffff55;
  border-radius:999px;
  background:#050505bb;
  color:#fff;
  font-size:2rem;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(8px);
}

.sponsor-arrow:hover{
  background:var(--yellow);
  color:#050505;
}

.sponsor-prev{left:14px}
.sponsor-next{right:14px}

.sponsor-dots{
  position:absolute;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  display:flex;
  gap:7px;
  z-index:3;
  padding:7px 10px;
  border-radius:999px;
  background:#0009;
}

.sponsor-dots button{
  width:9px;
  height:9px;
  border:0;
  padding:0;
  border-radius:999px;
  background:#ffffff88;
  cursor:pointer;
}

.sponsor-dots button.is-active{
  width:24px;
  background:var(--yellow);
}

.sponsor-admin-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}

.sponsor-admin-card{
  background:#101010;
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
}

.sponsor-admin-card img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/7;
  object-fit:cover;
  background:#000;
}

.sponsor-admin-card .card-body{
  padding:14px;
}

@media(max-width:900px){
  .sponsor-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:560px){
  .institutional-hero,
  .sponsor-carousel{
    border-radius:12px;
    margin-bottom:22px;
  }

  .sponsor-arrow{
    width:36px;
    height:36px;
    font-size:1.6rem;
  }

  .sponsor-prev{left:8px}
  .sponsor-next{right:8px}
  .sponsor-admin-grid{grid-template-columns:1fr}
}


/* =========================================================
   DG SPORTS RUN V1.3B
   ENQUADRAMENTO DE EVENTOS E PRÉVIAS
   ========================================================= */

/* Cards da HOME: imagem inteira, sem corte exagerado */
.event-card .event-cover{
  width:100% !important;
  aspect-ratio:16/9 !important;
  min-height:0 !important;
  height:auto !important;
  background-color:#050505 !important;
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
}

/* Página pública do evento */
.event-detail-banner{
  width:min(1120px,calc(100% - 32px)) !important;
  margin:28px auto 24px !important;
  overflow:hidden !important;
  border:1px solid var(--border) !important;
  border-radius:18px !important;
  background:#050505 !important;
}

.event-detail-banner img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:520px !important;
  margin:0 auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#050505 !important;
}

/* Editor do evento: galerias compactas */
.event-gallery-admin{
  grid-template-columns:repeat(auto-fit,minmax(140px,190px)) !important;
  justify-content:start !important;
}
.event-gallery-item{
  max-width:190px !important;
}
.event-gallery-item img{
  aspect-ratio:4/3 !important;
  object-fit:cover !important;
}

/* Prévia lateral nunca cresce além da coluna */
.event-editor-sidebar .event-preview-card{
  overflow:hidden !important;
}
.event-editor-sidebar .event-preview-card img{
  width:100% !important;
  height:180px !important;
  max-height:180px !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#050505 !important;
}

/* Mobile */
@media(max-width:560px){
  .event-detail-banner{
    width:calc(100% - 24px) !important;
    margin:18px auto !important;
    border-radius:12px !important;
  }
  .event-detail-banner img{
    max-height:360px !important;
  }
  .event-card .event-cover{
    aspect-ratio:16/10 !important;
  }
}

/* =========================================================
   DG SPORTS RUN — MENU ADMINISTRATIVO V1
   ========================================================= */

.site-header nav{
  align-items:center;
}

.site-header nav .admin-nav-group{
  position:relative;
}

.site-header nav .admin-nav-group > summary{
  list-style:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 10px;
  border-radius:10px;
  color:inherit;
  font-weight:700;
  user-select:none;
}

.site-header nav .admin-nav-group > summary::-webkit-details-marker{
  display:none;
}

.site-header nav .admin-nav-group > summary::after{
  content:"▾";
  font-size:11px;
  opacity:.65;
}

.site-header nav .admin-nav-group[open] > summary{
  background:rgba(255,196,0,.10);
  color:var(--yellow,#ffc400);
}

.admin-nav-submenu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  min-width:215px;
  padding:7px;
  background:#111;
  border:1px solid #2b2b2b;
  border-radius:13px;
  box-shadow:0 15px 40px rgba(0,0,0,.50);
  z-index:9999;
}

.admin-nav-submenu a{
  display:block;
  padding:10px 12px;
  border-radius:9px;
  white-space:nowrap;
  text-decoration:none;
}

.admin-nav-submenu a:hover{
  background:rgba(255,196,0,.10);
  color:var(--yellow,#ffc400);
}

@media(max-width:800px){

  .site-header nav{
    flex-wrap:wrap;
    gap:6px;
  }

  .site-header nav .admin-nav-group{
    position:static;
  }

  .admin-nav-submenu{
    position:absolute;
    left:12px;
    right:12px;
    top:auto;
    margin-top:4px;
    min-width:0;
  }

  .admin-nav-submenu a{
    white-space:normal;
  }
}

/* ==========================================================
   AJUSTE VISUAL — TÍTULO DO PAINEL ADMIN
   ========================================================== */

.admin-top > div:first-child h1{
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
  margin-bottom:0;
}

@media(max-width:900px){
  .admin-top > div:first-child h1{
    white-space:normal;
  }
}

