body.fvx-formavis-account .fv-header-floating-stack {
  z-index: 130;
}

body.fvx-formavis-account .fvx-endpoint-intro h2 {
  display: none;
}

/*
 * WooCommerce rendert auf dem Dashboard vor dem Formavis-Konto zwei
 * Standard-Panels mit der Klasse .fvx-core-panel ("Hallo ..." und die
 * Konto-Erklaerung). Sie duplizieren das Formavis-Dashboard-Intro und sollen
 * nur in diesem Kontext ausgeblendet werden.
 */
body.fvx-formavis-account.woocommerce-account .woocommerce-MyAccount-content > p.fvx-core-panel {
  display: none;
}

/* Nur wenn im Layout noch kein Plugin-Formular steckt (z. B. reine Kontaktkarten-Spalte).
   Enthält der Block ein .formavis-form, greift stattdessen die normale shell.css-Gruppen-Karte —
   wie bei anderen Formularseiten (3D). */
.site .entry-content > .wp-block-group:has(.formavis-contact-layout):not(:has(.formavis-form)),
.site .entry-content > .wp-block-columns:has(.formavis-contact-layout):not(:has(.formavis-form)),
.site .entry-content > .wp-block-cover:has(.formavis-contact-layout):not(:has(.formavis-form)) {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.site .entry-content > .wp-block-group:has(.formavis-contact-layout):not(:has(.formavis-form)),
.site .entry-content > .wp-block-columns:has(.formavis-contact-layout):not(:has(.formavis-form)),
.site .entry-content > .wp-block-cover:has(.formavis-contact-layout):not(:has(.formavis-form)) {
  padding: 0;
}

.site .ast-article-single:has(.formavis-contact-layout):not(:has(.formavis-form)),
.site .ast-article-post:has(.formavis-contact-layout):not(:has(.formavis-form)) {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.site .ast-article-single:has(.formavis-form):not(:has(.fvx-forms-directory)),
.site .ast-article-post:has(.formavis-form):not(:has(.fvx-forms-directory)) {
  border: 1px solid color-mix(in srgb, var(--color-border) 90%, transparent);
  border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--color-surface) 95%, transparent);
  box-shadow: var(--shadow-sm);
  padding: clamp(1.25rem, 1rem + 1vw, 2.25rem);
}

/* Formularverzeichnis-Shortcode liefert in der Regel kein .formavis-form im DOM
   (nur [formavis_forms_directory] → .fvx-forms-directory). Ohne :has-Regel
   würde components/cards.css das 28px-Raster auf dem article lassen statt
   derselben „großen Karte“ wie auf anderen Form-Seiten. */
.site .ast-article-single:has(.fvx-forms-directory),
.site .ast-article-post:has(.fvx-forms-directory) {
  border: 1px solid color-mix(in srgb, var(--color-border) 90%, transparent);
  border-radius: var(--radius-lg);
  /* Kein 28px-Raster: cards.css würde sonst sichtbar bleiben */
  background: color-mix(in srgb, var(--color-surface) 95%, transparent) !important;
  background-image: none !important;
  background-size: auto !important;
  box-shadow: var(--shadow-sm);
  padding: clamp(1.25rem, 1rem + 1vw, 2.25rem);
}

/* [formavis_forms_directory] Karten-CTAs: integrations/astra.css setzt
   .ast-article-single a { color: var(--color-accent) !important; } — höhere Spezifität
   als .fv-button, dadurch wirkte die Label-Farbe wie die Akzent-Fläche. */
.site .ast-article-single .fvx-forms-directory .fvx-forms-directory__actions a.fv-button,
.site .ast-article-post .fvx-forms-directory .fvx-forms-directory__actions a.fv-button {
  color: var(--fv-text-on-accent) !important;
}

