.cmra {
  /* CSS custom properties */
--primary: #8A061C;
    --primary-dark: #6b0415;
    --primary-soft: #fbeaec;
    --accent: #c7a156;
    --accent-soft: #faf5e8;
    --success: #5a8a3a;
    --success-soft: #f1f6ea;
    --warning: #c68a2a;
    --warning-soft: #faf2e0;
    --danger: #8A061C;
    --danger-soft: #fbeaec;
    --text: #32373c;
    --text-muted: #5f6771;
    --text-soft: #9aa1ab;
    --bg: transparent;
    --surface: #ffffff;
    --border: #e5e7eb;
    --border-strong: #d1d5db;
    --radius: 14px;
    --radius-sm: 10px;
    --shadow-sm: 0 1px 2px rgba(50, 55, 60, 0.04);
    --shadow-md: 0 6px 18px -6px rgba(138, 6, 28, 0.35);
    --ease: cubic-bezier(0.4, 0, 0.2, 1);
  /* font + text defaults */
font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: var(--text);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  /* page background + padding */
padding: 24px 16px;
    background: #fafaf7;
}

.cmra * { box-sizing: border-box; margin: 0; padding: 0; }

/* Defensive reset — themes (and Elementor) often style raw <button> elements with
   their own background/color, which breaks our transparent/border-only buttons
   (download PDF, restart). Individual button classes below override as needed. */
.cmra button {
  background: transparent;
  border: none;
  font: inherit;
  color: inherit;
  cursor: pointer;
  text-shadow: none;
}
.cmra button:hover,
.cmra button:focus {
  background: transparent;
}

.cmra .cmra-app {
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

.cmra .cmra-progress-wrap {
    padding: 18px 22px 0;
  }

.cmra .cmra-progress {
    height: 4px;
    background: var(--border);
    border-radius: 999px;
    overflow: hidden;
  }

.cmra .cmra-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, var(--primary) 0%, var(--accent) 100%);
    border-radius: 999px;
    transition: width 400ms var(--ease);
    width: 0%;
  }

.cmra .cmra-step-counter {
    font-size: 11px;
    color: var(--text-soft);
    text-align: center;
    margin-top: 8px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 600;
  }

.cmra main {
    flex: 1;
    padding: 28px 28px 22px;
    display: flex;
    flex-direction: column;
  }

.cmra .cmra-screen { display: flex; flex-direction: column; flex: 1; animation: fadeIn 280ms var(--ease); }

.cmra .cmra-screen[hidden] { display: none !important; }

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
  }

.cmra h1 { font-size: 28px; line-height: 1.2; letter-spacing: -0.02em; font-weight: 700; margin-bottom: 8px; }

.cmra h2 { font-size: 22px; line-height: 1.25; letter-spacing: -0.015em; font-weight: 700; margin-bottom: 6px; }

.cmra .cmra-lead { color: var(--text-muted); font-size: 15px; margin-bottom: 24px; }

.cmra .cmra-eyebrow { font-size: 11px; font-weight: 700; color: #a68640; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 10px; }

.cmra .cmra-field-label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 10px; color: var(--text); }

.cmra .cmra-field + .cmra-field { margin-top: 20px; }

/* Hero screen */

.cmra .cmra-hero {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 10px 0 14px;
  }

.cmra .cmra-hero-icon {
    width: 92px;
    height: 92px;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--primary-soft), var(--accent-soft));
    border-radius: 28px;
    position: relative;
    animation: float 3s ease-in-out infinite;
  }

@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
  }

.cmra .cmra-hero h1 { font-size: 32px; margin-bottom: 12px; max-width: 16ch; }

.cmra .cmra-hero p.cmra-lead { max-width: 34ch; margin-bottom: 28px; font-size: 16px; }

.cmra .cmra-hero .cmra-meta { font-size: 13px; color: var(--text-soft); margin-top: 18px; }

/* Chips */

.cmra .cmra-chips { display: flex; flex-wrap: wrap; gap: 8px; }

