/* Poradnik Katalizatorów: shared visual system. Loaded after flatsome-main. */

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../fonts/jakarta-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../fonts/jakarta-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Foundation and typography */

.pk-site {
    --pk-green: #2EC26A;
    --pk-ink: #292B2C;
    --pk-line: #E0E8E2;
    --pk-muted: #F5F8F5;
    --pk-tint: #EAF6EE;
    margin: 0;
    background: #fff;
    color: var(--pk-ink);
    font-family: var(--pk-font);
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    --pk-action: #147D42;
    --pk-action-hover: #106434;
    --pk-font: 'Plus Jakarta Sans',system-ui,sans-serif;
    --pk-radius: 14px;
    --pk-card-radius: 24px;
}

.pk-site * {
    box-sizing: border-box;
}

.pk-site #pk-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.pk-site main {
    flex: 1;
    width: 100%;
}

.pk-site a {
    color: inherit;
    text-decoration-color: var(--pk-green);
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

.pk-site a:hover {
    text-decoration-color: var(--pk-ink);
}

.pk-site :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
    outline: 3px solid var(--pk-action);
    outline-offset: 4px;
}

.pk-site ::selection {
    background: var(--pk-tint);
}

.pk-site [hidden] {
    display: none;
}

.pk-site h1,.pk-site h2,.pk-site h3,.pk-site h4 {
    font-family: inherit;
    color: inherit;
    text-transform: none;
    font-style: normal;
    margin: 0 0 16px;
    font-weight: 700;
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
}

.pk-site h1 {
    font-size: clamp(34px,4.2vw,54px);
    line-height: 1.1;
    letter-spacing: -.03em;
}

.pk-site h2 {
    font-size: clamp(28px,3vw,40px);
    line-height: 1.15;
}

.pk-site h3 {
    font-size: 22px;
    line-height: 1.2;
}

.pk-site p {
    margin: 0 0 20px;
}

.pk-site img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

.pk-site figure {
    margin: 0;
}

.pk-site ul,.pk-site ol {
    padding-left: 24px;
    margin: 0 0 20px;
}

.pk-site li {
    margin: 0;
}

.pk-site button,.pk-site input,.pk-site select,.pk-site textarea {
    font: inherit;
    letter-spacing: normal;
    text-transform: none;
    margin: 0;
    box-shadow: none;
}

.pk-site button {
    cursor: pointer;
}

.pk-site input:where(:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button])),.pk-site select,.pk-site textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid #C8D5CC;
    border-radius: var(--pk-radius);
    background: #fff;
    color: var(--pk-ink);
    padding: 14px 16px;
    min-height: 52px;
    line-height: 1.45;
    transition: border-color .2s,box-shadow .2s;
}

.pk-site select:not([multiple]):not([size]),.pk-site select[size="1"]:not([multiple]) {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23147D42' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 22px 22px;
    padding-right: 52px;
    cursor: pointer;
}

.pk-site select:not(:disabled):hover {
    border-color: #89AA93;
}

@media(forced-colors:active) {
    .pk-site select:not([multiple]):not([size]),.pk-site select[size="1"]:not([multiple]) {
        appearance: auto;
        -webkit-appearance: auto;
        background-image: none;
        padding-right: 16px;
    }
}

.pk-site input[type=checkbox],.pk-site input[type=radio] {
    accent-color: var(--pk-ink);
    width: 18px;
    height: 18px;
}

.pk-site label {
    font-size: 14px;
    font-weight: 600;
    color: inherit;
    display: block;
    margin-bottom: 10px;
    line-height: 1.5;
}

.pk-site fieldset {
    margin: 0;
    padding: 0;
    border: 0;
    min-width: 0;
}

.pk-site hr {
    margin: 32px 0;
    border: 0;
    border-top: 1px solid var(--pk-line);
}

/* Layout and shared controls */

.pk-wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding-left: clamp(16px,4vw,40px);
    padding-right: clamp(16px,4vw,40px);
}

.pk-site figure.pk-wrap {
    margin-inline: auto;
}

.pk-section {
    padding-top: clamp(48px,6vw,88px);
    padding-bottom: clamp(48px,6vw,88px);
}

.pk-page-content {
    padding-bottom: 80px;
}

.pk-lead {
    font-size: clamp(16px,1.5vw,18px);
    line-height: 1.65;
    color: #4F5753;
    max-width: 60ch;
}

.pk-eyebrow {
    font: 600 13px/1.4 var(--pk-font);
    letter-spacing: 0;
    text-transform: none;
    color: var(--pk-action);
    margin-bottom: 14px;
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--pk-tint);
    font-weight: 600;
}

.pk-small {
    font-size: 14px;
}

.pk-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pk-status-dot {
    width: 6px;
    height: 6px;
    display: inline-block;
    background: var(--pk-green);
    margin-right: 8px;
    border-radius: 50%;
}

.pk-muted {
    background: var(--pk-muted);
}

.pk-green {
    background: var(--pk-green);
}

.pk-dark {
    background: var(--pk-ink);
    color: #fff;
}

.pk-dark .pk-lead {
    color: #D8DBDD;
}

.pk-dark .pk-eyebrow {
    color: #B8E5C9;
    background: #354F40;
}

.pk-split {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 40px 64px;
    align-items: center;
}

.pk-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 20px;
    margin-bottom: 28px;
}

.pk-section-heading h2 {
    margin-bottom: 0;
}

.pk-section-heading>a {
    flex-shrink: 0;
}

.pk-crumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 20px 0;
    font-size: 14px;
    color: #4A4F55;
}

.pk-crumbs span:last-child {
    overflow-wrap: anywhere;
}

.pk-title-block {
    padding: 12px 0 28px;
}

.pk-site .pk-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 24px;
    min-height: 52px;
    background: var(--pk-action);
    color: #fff;
    border: 1px solid transparent;
    border-radius: 999px;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.35;
    text-decoration: none;
    white-space: normal;
    text-align: center;
    transition: background .2s,box-shadow .2s,transform .2s;
}

.pk-site .pk-btn:hover {
    background: var(--pk-action-hover);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px #147D4220;
}

.pk-btn.pk-btn-dark {
    background: var(--pk-ink);
    color: #fff;
}

.pk-btn.pk-btn-dark:hover {
    background: #111E17;
    color: #fff;
}

.pk-btn.pk-btn-outline {
    border: 1px solid #C5D8CB;
    background: #fff;
    color: var(--pk-action);
    box-shadow: none;
}

.pk-btn.pk-btn-outline:hover {
    background: var(--pk-tint);
    color: var(--pk-action);
    border-color: var(--pk-action);
    box-shadow: none;
}

.pk-text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
}

.pk-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.pk-skip {
    position: fixed;
    z-index: 1000;
    top: 8px;
    left: 8px;
    transform: translateY(-200%);
    background: #fff;
    padding: 12px 20px;
}

