/* Family Pets Club - estilos globales compartidos */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

:root{
  --primary:#285943;
  --secondary:#f2b84b;
  --accent:#d96b5f;
  --light:#f7f5ef;
  --soft:#edf5f0;
  --dark:#26332d;
  --white:#fff;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:Arial,Helvetica,sans-serif;
  color:var(--dark);
  line-height:1.6;
  background:#fff;
}

a{
  text-decoration:none;
  color:inherit;
}

.container{
  width:90%;
  max-width:1200px;
  margin:auto;
}


/* =========================================================
   HEADER
   ========================================================= */

.site-header{
  background:#fff;
  padding:16px 0;
  border-bottom:1px solid #eee;
  position:sticky;
  top:0;
  z-index:1000;
}

.navbar{
  display:flex;
  align-items:center;
  gap:24px;
}

.logo{
  font-size:27px;
  font-weight:bold;
  color:var(--primary);
  white-space:nowrap;
  flex-shrink:0;
}

.logo span{
  color:var(--secondary);
}


/* =========================================================
   BOTÓN MENÚ RESPONSIVE
   Oculto por defecto en escritorio
   ========================================================= */

.mobile-menu-toggle{
  display:none;
}


/* =========================================================
   CONTENEDOR DEL MENÚ
   ========================================================= */

.mobile-menu-content{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:20px;
  flex:1;
  min-width:0;
}


/* =========================================================
   NAVEGACIÓN PRINCIPAL
   ========================================================= */

.main-nav{
  display:flex;
  align-items:center;
}

.main-nav ul{
  display:flex;
  align-items:center;
  list-style:none;
  gap:18px;
}

.main-nav li{
  white-space:nowrap;
}

.main-nav a{
  font-weight:bold;
  color:var(--primary);
  transition:.3s;
  font-size:13px;
}

.main-nav a:hover,
.main-nav a.active{
  color:var(--accent);
}


/* =========================================================
   BOTONES
   ========================================================= */

.header-buttons{
  display:flex;
  gap:10px;
}

.btn{
  display:inline-block;
  padding:13px 22px;
  border-radius:6px;
  font-weight:bold;
  text-transform:uppercase;
  transition:.3s;
  border:none;
}

.btn-primary{
  background:var(--secondary);
  color:#172019;
}

.btn-primary:hover{
  background:#dca23b;
}

.btn-dark{
  background:var(--primary);
  color:#fff;
}

.btn-dark:hover{
  background:#173d2c;
}

.btn-outline{
  border:2px solid #fff;
  color:#fff;
}

.btn-outline:hover{
  background:#fff;
  color:var(--primary);
}


/* =========================================================
   SELECTOR DE IDIOMA
   ========================================================= */

.language-selector{
  display:flex;
  align-items:center;
  gap:5px;
  flex-shrink:0;
}

.language-selector button{
  border:1px solid var(--primary);
  background:#fff;
  color:var(--primary);
  padding:8px 10px;
  border-radius:4px;
  font-weight:bold;
  cursor:pointer;
}

.language-selector button.active,
.language-selector button:hover{
  background:var(--primary);
  color:#fff;
}

.lang-en{
  display:none;
}


/* =========================================================
   FOOTER
   ========================================================= */

.site-footer{
  background:#18392a;
  color:#fff;
  padding:60px 20px 25px;
}

.footer-content{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:38px;
  margin-bottom:40px;
}

.site-footer h3{
  color:#ffd77e;
  margin-bottom:18px;
}

.site-footer ul{
  list-style:none;
}

.site-footer li{
  margin-bottom:9px;
  color:#e0e7e3;
}

.site-footer p{
  color:#e0e7e3;
}

.site-footer a:hover{
  color:#ffd77e;
}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.2);
  padding-top:20px;
  text-align:center;
  color:#cbd5d0;
}


/* =========================================================
   TABLET / LAPTOP PEQUEÑA
   ========================================================= */

@media(max-width:1100px){

  .navbar{
    gap:16px;
  }

  .logo{
    font-size:24px;
  }

  .mobile-menu-content{
    gap:13px;
  }

  .main-nav ul{
    gap:11px;
  }

  .main-nav a{
    font-size:12px;
  }

  .btn{
    padding:11px 14px;
    font-size:12px;
  }

  .language-selector button{
    padding:7px 8px;
    font-size:12px;
  }
}


/* =========================================================
   TABLET / MÓVIL
   ========================================================= */

@media(max-width:900px){

  .site-header{
    padding:12px 0;
  }

  .navbar{
    width:92%;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    gap:0;
  }

  .logo{
    font-size:25px;
  }

  /*
   * Mostrar botón hamburguesa
   */

  .mobile-menu-toggle{
    display:inline-flex;
    flex-shrink:0;
  }

  /*
   * El contenido completo del menú queda
   * oculto hasta pulsar el botón.
   */

  .mobile-menu-content{
    display:none;
    width:100%;
    flex:0 0 100%;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    margin-top:12px;
    background:#fff;
    border-top:1px solid #e6ebe8;
  }

  /*
   * Menú abierto
   */

  .mobile-menu-content.is-open{
    display:flex;
  }


  /* Navegación */

  .main-nav{
    display:block;
    width:100%;
  }

  .main-nav ul{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    width:100%;
    gap:0;
  }

  .main-nav li{
    display:block;
    width:100%;
    white-space:normal;
  }

  .main-nav a{
    display:block;
    width:100%;
    padding:13px 10px;
    text-align:center;
    font-size:14px;
    border-bottom:1px solid #edf0ee;
  }

  .main-nav a:hover,
  .main-nav a.active{
    background:var(--soft);
    color:var(--accent);
  }


  /* Área de cuenta */

  .header-account-area{
    display:flex;
    width:100%;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    padding:16px 10px 12px;
  }

  .header-account-area .btn{
    padding:11px 17px;
    font-size:13px;
  }


  /* Selector de idioma */

  .language-selector{
    display:flex;
    width:100%;
    justify-content:center;
    padding:4px 10px 16px;
  }


  /* Footer */

  .footer-content{
    grid-template-columns:repeat(2,1fr);
  }
}


/* =========================================================
   TELÉFONOS
   ========================================================= */

@media(max-width:650px){

  .navbar{
    width:92%;
  }

  .logo{
    font-size:24px;
  }

  .mobile-menu-toggle{
    width:42px;
    height:42px;
    font-size:23px;
  }

  .main-nav a{
    padding:12px 8px;
    font-size:13px;
  }

  .footer-content{
    grid-template-columns:1fr;
    gap:28px;
  }

  .site-footer{
    padding:45px 20px 22px;
  }
}


/* =========================================================
   TELÉFONOS MUY PEQUEÑOS
   ========================================================= */

@media(max-width:380px){

  .logo{
    font-size:22px;
  }

  .mobile-menu-toggle{
    width:40px;
    height:40px;
  }

  .header-account-area{
    flex-direction:column;
  }
}



