/* HW-MALER-V1 */
/* ===================================================================
   Maler-Landingpage – styles.css
   Designsystem: Rubik · #FFFC00 (Akzentgelb) · große Schriften
   Mobile-first · Breakpoints: 768px, 1100px
   =================================================================== */

/* --- Reset / Base --- */
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 100%; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Rubik', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.6;
  color: #000;
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
img, svg { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
a:hover { color: #000; }
button { font-family: inherit; cursor: pointer; }

/* --- Design-Tokens --- */
:root {
  --c-yellow:        #FFFC00;
  --c-yellow-soft:   #FFF49B;
  --c-yellow-tint:   #FFFCE0;
  --c-black:         #000000;
  --c-anthrazit:     #1a1a1a;
  --c-grey-50:       #f6f6f6;
  --c-grey-200:      #e5e5e5;
  --c-grey-500:      #6b6b6b;
  --c-white:         #ffffff;

  --shadow-card:     0 2px 8px rgba(0,0,0,.06);
  --shadow-card-hover: 0 8px 24px rgba(0,0,0,.10);

  --container-max:   1200px;
  --section-py:      4.5rem;
  --section-py-lg:   7rem;
}
@media (min-width: 1100px) { :root { --section-py: 7rem; } }

/* --- Layout-Helpers --- */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 1.5rem;
}
@media (min-width: 768px)  { .container { padding: 0 2rem; } }
@media (min-width: 1100px) { .container { padding: 0 2.5rem; } }

.section { padding: var(--section-py) 0; }
.section--alt { background: var(--c-grey-50); }
.section--yellow { background: var(--c-yellow-soft); }
.section--dark { background: var(--c-anthrazit); color: #fff; }

.eyebrow {
  display: inline-block;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  background: var(--c-yellow);
  color: #000;
  padding: .35rem .85rem;
  margin-bottom: 1.4rem;
}

/* --- Typografie --- */
h1, h2, h3, h4 {
  font-family: 'Rubik', system-ui, sans-serif;
  font-weight: 700;
  line-height: 1.1;
  color: #000;
  margin: 0 0 1.2rem;
  letter-spacing: -.01em;
}
h1 {
  font-size: clamp(2.4rem, 6.5vw, 5.6rem);
  font-weight: 800;
  letter-spacing: -.02em;
}
h2 {
  font-size: clamp(1.9rem, 4.2vw, 3.6rem);
}
h3 {
  font-size: clamp(1.4rem, 2.4vw, 2rem);
}
p  { margin: 0 0 1.2rem; }
.lead {
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  line-height: 1.5;
  color: #1a1a1a;
}

/* --- Buttons --- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 1;
  padding: 1.15rem 2rem;
  border: 0;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .04em;
  transition: transform .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
  white-space: nowrap;
}
.btn--primary {
  background: var(--c-yellow);
  color: #000;
}
.btn--primary:hover {
  background: #000;
  color: var(--c-yellow);
  transform: translateY(-1px);
}
.btn--ghost {
  background: transparent;
  color: #000;
  border: 2px solid #000;
}
.btn--ghost:hover { background: #000; color: #fff; }
.btn--lg {
  font-size: 1.2rem;
  padding: 1.4rem 2.6rem;
}

/* --- Header (Sticky) --- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #fff;
  border-bottom: 1px solid var(--c-grey-200);
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
}
.site-header__brand {
  font-family: 'Rubik', sans-serif;
  font-weight: 800;
  font-size: 1.4rem;
  letter-spacing: -.01em;
  color: #000;
}
.site-header__brand span {
  background: var(--c-yellow);
  padding: .15rem .5rem;
  margin-left: .15rem;
}
.site-header__nav {
  display: none;
  gap: 1.6rem;
  align-items: center;
}
@media (min-width: 768px) { .site-header__nav { display: flex; } }
.site-header__nav a {
  font-weight: 500;
  font-size: 1rem;
}
.site-header__nav a:hover { color: #000; border-bottom: 2px solid var(--c-yellow); }
.site-header__phone {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-weight: 700;
  font-size: 1rem;
}
.site-header__phone svg { width: 18px; height: 18px; }

/* --- Hero --- */
.hero {
  position: relative;
  padding: 4rem 0 5rem;
  background: linear-gradient(180deg, var(--c-yellow-tint) 0%, #fff 70%);
  overflow: hidden;
}
@media (min-width: 1100px) {
  .hero { padding: 7rem 0 8rem; }
}
.hero__inner {
  display: grid;
  gap: 2.5rem;
  align-items: center;
}
@media (min-width: 1100px) {
  .hero__inner { grid-template-columns: 1.15fr .85fr; gap: 4rem; }
}
.hero__content { max-width: 760px; }
.hero__h1 {
  margin-bottom: 1.5rem;
}
.hero__h1 mark {
  background: var(--c-yellow);
  color: #000;
  padding: .05em .25em;
}
.hero__lead {
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  line-height: 1.55;
  color: #1a1a1a;
  margin-bottom: 2.4rem;
}
.hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 2rem;
}
.hero__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 1.4rem 2.4rem;
  font-weight: 600;
  color: #1a1a1a;
}
.hero__trust span {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-size: 1rem;
}
.hero__trust span::before {
  content: '✓';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  background: var(--c-yellow);
  color: #000;
  font-weight: 800;
  font-size: 1rem;
}

/* Hero-Visual: SVG mit Pinsel & Roller */
.hero__visual {
  position: relative;
  aspect-ratio: 4 / 5;
  background: var(--c-yellow);
  overflow: hidden;
}
.hero__visual-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero__visual-text {
  position: absolute;
  bottom: 1.6rem;
  left: 1.6rem;
  right: 1.6rem;
  font-family: 'Rubik', sans-serif;
  font-weight: 800;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 1.1;
  color: #000;
  z-index: 1;
  background: rgba(255,252,0,.85);
  padding: .8rem 1rem;
  display: inline-block;
  border-left: 6px solid #000;
}

/* --- USPs --- */
.usps {
  display: grid;
  gap: 1.2rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px)  { .usps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .usps { grid-template-columns: repeat(4, 1fr); } }
.usp {
  background: #fff;
  padding: 2rem 1.6rem;
  border-top: 4px solid var(--c-yellow);
}
.usp__num {
  display: inline-block;
  font-family: 'Rubik', sans-serif;
  font-weight: 800;
  font-size: 2.4rem;
  line-height: 1;
  color: var(--c-yellow);
  -webkit-text-stroke: 1.5px #000;
  margin-bottom: .8rem;
}
.usp__title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: .6rem;
}
.usp__text {
  font-size: 1rem;
  color: #333;
  line-height: 1.55;
  margin: 0;
}

