@font-face {
    font-family: 'Frutiger';
    src: url('../fonts/Frutiger-Bold Regular.ttf') format('ttf');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

.menu-footer-container ul 
{
text-align:center !Important;
font-size: .8rem;
}

blockquote {
  border-left: 3px solid #24c48a;
  color: #000000  !Important;
  margin:auto  !Important;;
  padding: .5rem 1rem  !Important;
  border-left: 0px  !Important;
  }
 

#mobile-navigation ul li.menu-item-has-children > a
{
padding-right: 0 !Important;
}


 /* -------------------------------
   HAMBURGER IMAGE FEEDBACK
--------------------------------- */
.menu-toggle {
    cursor: pointer;
    transition: transform 0.3s ease, opacity 0.3s ease;
    z-index: 12000;
}

/* Aktiver Zustand: leicht drehen und skalieren */
.menu-toggle.active {
    transform: rotate(15deg) scale(1.1);
    opacity: 0.9;
}

/* Hover Effekt */
.menu-toggle:hover {
    transform: scale(1.05);
    opacity: 0.8;
}

#mobile-navigation ul li:last-child {
    border-bottom: none !important;
}

 
.menu-toggle .svg-icon-menu {
  width: 70px !important;
  height: 70px !important;
  filter: none !important;
}

 
.mobile-menu-bottom {
  margin-top: 0;
 
  text-align: center;
}

.menu-cta {
  display: block;
  background: #9a1617;
  color: #fff;
  padding: 12px 20px;
  margin-bottom: 15px;
  text-decoration: none;
  font-weight: 600;
}

.menu-image img {
  width: 100%;
  height: auto;
  border-radius: 6px;
} 
 
 
 
 
#masthead
{
margin-bottom:0 !Important;
}

body
{
margin:0 !Important;
border: 0 !Important;
padding: 0 !Important;
font-size:1rem !important;
line-height:1.5rem !important;
font-family: "Lato", sans-serif !important;
}

.widget-title
{
text-transform: none !Important;
}
 
