/*
  Theme Name: Gabriele Sol
  Theme URI: https://gabrielesol.com
  Version: 1.0.0
  Template: Divi
  Author: Fuel LAB®
  Author URI: https://fuellabstudio.com
  Description: Custom Theme for Gabriele Sol
  Text Domain: gabriele-sol
  License: GNU General Public License v2 or later
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* Menu Icon Override*/

#mega-menu-wrap-primary-menu #mega-menu-primary-menu span.mega-menu-badge.mega-menu-badge-style-two {
    background-color: #04a697;
    color: black;
	font-weight: bold;}



.blur-bg {
    background-color: rgb(117 139 150 / 9%) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

.blur-bg-2 {    
    background-color: rgb(117 139 150 / 1%) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

.blur-bg-t {    
    background-color: rgb(117 139 150 / 0%) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

.blur-bg-nav {
    background-color: rgb(15 15 15 / 59%) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

.blur-bg-dark {    
    background-image: linear-gradient(180deg, #000000c7 0%, #00151fcf 99%) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

/* Stile sfocato solo per la visualizzazione mobile */
@media (max-width: 980px) {
    .blur-bg-t-mobileonly {
        background-color: rgb(117 139 150 / 0%) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
    }
}


/* External link icon (inline SVG injected by JS) */
.external-link-icon {
  display: inline-block;
  vertical-align: text-top;
  margin-left: 0.35em;
  line-height: 1;
}
.external-link-icon svg {
  width: 0.9em;
  height: 0.9em;
  display: inline-block;
  /* Colore ereditato dal link */
  fill: currentColor;
}


/* ——— Dynamic Divi button colors by pillar ———
   Targets the actual <a> element and matches Divi’s specificity.
   Activates only when <body data-pillar="..."> is set by JS below.
*/

/* Normal buttons: change bg, border, text */
body[data-pillar] #page-container .et_pb_section a.et_pb_button.dynamic-color-button:not(.book-now),
body[data-pillar] #page-container .et_pb_section a.et_pb_button.dynamic-color-button:not(.book-now):hover,
body[data-pillar] #page-container .et_pb_section a.et_pb_button.dynamic-color-button:not(.book-now):focus,
body[data-pillar] #page-container .et_pb_section a.et_pb_button.dynamic-color-button:not(.book-now):visited {
  background-color: var(--dc-bg) !important;
  border-color: var(--dc-border) !important;
  color: var(--dc-text) !important;
}

/* Divi arrow pseudo-element on buttons */
body[data-pillar] #page-container .et_pb_section a.et_pb_button.dynamic-color-button:not(.book-now):after {
  color: var(--dc-text) !important;
}

/* Special case: .book-now keeps its own bg/text, only border adapts */
body[data-pillar] #page-container .et_pb_section a.et_pb_button.dynamic-color-button.book-now,
body[data-pillar] #page-container .et_pb_section a.et_pb_button.dynamic-color-button.book-now:hover,
body[data-pillar] #page-container .et_pb_section a.et_pb_button.dynamic-color-button.book-now:focus,
body[data-pillar] #page-container .et_pb_section a.et_pb_button.dynamic-color-button.book-now:visited {
  border-color: var(--dc-border) !important;
}

/* Indice dei contenuti — container */
.sol-toc-block{
  background:#f1f1f1;
  padding:24px;
  border-radius:24px;
  margin:24px 0;
}
.sol-toc-title{
  margin:0 0 12px;
  font-weight:800;
}

/* Reset liste */
.sol-toc-nav ul{ list-style:none; margin:0; padding:0; }
.sol-toc-nav li{ margin:0 !important; padding:0 !important; font-size:22px;} /* azzera margini tema */

/* Nessuna indentazione */
.sol-toc-sublist{ margin:0; padding:0; }
.toc-level-3{ margin-left:0; }

/* Spaziatura UNIFORME riga-per-riga (sia H2 che H3) */
.toc-level-2 > a,
.sol-toc-sublist > li > a{
  display:block;
  margin:0.6rem 0;   /* unica fonte di spaziatura verticale */
}

/* Link: neri, non sottolineati */
.sol-toc-nav a{
  color:#111 !important;
  text-decoration:none !important;
  box-shadow:none !important;
  border-bottom:0 !important;
}
.sol-toc-nav a:hover,
.sol-toc-nav a:focus{
  color:#111 !important;
  text-decoration:none !important;
  box-shadow:none !important;
  border-bottom:0 !important;
}




/*NINJA FORMS POPUP STYLE*/ 

.nf-response-msg {
background-color: rgb(13 186 119 / 81%); 
color: #430b5a;
border-radius: 16px 16px 16px 16px; 
	overflow: hidden; 
	padding-top: 10px !important; 
	padding-right: 20px !important; 
	padding-bottom: 10px !important; 
	padding-left: 20px !important; 
	font-size: 22px; 
	width: fit-content; 
	margin-bottom: 40px; 
	font-weight: 500; } 

.nf-before-form-content {display:none;} 

.fl-popup-form-message-element {
	border-radius: 16px 16px 16px 16px; 
	overflow: hidden; 
	border-width: 1px; 
	border-color: #693C9E;} 

.ninja-forms-field.fl-popup-form-element { 
	min-height: 40px !important; 
	border-top-width: 0px; 
	border-left-width: 0px; 
	border-right-width: 0px; 
	border-bottom-width: 1px; 
	border-bottom-color: #693C9E; } 

/* Bottone Ninja Forms stile "pill button nero" */ 

input[type="submit"].ninja-forms-field { 
	
	background-color: #000; /* bottone nero */ 
	color: white; 
	border: none; 
	border-radius: 16px; 
	padding: 12px 30px; 
	font-size: 16px; 
	font-weight: 600; 
	text-transform: none; 
	cursor: pointer; 
	transition: background-color 0.3s ease; 
	display: inline-block; } 

/* Hover effect simile */ 

input[type="submit"].ninja-forms-field:hover { background-color: #222; } 

/*NINJA FORMS LANDING STYLE*/ 
.fl-gdpr-container .nf-field-description p { 
	font-size: 14px; 
	color: #ffffff; 
	margin: 0; 
	line-height: 1.4; } 

.fl-hide-bfc .nf-before-form-content {display:none;} 

/* ===== Campi input ===== */ 
.ninja-forms-field.fl-landing-ninja-element, .ninja-forms-field.fl-popup-form-message-element.nf-element { 
	background: white; 
	border: none; 
	border-radius: 16px; 
	padding: 10px 30px; 
	font-size: 16px; 
	color: #333; 
	width: 100%; 
	box-shadow: none; 
	outline: none; 
	transition: border-color 0.3s ease; }

.ninja-forms-field.fl-landing-ninja-element:focus { border-bottom-color: #401a74; } 

/* ===== Label ===== */ 

.fl-landing-ninja-container label { 
	font-weight: 600; 
	font-size: 14px; 
	color: #333; 
	margin-bottom: 6px; 
	display: block; } 

/* ===== Submit Button ===== */ 

.fl-landing-ninja-button-element { 
	background-color: #CFF828 !important; 
	color: black !important; 
	border: none; 
	border-radius: 16px; 
	padding: 12px 30px; 
	font-size: 16px; 
	font-weight: 600; 
	cursor: pointer; 
	display: block; 
	float: right; 
	margin-top: 30px; 
	transition: background-color 0.3s ease; } 

.fl-landing-ninja-button-element:hover { background-color: #222; }






/* Blurb Centrati per Specializzazioni pagina bio*/
.speciality-blurb .et_pb_blurb_content {display:flex; align-items:center;}
.speciality-blurb {  transform: translateX(10%);}
/* Fix per liste - simbolo allineato in alto*/
.dsm_icon_list_wrapper {align-self: baseline !important;}
.dsm_icon_list_layout_horizontal .dsm_icon_list_wrapper {align-self: unset !important;}

/*handler css per i simboli speciali (script in wp code)*/
.reg-symbol {
  font-size: 0.55em !important;
  position: relative !important;
  top: -0.6em !important;
  line-height: 0 !important;
  vertical-align: baseline !important;
  font-weight: normal !important;
  display: inline-block !important;
}

/*Stile per i pulsanti button-flex*/
.button-flex {width:90%;
white-space:nowrap;
text-align:center;}
/* Contenitore del Blurb con posizione relativa per gestire overlay */
.et_pb_blurb.coming-soon {
  position: relative;
  overflow: hidden;
}

/* Sfoca tutto il contenuto del Blurb (titolo e descrizione inclusi) */
.et_pb_blurb.coming-soon .et_pb_blurb_content {
  filter: blur(18px);
  pointer-events: none; /* Disabilita l'interazione con il contenuto durante la sfocatura */
  transition: filter 0.3s ease-in-out;
}

/* Rimuove la sfocatura quando si fa hover */
.et_pb_blurb.coming-soon:hover .et_pb_blurb_content {
  filter: none;
  pointer-events: auto; /* Riabilita l'interazione al passaggio del mouse */
}

/* Aggiunge un overlay bianco con opacità del 50% sopra tutti gli elementi */
.et_pb_blurb.coming-soon::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.5);
  z-index: 2;
  transition: opacity 0.3s ease-in-out;
}

/* Rimuove l'overlay durante l'hover */
.et_pb_blurb.coming-soon:hover::before {
  opacity: 0;
}

/* Scritta centrata sopra il Blurb con stile personalizzato */
.et_pb_blurb.coming-soon::after {
  content: "In arrivo";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Uncut Sans', Helvetica, Arial, Lucida, sans-serif;
  font-weight: 600;
  font-size: 22px;
  color: rgba(39,47,51,0.7)!important;
  line-height: 1.2em;
  text-align: center;
  width: 90%;
  padding: 0 10px;
  box-sizing: border-box;
  z-index: 3;
  white-space: normal;  /* Permette al testo di andare a capo */
}

/* Rimuove la scritta durante l'hover */
.et_pb_blurb.coming-soon:hover::after {
  display: none;
}


.button-p {font-size: 13px; text-align: right;}
/* .button-flex {width:90%; text-align: center;}
.et_pb_button_module_wrapper .button-flex {flex-grow: 1;}*/


@media all and (min-width: 1400px) 
{ .et_pb_section .et_pb_button_0_tb_header {font-size: clamp(12px, 1.2vw, 16px) !important; margin-top:6% !important;}
.et_pb_section .et_pb_button_1_tb_header {font-size: clamp(12px, 1.2vw, 16px) !important; margin-top:6% !important;}
.et_pb_section .et_pb_button_2_tb_header {font-size: clamp(12px, 1.2vw, 16px) !important; margin-top:6% !important;}
.et_pb_section .et_pb_button_3_tb_header {font-size: clamp(12px, 1.2vw, 16px) !important; margin-top:6% !important;}
.et_pb_section .et_pb_button_4_tb_header {font-size: clamp(12px, 1.2vw, 16px) !important; margin-top:6% !important;}
}

.link-scroller::-webkit-scrollbar {display:none !important;}

/* Classe per uno sfondo sfocato generico */
.blurry-background {
    background-color: rgba(255, 255, 255, 0.5); /* Imposta il colore di sfondo trasparente con opacità */
    backdrop-filter: blur(10px) !important; /* Imposta la quantità di sfocatura desiderata */
    -webkit-backdrop-filter: blur(10px) !important; /* Prefisso per Safari */
}

/* Classe per uno sfondo sfocato generico senza prefisso -webkit- */
.blurry-background-no-prefix {
    background-color: rgba(255, 255, 255, 0.5); /* Imposta il colore di sfondo trasparente con opacità */
    backdrop-filter: blur(10px); /* Imposta la quantità di sfocatura desiderata */
}

/* Classe per uno sfondo sfocato specifico con prefisso -webkit- */
.blurry-background-mud {
    background-color: rgba(39, 47, 51, 0.5) !important; /* Imposta il colore di sfondo trasparente con opacità */
    backdrop-filter: blur(10px) !important; /* Imposta la quantità di sfocatura desiderata */
    -webkit-backdrop-filter: blur(10px) !important; /* Prefisso per Safari */
}

/* Classe per uno sfondo sfocato specifico senza prefisso -webkit- */
.blurry-background-mud-no-prefix {
    background-color: rgba(39, 47, 51, 0.77) !important; /* Imposta il colore di sfondo trasparente con opacità */
    backdrop-filter: blur(10px) !important; /* Imposta la quantità di sfocatura desiderata */
}

/* Classe per uno sfondo sfocato specifico con prefisso -webkit- */
.blurry-background-mud-head {
    background-color: rgba(39, 47, 51, 0.7) !important; /* Imposta il colore di sfondo trasparente con opacità */
    backdrop-filter: blur(10px) !important; /* Imposta la quantità di sfocatura desiderata */
    -webkit-backdrop-filter: blur(10px) !important; /* Prefisso per Safari */
}

.blurry-background-mud-2 {
    background-color: rgba(39, 47, 51, 0.77)!important; /* Imposta il colore di sfondo trasparente con opacità */
    backdrop-filter: blur(10px)!important; /* Imposta la quantità di sfocatura desiderata */
	-webkit-backdrop-filter: blur(10px) !important; /* Prefisso per Safari */
}

.visuallyhidden {
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
    clip-path: inset(0px 0px 99.9% 99.9%);
    overflow: hidden;
    height: 1px;
    width: 1px;
    padding: 0;
    border: 0;
 }
.u.undersol-biz {
  color: #F2CF66;
}
.underbold-biz {
  color: #F2CF66;
  font-weight: 800;
}

.undersol-sport {
  color: #16e1cd;
}
.underbold-sport {
  color: #16e1cd;
  font-weight: 800;
}

.undersol {
  color: #02b3ab;
}
.underbold {
  color: #02b3ab;
  font-weight: 800;
}

.undersol-show {
  color: #2845EA;
}
.underbold-show {
  color: #2845EA;
  font-weight: 800;
}

.undersol-show2 {
  color: #18298C;
}
.underbold-show2 {
  color: #18298C;
  font-weight: 800;
}

.undersol-sport2 {
  color: #025159;
}
.underbold-sport2 {
  color: #025159;
  font-weight: 800;
}
.underbold-biz2 {color: #c89a05;
  font-weight: 800;}
a,
span[style*="underline"],
[class*="under"] {
  text-underline-offset: 3px;
}

.dsm_image_accordion_description {text-align:left !important;}
.dsm_image_accordion_title  {text-align:left !important;}
.dsm_image_accordion_button_wrapper {text-align:left !important;}
.swiper-pagination {width:auto !important;}


/* Rimuove sottolineatura e decorazioni dai link all'interno di <p> in .link-scroller */
.link-scroller p a {
  text-decoration: none !important;
  box-shadow: none !important;
  border-bottom: 0 !important;
  text-underline-offset: 0 !important;
}

/* Mantiene il colore e il cursore del link, opzionale */
.link-scroller p a {
  color: inherit !important;
  cursor: pointer;
}

/* Se vuoi un effetto "pulito" anche al passaggio del mouse */
.link-scroller p a:hover,
.link-scroller p a:focus {
  text-decoration: none !important;
  box-shadow: none !important;
  border-bottom: 0 !important;
  color: inherit !important;
}
