/* Icons (inline SVG masks, no extra requests) */
:root {
	--angio-icon-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2Zm0 16H5V9h14v11ZM7 11h2v2H7v-2Zm4 0h2v2h-2v-2Zm4 0h2v2h-2v-2Zm-8 4h2v2H7v-2Zm4 0h2v2h-2v-2Zm4 0h2v2h-2v-2Z'/%3E%3C/svg%3E");
	--angio-icon-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16Zm.5-13H11v6l5.2 3.1.8-1.2-4.5-2.7V7Z'/%3E%3C/svg%3E");
	--angio-icon-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25c1.1.37 2.3.57 3.6.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1l-2.22 2.23Z'/%3E%3C/svg%3E");
	--angio-icon-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5Z'/%3E%3C/svg%3E");
	--angio-icon-doc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6Zm2 16H8v-2h8v2Zm0-4H8v-2h8v2Zm-3-5V3.5L18.5 9H13Z'/%3E%3C/svg%3E");
	--angio-icon-alert: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1 21h22L12 2 1 21Zm12-3h-2v-2h2v2Zm0-4h-2v-4h2v4Z'/%3E%3C/svg%3E");
	--angio-icon-question: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm1 17h-2v-2h2v2Zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26A2 2 0 1 0 10 9H8a4 4 0 1 1 7.07 2.25Z'/%3E%3C/svg%3E");
	--angio-icon-bag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 3h-4.18A3 3 0 0 0 12 1a3 3 0 0 0-2.82 2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2Zm-7 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm-2 14-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9l-8 8Z'/%3E%3C/svg%3E");
	--angio-icon-doctor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4Z'/%3E%3C/svg%3E");
	--angio-icon-ultrasound: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 13h4.3l1.9-4.7 3.9 10 2.3-5.3H21v-2h-6.9l-1 2.3-3.9-10L6 11H3v2Z'/%3E%3C/svg%3E");
	--angio-icon-network: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.9 12a3.1 3.1 0 0 1 3.1-3.1h4V7H7a5 5 0 0 0 0 10h4v-1.9H7A3.1 3.1 0 0 1 3.9 12ZM8 13h8v-2H8v2Zm9-6h-4v1.9h4a3.1 3.1 0 0 1 0 6.2h-4V17h4a5 5 0 0 0 0-10Z'/%3E%3C/svg%3E");
	--angio-icon-vein: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 20c4.5-1.5 3.5-6 7-8s5.5-1 7-5 1.5-4 4-5' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'/%3E%3Cpath d='M10 12c-1.5-2-1-4-3-6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
	--angio-icon-artery: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35Z'/%3E%3C/svg%3E");
	--angio-icon-lymph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.7s-7 7.6-7 12.3a7 7 0 0 0 14 0C19 10.3 12 2.7 12 2.7Z'/%3E%3C/svg%3E");
	--angio-icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2Z'/%3E%3C/svg%3E");
	--angio-icon-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4l-1.4 1.4 5.6 5.6H4v2h12.2l-5.6 5.6L12 20l8-8z'/%3E%3C/svg%3E");
	--angio-icon-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2Z'/%3E%3C/svg%3E");
	--angio-icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 13H5v-2h14v2Z'/%3E%3C/svg%3E");
}

/* ==========================================================================
   Angiologie Köln – component styles
   Design tokens (colours, fonts, sizes, spacing) live in theme.json and are
   available as CSS custom properties: --wp--preset--color--primary etc.
   This file only adds what theme.json cannot express.
   ========================================================================== */

/* ---------- Base & accessibility ---------------------------------------- */
html { scroll-padding-top: calc(var(--wp--custom--header--height) + 16px); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
img, svg, video, iframe { max-width: 100%; }
p, li, dd { overflow-wrap: break-word; hyphens: auto; }
h1, h2, h3, h4 { hyphens: manual; text-wrap: balance; overflow-wrap: break-word; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; width: 1px; word-wrap: normal !important;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--custom--color--focus);
	outline-offset: 2px;
	border-radius: 2px;
}
.angio-footer :where(a, button):focus-visible,
.has-primary-background-color :where(a, button):focus-visible,
.has-primary-dark-background-color :where(a, button):focus-visible,
.has-deep-background-color :where(a, button):focus-visible { outline-color: #fff; }
#angio-top { position: absolute; top: 0; }

.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--primary-dark); color: #fff;
	padding: 0.75rem 1rem; font-weight: 600; border-radius: var(--wp--custom--radius--sm);
}

