html {
  scroll-padding-top: 150px; /* puedes ajustar el valor */
}

html, body {
  max-width: 100%;
  overflow-x: hidden; /* evita scroll horizontal */
}

.carousel.paused .group {
  animation-play-state: paused !important;
}

/* Cuando la animación está pausada, quitar efecto hover de personajes */
.no-hover .personajes img:hover {
  width: auto !important;
  opacity: 0.8 !important;
  filter: none !important;
  cursor: default !important;
}


/* ===========================
   RESET & BASE
=========================== */
* {
  box-sizing: border-box;
}

@font-face {
  font-family: 'DigitalDisco';
  src: url('./fuentes/DigitalDisco.woff2') format('woff2'),
    url('./fuentes/DigitalDisco.woff') format('woff'),
    url('./fuentes/DigitalDisco.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

body {
  margin: 0;
  padding: 0;
  font-family: 'DigitalDisco', sans-serif;
  background-color: #cef5ce;
  color: #003542;
  padding-top: 140px;
}


/* ===========================
   HEADER & NAV
=========================== */
header {
  position: fixed;
  top: 50px;
  left: 0;
  width: 100%;
  background-color: #003542;
  color: #cef5ce;
  padding: 10px;
  text-align: center;
  z-index: 999;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 100%;
}

header h1 {
  width: 100%;
  text-align: center;
  margin: 0;
}

nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 10px;
  display: flex;
  gap: 20px;
}

nav a {
  margin: 0 15px;
  color: #cef5ce;
  text-decoration: none;
  font-weight: bold;
}

.logo {
  max-width: 200px;
  height: auto;
  display: block;
  margin-bottom: 10px;
}

header img.logo {
  max-width: 200px;
  height: auto;
  display: block;
  margin: 0 auto 10px;
}


/* ===========================
   FOOTER
=========================== */
footer {
  background-color: #003542;
  color: #cef5ce;
  padding: 20px;
  text-align: center;
}

.social a {
  margin: 0 10px;
  color: #cef5ce;
  text-decoration: none;
}

/* ===========================
   HERO SECTION
=========================== */
#inicio {
  height: 400px;
  position: relative;
}

.hero {
  background-size: cover;
  background-position: center;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #cef5ce;
  font-size: 2em;
  text-shadow: 2px 2px 4px #000;
  position: relative;
  z-index: -2;
  margin-top: 0;
  overflow: hidden;
}

video {
  top: 0;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}

#imagenFondo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2; /* ESTO es lo importante */
  display: none;
}


.capa {
  top: 0;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  background: #1c1c1d;
  opacity: 0.5;
  mix-blend-mode: overlay;
}

.hero-text {
  position: relative;
  z-index: 1;
  color: #cef5ce;
  font-size: 2em;
  text-shadow: 2px 2px 4px #003542;
  text-align: center;
  padding: 0 20px;
}

/* ===========================
   CONTROL BAR (TOGGLE)
=========================== */
.control-bar {
  background-color: #00916a;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 10px;
  text-align: center;
  z-index: 1000;
}

.toggle-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  background-color: #003542;
  color: #cef5ce;
  padding: 5px 20px;
  border-radius: 5px;
  font-weight: bold;
  user-select: none;
}

