.fiestopia-entry-overlay{
  position:fixed;
  inset:0;
  z-index:4000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(8,8,8,0.66);
  backdrop-filter:blur(10px);
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease;
}
.fiestopia-entry-overlay.is-visible{
  opacity:1;
  pointer-events:auto;
}
.fiestopia-entry-modal{
  position:relative;
  width:min(92vw,520px);
  padding:30px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:8px;
  color:#fff;
  background:linear-gradient(145deg,rgba(14,14,14,.98),rgba(28,24,16,.98));
  box-shadow:0 28px 80px rgba(0,0,0,.38);
  transform:translateY(14px) scale(.98);
  transition:transform .24s ease;
}
.fiestopia-entry-overlay.is-visible .fiestopia-entry-modal{
  transform:translateY(0) scale(1);
}
.fiestopia-entry-close{
  position:absolute;
  top:12px;
  right:12px;
  width:40px;
  height:40px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.06);
  cursor:pointer;
  font-size:24px;
  line-height:1;
}
.fiestopia-entry-kicker{
  margin:0 0 10px;
  color:#c9a84c;
  font-family:'DM Sans',sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:1.4px;
  text-transform:uppercase;
}
.fiestopia-entry-title{
  margin:0;
  font-family:'Bebas Neue','DM Sans',sans-serif;
  font-size:clamp(42px,8vw,66px);
  font-weight:400;
  line-height:.88;
  letter-spacing:0;
}
.fiestopia-entry-text{
  margin:18px 0 24px;
  color:rgba(255,255,255,.78);
  font-family:'DM Sans',sans-serif;
  font-size:16px;
  line-height:1.55;
}
.fiestopia-entry-actions{
  display:grid;
  gap:10px;
}
.fiestopia-entry-btn{
  display:flex;
  min-height:52px;
  align-items:center;
  justify-content:center;
  padding:14px 18px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:4px;
  color:#fff;
  background:rgba(255,255,255,.07);
  font-family:'DM Sans',sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.8px;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.fiestopia-entry-btn:hover,
.fiestopia-entry-btn:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(201,168,76,.7);
  background:rgba(255,255,255,.12);
  outline:none;
}
.fiestopia-entry-btn.primary{
  color:#090909;
  border-color:#c9a84c;
  background:#c9a84c;
}
.fiestopia-entry-btn.primary:hover,
.fiestopia-entry-btn.primary:focus-visible{
  background:#e2bc6a;
}
.fiestopia-entry-btn.text{
  min-height:44px;
  border-color:transparent;
  color:rgba(255,255,255,.6);
  background:transparent;
  font-size:12px;
}
body.fiestopia-entry-locked{
  overflow:hidden;
}
@media (max-width:640px){
  .fiestopia-entry-overlay{
    align-items:flex-end;
    padding:12px;
  }
  .fiestopia-entry-modal{
    width:100%;
    max-height:calc(100dvh - 24px);
    overflow:auto;
    padding:26px 18px 18px;
    border-radius:8px 8px 6px 6px;
  }
  .fiestopia-entry-title{
    max-width:280px;
    font-size:48px;
  }
  .fiestopia-entry-text{
    margin:14px 0 18px;
    font-size:15px;
  }
  .fiestopia-entry-btn{
    width:100%;
    min-height:56px;
    font-size:12px;
  }
  .fiestopia-entry-close{
    top:10px;
    right:10px;
  }
}
