/* Group pc: brand promo-code and registration pages. Loaded only on those pages (reelbook-pages-pc.php). */

/* figures */
.rb-prose .rb-hill { margin: 1.6rem auto; border: 1px solid var(--rb-line); border-radius: 12px; overflow: hidden; background: var(--rb-sheet); }
.rb-prose .rb-hill img { display: block; width: 100%; height: auto; }
.rb-prose .rb-hill figcaption { padding: 0.55rem 0.85rem; font-size: 0.85rem; line-height: 1.45; color: var(--rb-muted); border-top: 1px solid var(--rb-line); }

/* quick answer */
.rb-prose .rb-pc-quick { margin: 0 auto 1.6rem; padding: 1rem 1.15rem 0.2rem; border: 2px solid var(--rb-green); border-radius: 14px; background: var(--rb-sheet); box-shadow: 6px 6px 0 rgba(18, 61, 47, 0.1); }
.rb-prose .rb-pc-quick__k { margin: 0 0 0.45rem; font: 700 0.78rem/1.2 var(--rb-text); letter-spacing: 0.12em; text-transform: uppercase; color: var(--rb-green-2); }
.rb-prose .rb-pc-quick__k::before { content: ""; display: inline-block; width: 22px; height: 4px; margin-right: 8px; border-radius: 2px; background: var(--rb-gold); vertical-align: middle; }
.rb-prose .rb-pc-quick p { margin-bottom: 0.8rem; }

/* notes */
.rb-prose .rb-pc-note { margin: 1.4rem auto; padding: 0.9rem 1.1rem 0.15rem; border-radius: 0 12px 12px 0; border-left: 5px solid var(--rb-green-2); background: var(--rb-green-3); }
.rb-prose .rb-pc-note--warn { border-left-color: var(--rb-red); background: var(--rb-red-soft); }
.rb-prose .rb-pc-note--ok { border-left-color: var(--rb-gold); background: var(--rb-gold-soft); }
.rb-prose .rb-pc-note__k { margin: 0 0 0.35rem; font-weight: 700; color: var(--rb-green); }
.rb-prose .rb-pc-note--warn .rb-pc-note__k { color: var(--rb-red); }
.rb-prose .rb-pc-note p { margin-bottom: 0.75rem; }

/* fact strip */
.rb-prose .rb-pc-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr)); gap: 0.55rem; margin: 1.2rem auto 1.6rem; padding: 0; }
.rb-prose .rb-pc-strip > div { padding: 0.7rem 0.8rem; border: 1px solid var(--rb-line); border-radius: 10px; background: var(--rb-sheet); }
.rb-prose .rb-pc-strip dt { font-size: 0.74rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rb-muted); }
.rb-prose .rb-pc-strip dd { margin: 0.2rem 0 0; font: 600 1.08rem/1.25 var(--rb-display); color: var(--rb-green); font-variant-numeric: tabular-nums lining-nums; }

/* quick answer: the first blockquote of the page body; other blockquotes quote the operator's terms */
.rb-prose > blockquote:first-child { margin: 0 auto 1.6rem; padding: 1rem 1.15rem 0.2rem; border: 2px solid var(--rb-green); border-radius: 14px; background: var(--rb-sheet); box-shadow: 6px 6px 0 rgba(18, 61, 47, 0.1); }
.rb-prose > blockquote:first-child::before { content: "Quick answer"; display: block; margin: 0 0 0.45rem; font: 700 0.78rem/1.2 var(--rb-text); letter-spacing: 0.12em; text-transform: uppercase; color: var(--rb-green-2); }
.rb-prose > blockquote:first-child p { margin-bottom: 0.8rem; }
.rb-prose > blockquote:not(:first-child) { font-size: 0.98rem; }
.rb-prose > blockquote:not(:first-child) p:last-child { margin-bottom: 0; }

