/* =========================================================
   TEJIENDO SUEÑOS CLAU - header.css
   Banner, navegación, menú hamburguesa y logo (responsive)
   ========================================================= */

.header-banner{
  width:100%;
  height:850px;
  max-height:45vw;
  background-image:url("../img/fondo.webp");
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
  display:flex;
  justify-content:flex-end;
  align-items:flex-start;
  padding:20px clamp(16px, 4vw, 40px);
  position:relative;
}

/* Capa para mejorar la lectura */
.header-banner::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.20);
}

/* ===== Navegación (escritorio) ===== */
nav{
  width:100%;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:clamp(10px, 1.5vw, 20px);
  flex-wrap:wrap;
  padding:15px clamp(16px, 4vw, 40px);
}
nav a{
  text-decoration:none;
  color:var(--text);
  font-weight:bold;
  font-size:clamp(15px, 2vw, 18px);
  background:rgba(255,255,255,.7);
  padding:10px 18px;
  border-radius:30px;
  transition:.3s;
  font-family:var(--font-family);
  margin-left:20px;   /* mismo espaciado entre enlaces que el original */
  box-shadow:0 2px 8px rgba(0,0,0,.05);
}
nav a:hover{
  background:#f8c8d8;
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 6px 14px rgba(181,107,69,.25);
}

/* ===== Logo del menú y botón ☰ (solo móvil) ===== */
.menu-logo{display:none}
.menu-toggle{display:none}

/* ===== Tablet ===== */
@media (max-width:1024px){
  .header-banner{
    background-image:url("../img/fondo-mobile.webp");
    height:500px;
  }
}
@media (max-width:992px){
  nav{gap:12px}
}

/* ===== Móvil ===== */
@media (max-width:768px){
  .header-banner{
    background-image:url("../img/fondo-mobile.webp");
    height:auto;
    min-height:220px;
    padding:15px;
    background-size:cover;
    background-position:center;
  }

  /* Botón hamburguesa */
  .menu-toggle{
    display:block;
    position:fixed;
    top:12px;
    right:12px;
    width:46px;
    height:46px;
    border:none;
    border-radius:10px;
    background:rgba(255,255,255,.9);
    color:var(--verde);
    font-size:26px;
    line-height:1;
    cursor:pointer;
    z-index:9999;
    box-shadow:0 6px 18px rgba(0,0,0,.25);
    transition:transform .3s ease;
  }
  .menu-toggle:hover{transform:scale(1.08)}
  .menu-toggle:active{transform:scale(.95)}
  .menu-toggle:focus-visible{outline:3px solid var(--verde);outline-offset:2px}

  /* Menú lateral (drawer) */
  nav{
    position:fixed;
    top:0;
    right:-280px;
    width:min(80vw, 280px);
    height:100vh;
    height:100dvh;              /* se adapta a la barra del navegador móvil */
    background:var(--card);
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    align-items:stretch;
    padding:0 0 40px;
    gap:0;
    overflow-y:auto;            /* si el menú es más alto que la pantalla */
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:contain;
    transition:right .35s ease;
    box-shadow:-5px 0 20px rgba(0,0,0,.25);
    z-index:1000;
  }
  nav.activo{right:0}

  nav a{
    width:100%;
    padding:18px 20px;
    text-align:left;
    font-size:clamp(16px, 4.5vw, 18px);
    border-bottom:1px solid var(--borde);
    border-radius:0;
    background:none;
    color:var(--text);
    margin:0;
  }
  nav a:hover{background:#f8c8d8;color:#fff}

  /* Logo dentro del drawer */
  .menu-logo{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:30px 20px;
  }
  .menu-logo img{
    width:clamp(140px, 40vw, 200px);
    height:clamp(140px, 40vw, 200px);
    object-fit:contain;
    background:var(--card);
    border-radius:50%;
    box-shadow:0 20px 20px rgba(0,0,0,.20);
    margin-bottom:5px;
  }
}

/* Móviles muy pequeños */
@media (max-width:480px){
  .menu-toggle{
    top:10px;
    right:10px;
    width:42px;
    height:42px;
    font-size:24px;
  }
}

/* Móvil en horizontal (pantallas bajas) */
@media (max-height:500px) and (orientation:landscape){
  nav{padding-top:56px}   /* deja espacio para el botón ☰ fijo */
}
