.wp-site-blocks{
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
}

.wp-site-blocks>main{
  flex: 1;
}

.wp-site-blocks>footer{
  position: sticky;
  bottom: 0;
}
.lumen-hbc_container{
  display: flex;
  align-items: center;
  gap: 10px;
}
.lumen-hbc__right, .lumen-notifs-wrap{
  display: flex;
  align-items: center;
}
.lumen-hbc{
  display:flex; 
  align-items:baseline; 
  font-size:normal; 
  line-height:1.2;
  padding: 5px;
  background-color: var(--blue-100);
  border-radius: 15px;
  margin-block-start: 5px!important;
  flex:1;
}

.lumen-hbc__crumb{
  color:#0b2530; 
  text-decoration:none; 
  
}

.lumen-hbc__class{
  margin-right: 10px;
}

.lumen-hbc__course{
  padding: 10px;
  background-color: var(--blue-500);
  border-radius: 10px;
  color: var(--white-500);
  font-weight:bolder;
  z-index: 1;
}

.lumen-hbc__crumb:hover{ 
  text-decoration:underline; 
}

.lumen-hbc__sep{ 
   padding: 0 10px;
   opacity: 0.6;
}

.lumen-hbc__section{
  background-color: var(--yellow-300);
  padding: 5px 10px;
  border-radius:0 10px 10px 0;
  color: var(--blue-800);
  
}


/* ====== Reset ====== */
* { box-sizing: border-box; }

/* ====== Wrapper ====== */
.lcv-wrap { margin: 16px 0; }

/* Grid: 2 columnas con mínimo 220px por tarjeta; si no cabe, 1 col */
.lcv-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 16px;
}
@media (max-width: 520px){
  .lcv-grid { grid-template-columns: 1fr; }
}

/* ====== Card base ====== */
.lcv-card {
  position: relative;
  display: flex;
  padding: 10px;
  border-radius: 10px;
  gap: 10px;
  text-decoration: none;
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(0,0,0,.06);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
  border: 1px solid transparent;
  min-height: 120px;
  align-items: end;
}
.lcv-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0,0,0,.09);
  filter: brightness(.98);
}

/* Layout interno: título a la izq. abajo, icono a la der. abajo */
.lcv-title {
  line-height: 1.1;
  letter-spacing: .2px;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
}
.lcv-icon {
  font-size: 32px;        /* controla tamaño del pictograma */
  line-height: 1;
}

/* ====== Paleta por tipo (colores basados en la imagen) ====== */
/* Asistencia: azul grisáceo */
.lcv--attendance { background:#5e8391; border-color:#5e8391; color:#f4fbff; }
.lcv--attendance .lcv-icon { color:#f0c75e; }

/* Ejercicio: azul petróleo */
.lcv--exercise   { background:#2f6476; border-color:#2f6476; color:#e8f7ff; }
.lcv--exercise   .lcv-icon { color:#f0c75e; }

/* Tarea: amarillo */
.lcv--task       { background:#efb536; border-color:#efb536; color:#0b2530; }
.lcv--task .lcv-icon { color:#0b2530; opacity:.9; }

/* Material de apoyo: amarillo claro */
.lcv--materials  { background:#f6d78a; border-color:#f6d78a; color:#0b2530; }
.lcv--materials  .lcv-icon { color:#0b2530; opacity:.9; }

/* A11y: foco visible */
.lcv-card:focus-visible {
  outline: 3px solid rgba(255,255,255,.75);
  outline-offset: 2px;
}

/* ===== Reset ===== */
* { box-sizing: border-box; }

/* ===== Wrapper ===== */


.ltv-title { margin: 0 0 8px; font-size: 2rem; color: #0b2530; font-weight: 800; }
.ltv-type, .ltv-due { color:#0b2530; opacity:.9; }
.ltv-type { margin-bottom: 6px; }
.ltv-due { margin-bottom: 16px; }
.ltv-chip-danger { margin-left: 8px; color: #b91c1c; }

/* ===== Sections ===== */
.ltv-section { margin-bottom: 16px; }
.ltv-section-title { font-weight: 800; color: #0b2530; margin-bottom: 8px; }

.ltv-instructions {
  background:#fff; border-radius:10px; padding:16px; border:1px solid #e7eef2;
}

/* ===== Teacher files ===== */
.ltv-teacher-grid {
  display:grid; grid-template-columns:1fr; gap:10px; margin-bottom:16px;
}
.ltv-file-pill{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px; border-radius:10px; background:#b7c6cf;
  color:#0b2530; text-decoration:none; border:1px solid #b7c6cf;
}
.ltv-pill-name{ font-size:1.05rem; }

/* ===== Form ===== */
.ltv-form {
  background:#0b2530; border-radius:10px; padding:16px; color:#fff; border:1px solid #0b2530;
}
.ltv-subtext { margin-bottom:12px; opacity:.85; }
.ltv-hidden { display:none; }

/* ===== Groups ===== */
.ltv-group{ margin-bottom:12px; }
.ltv-group-title{ font-weight:700; margin-bottom:8px; }
.ltv-hint { opacity:.75; margin-top:6px; }

/* ===== Grid ===== */
/* 2 columnas por defecto, pero nunca menos de 150px por item; si el viewport no da, cae a 1 */
.ltv-grid {
  display:grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr));
  gap:10px;
}
@media (max-width: 300px){
  .ltv-grid { grid-template-columns: 1fr; }
}

/* ===== Card base ===== */
.ltv-card {
  position:relative;
  padding:10px;
  padding-top: 30px;
  border-radius:10px;
  border:1px solid transparent;
  background:#b7c6cf;  /* base clara para todos */
  color:#0b2530;

}

.ltv-card-close{
  position:absolute; top:8px; right:8px;
  border:0; background:transparent; cursor:pointer; color:inherit;
}

/* Línea estándar: texto/inputs a la izquierda (flex:1) + icono a la derecha */
.ltv-card-line {
  display:flex; align-items:end; gap:8px;
  height: 100%;
}
.ltv-card-text { flex:1; min-width:0; }  /* min-width:0 permite truncado correcto */
.ltv-card-fn { word-break: break-word; }

/* Variantes (si hicieras otras, parte de .ltv-card) */
.ltv-card-file { border-color:#b7c6cf; }

/* ===== Link fields (inputs dentro del área de texto) ===== */
.ltv-link-fields {
  display:flex; flex-direction:column; gap:6px;
}
.ltv-input {
  width:100%;
  border:0;
  border-bottom:1px dashed rgba(15,40,51,.25);
  padding:6px 8px;
  border-radius:6px;
  background:#0f2833;   /* contraste sobre card base */
  color:#e6f0f3;
}
.ltv-input::placeholder { color:#9fb3bc; }
.ltv-input:focus { outline:none; box-shadow:0 0 0 2px rgba(255,255,255,.15); }

/* ===== Add card (misma base, con color de acción) ===== */
.ltv-add-card {
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:10px; border-radius:10px; border:1px solid #5f8799; cursor:pointer;
  background:#5f8799; color:#fff;
}

/* ===== Notes & Actions ===== */
.ltv-note { padding:10px 14px; border-radius:10px; }
.ltv-note-danger{ background:#fff3f3; border:1px solid #ffe0e0; color:#991b1b; }

.ltv-actions { display:flex; margin-top:8px; gap:10px; }
.ltv-btn-primary {
  background:#e7f0f4; color:#0b2530; border-radius:10px; padding:10px 14px;
  border:1px solid #b7c6cf; display:flex; gap:8px; align-items:center; cursor:pointer;
}


