:root{
  --bg: rgb(255, 174, 0);
  --bg-soft: rgb(7, 66, 175);
  --fg: #e8eefc;
  --muted: #a8b3cf;
  --ring: #e42665;
}

*, *::before, *::after{ 
  box-sizing: border-box; 
}

html {
  height: 100%;
}

body{ 
  overflow-x: hidden;
  margin: 0; 
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji"; 
  display: flex;
  flex-direction: column;
  min-height: 100vh; 
}

main {
  flex: 1;
}

a{ 
  color: inherit; 
  text-decoration: none; 
}

img{ 
  max-width: 100%; 
  height: auto; 
}
    
:focus-visible{ 
  outline: 2px solid var(--ring); 
  outline-offset: 2px; 
  border-radius: 6px; 
}

.container{ 
  max-width: 1100px; 
  margin: 0 auto; 
  padding: 0 1rem; 
}

.container-main{ 
  text-align: justify;
  max-width: 1100px; 
  margin: 0px auto 30px auto; 
  padding: 1rem; 
}
    
.nav-inner{ 
  display: flex; 
  align-items: center; 
  justify-content: space-between; 
  height: 75px; 
}

.brand{ 
  display: inline-flex; 
  align-items: center; 
  gap: 0.6rem; 
  font-weight: 700; 
  letter-spacing: 0.2px; 
  display:inline-grid; 
  place-items:center; 
  width: 170px; 
  height: 60px; 
  border-radius: 10px; 
}

.brand span{ 
  font-size: 1.05rem; 
}

#nav-toggle{ 
  display: none; 
}
    
.hamburger{ 
  display: inline-flex; 
  flex-direction: column; 
  gap: 5px; 
  cursor: pointer; 
  padding: .6rem; 
  border-radius: 12px; 
  border: 1px solid rgb(255 255 255 / 8%); 
}

.hamburger span{ 
  display: block; 
  width: 24px; 
  height: 2px; 
  background: var(--fg); 
  transition: transform .2s ease, opacity .2s ease; 
}

.nav-links{ 
  position: fixed; 
  inset: 75px 0 auto 0; 
  background: var(--bg); 
  border-bottom: 1px solid var(--bg); 
  transform: translateY(-130%); 
  transition: transform .25s ease; 
}
    
.nav-list{ 
  list-style: none; 
  padding: .8rem 1rem 1rem; 
  margin: 0; 
  display: grid; 
  gap: .2rem; 
}
    
.nav-link{ 
  display: block; 
  padding: .75rem .9rem; 
  border-radius: 12px; 
  color: rgb(0, 0, 0); 
  font-weight: 500; 
  position: relative;
  overflow: hidden;
}
    
.nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px;
  width: 100%;
  background: linear-gradient(90deg, #ff0000, #ff00aa, #07bb8e, #ae00ff, #0000ff, #4b0082, #000000);
  background-size: 200% auto;
  transition: all .5s;
  transform: translateX(-100%);
}

.nav-link:hover::after {
  transform: translateX(0%);
  animation: gradient-89 3s linear infinite;
}

.nav-link.active::after {
  transform: translateX(0%);
  animation: gradient-89 3s linear infinite;
}
 
@keyframes gradient-89 {
  0% { background-position: 100% 0%; }
  50% { background-position: 0% 0%; }
  100% { background-position: 100% 0%; }
}

details{ 
  position: relative; 
}
    
details[open] > summary .chev{ 
  transform: rotate(180deg); 
}
    
summary{ 
  list-style: none; 
  display: flex; 
  align-items: center; 
  gap: .5rem; 
  cursor: pointer; 
  padding: .75rem .9rem; 
  border-radius: 12px; 
}
    
summary::-webkit-details-marker{ 
  display:none; 
}
    
.chev{ 
  display:inline-block; 
  transition: transform .2s ease; 
}
    
.dropdown{ 
  position: static; 
  padding: .4rem 0 .6rem .4rem; 
}
    
.dropdown a{ 
  display:block; 
  padding: .55rem .75rem; 
  border-radius: 10px; 
  color: #000; 
}

.dropdown a:hover { 
  color: var(--fg); 
  background: rgb(255, 174, 0); 
}

#nav-toggle:checked ~ .nav-links{ 
  transform: translateY(0);
}
    
#nav-toggle:checked + label.hamburger span:nth-child(1){ 
  transform: translateY(7px) rotate(45deg); 
}
    
