/* ============================================================
   Fotowo redesign 2026 - warstwa wizualna wg mockupow /redesign
   Ladowany po style.css, tylko dla profilu PV (portal-profile-pv).
   Paleta: granat #101b2d, zolty #f5b90a, niebieski #1c5fa8,
   zielony #2f9e44, tlo #f6f7f4, tekst #182230 / #435060.
   ============================================================ */

body.portal-profile-pv {
    --pvr-ink: #182230;
    --pvr-muted: #435060;
    --pvr-faint: #6a7683;
    --pvr-fainter: #8a94a0;
    --pvr-navy: #101b2d;
    --pvr-navy-deep: #0c1524;
    --pvr-blue: #1c5fa8;
    --pvr-blue-dark: #134b87;
    --pvr-yellow: #f5b90a;
    --pvr-yellow-dark: #e0a800;
    --pvr-green: #2f9e44;
    --pvr-green-dark: #25702f;
    --pvr-bg: #f6f7f4;
    --pvr-border: #e2e4de;
    --pvr-border-input: #cfd4cc;
    --pvr-card-radius: 14px;
    --pvr-shadow: 0 8px 26px rgba(20, 30, 45, 0.07);
    background-color: var(--pvr-bg);
    color: var(--pvr-ink);
}

/* ---------- Typografia i podstawy ---------- */

