/**
 * Theme Name:     Twenty Twenty-Five BAS
 * Author:         the WordPress team
 * Template:       twentytwentyfive
 * Text Domain:	   twenty-twenty-five-bas
 * Description:    Twenty Twenty-Five for sheila-bachmann.ch
 */
/* RL251201 */

/*** Variables ***/
:root { /* BAS */
	--color-focus-outline: hsl(24 51% 80% / 1);
	/*--color-focus-outline: transparent;/*debug*/
	--color-focus-outline-fade: hsl(24 51% 80% / 0);
	--color-accent-1: #a66236;
	--border-radius: 0.5rem;
	--border-radius-img: 1rem;
}
:root { /* ZBP */
	/* Palette
	--wp--preset--color--contrast: #111177;
	--wp--preset--color--accent-1: #ffd29c; neu: ffdb9e
	--wp--preset--color--accent-2: #11117700;
	--wp--preset--color--accent-3: #ffd29c00;
	--wp--preset--color--accent-4: #686868;
	--wp--preset--color--accent-5: #FBFAF3;
	--wp--preset--color--accent-6: color-mix(in srgb, currentColor 20%, transparent);
	*/
	--color-decoration: var(--wp--preset--color--accent-1);
	--color-decoration-footer: var(--wp--preset--color--base);
	--color-decoration-fade: var(--wp--preset--color--accent-3);
}

/* FadeIn for containers */
/*.wp-site-blocks,*/ /*main {
	opacity: 0;
	animation: fadeIn 0.2s ease-in 0s forwards;
}
@keyframes fadeIn {
	0% { opacity: 0; }
	100% { opacity: 1; }
}
!* fade out: plugin *!
.fade-out main {
	opacity: 1;
	animation: fadeOut 0.1s ease-in 0s forwards;
}
@keyframes fadeOut {
	0% { opacity: 1; }
	100% { opacity: 0; }
}*/

.hero {
	opacity: 0;
	animation: fadeIn 0.3s ease-in 0s forwards;
}
@keyframes fadeIn {
	0% { opacity: 0; }
	100% { opacity: 1; }
}
html { scrollbar-gutter: stable; }
body { overflow-y: scroll; }
:where(.wp-site-blocks) > * { margin-block-start: 0 !important; }
/* Hyphenation RL250427 */
p, div, h2, h3, h4, h5, h6, li { hyphens: auto; hyphenate-limit-chars: 9 3 4; }
a { hyphens: none; white-space: nowrap; }
h1, h2, h3, h4, h5, h6 { text-wrap: balance; }
h1 { margin-bottom: 1.5em; }
a span { padding: 0 2px; }
nav a span { padding: 0 6px; }
strong { font-weight: 400; }
/*.extra-strong { font-weight: 700; letter-spacing: 0.5px; }*/
.has-text-align-center strong { font-size: 110%; }
:where(.wp-site-blocks *:focus) { outline-color: transparent !important; }
:where(.wp-site-blocks a:not(.wp-block-navigation-item__content):focus) {
	outline-width: 1px !important;
	border-radius: var(--border-radius);
	outline-style: dashed !important;
}
:where(.wp-site-blocks *:focus span) {
	border-radius: var(--border-radius);
	outline-width: 3px !important;
	outline-style: solid;
	outline-color: var(--color-decoration);
	/*outline-color: transparent; /*debug*/
	outline-offset: 1px;
	animation: focus-fade 3s ease forwards;
	animation-delay: 0s;
}
.site-25 footer :where(.wp-site-blocks *:focus span) {
	outline-color: var(--color-decoration-footer);/*debug*/
	animation: focus-fade-footer 3s ease forwards;/*debug*/
}
nav a, nav a:hover { text-decoration: none; }
.no-deco, .no-deco > a { text-decoration: none !important; }