/* Links in running text: clearly underlined, thin offset */
.angio-content a:not(.wp-element-button),
.angio-contact a, .angio-hours a { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
.angio-content a:not(.wp-element-button):hover { text-decoration-thickness: 2px; }

/* Content flow: space around page content that does not start with a full-width section */
.angio-content > :first-child:not(.alignfull) { margin-top: var(--wp--preset--spacing--60); }
.angio-content > :last-child:not(.alignfull) { margin-bottom: var(--wp--preset--spacing--70); }
.angio-content > .alignfull + .alignfull { margin-top: 0; }
.angio-content--flow > :first-child { margin-top: 0 !important; }
.angio-content--flow > :last-child { margin-bottom: 0 !important; }
.angio-content :where(h2) { margin-top: var(--wp--preset--spacing--50); }
.angio-content :where(h3) { margin-top: var(--wp--preset--spacing--40); }
.angio-main > .wp-block-template-part + .angio-content > .alignfull:first-child { margin-top: 0; }

/* ---------- Eyebrow & helpers -------------------------------------------- */
.angio-eyebrow {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
	margin-bottom: 0.25rem !important;
}
.angio-more a {
	font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 0.35rem;
}
.angio-more a::after {
	content: ""; width: 1.1em; height: 1.1em; background: currentColor;
	-webkit-mask: var(--angio-icon-arrow) center / contain no-repeat; mask: var(--angio-icon-arrow) center / contain no-repeat;
	transition: transform var(--wp--custom--transition);
}
.angio-more a:hover { text-decoration: underline; }
.angio-more a:hover::after { transform: translateX(3px); }

/* ---------- Header (adapts the existing site: beige band, logo + name in bordeaux, tab menu) */
.angio-site-header {
	position: sticky; top: 0; z-index: 100;
	transition: box-shadow var(--wp--custom--transition);
}
.admin-bar .angio-site-header { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar .angio-site-header { top: 0; } }
.angio-is-scrolled .angio-site-header { box-shadow: var(--wp--custom--shadow--header); }
.angio-header { border-bottom: 4px solid #fff !important; }

.angio-header__inner { row-gap: 0 !important; padding-top: 0.875rem; transition: padding var(--wp--custom--transition); }
.angio-is-scrolled .angio-header__inner { padding-top: 0.375rem; }

/* Brand: logo + "Praxis für Gefäßmedizin / Iris Reuver", both in bordeaux like the practice sign */
.angio-brand { min-width: 0; flex-shrink: 1; padding-bottom: 0.75rem; transition: padding var(--wp--custom--transition); }
.angio-is-scrolled .angio-brand { padding-bottom: 0.375rem; }
.angio-brand__logo { flex: none; }
.angio-brand__logo a { display: block; min-width: 24px; }
.angio-brand__logo img { display: block; width: auto !important; height: 76px; transition: height var(--wp--custom--transition); }
.angio-is-scrolled .angio-brand__logo img { height: 46px; }
.angio-brand__text { min-width: 0; }
.angio-brand__title { margin: 0; font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem) !important; font-weight: 500 !important; line-height: 1.12 !important; letter-spacing: -0.01em; white-space: nowrap; }
.angio-brand__title a { color: var(--wp--preset--color--primary-dark) !important; }
.angio-brand__subline {
	margin: 0 !important; color: var(--wp--preset--color--primary-dark);
	font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem); font-weight: 500; line-height: 1.15; letter-spacing: -0.01em;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.angio-is-scrolled .angio-brand__title, .angio-is-scrolled .angio-brand__subline { font-size: 1.125rem !important; }

.angio-header__actions { flex-shrink: 0; padding-bottom: 0.75rem; align-self: center; }
.angio-is-scrolled .angio-header__actions { padding-bottom: 0.375rem; }

/* Tab menu row (desktop) */
.angio-nav { flex: 1 1 100%; }
.angio-nav .wp-block-navigation__container { border-top: 1px solid #fff; width: 100%; }
.angio-nav .wp-block-navigation__container > .wp-block-navigation-item { border-right: 1px solid #fff; }
.angio-nav .wp-block-navigation__container > .wp-block-navigation-item:first-child { border-left: 1px solid #fff; }
.angio-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	padding: 0.65rem 1.1rem; white-space: nowrap; color: var(--wp--preset--color--primary-dark); text-decoration: none; font-weight: 500;
}
.angio-nav .wp-block-navigation__container > .wp-block-navigation-item:hover,
.angio-nav .wp-block-navigation__container > .wp-block-navigation-item:focus-within { background: var(--wp--preset--color--base); }
.angio-nav .current-menu-item > .wp-block-navigation-item__content,
.angio-nav .current-menu-ancestor > .wp-block-navigation-item__content { color: var(--wp--preset--color--primary) !important; text-decoration: underline; text-underline-offset: 0.45em; text-decoration-thickness: 2px; }
.angio-nav .wp-block-navigation__submenu-icon { margin-right: 0.75rem; }
.angio-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--border) !important; border-radius: 0 0 var(--wp--custom--radius--sm) var(--wp--custom--radius--sm);
	box-shadow: var(--wp--custom--shadow--card); padding: 0.375rem !important; min-width: 16rem !important;
	background: var(--wp--preset--color--base) !important;
}
.angio-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.55rem 0.75rem !important; border-radius: var(--wp--custom--radius--sm); color: var(--wp--preset--color--ink); text-decoration: none; }
.angio-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--primary-dark); }

