
.tt7-catalog{--navy:#132a46;--orange:#ff542d;color:var(--navy);max-width:1180px;margin:36px auto 80px;padding:0 18px;font-family:inherit}.tt7-catalog *{box-sizing:border-box}.tt7-heading{text-align:center;margin-bottom:32px}.tt7-heading p{font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--orange);margin:0 0 12px}.tt7-heading h2{font-size:clamp(30px,4vw,46px);font-weight:800;color:var(--navy);margin:0 0 12px}.tt7-heading span{color:#64748b}.tt7-filters{display:flex;flex-wrap:wrap;align-items:end;gap:14px;padding:22px;background:#f5f7fa;border-radius:14px;margin-bottom:30px}.tt7-filters label{font-size:13px;font-weight:700;flex:1 1 220px;color:var(--navy)}.tt7-filters input,.tt7-filters select{display:block;width:100%;height:44px;margin-top:7px;border:1px solid #d4dce5;border-radius:8px;background:#fff;padding:8px 12px;font:inherit}.tt7-filters button{border:0;border-radius:8px;background:var(--orange);color:#fff;padding:12px 23px;font-weight:800;cursor:pointer;height:44px}.tt7-filters>a{color:var(--navy);padding:12px 5px;text-decoration:underline}.tt7-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.tt7-card{border:1px solid #e5ebf1;border-radius:15px;overflow:hidden;background:white;box-shadow:0 8px 25px rgba(19,42,70,.06);display:flex;flex-direction:column}.tt7-image{display:block;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(120deg,#132a46,#31566a)}.tt7-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s}.tt7-image:hover img{transform:scale(1.04)}.tt7-placeholder{height:100%;display:grid;place-items:center;color:#fff;font-size:22px;letter-spacing:.12em;font-weight:800}.tt7-card-body{padding:23px;display:flex;flex-direction:column;flex:1}.tt7-label{align-self:flex-start;font-size:12px;font-weight:800;color:#b83b1b;background:#fff0ea;padding:6px 10px;border-radius:6px;margin-bottom:13px}.tt7-card h3{font-size:22px;line-height:1.3;margin:0 0 12px;font-weight:800}.tt7-card h3 a{color:var(--navy);text-decoration:none}.tt7-route{color:#607086;line-height:1.6;margin:0 0 20px;overflow-wrap:anywhere}.tt7-cta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;background:var(--orange);color:white!important;border-radius:8px;padding:13px 17px;font-weight:800;text-decoration:none!important}.tt7-cta:hover,.tt7-filters button:hover{background:#e74420}.tt7-pages{display:flex;gap:8px;justify-content:center;margin-top:34px}.tt7-pages a{padding:9px 15px;border:1px solid #d4dce5;border-radius:7px;text-decoration:none;color:var(--navy)}.tt7-pages a[aria-current]{background:var(--navy);color:white}.tt7-empty{text-align:center;padding:45px 15px;background:#f5f7fa;border-radius:12px}@media(max-width:850px){.tt7-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.tt7-grid{grid-template-columns:1fr}.tt7-filters{padding:16px}.tt7-catalog{margin-top:20px}}

/* v0.9: odpornosc na globalne style motywu Vromon / edytorow */
.tt7-catalog .tt7-heading{text-align:center!important}
.tt7-catalog .tt7-filters{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:flex-end!important;gap:14px!important}
.tt7-catalog .tt7-filters label{display:block!important;min-width:180px!important;margin:0!important}
.tt7-catalog .tt7-filters input,.tt7-catalog .tt7-filters select{width:100%!important;max-width:none!important;height:44px!important;margin:7px 0 0!important}
.tt7-catalog .tt7-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important}
.tt7-catalog .tt7-card{width:auto!important;margin:0!important;max-width:none!important}
.tt7-catalog .tt7-image{width:100%!important;aspect-ratio:4/3!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#edf2f7!important}
.tt7-catalog .tt7-image img{width:100%!important;height:100%!important;object-fit:contain!important;max-width:none!important}
.tt7-catalog .tt7-card-body{padding:20px!important}
.tt7-catalog .tt7-card h3{font-size:21px!important;line-height:1.35!important;margin:0 0 12px!important}
.tt7-catalog .tt7-cta{display:flex!important;background:#ff542d!important;color:#fff!important;border-radius:8px!important;padding:13px 17px!important}
.tt7-catalog .tt7-cta:hover{background:#e74420!important}
@media(max-width:900px){.tt7-catalog .tt7-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.tt7-catalog .tt7-grid{grid-template-columns:1fr!important}.tt7-catalog .tt7-filters label{flex:1 1 100%!important}.tt7-catalog .tt7-filters{padding:16px!important}}

/* v1.0: dostosowanie katalogu do malych ekranow */
.tt7-catalog{width:100%;min-width:0;position:relative;clear:both}
.tt7-catalog .tt7-heading h2{overflow-wrap:anywhere}
.tt7-catalog .tt7-card,.tt7-catalog .tt7-grid{min-width:0}
.tt7-catalog .tt7-card-body{min-width:0}
.tt7-catalog .tt7-card h3{overflow-wrap:anywhere}
.tt7-catalog .tt7-filters>a{align-self:center}
@media(max-width:900px){.tt7-catalog{padding-left:16px;padding-right:16px}.tt7-catalog .tt7-grid{gap:18px!important}}
@media(max-width:600px){
 .tt7-catalog{padding-left:12px;padding-right:12px;margin-bottom:50px}
 .tt7-catalog .tt7-heading{margin-bottom:22px}
 .tt7-catalog .tt7-heading h2{font-size:clamp(27px,8vw,36px)!important;line-height:1.15}
 .tt7-catalog .tt7-filters{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px!important}
 .tt7-catalog .tt7-filters label{grid-column:1/-1;min-width:0!important;width:100%}
 .tt7-catalog .tt7-filters button{grid-column:1;min-width:0;width:100%}
 .tt7-catalog .tt7-filters>a{grid-column:2;text-align:center;padding:10px 4px}
 .tt7-catalog .tt7-grid{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
 .tt7-catalog .tt7-card-body{padding:18px!important}
 .tt7-catalog .tt7-cta{min-height:46px;align-items:center}
}



/* v1.5: isolated catalog filter controls (no labels as grid/flex items). */
.tt7-catalog form.tt7-filters {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto!important;
  align-items:end!important;
  align-content:start!important;
  gap:14px!important;
  height:auto!important;
  min-height:0!important;
  padding:22px!important;
  margin:0 0 30px!important;
}
.tt7-catalog form.tt7-filters > .tt7-filter-field,
.tt7-catalog form.tt7-filters > .tt7-filter-action,
.tt7-catalog form.tt7-filters > .tt7-filter-reset {
  display:block!important;
  position:static!important;
  min-width:0!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  flex:none!important;
  align-self:end!important;
}
.tt7-catalog form.tt7-filters .tt7-filter-field > label {
  display:block!important;
  float:none!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 0 6px!important;
  padding:0!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:18px!important;
}
.tt7-catalog form.tt7-filters .tt7-filter-field > input,
.tt7-catalog form.tt7-filters .tt7-filter-field > select {
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  margin:0!important;
  padding:8px 12px!important;
  border:1px solid #d4dce5!important;
  border-radius:8px!important;
  background:#fff!important;
}
.tt7-catalog form.tt7-filters .tt7-filter-action > button {
  display:block!important;
  width:100%!important;
  height:44px!important;
  min-height:44px!important;
  margin:0!important;
  padding:8px 20px!important;
  border:0!important;
  border-radius:8px!important;
  background:#ff542d!important;
  color:#fff!important;
  font-weight:800!important;
  cursor:pointer;
}
.tt7-catalog form.tt7-filters .tt7-filter-reset > a {
  display:block!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:10px 4px!important;
  color:#132a46!important;
  text-align:center!important;
  text-decoration:underline!important;
}
@media (max-width:991px) {
  body:has(.tt7-catalog) .site-navigation.fixed-top {
    position:relative!important;top:auto!important;left:auto!important;
    right:auto!important;width:100%!important;background:#1e1e1e!important;z-index:20;
  }
}
@media (max-width:600px) {
  .tt7-catalog{max-width:100%;margin:24px auto 48px!important;padding:0 12px!important}
  .tt7-catalog .tt7-heading{margin-bottom:20px!important}
  .tt7-catalog .tt7-heading h2{font-size:clamp(26px,8vw,34px)!important;line-height:1.2!important}
  body .tt7-catalog form.tt7-filters {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:none!important;
    grid-auto-rows:max-content!important;
    align-items:start!important;
    align-content:start!important;
    justify-content:stretch!important;
    row-gap:12px!important;
    column-gap:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:16px!important;
    margin:0 0 22px!important;
  }
  body .tt7-catalog form.tt7-filters > .tt7-filter-field,
  body .tt7-catalog form.tt7-filters > .tt7-filter-action,
  body .tt7-catalog form.tt7-filters > .tt7-filter-reset {
    grid-column:1 / -1!important;
    grid-row:auto!important;
    align-self:start!important;
    justify-self:stretch!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
  }
  body .tt7-catalog form.tt7-filters .tt7-filter-action > button {height:46px!important;min-height:46px!important}
  body .tt7-catalog form.tt7-filters .tt7-filter-reset > a {padding:3px 0!important}
  .tt7-catalog .tt7-grid{grid-template-columns:minmax(0,1fr)!important}
}

/* v1.7.1: trzy pola filtrów + działania, bez zmiany mobilnej v1.6 */
@media (min-width: 901px) {
  body .tt7-catalog form.tt7-filters {
    grid-template-columns: repeat(3,minmax(0,1fr)) auto auto !important;
    align-items: end !important;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  body .tt7-catalog form.tt7-filters {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    align-items: end !important;
  }
  body .tt7-catalog form.tt7-filters > .tt7-filter-action,
  body .tt7-catalog form.tt7-filters > .tt7-filter-reset {
    align-self: end !important;
  }
}
