
.dashboard-layout {
  display: flex;
  gap: 1rem;
  /* height: calc(100lvh - 250px); */
  /* height: calc(100lvh - 330px); */
  height: calc(100lvh - 140px);
 


    @media (min-width: 3150px) {
     margin-top: 2.5rem;
    }

    @media (max-width: 1600px) {
    gap: 0.5rem;
        /* height: calc(100lvh - 300px); */
    }
    @media (max-width: 1440px) {
    gap: 0.5rem;
    }
  @media (max-width:900px) {
    flex-direction: column;
    height: auto;
    gap: 1rem;

     margin-top: 5rem;
  }

  .jobs-list-title {
    color: rgba(0, 102, 146, 1);
    font-size: 1.9rem;
    margin-top: 1rem;
            flex-shrink: 0;
    @media (max-width: 1600px) {
      font-size: 1.4rem;
    }
    @media (max-width: 1440px) {
      font-size: 1.2rem;
    }
  }

  .jobs-list-description {
    color: var(--opaque-text);
    font-size: 0.9rem;
    margin-top: 0.5rem;
            flex-shrink: 0;
    @media (max-width: 1600px) {
      font-size: 0.8rem;
      margin-top: 0.25rem;
    }
    @media (max-width: 1440px) {
      font-size: 0.7rem;
      margin-top: 0.25rem;
    }
  }

.jobs-list-container {
  flex: 1;
  max-width: 500px;
  padding-bottom: 1rem;
  padding-right: 1rem;
  background-color: rgba(249, 249, 249, 0.04);
  padding-inline: 1rem;
  border-radius: 2rem;
  backdrop-filter: blur(20px);
  display: flex;
        flex-direction: column;
  @media (max-width: 1600px) {
    padding-bottom: 0.5rem;  /* ← AGREGAR ESTA LÍNEA */
     padding-inline: 0.5rem;
  }
  /*Transparent scrollbar*/
  &::-webkit-scrollbar {
    width: 10px;
    height: 10px;
  }

  &::-webkit-scrollbar-track {
    background: transparent;
  }

  &::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 5px;
  }

  @media (min-width: 2250px) {
    max-width: 700px;
  }
  @media (min-width: 3150px) {
    max-width: 900px;
    
  }
  @media (max-width: 900px) {
    max-width: 100%;
    padding-right: 0;
  }
}

.jobs-grid {
    margin-top: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    overflow: auto;
    padding: 0.5rem;
    /* height: calc(100lvh - 246px); */
    /* max-height:0; */
            flex: 1;
    @media (max-width: 1600px) {
      gap: 0.5rem;  /* ← AGREGAR ESTA LÍNEA */
      margin-top: 0.5rem;
    }
    @media (max-width: 980px) and (min-width: 768px){
      flex-direction: row;
      flex-wrap: wrap;
    }
@media (max-width:900px) {
    max-height: 30rem;
}

  /* Keep original grid layout as fallback for non-two-column view */
  .jobs-list-section:not(.two-column-view) & {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(440px, 1fr));
    @media (max-width: 1600px) {
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    }
     @media (max-width: 1440px) {
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
       gap: 0.5rem;
       margin-top: 1rem;
    }   

    @media (max-width: 980px) and (min-width: 768px){
     flex-direction: row;
     flex-wrap: wrap;
    }
    @media (min-width: 3150px) {
      grid-template-columns: repeat(auto-fit, minmax(700px, 1fr));
    }
  }
}


    .blue-light-1 {
        position: absolute;
        z-index: -1;
        top: 10%;
        left: 4%;
        width: 98%;
        height: 91%;
        aspect-ratio: 1;
        background: rgba(20, 151, 223, 0.9);
        filter: blur(2.1rem);
        border-radius: 50%;
    }


.job-card {
  border-radius: 20px;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-height: 160px;
  box-shadow:var(--box-shadow-jobcard);
  overflow: hidden;
  
  span.job-card__meta-item svg path {
      fill: none;
  }
  
  .job-card__link{
    transition: all 0.2s ease-in;
  }

  border: 0.07rem solid transparent;
  transition: all 0.2s ease-in;
  cursor: pointer;
  background: linear-gradient(109.17deg, rgba(249, 249, 249, 0.06) 37.1%, rgba(20, 151, 223, 0.06) 90.91%);
    &:hover{
      border-color: rgba(20, 151, 223, 0.18);
      box-shadow: 0px 0px 10.6px 2px rgba(20, 151, 223, 0.2);
      .job-card__link{
        text-shadow: 0px 0px 5px rgba(20, 151, 223, 0.5);;
      }
  }


    @media (min-width: 2250px) {
        min-height:9rem;

    }
  @media (max-width: 1600px) {
    padding: 0.75rem;
    gap: 0.5rem;
    min-height: 110px;
  }

  @media (max-width: 1440px) {

    min-height: 90px;
  }


  @media (max-width: 900px) {
   padding: 0.95rem;
   backdrop-filter: blur(20px);
   min-height: 200px;
  }

    @media (max-width: 980px) and (min-width: 768px){
    min-height: 110px;
    width: 48%;
  }

  @media (max-width: 480px) {
   padding: 0.95rem;
   backdrop-filter: blur(20px);
   min-height: 140px;
  }
    @media (max-width: 390px) {
   padding: 0.95rem;
   backdrop-filter: blur(20px);
   min-height: 113px;
  }
}

.job-card__header {
  display: flex;
  gap: 1rem;
  align-items: center;
  @media (max-width: 1600px) {
    gap: 0.5rem;
  }
}

.job-card__logo {
    width: 4rem;
    aspect-ratio: 1;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  @media (max-width: 1600px) {
    width: 3.5rem;
  }
  @media (max-width: 1440px) {
    width: 2.75rem;
  }
}

.job-card__logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.job-card__heading {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  text-align: left;
  min-width: 0; /* ← IMPORTANTE: Permite que el contenido se encoja */
  flex: 1; /* ← IMPORTANTE: Toma el espacio disponible */
  @media (max-width: 1600px) {
    gap: 0.1rem;
  }
}