body.portal-profile-pv .title {
    color: var(--pvr-ink);
    font-weight: 900;
}
body.portal-profile-pv .subtitle {
    color: var(--pvr-muted);
    line-height: 1.55;
}
body.portal-profile-pv .section {
    background: transparent;
}
body.portal-profile-pv a {
    color: var(--pvr-blue);
}
body.portal-profile-pv a:hover {
    color: var(--pvr-blue-dark);
}
body.portal-profile-pv .pv-section-eyebrow {
    color: var(--pvr-blue);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

/* Przyciski */
body.portal-profile-pv .button.is-warning,
body.portal-profile-pv .button.product-main-button,
body.portal-profile-pv .button.button-red {
    background-color: var(--pvr-yellow) !important;
    border: none;
    border-radius: 9px !important;
    color: var(--pvr-ink) !important;
    font-weight: 900;
}
body.portal-profile-pv .button.is-warning:hover,
body.portal-profile-pv .button.product-main-button:hover,
body.portal-profile-pv .button.button-red:hover,
body.portal-profile-pv .button.is-warning:focus,
body.portal-profile-pv .button.product-main-button:focus,
body.portal-profile-pv .button.button-red:focus {
    background-color: var(--pvr-yellow-dark) !important;
    color: var(--pvr-ink) !important;
}
body.portal-profile-pv .button.is-dark {
    background-color: var(--pvr-ink);
    border-radius: 8px !important;
    font-weight: 900;
}

/* Pola formularzy - pelne ramki jak w mockupie */
body.portal-profile-pv .input,
body.portal-profile-pv .textarea,
body.portal-profile-pv .select select {
    background-color: #fff;
    border: 1.5px solid var(--pvr-border-input);
    border-radius: 9px;
    box-shadow: none;
    color: var(--pvr-ink);
    transition: border-color 0.15s ease;
}
body.portal-profile-pv .input:focus,
body.portal-profile-pv .textarea:focus,
body.portal-profile-pv .select select:focus {
    border-color: var(--pvr-blue);
    box-shadow: 0 0 0 3px rgba(28, 95, 168, 0.12);
}
body.portal-profile-pv .label {
    color: var(--pvr-ink);
    font-size: 0.875rem;
    font-weight: 900;
}
body.portal-profile-pv .help {
    color: var(--pvr-fainter);
}
body.portal-profile-pv .help.is-danger {
    color: #c23a3a;
}

/* Karty pomocnicze (notification is-light itp.) */
body.portal-profile-pv .notification.is-light {
    background: #fff;
    border: 1px solid var(--pvr-border);
    border-radius: 12px;
    color: var(--pvr-muted);
}
body.portal-profile-pv .notification.is-info.is-light {
    background: #eef4fb;
    border-color: #cfdff2;
    color: var(--pvr-muted);
}

/* Tabele w kartach */
body.portal-profile-pv .table {
    background: #fff;
    color: var(--pvr-ink);
}
body.portal-profile-pv .table thead th {
    background: var(--pvr-bg);
    border-color: var(--pvr-border);
    color: var(--pvr-faint);
    font-size: 12.5px;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
body.portal-profile-pv .table td {
    border-color: #eceee9;
    color: var(--pvr-muted);
    vertical-align: middle;
}
body.portal-profile-pv .table td strong {
    color: var(--pvr-ink);
}
body.portal-profile-pv .pv-home-table-wrap,
body.portal-profile-pv .pv-local-table-wrap {
    background: #fff;
    border: 1px solid var(--pvr-border);
    border-radius: 12px;
    box-shadow: none;
    overflow: hidden;
}
body.portal-profile-pv .pv-home-table-wrap .table,
body.portal-profile-pv .pv-local-table-wrap .table {
    margin-bottom: 0;
}

/* ---------- Sticky header ---------- */

body.portal-profile-pv .pv-site-header {
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-bottom: 1px solid #e7e9e4;
    position: sticky;
    top: 0;
    z-index: 50;
}
body.portal-profile-pv .pv-site-header__inner {
    align-items: center;
    display: flex;
    gap: 20px;
    min-height: 68px;
    padding: 0 12px;
}
body.portal-profile-pv .pv-site-header__logo {
    display: flex;
    align-items: center;
    flex: none;
}
body.portal-profile-pv .pv-site-header__logo img {
    height: 34px;
    width: auto;
}
body.portal-profile-pv .pv-site-header__nav.navbar {
    background: transparent;
    flex: 1;
    min-height: 68px;
}
body.portal-profile-pv .pv-site-header .navbar-item {
    background: transparent !important;
    color: var(--pvr-ink);
    font-size: 15px;
    font-weight: 700;
}
body.portal-profile-pv .pv-site-header .navbar-item span {
    border: none;
}
body.portal-profile-pv .pv-site-header .navbar-item:hover,
body.portal-profile-pv .pv-site-header .navbar-item.is-active {
    color: var(--pvr-blue);
}
body.portal-profile-pv .pv-site-header__email {
    color: var(--pvr-muted);
    font-size: 14px;
    font-weight: 400;
}
body.portal-profile-pv .pv-site-header__phone {
    font-size: 14px;
    font-weight: 900;
    white-space: nowrap;
}
body.portal-profile-pv .pv-site-header__cta {
    font-size: 14px;
    height: 40px;
    padding: 0 18px;
    text-transform: none;
}
body.portal-profile-pv .pv-site-header .navbar-burger {
    color: var(--pvr-ink);
    height: 68px;
    width: 4rem;
}
@media screen and (max-width: 1023px) {
    body.portal-profile-pv .pv-site-header__inner {
        padding: 0 8px;
    }
    body.portal-profile-pv .pv-site-header__nav.navbar {
        position: static;
    }
    body.portal-profile-pv .pv-site-header .navbar-brand {
        justify-content: flex-end;
        min-height: 68px;
    }
    body.portal-profile-pv .pv-site-header .navbar-menu {
        background: #fff;
        border-bottom: 1px solid var(--pvr-border);
        box-shadow: 0 14px 24px rgba(20, 30, 45, 0.12);
        left: 0;
        position: absolute;
        right: 0;
        top: 100%;
    }
    body.portal-profile-pv .pv-site-header .navbar-menu .navbar-item {
        color: var(--pvr-ink);
        border-bottom: 1px solid #f0f1ec;
    }
}
@media screen and (min-width: 1024px) {
    body.portal-profile-pv .pv-site-header__email,
    body.portal-profile-pv .pv-site-header__phone {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
}

/* ---------- Hero ---------- */

body.portal-profile-pv .main-presentation.is-pv-hero {
    background-color: var(--pvr-navy);
    border-bottom: 1px solid #eceee9;
}
body.portal-profile-pv .main-presentation.is-pv-hero::before {
    background: linear-gradient(90deg, rgba(10, 18, 30, 0.84) 0%, rgba(10, 18, 30, 0.62) 46%, rgba(10, 18, 30, 0.18) 100%);
}
body.portal-profile-pv .main-presentation.is-pv-hero .main-title {
    font-size: clamp(2.1rem, 4.2vw, 3.35rem) !important;
    line-height: 1.12;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}
body.portal-profile-pv .main-presentation.is-pv-hero .subtitle {
    color: #dbe3ec !important;
    max-width: 560px;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}
body.portal-profile-pv .pv-hero-breadcrumb {
    color: #aeb9c8;
    font-size: 13px;
    margin-bottom: 0.5rem;
    position: relative;
    z-index: 2;
}
body.portal-profile-pv .pv-hero-breadcrumb a {
    color: #c9d3de;
}
body.portal-profile-pv .pv-hero-breadcrumb strong {
    color: #fff;
}
body.portal-profile-pv .pv-hero-breadcrumb__sep {
    opacity: 0.7;
    padding: 0 2px;
}
body.portal-profile-pv .pv-hero-card {
    align-items: flex-end;
    background: #fff;
    border: 1px solid var(--pvr-border);
    border-radius: var(--pvr-card-radius);
    box-shadow: 0 10px 30px rgba(20, 30, 45, 0.25);
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 1.5rem;
    max-width: 560px;
    padding: 16px;
}
body.portal-profile-pv .pv-hero-card__field {
    flex: 1;
    min-width: 0;
}
body.portal-profile-pv .pv-hero-card__field .label {
    color: var(--pvr-muted);
    font-size: 13px;
    margin-bottom: 6px;
}
body.portal-profile-pv .pv-hero-card__input {
    align-items: center;
    border: 1.5px solid var(--pvr-border-input);
    border-radius: 9px;
    display: flex;
    height: 48px;
    padding: 0 14px;
}
body.portal-profile-pv .pv-hero-card__input .input {
    border: none;
    box-shadow: none;
    font-size: 17px;
    height: auto;
    padding: 0;
}
body.portal-profile-pv .pv-hero-card__input .input:focus {
    box-shadow: none;
}
body.portal-profile-pv .pv-hero-card__input span {
    color: var(--pvr-fainter);
    font-weight: 700;
}
body.portal-profile-pv .pv-hero-card__cta {
    flex: none;
    font-size: 16px;
    height: 48px;
    padding: 0 24px;
    text-transform: none;
}
@media screen and (max-width: 640px) {
    body.portal-profile-pv .pv-hero-card {
        align-items: stretch;
        flex-direction: column;
    }
}

/* ---------- Ciemny pas "Jak dziala Fotowo" + kroki ---------- */

body.portal-profile-pv .pv-home-process {
    background: var(--pvr-navy);
    color: #fff;
    padding: 3rem 1.5rem;
}
body.portal-profile-pv .pv-home-process .title,
body.portal-profile-pv .pv-home-process .pv-home-section-head .title {
    color: #fff;
}
body.portal-profile-pv .pv-home-process .subtitle {
    color: #aeb9c8;
}
body.portal-profile-pv .pv-home-process .pv-section-eyebrow {
    color: var(--pvr-yellow);
}
body.portal-profile-pv .pv-home-steps {
    display: grid;
    gap: 28px;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 2rem;
}
body.portal-profile-pv .pv-home-step {
    background: transparent;
    border: none;
    box-shadow: none;
    display: flex;
    gap: 14px;
    padding: 0;
}
body.portal-profile-pv .pv-home-step > span {
    align-items: center;
    background: var(--pvr-yellow);
    border-radius: 50%;
    color: var(--pvr-ink);
    display: flex;
    flex: none;
    font-size: 1rem;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    width: 34px;
}
body.portal-profile-pv .pv-home-step strong {
    color: #fff;
    display: block;
    font-size: 16px;
    font-weight: 900;
    margin-bottom: 4px;
}
body.portal-profile-pv .pv-home-step p {
    color: #aeb9c8;
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}
@media screen and (max-width: 900px) {
    body.portal-profile-pv .pv-home-steps {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}

/* ---------- Sekcja kalkulatora (gorna karta) ---------- */

body.portal-profile-pv .pv-top-calculator-grid {
    display: block;
}
body.portal-profile-pv .pv-top-calculator-copy {
    margin-bottom: 1.75rem;
    max-width: 680px;
}
body.portal-profile-pv .pv-home-quick-card,
body.portal-profile-pv .pv-calculator-box.box {
    background: #fff;
    border: 1px solid var(--pvr-border);
    border-radius: 16px;
    box-shadow: var(--pvr-shadow) !important;
    padding: 28px;
}
body.portal-profile-pv .pv-input-mode-toggle {
    background: #eef0eb;
    border-radius: 10px;
    display: inline-flex;
    gap: 0;
    margin-bottom: 1rem;
    padding: 4px;
}
body.portal-profile-pv .pv-input-mode-toggle .button {
    background: transparent;
    border: none;
    border-radius: 8px !important;
    box-shadow: none;
    color: var(--pvr-muted);
    font-weight: 700;
}
body.portal-profile-pv .pv-input-mode-toggle .button.is-dark {
    background: var(--pvr-ink);
    color: #fff;
    font-weight: 900;
}
body.portal-profile-pv .pv-calculator-advanced {
    background: #fafbf8;
    border: 1px solid var(--pvr-border);
    border-radius: 10px;
    margin-top: 20px;
}
body.portal-profile-pv .pv-calculator-advanced summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-size: 14.5px;
    font-weight: 900;
    gap: 12px;
    justify-content: space-between;
    list-style: none;
    padding: 14px 18px;
}
body.portal-profile-pv .pv-calculator-advanced summary::-webkit-details-marker {
    display: none;
}
body.portal-profile-pv .pv-calculator-advanced[open] .pv-faq-chev {
    transform: rotate(180deg);
}
body.portal-profile-pv .pv-calculator-advanced__panel {
    padding: 0 10px 10px;
}
body.portal-profile-pv .pv-calculator-action-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 22px;
}
body.portal-profile-pv .pv-calculator-action-note {
    color: var(--pvr-muted);
    font-size: 13px;
    max-width: 420px;
}

/* ---------- Panel wyniku ---------- */

body.portal-profile-pv .pv-result-card {
    background: #fff !important;
    border: 1px solid var(--pvr-border);
    border-radius: 16px;
    box-shadow: var(--pvr-shadow);
    color: var(--pvr-ink);
}
body.portal-profile-pv .pv-result-card--empty {
    background: #fff !important;
    border: 1px dashed var(--pvr-border-input);
    box-shadow: none;
    text-align: center;
}
body.portal-profile-pv .pv-result-eyebrow {
    color: var(--pvr-green-dark);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
body.portal-profile-pv .pv-result-power {
    color: var(--pvr-ink);
    font-weight: 900;
}
body.portal-profile-pv .pv-result-lead {
    color: var(--pvr-muted);
}
body.portal-profile-pv .pv-result-energy,
body.portal-profile-pv .pv-result-summary-item {
    background: var(--pvr-bg);
    border-radius: 9px;
    padding: 12px 14px;
}
body.portal-profile-pv .pv-result-summary-item span {
    color: var(--pvr-faint);
    font-size: 12.5px;
    font-weight: 700;
}
body.portal-profile-pv .pv-result-summary-item strong {
    color: var(--pvr-ink);
    font-size: 1.15rem;
    font-weight: 900;
}
body.portal-profile-pv .pv-result-variant-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}
body.portal-profile-pv .pv-result-variant-card {
    background: #fff;
    border: 1.5px solid var(--pvr-border);
    border-radius: 12px;
    padding: 18px;
}
body.portal-profile-pv .pv-result-variant-card:nth-child(2) {
    background: #fbfdf9;
    border-color: var(--pvr-green);
}
body.portal-profile-pv .pv-result-variant-card span {
    color: var(--pvr-faint);
    display: block;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.04em;
    margin-bottom: 6px;
    text-transform: uppercase;
}
body.portal-profile-pv .pv-result-variant-card strong {
    color: var(--pvr-ink);
    display: block;
    font-size: 1.2rem;
    font-weight: 900;
}
body.portal-profile-pv .pv-result-variant-card small {
    color: var(--pvr-muted);
}

/* ---------- Karty porownywarki / sekcje tresci ---------- */

body.portal-profile-pv .pv-compare-card,
body.portal-profile-pv .pv-offer-card,
body.portal-profile-pv .pv-decision-block,
body.portal-profile-pv .pv-home-info-panel {
    background: #fff;
    border: 1px solid var(--pvr-border);
    border-radius: 12px;
    box-shadow: none;
    padding: 20px;
}
body.portal-profile-pv .pv-compare-card strong,
body.portal-profile-pv .pv-offer-card strong {
    color: var(--pvr-ink);
    display: block;
    font-size: 16px;
    font-weight: 900;
    margin-bottom: 6px;
}
body.portal-profile-pv .pv-compare-card span,
body.portal-profile-pv .pv-offer-card span {
    color: var(--pvr-muted);
    font-size: 14px;
    line-height: 1.55;
}
body.portal-profile-pv .pv-decision-block .title,
body.portal-profile-pv .pv-home-info-panel .title {
    font-size: 1.15rem;
}
body.portal-profile-pv .pv-decision-block p,
body.portal-profile-pv .pv-home-info-panel p {
    color: var(--pvr-muted);
    font-size: 13.5px;
    line-height: 1.55;
}

/* Wiersze cen (co musi byc w cenie) */
body.portal-profile-pv .pv-price-compare {
    background: #fff;
    border: 1px solid var(--pvr-border);
    border-radius: var(--pvr-card-radius);
    margin-top: 24px;
    padding: 26px;
}
body.portal-profile-pv .pv-price-row {
    background: var(--pvr-bg);
    border-radius: 8px;
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
    padding: 10px 12px;
}
body.portal-profile-pv .pv-price-row strong {
    color: var(--pvr-ink);
    flex: none;
    min-width: 170px;
}
body.portal-profile-pv .pv-price-row span {
    color: var(--pvr-muted);
}
@media screen and (max-width: 640px) {
    body.portal-profile-pv .pv-price-row {
        flex-direction: column;
        gap: 2px;
    }
}

/* Panel intencji - ciemny granat */
body.portal-profile-pv .pv-trend-panel {
    background: var(--pvr-navy);
    border: none;
    border-radius: var(--pvr-card-radius);
    color: #fff;
    margin-top: 24px;
    padding: 26px;
}
body.portal-profile-pv .pv-trend-panel .title {
    color: #fff !important;
}
body.portal-profile-pv .pv-trend-panel p {
    color: #aeb9c8;
}
body.portal-profile-pv .pv-trend-panel .pv-section-eyebrow {
    color: var(--pvr-yellow);
}
body.portal-profile-pv .pv-trend-panel .pv-home-table-wrap {
    background: transparent;
    border: none;
    border-radius: 0;
}
body.portal-profile-pv .pv-trend-panel .table {
    background: transparent;
    color: #fff;
}
body.portal-profile-pv .pv-trend-panel .table thead th {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.25);
    color: #d7dde6;
}
body.portal-profile-pv .pv-trend-panel .table td {
    border-color: rgba(255, 255, 255, 0.12);
    color: #aeb9c8;
}
body.portal-profile-pv .pv-trend-panel .table td strong {
    color: #fff;
}

/* Panel bledow - zolte tlo ostrzegawcze */
body.portal-profile-pv .pv-mistakes-panel {
    background: #fff8e6;
    border: 1px solid #f0dfa6;
    border-radius: 12px;
    margin-top: 24px;
    padding: 22px 24px;
}
body.portal-profile-pv .pv-mistakes-panel p,
body.portal-profile-pv .pv-mistake-list li {
    color: #5a4d20;
}
body.portal-profile-pv .pv-mistake-list {
    columns: 2;
    column-gap: 28px;
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
}
body.portal-profile-pv .pv-mistake-list li {
    break-inside: avoid;
    font-size: 14px;
    line-height: 1.55;
    margin-bottom: 8px;
    padding-left: 14px;
    position: relative;
}
body.portal-profile-pv .pv-mistake-list li::before {
    content: "·";
    font-weight: 900;
    left: 0;
    position: absolute;
}
@media screen and (max-width: 768px) {
    body.portal-profile-pv .pv-mistake-list {
        columns: 1;
    }
}

/* ---------- Panel wyniku: uklad A/B + Krok 2 (mockup) ---------- */

body.portal-profile-pv .pv-result-head {
    align-items: baseline;
    border-bottom: 1px solid #eceee9;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin: -0.25rem 0 1.25rem;
    padding-bottom: 1rem;
}
body.portal-profile-pv .pv-result-head .pv-result-eyebrow {
    margin: 0;
}
body.portal-profile-pv .pv-result-head__meta {
    color: var(--pvr-faint);
    font-size: 14px;
    margin: 0;
}
body.portal-profile-pv .pv-result-main-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 1rem;
}
body.portal-profile-pv .pv-result-variant-box {
    background: #fff;
    border: 1.5px solid var(--pvr-border);
    border-radius: 12px;
    padding: 22px;
    position: relative;
}
body.portal-profile-pv .pv-result-variant-box--b {
    background: #fbfdf9;
    border-color: var(--pvr-green);
}
body.portal-profile-pv .pv-result-variant-box__badge {
    background: var(--pvr-green);
    border-radius: 999px;
    color: #fff;
    font-size: 11.5px;
    font-weight: 900;
    left: 18px;
    letter-spacing: 0.04em;
    padding: 4px 10px;
    position: absolute;
    text-transform: uppercase;
    top: -12px;
}
body.portal-profile-pv .pv-result-variant-box__eyebrow {
    color: var(--pvr-faint);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.04em;
    margin-bottom: 12px;
    text-transform: uppercase;
}
body.portal-profile-pv .pv-result-variant-box--b .pv-result-variant-box__eyebrow {
    color: var(--pvr-green-dark);
}
body.portal-profile-pv .pv-result-variant-box__power {
    color: var(--pvr-ink);
    font-size: 1.9rem;
    font-weight: 900;
    line-height: 1.15;
}
body.portal-profile-pv .pv-result-variant-box__power em {
    color: var(--pvr-green-dark);
    font-size: 1rem;
    font-style: normal;
    font-weight: 900;
}
body.portal-profile-pv .pv-result-variant-box__meta {
    color: var(--pvr-muted);
    font-size: 14px;
    margin: 4px 0 16px;
}
body.portal-profile-pv .pv-result-variant-box__price {
    background: var(--pvr-bg);
    border-radius: 9px;
    margin-bottom: 14px;
    padding: 12px 14px;
}
body.portal-profile-pv .pv-result-variant-box--b .pv-result-variant-box__price {
    background: #eef6ec;
}
body.portal-profile-pv .pv-result-variant-box__price span {
    color: var(--pvr-faint);
    display: block;
    font-size: 12.5px;
    font-weight: 700;
}
body.portal-profile-pv .pv-result-variant-box--b .pv-result-variant-box__price span,
body.portal-profile-pv .pv-result-variant-box--b .pv-result-variant-box__price small {
    color: #4a6b50;
}
body.portal-profile-pv .pv-result-variant-box__price strong {
    color: var(--pvr-ink);
    font-size: 1.2rem;
    font-weight: 900;
}
body.portal-profile-pv .pv-result-variant-box__price small {
    color: var(--pvr-faint);
    display: block;
    font-size: 12.5px;
}
body.portal-profile-pv .pv-result-variant-box__list {
    color: var(--pvr-muted);
    font-size: 13.5px;
    line-height: 1.7;
}
body.portal-profile-pv .pv-result-step2 {
    background: var(--pvr-navy);
    border-radius: 12px;
    color: #fff;
    display: flex;
    flex-direction: column;
    grid-column: 1 / -1;
    padding: 22px;
}
body.portal-profile-pv .pv-result-step2__eyebrow {
    color: var(--pvr-yellow);
    font-size: 12.5px;
    font-weight: 900;
    letter-spacing: 0.05em;
    margin-bottom: 8px;
    text-transform: uppercase;
}
body.portal-profile-pv .pv-result-step2__title {
    color: #fff;
    font-size: 19px;
    font-weight: 900;
    line-height: 1.3;
    margin-bottom: 8px;
}
body.portal-profile-pv .pv-result-step2__text {
    color: #aeb9c8;
    font-size: 13.5px;
    line-height: 1.55;
    margin-bottom: 14px;
}
body.portal-profile-pv .pv-result-step2__list {
    color: #d7dde6;
    font-size: 13px;
    line-height: 1.9;
    margin-bottom: 16px;
}
body.portal-profile-pv .pv-result-step2__cta.button {
    background: var(--pvr-yellow) !important;
    border: none;
    border-radius: 9px !important;
    color: var(--pvr-ink) !important;
    font-size: 15px;
    font-weight: 900;
    height: 46px;
    justify-content: center;
    margin-top: auto;
    width: 100%;
}
body.portal-profile-pv .pv-result-step2__cta.button:hover {
    background: var(--pvr-yellow-dark) !important;
}
body.portal-profile-pv .pv-result-offers-note {
    color: var(--pvr-fainter);
    font-size: 13px;
    margin-bottom: 1.25rem;
}
body.portal-profile-pv .pv-result-variant-card--backup {
    background: var(--pvr-bg);
    border-style: dashed;
}
@media screen and (max-width: 900px) {
    body.portal-profile-pv .pv-result-main-grid {
        grid-template-columns: 1fr;
    }
}
@media screen and (min-width: 1408px) {
    body.portal-profile-pv .pv-result-main-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* Przyciski "Oblicz" w kalkulatorze - niebieskie jak w mockupie */
body.portal-profile-pv .pv-home-quick-actions .button.product-main-button,
body.portal-profile-pv .pv-calculator-actions .button.product-main-button {
    background-color: var(--pvr-blue) !important;
    color: #fff !important;
}
body.portal-profile-pv .pv-home-quick-actions .button.product-main-button:hover,
body.portal-profile-pv .pv-calculator-actions .button.product-main-button:hover,
body.portal-profile-pv .pv-home-quick-actions .button.product-main-button:focus,
body.portal-profile-pv .pv-calculator-actions .button.product-main-button:focus {
    background-color: var(--pvr-blue-dark) !important;
    color: #fff !important;
}

/* Formularz: imie/telefon/email w jednym rzedzie */
body.portal-profile-pv .pv-form-contact-grid {
    display: grid;
    gap: 0 16px;
    grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 900px) {
    body.portal-profile-pv .pv-form-contact-grid {
        grid-template-columns: 1fr;
    }
}

/* Formularz: tematy zapytania jako pigulki */
body.portal-profile-pv .pv-form-interests {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 8px !important;
    padding: 0.75rem 0 !important;
}
body.portal-profile-pv .pv-form-interests .column {
    flex: none;
    padding: 0;
    width: auto;
}
body.portal-profile-pv .pv-form-interests .field {
    margin-bottom: 0;
}
body.portal-profile-pv .pv-form-interests .checkbox {
    align-items: center;
    background: #fff;
    border: 1.5px solid var(--pvr-border-input);
    border-radius: 999px;
    cursor: pointer;
    display: inline-flex;
    gap: 7px;
    padding: 7px 14px;
}
body.portal-profile-pv .pv-form-interests .checkbox:hover {
    border-color: var(--pvr-blue);
}
body.portal-profile-pv .pv-form-interests .checkbox input[type="checkbox"] {
    margin: 0;
}
body.portal-profile-pv .pv-form-interests .checkbox .is-size-7 {
    font-size: 13.5px !important;
    font-weight: 700;
}

/* Formularz: rozwijany blok "Mam juz oferte od wykonawcy" */
body.portal-profile-pv .pv-offer-details {
    background: #fafbf8;
    border: 1px solid var(--pvr-border);
    border-radius: 10px;
    margin-bottom: 18px;
}
body.portal-profile-pv .pv-offer-details > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-size: 14px;
    font-weight: 900;
    gap: 12px;
    justify-content: space-between;
    list-style: none;
    padding: 13px 16px;
}
body.portal-profile-pv .pv-offer-details > summary::-webkit-details-marker {
    display: none;
}
body.portal-profile-pv .pv-offer-details[open] .pv-faq-chev {
    transform: rotate(180deg);
}
body.portal-profile-pv .pv-offer-details__panel {
    margin: 0;
    padding: 4px 16px 8px;
}

