/* /for-providers/ additions on top of the homepage stylesheet (home.css: dark theme, --brand red). */
.finchat-providers .hdr__in { gap: 14px; }
.finchat-providers .nav { margin-right: auto; }
.pv-signin { display: none; }
@media (min-width: 720px) { .pv-signin { display: inline-flex; } }
.pv-hero { padding: 56px 0 44px; }
.pv-hero h1 { font-size: clamp(32px, 5.4vw, 54px); font-weight: 800; letter-spacing: -.035em; line-height: 1.06; max-width: 20ch; text-wrap: balance; }
.pv-lede { margin-top: 18px; font-size: 18px; color: var(--tx-2); max-width: 60ch; }
.pv-hero .hero__cta { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 10px; }
.pv-ticks { margin: 24px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; color: var(--tx-2); font-size: 15px; }
.pv-ticks li::before { content: "✓"; color: var(--wa); font-weight: 800; margin-right: 10px; }
.pv-steps { margin: 28px 0 0; padding: 0; list-style: none; counter-reset: s; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 14px; }
.pv-steps li { counter-increment: s; display: flex; flex-direction: column; gap: 14px; padding: 20px; background: var(--card); border: 1px solid var(--line); border-radius: 14px; color: var(--tx-2); font-size: 15px; line-height: 1.55; }
.pv-steps li::before { content: counter(s); flex: none; width: 34px; height: 34px; border-radius: 50%; background: #FF0000; display: grid; place-items: center; font-weight: 800; color: #fff; }
.pv-steps b { display: block; color: var(--tx); font-size: 17px; margin-bottom: 6px; }
.pv-steps p { margin: 0; }
.pv-note { margin-top: 24px; font-size: 14px; color: var(--tx-3); max-width: 80ch; }
.pv-grid { display: grid; gap: 14px; margin-top: 28px; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); }
.pv-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--r-md); padding: 20px; }
.pv-card h3 { font-size: 17px; }
.pv-card p { margin-top: 8px; color: var(--tx-2); font-size: 15px; }
.pv-plans { display: grid; gap: 14px; margin-top: 30px; grid-template-columns: repeat(auto-fit, minmax(min(290px, 100%), 1fr)); align-items: start; }
.pv-plan { background: var(--card); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px; display: grid; gap: 12px; }
.pv-plan--mark { background: #241517; border-color: #4a2125; }
.pv-plan h3 { font-size: 19px; }
.pv-price { font-size: 34px; font-weight: 800; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.pv-price small { font-size: 15px; font-weight: 500; color: var(--tx-2); letter-spacing: 0; }
.pv-sum { color: var(--tx-2); font-size: 15px; }
.pv-feat { margin: 4px 0 6px; padding: 0; list-style: none; display: grid; gap: 8px; font-size: 14.5px; color: var(--tx-2); }
.pv-feat li { padding-left: 22px; position: relative; }
.pv-feat li::before { content: "✓"; position: absolute; left: 0; color: var(--wa); font-weight: 800; }
.pv-feat li.is-planned::before, .pv-feat li.is-arrangement::before { content: "·"; color: var(--tx-3); }
.pv-feat em { font-style: normal; font-size: 12px; font-weight: 700; color: var(--tx-3); background: var(--sand); border-radius: 999px; padding: 1px 8px; margin-left: 4px; white-space: nowrap; }
.pv-plan .btn { width: 100%; }
.pv-fees { margin-top: 26px; background: var(--card); border: 1px solid var(--line); border-radius: var(--r-md); padding: 20px; max-width: 80ch; }
.pv-fees h3 { font-size: 17px; }
.pv-fees p { margin-top: 8px; color: var(--tx-2); }
.pv-qa { margin: 28px 0 0; display: grid; gap: 18px; max-width: 80ch; }
.pv-qa dt { font-weight: 700; color: var(--tx); font-size: 16px; }
.pv-qa dd { margin: 4px 0 0; color: var(--tx-2); font-size: 15.5px; }
.pv-grid--2 { grid-template-columns: repeat(auto-fit, minmax(min(380px, 100%), 1fr)); }
.pv-apply { display: grid; gap: 30px; }
@media (min-width: 960px) { .pv-apply { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; } .pv-apply__intro { position: sticky; top: 90px; } }
.pv-alt { margin-top: 16px; color: var(--tx-2); font-size: 15px; }
.pv-alt a { color: var(--tx); text-decoration: underline; text-decoration-color: var(--brand-tx); text-underline-offset: 3px; }
.pv-form { margin-top: 0; background: var(--card); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 22px; position: relative; }
.pv-row { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); }
.pv-cats { border: 1px solid var(--line); border-radius: var(--r-sm); padding: 12px 14px; margin: 0; display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); }
.pv-cats legend { font-size: 13px; font-weight: 600; color: var(--tx-2); padding: 0 6px; }
.cform label.pv-check { display: flex; flex-wrap: nowrap; gap: 10px; align-items: flex-start; font-weight: 500; font-size: 14.5px; color: var(--tx); }
.cform label.pv-check input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--brand); }
.pv-accept span { color: var(--tx-2); font-size: 13.5px; }
.pv-accept a { color: var(--tx); text-decoration: underline; }
.pv-ferr { flex-basis: 100%; color: #F58891; font-size: 13px; font-weight: 600; grid-column: 1 / -1; }
.pv-form [aria-invalid="true"] { border-color: #F58891; }
.pv-done { background: var(--card); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px; }
.pv-done h3 { font-size: 20px; }

/* Service and guide pages (Content_Pages) */
.gd-crumbs { font-size: 14px; margin-bottom: 10px; }
.gd-crumbs a { color: var(--tx-2); text-decoration: underline; text-underline-offset: 3px; }
.gd-lede { margin-top: 14px; font-size: 18px; color: var(--tx-2); max-width: 60ch; }
.gd-cta { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.gd-cta--end { margin-top: 40px; padding: 22px; border-radius: var(--r-lg); background: var(--card); border: 1px solid var(--line); }
.gd-cta--end p { flex-basis: 100%; color: var(--tx-2); }
.gd-cta--end b { color: var(--tx); }
.gd-note { margin-top: 32px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 13.5px; color: var(--tx-3); display: grid; gap: 6px; }
.gd-list { list-style: none !important; padding: 0 !important; display: grid; gap: 12px; margin-top: 24px !important; }
.gd-list li { margin: 0 !important; padding: 0 !important; }
.gd-list a { display: grid; gap: 4px; padding: 18px; border-radius: var(--r-md); background: var(--card); border: 1px solid var(--line); text-decoration: none !important; }
.gd-list a:hover { border-color: var(--brand-tx); }
.gd-list b { color: var(--tx); font-size: 17px; }
.gd-list span { color: var(--tx-2); font-size: 15px; }
.pv-define { background: var(--card); border: 1px solid var(--line); border-radius: var(--r-md); padding: 22px; margin: 24px 0 14px; max-width: 78ch; }
.pv-define h3 { font-size: 18px; }
.pv-define p { margin: 8px 0 0; color: var(--tx-2); }
.pv-define ul { margin: 10px 0 0; padding-left: 20px; color: var(--tx-2); display: grid; gap: 4px; }
.pv-grid--4 { grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)); }
@media (min-width: 1100px) { .pv-grid--4 { grid-template-columns: repeat(4, 1fr); } }
.pv-define ul { list-style: disc; }
.pv-define li::marker { color: var(--tx-3); }
.pv-more { border: 1px solid var(--line); border-radius: var(--r-md); padding: 12px 16px; margin: 6px 0 14px; }
.pv-more summary { cursor: pointer; font-weight: 600; color: var(--tx); }
.pv-more summary i { font-style: normal; font-weight: 400; color: var(--tx-3); margin-left: 6px; }
.pv-more[open] summary { margin-bottom: 12px; }
