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

/* Add your custom styles here */

/* Make header fixed */
.sticky-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
}

/* Push content down so it doesn't hide under the header */
body {
  padding-top: 65px; /* adjust this to match your header's height */
}
 
.float {
    transition: transform 0.3s ease;
}

.float:hover {
    transform: translateY(-10px);
}

@media (min-width: 1024px) {
	.text-align-last-right p {
	text-align-last: right;
}
}

.esperienze-prima-della-proposta-content {
		position: absolute;
		left: 0;
		z-index: 50;
		
}

/* recensioni */
.rec-carousel-wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: 24px;
    padding: 20px 0;
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

    .rec-track-outer {
        overflow: hidden;
    flex: 1;
/* prevent subpixel clipping on the first card edge */
    padding-right: 1px;
    padding-left: 1px; 
    }

    .rec-track {
        display: flex;
        gap: 20px;
        will-change: transform;
    }

    .rec-track.is-animating {
        transition: transform 0.4s ease;
    }

.rec-card {
    flex: 0 0 calc(33.333% - 14px);
    background-size: cover;
    background-position: center;
	border-style: double;
    border-color: #B5BCD3;
    border-radius: 30px;
    padding: 22px 20px;
    box-sizing: border-box;
    min-height: 160px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-left: 1px; /* compensates for border-radius clipping on leftmost card */
}

    .rec-card__header {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
    }

    .rec-stars {
        display: flex;
        gap: 2px;
        flex-shrink: 0;
    }

    .rec-star {
        font-size: 1.25rem;
        line-height: 1;
        color: #c8a84b;
    }

    .rec-card__title {
        font-size: 1rem;
        font-weight: 700;
        margin: 0;
        color: #2c2c2c;
        line-height: 1.2;
    }

    .rec-card__text {
        font-size: 0.88rem;
        color: #3a3a3a;
        line-height: 1.55;
        margin: 0;
    }

    .rec-card__text p {
        margin: 0 0 6px;
    }

    .rec-card__text p:last-child {
        margin-bottom: 0;
    }

.rec-arrow {
    background: none;
    border: none;
    color: #888;
    cursor: pointer;
    padding: 4px;
    flex: 0 0 auto;   /* ← add this: fixed size, won't be squeezed by the track */
    flex-shrink: 0;
    display: flex;
    align-items: center;
    transition: color 0.2s;
}

.rec-arrow:hover, .rec-arrow:active, .rec-arrow:focus, .rec-arrow:visited {
	color: #888;
	background: none;
}


@media (min-width: 1366px) {
    .rec-carousel-wrapper {
        gap: 50px;
    }
}

    @media (max-width: 768px) {
        .rec-card { flex: 0 0 100%; }
    }




/* chi siamo */

.counter.has-divider::before {
  content: '';
  position: absolute;
  left: 0;
  top: 40%;
  transform: translateY(-50%);
  height: 45%;
  width: 1px;
  background-color: #000;
}

.counter.has-divider {
  position: relative;
}

      .bs-tl-wrap {
        padding: 2rem 1rem;
        font-family: sans-serif;
        box-sizing: border-box;
      }
      .bs-tl-track {
        position: relative;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
      }
      .bs-tl-line {
        position: absolute;
        left: 12.5%;
        right: 12.5%;
        top: calc(50% - 0.75px);
        height: 1.5px;
        background: #000;
        z-index: 0;
      }
      .bs-tl-item {
        position: relative;
        z-index: 1;
        display: grid;
        grid-template-rows: 1fr auto 1fr;
        align-items: center;
        justify-items: center;
        gap: 8px;
      }
      .bs-tl-top {
        display: flex;
        align-items: flex-end;
        justify-content: center;
      }
      .bs-tl-bottom {
        display: flex;
        align-items: flex-start;
        justify-content: center;
      }
      .bs-tl-dot {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: #000;
      }
      .bs-tl-img {
        width: 120px;
        height: 120px;
        object-fit: contain;
		  transition: transform 0.3s ease;
      }

.bs-tl-img:hover {
    transform: translateY(-5px);
}
      .bs-tl-label {
		font-family: "Roboto", Sans-serif;
    font-weight: 400;
        font-size: 18px;
        text-align: center;
        margin: 0;
        line-height: 1.4;
        color: #000;
		  transition: transform 0.3s ease;
      }

.bs-tl-label:hover {
    transform: translateY(-5px);
}

/* servizi */
@media (min-width: 768px) {
	.servizio-content {
		position: absolute;
		left: 0;
		z-index: 50;
		
}
}

/* contatti */

.form-contatti {
	background-color: #9EABD7;
	padding: 30px;
	border-radius: 30px;
}

.wpcf7 label {
	width: 100%;
}

.flex-form {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.flex-form-inner {
	width: 49%;
}

.form-contatti input[type=email], .form-contatti input[type=tel], .form-contatti input[type=text], .form-contatti textarea, .form-footer input[type=email], .form-footer input[type=tel], .form-footer input[type=text], .form-footer textarea {
	border: none;
	border-radius: 15px;
}

.form-contatti .wpcf7-acceptance .wpcf7-list-item-label a {
	color: #000;
}

.form-footer .wpcf7-list-item-label, .form-footer .wpcf7-list-item-label a {
	color: #fff;
}

.form-contatti [type=submit] {
	background-color: #21254A;
	border: 1px solid #21254A;
	border-radius: 10px;
	color: #fff;
	text-transform: uppercase;
	padding: 10px 30px;
}

.form-footer [type=submit] {
	background-color: #9EABD7;
	border: 1px solid #9EABD7;
	border-radius: 10px;
	color: #fff;
	text-transform: uppercase;
	padding: 10px 30px;
}

@media (max-width: 768px) {
.flex-form-inner {
	width: 100%;
}
}