/* ============================================ */
/* PRINT STYLES (primary block)                 */
/* ============================================ */
/* PRINT STYLES */
/* PRINT STYLES */
@media print {
  /* Hide credibility line in PDF / print */
  .credibility-line { display: none !important; }


  /* General page setup */
  body {
    margin: 0;
    background: #ffffff;
  }

  .page {
    max-width: none;
    margin: 0;
    padding: 10mm;
  }

  
  /* --- PDF Cover Page (headline + scenario + contact) as FIRST page --- */
  .page {
    display: flex;
    flex-direction: column;
  }

  /* Put the main headline at the very top in print */
  .page > h1 { order: -30; }
  .page > p { order: -29; }              /* first paragraph under headline */
  .page > .gold-tagline { order: -28; }  /* GOLD STANDARD line */

  /* Then the gold contact box + scenario tools */
  .contact-box { order: -20; }
  .scenario-tools { order: -19; }

  /* Start the main calculator cards on page 2 */
  .cards { order: 0; }

  /* Hide action button row in print */
  .actions { display: none !important; }
/* Hide interactive controls and Share box in printed report */
  #backToTopBtn,
  #backToSMSBtn,
  #floatingTourBtn,
  .actions,
  .share-box {
    display: none !important;
  }

  /* Three input cards: side-by-side on ONE page */
  .cards {
    display: flex !important;
    flex-direction: row;
    gap: 6px;
    page-break-before: always;
    page-break-after: always;
    page-break-inside: avoid;
    align-items: flex-start;
  }

  .card {
    flex: 1 1 32%;
    width: 32%;
    margin: 0;
    page-break-after: auto;
    page-break-inside: avoid;
    font-size: 0.65rem;
    padding: 4px 6px;
    border-width: 2px !important;
  }

  /* Tighten inputs & fields for print */
  .card input {
    font-size: 0.65rem !important;
    padding: 2px 4px !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .card label {
    font-size: 0.65rem !important;
    margin-bottom: 1px !important;
  }

  .card .field-row {
    margin-bottom: 2px !important;
  }

  .card h2 {
    font-size: 0.85rem !important;
    margin: 2px 0 4px !important;
  }

  /* Scenario name/date printed on page 1 — bottom-right corner */
  .card.household {
    position: relative;  /* enables positioning inside this card */
  }

  #scenarioMeta {
    display: block !important; /* visible only in print */
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: 0.85rem;
    font-weight: 600;
  }

  /* headings & cards: each on its own page */
  .-heading {
    page-break-before: always;
    margin: 0 0 5mm 0;
    text-align: center;
  }

  .-card {
    width: 100%;
    margin: 0 auto;
    page-break-after: always;
  }

  /* Tables: compact font & tight padding for single-page fit */
  #resultsCard table {
    font-size: 7.5pt;
  }
  #detailResultsCard table {
    font-size: 6pt;
  }

  #resultsCard th,
  #resultsCard td,
  #detailResultsCard th,
  #detailResultsCard td {
    padding: 1.5px 3px;
  }

  /* Prevent summary and detail tables from splitting across pages */
  #resultsCard table,
  #detailResultsCard table {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    border-collapse: collapse !important;
  }

  #resultsCard thead,
  #detailResultsCard thead {
    display: table-header-group !important;
    position: static !important;
    box-shadow: none !important;
  }

  #resultsCard tbody,
  #detailResultsCard tbody {
    display: table-row-group !important;
  }

  #resultsCard tr, #resultsCard th, #resultsCard td,
  #detailResultsCard tr, #detailResultsCard th, #detailResultsCard td {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  /* Allow charts to grow full height, no clipping */
  .-card .table-wrapper {
    max-height: none !important;
    overflow: visible !important;
  }

  /* Always show detailed heading in print */
  #detailHeading {
    display: block !important;
  }

  /* Always show detailed chart in print even if hidden on screen */
  #detailResultsCard {
    display: block !important;
    visibility: visible !important;
  }
}
 
.retirement-enhancements-wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
}

.retirement-enhancements-title {
  font-weight: 700;
  color: #2f9e44;
  font-size: 1rem;
  margin: 10px 0 12px;
  text-align: center;
}



/* Green labels for Annuity 1/2 and their Start Age fields (both spouses) */
label[for="s1_other1"],
label[for="s1_start1"],
label[for="s1_other2"],
label[for="s1_start2"],
label[for="s2_other1"],
label[for="s2_start1"],
label[for="s2_other2"],
label[for="s2_start2"] {
  color: #2f9e44;
}


/* Disable wobble / focus animation on inputs and sliders */
input:focus,
select:focus,
textarea:focus {
  animation: none !important;
  transition: none !important;
  transform: none !important;
  box-shadow: none !important;
}


/* Emphasize KEEP YOUR SALARY – crisp with black outline */
.keep-salary-emphasis {
  font-weight: 900;
  letter-spacing: 0.12em;
  color: #2f9e44;
  -webkit-text-stroke: 1px #000;
  text-stroke: 1px #000;
  text-shadow:
    0 0 2px rgba(47,158,68,0.35);
}


/* Slightly bolder borders for all entry boxes EXCEPT Spouse Dies fields */
input[type="text"]:not([id*="die"]):not([id*="dies"]),
input[type="number"]:not([id*="die"]):not([id*="dies"]),
select:not([id*="die"]):not([id*="dies"]) {
  border-width: 2px;
}


/* Make section/card borders bolder than entry boxes */
.card,
.household-card,
.spouse1,
.spouse2 {
  border-width: 3px !important;
}



/* Push Household "What If" section (title + below) downward to align with Spouse cards */
.card.household .house-subheading {
  margin-top: 60px;
}


/* Scenario save/load UI */
.scenario-tools{
  border: 3px solid #2f9e44;
  border-radius: 14px;
  padding: 14px 14px 12px;
  margin: 18px auto 8px;
  max-width: 980px;
}
.scenario-tools-title{
  margin: 0 0 10px;
  text-align:center;
  font-size: 1.05rem;
}
.scenario-tools-row{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap: wrap;
  margin: 8px 0;
}
.scenario-name{
  flex: 1 1 280px;
  min-width: 220px;
}
.scenario-select{
  flex: 1 1 320px;
  min-width: 220px;
}
.scenario-reminder-row{
  justify-content:center;
}
.scenario-reminder-label{
  display:flex;
  align-items:center;
  gap:8px;
  font-size: 0.95rem;
}
.scenario-reminder-when{
  min-width: 240px;
}
.scenario-tools-note{
  text-align:center;
  font-size: 0.85rem;
  color:#666;
  margin-top: 6px;
}


/* Emphasis for "Find out YOUR numbers TODAY" */
.your-numbers-emphasis {
  font-weight: 800;
  color: #2f9e44;
  white-space: nowrap;
}


/* Stronger visual distinction for main sections */
.card.household,
.card.spouse1,
.card.spouse2 {
  border-width: 5px !important;
}