/* ---------- Widgety pogody i slonca ---------- */

body.portal-profile-pv .pv-home-widget-grid {
    align-items: stretch;
    display: grid;
    gap: 18px;
    grid-template-columns: 360px 1fr;
}
@media screen and (max-width: 900px) {
    body.portal-profile-pv .pv-home-widget-grid {
        grid-template-columns: 1fr;
    }
}
body.portal-profile-pv .pv-weather-widget {
    background: linear-gradient(160deg, #16406e, var(--pvr-blue)) !important;
    border: none;
    border-radius: var(--pvr-card-radius);
    color: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 24px;
}
body.portal-profile-pv .pv-widget-eyebrow {
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.05em;
    margin-bottom: 6px;
    text-transform: uppercase;
}
body.portal-profile-pv .pv-weather-widget .pv-widget-eyebrow {
    color: var(--pvr-yellow);
}
body.portal-profile-pv .pv-weather-widget__date {
    color: #c8d6e8;
    font-size: 14px;
    margin-bottom: 14px;
}
body.portal-profile-pv .pv-weather-widget__temp {
    align-items: baseline;
    display: flex;
    gap: 10px;
    margin-bottom: 18px;
}
body.portal-profile-pv .pv-weather-widget__temp strong {
    color: #fff;
    font-size: 52px;
    font-weight: 900;
    line-height: 1;
}
body.portal-profile-pv .pv-weather-widget__temp span {
    color: #c8d6e8;
    font-size: 14px;
}
body.portal-profile-pv .pv-weather-widget__stats {
    display: grid;
    font-size: 13.5px;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
}
body.portal-profile-pv .pv-weather-widget__stats > div {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    padding: 10px 12px;
}
body.portal-profile-pv .pv-weather-widget__stats strong {
    color: #fff;
    font-size: 16px;
}
body.portal-profile-pv .pv-weather-widget .pv-widget-cta {
    align-self: flex-start;
    margin-top: 18px;
}
body.portal-profile-pv .pv-widget-cta.button {
    background: var(--pvr-yellow) !important;
    border: none;
    border-radius: 8px !important;
    color: var(--pvr-ink) !important;
    font-size: 13.5px;
    font-weight: 900;
    height: auto;
    padding: 9px 16px;
}
body.portal-profile-pv .pv-widget-cta.button:hover {
    background: var(--pvr-yellow-dark) !important;
}
body.portal-profile-pv .pv-solar-widget {
    display: flex;
    flex-direction: column;
    gap: 18px;
    height: 100%;
}
body.portal-profile-pv .pv-solar-card {
    background: #fff;
    border: 1px solid var(--pvr-border);
    border-radius: var(--pvr-card-radius);
    box-shadow: none;
    padding: 22px 24px;
}
body.portal-profile-pv .pv-solar-card__title {
    color: var(--pvr-ink);
    font-size: 16.5px;
    font-weight: 900;
    margin-bottom: 4px;
}
body.portal-profile-pv .pv-solar-card__meta {
    color: var(--pvr-faint);
    font-size: 13.5px;
    margin-bottom: 14px;
}
body.portal-profile-pv .pv-solar-tiles {
    display: grid;
    gap: 12px;
    text-align: center;
}
body.portal-profile-pv .pv-solar-tiles--three {
    grid-template-columns: repeat(3, 1fr);
}
body.portal-profile-pv .pv-solar-tiles--four {
    grid-template-columns: repeat(4, 1fr);
    margin-top: 12px;
}
body.portal-profile-pv .pv-solar-tiles > div {
    background: var(--pvr-bg);
    border-radius: 9px;
    padding: 12px;
}
body.portal-profile-pv .pv-solar-tiles > div.is-noon {
    background: #fff8e6;
}
body.portal-profile-pv .pv-solar-tiles strong {
    color: var(--pvr-ink);
    display: block;
    font-size: 19px;
    font-weight: 900;
}
body.portal-profile-pv .pv-solar-tiles span {
    color: var(--pvr-faint);
    font-size: 12.5px;
}
body.portal-profile-pv .pv-solar-card__note {
    color: var(--pvr-fainter);
    font-size: 12.5px;
    line-height: 1.55;
    margin-top: 12px;
}
body.portal-profile-pv .pv-solar-card .pv-widget-cta {
    margin-top: 14px;
}
@media screen and (max-width: 640px) {
    body.portal-profile-pv .pv-solar-tiles--four {
        grid-template-columns: 1fr 1fr;
    }
}

/* Kierunek paneli - poziome paski PVGIS */
body.portal-profile-pv .pv-orientation-widget {
    background: #fff;
    border: 1px solid var(--pvr-border);
    border-radius: var(--pvr-card-radius);
    padding: 26px;
}
body.portal-profile-pv .pv-orientation-bars {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 18px 0;
}
body.portal-profile-pv .pv-orientation-bar-row {
    align-items: center;
    display: grid;
    gap: 14px;
    grid-template-columns: 210px 1fr 150px;
}
body.portal-profile-pv .pv-orientation-bar-row__label strong {
    color: var(--pvr-ink);
    display: block;
    font-size: 15px;
    font-weight: 900;
}
body.portal-profile-pv .pv-orientation-bar-row__label span {
    color: var(--pvr-fainter);
    display: block;
    font-size: 12.5px;
}
body.portal-profile-pv .pv-orientation-bar-row__track {
    background: #eef0eb;
    border-radius: 999px;
    height: 22px;
    overflow: hidden;
}
body.portal-profile-pv .pv-orientation-bar-row__bar {
    align-items: center;
    border-radius: 999px;
    box-sizing: border-box;
    color: #fff;
    display: flex;
    font-size: 12px;
    font-weight: 900;
    height: 100%;
    justify-content: flex-end;
    min-width: 44px;
    padding-right: 10px;
}
body.portal-profile-pv .pv-orientation-bar-row__bar.is-best {
    background: linear-gradient(90deg, var(--pvr-green), #4dbb60);
}
body.portal-profile-pv .pv-orientation-bar-row__bar.is-good {
    background: linear-gradient(90deg, #f0a800, #f5c33e);
    color: #5a4d20;
}
body.portal-profile-pv .pv-orientation-bar-row__bar.is-mid {
    background: linear-gradient(90deg, var(--pvr-blue), #3d7ec4);
}
body.portal-profile-pv .pv-orientation-bar-row__value {
    color: var(--pvr-ink);
    font-size: 15px;
    font-weight: 900;
    text-align: right;
}
body.portal-profile-pv .pv-orientation-note {
    border-top: 1px solid #eceee9;
    color: var(--pvr-fainter);
    font-size: 12.5px;
    margin-top: 4px;
    padding-top: 14px;
}
@media screen and (max-width: 768px) {
    body.portal-profile-pv .pv-orientation-bar-row {
        grid-template-columns: 1fr;
        gap: 6px;
    }
    body.portal-profile-pv .pv-orientation-bar-row__value {
        text-align: left;
    }
}

/* Potwierdzenie wyslania kalkulatora (wynik formularza) */
body.portal-profile-pv .pv-calculator-success.notification.is-success {
    background: #fbfdf9;
    border: 1.5px solid var(--pvr-green);
    border-radius: 16px;
    color: var(--pvr-ink);
    padding: 26px;
}
body.portal-profile-pv .pv-calculator-success__head {
    display: flex;
    gap: 14px;
}
body.portal-profile-pv .pv-calculator-success__icon {
    align-items: center;
    background: var(--pvr-green);
    border-radius: 50%;
    color: #fff;
    display: flex;
    flex: none;
    font-size: 1rem;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    width: 34px;
}
body.portal-profile-pv .pv-calculator-success__title {
    color: var(--pvr-ink);
    font-size: 1.15rem;
    font-weight: 900;
}
body.portal-profile-pv .pv-calculator-success__summary {
    color: var(--pvr-green-dark);
    font-size: 14px;
}
body.portal-profile-pv .pv-calculator-success p {
    color: var(--pvr-muted);
}
body.portal-profile-pv .pv-success-checklist {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
    margin-top: 16px;
}
body.portal-profile-pv .pv-success-checklist span {
    background: #eef6ec;
    border-radius: 9px;
    color: #4a6b50;
    display: block;
    font-size: 13.5px;
    line-height: 1.5;
    padding: 10px 12px;
}
@media screen and (max-width: 640px) {
    body.portal-profile-pv .pv-success-checklist {
        grid-template-columns: 1fr;
    }
}

/* ---------- FAQ kalkulatora / wiedza ---------- */

body.portal-profile-pv .pv-calculator-faq-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, 1fr);
}
body.portal-profile-pv .pv-calculator-faq-grid article {
    background: #fff;
    border: 1px solid var(--pvr-border);
    border-radius: 12px;
    padding: 20px;
}
body.portal-profile-pv .pv-calculator-faq-grid h3 {
    color: var(--pvr-ink);
    font-size: 16.5px;
    font-weight: 900;
    line-height: 1.3;
    margin-bottom: 8px;
}
body.portal-profile-pv .pv-calculator-faq-grid p {
    color: var(--pvr-muted);
    font-size: 13.5px;
    line-height: 1.55;
}
@media screen and (max-width: 900px) {
    body.portal-profile-pv .pv-calculator-faq-grid {
        grid-template-columns: 1fr;
    }
}

/* Final CTA */
body.portal-profile-pv .pv-home-final-cta__inner {
    align-items: center;
    background: #fff;
    border: 1px solid var(--pvr-border);
    border-radius: 16px;
    box-shadow: var(--pvr-shadow);
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
    padding: 26px 28px;
}

/* ---------- Formularz kontaktowy ---------- */

body.portal-profile-pv #contact-form {
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(20, 30, 45, 0.08);
    overflow: hidden;
}
body.portal-profile-pv .form-column-title {
    background: linear-gradient(170deg, var(--pvr-green-dark), var(--pvr-green)) !important;
    border-radius: 0 !important;
    height: 100%;
    padding: 34px 30px;
}
body.portal-profile-pv .form-column-title .content {
    display: flex;
    flex-direction: column;
    height: 100%;
}
body.portal-profile-pv .form-column-title .content,
body.portal-profile-pv .form-column-title .content p {
    color: #e2f1e2;
}
body.portal-profile-pv .form-column-title .content strong {
    color: #fff;
}
body.portal-profile-pv .form-column-title .title {
    color: #fff;
}
body.portal-profile-pv .form-column-title ul {
    list-style: none;
    margin-left: 0;
}
body.portal-profile-pv .form-column-title ul li {
    color: #e2f1e2;
    font-size: 13.5px;
    line-height: 1.9;
    padding-left: 22px;
    position: relative;
}
body.portal-profile-pv .form-column-title ul li::before {
    content: "\2713";
    color: #fff;
    font-weight: 900;
    left: 0;
    position: absolute;
}
body.portal-profile-pv .pv-form-side-note {
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    margin-top: auto;
    padding-top: 22px;
}
body.portal-profile-pv .pv-form-side-note p {
    color: #cfe6cf;
    font-size: 12.5px;
    line-height: 1.6;
    margin-bottom: 0;
}
body.portal-profile-pv .pv-form-side-note p + p {
    margin-top: 10px;
}
body.portal-profile-pv .form-box {
    background: #fff;
    border: 1px solid var(--pvr-border);
    border-left: none;
    padding: 34px;
}
body.portal-profile-pv .form-box .input,
body.portal-profile-pv .form-box .textarea {
    border: 1.5px solid var(--pvr-border-input);
    border-radius: 8px;
}
body.portal-profile-pv .form-box .checkbox {
    align-items: center;
    border: 1.5px solid var(--pvr-border-input);
    border-radius: 999px;
    display: inline-flex;
    gap: 7px;
    padding: 7px 14px;
    transition: border-color 0.15s ease, background 0.15s ease;
}
body.portal-profile-pv .form-box .checkbox:hover {
    border-color: var(--pvr-blue);
}
body.portal-profile-pv .form-box .checkbox input[type="checkbox"] {
    margin: 0;
}
body.portal-profile-pv .form-box .form-consents .checkbox {
    border: none;
    border-radius: 0;
    display: flex;
    gap: 8px;
    padding: 0;
}
body.portal-profile-pv .form-box .columns.p-3 {
    padding: 0.25rem !important;
}
body.portal-profile-pv .form-box .columns.p-3 .column {
    padding-bottom: 0.25rem;
    padding-top: 0.25rem;
}
body.portal-profile-pv .form-box .h-triangle {
    font-size: 22px;
    font-weight: 900;
    margin-bottom: 6px;
    padding-left: 0;
}
body.portal-profile-pv .form-box .h-triangle::before {
    display: none;
}
body.portal-profile-pv .form-column-title .title {
    font-size: 24px;
    line-height: 1.25;
}
body.portal-profile-pv .form-box .label {
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 6px;
}
body.portal-profile-pv .pv-form-location {
    margin-bottom: 18px;
}
body.portal-profile-pv .pv-form-location__line {
    color: var(--pvr-green-dark);
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 2px;
}
body.portal-profile-pv .pv-form-location__hint {
    color: #8a94a0;
    font-size: 12px;
    margin-bottom: 0;
}
body.portal-profile-pv .form-box .form-consents .checkbox .is-size-7,
body.portal-profile-pv .form-box .form-consents .help {
    color: #8a94a0;
    font-size: 12px !important;
    line-height: 1.5;
}
body.portal-profile-pv .pv-form-submit-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}
body.portal-profile-pv .pv-form-admin-note {
    color: #8a94a0;
    font-size: 12px;
    line-height: 1.5;
    max-width: 460px;
}
body.portal-profile-pv .pv-form-admin-note a {
    color: var(--pvr-blue);
    text-decoration: underline;
}

