/* overlay */
.f-popup-overlay{
  position:fixed;inset:0;
  background:rgba(0,0,0,.65);
  backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;
  z-index:9999;opacity:0;visibility:hidden;
  transition:.4s;
}
.f-popup-overlay.show{opacity:1;visibility:visible}

/* popup */
.f-popup{
  background:#fff;width:92%;max-width:420px;
  border-radius:18px;padding:34px;
  box-shadow:0 40px 100px rgba(0,0,0,.35);
  animation:popupIn .5s ease;
  position:relative;
}
@keyframes popupIn{
  from{transform:translateY(30px) scale(.9);opacity:0}
  to{transform:none;opacity:1}
}
.f-close{
  position:absolute;top:16px;right:18px;
  font-size:22px;cursor:pointer;color:#888;
}

h2{
  font-family:Playfair Display,serif;
  text-align:center;margin-bottom:6px;
}
.f-sub{text-align:center;font-size:13px;color:#777;margin-bottom:22px}

.f-field{margin-bottom:14px}
.f-field input,.f-field select{
  width:100%;height:50px;padding:0 16px;
  border-radius:12px;border:1px solid #e2e2e2;
  background:#fafafa;font-size:14px;outline:none;
}
.f-phone{display:flex}
.f-phone span{
  display:flex;align-items:center;
  padding:0 14px;border:1px solid #e2e2e2;
  border-right:none;border-radius:12px 0 0 12px;
  background:#f2f2f2;
}
.f-phone input{border-radius:0 12px 12px 0}

button{
  width:100%;height:54px;border:none;
  border-radius:14px;
  background:linear-gradient(135deg,#c1945c,#a7743c);
  color:#fff;font-size:16px;font-weight:600;
  cursor:pointer;
}
.f-note{text-align:center;font-size:11px;color:#888;margin-top:16px}