/* =========================
   FILE: assets/css/custom.css
   ========================= */

/* ---- Top action bar (Members / Become A Member / Sign In) — match homepage Elementor header ---- */
.elementor-9 .elementor-element.mosap-top-bar,
.elementor-9 .elementor-element.elementor-element-c701533{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:0;
  padding:10px 0;
  background:#fff;
  border-bottom:1px solid #cecece;
}
.elementor-9 .mosap-top-bar-spacer,
.elementor-9 .elementor-element.elementor-element-c701533 > .mosap-top-bar-spacer{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0;
}
.elementor-9 .mosap-top-actions-group{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:0!important;
  width:auto!important;
  max-width:none!important;
  flex:0 0 auto!important;
}
.elementor-9 .mosap-top-actions-group > .elementor-widget{
  flex:0 0 auto!important;
  width:auto!important;
  margin:0!important;
}
.elementor-9 .mosap-top-actions-group .elementor-button{
  background-color:#01949A!important;
  color:#fff!important;
  font-family:Roboto,sans-serif;
  font-size:17px;
  font-weight:600;
  border-radius:10px;
  white-space:nowrap;
}
.elementor-9 .mosap-top-actions-group .elementor-button .elementor-button-content-wrapper{
  gap:7px;
}
body.mosap-page-signup .mosap-header-become-member{
  display:none!important;
}

/* ---- Layout wrappers (Hello Elementor-like spacing) ---- */
.mosap-page-wrap{padding:24px 0}
.mosap-page-wrap>.e-con-inner{max-width:1200px;margin:0 auto;padding:0 12px}
.mosap-form-widget{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;box-shadow:0 10px 28px rgba(0,0,0,.08)}
.mosap-form-widget .elementor-form{padding:18px 12px}

