/* 
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*/
.elementor-button-icon
{font-size:11px!important;line-height:20px!important;}

strong,b {font-weight: 700 !important;}

/*Links */
.ps-link-intro a,.ps-link-intro a:hover  {font-size:clamp(1.5rem, 1.3689rem + 0.2049vw, 1.625rem)!important;font-weight: 400!important;}

@media (max-width: 768px) {
.ps-link-intro a,.ps-link-intro a:hover  {font-size: clamp(1.1875rem, 1.0648rem + 0.5168vw, 1.3125rem)!important;font-weight: 400!important;}
}


.elementor-widget-text-editor a {
  padding: 0;
  line-height: 1.4em;
  color: inherit;
  text-decoration: none;

  background-image: 
    linear-gradient(#000, #000),                 /* schwarze Linie */
    linear-gradient(90deg, #DCF147 0 0);         /* Hover-Fläche */

  background-size: 
    100% 1px,     /* feine Unterstreichung */
    0% 100%;      /* Hover startet bei 0% */

  background-position: 
    0 100%,       /* Linie unten */
    0 0;          /* Hover-Fläche */

  background-repeat: no-repeat;
  transition: background-size 0.3s ease, color 0.3s ease;
}

.elementor-widget-text-editor a:hover {
  color: #fff;
  background-size:
    0% 1px,       /* Linie verschwindet */
    100% 100%;    /* Fläche fährt ein */
}
/* Effekt im Header & Footer deaktivieren */
.elementor-popup-modal .elementor-widget-text-editor a,
.elementor-location-header .elementor-widget-text-editor a,
.elementor-location-footer .elementor-widget-text-editor a {
  background: none;
  transition: none;
}

/* 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 */

/* Video Correction & Full Screen Video IE & Edge */

 .pt-plus-bg-video video{ height: 100vh!important; 
  object-fit: cover !important;
  width: 100vw !important;}
  
  
/* Übergang vorbereiten */
.elementor-button .elementor-button-icon {
    transition: transform 0.25s ease;}

/* Beim Hover des Buttons Icon nach rechts schieben */
.elementor-button:hover .elementor-button-icon {
    transform: translateX(6px);}

.elementor-button-icon svg{width:25px;}


.ps-modern-box{
  --r: 25px; /* the radius */
  --s: 30px; /* size of inner curve */
  --x: 30px; /* horizontal offset (no percentage) */
  --y: 50px; /* vertical offset (no percentage) */
  
  border-radius: var(--r);
  --_m:/calc(2*var(--r)) calc(2*var(--r)) radial-gradient(#000 70%,#0000 72%);
  --_g:conic-gradient(at calc(100% - var(--r)) var(--r),#0000 25%,#000 0);
  --_d:(var(--s) + var(--r));
  mask:
    calc(100% - var(--_d) - var(--x)) 0 var(--_m),
    100% calc(var(--_d) + var(--y)) var(--_m),
    radial-gradient(var(--s) at 100% 0,#0000 99%,#000 calc(100% + 1px)) 
     calc(-1*var(--r) - var(--x)) calc(var(--r) + var(--y)),
    var(--_g) calc(-1*var(--_d) - var(--x)) 0,
    var(--_g) 0 calc(var(--_d) + var(--y));
  mask-repeat: no-repeat;
}


/* Basiszustand */
.ps-portfolio-link .elementor-icon svg path {
    transition: transform 0.25s ease, fill 0.25s ease, stroke 0.25s ease;
}

/* Hover-Effekt */
.ps-portfolio-link:hover .elementor-icon {
    transform: translateX(6px);
}

/* Farben beim Hover */
.ps-portfolio-link:hover .elementor-icon svg path {
    fill: #000000;
    stroke: #fff;
}


.elementor-testimonial__text {font-style: normal!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 */
 }
 
 /* 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: #000000;
   column-gap: 0;
   display: grid;
   row-gap: 10px!important;
   text-transform: none;}

 .ps-gform .ginput_container_checkbox .gfield_checkbox {margin-top:10px!important;}
 .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-weight: 900 !important;
   font-size: 15px!important;
   content: "\f00c" !important; 
   margin-top: -5px!important;
 font-size: 20px!important;
   width: 0% !important;
   height: 0% !important;
   transform: scale(1) !important;
   background: #ffffff !important;
   color: #83BB26!important;
   transition: transform .15s ease-in-out !important;
   position: absolute !important;
   left:1px;
   top:6px;
 }
 
 
 /* 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: #83BB26!important;
    background: #ffffff !important;
   transition: transform .15s ease-in-out !important;
   position: absolute !important;
 }
 
 /* Checked-Zustände */
 .gfield--input-type-checkbox .gfield_label{margin: 0px 0px 15px 0px;} 
 .ps-gform .gfield_checkbox {margin: 15px 0px 15px 0px;}
 .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 1px rgba(47, 133, 90, 0.3) !important;
 }
 
 /* Labels */
 .ps-gform .gform_wrapper  .gfield_checkbox label,
 .ps-gform .gform_wrapper  .gfield_radio label {
   color: #000000 !important;
   display: inline-flex !important;
   gap: 0px !important;
   line-height: 1.5 !important;
   font-size: 19px !important;
   font-weight: 300;
 }
 
 .ps-gform .gchoice,  .ps-gform .gfield_checkbox  {
row-gap: 4px!important;
border: 0px solid #f00!important;
 }

 
 /* Listenelemente */
 .ps-gform .gform_wrapper .gfield_checkbox li,
 .ps-gform .gform_wrapper  .gfield_radio li {
   display: flex !important;
   align-items: center !important;
   margin: 4px 0 !important;}
 
 .ps-gform .gfield_label.gform-field-label,
 .ps-gform .gsection_title{
 color: #333333!important;
 display: inline-block!important;
font-family: "adelle-sans", Sans-serif;
 font-size: 18px!important;
 font-weight: 600!important;
 line-height: 1.5em!important;
 margin-bottom: 5px!important;
 margin-top: 0!important;
 margin-left: 0px!important;
 text-transform: none!important;
 vertical-align: middle!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 #ccc!important;
 color: #000000!important;
 background-color: #ffffff!important;
 font-family: "adelle-sans", 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.5rem 0.4rem!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 #ccc!important;
  color: #000000!important;
  background-color: #ffffff!important;
 font-family: "adelle-sans", Sans-serif!important;

  font-size: 19px!important;
  font-weight: 300!important;}
 
 
 
.ps-gform .gform_button {
    background-color: transparent !important;
    border-radius: 40px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    display: inline-block !important;
    font-family: "adelle-sans", Sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.4em !important;
    text-decoration: none !important;
    border: 2px solid #000000 !important;
    color: #000000 !important;
    padding: 20px 60px 20px 30px !important; /* Platz rechts fürs Icon */
    transition: all .3s ease !important;
  
    background-image: url('/wp-content/themes/ws-child/arrow-right.svg');
    background-repeat: no-repeat;
    background-position: right 26px center;
    background-size: 26px;
  }
  
  /* Hover → Icon bewegt sich nach rechts */
  .ps-gform .gform_button:hover {
    background-position: right 18px center;
  }
 .ps-gform .gform_previous_button.gform-theme-button {
 background-color: #ccc !important;
 color: #000000!important;
 }

 .ps-gform .gfield_required{font-size:19px!important;}
 .ps-gform  .gfield_consent_label {margin-top:2px!important; font-weight: 300!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;font-weight: 300!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: #83BB26 !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;
 }
 