.job-card__title {
  font-size: 1.05rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 85%;
  min-width: 0;
  
  @media (min-width: 2150px) {
    font-size: 0.85rem;
  }
  @media (max-width: 1600px) {
    font-size: 0.75rem;
  }
  @media (max-width: 1440px) {
    font-size: 0.65rem;
  }
  @media (max-width: 900px) {
    font-size: 0.835rem;
    margin-bottom: 0.25rem;
  }
}

.job-card__company {
  color: var(--opaque-text);
  font-size: 0.95rem;
  font-size: 0.8rem;
    @media (min-width: 2150px) {
      font-size: 0.7rem;
    }

  @media (max-width: 1600px) {
    font-size: 0.625rem;
  }
  @media (max-width: 1440px) {
    font-size: 0.5rem;
  }
  @media (max-width: 900px) {
    font-size: 0.6rem;
     margin-bottom: 0.125rem;
  }
}

.job-card__description {
  color: var(--opaque-text);
  font-size: 0.95rem;
  font-size: 0.8rem;
    @media (min-width: 2150px) {
      font-size: 0.7rem;
    }

  @media (max-width: 1600px) {
    font-size: 0.625rem;
  }
  @media (max-width: 1440px) {
    font-size: 0.5rem;
  }
    @media (max-width: 900px) {
    font-size: 0.6rem;
  }
}

.job-card__meta {
  display: flex;
  gap: 0.85rem;
  font-size: 0.9rem;
  color: var(--text);
  background-color: rgba(249, 249, 249, 0.06);
  padding: 0.5rem 1rem;
  border-radius: 1.5rem;

  @media (min-width: 2150px) {
    font-size: 0.75rem;
  }

  @media (max-width: 1600px) {
    font-size: 0.65rem;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
  }
  @media (max-width: 1440px) {
    font-size: 0.45rem;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
  }
  @media (max-width: 900px) {
    font-size: 0.6rem;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
        flex-wrap: nowrap;
}
  @media (max-width: 480px) {
    font-size: 0.6rem;
    gap: 0.25rem;
    padding: 0;
    background-color: transparent;
        flex-wrap: nowrap;
}
}

.job-card__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--opaque-text);
  font-weight: 500;

  span{
    font-weight: 600;
    color: var(--text);
  }

     
  @media (min-width: 2250px) {
       white-space: nowrap;
       span{
        font-size: 0.75rem;
       }
  }
  @media (max-width: 1600px) {
    gap: 0.2rem;
  }

  @media (max-width: 900px) {
    gap: 0.175rem;
  }
}



.job-card__meta-divider {
  color: var(--muted);
  opacity: 0.6;
}

.job-card__meta-item svg {
  color: var(--text);
  @media (min-width: 2150px) {
    width: 0.7rem;
    height: 0.7rem;
  }

  @media (max-width: 1600px) {
    width: 0.7rem;
    height: 0.7rem;
  }
  @media (max-width: 1440px) {
    width: 0.5rem;
    height: 0.5rem;
  }
    @media (max-width: 900px) {
    width: 0.7rem;
    height: 0.7rem;
  }
}

.job-card__footer {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.9rem;
  gap: 0.5rem;

  @media (max-width: 1600px) {
    font-size: 0.65rem;
    gap: 0.25rem;
  }
  @media (max-width: 1440px) {
    font-size: 0.5rem;
    gap: 0.25rem;
  }
    @media (max-width: 900px) {
    font-size: 0.6rem;
    gap: 0.25rem;
}
}

.job-card__link {
  color: var(--primary);
  font-weight: 600;
  text-decoration: none;
    white-space: nowrap;
    @media (min-width: 2250px) {
      font-size: 0.625rem;
    }

    @media (max-width: 1600px) {
    font-size: 0.65rem;
  }
  @media (max-width: 1440px) {
    font-size: 0.5rem;
  }
    @media (max-width: 900px) {
    font-size: 0.6rem;
  }
}