/* step cards: every ordered list in the body of these pages is a sequence of steps */
.rb-prose > ol { list-style: none; counter-reset: rbpc; padding: 0; margin: 1rem auto 1.4rem; display: grid; gap: 0.7rem; }
.rb-prose > ol > li { counter-increment: rbpc; position: relative; margin: 0; padding: 0.85rem 1rem 0.85rem 3.6rem; border: 1px solid var(--rb-line); border-radius: 12px; background: var(--rb-sheet); }
.rb-prose > ol > li::before { content: counter(rbpc); position: absolute; left: 0.85rem; top: 0.8rem; width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 50%; background: var(--rb-green); color: var(--rb-gold); font: 700 1rem/1 var(--rb-text); }
.rb-prose > ol > li > strong:first-child { display: block; font-family: var(--rb-display); font-weight: 600; font-size: 1.08rem; color: var(--rb-green); margin-bottom: 0.15rem; }

/* step cards (shortcode variant) */
.rb-prose .rb-pc-steps ol { list-style: none; counter-reset: rbpc; padding: 0; margin: 1rem 0 1.4rem; display: grid; gap: 0.7rem; }
.rb-prose .rb-pc-steps li { counter-increment: rbpc; position: relative; margin: 0; padding: 0.85rem 1rem 0.85rem 3.6rem; border: 1px solid var(--rb-line); border-radius: 12px; background: var(--rb-sheet); }
.rb-prose .rb-pc-steps li::before { content: counter(rbpc); position: absolute; left: 0.85rem; top: 0.8rem; width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 50%; background: var(--rb-green); color: var(--rb-gold); font: 700 1rem/1 var(--rb-text); }
.rb-prose .rb-pc-steps li strong:first-child { display: block; font-family: var(--rb-display); font-weight: 600; font-size: 1.08rem; color: var(--rb-green); margin-bottom: 0.15rem; }

/* cards */
.rb-prose .rb-pc-cards ul { list-style: none; padding: 0; margin: 1rem 0 1.4rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 0.7rem; }
.rb-prose .rb-pc-cards li { margin: 0; padding: 0.85rem 1rem; border: 1px solid var(--rb-line); border-top: 4px solid var(--rb-gold); border-radius: 10px; background: var(--rb-sheet); font-size: 0.98rem; }
.rb-prose .rb-pc-cards--pro li { border-top-color: var(--rb-green-2); }
.rb-prose .rb-pc-cards--con li { border-top-color: var(--rb-red); }
.rb-prose .rb-pc-cards li strong:first-child { display: block; font-family: var(--rb-display); font-weight: 600; font-size: 1.05rem; color: var(--rb-green); margin-bottom: 0.2rem; }

