
/* FR Kamera – gemeinsame Mobile-Optimierung für alle Seiten */
*{box-sizing:border-box}
html{max-width:100%;overflow-x:clip}
body{width:100%;max-width:100%;overflow-x:clip}
img,video,iframe{max-width:100%;height:auto}
@media(max-width:850px){
  .fr-header,.header{height:auto;min-height:68px;padding:12px 5%;gap:14px}
  .fr-brand img,.brand img{width:112px;max-height:46px}
  .fr-toggle,.menu-toggle{display:block;flex:0 0 auto}
  .fr-nav,.header nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:1001;background:#fff;padding:22px 5%;box-shadow:0 12px 24px rgba(0,0,0,.10);flex-direction:column;align-items:stretch;gap:18px}
  .fr-nav.open,.header nav.open{display:flex}
  .fr-nav a,.header nav a{padding:8px 0}
  .fr-nav .fr-nav-cta,.header nav .nav-cta,.header nav .nav-email-cta{display:block;text-align:center;padding:13px 16px}
  .fr-topbar,.topbar{font-size:10px;line-height:1.45;padding:8px 12px}
  .container{width:90%;max-width:100%}
  .grid,.product-grid,.bestseller-grid,.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .card,.product-card,.highlight-card,.spec-card{min-width:0;padding:18px!important}
  .card h2,.highlight-card h2,.spec-card h2{font-size:21px!important}
  .card li,.card p{overflow-wrap:anywhere}
  .fr-footer,.footer{width:100%;grid-template-columns:1fr!important;padding:26px 5% 18px!important;gap:16px!important}
  .fr-footer>div,.footer-links,.home-footer-links{display:flex;flex-wrap:wrap;gap:12px 18px!important;justify-content:flex-start!important}
  .fr-footer>a:last-child,.home-footer-email{justify-self:start!important}
  .fr-footer small,.footer small{grid-column:1!important}
  .hero{min-height:0!important;padding:64px 6%!important;grid-template-columns:1fr!important;gap:24px!important}
  .hero h1{font-size:clamp(38px,8vw,58px)!important}
  .hero-visual{height:auto!important;min-height:220px}
  .hero-visual img{max-height:320px!important;object-fit:contain}
  .intro,.section-heading,.banner,.why,.setup-cta{padding:48px 6%!important}
  .setup-cta{display:flex;flex-direction:column;align-items:flex-start}
  .product-detail,.product-hero,.product-content,.detail-layout,.product-layout{grid-template-columns:1fr!important;display:grid!important;gap:24px!important}
  .product-detail img,.product-hero img,.product-image img{width:100%;height:auto;object-fit:contain}
  .technical-highlights,.highlight-grid,.spec-grid{grid-template-columns:1fr 1fr!important;gap:14px!important}
  .configurator,.configurator-wrap,.configurator-container,#app{width:100%!important;max-width:100%!important;padding-left:5%!important;padding-right:5%!important}
  .configurator-step,.configurator-panel{width:100%!important;max-width:100%!important}
  .configurator-options,.options-grid,.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  table{display:block;max-width:100%;overflow-x:auto}
}
@media(max-width:560px){
  h1{font-size:36px!important;line-height:1.08}
  h2{font-size:26px!important;line-height:1.15}
  p,.subtitle{font-size:15px!important;line-height:1.65}
  .grid,.product-grid,.bestseller-grid,.why-grid{grid-template-columns:1fr!important}
  .card,.product-card{padding:16px!important}
  .hero{padding:48px 5%!important}
  .hero h1{font-size:clamp(34px,10vw,46px)!important}
  .hero-actions{display:flex;flex-direction:column;align-items:stretch}
  .hero-actions .btn{width:100%;text-align:center}
  .trust{display:flex;flex-wrap:wrap;gap:8px 14px}
  .technical-highlights,.highlight-grid,.spec-grid{grid-template-columns:1fr!important}
  .configurator-options,.options-grid,.choice-grid{grid-template-columns:1fr!important}
  .fr-footer,.footer{padding:22px 5% 16px!important}
  .fr-footer img,.footer-main img{max-width:120px}
  .fr-footer>div a,.footer-links a{font-size:12px}
  .container{width:90%}
  .btn,.next,.back{max-width:100%;white-space:normal}
}