.pk-skip:focus {
    transform: translateY(0);
}

/* Header, navigation and footer */

.pk-header {
    background: #fff;
    color: var(--pk-ink);
    position: relative;
    z-index: 30;
    border-bottom: 1px solid var(--pk-line);
}

.pk-top {
    border-bottom: 0;
    font-size: 13px;
    color: #5E6662;
    background: #F4F7F5;
}

.pk-top>.pk-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 36px;
}

.pk-top strong {
    color: var(--pk-ink);
}

.pk-top .pk-wrap>div {
    display: flex;
    align-items: center;
    gap: 20px;
}

.pk-top a {
    text-decoration: none;
}

.pk-header-row {
    height: 80px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.pk-brand {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
    text-decoration: none;
}

.pk-logo {
    display: block;
    width: 193px;
    height: 46px;
    overflow: visible;
    flex-shrink: 0;
}

.pk-site .pk-logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    margin: 0;
}

.pk-wordmark {
    border-left: 1px solid #E0E6E2;
    padding-left: 16px;
    font-size: 13px;
    line-height: 1.15;
    font-weight: 600;
}

.pk-desktop-nav {
    margin-left: auto;
    height: 100%;
}

.pk-site .pk-menu {
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    gap: 4px;
    height: 100%;
}

.pk-menu li {
    display: flex;
    align-items: center;
}

.pk-menu a {
    display: flex;
    align-items: center;
    height: 100%;
    font-size: 14px;
    text-decoration: none;
    font-weight: 500;
}

.pk-header .pk-menu a:hover {
    color: var(--pk-action);
    background: #F1F5F3;
}

.pk-header-actions {
    display: flex;
    gap: 10px;
    align-items: center;
}

.pk-site .pk-icon-btn {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    background: transparent;
    color: inherit;
    border: 1px solid #DDE4E0;
    border-radius: 50%;
    line-height: 1;
    text-decoration: none;
}

.pk-header .pk-btn {
    min-height: 44px;
    padding: 10px 18px;
    font-size: 15px;
}

.pk-menu-toggle,.pk-site .pk-menu-toggle {
    display: none;
    background: var(--pk-action);
    color: #fff;
    border: 0;
}

.pk-header-search {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: #fff;
    color: var(--pk-ink);
    box-shadow: 0 18px 40px #17191c24;
    padding: 20px 0 24px;
}

.pk-mobile-fallback {
    display: none;
}

.pk-mobile-menu {
    position: fixed;
    inset: 0;
    overflow: auto;
    background: #fff;
    color: var(--pk-ink);
    z-index: 999;
    overscroll-behavior: contain;
}

.pk-mobile-head {
    height: 76px;
    background: #fff;
    color: var(--pk-ink);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 16px;
    border-bottom: 1px solid var(--pk-line);
}

.pk-mobile-menu nav {
    padding: 8px 16px;
}

.pk-mobile-menu .pk-menu {
    display: block;
    height: auto;
}

.pk-mobile-menu .pk-menu li {
    border-bottom: 1px solid var(--pk-line);
}

.pk-mobile-menu .pk-menu a {
    padding: 16px 0;
    font-size: 24px;
    font-weight: 700;
    width: 100%;
}

.pk-mobile-extra {
    padding: 24px 16px;
    display: grid;
    gap: 24px;
}

.pk-footer {
    background: #202B24;
    color: #F7FAF7;
}

.pk-footer-cta {
    background: #263B2D;
    border-bottom: 1px solid #ffffff12;
}

.pk-footer-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-top: 32px;
    padding-bottom: 32px;
}

.pk-footer-cta-inner>div {
    min-width: 0;
}

.pk-footer .pk-footer-cta h2 {
    font-size: clamp(23px,2.4vw,30px);
    line-height: 1.2;
    margin: 0;
}

.pk-footer .pk-footer-cta p {
    max-width: 64ch;
    margin: 10px 0 0;
    font-size: 15px;
    line-height: 1.65;
    color: #D0DED4;
}

.pk-footer-cta .pk-btn {
    flex-shrink: 0;
}

.pk-footer-body {
    padding-top: 48px;
    padding-bottom: 24px;
}

.pk-footer-grid {
    display: grid;
    grid-template-columns: 1.15fr .9fr 1.1fr 1.2fr;
    grid-template-areas: 'brand service knowledge contact';
    gap: 40px;
}

.pk-footer-brand {
    grid-area: brand;
}

.pk-footer-service {
    grid-area: service;
}

.pk-footer-knowledge {
    grid-area: knowledge;
}

.pk-footer-contact {
    grid-area: contact;
}

.pk-footer p {
    color: #BDCFC2;
    max-width: 32ch;
    margin: 20px 0;
    font-size: 15px;
    line-height: 1.7;
}

.pk-footer h2 {
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: -.01em;
    margin: 0 0 18px;
    color: #fff;
}

.pk-footer a:not(.pk-btn) {
    color: #E1ECE4;
    text-decoration: none;
}

.pk-footer a:not(.pk-brand):not(.pk-btn):hover {
    color: #fff;
    text-decoration: underline;
    text-decoration-color: #91D3A7;
}

.pk-site .pk-footer :is(a,button):focus-visible {
    outline-color: #A9E4BD;
}

.pk-footer .pk-brand {
    color: #fff;
}

.pk-footer-publisher {
    display: grid;
    gap: 6px;
    padding-top: 2px;
}

.pk-footer-publisher>span {
    color: #AFC3B5;
    font-size: 12px;
}

.pk-footer-publisher a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    font-size: 16px;
    font-weight: 700;
    min-height: 32px;
}

.pk-footer-publisher .pk-icon {
    width: 16px;
    height: 16px;
}

.pk-site .pk-footer-links {
    display: grid;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pk-footer-links a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    max-width: 100%;
    padding: 6px 0;
    font-size: 14px;
    line-height: 1.5;
    gap: 8px;
}

.pk-footer .pk-footer-links .pk-footer-all {
    color: #A9E4BD;
    font-weight: 600;
    margin-top: 8px;
}

.pk-footer-all .pk-icon,.pk-footer-directions .pk-icon,.pk-footer-bottom .pk-icon {
    width: 16px;
    height: 16px;
}

.pk-footer-contact address {
    display: grid;
    gap: 8px;
    font-style: normal;
    margin: 0;
}

.pk-footer-contact address a {
    display: block;
    padding: 4px 0;
    font-size: 14px;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

.pk-footer-contact a.pk-footer-phone {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    color: #fff;
    letter-spacing: -.02em;
}

.pk-footer-contact .pk-footer-address {
    max-width: 26ch;
    margin-top: 8px;
}

.pk-footer a.pk-footer-directions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    margin-top: 12px;
    font-size: 14px;
    font-weight: 600;
    color: #A9E4BD;
}

