/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/


/*** WEBFONTS ***/
/* lato-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/lato-v25-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* lato-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/lato-v25-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/playfair-display-v40-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  src: url('fonts/playfair-display-v40-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/playfair-display-v40-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  src: url('fonts/playfair-display-v40-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/playfair-display-v40-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  src: url('fonts/playfair-display-v40-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/playfair-display-v40-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 700;
  src: url('fonts/playfair-display-v40-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 800;
  src: url('fonts/playfair-display-v40-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-800italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 800;
  src: url('fonts/playfair-display-v40-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 900;
  src: url('fonts/playfair-display-v40-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-900italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 900;
  src: url('fonts/playfair-display-v40-latin-900italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}



/* GeneratePress Site CSS */ 
/* navigation letter spacing */
.main-navigation a, .slideout-navigation.main-navigation .main-nav ul li a {
  letter-spacing: 1px;
}

/* navigation line effects */
@media (min-width: 1024px) {
	.main-navigation .main-nav > ul > li > a:before {
    position: absolute;
    content: '';
    width: 1px;
    height: 0;
    background-color: var(--goldgelb);
    left: 50%;
    top: -50px;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-transition: all .3s ease-out 0s;
    -moz-transition: all .3s ease-out 0s;
    -ms-transition: all .3s ease-out 0s;
    -o-transition: all .3s ease-out 0s;
    transition: all .3s ease-out 0s;
	}

	.main-navigation .main-nav > ul > li:hover > a:before {
    height: 50px;
	}

.main-navigation .main-nav > ul > li.current-menu-item > a:before {
    height: 50px;
    width: 1px;
	}
}

/* line above H1 on global header elements */
.headline-rule h1 {
    position: relative;
}
.headline-rule h1:before {
    content: '';
    position: absolute;
    display: block;
    height: 60px;
    border-left: 1px solid var(--goldgelb);
    left: 50%;
    transform: translateX(-50%);
    top: -75px;
}

/* mobile header spacing */
.mobile-header-navigation {
	padding: 10px;
	box-sizing: border-box;
}
@media (max-width: 768px) {
    .mobile-header-navigation .site-logo.mobile-header-logo img {
        height: 70px !important;
    }
}
 /* End GeneratePress Site CSS */
 
 
/* MOBILE MENU BURGER */
.main-navigation .menu-toggle,
button.menu-toggle:hover, button.menu-toggle:focus {
	font-weight: bold;
}
.mobile-menu {
	font-size: 15px;
}
.icon-menu-bars {
	font-size: 30px;
	vertical-align: middle;
}
.gp-icon {
	display: inline-block;
	align-self: center;
	margin-top: -4px;
}
.toggled .gp-icon svg {
	top: 0;
}


/** Tabellen **/
.basictable table, 
.basictable-white table, 
td, th {
	border: 0px !important;
	margin: 0 0 20px 0;
}
.basictable tr {
	border-bottom: 1px solid var(--altrosa);
}
.basictable-white tr {
	border-bottom: 1px solid #ffffff;
}
.basictable td, .basictable-white td {
	padding: 7px 0px 7px 0px;
}
.basictable td, .basictable-white td {
    line-height: 1.2em;
}



/* FORMULAR */
.wpcf7 input:not([type=submit]), .wpcf7 select, .wpcf7 textarea {
    width: 100%;
    padding: 8px 15px;
}

input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="tel"], input[type="number"], textarea, select {
    color: var(--contrast-2);
    background-color: var(--base-3);
}

@media (max-width: 781px) {
.wpcf7-form > :where(.wp-block-columns.is-layout-flex) {
    gap: 0em;
}
	}
	
	

/* Trennlinie */
.wp-block-separator {
    border: 0px;
}

/* Absatz */
p { margin-bottom: 0.75em; }



/** HOVER ZOOM EFFEKT **/
/* Basiszustand */
.img-hover-zoom {
  background-size: 100% !important;
  transition: background-size .7s ease-in-out; /* Transition hierhin */
}
.img-hover-zoom:hover {
  background-size: 110% !important;
}



/*** BILDMASKE LOGO ***/

/* 1) Wrapper: füllt Breite, hält Verhältnis der SVG-Form und trägt die Maske */
.bildmarke-maske {
  position: relative; 
  aspect-ratio: 1 / 1;              /* an deine SVG-viewBox anpassen! z.B. 1200/900 */
  margin-inline: auto;
	  align-self: flex-start;     /* verhindert Stretching in GB-Grid/Flex */

  /* Maske – cover sorgt dafür, dass die Form die volle Fläche ausfüllt */
  -webkit-mask: url("/wp-content/uploads/2025/09/Form_Bildmarke_initium85.svg") no-repeat center / cover;
          mask: url("/wp-content/uploads/2025/09/Form_Bildmarke_initium85.svg") no-repeat center / cover;
}

/* 2) Core-Video-Block und das video selbst müssen die Fläche ausfüllen */
.bildmarke-maske .wp-block-video, .bildmarke-maske video {
  width: 100%;
  height: 100%;
  display: block;
}
.bildmarke-maske video{
  object-fit: cover;                 /* kein Verzerren, keine Ränder */
}



/*** WORTUMBRUCH ***/
@media (max-width: 480px) {
	h1 { 
		hyphens: auto;
		overflow-wrap: anywhere; /* fallback für sehr lange Wörter */
		word-break: break-word;  /* ältere Browser */
	}
}



/*** A11Y-SLIDER STRETCH URLs ***/

/* Die Karte/Slide ist der Bezugspunkt */
.is-slide-card { position: relative; }

/* Der Link selbst bleibt statisch – WICHTIG! */
.is-slide-card .stretched-link { position: static; /* kein z-index hier */ }

/* Overlay: macht die ganze Karte klickbar */
.is-slide-card .stretched-link::after {
  content: "";
  position: absolute;
  inset: 0;         /* top/right/bottom/left: 0 -> volle Karte */
}

/* Im a11ySlider sollen versteckte Slides keine Klicks fangen */
.a11y-slider [aria-hidden="true"] .stretched-link { pointer-events: none; }
