/* BasTech mobile and tablet layout. Loaded after the original Blocs styles. */
:root { --bt-blue:#2377c0; --bt-green:#27a17c; --bt-ink:#233b49; --bt-border:#d7e1e6; }
html { scroll-padding-top:100px; }
body { color:var(--bt-ink); }
@media (max-width:1199.98px) { img { max-width:100%; height:auto; } }
.row > *, .container, .container-fluid { min-width:0; }
p, li, h1, h2, h3, h4 { overflow-wrap:break-word; }
a, button, input, textarea { -webkit-tap-highlight-color:rgba(35,119,192,.15); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, .bt-table-scroll:focus-visible { outline:3px solid var(--bt-blue); outline-offset:4px; }
.bt-header { position:sticky; top:0; z-index:1050; background:#fff; box-shadow:0 2px 12px #16334212; }
.bt-header .navbar { margin:0; padding:10px 0; }
.bt-header .navbar-brand { padding:0; margin:0 24px 0 0; }
.bt-header .navbar-brand img { display:block; width:115px; height:auto; }
.bt-header .nav-link { min-height:44px; display:flex; align-items:center; font-size:15px; padding:10px 12px; }
.bt-header .navbar-toggler { width:48px; min-height:48px; border-radius:8px; }
.bt-header .navbar-toggler:focus-visible { box-shadow:0 0 0 3px #2377c040; }
.bt-header .nav-link[aria-current=page] { color:var(--bt-blue); font-weight:700; }
.bt-table-scroll { overflow-x:auto; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; border:1px solid var(--bt-border); border-radius:8px; max-width:100%; margin:12px 0 28px; }
.bt-table-scroll table { width:100%; margin:0; }
.bt-table-scroll th, .bt-table-scroll td { padding:12px 14px; line-height:1.5; }
.bt-table-hint { font:14px/1.5 "Roboto-Regular",sans-serif; color:#536775; margin:8px 0; }
.bt-specs { margin:0 0 24px; }
.bt-specs dl { margin:0; }
.bt-spec-row { display:grid; grid-template-columns:minmax(140px,1fr) minmax(0,1.2fr); gap:8px 20px; padding:10px 0; border-bottom:1px solid var(--bt-border); }
.bt-spec-row dt { font-weight:600; margin:0; }
.bt-spec-row dd { margin:0; overflow-wrap:anywhere; }
.bt-spec-note { margin-top:18px; }
.bt-form-wrap.iframe-size, .bt-form-wrap.form-hight { height:auto!important; min-height:0; left:auto; }
.bt-form-frame { display:block; width:100%; border:0; height:780px; }
.bt-form-page.bt-form-mobile { margin:0; background:#fff; }
.bt-form-page.bt-form-mobile .page-container { min-height:0!important; padding:4px 4px 20px; }
.bt-form-page.bt-form-mobile .bloc, .bt-form-page.bt-form-mobile .container { margin:0; padding:0!important; width:100%; left:auto!important; }
.bt-form-page.bt-form-mobile .form-left { left:auto!important; }
.bt-form-page.bt-form-mobile .row { margin:0; }
.bt-form-page.bt-form-mobile h3 { font-size:22px; line-height:1.35; margin-bottom:12px; }
.bt-form-page.bt-form-mobile p { font-size:16px; line-height:1.6; }
.bt-form-page.bt-form-mobile label { font-size:16px; line-height:1.5; }
.bt-form-page.bt-form-mobile .form-control { font-size:16px; min-height:48px; padding:11px 12px; border-color:#aebfc9; border-radius:6px; }
.bt-form-page.bt-form-mobile textarea.form-control { min-height:132px; resize:vertical; }
.bt-form-page.bt-form-mobile .form-group { margin-bottom:18px!important; }
.bt-form-page.bt-form-mobile .form-check { padding-left:30px; margin:20px 0; }
.bt-form-page.bt-form-mobile .form-check-input { width:20px; height:20px; margin-left:-30px; }
.bt-form-page.bt-form-mobile .form-check-label { display:block; }
.bt-form-page.bt-form-mobile button[type=submit] { min-height:48px; font-size:17px; border-radius:6px; color:white; }
.bt-form-page.bt-form-mobile .help-block { color:#a52626; font-size:14px; }
.bt-form-page.bt-form-mobile .alert { margin-top:16px; }
.bt-home-grid .row > .col { min-width:0; }
@media (max-width:1199.98px) {
  body { font-size:16px; }
  .bloc > .container { padding-left:24px!important; padding-right:24px!important; }
  .bt-header > .container { padding-left:20px!important; padding-right:20px!important; }
  .bt-header .navbar > .container-fluid { padding:0; }
  .bt-header .navbar-collapse { flex-basis:100%; }
  .bt-header .navbar-nav { margin:12px 0 0!important; padding:8px 0; width:100%; border-top:1px solid var(--bt-border); }
  .bt-header .nav-link { border-radius:6px; padding:13px 12px; font-size:16px; }
  .bt-header .nav-link:hover { background:#f0f6fa; }
  .bt-header .navbar-collapse.show { max-height:calc(100dvh - 90px); overflow-y:auto; }
  .bloc > .container.bloc-lg, .bloc > .container.bloc-lg-lg { padding-top:48px; padding-bottom:48px; }
  .bloc > .container.bloc-md, .bloc > .container.bloc-md-lg { padding-top:32px; padding-bottom:32px; }
  .bloc > .container.bloc-sm, .bloc > .container.bloc-sm-lg { padding-top:24px; padding-bottom:24px; }
  .bloc:not(#bloc-158) p { font-size:16px; line-height:1.65; }
  .h3-margin-left, .h3-margin-top { margin-left:0; }
  .p-bloc-31-style { width:100%; margin-left:0; }
  .img-margin-top { margin-top:0; height:auto; max-width:100%; box-shadow:0 6px 20px #19364a18; }
  .bg-Bastech-hintergrund { background-position:center; background-size:cover; }
  .bg-Bastech-hintergrund .row-padding-top { margin:0; padding:0; }
  .bg-Bastech-hintergrund .bloc-padding-top { background:rgba(20,44,58,.86); padding:28px; border-radius:10px; color:white; }
  .bg-Bastech-hintergrund .text-w-90 { max-width:100%; }
  .bt-table-scroll table { min-width:650px; }
  .bt-table-scroll th { white-space:normal; }
  .bt-table-hint { display:block; }
  .bt-technical-row { align-items:start; row-gap:24px; }
  .bt-technical-row > .bt-spec-col { width:66.6667%; }
  .bt-technical-row > .bt-download-col { width:33.3333%; }
  .bt-technical-row > .bt-image-col { width:100%; }
  .bt-technical-row > .bt-image-col .img-margin-top { max-width:240px; }
  .bt-home-grid .row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:0; }
  .bt-home-grid .row > .col { width:auto; padding:0; }
  .bt-home-grid h3 { font-size:20px; line-height:1.4; }
  .bt-home-grid img { width:100%; height:auto; }
  .cc-window.cc-banner { padding:14px 20px; gap:12px; font-size:14px; }
  .cc-btn { min-height:44px; }
}
@media (min-width:576px) and (max-width:991.98px) {
  .bt-overview-row > [class*="col-"] { width:50%; margin-left:0; }
  .bt-overview-row { row-gap:28px; }
  #bloc-158 .row { row-gap:24px; }
  #bloc-158 .col-md-3 { width:50%; }
}
@media (max-width:767.98px) {
  .bloc > .container { padding-left:20px!important; padding-right:20px!important; }
  h1 { font-size:clamp(25px,6vw,32px)!important; line-height:1.2!important; text-align:left; }
  h2 { font-size:24px; line-height:1.3; }
  h3 { font-size:21px; line-height:1.35; }
  h4 { font-size:19px; line-height:1.4; }
  .bt-content-row { row-gap:24px; }
  .bt-content-row > [class*="col-"] { width:100%; margin-left:0; }
  .bt-technical-row > .bt-spec-col, .bt-technical-row > .bt-download-col, .bt-technical-row > .bt-image-col { width:100%; }
  .bt-technical-row h3 { margin-top:0; }
  .bt-content-row .img-margin-top { width:auto; max-width:220px; margin:0 auto; }
  .bt-form-section .bt-decorative-col { display:none; }
  .bt-form-section .bt-form-col { width:100%; }
  .bt-home-grid .row { grid-template-columns:1fr; gap:28px; }
  .bt-home-grid img { max-height:270px; object-fit:cover; border-radius:8px; }
  .bt-home-grid h3 { text-align:left; margin-top:12px; }
  .bg-Bastech-hintergrund .bloc-padding-top { padding:24px 20px; }
  .bg-Bastech-hintergrund h3, .bg-Bastech-hintergrund p { text-align:left!important; }
  #bloc-158 h4, #bloc-158 p { text-align:left!important; }
  .bt-spec-row { grid-template-columns:minmax(0,1fr); gap:4px; }
  .bt-table-scroll table { min-width:600px; }
  .scrollToTop { min-width:44px; min-height:44px; }
  .cc-window.cc-banner { flex-direction:column; align-items:stretch; gap:8px; }
  .cc-window .cc-message { margin:0; }
  .cc-window.cc-banner .cc-compliance { flex:auto; }
}
@media (max-width:575.98px) {
  .bt-overview-row > [class*="col-"] { width:100%; }
  .bt-overview-row { row-gap:28px; }
  #bloc-158 .row > * { width:100%; }
  #bloc-158 .row { row-gap:24px; }
  .bt-header .navbar-brand img { width:106px; }
}
@media (min-width:1200px) { .bt-table-hint { display:none; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
/* Keep the sticky header in the document scroll context. */
.page-container { overflow:visible; }
@media (max-width:1199.98px) {
  .l-bloc h1, .l-bloc h2, .l-bloc h3, .l-bloc h4 { color:#233b49; }
  .l-bloc p, .bt-specs { color:#334d5a; }
  .bt-header .container-fluid { min-height:52px; }
  .bt-form-page.bt-form-mobile .page-container p { color:#334d5a; }
  .bt-form-page.bt-form-mobile h3 a { white-space:nowrap; }
}
.bt-table-hint[hidden] { display:none!important; }
@media (max-width:767.98px) { .l-bloc h1 { text-align:left!important; } }

/* Equal-sized thumbnails, including the two portrait source images. */
.bt-shrink-overview img.image-shadow { width:100%; max-width:267px; height:auto!important; aspect-ratio:1 / 1; object-fit:cover; }
/* A form wrapper must grow with its iframe instead of clipping at 510px. */
.bt-form-wrap.iframe-size, .bt-form-wrap.form-hight { height:auto!important; overflow:visible; }
/* Preserve the original form appearance on desktop; enhanced controls only on mobile/tablet. */
.bt-form-page:not(.bt-form-mobile) .page-container { min-height:0!important; }
@media (min-width:1200px) {
 .bt-header .navbar { padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x); }
 .bt-header .navbar-brand { padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end); }
 .bt-header .nav-link { display:block;min-height:0;font-size:inherit;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x); }
}

/* Product images precede specifications/downloads when columns wrap. */
@media (max-width:1199.98px) {
 .bt-technical-row > .bt-image-col { order:-1!important; }
 .bt-technical-row > .bt-spec-col { order:0!important; }
 .bt-technical-row > .bt-download-col { order:1!important; }
}

/* The old 576–767px rule names an unloaded font, "Roboto".
   Keep the registered Roboto-Regular face and original type size at every width. */
.p-bloc-30-style {
 font-family:"Roboto-Regular",Arial,sans-serif!important;
 font-size:16px!important;
 font-weight:400;
 line-height:24px!important;
}

/* Plain PDF links with a separate icon above, never download buttons. */
.bt-pdf-download { margin:0 0 20px; }
.bt-pdf-download picture { display:block; margin-bottom:8px; }
.bt-pdf-download img { width:57px; height:50px; object-fit:contain; margin:0!important; }
.bt-pdf-download a { background:none; color:inherit; text-decoration:underline; }
/* The outer frame owns the padding; the embedded document fills its content box. */
.bt-form-wrap.iframe-size, .bt-form-wrap.form-hight {
 box-sizing:border-box; width:100%; height:auto!important; padding:28px 24px;
 margin:12px 0 20px; left:0!important; background:#fff;
 border:1px solid var(--bt-border); border-radius:6px; overflow:visible;
}
.bt-form-frame { max-width:100%; vertical-align:top; }
@media (max-width:767.98px) {
 .bt-form-wrap.iframe-size, .bt-form-wrap.form-hight { padding:28px 16px 32px; }
}
@media (max-width:1199.98px) {
 .bt-form-section .bt-decorative-col { display:none; }
 .bt-form-section .bt-form-col { width:100%; margin-left:0; }
}

/* Companion images: larger, inset from the card edge, and slightly floating. */
@media (max-width:1199.98px) {
 .bt-content-row:not(.bt-form-section) {
  display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr);
  gap:24px; padding:0 20px 24px; margin-top:24px; align-items:start;
 }
 .bt-content-row:not(.bt-form-section) > [class*="col"] {
  width:auto!important; min-width:0; margin-left:0; padding-left:0; padding-right:0;
 }
 .bt-content-row:not(.bt-form-section) picture { display:block; }
 .bt-content-row:not(.bt-form-section) .img-margin-top,
 .bt-content-row:not(.bt-form-section) .beu-image-top {
  display:block; width:100%; max-width:none!important; height:auto!important;
  margin:0!important; transform:translateY(-14px);
  box-shadow:0 10px 22px rgba(22,44,58,.25); border-radius:4px;
 }
 .bt-content-row:not(.bt-form-section) .align-self-center { align-self:start!important; }
 .bt-content-row:not(.bt-form-section) p { margin-bottom:0; }
}
@media (max-width:767.98px) {
 .bt-content-row:not(.bt-form-section) { grid-template-columns:minmax(0,1fr); gap:12px; padding:0 16px 24px; }
}

/* Product images in the second section follow the first section's layout. */
@media (max-width:1199.98px) {
 .bt-technical-row {
  display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr);
  grid-template-areas:"product specifications" "product downloads";
  gap:24px; padding:0 20px 24px; margin-top:24px; align-items:start;
 }
 .bt-technical-row > [class*="col"] { width:auto!important;min-width:0;margin-left:0;padding-left:0;padding-right:0; }
 .bt-technical-row > .bt-image-col { grid-area:product; }
 .bt-technical-row > .bt-spec-col { grid-area:specifications; }
 .bt-technical-row > .bt-download-col { grid-area:downloads; }
 .bt-technical-row > .bt-image-col picture { display:block; }
 .bt-technical-row > .bt-image-col .img-margin-top {
  display:block; width:100%; max-width:none!important; height:auto!important;
  margin:0!important;transform:translateY(-14px);
  box-shadow:0 10px 22px rgba(22,44,58,.25);border-radius:4px;
 }
}
@media (max-width:767.98px) {
 .bt-technical-row { grid-template-columns:minmax(0,1fr);grid-template-areas:"product" "specifications" "downloads";gap:12px;padding:0 16px 24px; }
}

/* Original Blocs form surface: one continuous light-grey area at every width. */
.bt-form-wrap.iframe-size, .bt-form-wrap.form-hight {
 background:#ebebeb; border:0; border-radius:0;
}

/* The four overview cards use .col, not .col-*, so give this grid explicit tracks. */
@media (max-width:1199.98px) {
 :is(.bt-shrink-overview,.bt-responsive-overview) .bt-overview-row {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;
  padding:20px 16px;margin-left:0;margin-right:0;
 }
 :is(.bt-shrink-overview,.bt-responsive-overview) .bt-overview-row > .col { width:auto!important;min-width:0;padding:0; }
 :is(.bt-shrink-overview,.bt-responsive-overview) .bt-overview-row img.image-shadow { width:100%;max-width:none;height:auto!important;aspect-ratio:1;object-fit:cover; }
 :is(.bt-shrink-overview,.bt-responsive-overview) .bt-overview-row h3 { font-size:21px;line-height:1.35; }
}
@media (max-width:767.98px) {
 :is(.bt-shrink-overview,.bt-responsive-overview) .bt-overview-row { grid-template-columns:minmax(0,1fr);gap:32px; }
}

/* One footer style on the homepage and every content page, at every breakpoint. */
#bloc-158 { width:100%; text-align:left; }
#bloc-158 .row { align-items:start; }
#bloc-158 h4, #bloc-158 p, #bloc-158 .footer-link { text-align:left!important; }
#bloc-158 p.p-style { font-family:"Roboto-Regular",Arial,sans-serif; font-size:14px;line-height:22px; }
#bloc-158 .footer-link {
 display:block; width:100%; min-height:0; margin:0; padding:0;
 font-family:"Roboto-Regular",Arial,sans-serif; font-size:16px; line-height:24px;
}
#bloc-158 p a { display:inline; margin:0; padding:0; font-size:inherit; line-height:inherit; }
