/* PVGroup.pl Homepage — exact copy of prototype styles */

.pvg-container { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
@media (max-width: 768px) { .pvg-container { padding: 0 24px; } }

/* Full-bleed breakout — escape Astra's .ast-container / .entry-content wrappers
   so section backgrounds span the full viewport width while inner .pvg-container
   stays centered at 1280px max. */
.pvg-hero, .pvg-brands, .pvg-categories, .pvg-products, .pvg-why, .pvg-cta, .pvg-page-hero, .pvg-footer {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    max-width: 100vw;
}

/* === DARK SECTION OVERRIDES (navy backgrounds) === */
/* Astra child forces h1{color:#1B2A4A!important} — we need to override for dark sections */
.pvg-dark h1, .pvg-dark h2, .pvg-dark h3, .pvg-dark h4,
.pvg-dark p, .pvg-dark span, .pvg-dark div, .pvg-dark li,
.pvg-cta h1, .pvg-cta h2, .pvg-cta h3,
.pvg-page-hero h1, .pvg-page-hero p {
    color: inherit !important;
}
.pvg-dark a, .pvg-cta a { color: inherit !important; }
.pvg-dark .pvg-btn, .pvg-cta .pvg-btn { color: inherit !important; }

/* === BUTTONS === */
.pvg-btn { display: inline-flex; align-items: center; gap: 8px; font-family: 'IBM Plex Sans', sans-serif; font-size: 14px; font-weight: 500; padding: 10px 24px; border: none; cursor: pointer; transition: all 200ms ease; text-decoration: none !important; letter-spacing: 0.1px; }
.pvg-btn--primary { background: #F28C00 !important; color: #fff !important; }
.pvg-btn--primary:hover { background: #D97B00 !important; color: #fff !important; }
.pvg-btn--lg { padding: 14px 32px; font-size: 15px; }
.pvg-btn--outline { background: transparent !important; color: #1B2A4A !important; border: 1px solid #1B2A4A !important; }
.pvg-btn--outline:hover { background: #1B2A4A !important; color: #fff !important; }
.pvg-btn--white { background: #fff !important; color: #1B2A4A !important; }
.pvg-btn--white:hover { background: #f4f4f4 !important; }
.pvg-btn svg { transition: transform 200ms ease; }
.pvg-btn:hover svg { transform: translateX(3px); }

/* === HERO === */
.pvg-hero { padding: 96px 0 80px; background: #fff; }
.pvg-hero-grid { display: grid; grid-template-columns: 2fr 3fr; gap: 48px; align-items: center; }
.pvg-hero-label { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase; color: #F28C00 !important; margin-bottom: 24px; }
.pvg-hero-label::before { content: ''; width: 32px; height: 1px; background: #F28C00; }
.pvg-hero-title { font-size: 56px !important; font-weight: 300 !important; line-height: 1.1 !important; color: #1B2A4A !important; letter-spacing: -0.5px; margin-bottom: 24px; }
.pvg-hero-title strong { font-weight: 600 !important; color: #F28C00 !important; }
.pvg-hero-desc { font-size: 18px; line-height: 1.7; color: #525252 !important; margin-bottom: 40px; max-width: 520px; }
.pvg-hero-buttons { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.pvg-hero-stats { display: flex; gap: 48px; margin-top: 56px; padding-top: 32px; border-top: 1px solid #e0e0e0; }
.pvg-stat-number { font-size: 36px; font-weight: 300; color: #1B2A4A; line-height: 1; }
.pvg-stat-number span { color: #F28C00; }
.pvg-stat-label { font-size: 13px; color: #525252; margin-top: 8px; }
.pvg-hero-visual { position: relative; display: flex; align-items: center; }
.pvg-hero-visual img { width: 100%; height: auto; display: block; }
.pvg-hero-image-wrapper { position: relative; background: linear-gradient(135deg, #f8f8f8 0%, #FFF3E0 100%); padding: 16px; display: flex; align-items: center; justify-content: center; width: 100%; }
.pvg-hero-image-wrapper::before { content: ''; position: absolute; top: -20px; right: -20px; width: 120px; height: 120px; border: 2px solid #F28C00; opacity: 0.2; pointer-events: none; }
.pvg-hero-image-wrapper::after { content: ''; position: absolute; bottom: -16px; left: -16px; width: 80px; height: 80px; background: #F28C00; opacity: 0.08; pointer-events: none; }
.pvg-hero-placeholder { width: 100%; aspect-ratio: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #8d8d8d; font-size: 14px; }

/* === BRANDS === */
.pvg-brands { background: #f4f4f4; padding: 40px 0; border-top: 1px solid #e0e0e0; border-bottom: 1px solid #e0e0e0; }
.pvg-brands .pvg-container { display: flex; align-items: center; gap: 48px; }
.pvg-brands-label { font-size: 12px; text-transform: uppercase; letter-spacing: 1.5px; color: #8d8d8d; white-space: nowrap; font-weight: 500; }
.pvg-brands-logos { display: flex; align-items: center; gap: 48px; flex: 1; justify-content: space-between; }
.pvg-brand-item { font-size: 18px; font-weight: 600; color: #c6c6c6; letter-spacing: 1px; transition: color 200ms ease; }
.pvg-brand-item:hover { color: #1B2A4A; }

/* === SECTION HEADERS === */
.pvg-section-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 56px; }
.pvg-section-label { font-size: 13px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase; color: #F28C00 !important; margin-bottom: 12px; }
.pvg-section-title { font-size: 40px !important; font-weight: 300 !important; color: #1B2A4A !important; line-height: 1.2; letter-spacing: -0.3px; }
.pvg-section-link { font-size: 14px; font-weight: 500; color: #F28C00 !important; display: flex; align-items: center; gap: 6px; transition: gap 200ms ease; text-decoration: none !important; }
.pvg-section-link:hover { gap: 10px; color: #D97B00 !important; }

/* === CATEGORIES === */
.pvg-categories { padding: 96px 0; background: #fff; }
.pvg-cat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; }
.pvg-cat-card { display: block; background: #f4f4f4; padding: 40px 32px; position: relative; transition: all 200ms ease; cursor: pointer; overflow: hidden; color: inherit; text-decoration: none !important; }
.pvg-cat-card:hover, .pvg-cat-card:focus { text-decoration: none !important; }
.pvg-cat-card:hover { background: #1B2A4A; color: #fff; }
.pvg-cat-icon { width: 48px; height: 48px; margin-bottom: 24px; }
.pvg-cat-name { font-size: 20px; font-weight: 500; margin-bottom: 8px; line-height: 1.3; }
.pvg-cat-count { font-size: 13px; color: #8d8d8d; transition: color 200ms ease; }
.pvg-cat-card:hover .pvg-cat-count { color: #B0BDD0; }
.pvg-cat-arrow { position: absolute; bottom: 32px; right: 32px; opacity: 0; transform: translateX(-8px); transition: all 200ms ease; }
.pvg-cat-card:hover .pvg-cat-arrow { opacity: 1; transform: translateX(0); }

/* === PRODUCTS === Expert B: recessed tray with white tiles on gray-20 background */
.pvg-products { padding: 96px 0; background: #e8e8e8; border-top: 1px solid #e0e0e0; border-bottom: 1px solid #e0e0e0; }
.pvg-product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.pvg-product-card { display: block; background: #fff; border: 1px solid #e0e0e0; box-shadow: 0 1px 0 rgba(22,22,22,0.04); transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease; cursor: pointer; position: relative; color: inherit; text-decoration: none !important; }
.pvg-product-card:hover, .pvg-product-card:focus { text-decoration: none !important; color: inherit; border-color: #c6c6c6; box-shadow: 0 8px 24px rgba(22,22,22,0.10); transform: translateY(-2px); }
.pvg-product-img { aspect-ratio: 1; background: #fff; border-bottom: 1px solid #f4f4f4; display: flex; align-items: center; justify-content: center; padding: 32px; position: relative; }
.pvg-product-img img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.pvg-product-badge { position: absolute; top: 12px; left: 12px; background: #F28C00; color: #fff; font-size: 11px; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; padding: 4px 10px; }
.pvg-product-info { padding: 20px 24px 24px; }
.pvg-product-brand { font-size: 11px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: #8d8d8d; margin-bottom: 6px; }
.pvg-product-name { font-size: 15px; font-weight: 500; color: #1B2A4A; line-height: 1.4; margin-bottom: 4px; }
.pvg-product-spec { font-size: 13px; color: #8d8d8d; margin-bottom: 16px; }
.pvg-product-bottom { display: flex; justify-content: space-between; align-items: center; padding-top: 16px; border-top: 1px solid #e0e0e0; }
.pvg-product-price { font-size: 18px; font-weight: 600; color: #1B2A4A; }
.pvg-product-price small { font-size: 12px; font-weight: 400; color: #8d8d8d; }
.pvg-product-action { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; background: #F28C00; transition: background 200ms ease; }
.pvg-product-action:hover { background: #D97B00; }

/* === WHY US === */
.pvg-why { padding: 96px 0; background: #fff; }
.pvg-why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.pvg-why-desc { font-size: 16px; line-height: 1.7; color: #525252; margin-bottom: 48px; margin-top: 24px; }
.pvg-why-features { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.pvg-why-feature { display: flex; gap: 16px; }
.pvg-why-feature-icon { width: 40px; height: 40px; min-width: 40px; background: #FFF3E0; display: flex; align-items: center; justify-content: center; }
.pvg-why-feature h4 { font-size: 14px !important; font-weight: 600 !important; color: #1B2A4A !important; margin-bottom: 4px; }
.pvg-why-feature p { font-size: 13px; color: #525252; line-height: 1.5; }
.pvg-why-visual { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pvg-stat-card { background: #f4f4f4; padding: 32px; }
.pvg-stat-card--dark { background: #1B2A4A; color: #fff; }
.pvg-stat-card--dark .pvg-stat-number { color: #F28C00; }
.pvg-stat-card--dark .pvg-stat-label { color: #B0BDD0; }

/* === CTA === */
.pvg-cta { background: #1B2A4A; padding: 80px 0; }
.pvg-cta-inner { display: flex; align-items: center; justify-content: space-between; }
.pvg-cta-text h2 { font-size: 36px !important; font-weight: 300 !important; color: #fff !important; line-height: 1.2; margin-bottom: 12px; }
.pvg-cta-text h2 strong { color: #F28C00 !important; font-weight: 500 !important; }
.pvg-cta-text p { font-size: 16px; color: #B0BDD0 !important; }
.pvg-cta-actions { display: flex; gap: 16px; }

/* === PAGE HERO BANNER === */
.pvg-page-hero { background: #1B2A4A; padding: 48px 0; }
.pvg-page-hero .pvg-breadcrumb { font-size: 13px; color: #6B82A8; margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }
.pvg-page-hero .pvg-breadcrumb a { color: #B0BDD0 !important; text-decoration: none !important; }
.pvg-page-hero .pvg-breadcrumb a:hover { color: #F28C00 !important; }
.pvg-page-hero .pvg-breadcrumb .pvg-bc-sep { color: #3D5A8A; }
.pvg-page-hero h1 { font-size: 36px !important; font-weight: 300 !important; color: #ffffff !important; letter-spacing: -0.3px; margin-bottom: 8px; }
.pvg-page-hero p { font-size: 15px; color: #B0BDD0 !important; max-width: 560px; }

/* === PAGE LAYOUT WITH SIDEBAR === */
.pvg-page-body { padding: 64px 0 96px; }
.pvg-page-layout { display: grid; grid-template-columns: 220px 1fr; gap: 64px; }

/* Sidebar nav */
.pvg-sidebar-nav { position: sticky; top: 120px; align-self: start; }
.pvg-sidebar-nav-title { font-size: 11px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: #8d8d8d; margin-bottom: 16px; }
.pvg-sidebar-nav a { display: block; font-size: 14px; color: #525252 !important; padding: 10px 16px; margin: 0 -16px; text-decoration: none !important; transition: all 200ms ease; border-left: 2px solid transparent; }
.pvg-sidebar-nav a:hover { color: #1B2A4A !important; background: #f4f4f4; }
.pvg-sidebar-nav a.pvg-nav-active { color: #F28C00 !important; border-left-color: #F28C00; background: #FFF3E0; font-weight: 500; }

/* Main content */
.pvg-page-main { max-width: 780px; }

/* === LEGAL CONTENT === */
.pvg-legal-content { font-size: 15px; line-height: 1.8; color: #525252; }
.pvg-legal-content > p:first-child { font-size: 17px; line-height: 1.7; color: #1B2A4A; border-left: 3px solid #F28C00; padding-left: 20px; margin-bottom: 32px; }

.pvg-legal-content h2 { font-size: 18px !important; font-weight: 600 !important; color: #1B2A4A !important; margin: 48px 0 16px; display: flex; align-items: center; gap: 12px; }
.pvg-legal-content h2 .pvg-h-num { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; background: #FFF3E0; color: #F28C00; font-size: 12px; font-weight: 600; flex-shrink: 0; }
.pvg-legal-content h2:first-of-type { margin-top: 0; }
.pvg-legal-content h3 { font-size: 15px !important; font-weight: 600 !important; color: #1B2A4A !important; margin: 24px 0 8px; }

.pvg-legal-content p { margin-bottom: 16px; }
.pvg-legal-content a { color: #F28C00 !important; text-decoration: underline !important; text-underline-offset: 2px; }
.pvg-legal-content a:hover { color: #D97B00 !important; }
.pvg-legal-content ul { padding-left: 20px; margin-bottom: 16px; }
.pvg-legal-content ul li { margin-bottom: 6px; list-style: disc; }
.pvg-legal-content code { font-size: 13px; background: #f4f4f4; padding: 2px 6px; letter-spacing: 0.5px; }

/* Info box */
.pvg-info-box { background: #f4f4f4; padding: 20px 24px; margin: 24px 0; font-size: 14px; line-height: 1.6; }
.pvg-info-box--warning { background: #FFF3E0; }
.pvg-info-box--navy { background: #1B2A4A; color: #B0BDD0; }
.pvg-info-box--navy strong { color: #F28C00; }
.pvg-info-box--navy p { color: #B0BDD0; }
.pvg-info-box p { margin: 0; }
.pvg-info-box p strong { color: #1B2A4A; }

/* Meta block — key-value pairs */
.pvg-legal-meta { background: #f4f4f4; margin: 24px 0; }
.pvg-legal-meta-row { display: flex; padding: 12px 20px; border-bottom: 1px solid #e8e8e8; font-size: 14px; line-height: 1.5; }
.pvg-legal-meta-row:last-child { border-bottom: none; }
.pvg-legal-meta-label { width: 180px; min-width: 180px; color: #8d8d8d; font-size: 13px; }
.pvg-legal-meta-row a { color: #F28C00 !important; text-decoration: underline !important; }

/* Footer note */
.pvg-legal-footer { margin-top: 48px; padding-top: 24px; border-top: 1px solid #e0e0e0; font-size: 13px; color: #8d8d8d; }

/* Tables */
.pvg-table { width: 100%; border-collapse: collapse; margin: 24px 0; font-size: 14px; }
.pvg-table th { text-align: left; font-size: 11px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: #8d8d8d; padding: 14px 20px; border-bottom: 2px solid #1B2A4A; background: #f4f4f4; }
.pvg-table td { padding: 14px 20px; border-bottom: 1px solid #f4f4f4; color: #1B2A4A; }
.pvg-table tr:hover td { background: #FFF3E0; }

/* Contact cards grid */
.pvg-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin: 32px 0; }
.pvg-contact-card { padding: 24px; background: #f4f4f4; }
.pvg-contact-card--dark { background: #1B2A4A; }
.pvg-contact-card h4 { font-size: 11px !important; font-weight: 600 !important; letter-spacing: 1.5px; text-transform: uppercase; color: #8d8d8d !important; margin-bottom: 10px; }
.pvg-contact-card--dark h4 { color: #6B82A8 !important; }
.pvg-contact-card p { font-size: 14px; color: #1B2A4A; line-height: 1.6; margin: 0; }
.pvg-contact-card--dark p { color: #B0BDD0; }
.pvg-contact-card a { color: #F28C00 !important; text-decoration: underline !important; }

@media (max-width: 1024px) {
    .pvg-page-layout { grid-template-columns: 1fr; }
    .pvg-sidebar-nav { display: none; }
    .pvg-contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .pvg-legal-meta-row { flex-direction: column; gap: 4px; }
    .pvg-legal-meta-label { width: auto; min-width: auto; }
}

/* === RESPONSIVE === */
@media (max-width: 1024px) {
    .pvg-hero-grid { grid-template-columns: 1fr; }
    .pvg-hero-title { font-size: 42px !important; }
    .pvg-hero-visual { display: none; }
    .pvg-cat-grid { grid-template-columns: repeat(2, 1fr); }
    .pvg-product-grid { grid-template-columns: repeat(2, 1fr); }
    .pvg-why-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .pvg-hero-title { font-size: 32px !important; }
    .pvg-section-title { font-size: 28px !important; }
    .pvg-cat-grid { grid-template-columns: 1fr; }
    .pvg-product-grid { grid-template-columns: 1fr; }
    .pvg-cta-inner { flex-direction: column; gap: 32px; text-align: center; }
    .pvg-cta-actions { justify-content: center; flex-wrap: wrap; }
    .pvg-hero-stats { gap: 24px; flex-wrap: wrap; }
    .pvg-why-features { grid-template-columns: 1fr; }
    .pvg-why-visual { grid-template-columns: 1fr; }
    .pvg-brands .pvg-container { flex-direction: column; gap: 16px; }
    .pvg-brands-logos { flex-wrap: wrap; gap: 24px; justify-content: center; }
    .pvg-section-header { flex-direction: column; align-items: flex-start; gap: 16px; }
}

/* =====================================================================
   SITE FOOTER — Custom HTML widget w Astra Footer Builder
   ===================================================================== */
/* Footer palette — świadoma hierarchia kontrastu:
   Wartości (PVGROUP.PL, numery, telefon, email, godziny) → #ffffff (biały)
   Labele + linki prawne + address                        → #B0BDD0 (jasny gray-blue)
   Copyright + tagline                                    → #6B82A8 (ciemny gray-blue)
   Akcent / hover                                         → #F28C00 (pomarańczowy)
*/
.pvg-footer { background: #1B2A4A !important; color: #B0BDD0 !important; font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif; font-size: 14px; line-height: 1.6; width: 100vw; margin-left: calc(50% - 50vw); }
.pvg-footer a { color: #B0BDD0 !important; text-decoration: none !important; transition: color .15s ease; }
.pvg-footer a:hover,
.pvg-footer a:focus { color: #F28C00 !important; text-decoration: none !important; }
.pvg-footer * { box-sizing: border-box; }

.pvg-footer__inner { max-width: 1280px; margin: 0 auto; padding: 64px 48px 0; }
.pvg-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 48px; padding-bottom: 48px; border-bottom: 1px solid #2A3F6A; }

.pvg-footer__heading { color: #ffffff !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: 1.5px; text-transform: uppercase; margin: 0 0 20px !important; padding: 0 0 12px !important; border-bottom: 2px solid #F28C00; display: inline-block; }

.pvg-footer__brand { color: #ffffff !important; font-size: 16px; font-weight: 600; letter-spacing: .2px; margin: 0 0 12px !important; }
.pvg-footer__address { font-style: normal; margin: 0 0 20px !important; color: #B0BDD0 !important; }
.pvg-footer__registry { margin: 0 !important; }
.pvg-footer__registry-row { display: flex; gap: 12px; padding: 6px 0; border-top: 1px solid #2A3F6A; font-size: 13px; }
.pvg-footer__registry-row:first-child { border-top: 0; }
.pvg-footer__registry-label { min-width: 64px; color: #B0BDD0 !important; font-weight: 600 !important; letter-spacing: .5px; text-transform: uppercase; font-size: 11px !important; padding-top: 2px; }
.pvg-footer__registry-value { color: #ffffff !important; font-weight: 400 !important; font-variant-numeric: tabular-nums; font-size: 13px !important; }

.pvg-footer__list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.pvg-footer__list li { margin: 0 0 10px !important; }
.pvg-footer__list li:last-child { margin-bottom: 0 !important; }
.pvg-footer__list a { display: inline-block; padding: 2px 0; color: #B0BDD0 !important; }
.pvg-footer__list a:hover { color: #F28C00 !important; }

.pvg-footer__contact-item { display: flex; flex-direction: column; gap: 2px; margin: 0 0 14px !important; }
.pvg-footer__contact-label { color: #B0BDD0 !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: 1px; text-transform: uppercase; }
.pvg-footer__contact-value { font-size: 16px; color: #ffffff !important; }
.pvg-footer__contact-value a { color: #ffffff !important; font-weight: 500 !important; }
.pvg-footer__contact-value a:hover { color: #F28C00 !important; }
.pvg-footer__hours { margin: 16px 0 0 !important; padding-top: 16px; border-top: 1px solid #2A3F6A; font-size: 13px; color: #B0BDD0 !important; }
.pvg-footer__hours strong { color: #ffffff !important; font-weight: 600 !important; }

.pvg-footer__bottom { max-width: 1280px; margin: 0 auto; padding: 24px 48px; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; font-size: 13px; color: #6B82A8 !important; }
.pvg-footer__copy { margin: 0; }
.pvg-footer__tagline { margin: 0; }

@media (max-width: 1024px) {
    .pvg-footer__grid { grid-template-columns: 1fr 1fr; gap: 40px; }
}
@media (max-width: 640px) {
    .pvg-footer__inner { padding: 48px 20px 0; }
    .pvg-footer__grid { grid-template-columns: 1fr; gap: 36px; padding-bottom: 36px; }
    .pvg-footer__bottom { padding: 20px; flex-direction: column; align-items: flex-start; text-align: left; }
}

/* Ukryj w całości domyślny Astra footer — nasza stopka renderuje się jako sibling w body */
body.pvg-has-custom-footer footer.site-footer,
body.pvg-has-custom-footer #colophon { display: none !important; }

/* === SUPPLIERS PAGE (mobile-first, /dla-dostawcow/) ====================== */
:root {
    --pvg-c-navy: #1B2A4A;
    --pvg-c-navy-2: #2A3F6A;
    --pvg-c-orange: #F28C00;
    --pvg-c-orange-dark: #D97B00;
    --pvg-c-text: #525252;
    --pvg-c-muted: #8d8d8d;
    --pvg-c-light: #B0BDD0;
    --pvg-c-bg-light: #f4f4f4;
    --pvg-c-bg-warm: #FFF3E0;
    --pvg-c-border: #e0e0e0;
}

.dost-container { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
@media (max-width: 1023px) { .dost-container { padding: 0 32px; } }

.dost-section-label { display: inline-flex; align-items: center; gap: 12px; font-size: 12px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase; color: var(--pvg-c-orange); margin-bottom: 20px; }
.dost-section-label::before { content: ''; width: 24px; height: 1px; background: var(--pvg-c-orange); }
.dost-section-title { font-size: 32px !important; font-weight: 300 !important; line-height: 1.2 !important; color: var(--pvg-c-navy) !important; letter-spacing: -0.3px !important; margin: 0 !important; }

.dost-btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 24px; font-size: 15px; font-weight: 500; text-decoration: none !important; transition: all 200ms ease; border: 1px solid transparent; font-family: inherit; cursor: pointer; border-radius: 0 !important; }
.dost-btn--primary { background: var(--pvg-c-orange) !important; color: #fff !important; }
.dost-btn--primary:hover { background: var(--pvg-c-orange-dark) !important; }
.dost-btn--ghost { background: transparent !important; color: #fff !important; border: 1px solid rgba(255,255,255,0.25) !important; }
.dost-btn--ghost:hover { background: rgba(255,255,255,0.08) !important; }
.dost-btn--light { background: #fff !important; color: var(--pvg-c-navy) !important; }

/* Hero (navy) */
.dost-hero { background: var(--pvg-c-navy); color: #fff; padding: 64px 0 48px; }
.dost-hero__img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; margin-bottom: 32px; max-height: 280px; }
.dost-hero__label { color: var(--pvg-c-orange); font-size: 12px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 16px; display: inline-flex; align-items: center; gap: 12px; }
.dost-hero__label::before { content: ''; width: 24px; height: 1px; background: var(--pvg-c-orange); }
.dost-hero__title { font-size: 32px !important; font-weight: 300 !important; line-height: 1.15 !important; letter-spacing: -0.3px !important; color: #fff !important; margin: 0 0 24px !important; }
.dost-hero__title strong { font-weight: 600 !important; color: var(--pvg-c-orange) !important; }
.dost-hero__stats { display: flex; flex-wrap: wrap; gap: 24px 32px; padding: 20px 0; margin: 0 0 24px; border-top: 1px solid var(--pvg-c-navy-2); border-bottom: 1px solid var(--pvg-c-navy-2); }
.dost-hero__stat-n { font-size: 24px; font-weight: 300; color: var(--pvg-c-orange); line-height: 1; margin-bottom: 4px; font-variant-numeric: tabular-nums; }
.dost-hero__stat-l { font-size: 11px; color: var(--pvg-c-light); letter-spacing: 0.5px; }
.dost-hero__body { font-size: 15px; line-height: 1.65; color: var(--pvg-c-light) !important; margin: 0 0 32px; }
.dost-hero__ctas { display: flex; flex-direction: column; gap: 12px; }
.dost-hero__ctas .dost-btn { width: 100%; }

/* Why (9 tiles) */
.dost-why { background: #fff; padding: 64px 0; }
.dost-why__intro { text-align: center; margin: 0 auto 40px; max-width: 640px; }
.dost-why__intro p { font-size: 15px; color: var(--pvg-c-text); line-height: 1.7; margin-top: 12px; }
.dost-why__grid { display: grid; grid-template-columns: 1fr; gap: 1px; background: var(--pvg-c-border); border-top: 1px solid var(--pvg-c-border); border-bottom: 1px solid var(--pvg-c-border); }
.dost-why__tile { background: #fff; padding: 24px 20px; display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: start; transition: background 200ms ease; }
.dost-why__tile:hover { background: var(--pvg-c-bg-light); }
.dost-why__num { font-size: 28px; font-weight: 300; color: var(--pvg-c-orange); line-height: 1; font-variant-numeric: tabular-nums; padding-top: 2px; min-width: 44px; border-right: 1px solid var(--pvg-c-border); padding-right: 16px; }
.dost-why__title { font-size: 16px !important; font-weight: 600 !important; color: var(--pvg-c-navy) !important; margin: 0 0 6px !important; line-height: 1.35 !important; }
.dost-why__desc { font-size: 14px; color: var(--pvg-c-text); line-height: 1.55; }

/* Infra (image + checklist) */
.dost-infra { background: var(--pvg-c-bg-light); padding: 64px 0; }
.dost-infra__img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; margin-bottom: 32px; max-height: 280px; }
.dost-infra__intro p { font-size: 15px; color: var(--pvg-c-text); line-height: 1.7; margin: 0 0 32px; }
.dost-infra__list { display: flex; flex-direction: column; gap: 14px; list-style: none; padding: 0; margin: 0; }
.dost-infra__item { display: grid; grid-template-columns: 24px 1fr; gap: 14px; align-items: start; }
.dost-infra__check { width: 24px; height: 24px; background: var(--pvg-c-orange); display: flex; align-items: center; justify-content: center; margin-top: 2px; }
.dost-infra__text { font-size: 14px; color: var(--pvg-c-navy); line-height: 1.5; }

/* Gain (stats + list) */
.dost-gain { background: #fff; padding: 64px 0; }
.dost-gain__stats { background: var(--pvg-c-navy); padding: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 40px; }
.dost-gain__stat { background: var(--pvg-c-navy-2); padding: 20px 18px; }
.dost-gain__stat-n { font-size: 28px; font-weight: 300; color: var(--pvg-c-orange); line-height: 1; margin-bottom: 4px; font-variant-numeric: tabular-nums; }
.dost-gain__stat-l { font-size: 11px; color: var(--pvg-c-light); letter-spacing: 0.3px; }
.dost-gain__list { display: flex; flex-direction: column; gap: 20px; }
.dost-gain__item { display: grid; grid-template-columns: 32px 1fr; gap: 14px; align-items: start; }
.dost-gain__num { width: 28px; height: 28px; background: var(--pvg-c-bg-warm); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; color: var(--pvg-c-orange); }
.dost-gain__title { font-size: 15px; font-weight: 600; color: var(--pvg-c-navy); margin-bottom: 3px; line-height: 1.35; }
.dost-gain__desc { font-size: 13px; color: var(--pvg-c-text); line-height: 1.5; }

/* Process (vertical timeline on mobile, horizontal on desktop) */
.dost-process { background: var(--pvg-c-bg-light); padding: 64px 0; }
.dost-process__header { text-align: center; margin-bottom: 40px; }
.dost-process__steps { position: relative; padding-left: 48px; margin: 0; }
.dost-process__steps::before { content: ''; position: absolute; left: 23px; top: 12px; bottom: 12px; width: 1px; background: var(--pvg-c-orange); }
.dost-process__step { position: relative; padding: 0 0 32px; }
.dost-process__step:last-child { padding-bottom: 0; }
.dost-process__num { position: absolute; left: -48px; top: 0; width: 48px; height: 48px; background: var(--pvg-c-orange); color: #fff; font-size: 17px; font-weight: 600; display: flex; align-items: center; justify-content: center; font-variant-numeric: tabular-nums; z-index: 1; }
.dost-process__title { font-size: 17px !important; font-weight: 600 !important; color: var(--pvg-c-navy) !important; margin: 10px 0 6px !important; }
.dost-process__desc { font-size: 14px; color: var(--pvg-c-text); line-height: 1.5; }

/* FAQ */
.dost-faq { background: #fff; padding: 64px 0; }
.dost-faq__header { text-align: center; margin-bottom: 40px; }
.dost-faq__list { display: flex; flex-direction: column; gap: 2px; }
.dost-faq__item { background: var(--pvg-c-bg-light); padding: 22px 24px; }
.dost-faq__q { font-size: 15px; font-weight: 600; color: var(--pvg-c-navy); margin-bottom: 10px; line-height: 1.4; }
.dost-faq__a { font-size: 14px; color: var(--pvg-c-text); line-height: 1.65; }

/* CTA dark */
.dost-cta { background: var(--pvg-c-navy); color: #fff; padding: 64px 0; text-align: center; }
.dost-cta__label { font-size: 12px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase; color: var(--pvg-c-light); margin-bottom: 12px; }
.dost-cta__title { font-size: 28px !important; font-weight: 300 !important; color: #fff !important; line-height: 1.25 !important; margin: 0 0 14px !important; }
.dost-cta__title strong { color: var(--pvg-c-orange) !important; font-weight: 500 !important; }
.dost-cta__body { font-size: 15px; color: var(--pvg-c-light) !important; line-height: 1.65; margin: 0 auto 32px; max-width: 560px; }
.dost-cta__buttons { display: flex; flex-direction: column; gap: 12px; }
.dost-cta__buttons .dost-btn { width: 100%; }

/* Form */
.dost-form { background: #fff; padding: 64px 0; }
.dost-form__header { text-align: center; margin-bottom: 32px; }
.dost-form__header p { font-size: 14px; color: var(--pvg-c-text); margin-top: 12px; }
.dost-form__body { display: flex; flex-direction: column; gap: 20px; }
.dost-field { display: flex; flex-direction: column; gap: 6px; }
.dost-field label { font-size: 11px !important; font-weight: 600 !important; letter-spacing: 1px; text-transform: uppercase; color: var(--pvg-c-muted) !important; margin: 0 !important; }
.dost-field input, .dost-field textarea { width: 100%; height: 48px; background: var(--pvg-c-bg-light) !important; border: none !important; border-bottom: 2px solid transparent !important; padding: 0 16px !important; font-size: 15px !important; font-family: inherit; color: var(--pvg-c-navy) !important; outline: none; -webkit-appearance: none; border-radius: 0 !important; transition: border-color 150ms ease; box-shadow: none !important; }
.dost-field textarea { height: auto; min-height: 120px; padding: 14px 16px !important; resize: vertical; }
.dost-field input:focus, .dost-field textarea:focus { border-bottom-color: var(--pvg-c-orange) !important; }
.dost-form__submit { display: flex; justify-content: center; padding-top: 8px; }
.dost-form__submit .dost-btn { width: 100%; }

/* CF7 reset inside .dost-form__cf7 wrapper (suppliers form) */
.dost-form__cf7 .wpcf7 { margin: 0; padding: 0; }
.dost-form__cf7 .wpcf7-form { margin: 0; }
.dost-form__cf7 .wpcf7-form p { margin: 0; }
.dost-form__cf7 .wpcf7-spinner { display: none; }
.dost-form__cf7 .wpcf7 form .wpcf7-response-output { margin: 16px 0 0; padding: 12px 16px; border-width: 0; border-left: 4px solid var(--pvg-c-orange); background: var(--pvg-c-bg-light); font-size: 14px; color: var(--pvg-c-navy); }
.dost-form__cf7 .wpcf7 form.invalid .wpcf7-response-output, .dost-form__cf7 .wpcf7 form.unaccepted .wpcf7-response-output { border-left-color: #da1e28; }
.dost-form__cf7 .wpcf7 form.sent .wpcf7-response-output { border-left-color: #24a148; }
.dost-form__cf7 .wpcf7-not-valid-tip { color: #da1e28; font-size: 12px; margin-top: 4px; }
.dost-form__cf7 .wpcf7-list-item { margin: 0; }
.dost-form__cf7 .dost-field input.wpcf7-not-valid, .dost-form__cf7 .dost-field textarea.wpcf7-not-valid { border-bottom-color: #da1e28 !important; }
.dost-form__cf7 .dost-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }

/* CF7 styling for /kontakt/ form (.pvg-cf7-wrap) — reuses IBM Carbon look */
.pvg-cf7-wrap { margin-top: 16px; }
.pvg-cf7-wrap .wpcf7 { margin: 0; padding: 0; }
.pvg-cf7-wrap .wpcf7-form { margin: 0; display: flex; flex-direction: column; gap: 20px; }
.pvg-cf7-wrap .wpcf7-form p { margin: 0; }
.pvg-cf7-wrap .pvg-cf7-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
.pvg-cf7-wrap .pvg-cf7-field { display: flex; flex-direction: column; gap: 6px; }
.pvg-cf7-wrap .pvg-cf7-field--full { grid-column: 1 / -1; }
.pvg-cf7-wrap .pvg-cf7-field label { font-size: 11px !important; font-weight: 600 !important; letter-spacing: 1px; text-transform: uppercase; color: var(--pvg-c-muted) !important; margin: 0 !important; }
.pvg-cf7-wrap .pvg-cf7-field input, .pvg-cf7-wrap .pvg-cf7-field textarea { width: 100%; height: 48px; background: var(--pvg-c-bg-light) !important; border: none !important; border-bottom: 2px solid transparent !important; padding: 0 16px !important; font-size: 15px !important; font-family: inherit; color: var(--pvg-c-navy) !important; outline: none; -webkit-appearance: none; border-radius: 0 !important; transition: border-color 150ms ease; box-shadow: none !important; }
.pvg-cf7-wrap .pvg-cf7-field textarea { height: auto; min-height: 140px; padding: 14px 16px !important; resize: vertical; }
.pvg-cf7-wrap .pvg-cf7-field input:focus, .pvg-cf7-wrap .pvg-cf7-field textarea:focus { border-bottom-color: var(--pvg-c-orange) !important; }
.pvg-cf7-wrap .pvg-cf7-field input.wpcf7-not-valid, .pvg-cf7-wrap .pvg-cf7-field textarea.wpcf7-not-valid { border-bottom-color: #da1e28 !important; }
.pvg-cf7-wrap .pvg-cf7-submit { display: flex; padding-top: 8px; }
.pvg-cf7-wrap .pvg-cf7-submit input[type=submit], .pvg-cf7-wrap .pvg-cf7-submit .wpcf7-submit { width: 100%; height: 56px; background: var(--pvg-c-orange) !important; color: #fff !important; border: none !important; padding: 0 32px !important; font-size: 15px !important; font-weight: 500 !important; letter-spacing: 0.3px; cursor: pointer; transition: background 150ms ease; border-radius: 0 !important; }
.pvg-cf7-wrap .pvg-cf7-submit input[type=submit]:hover, .pvg-cf7-wrap .pvg-cf7-submit .wpcf7-submit:hover { background: #d97f00 !important; }
.pvg-cf7-wrap .wpcf7-spinner { display: none; }
.pvg-cf7-wrap .wpcf7 form .wpcf7-response-output { margin: 16px 0 0; padding: 12px 16px; border-width: 0; border-left: 4px solid var(--pvg-c-orange); background: var(--pvg-c-bg-light); font-size: 14px; color: var(--pvg-c-navy); }
.pvg-cf7-wrap .wpcf7 form.invalid .wpcf7-response-output, .pvg-cf7-wrap .wpcf7 form.unaccepted .wpcf7-response-output { border-left-color: #da1e28; }
.pvg-cf7-wrap .wpcf7 form.sent .wpcf7-response-output { border-left-color: #24a148; }
.pvg-cf7-wrap .wpcf7-not-valid-tip { color: #da1e28; font-size: 12px; margin-top: 4px; }
.pvg-cf7-wrap .wpcf7-list-item { margin: 0; }

/* Tablet >= 640px */
@media (min-width: 640px) {
    .dost-hero { padding: 80px 0 64px; }
    .dost-hero__title { font-size: 40px !important; }
    .dost-hero__ctas { flex-direction: row; }
    .dost-hero__ctas .dost-btn { width: auto; }
    .dost-why, .dost-infra, .dost-gain, .dost-process, .dost-faq, .dost-cta, .dost-form { padding: 80px 0; }
    .dost-section-title { font-size: 36px !important; }
    .dost-why__grid { grid-template-columns: 1fr 1fr; gap: 1px; }
    .dost-gain__stats { grid-template-columns: 1fr 1fr; gap: 16px; padding: 32px; }
    .dost-form__body { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
    .dost-field--full { grid-column: 1 / -1; }
    .pvg-cf7-wrap .pvg-cf7-grid { grid-template-columns: 1fr 1fr; }
    .dost-cta__buttons { flex-direction: row; justify-content: center; }
    .dost-cta__buttons .dost-btn { width: auto; }
}

/* Desktop >= 1024px */
@media (min-width: 1024px) {
    .dost-hero { padding: 96px 0 80px; }
    .dost-hero__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
    .dost-hero__img { margin-bottom: 0; max-height: none; aspect-ratio: auto; order: 2; }
    .dost-hero__content { order: 1; }
    .dost-hero__title { font-size: 48px !important; }
    .dost-why, .dost-infra, .dost-gain, .dost-process, .dost-faq, .dost-cta, .dost-form { padding: 96px 0; }
    .dost-section-title { font-size: 42px !important; }
    .dost-why__grid { grid-template-columns: repeat(3, 1fr); gap: 1px; }
    .dost-infra__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
    .dost-infra__img { margin-bottom: 0; max-height: none; order: 2; }
    .dost-infra__content { order: 1; }
    .dost-gain__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
    .dost-gain__stats { margin-bottom: 0; min-height: 420px; align-content: center; }
    .dost-process__steps { display: grid; grid-template-columns: repeat(5, 1fr); padding-left: 0; gap: 20px; position: relative; }
    .dost-process__steps::before { left: 24px; right: 24px; top: 24px; bottom: auto; width: auto; height: 1px; }
    .dost-process__step { padding: 0 12px; text-align: center; }
    .dost-process__num { position: static; margin: 0 auto 16px; }
    .dost-process__title { text-align: center; }
    .dost-process__desc { text-align: center; font-size: 13px; }
}

/* === BANK BOX (high contrast) ============================================= */
/* Legacy fix: numery kont w .pvg-info-box--navy miały pomarańczowy tekst na
   navy tle (nieczytelne). Nowy markup to .pvg-bank-box — override również na
   starym <code> tagu w razie gdyby coś jeszcze go używało. */
.pvg-info-box--navy.pvg-bank-box { padding: 20px 24px; background: #1B2A4A !important; border: 1px solid #2A3F6A; margin: 16px 0 24px; }
.pvg-bank-bank { font-size: 12px; font-weight: 600; color: #F28C00 !important; text-transform: uppercase; letter-spacing: 1.2px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid #2A3F6A; }
.pvg-bank-row { display: grid; grid-template-columns: 44px 1fr; gap: 16px; align-items: baseline; padding: 6px 0; }
.pvg-bank-row + .pvg-bank-row { border-top: 1px solid #2A3F6A; }
.pvg-bank-label { font-size: 11px; font-weight: 600; color: #B0BDD0 !important; text-transform: uppercase; letter-spacing: 1px; }
.pvg-bank-number { font-size: 14px; font-weight: 500; color: #ffffff !important; font-variant-numeric: tabular-nums; letter-spacing: 0.3px; font-family: 'IBM Plex Mono', 'SF Mono', Menlo, monospace; }
/* Fallback dla starych kart z <code> w pvg-info-box--navy */
.pvg-info-box--navy code { background: #ffffff !important; color: #1B2A4A !important; padding: 4px 10px; font-family: 'IBM Plex Mono', monospace; font-size: 14px; font-weight: 500; display: inline-block; margin: 2px 0; }

/* === HEADER FULL-WIDTH ==================================================== */
/* Rozciąga header bar do pełnej szerokości viewportu: logo do lewej krawędzi,
   menu do prawej. Nie dotyka reszty strony (która dalej używa pvg-container 1280). */
.ast-primary-header-bar .ast-container,
.site-primary-header-wrap.ast-container,
#masthead .ast-container { max-width: 100% !important; padding-left: 40px !important; padding-right: 40px !important; }
@media (max-width: 1024px) {
    .ast-primary-header-bar .ast-container,
    .site-primary-header-wrap.ast-container,
    #masthead .ast-container { padding-left: 24px !important; padding-right: 24px !important; }
}

/* === PARTNER PAGE ========================================================= */
.partner-hero { padding: 120px 0 96px; background: #fff; }
.partner-hero__grid { display: grid; grid-template-columns: 6fr 6fr; gap: 64px; align-items: center; }
.partner-hero__title { font-size: 64px !important; font-weight: 300 !important; line-height: 1.05 !important; letter-spacing: -1.5px; margin: 0 0 28px !important; color: #1B2A4A !important; }
.partner-hero__title strong { font-weight: 600 !important; color: #F28C00 !important; }
.partner-hero__lead { font-size: 20px; line-height: 1.5; color: #525252 !important; margin-bottom: 20px; font-weight: 400; max-width: 540px; }
.partner-hero__body { font-size: 16px; line-height: 1.7; color: #525252 !important; margin-bottom: 40px; max-width: 540px; }
.partner-hero__ctas { display: flex; gap: 16px; flex-wrap: wrap; }

.partner-stats { border: 1px solid #e0e0e0; background: #fff; }
.partner-stat-row { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: baseline; padding: 32px 40px; border-bottom: 1px solid #e0e0e0; }
.partner-stat-row:last-child { border-bottom: none; }
.partner-stat-row__label { font-size: 12px; text-transform: uppercase; letter-spacing: 1px; color: #525252; font-weight: 500; }
.partner-stat-row__value { font-size: 56px; font-weight: 300; color: #1B2A4A; font-variant-numeric: tabular-nums; line-height: 1; letter-spacing: -1px; }
.partner-stat-row__value small { font-size: 20px; color: #8d8d8d; margin-left: 4px; font-weight: 400; letter-spacing: 0; }

.partner-benefits { padding: 96px 0; background: #f4f4f4; }
.partner-benefit-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; border-top: 1px solid #e0e0e0; margin-top: 56px; }
.partner-benefit { padding: 48px 28px; border-right: 1px solid #e0e0e0; background: #f4f4f4; transition: background 200ms ease; }
.partner-benefit:last-child { border-right: none; }
.partner-benefit:hover { background: #fff; }
.partner-benefit__number { font-size: 12px; font-weight: 500; color: #8d8d8d; letter-spacing: 1px; margin-bottom: 32px; font-variant-numeric: tabular-nums; }
.partner-benefit__title { font-size: 18px !important; font-weight: 500 !important; color: #1B2A4A !important; margin: 0 0 12px !important; line-height: 1.3 !important; }
.partner-benefit__desc { font-size: 14px; line-height: 1.6; color: #525252; margin: 0; }

.partner-audience { padding: 96px 0; background: #fff; }
.partner-audience__intro { max-width: none; font-size: 17px; line-height: 1.7; color: #525252 !important; margin: 0 0 56px; }
.partner-audience__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid #e0e0e0; border-left: 1px solid #e0e0e0; }
.partner-audience__item { padding: 48px 32px; border-right: 1px solid #e0e0e0; border-bottom: 1px solid #e0e0e0; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; min-height: 180px; }
.partner-audience__bullet { width: 8px; height: 8px; background: #F28C00; flex: none; }
.partner-audience__label { font-size: 15px; font-weight: 500; color: #1B2A4A; line-height: 1.4; }

.partner-process { padding: 120px 0; background: #1B2A4A; color: #fff; }
.partner-process .pvg-section-label { color: #F28C00; }
.partner-process .pvg-section-title { color: #fff !important; }
.partner-process__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 72px; position: relative; }
.partner-process__grid::before { content: ''; position: absolute; left: 0; right: 0; top: 48px; height: 1px; background: #F28C00; z-index: 0; }
.partner-process__step { position: relative; padding: 0 32px 0 0; }
.partner-process__num { font-size: 96px; font-weight: 300; line-height: 1; color: #F28C00; font-variant-numeric: tabular-nums; margin-bottom: 32px; letter-spacing: -3px; position: relative; z-index: 1; background: #1B2A4A; display: inline-block; padding-right: 16px; }
.partner-process__title { font-size: 18px !important; font-weight: 500 !important; color: #fff !important; margin: 0 0 12px !important; }
.partner-process__desc { font-size: 14px; line-height: 1.6; color: #B0BDD0; margin: 0; }

.partner-form-section { padding: 96px 0; background: #fff; }
.partner-form-section__intro { font-size: 17px; line-height: 1.7; color: #525252 !important; max-width: 720px; margin: 0; }
.partner-form-grid { display: grid; grid-template-columns: 8fr 4fr; gap: 48px; margin-top: 64px; align-items: start; }
.partner-form { background: #f4f4f4; border: 1px solid #e0e0e0; padding: 64px; }
.partner-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-bottom: 32px; }
.partner-form__row--full { grid-template-columns: 1fr; }
.partner-field { display: flex; flex-direction: column; gap: 8px; }
.partner-field label { font-size: 11px !important; text-transform: uppercase; letter-spacing: 1px; color: #525252 !important; font-weight: 500 !important; margin: 0 !important; }
.partner-field label.optional { color: #8d8d8d !important; }
.partner-field label.optional::after { content: ' (opcjonalnie)'; font-weight: 400; }
.partner-field label.required::after { content: ' *'; color: #F28C00; margin-left: 2px; }
.partner-field input, .partner-field select, .partner-field textarea { border: 0 !important; border-bottom: 1px solid #8d8d8d !important; background: transparent !important; padding: 14px 0 12px !important; font-family: inherit; font-size: 15px; color: #1B2A4A; outline: none; transition: border-color 150ms ease; border-radius: 0; -webkit-appearance: none; box-shadow: none !important; }
.partner-field select { -moz-appearance: none; appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%23525252' stroke-width='1.5' d='M1 1.5l5 5 5-5'/></svg>") !important; background-repeat: no-repeat !important; background-position: right 4px center !important; padding-right: 28px !important; cursor: pointer; }
.partner-field input:focus, .partner-field select:focus, .partner-field textarea:focus { border-bottom-color: #F28C00 !important; border-bottom-width: 2px !important; padding-bottom: 11px !important; outline: none; }
.partner-field select:focus { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%23F28C00' stroke-width='1.5' d='M1 1.5l5 5 5-5'/></svg>") !important; }
.partner-field textarea { resize: vertical; min-height: 96px; font-family: inherit; }
.partner-form__honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.partner-form__submit { display: flex; flex-direction: column; gap: 24px; margin-top: 16px; }
.partner-form__submit button { background: #F28C00 !important; color: #fff !important; border: 0 !important; padding: 22px 32px !important; font-family: inherit; font-size: 15px !important; font-weight: 500 !important; cursor: pointer; text-align: left; display: flex; justify-content: space-between; align-items: center; transition: background 200ms ease; width: 100%; border-radius: 0 !important; }
.partner-form__submit button:hover { background: #D97B00 !important; }
.partner-form__submit button:disabled { background: #8d8d8d !important; cursor: not-allowed; }
.partner-form__microcopy { display: grid; gap: 10px; }
.partner-form__microcopy span { font-size: 12px; color: #525252; padding-left: 16px; position: relative; line-height: 1.5; }
.partner-form__microcopy span::before { content: ''; position: absolute; left: 0; top: 7px; width: 6px; height: 1px; background: #F28C00; }
.partner-form__message { padding: 20px 24px; margin-bottom: 24px; font-size: 14px; line-height: 1.5; border: 1px solid; }
.partner-form__message--success { border-color: #24a148; background: #defbe6; color: #0e6027; }
.partner-form__message--error { border-color: #da1e28; background: #fff1f1; color: #a2191f; }

.partner-form-alt { margin-top: 32px; padding: 28px 32px; border: 1px solid #e0e0e0; background: #fff; display: grid; gap: 14px; }
.partner-form-alt__label { font-size: 11px; text-transform: uppercase; letter-spacing: 1px; color: #8d8d8d; font-weight: 500; margin-bottom: 4px; }
.partner-form-alt__row { display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 14px; color: #525252; flex-wrap: wrap; }
.partner-form-alt__row a { color: #F28C00 !important; font-weight: 500; text-decoration: none !important; white-space: nowrap; }
.partner-form-alt__row a:hover { color: #D97B00 !important; }

/* === B2B REGISTER PAGE ==================================================== */
.partner-register { padding: 120px 0 96px; background: #fff; }
.partner-register__intro { max-width: 720px; margin-bottom: 56px; }
.partner-register__lead { font-size: 20px; line-height: 1.5; color: #525252 !important; margin: 0 0 20px; }
.partner-register__body { font-size: 16px; line-height: 1.7; color: #525252 !important; margin: 0; }
.partner-register__wrap { background: #f4f4f4; border: 1px solid #e0e0e0; padding: 64px; }
.partner-register__wrap input[type="text"], .partner-register__wrap input[type="email"], .partner-register__wrap input[type="password"], .partner-register__wrap input[type="tel"], .partner-register__wrap select, .partner-register__wrap textarea { border: 0 !important; border-bottom: 1px solid #8d8d8d !important; background: transparent !important; padding: 14px 0 12px !important; font-family: inherit; font-size: 15px; color: #1B2A4A; outline: none; border-radius: 0 !important; -webkit-appearance: none; box-shadow: none !important; width: 100%; margin-bottom: 24px; }
.partner-register__wrap input:focus, .partner-register__wrap select:focus, .partner-register__wrap textarea:focus { border-bottom-color: #F28C00 !important; }
.partner-register__wrap button, .partner-register__wrap input[type="submit"] { background: #F28C00 !important; color: #fff !important; border: 0 !important; padding: 18px 32px !important; font-family: inherit; font-size: 15px !important; font-weight: 500 !important; border-radius: 0 !important; cursor: pointer; transition: background 200ms ease; }
.partner-register__wrap button:hover, .partner-register__wrap input[type="submit"]:hover { background: #D97B00 !important; }
.partner-register__wrap label { font-size: 11px !important; text-transform: uppercase; letter-spacing: 1px; color: #525252 !important; font-weight: 500 !important; display: block; margin-bottom: 6px; }

/* === B2B REGISTER PAGE — B2BKing form polish ============================== */
/* Hide B2BKing's auto-injected "Zarejestruj się" <h2> — mamy własny <h1> w intro */
.partner-register__wrap .b2bking_b2bregistration_only_register_header { display: none !important; }

/* Extra bottom spacing — sticky .pvg-b2b-bar nie może zasłaniać submit / dropdown */
.partner-register { padding-bottom: 180px !important; }
@media (max-width: 640px) { .partner-register { padding-bottom: 140px !important; } }

/* 2-col grid dla B2BKing form (WooCommerce register) */
.partner-register__wrap form.woocommerce-form-register { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.partner-register__wrap form.woocommerce-form-register > * { margin: 0 0 24px 0 !important; }
.partner-register__wrap form.woocommerce-form-register p { margin: 0 !important; }
.partner-register__wrap form.woocommerce-form-register .b2bking_custom_registration_container > p { margin: 0 !important; }

/* Pola pełnej szerokości: email, role dropdown, nazwa firmy, adres, kraj, polityka, notice, submit */
.partner-register__wrap form.woocommerce-form-register > p:has(> #reg_email),
.partner-register__wrap form.woocommerce-form-register > p.b2bking_registration_roles_dropdown_section,
.partner-register__wrap form.woocommerce-form-register > .b2bking_custom_registration_container_field_24,
.partner-register__wrap form.woocommerce-form-register > .b2bking_custom_registration_container_field_25,
.partner-register__wrap form.woocommerce-form-register > .b2bking_custom_registration_container_field_26,
.partner-register__wrap form.woocommerce-form-register > .b2bking_custom_registration_container_field_30,
.partner-register__wrap form.woocommerce-form-register > .woocommerce-privacy-policy-text,
.partner-register__wrap form.woocommerce-form-register > p.woocommerce-FormRow--last,
.partner-register__wrap form.woocommerce-form-register > p:has(> button[name="register"]) { grid-column: 1 / -1; }
@supports not selector(:has(*)) {
    .partner-register__wrap form.woocommerce-form-register { grid-template-columns: 1fr; }
}

/* Wysokość pól 48px + padding jak w CF7 */
.partner-register__wrap input[type="text"],
.partner-register__wrap input[type="email"],
.partner-register__wrap input[type="password"],
.partner-register__wrap input[type="tel"],
.partner-register__wrap input[type="number"],
.partner-register__wrap select,
.partner-register__wrap textarea { height: 48px; }
.partner-register__wrap textarea { height: auto; min-height: 96px; resize: vertical; }

/* Focus — 2px pomarańcz border-bottom */
.partner-register__wrap input:focus,
.partner-register__wrap select:focus,
.partner-register__wrap textarea:focus { border-bottom: 2px solid #F28C00 !important; padding-bottom: 11px !important; }

/* Select chevron SVG */
.partner-register__wrap select { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%23525252' stroke-width='1.5' d='M1 1.5l5 5 5-5'/></svg>") !important; background-repeat: no-repeat !important; background-position: right 4px center !important; padding-right: 28px !important; cursor: pointer; -moz-appearance: none; }
.partner-register__wrap select:focus { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%23F28C00' stroke-width='1.5' d='M1 1.5l5 5 5-5'/></svg>") !important; }

/* Country wrapper — Woo nested spans na pełną szerokość */
.partner-register__wrap .woocommerce-input-wrapper { display: block; width: 100%; }

/* Password notice — delikatny callout */
.partner-register__wrap form.woocommerce-form-register > p:not([class]) { grid-column: 1 / -1; font-size: 13px !important; color: #525252; background: #fff; border-left: 2px solid #F28C00; padding: 12px 16px !important; line-height: 1.5; }

/* Privacy policy */
.partner-register__wrap .woocommerce-privacy-policy-text p { font-size: 12px; color: #525252; line-height: 1.6; margin: 0; }
.partner-register__wrap .woocommerce-privacy-policy-text a { color: #F28C00 !important; }

/* Submit — full-width orange block jak w CF7 */
.partner-register__wrap button[name="register"],
.partner-register__wrap button.woocommerce-form-register__submit { display: block; width: 100%; padding: 22px 32px !important; text-align: left; }
.partner-register__wrap button[name="register"]::after { content: ' →'; }

/* VAT validate button (wstrzykiwany przez B2BKing JS) */
.partner-register__wrap #b2bking_checkout_registration_validate_vat_button { margin-top: 12px; background: transparent !important; color: #F28C00 !important; border: 1px solid #F28C00 !important; padding: 10px 18px !important; font-size: 13px !important; cursor: pointer; border-radius: 0; width: auto; }
.partner-register__wrap #b2bking_checkout_registration_validate_vat_button:hover { background: #F28C00 !important; color: #fff !important; }

/* Mobile — jednokolumnowo */
@media (max-width: 768px) {
    .partner-register__wrap { padding: 40px 24px !important; }
    .partner-register__wrap form.woocommerce-form-register { grid-template-columns: 1fr; }
}

.partner-trust { border: 1px solid #e0e0e0; background: #fff; position: sticky; top: 48px; }
.partner-trust__heading { font-size: 22px !important; font-weight: 500 !important; color: #1B2A4A !important; line-height: 1.3 !important; padding: 40px 40px 24px; margin: 0 !important; border-bottom: 1px solid #e0e0e0; }
.partner-trust__item { padding: 24px 40px; border-bottom: 1px solid #e0e0e0; }
.partner-trust__item:last-of-type { border-bottom: none; }
.partner-trust__label { font-size: 11px; text-transform: uppercase; letter-spacing: 1px; color: #8d8d8d; margin-bottom: 6px; font-weight: 500; }
.partner-trust__value { font-size: 20px; color: #1B2A4A; font-weight: 500; text-decoration: none; display: block; transition: color 200ms ease; }
a.partner-trust__value:hover { color: #F28C00; }
.partner-trust__note { padding: 24px 40px 40px; font-size: 13px; line-height: 1.6; color: #525252; border-top: 1px solid #e0e0e0; margin: 0; }

@media (max-width: 1024px) {
    .partner-hero__grid, .partner-form-grid { grid-template-columns: 1fr; gap: 56px; }
    .partner-benefit-grid { grid-template-columns: repeat(2, 1fr); }
    .partner-benefit { border-right: none; border-bottom: 1px solid #e0e0e0; }
    .partner-audience__grid { grid-template-columns: repeat(2, 1fr); }
    .partner-process__grid { grid-template-columns: repeat(2, 1fr); gap: 48px 0; }
    .partner-process__grid::before { display: none; }
    .partner-hero__title { font-size: 48px !important; }
    .partner-trust { position: static; }
}
@media (max-width: 640px) {
    .partner-hero { padding: 80px 0 64px; }
    .partner-hero__title { font-size: 40px !important; }
    .partner-hero__lead { font-size: 18px; }
    .partner-stat-row { padding: 24px 28px; }
    .partner-stat-row__value { font-size: 42px; }
    .partner-benefits, .partner-audience, .partner-form-section { padding: 64px 0; }
    .partner-process { padding: 80px 0; }
    .partner-benefit-grid, .partner-audience__grid, .partner-process__grid { grid-template-columns: 1fr; }
    .partner-form { padding: 40px 28px; }
    .partner-form__row { grid-template-columns: 1fr; gap: 28px; }
    .partner-process__num { font-size: 72px; }
    .partner-trust__heading, .partner-trust__item, .partner-trust__note { padding-left: 28px; padding-right: 28px; }
}

/* Zeruj bottom padding/margin sekcji przed stopką, żeby nie było białego paska */
body.pvg-has-custom-footer #page,
body.pvg-has-custom-footer #content.site-content,
body.pvg-has-custom-footer .site-content > .ast-container,
body.pvg-has-custom-footer .ast-plain-container .site-content { margin-bottom: 0 !important; padding-bottom: 0 !important; border-bottom: 0 !important; }
