/* Ficha page (sample and paid): a single printable column, same look as the landing. */
.ficha__page { max-width: 820px; margin: 28px auto 72px; }
.ficha__banner { background: var(--accent-soft); border-left: 6px solid var(--accent); padding: 12px 16px; margin-bottom: 28px; font-size: 1rem; }
.fsec { margin-top: 38px; }
.fsec h2 { font-size: 1.45rem; font-weight: 700; margin-bottom: 14px; padding-top: 10px; border-top: 2px solid var(--rule); display: flex; gap: 12px; align-items: baseline; letter-spacing: -.01em; }
.fsec h2 span { font: 700 12px/1 var(--mono); letter-spacing: .12em; color: var(--accent); }
.fsec h3 { font-size: 1.05rem; margin: 22px 0 8px; }
.fsec p { margin-top: 10px; }
.fhead { margin-top: 0; }
.fkicker { font: 700 12px/1.4 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }
.fhead h1 { font-size: clamp(2rem, 5vw, 3rem); line-height: 1.08; margin: 8px 0 6px; letter-spacing: -.02em; }
.flead { color: var(--muted); }
.fkpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 22px 0 0; }
.fkpis div { border: 2px solid var(--ink); background: var(--paper-3); padding: 10px 12px; }
.fkpis dt { font: 700 11px/1.2 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.fkpis dd { margin: 4px 0 0; font-size: 1.15rem; font-weight: 700; }
.fcount { background: var(--paper-3); border-left: 6px solid var(--accent); padding: 10px 14px; }
.fsubjects, .fplain, .fcheck { margin: 8px 0 0; padding-left: 20px; }
.fsubjects li, .fplain li { margin: 5px 0; }
.fsubjects small { color: var(--muted); font-family: var(--mono); }
.fbig { font-size: 2rem; font-weight: 700; line-height: 1.2; }
.fbig small { display: block; font: italic 400 1rem/1.4 var(--serif); color: var(--muted); }
.ftable { border-collapse: collapse; margin-top: 12px; min-width: 60%; }
.ftable th, .ftable td { text-align: left; padding: 6px 14px 6px 0; border-bottom: 1px solid var(--hair); font-weight: 400; }
.ftable td { font-family: var(--mono); text-align: right; padding-right: 0; }
.fnote, .fhelp { color: var(--muted); font-size: .95rem; }
.fcheck { list-style: none; padding: 0; }
.fcheck li { border: 2px solid var(--ink); background: #fff; margin: 8px 0; }
.fcheck label { display: flex; gap: 12px; align-items: flex-start; padding: 10px 12px; cursor: pointer; }
.fcheck input { margin-top: 6px; width: 18px; height: 18px; accent-color: var(--ink); flex: none; }
.fcheck li:has(input:checked) { background: var(--paper-3); border-color: var(--ok); }
.fresult { font-weight: 700; min-height: 1.6em; }
.fresult.is-ok { color: var(--ok); }
.fbars { list-style: none; padding: 0; margin: 14px 0; display: grid; gap: 8px; }
.fbars li { display: grid; grid-template-columns: minmax(120px, 210px) 1fr 2.2em; gap: 12px; align-items: center; }
.fbars__svg { width: 100%; height: 14px; display: block; }
.fbars__bg { fill: var(--paper-2); }
.fbars__fg { fill: var(--ink); }
.fbars b { font-family: var(--mono); text-align: right; }
.fcalc { border: 2px solid var(--ink); background: var(--paper-3); padding: 14px 16px; margin-top: 14px; }
.fcalc label { display: block; font-weight: 700; margin-bottom: 6px; }
.fcalc input { font: inherit; padding: 8px 10px; border: 2px solid var(--ink); width: 8em; background: #fff; }
.fcalc__out { margin-top: 10px; }
.fsteps { margin: 8px 0 0; padding-left: 22px; }
.fsteps li { margin: 6px 0; }
.flock { border: 2px dashed var(--ink); padding: 12px 14px; background: var(--paper-2); }
.fsec--end { text-align: center; }
@media (max-width: 560px) { .fbars li { grid-template-columns: 1fr 2.2em; } .fbars__svg { grid-column: 1 / -1; grid-row: 2; } }
@media print { .bar, .cta-row, .ficha__banner { display: none; } body { background: #fff; } .fcheck li { break-inside: avoid; } }

.flinks { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }

.fdocs, .fwhere { list-style: none; padding: 0; margin: 14px 0 0; display: grid; gap: 8px; }
.fdocs li { border: 2px solid var(--ink); background: #fff; padding: 10px 14px; display: grid; gap: 2px; }
.fdocs a { text-decoration: none; }
.fdocs a b::after { content: " ↗"; color: var(--accent); }
.fdocs span { color: var(--muted); font-size: .95rem; }
.fwhere li { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--hair); padding: 4px 0; }
.fwhere small { font-family: var(--mono); color: var(--muted); }

.bar__actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
@media print { .bar__actions { display: none; } }

/* the closing date of the call, always the same tag */
.fdl { background: var(--accent); color: #fff; padding: 1px 8px; font-weight: 700; -webkit-print-color-adjust: exact; print-color-adjust: exact; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.fdl::before { }
.fkpi--dl { border-color: var(--accent) !important; }

/* Paid ficha: the buyer's e-mail written on the page, and the plain pages for a link that cannot be opened. */
.msgpage { max-width: 640px; margin: 15vh auto; }
.wmbar { margin: 0 0 18px; padding: 8px 12px; background: var(--accent-soft); border-left: 4px solid var(--accent); font: 700 12px/1.4 var(--mono); letter-spacing: .04em; }
.wmtabs { margin: 0 0 18px; font: 700 12px/1.6 var(--mono); }
.wm { position: fixed; inset: 0; z-index: 50; pointer-events: none; overflow: hidden; display: flex; flex-wrap: wrap; align-content: space-around; justify-content: space-around; transform: rotate(-24deg) scale(1.5); opacity: .07; }
.wm span { font: 700 22px var(--mono); white-space: nowrap; padding: 26px 40px; }
@media print { .wm { opacity: .12; } }
