html,
body {
	overflow-x: hidden;
}

/* Global - Visually hidden SEO heading */
.zw-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Container */

.a4-container {
    max-width: var(--a4-container-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

@media (min-width: 640px) {
    .a4-container {
        padding-left: var(--a4-container-padding);
        padding-right: var(--a4-container-padding);
    }
}

/* Section spacing */

.a4-section {
    padding-top: 40px;
    padding-bottom: 40px;
}

.a4-section--large {
    padding-top: 70px;
    padding-bottom: 70px;
}

.a4-section--small {
    padding-top: 25px;
    padding-bottom: 25px;
}

.a4-section--muted {
    background-color: var(--a4-color-bg-muted);
}

/* Buttons */

.a4-button {
    display: inline-block;
    box-sizing: border-box;
    padding: 0 20px;
    font-family: var(--a4-font-body);
    font-size: 17px;
    font-weight: 500;
    line-height: 24px;
    text-align: center;
    text-decoration: none;
    border-radius: var(--a4-radius-button);
    border: 5px solid transparent;
    cursor: pointer;
    transition: .15s ease-in-out;
    transition-property: color, background-color, border-color;
}

.a4-button:hover {
    text-decoration: none;
}

.a4-button--primary {
    background-color: var(--a4-color-primary);
    color: #fff;
}

.a4-button--primary:hover {
    background-color: var(--a4-color-primary-hover);
    color: #fff;
}


/* ==========================================================================
   Reusable: CTA Termin (title + button)
   ========================================================================== */

.a4-cta-termin {
    padding-top: 40px;
    padding-bottom: 40px;
    background: #fff;
}

h1.a4-cta-termin__title {
    margin: 0;
    font-family: var(--a4-font-heading);
    font-size: 28px;
    font-weight: 900;
    line-height: 1.1;
    text-transform: uppercase;
    color: #adadad;
}

.a4-cta-termin__actions {
    margin-top: 40px;
}

.a4-cta-termin .a4-button--with-icon {
    font-size: 17px;
}

@media (max-width: 375px) {
	.a4-button,
    .a4-cta-termin .a4-button--with-icon {
        font-size: 16px;
    }
	
	h1.a4-cta-termin__title {
		font-size: 23px;
	}
}


/* ==========================================================================
   Reusable: trust / excellence logos
   ========================================================================== */

.a4-trust {
	padding-top: 40px;
	padding-bottom: 40px;
	background: #fff;
	color: #6c6d74;
	font-family: var(--a4-font-body);
	font-size: 18px;
}

.a4-trust__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;
	align-items: center;
}

.a4-trust__heading {
	margin: 0;
	font-family: var(--a4-font-body);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: none;
	color: #b4b5ba;
}

/* First trust logo */
.a4-trust__seal {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
}

.a4-trust__seal img {
	display: block;
	width: auto;
	max-width: 120px;
	height: auto;
	max-height: 120px;
	object-fit: contain;
}

/* Other trust logos */
.a4-trust__logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 30px;
}

.a4-trust__logos > * {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
	flex: 0 0 120px;
}

.a4-trust__logos img {
	display: block;
	width: auto;
	max-width: 120px;
	height: auto;
	max-height: 120px;
	object-fit: contain;
}

/* Trust tablet */
@media (min-width: 640px) and (max-width: 959px) {
	.a4-trust__grid {
		grid-template-columns: 1fr 120px;
		column-gap: 30px;
	}

	.a4-trust__logos {
		grid-column: 1 / -1;
		justify-content: center;
	}
}

/* Trust desktop */
@media (min-width: 960px) {
	.a4-trust__grid {
		grid-template-columns: 300px 120px auto;
		column-gap: 60px;
		row-gap: 0;
		align-items: center;
	}

	.a4-trust__heading {
		max-width: 300px;
	}

	.a4-trust__seal {
		justify-self: center;
	}

	.a4-trust__logos {
		grid-column: auto;
		justify-content: flex-start;
		gap: 60px;
	}
}

/* Trust mobile */
@media (max-width: 639px) {
	.a4-trust__seal {
		margin: 0 auto;
	}

	.a4-trust__logos {
		justify-content: center;
		gap: 20px;
	}

	.a4-trust__logos > * {
		width: 100px;
		height: 100px;
		flex-basis: 100px;
	}

	.a4-trust__logos img {
		max-width: 100px;
		max-height: 100px;
	}
}















/* ==========================================================================
   Header
   ========================================================================== */

.a4-header {
    position: relative;
    z-index: 100;
    background: #fff;
}

.a4-header__bar {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 15px;
    padding-bottom: 15px;
    background: #fff;
    border: 0;
    box-shadow: none;
}

.a4-header__logo img {
    width: 220px;
    height: auto;
}

.a4-nav {
    display: none;
}

.a4-nav__list {
    display: flex;
    align-items: center;
    gap: 28px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.a4-nav__list a {
    font-family: var(--a4-font-body);
    font-weight: 500;
    color: var(--a4-color-heading);
    text-decoration: none;
}

.a4-nav__list a:hover {
    color: var(--a4-color-primary);
    text-decoration: none;
}

.a4-nav__list .a4-nav__cta > a {
    padding: 8px 20px;
    border-radius: var(--a4-radius-button);
    background: var(--a4-color-primary);
    color: #fff !important;
}

.a4-nav__list .a4-nav__cta > a:hover {
    background: var(--a4-color-primary-hover);
    color: #fff !important;
}

/* Burger / close icon */
.a4-nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    color: var(--a4-color-heading);
}

.a4-nav-toggle__box {
    position: relative;
    display: block;
    width: 24px;
    height: 16px;
}

.a4-nav-toggle__line {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1.5px;
    background: currentColor;
    transition: transform .25s ease, opacity .2s ease, top .25s ease;
}

.a4-nav-toggle__line:nth-child(1) { top: 0; }
.a4-nav-toggle__line:nth-child(2) { top: 7px; }
.a4-nav-toggle__line:nth-child(3) { top: 14px; }

.a4-nav-toggle[aria-expanded="true"] .a4-nav-toggle__line:nth-child(1) {
    top: 7px;
    transform: rotate(45deg);
}

.a4-nav-toggle[aria-expanded="true"] .a4-nav-toggle__line:nth-child(2) {
    opacity: 0;
}

.a4-nav-toggle[aria-expanded="true"] .a4-nav-toggle__line:nth-child(3) {
    top: 7px;
    transform: rotate(-45deg);
}

/* Mobile dropbar — slides out from under the header bar */
.a4-mobile-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 1;
    background: #fff;
    overflow: hidden;
    max-height: 0;
    border: 0;
    transition: max-height .3s ease;
}

.a4-mobile-menu.is-open {
    max-height: calc(100vh - 70px);
}

.a4-mobile-menu__panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 30px 15px 40px;
    min-height: calc(100vh - 70px);
    box-sizing: border-box;
}

.a4-mobile-menu__logo {
    display: inline-block;
    margin-bottom: 28px;
}

.a4-mobile-menu__logo img {
    width: 220px;
    height: auto;
    margin: 0 auto;
}

.a4-mobile-menu__list {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.a4-mobile-menu__list li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.a4-mobile-menu__list a {
    display: block;
    width: 100%;
    padding: 8px 0;
    text-align: center;
    font-family: var(--a4-font-body);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0;
    color: #6c6d74;
    text-decoration: none;
}

.a4-mobile-menu__list a:hover {
    color: var(--a4-color-heading);
    text-decoration: none;
}

/* Termin CTA — assign CSS class "a4-nav__cta" to that menu item in WP */
.a4-mobile-menu__list .a4-nav__cta {
    margin-top: 18px;
    width: 100%;
}

.a4-mobile-menu__list .a4-nav__cta > a {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 8px 0;
    border-radius: 10px;
    background: #e74922;
    color: #6c6d74 !important;
    font-family: var(--a4-font-body);
    font-size: 17px;
    font-weight: 500;
    line-height: 24px;
    text-transform: none;
    text-align: center;
}

.a4-mobile-menu__list .a4-nav__cta > a:hover {
    background: var(--a4-color-primary-hover);
    color: #fff !important;
}

body.a4-menu-open {
    overflow: hidden;
}

/* Active menu item — same color as hover */
.a4-nav__list .current-menu-item > a,
.a4-nav__list .current_page_item > a,
.a4-nav__list .current-menu-ancestor > a,
.a4-nav__list .current-menu-parent > a {
    color: var(--a4-color-primary);
}

.a4-mobile-menu__list .current-menu-item > a,
.a4-mobile-menu__list .current_page_item > a,
.a4-mobile-menu__list .current-menu-ancestor > a,
.a4-mobile-menu__list .current-menu-parent > a {
    color: var(--a4-color-primary);
}

/* Keep Termin CTA white on orange when active */
.a4-nav__list .a4-nav__cta.current-menu-item > a,
.a4-nav__list .a4-nav__cta.current_page_item > a,
.a4-mobile-menu__list .a4-nav__cta.current-menu-item > a,
.a4-mobile-menu__list .a4-nav__cta.current_page_item > a {
    color: #fff !important;
}

@media (min-width: 960px) {
    .a4-nav { display: block; }
    .a4-nav-toggle { display: none; }
    .a4-mobile-menu { display: none !important; }
}


/* Sticky header - all pages */
.a4-header {
	position: sticky;
	top: 0;
	z-index: 200;
	background: #fff;
}

body.page-template-template-termin-php .a4-termin,
body.page-template-template-zygoma-php .a4-zygoma,
body.page-template-template-angstpatienten-php .a4-angst,
body.page-template-template-vollnarkose-php .a4-vn,
body.page-template-template-all-on-4-php .a4-allon4 {
    padding-top: 90px;
}

body.page-template-template-zygoma-php .a4-zygoma-hero,
body.page-template-template-angstpatienten-php .a4-angst-hero,
body.page-template-template-vollnarkose-php .a4-vn-hero,
body.page-template-template-all-on-4-php .a4-allon4-hero {
    height: calc(100vh - 90px);
    min-height: calc(100vh - 90px);
}

@media (max-width: 959px) {
    body.page-template-template-zygoma-php .a4-zygoma-hero,
    body.page-template-template-angstpatienten-php .a4-angst-hero,
    body.page-template-template-vollnarkose-php .a4-vn-hero,
    body.page-template-template-all-on-4-php .a4-allon4-hero {
        min-height: 600px;
        height: auto;
    }
}


/* ==========================================================================
   Footer
   ========================================================================== */

.a4-footer {
	background: #fff;
	padding-top: 140px;
	padding-bottom: 0;
}

.a4-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	text-align: center;
	padding-bottom: 70px;
}

@media (min-width: 960px) {
	.a4-footer__grid {
		grid-template-columns: repeat(3, 1fr);
		text-align: left;
		gap: 70px;
	}
}

.a4-footer__logo img {
	display: block;
	width: 318px;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

.a4-footer h5 {
	margin: 0 0 15px;
}

.a4-footer__col p {
	margin: 0;
	color: var(--a4-color-text);
}

.a4-footer__list {
	list-style: none;
	margin: 0 0 32px;
	padding: 0;
}

.a4-footer__list li {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 10px;
	margin-bottom: 12px;
}

.a4-footer__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	min-width: 20px;
	padding-top: 2px;
}

.a4-footer__icon img {
	display: block;
	width: 18px;
	height: 18px;
	object-fit: contain;
}

