/*
Theme Name: FisioClem Child
Description: iamcarminecristian x FisioClem
Author: Carmine Cristian Cruoglio
Template: flatsome
Version: 1.0.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/
#footer #wt-cli-settings-btn {
	color: #ffffff !important;
	cursor: pointer !important;
	border-bottom: 0px !important;
}
#footer #wt-cli-settings-btn:hover {
	color: #fffa !important;
}

#wt-cli-accept-all-btn {
	font-size: 1.1em;
	width: 100%;
	margin: 1em 0px 0px 0px !important;
	padding: 15px !important;
}
.cli-wrapper {
	font-size: 1.3em;
}
.cli-bar-message {
	font-size: 1.05em;
	text-align: justify;
}
.cli-bar-btn_container {
	text-align: center;
}
#wt-cli-accept-btn{ 
	position: absolute;
	top: 0;
	right: 0;
}
#cookie-law-info-bar {
	padding: 30px 20px 30px 20px !important;
}

footer a:hover {
	color: #fffa !important;
}

strong, b {
	font-weight: bold;
}

.has-transparent i::before {
	color: white;
}
.stuck .icon-phone::before {
	color: white !important;
}
.stuck i::before {
	color: #102a43;
}

.feature_image a {
	color: #fffa !important;
}
.feature_image a:hover {
	color: #fff !important;
}

.feature_image h1 {
	color: white;
	font-size: 3em;
	word-break: break-word !important;
	font-weight: bold;
}

.sottopagine-grid {
  display: grid;
  grid-template-columns: 1fr;
  justify-content: center; /* centra i box su mobile */
  gap: 20px;
  padding: 10px;
}

.sottopagina-box {
  width: 100%;
  max-width: 350px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 30px;
  background-color: #102a43;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-height: 150px;
  height: 100%;
  box-sizing: border-box;
  margin: 0 auto;
	transition: all 0.3s ease;
}

.sottopagina-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
  background-color: #173451; 
}

.sottopagina-img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 12px;
}

.sottopagina-titolo {
  font-size: 1.5em;
  margin: 10px 0 6px;
  color: white;
}

.sottopagina-estratto {
  font-size: 0.95em;
  color: #fffa;
  margin-bottom: auto;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4em;
  max-height: 2.8em;
}

.sottopagina-btn {
  margin-top: 10px;
  display: inline-block;
  padding: 8px 16px;
  background-color: #00b5d8;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  font-weight: 600;
}

.sottopagina-btn::after {
  content: "⇢";
  margin-left: 8px;
}

.sottopagina-btn:hover {
  background-color: #00788f;
  color: white;
}

@media (min-width: 600px) {
  .sottopagine-grid {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    justify-items: center;
  }
}

