@import 'fonts.css';
@import 'formular.css';

/*
 Theme Name:     Child Theme SQ MEDIA
 Theme URI:      http://www.elegantthemes.com
 Description:    Divi Child-Theme
 Author:         Divi.world
 Author URI:     https://divi.world
 Template:       Divi
 Version:        1.0.0
*/
 
/* 

gruen #053827
------------------------------------------------------- */

body {
      font-family: 'Nunito Sans';
}
.et_boxed_layout #page-container {
    /*box-shadow: none; */
}

img#logo {
    max-width: 200px !important;
}


h1 {
    font-family: 'Allura';
    color: #053827;
    font-size: 4em;
    letter-spacing: 2px;
    text-align: left;
    font-weight: 600;
}


h1.satisfy {font-family: 'Satisfy';}
h1.allura {font-family: 'Allura';    font-size: 4em;}
h1.parisienne {font-family: 'Parisienne';}
h1.sacramento { font-family: 'Sacramento';}




h2 {
    font-size: 2em;
    text-align: left;
}


h3 {
    color: #333;
    font-size: 1.6em;
    font-weight: 600;
}


p {
    font-size: 1.3em;
    line-height: 1.4em;
}

ul li,
ol li{
    font-size: 1.3em;
    line-height: 1.4em;
    color: #333;
    margin: 0.5em 0;
}

ul li p {font-size: 1em;}

ul li li {
    font-size: 1em;
    line-height: 1.4em;
    color: #333;
    margin: 0.5em 0;
    list-style-type: disc !important;
}

ul.checkliste li {
    padding-left: 15px;
    list-style-type: none;
}
ul.checkliste li::before {
    content: "\52";
    position: absolute;
    left: 0;
    font-family: 'EtModules';
    font-size: 18px;
    color: #163d40;
}

#footer p a {
    color: #333
}

.et_pb_toggle_open .et_pb_toggle_title:before {
    display: block !important;
    position: absolute;
    right: 0;
    font-family: 'EtModules';
    font-size: 25px;
    color: #76a621;
	content: "\4f";
}

.agb_imprint div {
    font-size: 1.3em;
    line-height: 1.4em;
}




/* Hauptmenue ------------------------------------------------------- */

@media (max-width: 1250px) {

  /* Desktop-Menü ausblenden */
  #top-menu {
    display: none;
  }

  /* Burger-Menü anzeigen */
  #et_mobile_nav_menu {
    display: block;
  }

  /* Logo + Burger sauber ausrichten */
  .et_header_style_left .logo_container {
    width: auto;
  }

}



/* 
#top-menu li li a {text-transform: none !important;}
*/

.nav li ul, #top-menu li li a {width: 350px !important}

#top-menu li.current-menu-item > a,
#top-menu li.current-menu-ancestor > a,
.nav li ul .current-menu-item a {
color: #053827 !important; 
font-weight: 700 !important;
}

/* Aktiver Hauptmenupunkt anpassen */
#top-menu li.current-menu-item > a {
color: #053827 !important; 
font-weight: 700 !important;
}
/* Aktiver Hauptmenupunkt anpassen wenn ein Untermenupunkt aktiv ist */
#top-menu li.current-menu-ancestor > a {
color: #053827 !important;
font-weight: 700 !important;
}
/* Aktiver Untermenupunkt anpassen */
.nav li ul .current-menu-item a {
color: #053827 !important;
font-weight: 700 !important;
}

.et_mobile_menu {
overflow: scroll !important;
max-height: 84vh; /*edit this to match your view height*/
box-shadow: 0px 0px 30px rgba(0,0,0,0.3) /*just some box shadow for nicer menu, you can skip this*/
}

#main-header #et-top-navigation .et-cart-info {
    margin: 3px 0 0 20px !important;
    font-size: 20px !important;
}

/* Punkte entfernen */
.et_mobile_menu li {
    list-style-type: none !important;
}

.et_mobile_menu li li {
    list-style-type: none !important;
    padding-left: 0;
}

.et_mobile_menu li a {

}

/* optional: Einrückung entfernen */
.et_mobile_menu {
}


/* Vertikales Zentrieren von Elementen ------------------------------------------------------- */

.vertikal-zentrieren {
display: flex;
flex-direction: column;
justify-content: center;
}

/* Smart Slider ------------------------------------------------------- */

.n2-ss-slide-limiter {
  width: 80% !important;
}



/*  Produkt Detailseite  ------------------------------------------------------- */

/* p.price {
    font-family: 'Satisfy';
    color: #053827 !important;
    font-size: 5em !important;
    padding-bottom: 0!important;
}
*/

.single-product .legacy-itemprop-offers,
.single-product .german-market-summary-gpsr {
  display: none !important;
}