.pk-footer-bottom {
    border-top: 1px solid #ffffff1c;
    padding-top: 20px;
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px 24px;
    font-size: 12px;
    color: #AFC3B5;
}

.pk-footer-bottom a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 32px;
}

/* Homepage and map */

.pk-home-hero {
    display: grid;
    grid-template-columns: 1.12fr 1fr;
    gap: 48px;
    padding-top: 56px;
    padding-bottom: 64px;
    align-items: center;
}

.pk-home-hero>div {
    padding: 0;
    min-width: 0;
}

.pk-home-hero h1 {
    font-size: clamp(34px,4.2vw,54px);
    line-height: 1.08;
    letter-spacing: -.035em;
    margin-bottom: 20px;
    font-weight: 700;
    text-wrap: balance;
}

.pk-home-hero .pk-lead {
    max-width: 48ch;
    margin-bottom: 28px;
}

.pk-search {
    border: 0;
    background: transparent;
    padding: 0;
    max-width: 100%;
    margin: 0;
}

.pk-search label {
    font-weight: 600;
    margin-bottom: 12px;
    font-size: 14px;
    color: #45564B;
}

.pk-form-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.pk-form-row>input,.pk-form-row>select {
    flex: 999 1 220px;
}

.pk-form-row>button {
    flex: 1 0 auto;
}

.pk-search .pk-btn {
    min-height: 54px;
    padding: 14px 22px;
}

.pk-hero-help {
    margin-top: 16px;
    font-size: 15px;
}

.pk-hero-photo {
    position: relative;
    min-height: 460px;
    overflow: hidden;
    background: #3A3D3F;
    width: 100%;
    border-radius: 28px;
    box-shadow: 0 30px 60px -34px #14201A55;
}

.pk-hero-photo>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 40%;
}

.pk-hero-photo figcaption {
    position: absolute;
    left: 16px;
    bottom: 16px;
    max-width: calc(100% - 32px);
    background: #fff;
    padding: 14px 18px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 16px;
    box-shadow: 0 12px 32px #14201A20;
}

.pk-hero-photo figcaption span {
    display: block;
    font: 400 11px var(--pk-font);
    color: #4A4F55;
    margin-top: 3px;
    font-size: 12px;
}

.pk-shortcuts {
    border-top: 0;
    border-bottom: 0;
    padding-top: 56px;
}

.pk-shortcuts>.pk-wrap {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 16px;
}

.pk-shortcuts a {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 22px;
    background: #fff;
    border: 1px solid var(--pk-line);
    border-radius: 20px;
    text-decoration: none;
    box-shadow: 0 2px 8px #244D3005;
    transition: box-shadow .2s,border-color .2s,transform .2s;
}

.pk-shortcuts strong {
    font-size: 17px;
    line-height: 1.3;
    letter-spacing: -.02em;
}

.pk-shortcuts span {
    min-width: 0;
}

.pk-shortcuts a:hover strong {
    text-decoration: underline;
}

.pk-map-layout {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    grid-template-areas: 'map head' 'map list';
    gap: 24px 64px;
    align-items: start;
}

.pk-map-head {
    grid-area: head;
    min-width: 0;
}

.pk-map-figure {
    grid-area: map;
    min-width: 0;
    align-self: center;
    background: #F4F7F5;
    padding: 24px;
    border-radius: 28px;
}

.pk-map {
    display: block;
    width: 100%;
    max-width: 600px;
    margin: auto;
    height: auto;
    overflow: visible;
}

.pk-map a path {
    fill: #E8EFEB;
    stroke: #74897C;
    stroke-width: 1.1;
    transition: fill .15s;
}

.pk-map a:hover path,.pk-map a[aria-current] path {
    fill: var(--pk-green);
    stroke: var(--pk-ink);
}

.pk-map a:focus-visible {
    outline: none;
}

.pk-map a:focus-visible path {
    fill: var(--pk-green);
    stroke: var(--pk-ink);
    stroke-width: 3;
}

.pk-map-caption {
    display: grid;
    gap: 3px;
    padding: 14px 16px;
    margin: 20px auto 0;
    border: 0;
    background: #fff;
    max-width: 600px;
    border-radius: 14px;
}

.pk-map-caption span {
    font-size: 14px;
    color: #4A4F55;
}

.pk-region-list {
    grid-area: list;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 0 24px;
}

.pk-region-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 14px;
    text-decoration: none;
    border-bottom: 1px solid var(--pk-line);
    min-height: 42px;
}

.pk-region-list a:hover {
    text-decoration: underline;
}

.pk-region-list .pk-icon {
    width: 16px;
    height: 16px;
}

.pk-promo-photo {
    background: #fff;
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 24px;
}

.pk-promo-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 55% center;
}

.pk-callout {
    padding: 32px;
    border-top: 0;
    background: var(--pk-muted);
    border-radius: 24px;
}

.pk-faq details {
    border-top: 1px solid var(--pk-line);
}

.pk-faq details:last-child {
    border-bottom: 1px solid var(--pk-line);
}

.pk-faq summary {
    font-size: 19px;
    font-weight: 600;
    cursor: pointer;
    padding: 20px 0;
}

.pk-faq details p {
    font-size: 16px;
    color: #3A3F45;
    padding-bottom: 8px;
}

.pk-empty {
    padding: 32px 0;
    border-top: 1px solid var(--pk-line);
}

.pk-empty h2 {
    font-size: 26px;
}

.pk-notice {
    padding: 24px;
    background: var(--pk-tint);
    border-left: 0;
    border-radius: 16px;
}

.pk-notice p:last-child {
    margin: 8px 0 0;
}

/* Catalogue and product pages */

.pk-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 20px 0;
    border-bottom: 0;
}

.pk-chips a {
    border: 1px solid #DFE8E1;
    padding: 9px 16px;
    text-decoration: none;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    background: #F5F8F5;
    color: #42564A;
    transition: background .2s,border-color .2s;
}

.pk-catalog-layout {
    display: grid;
    grid-template-columns: 240px minmax(0,1fr);
    gap: 40px;
    margin-top: 28px;
}

.pk-filters {
    align-self: start;
    padding: 20px;
    background: #F5F8F5;
    border-radius: 20px;
}

.pk-filter-field {
    padding: 0 0 18px;
    border-bottom: 0;
}

.pk-filters .pk-btn {
    margin-top: 20px;
    width: 100%;
}

.pk-filter-reset {
    display: block;
    margin-top: 16px;
    text-align: center;
}

.pk-results-heading {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--pk-line);
    padding-bottom: 14px;
    font-size: 17px;
}

.pk-card-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 24px;
}

.pk-catalog-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 24px;
}

