/* =========================================================
   Edge Finder — SINGLE CLEAN STYLESHEET (RESET + LAYOUT)
   Replace the ENTIRE file with this.
   ========================================================= */

/* --- Safety reset for ONLY the Edge Finder area --- */
.edge-nav-wrap,
.edge-nav-wrap *{
  box-sizing: border-box !important;
writing-mode: horizontal-tb !important;
text-orientation: mixed !important;

}

/* Kill theme columns/multi-column behavior inside Edge Finder */
.edge-nav-wrap,
.edge-nav-wrap .edge-nav-card,
.edge-nav-wrap form,
.edge-nav-wrap .edge-nav-q,
.edge-nav-wrap .edge-nav-q--context,
.edge-nav-wrap .edge-nav-context-options,
.edge-nav-wrap .edge-nav-block{
  columns: auto !important;
  column-count: 1 !important;
  column-width: auto !important;
  -webkit-columns: auto !important;
  -webkit-column-count: 1 !important;
  -webkit-column-width: auto !important;
}

/* Also kill grid tricks some themes apply to form content */
.edge-nav-wrap form,
.edge-nav-wrap .edge-nav-context-options,
.edge-nav-wrap .edge-nav-block{
  display: block !important;
}

/* Force left alignment inside Edge Finder even if theme centers forms */
.edge-nav-wrap,
.edge-nav-wrap .edge-nav-card,
.edge-nav-wrap form{
  text-align: left !important;
}

/* ---- Card + typography ---- */
.edge-nav-wrap{
  max-width: 920px;
  margin: 0 auto;
  padding: 0 18px;
}

.edge-nav-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 18px;
  padding: 34px 40px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
}

.edge-nav-title{
  font-size: 44px;
  line-height: 1.12;
  letter-spacing: -0.01em;
  margin: 0 0 8px 0;
}

.edge-nav-subtitle{
  font-size: 18px;
  line-height: 1.6;
  opacity: 0.85;
  margin: 0 0 22px 0;
}

.edge-nav-title{
  font-size: 44px;
  line-height: 1.12;
  letter-spacing: -0.01em;
  margin: 0 0 8px 0;

  border-left: 6px solid #1f6fd6;
  padding-left: 14px;
}



.edge-nav-hr,
.edge-nav-card hr{
  border: 0;
  height: 1px;
  background: rgba(0,0,0,0.10);

  /* more breathing room below intro text */
  margin: 32px 0 30px;
}


.edge-nav-divider{
  border: 0;
  height: 1px;
  background: rgba(0,0,0,0.10);
  margin: 32px 0 10px; /* more space above, slight space below */
}



.edge-nav-card p,
.edge-nav-card li{
  font-size: 18px;
  line-height: 1.65;
  color: #111;
}

.edge-nav-card h3{
  font-size: 24px;
  margin: 26px 0 10px;
}

.edge-nav-instr{
  font-size: 20px;
  line-height: 1.45;
  margin: 0 0 14px 0;
}

.edge-nav-instr-sub{
  display: block;
  font-size: 18px;
  opacity: 0.75;
  margin-top: 6px;
}

/* =========================================================
   TYPOGRAPHY NORMALIZATION — QUESTIONS vs ANSWERS
   ========================================================= */

/* Question text (lead-in + numbered questions) */
.edge-nav-wrap .edge-nav-instr,
.edge-nav-wrap .edge-nav-block h3{
  font-size: 20px !important;   /* slightly smaller than before */
  line-height: 1.4 !important;
  font-weight: 700 !important;
}

/* Tighten only the first question block after the divider */
.edge-nav-wrap .edge-nav-block:first-of-type{
  margin-top: 18px !important;
}

/* Answer text (ALL radio + checkbox options) */
.edge-nav-wrap .edge-row > label{
  font-size: 18px !important;   /* slightly larger for readability */
  line-height: 1.55 !important;
  font-weight: 400 !important;
}

/* Helper text like “Select all that apply” */
.edge-nav-wrap .edge-nav-help{
  font-size: 16px !important;
  font-weight: 500 !important;   /* lighter than questions */
  color: #444 !important;        /* slightly softer */
}


/* ---- Option row layout (this is the key) ----
   We hard-reset floats/widths on BOTH input and span to prevent
   “checkbox centered + text in skinny right column”
*/
.edge-nav-wrap label.edge-nav-radio-row,
.edge-nav-wrap label.edge-option{
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 14px !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 14px 0 !important;
  padding: 0 !important;

  float: none !important;
  clear: both !important;

  cursor: pointer !important;
  text-align: left !important;
}

/* Inputs: keep them on the left, never centered */
.edge-nav-wrap label.edge-nav-radio-row > input[type="radio"],
.edge-nav-wrap label.edge-option > input[type="checkbox"],
.edge-nav-wrap label.edge-option > input[type="radio"]{
  flex: 0 0 auto !important;

  display: inline-block !important;
  position: static !important;
  float: none !important;

  margin: 0.33em 0 0 0 !important;

  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
}

/* Text span: force it to become the full-width wrapping column */
.edge-nav-wrap label.edge-nav-radio-row > span,
.edge-nav-wrap label.edge-option > span{
  display: block !important;

  flex: 1 1 0% !important;
  min-width: 0 !important;

  width: auto !important;
  max-width: 100% !important;

  float: none !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;

  font-size: 18px !important;
  line-height: 1.55 !important;
  color: #222 !important;
}