/* tools: shared form bits */
.rb-prose .rb-pc-f label { display: block; font-size: 0.85rem; font-weight: 700; margin-bottom: 0.25rem; }
.rb-prose .rb-pc-f input, .rb-prose .rb-pc-f select { width: 100%; min-height: 46px; border: 1.5px solid var(--rb-line); border-radius: 8px; background: #fff; padding: 0.45rem 0.6rem; font: 400 1rem var(--rb-text); color: var(--rb-ink); }
.rb-prose .rb-pc-f input:focus, .rb-prose .rb-pc-f select:focus { border-color: var(--rb-green-2); }

/* offer calculator */
.rb-prose .rb-pc-calc { margin: 1.4rem auto 1.8rem; padding: 1rem 1.1rem 1.1rem; border: 2px solid var(--rb-green); border-radius: 14px; background: var(--rb-sheet); }
.rb-prose .rb-pc-calc__t, .rb-prose .rb-pc-fica__t, .rb-prose .rb-pc-tl__t { margin: 0 0 0.8rem; font: 600 1.2rem/1.25 var(--rb-display); color: var(--rb-green); }
.rb-prose .rb-pc-calc__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem; }
.rb-prose .rb-pc-f--wide { grid-column: 1 / -1; }
.rb-prose .rb-pc-calc__out { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.55rem; margin: 1rem 0 0; }
.rb-prose .rb-pc-calc__out > div { padding: 0.65rem 0.75rem; border-radius: 10px; background: var(--rb-green); color: var(--rb-paper); }
.rb-prose .rb-pc-calc__out dt { font-size: 0.78rem; line-height: 1.3; }
.rb-prose .rb-pc-calc__out dd { margin: 0.25rem 0 0; font: 600 1.25rem/1.15 var(--rb-display); color: var(--rb-gold); font-variant-numeric: tabular-nums lining-nums; overflow-wrap: anywhere; }
.rb-prose .rb-pc-calc__out dd.is-bad { color: #ffb7a8; }
.rb-prose .rb-pc-calc__msg { margin: 0.8rem 0 0; font-weight: 700; color: var(--rb-green); min-height: 1.4em; }
.rb-prose .rb-pc-calc__src, .rb-prose .rb-pc-tl__src { margin: 0.5rem 0 0; font-size: 0.83rem; color: var(--rb-muted); }
@media (max-width: 640px) {
	.rb-prose .rb-pc-calc__out { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 380px) {
	.rb-prose .rb-pc-calc__form { grid-template-columns: 1fr; }
}

/* FICA checklist */
.rb-prose .rb-pc-fica { margin: 1.4rem auto 1.8rem; padding: 1rem 1.1rem 0.6rem; border: 2px solid var(--rb-green); border-radius: 14px; background: var(--rb-sheet); }
.rb-prose .rb-pc-fica__bar { height: 10px; border-radius: 5px; background: var(--rb-paper-2); overflow: hidden; }
.rb-prose .rb-pc-fica__bar i { display: block; height: 100%; width: 0; background: var(--rb-gold); transition: width 0.2s; }
.rb-prose .rb-pc-fica.is-done .rb-pc-fica__bar i { background: var(--rb-green-2); }
.rb-prose .rb-pc-fica__n { margin: 0.35rem 0 0.6rem; font-size: 0.85rem; font-weight: 700; color: var(--rb-muted); }
.rb-prose .rb-pc-fica fieldset { border: 0; margin: 0 0 0.6rem; padding: 0; min-width: 0; }
.rb-prose .rb-pc-fica legend { padding: 0; margin: 0 0 0.35rem; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rb-green-2); }
.rb-prose .rb-pc-fica ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.4rem; }
.rb-prose .rb-pc-fica li { margin: 0; display: flex; gap: 0.65rem; align-items: flex-start; padding: 0.45rem 0.6rem; border: 1px solid var(--rb-line); border-radius: 9px; background: #fff; min-height: 44px; }
.rb-prose .rb-pc-fica input { flex: none; width: 24px; height: 24px; margin: 0.1rem 0 0; accent-color: var(--rb-green-2); }
.rb-prose .rb-pc-fica label { cursor: pointer; flex: 1; }
.rb-prose .rb-pc-fica label b { display: block; font-size: 0.98rem; }
.rb-prose .rb-pc-fica label span { display: block; font-size: 0.86rem; color: var(--rb-muted); }
.rb-prose .rb-pc-fica li:has(input:checked) { border-color: var(--rb-green-2); background: var(--rb-green-3); }
.rb-prose .rb-pc-fica__msg { margin: 0.4rem 0; font-weight: 700; color: var(--rb-green); }

/* offer timeline */
.rb-prose .rb-pc-tl { margin: 1.4rem auto 1.8rem; padding: 1rem 1.1rem 1rem; border: 2px solid var(--rb-green); border-radius: 14px; background: var(--rb-sheet); }
.rb-prose .rb-pc-tl .rb-pc-f { max-width: 16rem; margin-bottom: 0.9rem; }
.rb-prose .rb-pc-tl ol { list-style: none; margin: 0; padding: 0 0 0 1.4rem; border-left: 3px solid var(--rb-gold); display: grid; gap: 0.75rem; }
.rb-prose .rb-pc-tl li { position: relative; margin: 0; }
.rb-prose .rb-pc-tl li::before { content: ""; position: absolute; left: -2.05rem; top: 0.25rem; width: 1rem; height: 1rem; border-radius: 50%; background: var(--rb-green); border: 3px solid var(--rb-sheet); box-shadow: 0 0 0 2px var(--rb-green); }
.rb-prose .rb-pc-tl__when { display: block; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rb-green-2); }
.rb-prose .rb-pc-tl li b { display: block; font-family: var(--rb-display); font-weight: 600; color: var(--rb-green); font-size: 1.05rem; }
.rb-prose .rb-pc-tl__txt { display: block; font-size: 0.93rem; color: var(--rb-muted); }

/* tables inside these pages: compact on phones */
@media (max-width: 520px) {
	.rb-prose .rb-scroll table { font-size: 0.92rem; }
}
