/* ============================================================
   dt-shared.css — Header, footer y tokens de diseño reales de
   soydavidtapia.com, reutilizados aquí para que /galeria y /videos
   se vean exactamente igual al resto del sitio.
   ============================================================ */

:root {
  --dt-font: 'VT323', monospace;
  --dt-red: #f70206;
  --dt-red-soft: #ff5b5f;
  --dt-dark: #050505;
  --dt-panel: #0a0a0a;
  --dt-panel-2: #131316;
  --dt-white: #e0e0e0;
  --dt-text-light: #f5f6fa;
  --dt-gray: #1f1f1f;
  --dt-muted: #888888;
  --dt-container: 1400px;
}

* { box-sizing: border-box; }

html, body {
  background: var(--dt-dark);
  margin: 0;
  padding: 0;
}

body {
  color: var(--dt-white);
  font-family: var(--dt-font);
  font-size: 20px;
  line-height: 1.5;
}

img { max-width: 100%; height: auto; display: block; }

a { color: var(--dt-white); text-decoration: none; }

h1, h2, h3 {
  font-family: var(--dt-font);
  text-transform: uppercase;
  color: var(--dt-text-light);
  margin: 0 0 20px;
}

.dt-container {
  max-width: var(--dt-container);
  margin: 0 auto;
  padding: 0 20px;
}

/* ---------- Header (idéntico al de soydavidtapia.com) ---------- */

.dt-navbar {
  position: sticky;
  top: 0;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 30px;
  background: rgba(5, 5, 5, 0.95);
  border-bottom: 1px solid var(--dt-gray);
  width: 100%;
}

.dt-brand-link { display: block; }

.dt-brand-img { max-height: 50px; width: auto; }

.dt-menu-desktop {
  list-style: none;
  display: flex;
  gap: 30px;
  margin: 0;
  padding: 0;
}

.dt-nav-link {
  position: relative;
  color: var(--dt-white);
  text-transform: uppercase;
  font-size: 17px;
  letter-spacing: 0.5px;
}

.dt-nav-link::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0%;
  height: 2px;
  background: var(--dt-red);
  transition: 0.3s;
}

.dt-nav-link:hover::after,
.dt-nav-link.active::after { width: 100%; }

.dt-nav-link:hover,
.dt-nav-link.active { color: var(--dt-red); }

.dt-hamburger {
  display: none;
  cursor: pointer;
  font-size: 2.5rem;
  color: white;
  background: none;
  border: none;
  line-height: 1;
}

.dt-mobile-drawer {
  position: fixed;
  top: 80px;
  right: -100%;
  width: 100%;
  height: calc(100vh - 80px);
  background: #000;
  z-index: 999;
  transition: 0.4s cubic-bezier(0.77, 0, 0.175, 1);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 30px;
  border-left: 2px solid var(--dt-red);
}

.dt-mobile-drawer.open { right: 0; }

.dt-mobile-link {
  font-size: 2.5rem;
  color: white;
  text-transform: uppercase;
}

.dt-mobile-link:hover { color: var(--dt-red); transform: skewX(-10deg); }

@media (max-width: 900px) {
  .dt-menu-desktop { display: none; }
  .dt-hamburger { display: block; }
}

/* ---------- Footer (idéntico al de soydavidtapia.com) ---------- */

.dt-footer-main {
  background: #000;
  border-top: 2px solid var(--dt-red);
  padding: 60px 20px 40px;
  text-align: center;
}

.dt-footer-logo {
  display: block;
  font-family: var(--dt-font);
  font-size: 40px;
  color: #fff;
  margin-bottom: 10px;
}

.dt-footer-tagline {
  color: var(--dt-red);
  font-size: 1rem;
  display: block;
  font-weight: normal;
  letter-spacing: 2px;
  margin-bottom: 40px;
}

.dt-footer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  max-width: 800px;
  margin: 0 auto 50px;
  text-align: left;
}

.dt-footer-col h4 {
  color: #fff;
  font-size: 14.4px;
  text-transform: uppercase;
  margin: 0 0 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--dt-gray);
  font-weight: 400;
  letter-spacing: 1px;
}

.dt-footer-col a {
  display: block;
  color: var(--dt-muted);
  font-size: 14.4px;
  margin-bottom: 8px;
}

.dt-footer-col a:hover { color: var(--dt-red); }

.dt-glitch { text-decoration: line-through; }

.dt-copyright {
  color: #666;
  font-size: 12.8px;
  border-top: 1px solid #111;
  padding-top: 20px;
  max-width: 800px;
  margin: 0 auto;
}

@media (max-width: 900px) {
  .dt-footer-grid {
    grid-template-columns: 1fr;
    max-width: 325px;
    text-align: center;
  }
  .dt-footer-col h4 { border-bottom-color: var(--dt-gray); }
}

/* ---------- Page header used on /galeria and /videos ---------- */

.dt-page-head {
  padding: 60px 0 20px;
  border-bottom: 1px solid var(--dt-gray);
  margin-bottom: 40px;
}

.dt-page-head .dt-tag { color: var(--dt-red); }

.dt-page-head p {
  color: var(--dt-muted);
  font-size: 20px;
  margin-top: 10px;
}