/* Wrapper */
.radio-card-wrapper {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

 
 .radio-cards .option-subtext {
    display: block;
    font-size: 0.85em;
    color: #666;
     
}
 

.required {
    color: #9a1617ff;
    font-weight: bold;
}

.wpcf7 input[type="radio"] {
width: auto !important;
transform: scale(2) !important;
margin:.5rem !important;
margin-right: 1rem !important

}

 
.radio-group {
    margin-bottom: 30px;
}

.radio-group-title {
    font-size: 1rem !important;
    font-weight: 600  !important;
    margin-bottom: .5rem  !important;
}

/* Linie zwischen Gruppen */
.radio-group:not(:last-child) {
    border-bottom: 1px solid #eee !important;
    padding-bottom: .5rem  !important;
}

.wpcf7-list-item-label
{
font-size:1rem !Important;
line-height: 1.3rem !Important;
font-weight: 900 !Important;
}

.wpcf7-list-item-label small
{
 font-weight: normal !Important;
}
 
 
.wpcf7-submit, input[type="email"], input[type="text"],input[type="tel"], textarea
{
background:#FFF !Important;
border-radius:.5rem !Important; 
padding:1rem 1rem  !Important;
margin-top:0 !Important;
    width: 100% !Important;
		font-weight: 900 !important;
		border-color:#000000 !Important;
}

.wpcf7-submit, .wpcf7 input[type="submit"], input[type="submit"]
{
background:#9a1617ff !Important;
color:#FFF !Important;
padding:1.5rem 1rem !Important;
box-sizing: border-box;
border:0 !Important;
}

input[type="submit"]:hover
{
border:1px #FFF !important;
border-color: #FFF !important;
  color: #FFF !important;
}

/* CF7 Layout */

/* ==============================
   WRAPPER = 2 SPALTEN LAYOUT
   ============================== */
.cf7-wrapper {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
	margin-top:1rem !important;
}

@media (max-width: 768px) {
    .cf7-wrapper {
        grid-template-columns: 1fr;
    }
    .cf7-right { order: 1; }
    .cf7-left { order: 2; }
}

/* ==============================
   LINKER BEREICH = FORMULAR
   ============================== */
.cf7-row {
    display: grid;
    gap: 20px;
    
}

.cf7-2col {
    grid-template-columns: 1fr 1fr;
}

@media (max-width: 768px) {
    .cf7-2col {
        grid-template-columns: 1fr;
    }
}

/* Pflichtstern */
.required {
    color: red;
    margin-left: 4px;
}

/* ==============================
   RECHTE BEREICH = OPTIONEN
   ============================== */
.cf7-right {
    position: static; /* kein sticky mehr */
}

.wpcf7-list-item
{
width: 100% !important;
  margin: .5rem 0 !important;
}


.radio-cards .wpcf7-list-item-label {
    display: flex;
    flex-direction: row;   /* Radio links, Text rechts */
    align-items: center;   /* Vertikal zentriert */
    padding: 12px 16px;
    border: 2px solid #ddd;
    border-radius: 10px;
    cursor: pointer;
    gap: 12px;
    transition: all 0.2s;
}

.radio-cards .wpcf7-list-item-label input[type="radio"] {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin: 0;
}

.radio-cards .card-content {
    display: flex;
    flex-direction: column;
}

.radio-cards .option-label {
    font-weight: 900;
	font-size:1.3rem !Important;
}

.radio-cards .option-subtext {
    font-size: 0.85em;
    color: #666;
	font-weight: normal;
}

/* Hover + Checked */
.radio-cards .wpcf7-list-item-label:hover,
.wpcf7-list-item-label .radio-cards .wpcf7-list-item-label input[type="radio"]:checked + .card-content {
    border-color: #000;
    background: #ebebeb  !important;
    box-shadow: 0 3px 8px rgba(0,0,0,0.08);
}


 

 





p {
    line-height: 1.5 !Important;
    margin: 0 0 1rem !Important;
}


.fg-caption-title
{
font-size:1.5rem !Important;
line-height:1.8rem  !Important;
}


.fg-caption-desc
{
font-size:1rem !Important;
line-height:1.3rem  !Important;
}


.sowb-button 
{
border:1px #333 solid !Important;
color:#333 !Important;
font-size:1rem !important;
background:#FFF !important;
border-radius:.25rem !important;
padding:.5rem .35rem !important;
 width: auto !Important;
   margin: 1rem;

}

.ow-pt-link
{
font-size:1rem !Important;
box-shadow: none !Important;
border: 0 !important;
color: #FFF !Important;
text-shadow: none !Important;
width: auto !Important;
background:#8c1522 !Important;
border-radius:.5rem !important;
}


/* teste albert  ob das geht. */
.container
{
padding:0 !important;
max-width:100% !Important;
}


.ow-pt-column {
  display: flex;
  flex-direction: column;
  padding:1rem; 
}

.ow-pt-title {
  font-family: "Lato", serif !Important;
  order: 1;
  background:#8c1522 !Important;
  font-size: 2rem !Important;
  line-height:2.2rem;
  border:0px !Important;
  border-radius: 0 !important;
  border-top-right-radius:.5rem !Important;
  border-top-left-radius:.5rem !Important;
}


 
.ow-pt-subtitle {
  order: 1;
}

.ow-pt-features {
  order: 2;
  border-left:1px #8c1522 solid;
  border-right:1px #8c1522 solid;
}

.ow-pt-subtitle
{
font-size:1rem !important;
line-height:1.2rem;
}

.ow-pt-details {
  order: 5;
  background:#FFF !important;
  box-shadow: none !Important;
  border:0 !Important;
    border-left:1px #8c1522 solid !Important;
  border-right:1px #8c1522 solid !Important;

  text-align:center;
  padding: 1rem !Important;
}

.ow-pt-button {
order: 6;
border:0 !Important;
border-left:1px #8c1522 solid !Important;
border-right:1px #8c1522 solid !Important;
border-bottom:1px #8c1522 solid !Important;
background:#FFF !important;
border-bottom-left-radius:.5rem !important;
border-bottom-right-radius:.5rem !important;
}
 

.ow-pt-price
{
color:#000 !Important;
font-size:1rem !Important;
  font-size:1.5rem !Important;
}


.ow-pt-feature, .ow-pt-feature-even, .ow-pt-feature-index-0
{
background:#fff !Important;
 text-align:center;
 padding: .25rem !Important;
}


.sub-menu
{
 
text-align:center  !Important;
}

.has-dropdown-button
{
font-weight: 900 !Important;
}

.sub-menu a {
    width: auto !Important;
}

#mobile-navigation ul ul
{
border-top:0px !Important;
}


#mobile-navigation ul ul li a
{
padding-left: 0 !important;
background: transparent !Important;
}

#mobile-navigation ul ul li  
{
background: transparent !Important;
border-bottom: 0px !Important;
}


#colophon.footer-active-sidebar
{
text-align:center !Important;
padding:  2rem !Important;
}

#colophon .widgets 
{
padding: 1rem !Important;
}


/* Überschriften */

h1,h2,h3, h4, h5, h6
{
font-family: 'Frutiger', sans-serif  !Important;
margin: .5rem 0;
}


h2
{
font-size:1.3rem !Important;
line-height: 1.6rem !Important;

}

h3
{
font-size:2.5rem !Important;
line-height: 2.8rem !Important;
 
}


h4
{
font-size:3.5rem !Important;
line-height: 3.8rem !Important;
 
}


h5
{
font-size:4.5rem !Important;
line-height: 4.8rem !Important;
 
}
/* schmalle Überschriften */

h6
{
font-size:1rem !important;
line-height:1.3rem !important;
color:#9a1617ff !important;
}

.so-widget-sow-accordion
{
max-width:1280px  !Important;
margin:0px auto  !Important;
}
  .so-widget-sow-accordion h3
{
font-size:1.3rem !Important;
line-height: 1.6rem !Important;
text-align:left !Important;
margin-bottom: 2rem;
}

.sow-accordion-panel, .sow-accordion-panel-content, .sow-accordion-panel-border
{
background:#FFF !Important;
font-size:1rem !Important;
line-height: 1.3rem !Important;
text-align:left !Important;

}


.custom-button-wrapper{
    text-align: center; /* zentriert alles */
	 
}

.custom-button{
    display: inline-block !Important;
    padding: 1rem 2rem !Important;
    background: #fff !Important;
    color: #000 !Important;
    text-decoration: underline !Important;
    border:  0 !Important;
    border-radius: .5rem !Important;
    transition: all 0.25s ease !Important;
}


.custom-button_without_cards {
    display: inline-flex !important;   /* 🔥 wichtig */
    align-items: center;              /* 🔥 vertikal zentriert */
    justify-content: center;
    gap: 1rem;                        /* Abstand statt margin */
font-size: 2rem  !important;
    padding: 1rem 2rem !important;
    color: #FFF !important;
    text-decoration: none !important;
    border: 0 !important;
    border-radius: .5rem !important;
    transition: all 0.25s ease !important;
    background: #9a1617ff !important;

    line-height: normal;              /* 🔥 wichtig raus damit */
}

.custom-button_without_cards::before {
    content: "";
    display: block;                   /* kein inline-block mehr nötig */
    width: 2rem;
    height: 2rem;
    background: url('/wp-content/uploads/custom/calendar-check.svg') no-repeat center;
    background-size: contain;

    flex-shrink: 0;                   /* verhindert Zusammendrücken */
}



.custom-button_without_cards_small {
    display: inline-flex !important;   /* 🔥 wichtig */
    align-items: center;              /* 🔥 vertikal zentriert */
    justify-content: center;
    gap: 1rem;                        /* Abstand statt margin */
font-size: 1rem  !important;
    padding: 1rem 2rem !important;
    color: #FFF !important;
    text-decoration: none !important;
    border: 0 !important;
    border-radius: .5rem !important;
    transition: all 0.25s ease !important;
    background: #9a1617ff !important;
 
    line-height: normal;              /* 🔥 wichtig raus damit */
}



.custom-button_without_cards_small::before {
    content: "";
    display: block;                   /* kein inline-block mehr nötig */
    width: 1rem;
    height: 1rem;
    background: url('/wp-content/uploads/custom/calendar-check.svg') no-repeat center;
    background-size: contain;

    flex-shrink: 0;                   /* verhindert Zusammendrücken */
}





.menu-item-1360 li
{
background:##9a1617ff !Important;
}



.pipe
{
color: #000  !Important;
font-size:1.2rem  !Important;
}

.custom-button:hover{
    background:#000 !Important;
    color:#fff !Important;
}

.pipe{
    margin: 0;
    font-weight: 300;
}

/* Pipe-Trennung */
.button-separator {
    font-size: 18px;
    color: #000000;
    user-select: none;               /* verhindert, dass man die Pipe markiert */
}

 
.site-footer
{
font-family: "Lato", sans-serif !Important;
font-size:.8rem !Important;
background: #f8f8f8 !important;
border-top:0 !Important;
margin-top:100px !important;

}
.site-info
{
font-size:.8rem !Important;
border-top: 0px !Important;
}



.heading-strike::after, .heading-strike::before
{
content: none !Important;
}



.footer-col {
    max-width: 280px;
	text-align:center;
}

.footer-logo {
    width: 200px;
    display: block;
    
}

.footer-address {
    margin-bottom: 2rem;
	margin-top: 1rem;
    line-height: 1.5;
}

.footer-icons {
    display: flex;
    justify-content: space-between; /* links – mitte – rechts */
    align-items: center;
	margin-bottom: 2rem;
}

.footer-icons img {
    width: 45px;
    height: 45px;
	margin-left: 10px;
	margin-right:10px;
}

.office-hours {
    display: flex;
    flex-direction: column;
    gap: .125rem;
}

.office-day {
    display: flex;
    justify-content: space-between;
	border-radius: .25rem; /* abgerundete Ecken */
    text-align:left;
	padding:.125rem .5rem;
	font-size: .8rem !Important;
}

.office-day.today {
    background-color: #FFF ; /* Highlight für aktuellen Tag */
    border: 1px #9a1617ff solid;
    border-radius: .25rem; /* abgerundete Ecken */
    text-align:left;
	color:#9a1617ff;
}

.day-name {
    font-weight: normal;
	max-width:20%;
}

.day-hours {
    text-align: left;
	max-width:60%;
}

/* -----------------------------------
   HEADER FLEX (Logo links, Hamburger rechts)
----------------------------------- */
.header-wrapper {
    display: flex;
    justify-content: space-between; /* Logo links, Hamburger rechts */
    align-items: center;             /* vertikal zentriert */
    padding: 0 .5rem !important;
    width: 100%;
    box-sizing: border-box;
 
}

/* Logo */
.header-wrapper .site-branding {
    flex-shrink: 0;
}

/* Logo max Höhe */
.header-wrapper   {
  
    height: auto;
}


.site-branding img {
   width: 260px !important;
   height: auto !Important;
   margin: 0 1rem 0 1rem !important;
 
// filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.5))
            drop-shadow(0 0 3px rgba(255,255,255,0.4)); 
}


/* Navigation / Hamburger rechts */
.header-wrapper .site-navigation,
.header-wrapper .menu-toggle {
    flex-shrink: 0;
    margin-left: auto;
    z-index: 10000;
}

/* Optional: Social/Search ausblenden */
.header-wrapper .social-search {
    display: none;
}

/* -----------------------------------
   MOBILE NAVIGATION FULLSCREEN
   (von rechts nach links aufklappend)
----------------------------------- */
#mobile-navigation {
    display: flex;
    flex-direction: column;
    height: 100vh;

    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    background-image: url('https://averdung-foto.de/wp-content/uploads/2026/03/logo-dunkel.svg');
    background-repeat: no-repeat;
    background-position: center calc(100% - 100px);
    background-size: 220px auto;

    transform: translateX(100%) scaleX(0.8);
    opacity: 0;
    pointer-events: none;

    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
                opacity 0.5s ease;

    z-index: 11000;
    
    /* NEU: Voller Container für Flex-Verteilung */
    justify-content: flex-start; /* Social oben */
    align-items: stretch; /* volle Breite für alle */
}

 /* --- Desktop Flex Struktur --- */