/* Overlay menu on smaller screens (core "mobile" switches at 600px – too late for 6 tabs) */
@media (min-width: 961px) {
	.angio-nav .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open) {
		display: block; width: 100%; position: relative; z-index: auto; background-color: inherit;
	}
	.angio-nav .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open) .wp-block-navigation__responsive-container-close { display: none; }
	.angio-nav .wp-block-navigation__responsive-container-open.always-shown { display: none; }
}
@media (max-width: 960px) {
	.angio-header__inner { flex-wrap: nowrap !important; padding-block: 0.5rem !important; gap: 0.75rem !important; }
	.angio-brand, .angio-header__actions { padding-bottom: 0 !important; }
	.angio-nav { flex: 0 0 auto; order: 3; }
	.angio-header__actions { order: 2; margin-left: auto !important; }
	.angio-nav .wp-block-navigation__container { border: 0; }
	.angio-nav .wp-block-navigation__container > .wp-block-navigation-item { border: 0 !important; }
	.angio-brand__logo img, .angio-is-scrolled .angio-brand__logo img { height: 52px; }
	.angio-brand__title, .angio-brand__subline, .angio-is-scrolled .angio-brand__title, .angio-is-scrolled .angio-brand__subline { font-size: 1.125rem !important; }
}
.angio-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.angio-nav .is-menu-open .wp-block-navigation__container,
.angio-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; }
.angio-nav .is-menu-open .wp-block-navigation__container { width: 100%; max-width: 40rem; margin-inline: auto; border: 0; }
.angio-nav .is-menu-open .wp-block-navigation__submenu-container {
	border: 0 !important; box-shadow: none !important; padding: 0 0 0.5rem 1rem !important;
	border-left: 2px solid var(--wp--preset--color--border) !important; border-radius: 0; min-width: 0 !important; background: transparent !important;
}
.angio-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { width: 100%; border: 0 !important; border-bottom: 1px solid var(--wp--preset--color--border) !important; padding-block: 0.25rem; }
.angio-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:hover { background: transparent; }
.angio-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base) !important; padding: clamp(1rem, 5vw, 2rem) !important;
}
.angio-nav .is-menu-open .wp-block-navigation-item__content { font-size: 1.25rem; font-weight: 600; padding: 0.4rem 0 !important; }
.angio-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1.0625rem; font-weight: 500; }
.angio-nav .wp-block-navigation__responsive-container-open,
.angio-nav .wp-block-navigation__responsive-container-close {
	min-width: 44px; min-height: 44px; align-items: center; justify-content: center;
	border-radius: var(--wp--custom--radius--sm); color: var(--wp--preset--color--primary-dark);
}
.angio-nav .wp-block-navigation__responsive-container-open:hover { background: var(--wp--preset--color--base); }

/* Burger menu: visible label, branded overlay, clear active item, scroll lock */
.angio-nav .wp-block-navigation__responsive-container-open { gap: 0.35rem; padding: 0 0.6rem !important; border: 2px solid var(--wp--preset--color--border) !important; }
.angio-nav .wp-block-navigation__responsive-container-open::after { content: "Menü"; font-size: 0.875rem; font-weight: 600; }
html.has-modal-open body { overflow: hidden; }
.angio-nav .is-menu-open .wp-block-navigation__responsive-dialog::before {
	content: "Praxis für Gefäßmedizin"; display: flex; align-items: center; min-height: 52px; padding-left: 42px; margin: 0 auto 1rem; max-width: 40rem;
	background: url("../images/logo-praxis.png") left center / auto 50px no-repeat;
	color: var(--wp--preset--color--primary-dark); font-size: 1.125rem; font-weight: 600;
}
.angio-nav .wp-block-navigation__responsive-container.is-menu-open { animation-duration: 0.2s !important; }
.angio-nav .is-menu-open .current-menu-item > .wp-block-navigation-item__content,
.angio-nav .is-menu-open .current-menu-ancestor > .wp-block-navigation-item__content { box-shadow: inset 4px 0 0 var(--wp--preset--color--primary); padding-left: 0.75rem !important; }
.angio-nav .is-menu-open .wp-block-navigation-item__content { min-height: 44px; display: flex; align-items: center; }
.angio-nav .wp-block-navigation__responsive-container-close { position: absolute; top: clamp(1rem, 5vw, 2rem); right: clamp(1rem, 5vw, 2rem); }

