/* Quorum — guides RH/paie et simulateurs (complète site.css) */
.guide-hero { padding: 28px 0 8px; }
@media (min-width: 768px) { .guide-hero { padding: 44px 0 12px; } }
.guide-hero h1 { font-size: clamp(1.9rem, 5vw, 3rem); max-width: 22em; }
.guide-meta { font-size: .88rem; color: var(--muted); margin: 0 0 4px; }
.guide-body { padding: 8px 0 56px; }
.guide-body .prose { margin: 0 auto; }
.guide-body .prose > h2:first-child { margin-top: .5em; }
.prose table.compare { min-width: 460px; }
.prose .table-wrap { margin: 1.2em 0 1.6em; }
.prose .table-wrap caption { caption-side: top; text-align: left; padding: 12px 16px 0; font-weight: 800; color: var(--ink-900); font-size: .95rem; }
.compare td.n, .compare th.n { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

.enbref { background: var(--surface); border: 1px solid var(--line); border-left: 5px solid var(--coral); border-radius: var(--radius-sm); padding: 16px 20px; margin: 1.4em 0 1.8em; box-shadow: var(--shadow); }
.enbref-t { font-weight: 800; color: var(--ink-900); margin: 0 0 6px; text-transform: uppercase; letter-spacing: .06em; font-size: .8rem; }
.enbref ul { margin: 0; padding-left: 1.1em; }
.enbref li { margin: .3em 0; }

.example { background: var(--ink-50); border-radius: var(--radius-sm); padding: 16px 20px; margin: 1.2em 0; }
.example-t { font-weight: 800; color: var(--ink-900); margin: 0 0 6px; }
.example p:last-child, .example ul:last-child, .example ol:last-child { margin-bottom: 0; }

.guide-cta { background: linear-gradient(135deg, var(--ink-50), #fff); border: 1px solid var(--ink-100); border-radius: var(--radius); padding: 20px 22px; margin: 2em 0; }
.guide-cta-t { font-weight: 800; color: var(--ink-900); font-size: 1.1rem; margin: 0 0 6px; }
.guide-cta-a { display: flex; flex-wrap: wrap; gap: 10px; }
.guide-cta-a .btn { white-space: normal; text-align: center; }

.guide-sources { border-top: 1px solid var(--line); margin-top: 2.4em; padding-top: 1em; }
.guide-sources h2 { font-size: 1.2rem !important; margin-top: .6em !important; }
.guide-sources ul { font-size: .92rem; }
.guide-sources a { word-break: break-word; }
.guide-disclaimer { background: #FFF8E6; border-radius: var(--radius-sm); padding: 10px 14px; color: #5A4A1A !important; }

.guide-related { margin-top: 2em; }
.guide-related h2 { font-size: 1.2rem !important; }
.guide-related ul { list-style: none; padding: 0; display: grid; gap: 10px; }
@media (min-width: 700px) { .guide-related ul { grid-template-columns: 1fr 1fr; } }
.guide-related li { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 12px 14px; margin: 0 !important; }
.guide-related li a { font-weight: 800; display: block; }
.guide-related li span { font-size: .86rem; color: var(--muted); }

/* Hub */
.hub-grid .card h3 { margin-top: 10px; }
.hub-grid .card a.stretched::after { content: ""; position: absolute; inset: 0; }
.hub-grid .card a.stretched { text-decoration: none; color: var(--ink-900); }
.hub-grid .card a.stretched:hover { text-decoration: underline; }

/* Simulateurs */
.sim { background: var(--surface); border: 1px solid var(--line); border-radius: 24px; padding: 22px; box-shadow: var(--shadow); max-width: 1000px; margin: 0 auto; display: grid; gap: 24px; }
@media (min-width: 900px) { .sim { grid-template-columns: 1fr 1.15fr; padding: 32px; } }
.sim fieldset { border: 0; padding: 0; margin: 0 0 16px; min-width: 0; }
.sim legend { font-weight: 800; color: var(--ink-900); margin-bottom: 8px; padding: 0; }
.sim .field { margin-bottom: 14px; }
.sim .hint { display: block; font-size: .82rem; color: var(--muted); font-weight: 400; margin-top: 4px; }
.sim .row2 { display: grid; gap: 12px; }
@media (min-width: 520px) { .sim .row2 { grid-template-columns: 1fr 1fr; } }
.sim .seg { flex-wrap: wrap; }
.sim details { border: 1px dashed var(--line); border-radius: var(--radius-sm); padding: 10px 14px; margin-bottom: 14px; }
.sim summary { cursor: pointer; font-weight: 800; color: var(--ink-900); }
.sim-results { min-width: 0; }
.sim-big { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin-bottom: 14px; }
.sim-kpi { border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 12px 14px; }
.sim-kpi.main { border-color: var(--ink); background: var(--ink-50); }
.sim-kpi b { display: block; font-size: 1.6rem; font-weight: 800; color: var(--ink-900); letter-spacing: -.02em; line-height: 1.2; }
.sim-kpi span { font-size: .82rem; color: var(--muted); }
.sim-steps { font-size: .92rem; padding-left: 1.2em; }
.sim-steps li { margin: .3em 0; }
.sim-note { font-size: .85rem; color: var(--muted); background: #FFF8E6; border-radius: var(--radius-sm); padding: 10px 14px; margin-top: 12px; }
.sim-warn { background: var(--coral-100); color: #7A2410; border-radius: var(--radius-sm); padding: 10px 14px; font-size: .9rem; margin: 10px 0 0; }
.week-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.week-table th, .week-table td { padding: 6px 6px; border-bottom: 1px solid var(--ink-50); text-align: left; }
.week-table input { width: 100%; max-width: 110px; font: inherit; padding: 8px 10px; border: 1.5px solid var(--line); border-radius: 10px; }
.week-table input:focus { outline: none; border-color: var(--ink); box-shadow: 0 0 0 4px rgba(30,42,120,.12); }
.res-table { width: 100%; border-collapse: collapse; font-size: .9rem; min-width: 420px; }
.res-table th, .res-table td { padding: 8px 10px; border-bottom: 1px solid var(--ink-50); text-align: right; font-variant-numeric: tabular-nums; }
.res-table th:first-child, .res-table td:first-child { text-align: left; }
.res-table thead th { background: var(--ink-50); color: var(--ink-900); }
.res-table tfoot td { font-weight: 800; color: var(--ink-900); }
.sim-cta { max-width: 1000px; margin: 28px auto 0; }