.jobs-empty {
  text-align: center;
  margin-top: 1.5rem;

  @media (max-width: 1600px) {
    margin-top: 1rem;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
  

/* Contenedor exterior para permitir scroll horizontal en móvil si es necesario */
.schedule-grid-container {
    width: 100%;
    overflow-x: auto; /* Clave para responsiveness en grids complejos */
     max-height: calc(100lvh - 25rem);
    
     @media (min-width: 3150px) {
        max-height: calc(100lvh - 20rem);
    }
    @media (max-width: 1600px) {
        max-height: calc(100lvh - 20rem);
    }

    @media (max-width: 1440px) {
      max-height: calc(100lvh - 19rem);
      h2{
        font-size:1rem;
      }
    }

    @media (max-width: 1280px) {
      max-height: calc(100lvh - 18rem);
      h2{
        font-size: 0.9rem;
      }
    }
}

.schedule-grid {
    display: grid;
    /* Definición de columnas:
       - 1ª columna: 80px fijos para las horas.
       - Siguientes 7 columnas: 1 fracción (1fr) cada una para los días de la semana.
    */
    grid-template-columns: 0px repeat(7, minmax(35px, 1fr));
    /* Definición de filas:
       - Altura automática de 70px por cada bloque de hora.
    */
    grid-auto-rows: 70px;
    gap: 0px; /* Espacio entre celdas */
    /* min-width: 600px; */
     /* Ancho mínimo para asegurar que el grid no se rompa en pantallas pequeñas */
    @media (min-width: 2250px) {
          grid-auto-rows: 110px;
    }
    @media (min-width: 3150px) {
          grid-auto-rows: 140px;
    }
     @media (max-width: 1440px) {
         grid-auto-rows: 60px;
    }
    @media (max-width: 1280px) {
           grid-auto-rows: 50px;

    }
}

/* Etiquetas de hora (siempre en columna 1) */

.time-slot {
    grid-column: 1 / -1; /* Expande a través de todas las columnas */
    text-align: left;
    padding-right: 0;
    color: var(--opaque-text);
    font-size: 0.9rem;
    position: relative;
    white-space: pre;
    place-content: center;
    font-weight: 600;
    font-size: 0.85rem;
    border-bottom: 1px solid var(--more-opaque-text); /* Línea horizontal */
    @media (max-width: 1280px) {
      font-size: 0.7rem;
    }
}

.ri-time-line path {
    fill: transparent;
}
/* Asignamos las filas manualmente a las etiquetas de hora */
.t-06 { grid-row: 1; }
.t-07 { grid-row: 2; }
.t-08 { grid-row: 3; }
.t-09 { grid-row: 4; }
.t-10 { grid-row: 5; }
.t-11 { grid-row: 6; }
.t-12 { grid-row: 7; }
.t-13 { grid-row: 8; }
.t-14 { grid-row: 9; }
.t-15 { grid-row: 10; }
.t-16 { grid-row: 11; }
.t-17 { grid-row: 12; }
.t-18 { grid-row: 13; }
.t-19 { grid-row: 14; }
.t-20 { grid-row: 15; }
.t-21 { grid-row: 16; }
.t-22 { grid-row: 17; }
.t-23 { grid-row: 18; }

/* Estilos base para los eventos */
.event {
    cursor: pointer;
    border-radius: 0.5rem;
    padding: 0.5rem;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 0.9rem;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    overflow: hidden; /* Por si el texto es muy largo */
    padding-left: 1.5rem;
    position: relative;
    width: fit-content;
    height: fit-content;
    transition: all 0.2s ease-in;
    @media (max-width: 1440px) {
        padding-left: 1rem;
        font-size: 0.8rem;  
    }
    @media (max-width: 1280px) {
     
        font-size: 0.5rem;
    }
    &::before {
        content: "";
        position: absolute;
        top: 0.25rem;
        bottom: 0.25rem;
        left: 0.25rem;
        width: 4px;
        height: auto;
        background: rgba(211, 227, 234, 1);
        border-radius: 0.5rem;

    }

    &:hover{
      filter: brightness(1.1);
      transform: translateY(-0.25rem);
      box-shadow: 0 10px 10px rgba(0,0,0,0.1);
    }

}
.event strong { 
  display: block; 
  margin-bottom: 5px; 
  color: rgba(211, 227, 234, 1);  
  white-space: nowrap;   
  font-size: 1.05rem;
  @media (max-width: 1440px) {
    font-size: 0.8rem;  
  }
  @media (max-width: 1280px) {
    font-size: 0.55rem;
  }
}
.event span { 
  font-size: 0.8rem; 
  opacity: 0.9; 
  display: flex; 
  align-items: center; 
  gap: 5px; 
  white-space: nowrap;
  @media (max-width: 1440px) {
    font-size: 0.6rem;  
  }
  @media (max-width: 1280px) {
    font-size: 0.5rem;
  }
}

/* Avatares placeholder */
.avatars { display: flex; margin-top: 5px; }
.avatar { 
  width: 25px; height: 25px; background: #ddd; border-radius: 50%;  margin-right: -10px;
    & img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
    @media (max-width: 1440px) {
      width: 20px; height: 20px;
    }
    @media (max-width: 1280px) {
      width: 15px; height: 15px;
    }
   }

/* Colores placeholder para eventos */
.event-pink { background:rgba(219, 90, 238, 1) ; display: flex; align-items: center; gap: 5px; flex-direction: row; }
.event-green { background: rgba(113, 194, 59, 1); }
.event-blue { background: rgba(20, 151, 223, 1); }

/* Posiciones de eventos en el grid */
.event-pos-1 {
    grid-column: 4;
    grid-row: 2;
    @media (max-width: 900px) and (min-width: 768px) {
      grid-column: 5;
      grid-row: 2;
    }
     @media (max-width: 767px) {
      grid-column: 1;
      grid-row: 2;
    }
}

.event-pos-2 {
    grid-column: 3;
    grid-row: 3;
    @media (max-width: 900px) and (min-width: 768px) {
      grid-column: 5;
      grid-row: 3;
    }
    @media (max-width: 767px) {
      grid-column: 3;
      grid-row: 3;
    }
}

.event-pos-3 {
    grid-column:4;
    grid-row: 4;
    @media (max-width: 900px) and (min-width: 768px) {
      grid-column: 5;
      grid-row: 4;
    }
    @media (max-width: 767px) {
      grid-column:6;
      grid-row: 4;
    }
}

.event-pos-4 {
    grid-column: 4;
    grid-row: 6;
    @media (max-width: 900px) and (min-width: 768px) {
      grid-column: 4;
      grid-row: 6;
    }
    @media (max-width: 767px) {
      grid-column: 2;
      grid-row: 6;
    }
}

/* ================= RESPONSIVE (MOBILE VIEW) ================= */

/* Punto de quiebre (Breakpoint): 900px.
   Cuando la pantalla sea menor a 900px, cambiamos el layout.
*/
@media (max-width: 900px) {
    
    /* 1. Cambiar la dirección del contenedor principal a columna */
    .dashboard-container {
        flex-direction: column;
        gap: 15px;
        padding: 10px;
    
    }

    /* 2. Hacer que sidebar y main ocupen el 100% del ancho */
    .sidebar, .main-schedule {
        width: 100%;
        max-width: none; /* Quitar el límite de ancho del sidebar */
        min-width: 0; /* Resetear min-width */
    }

    /* 3. Ajustes para la cabecera en móvil */
    .schedule-header {
        flex-direction: column;
        gap: 15px;
        align-items: flex-start;
    }
    .view-switcher { width: 100%; display: flex; }
    .view-switcher button { flex: 1; /* Botones ocupan todo el ancho */ }

    /* 4. Hacer la fila de días scrolleable horizontalmente */
    .week-days-row {
        padding-left: 0; /* Quitar el padding izquierdo */
        overflow-x: auto; /* Permitir scroll horizontal */
        gap: 10px;
        padding-bottom: 10px; /* Espacio para la barra de scroll */
        margin-bottom: 0;
    }
    .day-item {
        flex-shrink: 0; /* Evitar que los días se encojan */
    }

    /* NOTA SOBRE EL GRID EN MÓVIL:
       El grid del horario se mantendrá intacto gracias a `schedule-grid-container { overflow-x: auto; }`
       y `schedule-grid { min-width: 800px; }`. 
       El usuario podrá hacer scroll horizontal para ver la semana completa. 
    */
}
.calendar-wrapper {
    position: relative; /* Clave para posicionar el título encima */
    width: 100%;
    box-shadow: var(--box-shadow-jobcard);
    background: #DCEBF5; /* Color de fondo */
    border-radius: 1.5rem;
    padding: 1rem;
    margin-bottom:1rem;
    min-height: 250px;
    
    svg path{
      fill: transparent;
    }
    @media (max-width: 1600px) {
      min-height: 210px;
      padding: 0.5rem;
       margin-bottom:0.5rem;
    }

    @media (max-width: 1440px) {
      min-height: 200px;
      padding-bottom: 0;
    }

    @media (max-width: 1280px) {
      min-height: 150px;
      padding-bottom: 0;
    }

    @media (max-width: 900px) {
      min-height: 240px;
      padding: 0.75rem;
    }

    @media (max-width: 900px) and (min-width: 768px) {
        max-width: 48%;
         width: 100%;
         
    }
    svg.left-arrow {
    /* margin-left: 3.5rem;
    margin-right: 0; */
     transform: translate(3.5rem,-0.2rem);
     @media (max-width: 1600px) {
       transform: translate(1.5rem,0.3rem) scale(0.8);
     }
     @media (max-width: 1440px) {
       transform: translate(1.5rem, 0.125rem) scale(0.8);
     }
     @media (max-width: 1280px) {
       transform: translate(0.5rem,0.15rem) scale(0.8);
     }
}

  svg.right-arrow {
      transform: translate(-3.5rem,-0.2rem);
      @media (max-width: 1600px) {
        transform: translate(-1.5rem,0.3rem) scale(0.8);
      }
      @media (max-width: 1440px) {
        transform: translate(-1.5rem, 0.125rem) scale(0.8);
      }
      @media (max-width: 1280px) {
        transform: translate(-0.5rem,0.15rem) scale(0.8);
      }
  }


}

/* 1. Nuestro Título Personalizado */
.custom-title {
    position: absolute;
    top: 25px; /* Ajusta según tus iconos */
    left: 0;
    right: 0;
    text-align: center;
    font-size: 1.1rem;
    font-weight: 700;
    color: #000;
    pointer-events: none; /* Deja que los clicks pasen al calendario si hace falta */
    z-index: 1;
    @media (min-width: 1280px) and (max-width: 1440px) {
      font-size: 0.85rem;
      top: 11%;
    }
    @media (max-width: 1280px) {
      font-size: 0.75rem;
    }

}

.dashboard-container .job-card__meta {
  display: flex;

  gap: 0.85rem;
  padding: 0;


  @media (min-width: 2150px) {
    font-size: 0.75rem;
  }

  @media (max-width: 1600px) {
    font-size: 0.6rem;
    gap: 0.25rem;
   
  }
  @media (max-width: 1440px) {
    font-size: 0.45rem;
    gap: 0.25rem;
  
  }
  @media (max-width: 900px) {
    font-size: 0.7rem;
    gap: 0.25rem;
 
        flex-wrap: nowrap;
}
  @media (max-width: 480px) {
    font-size: 0.725rem;
    gap: 0.25rem;
    padding: 0;
    background-color: transparent;
        flex-wrap: nowrap;
}
}

.dashboard-container.job-card__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--opaque-text);
  font-weight: 500;

  span{
    font-weight: 600;
    color: #fff;
    stroke: #fff;
  }

  svg path{
    fill: transparent;
    stroke: #fff;
  }



  @media (max-width: 1600px) {
    gap: 0.2rem;
  }

  @media (max-width: 900px) {
    gap: 0.175rem;
  }
}



