/* v1.2.0 — plugin-only patch, no theme files changed */
.home .product-rail{align-items:stretch!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.home .product-card{height:100%!important;display:flex!important;flex-direction:column!important;transform:none!important}
.home .product-card .product-info{display:flex!important;flex-direction:column!important;flex:1!important}
.home .product-card .product-request{margin-top:auto!important}

.jzcat-fullbleed{position:relative;left:50%;width:100vw;margin-left:-50vw;margin-top:0;background:#fff;color:#091824;font-family:inherit}
.jzcat-fullbleed *{box-sizing:border-box}
.jzcat-wrap{width:min(1210px,calc(100% - 48px));margin:0 auto}
.jzcat-hero{position:relative;min-height:460px;overflow:hidden;background:#0e68aa;color:#fff}
.jzcat-hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(8,91,157,.96) 0%,rgba(12,103,170,.80) 38%,rgba(12,73,122,.28) 100%),url('images/category-hero.jpg');background-size:cover;background-position:center 43%}
.jzcat-hero .jzcat-wrap{position:relative;z-index:2;height:460px;display:flex;align-items:center}
.jzcat-hero-copy{width:520px;padding-top:14px}
.jzcat-hero-kicker{font-size:11px;line-height:1.2;font-weight:700;letter-spacing:.19em;color:#075198;margin-bottom:26px;text-transform:uppercase}
.jzcat-hero h1{margin:0;color:#fff;font-size:58px;line-height:.93;letter-spacing:-.045em;font-weight:650;text-transform:uppercase}
.jzcat-hero p{margin:24px 0 0;max-width:470px;color:rgba(255,255,255,.83);font-size:14px;line-height:1.58}

.jzcat-body{background:#fff;padding:96px 0 128px;min-height:820px}
.jzcat-layout{display:grid;grid-template-columns:185px minmax(0,1fr);gap:66px;align-items:start}
.jzcat-filter{padding-top:104px;position:sticky;top:95px}
.jzcat-filter-line{width:100%;height:2px;background:#0d67ab;margin-bottom:18px}
.jzcat-kicker{font-size:9px;letter-spacing:.12em;font-weight:700;color:#0e69ad;margin-bottom:8px}
.jzcat-filter h3{font-size:27px;line-height:1.1;margin:0 0 20px;font-weight:600;letter-spacing:-.04em}
.jzcat-filter nav{border-top:1px solid #d4dde5}
.jzcat-filter nav a{display:grid;grid-template-columns:31px 1fr 16px;gap:8px;align-items:center;min-height:42px;border-bottom:1px solid #d4dde5;color:#25323c;text-decoration:none;padding:0 2px;font-size:8px;font-weight:650;letter-spacing:.02em}
.jzcat-filter nav a.is-active{background:#f0f3f5;border-left:2px solid #0869ae;padding-left:0}
.jzcat-nav-code{color:#0b68ad;font-size:8px}.jzcat-nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jzcat-nav-arrow{font-size:11px;text-align:right;color:#6a7680}

.jzcat-main{min-width:0}
.jzcat-intro{display:grid;grid-template-columns:1.08fr .92fr;gap:80px;align-items:start;margin-bottom:58px}
.jzcat-series-kicker{font-size:9px;font-weight:700;letter-spacing:.13em;color:#0869ae;text-transform:uppercase;display:flex;gap:10px;align-items:center;margin-bottom:18px}.jzcat-series-kicker i{width:23px;height:1px;background:#0b69ad;display:inline-block}
.jzcat-intro h2{font-size:52px;line-height:.91;letter-spacing:-.055em;margin:0;font-weight:600;color:#02070b}
.jzcat-intro>p{font-size:13px;line-height:1.65;color:#6f7a82;margin:14px 0 0;max-width:440px}
.jzcat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.jzcat-card{min-width:0;display:flex;flex-direction:column;align-items:flex-start;transition:transform .25s ease}
@media (hover:hover) and (pointer:fine){.jzcat-card:hover{transform:translateY(-8px)}}
.jzcat-card-image{position:relative;width:100%;aspect-ratio:1.12/1;background:#5da8ef;overflow:hidden;border:1px solid rgba(11,102,170,.26)}
.jzcat-card-image img{width:100%;height:100%;object-fit:cover;display:block}
.jzcat-card-image span{position:absolute;right:0;bottom:0;background:#004f87;color:#fff;font-size:8px;font-weight:700;padding:8px 10px;letter-spacing:.05em}
.jzcat-card-line{width:100%;height:17px;display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:10px}.jzcat-card-line i{width:38px;height:1px;background:#0c69ad}.jzcat-card-line b{display:block;width:48px;height:8px;background:#075d9c}
.jzcat-card-label{font-size:8px;color:#0a69ad;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.jzcat-card h3{margin:0 0 11px;font-size:23px;line-height:.98;letter-spacing:-.035em;font-weight:600;color:#101417;min-height:45px}
.jzcat-card-spec{font-size:9px;color:#48545c;font-weight:650;margin-bottom:14px}
.jzcat-card>p{font-size:10px;line-height:1.6;color:#7b858b;margin:0;min-height:48px}
.jzcat-detail{margin-top:31px;color:#1a2b36!important;text-decoration:none!important;font-size:8px!important;font-weight:700!important;border-bottom:1px solid #0c69ad;padding-bottom:7px;display:inline-flex;gap:16px;align-items:center}.jzcat-detail span{font-size:12px}

@media(max-width:1024px){.jzcat-wrap{width:90%}.jzcat-layout{grid-template-columns:165px 1fr;gap:40px}.jzcat-intro{gap:42px}.jzcat-intro h2{font-size:44px}.jzcat-hero h1{font-size:52px}}
@media(max-width:760px){.home .product-rail{grid-template-columns:1fr!important}.jzcat-wrap{width:95%}.jzcat-hero,.jzcat-hero .jzcat-wrap{min-height:390px;height:390px}.jzcat-hero h1{font-size:43px}.jzcat-hero-copy{width:90%}.jzcat-body{padding:58px 0 88px}.jzcat-layout{display:block}.jzcat-filter{position:static;padding-top:0;margin-bottom:56px}.jzcat-filter nav{display:grid;grid-template-columns:1fr 1fr}.jzcat-filter nav a{padding:0 8px}.jzcat-intro{grid-template-columns:1fr;gap:24px;margin-bottom:38px}.jzcat-intro h2{font-size:43px}.jzcat-grid{grid-template-columns:1fr;gap:46px}.jzcat-card h3,.jzcat-card>p{min-height:0}.jzcat-card-image{aspect-ratio:1.22/1}.jzcat-detail{margin-top:22px}}

/* v1.4.0: Products backend is the single source for collection + category pages */
.jzpc-dynamic-catalog-grid .catalog-card{display:flex!important;flex-direction:column!important;height:100%!important}
.jzpc-dynamic-catalog-grid .catalog-card-copy{display:flex!important;flex-direction:column!important;flex:1!important}
.jzpc-dynamic-catalog-grid .catalog-link{margin-top:auto!important}
.jzpc-dynamic-catalog-grid .catalog-card-image{aspect-ratio:1/1!important;overflow:hidden!important;background:#5da8ef!important}
.jzpc-dynamic-catalog-grid .catalog-card-image img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}

/* v1.4.3 — homepage Product Range: restore full-height, uncropped square images */
.home .products-section .product-rail > .product-card .product-media-wrap{
  flex:0 0 auto!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  background:transparent!important;
}
.home .products-section .product-rail > .product-card .product-media,
.home .products-section .product-rail > .product-card figure.product-media{
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
}
.home .products-section .product-rail > .product-card .product-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
@media(max-width:620px){
  .home .products-section .product-rail > .product-card .product-media-wrap{
    aspect-ratio:1/1!important;
    height:auto!important;
    flex-basis:auto!important;
  }
}

/* v1.4.5 — homepage Product Range: editor title sync + fixed text baselines.
   1) PHP no longer overwrites K6 title/description, so Gutenberg stays authoritative.
   2) Reserve two title lines on every card so descriptions always start on one row. */
.home .products-section .product-rail > .product-card .product-info{
  padding:20px 20px 16px!important;
  gap:0!important;
}
.home .products-section .product-rail > .product-card .product-info > p:first-child{
  margin:0 0 9px!important;
  min-height:13px!important;
  line-height:1.3!important;
}
.home .products-section .product-rail > .product-card .product-info h3{
  margin:0 0 8px!important;
  height:52px!important;
  min-height:52px!important;
  max-height:52px!important;
  line-height:1.18!important;
  overflow:hidden!important;
  display:block!important;
}
.home .products-section .product-rail > .product-card .product-desc{
  margin:0!important;
  min-height:38px!important;
  line-height:1.45!important;
}
.home .products-section .product-rail > .product-card .product-request{
  margin-top:auto!important;
  padding-top:12px!important;
  min-height:0!important;
}
@media(max-width:620px){
  .home .products-section .product-rail > .product-card .product-info{
    padding:15px 13px!important;
  }
  .home .products-section .product-rail > .product-card .product-info h3{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin-bottom:8px!important;
    overflow:visible!important;
  }
  .home .products-section .product-rail > .product-card .product-desc{
    min-height:0!important;
  }
}
