/* 
Theme Name:   Generatepress Child
Description:  Child-Theme for Generatepress
Template:     generatepress
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  generatepress-child
*/

/* lora-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/lora-v37-latin-regular.woff2') format('woff2'); 
}
/* lora-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: 'Lora';
  font-style: italic;
  font-weight: 400;
  src: url('fonts/lora-v37-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* lora-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: 'Lora';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/lora-v37-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* lora-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: 'Lora';
  font-style: italic;
  font-weight: 600;
  src: url('fonts/lora-v37-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

body, 
button, 
input, 
select, 
textarea,
h1, h2, h3, h4, h5, h6, 
.main-navigation a, 
.main-title a {
    font-family: 'Lora', Georgia, serif;
}

body {
    background-color: #ffffff;
}

.site-content {
    margin-top: 50px;
}

.main-title,
.main-title a {
    white-space: nowrap;
    font-size: clamp(1rem, 2vw, 1.35rem);
    white-space: nowrap; 
}

.main-title a,
.site-branding .main-title {
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.site-description {
    font-size: clamp(.8rem, 2vw, .9rem);
	font-weight: 600;
}

.main-navigation,
.main-navigation a {
    text-transform: uppercase;
	font-size: clamp(.7rem, 2vw, .8rem);
}

.main-navigation .main-nav ul li a {
    padding-left: 10px; 
    padding-right: 10px;
}

.home .main-navigation .main-nav ul li.current-menu-item {
    display: none;
}

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

h1 {
    font-size: clamp(.8rem, 1.5vw, .9rem);
    text-transform: uppercase;
    letter-spacing: 0.05em; 
    font-weight: 600;
}

h2 {
    font-size: clamp(.9rem, 1.5vw, 1rem);
    text-transform: uppercase;
    letter-spacing: 0.05em; 
    line-height: 1.2;
    font-weight: 600;
}

h2.gb-text {
    font-size: clamp(1.1rem, 1.5vw, 1.2rem);
    text-transform: none;
    letter-spacing: 0; 
    line-height: 1.2;
    font-weight: 600;
}

h3 {
    font-size: clamp(.8rem, 1.5vw, .9rem);
    text-transform: uppercase;
    letter-spacing: 0.05em; 
    font-weight: 600;
}

h4 {
    font-size: clamp(.8rem, 1.5vw, .9rem);
    text-transform: uppercase;
    letter-spacing: 0.05em; 
}

a.link1, link1 a {
    text-transform: uppercase;
    text-decoration: none;
	color: #000;
    border-bottom: 2px solid #ccc; 
    padding-bottom: 2px;
    font-size: 0.8rem; 
    letter-spacing: 0.05em; 
    transition: all 0.2s ease-in-out;
}

a.link1:hover, link1 a:hover {
    color: #aaa;
}

.footer-custom-links, .footer-custom-links a {
    margin-top: 8px;
	text-decoration: none;
	color: #3b3b3b;
    font-size: 0.9rem; 
}

.footer-custom-links a:hover {
    text-decoration: underline;
}

.absatz1 {
	margin-top: 20px;
    margin-bottom: 0.4em;
}

.back-link {
	display: inline-block;
	margin-top: 30px;
    text-decoration: none;
	color: #3b3b3b;
    font-size: 0.9rem; 	
}	

.wp-block-button.custom-btn .wp-block-button__link,
.wpcf7 input.custom-btn {   
    background-color: transparent !important;
    border: 1px solid currentColor !important;
    border-radius: 50px !important; 
    font-size: 0.85rem !important;    
    text-transform: uppercase !important; 
    letter-spacing: 1px !important; 
    color: inherit !important;        
    padding: 10px 24px !important;
    transition: all 0.2s ease-in-out !important;
    cursor: pointer;
    box-shadow: none !important;
    -webkit-appearance: none; 
}

.wp-block-button.custom-btn .wp-block-button__link:hover,
.wpcf7 input.custom-btn:hover {
    background-color: rgba(0, 0, 0, 0.05) !important; 
    opacity: 0.8;
}

.wpcf7 input.custom-btn:disabled {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
    background-color: transparent !important;
}

figure.alignright {
    float: right !important;
    width: 60% !important;
    max-width: 60% !important;
    margin-left: 3rem !important;
    margin-right: 0 !important;
    margin-bottom: 1rem !important;
    display: block !important;
}

figure.alignright img {
    width: 100% !important; 
    height: auto !important;
    display: block !important;
    margin-left: auto !important; 
    margin-right: 0 !important;
}

.clear-float {
    clear: both !important;
}

/* Bildbreite Mobilansicht */
@media (max-width: 768px) {
    figure.alignright {
        float: none !important;        /* Hebt das Floaten auf */
        width: 100% !important;        /* Bild nutzt die volle Breite */
        max-width: 100% !important;
        margin-left: 0 !important;     /* Kein seitlicher Abstand nötig */
        margin-right: 0 !important;
        margin-bottom: 1.5rem !important; /* Sauberer Abstand zum Text darunter */
    }

    figure.alignright img {
        width: 100% !important;
        height: auto !important;
    }
}

@media (min-width: 769px) {
    .main-title,
    .main-title a {
        white-space: nowrap;
    }
}