* {
     box-sizing: border-box !important;
     transition: ease all 0.5s;
}

html {
     scroll-behavior: smooth;
     overflow-x: hidden;
}

body {
    color: #666666;
    font-size: 14px;
    line-height: 1.80857;
    font-weight: normal;
    overflow-x: hidden;
    font-family: 'Roboto', sans-serif;
    }

a {
     color: #1f1f1f;
     text-decoration: none !important;
     outline: none !important;
     -webkit-transition: all .3s ease-in-out;
     -moz-transition: all .3s ease-in-out;
     -ms-transition: all .3s ease-in-out;
     -o-transition: all .3s ease-in-out;
     transition: all .3s ease-in-out;
}

h1,
h2,
h3,
h4,
h5,
h6 {
     letter-spacing: 0;
     font-weight: normal;
     position: relative;
     padding: 0 0 10px 0;
     font-weight: normal;
     line-height: normal;
     color: #111111;
     margin: 0
}

h1 {
     font-size: 24px
}

h2 {
     font-size: 22px
}

h3 {
     font-size: 18px
}

h4 {
     font-size: 16px
}

h5 {
     font-size: 14px
}

h6 {
     font-size: 13px
}

*,
*::after,
*::before {
     -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
     box-sizing: border-box;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
     color: #212121;
     text-decoration: none!important;
     opacity: 1
}

button:focus {
     outline: none;
}

ul,
li,
ol {
     margin: 0px;
     padding: 0px;
     list-style: none;
}

p {
     margin: 20px;
     font-weight: 300;
     font-size: 15px;
     line-height: 24px;
}

a {
     color: #222222;
     text-decoration: none;
     outline: none !important;
}

a,
.btn {
     text-decoration: none !important;
     outline: none !important;
     -webkit-transition: all .3s ease-in-out;
     -moz-transition: all .3s ease-in-out;
     -ms-transition: all .3s ease-in-out;
     -o-transition: all .3s ease-in-out;
     transition: all .3s ease-in-out;
}

img {
     max-width: 100%;
     height: auto;
}

 :focus {
     outline: 0;
}

.paddind_bottom_0 {
     padding-bottom: 0 !important;
}

.btn-custom {
     margin-top: 20px;
     background-color: transparent !important;
     border: 2px solid #ddd;
     padding: 12px 40px;
     font-size: 16px;
}

.lead {
     font-size: 18px;
     line-height: 30px;
     color: #767676;
     margin: 0;
     padding: 0;
}

.form-control:focus {
     border-color: #ffffff !important;
     box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .25);
}

.navbar-form input {
     border: none !important;
}

.badge {
     font-weight: 500;
}

blockquote {
     margin: 20px 0 20px;
     padding: 30px;
}

button {
     border: 0;
     margin: 0;
     padding: 0;
     cursor: pointer;
}

.full {
     float: left;
     width: 100%;
}

.layout_padding {
     padding-top: 90px;
     padding-bottom: 0px;
}




/* header section start */

.header_section {
    width: 100%;
    float: left;
    background-color: #ffffff;
    height: auto;
    background-size: 100%;
    background-repeat: no-repeat;
}

.navbar-brand {
    width: 21%;
}

.navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 15px;
    padding-left: 15px;
    font-size: 18px;
    text-transform: uppercase;
    font-family: 'Poppins', sans-serif;
}

.navbar-light .navbar-nav .nav-link {
    color: #4f4f4f;
}
.navbar-light .navbar-nav .active>.nav-link, 
.navbar-light .navbar-nav .nav-link.active, 
.navbar-light .navbar-nav .nav-link.show, 
.navbar-light .navbar-nav .show>.nav-link {
    color: #fa7e64;
}
.bg-light {
    background-color: transparent !important;
}
.navbar-light .navbar-nav .nav-link:focus, 
.navbar-light .navbar-nav .nav-link:hover {
    color: #fa7e64;
}

.user_icon {
    width: 80px;
    float: right;
    font-size: 20px;
    color: #000;
}

.user_icon a{
    color: #000;
}

