/* PVM page only; the shared site theme remains the source of colours and fonts. */
.pvm-page .app-wrap { padding: 20px 16px 40px; gap: 0; }
.pvm-page .info-section { padding: 20px 0 0; }
.pvm-page .info-section h2 { color: var(--c-text); }
.pvm-page .panel__title { font-size: 14px; }
.pvm-page .pvm-input-panel { position: static; }
.pvm-page .pvm-breadcrumb { font-size: 13px; color: var(--c-muted); }
.pvm-page .pvm-table-note a, .pvm-page .field-hint a { color: var(--c-text); text-decoration: underline; text-underline-offset: 3px; }
.pvm-page .pvm-rate-field { border: 0; padding: 0; margin: 0 0 18px; min-width: 0; }
.pvm-page .pvm-rate-field legend { font-size: 13px; margin-bottom: 8px; }
.pvm-page .rate-label { white-space: normal; font-size: 11px; }
.pvm-page .rate-btn { min-height: 56px; min-width: 0; padding: 8px 2px; }
.pvm-page .pvm-result-box { background: var(--c-bg); border-color: var(--c-border); }
.pvm-page .pvm-result-box__label, .pvm-page .pvm-result-box__rate { color: var(--c-text); }
.pvm-page .pvm-result-box__val { color: var(--c-text); overflow-wrap: anywhere; }
.pvm-page .pvm-table { table-layout: fixed; }
.pvm-page .pvm-table th:first-child { width: 30%; }
.pvm-page .pvm-badge { white-space: normal; }
.pvm-page .pvm-table-note { font-size: 13px; font-style: normal; }
.pvm-page .pvm-copy { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius); padding: 22px; line-height: 1.75; }
.pvm-page .pvm-copy p + p, .pvm-page .pvm-copy h3, .pvm-page .pvm-copy ul, .pvm-page .pvm-copy ol { margin-top: 14px; }
.pvm-page .pvm-copy ul, .pvm-page .pvm-copy ol { padding-left: 22px; }
.pvm-page .pvm-copy h3 { font-size: 17px; }
.pvm-page .pvm-examples { overflow-x: auto; margin-top: 16px; }
.pvm-page .pvm-examples table { width: 100%; border-collapse: collapse; font-size: 14px; }
.pvm-page .pvm-examples th, .pvm-page .pvm-examples td { padding: 10px; text-align: left; border-bottom: 1px solid var(--c-border); }
.pvm-page .pvm-examples caption { text-align: left; padding-bottom: 8px; }
.pvm-page .faq-q { list-style: none; min-height: 48px; }
.pvm-page .faq-q::-webkit-details-marker { display: none; }
.pvm-page details[open] .faq-a { display: block; }
.pvm-page :focus-visible { outline: 3px solid var(--c-accent); outline-offset: 3px; }
.pvm-page [aria-invalid="true"] { border-color: #b42318; }
.pvm-page .pvm-rate-notice { margin: 8px 0; font-size: 13px; line-height: 1.6; }
.pvm-page .pvm-rate-notice[hidden] { display: none; }
.pvm-page .pvm-legend-item { flex-wrap: wrap; }
.pvm-page .pvm-legend-val { white-space: normal; overflow-wrap: anywhere; }
.pvm-page .pvm-chart-legend { max-width: 100%; }
@media (max-width: 700px) { .pvm-page .pvm-related { grid-template-columns: 1fr; } .pvm-page .pvm-copy { padding: 16px; } }

.pvm-page #pvmPieCanvas { background: transparent; }
.pvm-page .page-hero p { color: rgba(255,255,255,.85); }
.pvm-page .faq-q span { flex-shrink: 0; }
@media (max-width: 480px) { .pvm-page .pvm-rate-selector { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; } .pvm-page .rate-label { display: block; } }

.pvm-page #pvmPieCanvas { border: 0; }
.pvm-page .rate-btn.active, .pvm-page .rate-btn.active .rate-label { color: var(--c-text); opacity: 1; }
.pvm-page .pvm-badge--standard { color: var(--c-text); }
.pvm-page .nav__title > span { font-size: 19px; font-weight: 700; }
.pvm-page .footer__bottom, .pvm-page .footer__bottom .cookie-settings-link { color: rgba(255,255,255,.8); }
