/* Unified public system — extends the current homepage language to every customer-facing surface. */
:root {
  --zp-paper:#fbf7f3;
  --zp-surface:#fffdfb;
  --zp-surface-soft:#f8f1ed;
  --zp-ink:#241d1f;
  --zp-muted:#74696b;
  --zp-line:rgba(79,52,58,.14);
  --zp-red:#df1730;
  --zp-red-hover:#bf1026;
  --zp-pink:#f14d70;
  --zp-radius:9px;
  --zp-shadow:0 18px 44px rgba(67,37,43,.07);
}

/* Shared public canvas and type. */
.public-site,
.public-subpage {
  min-height:60vh;
  background:var(--zp-paper);
  color:var(--zp-ink);
  font-family:"Inter Variable",Inter,Arial,sans-serif;
}
.public-site :is(h1,h2,h3,h4),
.public-subpage :is(h1,h2,h3,h4) {
  color:var(--zp-ink);
  font-family:"Inter Variable",Inter,Arial,sans-serif;
  font-weight:750;
  letter-spacing:-.055em;
}
.public-site :is(p,li,dd),
.public-subpage :is(p,li,dd) { color:var(--zp-muted); }
.public-site .container,
.public-subpage .container { width:min(calc(100% - 3rem),1180px); }
.public-site .eyebrow,
.public-subpage .eyebrow {
  color:var(--zp-red);
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.public-site .display,
.public-subpage .display {
  max-width:14ch;
  margin-bottom:24px;
  font-size:clamp(54px,6vw,88px);
  line-height:.92;
  letter-spacing:-.075em;
}
.public-site .lead,
.public-subpage .lead { max-width:58ch; color:var(--zp-muted); font-size:clamp(15px,1.3vw,18px); line-height:1.65; }
.public-site .section-title,
.public-subpage .section-title { font-size:clamp(38px,4.4vw,62px); line-height:.96; }
.public-site .text-link,
.public-subpage .text-link { color:var(--zp-red); font-weight:750; }

/* Headers use the same light editorial bar as the homepage. */
.nr-public-header,
.subpage-homebar,
.eshop-header {
  border-bottom:1px solid var(--zp-line);
  background:rgba(255,253,251,.94);
  box-shadow:none;
  backdrop-filter:blur(18px) saturate(145%);
  -webkit-backdrop-filter:blur(18px) saturate(145%);
}
.nr-public-header.is-scrolled { background:rgba(255,253,251,.88); box-shadow:0 12px 30px rgba(67,37,43,.055); }
.nr-public-header .nr-nav,
.nr-public-header .nr-about-menu summary { border-color:var(--zp-line); background:transparent; }
.nr-public-header .nr-cart-trigger,
.nr-public-header .nr-menu-trigger,
.subpage-homebar-back { border-color:var(--zp-line); border-radius:7px; background:var(--zp-surface); box-shadow:none; }
.nr-about-menu>div,
.nr-mobile-nav {
  border-color:var(--zp-line);
  border-radius:var(--zp-radius);
  background:var(--zp-surface);
  box-shadow:var(--zp-shadow);
}
.nr-about-menu>div a { border-radius:6px; }
.nr-about-menu>div a:hover { background:#fff0f3; }

/* Homepage navigation follows the page from the first content section to the final action. */
@media (min-width:901px) {
  .nr-public-header .nr-tabs {
    width:min(68vw,820px);
  }
  .nr-public-header .nr-tabs .nr-tab {
    padding-inline:4px;
    font-size:10.5px;
  }
}
@media (min-width:901px) and (max-width:1180px) {
  .nr-public-header .nr-about-menu-desktop { display:none; }
  .nr-public-header .nr-tabs { width:min(70vw,720px); }
  .nr-public-header .nr-tabs .nr-tab { font-size:9.5px; }
}

:is(#segmenty,#reseni,#software,#cenik,#reseni-na-miru,#hardware,#konzultace) {
  scroll-margin-top:76px;
}

/* Page hero pattern. */
.public-site :is(.page-hero,.catalog-hero,.segment-landing-hero,.ia-hero) {
  position:relative;
  overflow:hidden;
  padding:clamp(76px,8vw,125px) 0 clamp(72px,8vw,112px);
  border-bottom:1px solid var(--zp-line);
  background:
    radial-gradient(circle at 84% 20%,rgba(241,77,112,.13),transparent 32%),
    var(--zp-paper);
}
.public-site :is(.page-hero,.catalog-hero)::after {
  position:absolute;
  right:clamp(24px,7vw,110px);
  bottom:-80px;
  width:260px;
  height:260px;
  border:1px solid rgba(223,23,48,.11);
  border-radius:50%;
  content:"";
}
.public-site .breadcrumbs { color:var(--zp-muted); font-size:11px; }
.public-site .breadcrumbs a:hover { color:var(--zp-red); }

/* Sections and editorial dividers. */
.public-site .section,
.public-subpage .section { padding:clamp(72px,8vw,120px) 0; background:var(--zp-paper); }
.public-site .section + .section,
.public-subpage .section + .section { border-top:1px solid var(--zp-line); }
.public-site .section-compact { padding-block:clamp(48px,6vw,82px); }
.public-site hr { border:0; border-top:1px solid var(--zp-line); }

/* All customer-facing cards. */
.public-site :is(.surface,.content-card,.ia-card,.segment-landing-card,.cms-faq,.cta,.feature-card,.reference-card,.article-card),
.public-subpage :is(.surface,.content-card,.ia-card,.segment-landing-card,.cms-faq,.cta,.feature-card,.reference-card,.article-card) {
  border:1px solid var(--zp-line);
  border-radius:var(--zp-radius);
  background:var(--zp-surface);
  box-shadow:none;
}
.public-site :is(.content-card,.ia-card,.segment-landing-card,.feature-card,.reference-card,.article-card),
.public-subpage :is(.content-card,.ia-card,.segment-landing-card,.feature-card,.reference-card,.article-card) { transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease; }
.public-site :is(.content-card,.ia-card,.segment-landing-card,.feature-card,.reference-card,.article-card):hover,
.public-subpage :is(.content-card,.ia-card,.segment-landing-card,.feature-card,.reference-card,.article-card):hover {
  border-color:rgba(223,23,48,.28);
  box-shadow:var(--zp-shadow);
  transform:translateY(-2px);
}
.public-site .ia-card-grid,
.public-site .segment-landing-grid { gap:14px; }
.public-site .ia-card { min-height:230px; padding:28px; }
.public-site .ia-card h2 { font-size:28px; }
.public-site .cta { padding:clamp(30px,5vw,58px); }

/* Buttons, pills and links. */
.public-site .button,
.public-subpage .button,
.cookie-panel .button,
.shop-product-modal .button {
  min-height:42px;
  border-radius:7px;
  font-weight:780;
  box-shadow:none;
}
.public-site .button-primary,
.public-subpage .button-primary,
.cookie-panel .button-primary,
.shop-product-modal .button-primary {
  border-color:var(--zp-red);
  background:var(--zp-red);
  color:#fff;
}
.public-site .button-primary:hover,
.public-subpage .button-primary:hover,
.cookie-panel .button-primary:hover,
.shop-product-modal .button-primary:hover { border-color:var(--zp-red-hover); background:var(--zp-red-hover); }
.public-site .button-secondary,
.public-subpage .button-secondary,
.cookie-panel .button-secondary {
  border-color:var(--zp-line);
  background:var(--zp-surface);
  color:var(--zp-ink);
}

/* Forms across inquiries, checkout, support and configurator. */
.public-site :is(.form,.zp-checkout-card,.zp-order-summary,.configurator-card,.support-card),
.public-subpage :is(.form,.zp-checkout-card,.zp-order-summary,.configurator-card,.support-card) {
  border:1px solid var(--zp-line);
  border-radius:var(--zp-radius);
  background:var(--zp-surface);
  box-shadow:none;
}
.public-site .form { padding:clamp(24px,4vw,42px); }
.public-site .field label,
.public-subpage .field label { color:var(--zp-ink); font-size:11px; font-weight:780; }
.public-site :is(input,textarea,select),
.public-subpage :is(input,textarea,select),
.cookie-panel :is(input,textarea,select) {
  border:1px solid var(--zp-line);
  border-radius:6px;
  background:#fff;
  color:var(--zp-ink);
  box-shadow:none;
}
.public-site :is(input,textarea,select):focus,
.public-subpage :is(input,textarea,select):focus {
  border-color:rgba(223,23,48,.58);
  outline:3px solid rgba(223,23,48,.09);
}
.public-site .field-error { color:#b20f24; }

/* Catalog, category, products. */
.public-site .catalog-section { padding:clamp(50px,6vw,90px) 0 120px; background:var(--zp-paper); }
.public-site .catalog-filters {
  gap:10px;
  padding:14px;
  border:1px solid var(--zp-line);
  border-radius:var(--zp-radius);
  background:var(--zp-surface);
  box-shadow:none;
}
.public-site .catalog-reset { color:var(--zp-red); }
.public-site .catalog-count { color:var(--zp-muted); font-size:11px; font-weight:780; letter-spacing:.08em; text-transform:uppercase; }
.public-site .product-grid { gap:14px; }
.public-site .product-card {
  overflow:hidden;
  border:1px solid var(--zp-line);
  border-radius:var(--zp-radius);
  background:var(--zp-surface);
  box-shadow:none;
}
.public-site .product-card:hover { border-color:rgba(223,23,48,.25); box-shadow:var(--zp-shadow); }
.public-site .shop-product-card-image { background:#f3f0ed; }
.public-site .shop-product-card-body { background:var(--zp-surface); }
.public-site .shop-product-meta { color:var(--zp-red); }
.public-site .shop-product-card h2 { font-size:clamp(31px,3.4vw,49px); }
.public-site .product-benefits { border-color:var(--zp-line); }
.public-site .product-price { color:var(--zp-ink); }
.public-site .public-pagination { border-color:var(--zp-line); }

/* Product details and galleries. */
.public-site .product-hero { align-items:center; gap:clamp(38px,7vw,90px); }
.public-site .product-gallery,
.public-site .product-switch-gallery-main {
  border:1px solid var(--zp-line);
  border-radius:var(--zp-radius);
  background:var(--zp-surface);
  box-shadow:none;
}
.public-site .product-buy { border-color:var(--zp-line); }
.public-site .product-buy>strong { color:var(--zp-ink); }
.public-site .product-specs>div { border-color:var(--zp-line); }
.public-site .product-switch-gallery-thumbs button { border-color:var(--zp-line); border-radius:6px; box-shadow:none; }
.public-site .product-switch-gallery-thumbs button.is-active { border-color:var(--zp-red); }

/* Cart and checkout. */
.public-site :is(.zp-cart-main,.zp-order-summary,.zp-checkout-card,.zp-checkout-side) {
  border-color:var(--zp-line);
  border-radius:var(--zp-radius);
  background:var(--zp-surface);
  box-shadow:none;
}
.public-site :is(.zp-cart-section-head,.zp-checkout-heading,.zp-order-total,.zp-checkout-products article) { border-color:var(--zp-line); }
.public-site .zp-cart-quantity { border-color:var(--zp-line); border-radius:6px; background:#fff; }
.public-site .zp-cart-remove { color:var(--zp-red); }
.public-site .zp-checkout-toggle,
.public-site .zp-checkout-options label { border-color:var(--zp-line); border-radius:7px; background:#fff; }

/* Article and CMS content. */
.public-site .content-grid { gap:14px; }
.public-site .cms-media-block img,
.public-site .article-cover img { border:1px solid var(--zp-line); border-radius:var(--zp-radius); box-shadow:none; }
.public-site .cms-faq details { border-color:var(--zp-line); }
.public-site .article-meta { color:var(--zp-muted); }
.public-site blockquote { border-left:3px solid var(--zp-pink); background:var(--zp-surface-soft); }

/* Segment landing pages retain their photos but share the same frame. */
.public-site .segment-landing-hero-image,
.public-site .segment-landing-hardware img {
  overflow:hidden;
  border:1px solid var(--zp-line);
  border-radius:var(--zp-radius);
  background:#fff;
  box-shadow:none;
}
.public-site .segment-landing-soft { border-block:1px solid var(--zp-line); background:var(--zp-surface-soft); }
.public-site .segment-landing-service-steps>div { border-color:var(--zp-line); }

/* Quick product dialog. */
.shop-product-modal-overlay {
  background:rgba(44,30,34,.34);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.shop-product-modal {
  overflow:hidden;
  border:1px solid rgba(255,255,255,.7);
  border-radius:12px;
  background:var(--zp-paper);
  box-shadow:0 32px 90px rgba(48,26,31,.22);
  color:var(--zp-ink);
  font-family:"Inter Variable",Inter,Arial,sans-serif;
}
.shop-product-modal-visual { border-right:1px solid var(--zp-line); background:#f3f0ed; }
.shop-product-modal-copy { background:var(--zp-surface); }
.shop-product-modal-copy h2 { color:var(--zp-ink); font-size:clamp(34px,4vw,56px); font-weight:760; letter-spacing:-.06em; line-height:.96; }
.shop-product-modal-copy :is(p,li) { color:var(--zp-muted); }
.shop-product-modal-meta { color:var(--zp-red) !important; }
.shop-product-modal-price { color:var(--zp-ink); }
.shop-product-modal-close {
  border:1px solid var(--zp-line);
  border-radius:7px;
  background:var(--zp-surface);
  color:var(--zp-ink);
  box-shadow:none;
}
.shop-product-modal-full { color:var(--zp-red); }

/* Mini cart drawer. */
.zp-mini-cart-layer {
  background:rgba(44,30,34,.28);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}
.zp-mini-cart {
  border-left:1px solid var(--zp-line);
  background:var(--zp-paper);
  color:var(--zp-ink);
  box-shadow:-28px 0 80px rgba(48,26,31,.15);
  font-family:"Inter Variable",Inter,Arial,sans-serif;
}
.zp-mini-cart-header,
.zp-mini-cart-footer { border-color:var(--zp-line); background:var(--zp-surface); }
.zp-mini-cart-header p,
.zp-mini-cart-software-heading small { color:var(--zp-red); letter-spacing:.12em; text-transform:uppercase; }
.zp-mini-cart-header h2 { font-weight:760; letter-spacing:-.055em; }
.zp-mini-cart-header button,
.zp-mini-cart-line-total button,
.zp-mini-cart-quantity button { border-color:var(--zp-line); border-radius:6px; background:#fff; color:var(--zp-ink); }
.zp-mini-cart-lines article { border-color:var(--zp-line); }
.zp-mini-cart-lines article>img,
.zp-mini-cart-placeholder { border-radius:6px; background:#f3f0ed; }
.zp-mini-cart-copy>a { color:var(--zp-ink); font-weight:720; }
.zp-mini-cart-software { border:1px solid var(--zp-line); border-radius:var(--zp-radius); background:var(--zp-surface-soft); }
.zp-mini-cart-software>div>button { border-color:var(--zp-line); border-radius:7px; background:var(--zp-surface); }
.zp-mini-cart-software em { color:var(--zp-red); }
.zp-mini-cart-primary { border-radius:7px; background:var(--zp-red); box-shadow:none; }
.zp-mini-cart-primary:hover { background:var(--zp-red-hover); }
.zp-mini-cart-footer>button { color:var(--zp-red); }

/* Cookie settings. */
.cookie-panel {
  border:1px solid var(--zp-line);
  border-radius:var(--zp-radius);
  background:rgba(255,253,251,.97);
  color:var(--zp-ink);
  box-shadow:0 28px 70px rgba(48,26,31,.16);
  font-family:"Inter Variable",Inter,Arial,sans-serif;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.cookie-panel h2 { color:var(--zp-ink); font-weight:760; letter-spacing:-.05em; }
.cookie-panel p { color:var(--zp-muted); }
.cookie-panel fieldset { border-color:var(--zp-line); border-radius:7px; }
.cookie-panel>a { color:var(--zp-red); }

/* POS demo and other full-screen dialogs. */
.zp-pos-demo-layer { background:rgba(44,30,34,.28); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.zp-pos-demo-dialog { border-color:rgba(255,255,255,.72); border-radius:12px; background:var(--zp-paper); box-shadow:0 32px 90px rgba(48,26,31,.22); }
.zp-pos-demo-close { border-color:var(--zp-line); border-radius:7px; background:var(--zp-surface); color:var(--zp-red); box-shadow:none; }
.zp-pos-demo-app { border-radius:11px; }
.zp-pos-demo-rotate { border-radius:11px; background:var(--zp-surface); }

/* Footer stays light and follows the same divider system. */
.nr-footer { border-top:1px solid var(--zp-line); background:var(--zp-paper); color:var(--zp-ink); }
.nr-footer-wrap { width:min(calc(100% - 3rem),1180px); }
.nr-footer-top,
.nr-footer-bottom { border-color:var(--zp-line); }
.nr-footer-advice p,
.nr-footer-groups h2 { color:var(--zp-ink); }
.nr-footer-advice span,
.nr-footer-groups a,
.nr-footer-bottom { color:var(--zp-muted); }
.nr-footer-logo { border:1px solid var(--zp-line); border-radius:7px; background:#fff; }
.nr-footer-advice a { border-radius:7px; box-shadow:none; }
.nr-footer-groups a:hover,
.nr-footer-bottom a:hover { color:var(--zp-red); }
.nr-footer-bottom>span { border-color:var(--zp-line); border-radius:6px; color:var(--zp-muted); }

@media(max-width:900px) {
  .public-site .container,
  .public-subpage .container { width:min(calc(100% - 2rem),760px); }
  .public-site .display,.public-subpage .display { font-size:clamp(50px,10vw,72px); }
  .shop-product-modal { grid-template-columns:1fr; width:min(92vw,680px); max-height:90svh; overflow:auto; }
  .shop-product-modal-visual { min-height:320px; border-right:0; border-bottom:1px solid var(--zp-line); }
}

@media(max-width:600px) {
  .public-site .container,
  .public-subpage .container,
  .nr-footer-wrap { width:min(calc(100% - 1.5rem),520px); }
  .public-site :is(.page-hero,.catalog-hero,.segment-landing-hero,.ia-hero) { padding:60px 0 66px; }
  .public-site .display,.public-subpage .display { font-size:clamp(44px,13vw,58px); }
  .public-site .section,.public-subpage .section { padding-block:70px; }
  .public-site .catalog-filters { padding:10px; }
  .public-site .button,.public-subpage .button { width:100%; }
  .shop-product-modal { width:calc(100vw - 20px); border-radius:9px; }
  .shop-product-modal-copy { padding:25px 20px; }
  .shop-product-modal-visual { min-height:270px; }
  .zp-mini-cart { width:100%; border-left:0; }
  .cookie-panel { right:10px; bottom:10px; left:10px; width:auto; border-radius:9px; }
}

@media(prefers-reduced-motion:reduce) {
  .public-site *,
  .public-subpage *,
  .shop-product-modal *,
  .zp-mini-cart * { scroll-behavior:auto; transition:none !important; animation:none !important; }
}

/* Final enforcement: this file is linked after all legacy public styles. */
.public-site,
.public-subpage {
  --zp-paper:#fbf7f3;
  --zp-surface:#fffdfb;
  --zp-surface-soft:#f8f1ed;
  --zp-ink:#241d1f;
  --zp-muted:#74696b;
  --zp-line:rgba(79,52,58,.14);
  --zp-red:#df1730;
  --zp-red-hover:#bf1026;
  --zp-pink:#f14d70;
  --zp-radius:9px;
  --zp-shadow:0 18px 44px rgba(67,37,43,.07);
}
.public-site.public-subpage {
  background:var(--zp-paper) !important;
}
.public-site :is(.surface,.content-card,.ia-card,.segment-landing-card,.article-card,.pricing-card,.product-card,.nr-contact-card,.nr-info-card,.eet-legislation-card,.zp-checkout-card,.zp-order-summary),
.public-subpage :is(.surface,.content-card,.ia-card,.segment-landing-card,.article-card,.pricing-card,.product-card,.nr-contact-card,.nr-info-card,.eet-legislation-card,.zp-checkout-card,.zp-order-summary) {
  border:1px solid var(--zp-line) !important;
  border-radius:var(--zp-radius) !important;
  background-color:var(--zp-surface) !important;
  box-shadow:none !important;
}
.public-site :is(.button,.header-link-primary,.learn-more-button),
.public-subpage :is(.button,.header-link-primary,.learn-more-button) {
  border-radius:999px !important;
}

/* E-shop: three editorial product panels instead of the former full-width alternating rows. */
.public-site.catalog-page .catalog-hero {
  padding:clamp(86px,9vw,132px) 0 clamp(72px,7vw,100px) !important;
  border-bottom:1px solid var(--zp-line) !important;
  background:
    radial-gradient(circle at 83% 28%,rgba(241,77,112,.15),transparent 30%),
    var(--zp-paper) !important;
}
.public-site.catalog-page .catalog-hero .display {
  max-width:11ch !important;
  font-size:clamp(58px,6.5vw,92px) !important;
  font-weight:760 !important;
  line-height:.91 !important;
}
.public-site.catalog-page .catalog-section {
  padding:46px 0 120px !important;
  background:var(--zp-paper) !important;
}
.public-site.catalog-page .eshop-filters {
  position:relative !important;
  top:auto !important;
  margin:0 0 48px !important;
  padding:16px !important;
  border:1px solid var(--zp-line) !important;
  border-radius:var(--zp-radius) !important;
  background:var(--zp-surface) !important;
  box-shadow:none !important;
}
.public-site.catalog-page .product-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
}
.public-site.catalog-page .shop-product-card,
.public-site.catalog-page .shop-product-card:nth-child(even),
.public-site.catalog-page .shop-product-card:nth-child(3n) {
  display:grid !important;
  min-height:0 !important;
  grid-template-columns:1fr !important;
  grid-template-rows:300px minmax(0,1fr) !important;
  align-items:stretch !important;
  overflow:hidden !important;
  border:1px solid var(--zp-line) !important;
  border-radius:var(--zp-radius) !important;
  background:var(--zp-surface) !important;
  box-shadow:none !important;
}
.public-site.catalog-page .shop-product-card:nth-child(even) .shop-product-card-image,
.public-site.catalog-page .shop-product-card:nth-child(even) .shop-product-card-body {
  grid-column:auto !important;
  grid-row:auto !important;
}
.public-site.catalog-page .shop-product-card-image {
  width:100% !important;
  height:300px !important;
  padding:30px !important;
  border-bottom:1px solid var(--zp-line) !important;
  background:var(--zp-surface-soft) !important;
}
.public-site.catalog-page .shop-product-card-image img,
.public-site.catalog-page .shop-product-card-image .product-placeholder {
  width:90% !important;
  height:90% !important;
  max-height:245px !important;
  filter:drop-shadow(0 16px 22px rgba(35,30,32,.11)) !important;
}
.public-site.catalog-page .shop-product-card-body {
  min-height:0 !important;
  justify-content:flex-start !important;
  padding:28px 26px 30px !important;
  background:var(--zp-surface) !important;
}
.public-site.catalog-page .shop-product-card h2 {
  max-width:13ch !important;
  margin-bottom:14px !important;
  font-size:clamp(28px,2.5vw,38px) !important;
  line-height:.96 !important;
}
.public-site.catalog-page .shop-product-card .product-summary {
  min-height:4.8em !important;
  margin-bottom:18px !important;
  font-size:13px !important;
  line-height:1.55 !important;
}
.public-site.catalog-page .shop-product-card .product-benefits {
  min-height:0 !important;
  margin-bottom:18px !important;
}
.public-site.catalog-page .shop-product-purchase { margin-top:auto !important; }
.public-site.catalog-page .shop-product-actions { margin-top:14px !important; }
.public-site.catalog-page .shop-product-card:hover {
  border-color:rgba(223,23,48,.32) !important;
  box-shadow:var(--zp-shadow) !important;
  transform:translateY(-2px);
}

@media(max-width:1000px) {
  .public-site.catalog-page .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media(max-width:620px) {
  .public-site.catalog-page .catalog-hero { padding:62px 0 68px !important; }
  .public-site.catalog-page .product-grid { grid-template-columns:1fr !important; }
  .public-site.catalog-page .shop-product-card,
  .public-site.catalog-page .shop-product-card:nth-child(even),
  .public-site.catalog-page .shop-product-card:nth-child(3n) { grid-template-rows:280px minmax(0,1fr) !important; }
  .public-site.catalog-page .shop-product-card-image { height:280px !important; }
  .public-site.catalog-page .shop-product-card-body { padding:26px 22px 28px !important; }
  .public-site.catalog-page .shop-product-card h2 { font-size:36px !important; }
}

/* Dynamic public routes with legacy high-specificity selectors. */
.public-site.public-subpage :is(.surface,.content-card,.ia-card,.segment-landing-card,.article-card,.pricing-card,.product-card,.nr-contact-card,.nr-info-card,.eet-legislation-card,.faq-filters,.zp-checkout-card,.zp-order-summary) {
  border:1px solid var(--zp-line) !important;
  border-radius:var(--zp-radius) !important;
  background-color:var(--zp-surface) !important;
  box-shadow:none !important;
}
.public-site.public-subpage .catalog-section .product-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
}
.public-site.public-subpage .catalog-section .shop-product-card,
.public-site.public-subpage .catalog-section .shop-product-card:nth-child(even) {
  display:grid !important;
  min-height:0 !important;
  grid-template-columns:1fr !important;
  grid-template-rows:280px minmax(0,1fr) !important;
  overflow:hidden !important;
  border:1px solid var(--zp-line) !important;
  border-radius:var(--zp-radius) !important;
  background:var(--zp-surface) !important;
}
.public-site.public-subpage .catalog-section .shop-product-card:nth-child(even) .shop-product-card-image,
.public-site.public-subpage .catalog-section .shop-product-card:nth-child(even) .shop-product-card-body {
  grid-column:auto !important;
  grid-row:auto !important;
}
.public-site.public-subpage .catalog-section .shop-product-card-image {
  height:280px !important;
  padding:28px !important;
  border-bottom:1px solid var(--zp-line) !important;
  background:var(--zp-surface-soft) !important;
}
.public-site.public-subpage .catalog-section .shop-product-card-image img {
  width:90% !important;
  height:90% !important;
  max-height:230px !important;
  object-fit:contain !important;
}
.public-site.public-subpage .catalog-section .shop-product-card-body {
  min-height:0 !important;
  padding:26px 24px 28px !important;
  background:var(--zp-surface) !important;
}
.public-site.public-subpage .catalog-section .shop-product-card h2 {
  font-size:clamp(27px,2.4vw,36px) !important;
  line-height:.98 !important;
}
@media(max-width:1000px) {
  .public-site.public-subpage .catalog-section .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media(max-width:620px) {
  .public-site.public-subpage .catalog-section .product-grid { grid-template-columns:1fr !important; }
}
