
/* Estado oculto robusto: evita que Divi Visual Builder expanda los diálogos. */
.lal-apps__modal[hidden],
.lal-search[hidden]{
  display:none !important;
}

:root{
  --lal-orange:#FF4E25;
  --lal-ink:#171717;
  --lal-cream:#F7F3EE;
  --lal-white:#FFFFFF;
  --lal-line:#DED8D2;
  --lal-muted:#68625E;
}

.lal-header-actions,
.lal-header-actions *,
.lal-apps,
.lal-apps *,
.lal-search,
.lal-search *{
  box-sizing:border-box;
}

.lal-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  width:100%;
  color:var(--lal-ink);
  font-family:inherit;
  line-height:1.2;
}

.lal-header-actions__campus{
  margin-right:7px;
  color:var(--lal-ink)!important;
  font-size:12px;
  font-weight:800;
  letter-spacing:.035em;
  text-decoration:none!important;
  text-transform:uppercase;
  transition:color .2s ease;
}

.lal-header-actions__campus:hover,
.lal-header-actions__campus:focus-visible{
  color:var(--lal-orange)!important;
}

.lal-header-actions__icon,
.lal-apps__trigger{
  position:relative;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--lal-ink);
  display:grid;
  place-items:center;
  cursor:pointer;
  text-decoration:none!important;
  transition:background-color .2s ease,color .2s ease;
}

.lal-header-actions__icon:hover,
.lal-header-actions__icon:focus-visible,
.lal-apps__trigger:hover,
.lal-apps__trigger:focus-visible{
  background:rgba(255,78,37,.10);
  color:var(--lal-orange);
  outline:none;
}

.lal-header-actions__icon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.lal-cart-count{
  position:absolute;
  top:1px;
  right:0;
  min-width:17px;
  height:17px;
  padding:0 4px;
  border-radius:999px;
  background:var(--lal-orange);
  color:var(--lal-white);
  display:grid;
  place-items:center;
  font-size:9px;
  font-weight:800;
  line-height:1;
}

.lal-cart-count.is-empty{
  display:none;
}

/* Lanzador Apps */
.lal-apps{
  display:inline-flex;
  line-height:1.35;
}

.lal-apps__dots{
  width:18px;
  height:18px;
  display:grid;
  grid-template-columns:repeat(3,4px);
  grid-auto-rows:4px;
  gap:3px;
}

.lal-apps__dots i{
  width:4px;
  height:4px;
  border-radius:50%;
  background:currentColor;
}

.lal-apps__modal,
.lal-search{
  position:fixed;
  inset:0;
  z-index:999999;
  visibility:hidden;
  opacity:0;
  transition:visibility .22s,opacity .22s;
}

.lal-apps__modal.is-open,
.lal-search.is-open{
  visibility:visible;
  opacity:1;
}

.lal-apps__backdrop,
.lal-search__backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(23,23,23,.54);
  backdrop-filter:blur(5px);
  cursor:default;
}

.lal-apps__panel{
  position:absolute;
  top:92px;
  right:max(22px,calc((100vw - 1440px)/2));
  width:min(650px,calc(100% - 32px));
  max-height:calc(100vh - 115px);
  overflow:auto;
  background:var(--lal-cream);
  border:1px solid var(--lal-line);
  border-radius:4px;
  padding:clamp(22px,2vw,32px);
  box-shadow:0 32px 100px rgba(23,23,23,.28);
  transform:translateY(-12px);
  transition:transform .25s;
}

.lal-apps__modal.is-open .lal-apps__panel{
  transform:none;
}

.lal-apps__header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  padding-bottom:18px;
  margin-bottom:18px;
  border-bottom:1px solid var(--lal-line);
}

.lal-apps__header p,
.lal-search__panel > p{
  margin:0 0 6px;
  color:var(--lal-orange);
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.15em;
}

.lal-apps__header h2,
.lal-search__panel h2{
  margin:0;
  color:var(--lal-ink);
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:clamp(2rem,3vw,2.65rem);
  line-height:1;
}

.lal-apps__close,
.lal-search__close{
  border:0;
  background:transparent;
  color:var(--lal-ink);
  font-size:2rem;
  line-height:1;
  cursor:pointer;
  padding:0 4px;
}

.lal-apps__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.lal-apps__card{
  min-height:132px;
  display:grid;
  grid-template-columns:52px 1fr auto;
  gap:14px;
  align-items:start;
  padding:18px;
  background:var(--lal-white);
  border:1px solid var(--lal-line);
  color:var(--lal-ink)!important;
  text-decoration:none!important;
  transition:.2s;
}