.pk-catalyst-card {
    min-width: 0;
    border-bottom: 0;
    padding: 10px;
    display: flex;
    flex-direction: column;
    border: 1px solid #E0E8E2;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 2px 8px #244D3006;
    transition: border-color .2s,box-shadow .2s;
}

.pk-card-photo {
    display: block;
    aspect-ratio: 4/3;
    background: var(--pk-muted);
    overflow: hidden;
    border-radius: 14px;
}

.pk-card-photo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.pk-no-photo {
    display: grid;
    place-items: center;
    aspect-ratio: 4/3;
    background: var(--pk-muted);
    color: #5B6168;
    font-size: 14px;
    border-radius: 14px;
}

.pk-card-content {
    padding-top: 16px;
    display: flex;
    flex-direction: column;
    flex: 1;
    align-items: flex-start;
    padding: 18px 8px 12px;
}

.pk-card-content .pk-eyebrow {
    font-size: 11px;
    margin-bottom: 6px;
}

.pk-catalyst-card h3 {
    font: 600 17px/1.4 var(--pk-font);
    overflow-wrap: anywhere;
    margin-bottom: 8px;
    font-variant-numeric: tabular-nums;
}

.pk-catalyst-card h3 a {
    text-decoration: none;
}

.pk-catalyst-card h3 a:hover {
    text-decoration: underline;
}

.pk-card-content p {
    color: #5B6168;
    font-size: 14px;
    margin-bottom: 12px;
}

.pk-card-content .pk-text-link {
    font-size: 14px;
    margin-top: auto;
}

.pk-pagination {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
    padding-top: 24px;
    margin-top: 20px;
    border-top: 1px solid var(--pk-line);
}

.pk-pagination a {
    display: grid;
    place-items: center;
    min-width: 44px;
    height: 44px;
    padding: 0 10px;
    border: 1px solid var(--pk-line);
    border-radius: 12px;
    text-decoration: none;
    font: 600 15px var(--pk-font);
    background: #fff;
}

.pk-pagination a[aria-current] {
    background: var(--pk-action);
    color: #fff;
    border-color: var(--pk-action);
}

.pk-product-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px 56px;
    align-items: start;
    padding-top: 12px;
}

.pk-product-photos {
    min-width: 0;
}

.pk-product-photos>.pk-cat-img {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
    object-fit: contain;
    background: var(--pk-muted);
    border-radius: 24px;
}

.pk-product-thumbnails {
    display: flex;
    gap: 12px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.pk-product-thumbnails img {
    width: 100px;
    height: 80px;
    object-fit: contain;
    border: 1px solid var(--pk-line);
    border-radius: 12px;
}

.pk-site .pk-product-title {
    font: 700 clamp(28px,3.6vw,44px)/1.15 var(--pk-font);
    overflow-wrap: anywhere;
    letter-spacing: -.01em;
    font-variant-numeric: tabular-nums;
}

.pk-price-box {
    padding: 28px;
    background: var(--pk-tint);
    border-top: 0;
    border-radius: 24px;
}

.pk-price-box h2 {
    font-size: 30px;
}

.pk-data {
    display: grid;
    grid-template-columns: minmax(100px,auto) minmax(0,1fr);
    gap: 0 16px;
    margin: 24px 0 0;
    border-top: 1px solid var(--pk-line);
}

.pk-data dt,.pk-data dd {
    padding: 13px 0;
    margin: 0;
    border-bottom: 1px solid var(--pk-line);
    overflow-wrap: anywhere;
    font-size: 15px;
}

.pk-data dt {
    color: #5B6168;
}

.pk-product-more {
    margin-top: 56px;
    padding-top: 32px;
    border-top: 1px solid var(--pk-line);
}

.pk-price-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
}

.pk-price-table th,.pk-price-table td {
    padding: 18px 12px;
    border-bottom: 1px solid var(--pk-line);
    text-align: left;
    vertical-align: middle;
    text-transform: none;
    color: inherit;
    letter-spacing: normal;
}

.pk-price-table th {
    font-weight: 700;
    border-bottom: 1px solid #D5E3DA;
    background: #F1F6F3;
}

.pk-price-table .pk-number {
    font-family: var(--pk-font);
    overflow-wrap: anywhere;
}

.pk-table-scroll {
    overflow: auto;
    border-radius: 20px;
    border: 1px solid var(--pk-line);
}

.pk-steps {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 24px;
    list-style: none;
    padding: 0;
    margin: 24px 0;
}

.pk-steps li {
    border-top: 0;
    padding-top: 20px;
    padding: 24px;
    background: #F5F8F5;
    border-radius: 20px;
}

.pk-steps span {
    display: grid;
    font: 600 17px var(--pk-font);
    color: #116A38;
    margin-bottom: 20px;
    place-items: center;
    width: 42px;
    height: 42px;
    background: #E1F1E7;
    border-radius: 50%;
}

.pk-steps h3 {
    font-size: 20px;
}

/* Editorial cards and articles */

.pk-post-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 28px;
    align-items: stretch;
}

.pk-post-card {
    padding: 0;
    border-top: 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    border: 1px solid #E1E9E3;
    border-radius: var(--pk-card-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 8px 30px #203C2608;
    height: 100%;
    transition: box-shadow .2s,transform .2s;
}

.pk-post-photo {
    display: block;
    aspect-ratio: 16/10;
    background: #EDF2ED;
    overflow: hidden;
    margin-bottom: 0;
    flex-shrink: 0;
}

.pk-post-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pk-post-photo>span {
    display: grid;
    place-items: center;
    height: 100%;
    font-size: 18px;
    color: #4F6055;
}

.pk-post-card h2 {
    font-size: 22px;
    line-height: 1.3;
    margin-bottom: 12px;
    font-weight: 700;
    letter-spacing: -.02em;
}

.pk-post-card h2 a {
    text-decoration: none;
}

.pk-post-card h2 a:hover {
    text-decoration: underline;
}

.pk-post-card p {
    font-size: 15px;
    line-height: 1.65;
    color: #5B6961;
    margin-bottom: 0;
}

.pk-post-card .pk-text-link {
    font-size: 14px;
    gap: 12px;
}

.pk-featured-post {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    align-items: stretch;
    padding: 0;
    border: 1px solid var(--pk-line);
    margin: 28px 0;
    background: #F6F9F5;
}

.pk-featured-post h2 {
    font-size: clamp(26px,3vw,38px);
    line-height: 1.18;
}

.pk-featured-post p {
    font-size: 17px;
}

.pk-featured-post .pk-post-photo {
    margin: 0;
    height: 100%;
    min-height: 320px;
    aspect-ratio: auto;
}

.pk-article-title {
    max-width: 880px;
    padding: 16px 0 32px;
}

.pk-article-title h1 {
    font-size: clamp(32px,4.4vw,54px);
    line-height: 1.13;
    text-wrap: balance;
}

.pk-article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    font-size: 14px;
    color: #4A4F55;
    border-top: 1px solid var(--pk-line);
    padding-top: 16px;
}