/* --- Mobile-Finish: sticky header, Technikliste, Bestseller, Footer --- */
@media (max-width: 850px) {
  .header, .fr-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1200 !important;
    width: 100%;
  }
  .header nav, .fr-nav {
    z-index: 1201 !important;
  }
}
@media (max-width: 600px) {
  /* Technikliste: die Karten dürfen nicht durch min-width nebeneinander gequetscht werden. */
  .container {
    width: calc(100% - 32px) !important;
    max-width: none !important;
  }
  body:has(.grid .card) .grid,
  .grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    gap: 14px !important;
  }
  .grid .card {
    width: 100% !important;
    min-width: 0 !important;
    padding: 20px !important;
    border-radius: 0 !important;
    overflow-wrap: anywhere;
  }
  .grid .card h2 {
    font-size: 22px !important;
    line-height: 1.2 !important;
    overflow-wrap: normal;
  }
  .grid .card li {
    font-size: 15px !important;
    line-height: 1.55 !important;
    overflow-wrap: break-word !important;
  }
  /* Bestseller: zwei kompakte Karten nebeneinander, auch auf kleinen Displays. */
  .bestseller-grid, .product-grid.bestseller-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .bestseller-grid .product-card {
    min-width: 0 !important;
    width: 100% !important;
  }
  .bestseller-grid .product-image {
    aspect-ratio: 1 / 1 !important;
    overflow: hidden;
  }
  .bestseller-grid .product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }
  .bestseller-grid .product-info {
    padding: 11px !important;
  }
  .bestseller-grid .product-info h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
  }
  .bestseller-grid .product-info p {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  .bestseller-grid .product-bottom {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  /* Startseiten-Footer in zwei klaren Reihen. */
  .fr-footer-home {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-areas:
      "logo email"
      "links copy" !important;
    align-items: center !important;
    gap: 16px 12px !important;
    padding: 24px 5% 20px !important;
  }
  .fr-footer-home .home-footer-logo { grid-area: logo; justify-self: start; }
  .fr-footer-home .home-footer-email { grid-area: email; justify-self: end !important; text-align: right; overflow-wrap: anywhere; }
  .fr-footer-home .home-footer-links {
    grid-area: links;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 10px 16px !important;
  }
  .fr-footer-home small { grid-area: copy; }
}


/* Mobile: Header bleibt beim Scrollen immer oben sichtbar. */
@media(max-width:850px){
  body > .header, .header{
    position:sticky !important;
    top:0 !important;
    z-index:5000 !important;
    isolation:isolate;
    background:#fff !important;
  }
  .header #mainNav{z-index:5001 !important}
}
/* Startseiten-Footer exakt in zwei Reihen: Logo + Mail / Navigation */
@media(max-width:600px){
  .fr-footer-home,.footer.fr-footer-home{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:"logo email" "links links" !important;
    align-items:center !important;
    gap:14px 10px !important;
    padding:20px 5% 18px !important;
  }
  .fr-footer-home .home-footer-logo{grid-area:logo !important;justify-self:start !important}
  .fr-footer-home .home-footer-logo img{width:100px !important;max-height:42px !important}
  .fr-footer-home .home-footer-email{grid-area:email !important;justify-self:end !important;text-align:right !important;font-size:10px !important;white-space:nowrap}
  .fr-footer-home .home-footer-links{
    grid-area:links !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:5px !important;
    width:100% !important;
    white-space:nowrap !important;
  }
  .fr-footer-home .home-footer-links a{font-size:9px !important;line-height:1.2 !important}
  .fr-footer-home small{display:none !important}
}


/* Header dauerhaft sichtbar: sticky auf Desktop und Mobilgeräten */
.header, .fr-header { position: sticky !important; top: 0 !important; z-index: 9000 !important; width: 100%; isolation: isolate; background: #fff !important; }
.header nav, .fr-nav, .header #mainNav { z-index: 9001 !important; }

/* Auf Smartphones kein großes Kamerabild im Hero-Bereich */
@media (max-width: 760px) {
  .hero-visual { display: none !important; height: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; }
  .hero { grid-template-columns: 1fr !important; gap: 0 !important; }
}

/* V3.1: zuverlässiger mobiler Sticky-Header.
   overflow-x:clip auf html/body verhindert einen unbeabsichtigten Scroll-Container. */
@media (max-width: 850px) {
  html, body { overflow-x: clip !important; }
  .header, .fr-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 10000 !important;
    width: 100%;
    flex-shrink: 0;
    background: #fff !important;
    isolation: isolate;
  }
  .header nav, .fr-header nav, #mainNav {
    z-index: 10001 !important;
  }
  /* Home footer: Logo, Navigation, Kontaktinformationen – jeweils zentriert */
  .fr-footer-home, .footer.fr-footer-home {
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    gap:18px !important;
    padding:30px 5% 24px !important;
  }
  .fr-footer-home .home-footer-logo { display:flex; justify-content:center; }
  .fr-footer-home .home-footer-logo img { width:125px; max-height:54px; object-fit:contain; }
  .fr-footer-home .home-footer-links {
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:center !important;
    gap:12px 18px !important;
    width:100%;
  }
  .fr-footer-home .home-footer-email { display:block; justify-self:center !important; text-align:center; }
  .fr-footer-home small { text-align:center; width:100%; }
  /* Product and informational page footer */
  .fr-footer:not(.fr-footer-home) {
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    gap:16px !important;
  }
  .fr-footer:not(.fr-footer-home) > a:first-child { display:flex; justify-content:center; }
  .fr-footer:not(.fr-footer-home) > div {
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:center !important;
    gap:12px 18px !important;
  }
}
@media (max-width: 600px) {
  .bestseller-grid { gap:9px !important; }
  .bestseller-grid .product-card { padding:8px !important; }
  .bestseller-grid .product-image { margin:0 0 10px !important; }
  .bestseller-grid .product-card h3,
  .bestseller-grid .product-card h2 { margin:7px 0 5px !important; line-height:1.25 !important; }
  .bestseller-grid + .bestseller-note { margin-top:12px !important; }
  .section-heading { margin-bottom:18px !important; padding-bottom:0 !important; }
  .section-heading h2 { margin:8px 0 10px !important; }
}