.lal-apps__card:hover,
.lal-apps__card:focus-visible{
  border-color:var(--lal-orange);
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(23,23,23,.08);
  outline:none;
}

.lal-apps__card.is-pending{
  opacity:.58;
  cursor:not-allowed;
}

.lal-apps__icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  background:rgba(255,78,37,.10);
  color:var(--lal-orange);
  border-radius:15px;
}

.lal-apps__icon svg{
  width:26px;
  height:26px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.lal-apps__content small,
.lal-apps__content strong,
.lal-apps__content span{
  display:block;
}

.lal-apps__content small{
  color:var(--lal-orange);
  font-size:.61rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  margin-bottom:5px;
}

.lal-apps__content strong{
  font-size:1rem;
  margin-bottom:5px;
}

.lal-apps__content span{
  color:var(--lal-muted);
  font-size:.75rem;
  line-height:1.45;
}

.lal-apps__card b{
  color:var(--lal-orange);
  font-size:1.05rem;
  font-weight:500;
}

.lal-apps__note{
  margin:18px 0 0;
  text-align:center;
  color:var(--lal-muted);
  font-size:.7rem;
}

/* Buscador */
.lal-search__panel{
  position:absolute;
  left:50%;
  top:50%;
  width:min(760px,calc(100% - 32px));
  padding:clamp(28px,5vw,56px);
  background:var(--lal-cream);
  border:1px solid var(--lal-line);
  box-shadow:0 32px 100px rgba(23,23,23,.28);
  transform:translate(-50%,calc(-50% - 12px));
  transition:transform .25s;
}

.lal-search.is-open .lal-search__panel{
  transform:translate(-50%,-50%);
}

.lal-search__close{
  position:absolute;
  top:18px;
  right:20px;
}

.lal-search__form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  margin-top:30px;
}

.lal-search__form input{
  min-width:0;
  height:56px;
  border:0;
  border-bottom:2px solid var(--lal-ink);
  border-radius:0;
  background:transparent;
  padding:0 4px;
  color:var(--lal-ink);
  font:inherit;
  font-size:1.05rem;
}

.lal-search__form input:focus{
  border-color:var(--lal-orange);
  outline:none;
}

.lal-search__form button{
  min-height:56px;
  border:1px solid var(--lal-ink);
  border-radius:999px;
  background:var(--lal-ink);
  color:var(--lal-white);
  padding:0 28px;
  cursor:pointer;
  font:inherit;
  font-weight:800;
}

body.lal-overlay-open{
  overflow:hidden;
}

@media (max-width:1100px){
  .lal-header-actions__campus{
    display:none;
  }
}

@media (max-width:820px){
  .lal-apps__panel{
    top:auto;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    max-height:90vh;
    border-radius:24px 24px 0 0;
    padding:24px;
  }

  .lal-apps__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .lal-apps__card{
    grid-template-columns:46px 1fr;
    min-height:150px;
    padding:15px;
  }

  .lal-apps__card b{
    display:none;
  }

  .lal-apps__icon{
    width:46px;
    height:46px;
  }
}

@media (max-width:520px){
  .lal-header-actions{
    gap:0;
  }

  .lal-header-actions__icon,
  .lal-apps__trigger{
    width:40px;
    height:40px;
  }

  .lal-apps__panel{
    padding:20px 16px;
  }

  .lal-apps__grid{
    grid-template-columns:1fr;
  }

  .lal-apps__card{
    min-height:auto;
    grid-template-columns:46px 1fr auto;
  }

  .lal-apps__card b{
    display:block;
  }

  .lal-search__form{
    grid-template-columns:1fr;
  }

  .lal-search__form button{
    width:100%;
  }
}

@media (min-width:2200px){
  .lal-header-actions__icon,
  .lal-apps__trigger{
    width:50px;
    height:50px;
  }

  .lal-header-actions__icon svg{
    width:25px;
    height:25px;
  }

  .lal-apps__panel{
    top:108px;
    width:760px;
    padding:38px;
  }

  .lal-apps__card{
    min-height:155px;
    padding:22px;
  }
}

@media (prefers-reduced-motion:reduce){
  .lal-apps__modal,
  .lal-apps__panel,
  .lal-apps__card,
  .lal-apps__trigger,
  .lal-search,
  .lal-search__panel{
    transition:none;
  }
}