p.price {
    font-weight: bold;
    font-size: 2.5em !important;
    padding-bottom: 0!important;
}


.wgm-info.shipping_de {
    display: none !important;
}

./* Klick/Link auf Produktbild deaktivieren (keine Lightbox, kein Link) */
.woocommerce div.product .woocommerce-product-gallery__image a {
  pointer-events: none;
  cursor: default;
}

.termin-buttons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.termin-buttons input {
  display: none;
}

.termin-buttons label {
  padding: 10px 16px;
  border: 2px solid #2f5f2f;
  border-radius: 30px;
  cursor: pointer;
  background: white;
  transition: all 0.2s ease;
  font-size: 1.4em;
}

.termin-buttons label:hover {
  background: #f2f7f2;
}

.termin-buttons input:checked + label {
  background: #2f5f2f;
  color: white;
  border-color: #2f5f2f;
}

.single-product .et_pb_wc_add_to_cart p.stock.in-stock {
  display: inline-block;
  margin: 0 0 10px 2px !important;
  padding: 0 !important;
  font-size: 1.3em !important;
  line-height: 1.4em;
  font-weight: 500;
  color: #053827 !important;
  letter-spacing: 0.01em;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* PRODUKTDETAILSEITE ===========================================================


/* Produktuebersicht ------------------------------------------------------- */

/* Overlay komplett entfernen */
.et_pb_shop .et_overlay,
.et_pb_shop span.et_overlay,
.et_pb_shop .et_shop_image:hover .et_overlay,
.et_pb_shop .woocommerce-LoopProduct-link:hover .et_overlay,
.et_pb_shop ul.products li.product:hover .et_overlay {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Divi Overlay-Icon deaktivieren */
.et_pb_shop .et_overlay:before,
.et_pb_shop .et_overlay:after {
  display: none !important;
  content: none !important;
}

/* Bild komplett anzeigen */
.et_pb_shop ul.products li.product img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  display: block;
}

/* Bildwrapper soll nichts abschneiden */
.et_pb_shop .et_shop_image {
  overflow: visible !important;
  display: block;
}

/* Produktliste auf Workshopseite  ------------------------------------------------------- */


/* Äußere Wrapper */
.kk-workshop-list,
.kk-terminuebersicht-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Monatsüberschrift nur für Gesamtübersicht */
.kk-month {
  margin: 18px 0 6px;
  font-size: 26px;
  line-height: 1.2;
  font-weight: 700;
  color: #0c3b2e;
}

/* Einheitliche Inhaltsebene */
.kk-item {
  display: grid;
  grid-template-columns: 1.7fr 1.3fr 1fr 1.2fr auto;
  gap: 18px;
  align-items: center;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid #d8e2c8;
  border-radius: 16px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.04);
}

.kk-date {
  font-size: 18px;
  font-weight: 700;
  color: #0c3b2e;
}

.kk-category {
  font-size: 14px;
  font-weight: 700;
  color: #6a7b59;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.kk-category a {
  color: inherit;
  text-decoration: none;
  font-weight: inherit;
}

.kk-category a:hover {
  text-decoration: underline;
}

.kk-time,
.kk-availability {
  font-size: 15px;
  color: #03382A;
}

.kk-availability {
  font-weight: 600;
  color: #03382A;
}

.kk-availability.sold-out {
  color: red;
}

.kk-action {
  display: flex;
  justify-content: flex-end;
}

.kk-form {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}

.kk-qty {
  height: 46px;
  min-width: 78px;
  padding: 0 12px;
  border: 1px solid #cfd8bf;
  border-radius: 10px;
  background: #f8fbe9;
}

.kk-button,
span.kk-button.disabled {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 170px;
  height: 46px;  
  text-decoration: none;
  font-weight: 700;
  line-height: 1;
  color: #fff !important;
    background-color: #053827 !important;
    border: 1px solid #053827 !important;
    border-radius: 25px  !important;
    padding: 14px 26px;
    font-size: 1.1em;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;  
}

.kk-button:hover {
    background-color: #7d9b76 !important;

}
span.kk-button.disabled {
  background: #9fbea2;
  pointer-events: none;
}

.screen-reader-text {
  position: absolute !important;
  left: -9999px !important;
}

/* Unterschiedliche Feineinstellungen über äußere Wrapper möglich */
.kk-workshop-list .kk-item {
  grid-template-columns: 1.7fr 1fr 1.1fr 0.8fr auto;
}

.kk-terminuebersicht-list .kk-item {
  grid-template-columns: 1.5fr 1.2fr 1fr 1.1fr 0.8fr auto;
}

.kk-price {
  font-size: 16px;
  font-weight: 700;
  color: #0c3b2e;
}

