/* =========================================================
   MATPOL – KOMPONENTY DODATKOWE
   Ten plik rozszerza style.css. Tu trafiają style specyficzne
   dla nagłówka, stopki i sekcji budowanych w Elementorze.
   ========================================================= */

/* ---------- PASEK TOP (kontakt) ---------- */
.matpol-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding: 8px 0;
}
.matpol-topbar-features {
    display: flex;
    gap: 22px;
    flex-wrap: wrap;
}
.matpol-topbar-phone {
    font-family: var(--matpol-font-heading);
    font-weight: 700;
    color: #fff;
    font-size: 16px;
}

/* ---------- HEADER / NAWIGACJA ---------- */
.matpol-header {
    background: #fff;
    box-shadow: 0 2px 12px rgba(31,42,51,.06);
}
.matpol-header .matpol-logo img { max-height: 56px; width: auto; }

/* Menu Elementor Nav Menu – dostrojenie do projektu */
.matpol-nav .elementor-item {
    font-family: var(--matpol-font-heading);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: .4px;
    color: var(--matpol-dark);
}
.matpol-nav .elementor-item:hover,
.matpol-nav .elementor-item.elementor-item-active {
    color: var(--matpol-red);
}
.matpol-nav .elementor-item-active:after,
.matpol-nav .elementor-item:hover:after {
    background-color: var(--matpol-red);
}

/* ---------- PASEK PARTNERÓW (loga producentów) ---------- */
.matpol-partners {
    background: var(--matpol-dark-2);
    padding: 22px 0;
}
.matpol-partners img {
    filter: brightness(0) invert(1);
    opacity: .85;
    transition: var(--matpol-transition);
    max-height: 34px;
    width: auto;
}
.matpol-partners img:hover { opacity: 1; }

/* ---------- SEKCJA CECH (numerowane 01–04) ---------- */
.matpol-usp {
    display: flex;
    gap: 16px;
    color: #fff;
}
.matpol-usp__num {
    font-family: var(--matpol-font-heading);
    font-weight: 800;
    font-size: 20px;
    color: rgba(255,255,255,.35);
    line-height: 1;
}
.matpol-usp__title {
    font-family: var(--matpol-font-heading);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: .5px;
    margin-bottom: 4px;
}
.matpol-usp__desc { font-size: 13px; color: rgba(255,255,255,.7); }

/* ---------- OPINIE KLIENTÓW ---------- */
.matpol-review {
    background: #fff;
    border-radius: var(--matpol-radius);
    box-shadow: var(--matpol-shadow);
    padding: 26px;
}
.matpol-review__stars { color: var(--matpol-red); letter-spacing: 2px; }
.matpol-review__text  { color: var(--matpol-gray-text); font-size: 14px; margin: 12px 0; }
.matpol-review__name  {
    font-family: var(--matpol-font-heading);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 13px;
    color: var(--matpol-dark);
}
.matpol-review__role  { font-size: 12px; color: var(--matpol-gray-muted); }

/* ---------- KAFELKI KATEGORII ---------- */
.matpol-category {
    position: relative;
    border-radius: var(--matpol-radius);
    overflow: hidden;
}
.matpol-category img { display: block; width: 100%; height: auto; }
.matpol-category__icon {
    position: absolute;
    top: 14px; left: 50%;
    transform: translateX(-50%);
    width: 46px; height: 46px;
    background: var(--matpol-red);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: #fff;
}
.matpol-category__label {
    text-align: center;
    font-family: var(--matpol-font-heading);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 14px;
    color: var(--matpol-dark);
    padding: 14px 0;
}

/* ---------- CTA CZERWONY PASEK ---------- */
.matpol-cta-strip {
    background: var(--matpol-red);
    color: #fff;
    padding: 30px 0;
}
.matpol-cta-strip h3 { color: #fff; margin-bottom: 4px; }
.matpol-cta-strip__phone {
    font-family: var(--matpol-font-heading);
    font-weight: 800;
    font-size: 22px;
    color: #fff;
}

/* ---------- FOOTER – kolumny ---------- */
.matpol-footer-inner {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
    gap: 40px;
    padding: 50px 0 30px;
}
.matpol-footer__logo img { max-height: 60px; margin-bottom: 16px; }
.matpol-footer__socials a {
    display: inline-flex;
    width: 34px; height: 34px;
    align-items: center; justify-content: center;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 50%;
    margin-right: 8px;
    color: #fff;
}
.matpol-footer__socials a:hover {
    background: var(--matpol-red);
    border-color: var(--matpol-red);
}
.matpol-footer__hours {
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
    font-size: 13px;
}
.matpol-footer-bottom {
    border-top: 1px solid rgba(255,255,255,.1);
    padding: 18px 0;
    font-size: 13px;
    color: rgba(255,255,255,.6);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}

@media (max-width: 1024px) {
    .matpol-footer-inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .matpol-footer-inner { grid-template-columns: 1fr; }
    .matpol-topbar-features { display: none; }
}

/* =========================================================
   WYMUSZENIE PEŁNEJ SZEROKOŚCI HEADERA I FOOTERA
   (niezależnie od ustawień Boxed w Theme Builderze)
   Tło rozciąga się na całą szerokość ekranu, treść pozostaje
   wyśrodkowana do 1200px dzięki wewnętrznym kontenerom.
   ========================================================= */

/* Kontener dokumentu Footera z Theme Buildera – pełna szerokość */
[data-elementor-type="footer"] > .elementor-section-wrap > .elementor-section,
[data-elementor-type="footer"] .e-con,
[data-elementor-type="footer"] > .e-con {
    max-width: 100% !important;
    width: 100% !important;
}

/* Zewnętrzne kontenery-strefy footera: pełna szerokość, bez bocznych marginesów */
[data-elementor-type="footer"] > .e-con > .e-con-inner {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* To samo dla Header, gdyby był Boxed i pojawiały się marginesy na szerokich ekranach */
[data-elementor-type="header"] > .elementor-section-wrap > .elementor-section,
[data-elementor-type="header"] > .e-con {
    max-width: 100% !important;
    width: 100% !important;
}

/* Bezpiecznik: dowolna sekcja/kontener oznaczony klasą pomocniczą */
.matpol-fullwidth,
.matpol-fullwidth.elementor-section,
.matpol-fullwidth.e-con {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Gdy motyw Hello nakłada max-width na główny wrapper stopki */
.site-footer,
.elementor-location-footer {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
}
