/* Home page success popup + floating WhatsApp button (inc/engage.php). Stacking: content < WhatsApp (80) < header (90) < popup (120). */

/* ---------- WhatsApp ---------- */
.mb-wa{position:fixed;right:28px;bottom:calc(28px + env(safe-area-inset-bottom,0px));z-index:80;display:flex;align-items:center;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff!important;border:2px solid #fff;box-shadow:0 8px 22px rgba(6,27,56,.22);text-decoration:none!important;transition:transform .2s,box-shadow .2s,opacity .3s}
.mb-wa svg{flex:none;margin-left:12px}
.mb-wa:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(6,27,56,.28)}
.mb-wa:focus-visible{outline:3px solid #2f69ca;outline-offset:3px}
.mb-wa-label{position:absolute;right:calc(100% + 12px);top:50%;transform:translate(6px,-50%);padding:8px 12px;border-radius:6px;background:#082b63;color:#fff;font:600 12.5px/1 var(--font-sans,system-ui);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.mb-wa:hover .mb-wa-label,.mb-wa:focus-visible .mb-wa-label{opacity:1;transform:translate(0,-50%)}
.mb-wa.is-pulsing{animation:mb-wa-pulse 1.6s ease-out 1}
@keyframes mb-wa-pulse{0%{box-shadow:0 8px 22px rgba(6,27,56,.22),0 0 0 0 rgba(37,211,102,.45)}100%{box-shadow:0 8px 22px rgba(6,27,56,.22),0 0 0 16px rgba(37,211,102,0)}}
/* Hidden while the cinematic loader or the popup owns the screen, and while the mobile menu is open. */
.mb-intro .mb-wa,.mb-promo-open .mb-wa,body:has(.mb-header.menu-open) .mb-wa{opacity:0;visibility:hidden;pointer-events:none}
@media (max-width:640px){.mb-wa{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:52px;height:52px}.mb-wa svg{margin-left:10px}.mb-wa-label{display:none}}

/* ---------- popup ---------- */
.mb-promo{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px}
.mb-promo[hidden]{display:none}
.mb-promo-backdrop{position:absolute;inset:0;background:rgba(4,28,58,.58);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .4s ease}
.mb-promo-dialog{position:relative;width:min(560px,100%);max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain;padding:44px 48px 40px;background:#fbf8f1;border:1px solid rgba(200,155,77,.35);border-radius:18px;box-shadow:0 30px 70px rgba(4,28,58,.28);text-align:center;font-family:var(--font-sans,system-ui);opacity:0;transform:translateY(12px) scale(.985);transition:opacity .4s ease,transform .4s ease}
.mb-promo-dialog:focus{outline:none}
.mb-promo.is-open .mb-promo-backdrop,.mb-promo.is-open .mb-promo-dialog{opacity:1}
.mb-promo.is-open .mb-promo-dialog{transform:none}
.mb-promo-close{position:absolute;top:14px;right:14px;z-index:2;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(8,43,99,.14);border-radius:50%;background:#fff;color:#082b63;cursor:pointer;transition:background-color .2s,border-color .2s}
.mb-promo-close:hover{background:#f2f6fc;border-color:rgba(8,43,99,.3)}
.mb-promo :is(a,button):focus-visible{outline:3px solid #2f69ca;outline-offset:3px}
.mb-promo-emblem{display:inline-grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#fff;color:#a8792f;border:1px solid rgba(200,155,77,.55);box-shadow:0 0 0 8px rgba(200,155,77,.12)}
.mb-promo-title{margin:18px 0 0;font:400 clamp(40px,6vw,52px)/1.05 var(--font-serif,'DM Serif Display',Georgia,serif);letter-spacing:-.015em;color:#082b63}
.mb-promo-badge{display:inline-block;margin:16px 0 0;padding:11px 24px;border-radius:99px;background:#082b63;color:#fbf8f1;font:600 13px/1.2 var(--font-sans,system-ui);letter-spacing:.14em;text-transform:uppercase}
.mb-promo-text{max-width:430px;margin:16px auto 0;font-size:15px;line-height:1.65;color:#4f5f76}
.mb-promo-actions{display:flex;justify-content:center;margin-top:24px}
.mb-promo-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 28px;border-radius:3px;background:linear-gradient(#e8cd97,#ddbc7e);color:#061b38!important;font:600 13px/1.2 var(--font-sans,system-ui);letter-spacing:.1em;text-transform:uppercase;text-decoration:none!important;transition:background .2s}
.mb-promo-cta:hover{background:#e8cd97}
.mb-promo-open,.mb-promo-open body{overflow:hidden}
@media (max-width:430px){
	.mb-promo{padding:14px}
	.mb-promo-dialog{width:calc(100vw - 28px);max-height:calc(100dvh - 28px);padding:40px 22px 28px;border-radius:14px}
	.mb-promo-emblem{width:56px;height:56px}
	.mb-promo-title{font-size:38px}
	.mb-promo-badge{padding:10px 18px;font-size:11.5px;letter-spacing:.12em}
	.mb-promo-text{font-size:14px}
	.mb-promo-cta{width:100%}
	}
@media (prefers-reduced-motion:reduce){.mb-promo-backdrop,.mb-promo-dialog{transition:opacity .2s}.mb-promo-dialog{transform:none}.mb-wa{transition:none}.mb-wa.is-pulsing{animation:none}}