/* Focus visibility: fade outline to transparent after 3s */
@keyframes focus-fade {
	0% { outline-color: var(--color-decoration-fade); }
	10% { outline-color: var(--color-decoration); }
	70% { outline-color: var(--color-decoration); }
	100% { outline-color: var(--color-decoration-fade); }
}
@keyframes focus-fade-footer {
	0% { outline-color: var(--color-decoration-fade); }
	10% { outline-color: var(--color-decoration-footer); }
	70% { outline-color: var(--color-decoration-footer); }
	100% { outline-color: var(--color-decoration-fade); }
}
@media (prefers-reduced-motion: reduce) {
	:where(.wp-site-blocks *:focus) { animation: none; }
}
/* Margins */
:root {
	--pv-space-s: clamp(0.75rem, calc(0.75vw + 0.58rem), 1.24rem);
	--pv-space-m: clamp(0.94rem, calc(1.25vw + 0.66rem), 1.75rem);
	--pv-space-l: clamp(1.17rem, calc(2vw + 0.72rem), 2.47rem);
	--pv-space-xl: clamp(1.47rem, calc(3.13vw + 0.76rem), 3.5rem);
}
.mt-0 { margin-top: 0 !important; }
.mt-s { margin-top: var(--pv-space-s) !important; }
.mt-m { margin-top: var(--pv-space-m) !important; }
.mt-l { margin-top: var(--pv-space-l) !important; }
.mt-xl { margin-top: var(--pv-space-xl) !important; }
.mb-0 { margin-bottom: 0 !important; }
.mb-s { margin-bottom: var(--pv-space-s) !important; }
.mb-m { margin-bottom: var(--pv-space-m) !important; }
.mb-l { margin-bottom: var(--pv-space-l) !important; }
.mb-xl { margin-bottom: var(--pv-space-xl) !important; }
.ml-0 { margin-left: 0 !important; }
.mr-0 { margin-right: 0 !important; }
.m-0-auto { margin: 0 auto !important; }
.m-l-auto { margin: var(--pv-space-l) auto !important; }
.m-xl-auto { margin: var(--pv-space-xl) auto !important; }
/* Paddings */
.p-0 { padding: 0 !important; }
.pt-0 { padding-top: 0 !important; }
.pb-0 { padding-bottom: 0 !important; }
.p-m { padding: var(--pv-space-m) !important; }
.p-l { padding: var(--pv-space-l) !important; }
.p-xl { padding: var(--pv-space-xl) !important; }

/*** Navigation ***/
/* Off Canvas */
.wp-block-navigation__responsive-container a.wp-block-navigation-item__content { text-align: center; }
/* Footer */
/* Footer to bottom */
html, body, .wp-site-blocks {
	height: 100%;
	margin: 0;
}
footer svg {
	display: block;
	bottom: -1px;
	position: relative;
}
.wp-site-blocks {
	flex-direction: column;
	min-height: 100vh;
}
main { flex: 1; /* take up remaining space */ }
:root :where(.wp-block-columns-is-layout-flex) { column-gap: var(--wp--preset--spacing--50); }
nav .logo { display: none !important; }

/*** Elements ***/
:root :where(.wp-block-file a:not(.wp-element-button) ) { padding-left: 0; }