.user_icon a:hover{
    color: #fa7e64;
}

.call_btn {
    flex: 1;
}
.call_btn a{
    width: 100%;
    float: left;
    font-size: 16px;
    color: #ffffff;
    background-color: #fa7e65;
    border-radius: 40px;
    text-align: center;
    padding: 8px 20px;
}

.call_btn a:hover{
    color: #000;
    background-color: #fa7e65;
}

.padding_left10{
    padding-left: 10px;
}

.my-lg-0 {
    margin-right: 30px;
}
.mr-auto, .mx-auto {
    flex: 3;
}
/* banner section start */

.banner_section {
    width: 100%;
    float: left;
    position: relative;
    padding-bottom: 90px;
}


.banner_taital {
    width: 100%;
    font-size: 150px;
    color: #1c1b1b;
    text-transform: uppercase;
    font-weight: bold;
    text-align: center;
    padding-top: 80px;
}

.contact_bt {
    width: 170px;
    margin: 0 auto;
    padding: 190px 0px 0px 0px;
}

.contact_bt a {
    width: 100%;
    float: left;
    font-size: 16px;
    color: #ffffff;
    background-color: #fa7f63;
    text-align: center;
    border-radius: 40px;
    padding: 10px 0px;
    text-transform: uppercase;
}
.contact_bt a:hover{
    background-color: #252525;
    color: #ffffff;
}

.carousel-indicators li {
    width: 16px;
    height: 16px;
    background-color: #252525;
    border-radius: 100%;
    top: -80px;
}

.carousel-indicators .active {
    background-color: #fa7f63;
}
/* banner section end */

/* service section start */

.service_section {
    width: 100%;
    float: left;
    background: linear-gradient(90deg, #fa7e64 10%, #ebab28 94%);
    height: auto;
    padding-top: 50px;
    padding-bottom: 30px;
}

.service_taital{
    width: 100%;
    font-size: 40px;
    color: #fefefd;
    text-transform: uppercase;
    text-align: center;
    font-weight: bold;
}

.service_section_2 {
    width: 100%;
    float: left;
    height: auto;
    background-size: 100%;
}


.price_text {
    width: 100%;
    text-align: center;
    font-size: 18px;
    text-transform: uppercase;
    font-weight: bold;
    color: #ffffff;
    padding-bottom: 0px;
    font-family: 'Poppins', sans-serif;
}

.sound_text {
    width: 100%;
    text-align: center;
    font-size: 24px;
    text-transform: uppercase;
    font-weight: bold;
    color: #ffffff;
    padding-bottom: 0px;
    font-family: 'Poppins', sans-serif;
}

.buy_bt {
    width: 140px;
    margin: 0 auto;
    text-align: center;
}

.buy_bt a {
    width: 100%;
    float: left;
    font-size: 16px;
    color: #ffffff;
    background-color: #252525;
    padding: 10px 0px;
    text-align: center;
    text-transform: uppercase;
    margin-top: 20px;
    border-radius: 40px;
}

.buy_bt a:hover {
    color: #111111;
    background-color: #ffffff;
}

.service_section.layout_padding .owl-carousel .owl-nav button.owl-next,
.service_section.layout_padding .owl-carousel .owl-nav button.owl-prev {
    background-color: #E4DFD6;
    margin: 0px 0px;
    width: 55px;
    height: 55px;
    border-radius: 100%;
    box-shadow: 0px 0px 7px 1px;
}

.service_section.layout_padding .owl-carousel .owl-nav button.owl-next:hover,
.service_section.layout_padding .owl-carousel .owl-nav button.owl-prev:hover {
    background-color: #f1f1f1;  /* il tuo hover */
    box-shadow: 0px 0px 10px 2px rgba(0,0,0,0.25);
}



.owl-carousel .owl-nav button.owl-next span,
.owl-carousel .owl-nav button.owl-prev span {
    font-size: 30px;
    color: #000;
    bottom: 0px;
}

button.owl-prev {
    left: 485px;
    position: absolute;
}

button.owl-next {
    right: 485px;
    position: absolute;
}
.owl-nav {
    display: flex;
    justify-content: center;
    margin-top: 30px;
}

.owl-dots {
    display: none;
}

.image_box {
    width: 260px;
    height: 260px;
    background-color: #ffffff;
    border-radius: 50%;
    margin: 0 auto;
    border: 10px solid #fff;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.image_inner {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;

    transition: transform .5s ease;
}
.image_inner img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}



