:root {
  --brand-btn-blue-1: #4f8cff;
  --brand-btn-blue-2: #1d4ed8;
  --brand-btn-blue-3: #163baf;
  --brand-btn-orange-1: #ffb258;
  --brand-btn-orange-2: #f97316;
  --brand-btn-cream: #fff7ed;
  --brand-btn-ink: #102041;
  --brand-btn-white: #ffffff;
  --brand-btn-shadow-blue: 0 18px 36px rgba(29, 78, 216, 0.24);
  --brand-btn-shadow-orange: 0 16px 30px rgba(249, 115, 22, 0.16);
}

.btn.btn-primary,
.btn-primary,
.index-header-cta,
.index-header-panel-cta,
.footer-cta-btn.primary,
.privat-submit,
.thankyou-btn-modern.thankyou-btn-primary,
.thankyou-btn-primary,
.privat-success-btn.primary,
.home-costs-feature-cta,
.kontakt-map-box-modern .btn.btn-primary,
.kontakt-cta-modern__actions .btn.btn-primary,
.table-more-btn {
  min-height: 54px;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 999px;
  background-color: var(--brand-btn-blue-2) !important;
  background-image: linear-gradient(135deg, var(--brand-btn-blue-1) 0%, var(--brand-btn-blue-2) 58%, var(--brand-btn-blue-3) 100%) !important;
  color: var(--brand-btn-white) !important;
  -webkit-text-fill-color: var(--brand-btn-white);
  box-shadow:
    var(--brand-btn-shadow-blue),
    inset 0 1px 0 rgba(255, 255, 255, 0.24) !important;
  font-weight: 800;
  letter-spacing: -0.01em;
  text-decoration: none !important;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    background 0.22s ease,
    border-color 0.22s ease,
    color 0.22s ease;
}

