/* ============================================================
   NAVIGATE DISCLAIMER GATE — styles
   Ported 1:1 from the Navigate Portfolio Advisers mockup.
   All selectors are namespaced with .ndg- / #ndg- so this
   cannot collide with theme styles.
   ============================================================ */

:root{
  --ndg-navy-900:#117F9C;
  --ndg-navy-800:#13283D;
  --ndg-teal:#00999a;
  --ndg-teal-ink:#00999a;
  --ndg-mist:#F5F7F6;
  --ndg-line:#E1E7E3;
  --ndg-ink:#13283D;
  --ndg-body:#51606B;
  --ndg-muted:#8B97A0;
  --ndg-serif:"Fraunces",Georgia,"Liberation Serif",serif;
  --ndg-sans:"Inter",Arial,"Liberation Sans",system-ui,sans-serif;
}

@keyframes ndg-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.ndg-overlay,
.ndg-overlay *{box-sizing:border-box}

.ndg-overlay{
  position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px;
  background:rgba(9,24,40,.72);backdrop-filter:blur(6px);font-family:var(--ndg-sans);line-height:1.6;
  -webkit-font-smoothing:antialiased;overscroll-behavior:contain;
}
.ndg-overlay.ndg-show{display:flex;animation:ndg-fade .3s ease}
.ndg-overlay p{margin:0 0 1rem}
.ndg-overlay a{color:inherit;text-decoration:none}
.ndg-overlay img{max-width:100%;display:block}
.ndg-overlay h2,.ndg-overlay h3,.ndg-overlay h4{margin:0;font-weight:600;line-height:1.12;color:var(--ndg-ink)}

.ndg-serif{font-family:var(--ndg-serif)}

.ndg-card{
  width:min(920px,100%);max-height:92vh;max-height:92dvh;background:#fff;border-radius:18px;overflow:hidden;
  box-shadow:0 40px 120px rgba(0,0,0,.5);display:grid;grid-template-columns:300px 1fr;
  min-height:0;
}