.dashboard-container .job-card__meta-divider {
  color: var(--muted);
  opacity: 0.6;
}

.dashboard-container.job-card__meta-item svg {
  color: var(--text);
  @media (min-width: 2150px) {
    width: 0.7rem;
    height: 0.7rem;
  }

  @media (max-width: 1600px) {
    width: 0.7rem;
    height: 0.7rem;
  }
  @media (max-width: 1440px) {
    width: 0.5rem;
    height: 0.5rem;
  }
    @media (max-width: 900px) {
    width: 0.7rem;
    height: 0.7rem;
  }
}

.dashboard-container .job-card__footer {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.9rem;
  gap: 0.5rem;

  @media (max-width: 1600px) {
    font-size: 0.65rem;
    gap: 0.25rem;
  }
  @media (max-width: 1440px) {
    font-size: 0.5rem;
    gap: 0.25rem;
  }
    @media (max-width: 900px) {
    font-size: 0.6rem;
    gap: 0.25rem;
    align-items: baseline;
  }
}

.dashboard-container .job-card__link {
  color: var(--primary);
  font-weight: 600;
  text-decoration: none;
    white-space: nowrap;
    width: 2rem;
    height: 2rem;
  
    img{
      width: 100%;
      height: 100%;
    }
    @media (max-width: 1600px) {
      width: 1.25rem;
    height: 1.25rem;
  }
  @media (max-width: 1440px) {
      width: 1.2rem;
    height: 1.2rem;
  }
    @media (max-width: 900px) {
    width: 1.72rem;
    height: 1.72rem;
  }
}

.jobs-empty {
  text-align: center;
  margin-top: 1.5rem;

  @media (max-width: 1600px) {
    margin-top: 1rem;
  }
}


