/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Studio Be4 team
Author: Studio Be4
Author URI: https://studiobe4.it
Template: hello-elementor
Version: 1.0.7
Text Domain: hello-elementor-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
*/


/* Scrollbar */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background-color: #f4f4f4;
}
::-webkit-scrollbar-thumb {
    background-color: #89A3E5;
    border-radius: 0px;
}
::-webkit-scrollbar-thumb:hover {
    background-color: #333333;
}

/* Testo in negativo */

.text_negative {
    font-weight: 500;
    color: #89A3E5;
}

/* Effetto hamburger menu */

.hamburger_box {
  position: relative;
  overflow: hidden;
  z-index: 210
}

.hamburger_box::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #333333;
  transform: translateY(100%);
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 220;
}

.hamburger_box:hover::after {
  transform: translateY(0);
}

.hamburger_box:hover .hamburger_icon {
  transform: rotate(-45deg);
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.hamburger_icon {
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  z-index: 230;
}


/* Effetto chiusura menu */

.hamburger_close {
  overflow: hidden;
  z-index: 210;
}

.hamburger_close::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #333333;
  transform: translateY(100%);
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 300;
}

.hamburger_close:hover::after {
  transform: translateY(0);
}

.icon_close {
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  z-index: 330;
}

.hamburger_close:hover .icon_close {
  transform: scale(0.8);
}

/* Sfondo header */

.header_box {
    background: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* Animazione Pulsanti */

/* === Button underline animation === */

.button_line_white,
.button_line_blu {
    position: relative;
    display: inline-block;
}

.button_line_white::after,
.button_line_blu::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    width: 30px;
    transition: width 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.button_line_white::after {
    background-color: #ffffff;
}

.button_line_blu::after {
    background-color: #89A3E5;
}

.button_line_white:hover::after,
.button_line_blu:hover::after {
    width: 100%;
}



/* Animazione Pulsanti Scroll Home*/

.scroll_button_grey {
  position: relative;
  overflow: hidden;
  z-index: 210;
}

.scroll_button_grey::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #89A3E5;
  border-radius: 50% 50% 0 0;
  transform: translateY(100%);
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 220;
}

.scroll_button_grey:hover::after {
  transform: translateY(0);
}

.scroll_arrow_grey_icon {
  position: relative;
  z-index: 230;
  transition: fill 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.scroll_button_grey:hover .scroll_arrow_grey_icon {
  fill: #ffffff;
}

.scroll_button_grey:hover .scroll_arrow_grey_icon path,
.scroll_button_grey:hover .scroll_arrow_grey_icon circle,
.scroll_button_grey:hover .scroll_arrow_grey_icon rect {
  fill: #ffffff;
}


/* Animazione Pulsanti Scroll Aree*/

.scroll_button_white {
  position: relative;
  overflow: hidden;
  z-index: 210;
}
.scroll_button_white::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  border-radius: 50% 50% 0 0;
  transform: translateY(100%);
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 220;
}
.scroll_button_white:hover::after {
  transform: translateY(0);
}
.scroll_arrow_white_icon {
  position: relative;
  z-index: 230;
  transition: fill 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.scroll_button_white:hover .scroll_arrow_white_icon {
  fill: #111111;
}
.scroll_button_white:hover .scroll_arrow_white_icon path,
.scroll_button_white:hover .scroll_arrow_white_icon circle,
.scroll_button_white:hover .scroll_arrow_white_icon rect {
  fill: #111111;
}

/* Animazione pulsanti form */

/* Stessa animazione di .button_line_white sul submit di JetFormBuilder */
.jet-form-builder__action-button.jet-form-builder__submit {
    position: relative;
    display: inline-block;
    /* reset per ottenere il look "line" pulito (rimuovi se vuoi tenere il bg del bottone) */
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0 0 8px 0;   /* spazio sotto per far respirare la linea */
    color: #ffffff;
    cursor: pointer;
}

.jet-form-builder__action-button.jet-form-builder__submit::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    width: 30px;
    background-color: #ffffff;
    transition: width 0.5s cubic-bezier(0.25, 1, 0.5, 1),
                background-color 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.jet-form-builder__action-button.jet-form-builder__submit:hover::after {
    width: 100%;
    background-color: #CEDAF8;
}

/* Neutralizza l'eventuale sfondo che il tema applica in hover */
.jet-form-builder__action-button.jet-form-builder__submit:hover {
    background: transparent !important;
}

/* Forms */
.riga_form {
	margin-bottom: 0px;
	gap:10px;
}

input:focus-visible, select:focus-visible, textarea:focus-visible {
	outline: none;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  border-bottom: 1px solid #ffffff !important;
  outline: none; /* rimuove il bordo blu predefinito del browser */
}



/* Animazione card aree home */

.go_area_box:hover .go_area_icon,
.go_area:hover .go_area_icon {
  transform: rotate(90deg);
  transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}






/* Banner Cookie - attivare se si usa LegalBlink
#cm_tertiary_btn {background-color:#333333!important;color:#FFFFFF!important;}
#cc_div .c_button, #cc_div .c_link, #cc_div #cm {border-radius:0px!important;}*/