.a4-footer__list a {
	color: var(--a4-color-text);
	text-decoration: none;
}

.a4-footer__list a:hover {
	color: var(--a4-color-primary);
}

@media (min-width: 960px) {
	.a4-footer__list li {
		justify-content: flex-start;
	}
}

/* Footer bottom navigation */
.a4-footer-bottom {
	padding: 20px 0;
	font-size: 14px;
}

.a4-footer-bottom__inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 30px;
}

.a4-footer-bottom__legal {
	display: flex;
	align-items: center;
	gap: 20px;
}

.a4-footer-bottom__legal span {
	display: block;
	width: 1px;
	height: 20px;
	background: var(--a4-color-border);
}

.a4-footer-bottom__legal a {
	font-size: 14px;
	font-weight: 700;
	color: #6c6d74;
	text-decoration: none;
}

.a4-footer-bottom__cookies {
	text-align: center;
}

.a4-footer-bottom__cookies a {
	font-size: 14px;
	font-weight: 400;
	color: #6c6d74;
	text-decoration: none;
}

.a4-footer-bottom__legal a:hover,
.a4-footer-bottom__cookies a:hover {
	color: var(--a4-color-primary);
}

.a4-footer-bottom__copyright {
	text-align: right;
	font-size: 13px;
	color: #b8b8b8;
}

/* Footer responsive */
@media (max-width: 959px) {
	.a4-footer {
		padding-top: 40px;
	}

	.a4-footer__grid {
		padding-bottom: 40px;
	}

	.a4-footer__logo img {
		width: 260px;
	}

	.a4-footer-bottom__inner {
		grid-template-columns: 1fr;
		text-align: center;
		gap: 15px;
	}

	.a4-footer-bottom__legal {
		justify-content: center;
	}

	.a4-footer-bottom__copyright {
		text-align: center;
	}
}

@media (max-width: 767px) {
	.a4-footer__logo img {
		width: 220px;
	}
}

/* ==========================================================================
   Contact page (Termin)
   ========================================================================== */

.a4-hero-image img {
    width: 100%;
    height: auto;
}

.a4-two-col {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
}

@media (min-width: 960px) {
    .a4-two-col {
        grid-template-columns: 1fr 1fr;
        gap: 60px;
    }
}

.a4-video-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    box-shadow: 0 20px 40px rgba(0,0,0,.15);
}

.a4-video-wrap iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.a4-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 30px;
}

.a4-badges img {
    max-width: 150px;
    width: auto;
}

/* Thank You Page */

.a4-thank-you {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 65vh;
	padding: 100px 20px;
	text-align: center;
}

.a4-thank-you__inner {
	width: 100%;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.a4-thank-you h1 {
	margin: 0 0 24px;
	font-size: 72px;
	font-weight: 900;
	line-height: 1.1;
	text-transform: uppercase;
}

.a4-thank-you p {
	margin: 0 0 40px;
	font-size: 32px;
	line-height: 1.3;
}

/* Thank You Page Button */
.a4-thank-you__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 24px;
	min-height: 58px;
	line-height: 1;
	text-align: center;
}

/* Thank You Page Mobile */

@media (max-width: 767px) {

	.a4-thank-you {
		min-height: 50vh;
		padding: 70px 20px;
	}

	.a4-thank-you h1 {
		font-size: 48px;
	}

	.a4-thank-you p {
		font-size: 24px;
	}

}



/* ==========================================================================
   Page Banner
   ========================================================================== */

.a4-hero-legal {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 80vh;
	padding-top: 40px;
	padding-bottom: 40px;
	background-image: var(--a4-banner-desktop);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	box-sizing: border-box;
	overflow: hidden;
}

.a4-hero-legal__mobile-image {
	display: none;
}

.a4-hero-legal__inner {
	position: relative;
	z-index: 2;
	width: 100%;
	text-align: left;
}

/* Eyebrow */
.a4-hero-legal__eyebrow {
	max-width: 450px;
	margin: 0 0 20px;
	color: #ffffff;
	font-family: var(--a4-font-heading);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

/* Title */
.a4-hero-legal__title {
	max-width: 520px;
	margin: 0;
	color: #ffffff;
	font-family: var(--a4-font-heading);
	font-size: 42px;
	font-weight: 900;
	line-height: 1.08;
	text-align: left;
	text-transform: none;
	opacity: 0;
	transform: translateX(-60px);
	animation: a4-hero-slide-in 0.8s ease-out 0.3s forwards;
}

/* Text */
.a4-hero-legal__text {
	max-width: 430px;
	margin-top: 22px;
	color: #ffffff;
	font-family: var(--a4-font-body);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.45;
}

.a4-hero-legal__button {
	margin-top: 20px;
}

/* Animation */
@keyframes a4-hero-slide-in {
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/* Tablet */
@media (max-width: 959px) and (min-width: 768px) {
	.a4-hero-legal {
		min-height: 650px;
	}

	.a4-hero-legal__title {
		max-width: 460px;
		font-size: 38px;
	}

	.a4-hero-legal__text {
		max-width: 400px;
	}
}

/* ==========================================================================
   Page Banner - Mobile
   ========================================================================== */

@media (max-width: 767px) {
	html body .a4-hero-legal {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		background: none !important;
		background-image: none !important;
		overflow: visible !important;
	}

	html body .a4-hero-legal__mobile-image {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		object-fit: cover;
	}

	html body .a4-hero-legal__inner {
		position: static !important;
		display: block !important;
		width: 100% !important;
		max-width: var(--a4-container-max);
		margin: 0 auto !important;
		padding-top: 20px !important;
		padding-bottom: 34px !important;
		text-align: left !important;
		box-sizing: border-box;
	}

	.a4-hero-legal__eyebrow {
		width: 100%;
		max-width: 100%;
		margin: 0 0 14px;
		color: #adadad;
		font-size: 12px;
		font-weight: 800;
		line-height: 1.2;
		text-transform: uppercase;
	}

	html body .a4-hero-legal__title {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		color: #adadad !important;
		font-size: 28px !important;
		font-weight: 900 !important;
		line-height: 1.08 !important;
		text-align: left !important;
		text-transform: uppercase;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		opacity: 1 !important;
		transform: none !important;
		animation: none !important;
	}

	.a4-hero-legal__text {
		width: 100%;
		max-width: 100%;
		margin-top: 26px;
		color: #050505;
		font-size: 18px;
		font-weight: 700;
		line-height: 1.5;
	}

	.a4-hero-legal__button {
		margin-top: 20px;
		padding: 8px 20px;
		font-size: 17px;
		line-height: 24px;
	}

	.a4-hero-legal__eyebrow:empty,
	.a4-hero-legal__text:empty {
		display: none;
	}
}

/* Small mobile */
@media (max-width: 480px) {
	html body .a4-hero-legal__title {
		font-size: 27px !important;
	}

	.a4-hero-legal__text {
		font-size: 17px;
	}
}

/* ==========================================================================
   Global Text Wrapping
   ========================================================================== */

html {
	hyphens: auto;
}

body {
	overflow-wrap: break-word;
	word-wrap: break-word;
}

@media (max-width: 767px) {
	body {
		overflow-wrap: anywhere;
	}
}


/* ==========================================================================
   Leistungen - Services Tiles
   ========================================================================== */

.a4-vn-services {
	padding-top: 40px;
	padding-bottom: 40px;
	background: #f7f7f7;
}

@media (min-width: 960px) {
	.a4-vn-services {
		padding-top: 80px;
		padding-bottom: 80px;
	}
}

.a4-vn-services__title {
	max-width: 1100px;
	margin: 0 auto 50px;
	font-family: var(--a4-font-heading);
	font-size: 28px;
	font-weight: 900;
	line-height: 1.15;
	text-transform: uppercase;
	text-align: center;
	color: var(--a4-color-muted);
}

.a4-vn-services__grid {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.a4-vn-services__column {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

[data-a4-parallax] {
	will-change: transform;
}

/* Service tile */
.a4-vn-services__item {
	padding: 40px;
	background: #ffffff;
	border: 1px solid var(--a4-color-border);
	box-sizing: border-box;
}

.a4-vn-services__item--default {
	min-height: 360px;
}

.a4-vn-services__item--muted {
	min-height: 360px;
	background: transparent;
	border: 0;
}

.a4-vn-services__item--primary {
	min-height: 360px;
	background: #f5b8a6;
	border: 0;
	color: #ffffff;
}

.a4-vn-services__icon {
	display: block;
	width: 50px;
	height: 50px;
	margin-bottom: 20px;
	object-fit: contain;
}

.a4-vn-services__item-title {
	margin: 0 0 16px;
	font-family: var(--a4-font-heading);
	font-size: 28px;
	font-weight: 900;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--a4-color-heading);
}

.a4-vn-services__item--muted .a4-vn-services__item-title {
	color: var(--a4-color-muted);
}

.a4-vn-services__item--primary .a4-vn-services__item-title {
	color: #ffffff;
}

.a4-vn-services__item--primary .a4-vn-services__icon {
	filter: brightness(0) invert(1);
}

.a4-vn-services__item-text {
	font-family: var(--a4-font-body);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--a4-color-text);
}

.a4-vn-services__item--primary .a4-vn-services__item-text {
	color: #ffffff;
}

.a4-vn-services__item-text p {
	margin: 0 0 16px;
}

.a4-vn-services__item-text p:last-child {
	margin-bottom: 0;
}

/* Service tile link */
.a4-vn-services__item-link {
	margin-top: 20px;
}

.a4-vn-services__item-link a {
	position: relative;
	display: inline-block;
	font-family: var(--a4-font-body);
	font-size: 17px;
	font-weight: 400;
	color: var(--a4-color-heading);
	text-decoration: none;
}

.a4-vn-services__item-link a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 100%;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s ease;
}

.a4-vn-services__item-link a:hover::after {
	transform: scaleX(1);
}

/* Services tablet */
@media (min-width: 640px) {
	.a4-vn-services__grid {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.a4-vn-services__column {
		flex: 1 1 calc(50% - 20px);
	}
}

/* Services desktop */
@media (min-width: 960px) {
	.a4-vn-services__column {
		flex: 1 1 0;
	}
}

/* Services responsive */
@media (max-width: 959px) {
	.a4-vn-services__item {
		padding: 20px;
	}

	.a4-vn-services__grid,
	.a4-vn-services__column {
		gap: 20px;
	}
}

@media (max-width: 639px) {
	.a4-vn-services__item--default,
	.a4-vn-services__item--muted,
	.a4-vn-services__item--primary {
		min-height: auto;
	}

	.a4-vn-services__title {
		text-align: left;
	}
}

/* Leistungen - full width image */
.a4-full-image {
	width: 100%;
	margin: 0;
	padding: 0;
}

.a4-full-image img {
	display: block;
	width: 100%;
	height: auto;
}

/* ==========================================================================
   FAQ
   ========================================================================== */

.a4-faq {
	padding: 80px 0;
	background: #f7f7f7;
}

.a4-faq__title {
	margin: 0 0 80px;
	font-family: var(--a4-font-heading);
	font-size: 64px;
	font-weight: 900;
	line-height: 1;
	text-align: center;
	color: var(--a4-color-heading);
}

.a4-faq__items {
	max-width: 1000px;
	margin: 0 auto;
}

.a4-faq__item {
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr);
	column-gap: 34px;
	padding: 22px 0;
}

.a4-faq__label {
	position: relative;
	padding-left: 28px;
	font-family: var(--a4-font-body);
	font-size: 28px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--a4-color-heading);
}