.pk-article-hero {
    aspect-ratio: 21/9;
    overflow: hidden;
    background: var(--pk-muted);
    border-radius: 24px;
}

.pk-article-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pk-article-layout {
    display: grid;
    grid-template-columns: 240px minmax(0,720px);
    gap: 40px 64px;
    padding-top: 48px;
}

.pk-toc {
    position: sticky;
    top: 24px;
    align-self: start;
    display: none;
}

.pk-toc details {
    border-top: 0;
    background: #F5F8F5;
    padding: 6px 20px 14px;
    border-radius: 20px;
}

.pk-toc summary {
    font: 600 14px/1.5 var(--pk-font);
    text-transform: none;
    letter-spacing: 0;
    padding: 14px 0;
    cursor: pointer;
}

.pk-toc ol {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pk-toc a {
    display: block;
    font-size: 14px;
    line-height: 1.5;
    text-decoration: none;
    padding: 12px 0;
    border-bottom: 1px solid var(--pk-line);
}

.pk-toc a:hover {
    background: var(--pk-muted);
}

.pk-prose {
    font-size: 18px;
    line-height: 1.8;
    min-width: 0;
    overflow-wrap: anywhere;
}

.pk-prose:empty {
    display: none;
}

.pk-prose h2 {
    font-size: clamp(24px,2.6vw,32px);
    line-height: 1.15;
    margin: 36px 0 16px;
    scroll-margin-top: 24px;
}

.pk-prose h3 {
    font-size: 24px;
    margin-top: 28px;
    scroll-margin-top: 24px;
}

.pk-prose p {
    margin-bottom: 24px;
}

.pk-prose img {
    height: auto;
    max-width: 100%;
}

.pk-prose iframe,.pk-prose video {
    max-width: 100%;
}

.pk-prose table {
    display: block;
    max-width: 100%;
    overflow: auto;
}

.pk-prose figcaption {
    font-size: 13px;
    color: #4A4F55;
}

.pk-prose .alignleft,.pk-prose .alignright {
    max-width: 48%;
}

.pk-point-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 24px;
}

.pk-point-card {
    border-top: 0;
    padding: 24px;
    min-width: 0;
    overflow-wrap: anywhere;
    border: 1px solid #E0E8E2;
    border-radius: 22px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: #fff;
}

.pk-point-card h3 {
    font-size: 21px;
    line-height: 1.35;
}

.pk-point-card h3 a {
    text-decoration: none;
}

.pk-point-card p {
    font-size: 15px;
    color: #4A4F55;
}

.pk-point-card .pk-text-link {
    display: flex;
    margin-top: auto;
    font-size: 14px;
    padding-top: 22px;
}

.pk-location-panel {
    padding: 32px;
    background: var(--pk-muted);
    border-top: 0;
    border-radius: 24px;
}

.pk-location-panel h2 {
    font-size: 26px;
}

.pk-contact-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 24px;
    margin: 24px 0 48px;
}

.pk-contact-card {
    padding: 24px;
    border-top: 0;
    overflow-wrap: anywhere;
    background: #F5F8F5;
    border-radius: 20px;
}

.pk-contact-card h2 {
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 0;
}

.pk-info-layout {
    display: grid;
    grid-template-columns: minmax(0,2fr) minmax(0,1fr);
    gap: 40px 64px;
    align-items: start;
}

.pk-info-layout aside {
    padding: 24px;
    background: var(--pk-muted);
    border-radius: 20px;
}

.pk-info-layout aside h2 {
    font-size: 22px;
}

.pk-error {
    padding-top: 64px;
    padding-bottom: 80px;
    max-width: 900px;
}

.pk-error-number {
    font: 600 clamp(80px,15vw,180px)/1 var(--pk-font);
    color: #249953;
    margin-bottom: 24px;
}

.pk-search-result {
    padding: 24px 0;
    border-bottom: 1px solid var(--pk-line);
}

.pk-search-result h2 {
    font-size: 26px;
}

.pk-search-result h2 a {
    text-decoration: none;
}

.pk-contact-block {
    margin-top: 40px;
}

.pk-contact-block h2 {
    font-size: 28px;
}

.pk-green .pk-eyebrow {
    color: #292B2C;
}

.pk-site .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

.pk-footer-grid>*,.pk-home-hero>* {
    min-width: 0;
}

.pk-js .pk-toc {
    display: block;
}

.pk-dark .pk-crumbs {
    color: #D8DBDD;
}

.pk-dark .pk-crumbs a {
    color: inherit;
}

.pk-test-form .pk-notice {
    margin-bottom: 32px;
    border: 1px solid #D5E9DB;
    border-radius: 16px;
    background: #F0F8F2;
    font-size: 14px;
    padding: 20px 24px;
}

.pk-test-form .wpcf7-list-item {
    margin: 0 18px 14px 0;
}

.pk-test-form .wpcf7-list-item label {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    line-height: 1.55;
    font-weight: 400;
}

.pk-test-form input[type=checkbox] {
    flex: 0 0 18px;
    margin-top: 4px;
}

.pk-test-form fieldset {
    margin: 0 0 28px;
    padding: 20px;
    border: 1px solid var(--pk-line);
    border-radius: 14px;
}

.pk-test-form legend {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 12px;
    padding: 0 6px;
}

.pk-site .pk-test-form input[type=submit] {
    width: auto;
    background: var(--pk-action);
    color: #fff;
    border: 0;
    cursor: pointer;
    border-radius: 999px;
    min-height: 52px;
    padding: 14px 28px;
    font-weight: 600;
    line-height: 1.4;
}

.pk-site .wpcf7-response-output {
    margin: 24px 0;
    padding: 18px 20px;
    border-radius: 14px;
    font-size: 15px;
}

.pk-site .wpcf7-not-valid-tip {
    font-size: 14px;
    color: #A51E1E;
}

.pk-site form {
    margin: 0;
}

.pk-site input::placeholder,.pk-site textarea::placeholder {
    color: #65736A;
    opacity: 1;
}

.pk-site input:focus,.pk-site select:focus,.pk-site textarea:focus {
    border-color: var(--pk-action);
    box-shadow: 0 0 0 4px #147D4212;
}

.pk-site .pk-text-link {
    color: var(--pk-action);
    font-size: 15px;
    text-decoration: none;
}

.pk-site .pk-text-link:hover {
    text-decoration: underline;
}

.pk-search .pk-form-row {
    padding: 7px;
    gap: 8px;
    border: 1px solid #D9E5DC;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 32px #244D3010;
    align-items: center;
}

