/* festive-checklist.css — styles for /festive-readiness-checklist only. */

.page-festive-checklist .checklist {
  display: grid;
  gap: var(--space-5);
}

.page-festive-checklist .checklist-group h2 {
  margin-top: 0;
}

.page-festive-checklist .checklist-group h2 .mono {
  display: inline-block;
  margin-right: var(--space-3);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-festive-checklist .checklist-items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-3);
}

.page-festive-checklist .check-item {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
  cursor: pointer;
  line-height: 1.5;
}

.page-festive-checklist .check-item input[type="checkbox"] {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-top: 3px;
  accent-color: var(--accent);
}

.page-festive-checklist .check-item:has(input[type="checkbox"]:checked) {
  color: var(--subtle);
}

/* Print-only blocks stay hidden on screen */
.page-festive-checklist .print-cover,
.page-festive-checklist .print-outro,
.page-festive-checklist .print-footer {
  display: none;
}

/* ---- Print: branded 2-page document, light body, dark cover band ---- */
@media print {
  .page-festive-checklist .topbar,
  .page-festive-checklist .site-footer,
  .page-festive-checklist .screen-title,
  .page-festive-checklist .checklist-actions,
  .page-festive-checklist .checklist-cta,
  .page-festive-checklist .toast,
  .page-festive-checklist .consent-banner {
    display: none !important;
  }

  html,
  body,
  .page-festive-checklist {
    background: #ffffff !important;
    color: #16181d !important;
  }

  body::before {
    display: none !important;
  }

  .page-festive-checklist .app-shell {
    padding: 0 !important;
    max-width: none !important;
  }

  /* Cover band */
  .page-festive-checklist .print-cover {
    display: block;
    background: linear-gradient(180deg, #151b29, #111521);
    border: 1px solid #343f53;
    border-bottom: 4px solid #85f0a7;
    border-radius: 0;
    padding: 26px 28px 22px;
    margin-bottom: 16px;
    color: #f4f6fb;
  }

  .page-festive-checklist .print-cover-top {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .page-festive-checklist .print-cover-brand {
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.22em;
    color: #c7cede;
  }

  .page-festive-checklist .print-cover-brand em {
    font-style: normal;
    letter-spacing: 0.08em;
    color: #6d7690;
  }

  .page-festive-checklist .print-cover-year {
    margin-left: auto;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.18em;
    color: var(--success);
  }

  .page-festive-checklist .print-cover-title {
    margin: 14px 0 6px;
    font-size: 34px;
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: #ffffff;
  }

  .page-festive-checklist .print-cover-sub {
    margin: 0;
    max-width: 62ch;
    font-size: 12.5px;
    line-height: 1.55;
    color: #aab3c8;
  }

  .page-festive-checklist .print-cover-meta {
    display: flex;
    gap: 18px;
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid #2c3648;
    font-family: var(--font-mono);
    font-size: 10.5px;
    letter-spacing: 0.14em;
    color: #85f0a7;
  }

  /* Phase groups */
  .page-festive-checklist .checklist {
    gap: 12px;
  }

  .page-festive-checklist .checklist-group {
    break-inside: avoid;
    page-break-inside: avoid;
    padding: 16px 18px 14px !important;
  }

  .page-festive-checklist .panel {
    background: #ffffff !important;
    border: 1px solid #d7dae0 !important;
    border-left: 4px solid #2e9e5b !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .page-festive-checklist .checklist-group h2 {
    font-size: 16.5px;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e4e7ec;
    color: #16181d !important;
  }

  .page-festive-checklist .checklist-group h2 .mono {
    color: #1c6b3c !important;
    background: #e6f6ec;
    border-radius: 4px;
    padding: 2px 7px;
    margin-right: 10px;
    font-size: 10.5px;
  }

  .page-festive-checklist .checklist-items {
    gap: 7px;
    font-size: 12.5px;
  }

  .page-festive-checklist .check-item {
    color: #16181d !important;
  }

  /* Crisp custom checkbox square in print */
  .page-festive-checklist .check-item input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    width: 13px;
    height: 13px;
    margin-top: 2px;
    border: 1.6px solid #3a4152;
    border-radius: 3px;
    background: #ffffff;
  }

  .page-festive-checklist .check-item input[type="checkbox"]:checked {
    background: #2e9e5b;
    border-color: #2e9e5b;
  }

  /* Closing strip */
  .page-festive-checklist .print-outro {
    display: block;
    margin-top: 16px;
    background: linear-gradient(180deg, #151b29, #111521);
    border: 1px solid #343f53;
    border-radius: 0;
    padding: 16px 20px;
    color: #c7cede;
    font-size: 12px;
    line-height: 1.55;
  }

  .page-festive-checklist .print-outro strong {
    color: #ffffff;
  }

  .page-festive-checklist .print-outro-url {
    font-family: var(--font-mono);
    color: var(--success);
    letter-spacing: 0.04em;
  }

  .page-festive-checklist .print-footer {
    display: none; /* replaced by PDF page footers from the render script */
  }
}
