/* Presentation reused from the verified French layout for the complete German product pages. */
html:has(.fr-product-page) { scroll-behavior: smooth; scroll-padding-top: 96px; }
.fr-product-page { margin: 0; color: #292729; background: #fff; font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; line-height: 1.65; }
.fr-product-page *, .fr-product-page *::before, .fr-product-page *::after { box-sizing: border-box; }
.fr-product-page a:where(:not(.header *)) { color: #972b27; text-underline-offset: 3px; }
.fr-product-page :focus-visible:where(:not(.header *)) { outline: 3px solid #1768b3; outline-offset: 4px; }
.fr-product-page img { max-width: 100%; height: auto; }
.fr-product-page h1, .fr-product-page h2, .fr-product-page h3 { font-family: Outfit, Inter, sans-serif; color: #252327; line-height: 1.2; letter-spacing: -.025em; }
.fr-product-page h1 { font-size: clamp(2rem, 3.6vw, 3.5rem); margin: 10px 0 18px; }
.fr-product-page h2 { font-size: clamp(1.6rem, 2.4vw, 2.3rem); margin: 0 0 22px; }
.fr-product-page h3 { font-size: 1.25rem; margin: 0 0 12px; }
.fr-wrap { width: min(1140px, calc(100% - 48px)); margin-inline: auto; }
.fr-product-page .fr-skip { position: fixed; top: 8px; left: 12px; transform: translateY(-150%); z-index: 200; background: #fff; padding: 10px 16px; border: 2px solid #1768b3; }
.fr-product-page .fr-skip:focus { transform: none; }
.fr-header { position: sticky; top: 0; z-index: 80; background: rgba(255,255,255,.94); border-bottom: 1px solid #e9e3e0; backdrop-filter: blur(12px); }
.fr-header > .fr-wrap, .fr-header .header-inner { display: flex; align-items: center; gap: 22px; min-height: 82px; }
.fr-header .brand { display: flex; align-items: center; gap: 9px; text-decoration: none; color: #292729; flex-shrink: 0; }
.fr-header .brand img { width: 44px; height: 44px; object-fit: contain; }
.fr-header .brand-name { display: grid; line-height: 1.2; }
.fr-header .brand-name strong { font-family: Outfit, sans-serif; font-size: 21px; }
.fr-header .brand-name small { font-size: 12px; letter-spacing: .08em; }
.fr-header .nav { display: flex; align-items: center; gap: 18px; margin-left: auto; }
.fr-header .nav a { font-size: 14px; font-weight: 600; color: #454147; text-decoration: none; }
.fr-header .nav a:hover { color: #a42c25; }
.fr-header .header-actions { display: flex; align-items: center; gap: 10px; }
.fr-header .lang { position: relative; }
.fr-header .lang-btn, .fr-header .menu-toggle { background: #fff; border: 1px solid #ded7d4; border-radius: 12px; color: #292729; min-height: 44px; padding: 9px 12px; font: inherit; cursor: pointer; }
.fr-header .lang-btn { display: flex; align-items: center; gap: 6px; font-size: 14px; }
.fr-header .lang-btn svg { width: 16px; height: 16px; }
.fr-header .lang-menu { display: none; position: absolute; top: calc(100% + 8px); right: 0; min-width: 170px; padding: 8px; background: #fff; border: 1px solid #e3dcda; border-radius: 14px; box-shadow: 0 10px 30px #35232615; }
.fr-header .lang-menu.open { display: grid; }
.fr-header .lang-menu a { padding: 10px; border-radius: 8px; color: #292729; text-decoration: none; }
.fr-header .lang-menu a:hover, .fr-header .lang-menu a[aria-current] { background: #fbf0ee; }
.fr-header .menu-toggle { display: none; width: 44px; padding: 12px; }
.fr-header .menu-toggle span { display: block; height: 2px; background: #292729; margin: 4px 0; }
.fr-hero { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 48px; padding-block: 54px 64px; }
.fr-hero > div, .fr-hero > figure { min-width: 0; }
.fr-eyebrow { font-size: 12px; font-weight: 700; color: #96332c; text-transform: uppercase; letter-spacing: .09em; margin: 0 0 8px; }
.fr-crumb { font-size: 13px; color: #6a6063; padding-top: 20px; }
.fr-section-nav { display: flex; flex-wrap: wrap; gap: 10px 22px; padding-block: 18px; border-block: 1px solid #ede4df; font-size: 14px; }
.fr-price { font-size: 28px; color: #a02b25; font-weight: 800; margin: 22px 0 4px; }
.fr-price small { font-size: 15px; font-weight: 600; }
.fr-price-note, .fr-note { font-size: 14px; color: #655c60; }
.fr-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-block: 24px; }
.fr-product-page .btn:where(:not(.header *)) { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; border: 1px solid #a73730; border-radius: 14px; font: inherit; font-size: 15px; font-weight: 650; line-height: 1.4; cursor: pointer; text-decoration: none; text-align: center; }
.fr-product-page .btn-primary:where(:not(.header *)) { color: #fff; background: #a73730; }
.fr-product-page .btn-primary:where(:not(.header *)):hover { background: #862720; }
.fr-product-page .btn-secondary:where(:not(.header *)) { color: #81322c; background: #fff; border-color: #d9b8b2; }
.fr-hero-media { margin: 0; padding: 26px; text-align: center; background: linear-gradient(135deg,#fff5ef,#f5f4fc); border: 1px solid #eee6e2; border-radius: 28px; }
.fr-hero-media img { width: 100%; height: 460px; object-fit: contain; }
.fr-hero-media figcaption { margin-top: 15px; font-size: 13px; color: #655c60; }
.fr-section { padding-block: 60px; border-top: 1px solid #ede7e3; }
.fr-intro { padding-block: 0; border-top: 0; }
.fr-tint { background: #faf7f5; }
.fr-grid, .fr-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px; }
.fr-card { background: #fff; border: 1px solid #e6dedb; border-radius: 20px; padding: 26px; min-width: 0; }
.fr-card p:last-child { margin-bottom: 0; }
.fr-card ul, .fr-product-page ul { padding-left: 22px; }
.fr-product-page li + li { margin-top: 8px; }
.fr-specs { margin: 0; border: 1px solid #e2dad6; border-radius: 20px; overflow: hidden; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.fr-specs > div { padding: 18px 22px; border-bottom: 1px solid #e8e1dd; background: #fff; }
.fr-specs > div:nth-child(4n+1), .fr-specs > div:nth-child(4n+2) { background: #fcf9f7; }
.fr-specs dt { color: #6a6063; font-size: 13px; margin-bottom: 4px; }
.fr-specs dd { margin: 0; font-weight: 600; }
.fr-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; list-style-position: inside; padding: 0; }
.fr-steps li { border: 1px solid #e7ded9; padding: 20px; border-radius: 16px; background: #fff; }
.fr-steps li + li { margin-top: 0; }
.fr-video-grid figure { margin: 0; }
.fr-video-grid img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 14px; }
.fr-video-grid figcaption { font-size: 14px; padding-top: 10px; }
.fr-faq { border-bottom: 1px solid #e5ddd9; padding: 18px 0; }
.fr-faq summary { font-weight: 650; cursor: pointer; padding: 6px 0; }
.fr-faq p { max-width: 920px; margin: 12px 0 0; }
.fr-contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: start; gap: 46px; }
.fr-product-page .lead-form { margin: 0; padding: 28px; border: 1px solid #e2d7d0; background: #fff; border-radius: 24px; box-shadow: 0 8px 26px #58372b09; }
.fr-product-page .field { margin-block: 16px; min-width: 0; }
.fr-product-page label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.fr-product-page input:not([type=hidden]), .fr-product-page textarea, .fr-product-page select { display: block; width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid #bdb2ad; border-radius: 10px; background: #fff; color: #282528; font: inherit; font-size: 16px; }
.fr-product-page input[readonly] { background: #faf7f5; }
.fr-product-page [aria-invalid=true] { border-color: #b22923; }
.fr-product-page textarea { min-height: 104px; resize: vertical; }
.fr-product-page .buyer-project-basics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.fr-product-page .buyer-optional { border-top: 1px solid #e4dad5; margin: 18px 0; padding: 15px 0 0; }
.fr-product-page .buyer-optional summary { cursor: pointer; font-weight: 600; font-size: 14px; padding-block: 5px; }
.fr-product-page .form-note { color: #645b5d; font-size: 13px; }
.fr-product-page .form-success { display: none; margin-top: 14px; background: #edf6ef; border-radius: 12px; padding: 14px; color: #205e31; }
.fr-product-page .form-success.show { display: block; }
.fr-footer { background: #f7f3f0; padding: 34px 0; border-top: 1px solid #e5dcd7; font-size: 14px; }
.fr-footer .fr-wrap { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.fr-footer p { width: 100%; margin: 0; }
.fr-footer nav { display: flex; flex-wrap: wrap; gap: 12px 20px; }
@media(max-width:1000px) { .fr-header .nav { gap: 12px; } .fr-header > .fr-wrap,.fr-header .header-inner { gap: 14px; } .fr-header .nav a { font-size: 13px; } }
@media(max-width:760px) {
  html:has(.fr-product-page) { scroll-padding-top: 85px; }
  .fr-wrap { width: calc(100% - 32px); }
  .fr-header > .fr-wrap, .fr-header .header-inner { min-height: 74px; gap: 8px; }
  .fr-header .brand-name strong { font-size: 18px; }
  .fr-header .brand img { width: 36px; height: 36px; }
  .fr-header .header-actions { margin-left: auto; gap: 6px; }
  .fr-header .lang-btn { font-size: 12px; padding: 8px; }
  .fr-header .menu-toggle { display: block; }
  .fr-header .nav { display: none; position: absolute; top: 100%; left: 16px; right: 16px; padding: 12px; margin: 0; background: #fff; border: 1px solid #e5dad4; border-radius: 16px; box-shadow: 0 14px 28px #37262717; }
  .fr-header .nav.open { display: grid; }
  .fr-header .nav a { font-size: 15px; padding: 10px; }
  .fr-hero { grid-template-columns: 1fr; padding-block: 30px 38px; gap: 18px; }
  .fr-hero h1 { font-size: 28px; margin-block: 0; }
  .fr-hero-copy { display: contents; }
  .fr-hero-copy > * { order: 8; }
  .fr-hero-copy > .fr-crumb { order: 0; padding: 0; }
  .fr-hero-copy > .fr-eyebrow { order: 1; margin: 0; }
  .fr-hero-copy > h1 { order: 2; }
  .fr-hero > .fr-hero-media { order: 3; }
  .fr-hero-copy > .fr-price { order: 4; margin: 0; font-size: 25px; }
  .fr-hero-copy > .fr-actions { order: 5; margin: 0; }
  .fr-hero-copy > p:not(.fr-eyebrow):not(.fr-price):not(.fr-note):not(.fr-price-note) { order: 6; margin: 0; }
  .fr-hero-copy > .fr-price-note { order: 7; margin: 0; }
  .fr-hero-copy > .fr-note { margin: 0; }
  .fr-intro .fr-hero { gap: 18px; }
  .fr-hero-media { padding: 18px; border-radius: 22px; }
  .fr-hero-media img { height: 180px; }
  .fr-hero-media figcaption { margin-top: 8px; font-size: 12px; }
  .fr-actions .btn { flex: 1 1 160px; }
  .fr-grid, .fr-video-grid, .fr-contact-grid, .fr-specs { grid-template-columns: 1fr; }
  .fr-contact-grid { gap: 24px; }
  .fr-section { padding-block: 38px; }
  .fr-card { padding: 22px; }
  .fr-specs > div { padding: 15px 18px; }
  .fr-specs > div:nth-child(n) { background: #fff; }
  .fr-specs > div:nth-child(odd) { background: #fcf9f7; }
  .fr-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fr-product-page .lead-form { padding: 20px; }
  .fr-product-page .buyer-project-basics { gap: 12px; }
  .fr-footer a { overflow-wrap: anywhere; }
}
@media(prefers-reduced-motion:reduce) { html:has(.fr-product-page) { scroll-behavior: auto; } }

/* Keep the model identifier readable at desktop and mobile widths. */
.de-model { white-space: nowrap; }

/* German procurement terms need a readable card width on small screens. */
@media (max-width: 760px) { .fr-steps { grid-template-columns: minmax(0, 1fr); } }