.pk-search-control {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 999 1 220px;
    min-width: 0;
    padding-left: 12px;
}

.pk-search-icon {
    width: 20px;
    height: 20px;
    color: #718078;
}

.pk-search .pk-form-row>input,.pk-search .pk-search-control>input {
    height: 54px;
    min-height: 54px;
    background: transparent;
    border: 0;
    border-radius: 12px;
    padding: 10px 12px;
    font: 500 17px/1.4 var(--pk-font);
    box-shadow: none;
}

.pk-search .pk-search-control>input {
    padding-left: 0;
}

.pk-search .pk-form-row:focus-within {
    border-color: #81AB8D;
    box-shadow: 0 8px 32px #244D3014;
}

/* Header search: one focus indicator around the combined search field. */
.pk-header-search .pk-search-control > input:focus-visible {
    outline: none;
}

.pk-header-search .pk-form-row:has(input:focus-visible) {
    border-color: var(--pk-action);
    box-shadow: 0 0 0 1px var(--pk-action);
}

@media (forced-colors: active) {
    .pk-header-search .pk-form-row:has(input:focus-visible) {
        outline: 2px solid Highlight;
        outline-offset: 2px;
    }
}

.pk-chips a:hover {
    background: var(--pk-tint);
    color: var(--pk-action);
    border-color: #A9C8B2;
}

.pk-chips a[aria-current] {
    background: var(--pk-action);
    color: #fff;
    border-color: var(--pk-action);
}

.pk-post-card:hover {
    box-shadow: 0 16px 40px #203C2612;
    transform: translateY(-3px);
}

.pk-post-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    padding: 24px;
}

.pk-post-category {
    align-self: flex-start;
    display: inline-flex;
    padding: 6px 10px;
    margin-bottom: 16px;
    border-radius: 999px;
    color: var(--pk-action);
    background: var(--pk-tint);
    font: 600 11px/1.3 var(--pk-font);
    letter-spacing: .01em;
}

.pk-post-excerpt {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.pk-post-footer {
    margin-top: auto;
    padding-top: 24px;
}

.pk-featured-post .pk-post-body {
    padding: clamp(24px,4vw,48px);
    justify-content: center;
}

.pk-featured-post .pk-post-excerpt {
    display: block;
}

.pk-featured-post .pk-post-footer {
    margin-top: 0;
}

.pk-test-form {
    max-width: 760px;
}

.pk-test-form>p {
    margin: 0 0 24px;
}

.pk-test-form label {
    display: block;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 0;
}

.pk-test-form .wpcf7-form-control-wrap {
    display: block;
    margin-top: 9px;
}

.pk-test-form label>br {
    display: none;
}

.pk-test-form textarea {
    min-height: 156px;
    resize: vertical;
}

.pk-test-form .wpcf7-acceptance .wpcf7-list-item {
    margin: 0;
}

.pk-test-form .wpcf7-acceptance {
    display: block;
    padding: 18px 20px;
    background: #F5F8F5;
    border-radius: 14px;
}

.pk-site .pk-test-form input[type=submit]:hover {
    background: var(--pk-action-hover);
}

.pk-mobile-fallback .pk-menu {
    height: auto;
    flex-wrap: wrap;
    gap: 12px 24px;
}

/* Responsive layout and reduced motion */

.pk-header .pk-menu a {
    height: 42px;
    padding: 0 10px;
    border-radius: 999px;
}

.pk-shortcuts a>span:last-child {
    font-size: 14px;
    line-height: 1.6;
    color: #5E6662;
}

.pk-shortcuts .pk-shortcut-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 4px;
}

.pk-shortcuts .pk-shortcut-icon {
    display: grid;
    place-items: center;
    height: 44px;
    width: 44px;
    background: var(--pk-tint);
    color: var(--pk-action);
    border-radius: 14px;
}

.pk-shortcut-top>.pk-icon {
    width: 18px;
    color: #748278;
}

.pk-shortcuts a:hover {
    border-color: #ADCDB8;
    box-shadow: 0 12px 32px #244D3010;
    transform: translateY(-2px);
}

.pk-hero-surface {
    background: #F4F7F5;
}

.pk-home-hero .pk-search {
    padding: 18px;
    border: 1px solid #E2E8E4;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 24px 48px -28px #14201A40;
}

.pk-home-hero .pk-search .pk-form-row {
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    gap: 10px;
}

.pk-home-hero .pk-search-control {
    border: 1px solid #DDE4E0;
    border-radius: 14px;
    background: #F7F9F8;
    padding-left: 14px;
    flex-basis: 240px;
}

.pk-home-hero .pk-search-control:focus-within {
    border-color: var(--pk-action);
    background: #fff;
}

.pk-home-hero .pk-search .pk-btn {
    border-radius: 14px;
    flex-grow: 1;
}

.pk-quote-panel {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    align-items: center;
    gap: 40px 56px;
    padding: clamp(28px,4.5vw,56px);
    background: #F4F7F5;
    border-radius: 32px;
}

.pk-quote-panel>div {
    min-width: 0;
}

.pk-site .pk-quote-steps {
    list-style: none;
    margin: 28px 0;
    padding: 0;
    display: grid;
    gap: 18px;
}

.pk-quote-steps li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.pk-quote-steps li>span {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    height: 34px;
    width: 34px;
    border-radius: 50%;
    border: 1px solid #D5E3DA;
    background: #fff;
    color: var(--pk-action);
    font-weight: 700;
    font-size: 14px;
}

.pk-quote-steps strong {
    display: block;
    font-size: 15px;
    line-height: 1.5;
}

.pk-quote-steps p {
    margin: 2px 0 0;
    font-size: 14px;
    color: #5E6662;
}

.pk-number-photo {
    padding: 12px;
    background: #fff;
    border: 1px solid #E2E8E4;
    border-radius: 24px;
    box-shadow: 0 24px 48px -32px #14201A50;
    overflow: hidden;
    min-width: 0;
}

.pk-number-photo>img {
    display: block;
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: contain;
    border-radius: 16px;
    background: #F7F9F8;
}

.pk-number-photo figcaption {
    padding: 22px 12px 12px;
}

.pk-number-photo figcaption>span {
    display: block;
    font-size: 12px;
    color: #5E6662;
    margin-bottom: 6px;
}

.pk-number-photo strong {
    display: block;
    font-size: 20px;
    letter-spacing: -.03em;
}

.pk-number-photo p {
    font-size: 14px;
    line-height: 1.6;
    margin: 10px 0 0;
    color: #5E6662;
}

.pk-quote-section+.pk-map-section {
    background: #fff;
}

.pk-wholesale-panel {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    background: #292B2C;
    color: #fff;
    border-radius: 32px;
    overflow: hidden;
}

.pk-wholesale-content {
    padding: clamp(28px,4.5vw,56px);
    min-width: 0;
}

