/* css/header.css — App header + navegación (desktop-first + mobile wrap) */

.header{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50;

  display: flex;
  flex-wrap: nowrap;                 /* Desktop-first: una sola línea */
  align-items: center;
  justify-content: space-between;
  gap: .75rem;

  padding: .75rem 1rem;

  background: rgba(255,255,255,.82);
  border-bottom: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 10px 34px rgba(2, 8, 23, .10);
  backdrop-filter: blur(10px);
}

.header .logo{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .55rem .75rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #0b1220, #0f172a);
  box-shadow: 0 10px 26px rgba(2, 8, 23, .18);
}

.header .logo i{ color: #fff; opacity: .95; }

.header .logo span{
  font-weight: 1000;
  letter-spacing: .02em;
  color: rgba(255,255,255,.92);
}

.header .logo span strong{
  color: var(--accent);
  font-weight: 1000;
}

.header .weekMenu{
  border-radius: 15px;
  border: 1px solid #ebebeb;
  padding: .5rem 1rem;
  box-shadow: 0 5px 8px rgba(0,0,0,.1);
  font-size: clamp(1rem, 2vw, 1.2rem);
}
.header .weekMenu:hover{
  background: #444;
  color: #ffff;
}

.header .navbar{                   /* Nav a la derecha */
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .6rem;
  min-width: 0;
}

/* Botón Inicio (si lo reactivas) */
.header .navbar .inicio{
  display: none;
}

/* ===== Barra de secciones ===== */
.header .navbar .daInputs{
  flex: 0 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  overflow: hidden;
  padding:.2rem .5rem;
  border-radius: 25px;
  border: 1px solid #eee;
}

/* Botones */
.header .navbar .daInputs button{
  flex: 0 0 auto;
  
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .55rem .8rem;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15, 23, 42, .10);
  box-shadow: 0 10px 15px rgba(2, 8, 23, .07);
  
  cursor: pointer;
  user-select: none;
  
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.header .navbar .daInputs a{
  background: #fff;
  height: 2.5rem;
  width: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #ebebeb;
  border-radius: 50%;
  flex: 0 0 auto;
  font-size: 1.3rem;
  box-shadow: 0 10px 15px rgba(2, 8, 23, .07);
}

.header .navbar .daInputs button:active{ transform: scale(.98); }

.header .navbar .daInputs button i{
  color: var(--danger);
  font-size: .95rem;
}

/* CLAMP anti-desborde (importante) */
.header .navbar .daInputs button span{
  display: inline-block;
  max-width: 10.5rem;                /* ajusta si quieres más/menos */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  font-size: .95rem;
  font-weight: 900;
  color: rgba(15, 23, 42, .90);
}

@media (hover:hover){
  .header .navbar .daInputs button:hover{
    border-color: rgba(18, 212, 214, .25);
    box-shadow: 0 16px 38px rgba(2, 8, 23, .10);
  }
}

/* ===== Filtro ===== */
.header .navbar .daInputs .filterCont{
  width: 100%;
}

.header .navbar .daInputs .filterCont .btnFilter{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15, 23, 42, .10);
  box-shadow: 0 10px 24px rgba(2, 8, 23, .07);
  cursor: pointer;
  color: rgba(15, 23, 42, .70);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.header .navbar .daInputs .filterCont .btnFilter:active{ transform: scale(.98); }

@media (hover:hover){
  .header .navbar .daInputs .filterCont .btnFilter:hover{
    border-color: rgba(18, 212, 214, .25);
    box-shadow: 0 16px 38px rgba(2, 8, 23, .10);
  }
}

/* ===== Overlay filtros (controlado por .checksCont.active) ===== */
.header .navbar .daInputs .filterCont .checksCont{
  position: fixed;
  display: flex;
  flex-direction: column;
  gap: .8rem;
  padding: 1rem;
  background: rgba(2, 8, 23, .45);
  backdrop-filter: blur(6px);
  pointer-events: none;
  visibility: hidden;
  top: 100%;
  left: -100%;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  z-index: 200;
}

.header .navbar .daInputs .filterCont .checksCont.active{
  pointer-events: auto;
  visibility: visible;
  left: 0;
}

.header .navbar .daInputs .filterCont .checksCont .container{
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr));
  gap: .35rem;
  padding: 1rem;
  border-radius: 1.4rem;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(15, 23, 42, .10);
  box-shadow: 0 18px 54px rgba(2, 8, 23, .18);
  max-height: 68vh;
  overflow: auto;
}



.header .navbar .daInputs .filterCont .checksCont .container .checkBox{
  display: flex;
  align-items: center;
  gap: .3rem;
  padding:.5rem 1rem;
  border-radius: 999px;
  background: rgba(241,245,249,.9);
  border: 1px solid rgba(15, 23, 42, .10);
}

.header .navbar .daInputs .filterCont .checksCont .container .checkBox input{
  accent-color: var(--accent);
  width: .8rem;
  height: .8rem;
}

.header .navbar .daInputs .filterCont .checksCont .container .checkBox label{
  cursor: pointer;
  font-size: .95rem;
  font-weight: 900;
  color: rgba(15, 23, 42, .85);
  letter-spacing: .01em;
  font-size: clamp(.7rem, 2vw, 1rem);
}

.header .navbar .daInputs .filterCont .checksCont .goFilterBtn{
  width: max-content;
  margin-top: 2rem;
  padding: .5rem 3rem;
  border-radius: 1.1rem;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 18px 48px rgba(18, 212, 214, .25);
  color: #fff;
  font-weight: 1000;
  font-size: 1.05rem;
  cursor: pointer;
  margin-left: 50%;
  transform: translateX(-50%);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}


.header .navbar .daInputs .filterCont .checksCont .goFilterBtn:active{
  transform: scale(.99); }
  
  /* ===== Mobile/app layout ===== */
  @media (max-width: 990px){
    .header{
      flex-wrap: wrap;
      gap: .6rem;
      padding: .75rem .85rem .65rem;
    }
    .header .navbar .daInputs .filterCont .checksCont .goFilterBtn{
      width: 100%;
    }

  .header .navbar{
    width: 100%;
    justify-content: space-between;
  }

  .header .navbar .daInputs{
    width: 100%;
    justify-content: flex-start;

    overflow-x: auto;                /* aquí sí scroll horizontal */
    padding: .25rem .15rem;

    scroll-snap-type: x mandatory;
    /* -webkit-overflow-scrolling: touch; */
  }

  .header .navbar .daInputs::-webkit-scrollbar{ height: 0; }

  .header .navbar .daInputs button{
    scroll-snap-align: start;
  }
}
