/* Shared production styles are generated and maintained here. */

.cookie-banner {
  position: fixed;
  z-index: 1000;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  max-width: 48rem;
  margin-inline: auto;
  padding: 1rem;
  border: 1px solid #cbd5e1;
  border-radius: .75rem;
  background: #fff;
  color: #172033;
  box-shadow: 0 .5rem 2rem rgb(15 23 42 / 20%);
}

.cookie-banner__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
[data-form-status][data-state="error"] { color: #a11212; }
[data-form-status][data-state="success"] { color: #176c38; }
[aria-invalid="true"] { border-color: #b91c1c; }
[aria-busy="true"] { cursor: wait; }
.responsive-picture { display: contents; }
.responsive-picture--cropped {
  display: block;
  width: 100%;
  overflow: hidden;
}
.responsive-picture--cropped > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.faq-summary { list-style: none; }
.faq-summary::-webkit-details-marker { display: none; }
.faq-summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: .375rem;
  color: #f2c200;
  font-size: 1.625rem;
  font-weight: 400;
  line-height: 1;
  transform: translateY(-50%);
}
.faq-item[open] > .faq-summary::after { content: "–"; }
.faq-answer { padding-bottom: 1.375rem; }
.lead-section { padding: 4rem 1rem; }
.lead-section__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 2rem; align-items: start; }
.b2b-task:has(input) { display: block; }
input:checked + .b2b-task { background: #FFF0B8 !important; border-color: #111 !important; }
.lead-form { display: grid; gap: .75rem; padding: 1.5rem; border-radius: 1rem; background: #fff; color: #111; }
.lead-form label:not(.lead-form__consent, .form-honeypot) { display: grid; gap: .35rem; font-weight: 600; }
.lead-form input:not([type="checkbox"]), .lead-form textarea { width: 100%; padding: .85rem; border: 1.5px solid #c7c7c7; border-radius: .625rem; font: inherit; }
.lead-form__consent { display: flex; gap: .6rem; align-items: flex-start; font-size: .875rem; }
.lead-form__consent input { width: 1.25rem; height: 1.25rem; flex: none; }
.form-error { min-height: 1em; color: #a11212; font-size: .8125rem; }
.form-honeypot { position: absolute !important; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.media-placeholder { width: 100%; height: 100%; min-height: 11.25rem; display: grid; place-items: center; padding: 1.25rem; border: 2px dashed #c9c9c9; border-radius: .75rem; background: #f6f7f9; color: #5b5b5b; text-align: center; font-size: .875rem; }
[data-r="fgrid"] { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.2fr) !important; }
[data-r="fgrid"] > * { min-width: 0; }
[data-r="fgrid"] a, [data-r="fgrid"] div { overflow-wrap: anywhere; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

@media (max-width: 48rem) {
  .lead-section__grid { grid-template-columns: 1fr; }
  [data-r="fgrid"] { grid-template-columns: 1fr !important; }
}

@media (min-width: 48.01rem) and (max-width: 60rem) {
  [data-r="fgrid"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
