/* Isolated product inquiry styling; existing contact CSS is unchanged. */
#produkt-anfrage.dcf-pi {
  box-sizing: border-box;
  --dcf-surface: #0d2023;
  --dcf-input: #08191c;
  --dcf-text: #f1f8f8;
  --dcf-muted: #abc3c7;
  --dcf-line: #315055;
  --dcf-accent: #73e1d7;
  --dcf-error: #ffb7aa;
  color-scheme: dark;
  width: 100%;
  max-width: 1140px;
  min-width: 0;
  margin: 28px auto 48px;
  color: var(--dcf-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.7;
  text-align: left;
  scroll-margin-top: 100px;
}
#produkt-anfrage.dcf-pi *,
#produkt-anfrage.dcf-pi *::before,
#produkt-anfrage.dcf-pi *::after { box-sizing: border-box; }
#produkt-anfrage [hidden] { display: none !important; }
#produkt-anfrage a { color: var(--dcf-accent); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; overflow-wrap: anywhere; }
#produkt-anfrage :is(button, input, select, textarea, a):focus-visible { outline: 3px solid var(--dcf-accent); outline-offset: 4px; }
#produkt-anfrage .dcf-pi-tabs { display: flex; gap: 7px; flex-wrap: wrap; padding: 0 0 16px; }
#produkt-anfrage .dcf-pi-tabs button { flex: 0 1 auto; min-height: 48px; max-width: 100%; padding: 12px 20px; border: 1px solid #315055; border-radius: 11px; background: #0b1e21; color: #abc3c7; font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1.5; letter-spacing: 0; text-transform: none; cursor: pointer; white-space: normal; box-shadow: none; }
#produkt-anfrage .dcf-pi-tabs button:hover { background: #163235; color: var(--dcf-text); }
#produkt-anfrage .dcf-pi-tabs button[aria-pressed="true"] { border-color: #73b6af; background: #173c3d; color: #e7fcf7; }
#produkt-anfrage .dcf-pi-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; align-items: start; gap: 34px; }
#produkt-anfrage .dcf-pi-main { min-width: 0; padding: 38px; border: 1px solid var(--dcf-line); border-radius: 24px; background: linear-gradient(140deg, #17383b55, transparent 48%), var(--dcf-surface); box-shadow: 0 18px 70px #00000018; }
#produkt-anfrage .dcf-pi-eyebrow { margin: 0 0 12px; color: var(--dcf-accent); font-size: 10px; font-weight: 750; line-height: 1.8; letter-spacing: .14em; text-transform: uppercase; }
#produkt-anfrage #dcf-pi-title { max-width: 640px; margin: 0 0 16px; color: var(--dcf-text); font-family: inherit; font-size: clamp(28px, 3.3vw, 40px); font-weight: 620; line-height: 1.15; letter-spacing: -1.2px; overflow-wrap: break-word; }
#produkt-anfrage .dcf-pi-description { max-width: 620px; margin: 0 0 28px; color: var(--dcf-muted); font-size: 14px; line-height: 1.85; }
#produkt-anfrage .dcf-pi-booking { padding: 16px 18px; margin: 0 0 28px; border: 1px solid #39615f; border-radius: 12px; background: #173c3d66; color: var(--dcf-muted); font-size: 13px; line-height: 1.75; }
#produkt-anfrage .dcf-pi-booking strong { display: block; color: #e0f5ef; font-weight: 650; }
#produkt-anfrage .dcf-pi-booking p { margin: 4px 0 8px; color: inherit; font-size: inherit; }
#produkt-anfrage .dcf-pi-booking a { font-size: 12px; font-weight: 650; }
#produkt-anfrage .dcf-pi-form,
#produkt-anfrage .dcf-pi-form form,
#produkt-anfrage .dcf-pi-form .nf-form-cont,
#produkt-anfrage .dcf-pi-form .nf-form-wrap,
#produkt-anfrage .dcf-pi-form .nf-form-layout,
#produkt-anfrage .dcf-pi-form .nf-form-content { min-width: 0; max-width: 100%; margin: 0; padding: 0; border: 0; background: transparent; }
#produkt-anfrage .nf-form-title { display: none; }
#produkt-anfrage .nf-before-form-content,
#produkt-anfrage .nf-after-form-content { color: var(--dcf-muted); font-size: 11px; line-height: 1.8; }
#produkt-anfrage .nf-form-fields-required { margin: 0 0 20px; }
#produkt-anfrage .nf-form-content nf-fields-wrap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 21px 18px; }
#produkt-anfrage .nf-form-content nf-field { display: block; min-width: 0; }
#produkt-anfrage .nf-form-content nf-field.dcf-pi-field-full,
#produkt-anfrage .nf-form-content nf-field:has(#nf-field-14-container),
#produkt-anfrage .nf-form-content nf-field:has(#nf-field-16-container),
#produkt-anfrage .nf-form-content nf-field:has(#nf-field-17-container),
#produkt-anfrage .nf-form-content nf-field:has(.html-container),
#produkt-anfrage .nf-form-content nf-field:has(.recaptcha-container) { grid-column: 1 / -1; }
#produkt-anfrage .nf-field-container { min-width: 0; width: 100%; max-width: 100%; margin: 0; clear: none; }
#produkt-anfrage .nf-field { min-width: 0; width: 100%; }
#produkt-anfrage .nf-field-label { float: none; width: 100%; max-width: 100%; margin: 0 0 8px; padding: 0; text-align: left; }
#produkt-anfrage .nf-field-label label { display: block; float: none; margin: 0; color: #c6dadc; font-family: inherit; font-size: 12px; font-weight: 600; line-height: 1.65; letter-spacing: 0; text-transform: none; }
#produkt-anfrage .ninja-forms-req-symbol { color: var(--dcf-accent); }
#produkt-anfrage .nf-field-element { float: none; min-width: 0; width: 100%; max-width: 100%; margin: 0; padding: 0; }
#produkt-anfrage .nf-field-element :is(input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="hidden"]), select, textarea) { display: block; width: 100%; min-width: 0; max-width: 100%; height: auto; min-height: 49px; padding: 13px 14px; border: 1px solid #3c5c61; border-radius: 10px; background: var(--dcf-input); color: var(--dcf-text); font-family: inherit; font-size: 14px; font-weight: 400; line-height: 1.5; box-shadow: inset 0 1px 4px #0000000a; transition: border-color .15s, background .15s; }
#produkt-anfrage .nf-field-element :is(input, select, textarea):hover { border-color: #5e8689; }
#produkt-anfrage .nf-field-element :is(input, select, textarea):focus { border-color: var(--dcf-accent); background: #0a2022; }
#produkt-anfrage .nf-field-element :is(input, textarea)::placeholder { color: #75959d; opacity: 1; }
#produkt-anfrage #nf-field-16 { min-height: 180px; resize: vertical; line-height: 1.75; }
#produkt-anfrage .nf-field-element select { padding-right: 34px; cursor: pointer; }
#produkt-anfrage .nf-field-element select option { color: var(--dcf-text); background: var(--dcf-input); }
#produkt-anfrage #nf-field-14-wrap .nf-field-element > div { height: 49px; border: 0; border-radius: 10px; }
#produkt-anfrage .nf-field-description { margin: 8px 0 0; color: #91afb6; font-size: 11px; line-height: 1.75; }
#produkt-anfrage .nf-field-description p { margin: 0; color: inherit; font-size: inherit; }
#produkt-anfrage .submit-container { padding-top: 5px; }
#produkt-anfrage .nf-field-element :is(input[type="button"], input[type="submit"], button[type="submit"]) { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; width: auto; max-width: 100%; padding: 14px 21px; border: 1px solid #9ceee2; border-radius: 10px; background: var(--dcf-accent); color: #0b2e2e; font-family: inherit; font-size: 13px; font-weight: 650; line-height: 1.6; letter-spacing: 0; white-space: normal; text-transform: none; cursor: pointer; box-shadow: none; }
#produkt-anfrage .nf-field-element :is(input[type="button"], input[type="submit"], button[type="submit"]):hover { background: #9eece3; border-color: #9ceee2; color: #0b2e2e; }
#produkt-anfrage #nf-field-17 { height: auto; min-height: 56px; }
#produkt-anfrage .nf-field-element :is(input, button):disabled { opacity: .6; cursor: wait; }
#produkt-anfrage .nf-error-msg,
#produkt-anfrage .nf-error-wrap,
#produkt-anfrage .nf-error-field-errors { color: var(--dcf-error); font-size: 12px; line-height: 1.75; }
#produkt-anfrage .nf-error-msg { margin: 8px 0 0; }
#produkt-anfrage .nf-error .nf-field-element :is(input, select, textarea),
#produkt-anfrage .nf-error :is(input, select, textarea),
#produkt-anfrage .nf-field-element :is(input, select, textarea)[aria-invalid="true"] { border-color: var(--dcf-error); }
#produkt-anfrage .nf-response-msg { color: var(--dcf-text); font-size: 15px; line-height: 1.85; overflow-wrap: anywhere; }
#produkt-anfrage .nf-response-msg p { color: inherit; }
#produkt-anfrage .dcf-pi-privacy { padding: 20px 0 0; margin: 20px 0 0; border-top: 1px solid #28464b; color: #91afb6; font-size: 11px; line-height: 1.8; }
#produkt-anfrage .dcf-pi-aside { min-width: 0; padding: 12px 0; color: var(--dcf-muted); font-size: 13px; line-height: 1.85; overflow-wrap: anywhere; }
#produkt-anfrage .dcf-pi-aside :is(h2, h3) { margin: 0 0 16px; color: var(--dcf-text); font-family: inherit; font-size: 24px; font-weight: 600; line-height: 1.3; letter-spacing: -.5px; }
#produkt-anfrage .dcf-pi-aside p { color: inherit; font-size: inherit; line-height: inherit; margin: 0 0 18px; }
#produkt-anfrage .dcf-pi-aside a { display: inline; font-size: inherit; }
#produkt-anfrage .dcf-pi-aside > a { display: inline-block; margin-bottom: 12px; }
#produkt-anfrage .dcf-pi-aside strong { color: #deefee; font-weight: 600; }
#produkt-anfrage .dcf-pi-aside small { display: block; color: #91afb6; font-size: 11px; line-height: 1.8; }
#produkt-anfrage .dcf-pi-aside hr { height: 1px; border: 0; background: #28464b; margin: 25px 0; }
@media (max-width: 1000px) {
  #produkt-anfrage .dcf-pi-layout { grid-template-columns: minmax(0, 1fr) 220px; gap: 25px; }
  #produkt-anfrage .dcf-pi-main { padding: 30px; }
}
@media (max-width: 760px) {
  #produkt-anfrage.dcf-pi { margin-block: 20px 36px; }
  #produkt-anfrage .dcf-pi-layout { grid-template-columns: minmax(0, 1fr); gap: 25px; }
  #produkt-anfrage .dcf-pi-main { padding: 28px 23px; border-radius: 20px; }
  #produkt-anfrage .dcf-pi-aside { padding: 0 4px; }
  #produkt-anfrage .dcf-pi-tabs button { flex: 1 1 160px; font-size: 12px; padding-inline: 12px; }
  #produkt-anfrage #dcf-pi-title { font-size: 32px; }
}
@media (max-width: 500px) {
  #produkt-anfrage .dcf-pi-main { padding: 25px 19px; }
  #produkt-anfrage .nf-form-content nf-fields-wrap { grid-template-columns: minmax(0, 1fr); gap: 21px; }
  #produkt-anfrage .nf-form-content nf-field { grid-column: 1 / -1; }
  #produkt-anfrage .dcf-pi-eyebrow { font-size: 9px; letter-spacing: .1em; }
  #produkt-anfrage #dcf-pi-title { font-size: 29px; }
  #produkt-anfrage .dcf-pi-description { font-size: 13px; }
  #produkt-anfrage .nf-field-element :is(input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="hidden"]), select, textarea) { font-size: 16px; }
  #produkt-anfrage .nf-field-element :is(input[type="button"], input[type="submit"], button[type="submit"]) { width: 100%; }
  #produkt-anfrage #nf-field-17 { min-height: 72px; }
  #produkt-anfrage .dcf-pi-booking { padding-inline: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  #produkt-anfrage *, #produkt-anfrage *::before, #produkt-anfrage *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Product selection is compact; the native message remains untouched. */
#produkt-anfrage .dcf-pi-more { margin: 0 0 14px; border: 1px solid var(--dcf-line); border-radius: 12px; padding: 0 15px; background: #0a1b1e; }
#produkt-anfrage .dcf-pi-more > summary { padding: 13px 0; cursor: pointer; color: var(--dcf-accent); font-size: 14px; font-weight: 650; }
#produkt-anfrage .dcf-pi-category { border-top: 1px solid #315055; margin: 8px 0; }
#produkt-anfrage .dcf-pi-category > summary { padding: 12px 0; cursor: pointer; font-size: 13px; font-weight: 600; color: #d7e9e9; }
#produkt-anfrage .dcf-pi-category fieldset { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; border: 0; padding: 0 0 12px; margin: 0; min-width: 0; }
#produkt-anfrage .dcf-pi-option { display: flex; align-items: flex-start; gap: 12px; margin: 0; min-width: 0; border: 1px solid #315055; border-radius: 10px; padding: 13px; background: #10282b; cursor: pointer; }
#produkt-anfrage .dcf-pi-option:has(input:checked) { border-color: #73b6af; background: #173b3d; }
#produkt-anfrage .dcf-pi-option input { flex: 0 0 20px; width: 20px; height: 20px; margin: 3px 0 0; accent-color: var(--dcf-accent); cursor: pointer; }
#produkt-anfrage .dcf-pi-option-copy { display: block; min-width: 0; }
#produkt-anfrage .dcf-pi-option strong { display: block; color: #edf8f7; font-size: 13px; font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; }
#produkt-anfrage .dcf-pi-option-description { display: block; color: #abc3c7; font-size: 12px; line-height: 1.65; margin-top: 5px; }
#produkt-anfrage .dcf-pi-primary { margin: 0 0 16px; padding: 15px; }
#produkt-anfrage .dcf-pi-primary strong { font-size: 17px; }
#produkt-anfrage .dcf-pi-option-tag { display: block; color: #83dcd4; font-size: 10px; line-height: 1.5; letter-spacing: .04em; margin-bottom: 5px; }
#produkt-anfrage .dcf-pi-choice-note { font-size: 12px; color: var(--dcf-muted); margin: 0 0 12px; }
#produkt-anfrage .dcf-pi-search-label { display: block; font-size: 12px; color: #c6dadc; margin: 0 0 12px; }
#produkt-anfrage .dcf-pi-search-label input { display: block; width: 100%; min-width: 0; min-height: 44px; font: inherit; margin: 5px 0 0; border: 1px solid #3c5c61; border-radius: 9px; padding: 10px 12px; background: var(--dcf-input); color: var(--dcf-text); }
#produkt-anfrage .dcf-pi-selection { margin: 0 0 7px; color: var(--dcf-muted); font-size: 12px; }
#produkt-anfrage .dcf-pi-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 22px; }
#produkt-anfrage .dcf-pi-chip { max-width: 100%; min-height: 36px; padding: 6px 10px; border: 1px solid #41716f; border-radius: 18px; background: #173c3d; color: #e0f8f4; font-family: inherit; font-size: 11px; font-weight: 500; line-height: 1.5; text-align: left; text-transform: none; letter-spacing: 0; white-space: normal; cursor: pointer; }
#produkt-anfrage .dcf-pi-chip:hover { background: #245454; }
#produkt-anfrage .dcf-pi-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
#produkt-anfrage summary:focus-visible { outline: 3px solid var(--dcf-accent); outline-offset: 3px; }
@media (max-width: 600px) {
  #produkt-anfrage .dcf-pi-category fieldset { grid-template-columns: minmax(0,1fr); }
  #produkt-anfrage .dcf-pi-primary .dcf-pi-option-description { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  #produkt-anfrage .dcf-pi-search-label input { font-size: 16px; }
}

/* Success message: digiTAL heading and a clear booking button. */
#produkt-anfrage .dcf-success .dcf-success-title { display: block; margin: 0 0 18px; color: #43b8c5; font-size: clamp(26px, 3vw, 36px); font-weight: 700; line-height: 1.2; }
#produkt-anfrage .dcf-success > p { margin: 0 0 24px; }
#produkt-anfrage .dcf-success .dcf-success-booking { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; max-width: 100%; padding: 13px 22px; border: 1px solid #43b8c5; border-radius: 10px; background: #43b8c5; color: #06272a; font-family: inherit; font-size: 14px; font-weight: 650; line-height: 1.5; text-align: center; text-decoration: none; white-space: normal; }
#produkt-anfrage .dcf-success .dcf-success-booking:hover { border-color: #69d2da; background: #69d2da; color: #06272a; }
#produkt-anfrage .dcf-success .dcf-success-booking:focus-visible { outline: 3px solid #b5f4f2; outline-offset: 4px; }
