/* ── Category chips ── */
.regioner-category-chips{
    display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px;
}
.regioner-category-chip{
    display:inline-flex; align-items:center; gap:4px;
    background:#e0f2fe; color:#0369a1; border-radius:6px;
    padding:4px 8px; font-size:13px; line-height:1.3;
}
.regioner-category-chip__remove{
    background:none; border:none; cursor:pointer; color:#0369a1;
    font-size:16px; line-height:1; padding:0 2px; opacity:.6;
}
.regioner-category-chip__remove:hover{ opacity:1; }
/* Modal: disabled items at limit */
.js-rg-category-pick.is-disabled{
    opacity:.35; pointer-events:none;
}

:root {
    --rf-bg: #f5f9ff;
    --rf-bg-soft: #eef5ff;
    --rf-line: #d7e4f3;
    --rf-text: #0f1f33;
    --rf-muted: rgba(15, 31, 51, 0.74);
    --rf-accent: #0f4c81;
    --rf-accent-2: #14b8a6;
    --rf-success: #15803d;
    --rf-shadow: 0 10px 28px rgba(15, 35, 64, 0.08);
}

/* Override BuddyBoss primary color on all WooCommerce + flow pages.
   BuddyBoss Customizer generates inline <style> with hardcoded hex values
   AND CSS variables – we must override both.
   .woocommerce-page covers: shop, cart, checkout, my-account, order pages.
   Safe from parent-theme updates (child-theme CSS only). */
body.woocommerce-page,
body.regioner-packages-screen {
    --bb-primary-color: #0284c7 !important;
    --bb-primary-color-rgb: 2, 132, 199 !important;
    --bb-primary-button-background-regular: #0284c7 !important;
    --bb-primary-button-background-hover: #0270a8 !important;
    --bb-primary-button-border-regular: #0284c7 !important;
    --bb-primary-button-border-hover: #0270a8 !important;
    --bb-secondary-button-background-hover: #0284c7 !important;
    --bb-secondary-button-border-hover: #0284c7 !important;
    --bb-header-links-hover: #0284c7 !important;
    --bb-default-notice-color: #0284c7 !important;
    --bb-default-notice-color-rgb: 2, 132, 199 !important;
    --bb-label-background-color: #d0ecf9 !important;
    --bb-label-text-color: #0284c7 !important;
}

/* Force override inline styles that BB Customizer generates with literal #385DFF.
   Scoped to main content only — exclude header, footer, sidebar (#secondary). */
body.woocommerce-page .site-content a:not(.button):not(.regioner-btn),
body.regioner-packages-screen .site-content a:not(.button):not(.regioner-btn) {
    color: #0284c7;
}
body.woocommerce-page .site-content a:not(.button):not(.regioner-btn):hover,
body.regioner-packages-screen .site-content a:not(.button):not(.regioner-btn):hover {
    color: #0270a8;
}
/* Restore sidebar + widget links to default (inherit from theme) */
body.woocommerce-page #secondary a,
body.woocommerce-page #secondary a:hover,
body.regioner-packages-screen #secondary a,
body.regioner-packages-screen #secondary a:hover,
body.woocommerce-page .widget-area a,
body.woocommerce-page .widget-area a:hover,
body.regioner-packages-screen .widget-area a,
body.regioner-packages-screen .widget-area a:hover,
body.woocommerce-page .regioner-home-sidebar a,
body.woocommerce-page .regioner-home-sidebar a:hover,
body.regioner-packages-screen .regioner-home-sidebar a,
body.regioner-packages-screen .regioner-home-sidebar a:hover {
    color: inherit !important;
}

body.woocommerce-page .bb-style-primary-bgr-color,
body.regioner-packages-screen .bb-style-primary-bgr-color {
    background-color: #0284c7 !important;
}


/* ── Pricing page ── */
.myportal-cb-pricing-hero {
    text-align: center;
    padding: 32px 18px 20px;
}

.myportal-cb-pricing-hero__title {
    margin: 0 0 8px;
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 800;
    color: #0f2439;
    letter-spacing: -0.03em;
    line-height: 1.15;
}

.myportal-cb-pricing-hero__sub {
    margin: 0;
    font-size: 15px;
    color: var(--rf-muted);
}

.myportal-cb-pricing-cards {
    padding: 0 18px 24px;
}

/* Per-card cycle toggle */
.myportal-cb-pricing-card__cycle {
    display: flex;
    justify-content: center;
    gap: 4px;
    margin-bottom: 14px;
    padding: 3px;
    background: var(--rf-bg-soft);
    border-radius: 8px;
}

.myportal-cb-pricing-card__cycle-btn {
    padding: 6px 14px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--rf-muted);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.myportal-cb-pricing-card__cycle-btn.is-active {
    background: #ffffff;
    color: var(--rf-accent);
    box-shadow: 0 2px 6px rgba(15, 35, 64, 0.08);
}

.myportal-cb-pricing-card__cycle-btn:hover:not(.is-active) {
    color: var(--rf-text);
}

/* Monthly chip (per-card) */
.myportal-cb-pricing-card__monthly-chip {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 999px;
    background: var(--rf-accent);
    color: #ffffff;
    margin-bottom: 6px;
}

.myportal-cb-pricing-card__monthly-chip-value {
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
}

.myportal-cb-pricing-card__monthly-chip-label {
    display: flex;
    flex-direction: column;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.15;
    opacity: 0.85;
}

/* Billing note */
.myportal-cb-pricing-card__billing-note {
    font-size: 11px;
    color: var(--rf-muted);
    margin: 0 0 10px;
}

/* Price main row with discount badge inline */
.myportal-cb-pricing-card__price-main {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

/* Discount badge */
.myportal-cb-pricing-card__discount {
    display: inline-block;
    margin-top: 4px;
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--rf-success);
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.myportal-cb-pricing-cards__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    max-width: 1100px;
    margin: 0 auto;
}

.myportal-cb-pricing-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 28px 22px 24px;
    border: 1px solid var(--rf-line);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: var(--rf-shadow);
    position: relative;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.myportal-cb-pricing-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 36px rgba(15, 35, 64, 0.12);
}

.myportal-cb-pricing-card--popular {
    border-color: var(--rf-accent);
    box-shadow: 0 0 0 2px rgba(15, 76, 129, 0.12), var(--rf-shadow);
}

