/* 
Theme Name: WS Child
Theme URI: 
Description: 
Author: 
Author URI: ps-media.ch
Template: ws
Version: 1.0.1
Text Domain: ws-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

*:focus {
    outline: none;
}

 .ps-max-width {max-width:1080px!important;}
 
@media screen and (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
/* Global Einstellungen*/
.ps-text p, .ps-text h1. .ps-text h2, .ps-text h3, .ps-text h4{max-width:70%; }
.elementor-button-icon
{font-size:11px!important;line-height:20px!important;}

strong,b {font-weight: 600 !important;font-family: "Futura Pro Book"!important;}


/* fix elementor Post text mobile */
.elementor-posts--thumbnail-left .elementor-post__thumbnail__link {
    
    float: none;
    margin:0 0 10px 0!important;
    display:block!important;

}

.elementor-posts--skin-classic .elementor-post {
    overflow: hidden!important;
    display: block!important;
   }

}

  

#cn-notice-text.cn-text-container {font-size: 15px !important; text-align: left;}
#cn-notice-text.cn-text-container a {color: #fff; text-decoration: underline;}

/* Elementor Elemente */

/*menu */
.elementor-nav-menu .menu-item-has-children .sub-arrow {color:fff!important; fill: #fff;padding-left:5px!important;margin-top:-9px!important; font-size:25px!important;}
.elementor-menu-toggle.elementor-active {padding:0.25em!important;margin-top:-10px!important;}
.elementor-menu-toggle {height:70px;margin-top:2px;}
.elementor-nav-menu .menu-item-has-children li .sub-arrow {
color: #fff !important;
margin-top: -9px !important;
padding-left: 10px !important;font-size:23px!important;}
a.elementor-item.elementor-item-anchor.has-submenu:focus {
background-color: transparent!important;
}
a.elementor-sub-item.elementor-item-anchor,
a.elementor-sub-item.elementor-item:hover{font-size: 18px!important; padding-top:14px!important; padding-bottom: 14px!important;line-height:1.1!important;}

a.elementor-sub-item {padding-right:20px!important;}

.sub-menu li a{line-height: 1.5em!important;padding: 10px 20px 10px 8px!important;}

@media (max-width: 1024px) {
.sub-menu li a{line-height: 1.5em!important;padding: 8px 20px 8px 38px!important;}
}
/* Global fix */
.elementor-testimonial__text {font-style: normal!important;}

.elementor-widget-text-editor a:hover {text-decoration: underline!important;}

/*Admin Leiste */
#wp-toolbar a.ab-item.elementor-site-settings {display:none!important;}
#wp-toolbar a.ab-item.elementor-app-link {display:none!important;}
 

 a[href^="tel"] {
   color: inherit; /* Inherit text color of parent element. */
   text-decoration: none; /* Remove underline. */
   /* Additional css `propery: value;` pairs here */
 }
 

 /* Gravity Forms */
 
 /* Radios in GF wieder als native Controls anzeigen */
 .ps-contact-form form.gravity-theme .gfield_radio input[type="radio"],
 .ps-contact-form form.gravity-theme .gchoice input.gfield-choice-input[type="radio"] {
   display: inline-block;
   width: 22px;
   height: 22px;
   margin: 0;
   vertical-align: middle;
 
   /* native Darstellung erzwingen (nimmt Tailwind/Custom-Resets zurück) */
   appearance: auto!important;
   -webkit-appearance: radio!important;
   -moz-appearance: radio!important;
 
   opacity: 1;
   visibility: visible!important;
   position: static!important;
 }
 
 /* Falls Labels per Custom-Styles darüberliegen */
 /* Checkboxen und Radiobuttons – GF 2.5 Theme Override */
/* Container vorbereiten */
 .gform_wrapper .gform_body {
   position: relative;
   overflow: hidden; /* verhindert Scroll-Jumps während der Animation */
   padding: 5px!important;
 }
 
 /* Jede Seite stapeln */
 .gform_wrapper .gform_page {
   position: absolute;
   inset: 0;
   opacity: 0;
   transform: translateX(20%);
   transition: transform 300ms ease, opacity 300ms ease;
   pointer-events: none; /* verhindert Klicks auf inaktive Seiten */
 }
 
 /* aktive Seite sichtbar */
 .gform_wrapper .gform_page.is-active {
   opacity: 1;
   transform: translateX(0);
   pointer-events: auto;
   position: relative; /* damit Höhe vom aktiven Inhalt kommt */
 }
 
 /* Richtung: nach vorne (Next) */
 .gform_wrapper .gform_page.enter-from-right {
   transform: translateX(20%);
 }
 .gform_wrapper .gform_page.enter-from-left {
   transform: translateX(-20%);
 }
 
 /* Exit-Zustände */
 .gform_wrapper .gform_page.is-exiting.to-left {
   transform: translateX(-20%);
   opacity: 0;
 }
 .gform_wrapper .gform_page.is-exiting.to-right {
   transform: translateX(20%);
   opacity: 0;
 }
 
 /* Sanfter Höhenwechsel des Body-Containers */
 .gform_wrapper .gform_body.animating {
   transition: height 300ms ease;
 }
 
  .ps-gform  .gform_required_legend {display: none!important;}
 
 .ps-gform  .gform_fields  {color: #483D28;
   column-gap: 0;
   display: grid;
   row-gap: 10px!important;
   text-transform: none;}

 
 .ps-gform .gform_wrapper .gfield_checkbox input[type="checkbox"],
 .ps-gform .gform_wrapper .gfield_radio input[type="radio"],
 .ps-gform .gform_wrapper .ginput_container_consent input[type="checkbox"]{
   -webkit-appearance: none !important;
   appearance: none !important;
   width: 25px !important;
   height: 25px !important;
   margin: 0 10px 0 0 !important;
   border: 1px solid #ccc!important;
   background: #ffffff !important;
   display: inline-grid !important;
   place-content: center !important;
   outline: none !important;
   cursor: pointer !important;
   position: relative !important;
   flex-shrink: 0 !important;
 }
 
 
 .ps-gform .gform_wrapper .gfield_radio input[type="radio"],
 .ps-gform .gform_wrapper  .gfield_checkbox input[type="checkbox"],
 .ps-gform .gform_wrapper .ginput_container_consent input[type="checkbox"]{
   border-radius: 8px !important;
 }
 
 /* Checkmark (Checkbox) */
 .ps-gform .gform_wrapper  .gfield_checkbox input[type="checkbox"]::before,
 .ps-gform .gform_wrapper .ginput_container_consent input[type="checkbox"]::before{
  font-family: "Font Awesome 5 Free"!important;
   font-family: "Font Awesome 5 Free"!important;
   font-weight: 900 !important;
   font-size: 15px!important;
   content: "\f00c" !important; 
   margin-top: 2px!important;
 font-size: 20px!important;
   width: 0% !important;
   height: 0% !important;
   transform: scale(1) !important;
   background: #ffffff !important;
   color: #5F9064!important;
   transition: transform .15s ease-in-out !important;
   position: absolute !important;
 }
 
 
 /* Dot (Radio) */
 
 .ps-gform .gform_wrapper  .gfield_radio input[type="radio"]::before {
  font-family: "Font Awesome 5 Free"!important;
   font-weight: 900 !important;
   content: "\f00c" !important; 
   margin-top: -5px!important;
     font-size: 20px!important;
     margin-left: 1px!important;
 width: 0% !important;
   height: 0% !important;
   transform: scale(1) !important;
    color: #5F9064!important;
    background: #ffffff !important;
   transition: transform .15s ease-in-out !important;
   position: absolute !important;
 }
 
@media (max-width: 767px) {
  .ps-gform .gform_wrapper  .gfield_checkbox input[type="checkbox"]::before,
   .ps-gform .gform_wrapper .ginput_container_consent input[type="checkbox"]::before,
   .ps-gform .gform_wrapper .gfield_radio input[type="radio"]::before {
     margin-top: -2px !important; /* vorher -5px → jetzt 3px tiefer */
   }
 }
 
 
 /* Checked-Zustände */
 .ps-gform .gform_wrapper  .gfield_checkbox input[type="checkbox"]:checked, 
 .ps-gform .gform_wrapper .ginput_container_consent input[type="checkbox"]:checked {
   background: #ffffff !important;
   border-color: #7ba781 !important;
 }
 .ps-gform .gform_wrapper  .gfield_radio input[type="radio"]:checked {
   background: #ffffff !important;
   border-color: #7ba781 !important;
 }
 .ps-gform .gform_wrapper  .gfield_checkbox input[type="checkbox"]:checked::before,
 .ps-gform .gform_wrapper .ginput_container_consent input[type="checkbox"]:checked,
 .ps-gform .gform_wrapper .gfield_radio input[type="radio"]:checked::before {
   transform: scale(1) !important;
 }
 
 /* Fokus */
 .ps-gform .gform_wrapper .gfield_checkbox input[type="checkbox"]:focus,
 .ps-gform .gform_wrapper .gfield_radio input[type="radio"]:focus {
   box-shadow: 0 0 0 3px rgba(47, 133, 90, 0.3) !important;
 }
 
 /* Labels */
 .ps-gform .gform_wrapper  .gfield_checkbox label,
 .ps-gform .gform_wrapper  .gfield_radio label {
   color: #4b5563 !important;
   display: inline-flex !important;
   align-items: center !important;
   gap: 10px !important;
   line-height: 1.2 !important;
   font-size: 22px !important;
 }
 
 /* Listenelemente */
 .ps-gform .gform_wrapper .gfield_checkbox li,
 .ps-gform .gform_wrapper  .gfield_radio li {
   display: flex !important;
   align-items: center !important;
   margin: 8px 0 !important;}
 
 .ps-gform .gfield_label.gform-field-label,
 .ps-gform .gsection_title{
 color: #483D28!important;
 display: inline-block!important;
 font-family: "Futura Pro Book", Sans-serif!important;
 font-size: 20px!important;
 font-weight: 600!important;
 line-height: 1.5em!important;
 margin-bottom: 10px!important;
 margin-top: 0!important;
 margin-left: 0px!important;
 text-transform: none!important;
 vertical-align: middle!important;}
 
 .ps-gform legend.gfield_label.gform-field-label{
  margin-bottom: 19px!important;
}
 
 .ps-gform .gform-field-label {margin-left:5px!important;}
 
 
 .ps-gform  input.small,
 .ps-gform  input.medium,
 .ps-gform  input.large 
 {border: 1px solid #666666!important;
 color: #483D28!important;
 background-color: #ffffff!important;
 font-family: "Futura Pro Light", Sans-serif!important;
 font-size: 19px!important;
 font-weight: 300!important;
 line-height: 1.5!important;
 margin: 0!important;
 max-inline-size: 100%!important;
 overflow: visible!important;
 padding: 1.3rem 0.1rem!important;
 text-transform: none!important;
 transition: all .3s!important;
 transition-behavior: normal!important;
 user-select: auto!important;}
 
 .ps-gform  select.small,  .ps-gform  select.medium,  .ps-gform  select.large,
 .ps-gform textarea.small, .ps-gform textarea.medium , .ps-gform textarea.large
  {border: 1px solid #666666!important;
  color: #483D28!important;
  background-color: #ffffff!important;
  font-family: "Futura Pro Light", Sans-serif!important;
  font-size: 19px!important;
  font-weight: 300!important;}
 
 
 
 .ps-gform .gform-theme-button.button,
 .ps-gform  .gform_button,
 input.gform_next_button
{
 border-radius: 8px !important;
 overflow: visible !important;
 transition: all .3s linear !important;
 text-wrap-mode: nowrap !important;
 background-color: #5F9064 !important;
 background-repeat: repeat !important;
 background: #5F9064 !important;
 border: 0 solid #cc3366 !important;
 color: #FFFFFF !important;
 display: inline-block !important;
 font-family: "Futura Pro Light", Sans-serif !important;
 font-size: 23px !important;
 font-weight: 300 !important;
 line-height: 1.5em !important;
 margin: 0 !important;
 padding: 5px 15px !important;
 text-align: center !important;
 text-transform: none !important;
 transition-behavior: normal !important;
 user-select: auto !important;
 white-space-collapse: collapse !important;
}
 
 
 .ps-gform .gform_previous_button.gform-theme-button {
 background-color: #ccc !important;
 color: #483d28!important;
 }

 .ps-gform .gfield_required{font-size:21px!important;}
 .ps-gform  .gfield_consent_label {margin-top:-3px!important;}
 
 .ps-gform .gfield_validation_message {font-size:18px!important;}
 .ps-gform  .gfield_consent_label,
 .ps-gform  .gfield_consent_label a
 {font-size:18px!important;}

 .ps-gform .field_description_below{font-size:16px!important;}

 /* Standard Inputs */
 body .gform_wrapper input[type="text"]:focus,
 body .gform_wrapper input[type="email"]:focus,
 body .gform_wrapper input[type="url"]:focus,
 body .gform_wrapper input[type="tel"]:focus,
 body .gform_wrapper input[type="number"]:focus,
 body .gform_wrapper input[type="password"]:focus,
 body .gform_wrapper select:focus,
 body .gform_wrapper textarea:focus {
   border-color: #5F9064 !important;   /* Blaue Umrandung */
   box-shadow: 0 0 3px 2px rgba(100, 100, 100, 0.3); /* sanfter Glow */
   outline: none;           /* Standard-Outline entfernen */
   transition: all 0.2s ease-in-out;
 }
 
div.gf_progressbar.gf_progressbar_custom{display: none; visibility: hidden!important;}
 
 /* footer */

.ps-subfooter a {font-size: calc((1.1 - 1)*1.2vw + 1rem)!important;line-height:1.4!important;}
.ps-subfooter a:hover, .ps-footer a:hover {text-decoration: underline !important;}