/* Phone icon for all phone buttons */
.angio-btn-phone .wp-block-button__link { display: inline-flex; align-items: center; gap: 0.45rem; white-space: nowrap; }
.angio-btn-phone .wp-block-button__link::before {
	content: ""; width: 1.1em; height: 1.1em; flex: none; background: currentColor;
	-webkit-mask: var(--angio-icon-phone) center / contain no-repeat; mask: var(--angio-icon-phone) center / contain no-repeat;
}
.angio-header .angio-btn-phone .wp-block-button__link { color: var(--wp--preset--color--primary-dark); }

@media (max-width: 1080px) {
	.angio-header__actions .angio-btn-phone .wp-block-button__link {
		width: 44px; height: 44px; padding: 0; justify-content: center;
		font-size: 0; border: 2px solid var(--wp--preset--color--border);
	}
	.angio-header__actions .angio-btn-phone .wp-block-button__link::before { width: 20px; height: 20px; }
}
@media (max-width: 599px) {
	.angio-header__inner { gap: 0.5rem !important; }
	.angio-header__actions { gap: 0.375rem !important; }
	.angio-brand { flex: 1 1 auto; overflow: hidden; gap: 0.5rem !important; }
	.angio-brand__logo img, .angio-is-scrolled .angio-brand__logo img { height: 46px; }
	.angio-brand__title, .angio-brand__subline, .angio-is-scrolled .angio-brand__title, .angio-is-scrolled .angio-brand__subline { font-size: 0.9375rem !important; }
	.angio-brand__title { white-space: normal; }
}
@media (max-width: 480px) {
	/* Short label so logo + practice name keep their room on phones. */
	.angio-header__actions .angio-btn-termin .wp-block-button__link { font-size: 0 !important; padding: 0.5rem 0.75rem; }
	.angio-header__actions .angio-btn-termin .wp-block-button__link::after { content: "Termin"; font-size: 0.9375rem; font-weight: 600; }
	.angio-header__actions .angio-btn-termin .wp-block-button__link::before { display: none; }
}
@media (max-width: 400px) {
	.angio-header__inner { gap: 0.375rem !important; }
	.angio-brand__title, .angio-brand__subline, .angio-is-scrolled .angio-brand__title, .angio-is-scrolled .angio-brand__subline { font-size: 0.8125rem !important; }
	.angio-brand__logo img, .angio-is-scrolled .angio-brand__logo img { height: 44px; }
	.angio-header__actions .angio-btn-phone .wp-block-button__link { width: 40px; height: 40px; }
}
@media (max-width: 359px) {
	.angio-brand__title, .angio-brand__subline { font-size: 0.75rem !important; }
	.angio-header__inner { gap: 0.25rem !important; }
}

/* Eyebrow: small red/blue mark like the two logo flames */
.angio-eyebrow::before {
	content: ""; display: inline-block; width: 1.5rem; height: 3px; margin-right: 0.5rem; vertical-align: 0.3em;
	background: linear-gradient(90deg, var(--wp--preset--color--accent) 50%, var(--wp--preset--color--secondary) 50%); border-radius: 2px;
}
.has-text-align-center.angio-eyebrow::before { display: none; }

/* ---------- Buttons: style variations ----------------------------------- */
.wp-block-button__link { transition: background-color var(--wp--custom--transition), color var(--wp--custom--transition), border-color var(--wp--custom--transition); min-height: 44px; }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--primary); border: 2px solid currentColor;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--primary); color: #fff; border-color: var(--wp--preset--color--primary); }
.has-primary-background-color .wp-block-button.is-style-outline > .wp-block-button__link,
.has-primary-dark-background-color .wp-block-button.is-style-outline > .wp-block-button__link,
.has-deep-background-color .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; }
.has-primary-background-color .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.has-primary-dark-background-color .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.has-deep-background-color .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--primary-dark); border-color: #fff; }

.wp-block-button.is-style-ghost > .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--primary); border-color: transparent;
	padding-inline: 0.5rem;
}
.wp-block-button.is-style-ghost > .wp-block-button__link:hover { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--primary-dark); border-color: transparent; }