a.term-link {
	pointer-events: none !important;
	text-decoration: none;
}
main a, a:hover, span.wp-block-navigation-item__label {
	text-decoration-color: var(--color-decoration);
	/*text-decoration-thickness: 1px !important;*/
}
main a:hover, a:hover,
:root :where(a:where(:not(.wp-element-button)):hover) {
	text-decoration-line: underline;
	text-decoration-thickness: 2px !important;
}
.current-menu-item, a.current-menu-ancestor {
	text-decoration-line: underline;
	text-decoration-color: var(--color-decoration);
	text-decoration-thickness: 2px !important;
}
.wp-block-site-title {
	top: -0.1em;
	position: relative;
	line-height: 1;
}
.hometitle { font-size: clamp(1.481rem, -0.247rem + 8.64vw, 3.625rem) !important; }
.wp-block-site-tagline { margin-top: 0; }
main {
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position-y: 20px;
}
main:has(.wp-block-cover) {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
.site-25 footer::before {
	content: "";
	background-image: url('https://sheila-bachmann.ch/wp-content/uploads/sites/25/2025/12/178025194_XL-Rosen-blur.png');
	background-size: contain;
	background-position-y: bottom;
	background-repeat: no-repeat;
	height: 100vh;
	display: block;
	position: absolute;
	bottom: 80%;
	width: 100vw;
	max-width: 1140px;
	z-index: -1;
	left: 50%;
	transform: translateX(-50%);
}

/* Banner */
.wdb-svg-clip-image {
	/*margin-bottom: -10vw;*/
	z-index: 1;
	margin-top: calc(0px - 14vw) !important;
	height: 48vw;
}
.scib .scib__frame { height: 100%; }
.scib .scib__inner {
	-webkit-mask-position: 0 0;
	mask-position: 0 7vw;
	background-position-y: 72%;
	height: 100%;
}
@media (min-width: 1600px) {
	.wdb-svg-clip-image { margin-bottom: -14vw; margin-top: calc(0px - 20vw) !important; }
}
@media (min-width: 2200px) {
	.wdb-svg-clip-image { margin-bottom: -14vw; margin-top: calc(0px - 26vw) !important; }
}

main .wp-block-image img {
	/*border-radius: 100% 6px / 22% 6px;*/
	border-radius: var(--border-radius-img);
}
.ueber-mich-grid {
	grid-template-columns: 2fr 1fr;
	align-items: start;
}

/* Clipped banner and footer */
header {
	position: relative;
	z-index: 2;
	background-color: #fff;
	border-bottom: 1px solid transparent;
}
svg#header-mask { position: absolute; }
.home .scib { display: none; }
.home .wp-block-cover {
	padding-bottom: calc(7rem + 8vw) !important;
	margin-top: calc(-16rem + 6vw) !important;
}
.home .wp-block-cover h2 { font-weight: 500; }
.home .wp-block-cover p { font-weight: 300; }
.home .wp-block-cover h2, .home .wp-block-cover h3, .home .wp-block-cover p { text-shadow: 0 0 0.8rem black; }
main {
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 12vw;
	padding-bottom: 16vw;
}
.page-id-712 main { padding: 0; }
footer {
	top: -12vw;
	position: relative;
}
/** Grosse Maske **/
.wdb-svg-clip-image {
	margin-top: calc(0px - 38vw) !important;
	height: 66vw;
}
.scib .scib__inner {
	display: block;
	width: 100%;
	height: var(--scib-height, 320px);
	background-image: var(--scib-image);
	background-repeat: no-repeat;
	-webkit-mask-image: var(--scib-mask);
	mask-image: var(--scib-mask);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-mask-position: var(--scib-mask-position, center);
	mask-position: var(--scib-mask-position, center);
}
.scib .scib__inner {
	-webkit-mask-position: 0 0;
	mask-position: 0 0;
	background-position-y: 12vw;
	height: 100%;
}
main {
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 14vw;
	padding-bottom: 19vw;
}
.wp-block-group-is-layout-grid ul.wp-block-list { padding-left: 1.5em; }
:root :where(.is-layout-grid) { gap: 2rem; }
footer ul.wp-block-navigation { row-gap: 0.5rem; text-align: right; align-items: end; }
footer span { white-space: nowrap; }
.page-404 { padding-bottom: 16vw !important; }
@media (max-width: 600px) {
	nav .logo {
		display: block !important;
		position: fixed !important;
		font-style: normal;
		font-size: var(--wp--preset--font-size--xx-large) !important;
		font-weight: 200;
		text-decoration: none !important;
		letter-spacing: 1px;
		line-height: 1;
		bottom: 3em;
		left: 0;
	}
	nav .logo a:hover { text-decoration: none !important; }
}
@media (max-width: 769px) {
	.mobile-hidden { display: none !important; }
	.home .wp-block-cover { margin-bottom: 0 !important; }
	.home .entry-content p:first-of-type { /*margin-top: 0 !important;*/ }
	.wdb-svg-clip-image { margin-top: -30vw !important; }
	main {
		padding-top: 18vw;
		padding-bottom: 30vw;
	}
	ul.wp-block-list { padding-left: 1.5em; }
	.ueber-mich-grid {
		grid-template-columns: 1fr;
		row-gap: 4rem;
	}
	.ueber-mich-grid figure.wp-block-image {
		max-width: 20rem;
		margin-bottom: 3rem;
	}
	/*footer ul.wp-block-navigation { row-gap: 0; }*/
	.wp-container-core-group-is-layout-570722b2 {
		align-self: end;
		margin: 1em 0 0 auto !important;
	}
	footer .wp-block-spacer { margin: 0; }
	footer > div:first-of-type { padding-top: var(--wp--preset--spacing--80) !important; }
}
@media (min-width: 1600px) {
	main {
		padding-top: 12vw;
		padding-bottom: 15vw;
	}
}
@media (min-width: 2200px) {
	main {
		padding-top: 10vw;
		padding-bottom: 13vw;
	}
}

/*** Footer ***/
footer p {
	font-size: var(--wp--preset--font-size--medium);
	margin-block-start: 1em !important;
}
footer a:hover { text-decoration-color: #fff; }
.copyright p { margin: 0 !important; }

/*** Utilities ***/
.hidden { display: none !important; }
.max-width-1024 { max-width: 1024px; }
.max-width-1200 { max-width: 1200px; }
.width-100, figure.width-100 img { width: 100%; }
.center-margin { margin: 0 auto; }
.center-text { text-align: center; }

/*** Page specific ***/
.site-27.page-id-465 figure.wp-block-post-featured-image img { object-position: 0 70%; } /* ? */
.site-27.page-id-467 .scib .scib__inner { background-position-y: 12vw !important; } /* Ueber mich */

/*** Site specific ***/
.current-menu-item { text-decoration: none; }
main a { text-decoration-color: var(--color-decoration); }
main li a { padding: 0; }
.wp-block-navigation-link a {
	text-decoration-color: var(--color-decoration-fade);
	transition: text-decoration-color 0.5s ease;
}
.current-menu-item a, .wp-block-navigation-link a:hover,
a.current-menu-ancestor, a:hover {
	text-decoration-line: underline;
	text-decoration-color: var(--color-decoration);
	text-decoration-thickness: 2px !important;
	text-underline-position: under;
	/*transition: text-decoration-color 0.15s ease;*/
}
.current-menu-item a:focus, a.current-menu-ancestor:focus {
	text-decoration-color: var(--color-decoration);
	animation: underline-fade 3s ease forwards;
	animation-delay: 0s;
}
/* Focus visibility: unfade underline from transparent after 3s */
@keyframes underline-fade {
	0% { text-decoration-color: var(--color-decoration); }
	5% { text-decoration-color: transparent; }
	70% { text-decoration-color: transparent; }
	100% { text-decoration-color: var(--color-decoration); }
}
@media (prefers-reduced-motion: reduce) {
	.current-menu-item a:focus, a.current-menu-ancestor:focus { animation: none; }
}

.fade-out, .fade-out footer {
	.current-menu-item a:focus, a.current-menu-ancestor:focus,
	.current-menu-item a:hover, a.current-menu-ancestor:hover,
	.wp-block-navigation-link a:hover
	a:hover {
		/*text-decoration-color: transparent !important;*/
		text-decoration: none !important;
		transition: none !important;
		text-decoration-thickness: 0 !important;
		/*animation: none;*/
	}
}
.is-menu-open ul, .is-menu-open li, .is-menu-open a { width: 100%; }

/* Footer */
footer {
	--color-decoration: var(--wp--preset--color--base);
	--color-decoration-fade: transparent;
	.current-menu-item a, .wp-block-navigation-link a:hover,
	a.current-menu-ancestor, a:hover {
		text-decoration-thickness: 2px !important;
	}
	main a, span.wp-block-navigation-item__label { padding: 0 0.4rem 0.06rem  !important; }
}

/* Hero */
main { padding-top: 0 !important; }
.mask-top img {
	border-radius: 0;
	position: absolute;
	top: -0.5px;
	left: -0.5px;
}
/* Home hero */
.hero {
	overflow: hidden;
	margin-bottom: calc(0px - clamp(-2rem, -10.104rem + 8.358vw, 3rem)) !important;
/*	h2.has-xx-large-font-size { font-size: clamp(3rem, 3.1rem + 2.407vw, 5.375rem) !important; }
	h2.has-x-large-font-size { font-size: clamp(1.75rem, 1.269rem + 2.407vw, 3.375rem) !important; }
	h3.has-x-large-font-size {
		font-size: calc(clamp(1.75rem, 1.269rem + 2.407vw, 3.375rem) * 0.8 ) !important;
		padding-top: 0.3rem;
	}
	h3.has-large-font-size { font-size: clamp(1.25rem, 1.139rem + 0.556vw, 1.625rem) !important; }
	h3.sub-sub-title { margin: 0; }*/
}
.page-id-2 main > .hero { display: none; } /* Home has its own hero*/
/*in functions.php -> inline - RL251218 ausgesetzt*/
.home .wp-block-cover, figure.mask-top {
	margin-top: 0 !important;
	padding-top: 3em !important;
	margin-bottom: -1px !important; /* avoid image leak */
	align-items: start;
	height: clamp(25rem, 13.785rem + 10.408vw, 32rem) !important;
	min-height: 0 !important;
	width: 100vw;
	mask-position: 0 100%;
	mask-image: url("mask-top-exclude.svg"), linear-gradient(black, black);
	mask-composite: exclude;
	mask-repeat: no-repeat;
	overflow: hidden;
}

/* Other Heros */
figure.mask-top {
	/*min-height: 0 !important;*/
	/*max-height: 500px;*/
	/*height: clamp(18.125rem, 14.375rem + 18.75vw, 33rem) !important;*/
	height: clamp(16rem, 13.785rem + 10.408vw, 32rem) !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	img {
		position: relative;
		max-width: none !important;
		width: auto !important;
		min-height: 100%;
		min-width: 100%;
		/*transform: translate(-48% , calc(-60px - clamp(0.8rem, -26rem + 33vw, 18rem))) scale(110%);*/
		transform: translate(-48% , calc(0px - clamp(0rem, -11.333rem + 45.333vw, 68rem))) scale(110%);
		left: 50%;
		._page-id-465 & { transform: translateY(calc(2rem - 8vw )) scale(110%); }
		/*.page-id-467 & { transform: translateY(calc(0px - clamp(0rem, -11rem + 34.958vw, 52rem))) scale(130%); }*/
		._page-id-467 & { /* wide image Zen-Garden-DP_19920321_XL-wide */
			transform: translate(-48% , calc(0px - clamp(0rem, -26rem + 33vw, 18rem))) scale(110%);
			left: 50%;
		}
		._page-id-223 & { transform: translateY(calc(0px - clamp(0rem, -11rem + 26.958vw, 52rem))) scale(100%); }
	}
}

.site-27 {
	.wp-block-site-logo {
		bottom: 3px;
		position: relative;
	}
	&.home .wp-block-cover {
		height: clamp(18.125rem, 16rem + 21vw, 36rem) !important;
		min-height: 31.25rem !important;
	}
	.hero {
		margin-bottom: calc(0px - clamp(-2rem, -10.104rem + 8.358vw, 3rem)) !important;
		h2.has-xx-large-font-size { font-size: clamp(3rem, 3.1rem + 2.407vw, 5.375rem) !important; }
		h2.has-x-large-font-size { font-size: clamp(1.75rem, 1.269rem + 2.407vw, 3.375rem) !important; }
		h3.has-x-large-font-size {
			font-size: calc(clamp(1.75rem, 1.269rem + 2.407vw, 3.375rem) * 0.8 ) !important;
			padding-top: 0.3rem;
		}
		h3.has-large-font-size { font-size: clamp(1.25rem, 1.139rem + 0.556vw, 1.625rem) !important; }
		h3.sub-sub-title { margin: 0; }
	}
	&.home .wp-block-cover img {
		object-fit: cover;
		height: clamp(38rem, 34.329rem + 4.384vw, 42rem);
		margin-top: -2.5rem;
	}
	figure.mask-top img {
		transform: translate(-48% , calc(0px - clamp(0.8rem, -26rem + 33vw, 18rem))) scale(110%);
	}

	/* Footer */
	footer {
		--color-decoration: var(--wp--preset--color--contrast);
		--color-decoration-fade: var(--wp--preset--color--accent-2);
	}
	a:not(.wp-block-navigation-item__content):hover { text-decoration-thickness: 1px !important; }
	a.wp-block-site-logo {
		width: 18rem;
		max-width: 80%;
		height: 2.4rem;
		background-color: currentColor;
		-webkit-mask: url("Logo-Patricia-Zbinden-cc.svg") no-repeat center / contain;
		mask: url("Logo-Patricia-Zbinden-cc.svg") no-repeat center / contain;
		display: block;
	}
	figure.wp-block-image { position: relative; }
	figcaption.wp-element-caption {
		color: white;
		position: absolute;
		bottom: 0;
		right: 0;
		margin: 0 var(--border-radius) 0.3rem 0;
		font-size: 0.6rem;
		transform: rotate(-90deg) translate(96%, -1em);
		transform-origin: top right;
		mix-blend-mode: overlay;
	}
}

/*** Media Queries ***/
.backdrop {
	position: fixed;
	display: block;
	width: 0;
	right: 0;
	left: auto;
	top: 0;
	z-index: 1;
	background: linear-gradient(90deg,rgba(255, 255, 255, 0) 0%, var(--wp--preset--color--accent-1) 30%, var(--wp--preset--color--accent-1) 100%);
	height: 110vh;
	opacity: 0;
	transition: all 0.3s linear;
}
@media screen and (max-width: 860px) {
	/* hamburger button */
	.wp-block-navigation__responsive-container-open { display: block !important; }
	/* full menu */
	.wp-block-navigation__responsive-container:not(.is-menu-open.has-modal-open) { display: none !important; }
	.has-modal-open .admin-bar .is-menu-open .wp-block-navigation__responsive-dialog { margin-top: 60px !important; }
	.wp-block-navigation__responsive-container-close svg, .wp-block-navigation__responsive-container-open svg {
		height: 32px;
		width: 32px;
	}
	.wp-block-navigation__responsive-container {
		left: auto;
		width: 9rem;
		box-shadow: 0 0 100px var(--wp--preset--color--accent-1);
	}
	.has-modal-open .backdrop {
		width: 130%;
		opacity: 0.5;
	}
	.home .wp-block-cover { height: clamp(23rem, 13.785rem + 10.408vw, 32rem) !important; }
}

@media (max-width: 1024px) {
	.page-id-465-XXX figure.wp-block-post-featured-image img { object-position: bottom; }
}
@media (max-width: 599px) {
	p, div, h2, h3, h4, h5, h6, li { hyphenate-limit-chars: 6 3 3; }
	body {
		--wp--style--root--padding-left: clamp(1rem, 5vw, 3rem);
		--wp--style--root--padding-right: clamp(1rem, 5vw, 3rem);
	}
	.wp-block-navigation ul, .wp-block-navigation ul * { width: 100%; }
	.ueber-mich-grid figure.wp-block-image {
		margin-left: auto;
		margin-right: auto;
	}
	.site-27 {
		&.home .wp-block-cover, figure.mask-top { /*padding-top: 3rem !important;*/ }
	}
}
@media (max-width: 480px) {
	a { hyphens: none; white-space: wrap; }
	.hero .wp-block-cover.alignfull {
		padding-top: 2.5em !important;
		padding-right: var(--wp--preset--spacing--30) !important;
		padding-left: var(--wp--preset--spacing--30) !important;
	}
	.site-27 {
		&.home .wp-block-cover { min-height: 32.25rem !important; }
		&.home .wp-block-cover img {
			height: clamp(38rem, 34.329rem + 4.384vw, 42rem);
			margin-top: -0.5rem;
		}
		& .hero {
			& h2.has-xx-large-font-size { font-size: clamp(3rem, 3.1rem + 2.407vw, 66px) !important; }
		}
	}
}
@media (min-width: 2000px) {
	.site-27 .hero {
		h2.has-xx-large-font-size { font-size: 4rem !important; }
		h2.has-x-large-font-size { font-size: 40px !important; }
		h3.has-x-large-font-size { font-size: 32px !important; }
	}
}