.btn.btn-primary:hover,
.btn-primary:hover,
.index-header-cta:hover,
.index-header-panel-cta:hover,
.footer-cta-btn.primary:hover,
.privat-submit:hover,
.thankyou-btn-modern.thankyou-btn-primary:hover,
.thankyou-btn-primary:hover,
.privat-success-btn.primary:hover,
.home-costs-feature-cta:hover,
.kontakt-map-box-modern .btn.btn-primary:hover,
.kontakt-cta-modern__actions .btn.btn-primary:hover,
.table-more-btn:hover {
  color: var(--brand-btn-white) !important;
  -webkit-text-fill-color: var(--brand-btn-white);
  border-color: rgba(255, 255, 255, 0.2) !important;
  background-color: #2359e4 !important;
  background-image: linear-gradient(135deg, #6a9cff 0%, #2359e4 58%, #173cad 100%) !important;
  box-shadow:
    0 22px 42px rgba(29, 78, 216, 0.28),
    0 10px 22px rgba(249, 115, 22, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.28) !important;
  text-decoration: none !important;
  transform: translateY(-2px);
}

.btn.btn-primary:focus,
.btn-primary:focus,
.index-header-cta:focus,
.index-header-panel-cta:focus,
.footer-cta-btn.primary:focus,
.privat-submit:focus,
.thankyou-btn-modern.thankyou-btn-primary:focus,
.thankyou-btn-primary:focus,
.privat-success-btn.primary:focus,
.home-costs-feature-cta:focus,
.kontakt-map-box-modern .btn.btn-primary:focus,
.kontakt-cta-modern__actions .btn.btn-primary:focus,
.table-more-btn:focus {
  color: var(--brand-btn-white) !important;
  -webkit-text-fill-color: var(--brand-btn-white);
  box-shadow:
    0 0 0 4px rgba(79, 140, 255, 0.18),
    0 20px 40px rgba(29, 78, 216, 0.22) !important;
  text-decoration: none !important;
}

.btn.btn-outline-light,
.btn-outline-light,
.btn.btn-outline-dark,
.btn-outline-dark,
.footer-cta-btn.secondary,
.privat-back,
.thankyou-btn-modern.thankyou-btn-secondary,
.thankyou-btn-secondary,
.privat-success-btn.secondary,
.funnel-emergency-card__cta {
  min-height: 54px;
  border-radius: 999px;
  border: 1px solid rgba(249, 115, 22, 0.24) !important;
  background-color: var(--brand-btn-cream) !important;
  background-image: linear-gradient(180deg, rgba(255, 247, 237, 0.96) 0%, rgba(255, 238, 220, 0.94) 100%) !important;
  color: var(--brand-btn-ink) !important;
  -webkit-text-fill-color: var(--brand-btn-ink);
  box-shadow:
    var(--brand-btn-shadow-orange),
    inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
  font-weight: 800;
  letter-spacing: -0.01em;
  text-decoration: none !important;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    background 0.22s ease,
    border-color 0.22s ease,
    color 0.22s ease;
}

.btn.btn-outline-light:hover,
.btn-outline-light:hover,
.btn.btn-outline-dark:hover,
.btn-outline-dark:hover,
.footer-cta-btn.secondary:hover,
.privat-back:hover,
.thankyou-btn-modern.thankyou-btn-secondary:hover,
.thankyou-btn-secondary:hover,
.privat-success-btn.secondary:hover,
.funnel-emergency-card__cta:hover {
  color: var(--brand-btn-ink) !important;
  -webkit-text-fill-color: var(--brand-btn-ink);
  border-color: rgba(249, 115, 22, 0.34) !important;
  background-color: #fff0dc !important;
  background-image: linear-gradient(180deg, rgba(255, 244, 229, 1) 0%, rgba(255, 232, 205, 1) 100%) !important;
  box-shadow:
    0 20px 36px rgba(249, 115, 22, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.84) !important;
  text-decoration: none !important;
  transform: translateY(-2px);
}

.btn.btn-outline-light:focus,
.btn-outline-light:focus,
.btn.btn-outline-dark:focus,
.btn-outline-dark:focus,
.footer-cta-btn.secondary:focus,
.privat-back:focus,
.thankyou-btn-modern.thankyou-btn-secondary:focus,
.thankyou-btn-secondary:focus,
.privat-success-btn.secondary:focus,
.funnel-emergency-card__cta:focus {
  color: var(--brand-btn-ink) !important;
  -webkit-text-fill-color: var(--brand-btn-ink);
  box-shadow:
    0 0 0 4px rgba(249, 115, 22, 0.14),
    0 18px 34px rgba(249, 115, 22, 0.18) !important;
  text-decoration: none !important;
}

.index-header-cta,
.index-header-panel-cta {
  min-height: 44px;
  padding-left: 1.15rem;
  padding-right: 1.15rem;
}

.footer-cta-btn,
.thankyou-btn-modern,
.privat-success-btn,
.funnel-emergency-card__cta,
.home-costs-feature-cta {
  justify-content: center;
}

.footer-cta-btn.secondary,
.privat-back {
  color: var(--brand-btn-ink) !important;
  -webkit-text-fill-color: var(--brand-btn-ink);
}

.home-costs-feature-cta iconify-icon {
  color: currentColor;
}

.faq-dark .accordion-button,
.faq .accordion-button,
.firmenkosten-premium-page .fkp-faq-shell .accordion-button,
.verkehrskosten-premium-page .vkp-faq-shell .accordion-button,
.zahnkosten-premium-page .zkp-faq-shell .accordion-button,
.pkvkosten-premium-page .pkp-faq-shell .accordion-button {
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.faq-dark .accordion-button:hover,
.faq-dark .accordion-button:focus {
  background: transparent !important;
  color: #ffffff !important;
  box-shadow: none !important;
  transform: none !important;
}

.faq-dark .accordion-button:not(.collapsed):hover,
.faq-dark .accordion-button:not(.collapsed):focus {
  background: transparent !important;
  color: #8db3ff !important;
  box-shadow: none !important;
}

.faq:not(.faq-dark) .accordion-button {
  background: transparent !important;
  color: #102041 !important;
  box-shadow: none !important;
}

.faq:not(.faq-dark) .accordion-button:hover,
.faq:not(.faq-dark) .accordion-button:focus {
  background: transparent !important;
  color: #102041 !important;
  box-shadow:
    inset 0 0 0 1px rgba(29, 78, 216, 0.10),
    0 8px 18px rgba(15, 23, 42, 0.035) !important;
  transform: none !important;
}

.faq:not(.faq-dark) .accordion-button:not(.collapsed) {
  background: transparent !important;
  color: #163166 !important;
  box-shadow:
    inset 0 0 0 1px rgba(29, 78, 216, 0.12) !important;
}

.faq:not(.faq-dark) .accordion-button:not(.collapsed):hover,
.faq:not(.faq-dark) .accordion-button:not(.collapsed):focus {
  background: transparent !important;
  color: #163166 !important;
  box-shadow:
    inset 0 0 0 1px rgba(29, 78, 216, 0.16),
    0 8px 18px rgba(15, 23, 42, 0.03) !important;
}

.faq-dark .accordion-button,
.faq-dark .accordion-button.collapsed {
  background: transparent !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.faq-dark .accordion-button:not(.collapsed) {
  background: transparent !important;
  color: #8db3ff !important;
  box-shadow: none !important;
}

.firmenkosten-premium-page .fkp-faq-shell .accordion-button:hover,
.verkehrskosten-premium-page .vkp-faq-shell .accordion-button:hover,
.zahnkosten-premium-page .zkp-faq-shell .accordion-button:hover,
.pkvkosten-premium-page .pkp-faq-shell .accordion-button:hover,
.firmenkosten-premium-page .fkp-faq-shell .accordion-button:focus,
.verkehrskosten-premium-page .vkp-faq-shell .accordion-button:focus,
.zahnkosten-premium-page .zkp-faq-shell .accordion-button:focus,
.pkvkosten-premium-page .pkp-faq-shell .accordion-button:focus {
  background: #fff8ef !important;
  color: #102041 !important;
  box-shadow:
    inset 0 0 0 1px rgba(249, 115, 22, 0.14),
    0 10px 20px rgba(15, 23, 42, 0.05) !important;
  transform: none !important;
}

.firmenkosten-premium-page .fkp-faq-shell .accordion-button:not(.collapsed):hover,
.verkehrskosten-premium-page .vkp-faq-shell .accordion-button:not(.collapsed):hover,
.zahnkosten-premium-page .zkp-faq-shell .accordion-button:not(.collapsed):hover,
.pkvkosten-premium-page .pkp-faq-shell .accordion-button:not(.collapsed):hover,
.firmenkosten-premium-page .fkp-faq-shell .accordion-button:not(.collapsed):focus,
.verkehrskosten-premium-page .vkp-faq-shell .accordion-button:not(.collapsed):focus,
.zahnkosten-premium-page .zkp-faq-shell .accordion-button:not(.collapsed):focus,
.pkvkosten-premium-page .pkp-faq-shell .accordion-button:not(.collapsed):focus {
  background: #edf4ff !important;
  color: #163166 !important;
  box-shadow: none !important;
}

@media (max-width: 767.98px) {
  .btn.btn-primary,
  .btn-primary,
  .btn.btn-outline-light,
  .btn-outline-light,
  .btn.btn-outline-dark,
  .btn-outline-dark,
  .footer-cta-btn,
  .privat-submit,
  .privat-back,
  .thankyou-btn-modern,
  .privat-success-btn,
  .funnel-emergency-card__cta,
  .home-costs-feature-cta {
    min-height: 50px;
    padding-left: 1.1rem;
    padding-right: 1.1rem;
    font-size: 0.98rem;
  }
}