.a4-faq__label::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 0;
	width: 7px;
	height: 26px;
	background: #e4e4e4;
}

.a4-faq__content {
	min-width: 0;
}

.a4-faq__toggle {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 30px;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #6c6d74;
	text-align: left;
	cursor: pointer;
}

.a4-faq__question {
	font-family: var(--a4-font-body);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.35;
}

.a4-faq__icon {
	position: relative;
	display: block;
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
	margin-top: 4px;
}

.a4-faq__icon::before,
.a4-faq__icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background: #6c6d74;
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease;
}

.a4-faq__icon::before {
	width: 12px;
	height: 1px;
}

.a4-faq__icon::after {
	width: 1px;
	height: 12px;
}

.a4-faq__toggle[aria-expanded="true"] .a4-faq__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

/* FAQ hover */
.a4-faq__toggle:hover .a4-faq__question,
.a4-faq__toggle:focus-visible .a4-faq__question {
	color: var(--a4-color-heading);
}

.a4-faq__answer {
	padding-top: 22px;
	font-family: var(--a4-font-body);
	font-size: 17px;
	line-height: 1.55;
	color: var(--a4-color-heading);
}

.a4-faq__answer ul {
	margin: 0;
	padding-left: 30px;
}

.a4-faq__answer p:first-child {
	margin-top: 0;
}

.a4-faq__answer p:last-child {
	margin-bottom: 0;
}

/* FAQ mobile */
@media (max-width: 767px) {
	.a4-faq {
		padding: 50px 0;
	}

	.a4-faq__title {
		margin-bottom: 40px;
		font-size: 42px;
		text-align: left;
	}

	.a4-faq__item {
		grid-template-columns: 1fr;
		row-gap: 18px;
		padding: 24px 0;
	}

	.a4-faq__label {
		font-size: 24px;
	}

	.a4-faq__question,
	.a4-faq__answer {
		font-size: 16px;
	}
}

/* ==========================================================================
   Reusable: Contact CTA
   ========================================================================== */

.a4-contact-cta {
	position: relative;
	padding: 100px 0;
	background-color: #f7f7f7;
	background-image: url("https://konzeptdentalzahnarz5292.live-website.com/wp-content/uploads/2026/10/dreiecke-orange.svg");
	background-repeat: no-repeat;
	background-position: -80px calc(100% + 240px);
	background-size: 490px auto;
	will-change: background-position;
	overflow: hidden;
}

.a4-contact-cta__card {
	position: relative;
	z-index: 2;
	max-width: 750px;
	margin: 0 auto;
	padding: 40px;
	background: #ff6542;
	text-align: center;
	box-sizing: border-box;
}

.a4-contact-cta__title {
	margin: 0;
	color: #ffffff;
	font-family: var(--a4-font-heading);
	font-size: 48px;
	font-weight: 900;
	line-height: 1.1;
	text-transform: uppercase;
}

.a4-contact-cta__text {
	max-width: 680px;
	margin: 24px auto 0;
	color: #ffffff;
	font-family: var(--a4-font-body);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5;
}

.a4-contact-cta__button {
	margin-top: 40px;
	background: rgba(255, 255, 255, 0.15);
	color: #ffffff;
}

.a4-contact-cta__button:hover,
.a4-contact-cta__button:focus {
	background: rgba(255, 255, 255, 0.25);
	color: #ffffff;
}

/* Contact CTA mobile */
@media (max-width: 767px) {
	.a4-contact-cta {
		padding: 60px 0;
		background-position: -120px calc(100% + 160px);
		background-size: 420px auto;
	}

	.a4-contact-cta__card {
		padding: 30px 20px;
	}

	.a4-contact-cta__title {
		font-size: 34px;
	}

	.a4-contact-cta__text {
		font-size: 16px;
	}

	.a4-contact-cta__button {
		margin-top: 30px;
	}
}

/* Global smooth anchor scrolling */
html {
	scroll-behavior: smooth;
	scroll-padding-top: 90px;
}

/* Page Banner - dark text theme */
.a4-hero-legal--dark .a4-hero-legal__eyebrow,
.a4-hero-legal--dark .a4-hero-legal__title,
.a4-hero-legal--dark .a4-hero-legal__text {
	color: var(--a4-color-heading);
}

/* ==========================================================================
   Vollnarkose - Intro Section
   ========================================================================== */

.a4-vn-intro {
	position: relative;
	padding: 90px 0 110px;
	background: #f7f7f7;
	overflow: hidden;
}

.a4-vn-intro .a4-container {
	position: relative;
	z-index: 2;
}

/* Main heading */
.a4-vn-intro__top {
	max-width: 900px;
	margin-bottom: 110px;
}

.a4-vn-intro__title {
	margin: 0;
	font-family: var(--a4-font-body);
	font-size: 70px;
	font-weight: 400;
	line-height: 1.12;
	text-transform: none;
	color: var(--a4-color-heading);
}

/* Main content */
.a4-vn-intro__main {
	position: relative;
	z-index: 2;
	width: calc(100% - 360px);
	max-width: 930px;
}

.a4-vn-intro__subtitle {
	max-width: 900px;
	margin: 0 0 38px;
	font-family: var(--a4-font-heading);
	font-size: 28px;
	font-weight: 900;
	line-height: 1.12;
	text-transform: uppercase;
	color: #b4b5ba;
}

.a4-vn-intro__text {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 55px;
	font-family: var(--a4-font-body);
	font-size: 18px;
	line-height: 1.55;
	color: var(--a4-color-heading);
}

.a4-vn-intro__text p {
	margin: 0 0 22px;
}

.a4-vn-intro__text p:last-child {
	margin-bottom: 0;
}

/* Decorative area */
.a4-vn-intro__decor {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	width: 720px;
	height: 100%;
	pointer-events: none;
}

/* Grey triangles - top right */
.a4-vn-intro__triangles {
	position: absolute;
	z-index: 1;
	top: -180px;
	right: -170px;
	display: block;
	width: 860px;
	max-width: none;
	height: auto;
	pointer-events: none;
}

/* Vollnarkose SVG badge */
.a4-vn-intro__badge {
	position: absolute;
	z-index: 3;
	top: 410px;
	right: 190px;
	display: block;
	width: 270px;
	height: 270px;
	max-width: none;
	object-fit: contain;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	filter: none;
	transform: none;
}

/* Tablet */
@media (max-width: 1199px) {
	.a4-vn-intro__main {
		width: calc(100% - 300px);
	}

	.a4-vn-intro__decor {
		width: 600px;
	}

	.a4-vn-intro__triangles {
		top: -150px;
		right: -190px;
		width: 760px;
	}

	.a4-vn-intro__badge {
		top: 410px;
		right: 130px;
		width: 240px;
		height: 240px;
	}
}

/* Small tablet */
@media (max-width: 959px) {
	.a4-vn-intro {
		padding: 70px 0 80px;
	}

	.a4-vn-intro__top {
		margin-bottom: 70px;
	}

	.a4-vn-intro__title {
		font-size: 52px;
	}

	.a4-vn-intro__main {
		width: calc(100% - 240px);
	}

	.a4-vn-intro__subtitle {
		font-size: 24px;
	}

	.a4-vn-intro__triangles {
		top: -120px;
		right: -210px;
		width: 680px;
	}

	.a4-vn-intro__badge {
		top: 360px;
		right: 80px;
		width: 220px;
		height: 220px;
	}
}

/* Mobile */
@media (max-width: 767px) {
	.a4-vn-intro {
		padding: 50px 0 60px;
	}

	.a4-vn-intro__top {
		margin-bottom: 45px;
	}

	.a4-vn-intro__title {
		font-size: 40px;
		line-height: 1.1;
	}

	.a4-vn-intro__main {
		width: 100%;
	}

	.a4-vn-intro__subtitle {
		margin-bottom: 28px;
		font-size: 24px;
	}

	.a4-vn-intro__text {
		grid-template-columns: 1fr;
		gap: 0;
		font-size: 17px;
	}

	/* Decor wrapper follows the text */
	.a4-vn-intro__decor {
		position: static;
		width: 100%;
		height: auto;
		margin-top: 35px;
	}

	/* Grey triangles stay top-right of the whole section */
	.a4-vn-intro__triangles {
		position: absolute;
		z-index: 1;
		top: 20px;
		right: -170px;
		width: 520px;
		max-width: none;
		height: auto;
	}

	/* Badge centered below the text */
	.a4-vn-intro__badge {
		position: relative;
		z-index: 3;
		top: auto;
		right: auto;
		left: auto;
		display: block;
		width: 190px;
		height: 190px;
		margin: 35px auto 0;
		background: none;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		filter: none;
		transform: none;
	}
}

/* Small mobile */
@media (max-width: 480px) {
	.a4-vn-intro__title {
		font-size: 34px;
	}

	.a4-vn-intro__subtitle {
		font-size: 22px;
	}
}

/* Vollnarkose - doctors quote section */
.a4-vn-doctors {
	position: relative;
	padding: 70px 0 100px;
	background: #f7f7f7;
	overflow: hidden;
}

.a4-vn-doctors__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 90px;
	align-items: center;
}

.a4-vn-doctors__visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 560px;
}

.a4-vn-doctors__image {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	max-width: 610px;
	height: auto;
	border-radius: 28px;
}

.a4-vn-doctors__triangles {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: -145px;
	display: block;
	width: 300px;
	height: 450px;
	object-fit: contain;
	transform: translateY(-50%);
	pointer-events: none;
}

.a4-vn-doctors__content {
	position: relative;
	z-index: 3;
	max-width: 620px;

	opacity: 0;
	transform: translateY(35px);
	transition:
		opacity 0.8s ease,
		transform 0.8s ease;
}

.a4-vn-doctors__visual {
	opacity: 0;
	transform: translateY(35px);
	transition:
		opacity 0.8s ease,
		transform 0.8s ease;
}

.a4-vn-doctors.is-visible .a4-vn-doctors__visual,
.a4-vn-doctors.is-visible .a4-vn-doctors__content {
	opacity: 1;
	transform: translateY(0);
}

.a4-vn-doctors__content {
	transition-delay: 0.12s;
}

.a4-vn-doctors__title {
	margin: 0;
	color: #b7b7bc;
	font-family: var(--a4-font-heading);
	font-size: 38px;
	font-weight: 900;
	line-height: 1.02;
	text-transform: none;
}

.a4-vn-doctors__author {
	margin: 44px 0 0;
	color: #050505;
	font-family: var(--a4-font-body);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5;
}

/* Vollnarkose - doctors quote section tablet */
@media (max-width: 959px) {
	.a4-vn-doctors {
		padding: 60px 0 80px;
	}

	.a4-vn-doctors__grid {
		gap: 50px;
	}

	.a4-vn-doctors__visual {
		min-height: 470px;
	}

	.a4-vn-doctors__triangles {
		left: -110px;
		width: 240px;
		height: 360px;
	}

	.a4-vn-doctors__title {
		font-size: 32px;
	}
}

/* Vollnarkose - doctors quote section mobile */
@media (max-width: 767px) {
	.a4-vn-doctors {
		padding: 50px 0 65px;
	}

	.a4-vn-doctors__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.a4-vn-doctors__visual {
		min-height: 0;
		padding-left: 35px;
	}

	.a4-vn-doctors__image {
		max-width: 100%;
	}

	.a4-vn-doctors__triangles {
		top: 50%;
		left: -90px;
		width: 190px;
		height: 285px;
	}

	.a4-vn-doctors__content {
		max-width: 100%;
	}

	.a4-vn-doctors__title {
		font-size: 30px;
		line-height: 1.08;
	}

	.a4-vn-doctors__author {
		margin-top: 28px;
		font-size: 16px;
	}
}

