/*
Theme Name: ag-theme
Template: twentytwentyfive
Version: 1.0
Text Domain: ag-theme
*/

/* *** NAVIGATION *** */
/* Mobile-Menü-Icon in Twenty Twenty-Five umgestalten */

:root {
	--menu-bar-thickness: 4px;
	--menu-bar-color-dark: #d7aa02;
	--menu-bar-color-light: #e6ca79;
}

h1 {
	word-break: normal !important;
	overflow-wrap: break-word !important;
	hyphens: none !important;
	/*overflow-wrap: break-word!important;*/
}

/* Global Padding */
.wp-block-post-content > div,
.editor-styles-wrapper .wp-block-post-content > div {
    padding-inline: clamp(0.5rem, 2vw, 2rem);
}

.wp-site-blocks :focus:not(:focus-visible) {
	outline: none;
}

.wp-block-navigation a:hover {
	text-decoration: none;
	opacity: 0.8;
}

.wp-block-navigation__responsive-container-open {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
	width: 48px;
	height: 34px;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
}
/* obere Linie */
.wp-block-navigation__responsive-container-open::before {
	content: "";
	display: block;
	width: 75%;
	height: var(--menu-bar-thickness);
	border-radius: 1px;
	background-color: var(--menu-bar-color-dark);
}
/* mittlere Linie: das Standard-SVG wird umfunktioniert */
.wp-block-navigation__responsive-container-open svg {
	display: block;
	width: 75%;
	height: var(--menu-bar-thickness);
	margin-left: 15%;
	border-radius: 1px;
	background-color: var(--menu-bar-color-light);
	padding: 0;
}
.wp-block-navigation__responsive-container-open svg path,
.wp-block-navigation-overlay-close svg {
	display: none;
}
/* untere Linie */
.wp-block-navigation__responsive-container-open::after {
	content: "";
	display: block;
	width: 75%;
	margin-left: 35%;
	height: var(--menu-bar-thickness);
	border-radius: 1px;
	background-color: var(--menu-bar-color-dark);
}
/*SVG-Icon im Schließen-Button ausblenden */
.wp-block-navigation-overlay-close svg,
.wp-block-navigation-overlay-close.wp-block-navigation-overlay-close svg {
	display: none !important;
}

/* Schließen-Button als Positionierungs-Container */
.wp-block-navigation-overlay-close {
	position: relative;
	width: 34px;
	height: 34px;
	min-width: 34px;
	min-height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* X nachbauen aus zwei diagonalen Balken */
.wp-block-navigation-overlay-close::before,
.wp-block-navigation-overlay-close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 28px;
	height: var(--menu-bar-thickness);
	background-color: var(--menu-bar-color-dark);
	border-radius: 1px;
}
.wp-block-navigation-overlay-close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}
.wp-block-navigation-overlay-close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0);
	z-index: 100;
}

.entry-content .alignfull > div {
	max-width: 2200px;
	margin: 0 auto;
}

:where(.wp-site-blocks) > * {
	margin-block-start: 0;
}

/* Submenue */
:root :where(.wp-block-navigation-submenu) {
	color: var(--wp--preset--color--contrast) !important;
}

.wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg {
	stroke: var(--wp--preset--color--contrast);
}

.wp-block-navigation .wp-block-navigation-item.has-child {
	position: relative;
}

.wp-block-navigation .wp-block-navigation__submenu-container {
	border: 1px solid rgba(215, 171, 0, 0.22);
	border-radius: 12px;
	padding: 0.5rem;
	min-width: 270px;
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.45);
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 0.15s,
		transform 0.15s,
		visibility 0.15s;
	z-index: 100;
}

.wp-block-navigation
	.wp-block-navigation-item.has-child:hover
	> .wp-block-navigation__submenu-container,
.wp-block-navigation
	.wp-block-navigation-item.has-child:focus-within
	> .wp-block-navigation__submenu-container {
	opacity: 1;
	visibility: visible;
}

@media (min-width: 1010px) {
	.wp-block-navigation
		.wp-block-navigation-item.has-child:hover
		> .wp-block-navigation__submenu-container {
		transform: translate(25%, 0);
	}
}

.wp-block-navigation__submenu-container .wp-block-navigation-item {
	display: block;
	width: 100%;
}

.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block;
	font-family: "Archivo", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.03em;
	text-transform: none;
	padding: 0.6rem 0.8rem;
	border-radius: 3px;
	text-decoration: none;
	white-space: nowrap;
	transition:
		background 0.2s,
		color 0.2s;
}

.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content:hover,
.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content:focus {
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--contrast);
}

/* Footer */
/* Pfeil-Icon im Elternelement optional ausblenden/stylen */
.wp-block-navigation
	.wp-block-navigation-item.has-child
	.wp-block-navigation__submenu-icon {
	color: var(--wp--preset--color--contrast);
	vertical-align: middle;
}

@media (max-width: 786px) {
	.wp-container-core-group-is-layout-cf54d0a6 {
		justify-content: center;
		text-align: center;
	}
}

/* Mobile / Overlay-Menü Anpassung */
@media (max-width: 920px) {
	.wp-block-navigation .wp-block-navigation__submenu-container {
		position: static;
		transform: none;
		opacity: 1;
		visibility: visible;
		box-shadow: none;
		border: none;
		background: transparent;
		padding-left: 1rem;
		display: none;
	}
	.wp-block-navigation
		.wp-block-navigation-item.has-child.open
		> .wp-block-navigation__submenu-container {
		display: block;
	}
}

