.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS *//* Header: hamburger menu below 1280px (desktop menu does not fit) */
@media (max-width: 1279px) {
  .elementor-element-5c562a64 { display: none !important; }
  .elementor-element-1dfd71e8 { display: flex !important; flex-direction: column; order: 3; }
  .elementor-element-1eaa7a8c { order: 2; margin-left: auto !important; }
}
.elementor-element-5c562a64 .e-accordion-item, .elementor-element-5c562a64 p { white-space: nowrap; }

/* Product families and technical tables: collapsible on phones, always open from 768px up */
@media (min-width: 768px) {
  .pt-fam-acc > details::details-content { content-visibility: visible !important; display: block !important; height: auto !important; }
  .pt-fam-acc > details > summary { pointer-events: none; cursor: default; }
  .pt-fam-acc > details > summary .e-accordion-item-icon-base { display: none !important; }
  .pt-fam-acc > details > .e-accordion-item-content-base { display: flex !important; }
  .pt-fam-acc > details > summary:has(.pt-faq-q) { display: none !important; }
}
.pt-fam-acc > details > summary { list-style: none; }
.pt-fam-acc > details > summary::-webkit-details-marker { display: none; }

/* Product galleries: mosaic layout, reveal on scroll, hover lift, click to enlarge */
.pt-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; grid-template-rows: none !important; grid-auto-rows: 250px; grid-auto-flow: dense; gap: 16px !important; }
.pt-gallery:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.pt-gallery > * { display: block !important; width: 100% !important; height: 100% !important; min-width: 0; border-radius: 14px; transition: translate .5s cubic-bezier(.2,.7,.2,1), scale .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s, filter .4s; }
.pt-gallery > a { cursor: zoom-in; box-shadow: 0 2px 10px rgba(14,27,61,.08); }
.pt-gallery .pt-gallery-img { width: 100% !important; height: 100% !important; aspect-ratio: auto !important; object-fit: cover; border-radius: 14px; background: #fff; }
.pt-gallery > :first-child { grid-column: span 2; grid-row: span 2; }
.pt-gallery:has(> :nth-child(4):last-child) > :nth-child(2) { grid-column: span 2; }
.pt-gallery:has(> :nth-child(6):last-child) > :is(:nth-child(2), :nth-child(5), :nth-child(6)) { grid-column: span 2; }
/* Zallys Transport and Man-on-board photos are product cut-outs on white: show them whole */
:is(.page-id-1051, .page-id-1052) .pt-gallery .pt-gallery-img { object-fit: contain; padding: 14px; border: 1px solid #e6eaf2; }
@media (hover: hover) {
  .pt-gallery:hover > * { filter: saturate(.6) brightness(.9); }
  .pt-gallery > *:hover { translate: 0 -6px; scale: 1.02; box-shadow: 0 18px 40px rgba(14,27,61,.22); filter: none; position: relative; z-index: 1; }
}
.pt-gallery > a:focus-visible { outline: 3px solid #2f5be8; outline-offset: 3px; }
@keyframes pt-gal-in { from { opacity: 0; transform: translateY(40px) scale(.96); } to { opacity: 1; transform: none; } }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .pt-gallery > * { animation: pt-gal-in linear both; animation-timeline: view(); animation-range: entry 0% entry 60%; }
    .pt-gallery > :nth-child(even) { animation-range: entry 15% entry 80%; }
  }
}
@media (max-width: 767px) {
  .pt-gallery, .pt-gallery:has(> :nth-child(3):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-auto-rows: 150px; gap: 10px !important; }
  .pt-gallery > * { grid-column: auto !important; grid-row: auto !important; }
  .pt-gallery > :first-child { grid-column: span 2 !important; grid-row: span 2 !important; }
  .pt-gallery > :nth-child(even):last-child { grid-column: span 2 !important; }
}

/* Click-to-enlarge photos outside galleries: the link wrapper does not change the layout */
:not(.pt-gallery) > a.e-image-link-base[href*="lightbox"] { display: contents; }
a.e-image-link-base[href*="lightbox"] img { cursor: zoom-in; }
:not(.pt-gallery) > a.e-image-link-base[href*="lightbox"]:focus-visible img { outline: 3px solid #2f5be8; outline-offset: -3px; }

/* Lightbox (enlarged photo): white background, dark controls */
.elementor-lightbox { background-color: #fff !important; --lightbox-ui-color: rgba(14,27,61,.65); --lightbox-ui-color-hover: #0e1b3d; --lightbox-text-color: #0e1b3d; }
.elementor-lightbox .elementor-lightbox-image { box-shadow: none !important; }
/* Gallery lightbox: prev/next arrows */
.elementor-lightbox .elementor-swiper-button{position:absolute!important;top:50%!important;bottom:auto!important;transform:translateY(-50%);z-index:3;display:inline-flex!important;align-items:center;justify-content:center;width:52px!important;height:52px!important;padding:0!important;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 4px 14px rgba(14,27,61,.18);cursor:pointer}
.elementor-lightbox .elementor-swiper-button svg{width:22px;height:22px;fill:#0e1b3d}
.elementor-lightbox .elementor-swiper-button:hover{background:#fff;box-shadow:0 6px 20px rgba(14,27,61,.28)}
.elementor-lightbox .elementor-swiper-button-prev{left:16px!important;right:auto!important}
.elementor-lightbox .elementor-swiper-button-next{right:16px!important;left:auto!important}
@media (max-width:767px){.elementor-lightbox .elementor-swiper-button{width:40px!important;height:40px!important}.elementor-lightbox .elementor-swiper-button-prev{left:6px!important}.elementor-lightbox .elementor-swiper-button-next{right:6px!important}}

/* Closed accordions (mobile menu, FAQ, dropdowns): never render their content, in every browser (fixes blank space on iOS) */
@media (max-width: 767px) { details.e-accordion-item-base:not([open]) > .e-accordion-item-content-base { display: none !important; } }
@media (min-width: 768px) { :not(.pt-fam-acc) > details.e-accordion-item-base:not([open]) > .e-accordion-item-content-base { display: none !important; } }/* End custom CSS */