.dashboard-container {
    flex: 2;
    display: flex;
        flex-direction: column;
}

.dashboard-inner-container {
    display: flex;
    gap: 1rem;
    align-items: stretch; /* Permite que los hijos se estiren */
    background: rgba(249, 249, 249, 0.04);
    backdrop-filter: blur(10);
    box-shadow: var(--box-shadow-jobcard);
    border-radius: 1.5rem;
    padding:1rem;
     flex: 1; /* ← AGREGAR ESTA LÍNEA */
    min-height: 0;  
        @media (max-width: 1600px) {
      gap: 0.5rem;  /* ← AGREGAR ESTA LÍNEA */
      padding: 0.5rem;
    }

    @media (max-width: 900px) {
      flex-direction: column;
    }
}

.dashboard-header {
    flex-shrink: 0;
    padding: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba(249, 249, 249, 0.04);
    backdrop-filter: blur(10px);
    box-shadow: 0px 0px 49.9px -8px rgba(0, 102, 146, 0.15);
    border-radius: 1.5rem;
    margin-bottom: 1rem;
    position: relative;
    @media (max-width: 1600px) {
      margin-bottom: 0.5rem;  /* ← AGREGAR ESTA LÍNEA */
      padding: 0.5rem;
    }
}

.dashboard-header.hide-mobile {
    display:flex;
    @media (max-width: 900px) {
      display: none;
    }
}

.dashboard-header.show-mobile {
      display: none;
     @media (max-width: 900px) {
    display:flex;
                overflow: clip;
    }
}

.blue-light {
    position: absolute;
    z-index: -1;
    top: 17%;
    left: 4%;
    width: 12%;
    aspect-ratio: 1;
    background: rgba(20, 151, 223, 0.6);

    filter: blur(5rem);
    border-radius: 50%;
}

/* Estilos genéricos para widgets */
.widget {
    background: #fff;
    border-radius: 20px;
    padding: 1rem;
    margin-bottom: 25px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    background-image: url("/public/images/interview/blue-bg.webp");
    background-size: cover;
    background-position: center;
    @media (max-width: 1600px) {
      padding: 0.5rem;
    }
        span.job-card__meta-item span  {
       color: #fff;
    }
        span.job-card__meta-item svg path {
        fill: none;
        stroke:#fff;
    }
}

/* ================= ZONA IZQUIERDA (SIDEBAR) ================= */
.sidebar {
    display: flex;
    flex-direction: column;
    height: 100%; /* Limita la altura al contenedor padre */
    min-width: 200px; /* Ancho mínimo para que no se aplaste */

    width: 37%;

    @media (max-width: 1280px) {
        width: 30%;
    }

    @media (max-width: 900px) {
        width: 100%;
        gap: 1rem;
    }

    @media (max-width:900px) and (min-width: 768px) {
        flex-direction: row;
    }
}

/* Placeholder del Calendario */
.calendar-placeholder {
    background-color: #DCEBF5; /* Color azul claro placeholder */
    height: 320px; /* Altura fija para reservar el espacio como en el diseño */
    display: flex;
    justify-content: center;
    align-items: center;
    color: #7a9ab5;
    font-weight: bold;
}

/* Widget de Entrevistas */
.interviews-widget {
    display: flex;
    flex-direction: column;
    flex: 1; /* Expande para llenar el espacio disponible */
    min-height: 0; /* Permite que flexbox encoja el elemento */
    background-color: #0A2A5C; /* Azul oscuro de fondo */
    color: white;
    margin-bottom: 0; /* Removido para trabajar con flexbox */
}

.widget-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
    flex-shrink: 0; /* Mantiene altura fija */
          @media (max-width: 1440px) {

        margin-bottom: 0.1rem;
      }
    h3{
      font-size: 1.15rem;
      @media (max-width: 1600px) {
        font-size: 0.95rem;
      }
      @media (max-width: 1440px) {
        font-size: 0.8rem;
      
      }
      @media (max-width: 1280px) {
        font-size: 0.65rem;
      }

      @media (max-width: 900px) {
        font-size: 0.975rem;
      }
    }

    span{
      height: 1rem;
      font-size: 1.25rem;
      letter-spacing: 2px;
      font-weight: 700;
      display: flex;
      color: rgba(255, 255, 255, 0.49);
      align-items: center; 
      justify-content: center;
      padding-bottom: 0.5rem;
      visibility: hidden; /* Oculto por defecto */
      @media (max-width: 1600px) {
        font-size: 0.75rem;
      }
    }
}

.interviews-wrapper-scroll {
    flex: 1; /* Expande para llenar el espacio disponible */
    min-height: 0; /* Permite que flexbox encoja el elemento */
    overflow-y: auto; /* Permite scroll vertical */

   @media (max-width: 900px) {

    max-height: 14rem;
   }
}

.interview-card {
    border-radius: 0.9rem;
    padding: 1rem;
    margin-bottom:0.75rem;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    padding-bottom: 0.5rem;

    @media (max-width: 1600px) {
  
        padding: 0.5rem;
        margin-bottom: 0.35rem;
        padding-bottom: 0.25rem;
    }

    @media (max-width: 900px) {
        
        padding: 0.75rem;
        border-radius: 0.8rem;
    }
}

/* Variantes de color para las tarjetas de entrevista (Placeholders) */
.card-blue-light { background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); }
.card-blue-dark { background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%); }

.int-header {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;

    @media (max-width: 1600px) {
        gap: 0.30rem;
        margin-bottom: 0.30rem;
    }
    
    @media (max-width: 1440px) {
        gap: 0.25rem;
        margin-bottom: 0.2rem;
    }
    @media (max-width: 1280px) {
        gap: 0.2rem;
        margin-bottom: 0.1rem;
    }

    @media (max-width: 900px) {
    
        margin-bottom: 0.25rem;
    }
}