.cmra .cmra-chip {
    background: var(--surface) !important;
    border: 1.5px solid var(--border);
    border-radius: 999px;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--text) !important;
    cursor: pointer;
    transition: all 150ms var(--ease);
    user-select: none;
    font-family: inherit;
    position: relative;
    z-index: 1;
    -webkit-tap-highlight-color: transparent;
  }

.cmra .cmra-chip:hover { border-color: var(--primary); color: var(--primary) !important; }

.cmra .cmra-chip.cmra-selected {
    background: var(--primary) !important;
    color: white !important;
    border-color: var(--primary);
    box-shadow: 0 4px 12px -2px rgba(199, 161, 86, 0.45);
  }

.cmra .cmra-chip:active { transform: scale(0.97); }

.cmra .cmra-age-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
  }

.cmra .cmra-age-grid .cmra-chip {
    padding: 14px 0;
    text-align: center;
    font-weight: 600;
    font-size: 15px;
  }

/* Text input */

.cmra .cmra-text-input {
    width: 100%;
    padding: 12px 14px;
    border: 1.5px solid var(--border);
    border-radius: var(--radius-sm);
    font-size: 15px;
    font-family: inherit;
    background: var(--surface);
    color: var(--text);
    transition: border-color 150ms var(--ease);
  }

.cmra .cmra-text-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(199, 161, 86, 0.18);
  }

.cmra .cmra-optional-tag { font-size: 12px; color: var(--text-soft); font-weight: 400; margin-left: 6px; }

/* Sign cards */

.cmra .cmra-sign-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

.cmra .cmra-sign-card {
    background: var(--surface) !important;
    border: 1.5px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 14px 12px;
    cursor: pointer;
    transition: all 150ms var(--ease);
    display: flex;
    gap: 10px;
    align-items: flex-start;
    text-align: left;
    font-family: inherit;
    color: var(--text) !important;
    position: relative;
    z-index: 1;
    -webkit-tap-highlight-color: transparent;
  }

.cmra .cmra-sign-card:hover { border-color: var(--primary); }

.cmra .cmra-sign-card.cmra-selected {
    background: var(--primary-soft) !important;
    border-color: var(--primary);
  }

.cmra .cmra-sign-card .cmra-sign-icon {
    font-size: 20px;
    line-height: 1;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    background: var(--bg);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

.cmra .cmra-sign-card.cmra-selected .cmra-sign-icon {
    background: white;
  }

.cmra .cmra-sign-card .cmra-sign-label {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
  }

.cmra .cmra-sign-card .cmra-sign-check {
    margin-left: auto;
    width: 18px;
    height: 18px;
    border: 1.5px solid var(--border-strong);
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 150ms var(--ease);
  }

.cmra .cmra-sign-card.cmra-selected .cmra-sign-check {
    background: var(--primary);
    border-color: var(--primary);
  }

.cmra .cmra-sign-card.cmra-selected .cmra-sign-check::after {
    content: '✓';
    color: white;
    font-size: 11px;
    font-weight: 700;
  }

/* Sliders */

.cmra .cmra-slider-field { margin-top: 18px; }

.cmra .cmra-slider-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 10px;
  }

.cmra .cmra-slider-label { font-size: 14px; font-weight: 600; }

.cmra .cmra-slider-value {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary);
    font-variant-numeric: tabular-nums;
  }

.cmra .cmra-slider-value.cmra-warn { color: var(--warning); }

.cmra .cmra-slider-value.cmra-danger { color: var(--danger); }

.cmra input[type=range] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 6px;
    background: var(--border);
    border-radius: 999px;
    outline: none;
    margin: 4px 0;
  }

.cmra input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 22px; height: 22px;
    border-radius: 50%;
    background: var(--primary);
    cursor: pointer;
    border: 3px solid white;
    box-shadow: 0 2px 8px rgba(199, 161, 86, 0.5);
    transition: transform 100ms var(--ease);
  }

.cmra input[type=range]::-webkit-slider-thumb:active { transform: scale(1.15); }