.pk-wholesale-panel .pk-eyebrow {
    color: #9AE6B6;
    background: #7EE0A622;
}

.pk-wholesale-panel .pk-lead {
    color: #D3D9D6;
    margin-bottom: 28px;
}

.pk-wholesale-photo {
    position: relative;
    min-height: 340px;
}

.pk-wholesale-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 55% center;
}

.pk-wholesale-photo:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,#292B2C 0%,#292B2C00 45%);
}

.pk-catalyst-card:hover {
    border-color: #ABCBB6;
    box-shadow: 0 12px 32px #244D3010;
}

@media(max-width:1359px) {
    .pk-footer-body {
        /* Keep the bottom links above the fixed reCAPTCHA badge. */
        padding-bottom: 88px;
    }
}

@media(min-width:1100px) and (max-width:1279px) {
    .pk-wordmark {
        display: none;
    }

    .pk-header-row {
        gap: 20px;
    }

    .pk-menu {
        gap: 18px;
    }

}

@media(max-width:1099px) {
    .pk-footer-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-areas: 'brand contact' 'service knowledge';
        gap: 36px 48px;
    }

    .pk-desktop-nav,.pk-desktop-quote {
        display: none;
    }

    .pk-header-actions {
        margin-left: auto;
    }

    .pk-menu-toggle,.pk-site .pk-menu-toggle {
        display: grid;
    }

    .pk-mobile-fallback {
        display: block;
        padding: 0 24px 16px;
    }

    .pk-mobile-fallback .pk-menu {
        flex-wrap: wrap;
        gap: 12px 24px;
    }

    .pk-js .pk-mobile-fallback {
        display: none;
    }

    .pk-home-hero {
        gap: 24px;
        grid-template-columns: 1.15fr 1fr;
    }

    .pk-home-hero h1 {
        font-size: clamp(34px,4.5vw,50px);
    }

    .pk-hero-photo {
        min-height: 400px;
    }

    .pk-map-layout {
        gap: 24px 32px;
    }

    .pk-catalog-layout {
        grid-template-columns: 200px minmax(0,1fr);
        gap: 24px;
    }

    .pk-catalog-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .pk-card-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .pk-article-layout {
        grid-template-columns: 200px minmax(0,1fr);
        gap: 32px;
    }

    .pk-region-list {
        gap: 0 16px;
    }

    .pk-region-list a {
        font-size: 13px;
    }

    .pk-steps {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .pk-site .pk-header .pk-desktop-quote {
        display: none;
    }

}