@media (max-width: 480px) {
	.a4-vn-doctors__title {
		font-size: 27px;
	}
}

/* ==========================================================================
   Vollnarkose - feature sections
   ========================================================================== */

.a4-vn-feature {
	position: relative;
	padding: 70px 0;
	background: #ffffff;
	overflow: hidden;
}

.a4-vn-feature__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 70px;
	align-items: center;
}

.a4-vn-feature__visual {
	position: relative;
	z-index: 1;
}

.a4-vn-feature__image {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	max-width: 610px;
	height: auto;
}

.a4-vn-feature--image-left .a4-vn-feature__image,
.a4-vn-feature--benefits .a4-vn-feature__image {
	margin-left: auto;
}

.a4-vn-feature--image-right .a4-vn-feature__image {
	margin-right: auto;
}

.a4-vn-feature__decor {
	position: absolute;
	z-index: 2;
	display: block;
	height: auto;
	pointer-events: none;
}

/* Vollnarkose - gray triangles */
.a4-vn-feature__decor--gray {
	top: 50%;
	right: -95px;
	width: 200px;
	height: 300px;
/* 	transform: translateY(-50%); */
	transform: translateY(
		calc(-50% + var(--a4-vn-parallax-y, 0px))
	);
}

/* Vollnarkose - turquoise triangles */
.a4-vn-feature__decor--turquoise {
	right: -65px;
	bottom: -80px;
	width: 285px;
	height: 424px;
	transform: translateY(
		var(--a4-vn-parallax-y, 0px)
	);
}

.a4-vn-feature__content {
	position: relative;
	z-index: 3;
	max-width: 620px;
}

.a4-vn-feature__eyebrow {
	margin: 0 0 20px;
	color: #b6b6bb;
	font-family: var(--a4-font-heading);
	font-size: 30px;
	font-weight: 900;
	line-height: 1.08;
	text-transform: uppercase;
}

.a4-vn-feature__title {
	margin: 0 0 22px;
	color: #2c2c31;
	font-family: var(--a4-font-heading);
	font-size: 34px;
	font-weight: 400;
	line-height: 1.15;
	text-transform: none;
}

.a4-vn-feature__text {
	color: #262626;
	font-family: var(--a4-font-body);
	font-size: 18px;
	line-height: 1.55;
}

.a4-vn-feature__text p {
	margin: 0 0 20px;
}

.a4-vn-feature__text p:last-child {
	margin-bottom: 0;
}

.a4-vn-feature__text strong {
	font-weight: 800;
}

.a4-vn-feature__button {
	margin-top: 20px;
}

.a4-vn-feature__lead {
	max-width: 590px;
	margin: 0 0 26px;
	color: #333333;
	font-family: var(--a4-font-body);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.35;
}

.a4-vn-feature__list {
	margin: 0;
	padding: 0;
	list-style: none;
	color: #333333;
	font-family: var(--a4-font-body);
	font-size: 18px;
	line-height: 1.55;
}

.a4-vn-feature__list li {
	position: relative;
	margin-bottom: 12px;
	padding-left: 30px;
}

.a4-vn-feature__list li:last-child {
	margin-bottom: 0;
}

.a4-vn-feature__list li::before {
	content: "✓";
	position: absolute;
	top: 0;
	left: 0;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.4;
	color: #222222;
}


/* Vollnarkose - reveal animation */
.a4-vn-feature__visual,
.a4-vn-feature__content {
	opacity: 0;
	transform: translateY(35px);
	transition:
		opacity 0.8s ease,
		transform 0.8s ease;
}

.a4-vn-feature__content {
	transition-delay: 0.12s;
}

.a4-vn-feature.is-visible .a4-vn-feature__visual,
.a4-vn-feature.is-visible .a4-vn-feature__content {
	opacity: 1;
	transform: translateY(0);
}


/* Vollnarkose - tablet */
@media (max-width: 959px) {
	.a4-vn-feature {
		padding: 60px 0;
	}

	.a4-vn-feature__grid {
		gap: 45px;
	}

	.a4-vn-feature__eyebrow {
		font-size: 26px;
	}

	.a4-vn-feature__title {
		font-size: 29px;
	}

	.a4-vn-feature__decor--gray {
		right: -70px;
		width: 170px;
		height: 255px;
	}

	.a4-vn-feature__decor--turquoise {
		right: -70px;
		bottom: -65px;
		width: 230px;
		height: 342px;
	}
}


/* Vollnarkose - mobile */
@media (max-width: 767px) {
	.a4-vn-feature {
		padding: 45px 0;
	}

	.a4-vn-feature__grid {
		grid-template-columns: 1fr;
		gap: 35px;
	}

	.a4-vn-feature--image-right .a4-vn-feature__content {
		order: 2;
	}

	.a4-vn-feature--image-right .a4-vn-feature__visual {
		order: 1;
	}

	.a4-vn-feature__image {
		width: 100%;
		max-width: 100%;
		margin: 0;
	}

	.a4-vn-feature__content {
		max-width: 100%;
	}

	.a4-vn-feature__eyebrow {
		margin-bottom: 16px;
		font-size: 25px;
	}

	.a4-vn-feature__title {
		margin-bottom: 20px;
		font-size: 28px;
	}

	.a4-vn-feature__text,
	.a4-vn-feature__lead,
	.a4-vn-feature__list {
		font-size: 17px;
	}

	.a4-vn-feature__decor--gray {
		top: 50%;
		right: -55px;
		width: 150px;
		height: 225px;
	}

	.a4-vn-feature__decor--turquoise {
		right: -55px;
		bottom: -60px;
		width: 190px;
		height: 283px;
	}
}

@media (max-width: 480px) {
	.a4-vn-feature__eyebrow {
		font-size: 23px;
	}

	.a4-vn-feature__title {
		font-size: 26px;
	}
}

/* Vollnarkose - info section */
.a4-vn-info {
	padding: 105px 0;
	background: #f7f7f7;
	overflow: hidden;
}

.a4-vn-info__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 120px;
	align-items: start;
}

.a4-vn-info__column {
	opacity: 0;
	transform: translateY(35px);
	transition:
		opacity 0.8s ease,
		transform 0.8s ease;
}

.a4-vn-info__column--right {
	transition-delay: 0.12s;
}

.a4-vn-info.is-visible .a4-vn-info__column {
	opacity: 1;
	transform: translateY(0);
}

.a4-vn-info__title {
	margin: 0 0 8px;
	color: #ec4825;
	font-family: var(--a4-font-heading);
	font-size: 52px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.a4-vn-info__subtitle {
	margin: 0;
	color: #242424;
	font-family: var(--a4-font-heading);
	font-size: 31px;
	font-weight: 400;
	line-height: 1.15;
	text-transform: none;
}

.a4-vn-info__intro {
	max-width: 390px;
	margin: 42px 0 0;
	color: #222222;
	font-family: var(--a4-font-body);
	font-size: 18px;
	line-height: 1.55;
}

.a4-vn-info__text {
	max-width: 570px;
	color: #222222;
	font-family: var(--a4-font-body);
	font-size: 18px;
	line-height: 1.5;
}

.a4-vn-info__text p {
	margin: 0 0 24px;
}

.a4-vn-info__text p:last-child {
	margin-bottom: 0;
}

.a4-vn-info__button {
	margin-top: 36px;
}

/* Vollnarkose - info section tablet */
@media (max-width: 959px) {
	.a4-vn-info {
		padding: 75px 0;
	}

	.a4-vn-info__grid {
		gap: 60px;
	}

	.a4-vn-info__title {
		font-size: 44px;
	}

	.a4-vn-info__subtitle {
		font-size: 28px;
	}
}

/* Vollnarkose - info section mobile */
@media (max-width: 767px) {
	.a4-vn-info {
		padding: 55px 0;
	}

	.a4-vn-info__grid {
		grid-template-columns: 1fr;
		gap: 50px;
	}

	.a4-vn-info__title {
		font-size: 38px;
	}

	.a4-vn-info__subtitle {
		font-size: 27px;
	}

	.a4-vn-info__intro {
		margin-top: 28px;
	}

	.a4-vn-info__text,
	.a4-vn-info__intro {
		font-size: 17px;
	}

	.a4-vn-info__button {
		margin-top: 28px;
	}
}

/* ==========================================================================
   Vollnarkose - anesthesia sections
   ========================================================================== */

.a4-vn-anesthesia {
	position: relative;
	padding: 90px 0;
	background: #F9EEEB;
	overflow: hidden;
}

.a4-vn-anesthesia__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 80px;
	align-items: center;
}

.a4-vn-anesthesia__visual {
	position: relative;
	min-height: 560px;
	display: flex;
	align-items: center;
	justify-content: center;

	opacity: 0;
	transform: translateY(35px);
	transition:
		opacity 0.8s ease,
		transform 0.8s ease;
}

.a4-vn-anesthesia__content {
	position: relative;
	z-index: 3;
	max-width: 610px;

	opacity: 0;
	transform: translateY(35px);
	transition:
		opacity 0.8s ease,
		transform 0.8s ease;
	transition-delay: 0.12s;
}

.a4-vn-anesthesia.is-visible .a4-vn-anesthesia__visual,
.a4-vn-anesthesia.is-visible .a4-vn-anesthesia__content {
	opacity: 1;
	transform: translateY(0);
}

.a4-vn-anesthesia__image {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	max-width: 550px;
	height: auto;
}

.a4-vn-anesthesia__decor {
	position: absolute;
	z-index: 1;
	display: block;
	height: auto;
	pointer-events: none;
	will-change: transform;
}

/* Vollnarkose - turquoise triangles */
.a4-vn-anesthesia__decor--turquoise {
	top: -145px;
	right: -170px;
	width: 602px;
	height: 902px;
	transform: translateY(var(--a4-vn-anesthesia-y, 0px));
}

/* Vollnarkose - orange triangles */
.a4-vn-anesthesia__decor--orange {
	top: 50%;
	right: -120px;
	width: 500px;
	height: 750px;
	transform:
		translateY(
			calc(-50% + var(--a4-vn-anesthesia-y, 0px))
		);
}

.a4-vn-anesthesia__title {
	margin: 0 0 12px;
	color: #ec4825;
	font-family: var(--a4-font-heading);
	font-size: 48px;
	font-weight: 900;
	line-height: 1.05;
	text-transform: uppercase;
}

.a4-vn-anesthesia__subtitle {
	margin: 0 0 18px;
	color: #b7b7bc;
	font-family: var(--a4-font-heading);
	font-size: 29px;
	font-weight: 900;
	line-height: 1.08;
	text-transform: uppercase;
}

.a4-vn-anesthesia__text {
	color: #222222;
	font-family: var(--a4-font-body);
	font-size: 18px;
	line-height: 1.45;
}

.a4-vn-anesthesia__text p {
	margin: 0 0 24px;
}

.a4-vn-anesthesia__text p:last-child {
	margin-bottom: 0;
}

.a4-vn-anesthesia__button {
	margin-top: 36px;
}