.cmra input[type=range]::-moz-range-thumb {
    width: 22px; height: 22px;
    border-radius: 50%;
    background: var(--primary);
    cursor: pointer;
    border: 3px solid white;
    box-shadow: 0 2px 8px rgba(199, 161, 86, 0.5);
  }

.cmra .cmra-slider-hint {
    font-size: 12px;
    color: var(--text-soft);
    margin-top: 4px;
    min-height: 1.4em;
  }

.cmra .cmra-slider-hint.cmra-warn { color: var(--warning); }

.cmra .cmra-slider-hint.cmra-good { color: var(--success); }

/* Footer nav */

.cmra .cmra-footer-nav {
    padding: 18px 28px 24px;
    border-top: 1px solid var(--border);
    display: flex;
    gap: 10px;
    background: var(--surface);
  }

.cmra .cmra-footer-nav[hidden] { display: none !important; }

.cmra .cmra-btn {
    flex: 1;
    padding: 14px 20px;
    border: none;
    border-radius: var(--radius-sm);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: all 150ms var(--ease);
  }

.cmra .cmra-btn-primary {
    background: var(--primary);
    color: white;
    box-shadow: var(--shadow-md);
  }

.cmra .cmra-btn-primary:hover:not(:disabled) { background: var(--primary-dark); transform: translateY(-1px); }

.cmra .cmra-btn-primary:disabled {
    background: var(--border);
    color: var(--text-soft);
    cursor: not-allowed;
    box-shadow: none;
  }

.cmra .cmra-btn-primary:active:not(:disabled) { transform: translateY(0); }

.cmra .cmra-btn-ghost {
    background: transparent;
    color: var(--text-muted);
    border: 1.5px solid var(--border);
    flex: 0 0 auto;
    padding: 14px 18px;
  }

.cmra .cmra-btn-ghost:hover { color: var(--text); border-color: var(--border-strong); }

/* Report screen */

.cmra .cmra-report { padding: 0; }

.cmra .cmra-report .greeting {
    text-align: center;
    font-size: 14px;
    color: var(--text-muted);
    margin-bottom: 2px;
    font-weight: 500;
  }

.cmra .cmra-report h2 {
    text-align: center;
    margin-bottom: 20px;
    font-size: 22px;
  }

.cmra .cmra-gauge-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 22px;
  }

.cmra .cmra-gauge {
    width: 220px;
    height: 120px;
    position: relative;
  }

.cmra .cmra-gauge svg { width: 100%; height: 100%; overflow: visible; }

.cmra .cmra-gauge-bg {
    fill: none;
    stroke: var(--border);
    stroke-width: 14;
    stroke-linecap: round;
  }

.cmra .cmra-gauge-fill {
    fill: none;
    stroke-width: 14;
    stroke-linecap: round;
    stroke-dasharray: 283;
    stroke-dashoffset: 283;
    transition: stroke-dashoffset 1000ms var(--ease), stroke 600ms var(--ease);
  }

.cmra .cmra-gauge-fill.cmra-low { stroke: var(--success); }

.cmra .cmra-gauge-fill.cmra-moderate { stroke: var(--warning); }

.cmra .cmra-gauge-fill.cmra-high { stroke: var(--danger); }

.cmra .cmra-gauge-label {
    position: absolute;
    bottom: -2px;
    left: 0; right: 0;
    text-align: center;
  }

.cmra .cmra-gauge-bucket {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.01em;
  }

.cmra .cmra-gauge-bucket.cmra-low { color: var(--success); }

.cmra .cmra-gauge-bucket.cmra-moderate { color: var(--warning); }

.cmra .cmra-gauge-bucket.cmra-high { color: var(--danger); }

.cmra .cmra-gauge-score {
    font-size: 12px;
    color: var(--text-muted);
    margin-top: 2px;
    font-variant-numeric: tabular-nums;
  }

.cmra .cmra-factors-section-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--text-muted);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 10px;
    padding: 0 4px;
  }

.cmra .cmra-factors { display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px; }

.cmra .cmra-factor {
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 12px 14px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
  }

.cmra .cmra-factor .cmra-factor-rank {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--accent);
    color: white;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