.myportal-cb-pricing-card__badge {
    position: absolute;
    top: -11px;
    left: 50%;
    transform: translateX(-50%);
    padding: 3px 14px;
    border-radius: 999px;
    background: var(--rf-accent);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.myportal-cb-pricing-card__img {
    width: 90px;
    height: auto;
    margin-bottom: 14px;
}

.myportal-cb-pricing-card__title {
    margin: 0 0 10px;
    font-size: 22px;
    font-weight: 800;
    color: #0f2439;
}

.myportal-cb-pricing-card__price {
    margin-bottom: 10px;
    text-align: center;
}

.myportal-cb-pricing-card__amount {
    font-size: 28px;
    font-weight: 800;
    color: var(--rf-accent);
    line-height: 1.1;
}

.myportal-cb-pricing-card__period {
    display: block;
    font-size: 13px;
    color: var(--rf-muted);
    margin-top: 3px;
}

.myportal-cb-pricing-card__pitch {
    font-size: 13px;
    color: var(--rf-muted);
    line-height: 1.5;
    margin: 0 0 14px;
}

.myportal-cb-pricing-card__cta {
    display: inline-flex;
    align-items: center;
    padding: 11px 24px;
    border-radius: 10px;
    background: linear-gradient(180deg, #0f4c81 0%, #0f426d 100%);
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(15, 76, 129, 0.22);
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

.myportal-cb-pricing-card__cta:hover {
    background: linear-gradient(180deg, #0f426d 0%, #0c3659 100%);
    box-shadow: 0 6px 20px rgba(15, 76, 129, 0.3);
    color: #ffffff !important;
}

.myportal-cb-pricing-card--popular .myportal-cb-pricing-card__cta {
    padding: 12px 28px;
    font-size: 15px;
}

/* Owner states: blocked / renew / upgrade */
.myportal-cb-pricing-card__cta--blocked {
    background: #e5e7eb !important;
    color: #6b7280 !important;
    box-shadow: none !important;
    cursor: not-allowed;
    pointer-events: none;
}

.myportal-cb-pricing-card--blocked {
    opacity: 0.75;
}

.myportal-cb-pricing-card--blocked .myportal-cb-pricing-card__cycle,
.myportal-cb-pricing-card--blocked .myportal-cb-pricing-card__demo-link {
    opacity: 0.65;
}

.myportal-cb-pricing-card__cta--renew {
    background: linear-gradient(180deg, #15803d 0%, #126932 100%);
    box-shadow: 0 4px 14px rgba(21, 128, 61, 0.22);
}

.myportal-cb-pricing-card__cta--renew:hover {
    background: linear-gradient(180deg, #126932 0%, #0f5a2a 100%);
    box-shadow: 0 6px 20px rgba(21, 128, 61, 0.3);
}

.myportal-cb-pricing-card__cta--upgrade {
    background: linear-gradient(180deg, #b45309 0%, #92400e 100%);
    box-shadow: 0 4px 14px rgba(180, 83, 9, 0.22);
}

.myportal-cb-pricing-card__cta--upgrade:hover {
    background: linear-gradient(180deg, #92400e 0%, #7c2d12 100%);
    box-shadow: 0 6px 20px rgba(180, 83, 9, 0.3);
}

/* Owner notice banner above the pricing grid */
.myportal-cb-pricing-owner-notice {
    max-width: 960px;
    margin: 0 auto 24px;
    padding: 14px 20px;
    border-radius: 10px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #0f4c81;
    font-size: 14px;
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: center;
}

.myportal-cb-pricing-owner-notice strong {
    font-size: 15px;
    color: #0c3659;
}

/* Demo profile link */
.myportal-cb-pricing-card__demo-link {
    display: block;
    margin-top: 10px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--rf-accent) !important;
    text-decoration: none !important;
    opacity: 0.8;
    transition: opacity 0.15s ease;
}

.myportal-cb-pricing-card__demo-link:hover {
    opacity: 1;
    text-decoration: underline !important;
}

/* Card highlights (Slack-style feature list) */
.myportal-cb-pricing-card__highlights {
    width: 100%;
    text-align: left;
    margin-bottom: 16px;
    padding-top: 12px;
    border-top: 1px solid var(--rf-line);
    flex-grow: 1;
}

.myportal-cb-pricing-card__highlights-intro {
    font-size: 12px;
    font-weight: 600;
    color: var(--rf-muted);
    margin: 0 0 8px;
    line-height: 1.4;
}

.myportal-cb-pricing-card__highlights-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.myportal-cb-pricing-card__highlights-list li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 5px;
    font-size: 13px;
    line-height: 1.45;
    color: var(--rf-text);
}

.myportal-cb-pricing-card__highlights-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 0;
    color: var(--rf-success);
    font-weight: 700;
    font-size: 13px;
}

.myportal-cb-pricing-card__billing {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 11.5px;
    color: var(--rf-muted);
}

.myportal-cb-pricing-free-link {
    text-align: center;
    margin: 20px 0 0;
    font-size: 14px;
    color: var(--rf-muted);
}

.myportal-cb-pricing-free-link a {
    font-weight: 700;
    color: var(--rf-accent) !important;
    text-decoration: underline !important;
}

/* ── Pricing comparison table ── */
.myportal-cb-pricing-compare {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 18px 40px;
}

.myportal-cb-pricing-compare__title {
    text-align: center;
    font-size: clamp(20px, 2.2vw, 28px);
    font-weight: 800;
    color: #0f2439;
    margin: 0 0 6px;
}

.myportal-cb-pricing-compare__subtitle {
    text-align: center;
    font-size: 14px;
    color: var(--rf-muted);
    margin: 0 0 24px;
}

.myportal-cb-pricing-compare__wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.myportal-cb-pricing-compare__table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 13.5px;
}

.myportal-cb-pricing-compare__table thead th {
    padding: 12px 14px;
    font-size: 13px;
    font-weight: 700;
    color: #1f3956;
    text-align: center;
    background: var(--rf-bg-soft);
    border-bottom: 2px solid var(--rf-line);
}

.myportal-cb-pricing-compare__table thead th:first-child {
    text-align: left;
}

.myportal-cb-pricing-compare__col--popular {
    background: rgba(15, 76, 129, 0.04) !important;
}

.myportal-cb-pricing-compare__feature-col {
    text-align: left !important;
    font-weight: 600;
    color: #2a4563;
    min-width: 200px;
}

.myportal-cb-pricing-compare__table tbody td {
    padding: 10px 14px;
    border-bottom: 1px solid #e9f0f8;
    text-align: center;
    vertical-align: middle;
}

.myportal-cb-pricing-compare__table tbody td:first-child {
    text-align: left;
}

.myportal-cb-pricing-compare__table tbody tr:last-child td {
    border-bottom: none;
}

.myportal-cb-pricing-compare__mark--yes {
    color: var(--rf-success);
    font-weight: 700;
    font-size: 16px;
}

.myportal-cb-pricing-compare__mark--no {
    color: #c4cdd8;
    font-size: 14px;
}

.myportal-cb-pricing-compare__mark--text {
    color: var(--rf-accent);
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.myportal-cb-pricing-compare__category-row td {
    border-bottom: none !important;
}

.myportal-cb-pricing-compare__category-label {
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--rf-accent) !important;
    padding: 18px 14px 6px !important;
    background: transparent !important;
}

@media (max-width: 768px) {
    .myportal-cb-pricing-cards__grid {
        grid-template-columns: 1fr;
        gap: 16px;
        max-width: 400px;
    }

    .myportal-cb-pricing-card {
        padding: 22px 18px 20px;
    }

    .myportal-cb-pricing-compare__feature-col {
        min-width: 140px;
    }

    .myportal-cb-pricing-compare__table thead th,
    .myportal-cb-pricing-compare__table tbody td {
        padding: 8px 8px;
        font-size: 12px;
    }
}

/* ── FAQ section width ── */
.regioner-packages-section--faq {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 18px 40px;
}

/* ── Pricing promo full-width sections ── */
.myportal-cb-pricing-promo {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 18px 40px;
}

.myportal-cb-pricing-promo__inner {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 32px;
    align-items: stretch;
    padding: 36px 32px;
    background: #ffffff;
    border: 1px solid var(--rf-line);
    border-radius: 16px;
    box-shadow: var(--rf-shadow);
}

.myportal-cb-pricing-promo__eyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--rf-accent);
    margin-bottom: 8px;
}

.myportal-cb-pricing-promo__title {
    font-size: clamp(20px, 2.2vw, 26px);
    font-weight: 800;
    color: #0f2439;
    margin: 0 0 10px;
    line-height: 1.2;
}

.myportal-cb-pricing-promo__lead {
    font-size: 14px;
    color: var(--rf-muted);
    line-height: 1.6;
    margin: 0 0 16px;
}

.myportal-cb-pricing-promo__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.myportal-cb-pricing-promo__list li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 6px;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--rf-text);
}

.myportal-cb-pricing-promo__list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 0;
    color: var(--rf-success);
    font-weight: 700;
}

/* Gallery: 2×2 mosaic filling column height */
.myportal-cb-pricing-promo__gallery-mosaic {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 10px;
    height: 100%;
}

/* Gallery: 1 big + 2 small (service) */
.myportal-cb-pricing-promo__gallery-placeholder {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.myportal-cb-pricing-promo__gallery-item {
    min-height: 80px;
    background: var(--rf-bg-soft);
    border: 2px dashed var(--rf-line);
    border-radius: 10px;
}

/* Service gallery: 1 big + 2 small below */
.myportal-cb-pricing-promo__gallery-placeholder--service {
    grid-template-columns: 1fr 1fr;
}

.myportal-cb-pricing-promo__gallery-placeholder--service > :first-child {
    grid-column: span 2;
}

/* Clickable gallery images */
.myportal-cb-pricing-promo__gallery-link {
    display: block;
    border-radius: 10px;
    overflow: hidden;
    cursor: zoom-in;
    transition: box-shadow 0.2s ease;
}

.myportal-cb-pricing-promo__gallery-link:hover {
    box-shadow: 0 4px 16px rgba(15, 35, 64, 0.15);
}

.myportal-cb-pricing-promo__gallery-link img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid var(--rf-line);
}

