/* ---------- PERSISTENT WHATSAPP BUTTON ---------- */
.wa-float-btn{
  position:fixed;
  right:clamp(1rem, 3vw, 2rem);
  bottom:clamp(1rem, 3vw, 2rem);
  width:clamp(52px, 6vw, 64px);
  height:clamp(52px, 6vw, 64px);
  border-radius:50%;
  background:#25d366;
  border:none;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 22px rgba(0,0,0,0.4);
  z-index:250;
  transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.wa-float-btn:hover{
  transform:translateY(-3px) scale(1.05);
  box-shadow:0 12px 28px rgba(0,0,0,0.5);
}
.wa-float-btn svg{
  width:56%;
  height:56%;
  fill:#fff;
}
@media(prefers-reduced-motion: reduce){
  .wa-float-btn{transition:none;}
}

/* ---------- SCRIM (shared by the wa modal — self-contained so this
   widget doesn't depend on properties.css/legal.css being loaded) ---------- */
.wa-scrim{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.6);
  backdrop-filter:blur(3px);
  z-index:290;
  opacity:0;
  visibility:hidden;
  transition:opacity 0.3s ease, visibility 0.3s;
}
.wa-scrim.open{opacity:1;visibility:visible;}

/* ---------- MODAL ---------- */
.wa-modal{
  position:fixed;
  top:50%;left:50%;
  transform:translate(-50%,-48%) scale(0.96);
  width:min(420px, 92vw);
  max-height:88vh;
  overflow-y:auto;
  background:#0c0c0c;
  border:1px solid var(--line);
  border-radius:10px;
  z-index:300;
  opacity:0;visibility:hidden;
  transition:opacity 0.35s cubic-bezier(0.16,1,0.3,1), visibility 0.35s, transform 0.35s cubic-bezier(0.16,1,0.3,1);
}
.wa-modal.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1);}
@media(prefers-reduced-motion: reduce){
  .wa-modal,.wa-scrim{transition:none;}
}

.wa-modal-close{
  position:absolute;
  top:1rem;right:1rem;
  width:32px;height:32px;
  border-radius:50%;
  border:1px solid var(--line);
  background:transparent;
  color:var(--white);
  font-size:1.3rem;
  line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:border-color 0.2s ease, background 0.2s ease;
}
.wa-modal-close:hover{border-color:var(--accent-light);background:rgba(165,131,117,0.12);}

.wa-modal-body{
  padding:2rem clamp(1.5rem, 4vw, 2.25rem) 2.25rem;
}
.wa-modal-body h2{
  font-family:var(--font-display);
  font-weight:400;
  font-size:1.4rem;
  color:var(--white);
  margin-bottom:0.4rem;
  padding-right:2rem;
}
.wa-modal-sub{
  color:var(--text-muted);
  font-size:0.9rem;
  line-height:1.6;
  margin-bottom:1.5rem;
}

.wa-choice-row{
  display:flex;
  gap:0.75rem;
  margin-bottom:1.5rem;
}
.wa-choice-btn{
  flex:1;
  padding:1rem 0.5rem;
  border-radius:6px;
  border:1.5px solid var(--line);
  background:transparent;
  color:var(--white);
  font-family:var(--font-display);
  font-size:1.05rem;
  transition:border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.wa-choice-btn:hover{border-color:var(--accent-light);}
.wa-choice-btn.selected{
  border-color:var(--accent-light);
  background:rgba(165,131,117,0.16);
  color:var(--accent-light);
}

.wa-modal-body .form-group{margin-bottom:1.1rem;}
.wa-modal-body label{
  display:block;font-size:0.8rem;text-transform:uppercase;letter-spacing:1px;
  color:var(--text-muted);margin-bottom:0.4rem;
}
.wa-modal-body input{
  width:100%;
  border:none;
  border-bottom:1.5px solid var(--white);
  background:transparent;
  font-family:var(--font-body);
  font-size:1rem;
  padding:0.6rem 0.2rem;
  color:var(--white);
}
.wa-modal-body input:focus{outline:2px solid var(--accent-light);outline-offset:2px;}

.wa-modal-nav{
  display:flex;
  justify-content:space-between;
  gap:0.75rem;
  margin-top:1.75rem;
}
.wa-btn{
  padding:0.8rem 1.5rem;
  border-radius:4px;
  font-size:0.95rem;
  font-family:var(--font-body);
  font-weight:600;
  border:1.5px solid var(--line);
  background:transparent;
  color:var(--white);
  transition:border-color 0.2s ease, background 0.2s ease;
}
.wa-btn:hover{border-color:var(--accent-light);}
.wa-btn-primary{
  background:#25d366;
  border-color:#25d366;
  color:#0c0c0c;
  display:flex;
  align-items:center;
  gap:0.5rem;
}
.wa-btn-primary:hover{background:#1fb958;border-color:#1fb958;}
.wa-btn-primary:disabled{opacity:0.5;cursor:not-allowed;}
.wa-btn-primary svg{width:18px;height:18px;fill:#0c0c0c;}

.wa-error{
  font-size:0.82rem;
  color:#e07a6f;
  margin-top:-0.6rem;
  margin-bottom:1rem;
  min-height:1.1em;
}