.badge {
    background: rgba(255,255,255,0.2);
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 0.8rem;

    @media (max-width: 1600px) {
        padding: 0.15rem 0.4rem;
        border-radius: 0.25rem;
        font-size: 0.625rem;
    }
    @media (max-width: 1440px) {
        font-size: 0.5rem;
    }
    @media (max-width: 1280px) {
        font-size: 0.45rem;
    }

    @media (max-width: 900px) {
        font-size: 0.7rem;
        margin-bottom: 0.25rem;
        padding: 0.275rem 0.5rem;
        border-radius: 0.3rem;
    }
}

.int-desc {
    font-size: 0.875rem;
    color: rgba(255,255,255,0.75);
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;

    @media (max-width: 1600px) {
        font-size: 0.55rem;
        line-height: 1.3;
        margin-bottom: 0.25rem;
    }
    @media (max-width: 1440px) {
        font-size: 0.5rem;
        line-height: 1.2;
        margin-bottom: 0.2rem;
    }
    @media (max-width: 1280px) {
        font-size: 0.45rem;
        line-height: 1.1;
        margin-bottom: 0.1rem;
    }
 @media (max-width: 900px) {
    font-size: 0.7rem;
    margin-bottom: 0rem;
 }
}

.int-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.85rem;
    opacity: 0.8;

    @media (max-width: 1600px) {
        gap: 0.35rem;
        font-size: 0.65rem;
    }
}

.arrow-btn {
    margin-left: auto; /* Empuja la flecha a la derecha */
    background: rgba(255,255,255,0.2);
    width: 30px; height: 30px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
    color: white; text-decoration: none;
}


/* ================= ZONA DERECHA (AGENDA PRINCIPAL) ================= */
.main-schedule {
    flex: 1; /* Ocupa 3 partes del espacio (más ancho que el sidebar) */
    background: rgba(249, 249, 249, 0.06);
    backdrop-filter: blur(1.5px);
    box-shadow: 0px 0px 35.6px 4px rgba(16, 24, 32, 0.08);
    border-radius: 1.5rem;
    padding: 2rem;

    @media (max-width: 1600px) {
        padding: 1rem;
    }
  
}

/* Cabecera de la agenda */
.schedule-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.25rem;
     @media (max-width: 1600px) {
      margin-bottom: 0.75rem;
     }
     @media (max-width: 1440px) {
      margin-bottom: 10px;
     }
  @media (max-width: 900px) {
    font-size: 1.1rem;
  }
}

.schedule-header  h2{
   font-size: 1.8rem;
      @media (max-width: 1600px) {
       font-size: 1.6rem;
   }
   @media (max-width: 1440px) {
       font-size: 1.4rem;
   }
}

    .interview-switch {
      display: flex;
      background: rgba(0, 17, 25, 1);
      padding: 0.25rem;
      border-radius: 2rem;
      margin-bottom: 1rem;
      gap: 0.25rem;
      backdrop-filter: blur(8.611825942993164px);
      box-shadow: 0px 0px 32.29px 0px rgba(0, 102, 146, 0.08);
      width: 36%;
      @media (max-width: 1440px) {
        transform: scale(0.8);
        transform-origin: center;
      }
      @media (max-width: 900px) {
       background: rgba(213, 229, 236, 0.99);
       width: 85%;
       margin-left: 0;
       margin-right: auto;
       color: var(--text);
       transform: none;
      }
    }

    .switch-btn {
        flex: 1;
        border: none;
        background: transparent;
        padding: 0.85rem 0.5rem;
        border-radius: 1.5rem;
        font-size: 0.945rem;
        font-weight: 500;
        color: white;
        cursor: pointer;
        transition: all 0.2s ease;
        @media (max-width: 900px) {
        color: black;
        font-size: 0.7rem;
            padding: 0.55rem 0.4rem;
        }
    }

    .switch-btn.active {
      background: linear-gradient(236.09deg, #0269AD 4.97%, #004075 95.25%);
      box-shadow: 0px 0px 20.32px 0px rgba(38, 67, 95, 0.24);
      color: white;
    }

.view-switcher {
    background: #F0F4F8;
    padding: 5px;
    border-radius: 10px;
}

.view-switcher button {
    background: none;
    border: none;
    padding: 8px 15px;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    color: #666;
}

.view-switcher button.active {
    background: #0A2A5C;
    color: white;
}


/* Profile Card */
.resume-profile-card {


    margin-bottom: 0rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0rem;
  
    flex-direction: row;
    width: 100%;
    /* width: fit-content; */


}


.profile-main {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex: 1;
    
.profile-info{
  @media (max-width: 1024px) and (min-width: 900px) {
    width: 150px;
  }
}
}

.profile-avatar-container {
    position: relative;
        width: 7rem;
        height: 7rem;
        @media (max-width: 1600px) {
            width: 5.5rem;
            height: 5.5rem;
        }
        @media (max-width: 1280px) {
            width: 4rem;
            height: 4rem;
        }
}

.profile-avatar {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    overflow: hidden;
}

.profile-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    @media (max-width: 980px) and (min-width: 768px){
      object-fit: contain;
    }
}

.add-photo-btn {
    /* position: absolute;
    bottom: 0;
    right: 0;
    width: 24px;
    height: 24px;
    background: var(--primary-color, #007bff);
    border: 2px solid #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0; */
    display: none;
}

.profile-info h2 {
    font-size: 1.9rem;
    font-weight: 700;
    margin-bottom: 0.25rem;
    @media (max-width: 1600px) {
        font-size: 1.5rem;
    }

    @media (max-width: 1280px) {
        font-size: 1.1rem;
        margin-bottom: 0.125rem;
    }
    
}

.profile-subtitle {
    font-size: 0.875rem;
  
    margin-bottom: 0.75rem;
    @media (max-width: 1600px) {
        font-size: 0.75rem;
    }
    @media (max-width: 1280px) {
        font-size: 0.6rem;
        margin-bottom: 0.125rem;
    }
}

