/*!
Theme Name: Ohio-Child
Theme URI: http://ohio.colabr.io/
Author: Colabrio
Author URI: http://colabr.io/
Description: Ohio is a WordPress theme bundled with premium plugins to build a modern and functional website.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: ohio
Text Domain: ohio-child
Tags: ajax, customizer, ecommerce, portfolio, minimal, page builder, responsive, multipurpose, shop, store, woocommerce, wpml

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
*/

:root {
	--Vetreria-gradient-verticale: linear-gradient(180deg, #026868 0%, #9ACC9A 100%);
	--Vetreria-gradient-verticale-invers: linear-gradient(180deg, #9ACC9A 0%, #026868 100%);
	--Vetreria-green-dark: #026868;
	--Vetreria-green-light: #9ACC9A;
}

/* Contenitore del bottone con bordo gradiente */
.elementor-widget-button.gradient-button {
	position: relative;
	display: inline-block;
	border-radius: 100px;
	padding: 2px;
	background: var(--Vetreria-gradient-verticale);
	overflow: hidden;
	transition: background 0.3s ease;
}

/* Bottone interno */
.elementor-widget-button.gradient-button .elementor-button {
	position: relative;
	z-index: 1;
	border: none;
	border-radius: 100px;
	padding: 10px 18px !important;
	background: var(--Vetreria-gradient-verticale);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	transition: all 0.3s ease;
}

/* Testo e icona base */
.elementor-widget-button.gradient-button .elementor-button-text,
.elementor-widget-button.gradient-button .elementor-button-icon {
	color: #fff;
	transition: all 0.3s ease;
}


.elementor-widget-button.gradient-button:hover .elementor-button {
	background: #fff; /* Nessuna trasparenza per evitare flicker */
}

.elementor-widget-button.gradient-button:hover .elementor-button-text,
.elementor-widget-button.gradient-button:hover .elementor-button-icon {
	background: var(--Vetreria-gradient-verticale);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;
}

/* Variante inverse (bordo verde, interno bianco, testo in gradiente) */
.elementor-widget-button.gradient-button.inverse .elementor-button {
	background: #fff !important;
	color: var(--Vetreria-green-dark);
}

/* Testo e icona in gradiente per inverse */
.elementor-widget-button.gradient-button.inverse .elementor-button-text,
.elementor-widget-button.gradient-button.inverse .elementor-button-icon {
	background: var(--Vetreria-gradient-verticale);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: var(--Vetreria-green-dark); /* fallback */
	transition: all 0.3s ease;
}

/* Hover inverse: riempie il bottone con gradiente, testo diventa bianco */
.elementor-widget-button.gradient-button.inverse:hover .elementor-button {
	background: var(--Vetreria-gradient-verticale) !important;
}

.elementor-widget-button.gradient-button.inverse:hover .elementor-button-text,
.elementor-widget-button.gradient-button.inverse:hover .elementor-button-icon {
	background: #fff;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;
}

.elementor-widget-text-editor > *:last-child{
	margin-bottom: 0 !important;
}

.elementor-widget-text-editor > *:first-child{
	margin-top: 0 !important;
}

.elementor-widget-text-editor p + p{
	margin-top: 1rem;
}

.elementor-widget-text-editor a{
	color: inherit;
}

.elementor-widget-text-editor a:hover{
	color: inherit;
}

.footer-width-fixer .elementor,
footer .elementor{
	margin: 0;
}

.footer-width-fixer .page-container::after,
footer .page-container::after{
	display: none;
}

.hamburger-nav .page-container .hamburger-nav-details .details-column:not(.social-networks) p{
	font-size: 80%;
    font-weight: 300;
    line-height: 140%;
}

.hamburger-nav.type2 .menu, 
.hamburger-nav.type3 .menu{
	width: 100%;
}

.hamburger-nav.type2 .menu .nav-item, 
.hamburger-nav.type3 .menu .nav-item{
	display: flex;
    align-content: center;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.clb-popup:not(.-slide-in){
	background-color: #9acc9a;
}

input[type="email"], 
input[type="number"], 
input[type="password"], 
input[type="search"], 
input[type="tel"], 
input[type="text"], 
input[type="date"], 
input[type="url"], 
textarea, 
select, 
.select2-container--default .select2-selection--single{
	background-color: rgba(22, 21, 25, 0.25);
	border: 1px solid rgba(0, 0, 0, 0.25);
	border-radius: 8px;
	min-height: var(--clb-circle);
	color: #000!important;
}

input[type="email"]:not(.-outlined):focus, 
input[type="email"]:not(.-outlined):active, 
input[type="number"]:not(.-outlined):focus, 
input[type="number"]:not(.-outlined):active, 
input[type="password"]:not(.-outlined):focus, 
input[type="password"]:not(.-outlined):active, 
input[type="search"]:not(.-outlined):focus, 
input[type="search"]:not(.-outlined):active, 
input[type="tel"]:not(.-outlined):focus, 
input[type="tel"]:not(.-outlined):active, 
input[type="text"]:not(.-outlined):focus, 
input[type="text"]:not(.-outlined):active, 
input[type="date"]:not(.-outlined):focus, 
input[type="date"]:not(.-outlined):active, 
input[type="url"]:not(.-outlined):focus, 
input[type="url"]:not(.-outlined):active, 
textarea:not(.-outlined):focus, 
textarea:not(.-outlined):active, 
select:not(.-outlined):focus, 
select:not(.-outlined):active, 
.select2-container--default .select2-selection--single:not(.-outlined):focus, 
.select2-container--default .select2-selection--single:not(.-outlined):active{
	background-color: rgba(22, 21, 25, 0.5);
	color: #fff!important;
}

input[type="email"]::placeholder, 
input[type="number"]::placeholder, 
input[type="password"]::placeholder, 
input[type="search"]::placeholder, 
input[type="tel"]::placeholder, 
input[type="text"]::placeholder, 
input[type="date"]::placeholder, 
input[type="url"]::placeholder, 
textarea::placeholder, 
select::placeholder, 
.select2-container--default .select2-selection--single::placeholder{
	color: rgba(0, 0, 0, 0.5)!important;
}

input[type="email"].wpcf7-not-valid, 
input[type="number"].wpcf7-not-valid, 
input[type="password"].wpcf7-not-valid, 
input[type="search"].wpcf7-not-valid, 
input[type="tel"].wpcf7-not-valid, 
input[type="text"].wpcf7-not-valid, 
input[type="date"].wpcf7-not-valid, 
input[type="url"].wpcf7-not-valid, 
textarea.wpcf7-not-valid, 
select.wpcf7-not-valid, 
.select2-container--default 
.select2-selection--single.wpcf7-not-valid{
	box-shadow: 0 0 0 1.5px #FF0000;
}

.search-popup .holder .search select,
.search-popup .holder .search-submit,
.search-popup .holder .search-field{
	color: #fff;
	font-family: Montserrat;
    font-size: 16px;
    line-height: 1;
    font-weight: 300;
}

.clb-popup .close-bar .icon{
	color: #161519;
}

iframe.g-maps{
	border-radius: 8px;
    box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.25);
}

.form-flex{
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    justify-content: flex-start;
	gap: 0px 30px;
}

.form-flex > *{ 
	flex-grow: 1;
}

.elementor-widget-ohio_contact_form button{
	background: var(--Vetreria-gradient-verticale) !important;
    padding: 2px !important;
    border: none;
	min-height: 0;
	min-width: 125px;
}

.elementor-widget-ohio_contact_form button > span{
	padding: 10px 18px !important;
	font-family: "Montserrat", Sans-serif;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 114.286%;
    letter-spacing: 0.42px;
    transition-duration: 300ms;
	border-radius: 100px;
	width: -webkit-fill-available;
}

.elementor-widget-ohio_contact_form button:hover > span{
	background: #fff!important;
}

.elementor-widget-ohio_contact_form button:hover > span > span{
	background: var(--Vetreria-gradient-verticale);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

.contact-form .wpcf7-form.spam .wpcf7-response-output,
.contact-form .wpcf7-form.invalid .wpcf7-response-output,
.subscribe-form .wpcf7-form.spam .wpcf7-response-output,
.subscribe-form .wpcf7-form.invalid .wpcf7-response-output{
	background-color: rgba(255, 0, 0, 0.3);
    border: 1px solid rgba(255, 0, 0, 1);
    color: #161519;
}

@media screen and (max-width: 777px) {
	.elementor-widget-slider_revolution sr7-content sr7-arrow.sr7-leftarrow{
		left: calc(50% - 105px)!important;
		transform: translate(-50%, -48px)!important;
	}
	
	.elementor-widget-slider_revolution sr7-content sr7-arrow.sr7-rightarrow{
		right: calc(50% - 105px) !important;
		transform: translate(50%, -48px) !important;
	}
	
	.elementor-widget-ohio_contact_form button{
		width: 100%;
	}
}

.overlay-lightbox a{
	height: 100%;
	width: 100%;
}

.to-top-scroller{
	position: fixed;
    height: 50px;
    width: 50px;
    background-image: linear-gradient(180deg, #026868 0%, #9ACC9A 100%);
    bottom: 40px;
    right: 40px;
    z-index: 10;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
	overflow: hidden;
	transition: all 0.3s ease;
	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

.to-top-scroller:hover{
	transform: scale(1.2);
}

.to-top-scroller a{
	width: 100%;
    height: 100%;
	display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.to-top-scroller a i{
	color: #fff;
	font-size: 25px;
}

.elementor-widget-image figure a{
	display: block;
}

/* @RobRibo */
.infocard-radius-1 > div {
	border-radius: 10px;
}
.col-sm-1-2 {
	width: 50%;
	float: left;
}
.accordion-body .container,
.accordion-body .container .row {
	width: 100%;
	display: block;
}

@media screen and (max-width: 1024px) {
	.to-top-scroller{
		height: 40px;
		width: 40px;
		bottom: 20px;
		right: 20px;
	}
	
	.to-top-scroller a i{
		font-size: 20px;
	}
}

@media screen and (max-width: 767px) {
	.col-sm-1-2 {
		width: 100%;
		float: left;
		margin-top: 20px;
	}
}

@media screen and (max-width: 576px) {
	.to-top-scroller {
        bottom: 15px;
        right: 15px;
    }
}

.nav.with-highlighted-menu .nav-item .menu-link:hover, .nav.with-highlighted-menu .nav-item.current-menu-item > .menu-link {
    color: rgba(255,255,255,.7);
}

body .rob-custom-tagline.custom-titolo-p .custom-titolo-p_title {
    max-width: 100% !important;
}

.clb-popup.hamburger-nav.type2 .icon-button.-light {
	background: rgba(255, 255, 255, 0.2);
}
.clb-popup.hamburger-nav.type2 .icon-button.-light .icon {
	color: #fff;
}

.infocard-radius-1.min-height h4 {
	min-height: 46px;
}
.infocard-radius-1.min-height .hfe-infocard-text {
	min-height: 55px;
}
@media screen and (max-width: 1500px) {
	.infocard-radius-1.min-height .hfe-infocard-text {
		min-height: 81px;
	}
}
@media screen and (max-width: 1024px) {
	.infocard-radius-1.min-height .hfe-infocard-text {
		min-height: 55px;
	}
}
@media screen and (max-width: 767px) {
	.infocard-radius-1.min-height h4 {
		min-height: auto;
	}
	.infocard-radius-1.min-height .hfe-infocard-text {
		min-height: auto;
	}
}