/* --- Leistungen-Grid --- */
.leistungen {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px)  { .leistungen { grid-template-columns: repeat(2, 1fr); gap: 1.8rem; } }
@media (min-width: 1100px) { .leistungen { grid-template-columns: repeat(3, 1fr); gap: 2rem; } }
.leistung {
  position: relative;
  background: #fff;
  padding: 2.4rem 2rem;
  border: 2px solid #000;
  transition: transform .15s ease, box-shadow .15s ease;
  display: flex;
  flex-direction: column;
}
.leistung:hover {
  transform: translateY(-4px);
  box-shadow: 8px 8px 0 var(--c-yellow);
}
.leistung__icon {
  width: 56px;
  height: 56px;
  background: var(--c-yellow);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.4rem;
}
.leistung__icon svg { width: 32px; height: 32px; color: #000; }
.leistung__title {
  font-size: 1.35rem;
  font-weight: 700;
  margin-bottom: .8rem;
}
.leistung__text {
  font-size: 1rem;
  color: #333;
  line-height: 1.55;
  margin-bottom: 1.6rem;
  flex-grow: 1;
}
.leistung__link {
  font-weight: 700;
  font-size: .95rem;
  color: #000;
  border-bottom: 2px solid var(--c-yellow);
  align-self: flex-start;
  padding-bottom: 2px;
  transition: border-color .15s, padding .15s;
}
.leistung__link:hover { border-color: #000; padding-right: .5rem; }

/* --- Prozess (3-Schritte) --- */
.prozess {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
  margin-top: 3rem;
}
@media (min-width: 768px) { .prozess { grid-template-columns: repeat(3, 1fr); gap: 3rem; } }
.schritt {
  position: relative;
}
.schritt__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  background: #000;
  color: var(--c-yellow);
  font-weight: 800;
  font-size: 1.8rem;
  margin-bottom: 1.4rem;
}
.schritt__title {
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: .7rem;
}
.schritt__text {
  font-size: 1.05rem;
  color: #333;
  line-height: 1.55;
  margin: 0;
}

/* --- Stadtteile-Liste --- */
.stadtteile {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
}
.stadtteile li {
  background: #fff;
  border: 1px solid var(--c-grey-200);
  padding: .55rem 1.1rem;
  font-weight: 500;
  font-size: 1rem;
}

/* --- FAQ --- */
.faq {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: .8rem;
}
.faq__item {
  background: #fff;
  border: 2px solid #000;
}
.faq__item[open] { box-shadow: 4px 4px 0 var(--c-yellow); }
.faq__q {
  list-style: none;
  cursor: pointer;
  font-weight: 700;
  font-size: 1.15rem;
  padding: 1.4rem 1.6rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.faq__q::-webkit-details-marker { display: none; }
.faq__q::after {
  content: '+';
  font-size: 1.6rem;
  font-weight: 400;
  width: 32px;
  height: 32px;
  background: var(--c-yellow);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform .15s ease;
}
.faq__item[open] .faq__q::after { transform: rotate(45deg); }
.faq__a {
  padding: 0 1.6rem 1.6rem;
  font-size: 1rem;
  line-height: 1.6;
  color: #1a1a1a;
}
.faq__a p:last-child { margin-bottom: 0; }

/* --- CTA-Block (groß, gelb) --- */
.cta-block {
  background: var(--c-yellow);
  padding: 4rem 2rem;
  text-align: center;
}
.cta-block h2 {
  margin-bottom: 1.4rem;
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
}
.cta-block p {
  font-size: 1.2rem;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.4rem;
}
.cta-block__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}
.cta-block .btn--primary { background: #000; color: var(--c-yellow); }
.cta-block .btn--primary:hover { background: #fff; color: #000; }

/* --- Anfrage-Formular --- */
.formular {
  max-width: 720px;
  margin: 3rem auto 0;
  background: #fff;
  border: 2px solid #000;
  padding: 2.5rem 2rem;
}
@media (min-width: 768px) { .formular { padding: 3rem; } }
.formular__row {
  display: grid;
  gap: 1.2rem;
  margin-bottom: 1.2rem;
}
@media (min-width: 768px) { .formular__row.is-2col { grid-template-columns: 1fr 1fr; } }
.formular__field { display: flex; flex-direction: column; gap: .4rem; }
.formular__label {
  font-weight: 600;
  font-size: .95rem;
}
.formular__input,
.formular__textarea {
  font-family: inherit;
  font-size: 1.05rem;
  padding: .9rem 1rem;
  border: 2px solid #000;
  background: #fff;
  outline: 0;
}
.formular__input:focus,
.formular__textarea:focus {
  background: var(--c-yellow-tint);
}
.formular__textarea { min-height: 120px; resize: vertical; }
.formular__check {
  display: flex;
  gap: .6rem;
  align-items: flex-start;
  font-size: .92rem;
  margin-bottom: 1.6rem;
}
.formular__check input {
  width: 20px;
  height: 20px;
  margin-top: 3px;
  accent-color: #000;
  flex-shrink: 0;
}

/* --- Footer --- */
.site-footer {
  background: var(--c-anthrazit);
  color: #d8d8d8;
  padding: 3.5rem 0 2rem;
  font-size: .95rem;
}
.site-footer a { color: #fff; }
.site-footer a:hover { color: var(--c-yellow); }
.site-footer__grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
  margin-bottom: 3rem;
}
@media (min-width: 768px) { .site-footer__grid { grid-template-columns: 1.4fr 1fr 1fr; } }
.site-footer__brand {
  font-weight: 800;
  font-size: 1.3rem;
  color: #fff;
  margin-bottom: .8rem;
}
.site-footer__brand span { color: var(--c-yellow); }
.site-footer__addr p { margin: 0; line-height: 1.7; }
.site-footer__col h4 {
  font-size: 1.05rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 1rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.site-footer__col ul { list-style: none; padding: 0; margin: 0; }
.site-footer__col li { margin-bottom: .55rem; }
.site-footer__legal {
  border-top: 1px solid #333;
  padding-top: 1.6rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  font-size: .85rem;
  color: #888;
}
.site-footer__legal a { color: #ccc; }

/* --- Utilities --- */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.text-center { text-align: center; }
.mt-0 { margin-top: 0; }
.mt-2 { margin-top: 2rem; }
.mb-0 { margin-bottom: 0; }


/* HW-MALER-V3: Footer kompakter + Visual-Layout */
.site-footer {
  padding: 2.5rem 0 1.4rem;
  font-size: .85rem;
  font-family: 'Rubik', sans-serif;
}
.site-footer__visual {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin-bottom: 1.8rem;
  min-height: 130px;
}
.site-footer__visual .footer-brush {
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: auto;
  opacity: .85;
}
.site-footer__visual .footer-painter {
  width: 130px;
  height: auto;
}
@media (min-width: 768px) {
  .site-footer__visual { min-height: 160px; margin-bottom: 2.2rem; }
  .site-footer__visual .footer-brush { width: 100px; }
  .site-footer__visual .footer-painter { width: 160px; }
}
.site-footer__grid {
  gap: 1.6rem;
  margin-bottom: 1.8rem;
}
.site-footer__brand {
  font-size: 1.05rem;
  margin-bottom: .55rem;
}
.site-footer__addr p {
  font-size: .85rem;
  line-height: 1.55;
}
.site-footer__col h4 {
  font-size: .82rem;
  margin: 0 0 .65rem;
}
.site-footer__col li { margin-bottom: .35rem; }
.site-footer__col a { font-size: .85rem; }
.site-footer__legal {
  padding-top: 1.1rem;
  font-size: .72rem;
}
\n\n/* HW-MALER-V4: Header-Visual (Pinsel + Farbstriche) */\n.site-header__visual {\n  display: none;\n  flex: 0 0 auto;\n  width: 160px;\n  margin-left: 1.2rem;\n}\n@media (min-width: 1100px) {\n  .site-header__visual { display: block; }\n}\n.site-header__visual .header-brush-svg {\n  width: 100%;\n  height: auto;\n  max-height: 56px;\n}\n\n\n/* HW-MALER-V6: Konfigurator-Farben an Maler-Look anpassen\n   Override für hw-configurator (Pink → Schwarz/Gelb).\n   Eingegrenzt auf .hw-configurator-wrapper damit handwertig.com nicht betroffen. */\n.hw-configurator-wrapper {\n  font-family: 'Rubik', system-ui, -apple-system, sans-serif;\n}\n\n/* Progress-Bar */\n.hw-configurator-wrapper .hw-cfg-progress-bar { background: #1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-step-label {\n  color: #1a1a1a;\n  font-family: 'Rubik', sans-serif;\n}\n\n/* Titel & Subtitle */\n.hw-configurator-wrapper .hw-cfg-title {\n  color: #1a1a1a;\n  font-family: 'Rubik', sans-serif;\n  text-transform: none;\n}\n.hw-configurator-wrapper .hw-cfg-subtitle { color: #444; }\n\n/* Section-Titles mit gelbem Underline */\n.hw-configurator-wrapper .hw-cfg-section-title,\n.hw-configurator-wrapper [class*="hw-cfg"][class*="title"] {\n  color: #1a1a1a;\n  font-family: 'Rubik', sans-serif;\n  border-bottom-color: #FFFC00 !important;\n}\n\n/* Objekt-Cards */\n.hw-configurator-wrapper .hw-cfg-obj-card { border-color: #1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-obj-card:hover { border-color: #FFFC00; box-shadow: 4px 4px 0 #FFFC00; }\n.hw-configurator-wrapper .hw-cfg-obj-card-name { color: #1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-obj-card-icon svg { stroke: #1a1a1a; }\n\n/* Objekt-Optionen */\n.hw-configurator-wrapper .hw-cfg-obj-option { color: #1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-obj-option:hover {\n  background: #FFFCE0;\n  color: #1a1a1a;\n}\n.hw-configurator-wrapper .hw-cfg-obj-option.selected {\n  background: #1a1a1a;\n  color: #FFFC00;\n  font-weight: 700;\n}\n.hw-configurator-wrapper .hw-cfg-obj-option.selected .hw-cfg-obj-option-marker::after {\n  background: #FFFC00;\n}\n\n/* Gewerk-Cards (Maler-Auswahl etc.) */\n.hw-configurator-wrapper .hw-cfg-gewerk-card { border: 2px solid #d8d8d8; }\n.hw-configurator-wrapper .hw-cfg-gewerk-card:hover { border-color: #1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-gewerk-card.selected {\n  border: 2px solid #1a1a1a;\n  background: #FFFC00;\n}\n.hw-configurator-wrapper .hw-cfg-gewerk-label { color: #1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-gewerk-card.selected .hw-cfg-gewerk-label { color: #1a1a1a; font-weight: 700; }\n.hw-configurator-wrapper .hw-cfg-gewerk-check { color: #1a1a1a; }\n\n/* Detail-Optionen (Buttons-Reihen) */\n.hw-configurator-wrapper .hw-cfg-detail-opt { border-color: #1a1a1a; color: #1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-detail-opt:hover { border-color: #1a1a1a; color: #1a1a1a; background: #FFFCE0; }\n.hw-configurator-wrapper .hw-cfg-detail-opt.active {\n  border-color: #1a1a1a;\n  background: #1a1a1a;\n  color: #FFFC00;\n}\n\n/* Textfelder & Eingaben */\n.hw-configurator-wrapper .hw-cfg-detail-textfeld,\n.hw-configurator-wrapper .hw-cfg-sqm-input,\n.hw-configurator-wrapper input[type="text"],\n.hw-configurator-wrapper input[type="email"],\n.hw-configurator-wrapper input[type="tel"],\n.hw-configurator-wrapper input[type="number"],\n.hw-configurator-wrapper textarea,\n.hw-configurator-wrapper select {\n  border-color: #1a1a1a !important;\n  color: #1a1a1a;\n  font-family: 'Rubik', sans-serif;\n}\n.hw-configurator-wrapper .hw-cfg-detail-textfeld:focus,\n.hw-configurator-wrapper .hw-cfg-sqm-input:focus,\n.hw-configurator-wrapper input:focus,\n.hw-configurator-wrapper textarea:focus,\n.hw-configurator-wrapper select:focus {\n  border-color: #1a1a1a !important;\n  outline: 2px solid #FFFC00;\n  outline-offset: 0;\n  background: #FFFCE0;\n}\n\n/* Profil-Group-Titel */\n.hw-configurator-wrapper .hw-cfg-profil-group-title { color: #1a1a1a; }\n\n/* Generische Buttons im Konfigurator */\n.hw-configurator-wrapper button:not(.hw-cfg-obj-option):not(.hw-cfg-gewerk-card):not(.hw-cfg-detail-opt) {\n  font-family: 'Rubik', sans-serif;\n}\n\n/* Primary-Aktionen (Weiter, Anfrage absenden) */\n.hw-configurator-wrapper .hw-cfg-btn-next,\n.hw-configurator-wrapper .hw-cfg-btn-submit,\n.hw-configurator-wrapper [class*="btn-primary"],\n.hw-configurator-wrapper button[type="submit"] {\n  background: #FFFC00 !important;\n  color: #1a1a1a !important;\n  border: 2px solid #1a1a1a !important;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: .04em;\n  font-family: 'Rubik', sans-serif !important;\n}\n.hw-configurator-wrapper .hw-cfg-btn-next:hover,\n.hw-configurator-wrapper .hw-cfg-btn-submit:hover,\n.hw-configurator-wrapper [class*="btn-primary"]:hover,\n.hw-configurator-wrapper button[type="submit"]:hover {\n  background: #1a1a1a !important;\n  color: #FFFC00 !important;\n  transform: translateY(-1px);\n}\n\n/* Secondary-Aktionen (Zurück, Abbrechen) */\n.hw-configurator-wrapper .hw-cfg-btn-back,\n.hw-configurator-wrapper [class*="btn-secondary"],\n.hw-configurator-wrapper [class*="btn-back"] {\n  background: #fff !important;\n  color: #1a1a1a !important;\n  border: 2px solid #1a1a1a !important;\n  font-family: 'Rubik', sans-serif !important;\n}\n.hw-configurator-wrapper .hw-cfg-btn-back:hover,\n.hw-configurator-wrapper [class*="btn-secondary"]:hover {\n  background: #1a1a1a !important;\n  color: #fff !important;\n}\n\n/* Preis-Anzeige / Summary-Box mit gelbem Highlight */\n.hw-configurator-wrapper [class*="hw-cfg-summary"],\n.hw-configurator-wrapper [class*="hw-cfg-preis"],\n.hw-configurator-wrapper [class*="hw-cfg-price"] {\n  border-color: #1a1a1a;\n}\n.hw-configurator-wrapper [class*="hw-cfg-summary-total"],\n.hw-configurator-wrapper [class*="hw-cfg-preis-total"],\n.hw-configurator-wrapper [class*="hw-cfg-price-total"] {\n  color: #1a1a1a;\n  background: #FFFC00;\n}\n\n/* Globaler Pink → Schwarz Fallback (für alles was wir nicht explizit getroffen haben) */\n.hw-configurator-wrapper [style*="#e22278"],\n.hw-configurator-wrapper [style*="#E22278"] {\n  /* Inline-Styles können wir per CSS nicht direkt ersetzen — daher als Best-Effort */\n}\n\n\n/* HW-MALER-V7: Konfigurator-Farben — Auto-generiertes Override aus hw-configurator.css.\n   Pink (#e22278) -> Schwarz (#1a1a1a), helles Pink (#fef2f7) -> helles Gelb (#FFFCE0).\n   Selected/Active States bekommen #FFFC00 als Schriftfarbe statt Weiß. */\n\n.hw-configurator-wrapper .hw-configurator-wrapper { margin: 0 auto;\n  font-family: 'Montserrat', system-ui, -apple-system, sans-serif;\n  font-size: 1rem; line-height: 1.7; color: #1a1a1a; }\n.hw-configurator-wrapper .hw-configurator { background: none; }\n.hw-configurator-wrapper .hw-cfg-price-bar, .hw-configurator-wrapper .hw-cfg-price-hidden { display:none!important; }\n.hw-configurator-wrapper .hw-cfg-progress { height:8px; background:rgb(235,235,235); }\n.hw-configurator-wrapper .hw-cfg-progress-bar { height:100%; background:#1a1a1a; transition:width .35s ease; }\n.hw-configurator-wrapper .hw-cfg-header { padding:28px 0 16px; }\n.hw-configurator-wrapper .hw-cfg-step-label { font-size:.7rem; color:#1a1a1a; font-weight:700; text-transform:uppercase; letter-spacing:.15em; margin-bottom:8px; font-family:'Montserrat',inherit; }\n.hw-configurator-wrapper .hw-cfg-title { font-size:clamp(1.35rem, 2.5vw, 2rem); font-weight:700; color:#1a1a1a; margin:0 0 6px; line-height:1.3; letter-spacing:-.01em; text-transform:uppercase; }\n.hw-configurator-wrapper .hw-cfg-subtitle { font-size:clamp(1.07rem, 1.5vw, 1.2rem); color:#666; margin:0; font-weight:400; line-height:1.4; }\n.hw-configurator-wrapper .hw-cfg-body { padding:28px 0; min-height:200px; }\n.hw-configurator-wrapper .hw-cfg-optional { font-size:.75rem; color:#aaa; font-weight:400; margin-left:6px; text-transform:none; letter-spacing:0; }\n.hw-configurator-wrapper .hw-cfg-section-title { display:block; font-size:1.2rem; font-weight:700; color:#1a1a1a; font-family:'Montserrat',inherit;\n  margin:22px 0 12px; padding-bottom:8px; border-bottom:2px solid #1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-objekttyp { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }\n.hw-configurator-wrapper .hw-cfg-obj-card { border:1px solid #d8d8d8; background:#fff; cursor:pointer; transition:border-color .15s; display:flex; flex-direction:column; }\n.hw-configurator-wrapper .hw-cfg-obj-card:hover { border-color:#1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-obj-card-head { background:#f4f4f4; padding:16px 14px 14px; border-bottom:1px solid #d8d8d8; text-align:center; }\n.hw-configurator-wrapper .hw-cfg-obj-card-icon { width:48px; height:48px; margin:0 auto 8px; display:flex; align-items:center; justify-content:center; }\n.hw-configurator-wrapper .hw-cfg-obj-card-icon svg { width:40px; height:40px; fill:none; stroke:#1a1a1a; stroke-width:1.5; }\n.hw-configurator-wrapper .hw-cfg-obj-card-name { font-size:.85rem; font-weight:700; color:#1a1a1a; text-transform:uppercase; letter-spacing:.08em; }\n.hw-configurator-wrapper .hw-cfg-obj-card-options { display:flex; flex-direction:column; flex:1; }\n.hw-configurator-wrapper .hw-cfg-obj-option { flex:1; padding:12px 14px; border:none; border-top:1px solid #e8e8e8; background:#fff; cursor:pointer; font-size:1rem; font-weight:500; color:#444; font-family:inherit; text-align:left; transition:background .12s,color .12s; display:flex; align-items:center; gap:10px; }\n.hw-configurator-wrapper .hw-cfg-obj-option:first-child { border-top:none; }\n.hw-configurator-wrapper .hw-cfg-obj-option:hover { background:#FFFCE0; color:#1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-obj-option.selected { background:#1a1a1a; color:#FFFC00; font-weight:700; }\n.hw-configurator-wrapper .hw-cfg-obj-option-marker { width:14px; height:14px; border:1.5px solid currentColor; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; }\n.hw-configurator-wrapper .hw-cfg-obj-option.selected .hw-cfg-obj-option-marker::after { content:''; width:6px; height:6px; border-radius:50%; background:#fff; display:block; }\n.hw-configurator-wrapper .hw-cfg-gewerke-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }\n.hw-configurator-wrapper .hw-cfg-gewerk-card { border:none; background:#fff; padding:18px 10px 14px; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; position:relative; transition:border-color .12s,background .12s; }\n.hw-configurator-wrapper .hw-cfg-gewerk-card:hover { border-color:#1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-gewerk-card.selected { border:2px solid #1a1a1a; background:#FFFCE0; }\n.hw-configurator-wrapper .hw-cfg-gewerk-svg { width:44px; height:44px; object-fit:contain; }\n.hw-configurator-wrapper .hw-cfg-gewerk-label { font-size:.85rem; font-weight:600; color:#1a1a1a; line-height:1.4; letter-spacing:.03em; text-transform:uppercase; }\n.hw-configurator-wrapper .hw-cfg-gewerk-card.selected .hw-cfg-gewerk-label { color:#1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-gewerk-check { position:absolute; top:5px; right:7px; font-size:.75rem; font-weight:800; color:#1a1a1a; line-height:1; }\n.hw-configurator-wrapper .hw-cfg-zustand-block { margin-top:22px; }\n.hw-configurator-wrapper .hw-cfg-zustand-title { font-size:1.2rem; font-weight:700; color:#1a1a1a; margin-bottom:14px; }\n.hw-configurator-wrapper .hw-cfg-detail-group { padding:14px 0; border-bottom:1px solid #ebebeb; }\n.hw-configurator-wrapper .hw-cfg-detail-group:last-child { border-bottom:none; }\n.hw-configurator-wrapper .hw-cfg-detail-group-title { font-size:1.2rem; font-weight:700; color:#1a1a1a; margin-bottom:10px; }\n.hw-configurator-wrapper .hw-cfg-detail-frage { font-size:1rem; color:#000; margin-bottom:10px; }\n.hw-configurator-wrapper .hw-cfg-detail-optionen { display:flex; flex-wrap:wrap; gap:7px; }\n.hw-configurator-wrapper .hw-cfg-detail-opt { padding:7px 16px; border:1px solid #d0d0d0; background:#fff; font-size:1rem; font-weight:500; color:#444; cursor:pointer; font-family:inherit; transition:border-color .1s,background .1s,color .1s; white-space:nowrap; }\n.hw-configurator-wrapper .hw-cfg-detail-opt:hover { border-color:#1a1a1a; color:#1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-detail-opt.active { border-color:#1a1a1a; background:#1a1a1a; color:#FFFC00; font-weight:600; }\n.hw-configurator-wrapper .hw-cfg-detail-textfelder { display:flex; gap:16px; flex-wrap:wrap; }\n.hw-configurator-wrapper .hw-cfg-detail-textfeld-wrap { display:flex; flex-direction:column; gap:5px; }\n.hw-configurator-wrapper .hw-cfg-detail-textfeld-label { font-size:.9rem; font-weight:600; color:#555; }\n.hw-configurator-wrapper .hw-cfg-detail-textfeld { width:130px; padding:9px 12px; border:1px solid #d0d0d0; font-size:.95rem; font-weight:600; color:#1a1a1a; font-family:inherit; background:#fff; }\n.hw-configurator-wrapper .hw-cfg-detail-textfeld:focus { outline:none; border-color:#1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-sqm-block { margin-top:18px; padding-top:18px; border-top:1px solid #ebebeb; }\n.hw-configurator-wrapper .hw-cfg-sqm-label { display:block; font-size:1rem; font-weight:700; color:#1a1a1a; margin-bottom:10px; }\n.hw-configurator-wrapper .hw-cfg-sqm-input-wrap { display:flex; align-items:center; gap:10px; }\n.hw-configurator-wrapper .hw-cfg-sqm-input { width:150px; padding:9px 14px; border:1px solid #d0d0d0; font-size:1rem; font-weight:600; color:#1a1a1a; font-family:inherit; background:#fff; }\n.hw-configurator-wrapper .hw-cfg-sqm-input:focus { outline:none; border-color:#1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-sqm-unit { font-size:.95rem; font-weight:600; color:#444; }\n.hw-configurator-wrapper .hw-cfg-objektdaten-title { font-size:1.2rem; font-weight:700; color:#1a1a1a; margin-bottom:12px; }\n.hw-configurator-wrapper .hw-cfg-objektdaten-row { display:flex; gap:20px; flex-wrap:wrap; align-items:flex-end; }\n.hw-configurator-wrapper .hw-cfg-objektdaten-field { display:flex; flex-direction:column; gap:6px; }\n.hw-configurator-wrapper .hw-cfg-projektprofil { display:flex; flex-direction:column; gap:24px; }\n.hw-configurator-wrapper .hw-cfg-profil-group-title { font-size:1rem; font-weight:700; color:#1a1a1a; text-transform:uppercase; letter-spacing:.08em; margin-bottom:12px; }\n.hw-configurator-wrapper .hw-cfg-profil-options { display:flex; gap:12px; flex-wrap:wrap; }\n.hw-configurator-wrapper .hw-cfg-profil-card { flex:1; min-width:200px; border:1px solid #d8d8d8; background:#fff; padding:18px 20px; cursor:pointer; display:flex; flex-direction:column; gap:6px; text-align:left; transition:border-color .12s,background .12s; position:relative; }\n.hw-configurator-wrapper .hw-cfg-profil-card:hover { border-color:#1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-profil-card.selected { border-color:#1a1a1a; background:#FFFCE0; }\n.hw-configurator-wrapper .hw-cfg-profil-card-label { font-size:clamp(.9rem, 1.2vw, 1rem); font-weight:700; color:#1a1a1a; line-height:1.3; text-transform:uppercase; letter-spacing:.04em; }\n.hw-configurator-wrapper .hw-cfg-profil-card-desc { font-size:.95rem; color:#777; line-height:1.6; }\n.hw-configurator-wrapper .hw-cfg-profil-card-check { position:absolute; top:10px; right:12px; width:18px; height:18px; border:1.5px solid #1a1a1a; align-items:center; justify-content:center; display:none; }\n.hw-configurator-wrapper .hw-cfg-profil-card.selected .hw-cfg-profil-card-check { display:flex; }\n.hw-configurator-wrapper .hw-cfg-profil-card-check::after { content:''; width:5px; height:9px; border:2px solid #1a1a1a; border-top:none; border-left:none; transform:rotate(45deg) translateY(-1px); display:block; }\n.hw-configurator-wrapper .hw-cfg-form-group { display:flex; flex-direction:column; gap:5px; margin-bottom:14px; }\n.hw-configurator-wrapper .hw-cfg-form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }\n.hw-configurator-wrapper .hw-cfg-label { font-size:1.2rem; font-weight:600; color:#1a1a1a; font-family:'Montserrat',inherit; }\n.hw-configurator-wrapper .hw-cfg-input, .hw-configurator-wrapper .hw-cfg-textarea { width:100%; padding:9px 14px; border:1px solid #d0d0d0; font-size:clamp(1.07rem, 1.3vw, 1.1rem); color:#1a1a1a; background:#fff; transition:border-color .12s; box-sizing:border-box; font-family:'Montserrat',inherit; line-height:1.4; }\n.hw-configurator-wrapper .hw-cfg-input:focus, .hw-configurator-wrapper .hw-cfg-textarea:focus { outline:none; border-color:#1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-input.error, .hw-configurator-wrapper .hw-cfg-textarea.error { border-color:#dc3545; }\n.hw-configurator-wrapper .hw-cfg-textarea { resize:vertical; min-height:90px; }\n.hw-configurator-wrapper .hw-cfg-error-msg { font-size:.9rem; color:#dc3545; margin-top:3px; }\n.hw-configurator-wrapper .col-sm-3 { max-width:110px; }\n.hw-configurator-wrapper .col-sm-4 { max-width:140px; }\n.hw-configurator-wrapper .hw-cfg-upload-zone { border:1.5px dashed #c8c8c8; padding:22px; text-align:center; cursor:pointer; background:#fafafa; margin-bottom:10px; transition:border-color .12s,background .12s; }\n.hw-configurator-wrapper .hw-cfg-upload-zone:hover, .hw-configurator-wrapper .hw-cfg-upload-zone.drag-over { border-color:#1a1a1a; background:#FFFCE0; }\n.hw-configurator-wrapper .hw-cfg-upload-zone input[type="file"] { display:none; }\n.hw-configurator-wrapper .hw-cfg-upload-text { font-size:1rem; color:#555; margin-bottom:4px; }\n.hw-configurator-wrapper .hw-cfg-upload-hint { font-size:1rem; color:#aaa; }\n.hw-configurator-wrapper .hw-cfg-file-list { display:flex; flex-direction:column; gap:5px; }\n.hw-configurator-wrapper .hw-cfg-file-item { display:flex; align-items:center; gap:8px; background:#f2f2f2; padding:7px 12px; font-size:.95rem; color:#444; }\n.hw-configurator-wrapper .hw-cfg-file-remove { margin-left:auto; background:none; border:none; cursor:pointer; color:#aaa; font-size:1rem; line-height:1; }\n.hw-configurator-wrapper .hw-cfg-file-remove:hover { color:#dc3545; }\n.hw-configurator-wrapper .hw-cfg-checkbox-wrap { display:flex; align-items:flex-start; gap:10px; margin-bottom:10px; }\n.hw-configurator-wrapper .hw-cfg-checkbox-wrap input[type="checkbox"] { width:16px; height:16px; accent-color:#1a1a1a; margin-top:3px; flex-shrink:0; cursor:pointer; }\n.hw-configurator-wrapper .hw-cfg-checkbox-label { font-size:1rem; color:#444; line-height:1.7; cursor:pointer; }\n.hw-configurator-wrapper .hw-cfg-checkbox-label a { color:#1a1a1a; text-decoration:underline; }\n.hw-configurator-wrapper .hw-cfg-re-adresse { padding:14px; background:#f8f8f8; border-left:2px solid #e8e8e8; margin-bottom:14px; }\n.hw-configurator-wrapper .hw-cfg-booking-title { font-size:1rem; font-weight:700; color:#1a1a1a; text-transform:uppercase; letter-spacing:.06em; margin-bottom:14px; }\n.hw-configurator-wrapper .hw-cfg-booking-options { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:24px; }\n.hw-configurator-wrapper .hw-cfg-booking-card { border:1px solid #d8d8d8; background:#fff; padding:22px 20px; cursor:pointer; text-align:left; position:relative; transition:border-color .12s,background .12s; }\n.hw-configurator-wrapper .hw-cfg-booking-card:hover { border-color:#1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-booking-card.selected { border-color:#1a1a1a; background:#FFFCE0; }\n.hw-configurator-wrapper .hw-booking-recommended { border-color:#d8d8d8; border-width:1px; }\n.hw-configurator-wrapper .hw-booking-recommended.selected { border-color:#1a1a1a; border-width:2px; }\n.hw-configurator-wrapper .hw-cfg-booking-badge-recommended { position:absolute; top:-1px; right:16px; background:#1a1a1a; color:#fff; font-size:.65rem; font-weight:700; padding:3px 10px; text-transform:uppercase; letter-spacing:.1em; }\n.hw-configurator-wrapper .hw-cfg-bc-badge-row { display:none; }\n.hw-configurator-wrapper .hw-cfg-bc-empfohlen { font-size:.62rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#fff; }\n.hw-configurator-wrapper .hw-cfg-booking-card-title { font-size:clamp(1.07rem, 1.5vw, 1.2rem); font-weight:700; color:#1a1a1a; margin-bottom:6px; line-height:1.3; text-transform:uppercase; letter-spacing:.04em; }\n.hw-configurator-wrapper .hw-cfg-booking-card-price { font-size:1.15rem; font-weight:800; color:#1a1a1a; margin-bottom:8px; }\n.hw-configurator-wrapper .hw-cfg-booking-card-desc { font-size:1rem; color:#555; line-height:1.7; }\n.hw-configurator-wrapper .hw-cfg-booking-badge { display:inline-block; background:#f0fdf4; color:#166534; font-size:.65rem; font-weight:700; padding:3px 10px; margin-top:10px; border:1px solid #bbf7d0; text-transform:uppercase; letter-spacing:.08em; }\n.hw-configurator-wrapper .hw-cfg-nlp-box { padding:16px 20px; margin-bottom:22px;\n  font-size:1rem; line-height:1.75; color:#333;\n  border-left:3px solid #1a1a1a; background:#fafafa; }\n.hw-configurator-wrapper .hw-cfg-nlp-box p { margin:0 0 8px; }\n.hw-configurator-wrapper .hw-cfg-nlp-box p:last-child { margin-bottom:0; }\n.hw-configurator-wrapper .hw-cfg-nlp-box strong { font-weight:700; color:#1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-nlp-box em { font-style:italic; }\n.hw-configurator-wrapper .hw-cfg-summary { background:#f6f6f6; border-left:3px solid #1a1a1a; padding:14px 18px; margin-bottom:20px; }\n.hw-configurator-wrapper .hw-cfg-summary-title { font-size:.95rem; font-weight:700; color:#1a1a1a; text-transform:uppercase; letter-spacing:.08em; margin-bottom:10px; font-family:'Montserrat',inherit; }\n.hw-configurator-wrapper .hw-cfg-summary-row { display:flex; justify-content:space-between; font-size:1rem; padding:4px 0; border-bottom:1px solid #e8e8e8; line-height:1.7; }\n.hw-configurator-wrapper .hw-cfg-summary-row:last-child { border-bottom:none; }\n.hw-configurator-wrapper .hw-cfg-summary-key { color:#777; }\n.hw-configurator-wrapper .hw-cfg-summary-val { font-weight:700; color:#1a1a1a; text-align:right; max-width:55%; }\n.hw-configurator-wrapper .hw-cfg-begehung-info-box { background:#fffbeb; border:1px solid #fcd34d;\n  padding:16px 20px; margin-bottom:20px;\n  font-size:1rem; color:#444; line-height:1.75; }\n.hw-configurator-wrapper .hw-cfg-begehung-info-box strong { color:#1a1a1a; font-weight:700; }\n.hw-configurator-wrapper .hw-cfg-begehung-info-box em { font-style:italic; }\n.hw-configurator-wrapper .hw-cfg-footer { padding:16px 0 24px; display:flex; align-items:center; justify-content:space-between; gap:12px; }\n.hw-configurator-wrapper .hw-cfg-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:.6rem 1.4rem; font-size:.75rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; cursor:pointer; font-family:'Montserrat',inherit; transition:all .2s ease-in-out; white-space:nowrap; }\n.hw-configurator-wrapper .hw-cfg-btn-back { background:transparent; color:#555; border:1px solid #c0c0c0; }\n.hw-configurator-wrapper .hw-cfg-btn-back:hover { border-color:#1a1a1a; color:#1a1a1a; background:transparent; }\n.hw-configurator-wrapper .hw-cfg-btn-next, .hw-configurator-wrapper .hw-cfg-btn-submit { background-color:#1a1a1a; border:0; color:#FFFC00; position:relative; z-index:1; overflow:hidden; }\n.hw-configurator-wrapper .hw-cfg-btn-next::before, .hw-configurator-wrapper .hw-cfg-btn-submit::before { content:''; left:0; top:0; position:absolute; width:100%; height:0; background:#fff; z-index:-1; transition:all .3s; }\n.hw-configurator-wrapper .hw-cfg-btn-next:hover, .hw-configurator-wrapper .hw-cfg-btn-submit:hover { color:#1a1a1a; background:#fff; border:1px solid #1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-btn-next:hover::before, .hw-configurator-wrapper .hw-cfg-btn-submit:hover::before { height:100%; top:auto; bottom:0; }\n.hw-configurator-wrapper .hw-cfg-btn-next:disabled, .hw-configurator-wrapper .hw-cfg-btn-submit:disabled { opacity:.35; cursor:not-allowed; }\n.hw-configurator-wrapper .hw-cfg-btn-submit { flex:1; }\n.hw-configurator-wrapper .hw-cfg-btn-submit.hw-btn-kostenpflichtig { background-color:#1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-btn-submit.hw-btn-kostenpflichtig:hover { background:#fff; color:#1a1a1a; border:1px solid #1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-step-dots { display:flex; gap:5px; align-items:center; }\n.hw-configurator-wrapper .hw-cfg-dot { width:6px; height:6px; background:#d0d0d0; transition:all .2s; }\n.hw-configurator-wrapper .hw-cfg-dot.active { background:#1a1a1a; width:16px; }\n.hw-configurator-wrapper .hw-cfg-dot.done { background:#1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-badges { display:flex; flex-wrap:wrap; gap:10px; }\n.hw-configurator-wrapper .hw-cfg-badge { padding:10px 20px; border:1px solid #d0d0d0; background:#fff; font-size:1rem; font-weight:500; color:#444; cursor:pointer; font-family:inherit; transition:border-color .1s,background .1s,color .1s; }\n.hw-configurator-wrapper .hw-cfg-badge:hover { border-color:#1a1a1a; color:#1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-badge.selected { border-color:#1a1a1a; background:#1a1a1a; color:#FFFC00; font-weight:700; }\n.hw-configurator-wrapper .hw-cfg-success { text-align:center; padding:52px 32px; }\n.hw-configurator-wrapper .hw-cfg-success-check { width:60px; height:60px; border:2px solid #1a1a1a; margin:0 auto 20px; display:flex; align-items:center; justify-content:center; }\n.hw-configurator-wrapper .hw-cfg-success-check::after { content:''; width:14px; height:24px; border:3px solid #1a1a1a; border-top:none; border-left:none; transform:rotate(45deg) translateY(-4px); display:block; }\n.hw-configurator-wrapper .hw-cfg-success-title { font-size:clamp(1.35rem, 2.5vw, 2rem); font-weight:700; color:#1a1a1a; margin-bottom:12px; text-transform:uppercase; letter-spacing:.04em; line-height:1.3; }\n.hw-configurator-wrapper .hw-cfg-success-text { font-size:1rem; color:#555; line-height:1.6; max-width:480px; margin:0 auto; }\n.hw-configurator-wrapper .hw-cfg-step-error { display:flex; align-items:center; gap:10px; margin:0 24px 0; padding:12px 16px; background:#fff3cd; border:1px solid #ffc107; color:#856404; font-size:1rem; font-weight:500; line-height:1.4; animation:hw-shake .3s ease; }\n.hw-configurator-wrapper .hw-cfg-step-error::before { content:'⚠'; font-size:1rem; flex-shrink:0; }\n@keyframes hw-shake {\n  .hw-configurator-wrapper 0%, .hw-configurator-wrapper 100% { transform:translateX(0) }\n  .hw-configurator-wrapper 25% { transform:translateX(-4px) }\n  .hw-configurator-wrapper 75% { transform:translateX(4px) }\n}\n.hw-configurator-wrapper .pac-container { box-shadow:0 4px 16px rgba(0,0,0,.12)!important; font-family:'Montserrat',system-ui,sans-serif!important; }\n.hw-configurator-wrapper .pac-item { padding:8px 14px!important; font-size:1rem!important; cursor:pointer!important; }\n.hw-configurator-wrapper .pac-item:hover { background:#FFFCE0!important; }\n.hw-configurator-wrapper #hw-address-autocomplete { background-image:none!important; }\n@media (max-width:700px) {\n  .hw-configurator-wrapper .hw-cfg-header { padding:20px 18px 14px; }\n  .hw-configurator-wrapper .hw-cfg-body { padding:18px; }\n  .hw-configurator-wrapper .hw-cfg-footer { padding:14px 18px 20px; }\n  .hw-configurator-wrapper .hw-cfg-objekttyp { grid-template-columns:1fr; }\n  .hw-configurator-wrapper .hw-cfg-gewerke-grid { grid-template-columns:repeat(3,1fr); gap:8px; }\n  .hw-configurator-wrapper .hw-cfg-booking-options { grid-template-columns:1fr; }\n  .hw-configurator-wrapper .hw-cfg-form-row { grid-template-columns:1fr; }\n  .hw-configurator-wrapper .hw-cfg-profil-options { flex-direction:column; }\n  .hw-configurator-wrapper .hw-cfg-btn { letter-spacing:.08rem; padding:.6rem 1rem; }\n}\n.hw-configurator-wrapper .hw-cfg-legal-block { padding-top:18px; border-top:1px solid #ebebeb; margin-top:6px; }\n.hw-configurator-wrapper .hw-cfg-kv-info { font-size:1rem; color:#666; margin-bottom:16px; line-height:1.7; }\n.hw-configurator-wrapper .hw-cfg-input-hint { font-size:.95rem; color:#888; margin-top:5px; line-height:1.6; }\n.hw-configurator-wrapper .hw-cfg-nlp-hint { font-size:1rem; color:#777; line-height:1.65;\n  margin-bottom:10px; font-style:italic; }\n.hw-configurator-wrapper .hw-cfg-upload-btn { display:inline-flex; align-items:center; gap:8px;\n  margin-top:10px; padding:9px 20px;\n  background:#1a1a1a; color:#fff; border:none;\n  font-size:1rem; font-weight:600;\n  cursor:pointer; font-family:inherit; transition:background .15s; }\n.hw-configurator-wrapper .hw-cfg-upload-btn:hover { background:#1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-upload-btn svg { flex-shrink:0; }\n.hw-configurator-wrapper .hw-cfg-abw-toggle-wrap { display:flex; align-items:center; gap:0;\n  margin-bottom:16px; }\n.hw-configurator-wrapper .hw-cfg-abw-checkbox { display:none; }\n.hw-configurator-wrapper .hw-cfg-abw-label { display:flex; align-items:center; gap:10px;\n  padding:12px 16px; border:1.5px solid #d0d0d0;\n  cursor:pointer; font-size:1rem; font-weight:500; color:#555;\n  transition:border-color .15s, background .15s, color .15s;\n  width:100%; user-select:none; }\n.hw-configurator-wrapper .hw-cfg-abw-label:hover { border-color:#1a1a1a; color:#1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-abw-checkbox:checked + .hw-cfg-abw-label { border-color:#1a1a1a; background:#FFFCE0; color:#1a1a1a; font-weight:600; }\n.hw-configurator-wrapper .hw-cfg-abw-icon { flex-shrink:0; display:flex; }\n.hw-configurator-wrapper .hw-cfg-abw-icon svg { width:16px; height:16px; }\n.hw-configurator-wrapper .hw-cfg-re-adresse-block { border-left:3px solid #1a1a1a; padding-left:16px;\n  margin-bottom:16px; animation:hw-slide-in .2s ease; }\n@keyframes hw-slide-in {\n  .hw-configurator-wrapper from { opacity:0; transform:translateY(-6px); }\n  .hw-configurator-wrapper to { opacity:1; transform:translateY(0); }\n}\n.hw-configurator-wrapper .hw-cfg-s5-hero { text-align:center; padding:28px 0 24px; margin-bottom:22px; }\n.hw-configurator-wrapper .hw-cfg-s5-hero-check { width:52px; height:52px; border:2px solid #1a1a1a; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }\n.hw-configurator-wrapper .hw-cfg-s5-hero-check svg { width:24px; height:24px; stroke:#1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-s5-hero-title { font-size:clamp(1.2rem, 2.5vw, 1.75rem); font-weight:700; color:#1a1a1a; text-transform:uppercase; letter-spacing:.04em; line-height:1.3; margin-bottom:10px; font-family:'Montserrat',inherit; }\n.hw-configurator-wrapper .hw-cfg-s5-hero-sub { font-size:1rem; color:#666; line-height:1.6; }\n.hw-configurator-wrapper .hw-cfg-receipt-outer { position: relative;\n  margin: 0 0 32px; }\n.hw-configurator-wrapper .hw-cfg-receipt-outer::before { content: '';\n  display: block;\n  height: 18px;\n  /* Zwei diagonale Gradienten ergeben ein V/Sägezahn — spitze Zacken */\n  background:\n    linear-gradient(135deg, #fafafa 50%, transparent 50%) 0 0,\n    linear-gradient(-135deg, #fafafa 50%, transparent 50%) 9px 0;\n  background-size: 18px 18px;\n  background-repeat: repeat-x;\n  background-color: #fff; }\n.hw-configurator-wrapper .hw-cfg-receipt-outer::after { content: '';\n  display: block;\n  height: 18px;\n  background:\n    linear-gradient(-45deg, #fafafa 50%, transparent 50%) 0 0,\n    linear-gradient(45deg, #fafafa 50%, transparent 50%) 9px 0;\n  background-size: 18px 18px;\n  background-repeat: repeat-x;\n  background-color: #fff; }\n.hw-configurator-wrapper .hw-cfg-receipt { background: #fff; }\n.hw-configurator-wrapper .hw-cfg-receipt::before, .hw-configurator-wrapper .hw-cfg-receipt::after { display: none; content: none; }\n.hw-configurator-wrapper .hw-cfg-receipt-paper-header { text-align: center;\n  padding: 18px 20px 12px;\n  border-bottom: 1px dashed #d8d8d8; }\n.hw-configurator-wrapper .hw-cfg-receipt-logo { font-family: 'Courier New', Courier, monospace;\n  font-size: .9rem;\n  font-weight: 700;\n  letter-spacing: .35em;\n  text-transform: uppercase;\n  color: #1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-receipt-sep { margin: 8px auto;\n  border: none;\n  border-top: 1px dashed #bbb;\n  width: 80%; }\n.hw-configurator-wrapper .hw-cfg-receipt-subtitle { font-family: 'Courier New', Courier, monospace;\n  font-size: .72rem;\n  letter-spacing: .12em;\n  text-transform: uppercase;\n  color: #1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-receipt-rows { padding: 6px 22px 6px; }\n.hw-configurator-wrapper .hw-cfg-receipt-row { display: flex;\n  flex-direction: column;\n  align-items: flex-start;\n  padding: 7px 0;\n  border-bottom: 1px dashed #d8d8d8;\n  gap: 2px;\n  font-family: 'Courier New', Courier, monospace; }\n.hw-configurator-wrapper .hw-cfg-receipt-row:last-child { border-bottom: none; }\n.hw-configurator-wrapper .hw-cfg-receipt-key { font-size: .68rem;\n  color: #1a1a1a;\n  font-weight: 400;\n  text-transform: uppercase;\n  letter-spacing: .1em; }\n.hw-configurator-wrapper .hw-cfg-receipt-val { font-size: .88rem;\n  font-weight: 700;\n  color: #1a1a1a;\n  text-align: left;\n  line-height: 1.4; }\n.hw-configurator-wrapper .hw-cfg-s5-booking-label { font-size:1rem; font-weight:700; color:#1a1a1a; text-transform:uppercase; letter-spacing:.06em; margin-bottom:14px; }\n.hw-configurator-wrapper .hw-cfg-bc-v2 { padding:0!important; overflow:hidden; display:flex!important; flex-direction:column; }\n.hw-configurator-wrapper .hw-cfg-bc-header { display:flex; align-items:center; justify-content:space-between; padding:12px 18px; background:#f6f6f6; border-bottom:1px solid #e8e8e8; gap:10px; min-height:54px; flex-shrink:0; }\n.hw-configurator-wrapper .hw-cfg-bc-v2.selected .hw-cfg-bc-header { background:#FFFCE0; }\n.hw-configurator-wrapper .hw-cfg-bc-price { font-size:.78rem; font-weight:700; line-height:1.4; text-align:center; }\n.hw-configurator-wrapper .hw-cfg-bc-price.free { background:#1a1a1a; color:#fff; padding:8px 16px; font-size:1rem; letter-spacing:.06em; display:flex; flex-direction:column; align-items:center; }\n.hw-configurator-wrapper .hw-cfg-bc-price.paid { background:#1a1a1a; color:#fff; padding:8px 16px; font-size:1rem; line-height:1.5; display:flex; flex-direction:column; align-items:center; }\n.hw-configurator-wrapper .hw-cfg-bc-price.paid strong { display:block; font-size:1.1rem; font-weight:800; letter-spacing:-.01em; }\n.hw-configurator-wrapper .hw-cfg-bc-title { font-size:.95rem; font-weight:700; color:#1a1a1a; text-transform:uppercase; letter-spacing:.04em; line-height:1.4; padding:14px 18px 6px; }\n.hw-configurator-wrapper .hw-cfg-bc-desc { font-size:1rem; color:#555; line-height:1.7; padding:0 18px 10px; }\n.hw-configurator-wrapper .hw-cfg-bc-anrechnung { margin:0 18px 14px; padding:7px 12px; background:#f0fdf4; border:1px solid #bbf7d0; color:#166534; font-size:.78rem; font-weight:600; line-height:1.5; }\n.hw-configurator-wrapper .hw-cfg-payment-subtle { border:none; margin-bottom:18px; }\n.hw-configurator-wrapper .hw-cfg-payment-subtle-sum { font-size:.78rem; color:#bbb; cursor:pointer; display:flex; align-items:center; gap:5px; padding:5px 0; list-style:none; user-select:none; }\n.hw-configurator-wrapper .hw-cfg-payment-subtle-sum:hover { color:#888; }\n.hw-configurator-wrapper .hw-cfg-payment-subtle-sum svg { flex-shrink:0; }\n.hw-configurator-wrapper .hw-cfg-payment-subtle-text { font-size:.83rem; color:#666; line-height:1.65; margin:6px 0 0; padding:10px 14px; background:#f8f8f8; border-left:2px solid #d0d0d0; }\n@media (max-width:700px) {\n  .hw-configurator-wrapper .hw-cfg-s5-hero-title { font-size:1.15rem; }\n  .hw-configurator-wrapper .hw-cfg-bc-header { flex-wrap:wrap; }\n}\n.hw-configurator-wrapper .hw-cfg-bc-v2 { cursor:pointer; transition:border-color .15s, background .15s, transform .1s; }\n.hw-configurator-wrapper .hw-cfg-bc-v2:not(.selected) { opacity:.82; }\n.hw-configurator-wrapper .hw-cfg-bc-v2:not(.selected):hover { opacity:1; border-color:#bbb !important; transform:translateY(-1px); }\n.hw-configurator-wrapper .hw-cfg-bc-v2.selected { border:2px solid #1a1a1a !important; background:#fff !important; opacity:1; transform:translateY(-2px); box-shadow:0 4px 20px rgba(226,34,120,.18); }\n.hw-configurator-wrapper .hw-cfg-bc-v2.selected .hw-cfg-bc-header { background:#FFFCE0; }\n.hw-configurator-wrapper .hw-cfg-bc-price-tag { font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; opacity:.85; }\n.hw-configurator-wrapper .hw-cfg-bc-price-sub { font-size:1.1rem; font-weight:800; margin-top:1px; }\n.hw-configurator-wrapper .hw-cfg-bc-price.free .hw-cfg-bc-price-sub { font-size:1.1rem; font-weight:800; }\n.hw-configurator-wrapper .hw-cfg-bc-checklist { padding:0 18px 14px; }\n.hw-configurator-wrapper .hw-cfg-bc-check-item { font-size:.88rem; color:#444; line-height:1.7; padding:1px 0; }\n.hw-configurator-wrapper .hw-cfg-bc-check-item::first-letter { color:#1a1a1a; }\n.hw-configurator-wrapper .hw-cfg-receipt-row--divider { border-top:1px dashed #d0d0d0; margin-top:4px; padding-top:8px !important; }\n.hw-configurator-wrapper .hw-cfg-payment-subtle-text p { margin:0 0 6px; font-size:.83rem; color:#666; line-height:1.65; }\n.hw-configurator-wrapper .hw-cfg-payment-subtle-text p:last-child { margin-bottom:0; }\n\n\n/* HW-MALER-V8: Lesbarkeit-Fix für .hw-cfg-badge und .hw-cfg-btn-next.\n   V7 ergab gelbe Schrift auf weißem Grund (unleserlich) bei den Hover-States. */\n\n/* Badge: default = Gelb-Hintergrund + Schwarz-Schrift, immer leserlich */\n.hw-configurator-wrapper .hw-cfg-badge {\n  background: #FFFC00 !important;\n  color: #1a1a1a !important;\n  border: 1px solid #1a1a1a !important;\n  font-weight: 600;\n}\n.hw-configurator-wrapper .hw-cfg-badge:hover,\n.hw-configurator-wrapper .hw-cfg-badge:focus {\n  background: #FFFC00 !important;\n  color: #1a1a1a !important;\n  border-color: #1a1a1a !important;\n  box-shadow: 2px 2px 0 #1a1a1a;\n}\n.hw-configurator-wrapper .hw-cfg-badge.selected,\n.hw-configurator-wrapper .hw-cfg-badge.active {\n  background: #FFFC00 !important;\n  color: #1a1a1a !important;\n  border-color: #1a1a1a !important;\n  font-weight: 700;\n  box-shadow: inset 0 0 0 2px #1a1a1a;\n}\n\n/* Btn-next + Btn-submit: default = Gelb-BG + Schwarz-Schrift; hover = Schwarz-BG + Gelb-Schrift */\n.hw-configurator-wrapper .hw-cfg-btn-next,\n.hw-configurator-wrapper .hw-cfg-btn-submit {\n  background: #FFFC00 !important;\n  background-color: #FFFC00 !important;\n  color: #1a1a1a !important;\n  border: 2px solid #1a1a1a !important;\n  font-weight: 700;\n}\n.hw-configurator-wrapper .hw-cfg-btn-next:hover,\n.hw-configurator-wrapper .hw-cfg-btn-submit:hover,\n.hw-configurator-wrapper .hw-cfg-btn-next:focus,\n.hw-configurator-wrapper .hw-cfg-btn-submit:focus {\n  background: #1a1a1a !important;\n  background-color: #1a1a1a !important;\n  color: #FFFC00 !important;\n  border-color: #1a1a1a !important;\n}\n/* Original-CSS hat ::before-Fill-Animation — die deaktivieren wir */\n.hw-configurator-wrapper .hw-cfg-btn-next::before,\n.hw-configurator-wrapper .hw-cfg-btn-submit::before {\n  display: none !important;\n}\n


/* HW-MALER-V9: Konfigurator-Override (clean rebuild, supersedes V6/V7/V8). */
/* Eingegrenzt auf .hw-configurator-wrapper. Pink->Schwarz, Highlight=Gelb. */

.hw-configurator-wrapper { font-family:'Rubik',system-ui,-apple-system,sans-serif; }

/* Progress + Header */
.hw-configurator-wrapper .hw-cfg-progress-bar { background:#1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-step-label { color:#1a1a1a !important; font-family:'Rubik',sans-serif !important; }
.hw-configurator-wrapper .hw-cfg-title { color:#1a1a1a !important; font-family:'Rubik',sans-serif !important; }
.hw-configurator-wrapper .hw-cfg-section-title { color:#1a1a1a !important; border-bottom-color:#FFFC00 !important; font-family:'Rubik',sans-serif !important; }

/* Cards: Hover und Selected = Schwarz/Gelb */
.hw-configurator-wrapper .hw-cfg-obj-card:hover { border-color:#1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-obj-card-icon svg { stroke:#1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-obj-card-name { color:#1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-obj-option { color:#1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-obj-option:hover { background:#FFFCE0 !important; color:#1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-obj-option.selected { background:#1a1a1a !important; color:#FFFC00 !important; font-weight:700; }
.hw-configurator-wrapper .hw-cfg-obj-option.selected .hw-cfg-obj-option-marker::after { background:#FFFC00 !important; }

/* Gewerk-Cards */
.hw-configurator-wrapper .hw-cfg-gewerk-card:hover { border-color:#1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-gewerk-card.selected { border:2px solid #1a1a1a !important; background:#FFFCE0 !important; }
.hw-configurator-wrapper .hw-cfg-gewerk-label { color:#1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-gewerk-card.selected .hw-cfg-gewerk-label { color:#1a1a1a !important; font-weight:700; }
.hw-configurator-wrapper .hw-cfg-gewerk-check { color:#1a1a1a !important; }

/* Detail-Optionen */
.hw-configurator-wrapper .hw-cfg-detail-opt:hover { border-color:#1a1a1a !important; color:#1a1a1a !important; background:#FFFCE0 !important; }
.hw-configurator-wrapper .hw-cfg-detail-opt.active { border-color:#1a1a1a !important; background:#1a1a1a !important; color:#FFFC00 !important; font-weight:700; }

/* Inputs + Textareas */
.hw-configurator-wrapper .hw-cfg-detail-textfeld:focus,
.hw-configurator-wrapper .hw-cfg-sqm-input:focus,
.hw-configurator-wrapper .hw-cfg-input:focus,
.hw-configurator-wrapper .hw-cfg-textarea:focus,
.hw-configurator-wrapper input:focus,
.hw-configurator-wrapper textarea:focus,
.hw-configurator-wrapper select:focus { border-color:#1a1a1a !important; outline:2px solid #FFFC00; outline-offset:0; background:#FFFCE0; }

/* Profil-Cards */
.hw-configurator-wrapper .hw-cfg-profil-card:hover { border-color:#1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-profil-card.selected { border-color:#1a1a1a !important; background:#FFFCE0 !important; }
.hw-configurator-wrapper .hw-cfg-profil-card-label { color:#1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-profil-card-check { border-color:#1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-profil-card-check::after { border-color:#1a1a1a !important; border-top:none !important; border-left:none !important; }

/* Booking-Cards (Begehung-Auswahl) */
.hw-configurator-wrapper .hw-cfg-booking-card:hover { border-color:#1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-booking-card.selected { border-color:#1a1a1a !important; background:#FFFCE0 !important; }
.hw-configurator-wrapper .hw-booking-recommended.selected { border-color:#1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-booking-badge-recommended { background:#1a1a1a !important; color:#FFFC00 !important; }
.hw-configurator-wrapper .hw-cfg-bc-v2.selected { border:2px solid #1a1a1a !important; box-shadow:0 4px 20px rgba(26,26,26,.18) !important; }
.hw-configurator-wrapper .hw-cfg-bc-v2.selected .hw-cfg-bc-header { background:#FFFCE0 !important; }
.hw-configurator-wrapper .hw-cfg-bc-price.free { background:#1a1a1a !important; color:#FFFC00 !important; }
.hw-configurator-wrapper .hw-cfg-bc-price.paid { background:#1a1a1a !important; color:#FFFC00 !important; }

/* Step-Dots, Success, NLP-Box */
.hw-configurator-wrapper .hw-cfg-dot.active { background:#1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-dot.done { background:#1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-success-check { border-color:#1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-success-check::after { border-color:#1a1a1a !important; border-top:none !important; border-left:none !important; }
.hw-configurator-wrapper .hw-cfg-success-title { color:#1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-nlp-box { border-left:3px solid #1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-summary { border-left:3px solid #1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-receipt-row--divider { border-top-color:#d0d0d0 !important; }

/* Abweichende Adresse */
.hw-configurator-wrapper .hw-cfg-abw-label:hover { border-color:#1a1a1a !important; color:#1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-abw-checkbox:checked + .hw-cfg-abw-label { border-color:#1a1a1a !important; background:#FFFCE0 !important; color:#1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-re-adresse-block { border-left-color:#1a1a1a !important; }

/* === BADGE: durchgehend gelb mit schwarzer Schrift (USER-WUNSCH) === */
.hw-configurator-wrapper .hw-cfg-badge {
  background:#FFFC00 !important;
  color:#1a1a1a !important;
  border:1px solid #1a1a1a !important;
  font-weight:600 !important;
}
.hw-configurator-wrapper .hw-cfg-badge:hover,
.hw-configurator-wrapper .hw-cfg-badge:focus {
  background:#FFFC00 !important;
  color:#1a1a1a !important;
  border-color:#1a1a1a !important;
  box-shadow:2px 2px 0 #1a1a1a;
}
.hw-configurator-wrapper .hw-cfg-badge.selected,
.hw-configurator-wrapper .hw-cfg-badge.active {
  background:#FFFC00 !important;
  color:#1a1a1a !important;
  border-color:#1a1a1a !important;
  font-weight:700 !important;
  box-shadow:inset 0 0 0 2px #1a1a1a;
}

/* === BTN-NEXT/SUBMIT: gelb default, invertiert hover (USER-WUNSCH) === */
.hw-configurator-wrapper .hw-cfg-btn-next,
.hw-configurator-wrapper .hw-cfg-btn-submit {
  background:#FFFC00 !important;
  background-color:#FFFC00 !important;
  color:#1a1a1a !important;
  border:2px solid #1a1a1a !important;
  font-weight:700 !important;
}
.hw-configurator-wrapper .hw-cfg-btn-next:hover,
.hw-configurator-wrapper .hw-cfg-btn-submit:hover,
.hw-configurator-wrapper .hw-cfg-btn-next:focus,
.hw-configurator-wrapper .hw-cfg-btn-submit:focus {
  background:#1a1a1a !important;
  background-color:#1a1a1a !important;
  color:#FFFC00 !important;
  border-color:#1a1a1a !important;
}
.hw-configurator-wrapper .hw-cfg-btn-next::before,
.hw-configurator-wrapper .hw-cfg-btn-submit::before {
  display:none !important;
}

/* Btn-back */
.hw-configurator-wrapper .hw-cfg-btn-back:hover { border-color:#1a1a1a !important; color:#1a1a1a !important; }

/* Upload-Btn + Upload-Zone */
.hw-configurator-wrapper .hw-cfg-upload-zone:hover,
.hw-configurator-wrapper .hw-cfg-upload-zone.drag-over { border-color:#1a1a1a !important; background:#FFFCE0 !important; }
.hw-configurator-wrapper .hw-cfg-upload-btn { background:#1a1a1a !important; color:#FFFC00 !important; }
.hw-configurator-wrapper .hw-cfg-upload-btn:hover { background:#FFFC00 !important; color:#1a1a1a !important; border:1px solid #1a1a1a !important; }

/* Inputs - accent */
.hw-configurator-wrapper input[type="checkbox"] { accent-color:#1a1a1a !important; }
.hw-configurator-wrapper .hw-cfg-checkbox-label a { color:#1a1a1a !important; }

/* pac-container (Google Places) */
.hw-configurator-wrapper .pac-item:hover { background:#FFFCE0 !important; }