.work-status-toggle {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: rgba(249, 249, 249, 0.06);
    backdrop-filter: blur(92.5px);

box-shadow: 0px 0px 35.6px 4px rgba(16, 24, 32, 0.08);

    padding: 0.25rem;
    padding-left: 1rem;
    border-radius: 20px;
    width: fit-content;
    transform-origin: left;
    @media (max-width: 1280px) {
        scale: 0.8;
    }
}

.status-label {
 
            font-size: 0.725rem;
    font-weight: 600;
   white-space: nowrap;
}

/* Toggle Switch */
.switch {
    position: relative;
    display: inline-block;
    width: 2.5rem;
    height: 1.5rem;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 65, 111, 1);
    transition: .4s;
    &:hover:before {
        background-color: #fff;
    }
}

.slider:before {
    position: absolute;
    content: "";
    height: 1.25rem;
    width: 1.25rem;
    left: 0.15rem;
    bottom: 0.15rem;
    top: 0.15rem;
    background-color:rgba(232, 234, 235, 0.78);
    transition: .4s;
    @media (min-width: 1024px) and (max-width: 1600px) {
        bottom: 0.10rem;
        top: 0.10rem;
    }
}

input:checked + .slider {
    background: linear-gradient(270deg, #1497DF 0%, #006692 100%);

}

input:checked + .slider:before {
    transform: translateX(1rem);
}

.slider.round {
    border-radius: 34px;
}

.slider.round:before {
    border-radius: 50%;
}

/* Contact Cards */
.profile-contact-cards {
    display: flex;
    gap: 1.25rem;
    flex: 1;
    justify-content: flex-end;
    @media (max-width: 1600px) {
        gap: 0.5rem;
    }


    @media (max-width: 1280px) {
         max-width: 430px;
    }
    @media (max-width: 1024px) and (min-width: 900px) {
        max-width: 260px;
    }
  
}

.contact-card {
    background: linear-gradient(236.09deg, #0269AD 4.97%, #004075 95.25%);
    box-shadow: 0px 0px 23.6px 0px rgba(38, 67, 95, 0.24);
    justify-content: space-between;
    border-radius: 1rem;
    padding: 1.5rem;
    padding-top: 0.5rem;
    height: 7rem;
    width: 30%;
    aspect-ratio:calc(189/141) ;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    & .contact-icon {
        margin-left: auto;
        @media (max-width: 980px) and (min-width: 768px){
            transform: scale(1.5);
        }
        svg path{
            fill: white;
        }
    }
    @media (max-width: 1600px) {
        height: 7rem;
        gap: 0.125rem;
        padding: 1rem;
        padding-top: 0.3rem;
    }
    @media (max-width: 1280px) {
        max-width: 230px;
        width: 30%;

        padding: 0.75rem;
           padding-right: 0;
           padding-top: 0.35rem;
           height: 4.55rem;
    }
    @media (max-width: 980px) and (min-width: 768px){
                  height: 7rem;
    }
}

.contact-card.second{
   background: linear-gradient(304.44deg, #34A3D3 11.1%, #006692 95.11%);

}

.contact-card.third{
   background: linear-gradient(302.33deg, #1497DF 8.15%, #156794 100.55%);

}

.contact-header {
    margin-bottom: 0.25rem;
    @media (max-width: 1600px) {
        margin-bottom: 0.125rem;
    }
    @media (max-width: 1280px) {
        margin-bottom: 0.1rem;
    }
}

.contact-icon {
    width: 24px;
    height: 24px;
    @media (max-width: 1600px) {
        width: 20px;
        height: 20px;
        margin-right: 0.25rem;
    }
    @media (max-width: 1280px) {
        width: 18px;
        height: 18px;
     
        svg{
            width: 100%;
            height: 100%;
        }
    }

    svg path{
        fill: transparent;
    }
}



.contact-body {
    display: flex;
    flex-direction: column;
    gap: 0rem;

}

.contact-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: #fff;
   font-size: 2.5rem;
   font-size: 2rem;
    @media (max-width: 1600px) {
        font-size: 2rem;
    }
    @media (max-width: 1280px) {
        font-size: 1.5rem;
    }
    @media (max-width: 980px) and (min-width: 768px){
        font-size:2.5rem;
    }
}

.contact-value {
    font-size: 0.8rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: rgba(226, 229, 231, 0.66);
    @media (max-width: 1600px) {
        font-size: 0.65rem;
    }
    @media (max-width: 1280px) {
        font-size: 0.5rem;
    }
    @media (max-width: 1024px) and (min-width: 900px){
        font-size: 0.45rem;
    }
    @media (max-width: 980px) and (min-width: 768px){
        font-size:0.7rem;
    }
}



    .edit-link {
        font-size: 0.75rem;
        color: rgba(20, 151, 223, 1);
        text-decoration: none;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 0.25rem;
        font-weight: 500;
    }

    .edit-link:hover {
        text-decoration: underline;
    }
/* Media Queries for .resume-profile-card and its children */

@media (max-width: 767px) {
    .resume-profile-card {
        flex-direction: column;
        align-items: stretch;
    }
    
    .profile-contact-cards {
        overflow-x: auto;
        padding-bottom: 1rem;
    }
}

@media (max-width: 900px) {
    .resume-profile-card {
        padding: 0rem;
        gap: 1.5rem;
  
     
    }
    .profile-main {
        /* flex-direction: column; */
        /* align-items: center; */
        /* text-align: center; */
        /* width: 100%; */
    }

    .profile-avatar-container {
        margin-bottom: 0.5rem;
    }

    .profile-info {
        display: flex;
        flex-direction: column;
        width: 100%;
        align-items: baseline;
    }

    .profile-info h2{
            font-size: 1.25rem;
    }

    .work-status-toggle {
        margin-top: 0.5rem;
        scale: 0.8;
        transform-origin: left top;
    }

    .profile-contact-cards {
        width: 100%;
        display: flex;
        gap: 1rem;
        overflow-x: visible;
        padding-bottom: 0;
    }

    .contact-card {
        min-width: 0;
        width: 100%;
        padding: 1rem;
    }
}

@media (max-width: 767px) {
    .profile-avatar-container {
        width: 6rem;
        height: 6rem;
    }

    .profile-info h2 {
        font-size: 1.2rem;
    }

    .profile-subtitle {
        font-size: 0.8rem;
    }

    .status-label {
        font-size: 0.8rem;
    }

    .switch {
        width: 2rem;
        height: 1.2rem;
    }

    .slider:before {
        height: 1rem;
        width: 1rem;
        left: 0.1rem;
        bottom: 0.1rem;
    }

    input:checked + .slider:before {
        transform: translateX(0.8rem);
    }

    .contact-card {
        padding: 1rem;
    }

    .contact-icon {
        width: 20px;
        height: 20px;
    }

    .contact-label {
        font-size: 0.8rem;
    }

    .contact-value {
        font-size: 0.7rem;
    }

    .edit-link {
        font-size: 0.7rem;
    }
}

@media (max-width: 480px) {
    .profile-main {

        align-items: center;
        text-align: center;
        gap: 0.5rem;
        justify-content: center;
    }

    .profile-avatar-container {
        width: 5rem;
        height: 5rem;
        margin-bottom: 0;
        img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }
    }

    .add-photo-btn {
        width: 20px;
        height: 20px;
    }

    .profile-info {
        align-items: left;
    }

    .profile-info h2 {
        font-size: 1.1rem;
    }

    .profile-subtitle {
        font-size: 0.75rem;
    }

    .work-status-toggle {
        scale:0.8;
        transform-origin: left;
        padding: 0.2rem 0.15rem;
        padding-left: 1rem;
        font-size: 0.75rem;
    }

    .status-label {
        font-size: 0.75rem;
    }

    .switch {
        width: 2.2rem;
        height: 1.3rem;
    }

    .slider:before {
        height: 1.1rem;
        width: 1.1rem;
    }

    input:checked + .slider:before {
        transform: translateX(0.9rem);
    }

    .profile-contact-cards {
        flex-direction: row;
        gap: 0.75rem;
        justify-content: center;
    }

    .contact-card {
        min-width: unset;
        width: 45%;
        padding: 0.75rem;
        height: 7rem;
    }

    .contact-header {
        margin-bottom: 0.15rem;
    }

    .contact-icon {
        width: 30px;
        height: 30px;
        margin-left: 0 !important;
        margin-right: auto;
    }

    .contact-label {
        font-size: 1.5rem;
    }

    .contact-value {
        font-size: 0.65rem;
    }

    .edit-link {
        font-size: 0.6rem;
    }
}
}


/* 2. El Calendario */
.custom-calendar {
    width: 100%;
    --color-bg: transparent; /* Fondo transparente porque lo tiene el wrapper */
}

/* 3. Ocultar el texto original de Cally, pero dejar las flechas */
.custom-calendar::part(heading) {
    visibility: hidden; /* Oculta el texto "Juli 2024" original */
}

/* 4. Acomodar las flechas originales */
.custom-calendar::part(header) {
    display: flex;
    justify-content: space-between; /* Flechas a los extremos */
    font-size: 1.25rem;
}

.custom-calendar::part(button) {
     font-size: 1.25rem;
    cursor: pointer;
    z-index: 1; /* Asegura que las flechas estén sobre el título */
    color: #000;
    background: none !important; /* Quitar fondo */
    border: none !important; /* Quitar borde */
    padding: 0 !important; /* Quitar padding */
        block-size: 2.75rem;
    inline-size: 2.75rem;
    font-family: "Aventa", sans-serif;
    & svg path{
        fill: transparent;
    }
}



/* Contenedor para dar el fondo general */
.custom-calendar-card {
  /* Fondo azul pálido similar a tu imagen */
  background-color: #DDEBF1; 
  padding: 0rem;
  border-radius: 0.75rem; /* Opcional */
  display: inline-block;

}

calendar-month {
    margin-inline: auto;
   @media (max-width:1440px) {
      transform: translateY(-1rem);
   }
   @media (max-width:1280px) {
      transform: translateY(-1.25rem);
   }
}

.custom-calendar::part(container){
    display: flex;
    flex-direction: column;
    gap: 0 !important;
}
calendar-month::part(th) {
    color: black;
    font-size: 0.625rem;
    text-align: center;
    font-weight: 600;
    line-height: 1;
    margin-bottom: 0;
    padding-bottom: 0rem;
    text-transform: uppercase;
}

calendar-month::part(button day) {
  font-weight: 700;
  color: black;
  font-size: 1rem;
  block-size: 1.75rem;
  inline-size: 1.75rem;
  margin-inline: 0.5rem;
  font-family: "Aventa", sans-serif;
  background-color: transparent;
    @media (max-width: 1600px) {
      font-weight: 700;
      font-size: 0.9rem;
      block-size: 1.35rem;
      inline-size: 1.35rem;
      margin-inline: 0.45rem;
    }

    @media (max-width: 1280px) {
        block-size: 0.75rem;
        inline-size: 0.75rem;
        margin-inline: 0.22rem;
        font-size: 0.5rem;
    }

        @media (max-width: 900px) {
      font-size: 0.775rem;
      block-size: 2rem;
      inline-size: 2rem;
      margin-inline: 0.15rem;
    }
    @media (max-width:390px) {
      font-size: 0.78rem;
      block-size: 2rem;
      inline-size: 2rem;
      margin-inline: 0.15rem;
    }


}

calendar-month::part(button selected) {
    color: white;
    background-color: rgba(20, 151, 223, 1);
    border-radius: 50%;

}
calendar-month::part(button today) {
   /* color: white; */
  
   border-radius: 50%;
   border:  rgba(20, 151, 223, 1) 1px solid;
}

calendar-month::part(heading) {
   display: none;
}

calendar-month::part(container) {
    gap: 0 !important;
}