#nav-toggle:checked + label.hamburger span:nth-child(2){ 
  opacity: 0; 
}
    
#nav-toggle:checked + label.hamburger span:nth-child(3){ 
  transform: translateY(-7px) rotate(-45deg); 
}

@media (min-width: 900px){
  .hamburger{ 
    display: none; 
  }
  .nav-links{ 
    position: static; 
    transform: none; 
    background: transparent; 
    border: 0; 
  }
  .nav-inner{ 
    gap: 1rem; 
  }
  .nav-list{ 
    display: flex; 
    align-items: center; 
    gap: .25rem; 
    padding: 0; 
  }
  .nav-link, summary{ 
    padding: .55rem .75rem; 
  }

  details{ 
    position: relative; 
  }
  details > .dropdown{ 
    position: absolute; 
    left: 0; 
    top: calc(100% + 10px); 
    background: rgb(255, 174, 0); 
    padding: .5rem; 
    border: 1px solid rgba(255,255,255,.06); 
    border-radius: 14px; 
    min-width: 220px; 
    box-shadow: 0 12px 30px rgba(0,0,0,.35); 
    opacity: 0; 
    transform: translateY(-8px); 
    pointer-events: none; 
    transition: opacity .18s ease, transform .18s ease; 
  }
  details:hover > .dropdown, details[open] > .dropdown{ 
    opacity: 1; 
    transform: translateY(0); 
    pointer-events: auto; 
  }
  .dropdown a{ 
    white-space: nowrap; 
    color: rgb(0, 0, 0); 
  }
}

.whatsapp-float {
  position: fixed;
  width: 60px;
  height: 60px;
  bottom: 20px;   
  right: 20px;    
  background-color: #25d366;
  border-radius: 50%;
  text-align: center;
  box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
  z-index: 1000; 
}

.whatsapp-float img {
  width: 100%;
  height: auto;
  padding: 10px;
}

.whatsapp-float:hover{
  background-color: #38bdf8;
}

.bi-moon-stars-fill{
  color: #FFF;
  font-size: 1.5rem;
}

.modo{
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ffd900;
  border: none;
  outline: 0;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  position: fixed;
  z-index: 9999;
  bottom: 1vh;  
  left: 1vw;   
  transition: all 1.5s ease-out;
}

.modo:hover{
  background-color: rgba(255, 217, 0, 0.5);
}

.darkMode{
  background-color: #000;
  color:#ffffff;
}

[data-dark].darkMode .titulo,
[data-dark].darkMode .subtitulo {
  color: #fff !important;
}

.titulo{
  font-size: 50px;
  text-align: center;
  color: var(--bg-soft);
}

.subtitulo{
  font-size: 25px;
  font-weight: bolder;
  color: var(--bg-soft);
}

.mascota-flotante {
  position: fixed;
  bottom: 100px;
  left: 20px;
  width: 120px;
  cursor: pointer;
  z-index: 1000;
}

.mascota-flotante img {
  width: 80%;
  animation: bounce 2s infinite;
}

.burbuja {
  position: absolute;
  top: -60px;
  left: 100px;
  background: #fff;
  color: #333;
  padding: 10px 15px;
  border-radius: 15px;
  box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
  display: none;
}

.mascota-flotante:hover .burbuja {
  display: block;
}

@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

footer {
  background: rgb(255, 174, 0);
  color: rgb(3, 3, 3);
  padding: 15px 20px 25px 20px;
}
  
.footer-container {
  max-width: 1100px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
}
  
.footer-column h3 {
  border-bottom: 2px solid #ff0000;
  padding-bottom: 10px;
  margin-bottom: 15px;
  font-size: 18px;
}
  
.footer-column ul {
  list-style: none;
  padding: 0;
}
  
.footer-column ul li {
  margin-bottom: 10px;
}
  
.footer-column ul li a {
  color: #000000;
  text-decoration: none;
}
  
.footer-column ul li a:hover {
  font-weight: bold;
  color: #ff0000;
}
  
.footer-bottom {
  text-align: center;
  margin-top: 15px;
  font-size: 12px;
  color: #000000;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 10px;
}

.boton{
  background: transparent; 
  border: none;            
  padding: 0px 5px 0px 0px;             
  margin: 0px 5px 0px 0px;   
}

.bi{
  font-size: 18px;
  color: rgb(0, 0, 0);
}