/* Current Page */
.wp-block-navigation
	.wp-block-navigation-item__content.wp-block-navigation-item__content[aria-current="page"] {
	color: var(--wp--preset--color--custom-hellbraun);
}

/* Breakpoint Mobile */
/* 1. Standard-Verhalten ab 600px zurücksetzen (Desktop-Menü nicht mehr zeigen) */
/* Zwischen 600px und 944px: mobil erzwingen (überschreibt WP-Standard) */
@media (min-width: 600px) and (max-width: 1009px) {
	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(
			.is-menu-open
		) {
		display: none;
	}
}

/* Ab 945px: Desktop-Menü aktivieren */
@media (min-width: 1010px) {
	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: none;
	}
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(
			.is-menu-open
		) {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: var(--wp--style--block-gap, 2rem);
		width: 100%;
		position: relative;
		z-index: auto;
		background-color: inherit;
	}
	.nav-container {
		flex-direction: row-reverse;
	}
	.wp-container-core-group-is-layout-ebcc7d55 {
		justify-content: flex-start;
	}
}

/* Startseite */
.count-list {
	list-style: none;
	counter-reset: item;
	padding-left: 0px;
}

.count-list li {
	counter-increment: item;
	padding-left: 60px;
}

.count-list li::before {
	content: counter(item) "";
	font-weight: bold;
	position: absolute;
	color: var(--wp--preset--color--custom-hellbraun);
	background-color: var(--wp--preset--color--accent-2);
	left: 20px;
	width: 35px;
	display: grid;
	place-items: center;
	aspect-ratio: 1/1;
	border-radius: 8px;
}

@media (min-width: 786px) {
	.logos {
		flex-wrap: nowrap;
	}
}

/* Block Container Stiles */

.info-container {
	border: 1px solid #d6ab0020;
	transition: all 0.2s;
}

.info-container:hover {
	border: 1px solid #d6ab00;
	translate: 0 -2px;
	transition: all 0.2s;
}

/*.steps-container {
 	border: 1px solid var(--wp--preset--color--custom-hellgrau);
  	border-width: 0 0 1px 0;
}*/

/*@media (min-width: 780px) {
	.steps-container {
		 border-width: 0 1px 0 0;
	}
}*/

/* Footer Sticky */
/*.wp-site-blocks {
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-height: 100vh;
}*/

/* Listen */

/*.wp-site-blocks .entry-content ul {
	list-style: none;
	padding-left: 0;
}

.wp-site-blocks .entry-content ul li {
	position: relative;
	padding-left: 1.5em;
}

.wp-site-blocks .entry-content ul li::before {
  	content: "+";
   	position: absolute;
    left: 0;
    color: var(--wp--preset--color--accent-1);
}*/

.wp-block-button:hover {
	opacity: 0.9;
}

/* Jetpack */

.wp-block-jetpack-contact-form
	:is(.wp-block-button, .wp-block-jetpack-button)
	.wp-block-button__link {
	min-height: 20px;
	padding: 1rem 2rem !important;
}

.wp-block-jetpack-contact-form
	:is(.wp-block-button, .wp-block-jetpack-button)
	.wp-block-button__link:hover {
	background-color: var(--wp--preset--color--accent-1);
	opacity: 0.9;
	color: var(--wp--preset--color--accent-4);
}

.contact-form-submission h4 {
	color: #fff;
}

/*CF7*/

.wpcf7 .wpcf7-form-control-wrap input,
.wpcf7 .wpcf7-form-control-wrap textarea,
.wpcf7 .wpcf7-form-control-wrap select {
	width: 100%;
	border-radius: 10px;
	border: 1px solid var(--wp--preset--color--custom-kontur);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--accent-3);
	font-size: 1rem;
	padding: 1rem;
	box-sizing: border-box;
}

.wpcf7 .wpcf7-form-control-wrap input:focus,
.wpcf7 .wpcf7-form-control-wrap textarea:focus,
.wpcf7 .wpcf7-form-control-wrap select:focus {
	border-color: var(--wp--preset--color--accent-1);
	outline: none !important;
}

.wpcf7 .wpcf7-form-control-wrap textarea {
	resize: vertical;
}

.wpcf7 label,
.wpcf7 input.wpcf7-submit {
	font-size: 0.9rem;
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
	margin-bottom: 1.1rem;
}

.wpcf7 input.wpcf7-submit {
	width: 200px;
	padding: 1rem;
	border-radius: 4px;
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--accent-3);
	border: none;
	letter-spacing: 0;
	font-weight: 700;
	cursor: pointer;
	border-radius: 15px;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: none !important;
}

.wpcf7-not-valid-tip {
	letter-spacing: 0;
	font-size: 1.1em;
	text-transform: none;
}

.wpcf7 .accept {
	display: flex;
	font-size: 0.9em;
	width: 100%;
	max-width: 700px;
	gap: 1rem;
	justify-content: space-between;
}
.wpcf7 textarea,
.wpcf7 label,
.wpcf7 input.wpcf7-submit,
.wpcf7 .accept {
	font-family: var(--wp--preset--font-family--archivo);
}

.wpcf7 .accept input {
	max-width: 20px;
}