@media(max-width:767px) {
    .pk-footer-cta-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
        padding-top: 28px;
        padding-bottom: 28px;
    }
    .pk-footer-body {
        padding-top: 32px;
    }
    .pk-footer-grid {
        grid-template-columns: minmax(0,1fr) minmax(0,1fr);
        grid-template-areas: 'brand brand' 'service knowledge' 'contact contact';
        gap: 28px 24px;
    }
    .pk-footer-brand p {
        max-width: 40ch;
        margin: 16px 0;
    }
    .pk-footer-contact {
        border-top: 1px solid #ffffff1c;
        padding-top: 24px;
    }
    .pk-footer h2 {
        margin-bottom: 12px;
    }
    .pk-footer-bottom {
        margin-top: 28px;
        gap: 8px 20px;
    }
    .pk-footer-bottom>span {
        flex-basis: 100%;
    }

    .pk-shortcuts .pk-shortcut-top { display: contents; }
    .pk-shortcuts .pk-shortcut-icon { grid-column: 1; grid-row: 1/3; align-self: center; width: 40px; height: 40px; border-radius: 12px; }
    .pk-shortcut-top>.pk-icon { grid-column: 3; grid-row: 1/3; align-self: center; }
    .pk-shortcuts strong { grid-column: 2; grid-row: 1; }
    .pk-shortcuts a>span:last-child { grid-column: 2; grid-row: 2; font-size: 13px; line-height: 1.45; }
    .pk-map-figure { padding: 14px; border-radius: 22px; }
    .pk-catalyst-card { padding: 7px; border-radius: 18px; }
    .pk-card-content { padding: 12px 4px 8px; }

    .pk-shortcuts { padding-top: 32px; }
    .pk-quote-panel,.pk-wholesale-panel { grid-template-columns: 1fr; gap: 28px; border-radius: 24px; }
    .pk-wholesale-panel { gap: 0; }
    .pk-wholesale-photo { min-height: 220px; }
    .pk-wholesale-photo:after { background: linear-gradient(180deg,#292B2C 0%,#292B2C00 50%); }
    .pk-hero-photo { border-radius: 22px; }
    .pk-home-hero .pk-search { padding: 14px; }
    .pk-home-hero .pk-search-control { flex-basis: auto; }

    .pk-header-row {
        height: 64px;
        gap: 12px;
    }

    .pk-wordmark {
        display: none;
    }

    .pk-logo {
        width: 154px;
        height: 35px;
    }

    .pk-site .pk-logo img {
        width: 100%;
        height: 100%;
        margin: 0;
    }

    .pk-top>.pk-wrap {
        gap: 8px;
        font-size: 12px;
    }

    .pk-top .pk-wrap>div {
        gap: 10px;
    }

    .pk-top .pk-wrap>div>a:first-child:not(:last-child) {
        font-size: 11px;
    }

    .pk-home-hero {
        grid-template-columns: 1fr;
        padding-top: 24px;
        padding-bottom: 24px;
        gap: 24px;
    }

    .pk-home-hero>div {
        padding: 8px 0 0;
    }

    .pk-home-hero h1 {
        font-size: clamp(34px,8vw,46px);
    }

    .pk-home-hero .pk-lead {
        font-size: 17px;
    }

    .pk-hero-photo {
        min-height: 280px;
        aspect-ratio: 4/3;
        max-height: 400px;
    }

    .pk-search {
        padding: 0;
    }

    .pk-search .pk-form-row>input {
        flex-basis: 100%;
        font-size: 16px;
        height: 52px;
    }

    .pk-search .pk-btn {
        min-height: 52px;
        width: 100%;
        flex: none;
    }

    .pk-hero-help {
        font-size: 14px;
    }

    .pk-shortcuts>.pk-wrap {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .pk-shortcuts a {
        display: grid;
        grid-template-columns: 40px minmax(0,1fr) 18px;
        grid-template-rows: auto auto;
        padding: 14px;
        gap: 4px 12px;
        border-radius: 16px;
    }

    .pk-shortcuts strong {
        font-size: 17px;
    }

    .pk-shortcuts span {
        font-size: 14px;
    }

    .pk-map-layout {
        grid-template-columns: 1fr;
        grid-template-areas: 'head' 'map' 'list';
        gap: 24px;
    }

    .pk-map {
        max-width: 500px;
    }

    .pk-region-list {
        gap: 0 24px;
    }

    .pk-region-list a {
        font-size: 14px;
    }

    .pk-split,.pk-product-layout,.pk-info-layout {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .pk-section-heading {
        align-items: start;
        flex-direction: column;
        gap: 16px;
    }

    .pk-catalog-layout {
        grid-template-columns: 1fr;
    }

    .pk-filters {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0 16px;
    }

    .pk-filter-field {
        min-width: 0;
    }

    .pk-filters .pk-btn {
        margin-top: 16px;
    }

    .pk-filter-reset {
        align-self: center;
    }

    .pk-catalog-grid {
        gap: 16px;
    }

    .pk-catalyst-card h3 {
        font-size: 14px;
    }

    .pk-card-content .pk-text-link {
        font-size: 13px;
        gap: 4px;
    }

    .pk-card-grid {
        gap: 16px;
    }

    .pk-card-content .pk-icon {
        width: 16px;
    }

    .pk-post-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 16px 24px;
    }

    .pk-post-card h2 {
        font-size: 21px;
    }

    .pk-featured-post {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .pk-featured-post h2 {
        font-size: 30px;
    }

    .pk-article-layout {
        grid-template-columns: 1fr;
        gap: 32px;
        padding-top: 32px;
    }

    .pk-toc {
        position: static;
    }

    .pk-article-title {
        padding-top: 8px;
    }

    .pk-article-hero {
        aspect-ratio: 16/9;
    }

    .pk-prose {
        font-size: 18px;
    }

    .pk-point-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 20px;
    }

    .pk-contact-grid {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: 28px;
    }

    .pk-product-more {
        margin-top: 32px;
    }

    .pk-price-box {
        padding: 20px;
    }

    .pk-price-table th,.pk-price-table td {
        padding: 14px 8px;
    }

    .pk-price-table .pk-hide-mobile {
        display: none;
    }

    .pk-search .pk-form-row {
        flex-direction: column;
        align-items: stretch;
        padding: 8px;
        gap: 8px;
        border-radius: 18px;
    }

    .pk-search-control {
        flex: none;
        width: 100%;
        padding-left: 10px;
    }

    .pk-search .pk-search-control>input {
        font-size: 16px;
        height: 52px;
        min-height: 52px;
    }

    .pk-featured-post .pk-post-photo {
        aspect-ratio: 16/10;
        min-height: 0;
        height: auto;
    }

    .pk-post-body {
        padding: 22px;
    }

}

@media(max-width:600px) {
    .pk-chips {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        max-width: 100%;
        min-width: 0;
        padding: 8px 8px 14px;
        scroll-padding-inline: 8px;
        scroll-snap-type: x proximity;
        overscroll-behavior-inline: contain;
        scrollbar-width: thin;
        scrollbar-color: #8A9E91 #EDF2EE;
    }

    .pk-chips a {
        flex: 0 0 auto;
        white-space: nowrap;
        scroll-margin-inline: 8px;
        scroll-snap-align: end;
    }

    .pk-chips a:focus-visible {
        outline-offset: 2px;
    }

    .pk-chips::-webkit-scrollbar {
        height: 6px;
    }

    .pk-chips::-webkit-scrollbar-track {
        background: #EDF2EE;
        border-radius: 6px;
    }

    .pk-chips::-webkit-scrollbar-thumb {
        background: #8A9E91;
        border-radius: 6px;
    }
}

@media(max-width:479px) {
    .pk-post-grid,.pk-point-grid {
        grid-template-columns: 1fr;
    }

    .pk-top .pk-wrap>div>a[href^=tel] {
        display: none;
    }

    .pk-steps {
        grid-template-columns: 1fr;
    }

    .pk-price-table {
        font-size: 13px;
    }

    .pk-price-table td:last-child a {
        font-size: 12px;
    }

    .pk-region-list {
        gap: 0 16px;
    }

    .pk-region-list a {
        font-size: 12px;
    }

    .pk-form-row>select {
        flex-basis: 100%;
    }

    .pk-contact-card .pk-btn {
        width: 100%;
    }

    .pk-prose .alignleft,.pk-prose .alignright {
        float: none;
        max-width: 100%;
        margin: 16px 0;
    }

    .pk-product-title {
        word-break: normal;
    }

}

@media(prefers-reduced-motion:reduce) {
    .pk-site * {
        scroll-behavior: auto;
        transition: none;
        animation: none;
    }

}

/* Wariant C: tylko przyciski. Fragment do scalenia po site.css. */
.pk-site .pk-btn,
.pk-site .pk-home-hero .pk-search .pk-btn,
.pk-site .wpcf7 input.wpcf7-submit[type="submit"],
.pk-site .wpcf7 button.wpcf7-submit[type="submit"] {
    border-radius: 6px;
    min-width: 44px;
    min-height: 44px;
    border: 1px solid transparent;
    background: #147D42;
    color: #fff;
    box-shadow: none;
    transform: none;
    transition: background-color .2s, color .2s, border-color .2s;
}

.pk-site .pk-btn:hover,
.pk-site .pk-home-hero .pk-search .pk-btn:hover,
.pk-site .wpcf7 input.wpcf7-submit[type="submit"]:hover,
.pk-site .wpcf7 button.wpcf7-submit[type="submit"]:hover {
    background: #106434;
    color: #fff;
    box-shadow: none;
    transform: none;
}

.pk-site .pk-btn.pk-btn-outline {
    background: transparent;
    color: #147D42;
    border-color: #147D42;
}

.pk-site .pk-btn.pk-btn-outline:hover {
    background: #F4F7F5;
    color: #106434;
    border-color: #106434;
}

.pk-site :is(.pk-dark, .pk-wholesale-panel, .pk-footer) .pk-btn {
    background: transparent;
    color: #fff;
    border-color: #93A59A;
}

.pk-site :is(.pk-dark, .pk-wholesale-panel, .pk-footer) .pk-btn:hover {
    background: #ffffff0f;
    color: #fff;
    border-color: #fff;
}

.pk-site .pk-btn:focus-visible,
.pk-site .wpcf7 input.wpcf7-submit[type="submit"]:focus-visible,
.pk-site .wpcf7 button.wpcf7-submit[type="submit"]:focus-visible {
    outline: 3px solid #147D42;
    outline-offset: 3px;
    box-shadow: none;
}

.pk-site :is(.pk-dark, .pk-wholesale-panel, .pk-footer) .pk-btn:focus-visible {
    outline-color: #A9E4BD;
}

/* Dokładnie dekoracyjna strzałka pkt_arrow(); nie lupa/menu/paginacja. */
.pk-site .pk-btn > svg.pk-icon[aria-hidden="true"]:has(> path[d="M5 12h14M12 5l7 7-7 7"]) {
    display: none;
}