/* Vollnarkose - tablet */
@media (max-width: 959px) {
	.a4-vn-anesthesia {
		padding: 70px 0;
	}

	.a4-vn-anesthesia__grid {
		gap: 50px;
	}

	.a4-vn-anesthesia__visual {
		min-height: 480px;
	}

	.a4-vn-anesthesia__title {
		font-size: 40px;
	}

	.a4-vn-anesthesia__subtitle {
		font-size: 25px;
	}

	.a4-vn-anesthesia__decor--turquoise {
		top: -100px;
		right: -140px;
		width: 460px;
		height: auto;
	}

	.a4-vn-anesthesia__decor--orange {
		right: -90px;
		width: 390px;
		height: auto;
	}
}


/* Vollnarkose - mobile */
@media (max-width: 767px) {
	.a4-vn-anesthesia {
		padding: 50px 0;
	}

	.a4-vn-anesthesia__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.a4-vn-anesthesia__visual {
		min-height: 0;
		order: 1;
	}

	.a4-vn-anesthesia__content {
		order: 2;
		max-width: 100%;
	}

	.a4-vn-anesthesia--reverse .a4-vn-anesthesia__visual {
		order: 1;
	}

	.a4-vn-anesthesia--reverse .a4-vn-anesthesia__content {
		order: 2;
	}

	.a4-vn-anesthesia__image {
		width: 100%;
		max-width: 100%;
	}

	.a4-vn-anesthesia__title {
		font-size: 34px;
	}

	.a4-vn-anesthesia__subtitle {
		font-size: 23px;
	}

	.a4-vn-anesthesia__text {
		font-size: 17px;
	}

	.a4-vn-anesthesia__decor--turquoise {
		top: -70px;
		right: -85px;
		width: 290px;
		height: auto;
	}

	.a4-vn-anesthesia__decor--orange {
		right: -70px;
		width: 245px;
		height: auto;
	}

	.a4-vn-anesthesia__button {
		margin-top: 28px;
	}
}

@media (max-width: 480px) {
	.a4-vn-anesthesia__title {
		font-size: 30px;
	}
}

/* Vollnarkose - button icons */
.a4-vn-info__button,
.a4-vn-anesthesia__button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.a4-vn-info__button svg {
	display: block;
	width: 20px;
	height: 20px;
	fill: currentColor;
	flex: 0 0 20px;
}

/* ==========================================================================
   Vollnarkose - video section
   ========================================================================== */

.a4-vn-video {
	position: relative;
	z-index: 2;
	padding: 55px 0 45px;
	background: #ffffff;
	overflow: visible;
}

.a4-vn-video .a4-container {
	position: relative;
}

.a4-vn-video__title {
	position: relative;
	z-index: 3;
	max-width: 900px;
	margin: 0 auto 55px;
	color: #ec4825;
	font-family: var(--a4-font-heading);
	font-size: 31px;
	font-weight: 400;
	line-height: 1.15;
	text-align: center;
	text-transform: none;
}

/* Vollnarkose - video shadow */
.a4-vn-video__embed {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	aspect-ratio: 16 / 9;
	box-shadow: none;
}

.a4-vn-video__embed::after {
	content: "";
	position: absolute;
	bottom: -30px;
	left: 0;
	right: 0;
	z-index: -1;
	height: 30px;
	border-radius: 100%;
	background: #444;
	filter: blur(20px);
	will-change: filter;
}

.a4-vn-video__embed iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.a4-vn-video__decor {
	position: absolute;
	z-index: 1;
	display: block;
	height: auto;
	pointer-events: none;
	will-change: transform;
}

/* Vollnarkose - video orange triangles */
.a4-vn-video__decor--orange {
	left: calc((100vw - var(--a4-container-max)) / -2);
	bottom: -230px;
	width: 450px;
	height: 675px;
	transform: translateY(var(--a4-vn-parallax-y, 0px));
}

/* Vollnarkose - video gray triangles */
.a4-vn-video__decor--gray {
	top: 0;
	right: -260px;
	width: 400px;
	height: 600px;
	transform: translateY(var(--a4-vn-parallax-y, 0px));
}

.a4-vn-video__quote {
	position: relative;
	z-index: 3;
	max-width: 900px;
	margin: 42px auto 0;
	padding: 0;
	border: 0;
	text-align: center;
}

.a4-vn-video__quote p {
	margin: 0;
	color: #242424;
	font-family: var(--a4-font-body);
	font-size: 20px;
	line-height: 1.5;
}

.a4-vn-video__quote cite {
	display: block;
	margin-top: 20px;
	color: #777777;
	font-family: var(--a4-font-body);
	font-size: 14px;
	font-style: italic;
}


/* ==========================================================================
   Vollnarkose - detailed information section
   ========================================================================== */

.a4-vn-details {
	position: relative;
	z-index: 1;
	padding: 110px 0 90px;
	background: #f8efec;
	overflow: hidden;
}

.a4-vn-details__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.4fr);
	gap: 100px;
	align-items: start;
}

.a4-vn-details__title {
	max-width: 420px;
	margin: 0;
	color: #b7b7bc;
	font-family: var(--a4-font-heading);
	font-size: 36px;
	font-weight: 900;
	line-height: 1.05;
	text-transform: none;
}

.a4-vn-details__lead {
	margin: 25px 0 0;
	color: #222222;
	font-family: var(--a4-font-body);
	font-size: 19px;
	line-height: 1.5;
}

.a4-vn-details__button {
	margin-top: 35px;
}

.a4-vn-details__items {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.a4-vn-details__item {
	display: grid;
	grid-template-columns: 130px minmax(0, 1fr);
	gap: 20px;
	align-items: start;
}

.a4-vn-details__item h3 {
	margin: 0;
	color: #222222;
	font-family: var(--a4-font-body);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.45;
	text-transform: none;
}

.a4-vn-details__item p {
	margin: 0;
	color: #222222;
	font-family: var(--a4-font-body);
	font-size: 18px;
	line-height: 1.5;
}


/* Vollnarkose - tablet */
@media (max-width: 959px) {
	.a4-vn-video__decor--orange {
		left: -180px;
		width: 340px;
		height: auto;
	}

	.a4-vn-video__decor--gray {
		right: -170px;
		width: 300px;
		height: auto;
	}

	.a4-vn-details {
		padding: 85px 0 70px;
	}

	.a4-vn-details__grid {
		gap: 55px;
	}

	.a4-vn-details__title {
		font-size: 31px;
	}
}


/* Vollnarkose - mobile */
@media (max-width: 767px) {
	.a4-vn-video {
		padding: 45px 0 40px;
	}

	.a4-vn-video__title {
		margin-bottom: 35px;
		font-size: 26px;
	}

	.a4-vn-video__decor--orange {
		left: -110px;
		bottom: -120px;
		width: 220px;
		height: auto;
	}

	.a4-vn-video__decor--gray {
		top: 80px;
		right: -90px;
		width: 180px;
		height: auto;
	}

	.a4-vn-video__quote {
		margin-top: 30px;
	}

	.a4-vn-video__quote p {
		font-size: 17px;
	}

	.a4-vn-details {
		padding: 80px 0 55px;
	}

	.a4-vn-details__grid {
		grid-template-columns: 1fr;
		gap: 50px;
	}

	.a4-vn-details__title {
		max-width: 100%;
		font-size: 29px;
	}

	.a4-vn-details__item {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.a4-vn-details__item h3,
	.a4-vn-details__item p {
		font-size: 17px;
	}
}

/* FAQ - remove empty paragraphs from WYSIWYG */
.a4-faq__answer p:empty {
	display: none;
}

/* ==========================================================================
   Angstpatienten - intro video section
   ========================================================================== */

.a4-ap-video {
	position: relative;
	padding: 95px 0 90px;
	background: #f7f7f7;
	overflow: visible;
}

.a4-ap-video .a4-container {
	position: relative;
	z-index: 2;
}

.a4-ap-video__title {
	position: relative;
	z-index: 3;
	max-width: 650px;
	margin: 0 0 55px;
	color: #29292e;
	font-family: var(--a4-font-heading);
	font-size: 38px;
	font-weight: 400;
	line-height: 1.12;
	text-transform: none;
}

.a4-ap-video__embed {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	aspect-ratio: 16 / 9;
}

.a4-ap-video__embed iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Angstpatienten - video bottom shadow */
.a4-ap-video__embed::after {
	content: "";
	position: absolute;
	bottom: -30px;
	left: 0;
	right: 0;
	z-index: -1;
	height: 30px;
	border-radius: 100%;
	background: #444;
	filter: blur(20px);
	will-change: filter;
}

/* Angstpatienten - gray triangles */
.a4-ap-video__triangles {
	position: absolute;
	top: 40px;
    right: -415px;
	z-index: 1;
	display: block;
	width: 602px;
	height: 902px;
	pointer-events: none;
	will-change: transform;
	transform: translateY(var(--a4-ap-video-y, 0px));
}

/* Angstpatienten - reveal */
.a4-ap-video__title,
.a4-ap-video__embed {
	opacity: 0;
	transform: translateY(35px);
	transition:
		opacity 0.8s ease,
		transform 0.8s ease;
}

.a4-ap-video__embed {
	transition-delay: 0.12s;
}

.a4-ap-video.is-visible .a4-ap-video__title,
.a4-ap-video.is-visible .a4-ap-video__embed {
	opacity: 1;
	transform: translateY(0);
}

/* Angstpatienten - tablet */
@media (max-width: 959px) {
	.a4-ap-video {
		padding: 75px 0;
	}

	.a4-ap-video__title {
		font-size: 34px;
	}

	.a4-ap-video__triangles {
		top: -50px;
		right: -230px;
		width: 460px;
		height: auto;
	}
}

/* Angstpatienten - mobile */
@media (max-width: 767px) {
	.a4-ap-video {
		padding: 55px 0 65px;
	}

	.a4-ap-video__title {
		max-width: 100%;
		margin-bottom: 35px;
		font-size: 29px;
	}

	.a4-ap-video__triangles {
		top: 20px;
		right: -150px;
		width: 300px;
		height: auto;
	}
}

@media (max-width: 480px) {
	.a4-ap-video__title {
		font-size: 27px;
	}
}

/* Page Banner - text weight */
.a4-hero-legal__text {
	font-weight: 400;
}

.a4-hero-legal__text strong {
	font-weight: 700;
}

/* Angstpatienten - video shadow */
.a4-ap-video__embed::after {
	content: "";
	position: absolute;
	bottom: -30px;
	left: 0;
	right: 0;
	z-index: -1;
	height: 30px;
	border-radius: 100%;
	background: #444;
	filter: blur(20px);
	will-change: filter;
}

/* ==========================================================================
   Angstpatienten - Konzeptdental intro section
   ========================================================================== */

.a4-ap-intro {
	padding: 85px 0 95px;
	background: #f7f7f7;
	overflow: hidden;
}

.a4-ap-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 80px;
	align-items: start;
}

.a4-ap-intro__title {
	margin: 0 0 45px;
	color: #ec4825;
	font-family: var(--a4-font-heading);
	font-size: 52px;
	font-weight: 900;
	line-height: 1.05;
	text-transform: uppercase;
}

.a4-ap-intro__text {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 45px;
	color: #222222;
	font-family: var(--a4-font-body);
	font-size: 18px;
	line-height: 1.5;
}

.a4-ap-intro__text p {
	margin: 0 0 24px;
}

.a4-ap-intro__text p:last-child {
	margin-bottom: 0;
}

.a4-ap-intro__badge-wrap {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	width: 270px;
	height: 270px;
	margin-top: -25px;
}

.a4-ap-intro__badge-wrap::after {
	content: "";
	position: absolute;
	bottom: -30px;
	left: 0;
	right: 0;
	z-index: 0;
	height: 30px;
	border-radius: 100%;
	background: #444;
	filter: blur(20px);
	will-change: filter;
}

.a4-ap-intro__badge {
	position: relative;
	z-index: 1;
	display: block;
	width: 270px;
	height: 270px;
	object-fit: contain;
}

/* Angstpatienten - tablet */
@media (max-width: 959px) {
	.a4-ap-intro {
		padding: 70px 0 80px;
	}

	.a4-ap-intro__grid {
		grid-template-columns: minmax(0, 1fr) 220px;
		gap: 45px;
	}

	.a4-ap-intro__title {
		font-size: 44px;
	}

	.a4-ap-intro__badge-wrap,
	.a4-ap-intro__badge {
		width: 220px;
		height: 220px;
	}
}

/* Angstpatienten - mobile */
@media (max-width: 767px) {
	.a4-ap-intro {
		padding: 55px 0 65px;
	}

	.a4-ap-intro__grid {
		grid-template-columns: 1fr;
		gap: 45px;
	}

	.a4-ap-intro__title {
		margin-bottom: 30px;
		font-size: 36px;
	}

	.a4-ap-intro__text {
		grid-template-columns: 1fr;
		gap: 0;
		font-size: 17px;
	}

	.a4-ap-intro__badge-wrap {
		width: 190px;
		height: 190px;
		margin: 0 auto;
	}

	.a4-ap-intro__badge {
		width: 190px;
		height: 190px;
	}
}

/* ==========================================================================
   Angstpatienten - doctor sections
   ========================================================================== */

.a4-ap-doctor {
	position: relative;
	padding: 90px 0;
	background: #f7f7f7;
	overflow: visible;
}

.a4-ap-doctor__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 80px;
	align-items: center;
}