@media(max-width:850px) {
  .fr-footer .footer-phone, .fr-footer-home .footer-phone {
    display:block !important;
    text-align:center !important;
    justify-self:center !important;
    margin-top:-8px;
  }
  .fr-footer-home .home-footer-links a,
  .fr-footer:not(.fr-footer-home)>div a { text-align:center; }
}


/* V3.2 – gemeinsame Kopf- und Fußzeile auf allen Seiten */
.fr-header {
  width:100% !important;
  height:82px !important;
  min-height:82px !important;
  box-sizing:border-box !important;
  padding:0 max(calc((100vw - 1240px)/2),5.5%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  background:#fff !important;
  border-bottom:1px solid #e8e5df !important;
  position:sticky !important;
  top:0 !important;
  z-index:10000 !important;
  isolation:isolate;
}
.fr-brand img {width:150px !important;max-height:55px !important;object-fit:contain !important}
.fr-nav {display:flex !important;align-items:center !important;gap:clamp(14px,2vw,30px) !important;font-size:13px !important;font-weight:600 !important}
.fr-nav a {color:#171717 !important;text-decoration:none !important;white-space:nowrap}
.fr-nav .fr-nav-cta,.fr-nav .fr-nav-email-cta {
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  min-height:42px;padding:0 19px !important;background:#ff5a00 !important;color:#fff !important;
  font-size:12px !important;font-weight:700 !important
}
.fr-nav .fr-nav-email-cta {padding:0 18px !important}
.fr-toggle {display:none;background:none;border:0;padding:8px;cursor:pointer}
.fr-toggle span {display:block;width:24px;height:2px;background:#171717;margin:5px}
.header {z-index:10000 !important}

/* Alle Footer gleich: Logo, Linknavigation und ein gemeinsamer Kontaktblock */
.fr-footer, .footer.fr-footer-home, .contact-footer {
  width:100% !important;box-sizing:border-box !important;
  display:flex !important;flex-direction:row !important;align-items:center !important;
  justify-content:space-between !important;gap:22px !important;
  padding:22px max(calc((100vw - 1240px)/2),5.5%) !important;
  margin-top:auto !important;background:#fff !important;color:#333 !important;
  border-top:1px solid #e8e3dc !important;
}
.fr-footer > a:first-child img, .footer.fr-footer-home .home-footer-logo img,
.contact-footer > a:first-child img {
  display:block !important;width:82px !important;max-height:42px !important;height:auto !important;
  object-fit:contain !important;filter:none !important;mix-blend-mode:normal !important
}
.fr-footer > div:not(.footer-contact-group), .fr-footer nav,
.footer.fr-footer-home .home-footer-links, .contact-footer nav {
  display:flex !important;flex:1 1 auto !important;align-items:center !important;
  justify-content:center !important;gap:clamp(12px,1.8vw,24px) !important;
  flex-wrap:wrap !important;font-size:11px !important;font-weight:600 !important;
}
.footer-contact-group {
  display:flex !important;flex:0 0 auto !important;align-items:center !important;
  justify-content:flex-end !important;gap:16px !important;white-space:nowrap !important;
  font-size:11px !important;font-weight:600 !important;
}
.footer-contact-group a {margin:0 !important;white-space:nowrap !important}
.fr-footer a,.footer a,.contact-footer a {color:inherit !important;text-decoration:none !important}
.fr-footer small {display:none !important}

/* Öffnungszeiten: klare Trennung zwischen Wochentag und Uhrzeit */
.hours-table {table-layout:fixed !important;width:100% !important}
.hours-table th {width:56% !important;padding-right:22px !important;white-space:nowrap !important}
.hours-table td {width:44% !important;text-align:left !important;padding-left:18px !important;white-space:nowrap !important}

/* Mobile: exakt dieselbe Struktur auf allen Seiten */
@media(max-width:850px) {
  .fr-header {
    height:70px !important;min-height:70px !important;padding:0 5% !important;
    position:sticky !important;top:0 !important;z-index:10000 !important;
  }
  .fr-brand img {width:112px !important;max-height:46px !important}
  .fr-toggle {display:block !important;flex:0 0 auto !important}
  .fr-nav {
    display:none !important;position:absolute !important;top:100% !important;left:0 !important;right:0 !important;
    z-index:10001 !important;background:#fff !important;padding:22px 5% !important;
    box-shadow:0 10px 20px rgba(0,0,0,.10) !important;flex-direction:column !important;
    align-items:stretch !important;gap:16px !important;
  }
  .fr-nav.open {display:flex !important}
  .fr-nav a {padding:8px 0 !important}
  .fr-nav .fr-nav-cta,.fr-nav .fr-nav-email-cta {display:flex !important;text-align:center !important;justify-content:center !important;padding:13px 16px !important}
  .fr-footer, .footer.fr-footer-home, .contact-footer {
    display:flex !important;flex-direction:column !important;align-items:center !important;
    justify-content:center !important;text-align:center !important;gap:16px !important;
    padding:26px 5% 22px !important;
  }
  .fr-footer > a:first-child, .footer.fr-footer-home .home-footer-logo,
  .contact-footer > a:first-child {display:flex !important;justify-content:center !important}
  .fr-footer > div:not(.footer-contact-group), .fr-footer nav,
  .footer.fr-footer-home .home-footer-links, .contact-footer nav {
    order:2 !important;display:flex !important;flex:0 1 auto !important;
    flex-direction:row !important;flex-wrap:wrap !important;justify-content:center !important;
    align-items:center !important;gap:12px 18px !important;width:100% !important;
  }
  .footer-contact-group {
    order:3 !important;display:flex !important;flex-direction:row !important;
    flex-wrap:nowrap !important;align-items:center !important;justify-content:center !important;
    gap:14px !important;width:100% !important;white-space:nowrap !important;
    font-size:11px !important;
  }
  .footer-contact-group a {font-size:11px !important}
  .hours-table th {width:56% !important;padding-right:28px !important}
  .hours-table td {width:44% !important;padding-left:24px !important}
}
@media(max-width:380px) {
  .footer-contact-group {gap:9px !important}
  .footer-contact-group a {font-size:10px !important}
}


/* V3.3 – Sprachumschaltung, Shop und einheitlicher Header */
.language-switch {display:flex;align-items:center;gap:3px;flex:0 0 auto;margin-left:8px}
.language-switch button {border:1px solid #e5e1da;background:#fff;color:#222;padding:7px 9px;font:700 10px/1 Arial,sans-serif;cursor:pointer;border-radius:2px}
.language-switch button.active,.language-switch button[aria-pressed="true"] {background:#171717;color:#fff;border-color:#171717}
.fr-header {position:sticky !important;top:0 !important;z-index:10000 !important}
.fr-nav {flex:1 1 auto;justify-content:flex-end}
.fr-nav .fr-nav-email-cta {background:#171717 !important;color:#fff !important}
@media(max-width:850px){
 .fr-header {display:flex !important;align-items:center !important;gap:12px !important}
 .fr-brand {margin-right:auto !important}
 .fr-toggle {order:2 !important}
 .language-switch {order:3 !important;margin-left:0 !important}
 .fr-nav {order:4 !important}
 .language-switch button {padding:7px 8px;font-size:10px}
}
.contact-page {min-height:calc(100vh - 170px) !important}
body:has(.contact-page) {min-height:100vh;display:flex;flex-direction:column}
body:has(.contact-page) .contact-page {flex:1 0 auto}
body:has(.contact-page) .contact-footer {margin-top:auto !important}


/* V3.3 refinements */
.contact-body {min-height:100vh;display:flex;flex-direction:column}
.contact-body .contact-page {flex:1 0 auto;min-height:0 !important}
.contact-body .contact-footer {margin-top:auto !important}
.language-switch {white-space:nowrap}
.language-switch button:focus-visible {outline:2px solid #ff5a00;outline-offset:2px}
.shop-page {min-height:calc(100vh - 160px)}

/* V3.4: consistent orange action buttons */
.fr-nav .fr-nav-cta, .fr-nav .fr-nav-email-cta {background:#ff5a00 !important;color:#fff !important;border:1px solid #ff5a00 !important;}
.fr-nav .fr-nav-cta:hover, .fr-nav .fr-nav-email-cta:hover {background:#e94f00 !important;border-color:#e94f00 !important;color:#fff !important;}
/* Keep the shop strapline readable on narrow screens */
.fr-topbar,.topbar {display:block;text-align:center;white-space:normal;line-height:1.45;padding:9px 16px;overflow-wrap:anywhere;}
.hero-visual img {width:100%;height:100%;object-fit:contain;object-position:center;}


/* V3.7: remove the redundant black strapline on every page */
.fr-topbar, .topbar { display:none !important; }

/* V3.7: identical footer markup and mobile layout on all pages */
@media (max-width: 760px) {
  footer.footer.fr-footer-home {
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    gap:16px !important;
    padding:26px 5% 22px !important;
    width:100% !important;
    box-sizing:border-box !important;
  }
  footer.footer.fr-footer-home .home-footer-logo {
    order:1 !important;
    display:flex !important;
    justify-content:center !important;
    width:100% !important;
  }
  footer.footer.fr-footer-home .home-footer-links {
    order:2 !important;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:center !important;
    gap:12px 18px !important;
    width:100% !important;
  }
  footer.footer.fr-footer-home .footer-contact-group {
    order:3 !important;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:center !important;
    gap:10px 16px !important;
    width:100% !important;
    white-space:normal !important;
    font-size:11px !important;
  }
  footer.footer.fr-footer-home small {
    order:4 !important;
    width:100% !important;
    text-align:center !important;
    grid-column:auto !important;
  }
}


/* V3.8: true full-bleed footer on desktop and mobile */
footer.footer.fr-footer-home {
  display:grid !important;
  grid-template-columns:minmax(82px,120px) minmax(0,1fr) auto !important;
  align-items:center !important;
  justify-items:stretch !important;
  gap:24px !important;
  width:100vw !important;
  max-width:100vw !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  position:relative !important;
  left:50% !important;
  margin-left:-50vw !important;
  margin-right:-50vw !important;
  padding:24px clamp(24px,5.5vw,88px) !important;
  overflow:visible !important;
  border-left:0 !important;
  border-right:0 !important;
}
footer.footer.fr-footer-home .home-footer-logo {
  grid-column:1 !important;
  justify-self:start !important;
  width:auto !important;
}
footer.footer.fr-footer-home .home-footer-links {
  grid-column:2 !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  gap:12px clamp(14px,2vw,28px) !important;
  width:100% !important;
  min-width:0 !important;
}
footer.footer.fr-footer-home .footer-contact-group {
  grid-column:3 !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:10px 18px !important;
  width:auto !important;
  min-width:0 !important;
  white-space:normal !important;
  text-align:right !important;
}
footer.footer.fr-footer-home > small {display:none !important;}

@media (max-width: 850px) {
  footer.footer.fr-footer-home {
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;
    width:100vw !important;
    max-width:100vw !important;
    margin-left:-50vw !important;
    left:50% !important;
    padding:26px 5% 22px !important;
    text-align:center !important;
  }
  footer.footer.fr-footer-home .home-footer-logo {
    order:1 !important;
    display:flex !important;
    justify-content:center !important;
    width:100% !important;
  }
  footer.footer.fr-footer-home .home-footer-links {
    order:2 !important;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:center !important;
    gap:12px 18px !important;
    width:100% !important;
  }
  footer.footer.fr-footer-home .footer-contact-group {
    order:3 !important;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:center !important;
    gap:10px 16px !important;
    width:100% !important;
    text-align:center !important;
  }
}


/* V12: consistent pure-white product image treatment on every detail page */
.product-gallery-main,
.product-gallery-main img,
.product-thumb,
.product-thumb img{
  background:#fff!important;
}
.product-gallery-main{
  border:1px solid #e6e0d8!important;
  box-shadow:none!important;
}
.product-gallery-main img,
.product-thumb img{
  object-fit:contain!important;
  mix-blend-mode:normal!important;
  outline:0!important;
}


/* V14: slightly smaller hero product photos for the Amaran light and Shinobi monitor.
   The white framed image area and all other product pages remain unchanged. */
.product-amaran .product-gallery-main img{
  transform:scale(.78);
}
.product-shinobi .product-gallery-main img{
  transform:scale(.80);
}
@media(max-width:800px){
  .product-amaran .product-gallery-main img{
    transform:scale(.78);
  }
  .product-shinobi .product-gallery-main img{
    transform:scale(.80);
  }
}


/* V17: roomier, full-width mobile footer across every page.
   Desktop footer layout is intentionally untouched. */
@media (max-width: 850px) {
  footer.footer.fr-footer-home {
    width: 100vw !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    padding: 30px clamp(20px, 6vw, 38px) 26px !important;
    gap: 20px !important;
    margin-left: -50vw !important;
    left: 50% !important;
    overflow: visible !important;
  }

  footer.footer.fr-footer-home .home-footer-logo {
    width: 100% !important;
    justify-content: center !important;
  }
  footer.footer.fr-footer-home .home-footer-logo img {
    display: block !important;
    width: 68px !important;
    max-width: 68px !important;
    height: auto !important;
  }

  footer.footer.fr-footer-home .home-footer-links {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
    align-items: center !important;
    justify-items: center !important;
    gap: 14px 8px !important;
  }
  footer.footer.fr-footer-home .home-footer-links a {
    font-size: 13px !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
  }

  footer.footer.fr-footer-home .footer-contact-group {
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px 18px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    text-align: left !important;
  }
  footer.footer.fr-footer-home .footer-contact-group a {
    font-size: 14px !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 390px) {
  footer.footer.fr-footer-home .home-footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 13px 10px !important;
  }
  footer.footer.fr-footer-home .footer-contact-group {
    flex-direction: column !important;
    justify-content: center !important;
    text-align: center !important;
  }
}


/* V18: mobile footer links stacked and left-aligned; logo centered at the bottom.
   Desktop footer styling remains unchanged. */
@media (max-width: 850px) {
  footer.footer.fr-footer-home {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 18px !important;
    padding: 28px 24px 24px !important;
  }

  footer.footer.fr-footer-home .home-footer-links {
    order: 1 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    justify-items: start !important;
    gap: 13px !important;
  }
  footer.footer.fr-footer-home .home-footer-links a {
    display: block !important;
    text-align: left !important;
    white-space: normal !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
  }

  footer.footer.fr-footer-home .footer-contact-group {
    order: 2 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    text-align: left !important;
    font-size: 14px !important;
  }
  footer.footer.fr-footer-home .footer-contact-group a {
    text-align: left !important;
    white-space: normal !important;
    font-size: 14px !important;
  }

  footer.footer.fr-footer-home .home-footer-logo {
    order: 3 !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 4px !important;
  }
  footer.footer.fr-footer-home .home-footer-logo img {
    width: 72px !important;
    max-width: 72px !important;
    height: auto !important;
  }
}


/* V19: consistent, slightly larger branding site-wide. */
.fr-header .fr-brand img {
  width: 48px !important;
  height: auto !important;
}
@media (max-width: 850px) {
  .fr-header .fr-brand img {
    width: 52px !important;
    max-width: 52px !important;
  }
  footer.footer.fr-footer-home .home-footer-logo img {
    width: 86px !important;
    max-width: 86px !important;
    height: auto !important;
  }
}


/* V20: one identical mobile header on every page */
@media (max-width: 850px) {
  .fr-header.site-header {
    display: flex !important;
    width: 100% !important;
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    box-sizing: border-box !important;
    padding: 0 5% !important;
    margin: 0 !important;
    gap: 0 !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: #fff !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 10000 !important;
  }
  .fr-header.site-header .fr-brand {
    display: flex !important;
    flex: 0 0 86px !important;
    width: 86px !important;
    min-width: 86px !important;
    max-width: 86px !important;
    height: 54px !important;
    margin: 0 auto 0 0 !important;
    padding: 0 !important;
    align-items: center !important;
    overflow: visible !important;
    order: 1 !important;
  }
  .fr-header.site-header .fr-brand img {
    display: block !important;
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 42px !important;
    max-height: 42px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }
  .fr-header.site-header .language-switch {
    display: flex !important;
    flex: 0 0 auto !important;
    order: 2 !important;
    margin: 0 10px 0 auto !important;
    padding: 0 !important;
    gap: 5px !important;
  }
  .fr-header.site-header .language-switch button {
    min-width: 32px !important;
    height: 30px !important;
    padding: 0 7px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }
  .fr-header.site-header .fr-toggle {
    display: block !important;
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 40px !important;
    order: 3 !important;
    margin: 0 !important;
    padding: 6px 2px !important;
    pointer-events: auto !important;
  }
  .fr-header.site-header .fr-nav {
    top: 70px !important;
  }
}
