/* === Keep Going Magic Login – unified styles === */

/* Card wrapper (keeps space above footer + background) */
.kg-wrap{
  max-width: 780px;
  margin: 80px auto 140px;      /* top under header, bottom above sticky footer */
  padding: 32px 28px;
  background: #f3f4f6;          /* soft gray card */
  border-radius: 14px;
  box-shadow: 0 1px 0 rgba(0,0,0,.03);
  position: relative; z-index: 1;
}

/* Headings */
.kg-title{font-size:34px;line-height:1.2;margin:0 0 6px}
.kg-subtitle{opacity:.75;margin:0 0 22px;font-size:16px}

/* Form layout */
.kg-form { max-width: 780px; margin: 0 auto; }
.kg-row { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.kg-row--single { grid-template-columns:1fr; }
.kg-field { display:flex; flex-direction:column; }
.kg-label { font-size:16px; opacity:.85; margin-bottom:8px; }

/* Inputs – underlined style, readable on light bg */
.kg-input,.kg-textarea{
  width:100%; background:transparent; border:none;
  border-bottom:1.5px solid rgba(0,0,0,.28);
  color:#111827; padding:10px 0 12px; outline:0;
  transition:border-color .2s, box-shadow .2s;
}
.kg-input::placeholder,.kg-textarea::placeholder{opacity:.45}
.kg-input:focus,.kg-textarea:focus{
  border-bottom-color:#7c3aed; box-shadow:0 1px 0 0 #7c3aed;
}
.kg-textarea{min-height:140px; resize:vertical}

/* Button – pill CTA (no arrow) */
.kg-btn{
  margin-top:18px; padding:12px 22px;
  border-radius:9999px; border:1.5px solid #111827;
  background:#111827; color:#fff; font-weight:600; letter-spacing:.2px;
  display:inline-block; text-decoration:none; cursor:pointer;
  transition:transform .06s, background .2s, border-color .2s, color .2s;
}
.kg-btn:hover{ background:#1f2937; border-color:#1f2937 }
.kg-btn:active{ transform:translateY(1px) }

/* Wider single-field row (email) */
.kg-form .kg-row--single .kg-field{ max-width:520px }

/* Responsive */
@media (max-width:720px){
  .kg-wrap{ margin:48px 16px 120px; padding:24px }
  .kg-row{ grid-template-columns:1fr }
}

/* --- Fix header overlap and spacing for Magic Login page (ID: 2808) --- */
body.page-id-2808 .entry-header,
body.page-id-2808 .page-header,
body.page-id-2808 .page-title,
body.page-id-2808 .titlebar,
body.page-id-2808 .section-page-header {
  display: none !important;
}

body.page-id-2808 .kg-wrap {
  margin-top: 180px !important;  /* pushes card below any sticky or residual header */
  position: relative;
  z-index: 2;
}

/* When logged in (admin bar visible) */
body.admin-bar.page-id-2808 .kg-wrap {
  margin-top: 212px !important;
}

/* Fallback padding for some themes */
body.page-id-2808 .site-content,
body.page-id-2808 main,
body.page-id-2808 .content-area {
  padding-top: 40px;
}
/* Notice slot sits under the button with good spacing */
.kg-notice-slot { margin-top: 16px; }

/* Success + Error alerts */
.kg-alert {
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.35;
  display: inline-block;
}

.kg-alert.kg-success {
  background: #ecfdf5;              /* soft green bg */
  color: #065f46;                    /* deep green text */
  border: 1px solid #a7f3d0;
}

.kg-alert.kg-error {
  background: #fef2f2;              /* soft red bg */
  color: #991b1b;
  border: 1px solid #fecaca;
}

/* Hide the black WordPress admin bar on the frontend */
body.logged-in.admin-bar #wpadminbar {
  display: none !important;
}

/* Compensate for removed bar spacing */
html {
  margin-top: 0 !important;
}


