.gp-contact-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:12px;border:1px solid rgba(0,0,0,.12);font-weight:800;cursor:pointer;user-select:none;text-decoration:none;transition:transform .08s ease,opacity .08s ease}
.gp-contact-btn:active{transform:scale(.98)}
.gp-contact-btn[aria-busy="true"]{opacity:.7;pointer-events:none}
.gp-contact-btn svg{width:22px;height:22px;display:block}
.gp-contact-phone{background:#111;color:#fff;border-color:rgba(0,0,0,.06);padding:12px 14px}
.gp-contact-wa{background:#25D366;color:#fff;border-color:rgba(0,0,0,.06);padding:12px 14px}
.gp-contact-sms{background:#111;color:#fff;border-color:rgba(0,0,0,.06)}
.gp-contact-error{margin-top:10px;font-size:14px;line-height:1.4;color:#b00020}
.gp-contact-reveal{margin-top:10px;display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}
.gp-contact-number{font-size:18px;font-weight:800;letter-spacing:.3px;color:#111;user-select:all}
.gp-contact-copy{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:10px;border:1px solid rgba(0,0,0,.18);background:#fff;color:#111;font-weight:700;cursor:pointer;font-size:13px}
.gp-contact-copy:active{transform:scale(.98)}
.gp-contact-copy.is-copied{background:#0b7a2a;color:#fff;border-color:#0b7a2a}
.gp-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.gp-otp-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;z-index:999999}
.gp-otp-backdrop.is-open{display:block}
.gp-otp-modal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92vw,420px);background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.2);padding:18px}
.gp-otp-modal.is-shaking{animation:gp-otp-shake .34s ease}
@keyframes gp-otp-shake{
  0%{transform:translate(-50%,-50%) translateX(0)}
  20%{transform:translate(-50%,-50%) translateX(-8px)}
  40%{transform:translate(-50%,-50%) translateX(8px)}
  60%{transform:translate(-50%,-50%) translateX(-6px)}
  80%{transform:translate(-50%,-50%) translateX(6px)}
  100%{transform:translate(-50%,-50%) translateX(0)}
}
.gp-otp-title{font-size:18px;font-weight:800;margin:0 0 8px 0; text-align:center;}
.gp-otp-sub{font-size:14px;opacity:.85;margin:0 0 14px 0; text-align:center;}
.gp-otp-row{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.gp-otp-input{width:100%;padding:12px 12px;border-radius:10px;border:1px solid rgba(0,0,0,.18);font-size:15px}
.gp-otp-actions{display:flex;gap:10px;align-items:center;margin-top:12px}
.gp-otp-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:10px;border:0;background:#111;color:#fff;font-weight:800;cursor:pointer}
.gp-otp-btn[disabled]{opacity:.6;cursor:not-allowed}
.gp-otp-btn-secondary{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:10px;border:1px solid rgba(0,0,0,.14);background:#fff;color:#111;font-weight:800;cursor:pointer}
.gp-otp-link{background:transparent;border:0;color:#111;text-decoration:underline;cursor:pointer;font-weight:700}
.gp-otp-msg{margin-top:10px;font-size:14px;line-height:1.4}
.gp-otp-msg.is-error{color:#b00020}
.gp-otp-msg.is-ok{color:#0b7a2a}
.gp-otp-close{position:absolute;right:10px;top:10px;width:34px;height:34px;border-radius:10px;border:1px solid rgba(0,0,0,.12);background:#fff;cursor:pointer;font-weight:900}

.gp-safety-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;z-index:1000000}
.gp-safety-backdrop.is-open{display:block}
.gp-safety-modal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92vw,440px);background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.2);padding:22px 18px 18px}
.gp-safety-title{font-size:18px;font-weight:800;margin:0 0 12px 0;text-align:center}
.gp-safety-list{margin:0 0 6px 0;padding:0 0 0 18px;font-size:14px;line-height:1.55;color:#222}
.gp-safety-list li{margin:0 0 10px 0}
.gp-safety-list li:last-child{margin-bottom:0}