@media (min-width: 1025px) {
    #site-navigation .main-navigation {
        display: flex;
        align-items: center;
        gap: 20px; /* Abstand zwischen Blöcken */
    }

    .desktop-social-icons { order: 1; }
    .desktop-menu-cta { order: 2; }
    #primary-menu { order: 3; flex: 1; } /* Menü nimmt Restbreite */
}

/* Menü-Container */
.my-mobile-menu {
    flex-grow: 1; /* füllt den verfügbaren Raum */
    display: flex;
    flex-direction: column;
    justify-content: center; /* Items vertikal zentrieren */
}

/* Bottom Block */
.mobile-menu-bottom {
    max-width: 400px;
    margin: 0px auto;
    padding:0  0px 20px 0;
}

/* CTA-Button / Bild */
.mobile-menu-bottom .menu-cta {
    display: block;
    background: #9a1617;
    color: #fff;
    padding: 12px 20px;
    margin-bottom: 15px;
    text-decoration: none;
    font-weight: 600;
    border-radius: 6px;
}

.mobile-menu-bottom .menu-image {
    width: 100%;
    height: auto;
    margin-top: 10px;
}

/* Menü offen */
#mobile-navigation.active {
    transform: translateX(0) scaleX(1);
    opacity: 1;
    pointer-events: auto;
}