.cmra .cmra-factor .cmra-factor-body { flex: 1; }

.cmra .cmra-factor .cmra-factor-title {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 2px;
  }

.cmra .cmra-factor .cmra-factor-reason {
    font-size: 13px;
    color: var(--text-muted);
    line-height: 1.45;
  }

.cmra .cmra-recommendation {
    background: var(--primary-soft);
    border-left: 3px solid var(--primary);
    border-radius: var(--radius-sm);
    padding: 14px 16px;
    margin-bottom: 18px;
  }

.cmra .cmra-recommendation.cmra-high { background: var(--danger-soft); border-color: var(--danger); }

.cmra .cmra-recommendation.cmra-moderate { background: var(--warning-soft); border-color: var(--warning); }

.cmra .cmra-recommendation.cmra-low { background: var(--success-soft); border-color: var(--success); }

.cmra .cmra-recommendation .cmra-reco-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 4px;
  }

.cmra .cmra-recommendation.cmra-high .cmra-reco-label { color: var(--danger); }

.cmra .cmra-recommendation.cmra-moderate .cmra-reco-label { color: #9a6a1f; }

.cmra .cmra-recommendation.cmra-low .cmra-reco-label { color: var(--success); }

.cmra .cmra-recommendation p {
    font-size: 14px;
    color: var(--text);
    line-height: 1.5;
  }

.cmra .cmra-report-ctas {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
  }

.cmra .cmra-btn-link-primary {
    background: var(--primary);
    color: white;
    padding: 14px 20px;
    border-radius: var(--radius-sm);
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    box-shadow: var(--shadow-md);
    transition: all 150ms var(--ease);
    display: block;
  }

.cmra .cmra-btn-link-primary:hover { background: var(--primary-dark); transform: translateY(-1px); }

.cmra .cmra-btn-link-secondary {
    background: transparent !important;
    color: var(--primary) !important;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    border-radius: var(--radius-sm);
    border: 1.5px solid var(--border);
    transition: all 150ms var(--ease);
    display: block;
  }

.cmra .cmra-btn-link-secondary:hover { border-color: var(--primary); background: var(--primary-soft) !important; }

.cmra .cmra-btn-restart {
    background: transparent !important;
    color: var(--text-muted) !important;
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 500;
    text-align: center;
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-family: inherit;
    transition: color 150ms var(--ease);
    margin-top: 2px;
  }

.cmra .cmra-btn-restart:hover { color: var(--text); }

.cmra .cmra-btn-download {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: inherit;
    cursor: pointer;
  }

.cmra .cmra-btn-download svg { flex-shrink: 0; }

.cmra .cmra-download-hint {
    font-size: 11px;
    color: var(--text-soft);
    text-align: center;
    margin-top: -8px;
    margin-bottom: 14px;
  }

.cmra .cmra-disclaimer {
    font-size: 11px;
    color: var(--text-soft);
    line-height: 1.5;
    text-align: center;
    padding: 0 8px;
  }

.cmra .cmra-report-actions {
    padding: 16px 28px 24px;
    border-top: 1px solid var(--border);
    display: flex;
    gap: 10px;
    background: var(--surface);
  }

/* Mobile tweaks */

@media (max-width: 420px) {
.cmra {
padding: 0;
}
.cmra .cmra-app { border-radius: 0; box-shadow: none; }
.cmra main { padding: 24px 20px 18px; }
.cmra .cmra-footer-nav, .cmra .cmra-report-actions { padding-left: 20px; padding-right: 20px; }
.cmra h1 { font-size: 24px; }
.cmra .cmra-hero h1 { font-size: 28px; }
.cmra .cmra-age-grid { grid-template-columns: repeat(4, 1fr); }
.cmra .cmra-sign-grid { grid-template-columns: 1fr; }
}

/* Reduce motion */

@media (prefers-reduced-motion: reduce) {
.cmra *, .cmra *::before, .cmra *::after {
      animation-duration: 0.01ms !important;
      transition-duration: 0.01ms !important;
    }
}

/* ===== Print document — hidden on screen ===== */

.cmra .cmra-print-doc { display: none; }

/* ===== Print styles ===== */

@media print {
@page { size: letter; margin: 0.55in; }
/* Force browsers (Chrome, Safari) to actually print background colors and images
   instead of stripping them by default. Without this, Golden Vision's red header
   bars, the score box gold border, and the location panel red lines all vanish. */
* {
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
  color-adjust: exact !important;
}
html, body {
      background: white !important;
      color: #1a1a1a !important;
      font-family: Georgia, "Times New Roman", Times, serif;
      font-size: 11pt;
      line-height: 1.5;
    }
body { padding: 0 !important; margin: 0 !important; }
/* When the JS lifts our print doc to be a direct child of <body> for printing,
   hide every other sibling so only the report prints — not the WP header,
   Elementor sections, footer, sidebar, comments, etc. */
body.cmra-printing > *:not(.cmra-print-doc) {
  display: none !important;
}
body.cmra-printing .cmra-print-doc {
  position: static !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Hide the interactive app entirely (legacy — covered by the cmra-printing rule
   above, but kept as a defensive fallback in case JS doesn't move the node). */
.cmra-app, .cmra-progress-wrap, main, .cmra-footer-nav, .cmra-report-actions,
    .cmra-screen, .cmra-hero, .cmra-report {
      display: none !important;
    }
/* Show the print doc */
.cmra-print-doc { display: block !important; }
.cmra-print-page {
      page-break-after: always;
      padding: 0;
      box-sizing: border-box;
    }
.cmra-print-page:last-child { page-break-after: auto; }
.cmra-print-header {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      border-bottom: 2px solid #8A061C;
      padding-bottom: 10px;
      margin-bottom: 20px;
    }
.cmra-print-brand-mark {
      font-family: Georgia, serif;
      font-size: 18pt;
      font-weight: 700;
      color: #8A061C;
      letter-spacing: 0.04em;
      line-height: 1;
    }
.cmra-print-brand-tag {
      font-size: 8pt;
      letter-spacing: 0.25em;
      color: #a68640;
      font-weight: 700;
      margin-top: 3px;
    }
.cmra-print-header-meta {
      text-align: right;
      font-size: 9pt;
      color: #555;
      line-height: 1.4;
    }
.cmra-print-h1 {
      font-family: Georgia, serif;
      font-size: 22pt;
      font-weight: 700;
      color: #8A061C;
      margin-bottom: 10px;
      line-height: 1.15;
    }
.cmra-print-h2 {
      font-family: Georgia, serif;
      font-size: 14pt;
      font-weight: 700;
      color: #1a1a1a;
      margin-top: 18px;
      margin-bottom: 6px;
      padding-bottom: 3px;
      border-bottom: 1px solid #d4d4d4;
    }
.cmra-print-h3 {
      font-family: Georgia, serif;
      font-size: 11.5pt;
      font-weight: 700;
      color: #8A061C;
      margin-bottom: 4px;
    }
.cmra-print-lead {
      font-size: 11pt;
      color: #333;
      margin-bottom: 16px;
      font-style: italic;
    }
.cmra-print-doc p { margin-bottom: 10px; }
/* Risk score block */
.cmra-print-score-block {
      border: 2px solid #8A061C;
      background: #faf5e8;
      padding: 16px 20px;
      margin: 14px 0 20px;
      text-align: center;
      border-radius: 4px;
    }
.cmra-print-score-label {
      font-size: 8pt;
      font-weight: 700;
      letter-spacing: 0.15em;
      color: #a68640;
      margin-bottom: 4px;
    }
.cmra-print-score-bucket {
      font-family: Georgia, serif;
      font-size: 26pt;
      font-weight: 700;
      color: #8A061C;
      line-height: 1.1;
    }
.cmra-print-score-number {
      font-size: 10pt;
      color: #666;
      margin-top: 2px;
    }
/* Top factors */
.cmra-print-factors {
      list-style: none;
      padding: 0;
      margin: 0 0 18px 0;
    }
.cmra-print-factors li {
      counter-increment: factor-counter;
      padding: 10px 12px 10px 42px;
      margin-bottom: 6px;
      background: #fafaf7;
      border-left: 3px solid #c7a156;
      position: relative;
      page-break-inside: avoid;
    }
.cmra-print-factors {
      counter-reset: factor-counter;
    }
.cmra-print-factors li::before {
      content: counter(factor-counter);
      position: absolute;
      left: 14px;
      top: 10px;
      width: 20px;
      height: 20px;
      background: #c7a156;
      color: white;
      border-radius: 50%;
      text-align: center;
      line-height: 20px;
      font-weight: 700;
      font-size: 10pt;
    }
.cmra-print-factors .cmra-print-factor-title {
      font-weight: 700;
      margin-bottom: 2px;
      color: #1a1a1a;
    }
.cmra-print-factors .cmra-print-factor-reason {
      font-size: 10pt;
      color: #555;
    }
/* Recommendation box */
.cmra-print-reco-box {
      border-left: 4px solid #8A061C;
      background: #fbeaec;
      padding: 12px 16px;
      margin: 18px 0;
      page-break-inside: avoid;
    }
.cmra-print-reco-label {
      font-size: 8pt;
      font-weight: 700;
      letter-spacing: 0.1em;
      color: #8A061C;
      margin-bottom: 4px;
    }
.cmra-print-reco-box p { margin-bottom: 0; }
.cmra-print-cta-line {
      text-align: center;
      padding: 14px 10px;
      border-top: 1px solid #d4d4d4;
      border-bottom: 1px solid #d4d4d4;
      margin-top: 20px;
      color: #333;
    }
/* Treatments */
.cmra-print-treatment { margin-bottom: 16px; page-break-inside: avoid; }
.cmra-print-treatment-featured {
      border: 1px solid #c7a156;
      background: #faf5e8;
      padding: 14px 18px;
      border-radius: 4px;
    }
.cmra-print-treatment-tag {
      font-size: 8pt;
      letter-spacing: 0.18em;
      color: #a68640;
      font-weight: 700;
      margin-bottom: 4px;
    }
.cmra-print-treatment-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px 18px;
      margin-bottom: 16px;
    }
.cmra-print-treatment-small {
      page-break-inside: avoid;
    }
/* Lists */
.cmra-print-list {
      margin: 4px 0 12px 22px;
      padding: 0;
    }
.cmra-print-list li {
      margin-bottom: 5px;
      line-height: 1.45;
    }
/* Locations — list + single QR on one page */
.cmra-print-locate-panel {
      display: grid;
      grid-template-columns: 1fr 150px;
      gap: 18px;
      align-items: center;
      margin: 12px 0 16px;
      padding: 14px 18px;
      background: #fafaf7;
      border-top: 2px solid #8A061C;
      border-bottom: 2px solid #8A061C;
      page-break-inside: avoid;
    }
.cmra-print-locate-list {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 4px 22px;
    }
.cmra-loc-row {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 8px;
      padding: 3px 0;
      border-bottom: 1px dotted #d4d4d4;
      font-size: 10pt;
    }
.cmra-loc-row-name {
      font-weight: 700;
      color: #1a1a1a;
    }
.cmra-loc-row-phone {
      color: #555;
      font-variant-numeric: tabular-nums;
    }
.cmra-print-locate-qr {
      text-align: center;
    }
.cmra-print-locate-qr svg {
      display: block;
      margin: 0 auto 4px;
      width: 120px;
      height: 120px;
    }
.cmra-print-locate-qr-label {
      font-size: 8pt;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: #8A061C;
    }
/* Footer */
.cmra-print-footer {
      margin-top: 22px;
      padding-top: 10px;
      border-top: 1px solid #d4d4d4;
      font-size: 8.5pt;
      color: #666;
      line-height: 1.5;
    }
.cmra-print-disclaimer {
      margin-top: 6px;
      font-style: italic;
    }
/* Hide the hint + buttons & other screen-only UI */
.cmra-download-hint, .cmra-btn-restart { display: none !important; }
}