.wp-block-button.is-style-on-dark > .wp-block-button__link { background: #fff; color: var(--wp--preset--color--primary-dark); border-color: #fff; }
.wp-block-button.is-style-on-dark > .wp-block-button__link:hover { background: var(--wp--preset--color--surface-2); border-color: var(--wp--preset--color--surface-2); color: var(--wp--preset--color--primary-dark); }

/* Online booking button – recreates the red "Jetzt Termin online buchen" button of the existing site */
.wp-block-button.is-style-booking > .wp-block-button__link {
	display: inline-flex; align-items: center; gap: 0.6rem;
	background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); color: #fff;
	border-radius: var(--wp--custom--radius--sm); font-weight: 700; white-space: nowrap;
}
.wp-block-button.is-style-booking > .wp-block-button__link::before {
	content: ""; width: 1.25em; height: 1.25em; flex: none; background: currentColor;
	-webkit-mask: var(--angio-icon-calendar) center / contain no-repeat; mask: var(--angio-icon-calendar) center / contain no-repeat;
}
.wp-block-button.is-style-booking > .wp-block-button__link:hover { background: var(--wp--preset--color--primary-dark); border-color: var(--wp--preset--color--primary-dark); color: #fff; }
.wp-block-button.is-style-booking.is-large > .wp-block-button__link { font-size: 1.125rem; padding: 0.95rem 1.5rem; }

/* Calendar icon on any button (e.g. light booking button on dark bands) */
.wp-block-button.angio-btn-cal > .wp-block-button__link { display: inline-flex; align-items: center; gap: 0.6rem; }
.wp-block-button.angio-btn-cal > .wp-block-button__link::before {
	content: ""; width: 1.2em; height: 1.2em; flex: none; background: currentColor;
	-webkit-mask: var(--angio-icon-calendar) center / contain no-repeat; mask: var(--angio-icon-calendar) center / contain no-repeat;
}
.wp-block-button.is-style-booking.wp-block-button__width-100 > .wp-block-button__link { justify-content: center; white-space: normal; }

/* ---------- Group / column styles --------------------------------------- */
.is-style-card {
	background: #fff;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
	box-shadow: var(--wp--custom--shadow--card);
	padding: clamp(1.25rem, 1rem + 1vw, 2rem);
}
.is-style-notice {
	background: var(--wp--preset--color--accent-soft);
	border-left: 4px solid var(--wp--preset--color--accent);
	border-radius: var(--wp--custom--radius--sm);
	padding: clamp(1rem, 0.75rem + 1vw, 1.5rem) clamp(1.25rem, 1rem + 1vw, 1.75rem);
}
.is-style-notice :where(h2, h3, h4) { color: var(--wp--preset--color--accent); margin-top: 0; }
.is-style-info {
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--md);
	padding: clamp(1rem, 0.75rem + 1vw, 1.5rem) clamp(1.25rem, 1rem + 1vw, 1.75rem);
}
.is-style-info :where(h2, h3, h4) { margin-top: 0; }
.is-style-card > :first-child, .is-style-info > :first-child, .is-style-notice > :first-child { margin-top: 0; }

/* Check list */
ul.is-style-checklist { list-style: none; padding-left: 0; }
ul.is-style-checklist > li { position: relative; padding-left: 1.9rem; margin-block: 0.4rem; }
ul.is-style-checklist > li::before {
	content: ""; position: absolute; left: 0; top: 0.2em; width: 1.25rem; height: 1.25rem;
	border-radius: 50%; background: var(--wp--preset--color--surface-2);
}
ul.is-style-checklist > li::after {
	content: ""; position: absolute; left: 0.2rem; top: calc(0.2em + 0.2rem); width: 0.85rem; height: 0.85rem;
	background: var(--wp--preset--color--primary);
	-webkit-mask: var(--angio-icon-check) center / contain no-repeat; mask: var(--angio-icon-check) center / contain no-repeat;
}

/* Portrait image style */
.wp-block-image.is-style-portrait img { aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--wp--custom--radius--lg); }

/* ---------- Icons for cards & features ---------------------------------- */
[class*="angio-icon-"]::before {
	content: ""; display: block; width: 3rem; height: 3rem; margin-bottom: 1rem;
	border-radius: var(--wp--custom--radius--md);
	background-color: var(--wp--preset--color--surface-2);
	background-image: none;
}
[class*="angio-icon-"]::after { content: none; }
.angio-service-card, .angio-feature, .angio-link-card { position: relative; }
.angio-service-card::after, .angio-feature::after, .angio-link-card::after {
	content: ""; position: absolute; width: 1.6rem; height: 1.6rem;
	top: calc(clamp(1.25rem, 1rem + 1vw, 2rem) + 0.7rem); left: calc(clamp(1.25rem, 1rem + 1vw, 2rem) + 0.7rem);
	background: var(--wp--preset--color--primary);
	-webkit-mask: var(--angio-icon) center / contain no-repeat; mask: var(--angio-icon) center / contain no-repeat;
}
.angio-feature::after { top: 0.7rem; left: 0.7rem; }
.angio-icon-vein { --angio-icon: var(--angio-icon-vein); }
.angio-icon-artery { --angio-icon: var(--angio-icon-artery); }
.angio-icon-artery::after { background: var(--wp--preset--color--accent) !important; }
.angio-icon-lymph { --angio-icon: var(--angio-icon-lymph); }
.angio-icon-lymph::after { background: var(--wp--custom--color--brand-blue-light) !important; }
.angio-icon-artery::before, .angio-icon-alert::before { background-color: var(--wp--preset--color--accent-soft) !important; }
.angio-icon-doctor { --angio-icon: var(--angio-icon-doctor); }
.angio-icon-ultrasound { --angio-icon: var(--angio-icon-ultrasound); }
.angio-icon-clock { --angio-icon: var(--angio-icon-clock); }
.angio-icon-network { --angio-icon: var(--angio-icon-network); }
.angio-icon-bag { --angio-icon: var(--angio-icon-bag); }
.angio-icon-doc { --angio-icon: var(--angio-icon-doc); }
.angio-icon-alert { --angio-icon: var(--angio-icon-alert); }
.angio-icon-alert::after { background: var(--wp--preset--color--accent) !important; }
.angio-icon-question { --angio-icon: var(--angio-icon-question); }
.angio-advantages .angio-feature::before { background-color: var(--wp--preset--color--base); }