/* ---------- FAQ akordeony i slownik (mockup) ---------- */

body.portal-profile-pv .pv-faq-grid {
    align-items: start;
    display: grid;
    gap: 14px 24px;
    grid-template-columns: 1fr 1fr;
    margin-top: 1.25rem;
}
body.portal-profile-pv .pv-faq-item {
    background: #fff;
    border: 1px solid var(--pvr-border);
    border-radius: 10px;
}
body.portal-profile-pv .pv-faq-item > summary {
    align-items: baseline;
    cursor: pointer;
    display: flex;
    font-size: 15px;
    font-weight: 900;
    gap: 12px;
    justify-content: space-between;
    list-style: none;
    padding: 16px 20px;
}
body.portal-profile-pv .pv-faq-item > summary::-webkit-details-marker,
body.portal-profile-pv .pv-glossary > summary::-webkit-details-marker {
    display: none;
}
body.portal-profile-pv .pv-faq-chev {
    color: var(--pvr-blue);
    flex: none;
    transition: transform 0.2s;
}
body.portal-profile-pv .pv-faq-item[open] .pv-faq-chev,
body.portal-profile-pv .pv-glossary[open] .pv-faq-chev {
    transform: rotate(180deg);
}
body.portal-profile-pv .pv-faq-answer {
    color: var(--pvr-muted);
    font-size: 14px;
    line-height: 1.6;
    padding: 0 20px 18px;
}
@media screen and (max-width: 900px) {
    body.portal-profile-pv .pv-faq-grid {
        grid-template-columns: 1fr;
    }
}
body.portal-profile-pv .pv-glossary {
    background: #fff;
    border: 1px solid var(--pvr-border);
    border-radius: 12px;
}
body.portal-profile-pv .pv-glossary > summary {
    align-items: baseline;
    cursor: pointer;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    list-style: none;
    padding: 18px 22px;
}
body.portal-profile-pv .pv-glossary__title {
    color: var(--pvr-ink);
    display: inline;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0;
}
body.portal-profile-pv .pv-glossary-grid {
    display: grid;
    gap: 16px 22px;
    grid-template-columns: repeat(4, 1fr);
    padding: 0 22px 22px;
}
body.portal-profile-pv .pv-glossary-term strong {
    color: var(--pvr-ink);
    display: block;
    font-weight: 900;
}
body.portal-profile-pv .pv-glossary-term span {
    color: var(--pvr-muted);
    font-size: 13.5px;
    line-height: 1.55;
}
@media screen and (max-width: 1023px) {
    body.portal-profile-pv .pv-glossary-grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media screen and (max-width: 640px) {
    body.portal-profile-pv .pv-glossary-grid {
        grid-template-columns: 1fr;
    }
}

/* Kotwice pod sticky headerem */
body.portal-profile-pv section[id],
body.portal-profile-pv div[id],
body.portal-profile-pv details[id] {
    scroll-margin-top: 84px;
}

/* ---------- Stopka ---------- */

body.portal-profile-pv footer {
    background-color: var(--pvr-navy-deep);
    margin-top: 3rem;
}
body.portal-profile-pv footer::after {
    display: none;
}
body.portal-profile-pv .footer-logo {
    height: 42px;
}
body.portal-profile-pv .footer-text {
    color: #aeb9c8;
    font-weight: 400;
    line-height: 1.6;
}
body.portal-profile-pv .footer-title {
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    margin-bottom: 14px;
}
body.portal-profile-pv .footer-menu a,
body.portal-profile-pv .footer-contact a {
    color: #d7dde6;
    font-size: 14px;
}
body.portal-profile-pv .footer-menu a:hover,
body.portal-profile-pv .footer-contact a:hover {
    color: #fff;
}
body.portal-profile-pv footer .partners {
    color: #7c8794;
    font-size: 13px;
    margin-top: 16px;
}
body.portal-profile-pv footer .partners a {
    color: #aeb9c8;
}
body.portal-profile-pv .footer-legal {
    color: #7c8794;
    font-size: 12.5px;
    line-height: 1.6;
    margin-top: 14px;
}
body.portal-profile-pv .footer-contact-simple a {
    color: #d7dde6;
    display: block;
    font-size: 14px;
    line-height: 2.1;
}
body.portal-profile-pv .footer-contact-simple a:hover {
    color: #fff;
}
body.portal-profile-pv footer .partners div {
    margin-top: 4px;
}
body.portal-profile-pv .footer-bottom {
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: #7c8794;
    display: flex;
    flex-wrap: wrap;
    font-size: 12.5px;
    gap: 10px;
    justify-content: space-between;
    margin-top: 2.5rem;
    padding-top: 16px;
}
body.portal-profile-pv .footer-bottom .CMButtonChange {
    background: transparent;
    border: none;
    border-radius: 0 !important;
    color: #7c8794;
    cursor: pointer;
    font-size: 12.5px;
    padding: 0;
}
body.portal-profile-pv .footer-bottom .CMButtonChange:hover {
    color: #fff;
    text-decoration: underline;
}

/* ---------- Strony gminne (blok PV w _t_gmina.php) ---------- */

body.portal-profile-pv .rainwater-local-answer,
body.portal-profile-pv .rainwater-benefit-card,
body.portal-profile-pv .related-location-card,
body.portal-profile-pv .related-service-card,
body.portal-profile-pv .compact-news-card {
    background: #fff;
    border: 1px solid var(--pvr-border);
    border-radius: 12px;
    box-shadow: none;
}
body.portal-profile-pv .rainwater-local-answer {
    padding: 26px;
}
body.portal-profile-pv .rainwater-benefit-card {
    padding: 20px;
}
body.portal-profile-pv .rainwater-benefit-card strong {
    color: var(--pvr-ink);
    display: block;
    font-size: 15.5px;
    font-weight: 900;
    margin-bottom: 6px;
}
body.portal-profile-pv .rainwater-benefit-card span {
    color: var(--pvr-muted);
    font-size: 13.5px;
    line-height: 1.55;
}
body.portal-profile-pv .rainwater-rainfall-eyebrow {
    color: var(--pvr-blue);
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
body.portal-profile-pv .product-cta-hero {
    background: var(--pvr-navy) !important;
    border-radius: 16px;
    color: #fff;
    overflow: hidden;
}
body.portal-profile-pv .product-cta-hero .title,
body.portal-profile-pv .product-cta-hero .subtitle {
    color: #fff !important;
}
body.portal-profile-pv .product-cta-hero .subtitle {
    color: #aeb9c8 !important;
}

/* Notyfikacje ostrzegawcze na zolto (spojne z panelem bledow) */
body.portal-profile-pv .notification.is-warning.is-light {
    background: #fff8e6;
    border: 1px solid #f0dfa6;
    border-radius: 12px;
    color: #5a4d20;
}

/* ---------- Drobiazgi ---------- */

body.portal-profile-pv .tag.is-warning.is-light {
    background: #fff4d1;
    border: 1px solid #f0dfa6;
    color: #7a6614;
    font-weight: 700;
}
body.portal-profile-pv .pv-home-section-head .subtitle {
    max-width: 760px;
}
body.portal-profile-pv .pv-mobile-sticky-cta {
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--pvr-border);
}

/* LEADS-CTA-01: box "Wyslij dane do analizy" (artykuly, poradniki, gminy) */
body.portal-profile-pv .pv-cta-box {
    align-items: center;
    background: #0f2b46;
    border-radius: 10px;
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
    justify-content: space-between;
    margin: 1.6rem 0;
    padding: 1.35rem 1.5rem;
}
body.portal-profile-pv .pv-cta-box__title {
    color: #fff;
    font-size: 1.15rem;
    font-weight: 800;
    margin-bottom: 0.35rem;
}
body.portal-profile-pv .pv-cta-box__lead {
    color: #d7e3ef;
    margin-bottom: 0.35rem;
    max-width: 560px;
}
body.portal-profile-pv .pv-cta-box__note {
    color: #9fb6cc;
    font-size: 0.8rem;
    margin-bottom: 0;
}
body.portal-profile-pv .pv-cta-box__actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-width: 230px;
}
body.portal-profile-pv .pv-cta-box__alt {
    color: #bcd2e6;
    font-size: 0.85rem;
    text-align: center;
    text-decoration: underline;
}
body.portal-profile-pv .pv-cta-box__alt:hover {
    color: #fff;
}
@media (max-width: 700px) {
    body.portal-profile-pv .pv-cta-box {
        flex-direction: column;
        align-items: stretch;
    }
}

/* LEADS-CTA-01: bezposrednie wejscie do formularza z hero */
body.portal-profile-pv .pv-hero-card__direct {
    color: var(--pvr-muted);
    display: block;
    flex: 0 0 100%;
    font-size: 0.85rem;
    margin-top: 0.1rem;
    text-align: center;
    text-decoration: underline;
}
body.portal-profile-pv .pv-hero-card__direct:hover {
    color: var(--pvr-navy);
}