.toggle-label input[type="checkbox"] {
  appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #cef5ce;
  border-radius: 3px;
  background-color: transparent;
  position: relative;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.toggle-label input[type="checkbox"]:checked {
  background-color: #cef5ce;
}

/* ===========================
   SECTIONS
=========================== */
.section {
  padding: 40px;
  max-width: 900px;
  margin: auto;
}

iframe {
  width: 100%;
  height: 400px;
  border: none;
  margin-top: 20px;
}

/* ===========================
  FEATURES
=========================== */
.features {
 display: flex;
 gap: 20px;
 flex-wrap: wrap;
 justify-content: center;
}


.features img {
 width: 100%;
 max-width: 300px;
 border-radius: 10px;
}


.feature2-text{
 text-align: center;
}
/* ===========================
  BUTTONS
=========================== */
.buy-button {
 display: inline-block;
 background-color: #00916a;
 color: #cef5ce;
 padding: 15px 30px;
 border-radius: 25px;
 text-decoration: none;
 font-weight: bold;
 margin-top: 20px;
}


.extra-links {
 display: flex;
 justify-content: center;
 gap: 20px;
 margin-top: 20px;
}


.extra-button {
 display: inline-block;
 background-color: #00916a;
 color: #cef5ce;
 padding: 12px 25px;
 border-radius: 8px;
 text-decoration: none;
 font-weight: bold;
 transition: background-color 0.3s ease;
}


.extra-button:hover {
 background-color: #00916a;
 color: #000;
}


/* ===========================
  SLIDER
=========================== */
.carousel{
 width:100%;
 max-width: 100%;
 display:flex;
 overflow:hidden;
}


.carousel::-webkit-scrollbar{
 display:none;
}


.group{
 display: flex;
 justify-content: center;
 gap: 0em;
 animation:spin 20s infinite linear;
 width:100%;
 max-width: 100%;
}


.card{
 flex: 0 0 5em;
 height:  250px;
}


@keyframes spin{
 from{translate:0;}
 to{translate:-100%;}
}


/* ===========================
  ARTICLE (HOVER EFFECT)
=========================== */
article {
 position: relative;
 width: 250px;
 transition: all .3s ease;
}


article img:first-child {
 box-shadow: 0 60px 60px -60px rgba(0, 30, 255, 0.5);
 border-radius: 4px;
 object-fit: cover;
 width: 100%;
}


article img:last-child {
 position: absolute;
 width: 200px;
 bottom: 0;
 left: 0;
 right: 0;
 margin: auto;
 transform: translateY(25%);
 transition: .3s ease;
 opacity: 0;
}


article:hover {
 transform: perspective(250px) rotateX(10deg) translateY(-5%) translateZ(0);
}


article:before {
 content: '';
 position: absolute;
 bottom: 0;
 height: 100%;
 width: 100%;
 background-image: linear-gradient(to bottom,
     transparent 10%,
     rgba(0, 0, 0, 0.5) 50%,
     rgba(0, 0, 0) 95%);
 opacity: 0;
 transition: all .3s ease;
}


article:hover::before {
 opacity: 1;
}


article:hover img:last-child {
 opacity: 1;
 transform: translateY(10%);
}


.personajes {
 display: flex;
 width: 100%;   /* ocupa todo el ancho disponible */
 max-width: 1200px; /* opcional, límite máximo */
 height: 430px;
 margin: 0 auto; /* centra el bloque */
}




.personajes img {
 width: 0px;
 flex-grow: 1;
 object-fit: cover;
 opacity: .8;
 transition: 5s;
 border-radius: 10px;              /* esquinas redondeadas */
 box-shadow: 0 4px 12px rgba(0,0,0,0.3); /* sombra suave */
}


.personajes img:hover {
 cursor: crosshair;
 width: 300px;
 opacity: 1;
 filter: contrast(120%);
}


.gallery {
 position: relative;
 max-width: 800px;   /* ancho máximo */
 margin: auto;
 overflow: hidden;
}


.gallery-track {
 display: flex;
 transition: transform 0.5s ease-in-out;
}


.gallery-track img {
 width: 100%;
 flex-shrink: 0;
 border-radius: 10px;           /* esquinas redondeadas */
 box-shadow: 0 4px 12px rgba(0,0,0,0.3); /* sombra */
 display: block;
}




.gallery button {
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 background-color: rgba(0,0,0,0.5);
 color: white;
 border: none;
 padding: 10px;
 cursor: pointer;
 font-size: 24px;
}


.gallery-prev {
 left: 10px;
}


.gallery-next {
 right: 10px;
}


#dlc {
 text-align: center;
 margin-top: 50px;
}


#dlc h2 {
 font-size: 2em;
 margin-bottom: 20px;
}


#dlc p {
 max-width: 800px;
 margin: 0 auto 30px auto;
 font-size: 1.2em;
 line-height: 1.6;
}


.dlc-image img {
 max-width: 100%;
 height: auto;
 border-radius: 10px; /* opcional, esquinas redondeadas */
 box-shadow: 0 4px 12px rgba(0,0,0,0.3); /* opcional, sombra */
}


#trailer h2 {
 text-align: center;
}


#trailer h2 {
 text-align: center;
}


#features h2 {
 text-align: center;
}


#comprar {
 text-align: center;
}


#extra h2{
  text-align: center;
}