.image_box:hover {
    background-color: #E4DFD6;
}

/* service section end */

/* about section start */

.about_section{
    width: 100%;
    float: left;
}

.about_taital {
    width: 100%;
    font-size: 40px;
    color: #252525;
    text-transform: uppercase;
    text-align: center;
    font-weight: bold;
}

.about_text {
    width: 100%;
    font-size: 14px;
    color: #252525;
    margin: 0px;
    text-align: center;
}

.about_text_1 {
    width: 86%;
    font-size: 14px;
    color: #252525;
    margin: 0 auto;
    text-align: center;
}

.about_img {
    width: 100%;
    text-align: center;
}

.readmore_bt{
    width: 170px;
    margin: 0 auto;
    padding-top: 30px;
}

.readmore_bt a {
    width: 100%;
    float: left;
    font-size: 18px;
    color: #ffffff;
    background-color: #252525;
    padding: 8px 0px;
    text-align: center;
    border-radius: 40px;
    text-transform: uppercase;
}

.readmore_bt a:hover {
    color: #ffffff;
    background-color: #fa7f63;
}

/* about section end */

/* price section start */

.price_section {
    width: 100%;
    float: left;
    padding-bottom: 60px;
}
.price_taital{
    width: 100%;
    font-size: 40px;
    color: #252525;
    text-transform: uppercase;
    text-align: center;
    font-weight: bold;
}

.price_section_2 {
    width: 70%;
    margin: 0 auto;
    text-align: center;
    padding-top: 30px;
}

