/* Hub miast – GdzieOkleić.pl */
.city-hub { width: 100%; margin: 0; color: var(--main-color); padding-bottom: 3.65vw; }
.city-hub *, .city-hub *::before, .city-hub *::after { box-sizing: border-box; }
.city-hub__container { width: min(82.3vw, 1580px); margin: 0 auto; }
.city-hub h1, .city-hub h2, .city-hub h3 { margin-top: 0; color: var(--pink-color); font-family: 'Plus Jakarta Sans ExtraBold'; font-weight: 800; }
.city-hub h1 { margin-bottom: 1.2vw; font-size: 2.5vw; line-height: 1.16; }
.city-hub h2 { margin-bottom: 0.83vw; font-size: 1.67vw; line-height: 1.24; }
.city-hub h3 { margin-bottom: 0.78vw; font-size: 1.04vw; line-height: 1.3; }
.city-hub p { margin: 0 0 1.15vw; font-size: 0.89vw; line-height: 1.5vw; }
.city-hub__eyebrow { display: block; margin-bottom: 0.68vw; color: var(--green-color); font-family: 'Plus Jakarta Sans Bold'; font-size: 0.63vw; letter-spacing: 0.13vw; line-height: 1.2; text-transform: uppercase; }
.city-hub__hero { padding: 3.8vw 0 3.3vw; border-bottom: 0.05vw solid var(--grey3-color); }
.city-hub__hero-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 4.16vw; align-items: center; }
.city-hub__hero-content { max-width: 54vw; }
.city-hub__lead { max-width: 47vw; font-size: 1.04vw; line-height: 1.67vw; }
.city-hub__button { display: inline-flex; width: auto; }
.city-hub__microcopy { display: block; margin-top: 0.73vw; color: var(--grey4-color); font-size: 0.68vw; }
.city-hub__proof { position: relative; padding: 2.08vw; border-radius: 0.36vw; background: var(--pink-color); color: var(--white-color); overflow: hidden; }
.city-hub__proof::after { content: ''; position: absolute; right: -3vw; bottom: -4vw; width: 12vw; height: 12vw; border: 0.1vw solid rgba(255,255,255,.22); border-radius: 50%; }
.city-hub__proof-icon { display: flex; width: 2.34vw; height: 2.34vw; margin-bottom: 1.09vw; align-items: center; justify-content: center; border: 0.1vw solid rgba(255,255,255,.55); border-radius: 50%; font-family: 'Plus Jakarta Sans ExtraBold'; font-size: 1.15vw; }
.city-hub__proof h2 { position: relative; z-index: 1; color: var(--white-color); font-size: 1.41vw; }
.city-hub__proof p { position: relative; z-index: 1; margin: 0; color: var(--white-color); font-size: 0.78vw; line-height: 1.3vw; }
.city-hub__process { padding: 3.13vw 0; }
.city-hub__process-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); border-top: 0.05vw solid var(--grey3-color); border-bottom: 0.05vw solid var(--grey3-color); }
.city-hub__process-grid article { min-height: 10.4vw; padding: 1.77vw 2.08vw; border-left: 0.05vw solid var(--grey3-color); }
.city-hub__process-grid article:first-child { border-left: 0; }
.city-hub__process-grid span { display: flex; width: 2.08vw; height: 2.08vw; margin-bottom: 0.83vw; align-items: center; justify-content: center; border-radius: 50%; background: #f1e6f8; color: var(--pink-color); font-family: 'Plus Jakarta Sans ExtraBold'; font-size: 0.89vw; }
.city-hub__process-grid h2 { margin-bottom: 0.42vw; font-size: 1.04vw; }
.city-hub__process-grid p { margin: 0; font-size: 0.78vw; line-height: 1.3vw; }
.city-hub__cities { padding: 3.13vw 0; background: #faf8fc; }
.city-hub__intro { max-width: 52vw; }
.city-hub__regions { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 1.15vw; margin-top: 1.72vw; }
.city-hub__region { padding: 1.51vw; border: 0.05vw solid #e4d8ec; border-radius: 0.36vw; background: var(--white-color); }
.city-hub__region h3 { padding-bottom: 0.78vw; border-bottom: 0.05vw solid #e4d8ec; }
.city-hub__region ul { display: grid; gap: 0.62vw; margin: 0; padding: 0; list-style: none; }
.city-hub__region li { margin: 0; }
.city-hub__region a { color: var(--main-color); font-family: 'Plus Jakarta Sans SemiBold'; font-size: 0.78vw; line-height: 1.25vw; text-decoration: underline; text-decoration-color: #d6bfdc; text-underline-offset: 0.15vw; }
.city-hub__region a:hover { color: var(--pink-color); text-decoration-color: var(--pink-color); }
.city-hub__content { padding: 3.65vw 0; }
.city-hub__content-inner { max-width: min(69vw, 1320px); }
.city-hub__content h2 { margin-bottom: 1.25vw; }
.city-hub__content h3 { margin-top: 2.08vw; }
.city-hub__content ul, .city-hub__content ol { margin: 0 0 1.2vw; padding-left: 1.4vw; }
.city-hub__content li { margin-bottom: 0.42vw; font-size: 0.89vw; line-height: 1.5vw; }
.city-hub__content table { width: 100%; margin: 1.56vw 0 2.08vw; border: 0.05vw solid #e4d8ec; border-collapse: separate; border-spacing: 0; border-radius: 0.36vw; overflow: hidden; font-size: 0.78vw; line-height: 1.3vw; }
.city-hub__content th { padding: 0.83vw 1.04vw; background: #f1e6f8; color: var(--pink-color); font-family: 'Plus Jakarta Sans ExtraBold'; text-align: left; }
.city-hub__content td { padding: 0.83vw 1.04vw; border-top: 0.05vw solid #e4d8ec; vertical-align: top; }
.city-hub__content tr:nth-child(even) td { background: #faf8fc; }
.city-hub__cta { padding: 0 0 3.65vw; }
.city-hub__cta-inner { display: flex; justify-content: space-between; align-items: center; gap: 2.08vw; padding: 2.08vw 2.6vw; border-radius: 0.36vw; background: var(--pink-color); }
.city-hub__cta h2, .city-hub__cta p { color: var(--white-color); }
.city-hub__cta h2 { margin-bottom: 0.36vw; }
.city-hub__cta p { margin: 0; font-size: 0.84vw; line-height: 1.35vw; }
.city-hub__cta .button { flex: 0 0 auto; border-color: var(--white-color); background: var(--white-color); color: var(--pink-color) !important; }
.city-hub__cta .button:hover { border-color: var(--main-color); color: var(--main-color) !important; }
.city-hub__faq { padding: 0 0 2vw; }
.city-hub__faq-inner { max-width: min(69vw, 1320px); }
.city-hub__accordion { border-top: 0.05vw solid var(--grey3-color); }
.city-hub__accordion details { border-bottom: 0.05vw solid var(--grey3-color); }
.city-hub__accordion summary { position: relative; padding: 1.09vw 2vw 1.09vw 0; cursor: pointer; color: var(--main-color); font-family: 'Plus Jakarta Sans Bold'; font-size: 0.89vw; line-height: 1.35vw; list-style: none; }
.city-hub__accordion summary::-webkit-details-marker { display: none; }
.city-hub__accordion summary::after { content: '+'; position: absolute; top: 0.89vw; right: 0; color: var(--pink-color); font-family: 'Plus Jakarta Sans ExtraBold'; font-size: 1.3vw; }
.city-hub__accordion details[open] summary::after { content: '–'; }
.city-hub__accordion p { margin: 0; padding: 0 0 1.09vw; }

/* Przywrócenie oryginalnego układu headera po załadowaniu reset.css. */
body:has(.city-hub) header,
body.page-template-template-gdzie-okleic-samochod header,
body.page-template-template-gdzie-okleic-samochod-php header {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    background: #ffffff !important;
}

@media (min-width: 992px) {
    body:has(.city-hub) header,
    body.page-template-template-gdzie-okleic-samochod header,
    body.page-template-template-gdzie-okleic-samochod-php header {
        height: 4.38vw;
        padding-left: 12.76vw;
        position: fixed;
        left: 0;
        right: auto;
    }

    body:has(.city-hub) header ul,
    body.page-template-template-gdzie-okleic-samochod header ul,
    body.page-template-template-gdzie-okleic-samochod-php header ul {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        white-space: nowrap;
    }

    body:has(.city-hub) header ul a,
    body.page-template-template-gdzie-okleic-samochod header ul a,
    body.page-template-template-gdzie-okleic-samochod-php header ul a {
        display: inline-block;
        white-space: nowrap;
    }

    body:has(.city-hub) header li,
    body.page-template-template-gdzie-okleic-samochod header li,
    body.page-template-template-gdzie-okleic-samochod-php header li {
        white-space: nowrap;
    }

    body:has(.city-hub) header .area,
    body.page-template-template-gdzie-okleic-samochod header .area,
    body.page-template-template-gdzie-okleic-samochod-php header .area {
        margin-left: auto;
        padding-right: 2.14vw;
    }
}

@media (max-width: 991px) {
    .city-hub { padding-bottom: 30px; }
    .city-hub__container { width: calc(100% - 30px) !important; max-width: none !important; margin: 0 auto !important; padding: 0 !important; }
    .city-hub h1 { margin-bottom: 16px; font-size: 30px; }
    .city-hub h2 { margin-bottom: 10px; font-size: 23px; }
    .city-hub h3 { margin-bottom: 10px; font-size: 17px; }
    .city-hub p { margin-bottom: 16px; font-size: 15px; line-height: 23px; }
    .city-hub__eyebrow { margin-bottom: 10px; font-size: 11px; letter-spacing: 1.5px; }
    .city-hub__hero { padding: 34px 0 30px; }
    .city-hub__hero-grid, .city-hub__process-grid, .city-hub__regions { grid-template-columns: 1fr; }
    .city-hub__hero-grid { gap: 24px; }
    .city-hub__hero-content, .city-hub__lead { width: 100%; max-width: none; }
    .city-hub__lead { margin-bottom: 16px; font-size: 16px; line-height: 25px; }
    .city-hub__microcopy { margin-top: 10px; font-size: 12px; }
    .city-hub__proof { padding: 22px; }
    .city-hub__proof-icon { width: 38px; height: 38px; margin-bottom: 14px; font-size: 18px; }
    .city-hub__proof h2 { font-size: 22px; }
    .city-hub__proof p { font-size: 15px; line-height: 22px; }
    .city-hub__process, .city-hub__cities, .city-hub__content { padding: 32px 0; }
    .city-hub__process-grid article { min-height: 0; padding: 20px 0; border-top: 1px solid var(--grey3-color); border-left: 0; }
    .city-hub__process-grid article:first-child { border-top: 0; }
    .city-hub__process-grid span { width: 38px; height: 38px; margin-bottom: 12px; font-size: 16px; }
    .city-hub__process-grid h2 { font-size: 18px; }
    .city-hub__process-grid p { font-size: 15px; line-height: 23px; }
    .city-hub__regions { gap: 12px; margin-top: 20px; }
    .city-hub__region { padding: 18px; }
    .city-hub__region h3 { padding-bottom: 10px; }
    .city-hub__region ul { gap: 9px; }
    .city-hub__region a { font-size: 14px; line-height: 21px; text-underline-offset: 2px; }
    .city-hub__content-inner, .city-hub__faq-inner { max-width: none; }
    .city-hub__content h2 { margin-bottom: 18px; }
    .city-hub__content h3 { margin-top: 26px; }
    .city-hub__content ul, .city-hub__content ol { margin-bottom: 16px; padding-left: 22px; }
    .city-hub__content li { margin-bottom: 7px; font-size: 15px; line-height: 23px; }
    .city-hub__content table { display: block; margin: 22px 0 28px; overflow-x: auto; border-width: 1px; font-size: 13px; line-height: 19px; }
    .city-hub__content th, .city-hub__content td { min-width: 150px; padding: 11px 12px; }
    .city-hub__cta { padding: 0 0 32px; }
    .city-hub__cta-inner { display: block; padding: 24px; }
    .city-hub__cta p { font-size: 15px; line-height: 22px; }
    .city-hub__cta .button { display: inline-flex; margin-top: 18px; }
    .city-hub__accordion summary { padding: 15px 30px 15px 0; font-size: 15px; line-height: 22px; }
    .city-hub__accordion summary::after { top: 12px; font-size: 24px; }
    .city-hub__accordion p { padding-bottom: 15px; }
}