.a4-ap-doctor__visual {
	position: relative;
	z-index: 1;
}

.a4-ap-doctor__image {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	max-width: 610px;
	height: auto;
}

.a4-ap-doctor__decor {
	position: absolute;
	z-index: 3;
	display: block;
	height: auto;
	pointer-events: none;
	will-change: transform;
}

/* Angstpatienten - Zelener orange triangles */
.a4-ap-doctor__decor--orange {
	top: 50%;
	left: -90px;
	width: 300px;
	height: 450px;
	transform:
		translateY(
			calc(-50% + var(--a4-vn-parallax-y, 0px))
		);
}

/* Angstpatienten - Wiebeck turquoise triangles */
.a4-ap-doctor__content {
	position: relative;
	z-index: 4;
	max-width: 610px;
}

.a4-ap-doctor__title {
	margin: 0 0 10px;
	color: #ec4825;
	font-family: var(--a4-font-heading);
	font-size: 52px;
	font-weight: 900;
	line-height: 1.02;
	text-transform: uppercase;
}

.a4-ap-doctor__subtitle {
	margin: 0 0 15px;
	color: #b7b7bc;
	font-family: var(--a4-font-heading);
	font-size: 28px;
	font-weight: 900;
	line-height: 1.08;
	text-transform: uppercase;
}

.a4-ap-doctor__text {
	color: #222222;
	font-family: var(--a4-font-body);
	font-size: 18px;
	line-height: 1.5;
}

.a4-ap-doctor__text p {
	margin: 0 0 20px;
}

.a4-ap-doctor__button {
	margin-top: 16px;
}

/* Angstpatienten - doctors mobile */
@media (max-width: 767px) {
	.a4-ap-doctor {
		padding: 50px 0;
	}

	.a4-ap-doctor__grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 35px;
	}

	.a4-ap-doctor__visual,
	.a4-ap-doctor__content {
		width: 100%;
		max-width: 100%;
	}

	.a4-ap-doctor__image {
		display: block;
		width: 100%;
		max-width: 100%;
		height: auto;
		margin: 0;
	}

	.a4-ap-doctor__content {
		position: relative;
		z-index: 4;
	}

	.a4-ap-doctor__title {
		font-size: 34px;
	}

	.a4-ap-doctor__subtitle {
		font-size: 21px;
	}

	.a4-ap-doctor__text {
		font-size: 17px;
	}

	.a4-ap-doctor__decor--orange {
		left: -35px;
		width: 180px;
		height: auto;
	}

	/* Reverse doctor section - image first, text second */
	.a4-ap-doctor--reverse .a4-ap-doctor__visual {
		order: 1;
	}

	.a4-ap-doctor--reverse .a4-ap-doctor__content {
		order: 2;
	}
}


/* ==========================================================================
   Angstpatienten - Vollnarkose teaser
   ========================================================================== */

.a4-ap-anxiety {
	position: relative;
	padding: 90px 0;
	background: #ffffff;
	overflow: visible;
}

.a4-ap-anxiety__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 70px;
	align-items: center;
}

.a4-ap-anxiety__visual {
	position: relative;
	z-index: 2;
}

.a4-ap-anxiety__image {
	display: block;
	width: 100%;
	max-width: 610px;
	height: auto;
	position: relative;
	z-index: 2;
}

/* Angstpatienten - gray triangles on image */
.a4-ap-anxiety__triangles-gray {
	position: absolute;
	top: 50%;
	right: -100px;
	z-index: 3;
	display: block;
	width: 200px;
	height: 300px;
	pointer-events: none;
	will-change: transform;
	transform: translateY(
		calc(-50% + var(--a4-vn-parallax-y, 0px))
	);
}

.a4-ap-anxiety__content {
	position: relative;
	z-index: 3;
	max-width: 610px;
}

/* Angstpatienten - turquoise background triangles */
.a4-ap-anxiety__triangles-turquoise {
	position: absolute;
	top: -230px;
	right: -240px;
	z-index: -1;
	display: block;
	width: 602px;
	height: 902px;
	pointer-events: none;
	will-change: transform;
	transform: translateY(
		var(--a4-vn-parallax-y, 0px)
	);
}

.a4-ap-anxiety__eyebrow {
	margin: 0 0 14px;
	color: #b7b7bc;
	font-family: var(--a4-font-heading);
	font-size: 28px;
	font-weight: 900;
	line-height: 1.08;
	text-transform: uppercase;
}

.a4-ap-anxiety__title {
	margin: 0 0 24px;
	color: #2c2c31;
	font-family: var(--a4-font-heading);
	font-size: 34px;
	font-weight: 400;
	line-height: 1.15;
}

.a4-ap-anxiety__text {
	color: #222222;
	font-family: var(--a4-font-body);
	font-size: 18px;
	line-height: 1.55;
}

.a4-ap-anxiety__text p {
	margin: 0 0 22px;
}

.a4-ap-anxiety__text p:last-child {
	margin-bottom: 0;
}

.a4-ap-anxiety__button {
	margin-top: 28px;
}


/* Angstpatienten - tablet */
@media (max-width: 959px) {
	.a4-ap-anxiety {
		padding: 70px 0;
	}

	.a4-ap-anxiety__grid {
		gap: 45px;
	}

	.a4-ap-anxiety__eyebrow {
		font-size: 24px;
	}

	.a4-ap-anxiety__title {
		font-size: 30px;
	}

	.a4-ap-anxiety__triangles-gray {
		right: -70px;
		width: 160px;
		height: 240px;
	}

	.a4-ap-anxiety__triangles-turquoise {
		top: -170px;
		right: -170px;
		width: 450px;
		height: auto;
	}
}


/* Angstpatienten - mobile */
@media (max-width: 767px) {
	.a4-ap-anxiety {
		padding: 50px 0;
	}

	.a4-ap-anxiety__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.a4-ap-anxiety__image,
	.a4-ap-anxiety__content {
		max-width: 100%;
	}

	.a4-ap-anxiety__eyebrow {
		font-size: 21px;
	}

	.a4-ap-anxiety__title {
		font-size: 28px;
	}

	.a4-ap-anxiety__text {
		font-size: 17px;
	}

	.a4-ap-anxiety__triangles-gray {
		right: -45px;
		width: 120px;
		height: 180px;
	}

	.a4-ap-anxiety__triangles-turquoise {
		top: -80px;
		right: -100px;
		width: 300px;
		height: auto;
	}
}

/* ==========================================================================
   Angstpatienten - treatment under general anesthesia
   ========================================================================== */

.a4-ap-treatment {
	position: relative;
	padding: 90px 0;
	background: #ffffff;
	overflow: visible;
}

.a4-ap-treatment__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 70px;
	align-items: center;
}

.a4-ap-treatment__content {
	position: relative;
	z-index: 3;
	max-width: 610px;
}

.a4-ap-treatment__eyebrow {
	margin: 0 0 20px;
	color: #b7b7bc;
	font-family: var(--a4-font-heading);
	font-size: 28px;
	font-weight: 900;
	line-height: 1.08;
	text-transform: uppercase;
}

.a4-ap-treatment__title {
	margin: 0 0 24px;
	color: #2c2c31;
	font-family: var(--a4-font-heading);
	font-size: 34px;
	font-weight: 400;
	line-height: 1.15;
	text-transform: none;
}

.a4-ap-treatment__text {
	color: #222222;
	font-family: var(--a4-font-body);
	font-size: 18px;
	line-height: 1.55;
}

.a4-ap-treatment__text p {
	margin: 0 0 22px;
}

.a4-ap-treatment__text p:last-child {
	margin-bottom: 0;
}

.a4-ap-treatment__text strong {
	font-weight: 800;
}

.a4-ap-treatment__button {
	margin-top: 30px;
}

.a4-ap-treatment__visual {
	position: relative;
	z-index: 2;
}

.a4-ap-treatment__image {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	max-width: 610px;
	height: auto;
}

/* Angstpatienten - turquoise triangles */
.a4-ap-treatment__triangles {
	position: absolute;
	right: -55px;
	bottom: -105px;
	z-index: 3;
	display: block;
	width: 285px;
	height: 428px;
	pointer-events: none;
	will-change: transform;
	transform: translateY(var(--a4-vn-parallax-y, 0px));
}


/* ==========================================================================
   Angstpatienten - dental rehabilitation
   ========================================================================== */

.a4-ap-rehab {
	position: relative;
	padding: 90px 0;
	background: #ffffff;
	overflow: hidden;
}

.a4-ap-rehab__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
	gap: 70px;
	align-items: center;
}

.a4-ap-rehab__content {
	position: relative;
	z-index: 2;
}

.a4-ap-rehab__eyebrow {
	margin: 0 0 18px;
	color: #222222;
	font-family: var(--a4-font-body);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.3;
	text-transform: uppercase;
}

.a4-ap-rehab__title {
	max-width: 700px;
	margin: 0 0 42px;
	color: #b7b7bc;
	font-family: var(--a4-font-heading);
	font-size: 30px;
	font-weight: 900;
	line-height: 1.08;
	text-transform: uppercase;
}

.a4-ap-rehab__columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 55px;
	max-width: 720px;
	color: #222222;
	font-family: var(--a4-font-body);
	font-size: 18px;
	line-height: 1.55;
}

.a4-ap-rehab__lead {
	margin: 0 0 24px;
	color: #2c2c31;
	font-family: var(--a4-font-heading);
	font-size: 31px;
	font-weight: 400;
	line-height: 1.15;
	text-transform: none;
}

