/* Anpassungen der WordPress-Blöcke an das Fischer-Design */
body { margin: 0; }
.fischer-hero .eyebrow, .fischer-hero .text-primary { color: var(--primary); }
.fischer-hero .text-ink-muted { color: var(--ink-muted); }

/* Bilder */
.wp-block-image { margin: 0; }
.wp-block-image img { display: block; width: 100%; height: auto; border-radius: inherit; }
.wp-block-image.img-cover img, .wp-block-image.aspect-\[4\/3\] img { height: 100%; object-fit: cover; }
.wp-block-image.img-contain { width: fit-content; }
.wp-block-image.img-contain img { max-height: 480px; width: auto; }
.wp-block-image.zoom img { transition: transform .5s; }
.group:hover .wp-block-image.zoom img { transform: scale(1.05); }
.wp-block-image.partner-logo { display: inline-block; width: auto; }
.wp-block-image.partner-logo img { height: 2.75rem; width: auto; border-radius: .25rem; }
.wp-block-image.partner-logo.lg img { height: 3rem; }
.service-card { transition: transform .2s; }
.service-card:hover { transform: translateY(-4px); }
.service-card h3 a::after { content: ""; position: absolute; inset: 0; }
.service-card { position: relative; }

/* Hero (Titelbild) */
.wp-block-cover.fischer-hero { min-height: 0; padding: 0; display: block; position: relative; overflow: hidden; color: var(--ink-foreground); background: var(--ink); }
.wp-block-cover.fischer-hero .wp-block-cover__image-background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wp-block-cover.fischer-hero .wp-block-cover__background { position: absolute; inset: 0; opacity: 1 !important; background: var(--gradient-hero) !important; }
.wp-block-cover.fischer-hero .wp-block-cover__inner-container { position: relative; z-index: 1; width: 100%; color: inherit; }
.hero-wrap { background: var(--ink); color: var(--ink-foreground); }

/* Knöpfe */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: .75rem; }
.wp-block-button .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border-radius: 999px; padding: .8rem 1.4rem; font-weight: 700; font-size: .95rem; text-decoration: none; transition: transform .2s, background-color .2s; border: 1px solid transparent; }
.wp-block-button .wp-block-button__link:hover { transform: translateY(-1px); }
.is-style-fischer-primary .wp-block-button__link, .wp-block-button:not([class*="is-style-"]) .wp-block-button__link { background: var(--primary); color: var(--primary-foreground); box-shadow: 0 10px 30px -12px var(--primary); }
.is-style-fischer-outline .wp-block-button__link { background: var(--card); color: var(--foreground); border-color: var(--border); }
.is-style-fischer-outline .wp-block-button__link:hover { border-color: var(--primary); }
.is-style-fischer-ghost .wp-block-button__link { background: oklch(1 0 0 / 6%); color: var(--ink-foreground); border-color: var(--ink-border); }
.is-style-fischer-dark .wp-block-button__link { background: var(--ink); color: var(--ink-foreground); }

/* Listen */
.check-list { list-style: none; padding: 0; }
.check-list li { position: relative; padding-left: 2rem; }
.check-list li::before { content: ""; position: absolute; left: 0; top: .1rem; width: 1.25rem; height: 1.25rem; background: var(--primary);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat; }
.check-list.space-y-3 > li + li { margin-top: .75rem; }
.tile-list { list-style: none; padding: 0; }
.tile-list li { border: 1px solid var(--border); background: var(--card); border-radius: .75rem; padding: .75rem 1rem; font-weight: 600; }
.link-plain a { text-decoration: none; color: inherit; }
.link-plain a:hover { color: var(--primary); }
.contact-tile { transition: border-color .2s; }
.contact-tile:hover { border-color: var(--primary); }
.prose-site ul { list-style: disc; }
.prose-site li { margin-bottom: .25rem; }

/* Kontaktformular */
.topic-tile:hover { border-color: oklch(0.72 0.17 140 / 60%); }
.topic-tile:has(input:checked) { border-color: var(--primary); background: var(--accent); color: var(--accent-foreground); }
.topic-tile:has(input:focus-visible) { outline: 2px solid var(--ring); outline-offset: 2px; }
.hp-field { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
#formular { scroll-margin-top: 6rem; }
.wp-block-shortcode { margin: 0; }

/* Editor: Shortcodes als Platzhalter erkennbar */
.editor-styles-wrapper .wp-block-shortcode { border: 1px dashed var(--border); border-radius: .75rem; padding: .5rem; }
.editor-styles-wrapper { font-family: var(--font-sans, "Manrope"), sans-serif; background: var(--background); }

/* Emilum-Abzeichen aus Blöcken */
.emilum-badge { width: fit-content; transition: transform .2s; }
.emilum-badge:hover { transform: translateY(-2px); }
.wp-block-image.emilum-logo { display: inline-block; width: auto; }
.wp-block-image.emilum-logo img, .editor-styles-wrapper .wp-block-image.emilum-logo img { height: 1.25rem !important; width: auto !important; }
.editor-styles-wrapper .wp-block-image.partner-logo img { height: 2.75rem !important; width: auto !important; }
.editor-styles-wrapper .wp-block-image.partner-logo.lg img { height: 3rem !important; }
.editor-styles-wrapper .wp-block-image.partner-logo, .editor-styles-wrapper .wp-block-image.emilum-logo { width: auto !important; }
.editor-styles-wrapper .wp-block-image.img-cover > div, .editor-styles-wrapper .wp-block-image.aspect-\[4\/3\] > div { height: 100% !important; width: 100% !important; }
.editor-styles-wrapper .wp-block-shortcode::before { content: "Wird automatisch eingefügt (Kontaktformular)"; display: block; font-size: .8rem; color: var(--muted-foreground); }

/* Hinweisbox */
.fm-notice { font-size: .95rem; border-bottom: 1px solid oklch(0 0 0 / 8%); }
.fm-notice__inner { display: flex; align-items: center; gap: .9rem; padding-block: .85rem; }
.fm-notice__inner > div { flex: 1; }
.fm-notice__icon { font-size: 1.35rem; line-height: 1; }
.fm-notice__title { font-family: var(--font-display, Sora), sans-serif; margin-right: .35rem; }
.fm-notice__close { background: none; border: 0; font-size: 1.5rem; line-height: 1; cursor: pointer; opacity: .6; color: inherit; }
.fm-notice__close:hover { opacity: 1; }
.fm-notice--urlaub { background: oklch(0.93 0.07 85); color: oklch(0.3 0.06 70); }
.fm-notice--info { background: var(--accent); color: var(--accent-foreground); }
.fm-notice--wichtig { background: oklch(0.6 0.2 27); color: #fff; }
.fischer-hero .emilum-badge p, .fischer-hero .emilum-badge .text-foreground { color: var(--foreground); }
.fm-notice__icon { display: inline-flex; }