@media (min-width: 900px) {
  .sottopagine-grid {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
}





.shade-top {
    background: rgba(0, 0, 0, .2);
    background: linear-gradient(180deg, #102a43 0, transparent 100%);
    opacity: .7;
}
.star-rating span:before {
  color: #f5c518;
}
.star-rating:before {
  color: #ffffff;
}
.recensioni .row .section {
    padding-left: 0;
    padding-right: 0;
}
.section-container {
  position: relative;
  overflow: hidden;
}
.section-bg-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom right, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
  z-index: 1;
  pointer-events: none;
}
.slider-review .testimonial-box {
	padding: 30px;
	height: auto;
}
/* Stile base per ogni colonna */
.service-box .icon-box {
	padding: 30px;
  transition: box-shadow 0.4s ease, transform 0.4s ease, border 0.4s ease;
  border-radius: 10px;
  border: 2px solid transparent;
  overflow: hidden;
	background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
}
/* All'hover o tocco: evidenzia il bordo */
.service-box .icon-box:hover,
.service-box .icon-box:active {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  transform: translateY(-10px);
  border-color: #102a43;
}

/* Effetto leggero anche sui contenuti */
.service-box .icon-box-text {
  transition: transform 0.3s ease;
}
.service-box .icon-box:hover .icon-box-text,
.service-box .icon-box:active .icon-box-text {
  transform: translateY(-4px);
}

/* Bottone con animazione leggera */
.service-box .button {
  transition: transform 0.3s ease;
}
.service-box .icon-box:hover .button,
.service-box .icon-box:active .button {
  transform: translateY(-2px);
}

.section.c-chi-sono {
  overflow: visible;
}
.section.c-chi-sono .ux-shape-divider--bottom {
  position: absolute;
  bottom: 0;
  z-index: 2;
  width: 100%;
}
.section.c-chi-sono button {
	z-index: 3;
}
.banner.has-hover.practictioner {
  position: relative;
  top: 0px;
}
.section.c-chi-sono a.button {
  position: relative;
  z-index: 10;
}
.section.c-chi-sono .ux-shape-divider--bottom {
  pointer-events: none;
}

.flickity-page-dots {
	width: 100%;
	left: 0;
}
img {
	pointer-events: none;
	user-select: none;
  -webkit-user-drag: none;
}
.icon-box-img {
  transition: transform 0.3s ease;
}

.icon-box:hover .icon-box-img {
  transform: translateY(-10px);
}
.banner-home-col-row > div:nth-child(1) > .col-inner,
.banner-home-col-row > div:nth-child(2) > .col-inner {
  background: rgba(16, 42, 67, 0.8);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.banner-home-col-row > div:nth-child(3) > .col-inner {
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Apply border radius and shadow to the outer container only */
.banner-home .banner-home-col > .col-inner {
  border-radius: 25px;
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.1);
  overflow: hidden; /* Ensures content respects the border radius */
}

/* Vertical alignment for content within the columns */
.banner-home-col-row > .col > .col-inner {
  display: flex;
  flex-direction: column;
  justify-content: center; /* Centers content vertically */
  align-items: center; /* Centers content horizontally */
  height: 100%; /* Ensures the flex container takes full height */
}

/* Ensure text elements maintain their original width */
.banner-home-col-row .text,
.banner-home-col-row .icon-box,
.banner-home-col-row .button {
  width: auto;
  max-width: 100%; /* Prevents overflow */
}

/* Maintain icon boxes proper alignment */
.banner-home-col-row .icon-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
/* Stile base (desktop) */
.banner-home-col-row {
  display: flex; /* così gli elementi sono affiancati */
}

.banner-home-col-row > div {
  position: relative;
}

/* SOLO il primo elemento avrà il bordo a destra */
.banner-home-col-row > div:first-child::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1px;
  height: 50%; /* o la percentuale che vuoi */
  background-color: white;
}

/* Mobile: bordo orizzontale invece che verticale */
@media (max-width: 480px) { /* puoi regolare la larghezza */
  .banner-home-col-row {
    flex-direction: column; /* elementi impilati verticalmente */
  }

  .banner-home-col-row > div:first-child::after {
    top: auto;
    bottom: 0;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: 50%; /* bordo più corto o lungo, a piacere */
    height: 1px; /* diventa orizzontale */
  }
}
.contact-info a {
	color: white !important;
}
.tecar-icona:hover img {
  filter: brightness(0) invert(1);
}
.custom-menu-links {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.custom-menu-links li {
	margin-left: 0px !important;
}
#wt-cli-accept-btn{
	position: absolute;
	top: 0;
	right: 0;
}
.text-manage-consent-footer a, .link-footer-1 a{
	cursor: pointer !important;
	color: #fff !important;
	border-bottom: 0px !important;
}
.text-manage-consent-footer a:hover{
	color: #fffa !important;
	text-decoration: underline !imortant;
}

.business-hours .label{
	color: white;
	font-weight: bold;
}
.business-hours td{
	color: white;
	border-bottom: 0;
}

.punti-di-forza h2, .punti-di-forza p {
	color: white;
}
.reduce-interlinea p{
	line-height: 1;
	margin-bottom: 10px;
}

.button-black-text span{
	color: black;
}
.text-service p{
	text-align: justify;
  text-justify: auto;
}

.box-text-inner .button-fornitori {
	margin-top: -10%;
}

/*SIDEMENU*/
@media (max-width: 767px)  { 
	.off-canvas-right .mfp-content, .off-canvas-left .mfp-content{
		width: 60%;
	}
	.my-footer-2 {
    background: linear-gradient(to right, rgb(16, 42, 67) 30%, rgb(19, 49, 79) 100%);
  }
}
@media (max-width: 480px)  { 
	.off-canvas-right .mfp-content, .off-canvas-left .mfp-content{
		width: 80%;
	}
	.my-footer-2 {
		background: linear-gradient(to right, rgb(16, 42, 67) 20%, rgb(19, 49, 79) 100%);
	}
}
.off-canvas-left.dark .mfp-content{
	background-color: white;
}
.nav-sidebar.nav-vertical>li+li{
	border-top: 1px solid #000;
	border-top-style: dotted;
}
.header-social-icons .social-icons a{
	color: black;
	font-size: 20px;
}
.off-canvas:not(.off-canvas-center) .nav-vertical li>a{
	font-size: 16px;
	color: #102a43;
}
.mobile-sidebar-levels-1 .nav-slide>li>.sub-menu>li, .mobile-sidebar-levels-1 .nav-slide>li>ul.children>li {
	color: #102a43;
}
.mobile-sidebar-levels-2 .nav-slide>li>.sub-menu>li:not(.nav-slide-header)>a, .mobile-sidebar-levels-2 .nav-slide>li>ul.children>li:not(.nav-slide-header)>a {
	text-transform: capitalize !important;
	font-weight: 500;
}
#header-contact li a {
	color: #102a43;
	font-size: 12px;
	padding-bottom: 15px;
}
#header-contact li span {
	width: 80%;
	margin-left: 15px;
}
.off-canvas:not(.off-canvas-center) .nav-vertical .icon-angle-right {
	color: #102a43;
}
.header-social-icons .social-icons a{
	color: black;
	font-size: 20px;
}
.toggle .icon-angle-down {
	color: #102a43;
}
::-webkit-scrollbar {
width: 10px;
}
::-webkit-scrollbar-track {
background-color: white;
border-radius: 9px;
}
::-webkit-scrollbar-thumb {
background-color: #00b5d8;
border-radius: 9px;
}




/*HEADER*/
.top-elements{
	color:white;
	font-size: 13px;
	font-weight:bold;
	text-decoration:underline;
}
.top-elements:hover{
	text-decoration:none;
	color:white;
}




/*BODY*/
body {
	overflow:hidden;
}
.pswp__caption__center {
	display: none;
}
* {
	line-height: 1.25em;
}
.wpcf7-submit, #place_order {
	width: 100%;
	height: 50px;
}
.widget-title {
	color: #000;
}



/*FOOTER*/
.my-footer-2 {
	background: linear-gradient(to right, rgb(16, 42, 67) 30%, rgb(19, 49, 79) 100%);
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  color: white;
}
.flatsome-cookies__text{
	font-size: 14px;
}
.grecaptcha-badge{
	visibility: collapse !important;  
}
.text-center-footer .ux-menu-link__text{
	display:table;
margin:0 auto;
}
.text-center-footer .ux-menu-link__text{
	color: white;
}
.text-center-footer a {
	min-height: 0.5em;
}
.footer .social-icons{
	color: #fff;
}
.footer .social-icons a:hover{
	color: #fffa;
}
.absolute-footer{
	display: none;
}

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/


}