.myportal-cb-pricing-promo__gallery-caption {
    text-align: center;
    font-size: 11.5px;
    color: var(--rf-muted);
    margin: 10px 0 0;
    font-style: italic;
}

/* Promo – media / gallery column */
.myportal-cb-pricing-promo__gallery,
.myportal-cb-pricing-promo__media {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Service price block */
.myportal-cb-pricing-promo__service-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 16px 0 4px;
}

.myportal-cb-pricing-promo__service-amount {
    font-size: 26px;
    font-weight: 800;
    color: var(--rf-accent);
    line-height: 1;
}

.myportal-cb-pricing-promo__service-regular {
    font-size: 16px;
    font-weight: 400;
    color: var(--rf-muted);
    text-decoration: line-through;
}

.myportal-cb-pricing-promo__service-note {
    font-size: 12px;
    color: var(--rf-muted);
}

.myportal-cb-pricing-promo__service-lowest {
    font-size: 11px;
    color: var(--rf-muted);
    margin: 2px 0 0;
}

.myportal-cb-pricing-promo__service-cta {
    margin-top: 16px;
}

.myportal-cb-pricing-promo__service-info {
    font-size: 13px;
    color: var(--rf-muted);
    margin: 0 0 6px;
}

.myportal-cb-pricing-promo__service-link {
    font-size: 13px;
    font-weight: 600;
    color: var(--rf-accent) !important;
}

/* How it works mini-steps */
.myportal-cb-pricing-promo__how-title {
    font-size: 14px;
    font-weight: 700;
    color: #0f2439;
    margin: 0 0 10px;
}

.myportal-cb-pricing-promo__how-steps {
    margin: 0;
    padding: 0 0 0 22px;
}

.myportal-cb-pricing-promo__how-steps li {
    font-size: 13px;
    color: var(--rf-text);
    line-height: 1.5;
    margin-bottom: 4px;
}

.myportal-cb-pricing-promo__how-steps li::marker {
    color: var(--rf-accent);
    font-weight: 700;
}

@media (max-width: 768px) {
    .myportal-cb-pricing-promo__inner {
        grid-template-columns: 1fr;
        padding: 24px 20px;
        gap: 24px;
    }
}

/* ── Wizard: form layout ── */

/* ── Wizard: step section cards ── */
.myportal-cb-step-section {
    background: #ffffff;
    border: 1px solid var(--rf-line);
    border-radius: 12px;
    padding: clamp(20px, 3vw, 32px);
    box-shadow: var(--rf-shadow);
    margin-bottom: 20px;
}

.myportal-cb-step-section .regioner-section__heading {
    margin: 0 0 6px;
    padding-bottom: 0;
    border-bottom: none;
    font-size: clamp(20px, 2.2vw, 26px);
    color: #0f2439;
    letter-spacing: -0.02em;
}

/* ── Wizard: step progress indicator ── */
.myportal-cb-step-section::before {
    display: block;
    margin-bottom: 14px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--rf-accent);
    opacity: 0.7;
}

.myportal-cb-step-1::before { content: 'Krok 1 z 3'; }
.myportal-cb-step-2::before { content: 'Krok 2 z 3'; }
.myportal-cb-step-3::before { content: 'Krok 3 z 3'; }

/* ── Wizard: subsection headings (h3) within steps ── */
.myportal-cb-subsection-heading {
    margin: 28px 0 12px;
    padding: 0 0 8px;
    border-bottom: 1px solid #e9f0f8;
    font-size: 15px;
    font-weight: 700;
    color: #2a4563;
    letter-spacing: -0.01em;
}

.myportal-cb-subsection-heading:first-of-type {
    margin-top: 18px;
}

/* ── Wizard: form grid polish ── */
.myportal-cb-wizard-screen .myportal-cb-form-grid {
    gap: 14px 16px;
}

.myportal-cb-wizard-screen .myportal-cb-field label {
    font-size: 13px;
    font-weight: 600;
    color: #1f3956;
    margin-bottom: 5px;
    display: block;
}

.myportal-cb-wizard-screen .myportal-cb-field input[type="text"],
.myportal-cb-wizard-screen .myportal-cb-field input[type="email"],
.myportal-cb-wizard-screen .myportal-cb-field input[type="tel"],
.myportal-cb-wizard-screen .myportal-cb-field input[type="url"],
.myportal-cb-wizard-screen .myportal-cb-field input[type="password"],
.myportal-cb-wizard-screen .myportal-cb-field textarea,
.myportal-cb-wizard-screen .myportal-cb-field select {
    border: 1px solid var(--rf-line);
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 14px;
    color: var(--rf-text);
    background: #ffffff;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
    width: 100%;
    box-sizing: border-box;
}

.myportal-cb-wizard-screen .myportal-cb-field input:focus,
.myportal-cb-wizard-screen .myportal-cb-field textarea:focus,
.myportal-cb-wizard-screen .myportal-cb-field select:focus {
    border-color: var(--rf-accent);
    box-shadow: 0 0 0 3px rgba(15, 76, 129, 0.1);
    outline: none;
}

.myportal-cb-wizard-screen .myportal-cb-field input[readonly] {
    background: var(--rf-bg-soft);
    color: var(--rf-muted);
    cursor: not-allowed;
}

/* ── Wizard: consent checkboxes polish ── */
.myportal-cb-wizard-screen .myportal-cb-consents {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.myportal-cb-wizard-screen .myportal-cb-consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 14px;
    border: 1px solid #e9f0f8;
    border-radius: 8px;
    background: #fafcff;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
    font-size: 13px;
    line-height: 1.5;
}

.myportal-cb-wizard-screen .myportal-cb-consent:hover {
    border-color: #c5d9ef;
    background: #f3f8ff;
}

.myportal-cb-wizard-screen .myportal-cb-consent input[type="checkbox"] {
    margin-top: 2px;
    flex-shrink: 0;
}

.myportal-cb-wizard-screen .myportal-cb-consent--select-all {
    background: var(--rf-bg-soft);
    border-color: #d0dff0;
    font-weight: 600;
}

.myportal-cb-wizard-screen .myportal-cb-consent--optional {
    border-style: dashed;
    background: transparent;
}

/* ── Wizard: submit button area ── */
.myportal-cb-wizard-screen .myportal-cb-submit-actions {
    text-align: center;
    padding-top: 8px;
}

.myportal-cb-wizard-screen .myportal-cb-submit-actions button[type="submit"] {
    min-width: 280px;
    min-height: 52px;
    font-size: 16px;
    border-radius: 10px;
}

/* ── Wizard: profile type cards polish ── */
.myportal-cb-wizard-screen .myportal-cb-profile-type-grid {
    gap: 10px;
}

.myportal-cb-wizard-screen .myportal-cb-profile-type-card {
    border-radius: 10px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.myportal-cb-wizard-screen .myportal-cb-profile-type-card.is-active {
    border-color: var(--rf-accent);
    box-shadow: 0 0 0 3px rgba(15, 76, 129, 0.1);
}

/* ── Wizard: upgrade package cards (free flow) ── */
.myportal-cb-upgrade-cards {
    margin-top: 24px;
}

.myportal-cb-upgrade-cards__intro {
    margin: 0 0 14px;
    font-size: 14px;
    font-weight: 600;
    color: #1f3956;
}

.myportal-cb-upgrade-cards__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.myportal-cb-upgrade-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 20px 16px 18px;
    border: 1px solid var(--rf-line);
    border-radius: 10px;
    background: #ffffff;
    text-decoration: none !important;
    color: var(--rf-text) !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
    position: relative;
}

.myportal-cb-upgrade-card:hover {
    border-color: var(--rf-accent);
    box-shadow: 0 6px 20px rgba(15, 76, 129, 0.12);
    transform: translateY(-2px);
}