.a4-ap-rehab__columns p {
	margin: 0 0 22px;
}

.a4-ap-rehab__columns p:last-child {
	margin-bottom: 0;
}

.a4-ap-rehab__button {
	margin-top: 35px;
}

.a4-ap-rehab__visual {
	position: relative;
}

.a4-ap-rehab__image {
	display: block;
	width: 100%;
	max-width: 520px;
	height: auto;
	margin-left: auto;
}


/* Angstpatienten - tablet */
@media (max-width: 959px) {
	.a4-ap-treatment,
	.a4-ap-rehab {
		padding: 70px 0;
	}

	.a4-ap-treatment__grid,
	.a4-ap-rehab__grid {
		gap: 45px;
	}

	.a4-ap-treatment__eyebrow {
		font-size: 24px;
	}

	.a4-ap-treatment__title {
		font-size: 30px;
	}

	.a4-ap-treatment__triangles {
		right: -45px;
		bottom: -80px;
		width: 220px;
		height: auto;
	}

	.a4-ap-rehab__title {
		font-size: 27px;
	}

	.a4-ap-rehab__lead {
		font-size: 27px;
	}

	.a4-ap-rehab__columns {
		gap: 35px;
	}
}


/* Angstpatienten - mobile */
@media (max-width: 767px) {
	.a4-ap-treatment,
	.a4-ap-rehab {
		padding: 50px 0;
	}

	.a4-ap-treatment__grid,
	.a4-ap-rehab__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.a4-ap-treatment__visual {
		order: 1;
	}

	.a4-ap-treatment__content {
		order: 2;
	}

	.a4-ap-treatment__image,
	.a4-ap-rehab__image {
		max-width: 100%;
		margin: 0;
	}

	.a4-ap-treatment__eyebrow {
		font-size: 21px;
	}

	.a4-ap-treatment__title {
		font-size: 28px;
	}

	.a4-ap-treatment__text,
	.a4-ap-rehab__columns {
		font-size: 17px;
	}

	.a4-ap-treatment__triangles {
		right: -35px;
		bottom: -55px;
		width: 160px;
		height: auto;
	}

	.a4-ap-rehab__title {
		margin-bottom: 30px;
		font-size: 24px;
	}

	.a4-ap-rehab__columns {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.a4-ap-rehab__lead {
		font-size: 27px;
	}

	.a4-ap-rehab__button {
		margin-top: 28px;
	}
}

/* Global section reveal animation */
[data-vn-reveal] > .a4-container {
	opacity: 0;
	transform: translateY(35px);
	transition:
		opacity 0.8s ease,
		transform 0.8s ease;
}

[data-vn-reveal].is-visible > .a4-container {
	opacity: 1;
	transform: translateY(0);
}

/* ==========================================================================
   Angstpatienten - support video section
   ========================================================================== */

.a4-ap-support {
	position: relative;
	padding: 70px 0 90px;
	background: #ffffff;
	overflow: visible;
}

.a4-ap-support .a4-container {
	position: relative;
	z-index: 2;
}

.a4-ap-support__title {
	position: relative;
	z-index: 3;
	margin: 0 0 55px;
	color: #2c2c31;
	font-family: var(--a4-font-heading);
	font-size: 70px;
	font-weight: 400;
	line-height: 1.05;
	text-align: center;
	text-transform: none;
}

.a4-ap-support__video {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	aspect-ratio: 16 / 9;
}

.a4-ap-support__video iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Angstpatienten - video bottom shadow */
.a4-ap-support__video::after {
	content: "";
	position: absolute;
	bottom: -30px;
	left: 0;
	right: 0;
	z-index: -1;
	height: 30px;
	border-radius: 100%;
	background: #444;
	filter: blur(20px);
	will-change: filter;
}

.a4-ap-support__decor {
	position: absolute;
	z-index: 1;
	display: block;
	height: auto;
	pointer-events: none;
	will-change: transform;
}

/* Angstpatienten - orange triangles */
.a4-ap-support__decor--orange {
	left: calc(50% - 50vw);
	top: 240px;
	width: 450px;
	height: 675px;
	transform: translateY(var(--a4-vn-parallax-y, 0px));
}

/* Angstpatienten - gray triangles */
.a4-ap-support__decor--gray {
	right: calc(50% - 50vw);
	top: 20px;
	width: 400px;
	height: 600px;
	transform: translateY(var(--a4-vn-parallax-y, 0px));
}

.a4-ap-support__columns {
	position: relative;
	z-index: 3;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 100px;
	margin-top: 110px;
}

.a4-ap-support__subtitle {
	margin: 0 0 24px;
	color: #b7b7bc;
	font-family: var(--a4-font-heading);
	font-size: 28px;
	font-weight: 900;
	line-height: 1.08;
	text-transform: uppercase;
}

.a4-ap-support__list {
	margin: 0;
	padding: 0;
	list-style: none;
	color: #222222;
	font-family: var(--a4-font-body);
	font-size: 18px;
	line-height: 1.55;
}

.a4-ap-support__list li {
	position: relative;
	margin-bottom: 14px;
	padding-left: 30px;
}

.a4-ap-support__list li:last-child {
	margin-bottom: 0;
}

.a4-ap-support__list li::before {
	content: "✓";
	position: absolute;
	top: 0;
	left: 0;
	color: #222222;
	font-size: 18px;
	line-height: 1.55;
}

.a4-ap-support__cta {
	position: relative;
	z-index: 3;
	max-width: 650px;
	margin: 45px auto 0;
	text-align: center;
}

.a4-ap-support__cta-title {
	margin: 0;
	color: #2c2c31;
	font-family: var(--a4-font-heading);
	font-size: 34px;
	font-weight: 400;
	line-height: 1.15;
	text-transform: none;
}

.a4-ap-support__button {
	margin-top: 35px;
}


/* Angstpatienten - tablet */
@media (max-width: 959px) {
	.a4-ap-support {
		padding: 60px 0 75px;
	}

	.a4-ap-support__title {
		font-size: 52px;
	}

	.a4-ap-support__decor--orange {
		width: 340px;
		height: auto;
	}

	.a4-ap-support__decor--gray {
		width: 300px;
		height: auto;
	}

	.a4-ap-support__columns {
		gap: 55px;
		margin-top: 90px;
	}

	.a4-ap-support__subtitle {
		font-size: 24px;
	}

	.a4-ap-support__cta-title {
		font-size: 30px;
	}
}


/* Angstpatienten - mobile */
@media (max-width: 767px) {
	.a4-ap-support {
		padding: 50px 0 60px;
	}

	.a4-ap-support__title {
		margin-bottom: 35px;
		font-size: 38px;
	}

	.a4-ap-support__decor--orange {
		left: -110px;
		top: 180px;
		width: 220px;
		height: auto;
	}

	.a4-ap-support__decor--gray {
		right: -90px;
		top: 40px;
		width: 180px;
		height: auto;
	}

	.a4-ap-support__columns {
		grid-template-columns: 1fr;
		gap: 45px;
		margin-top: 75px;
	}

	.a4-ap-support__subtitle {
		font-size: 21px;
	}

	.a4-ap-support__list {
		font-size: 17px;
	}

	.a4-ap-support__cta {
		margin-top: 40px;
	}

	.a4-ap-support__cta-title {
		font-size: 28px;
	}
}

/* ==========================================================================
   Angstpatienten - testimonials slider
   ========================================================================== */

.a4-angst-testimonials {
	position: relative;
	padding: 70px 0 60px;
	background: #f8efec;
	overflow: hidden;
}

.a4-angst-testimonials__title {
	max-width: 760px;
	margin: 0 auto 40px;
	color: #ec4825;
	font-family: var(--a4-font-heading);
	font-size: 31px;
	font-weight: 900;
	line-height: 1.05;
	text-align: center;
	text-transform: uppercase;
}

.a4-angst-testimonials__slider {
	position: relative;
	max-width: 650px;
	margin: 0 auto;
}

.a4-angst-testimonials__track {
	position: relative;
	min-height: 500px;
}

.a4-angst-testimonials__slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	transform: translateX(35px);
	transition:
		opacity 0.5s ease,
		transform 0.5s ease,
		visibility 0.5s ease;
	text-align: center;
}

.a4-angst-testimonials__slide.is-active {
	position: relative;
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
}

.a4-angst-testimonials__photo {
	display: block;
	width: 150px;
	height: 150px;
	margin: 0 auto 20px;
	border-radius: 50%;
	object-fit: cover;
}

.a4-angst-testimonials__name {
	margin: 0;
	color: #ec4825;
	font-family: var(--a4-font-heading);
	font-size: 20px;
	font-weight: 900;
	line-height: 1.2;
	text-transform: none;
}

.a4-angst-testimonials__stars {
	margin-top: 25px;
	color: #ec4825;
	font-family: var(--a4-font-body);
	font-size: 20px;
	line-height: 1;
	letter-spacing: 1px;
}

.a4-angst-testimonials__quote {
	max-width: 520px;
	margin: 25px auto 0;
	padding: 0;
	border: 0;
	color: #ec4825;
	font-family: var(--a4-font-body);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.3;
	text-align: center;
}

.a4-angst-testimonials__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-top: 25px;
}

.a4-angst-testimonials__dot {
	display: block;
	width: 10px;
	height: 10px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.55);
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		transform 0.2s ease;
}

.a4-angst-testimonials__dot.is-active {
	background: #ffffff;
	transform: scale(1.15);
}


/* Angstpatienten - testimonials mobile */
@media (max-width: 767px) {
	.a4-angst-testimonials {
		padding: 55px 0 50px;
	}

	.a4-angst-testimonials__title {
		margin-bottom: 35px;
		font-size: 25px;
	}

	.a4-angst-testimonials__track {
		min-height: 470px;
	}

	.a4-angst-testimonials__photo {
		width: 120px;
		height: 120px;
	}

	.a4-angst-testimonials__name {
		font-size: 19px;
	}

	.a4-angst-testimonials__quote {
		font-size: 18px;
		line-height: 1.35;
	}
}

/* Angstpatienten - testimonials drag */
.a4-angst-testimonials__track {
	cursor: grab;
	touch-action: pan-y;
	user-select: none;
}

.a4-angst-testimonials__track.is-dragging {
	cursor: grabbing;
}

/* ==========================================================================
   VN Gallery
   ========================================================================== */

.a4-vn-gallery {
	position: relative;
	padding: 70px 0 60px;
	background: #ffffff;
	overflow: hidden;
}

.a4-vn-gallery__title {
	margin: 0 0 40px;
	color: #ec4825;
	font-family: var(--a4-font-heading);
	font-size: 52px;
	font-weight: 900;
	line-height: 1.05;
	text-align: center;
	text-transform: uppercase;
}

.a4-vn-gallery__slider {
	position: relative;
	width: 100%;
	overflow: hidden;
	cursor: grab;
	touch-action: pan-y;
	user-select: none;
}

.a4-vn-gallery__slider.is-dragging {
	cursor: grabbing;
}

.a4-vn-gallery__track {
	display: flex;
	gap: 10px;
	will-change: transform;
}

.a4-vn-gallery__slide {
	flex: 0 0 calc(33.333333% - 6.666px);
	min-width: 0;
}

.a4-vn-gallery__image {
	display: block;
	width: 100%;
	height: 500px;
	object-fit: cover;
	pointer-events: none;
	user-select: none;
}


