.carlo-realizacje { max-width:1200px;margin:48px auto;padding:24px 16px;text-align:center; }
.carlo-realizacje h2 { font-size:clamp(26px,4vw,36px);margin:0 0 12px;color:#153853; }
.carlo-realizacje-intro { margin:0 auto 28px;max-width:680px;line-height:1.6; }
.carlo-realizacje-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px; }
.carlo-realizacje-item { margin:0;border:1px solid #e0e8ed;border-radius:8px;overflow:hidden;background:white; }
.carlo-realizacje-item[hidden], [data-carlo-more][hidden] { display:none!important; }
.carlo-realizacje-item a { display:block; }
.carlo-realizacje-item img { display:block;width:100%;aspect-ratio:1/1;object-fit:contain;transition:transform .2s; }
.carlo-realizacje-item a:hover img { transform:scale(1.035); }
.carlo-realizacje-item figcaption { padding:8px 12px;font-size:13px;color:#37556b; }
.carlo-realizacje-more { margin:28px auto 0;padding:12px 24px;border:0;border-radius:4px;background:#008ad0;color:#fff;font-weight:700;cursor:pointer; }
#carlo-photo-dialog { border:0;border-radius:8px;padding:32px 12px 12px;max-width:95vw;max-height:95vh; }
#carlo-photo-dialog::backdrop { background:#102739cc; }
#carlo-photo-dialog img { display:block;max-width:85vw;max-height:80vh;object-fit:contain; }
#carlo-photo-dialog button { position:absolute;right:6px;top:3px;background:white;border:0;font-size:26px;cursor:pointer; }
.carlo-shipping-note { clear:both;margin:12px 0;color:#174a66;font-size:14px;font-weight:600;line-height:1.5; }
.carlo-b2b-concepts img { aspect-ratio:1/1;object-fit:contain;background:#fff; }
@media(max-width:767px) { .carlo-realizacje-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }.carlo-realizacje {margin:24px auto;padding:20px 12px;} }

/* Required combination choice on catalogue cards. */
form.cf-buy button:disabled, form.cf-buy input[type="submit"]:disabled {
  opacity: .45 !important; cursor: not-allowed !important;
}

/* One product breadcrumb, and a left-hand rail showing at most five thumbnails. */
@media (min-width: 768px) {
  body#product .cf-product-page .cf-gallery {
    display: flex !important; flex-direction: row !important;
    align-items: flex-start !important; gap: 16px !important;
  }
  body#product .cf-product-page .cf-gallery > .cf-cover {
    order: 2 !important; flex: 1 1 0 !important; min-width: 0 !important;
  }
  body#product .cf-product-page .cf-gallery > .cf-thumbs {
    order: 1 !important; flex: 0 0 116px !important; width: 116px !important;
    display: flex !important; flex-direction: column !important;
    flex-wrap: nowrap !important; gap: 10px !important; padding: 0 4px !important;
  }
  body#product .cf-product-page .cf-thumbs > .cf-thumb-button {
    box-sizing: border-box !important; flex: 0 0 118px !important;
    height: 118px !important; min-height: 118px !important; max-height: 118px !important;
    width: 94px !important; margin: 0 !important; padding: 4px !important;
  }
  body#product .cf-product-page .cf-thumbs > .cf-thumb-button img {
    width: 84px !important; height: 108px !important; object-fit: contain !important;
  }
  body#product .cf-product-page .cf-gallery > .cf-thumbs-scrollable {
    max-height: 630px !important; overflow-y: auto !important; overflow-x: hidden !important;
    overscroll-behavior-y: contain; scrollbar-width: thin; scrollbar-gutter: stable;
  }
}
body#product .cf-product-page .product-add-to-cart .carlo-shipping-note {
  display: block !important; float: none !important; width: 100% !important;
  flex: 0 0 100% !important; text-align: left !important; word-spacing: normal !important;
}

/* The template already contains the phone glyph; suppress its CSS duplicate. */
body#product .cf-product-page .cf-help-phone::before {
  content: none !important; display: none !important;
}

/* Product breadcrumb: a single full-width pale band, independent of legacy hidden breadcrumb rules. */
body#product #wrapper > .carlo-product-breadcrumb-band {
  display: block !important; width: 100% !important; margin: 0 0 18px !important;
  padding: 0 !important; background: #f4f8fb !important;
  border-top: 1px solid #e3ebf1; border-bottom: 1px solid #d8e4ec;
}
body#product .carlo-product-breadcrumb-band > .container {
  width: calc(100% - 48px) !important; max-width: 1400px !important;
  padding: 0 !important; margin: 0 auto !important;
}
body#product .carlo-product-breadcrumb-nav { display: block !important; padding: 12px 0 !important; }
body#product .carlo-product-breadcrumb-nav ol {
  display: flex !important; flex-wrap: wrap !important; align-items: center !important;
  margin: 0 !important; padding: 0 !important; list-style: none !important;
}
body#product .carlo-product-breadcrumb-nav li { display: inline-flex; align-items: center; line-height: 1.6; }
body#product .carlo-product-breadcrumb-nav li:not(:last-child)::after { content: "\203A"; margin: 0 10px; color: #78909f; }
body#product .carlo-product-breadcrumb-nav a { color: #536b7e; font: 13px/1.6 Arial, sans-serif; }
body#product .carlo-product-breadcrumb-nav li:last-child a { color: #08275b; font-weight: 700; }
body#product .carlo-product-breadcrumb-nav a:hover { color: #078bd0; text-decoration: underline; }
@media(max-width:767px) {
  body#product .carlo-product-breadcrumb-band > .container { width: calc(100% - 24px) !important; }
}