/* Menü Liste */
#mobile-navigation ul {
    list-style: none;
    text-align: center;
    padding: 0;
    margin: 0 auto;
    width: 100%;
    max-width: 400px;
}

#mobile-navigation ul li {
    text-transform: none;
    margin: 0.25rem 0;
    opacity: 0;
    transform: translateX(50px);
    transition: transform 0.4s ease, opacity 0.4s ease;
    background: transparent;
    border-bottom: 1px solid #a0a0a0;
}

#mobile-navigation ul li a {
    font-size: 1.2rem;
    line-height: 1.5rem;
    font-family: "Playfair Display", serif;
    font-weight: 300;
    padding: 0.5rem;
    letter-spacing: normal;
    text-decoration: none;
    color: #111;
    transition: opacity 0.3s ease;
	text-transform: none !Important;
}

#mobile-navigation ul li a:hover {
    opacity: 0.6;
    color: #9a1617;
}

/* Einblenden der Items */
#mobile-navigation.active ul li {
    opacity: 1;
    transform: translateX(0);
}

/* Optional: kleine Verzögerung pro Item */
#mobile-navigation.active ul li:nth-child(1) { transition-delay: 0.05s; }
#mobile-navigation.active ul li:nth-child(2) { transition-delay: 0.1s; }
#mobile-navigation.active ul li:nth-child(3) { transition-delay: 0.15s; }
#mobile-navigation.active ul li:nth-child(4) { transition-delay: 0.2s; }
#mobile-navigation.active ul li:nth-child(5) { transition-delay: 0.25s; }