.first_price_text{
    width: 100%;
    font-size: 20px;
    color: #fefefd;
    text-align: center;
    text-transform: uppercase;
    background: linear-gradient(90deg, #fa7e64 10%, #ebab28 94%);
    height: auto;
    padding: 30px 0px 50px 0px;
    position: relative;
}

.price_box {
    width: 84%;
    text-align: center;
    background-color: #ffffff;
    height: 310px;
    padding: 30px 20px 0px 20px;
    box-shadow: 0px 2px 5px 1px;
    position: relative;
    top: -30px;
    margin: 0 auto;
    left: 0;
    right: 0;
}

.taital_main {
    width: 58%;
    display: flex;
    margin: 0 auto;
}
.rate_text{
    font-size: 30px;
    color: #000;
    text-align: center;
    font-weight: bold;
}
.month_text{
    font-size: 16px;
    color: #000;
    text-align: center;
    margin: 8px 0px 0px 0px;
}

.taital_main::after {
    content: '';
    position: absolute;
    width: 45px;
    height: 5px;
    border-radius: 100px;
    background-color: #f47e60;
    left: 0px;
    right: 0px;
    margin: 0 auto;
    top: 70px;
}

.dummy_text {
    width: 40%;
    margin: 0 auto;
    text-align: center;
    padding-top: 30px;
    color: #30302f;
}
/* price section end */


/* customer section start */


.client_sectiion {
    width: 100%;
    float: left;
    background-image: url(../images/client-bg.jpg);
    height: auto;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    padding: 75px 0px 140px 0px;
}
.client_taital{
    width: 100%;
    float: left;
    font-size: 40px;
    color: #ffffff;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold;
}

.client_section_2{
    width: 80%;
    margin: 0 auto;
    padding-top: 50px;

}
.client_main {
    width: 100%;
    float: left;
    background-color: #fff;
    border-top-left-radius: 100px;
    border-bottom-left-radius: 100px;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    padding-right: 30px;
}

.client_main_2 {
    width: 100%;
    float: left;
    background-color: #fff;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
    padding-left: 30px;
    margin-top: 45px;
}

.client_left{
    width: 30%;
    float: left;
}

.client_right {
    width: 70%;
    float: left;
    padding-top: 35px;
}
.client_left_2{
    width: 30%;
    float: left;
    text-align: right;
}
.client_right_2 {
    width: 70%;
    float: left;
    padding-top: 35px;
    text-align: right;
}
.name_text{
    width: 100%;
    float: left;
    font-size: 24px;
    color: #252525;
    font-weight: bold;
}

.dolor_text{
    width: 100%;
    float: left;
    font-size: 14px;
    color: #f29448;
    margin: 0px;
}

.lorem_text {
    width: 100%;
    float: left;
    font-size: 14px;
    color: #252525;
    margin: 0px;
    padding-top: 10px;
    padding-bottom: 30px;
}

.client_sectiion .carousel-indicators li {
    width: 16px;
    height: 16px;
    background-color: #ffffff;
    border-radius: 100%;
    top: 60px;
}

.client_sectiion .carousel-indicators .active {
    background-color: #252525;
}

/* customer section end */

/* contact section start */

.contact_section {
    width: 100%;
    float: left;
    padding-bottom: 90px;
    padding-top: 40px;
}
.contact_section_2 {
    width: 100%;
    float: left;
}

.contact_taital{
    width: 100%;
    float: left;
    font-size: 40px;
    color: #252525;
    text-align: center;
    padding: 30px 0px;
    font-weight: bold;
    text-transform: uppercase;
}

.contact_main {
    width: 50%;
    margin: 0 auto;
    text-align: center;
}

.form-group {
    margin-bottom: 30px;
}

.email-bt {
    color: #969695;
    width: 100%;
    height: 50px;
    font-size: 18px;
    padding: 0px 20px 0px 20px;
    background-color: transparent !important;
    border: 1px solid #6a9498 !important;
    border-radius: 40px;
}

.massage-bt {
    color: #969695;
    width: 100%;
    height: 100px;
    font-size: 18px;
    padding: 30px 20px 0px 20px;
    background-color: transparent !important;
    border: 1px solid #6a9498 !important;
    border-radius: 15px;
}

.send_bt {
    width: 100%;
    margin: 0 auto;
    padding-top: 30px;
}

.send_bt a {
    width: 100%;
    float: left;
    color: #ffffff;
    font-size: 16px;
    padding: 10px 0px;
    background-color: #f8825f;
    text-transform: uppercase;
    font-weight: bold;
    border-radius: 40px;
}

.send_bt a:hover {
    color: #ffffff;
    background-color: #252525;
}

.massage_text {
    width: 100%;
    font-size: 16px;
    text-align: left;
    margin: 0px;
}

/* contact section end */



/* footer section start */

.footer_section {
    width: 100%;
    float: left;
}

.location_bg{
    width: 100%;
    float: left;
    background-color: #393939;
    height: auto;
}

.location_main {
    width: 100%;
    margin: 0 auto;
    text-align: center;
}

.location_main ul {
    margin: 0px;
    padding: 0px;
    display: inline-block;
    text-align: center;
}

.location_main li {
    float: left;
    font-size: 16px;
    color: #ffffff;
    padding: 30px 70px 30px 70px;
}

.location_main li a {
    color: #ffffff;
}

.location_main li a:hover {
    color: #f8825f;
}


/* footer section end */

/* copyright section start */

.copyright_section {
    width: 100%;
    float: left;
    background: linear-gradient(90deg, #fa7e64 10%, #ebab28 94%);
    height: auto;
}

.copyright_text {
    width: 100%;
    float: left;
    color: #ffffff;
    text-align: center;
    font-size: 16px;
    margin: 20px 0px;
}
.copyright_text a{
    color: #ffffff;
}
.copyright_text a:hover{
    color: #252525;
}

.margin_top90 {
    margin-top: 90px;
}


/* copyright section end */

/* FRECCE CLICCABILI SU MOBILE */
@media (max-width: 767px) {

  .service_section {
      position: relative;
  }

  .mobile-nav-btn {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 38px;
      height: 38px;
      background: rgba(0,0,0,0.20);
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 26px;
      color: #fff;
      z-index: 20;
      cursor: pointer;
  }

  .mobile-nav-btn.left {
      left: 8px;
  }

  .mobile-nav-btn.right {
      right: 8px;
  }
}
/* LOGO + GRANDE SOLO SU MOBILE — FORZATO */
@media (max-width: 767px) {
    .navbar .navbar-brand img,
    .header_section .navbar-brand img,
    .navbar-brand img {
        width: 120px !important;
        height: auto !important;
        max-width: none !important;
    }
}

/* RIDUZIONE SPAZIO TRA TITOLO E CAROSELLO */
.service_section {
    padding-top: 5px !important;
}

.service_taital {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 5px !important; /* ↓ distanza sotto il titolo */
}

.service_section_2 {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* Aumenta distanza tra pallina e titolo */
.sound_text {
    margin-top: 12px !important;   /* aumentalo se lo vuoi ancora più distante */
}

/* Rimpicciolisce leggermente solo il testo del pulsante */
.buy_bt a {
    font-size: 14px !important;   /* prima era 16px */
}
/* Riduce distanza tra CONTATTACI e sopra  */
.contact_section {
    padding-top: 10px !important;   /* prima era 40px */
}
/* Rimuove spazio enorme sopra i campi del form */
.contact_main.layout_padding {
    padding-top: 10px !important;  /* prima era 90px */
}


/* MOBILE: form più largo (85%) */
@media (max-width: 768px) {
    .contact_main {
        width: 85% !important;
        margin: 0 auto !important; /* lo centra */
    }

    .email-bt,
    .massage-bt {
        width: 100% !important; /* i campi sempre a piena larghezza del form */
    }
}
/* Footer mobile: riordina e centra gli elementi */
@media (max-width: 768px) {

    .location_main ul {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        width: 100%;
    }

    .location_main li {
        float: none !important;
        width: auto !important;
        padding: 15px 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px; /* spazio tra icona e testo */
    }

    .location_main li img {
        width: 28px !important;   /* icone più piccole se vuoi */
        height: auto !important;
    }

    .padding_15 {
        padding: 0 !important;
    }
}
/* === FONT STILE POPUP SOLO PER LA SEZIONE "DICONO DI NOI" === */

.client_section_2,
.client_section_2 * {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
    line-height: 1.45 !important;
}

/* Titolo del nome un po' più chiaro come stile popup */
.name_text {
    font-weight: 600 !important;
    font-size: 22px !important;
    color: #333 !important;
}

/* Ruolo (Mamma, Papà, Atleta) */
.dolor_text {
    font-size: 15px !important;
    color: #f29448 !important;
}

/* Testo recensione – più chiaro e leggibile, stile popup */
.lorem_text {
    font-size: 16px !important;
    line-height: 1.5 !important;
    color: #333 !important;
    font-weight: 400 !important;
}

.palestra_info {
    text-align: center;
    font-size: 15px;
    line-height: 1.5;
    color: #333;
}

.info_block strong {
    font-weight: 700;
    color: #000;
}

.nowrap {
    white-space: nowrap;
    display: inline-block;
}

/* --- ICONE SOCIAL TONDE --- */
.top-social img {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    cursor: pointer;
    transition: 0.2s ease-in-out;
}

.top-social img:hover {
    transform: scale(1.12);
    opacity: 0.85;
}

/* Desktop: appare sopra al telefono */
.desktop-only {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-right: 25px;
}

/* Mobile: icone vicino all’hamburger */
.mobile-only {
    display: none;
}

@media (max-width: 768px) {

    /* MOSTRA icone in alto */
    .mobile-only {
        display: flex;
        gap: 10px;
        position: absolute;
        right: 70px;
        top: 10px;
        z-index: 9999;
    }

    .mobile-only img {
        width: 26px;
        height: 26px;
    }

    /* NASCONDE icone vicino al numero DI TELEFONO */
    .desktop-only {
        display: none !important;
    }
}
