/* German-only typography and responsive reading rhythm. No copy is changed. */
html[lang="de"] {
  --dbc-zh-ui-font: Arial, "Helvetica Neue", sans-serif !important;
  --dbc-heading-ui-font: Arial, "Helvetica Neue", sans-serif !important;
}
@media (min-width: 861px) {
html[lang="de"] body .v270-context__identity {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center;
  gap: 3px;
  white-space: normal !important;
  line-height: 1.35 !important;
  max-width: 19rem;
  overflow-wrap: normal !important;
}
html[lang="de"] body .v270-context__identity > * { white-space: normal !important; }
  html[lang="de"] body .v270-context__inner {
    grid-template-columns: minmax(150px, 235px) minmax(0, 1fr) auto !important;
    column-gap: 20px !important;
  }
  html[lang="de"] body .v270-context__links { min-width: 0; }
}
html[lang="de"] body .product-nav__identity {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 3px !important;
  white-space: normal !important;
  max-width: 20rem;
}
html[lang="de"] body .product-nav__identity > * {
  white-space: normal !important;
  line-height: 1.35 !important;
  max-width: 100%;
}
html[lang="de"] body#de-site-page.resources-page #main-content > .resource-center-hero .about-hero-copy h1 {
  width: 100% !important;
  max-width: 100% !important;
  text-wrap: wrap;
  hyphens: none !important;
}
html[lang="de"] body#de-site-page.resources-page #main-content > .resource-center-hero .about-hero-copy .about-hero-title > p {
  font-size: 18px !important;
  line-height: 1.7 !important;
  max-width: 58ch !important;
}
html[lang="de"] body#de-site-page.resources-page .resource-doc-preview {
  text-align: left !important;
}
html[lang="de"] body#de-site-page.resources-page .resource-doc-title {
  font-size: 21px !important;
  line-height: 1.3 !important;
  text-wrap: balance;
}
@media (max-width: 980px) {
  html[lang="de"] body#de-site-page.resources-page #main-content > .resource-center-hero {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 32px !important;
  }
}
@media (max-width: 600px) {
  html[lang="de"] body#de-site-page.resources-page .resource-doc-preview {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  html[lang="de"] body#de-site-page.resources-page .resource-doc-preview img {
    width: min(240px, 100%) !important;
    justify-self: center;
  }
  html[lang="de"] body#de-site-page.resources-page #main-content > .resource-center-hero .about-hero-copy .about-hero-title > p {
    font-size: 17px !important;
    line-height: 1.7 !important;
  }
}