.ndg-aside{background:var(--ndg-navy-900);color:#c4d4de;padding:40px 34px;display:flex;flex-direction:column;position:relative;overflow:hidden;min-height:0}
.ndg-rings{position:absolute;right:-60px;bottom:-60px;opacity:.5;width:220px;height:220px}
.ndg-brand{margin-bottom:8px;position:relative}
.ndg-logo{height:104px;width:auto;max-width:80%;display:block}
.ndg-aside-body{margin-top:auto;position:relative}
.ndg-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin:0 0 1.1rem;color:#FFFFFF}
.ndg-aside h3{color:#fff;font-family:var(--ndg-serif);font-weight:500;font-size:1.5rem;line-height:1.15;margin:0 0 12px}
.ndg-aside p{font-size:.86rem;color:#9fb3c2;margin:0}

.ndg-main{padding:38px 40px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0;max-height:92vh;max-height:92dvh}
.ndg-main h2{font-family:var(--ndg-serif);font-weight:500;font-size:1.62rem;margin:0 0 8px}
.ndg-intro{font-size:.94rem;color:var(--ndg-body);margin-bottom:26px}

.ndg-field-label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ndg-muted);font-weight:600;margin-bottom:10px}

.ndg-juris{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 20px;margin-bottom:26px}
.ndg-juris label{border:1px solid var(--ndg-line);border-radius:10px;padding:12px 10px;font-size:.86rem;font-weight:500;color:var(--ndg-navy-800);text-align:center;cursor:pointer;transition:.16s;display:block}
.ndg-juris label:hover{border-color:var(--ndg-teal)}
.ndg-juris input{position:absolute;opacity:0;pointer-events:none}
.ndg-juris input:checked+label,.ndg-juris label.ndg-sel{border-color:var(--ndg-teal);background:rgba(31,160,126,.08);box-shadow:inset 0 0 0 1px var(--ndg-teal)}

.ndg-confirm{display:flex;gap:12px;align-items:flex-start;background:var(--ndg-mist);border-radius:12px;padding:16px 18px;margin-bottom:22px}
.ndg-confirm input{margin-top:3px;width:18px;height:18px;accent-color:var(--ndg-teal)}
.ndg-confirm label{font-size:.86rem;color:var(--ndg-body);line-height:1.5}

.ndg-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ndg-btn{display:inline-flex!important;align-items:center;gap:9px;font-weight:600!important;font-size:.92rem!important;padding:13px 24px!important;border-radius:99px!important;transition:.18s;cursor:pointer;border:0!important;font-family:var(--ndg-sans)!important;text-transform:none!important;letter-spacing:normal!important;box-shadow:none!important;text-decoration:none!important;line-height:normal!important}
.ndg-btn[disabled]{opacity:.4;cursor:not-allowed}
.ndg-btn-dark{background:var(--ndg-navy-800)!important;color:#fff!important}
.ndg-btn-dark:hover,.ndg-btn-dark:focus{background:var(--ndg-navy-900)!important;color:#fff!important}

.ndg-terms-toggle{
  display:inline!important;
  background:none!important;
  background-color:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
  min-width:0!important;
  width:auto!important;
  height:auto!important;
  line-height:inherit!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  text-align:left!important;
  vertical-align:baseline!important;
  font-size:.82rem!important;
  font-weight:600!important;
  font-family:inherit!important;
  color:var(--ndg-teal-ink)!important;
  text-decoration:underline!important;
  cursor:pointer!important;
}
.ndg-terms-toggle:hover,
.ndg-terms-toggle:focus,
.ndg-terms-toggle:active{
  background:none!important;
  background-color:transparent!important;
  color:var(--ndg-teal-ink)!important;
  text-decoration:underline!important;
  box-shadow:none!important;
}
.ndg-terms-full{display:none;margin-top:22px;border-top:1px solid var(--ndg-line);padding-top:20px;max-height:230px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;font-size:.78rem;color:var(--ndg-muted);line-height:1.7}
.ndg-terms-full.ndg-open{display:block}
.ndg-terms-full h4{font-size:.82rem;color:var(--ndg-navy-800);margin:14px 0 6px}

.ndg-decline{font-size:.84rem;color:var(--ndg-muted);text-decoration:underline;cursor:pointer}

.ndg-inapp-banner{
  display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  width:min(920px,100%);margin:0 auto 12px;padding:10px 14px;border-radius:10px;
  background:#FFF4E5;border:1px solid #F3C98B;color:#7A4A00;font-size:.8rem;line-height:1.5;
  direction:rtl;text-align:right;
}
.ndg-inapp-banner button{
  flex-shrink:0;border:1px solid #7A4A00!important;background:#fff!important;color:#7A4A00!important;
  font-size:.78rem!important;font-weight:600!important;padding:6px 12px!important;border-radius:99px!important;
  cursor:pointer;font-family:inherit!important;
}

@media(max-width:860px){
  html.ndg-lock,body.ndg-lock{position:static!important;height:auto!important;min-height:100%;overflow:visible!important;overflow-y:visible!important}
  body.ndg-lock > *:not(#ndg-gate){display:none!important}
  .ndg-overlay.ndg-show{
    position:static!important;display:block!important;overflow:visible!important;
    min-height:100vh;min-height:100dvh;padding:16px 16px 48px;backdrop-filter:none;
  }
  .ndg-card{grid-template-columns:1fr;max-height:none;margin:12px auto;overflow:visible}
  .ndg-aside{display:none}
  .ndg-main{max-height:none;overflow:visible;-webkit-overflow-scrolling:auto;padding-bottom:104px}
  .ndg-juris{grid-template-columns:1fr 1fr;gap:18px 16px}

  /* Pin the action buttons to the bottom of the screen so reaching them
     never depends on scroll working correctly on any given phone/browser. */
  .ndg-actions{
    position:fixed!important;left:0;right:0;bottom:0;z-index:1000000;margin:0!important;
    background:#fff;border-top:1px solid var(--ndg-line);
    padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px))!important;
    box-shadow:0 -8px 24px rgba(0,0,0,.18);
    justify-content:center;flex-wrap:nowrap;gap:10px;
  }
  .ndg-actions .ndg-btn{flex:1 1 auto;justify-content:center;text-align:center}
  .ndg-actions .ndg-decline{flex:0 0 auto;white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){
  .ndg-overlay,.ndg-overlay *{animation:none!important;transition:none!important}
}