.myportal-cb-upgrade-card--popular {
    border-color: #c5d9ef;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.myportal-cb-upgrade-card__badge {
    position: absolute;
    top: -9px;
    left: 50%;
    transform: translateX(-50%);
    padding: 2px 10px;
    border-radius: 999px;
    background: var(--rf-accent);
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.myportal-cb-upgrade-card__img {
    width: 80px;
    height: auto;
    margin-bottom: 10px;
    border-radius: 8px;
}

.myportal-cb-upgrade-card__title {
    font-size: 15px;
    font-weight: 700;
    color: #0f2439;
    margin-bottom: 4px;
}

.myportal-cb-upgrade-card__pitch {
    font-size: 12.5px;
    color: var(--rf-muted);
    line-height: 1.4;
    margin-bottom: 12px;
}

.myportal-cb-upgrade-card__cta {
    display: inline-flex;
    padding: 6px 14px;
    border-radius: 6px;
    background: var(--rf-bg-soft);
    color: var(--rf-accent) !important;
    font-size: 12px;
    font-weight: 700;
    transition: background 0.15s ease;
}

.myportal-cb-upgrade-card:hover .myportal-cb-upgrade-card__cta {
    background: rgba(15, 76, 129, 0.1);
}

@media (max-width: 640px) {
    .myportal-cb-upgrade-cards__grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .myportal-cb-upgrade-card {
        flex-direction: row;
        text-align: left;
        padding: 14px;
        gap: 12px;
    }

    .myportal-cb-upgrade-card__img {
        width: 56px;
        margin-bottom: 0;
        flex-shrink: 0;
    }

    .myportal-cb-upgrade-card__pitch {
        margin-bottom: 6px;
    }

    .myportal-cb-upgrade-card__badge {
        top: -8px;
        left: auto;
        right: 12px;
        transform: none;
    }
}

/* ── Wizard: existing-profile inline hint ── */
.myportal-cb-existing-hint {
    margin: 0 0 16px;
    padding: 10px 14px;
    border: 1px solid #cfe2f7;
    border-radius: 8px;
    background: #f3f8ff;
    color: #1e4b78;
    font-size: 13px;
    line-height: 1.5;
}

.myportal-cb-existing-hint a {
    font-weight: 600;
    text-decoration: underline;
}

/* ── Wizard: field hints ── */
.myportal-cb-field-hint {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: var(--rf-muted);
    line-height: 1.4;
}

/* ── Wizard: NIP check intro ── */
.myportal-cb-nip-check-intro {
    margin: 12px 0 14px;
    color: var(--rf-muted);
    font-size: 13.5px;
    line-height: 1.5;
}

.myportal-cb-nip-check-intro p {
    margin: 0;
}

/* ── Wizard: NIP duplicate alert ── */
/* Palette: soft informational blue (replace old terracotta #fff8f4/#8a3f23). */
.myportal-cb-nip-duplicate-alert {
    margin-top: 8px;
    padding: 14px 16px;
    border: 1px solid #c7dbf0;
    border-radius: 8px;
    background: #f0f7ff;
    color: #2d4a6b;
    font-size: 13px;
    line-height: 1.5;
}

.myportal-cb-nip-duplicate-alert strong {
    display: block;
    margin-bottom: 2px;
    font-size: 14px;
    color: #1e3a5f;
}

.myportal-cb-nip-duplicate-alert__hint {
    display: block;
    margin-top: 6px;
    color: #5a7290;
    font-size: 12.5px;
}

.myportal-cb-nip-duplicate-alert__actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
    flex-wrap: wrap;
}