html[lang="de"] body#de-site-page.resources-page #main-content > .resource-center-hero .about-hero-copy {width:100% !important;max-width:none !important;}
/* German breadcrumbs wrap at word boundaries rather than stranded letters. */
html[lang="de"] body .v500-context__inner :is(ol,li,a,span) {
  min-width: 0;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: auto !important;
  hyphenate-limit-chars: 8 4 4;
}
/* Long menu descriptions remain visible when a desktop panel is expanded. */
@media (min-width: 861px) {
  html[lang="de"][data-site-language="de"] body:is(#de-site-page,#de-product-page,.dbc-home-page).dbc-global-nav-active .dbc-desktop-mega__routes {
    grid-template-rows: auto !important;
    grid-auto-rows: auto !important;
    height: auto !important;
    max-height: none !important;
    align-items: stretch !important;
  }
  html[lang="de"][data-site-language="de"] body:is(#de-site-page,#de-product-page,.dbc-home-page).dbc-global-nav-active .dbc-desktop-route {
    grid-template-rows: 76px auto !important;
    height: auto !important;
    max-height: none !important;
  }
  html[lang="de"][data-site-language="de"] body:is(#de-site-page,#de-product-page,.dbc-home-page).dbc-global-nav-active .dbc-desktop-route__copy {
    height: auto !important;
    min-height: 160px !important;
    max-height: none !important;
    padding-bottom: 22px !important;
  }
}
/* The mobile food caption follows the image and participates in figure height. */
@media (max-width: 520px) {
  html[lang="de"][data-site-language="de"][data-lang="de"] body#de-product-page.de-localized-page.dbc-global-nav-active.de-food-page .bp7140-hero__media {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: auto !important;
  }
  html[lang="de"][data-site-language="de"][data-lang="de"] body#de-product-page.de-localized-page.dbc-global-nav-active.de-food-page .bp7140-hero__media > img {
    display: block !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16/10;
    object-fit: cover;
  }
}
/* Form choices and site-directory labels need German word wrapping. */
html[lang="de"] body#de-site-page main .request-options label {
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  hyphens: auto !important;
}
html[lang="de"] body#de-site-page .v500-map__group :is(li,a) {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  hyphens: auto !important;
}
@media (min-width: 621px) and (max-width: 1100px) {
  html[lang="de"] body#de-site-page .v500-map-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 24px !important;
  }
}
/* Contact: use the full copy column for a German compound heading. */
html[lang="de"] body#de-site-page #main-content .contact-hero .about-hero-copy {
  width: 100% !important;
  max-width: none !important;
}
html[lang="de"] body#de-site-page #main-content .contact-hero h1 {
  width: 100% !important;
  max-width: none !important;
  font-size: clamp(32px,3.3vw,48px) !important;
  line-height: 1.18 !important;
  hyphens: none !important;
  letter-spacing: -.025em !important;
}
html[lang="de"] body#de-site-page #main-content .contact-hero .about-hero-title {
  width: 100% !important;
  max-width: none !important;
}
html[lang="de"] body#de-site-page #main-content .v430-contact-route > strong {
  hyphens: auto !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphenate-limit-chars: 8 4 4;
}
html[lang="de"] body#de-site-page #main-content .contact-hero .about-hero-copy {
  padding-inline-end: 0 !important;
}
/* Compliance copy control: German text determines the button width. */
html[lang="de"] body#de-site-page #main-content .copy-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
}
html[lang="de"] body#de-site-page #main-content #copy-btn {
  width: auto !important;
  max-width: 100% !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  height: auto !important;
  white-space: normal !important;
  padding: 12px 16px !important;
}
/* Closing invitation uses its existing text column rather than a short CJK measure. */
@media (min-width: 861px) {
  html[lang="de"] body:is(#de-site-page,#de-product-page,.dbc-home-page) .formal-footer-cta h2 {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* German typography/layout refinement. German layout layer; words, DOM,
   routes, hierarchy, assets and source-language pages remain unchanged. */
/* Product entry: German compounds must hyphenate, and multi-line CTA labels
   determine their own height instead of being clipped by a Chinese button size. */
html[lang=de][data-site-language=de][data-lang=de] body#de-product-page.de-localized-page.dbc-global-nav-active main#main-content.bp7318-r30-legacy h1 {
  hyphens:auto!important; -webkit-hyphens:auto!important; hyphenate-limit-chars:8 4 4;
  overflow-wrap:break-word!important; word-break:normal!important;
  font-size:clamp(32px,3.6vw,50px)!important; line-height:1.18!important; letter-spacing:-.035em!important;
}
html[lang=de][data-site-language=de][data-lang=de] body#de-product-page.de-localized-page.dbc-global-nav-active main#main-content .bp7318-r30-legacy__actions a {
  min-height:48px!important; height:auto!important; padding:13px 22px!important;
  line-height:1.45!important; white-space:normal!important; display:flex!important; align-items:center!important;
}
html[lang=de][data-site-language=de][data-lang=de] body#de-product-page.de-localized-page.dbc-global-nav-active main#main-content .bp7318-r30-legacy__hero {padding-block:72px!important;min-height:0!important}
html[lang=de][data-site-language=de][data-lang=de] body#de-product-page.de-localized-page.dbc-global-nav-active main#main-content .bp7318-r30-legacy__panel {padding:56px!important}
/* Core product headings: long compounds and emphasis must wrap within a column. */
html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.de-localized-page main#main-content h1.bp7140-display,
html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.de-localized-page main#main-content h1.bp7140-display :is(em,span) {
  white-space:normal!important; hyphens:auto!important; -webkit-hyphens:auto!important;
  hyphenate-limit-chars:8 4 4; word-break:normal!important; overflow-wrap:break-word!important;
}
/* Platform hero: keep the complete headline clear of the fixed header and let
   content set the hero height, retaining the existing image/text composition. */