/* ---- Buttons ---- */
.edge-nav-actions{
  margin-top: 22px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

.edge-nav-wrap button{
  appearance: none;
  border: 1px solid rgba(0,0,0,0.12);
  background: #2f2f2f;
  color: #fff;
  border-radius: 12px;
  padding: 12px 16px;
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
}

.edge-nav-wrap button:hover{
  filter: brightness(1.06);
}

/* Subtle emphasis for Save / Print link */
.edge-nav-wrap .edge-nav-print-btn{
  background: #1f6fd6 !important;
  border-color: #1f6fd6 !important;
  color: #ffffff !important;
}

.edge-nav-wrap .edge-nav-print-btn:hover{
  filter: brightness(1.08) !important;
}


/* ---- Mobile ---- */
@media (max-width: 820px){
  .edge-nav-card{ padding: 26px 20px; }
  .edge-nav-title{ font-size: 36px; }
}


/* ---- Print (clean + stable) ---- */
@media print {

  @page { margin: 0.0in 0.8in 0.5in 0.8in; }

  /* Hide the theme title band + breadcrumb band */
  #content > .big-title,
  #content > .breadcrumb,
  .big-title,
  .breadcrumb{
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Collapse ONLY vertical spacing on main wrappers (do NOT touch .container/.row/.col-md-12) */
  #content,
  .site-content,
  .content-area,
  main,
  #main,
  .entry-content,
  article{
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Tighten header slightly in print */
  header,
  .site-header,
  .tm-header,
  .main-header{
    position: static !important;
    margin: 0 !important;
    padding: 6px 0 !important;
    min-height: 0 !important;
  }

  /* Print Edge Finder cleanly */
  .edge-nav-wrap{
    max-width: 100% !important;
    padding: 0 !important;
    margin: 1.5in 0 0 0 !important;
  }

  .edge-nav-card{
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
  }

  .edge-nav-card,
  .edge-nav-card p,
  .edge-nav-card li{
    font-size: 10.5pt !important;
    line-height: 1.35 !important;
    color: #000 !important;
  }

  .edge-nav-card h1,
  .edge-nav-card h3,
  .edge-nav-title{
    font-size: 16pt !important;
    margin: 0 0 8pt 0 !important;
  }

  /* Slightly reduce copyright footer size */
  .copyright{
    font-size: 8.5pt !important;
    line-height: 1.2 !important;
  }
}

@media screen {
  @supports (-webkit-overflow-scrolling: touch) {
    .edge-nav-wrap,
    .edge-nav-card,
    .edge-nav-context-options,
    .edge-nav-block{
      -webkit-transform: translate3d(0,0,0) !important;
      transform: translate3d(0,0,0) !important;
      -webkit-backface-visibility: hidden !important;
      backface-visibility: hidden !important;
      will-change: transform !important;
    }

    .edge-nav-card,
    .edge-nav-block{
      overflow: visible !important;
      -webkit-mask-image: none !important;
      mask-image: none !important;
    }
  }
}

/* ===== Final production layout rules ===== */

/* Radio + option row alignment */
.edge-nav-wrap .edge-row{
  display: grid !important;
  grid-template-columns: 22px minmax(0,1fr) !important;
  column-gap: 14px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 14px 0 !important;
}

.edge-nav-wrap .edge-row > input{
  grid-column: 1 !important;
  margin-top: 0.33em !important;
}

.edge-nav-wrap .edge-row > label{
  grid-column: 2 !important;
  margin: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
}

/* Submit button color */
.edge-nav-wrap .edge-nav-button,
.edge-nav-wrap button.edge-nav-button,
.edge-nav-wrap button[type="submit"]{
  background: #1f5fbf !important;
  border-color: rgba(31,95,191,0.35) !important;
  color: #fff !important;
}

/* Emphasize "Save or print this result" instruction */
.edge-nav-wrap .edge-nav-actions .edge-nav-print-link{
  color: #1f6fd6 !important;
  font-weight: 700 !important;   /* bold */
  font-size: 1.05em !important;  /* slightly larger */
}

/* UI (screen) — Edge Finder readable width + true inner margins */
@media screen {
  /* Wrapper: controls overall line length + side breathing room */
  body.page-id-6813 .entry-content .edge-nav-wrap{
    width: 100% !important;
    max-width: 960px !important;      /* adjust: 920 / 960 / 1000 */
    margin: 0 auto !important;
    padding: 0 28px !important;
    box-sizing: border-box !important;
  }

  /* Card: prevents theme “full-bleed” tricks + gives real text margins */
  body.page-id-6813 .entry-content .edge-nav-wrap .edge-nav-card{
    width: auto !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 34px 48px !important;   /* tweak 48 if needed */
    box-sizing: border-box !important;
  }
}

/* Mobile (iPhone) — prevent the card from becoming too narrow */
@media screen and (max-width: 768px) {
  body.page-id-6813 .entry-content .edge-nav-wrap{
    max-width: 100% !important;
    padding: 0 12px !important;      /* was 28px */
  }

  body.page-id-6813 .entry-content .edge-nav-wrap .edge-nav-card{
    padding: 18px 12px !important;   /* was 34px 48px */
  }
}