/* VN Gallery - arrows */
.a4-vn-gallery__arrow {
	position: absolute;
	top: 50%;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 100px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: 0;
	line-height: 1;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-50%);
	transition:
		opacity 0.25s ease,
		visibility 0.25s ease;
}

.a4-vn-gallery__slider:hover .a4-vn-gallery__arrow {
	opacity: 1;
	visibility: visible;
}

.a4-vn-gallery__arrow::before {
	content: "";
	display: block;
	width: 22px;
	height: 22px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
}

.a4-vn-gallery__arrow--prev {
	left: 8px;
}

.a4-vn-gallery__arrow--prev::before {
	transform: rotate(-135deg);
}

.a4-vn-gallery__arrow--next {
	right: 8px;
}

.a4-vn-gallery__arrow--next::before {
	transform: rotate(45deg);
}


/* VN Gallery - tablet */
@media (max-width: 959px) {
	.a4-vn-gallery__title {
		font-size: 42px;
	}

	.a4-vn-gallery__slide {
		flex: 0 0 calc(50% - 5px);
	}

	.a4-vn-gallery__image {
		height: 420px;
	}
}


/* VN Gallery - mobile */
@media (max-width: 767px) {
	.a4-vn-gallery {
		padding: 50px 0;
	}

	.a4-vn-gallery__title {
		margin-bottom: 30px;
		font-size: 32px;
	}

	.a4-vn-gallery__slide {
		flex: 0 0 100%;
	}

	.a4-vn-gallery__image {
		height: auto;
		aspect-ratio: 4 / 3;
		object-fit: cover;
	}

	.a4-vn-gallery__arrow {
		width: 48px;
		height: 80px;
		opacity: 1;
		visibility: visible;
	}

	.a4-vn-gallery__arrow::before {
		width: 18px;
		height: 18px;
	}
}

/* Danke Page */
.a4-thank-you {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 560px;
	padding: 80px 20px;
	text-align: center;
	background: #fff;
}

.a4-thank-you__inner {
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
}

.a4-thank-you__title {
	margin: 0 0 24px;
	font-size: 72px;
	line-height: 1;
	font-weight: 700;
	color: #2f3035;
}

.a4-thank-you__text {
	margin: 0 0 80px;
	font-size: 34px;
	line-height: 1.35;
	font-weight: 400;
	color: #6c6d74;
}

/* Danke Page */
.a4-thank-you {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 560px;
	padding: 80px 20px;
	text-align: center;
}

.a4-thank-you__inner {
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
}

.a4-thank-you__title {
	margin: 0 0 24px;
	font-size: 72px;
	line-height: 1;
	font-weight: 700;
}

.a4-thank-you__text {
	margin: 0 0 80px;
	font-size: 34px;
	line-height: 1.35;
	color: #6c6d74;
}

@media (max-width: 767px) {
	.a4-thank-you {
		min-height: 440px;
		padding: 60px 20px;
	}

	.a4-thank-you__title {
		font-size: 48px;
	}

	.a4-thank-you__text {
		margin-bottom: 50px;
		font-size: 24px;
	}
}

/* ==========================================================================
   Salesforce Termin Form
   ========================================================================== */

.a4-termin-form-wrap {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 22px 18px 20px;
	border: 1px solid #9d9d9d;
	background: transparent;
	box-sizing: border-box;
}

.salesforce-form {
	width: 100%;
}

.salesforce-form form {
	width: 100%;
	margin: 0;
}

.salesforce-form__field-group {
	margin: 0 0 12px;
}

.salesforce-form__field {
	min-width: 0;
}


/* ==========================================================================
   Salesforce Form - Select
   ========================================================================== */

.salesforce-form__select {
	margin-bottom: 14px;
}

.salesforce-form .salesforce-form__select-label {
	display: block;
	position: static;
	width: auto;
	height: auto;
	margin: 0 0 8px;
	padding: 0;
	clip: auto;
	clip-path: none;
	overflow: visible;
	white-space: normal;
	color: #222222;
	font-family: var(--a4-font-heading);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	text-transform: uppercase;
}

.salesforce-form__field-group-select-wrap {
	position: relative;
	width: 100%;
}

.salesforce-form__field-group-select-wrap::before {
	content: none !important;
	display: none !important;
}

.salesforce-form__field-group-select-wrap::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 16px;
	width: 7px;
	height: 7px;
	border-right: 1px solid #333333;
	border-bottom: 1px solid #333333;
	transform: translateY(-70%) rotate(45deg);
	pointer-events: none;
}

.salesforce-form select {
	display: block;
	width: 100%;
	height: 44px;
	margin: 0;
	padding: 0 40px 0 10px;
	border: 0;
	border-bottom: 1px solid #dedede;
	border-radius: 0;
	background: transparent;
	background-image: none !important;
	box-shadow: none;
	color: #6c6d74;
	font-family: var(--a4-font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 44px;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	box-sizing: border-box;
	cursor: pointer;
	transition: border-color 0.2s ease;
}

.salesforce-form select::-ms-expand {
	display: none;
}


/* ==========================================================================
   Salesforce Form - Hidden Labels
   ========================================================================== */

.salesforce-form__field-group > label:not(.salesforce-form__select-label),
.salesforce-form__field > label {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(100%);
	white-space: nowrap;
	overflow: hidden;
}


/* ==========================================================================
   Salesforce Form - Inputs
   ========================================================================== */

.salesforce-form input[type="text"],
.salesforce-form input[type="tel"],
.salesforce-form input[type="email"],
.salesforce-form textarea {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0 10px;
	border: 0;
	border-bottom: 1px solid #dedede;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: #6c6d74;
	font-family: var(--a4-font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	outline: none;
	box-sizing: border-box;
	transition: border-color 0.2s ease;
}

.salesforce-form input[type="text"],
.salesforce-form input[type="tel"],
.salesforce-form input[type="email"] {
	height: 44px;
}

.salesforce-form textarea {
	min-height: 90px;
	padding-top: 8px;
	padding-bottom: 8px;
	resize: vertical;
}

.salesforce-form input::placeholder,
.salesforce-form textarea::placeholder {
	color: #b4b4b8;
	opacity: 1;
}

.salesforce-form input[type="text"]:hover,
.salesforce-form input[type="tel"]:hover,
.salesforce-form input[type="email"]:hover,
.salesforce-form input[type="text"]:focus,
.salesforce-form input[type="tel"]:focus,
.salesforce-form input[type="email"]:focus,
.salesforce-form textarea:hover,
.salesforce-form textarea:focus,
.salesforce-form select:hover,
.salesforce-form select:focus {
	outline: none;
	border-bottom-color: #ff911c;
}


/* ==========================================================================
   Salesforce Form - First Name / Last Name
   ========================================================================== */

.salesforce-form__name {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 12px;
}

.salesforce-form__name .salesforce-form__field {
	width: 100%;
	min-width: 0;
}


/* ==========================================================================
   Salesforce Form - Privacy Checkbox
   ========================================================================== */

.salesforce-form__additional-acceptance-checkbox {
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr);
	column-gap: 10px;
	row-gap: 5px;
	align-items: start;
	width: 100%;
	margin: 20px 0 28px;
	padding: 0;
	box-sizing: border-box;
}

.salesforce-form__additional-acceptance-checkbox-input {
	display: block !important;
	position: relative !important;
	width: 32px !important;
	height: 32px !important;
	min-width: 32px !important;
	min-height: 32px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #adadad !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	box-sizing: border-box;
}

.salesforce-form__additional-acceptance-checkbox-input:checked {
	border-color: #e74922 !important;
	background: #e74922 !important;
}

.salesforce-form__additional-acceptance-checkbox-input:checked::after {
	content: "";
	position: absolute;
	top: 5px;
	left: 10px;
	display: block;
	width: 7px;
	height: 14px;
	border-right: 2px solid #ffffff;
	border-bottom: 2px solid #ffffff;
	transform: rotate(45deg);
}

.salesforce-form__additional-acceptance-checkbox-label {
	display: block;
	margin: 0;
	padding: 5px 0 0;
	color: #5f6065;
	font-family: var(--a4-font-heading);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	text-transform: uppercase;
	cursor: pointer;
}


/* ==========================================================================
   Salesforce Form - Validation
   ========================================================================== */

.salesforce-form__error {
	display: none;
	margin-top: 5px;
	color: #e74922;
	font-family: var(--a4-font-body);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
	text-transform: none;
}

.salesforce-form__field-group.is-invalid > .salesforce-form__error,
.salesforce-form__field.is-invalid > .salesforce-form__error,
.salesforce-form__additional-acceptance-checkbox.is-invalid > .salesforce-form__error {
	display: block;
}

.salesforce-form input.is-invalid,
.salesforce-form textarea.is-invalid,
.salesforce-form select.is-invalid {
	border-bottom-color: #e74922 !important;
}

.salesforce-form__additional-acceptance-checkbox.is-invalid
.salesforce-form__additional-acceptance-checkbox-input {
	border-color: #e74922 !important;
}

.salesforce-form__additional-acceptance-checkbox .salesforce-form__error {
	grid-column: 1 / -1;
	margin-top: 0;
}


/* ==========================================================================
   Salesforce Form - Submit Button
   ========================================================================== */

.salesforce-form input[type="submit"].salesforce-form__submit {
	display: inline-block !important;
	width: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 20px !important;
	border: 5px solid transparent !important;
	border-radius: var(--a4-radius-button) !important;
	background-color: var(--a4-color-primary) !important;
	color: #ffffff !important;
	font-family: var(--a4-font-body);
	font-size: 17px !important;
	font-weight: 500 !important;
	line-height: 24px !important;
	text-align: center;
	text-decoration: none;
	box-shadow: none !important;
	cursor: pointer;
	transform: none !important;
	transition: 0.15s ease-in-out;
	transition-property: color, background-color, border-color;
}

.salesforce-form input[type="submit"].salesforce-form__submit:hover,
.salesforce-form input[type="submit"].salesforce-form__submit:focus,
.salesforce-form input[type="submit"].salesforce-form__submit:active {
	width: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	height: auto !important;
	padding: 0 20px !important;
	border: 5px solid transparent !important;
	background-color: var(--a4-color-primary-hover) !important;
	color: #ffffff !important;
	box-shadow: none !important;
	transform: none !important;
}

.salesforce-form input[type="submit"].salesforce-form__submit:disabled {
	opacity: 1;
	cursor: pointer;
}


/* ==========================================================================
   Salesforce Termin Form - Responsive
   ========================================================================== */

@media (max-width: 767px) {
	.a4-termin-form-wrap {
		padding: 18px 14px;
	}

	.salesforce-form__name {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.salesforce-form__additional-acceptance-checkbox {
		grid-template-columns: 28px minmax(0, 1fr);
		column-gap: 10px;
	}

	.salesforce-form__additional-acceptance-checkbox-input {
		width: 28px !important;
		height: 28px !important;
		min-width: 28px !important;
		min-height: 28px !important;
	}

	.salesforce-form__additional-acceptance-checkbox-input:checked::after {
		top: 4px;
		left: 9px;
	}

	.salesforce-form__additional-acceptance-checkbox-label {
		padding-top: 3px;
		font-size: 12px;
	}
}

/* Salesforce Form - reCAPTCHA */
.salesforce-form__recaptcha {
	margin: 0 0 20px;
}

.salesforce-form__recaptcha .salesforce-form__error {
	display: none;
	margin-top: 5px;
}

.salesforce-form__recaptcha.is-invalid .salesforce-form__error {
	display: block;
}