html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bioten-platform-v580 .btp580-hero {height:auto!important;min-height:740px!important}
html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bioten-platform-v580 .btp580-hero__inner {height:auto!important;min-height:740px!important;padding-block:64px!important}
html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bioten-platform-v580 #btp580-title {
  font-size:clamp(40px,3.3vw,46px)!important;line-height:1.12!important;letter-spacing:-.035em!important;
  hyphenate-limit-chars:8 4 4;hyphens:auto!important;overflow-wrap:break-word!important;
}
/* Comparison hero: remove doubled section padding and maintain a
   strong, legible heading size with adequate space for the copy and actions. */
html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bioten-matrix-page .bp7318-matrix-hero {padding-block:64px!important;min-height:0!important}
html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bioten-matrix-page .bp7318-matrix-hero .bp7140-hero__grid {padding-block:0!important}
html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bioten-matrix-page #matrix-title {font-size:clamp(40px,3.8vw,54px)!important;line-height:1.15!important;letter-spacing:-.035em!important}
/* PHA varnish sidebar: the existing narrow column needs vertical cards so each
   full title has a readable measure. The featured card remains unchanged. */
html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bp7140-page .release-card__body {min-width:0!important}
html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bp7140-page .release-card__meta {flex-wrap:wrap!important}
html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bp7140-page #hero-title {font-size:clamp(36px,3.6vw,52px)!important;line-height:1.15!important;letter-spacing:-.025em!important}
@media(min-width:901px){
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bp7140-page .release-card:not(.is-featured) {grid-template-columns:minmax(0,1fr)!important}
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bp7140-page .release-card:not(.is-featured) .release-card__media img {display:block!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:16/9;object-fit:cover}
}
/* Home sector cards: reveal every German word without changing the card order
   or the image-led composition. */
html[lang=de][data-site-language=de][data-lang=de] body.dbc-home-page.dbc-global-nav-active #main-content #bioten .v703-domain-group__grid .v311-domain[data-v793-card] .v311-domain__link h3 {
  white-space:normal!important;hyphens:auto!important;overflow-wrap:break-word!important;
  height:auto!important;max-height:none!important;-webkit-line-clamp:unset!important;text-wrap:balance!important;
  display:block!important;font-size:16px!important;line-height:1.35!important;
}
/* Related articles preserve full titles instead of a fixed two-line crop. */
html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.de-localized-page main#main-content .observer-related .observer-card :is(h2,h3),
html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.de-localized-page main#main-content .observer-related .observer-card :is(h2,h3) a {
  display:block!important;height:auto!important;max-height:none!important;overflow:visible!important;
  -webkit-line-clamp:unset!important;white-space:normal!important;text-overflow:clip!important;
  font-size:15px!important;line-height:1.45!important;hyphens:auto!important;hyphenate-limit-chars:8 4 4;
}
html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.de-localized-page main#main-content .observer-related>header {grid-template-columns:max-content minmax(0,1fr)!important}
@media(max-width:900px){
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.brand510-antux .brand510-scene-grid {grid-template-rows:none!important;grid-auto-rows:auto!important}
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.brand510-antux .brand510-scene {display:grid!important;align-items:end;height:auto!important;min-height:360px!important}
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.brand510-antux .brand510-scene>img {position:absolute!important;inset:0;width:100%;height:100%;object-fit:cover}
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.brand510-antux .brand510-scene__copy {position:relative!important;inset:auto!important;width:auto!important;margin:18px}
}
@media(max-width:800px){
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bioten-platform-v580 .btp580-hero,
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bioten-platform-v580 .btp580-hero__inner {min-height:0!important}
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bioten-platform-v580 .btp580-hero__inner {padding-block:38px 46px!important}
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bioten-platform-v580 #btp580-title {font-size:clamp(30px,6.4vw,40px)!important;line-height:1.16!important}
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bioten-matrix-page .bp7318-matrix-hero {padding-block:42px!important}
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bioten-matrix-page #matrix-title {font-size:clamp(31px,6.4vw,40px)!important}
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bp7140-page #hero-title {font-size:clamp(31px,6.4vw,40px)!important}
}
@media(max-width:620px){
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page:is(.brand510-antux,.brand510-casu,.brand510-ecoten) .brand510-hero__visual {display:grid!important;align-items:end;height:auto!important;min-height:320px!important;aspect-ratio:auto!important;width:100%!important;max-width:none!important;margin-inline:0!important}
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page:is(.brand510-antux,.brand510-casu,.brand510-ecoten) .brand510-hero__visual>img {position:absolute!important;inset:0;width:100%;height:100%;object-fit:cover}
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page:is(.brand510-antux,.brand510-casu,.brand510-ecoten) .brand510-hero__badge {position:relative!important;inset:auto!important;width:auto!important;margin:16px;hyphens:auto!important;overflow-wrap:break-word!important}
 html[lang=de][data-site-language=de][data-lang=de] body#de-product-page.de-localized-page.dbc-global-nav-active main#main-content .bp7318-r30-legacy__hero {padding:40px 18px!important}
 html[lang=de][data-site-language=de][data-lang=de] body#de-product-page.de-localized-page.dbc-global-nav-active main#main-content .bp7318-r30-legacy__panel {padding:28px 24px!important}
 html[lang=de][data-site-language=de][data-lang=de] body#de-product-page.de-localized-page.dbc-global-nav-active main#main-content.bp7318-r30-legacy h1 {font-size:31px!important;line-height:1.18!important}
 html[lang=de][data-site-language=de][data-lang=de] body#de-product-page.de-localized-page.dbc-global-nav-active main#main-content .bp7318-r30-legacy__actions {display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
}
/* Desktop columns are wide enough for whole compounds; reserve hyphenation for
   narrow screens where it prevents overflow. */