.kk-price .amount {
  color: inherit;
  font-weight: inherit;
}

.kk-price .woocommerce-Price-currencySymbol {
  color: inherit;
}

@media (max-width: 980px) {
  .kk-item {
    grid-template-columns: 1fr 1fr !important;
  }

  .kk-action {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  .kk-month {
    font-size: 22px;
    margin: 16px 0 4px;
  }

  .kk-item {
    grid-template-columns: 1fr !important;
    gap: 10px;
    padding: 16px;
  }

  .kk-date {
    font-size: 17px;
  }

  .kk-form {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .kk-qty,
  .kk-button,
  span.kk-button.disabled {
    width: 100%;
    min-width: 0;
  }
}



/* Kachelansicht Unterkategorien */

.kk-workshop-kategorien {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.kk-workshop-kategorie {
  display: block;
 /* background: #fff;
  border: 1px solid #d8e2c8;
  border-radius: 18px; */
  overflow: hidden;
  text-decoration: none;
  /*box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);*/
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.kk-workshop-kategorie:hover {
  transform: translateY(-3px);
  /*box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08); */
}

.kk-workshop-kategorie-image {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f5f7ef;
}

.kk-workshop-kategorie-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.kk-workshop-kategorie-image.kk-no-image {
  min-height: 220px;
}

.kk-workshop-kategorie-title {
  padding: 18px 20px;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 700;
  color: #0c3b2e;
}

@media (max-width: 980px) {
  .kk-workshop-kategorien {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .kk-workshop-kategorien {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .kk-workshop-kategorie-title {
    font-size: 18px;
    padding: 16px 18px;
  }
}



/* WARENKORB und KASSE ------------------------------------------------------- */


body.woocommerce-cart #main-content,
body.woocommerce-checkout #main-content{
    background: #F3FADC !important;
    border-top: 30px solid #053827;
}

.wc-block-components-main table.wc-block-cart-items {
    background: #fff !important;
}

/* Infotext bei Paypal ausblenden */
#radio-control-wc-payment-method-options-ppcp-gateway__content {
    display: none !important;
}



/* Kontaktformular ------------------------------------------------------- */

.wps-form {
    width: 100%;
    margin: 0 auto;
}

.wps-form-row {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.wps-form-row .wpcf7-form-control {
    width: 100%;
}

.wps-form-column {
    flex: 1;
    padding: 0.5rem 0;
    width: 100%;
}

/* Notebook / Desktop */
@media only screen and ( min-width: 48em ) { 
    .wps-form-row {
        flex-direction: row;
    }

    .wps-form-column {
        padding: 0.5rem 1rem;
    }
}

div.wpcf7 {
    color:#1d1d1b;

}

/*.wpcf7 select {
    color: black;
    width: 25% ;
    font-size:17px !important;
}

*/
input.text, input.title, input[type=email], input[type=password], input[type=tel], input[type=text], select, textarea
wpcf7 input[type=”text”],
.wpcf7 input[type=”email”],
.wpcf7 textarea {
    color:#1d1d1b;
    width: 100% !important;
    border: 1px solid #ccc !important;
    min-height: 50px;
    font-size: 1.3em;
    background: #e8e8e8;
}

input[type=file] {
    font-size: 1em;
}

input.wpcf7-submit {
    background-color:#1d1d1b !important;
    color:#fff;
    border: 2px solid #fff;
    width: 100%;
    padding: 0.5rem;
    font-size: 1.5rem;
   /* text-transform:uppercase; */

}

select {
    font-size: 1em !important;
}


#wpcf7-f153-p140-o1 label {
    font-size: 1em !important;
}

.wpcf7-list-item-label {
    color: #776f7f !important;
    /*font-size: 0.65em !important; */
}

.wpcf7-list-item {
    margin-left: 0 !important;
    margin-right: 0.5em !important;
}


.wpcf7-not-valid-tip {
    font-size: 1em !important;
}

p .wpcf7-not-valid-tip {
    font-size: 1em !important;
}

input.wpcf7-not-valid {
    border: 1px solid red !important;
}

.wpcf7 input[type=”submit”]:hover
{
background-color:#fff;
color:#776f7f;
font-size:18px;
}

.wpcf7 fieldset { 
    border: 1px dotted #cccccc; 
    margin: 1em 0;
    padding: 1em;
} 

.wpcf7 fieldset legend { 
    font-size: 1.3em;
    padding: 0 0.2em;
    color: #999;
} 

.wpcf7 fieldset p small { 
    font-size: 0.75em !important;
    color: #776f7f;
} 

.wpcf7 fieldset small { 
    color: #776f7f !important;
} 

.wpcf7 fieldset hr {
    border: 1px solid #ccc;
}


