:root{
  /* CSS timing controls */
  --lc-modal-fade-ms: 200ms;
}

.lc-locmodal{
  position:fixed;
  inset:0;
  display:none;
  z-index:99999;
}

.lc-locmodal.is-open{display:block}

.lc-locmodal__overlay{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.55);
  transition:opacity var(--lc-modal-fade-ms) ease;
}

.lc-locmodal__panel{
  position:relative;
  width:min(560px, calc(100% - 2rem));
  margin:10vh auto 0;
  background:#fff;
  border-radius:20px;
  box-shadow:0 20px 50px rgba(0,0,0,.25);
  padding:1.1rem 1.1rem 1rem;
}

.lc-locmodal__close{
  position:absolute;
  top:.5rem;
  right:.75rem;
  border:0;
  background:transparent;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  opacity:.65;
}

.lc-locmodal__close:hover{opacity:1}

.lc-locmodal__content{
  display:flex;
  gap:.9rem;
  align-items:flex-start;
}

.lc-locmodal__emoji{font-size:34px}

.lc-locmodal__title{
  font-weight:700;
  font-size:18px;
  margin-bottom:.25rem;
  color:#0f172a;
}

.lc-locmodal__text{
  font-size:14px;
  line-height:1.45;
  color:#334155;
  margin-bottom:.75rem;
}

/* Dropdown field */
.lc-locmodal__field{margin:.35rem 0 .5rem}

.lc-locmodal__label{
  display:block;
  font-weight:700;
  font-size:13px;
  color:#0f172a;
  margin-bottom:.35rem;
}

.lc-locmodal__select{
  width:100%;
  padding:.6rem .75rem;
  border:1px solid rgba(15,23,42,.18);
  border-radius:14px;
  font-size:14px;
  background:#fff;
}

.lc-locmodal__select:focus{
  outline:none;
  box-shadow:0 0 0 4px rgba(232,185,35,.25);
  border-color:rgba(232,185,35,.7);
}

.lc-locmodal__actions{
  display:flex;
  gap:.6rem;
  align-items:center;
  flex-wrap:wrap;
}

.lc-locmodal__link{
  border:0;
  background:transparent;
  cursor:pointer;
  color:#475569;
  font-size:13px;
  text-decoration:underline;
  padding:.35rem .25rem;
}

/* Small-screen comfort */
@media (max-width: 520px){
  .lc-locmodal__panel{margin:8vh auto 0}
  .lc-locmodal__content{gap:.75rem}
}