@media(min-width:801px){
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bioten-platform-v580 #btp580-title,
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bioten-matrix-page #matrix-title {hyphens:none!important;-webkit-hyphens:none!important}
}
/* Match the sidebar typography to its actual reading width. */
html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bp7140-page main#main-content .release-card:not(.is-featured) h3 {font-size:20px!important;line-height:1.35!important;letter-spacing:normal!important;hyphenate-limit-chars:8 4 4}
html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bp7140-page main#main-content .release-card:not(.is-featured) p {font-size:14px!important;line-height:1.65!important}

/* Apply the same German heading scale to the route/application hero family. */
@media(max-width:800px){
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.de-localized-page main#main-content h1.bp7140-display {font-size:clamp(31px,6.6vw,40px)!important;line-height:1.18!important;letter-spacing:-.025em!important}
}
@media(max-width:620px){
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bp7140-page .bp7140-hero {padding-block:46px!important;min-height:0!important}
 html[lang=de][data-site-language=de][data-lang=de] body#de-site-page.bp7140-page .bp7140-hero__grid {padding-block:0!important}
}

/* German desktop application/product heroes use a readable title scale and one
   spacing layer. Content, section order and the existing two-column grid stay. */
@media (min-width: 861px) {
  html[lang="de"][data-lang="de"] body#de-site-page:is(.bp7140-type-application,.bp7140-product-detail,.bp7140-developer) main#main-content .bp7140-hero {
    padding-block: 80px !important;
    min-height: 0 !important;
  }
  html[lang="de"][data-lang="de"] body#de-site-page:is(.bp7140-type-application,.bp7140-product-detail,.bp7140-developer) main#main-content .bp7140-hero__grid {
    padding-block: 0 !important;
  }
  html[lang="de"][data-lang="de"] body#de-site-page:is(.bp7140-type-application,.bp7140-product-detail,.bp7140-developer) main#main-content .bp7140-hero h1.bp7140-display {
    font-size: clamp(38px,3.35vw,48px) !important;
    line-height: 1.16 !important;
    letter-spacing: -.025em !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}
@media (min-width: 861px) {
  /* Reset the browser figure margin so the photo stays inside its grid column. */
  html[lang="de"][data-lang="de"] body#de-site-page:is(.bp7140-type-application,.bp7140-product-detail,.bp7140-developer) main#main-content .bp7140-hero__media {
    margin-inline: 0 !important;
    max-width: 100% !important;
  }
}