/* Cards */
.angio-cards > .wp-block-column { display: flex; flex-direction: column; }
.angio-cards > .wp-block-column > .angio-more { margin-top: auto; padding-top: 0.5rem; }
.angio-service-card h3, .angio-link-card h3 { margin-top: 0; }
.angio-link-card { transition: transform var(--wp--custom--transition), box-shadow var(--wp--custom--transition); }
.angio-link-card h3 a { text-decoration: none; color: var(--wp--preset--color--primary-dark); }
.angio-link-card h3 a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.angio-link-card:hover { transform: translateY(-2px); box-shadow: 0 2px 4px rgba(74,12,8,.08), 0 16px 40px rgba(74,12,8,.10); }
.angio-link-card:hover h3 a { text-decoration: underline; }
.angio-link-card:focus-within { outline: 3px solid var(--wp--custom--color--focus); outline-offset: 2px; }
.angio-link-card h3 a:focus-visible { outline: none; }

/* ---------- Hero -------------------------------------------------------- */
.angio-hero { position: relative; overflow: hidden; }
.angio-hero h1 { margin-top: 0.25rem; }
.angio-hero__image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; box-shadow: var(--wp--custom--shadow--card); }
.angio-facts { gap: var(--wp--preset--spacing--30); }
.angio-fact {
	background: #fff; border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md); padding: 1rem 1.25rem 1rem 4rem; position: relative;
}
.angio-fact > * { margin-block: 0 !important; }
.angio-fact::before {
	content: ""; position: absolute; left: 1rem; top: 1.1rem; width: 2rem; height: 2rem; border-radius: 50%;
	background: var(--wp--preset--color--surface-2);
}
.angio-fact::after {
	content: ""; position: absolute; left: 1.45rem; top: 1.55rem; width: 1.1rem; height: 1.1rem;
	background: var(--wp--preset--color--primary);
	-webkit-mask: var(--angio-fact-icon) center / contain no-repeat; mask: var(--angio-fact-icon) center / contain no-repeat;
}
.angio-fact--phone { --angio-fact-icon: var(--angio-icon-phone); }
.angio-fact--phone::after { background: var(--wp--preset--color--accent); }
.angio-fact--phone::before { background: var(--wp--preset--color--accent-soft); }
.angio-fact--clock { --angio-fact-icon: var(--angio-icon-clock); }
.angio-fact--pin { --angio-fact-icon: var(--angio-icon-pin); }
.angio-fact__label { font-size: var(--wp--preset--font-size--caption); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.angio-fact .wp-block-button__link { padding: 0; min-height: 0; font-size: 1.25rem; font-weight: 700; background: none !important; }
.angio-fact .wp-block-button__link:hover { text-decoration: underline; }

/* ---------- Banner (wide practice photo with "Willkommen", like the existing site) */
.angio-banner { position: relative; overflow: hidden; }
.angio-banner > * { margin: 0 !important; }
.angio-banner__image img { display: block; width: 100%; height: auto; aspect-ratio: 800 / 267; object-fit: cover; }
.angio-banner::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(0deg, rgba(46, 26, 23, 0.55) 0%, rgba(46, 26, 23, 0) 42%);
}
.angio-banner__label {
	position: absolute; z-index: 1; right: clamp(0.75rem, 3vw, 2rem); bottom: clamp(0.25rem, 1vw, 0.75rem);
	color: #fff; font-size: clamp(1.5rem, 0.75rem + 3.2vw, 3.25rem); font-weight: 300; line-height: 1.1;
	letter-spacing: 0.06em; text-transform: uppercase;
}
.angio-welcome__text h1 { margin-top: 0.25rem; }
.angio-hours-card h2 { margin-top: 0; }
.angio-hours-card { border-top: 4px solid #fff; }

/* Room gallery */
.angio-rooms figure { margin: 0; }
.angio-rooms img { width: 100%; aspect-ratio: 3 / 1; object-fit: cover; border-radius: var(--wp--custom--radius--sm); }

/* Page banner: featured image under the page title */
.angio-page-header .wp-block-post-featured-image { margin-top: var(--wp--preset--spacing--40) !important; }
.angio-page-header .wp-block-post-featured-image img { object-fit: cover; }

/* ---------- Sections ---------------------------------------------------- */
.angio-section__head { margin-bottom: 0; }
.angio-section__head > * { margin-block: 0.25rem; }

/* ---------- Page header ------------------------------------------------- */
.angio-page-header .wp-block-breadcrumbs { margin-bottom: 0.5rem; }
.angio-page-header .wp-block-breadcrumbs a { color: var(--wp--preset--color--muted); }
.angio-page-header .wp-block-breadcrumbs a:hover { color: var(--wp--preset--color--primary); }
.angio-page-header h1 { margin-block: 0; }

/* ---------- Service page ------------------------------------------------ */
@media (min-width: 782px) {
	.angio-service__aside .angio-aside { position: sticky; top: calc(var(--wp--custom--header--height-compact) + 24px); }
	.admin-bar .angio-service__aside .angio-aside { top: calc(var(--wp--custom--header--height-compact) + 56px); }
}
.angio-service__main h2:first-of-type { margin-top: var(--wp--preset--spacing--40); }
.angio-link-list { list-style: none; padding-left: 0; margin: 0; }
.angio-link-list li { border-bottom: 1px solid var(--wp--preset--color--border); }
.angio-link-list li:last-child { border-bottom: 0; }
.angio-link-list a { display: block; padding: 0.55rem 0; text-decoration: none; font-weight: 600; }
.angio-link-list a:hover { text-decoration: underline; }
.angio-link-list a[aria-current="page"] { color: var(--wp--preset--color--ink); }

/* ---------- Legal pages ------------------------------------------------- */
.angio-legal-lead { font-weight: 600; color: var(--wp--preset--color--primary-dark); }

/* ---------- FAQ (details) ----------------------------------------------- */
.angio-faq { border-top: 1px solid var(--wp--preset--color--border); }
.wp-block-details.is-style-faq { padding-block: 0; }
.wp-block-details.is-style-faq > summary {
	list-style: none; cursor: pointer; position: relative;
	padding: 1.1rem 3rem 1.1rem 0; font-weight: 650; font-size: var(--wp--preset--font-size--large); line-height: 1.35;
	color: var(--wp--preset--color--primary-dark);
}
.wp-block-details.is-style-faq > summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-faq > summary::after {
	content: ""; position: absolute; right: 0.25rem; top: 50%; width: 1.75rem; height: 1.75rem; margin-top: -0.875rem;
	border-radius: 50%; background: var(--wp--preset--color--surface-2) var(--angio-icon-plus) center / 1.1rem no-repeat;
}
.wp-block-details.is-style-faq[open] > summary::after { background-image: var(--angio-icon-minus); }
.wp-block-details.is-style-faq > summary:hover { color: var(--wp--preset--color--primary); }
.wp-block-details.is-style-faq > :not(summary) { margin-top: 0; padding-right: 3rem; }
.wp-block-details.is-style-faq > :last-child:not(summary) { padding-bottom: 1.25rem; }

/* ---------- Team -------------------------------------------------------- */
.angio-team-card .wp-block-post-featured-image { margin-bottom: 0.5rem; width: 100%; }
.angio-team-card .wp-block-post-featured-image img { box-shadow: var(--wp--custom--shadow--card); transition: transform var(--wp--custom--transition); }
.angio-team-card .wp-block-post-featured-image a:hover img { transform: scale(1.015); }
.angio-team-card__name { margin: 0; }
.angio-team-card__name a { text-decoration: none; color: var(--wp--preset--color--primary-dark); }
.angio-team-card__name a:hover { text-decoration: underline; }
.angio-team-card__position { margin: 0; color: var(--wp--preset--color--ink); }
.angio-team-card__focus { margin: 0; color: var(--wp--preset--color--muted); }
.angio-team-card:not(:has(.wp-block-post-featured-image))::before {
	content: ""; display: block; width: 100%; aspect-ratio: 4 / 5; border-radius: 12px; margin-bottom: 0.5rem;
	background: var(--wp--preset--color--surface-2) var(--angio-icon-doctor) center / 35% no-repeat;
	opacity: 0.7;
}
.angio-profile__position { color: var(--wp--preset--color--primary); font-weight: 600; margin-top: 0.25rem; }
.angio-profile__qualification, .angio-profile__focus { color: var(--wp--preset--color--muted); margin: 0; }
.angio-profile-fields { margin-bottom: var(--wp--preset--spacing--40); }

/* ---------- Posts / filter ---------------------------------------------- */
.angio-filter { margin-bottom: var(--wp--preset--spacing--40); gap: 0.75rem; }
.angio-filter__label { margin: 0; }
.angio-filter__list { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; padding: 0; margin: 0; }
.angio-filter__list a {
	display: inline-block; padding: 0.35rem 0.9rem; border-radius: var(--wp--custom--radius--pill);
	border: 1px solid var(--wp--preset--color--border); text-decoration: none; font-size: var(--wp--preset--font-size--small);
}
.angio-filter__list .current-cat a, .angio-filter__list a:hover { background: var(--wp--preset--color--primary); color: #fff; border-color: var(--wp--preset--color--primary); }
.angio-post-card .wp-block-post-featured-image img { border-radius: var(--wp--custom--radius--sm); }
.angio-post-card .wp-block-post-title a { text-decoration: none; }
.angio-post-card .wp-block-post-title a:hover { text-decoration: underline; }
.angio-post-card { height: 100%; }

/* ---------- CTA band ---------------------------------------------------- */
.angio-cta h2 { margin-top: 0; }
.angio-cta p { opacity: 0.95; }
.angio-cta-part { margin-block-start: 0; }
.angio-cta__buttons { gap: 0.75rem; }
@media (max-width: 781px) { .angio-cta__buttons { justify-content: flex-start !important; } }

/* ---------- Footer ------------------------------------------------------ */
.angio-site-footer { margin-block-start: 0; }
.angio-footer__heading {
	font-size: var(--wp--preset--font-size--small) !important; text-transform: uppercase; letter-spacing: 0.08em;
	margin-bottom: 1rem !important;
}
.angio-footer a { text-decoration: none; }
.angio-footer a:hover { text-decoration: underline; text-underline-offset: 0.2em; }
.angio-footer .angio-contact__icon, .angio-footer .angio-hours__open svg { color: #E8A598; }
.angio-footer .angio-contact__label, .angio-footer .angio-contact__note { color: #D9B8A8; }
.angio-footer .angio-hours__table th, .angio-footer .angio-hours__table td { border-color: rgba(230, 227, 212, 0.18); }
.angio-footer .angio-hours__open { background: rgba(255, 255, 255, 0.06); }
.angio-footer .angio-hours__closed { color: #D9B8A8; }
.angio-footer .angio-hours__table tr.is-today th, .angio-footer .angio-hours__table tr.is-today td { color: #fff; }
.angio-footer .angio-hours__today { background: #fff; color: var(--wp--preset--color--deep); }
.angio-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.45rem; }
.angio-footer__bottom > * { margin: 0; }
.angio-footer__legal a { white-space: nowrap; }
.angio-footer__note:empty { display: none; }
.angio-social { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; padding: 0; }
.angio-social a {
	display: inline-flex; align-items: center; min-height: 40px; padding: 0.3rem 0.9rem;
	border: 1px solid currentColor; border-radius: var(--wp--custom--radius--pill); font-size: var(--wp--preset--font-size--small);
}

/* ---------- Back to top ------------------------------------------------- */
.angio-to-top {
	position: fixed; right: clamp(0.75rem, 3vw, 1.5rem); bottom: clamp(0.75rem, 3vw, 1.5rem); z-index: 90;
	width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center;
	background: var(--wp--preset--color--primary); color: #fff; box-shadow: var(--wp--custom--shadow--card);
	transition: background-color var(--wp--custom--transition), transform var(--wp--custom--transition);
}
.angio-to-top:hover { background: var(--wp--preset--color--primary-dark); transform: translateY(-2px); }
.angio-to-top[hidden] { display: none; }

/* ---------- Layout safety on small screens ----------------------------- */
@media (max-width: 781px) {
	.wp-block-columns { gap: var(--wp--preset--spacing--40) !important; }
	.angio-hero__image img { aspect-ratio: 16 / 9; }
	.wp-block-details.is-style-faq > :not(summary) { padding-right: 0; }
}
@media (max-width: 480px) {
	.wp-block-buttons > .wp-block-button { flex: 1 1 100%; }
	.wp-block-buttons > .wp-block-button > .wp-block-button__link { width: 100%; justify-content: center; }
	.angio-header__actions > .wp-block-button { flex: 0 0 auto; }
	.angio-header__actions > .wp-block-button > .wp-block-button__link { width: auto; }
	.angio-fact .wp-block-button { flex: 0 0 auto !important; }
	.angio-fact .wp-block-button__link { width: auto !important; justify-content: flex-start !important; }
}

/* ---------- Motion & print ---------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
@media print {
	.angio-site-header, .angio-site-footer, .angio-cta-part, .angio-to-top, .angio-embed, .angio-form-wrap, .angio-service__aside { display: none !important; }
	body { font-size: 11pt; color: #000; }
	.angio-content a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 0.85em; }
}