/* Hamburger aktiv */
.menu-toggle.active {
    position: relative;
    z-index: 12000;
}



/* -----------------------------------
   RESPONSIVE
----------------------------------- */
@media(max-width: 767px) {
    .header-wrapper {
        padding: 10px 15px;
    }

.mobile-menu-bottom {
  margin-top: 20px !important;
}



    .header-wrapper .site-branding img {
       max-width: 120px;
	   height:auto !important;
    }
}

/* Desktop: Mobile-Klon ausblenden */
@media(min-width: 768px) {
    #mobile-navigation,
    #mobile-navigation .my-mobile-menu {
        display: none !important;
    }
}

/* Mobile: Primary-Menu im Header ausblenden */
@media(max-width: 767px) {

.shooting-options{
    grid-template-columns:1fr;
}

.cf7-2col {
        grid-template-columns: 1fr;
    }

.custom-button{
padding: 1rem .25rem !important;

}

.menu-footer-container ul 
{
text-align:center !Important;
}

.menu-toggle .svg-icon-menu {
  width: 50px !important;
  height: 50px !important;
  filter: none !important;
}

.footer-col {
    max-width: 100%;
	text-align:center;
}


    #primary-menu {
        display: none !important;
    }
	
	
 
.vp-portfolio__items, .row {
        margin-left:0 !important;
        margin-right:0 !important;
		 
    }	

    /* Overlay immer sichtbar */
    .vp-portfolio__item-overlay{
        opacity:1 !important;
        transform:none !important;

        /* sanfter Verlauf für Lesbarkeit */
        background: linear-gradient(
            to top,
            rgba(0,0,0,0.65) 0%,
            rgba(0,0,0,0.35) 40%,
            rgba(0,0,0,0) 70%
        ) !important;
    }

    /* Meta immer sichtbar */
    .vp-portfolio__item-meta{
        opacity:1 !important;
        transform:none !important;
		 
    }

    /* Titel sichtbar + weiß */
    .vp-portfolio__item-meta-title{
        opacity:1 !important;
        display:block !important;
        color:white !important;
    }

    /* Kategorien sichtbar + weiß */
    .vp-portfolio__item-meta-categories{
        opacity:1 !important;
        display:block !important;
        transform:none !important;
        color:white !important;
        font-size:.9rem !important;
        text-transform:uppercase;
		 
    }

}


}


/* Desktop Premium Hover Effekt */
@media (hover:hover){

    /* Bild leicht zoomen */
    .vp-portfolio__item-img img{
        transition: transform 0.6s ease;
    }

    .vp-portfolio__item:hover .vp-portfolio__item-img img{
        transform: scale(1.06);
    }

}







	
h5
{
font-size:3rem !Important;
line-height: 3.6rem !Important;
 
}
	
	
}

/* -----------------------------------
   STICKY HEADER
----------------------------------- */
#masthead {
    position: sticky !important;
    top: 0 !important;
    z-index: 10000 !important; /* über allem */
     background: #fff; /* sicherstellen, dass Hintergrund sichtbar bleibt */
}

#masthead.sticky {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}






.thebody
{
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
}

 .mobile-social-icons {
 margin-top:40px;
 margin-bottom: 10px;
    display: flex;
    justify-content: center;
    gap: 60px;
    padding: 1rem 0;
    
}

.mobile-social-icons a img {
    width: 35px;
    height: 35px;
    transition: transform 0.3s ease;
}

.mobile-social-icons a:hover img {
    transform: scale(1.2);
}

 
.dropdown-toggle
{
top:0px !Important;
padding:0 !Important;
}