.myportal-cb-nip-duplicate-alert__btn {
    display: inline-flex;
    align-items: center;
    padding: 8px 18px;
    border: none;
    border-radius: 8px;
    background: linear-gradient(180deg, #0f4c81 0%, #0f426d 100%);
    color: #ffffff !important;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(15, 76, 129, 0.2);
    transition: background 0.2s ease;
    cursor: pointer;
    font-family: inherit;
}

.myportal-cb-nip-duplicate-alert__btn:hover,
.myportal-cb-nip-duplicate-alert__btn:focus,
.myportal-cb-nip-duplicate-alert__btn:focus-visible,
.myportal-cb-nip-duplicate-alert__btn:active {
    background: linear-gradient(180deg, #0f426d 0%, #0c3659 100%);
    color: #ffffff !important;
    text-decoration: none !important;
}

.myportal-cb-nip-duplicate-alert__btn:focus-visible {
    outline: 2px solid rgba(15, 76, 129, 0.45);
    outline-offset: 2px;
}

.myportal-cb-nip-duplicate-alert__link {
    font-size: 13px;
    font-weight: 600;
    color: var(--rf-accent) !important;
    text-decoration: underline !important;
}

/* ── Wizard: NIP branch section (rozwinięta po kliknięciu "Dodaj nowy oddział") ── */
.myportal-cb-nip-branch-section {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px dashed rgba(15, 76, 129, 0.25);
}

.myportal-cb-nip-branch-section__title {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 700;
    color: #1e3a5f;
    line-height: 1.3;
}

.myportal-cb-nip-branch-section__info {
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 1.5;
    color: #3b5a7f;
}

.myportal-cb-nip-branch-section__note {
    margin: 0 0 14px;
    padding: 10px 12px;
    background: rgba(15, 76, 129, 0.06);
    border-left: 3px solid #0f4c81;
    border-radius: 4px;
    font-size: 12.5px;
    line-height: 1.5;
    color: #2d4a6b;
}

.myportal-cb-nip-branch-section__note strong {
    display: inline;
    margin: 0;
    font-size: inherit;
    font-weight: 700;
    color: #1e3a5f;
}

.myportal-cb-nip-branch-section__consent {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0 0 14px;
    cursor: pointer;
    font-size: 13px;
    line-height: 1.5;
    color: #1e3a5f;
}

.myportal-cb-nip-branch-section__consent input[type="checkbox"] {
    margin-top: 3px;
    flex-shrink: 0;
    accent-color: #0f4c81;
}

.myportal-cb-nip-branch-section__consent span {
    flex: 1;
}

.myportal-cb-nip-branch-section__reason-label {
    display: block;
    margin: 20px 0 8px;
    padding: 0;
    background: transparent;
    font-size: 13px;
    font-weight: 500;
    color: #2d4a6b;
    line-height: 1.4;
    letter-spacing: 0;
}

.myportal-cb-nip-branch-section textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #c7dbf0;
    border-radius: 6px;
    background: #ffffff;
    color: #1e3a5f;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.5;
    resize: vertical;
    min-height: 72px;
    box-sizing: border-box;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.myportal-cb-nip-branch-section textarea:focus {
    outline: none;
    border-color: #0f4c81;
    box-shadow: 0 0 0 3px rgba(15, 76, 129, 0.12);
}

.myportal-cb-nip-branch-section textarea::placeholder {
    color: #94a3b8;
}

.myportal-cb-nip-branch-section__hint {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    color: #5a7290;
}

/* Dynamic status message — explicit feedback dlaczego submit jest zablokowany.
   Wyświetlany przez JS updateNipDupBranchSubmitState() z aria-live="polite". */
.myportal-cb-nip-branch-section__status {
    display: block;
    margin-top: 10px;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 12.5px;
    line-height: 1.4;
    font-weight: 500;
}

.myportal-cb-nip-branch-section__status.is-pending {
    background: #fef3c7;  /* amber-100 */
    border: 1px solid #fde68a;  /* amber-200 */
    color: #78350f;  /* amber-900 */
}

.myportal-cb-nip-branch-section__status.is-ok {
    background: #d1fae5;  /* green-100 */
    border: 1px solid #a7f3d0;  /* green-200 */
    color: #065f46;  /* green-800 */
}

/* Attention pulse — gdy user klika "Zapisz i przejdź dalej" w trybie branch
   z niekompletnymi polami, sekcja dostaje tymczasowy box-shadow pulse żeby
   zwrócić uwagę po scrollu. Klasa .is-attention dodawana przez JS
   handleBranchSubmitAttempt(). */
@keyframes myportal-cb-branch-attention {
    0%   { box-shadow: 0 0 0 0 rgba(234, 179, 8, 0.0); }
    20%  { box-shadow: 0 0 0 6px rgba(234, 179, 8, 0.35); }
    60%  { box-shadow: 0 0 0 4px rgba(234, 179, 8, 0.18); }
    100% { box-shadow: 0 0 0 0 rgba(234, 179, 8, 0.0); }
}

.myportal-cb-nip-branch-section.is-attention {
    border-radius: 8px;
    animation: myportal-cb-branch-attention 1.6s ease-out 1;
}

/* ── Wizard: optional IDs collapsible ── */
.myportal-cb-optional-ids {
    margin-top: 8px;
}

.myportal-cb-optional-ids summary {
    cursor: pointer;
    color: var(--rf-muted);
    font-size: 13px;
    font-weight: 600;
    padding: 6px 0;
    user-select: none;
}

.myportal-cb-optional-ids summary:hover {
    color: var(--rf-accent);
}

/* ── Wizard: account section inline (not separate section) ── */
.myportal-cb-account-inline {
    margin-top: 18px;
    padding: 18px;
    border: 1px solid var(--rf-line);
    border-radius: 8px;
    background: var(--rf-bg-soft);
}

.regioner-flow-screen {
    max-width: 1240px;
    margin: 0 auto;
    padding: 26px 18px 56px;
    font-family: "Plus Jakarta Sans", "Manrope", "Segoe UI", system-ui, -apple-system, sans-serif;
    color: var(--rf-text);
}

.regioner-flow-screen .regioner-claim-header {
    margin-bottom: 18px;
}

.regioner-flow-screen .regioner-claim-header__top {
    margin-bottom: 12px;
}

.regioner-flow-screen .regioner-claim-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(15, 76, 129, 0.08);
    color: #0f4c81;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.regioner-flow-screen .regioner-claim-title {
    margin: 0;
    font-size: clamp(27px, 3vw, 35px);
    line-height: 1.12;
    letter-spacing: -0.03em;
    color: var(--rf-text);
}

.regioner-flow-screen .regioner-claim-subtitle {
    margin: 10px 0 0;
    color: var(--rf-muted);
    font-size: 14px;
    line-height: 1.58;
    max-width: 840px;
}

.regioner-flow-journey {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.regioner-flow-journey__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 5px 10px;
    border-radius: 999px;
    border: 1px solid #dbe7f5;
    background: #ffffff;
    color: #2c445f;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
}

.regioner-flow-journey__item.is-done {
    border-color: rgba(20, 184, 166, 0.33);
    background: rgba(20, 184, 166, 0.12);
    color: #0f766e;
}

.regioner-flow-journey__item.is-current {
    border-color: rgba(15, 76, 129, 0.28);
    background: rgba(15, 76, 129, 0.11);
    color: #0f4c81;
}

.regioner-flow-screen .regioner-section,
.regioner-flow-screen .regioner-info-card,
.regioner-flow-screen .regioner-company-preview,
.regioner-flow-screen .regioner-auth-card,
.regioner-flow-screen .regioner-auth-progress {
    border-radius: 8px;
    border: 1px solid var(--rf-line);
    background: #ffffff;
    box-shadow: var(--rf-shadow);
}

.regioner-flow-screen .regioner-section {
    padding: clamp(18px, 2.2vw, 26px);
    margin-bottom: 22px;
}

.regioner-flow-screen .regioner-section__heading {
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e3edf8;
    color: #163451;
    font-size: clamp(18px, 1.9vw, 23px);
    letter-spacing: -0.01em;
}

.regioner-flow-screen .regioner-claim-sidebar .regioner-info-card {
    margin-bottom: 16px;
    padding: 18px;
}

.regioner-flow-screen .regioner-info-card__title {
    margin-bottom: 11px;
    color: #163451;
}

.regioner-flow-screen .regioner-benefit-list li,
.regioner-flow-screen .regioner-process-steps li {
    color: #29425c;
}

.regioner-flow-screen .regioner-status-bar {
    margin-top: 12px;
    border-radius: 8px;
    border: 1px solid #dbe7f5;
    background: #f8fbff;
    padding: 10px 12px;
    text-align: left;
    color: #264462;
}

.regioner-flow-screen .regioner-claim-form .regioner-btn,
.regioner-flow-screen .regioner-claim-actions .regioner-btn,
.regioner-flow-screen .regioner-auth-form__submit.regioner-btn {
    border-radius: 8px !important;
    min-height: 44px;
}

.regioner-flow-screen .regioner-btn--primary {
    background: linear-gradient(180deg, #0f4c81 0%, #0f426d 100%);
    border: 1px solid #0f4c81;
    color: #ffffff;
    box-shadow: 0 6px 16px rgba(15, 76, 129, 0.25);
}

.regioner-flow-screen .regioner-btn--primary:hover {
    background: linear-gradient(180deg, #0f426d 0%, #0c3659 100%);
}

.regioner-flow-screen .regioner-btn--outline {
    border: 1px solid #c8d9ec;
    color: #1f3956;
    background: #ffffff;
}

.regioner-flow-screen .regioner-btn--outline:hover {
    border-color: #9ebad8;
    color: #122e4a;
    background: #f6faff;
}

.regioner-flow-screen .regioner-alert {
    border-radius: 8px;
    border: 1px solid #f5d3c4;
    border-left: 1px solid #f5d3c4;
    background: #fff8f4;
    color: #8a3f23;
}

.regioner-flow-screen .regioner-alert--info {
    border-color: #cfe2f7;
    background: #f3f8ff;
    color: #1e4b78;
}

.regioner-flow-screen .regioner-alert--success {
    border-color: #b7e4c5;
    background: #eefbf3;
    color: #166534;
}

.regioner-flow-screen .regioner-auth-card--register {
    border-color: #c5d9ef;
    box-shadow: var(--rf-shadow);
}

.regioner-flow-screen .regioner-auth-card--login {
    border-color: #dce7f3;
    background: #f7fbff;
}

.regioner-flow-screen .regioner-auth-progress {
    background: linear-gradient(135deg, #f9fcff 0%, #eef6ff 100%);
    border-color: #d5e4f5;
}

.regioner-flow-screen .regioner-company-preview {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border-color: #d8e6f5;
}

.regioner-flow-screen .regioner-company-preview__name {
    margin: 6px 0 4px;
    text-decoration: none;
}

.regioner-flow-screen .regioner-company-preview__hint {
    margin-top: 8px;
    color: #355271;
}

.regioner-flow-screen .regioner-pkg-card {
    border-radius: 8px;
    border-color: #d4e2f0;
    background: #ffffff;
}

.regioner-flow-screen .regioner-pkg-card:hover {
    border-color: #b7cde6 !important;
    background: #f8fbff !important;
    box-shadow: var(--rf-shadow) !important;
}

.regioner-flow-screen .regioner-pkg-card.is-selected {
    border-color: #0f4c81 !important;
    background-color: rgba(15, 76, 129, 0.08) !important;
    box-shadow: 0 0 0 3px rgba(15, 76, 129, 0.16) !important;
}

.regioner-flow-screen .regioner-pkg-card.regioner-pkg-card--premium.is-selected {
    border-color: #0e7490 !important;
    background-color: rgba(14, 116, 144, 0.09) !important;
}

.regioner-flow-screen .regioner-badge,
.regioner-flow-screen .regioner-badge-standard {
    border-radius: 8px;
    box-shadow: none;
    text-transform: none;
    font-size: 11px;
    letter-spacing: 0.01em;
    padding: 4px 8px;
    right: 14px;
}

.regioner-flow-screen .regioner-badge-standard {
    background: #e7f6ee;
    color: #14532d;
}

.regioner-flow-screen .regioner-badge {
    background: #e8f4fb;
    color: #0c4a6e;
}

.regioner-flow-screen .regioner-form-actions {
    text-align: left;
}

.regioner-flow-screen .regioner-terms-note {
    max-width: 740px;
    margin-top: 10px;
    color: #516b84;
}

.regioner-flow-screen .regioner-claim-managed-inline {
    color: #48627d;
}

/* WooCommerce: koszyk/kasa/finalizacja */
.regioner-flow-checkout-card {
    margin: 0 0 16px;
    padding: 16px;
    border: 1px solid var(--rf-line);
    border-radius: 8px;
    background: linear-gradient(135deg, #f9fcff 0%, #eef6ff 100%);
    box-shadow: var(--rf-shadow);
}

.regioner-flow-checkout-card__eyebrow {
    display: inline-flex;
    margin: 0;
    padding: 4px 10px;
    border-radius: 8px;
    background: rgba(15, 76, 129, 0.1);
    color: #0f4c81;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.regioner-flow-checkout-card__title {
    margin: 10px 0 4px;
    font-size: clamp(22px, 2.2vw, 29px);
    line-height: 1.16;
    letter-spacing: -0.02em;
    color: #11253b;
}

.regioner-flow-checkout-card__text {
    margin: 0;
    color: #36516d;
    font-size: 14px;
    line-height: 1.55;
}

.regioner-flow-checkout-steps {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.regioner-flow-checkout-steps li {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 5px 10px;
    border-radius: 999px;
    border: 1px solid #dbe7f5;
    background: #ffffff;
    font-size: 12px;
    font-weight: 600;
    color: #2c445f;
}

.regioner-flow-checkout-steps li.is-done {
    border-color: rgba(20, 184, 166, 0.35);
    background: rgba(20, 184, 166, 0.12);
    color: #0f766e;
}

.regioner-flow-checkout-steps li.is-current {
    border-color: rgba(15, 76, 129, 0.28);
    background: rgba(15, 76, 129, 0.12);
    color: #0f4c81;
}

.regioner-flow-checkout-meta {
    margin-top: 10px;
    color: #37506a;
    font-size: 13px;
}

.regioner-flow-checkout-company {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.regioner-flow-checkout-company__label {
    font-size: 12px;
    font-weight: 600;
    color: #5a7a96;
}

.regioner-flow-checkout-company__name {
    font-size: 13px;
    font-weight: 700;
    color: var(--rf-text);
    line-height: 1.3;
}

.regioner-flow-checkout-company__meta {
    font-size: 12px;
    color: var(--rf-muted);
    line-height: 1.4;
}

.regioner-flow-checkout-company__meta::before {
    content: "\00b7";
    margin-right: 2px;
}

body.woocommerce-cart .regioner-page-hero,
body.woocommerce-checkout .regioner-page-hero,
body.woocommerce-order-received .regioner-page-hero,
body.woocommerce-order-pay .regioner-page-hero {
    margin-bottom: 16px;
    padding: 16px;
    border: 1px solid var(--rf-line);
    border-radius: 8px;
    background: linear-gradient(135deg, #f9fcff 0%, #eef6ff 100%);
    box-shadow: var(--rf-shadow);
}

body.woocommerce-cart .regioner-page-hero__eyebrow,
body.woocommerce-checkout .regioner-page-hero__eyebrow,
body.woocommerce-order-received .regioner-page-hero__eyebrow,
body.woocommerce-order-pay .regioner-page-hero__eyebrow {
    margin: 0;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(15, 76, 129, 0.1);
    color: #0f4c81;
    font-size: 11px;
}

body.woocommerce-cart .regioner-page-hero__title,
body.woocommerce-checkout .regioner-page-hero__title,
body.woocommerce-order-received .regioner-page-hero__title,
body.woocommerce-order-pay .regioner-page-hero__title {
    margin-top: 10px;
    font-size: clamp(24px, 2.5vw, 31px);
    line-height: 1.15;
}

body.woocommerce-cart .regioner-page-hero__subtitle,
body.woocommerce-checkout .regioner-page-hero__subtitle,
body.woocommerce-order-received .regioner-page-hero__subtitle,
body.woocommerce-order-pay .regioner-page-hero__subtitle {
    margin-top: 8px;
    color: #37506a;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received {
    text-align: center;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-order-received .woocommerce,
body.woocommerce-order-pay .woocommerce {
    color: var(--rf-text);
    border: none;
}

body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .woocommerce-order,
body.woocommerce-order-received .woocommerce-order,
body.woocommerce-order-pay .woocommerce-order {
    border: 1px solid var(--rf-line);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: var(--rf-shadow);
}

body.woocommerce-checkout form.checkout,
body.woocommerce-order-received .woocommerce-order,
body.woocommerce-order-pay .woocommerce-order {
    padding: 18px;
}

body.woocommerce-checkout #order_review {
    padding: 16px;
}

/* Cart: form + totals merged into one visual card */
body.woocommerce-cart .woocommerce-cart-form {
    padding: 18px;
    border-bottom: none;
    border-radius: 8px 8px 0 0;
    margin-bottom: 0;
}

body.woocommerce-cart .cart-collaterals {
    margin-top: 0;
}

body.woocommerce-cart .cart_totals {
    border: 1px solid var(--rf-line);
    border-top: none;
    border-radius: 0 0 8px 8px;
    background: #ffffff;
    box-shadow: var(--rf-shadow);
    padding: 0 18px 18px;
}

body.woocommerce-cart .cart_totals h2 {
    display: none;
}

body.woocommerce-cart .wc-proceed-to-checkout {
    padding: 14px 0 4px;
    display: flex;
    justify-content: flex-end;
}

body.woocommerce-cart .woocommerce-cart-form table,
body.woocommerce-checkout .shop_table,
body.woocommerce-order-received .woocommerce table.shop_table,
body.woocommerce-order-pay .woocommerce table.shop_table {
    margin: 0;
    border-color: #dfeaf7;
}

body.woocommerce-cart .woocommerce-info,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-order-received .woocommerce-message,
body.woocommerce-order-received .woocommerce-info,
body.woocommerce-order-received .woocommerce-error,
body.woocommerce-order-pay .woocommerce-message,
body.woocommerce-order-pay .woocommerce-info,
body.woocommerce-order-pay .woocommerce-error {
    border-radius: 8px;
    border: 1px solid #d6e5f6;
    border-left: 1px solid #d6e5f6;
    background: #f4f9ff;
    color: #1d3f62;
    margin-bottom: 14px;
}

body.woocommerce-checkout .woocommerce-error {
    background: #fef2f2;
    border-color: #fecaca;
    color: #991b1b;
}

body.woocommerce-checkout .woocommerce-error a,
body.woocommerce-checkout .woocommerce-error li,
body.woocommerce-checkout .woocommerce-error strong {
    color: #991b1b;
}

/* ── Company context card on cart/checkout ── */
.regioner-flow-checkout-card--company {
    text-align: left;
    padding: 18px 22px;
}

.regioner-flow-checkout-card__top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.regioner-flow-checkout-card__edit-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 600;
    color: var(--rf-accent);
    background: #ffffff;
    border: 1px solid var(--rf-line);
    border-radius: 6px;
    text-decoration: none;
    box-shadow: 0 1px 3px rgba(15, 35, 64, 0.06);
    transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}

.regioner-flow-checkout-card__edit-link:hover {
    border-color: var(--rf-accent);
    background: #f0f7ff;
    box-shadow: 0 2px 6px rgba(15, 76, 129, 0.12);
    color: var(--rf-accent);
    text-decoration: none;
}

/* Hide myportal's separate back link when our card is present */
.regioner-flow-checkout-card--company ~ .myportal-cb-backlink {
    display: none !important;
}

/* ── Empty cart — custom styled screen ── */
.regioner-flow-checkout-card--empty {
    text-align: center;
    padding: clamp(32px, 4vw, 48px) clamp(18px, 3vw, 32px);
}

.regioner-flow-checkout-card--empty .regioner-flow-checkout-card__title {
    margin-bottom: 8px;
}

.regioner-flow-checkout-card--empty .regioner-flow-checkout-card__text {
    max-width: 480px;
    margin: 0 auto 24px;
}

.regioner-flow-checkout-card--empty .regioner-btn--primary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 28px;
    border-radius: 8px;
    background: linear-gradient(180deg, #0f4c81 0%, #0f426d 100%);
    color: #ffffff;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(15, 76, 129, 0.22);
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

.regioner-flow-checkout-card--empty .regioner-btn--primary:hover {
    background: linear-gradient(180deg, #0f426d 0%, #0c3659 100%);
    box-shadow: 0 8px 22px rgba(15, 76, 129, 0.32);
    color: #ffffff;
}

/* Hide default WooCommerce empty cart elements when custom screen is present */
.regioner-flow-checkout-card--empty ~ .cart-empty.woocommerce-info,
.regioner-flow-checkout-card--empty ~ .return-to-shop,
.regioner-flow-checkout-card--empty ~ .woocommerce-info {
    display: none !important;
}

/* Fallback: style default WC empty cart if custom banner didn't render */
body.woocommerce-cart .cart-empty.woocommerce-info {
    padding: 28px 22px;
    text-align: center;
    font-size: 15px;
    line-height: 1.6;
    border: 1px solid var(--rf-line);
    border-left: 1px solid var(--rf-line);
    border-radius: 8px;
    background: linear-gradient(135deg, #f9fcff 0%, #eef6ff 100%);
    box-shadow: var(--rf-shadow);
    color: var(--rf-muted);
}

body.woocommerce-cart .cart-empty.woocommerce-info::before {
    display: block;
    margin: 0 auto 10px;
    font-size: 28px;
}

body.woocommerce-cart .return-to-shop .button {
    border-radius: 8px !important;
    background: #ffffff !important;
    border: 1px solid #c8d9ec !important;
    color: #1f3956 !important;
    box-shadow: none;
    padding: 10px 22px !important;
    font-weight: 600;
}

body.woocommerce-cart .return-to-shop .button:hover {
    border-color: #9ebad8 !important;
    background: #f6faff !important;
}

/* ── Inputs & selects – consistent with wizard design ── */
body.woocommerce-cart input[type="text"],
body.woocommerce-cart input[type="number"],
body.woocommerce-cart input[type="email"],
body.woocommerce-cart input[type="tel"],
body.woocommerce-cart input[type="url"],
body.woocommerce-cart textarea,
body.woocommerce-cart select,
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="number"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout input[type="url"],
body.woocommerce-checkout input[type="password"],
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-order-pay input[type="text"],
body.woocommerce-order-pay input[type="email"],
body.woocommerce-order-pay select {
    border: 1px solid var(--rf-line) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    color: var(--rf-text) !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

body.woocommerce-checkout input:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-cart input:focus,
body.woocommerce-cart select:focus {
    border-color: var(--rf-accent) !important;
    box-shadow: 0 0 0 3px rgba(15, 76, 129, 0.12) !important;
    outline: none !important;
}

body.woocommerce-checkout label,
body.woocommerce-cart label {
    font-size: 13px;
    font-weight: 600;
    color: #1f3956;
    margin-bottom: 4px;
}

/* ── Form row spacing ── */
body.woocommerce-checkout .form-row,
body.woocommerce-checkout p.form-row {
    margin-bottom: 14px;
}

/* ── Section headings ── */
body.woocommerce-checkout h3,
body.woocommerce-checkout #order_review_heading {
    font-size: clamp(18px, 1.9vw, 22px);
    letter-spacing: -0.01em;
    color: #163451;
    padding-bottom: 10px;
    border-bottom: 1px solid #e3edf8;
    margin-bottom: 16px;
}

/* ── Billing/shipping column cards ── */
.woocommerce-checkout .bb-wc-co #customer_details {
    padding: 0;
    border: none;
}

.woocommerce-checkout .bb-wc-co .bb-order-review {
    border-color: #f7f7f7;
}

body.woocommerce-checkout .col2-set .col-1,
body.woocommerce-checkout .col2-set .col-2 {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 18px;
    box-shadow: none;
    margin-bottom: 16px;
}

/* ── Order review card ── */
body.woocommerce-checkout .bb-order-review {
    background: #ffffff;
    border: 1px solid var(--rf-line);
    border-radius: 8px;
    padding: 18px;
    box-shadow: var(--rf-shadow);
}

body.woocommerce-checkout .bb-order-review #order_review {
    border: none;
    box-shadow: none;
    padding: 0;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table th.product-name,
body.woocommerce-checkout .woocommerce-checkout-review-order-table th.product-total {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    padding: 10px 16px;
    background: #f1f5f9;
    border: none;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table th.product-name {
    border-radius: 6px 0 0 6px;
    padding-left: 16px !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table th.product-total {
    border-radius: 0 6px 6px 0;
    text-align: right;
}

/* ── Shop table in checkout/cart ── */
body.woocommerce-checkout .shop_table th,
body.woocommerce-checkout .shop_table td,
body.woocommerce-cart .shop_table th,
body.woocommerce-cart .shop_table td {
    padding: 12px 14px;
    border-color: #e3edf8;
    font-size: 14px;
}

body.woocommerce-checkout .shop_table thead th,
body.woocommerce-cart .shop_table thead th {
    background: var(--rf-bg-soft);
    color: #1f3956;
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

body.woocommerce-checkout .shop_table tfoot td,
body.woocommerce-cart .cart_totals table td,
body.woocommerce-cart .cart_totals table th {
    padding: 10px 14px;
    border-color: #e3edf8;
}

body.woocommerce-cart .cart_totals .order-total td,
body.woocommerce-checkout .order-total td {
    font-size: 18px;
    font-weight: 700;
    color: var(--rf-accent);
}

/* ── Cart UX: hide update button (single-product flow) ── */
body.woocommerce-cart button[name="update_cart"] {
    display: none !important;
}

/* Cart totals: right-align content */
body.woocommerce-cart .cart_totals table {
    margin-left: auto;
    max-width: 420px;
}

body.woocommerce-cart .cart_totals .order-total td,
body.woocommerce-cart .cart_totals .order-total th {
    padding-top: 14px;
    border-top: 2px solid #0f4c81;
}

/* ── Coupon section — compact ── */
body.woocommerce-cart .coupon {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    border: none;
    background: transparent;
}

body.woocommerce-cart .coupon label {
    display: none;
}

body.woocommerce-cart .coupon input.input-text {
    border-radius: 6px !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
    max-width: 180px;
}

body.woocommerce-cart .coupon .button {
    padding: 8px 14px !important;
    font-size: 12px !important;
    min-height: 36px;
}

/* ── Coupon section — checkout ── */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
body.woocommerce-cart .coupon-section-fallback {
    border: 1px solid var(--rf-line);
    border-radius: 8px;
    background: var(--rf-bg);
    padding: 12px 16px;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    position: relative;
    padding-left: 32px;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
    position: absolute;
    top: 50%;
    left: 8px;
    transform: translateY(-50%);
}

body.woocommerce-checkout .woocommerce-form-coupon {
    border: 1px solid var(--rf-line);
    border-radius: 8px;
    background: #ffffff;
    padding: 16px;
    margin-bottom: 16px;
    box-shadow: var(--rf-shadow);
}

body.woocommerce-cart .coupon input.input-text {
    border-radius: 8px !important;
    margin-right: 8px;
}

/* ── Payment methods ── */
body.woocommerce-checkout #payment {
    background: transparent;
    border: none;
    border-radius: 0;
}

body.woocommerce-checkout #payment ul.payment_methods {
    padding: 0;
    margin: 0 0 16px;
    border: 1px solid var(--rf-line);
    border-radius: 8px;
    overflow: hidden;
}

body.woocommerce-checkout #payment ul.payment_methods li {
    border-bottom: 1px solid #e3edf8;
    padding: 14px 16px;
    margin: 0;
    background: #ffffff;
}

body.woocommerce-checkout #payment ul.payment_methods li:last-child {
    border-bottom: none;
}

body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
    font-weight: 600;
    color: #1f3956;
    font-size: 14px;
    cursor: pointer;
}

body.woocommerce-checkout #payment ul.payment_methods li .payment_box {
    background: var(--rf-bg-soft);
    border-radius: 6px;
    padding: 12px 14px;
    margin-top: 10px;
    color: var(--rf-muted);
    font-size: 13px;
    line-height: 1.55;
}

body.woocommerce-checkout #payment .place-order {
    padding: 16px 0 0;
}

/* ── Primary action buttons ── */
body.woocommerce-checkout button.button,
body.woocommerce-checkout .button.alt,
body.woocommerce-checkout #place_order,
body.woocommerce-cart .button,
body.woocommerce-order-pay .button {
    border-radius: 8px !important;
    min-height: 48px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.01em;
    background: linear-gradient(180deg, #0f4c81 0%, #0f426d 100%) !important;
    border: 1px solid #0f4c81 !important;
    color: #ffffff !important;
    box-shadow: 0 6px 16px rgba(15, 76, 129, 0.25);
    transition: background 0.2s ease, box-shadow 0.2s ease;
    padding: 12px 28px !important;
}

body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout .button.alt:hover,
body.woocommerce-cart .button:not(.coupon .button):hover {
    background: linear-gradient(180deg, #0f426d 0%, #0c3659 100%) !important;
    box-shadow: 0 8px 22px rgba(15, 76, 129, 0.32);
}

/* ── Secondary buttons (coupon, update cart) ── */
body.woocommerce-cart .coupon .button,
body.woocommerce-checkout .woocommerce-form-coupon .button {
    background: #ffffff !important;
    border: 1px solid #c8d9ec !important;
    color: #1f3956 !important;
    box-shadow: none;
    min-height: 40px;
    font-size: 13px;
    padding: 8px 18px !important;
}

body.woocommerce-cart .coupon .button:hover,
body.woocommerce-checkout .woocommerce-form-coupon .button:hover {
    border-color: #9ebad8 !important;
    background: #f6faff !important;
    box-shadow: none;
}

body.woocommerce-cart button[name="update_cart"] {
    background: #ffffff !important;
    border: 1px solid #c8d9ec !important;
    color: #1f3956 !important;
    box-shadow: none;
    min-height: 44px;
}

/* ── Cart item thumbnail ── */
body.woocommerce-cart .product-thumbnail img {
    border-radius: 6px;
    border: 1px solid #e3edf8;
}

/* ── Cart quantity column — hidden (always 1 item) ── */
body.woocommerce-cart .product-quantity,
body.woocommerce-cart th.product-quantity {
    display: none !important;
}

/* ── Cart remove button ── */
body.woocommerce-cart a.remove {
    border-radius: 6px;
}

/* ── WC process buttons: spójny styl z resztą strony ── */
body.woocommerce-page a.wc-backward,
body.woocommerce-page .wc-backward {
    background: #f0f9ff !important;
    color: #0284c7 !important;
    border: 1px solid #e0f2fe !important;
    border-radius: 8px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}
body.woocommerce-page a.wc-backward:hover,
body.woocommerce-page .wc-backward:hover {
    background: #e0f2fe !important;
    color: #0369a1 !important;
}

/* ── WC "Wróć do zgłoszenia" back-link (plugin) ── */
.myportal-cb-back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 14px;
    padding: 8px 14px;
    border: 1px solid var(--rf-line);
    border-radius: 8px;
    background: var(--rf-bg);
    color: var(--rf-accent);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.18s ease, background 0.18s ease;
}

.myportal-cb-back-link:hover {
    border-color: #9ebad8;
    background: #eef5ff;
    color: var(--rf-accent);
    text-decoration: none;
}

/* ── Thank-you page ── */
body.woocommerce-order-received .woocommerce-order {
    text-align: left;
}

body.woocommerce-order-received .woocommerce-order p:first-of-type {
    font-size: 15px;
    color: var(--rf-muted);
    line-height: 1.55;
}

body.woocommerce-order-received .woocommerce-order .woocommerce-order-overview {
    border: 1px solid var(--rf-line);
    border-radius: 8px;
    background: var(--rf-bg-soft);
    padding: 16px;
    margin: 16px 0;
    list-style: none;
}

body.woocommerce-order-received .woocommerce-order .woocommerce-order-overview li {
    padding: 6px 0;
    border-bottom: 1px solid #e3edf8;
    font-size: 14px;
}

body.woocommerce-order-received .woocommerce-order .woocommerce-order-overview li:last-child {
    border-bottom: none;
}

body.woocommerce-order-received .woocommerce-order .woocommerce-order-overview li strong {
    color: var(--rf-accent);
}

/* ── Thank-you CTA ── */
.regioner-thankyou-cta {
    margin-top: 20px;
    padding: 18px;
    border: 1px solid var(--rf-line);
    border-radius: 8px;
    background: linear-gradient(135deg, #f0f8ff 0%, #eaf4ff 100%);
    text-align: center;
}

.regioner-thankyou-cta__title {
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 700;
    color: #163451;
}

.regioner-thankyou-cta__text {
    margin: 0 0 14px;
    color: var(--rf-muted);
    font-size: 14px;
    line-height: 1.5;
}

.regioner-thankyou-cta__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 22px;
    border-radius: 8px;
    background: linear-gradient(180deg, #0f4c81 0%, #0f426d 100%);
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 6px 16px rgba(15, 76, 129, 0.25);
    transition: background 0.2s ease;
}

.regioner-thankyou-cta__link:hover {
    background: linear-gradient(180deg, #0f426d 0%, #0c3659 100%);
    color: #ffffff;
    text-decoration: none;
}

@media (max-width: 900px) {
    .regioner-flow-screen {
        padding-left: 12px;
        padding-right: 12px;
    }

    .regioner-flow-screen .regioner-claim-title {
        font-size: clamp(24px, 8vw, 31px);
    }

    .regioner-flow-screen .regioner-claim-grid {
        gap: 20px;
    }

    .regioner-flow-screen .regioner-section,
    body.woocommerce-cart .woocommerce-cart-form,
    body.woocommerce-checkout form.checkout,
    body.woocommerce-order-received .woocommerce-order,
    body.woocommerce-order-pay .woocommerce-order {
        padding: 14px;
    }

    body.woocommerce-checkout .col2-set .col-1,
    body.woocommerce-checkout .col2-set .col-2,
    body.woocommerce-checkout .bb-order-review {
        padding: 14px;
    }

    body.woocommerce-checkout #payment ul.payment_methods li {
        padding: 12px 14px;
    }

    /* Wizard mobile: step cards */
    .myportal-cb-step-section {
        padding: 16px;
        border-radius: 10px;
    }

    .myportal-cb-wizard-screen .myportal-cb-submit-actions button[type="submit"] {
        min-width: 100%;
    }

    .myportal-cb-wizard-screen .myportal-cb-consent {
        padding: 8px 10px;
        font-size: 12.5px;
    }

    /* Wizard header compact on mobile */
    .myportal-cb-wizard-screen .regioner-claim-header {
        text-align: center;
    }

    .myportal-cb-wizard-screen .regioner-flow-journey {
        justify-content: center;
    }
}

/* ── Claim flow: header card (profile + package) ── */

.myportal-cb-claim-header-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 20px 28px;
    background: #ffffff;
    border: 1px solid var(--rf-line);
    border-left: 4px solid var(--rf-accent);
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,.04);
    margin-bottom: 28px;
}

.myportal-cb-claim-header-card__eyebrow {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--rf-accent);
    margin-bottom: 2px;
}

.myportal-cb-claim-header-card__title {
    font-size: 20px;
    font-weight: 800;
    color: var(--rf-text);
    margin: 0;
    line-height: 1.3;
}

.myportal-cb-claim-header-card__location {
    font-size: 13px;
    color: var(--rf-muted);
    margin-top: 2px;
}

.myportal-cb-claim-header-card__package {
    text-align: right;
    flex-shrink: 0;
}

.myportal-cb-claim-header-card__pkg-label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--rf-text);
    white-space: nowrap;
}

.myportal-cb-claim-header-card__change {
    display: inline-block;
    font-size: 12px;
    color: var(--rf-accent);
    text-decoration: none;
    margin-top: 4px;
}
.myportal-cb-claim-header-card__change:hover {
    text-decoration: underline;
}

@media (max-width: 600px) {
    .myportal-cb-claim-header-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 16px 20px;
    }
    .myportal-cb-claim-header-card__package {
        text-align: left;
    }
}

/* ── Claim flow: read-only data grid ── */

.myportal-cb-claim-data-section {
    background: #ffffff;
    border: 1px solid var(--rf-line);
    border-radius: 14px;
    padding: 28px 32px;
}

.myportal-cb-claim-data-section .regioner-section__heading {
    margin-top: 0;
}

.myportal-cb-claim-data-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px 32px;
    margin: 20px 0;
}

.myportal-cb-claim-data-grid__item dt {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--rf-muted);
    margin-bottom: 2px;
}

.myportal-cb-claim-data-grid__item dd {
    margin: 0;
    font-size: 15px;
    font-weight: 500;
    color: var(--rf-text);
    word-break: break-word;
}

.myportal-cb-claim-data-note {
    font-size: 13px;
    color: var(--rf-muted);
    margin: 16px 0 0;
    padding: 12px 16px;
    background: var(--rf-bg-soft);
    border-radius: 8px;
    border-left: 3px solid var(--rf-accent);
}

@media (max-width: 600px) {
    .myportal-cb-claim-data-section {
        padding: 20px;
    }
    .myportal-cb-claim-data-grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px 20px;
    }
}
