/* ===== Growth Plan Modal ===== */
.gp-dim{
  position:fixed;
  left:0; right:0;
  top:70px; bottom:0; /* ignore navbar */
  background:rgba(0,0,0,0.78);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
  z-index:6000;
}
.gp-dim.open{opacity:1;pointer-events:auto;}

.gp-modal{
  position:fixed;
  top:calc(70px + 26px);
  left:50%;
  transform:translateX(-50%) translateY(8px);
  width:min(720px, calc(100% - 2.4rem));
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,245,245,1),rgba(255,255,255,0.95));
  border:1px solid rgba(255,80,80,0.35);
  box-shadow: 0 0 36px rgba(255,80,80,0.14), 0 30px 130px rgba(0,0,0,0.34);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
  z-index:6001;
  overflow:hidden;
}
.gp-modal.open{
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0px);
}
.gp-modal::before{
  content:"";
  position:absolute;
  inset:-40%;
  background:
    radial-gradient(circle at 0 0,rgba(255,133,133,0.18) 0%,rgba(255,255,255,0) 52%),
    radial-gradient(circle at 100% 100%,rgba(157,107,255,0.16) 0%,rgba(255,255,255,0) 60%);
  opacity:.95;
  mix-blend-mode:multiply;
  pointer-events:none;
}

.gp-inner{position:relative;z-index:2;padding:1.6rem 1.35rem 1.35rem;display:flex;flex-direction:column;gap:1rem;}
.gp-toprow{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;}
.gp-title{font-size:clamp(1.25rem,.6vw + 1.05rem,1.6rem);line-height:1.2;font-weight:700;color:#111;letter-spacing:-0.02em;}
.gp-close{width:42px;height:38px;border-radius:12px;border:1px solid rgba(0,0,0,0.10);background:rgba(255,255,255,0.7);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;box-shadow:0 18px 55px rgba(0,0,0,0.10);font-weight:900;color:#111;}
.gp-close:hover{transform:translateY(-1px);border-color:rgba(255,59,59,0.35);box-shadow:0 0 22px rgba(255,59,59,0.16), 0 22px 70px rgba(0,0,0,0.12);}

.gp-copy{font-size:.95rem;line-height:1.65;color:#2f2f2f;max-width:680px;}
.gp-copy strong{font-weight:800;color:#111;}

.gp-form{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-top:.35rem;}
@media(max-width:640px){.gp-form{grid-template-columns:1fr;}}
.gp-field{display:flex;flex-direction:column;gap:.45rem;}
.gp-label{font-family:"Roboto Mono",monospace;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#7a2a2a;}
.gp-input{width:100%;border-radius:14px;border:1px solid rgba(255,59,59,0.26);background:rgba(255,255,255,0.80);padding:.85rem .9rem;font-size:.92rem;outline:none;transition:border-color .16s ease, box-shadow .16s ease;}
.gp-input:focus{border-color:rgba(255,59,59,0.70);box-shadow:0 0 18px rgba(255,59,59,0.18);}

.gp-consent{grid-column:1 / -1;display:flex;gap:.7rem;align-items:flex-start;margin-top:.1rem;padding:.8rem .9rem;border-radius:16px;border:1px solid rgba(255,59,59,0.22);background:rgba(255,255,255,0.55);}
.gp-consent input{margin-top:.2rem;}
.gp-consent small{font-size:.78rem;line-height:1.45;color:#333;}

.gp-actions{margin-top:.6rem;display:flex;align-items:center;justify-content:flex-end;gap:.8rem;flex-wrap:wrap;}
.gp-secondary{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;padding:.82rem 1rem;border-radius:999px;border:1px solid rgba(0,0,0,0.10);background:rgba(255,255,255,0.65);cursor:pointer;transition:all .16s ease;}
.gp-secondary:hover{transform:translateY(-1px);border-color:rgba(255,59,59,0.28);box-shadow:0 0 18px rgba(255,59,59,0.14);background:rgba(255,255,255,0.82);}

.gp-primary{background:var(--harsh-red);color:#fff;border:1px solid rgba(255,255,255,0.75);border-radius:999px;padding:.88rem 1.35rem;min-width:210px;text-align:center;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.20em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 22px rgba(255,59,59,0.28);transition:all .18s ease;backdrop-filter:blur(6px);}
.gp-primary:hover{background:#ff5959;transform:translateY(-1px);box-shadow:0 0 30px rgba(255,110,110,0.38);}

.gp-footnote{margin-top:.25rem;font-size:.74rem;line-height:1.45;color:#6a2b2b;opacity:.9;}


/* ========= HARD FIX: Growth Plan + Nav button consistency ========= */

/* Make any nav "button" behave like the pill links */
.site-header button.nav-link,
.site-header .nav-link[type="button"]{
  -webkit-appearance:none;
  appearance:none;
  cursor:pointer !important;
  font: inherit;
  background: rgba(255,255,255,0.6);
  color:#444;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:999px;
  padding:.5rem .85rem;
  transition:all .18s ease;
}

.site-header button.nav-link:hover,
.site-header .nav-link[type="button"]:hover{
  color:#111;
  border-color:rgba(0,0,0,0.14);
  box-shadow:0 10px 30px rgba(0,0,0,0.10);
  background:rgba(255,255,255,0.85);
  transform:translateY(-1px);
}

/* Mobile drawer button should also behave like the links */
.mobile-drawer button.mobile-drawer-link{
  -webkit-appearance:none;
  appearance:none;
  cursor:pointer !important;
  font: inherit;
  width:100%;
  text-align:left;
}

/* FIX: gp primary button disappearing (force visible always) */
.gp-primary,
.gp-actions .gp-primary,
.gp-primary.harsh-red-btn{
  opacity:1 !important;
  visibility:visible !important;
  display:inline-flex !important;
  pointer-events:auto !important;
  color:#fff !important;
  background:#ff3b3b !important;
}

/* Sometimes a parent hover-card sets child opacity—neutralise it */
.gp-modal .gp-actions,
.gp-modal .gp-actions *{
  opacity:1 !important;
  visibility:visible !important;
}

/* Ensure cursor is correct on any clickable inside modal */
.gp-modal button,
.gp-modal .gp-primary,
.gp-modal .gp-secondary{
  cursor:pointer !important;
}
