/* ==========================================================================
   com_zamowdruk — front katalogu. Korzysta z tokenów i klas szablonu tpl_zamowdruk
   (zd-tiles, zd-tile, zd-btn, zd-input, --zd-*). Wartości zapasowe na wypadek innego szablonu.
   ========================================================================== */

/* Na stronach komponentu treść nie jest w białej karcie szablonu — sekcje mają własne karty. */
.zd-component:has(.zd-catalog), .zd-component:has(.zd-product), .zd-component:has(.zd-cart-page) { padding: 0; background: transparent; border: 0; box-shadow: none; }

.zd-catalog { display: flex; flex-direction: column; gap: 30px; width: min(1180px, 100%); margin-inline: auto; }
.zd-catalog-head {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 24px;
  padding: 32px 0 22px; border-bottom: 1px solid var(--zd-border, #e3e9ef);
}

/* Files for print: the same calm, task-first language as checkout. */
.zd-order-files { max-width: 1080px; margin: 0 auto 4rem; }
.zd-order-files__head { padding: 2rem 0 1.5rem; border-bottom: 2px solid var(--zd-navy, #173254); }
.zd-order-files__head > p:first-child { margin: 0 0 .35rem; color: var(--zd-cyan, #178aa5); font-weight: 700; }
.zd-order-files__head h1 { margin: 0 0 .5rem; color: var(--zd-navy, #173254); }
.zd-order-files__head p:last-child { margin: 0; color: #5e6d7e; }
.zd-files-guide { display: grid; grid-template-columns: minmax(12rem, .4fr) 1fr; gap: 1rem; margin: 1.5rem 0; padding: 1.1rem 1.25rem; background: #eef7fa; border-left: 4px solid var(--zd-cyan, #178aa5); }
.zd-files-guide strong { color: var(--zd-navy, #173254); }
.zd-files-list { display: grid; gap: 1rem; }
.zd-file-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(19rem, .55fr); gap: 1.5rem; padding: 1.35rem; border: 1px solid #dce3ea; border-radius: 14px; background: #fff; }
.zd-file-card__main { display: flex; gap: 1rem; }
.zd-file-card__index { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--zd-navy, #173254); color: #fff; font-weight: 800; }
.zd-file-card h2 { margin: .15rem 0 .25rem; font-size: 1.25rem; color: var(--zd-navy, #173254); }
.zd-file-card__main p { margin: 0; color: #617083; }
.zd-file-card__params { display: flex; flex-wrap: wrap; gap: .35rem .75rem; margin: .7rem 0 0; padding: 0; list-style: none; color: #526174; font-size: .88rem; }
.zd-file-upload { display: grid; align-content: center; gap: .65rem; padding: 1rem; border: 1px dashed #a9b8c7; border-radius: 10px; background: #f8fafc; }
.zd-file-upload label { font-weight: 700; color: var(--zd-navy, #173254); }
.zd-file-upload input[type="file"] { width: 100%; font-size: .9rem; }
.zd-uploaded-files { grid-column: 1 / -1; display: grid; gap: .35rem; margin: 0; padding: .8rem 1rem; list-style: none; border-radius: 8px; background: #eff8f1; }
.zd-uploaded-files li { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .55rem; }
.zd-uploaded-files small { color: #647267; }
.zd-files-error { margin: 2rem 0; padding: 1.5rem; border: 1px solid #e3c0c0; background: #fff6f6; }
.zd-order-success__mail-ok, .zd-order-success__mail-warning { max-width: 38rem; margin: .75rem auto; padding: .7rem .9rem; border-radius: 8px; font-size: .9rem; }
.zd-order-success__mail-ok { background: #eff8f1; color: #2b6740; }
.zd-order-success__mail-warning { background: #fff4da; color: #775500; }
@media (max-width: 760px) {
  .zd-files-guide, .zd-file-card { grid-template-columns: 1fr; }
  .zd-file-upload { grid-column: 1; }
}
.zd-catalog-head__title { margin: 0; font-size: clamp(38px, 4.6vw, 64px); font-weight: 700; line-height: 1; letter-spacing: -.035em; color: var(--zd-navy, #12294a); }
.zd-catalog-head__lead { margin: 6px 0 0; max-width: 640px; color: var(--zd-text-muted, #5b6b7c); font-size: 15px; }
.zd-catalog-head__img { width: 220px; height: 150px; object-fit: cover; border-radius: 10px; box-shadow: var(--zd-shadow, 0 8px 24px rgba(18, 41, 74, .08)); }
.zd-catalog-section { display: flex; flex-direction: column; gap: 18px; }
.zd-catalog-section > .zd-section-head__title { margin: 0; }
.zd-catalog-count { color: var(--zd-text-muted, #5b6b7c); font-size: 13px; }
.zd-catalog-empty { padding: 22px; border: 1px dashed var(--zd-border-strong, #cfd9e2); border-radius: 10px; color: var(--zd-text-muted, #5b6b7c); }
.zd-catalog-desc { padding: 24px 28px; }

.zd-catalog-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.zd-catalog-filters__label { margin-right: 2px; font-weight: 700; color: var(--zd-navy, #12294a); }
.zd-filter-chip {
  display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 16px;
  border: 1px solid var(--zd-border-strong, #cfd9e2); border-radius: 999px; background: #fff;
  color: var(--zd-navy, #12294a); font-size: 13px; font-weight: 700;
}
.zd-filter-chip small { display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: #edf2f6; color: var(--zd-text-muted, #5b6b7c); font-size: 11px; }
.zd-filter-chip:hover { border-color: var(--zd-orange, #f5822a); color: var(--zd-navy, #12294a); }
.zd-filter-chip.is-active { border-color: var(--zd-navy, #12294a); background: var(--zd-navy, #12294a); color: #fff; }

.zd-catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 42px 18px; margin: 0; padding: 0; list-style: none; }
.zd-catalog-card, .zd-product-card { position: relative; min-width: 0; }
.zd-catalog-card .zd-badge, .zd-product-card .zd-badge { position: absolute; z-index: 2; top: 14px; left: 14px; }
.zd-catalog-card__link, .zd-product-card__link { display: flex; min-height: 100%; flex-direction: column; color: var(--zd-navy, #12294a); }
.zd-catalog-card__media, .zd-product-card__media { display: block; aspect-ratio: 1; overflow: hidden; background: #f3f5f6; }
.zd-catalog-card__media img, .zd-product-card__media img { width: 100%; height: 100%; object-fit: contain; padding: 5%; transition: transform .25s ease; }
.zd-catalog-card__link:hover img, .zd-product-card__link:hover img { transform: scale(1.025); }
.zd-catalog-card__link:focus-visible, .zd-product-card__link:focus-visible { outline: 3px solid var(--zd-orange, #f5822a); outline-offset: 4px; }
.zd-catalog-card__body { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding-top: 13px; }
.zd-catalog-card__body strong, .zd-product-card__title { font-family: var(--zd-font-head, sans-serif); font-size: 20px; line-height: 1.25; }
.zd-catalog-card__body small, .zd-product-card__meta { flex: none; color: var(--zd-text-muted, #5b6b7c); font-size: 12px; }
.zd-product-card__title { padding-top: 13px; }
.zd-product-card__meta { display: inline-flex; align-items: center; gap: 6px; margin-top: 7px; }
.zd-product-card__meta .zd-i { color: var(--zd-orange, #f5822a); }
.zd-tile__noimg { display: grid; place-items: center; width: 100%; height: 100%; color: var(--zd-cyan-600, #1588b4); font-size: 44px; background: linear-gradient(135deg, #f3f7fa, #e7f0f5); }

.zd-pagination ul { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 8px 0 0; }
.zd-pagination a, .zd-pagination span { display: inline-flex; min-width: 36px; height: 36px; align-items: center; justify-content: center; padding: 0 10px; border: 1px solid var(--zd-border, #e3e9ef); border-radius: 8px; background: #fff; }

/* Karta produktu ----------------------------------------------------------- */
.view-product .zd-layout { width: 100%; max-width: 1500px; padding-inline: clamp(18px, 3.2vw, 48px); }
.view-product .zd-footer { padding-bottom: 104px; }
.zd-product { display: flex; flex-direction: column; gap: 28px; padding-bottom: 92px; }
.zd-product__head { max-width: 940px; padding-top: 4px; }
.zd-product__category { margin: 0 0 6px; color: var(--zd-cyan-700, #0f6f96); font-size: 13px; font-weight: 700; }
.zd-product__title { margin: 0; color: var(--zd-navy, #12294a); font-size: clamp(36px, 4vw, 58px); font-weight: 700; line-height: 1.02; letter-spacing: -.04em; }
.zd-product__title .zd-badge { vertical-align: middle; font-family: var(--zd-font-body, sans-serif); }
.zd-product__lead { max-width: 78ch; margin: 12px 0 0; color: var(--zd-text-muted, #5b6b7c); font-size: 15px; line-height: 1.65; }
.zd-product__workspace.zd-config { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(460px, .88fr); gap: clamp(28px, 4vw, 62px); align-items: start; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.zd-product__builder { display: flex; min-width: 0; flex-direction: column; gap: 34px; }

.zd-gallery { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.zd-gallery__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.zd-gallery__heading h2 { margin: 0; color: var(--zd-navy, #12294a); font-size: 19px; }
.zd-gallery__heading span { color: var(--zd-text-soft, #8593a1); font-size: 12px; }
.zd-gallery__main { aspect-ratio: 4 / 3; overflow: hidden; border-radius: 12px; background: #f1f4f6; }
.zd-gallery__main img { width: 100%; height: 100%; object-fit: contain; padding: 2.5%; }
.zd-gallery__noimg { display: flex; height: 100%; align-items: center; justify-content: center; flex-direction: column; gap: 8px; color: var(--zd-text-soft, #8593a1); }
.zd-gallery__noimg .zd-i { font-size: 56px; }
.zd-gallery__thumbs { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.zd-gallery__thumb { display: block; width: 92px; height: 68px; padding: 0; overflow: hidden; border: 1.5px solid var(--zd-border, #e3e9ef); border-radius: 8px; background: #fff; cursor: pointer; }
.zd-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.zd-gallery__thumb:hover, .zd-gallery__thumb.is-active { border-color: var(--zd-navy, #12294a); }
.zd-gallery__thumb.is-active { box-shadow: inset 0 0 0 1px var(--zd-navy, #12294a); }
.zd-gallery__support { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border-left: 4px solid var(--zd-orange, #f5822a); background: #f3f6f8; color: var(--zd-navy, #12294a); }
.zd-gallery__support > .zd-i { flex: none; color: var(--zd-orange, #f5822a); font-size: 22px; }
.zd-gallery__support p { display: flex; flex-direction: column; gap: 2px; margin: 0; font-size: 13px; }
.zd-gallery__support span { color: var(--zd-text-muted, #5b6b7c); }

.zd-config__fields { display: flex; flex-direction: column; border-top: 1px solid var(--zd-border, #e3e9ef); }
.zd-config__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; padding: 28px 0 22px; background: transparent; }
.zd-config__head h2 { margin: 0; color: var(--zd-navy, #12294a); font-size: 29px; }
.zd-config__head p { max-width: 560px; margin: 5px 0 0; color: var(--zd-text-muted, #5b6b7c); font-size: 13px; line-height: 1.55; }
.zd-config__status { flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border-radius: 6px; background: #ddf4e5; color: #176a50; font-size: 11px; font-weight: 700; }
.zd-config__field { display: grid; grid-template-columns: minmax(160px, .32fr) minmax(0, 1fr); gap: 26px; padding: 24px 0; border-top: 1px solid var(--zd-border, #e3e9ef); }
.zd-config__field-head { display: flex; align-items: flex-start; gap: 11px; }
.zd-config__step { flex: none; color: var(--zd-orange, #f5822a); font: 700 12px/1.5 var(--zd-font-head, sans-serif); }
.zd-config__field-head h3 { margin: 0; color: var(--zd-navy, #12294a); font-size: 16px; }
.zd-config__field-head h3 small { color: var(--zd-text-muted, #5b6b7c); font-weight: 500; }
.zd-config__field-head p { margin: 5px 0 0; color: var(--zd-text-muted, #5b6b7c); font-size: 12px; line-height: 1.5; }
.zd-config__control { min-width: 0; }
.zd-config__choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; min-width: 0; margin: 0; padding: 0; border: 0; }
.zd-component .zd-config__choices { margin: 0; }
.zd-choice { position: relative; min-width: 0; }
.zd-choice input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.zd-choice span { display: flex; min-height: 58px; align-items: center; justify-content: center; padding: 9px 12px; border: 1.5px solid var(--zd-border-strong, #cfd9e2); border-radius: 9px; background: #fff; color: var(--zd-navy, #12294a); font-size: 12.5px; font-weight: 650; line-height: 1.35; text-align: center; }
.zd-choice input:checked + span { border-color: var(--zd-navy, #12294a); box-shadow: inset 0 0 0 1px var(--zd-navy, #12294a); }
.zd-choice input:focus-visible + span { outline: 3px solid rgba(244, 122, 43, .4); outline-offset: 2px; }

.zd-product__pricing { position: sticky; top: 18px; min-width: 0; padding-left: clamp(24px, 3vw, 48px); border-left: 1px solid var(--zd-border, #e3e9ef); }
.zd-component select.zd-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.zd-product__pricing-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.zd-product__pricing-head p { margin: 0 0 4px; color: var(--zd-orange, #f5822a); font-size: 12px; font-weight: 750; }
.zd-product__pricing-head h2 { margin: 0; color: var(--zd-navy, #12294a); font-size: clamp(31px, 3vw, 43px); letter-spacing: -.035em; }
.zd-product__pricing-note { color: var(--zd-text-muted, #5b6b7c); font-size: 11px; text-align: right; }
.zd-service-modes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-bottom: 24px; }
.zd-service-modes > div { display: grid; min-height: 94px; place-items: center; align-content: center; gap: 3px; padding: 10px; border: 1px solid var(--zd-border-strong, #cfd9e2); border-radius: 9px; text-align: center; }
.zd-service-modes .zd-i { margin-bottom: 3px; color: var(--zd-navy, #12294a); font-size: 25px; }
.zd-service-modes strong { font-size: 13px; }
.zd-service-modes small { color: var(--zd-text-muted, #5b6b7c); font-size: 10px; }
.zd-quantity-table { max-height: min(610px, calc(100vh - 310px)); overflow-y: auto; padding-right: 5px; scrollbar-width: thin; }
.zd-quantity-table.is-loading { opacity: .5; pointer-events: none; }
.zd-quantity-table__head, .zd-quantity-row { display: grid; grid-template-columns: .75fr 1fr 1fr 1.15fr; gap: 12px; align-items: center; }
.zd-quantity-table__head { position: sticky; z-index: 1; top: 0; padding: 8px 14px; background: #fff; color: var(--zd-text-muted, #5b6b7c); font-size: 11px; font-weight: 700; }
.zd-quantity-row { width: 100%; min-height: 74px; margin: 0 0 8px; padding: 13px 14px; border: 1px solid var(--zd-border-strong, #cfd9e2); border-radius: 9px; background: #fff; color: var(--zd-navy, #12294a); font-family: inherit; text-align: left; cursor: pointer; }
.zd-quantity-row:hover { border-color: #8291a0; }
.zd-quantity-row.is-active { border-color: var(--zd-navy, #12294a); box-shadow: inset 0 0 0 1px var(--zd-navy, #12294a); }
.zd-quantity-row strong { font: 700 14px/1.2 var(--zd-font-head, sans-serif); }
.zd-quantity-row span { font-size: 12px; font-weight: 700; }
.zd-quantity-row small { color: var(--zd-text-muted, #5b6b7c); font-size: 10.5px; line-height: 1.35; }
.zd-quantity-empty { padding: 26px; border: 1px solid var(--zd-border, #e3e9ef); background: #f5f7f9; }
.zd-quantity-empty p { margin: 7px 0 0; color: var(--zd-text-muted, #5b6b7c); line-height: 1.6; }

.zd-product-bar { position: fixed; z-index: 35; right: 0; bottom: 0; left: 0; border-top: 1px solid var(--zd-border-strong, #cfd9e2); background: rgba(255,255,255,.97); box-shadow: 0 -10px 30px rgba(18,41,74,.1); backdrop-filter: blur(12px); }
.zd-product-bar__inner { display: grid; width: min(1500px, 100%); min-height: 94px; grid-template-columns: minmax(260px, 1fr) auto minmax(260px, .7fr); align-items: center; gap: 36px; margin: auto; padding: 12px clamp(18px, 3.2vw, 48px); }
.zd-product-bar__product { display: flex; min-width: 0; align-items: center; gap: 13px; }
.zd-product-bar__product img { width: 66px; height: 54px; flex: none; object-fit: contain; border-radius: 5px; background: #f1f4f6; }
.zd-product-bar__product p { display: flex; min-width: 0; flex-direction: column; gap: 3px; margin: 0; }
.zd-product-bar__product strong, .zd-product-bar__product span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.zd-product-bar__product span { color: var(--zd-text-muted, #5b6b7c); font-size: 12px; }
.zd-product-bar .zd-config__price { min-width: 230px; }
.zd-config__price-label { color: var(--zd-text-muted, #5b6b7c); font-size: 12px; }
.zd-config__price-value { color: var(--zd-navy, #12294a); font-family: var(--zd-font-head, sans-serif); font-size: 27px; }
.zd-config__price small { color: var(--zd-text-muted, #5b6b7c); font-size: 11px; }
.zd-product-bar__action { display: flex; justify-content: flex-end; }
.zd-product-bar__action .zd-btn { width: min(100%, 360px); justify-content: center; }
.zd-component .zd-product-bar__action button[type="submit"].zd-config__submit { border-color: var(--zd-navy, #12294a); background: var(--zd-navy, #12294a); color: #fff; }
.zd-component .zd-product-bar__action button[type="submit"].zd-config__submit:hover { border-color: #0d213c; background: #0d213c; color: #fff; }
.zd-config__submit[disabled] { opacity: .5; cursor: not-allowed; transform: none; box-shadow: none; }

.zd-product__desc { display: grid; grid-template-columns: minmax(220px, .34fr) minmax(0, 1fr); gap: 36px; padding: 38px 0; border-block: 1px solid var(--zd-border, #e3e9ef); }
.zd-product__desc-head p { margin: 0 0 7px; color: var(--zd-orange, #f5822a); font-size: 12px; font-weight: 700; }
.zd-product__desc-head h2 { margin: 0; font-size: 28px; }
.zd-product__desc-content { color: var(--zd-text-muted, #5b6b7c); line-height: 1.75; }
.zd-product__desc-content > :first-child { margin-top: 0; }
.zd-product__desc-content > :last-child { margin-bottom: 0; }

.zd-product-promo { display: grid; grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr); min-height: 430px; overflow: hidden; background: #dce7f3; }
.zd-product-promo__image { min-height: 430px; overflow: hidden; }
.zd-product-promo__image img { width: 100%; height: 100%; object-fit: cover; }
.zd-product-promo__content { display: flex; align-items: flex-start; justify-content: center; flex-direction: column; padding: clamp(42px, 5vw, 74px); color: var(--zd-navy, #12294a); }
.zd-product-promo__content > p { margin: 0 0 13px; color: var(--zd-orange, #f5822a); font-weight: 750; }
.zd-product-promo__content h2 { max-width: 620px; margin: 0 0 18px; font-size: clamp(37px, 4vw, 58px); line-height: 1.02; letter-spacing: -.04em; }
.zd-product-promo__content > span { display: block; max-width: 610px; color: var(--zd-text-muted, #526173); font-size: 16px; line-height: 1.65; }
.zd-product-promo__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 24px; margin-top: 30px; }
.zd-product-promo__link { padding-bottom: 4px; border-bottom: 1px solid currentColor; color: var(--zd-navy, #12294a); font-weight: 700; }
.zd-product-promo__link:hover { color: #a9470d; }

@media (max-width: 1024px) {
  .zd-product__workspace.zd-config { grid-template-columns: minmax(0, 1fr); }
  .zd-product__pricing { position: static; padding: 32px 0 0; border-top: 1px solid var(--zd-border, #e3e9ef); border-left: 0; }
  .zd-quantity-table { max-height: none; }
  .zd-product-bar__inner { grid-template-columns: minmax(230px, .7fr) minmax(300px, 1fr); }
  .zd-product-bar__product { display: none; }
  .zd-catalog-head { flex-direction: column; align-items: flex-start; }
  .zd-catalog-head__img { width: 100%; height: 180px; }
}

@media (max-width: 760px) {
  .zd-catalog { gap: 24px; }
  .zd-catalog-head { padding: 22px 0 16px; }
  .zd-catalog-head__title { font-size: clamp(34px, 11vw, 48px); }
  .zd-catalog-filters { flex-wrap: nowrap; margin-inline: -16px; padding: 0 16px 5px; overflow-x: auto; scrollbar-width: thin; }
  .zd-catalog-filters__label { display: none; }
  .zd-filter-chip { flex: none; }
  .zd-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
  .zd-catalog-card__body { align-items: flex-start; flex-direction: column; gap: 4px; padding-top: 10px; }
  .zd-catalog-card__body strong, .zd-product-card__title { font-size: 16px; }
  .zd-product { gap: 20px; }
  .zd-product__title { font-size: clamp(31px, 10vw, 42px); }
  .zd-gallery__thumb { width: 72px; height: 54px; }
  .zd-config__head { flex-direction: column; padding: 24px 0 18px; }
  .zd-config__field { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 20px 0; }
  .zd-config__choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zd-product__pricing-head { align-items: flex-start; flex-direction: column; gap: 5px; }
  .zd-product__pricing-note { text-align: left; }
  .zd-quantity-table__head, .zd-quantity-row { grid-template-columns: .75fr 1fr 1fr .9fr; gap: 7px; }
  .zd-quantity-table__head { padding-inline: 9px; }
  .zd-quantity-row { padding-inline: 9px; }
  .zd-product-bar__inner { min-height: 112px; grid-template-columns: minmax(135px, .75fr) minmax(170px, 1fr); gap: 12px; padding-block: 9px; }
  .zd-product-bar .zd-config__price { min-width: 0; }
  .zd-config__price-sub { display: none; }
  .zd-product-bar__action .zd-btn { min-height: 48px; padding-inline: 14px; font-size: 13px; }
  .zd-product__desc { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 28px 0; }
  .zd-product-promo { grid-template-columns: minmax(0, 1fr); }
  .zd-product-promo__image { min-height: 330px; }
  .zd-product-promo__content { padding: 42px 28px 48px; }
}

@media (max-width: 480px) {
  .view-product .zd-footer { padding-bottom: 116px; }
  .zd-product { padding-bottom: 110px; }
  .zd-service-modes { gap: 6px; }
  .zd-service-modes > div { min-height: 84px; padding-inline: 5px; }
  .zd-quantity-table__head, .zd-quantity-row { grid-template-columns: .65fr 1fr .9fr; }
  .zd-quantity-table__head span:last-child, .zd-quantity-row small { display: none; }
  .zd-quantity-row { min-height: 66px; }
  .zd-config__price-head { align-items: flex-start; flex-direction: column; gap: 2px; }
  .zd-config__price-value { font-size: 21px; }
  .zd-config__price-kind, .zd-config__price-label { font-size: 10px; }
  .zd-component .zd-price-mode__btn { padding-inline: 8px; font-size: 10px; }
  .zd-product-promo__image { min-height: 240px; }
  .zd-product-promo__content { padding: 34px 22px 38px; }
  .zd-product-promo__content h2 { font-size: 36px; }
  .zd-product-promo__actions { align-items: stretch; flex-direction: column; width: 100%; }
  .zd-product-promo__actions .zd-btn { width: 100%; }
  .zd-product-promo__link { align-self: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .zd-catalog-card__media img, .zd-product-card__media img { transition: none; }
}

/* Specyficzność wyższa niż bazowe style formularzy szablonu (.zd-component select). */
.zd-component .zd-config .zd-select {
  appearance: none; -webkit-appearance: none; padding-right: 40px; max-width: none;
  background-color: #fff;
  background-image: linear-gradient(45deg, transparent 50%, #12294a 50%), linear-gradient(135deg, #12294a 50%, transparent 50%);
  background-position: calc(100% - 20px) 52%, calc(100% - 14px) 52%; background-size: 6px 6px; background-repeat: no-repeat;
}
.zd-component .zd-config input[type="number"], .zd-component .zd-config input[type="text"] { max-width: none; }

/* ---- Cena z silnika (Etap 4) ---- */
.zd-config__price { display: block; }
.zd-config__price-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 4px; }
.zd-config__price-main { margin: 0; display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; }
.zd-config__price-value { font-size: 28px; line-height: 1.15; transition: opacity .15s; }
.zd-config__price-kind { font-size: 13px; font-weight: 600; color: var(--zd-text-muted, #5b6b7c); }
.zd-config__price-sub { display: block; margin-top: 2px; }
.zd-config__price.is-loading .zd-config__price-value { opacity: .45; }
.zd-config__price.is-quote .zd-config__price-value { font-size: 18px; color: var(--zd-navy, #12294a); }
.zd-config__summary .zd-config__price.is-quote .zd-config__price-value { color: #fff; }
.zd-price-mode { display: inline-flex; padding: 2px; border-radius: 999px; background: rgba(18, 41, 74, .08); }
.zd-component .zd-price-mode__btn {
  border: 0; background: transparent; padding: 3px 12px; border-radius: 999px; font-size: 12px; font-weight: 700;
  color: var(--zd-text-muted, #5b6b7c); cursor: pointer; line-height: 1.6; min-height: 0; box-shadow: none;
}
.zd-component .zd-price-mode__btn.is-active { background: #fff; color: var(--zd-navy, #142d4e); box-shadow: 0 1px 2px rgba(18, 41, 74, .15); }
.zd-component .zd-price-mode__btn:focus-visible { box-shadow: var(--zd-focus, 0 0 0 3px rgba(26, 160, 200, .45)); outline: 0; }

/* Koszyk ------------------------------------------------------------------ */
.zd-cart-page { display: flex; flex-direction: column; gap: 24px; }
.view-cart joomla-alert .alert-heading { display: none; }
.zd-cart-page__head { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 4px 0 10px; border-bottom: 2px solid var(--zd-navy, #12294a); }
.zd-cart-page__head p { margin: 0 0 4px; color: var(--zd-orange, #f47a2b); font-size: 13px; font-weight: 700; }
.zd-cart-page__head h1 { margin: 0; font-size: clamp(34px, 4vw, 50px); letter-spacing: -.035em; }
.zd-cart-page__head > span { padding-bottom: 7px; color: var(--zd-text-muted, #5b6b7c); font-size: 14px; }
.zd-cart-page__layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; }
.zd-cart-lines { display: flex; flex-direction: column; gap: 14px; }
.zd-cart-line { display: grid; grid-template-columns: 180px minmax(0, 1fr); overflow: hidden; background: #fff; border: 1px solid var(--zd-border, #e3e9ef); border-radius: 15px; box-shadow: 0 7px 22px rgba(18, 41, 74, .06); }
.zd-cart-line__image { display: grid; place-items: center; min-height: 190px; background: #eef3f6; color: var(--zd-cyan-600, #1588b4); font-size: 36px; }
.zd-cart-line__image img { width: 100%; height: 100%; object-fit: cover; }
.zd-cart-line__body { min-width: 0; padding: 20px 22px; }
.zd-cart-line__title { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.zd-cart-line__title h2 { margin: 0; font-size: 21px; }
.zd-cart-line__title h2 a { color: var(--zd-navy, #12294a); }
.zd-cart-line__title span { font-size: 12px; color: var(--zd-text-soft, #8593a1); }
.zd-cart-line__title > strong { flex: 0 0 auto; font-size: 19px; color: var(--zd-navy, #12294a); }
.zd-cart-line__params { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; margin: 16px 0; border-top: 1px solid var(--zd-border, #e3e9ef); }
.zd-cart-line__params > div { display: grid; grid-template-columns: minmax(90px, .8fr) minmax(0, 1.2fr); gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--zd-border, #e3e9ef); font-size: 12px; }
.zd-cart-line__params dt { color: var(--zd-text-muted, #5b6b7c); }
.zd-cart-line__params dd { margin: 0; font-weight: 700; color: var(--zd-navy, #12294a); }
.zd-cart-line__actions { display: flex; align-items: center; gap: 10px; }
.zd-cart-line__actions label { margin: 0; font-size: 12px; color: var(--zd-text-muted, #5b6b7c); }
.zd-component .zd-cart-line__actions input { width: 70px; min-height: 36px; padding: 5px 9px; }
.zd-component .zd-cart-line__remove { margin-left: auto; padding: 6px 0; border: 0; background: transparent; color: #a73333; font-weight: 700; cursor: pointer; }
.zd-cart-line__warning { color: #a73333; font-weight: 700; }
.zd-cart-lines__footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 5px 2px 0; }
.zd-cart-lines__footer > a { color: var(--zd-navy, #142d4e); font-weight: 700; }
.zd-cart-total { position: sticky; top: 18px; padding: 24px; background: var(--zd-navy, #12294a); border-radius: 15px; color: #fff; box-shadow: 0 16px 34px rgba(18, 41, 74, .2); }
.zd-cart-total h2 { margin: 0 0 18px; font-size: 23px; color: #fff; }
.zd-cart-total dl { margin: 0 0 20px; }
.zd-cart-total dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; color: #cbd8e6; }
.zd-cart-total dd { margin: 0; font-weight: 700; color: #fff; }
.zd-cart-total .zd-cart-total__gross { margin-top: 8px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .2); font-size: 18px; color: #fff; }
.zd-cart-total .zd-cart-total__discount { color: #9fe4c9; }
.zd-cart-total .zd-cart-total__discount dd { color: #9fe4c9; }
.zd-cart-coupon { margin: 0 0 18px; padding: 15px 0; border-block: 1px solid rgba(255,255,255,.18); }
.zd-cart-coupon label { display: block; margin-bottom: 7px; color: #fff; font-size: 12px; font-weight: 700; }
.zd-cart-coupon > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.zd-cart-coupon input { min-width: 0; padding: 10px 11px; border: 1px solid rgba(255,255,255,.3); border-radius: 8px; background: #fff; color: var(--zd-navy, #12294a); font: inherit; font-size: 13px; text-transform: uppercase; }
.zd-cart-coupon button { padding: 9px 13px; border: 0; border-radius: 8px; background: var(--zd-orange, #f47a2b); color: #fff; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.zd-cart-total .zd-btn { width: 100%; justify-content: center; }
.zd-cart-total .zd-btn[disabled] { opacity: .72; cursor: not-allowed; }
.zd-cart-total > p { display: flex; gap: 8px; margin: 15px 0 0; color: #b9c9d9; font-size: 12px; line-height: 1.5; }
.zd-cart-total > p .zd-i { flex: 0 0 auto; margin-top: 2px; color: #63cbe7; }
.zd-cart-empty { display: grid; justify-items: center; gap: 10px; padding: 70px 24px; text-align: center; background: #fff; border: 1px solid var(--zd-border, #e3e9ef); border-radius: 16px; }
.zd-cart-empty > .zd-i { font-size: 46px; color: var(--zd-orange, #f47a2b); }
.zd-cart-empty h2, .zd-cart-empty p { margin: 0; }
.zd-cart-empty p { max-width: 46ch; color: var(--zd-text-muted, #5b6b7c); }
.zd-cart-empty .zd-btn { margin-top: 10px; }

@media (max-width: 920px) {
  .zd-cart-page__layout { grid-template-columns: minmax(0, 1fr); }
  .zd-cart-total { position: static; }
}

@media (max-width: 620px) {
  .zd-cart-page__head { align-items: flex-start; flex-direction: column; }
  .zd-cart-line { grid-template-columns: minmax(0, 1fr); }
  .zd-cart-line__image { min-height: 210px; }
  .zd-cart-line__title { flex-direction: column; gap: 8px; }
  .zd-cart-line__params { grid-template-columns: minmax(0, 1fr); }
  .zd-cart-line__actions { flex-wrap: wrap; }
  .zd-cart-lines__footer { align-items: stretch; flex-direction: column; }
  .zd-cart-lines__footer .zd-btn { justify-content: center; }
}

/* Finalizacja zamówienia --------------------------------------------------- */
.zd-checkout { display: flex; flex-direction: column; gap: 24px; }
.zd-checkout__head { padding-bottom: 18px; border-bottom: 2px solid var(--zd-navy, #12294a); }
.zd-checkout__head p { margin: 0 0 5px; color: var(--zd-orange, #f47a2b); font-size: 13px; font-weight: 700; }
.zd-checkout__head h1 { margin: 0; font-size: clamp(34px, 4vw, 50px); letter-spacing: -.035em; }
.zd-checkout__head > span { display: block; margin-top: 8px; color: var(--zd-text-muted, #5b6b7c); }
.zd-checkout-access { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 20px; border: 1px solid var(--zd-border, #e3e9ef); border-radius: 12px; background: #f5f8fa; }
.zd-checkout-access > div { display: flex; align-items: center; gap: 12px; }
.zd-checkout-access .zd-i { color: var(--zd-orange, #f47a2b); font-size: 25px; }
.zd-checkout-access p { display: flex; flex-direction: column; gap: 2px; margin: 0; }
.zd-checkout-access small { color: var(--zd-text-muted, #5b6b7c); }
.zd-text-button { padding: 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--zd-navy, #12294a); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.zd-checkout__layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: start; }
.zd-checkout__form { display: flex; flex-direction: column; gap: 16px; }
.zd-component .zd-checkout-section { margin: 0; padding: 24px; background: #fff; border: 1px solid var(--zd-border, #e3e9ef); border-radius: 15px; box-shadow: 0 7px 22px rgba(18, 41, 74, .06); }
.zd-component .zd-checkout-section legend { display: flex; align-items: center; gap: 10px; width: auto; margin: 0 0 20px; font-size: 21px; color: var(--zd-navy, #12294a); }
.zd-checkout-section legend span { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; background: var(--zd-navy, #12294a); color: #fff; font-size: 11px; }
.zd-checkout-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 18px; }
.zd-component .zd-checkout-field { display: flex; flex-direction: column; gap: 6px; margin: 0; color: var(--zd-navy, #12294a); font-size: 13px; font-weight: 700; }
.zd-checkout-field--wide { grid-column: 1 / -1; }
.zd-component .zd-checkout-field .zd-input { max-width: none; }
.zd-component .zd-checkout-field textarea { resize: vertical; }
.zd-component .zd-checkout-check { display: flex; align-items: flex-start; gap: 9px; margin: 16px 0 0; color: var(--zd-text-muted, #5b6b7c); font-size: 12px; font-weight: 500; line-height: 1.5; }
.zd-checkout-check > span { display: flex; flex-direction: column; gap: 2px; }
.zd-checkout-check small { font-weight: 400; }
.zd-checkout-check input { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 1px; accent-color: var(--zd-navy, #142d4e); }
.zd-checkout-check a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.zd-checkout-check a:hover { color: var(--zd-orange, #e9691e); }
.zd-checkout-option { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; margin: 0 0 10px; padding: 14px 16px; border: 1px solid var(--zd-border-strong, #cfd9e2); border-radius: 10px; background: #f8fafb; cursor: pointer; }
.zd-checkout-option input { width: 17px; height: 17px; accent-color: var(--zd-navy, #142d4e); }
.zd-checkout-option span { display: flex; flex-direction: column; gap: 2px; }
.zd-checkout-option strong { color: var(--zd-navy, #12294a); }
.zd-checkout-option small { color: var(--zd-text-muted, #5b6b7c); font-size: 12px; }
.zd-checkout-option b { color: var(--zd-orange, #f47a2b); font-size: 13px; }
.zd-checkout-option.is-disabled { opacity: .58; cursor: not-allowed; }
.zd-checkout-subtitle { margin: 23px 0 10px; font-size: 16px; }
.zd-checkout-panel { margin-top: 16px; padding: 18px; border: 1px solid var(--zd-border, #e3e9ef); border-radius: 10px; background: #f8fafb; }
.zd-checkout-panel[hidden] { display: none; }
.zd-checkout-panel h3 { margin: 0 0 14px; font-size: 16px; }
.zd-checkout-summary { position: sticky; top: 18px; padding: 24px; border-radius: 15px; background: var(--zd-navy, #12294a); color: #fff; box-shadow: 0 16px 34px rgba(18, 41, 74, .2); }
.zd-checkout-summary h2 { margin: 0 0 17px; color: #fff; font-size: 23px; }
.zd-checkout-summary ul { display: flex; flex-direction: column; gap: 12px; list-style: none; padding: 0 0 16px; margin: 0; border-bottom: 1px solid rgba(255, 255, 255, .18); }
.zd-checkout-summary li { display: flex; justify-content: space-between; gap: 14px; font-size: 13px; }
.zd-checkout-summary li span { display: flex; flex-direction: column; gap: 2px; }
.zd-checkout-summary li small { color: #b9c9d9; }
.zd-checkout-summary dl { margin: 12px 0 18px; }
.zd-checkout-summary dl > div { display: flex; justify-content: space-between; gap: 14px; padding: 7px 0; color: #cbd8e6; }
.zd-checkout-summary dd { margin: 0; font-weight: 700; color: #fff; }
.zd-checkout-summary .zd-checkout-summary__total { margin-top: 7px; padding-top: 15px; border-top: 1px solid rgba(255, 255, 255, .18); color: #fff; font-size: 18px; }
.zd-component .zd-checkout-summary .zd-checkout-check { color: #cbd8e6; }
.zd-component .zd-checkout-summary .zd-checkout-check a:hover { color: #fff; }
.zd-checkout-summary .zd-btn { width: 100%; justify-content: center; margin-top: 18px; }
.zd-checkout-summary > a { display: block; margin-top: 13px; text-align: center; color: #fff; font-size: 13px; text-decoration: underline; text-decoration-color: var(--zd-orange, #f47a2b); text-underline-offset: 3px; }
.zd-order-success { display: grid; justify-items: center; max-width: 720px; margin: 10px auto 40px; padding: 58px 48px; text-align: center; background: #fff; border: 1px solid var(--zd-border, #e3e9ef); border-radius: 18px; box-shadow: 0 16px 38px rgba(18, 41, 74, .1); }
.zd-order-success__icon { display: grid; place-items: center; width: 70px; height: 70px; border-radius: 50%; background: #ddf3ec; color: #176a50; font-size: 34px; }
.zd-order-success > p:first-of-type { margin: 18px 0 5px; color: var(--zd-orange, #f47a2b); font-size: 13px; font-weight: 700; }
.zd-order-success h1 { margin: 0; font-size: clamp(34px, 5vw, 50px); }
.zd-order-success__number { display: flex; flex-direction: column; gap: 4px; margin: 26px 0 12px; padding: 16px 36px; background: #f1f6f8; border-radius: 10px; }
.zd-order-success__number span { color: var(--zd-text-muted, #5b6b7c); font-size: 12px; }
.zd-order-success__number strong { font-size: 24px; color: var(--zd-navy, #12294a); }
.zd-order-success__lead { max-width: 58ch; color: var(--zd-text-muted, #5b6b7c); line-height: 1.65; }
.zd-order-success dl { width: 100%; max-width: 450px; margin: 18px 0 26px; }
.zd-order-success dl > div { display: flex; justify-content: space-between; gap: 20px; padding: 10px 0; border-bottom: 1px solid var(--zd-border, #e3e9ef); }
.zd-order-success dd { margin: 0; font-weight: 700; color: var(--zd-navy, #12294a); }

@media (max-width: 920px) {
  .zd-checkout__layout { grid-template-columns: minmax(0, 1fr); }
  .zd-checkout-summary { position: static; }
}

@media (max-width: 620px) {
  .zd-component .zd-checkout-section { padding: 20px 16px; }
  .zd-checkout-grid { grid-template-columns: minmax(0, 1fr); }
  .zd-checkout-field--wide { grid-column: auto; }
  .zd-checkout-access { align-items: flex-start; flex-direction: column; }
  .zd-order-success { padding: 38px 20px; }
}

/* Wyszukiwarka katalogu --------------------------------------------------- */
.zd-search-page { display: flex; flex-direction: column; gap: 42px; padding: 12px 0 64px; }
.zd-search-page__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr); align-items: end; gap: 12px 56px; padding: 34px 0 30px; border-bottom: 2px solid var(--zd-navy, #142d4e); }
.zd-search-page__eyebrow { grid-column: 1; margin: 0; color: var(--zd-cyan-700, #11789e); font-size: 12px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.zd-search-page__head h1 { grid-column: 1; margin: 0; color: var(--zd-navy, #142d4e); font-size: clamp(36px, 5vw, 64px); letter-spacing: -.045em; line-height: .98; }
.zd-search-page__head h1 span { color: var(--zd-orange, #f47a2b); }
.zd-search-page__head > p:not(.zd-search-page__eyebrow) { grid-column: 1; margin: 4px 0 0; color: var(--zd-text-muted, #526173); }
.zd-search-page__form { grid-column: 2; grid-row: 1 / span 3; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-self: center; padding: 7px; border: 1px solid #d9e2e9; border-radius: 14px; background: #f5f7f9; }
.zd-search-page__form input[type="search"] { min-width: 0; padding: 12px 14px; border: 0; outline: 0; background: transparent; color: var(--zd-navy, #142d4e); font: inherit; }
.zd-search-page__form button { padding: 11px 22px; border: 0; border-radius: 9px; background: var(--zd-orange, #f47a2b); color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.zd-search-page__form button:hover { background: var(--zd-navy, #142d4e); }
.zd-search-section { display: flex; flex-direction: column; gap: 18px; }
.zd-search-section__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding-bottom: 10px; border-bottom: 1px solid #dce4ea; }
.zd-search-section__heading h2 { margin: 0; color: var(--zd-navy, #142d4e); font-size: clamp(24px, 3vw, 34px); letter-spacing: -.025em; }
.zd-search-section__heading span { display: grid; place-items: center; min-width: 30px; height: 30px; padding: 0 8px; border-radius: 999px; background: #eef3f6; color: #546578; font-size: 12px; font-weight: 800; }
.zd-search-categories, .zd-search-results { padding: 0; margin: 0; list-style: none; }
.zd-search-categories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.zd-search-categories a { display: grid; grid-template-columns: 74px minmax(0, 1fr) auto; align-items: center; gap: 13px; min-height: 90px; padding: 8px 14px 8px 8px; border: 1px solid #dce4ea; border-radius: 12px; color: var(--zd-navy, #142d4e); text-decoration: none; transition: border-color .18s ease, transform .18s ease; }
.zd-search-categories a:hover { border-color: var(--zd-orange, #f47a2b); transform: translateY(-2px); }
.zd-search-categories img, .zd-search-categories .zd-search-image-placeholder { display: grid; place-items: center; width: 74px; height: 72px; border-radius: 8px; background: #f1f4f6; object-fit: contain; }
.zd-search-categories a > span:not(.zd-search-image-placeholder) { display: flex; min-width: 0; flex-direction: column; }
.zd-search-categories small, .zd-search-result__body > small { color: var(--zd-cyan-700, #11789e); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.zd-search-categories strong { font-size: 15px; line-height: 1.25; }
.zd-search-categories b { color: var(--zd-orange, #f47a2b); font-size: 19px; }
.zd-search-results { border-top: 1px solid #dce4ea; }
.zd-search-result { display: grid; grid-template-columns: 180px minmax(0, 1fr) auto; align-items: center; gap: 28px; padding: 22px 0; border-bottom: 1px solid #dce4ea; }
.zd-search-result__media { display: block; height: 126px; overflow: hidden; border-radius: 10px; background: #f1f4f6; }
.zd-search-result__media img, .zd-search-result__media .zd-search-image-placeholder { display: grid; place-items: center; width: 100%; height: 100%; object-fit: contain; }
.zd-search-image-placeholder { color: #81909f; font-weight: 800; }
.zd-search-result__body { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: 5px; }
.zd-search-result__body h3 { margin: 0; font-size: clamp(20px, 2vw, 27px); line-height: 1.1; }
.zd-search-result__body h3 a { color: var(--zd-navy, #142d4e); text-decoration: none; }
.zd-search-result__body h3 a:hover { color: var(--zd-orange, #f47a2b); }
.zd-search-result__body p { max-width: 72ch; margin: 4px 0; color: var(--zd-text-muted, #526173); font-size: 13px; line-height: 1.55; }
.zd-search-result__body > span { color: #607083; font-size: 11px; font-weight: 700; }
.zd-search-result__action { display: inline-flex; align-items: center; gap: 12px; padding: 11px 16px; border: 1px solid var(--zd-navy, #142d4e); border-radius: 9px; color: var(--zd-navy, #142d4e); font-size: 12px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.zd-search-result__action:hover { border-color: var(--zd-orange, #f47a2b); background: var(--zd-orange, #f47a2b); color: #fff; }
.zd-search-empty { display: grid; justify-items: start; max-width: 720px; gap: 8px; padding: 38px 0 64px; }
.zd-search-empty h2 { margin: 0; color: var(--zd-navy, #142d4e); font-size: 30px; }
.zd-search-empty p { margin: 0 0 14px; color: var(--zd-text-muted, #526173); }

@media (max-width: 900px) {
  .zd-search-page__head { grid-template-columns: minmax(0, 1fr); }
  .zd-search-page__form { grid-column: 1; grid-row: auto; margin-top: 10px; }
  .zd-search-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zd-search-result { grid-template-columns: 140px minmax(0, 1fr); gap: 18px; }
  .zd-search-result__action { grid-column: 2; justify-self: start; }
}

@media (max-width: 600px) {
  .zd-search-page { gap: 32px; }
  .zd-search-page__head { padding-top: 18px; }
  .zd-search-page__form { grid-template-columns: minmax(0, 1fr) auto; }
  .zd-search-page__form button { padding-inline: 15px; }
  .zd-search-categories { grid-template-columns: minmax(0, 1fr); }
  .zd-search-result { grid-template-columns: 102px minmax(0, 1fr); align-items: start; gap: 14px; }
  .zd-search-result__media { height: 86px; }
  .zd-search-result__body p { display: none; }
  .zd-search-result__action { grid-column: 1 / -1; }
}

/* Zapytanie o próbki ---------------------------------------------------- */
.zd-inquiry { padding: 14px 0 60px; }
.zd-inquiry__head { max-width: 790px; padding: 32px 0 38px; }
.zd-inquiry__head > p { margin: 0 0 8px; color: var(--zd-orange, #f47a2b); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.zd-inquiry__head h1 { margin: 0 0 14px; color: var(--zd-navy, #142d4e); font-size: clamp(42px, 6vw, 68px); letter-spacing: -.045em; }
.zd-inquiry__head span { color: var(--zd-text-muted, #526173); font-size: 17px; line-height: 1.65; }
.zd-inquiry__layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 36px; align-items: start; }
.zd-inquiry__form { padding: 34px; border: 1px solid var(--zd-border, #dce4ea); background: #fff; }
.zd-inquiry__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.zd-inquiry__grid label { display: grid; gap: 8px; color: var(--zd-navy, #142d4e); font-size: 13px; font-weight: 750; }
.zd-inquiry__wide { grid-column: 1 / -1; }
.zd-inquiry__grid .zd-input { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #ced9e2; border-radius: 8px; background: #fff; color: var(--zd-navy, #142d4e); font: inherit; font-weight: 500; }
.zd-inquiry__grid textarea.zd-input { min-height: 126px; resize: vertical; }
.zd-inquiry__grid .zd-input:focus { border-color: var(--zd-orange, #f47a2b); outline: 3px solid rgba(244,122,43,.14); }
.zd-inquiry__privacy { display: flex; align-items: flex-start; gap: 10px; margin: 22px 0; color: var(--zd-text-muted, #526173); font-size: 12px; line-height: 1.55; }
.zd-inquiry__privacy input { margin-top: 3px; }
.zd-inquiry__trap { position: absolute; left: -10000px; }
.zd-inquiry__contact { display: flex; flex-direction: column; padding: 34px; background: var(--zd-navy, #142d4e); color: #fff; }
.zd-inquiry__contact > p { margin: 0 0 8px; color: var(--zd-orange, #f47a2b); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.zd-inquiry__contact h2 { margin: 0 0 26px; color: #fff; font-size: 31px; line-height: 1.08; }
.zd-inquiry__contact a { padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,.2); color: #fff; font-size: 17px; font-weight: 700; }
.zd-inquiry__contact a:hover { color: var(--zd-orange, #f47a2b); }
.zd-inquiry__contact small { margin-top: 28px; color: #cbd6e2; line-height: 1.75; }
.zd-inquiry__success { display: grid; justify-items: start; max-width: 720px; gap: 12px; padding: 42px; border-left: 5px solid var(--zd-orange, #f47a2b); background: #f2f6f8; }
.zd-inquiry__success > span { color: #15805c; font-size: 30px; font-weight: 900; }
.zd-inquiry__success h2, .zd-inquiry__success p { margin: 0; }
.zd-inquiry__success p { margin-bottom: 12px; color: var(--zd-text-muted, #526173); }

@media (max-width: 820px) {
  .zd-inquiry__layout { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 600px) {
  .zd-inquiry__form { padding: 24px 18px; }
  .zd-inquiry__grid { grid-template-columns: minmax(0, 1fr); }
  .zd-inquiry__wide { grid-column: auto; }
}