.site .ast-article-single .fvx-forms-directory .fvx-forms-directory__actions a.fv-button:hover,
.site .ast-article-single .fvx-forms-directory .fvx-forms-directory__actions a.fv-button:focus-visible,
.site .ast-article-post .fvx-forms-directory .fvx-forms-directory__actions a.fv-button:hover,
.site .ast-article-post .fvx-forms-directory .fvx-forms-directory__actions a.fv-button:focus-visible {
  color: var(--fv-text-on-accent) !important;
}

/* [formavis_kontakt_karten] — v1: .formavis-contact-cards a.fv-card-link war zu unspezifisch (0,4,1) und
   verlor gegen astra.css: .site .ast-article-single a:not(.button):… — ca. (0,5,1). Mit .fv-card-links in
   der Kette mindestens Gleichstand, damit die nach astra.css geladene formavis-plugins.css gewinnt.
   Zusätzlich .entry-content für Layouts ohne article.ast-article-single. */
.site .ast-article-single .formavis-contact-cards .fv-card-links a.fv-card-link,
.site .ast-article-post .formavis-contact-cards .fv-card-links a.fv-card-link,
.site .entry-content .formavis-contact-cards .fv-card-links a.fv-card-link {
  color: var(--fv-text-on-accent) !important;
}

.site .ast-article-single .formavis-contact-cards .fv-card-links a.fv-card-link:hover,
.site .ast-article-single .formavis-contact-cards .fv-card-links a.fv-card-link:focus-visible,
.site .ast-article-post .formavis-contact-cards .fv-card-links a.fv-card-link:hover,
.site .ast-article-post .formavis-contact-cards .fv-card-links a.fv-card-link:focus-visible,
.site .entry-content .formavis-contact-cards .fv-card-links a.fv-card-link:hover,
.site .entry-content .formavis-contact-cards .fv-card-links a.fv-card-link:focus-visible {
  color: var(--fv-text-on-accent) !important;
}

.fv-homepage__form-shell:has(.formavis-consultation-form),
.fv-business__form-shell:has(.formavis-consultation-form),
.fv-protect__form-shell:has(.formavis-consultation-form),
.fv-smart-home__inquiry-shell:has(.formavis-consultation-form),
.fv-itsec__inquiry-shell:has(.formavis-consultation-form),
.fv-netzwerk__inquiry-shell:has(.formavis-consultation-form),
.fv-integration__inquiry-shell:has(.formavis-consultation-form),
.fv-saw__inquiry-shell:has(.formavis-consultation-form),
.fv-netzwerk-demo__inquiry-shell:has(.formavis-consultation-form) {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.woocommerce-account:not(.fvx-formavis-account) .site-main > .woocommerce {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--color-surface) 94%, transparent);
  box-shadow: var(--shadow-sm);
  padding: clamp(1rem, 1rem + 0.9vw, 1.75rem);
}

.woocommerce-account-fv-legal {
  display: grid;
  gap: var(--space-3);
}

.woocommerce-account-fv-legal .fv-legal-card {
  border-radius: var(--radius-md);
}

.site-content > .ast-container:has(.fv3d-quote),
.site-content > .ast-container:has([data-fv3d-instance]),
.site-content > .ast-container:has(.fv3d-shell),
.site-content > .ast-container:has([data-catalog-id]),
.ast-separate-container #primary:has(.fv3d-quote),
.ast-separate-container #primary:has([data-fv3d-instance]),
.ast-separate-container #primary:has(.fv3d-shell),
.ast-separate-container #primary:has([data-catalog-id]),
.ast-plain-container #primary:has(.fv3d-quote),
.ast-plain-container #primary:has([data-fv3d-instance]),
.ast-plain-container #primary:has(.fv3d-shell),
.ast-plain-container #primary:has([data-catalog-id]) {
  max-width: none;
  width: 100%;
}

.fv3d-quote .woocommerce-message,
.fv3d-quote .woocommerce-info,
.fv3d-quote .woocommerce-error {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.fv3d-quote .woocommerce-message a,
.fv3d-quote .woocommerce-info a,
.fv3d-quote .woocommerce-error a {
  color: inherit !important;
}