/* ---- Header (simple Elementor feel) ---- */
.mosap-header{position:sticky;top:0;z-index:999;background:#fff}
.mosap-topbar{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-bottom:1px solid rgba(0,0,0,.06)}
.mosap-topbar-right{display:flex;justify-content:flex-end}
.mosap-cta{background:#5a005a !important}
.mosap-head-main{border-bottom:1px solid rgba(0,0,0,.06)}
.mosap-head-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;gap:12px}
.mosap-logo{max-width:280px;height:auto;display:block}
.mosap-navwrap{display:flex;align-items:center;gap:12px}
.mosap-nav .mosap-menu{display:flex;align-items:center;gap:16px;list-style:none;margin:0;padding:0}
.mosap-menu a{font-weight:600;text-decoration:none}
.mosap-menu .sub-menu{display:none;position:absolute;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:10px;box-shadow:0 16px 28px rgba(0,0,0,.12);padding:10px;margin-top:10px;list-style:none}
.mosap-menu .menu-item-has-children{position:relative}
.mosap-menu .menu-item-has-children:hover>.sub-menu{display:block}
.mosap-menu .sub-menu a{display:block;padding:8px 10px;white-space:nowrap}

/* ---- Mobile menu ---- */
.mosap-menu-toggle{display:none;border:0;background:transparent;padding:10px;cursor:pointer}
.mosap-burger{display:block;width:22px;height:2px;background:#111;margin:4px 0;border-radius:2px}
.mosap-nav--mobile{display:none;border-top:1px solid rgba(0,0,0,.06);padding:10px 12px}
.mosap-nav--mobile .mosap-menu{display:flex;flex-direction:column;gap:10px}

/* ---- Footer ---- */
.mosap-footer{margin-top:28px}
.mosap-foot-top{background:#f7f7fb;border-top:1px solid rgba(0,0,0,.06)}
.mosap-foot-bottom{background:#f0f0f6;border-top:1px solid rgba(0,0,0,.06)}
.mosap-foot-inner{max-width:1200px;margin:0 auto;padding:18px 12px;display:flex;gap:18px;flex-wrap:wrap}
.mosap-foot-col{flex:1;min-width:260px}
.mosap-foot-logo{max-width:320px;height:auto;display:block;margin-bottom:10px}

/* ---- Elementor form field spacing consistency ---- */
.elementor-form .elementor-field-group{margin-bottom:14px}
.elementor-form .elementor-field-label{font-weight:600}
.elementor-form .elementor-field-textual{border-radius:6px}
.elementor-form .elementor-select-wrapper .select-caret-down-wrapper{right:10px;top:50%;transform:translateY(-50%);position:absolute;pointer-events:none}
.elementor-form .elementor-select-wrapper{position:relative}
.elementor-form .elementor-select-wrapper select{padding-right:38px}

/* ---- Wizard behavior (hide by step) ---- */
.mosap-is-hidden{display:none !important}
.mosap-step-buttons{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mosap-step-buttons .mosap-btn{min-width:120px}
.mosap-step-buttons .mosap-submit{background:#5a005a}
.mosap-step-buttons .mosap-prev{background:#3b3b3b}
.mosap-step-buttons .mosap-next{background:#5a005a}

/* ---- Signup page (theme 4307) overrides and enhancements ---- */
#content .mosap-wrap { min-height: 50vh; }
#content .mosap-card { border-radius: 20px; }
#content .mosap-control:hover { border-color: rgba(88,28,88,.28); }
#content .mosap-control:focus { outline: none; }
#content .mosap-field .form-check.form-switch .form-check-input { width: 2.75rem; height: 1.4rem; border-radius: 999px; background-color: rgba(88,28,88,.2); border-color: rgba(88,28,88,.25); }
#content .mosap-field .form-check.form-switch .form-check-input:checked { background-color: #581c58; border-color: #581c58; }
#content .mosap-btn { -webkit-tap-highlight-color: transparent; }
#content .mosap-stepper-item:focus-visible { outline: 2px solid #702470; outline-offset: 2px; }
#content .mosap-field .form-check.form-switch { align-items: center; gap: 10px; }
#content .mosap-field .form-check.form-switch .form-check-input { margin-top: 0; }

/* ---- Responsive ---- */
@media (max-width:1024px){
  .elementor-hidden-mobile{display:none !important}
  .mosap-menu-toggle{display:inline-flex}
  .mosap-nav{display:none}
  .mosap-logo{max-width:240px}
}

/* ---- Intl phone (intl-tel-input) ---- */
.mosap-phone-intl{width:100%;display:block}
.mosap-phone-intl .iti{width:100%;display:block}
.mosap-phone-intl .iti__selected-dial-code{display:none!important}
.mosap-phone-intl .iti__selected-country{background:transparent!important}
.mosap-phone-intl .iti{position:relative}
.mosap-phone-intl .iti .iti__country-container{
  z-index:2;
  left:0;
  top:0;
  bottom:0;
}
.mosap-phone-intl .iti .iti__selected-country{
  padding:0 6px 0 10px;
  background:transparent!important;
}
.mosap-phone-intl .iti input.iti__tel-input,
.mosap-phone-intl .iti input.mosap-phone-intl-input,
.mosap-phone-intl .iti input[type=tel]{
  width:100%!important;
  min-height:44px;
  border-radius:10px;
  border:1px solid rgba(88,28,88,.18);
  font-size:17px;
  line-height:1.35;
  padding-left:56px!important;
  padding-right:56px!important;
  text-align:center;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  font-variant-numeric:tabular-nums;
  letter-spacing:.08em;
}
.mosap-phone-intl .iti input.iti__tel-input:focus,
.mosap-phone-intl .iti input.mosap-phone-intl-input:focus{
  outline:none;
  border-color:rgba(112,36,112,.45);
  box-shadow:0 0 0 4px rgba(112,36,112,.12);
}
.mosap-field.has-error .mosap-phone-intl .iti__tel-input,
.mosap-field.has-error .mosap-phone-intl .mosap-phone-intl-input{
  border-color:#b91c1c;
}
.iti__country-list{z-index:100050!important}
#content .mp-grid .mosap-phone-intl .iti input.iti__tel-input,
#content .mp-grid .mosap-phone-intl .iti input.mosap-phone-intl-input{
  border-radius:12px;
  border:1px solid rgba(2,6,23,.12);
  min-height:44px;
}
.mp-grid > div:has(.mosap-phone-intl){grid-column:1 / -1}
