.pt-0{padding-top:0px}.pt-5{padding-top:5px}.pt-10{padding-top:10px}.pt-15{padding-top:15px}.pt-20{padding-top:20px}.pt-25{padding-top:25px}.pt-30{padding-top:30px}.pt-35{padding-top:35px}.pt-40{padding-top:40px}.pt-45{padding-top:45px}.pt-50{padding-top:50px}.pr-0{padding-right:0px}.pr-5{padding-right:5px}.pr-10{padding-right:10px}.pr-15{padding-right:15px}.pr-20{padding-right:20px}.pr-25{padding-right:25px}.pr-30{padding-right:30px}.pr-35{padding-right:35px}.pr-40{padding-right:40px}.pr-45{padding-right:45px}.pr-50{padding-right:50px}.pl-0{padding-left:0px}.pl-5{padding-left:5px}.pl-10{padding-left:10px}.pl-15{padding-left:15px}.pl-20{padding-left:20px}.pl-25{padding-left:25px}.pl-30{padding-left:30px}.pl-35{padding-left:35px}.pl-40{padding-left:40px}.pl-45{padding-left:45px}.pl-50{padding-left:50px}.pb-0{padding-bottom:0px}.pb-5{padding-bottom:5px}.pb-10{padding-bottom:10px}.pb-15{padding-bottom:15px}.pb-20{padding-bottom:20px}.pb-25{padding-bottom:25px}.pb-30{padding-bottom:30px}.pb-35{padding-bottom:35px}.pb-40{padding-bottom:40px}.pb-45{padding-bottom:45px}.pb-50{padding-bottom:50px}
.mt-0{margin-top:0px}
.mt-5{margin-top:5px}
.mt-10{margin-top:10px}
.mt-15{margin-top:15px}
.mt-20{margin-top:20px}
.mt-25{margin-top:25px}
.mt-30{margin-top:30px}
.mt-35{margin-top:35px}
.mt-40{margin-top:40px}
.mt-45{margin-top:45px}
.mt-50{margin-top:50px}
.mb-0{margin-bottom:0px}
.mb-5{margin-bottom:5px}
.mb-10{margin-bottom:10px}
.mb-15{margin-bottom:15px}
.mb-20{margin-bottom:20px}
.mb-25{margin-bottom:25px}
.mb-30{margin-bottom:30px}
.mb-35{margin-bottom:35px}
.mb-40{margin-bottom:40px}
.mb-45{margin-bottom:45px}
.mb-50{margin-bottom:50px}
.ml-0{margin-left:0px}
.ml-5{margin-left:5px}
.ml-10{margin-left:10px}
.ml-15{margin-left:15px}
.ml-20{margin-left:20px}
.ml-25{margin-left:25px}
.ml-30{margin-left:30px}
.ml-35{margin-left:35px}
.ml-40{margin-left:40px}
.ml-45{margin-left:45px}
.ml-50{margin-left:50px}
.mr-0{margin-right:0px}
.mr-5{margin-right:5px}
.mr-10{margin-right:10px}
.mr-15{margin-right:15px}
.mr-20{margin-right:20px}
.mr-25{margin-right:25px}
.mr-30{margin-right:30px}
.mr-35{margin-right:35px}
.mr-40{margin-right:40px}
.mr-45{margin-right:45px}
.mr-50{margin-right:50px}

.half-green{background:linear-gradient(to top, #C5E417 50%, transparent 50%);padding-right:15px;padding-left:15px;padding-bottom:3px}
.half-dark-green{background:linear-gradient(to top, #1FD191 50%, transparent 50%);padding-right:15px;padding-left:15px;padding-bottom:3px}
.half-red{background:linear-gradient(to top, #F86853 50%, transparent 50%);padding-right:15px;padding-left:15px;padding-bottom:3px}
.half-blue{background:linear-gradient(to top, #4D7FEC 50%, transparent 50%);padding-right:15px;padding-left:15px;padding-bottom:3px}
.half-black{background:linear-gradient(to top, #000 50%, transparent 50%);padding-right:15px;padding-left:15px;padding-bottom:3px}
.half-yellow{background:linear-gradient(to top, #FCFF35 50%, transparent 50%);padding-right:15px;padding-left:15px;padding-bottom:3px}
.half-orange{background:linear-gradient(to top, #ea8030 50%, transparent 50%);padding-right:15px;padding-left:15px;padding-bottom:3px}
.mini-half-orange{background:linear-gradient(to top, #F8BE53 20%, transparent 20%);padding-bottom:3px}
.mini-half-yellow{background:linear-gradient(to top, #FCFF35 20%, transparent 20%);padding-bottom:3px}
.text-green{color:#C5E417}
.text-dark-green{color:#1FD191}
.text-red{color:#F86853}
.text-blue{color:#4D7FEC}
.text-black{color:#000}
.text-yellow{color:#FCFF35}

#wrapper{ font-family: 'Oswald', sans-serif;}
h1 {font-family: Roboto, "Segoe UI", Arial, sans-serif; font-weight: 500;}

h3{text-transform:uppercase;font-size:20px;line-height:46px;letter-spacing:1px}
h4{margin-bottom:5px;font-size:20px;font-weight:normal;line-height:46px;letter-spacing:1px}
/* Style for h3 elements with class h5-style to maintain h5 appearance */
h3.h5-style{text-transform:none;font-size:1.25rem;line-height:1.2;letter-spacing:normal;margin-bottom:0.5rem}
p{font-size:18px;font-weight:300;line-height:30px;letter-spacing:0.9px}
ul{font-size:18px;font-weight:300;line-height:30px;letter-spacing:0.9px}
ul li strong{font-weight:600;}

.btn{color:white;background-color:black;border-color:black;font-size:20px;font-weight:normal;line-height:46px;letter-spacing:1px;padding:0px 20px}
.btn:hover{color:white;background-color:#444343;border-color:#444343}

.hosrunningtable.hosrunningtable-form .panel-group{margin-top:50px}.hosrunningtable.hosrunningtable-form .panel-group .panel-title a{color:#4D7FEC;font-size:23px;font-weight:normal;line-height:51px;letter-spacing:1.35px}.hosrunningtable.hosrunningtable-form label{text-transform:uppercase}.hosrunningtable.hosrunningtable-form select{background-image:none}@media (max-width: 768px){.hosrunningtable.hosrunningtable-form .panel-group .panel-title a{line-height:32px}}

.breadcrumb-list{display:flex;align-items:center;list-style:none;padding:0;margin:0;}
.breadcrumb-list li{margin-right:5px;}
.breadcrumb-separator{margin-right:5px;color:#666;}
.breadcrumb-list a{text-decoration:none;color:#007bff;}
.breadcrumb-list a:hover{text-decoration: underline;}

@media (min-width: 768px) {
  .display-4 {
    font-size: 3rem;
  }
}

.nav-scroller {
  position: relative;
  z-index: 2;
  height: 2.75rem;
  overflow-y: hidden;
}

.nav-scroller .nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  padding-bottom: 1rem;
  margin-top: -1px;
  overflow-x: auto;
  text-align: center;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

.nav-scroller .nav-link {
  padding-top: .75rem;
  padding-bottom: .75rem;
  font-size: .875rem;
}

.card-img-right {
  height: 100%;
  border-radius: 0 3px 3px 0;
}

.flex-auto {
  -ms-flex: 0 0 auto;
  -webkit-box-flex: 0;
  flex: 0 0 auto;
}

.h-250 { height: 250px; }
@media (min-width: 768px) {
  .h-md-250 { height: 250px; }
}

.border-top { border-top: 1px solid #e5e5e5; }
.border-bottom { border-bottom: 1px solid #e5e5e5; }

.blog-header {
  line-height: 1;
  border-bottom: 1px solid #e5e5e5;
}

.blog-header-logo {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-size: 2.25rem;
}

.blog-header-logo:hover {
  text-decoration: none;
}

 .btn-custom {
        background-color: #1e73be; /* Colore blu personalizzato */
        color: white;
        font-weight: bold;
        border-radius: 2px;
        border-color: white;
        padding: 5px 16px; /* Altezza e larghezza ridotta */
        font-size: 16px; /* Testo più piccolo */
        display: inline-block; /* Evita il full width */
        text-align: center;
        margin-top: 10px; /* Distanza dal testo */
    }
    .btn-custom:hover {
        background-color: #155a9f; /* Effetto hover più scuro */
    }

/* Stile personalizzato per la card */
.expert-card {
    position: relative;
    border: none;
    border-radius: 16px;
    overflow: hidden;
}

/* Immagine di sfondo */
.expert-card-img {
    height: 250px; /* Altezza regolabile */
    object-fit: cover;
}

/* Overlay sfumato */
.expert-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.9) 30%, rgba(0, 0, 0, 0.1) 80%);
}

/* Contenuto della card */
.expert-card-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px;
    z-index: 2;
}

/* Stile del bottone */
.expert-btn-outline {
    border: 2px solid white !important;
    color: white !important;
    font-weight: 600;
    transition: all 0.3s ease-in-out;
    display: inline-block;
    max-width: fit-content;
}

.expert-btn-outline:hover {
    background: white;
    color: black !important;
}

#languageButton {
    color: black !important;
    background-color: white !important;
    border: 1px solid #ccc!important;
    font-size: 14px;
    padding: 3px 15px;
    min-width: 150px; /* Larghezza minima */
    white-space: nowrap; /* Evita il ritorno a capo */
    text-align: left;
}

#languageButton .flag-icon {
    font-size: 20px;
}
#card-assistita .card-obiettivo {
    background-color: #eff1f5;
    border: 2px solid #eff1f5;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 25px;
    box-shadow: 2px 2px 10px rgba(0,0,0,0.1)
}

/* Stili per il banner fisso nella sidebar */
.col-md-3.sidebar .card {
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    margin-bottom: 20px;
}

.col-md-3.sidebar .card-body {
    padding: 15px;
    text-align: center;
}

.col-md-3.sidebar .card-title {
    font-size: 1.2rem;
    margin-bottom: 10px;
    color: #000;
}

.col-md-3.sidebar .card-text {
    font-size: 0.9rem;
    color: #333;
    margin-bottom: 15px;
}

/* Stili per i caroselli orizzontali */
.horizontal-carousel {
    margin: 30px 0;
    padding: 0 30px;
    position: relative;
    min-height: 450px; /* Ensure sufficient height for the carousel */
}

.horizontal-carousel .swiper-slide {
    height: auto;
    display: flex;
}

.horizontal-carousel .card {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.horizontal-carousel .card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.horizontal-carousel .card-img-top {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    height: 250px;
    object-fit: cover;
}

.horizontal-carousel .card-body {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    padding: 15px;
    min-height: 220px; /* Increased height to ensure all content is visible */
}

.horizontal-carousel .card-title {
    font-size: 1rem;
    margin-bottom: 8px;
    line-height: 1.3;
    height: 2.6rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.horizontal-carousel .card-text {
    font-size: 0.85rem;
    color: #666;
    flex-grow: 1;
}

.horizontal-carousel .price-container {
    margin-top: auto;
    margin-bottom: 10px;
}

.horizontal-carousel .card-price {
    color: #28a745;
    font-size: 1.1rem;
    margin-bottom: 5px;
}

.horizontal-carousel .card-original-price {
    color: #dc3545;
    font-size: 0.9rem;
    margin-bottom: 0;
}

/* Ensure the button is fully visible */
.horizontal-carousel .product-link-button {
    margin-top: auto;
    white-space: normal; /* Allow text to wrap */
    height: auto; /* Allow button to expand */
    padding: 8px 12px; /* Adequate padding */
}

/* Stile per l'icona best-icon-sx */
.best-icon-sx {
    position: absolute;
    bottom: 10px;
    right: -20px;
    z-index: 5; /* Sopra l'overlay ma sotto il contenuto */
    max-width: 100px; /* Dimensione massima dell'immagine */
    height: auto;
}

.horizontal-carousel .swiper-button-next,
.horizontal-carousel .swiper-button-prev {
    color: #000;
}

.horizontal-carousel .swiper-pagination-bullet-active {
    background: #000;
}

/* Responsive adjustments */
@media (max-width: 767px) {
    /* Carousel adjustments */
    .horizontal-carousel {
        padding: 0 20px;
    }
    
    .horizontal-carousel .card-title {
        font-size: 0.9rem;
        height: 2.4rem;
    }
    
    .horizontal-carousel .card-text {
        font-size: 0.8rem;
    }
    
    .horizontal-carousel .card-body {
        min-height: 240px; /* Increased min-height on mobile for better content and button visibility */
    }
    
    .horizontal-carousel .product-link-button {
        font-size: 0.9rem; /* Slightly smaller font on mobile */
        padding: 6px 10px; /* Adjusted padding for mobile */
    }
    
    /* Expert card mobile adjustments */
    .expert-card {
        display: flex;
        flex-direction: column;
        background-color: transparent !important; /* Remove black background */
    }
    
    .expert-card .position-relative {
        height: auto;
        text-align: right; /* Align content to the right */
    }
    
    .expert-card-img {
        width: 100%;
        height: auto;
        min-height: 200px;
        display: block; /* Ensure image is visible */
        object-position: right; /* Align image to the right */
    }
    
    /* Remove the overlay on mobile */
    .expert-overlay {
        display: none;
    }
    
    /* Adjust content positioning for mobile */
    .expert-card-content {
        position: relative;
        top: auto;
        left: auto;
        height: auto;
        background-color: transparent !important;
        padding: 15px;
        width: 100%;
        color: #000 !important; /* Ensure text is visible on white background */
    }
    
    /* Make text span full width */
    .expert-card-content h4,
    .expert-card-content p {
        width: 100%;
        color: #000 !important; /* Ensure text is visible on white background */
    }
    
    /* Add margin to button */
    .expert-btn-outline {
        margin-bottom: 3px;
        width: 100%;
        color: white !important;
        border-color: black !important;
        background-color: black !important;
        padding: 8px 15px;
    }
    
    /* Add hover effect for mobile buttons to match homepage */
    .expert-btn-outline:hover {
        color: white !important;
        background-color: #444343 !important;
        border-color: #444343 !important;
    }
}

/* Banner slider fixes: square images, visible button, no price */
/* Scope only to horizontal carousel and vertical banner slider to avoid side-effects */
.horizontal-carousel,
.banner-slider .mySwiper {
  overflow: visible; /* ensure content (e.g., shadows, buttons) is not clipped */
}

/* Make slides auto-height so cards fit content, especially on mobile */
.horizontal-carousel .swiper-slide,
.banner-slider .swiper-slide {
  height: auto;
  display: flex;
}

/* Card should not clip inner elements */
.horizontal-carousel .card,
.banner-slider .card {
  overflow: visible;
}

/* Square image area with white background; keep full image using contain */
/* Horizontal carousel card images */
.horizontal-carousel .card-img-top {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  object-fit: contain !important;
  background: #fff;
  display: block;
}

/* Vertical banner slider images (img-responsive inside .banner-slider) */
.banner-slider .img-responsive {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  object-fit: contain !important;
  background: #fff;
  display: block;
}

/* Hide price only within sliders (as per banner visualization) */
.horizontal-carousel .price-container,
.banner-slider .price-container {
  display: none !important;
}

/* Ensure CTA remains visible/clickable */
.horizontal-carousel .product-link-button,
.banner-slider .product-link-button {
  position: relative;
  z-index: 2;
  white-space: normal;
  height: auto;
}

/* Title handling: allow multi-line without clipping inside cards */
.horizontal-carousel .card-title,
.banner-slider .card-title {
  overflow: visible;
  display: block;
}

/* Mobile fine-tuning */
@media (max-width: 767px) {
  .horizontal-carousel .card-body,
  .banner-slider .card-body {
    min-height: unset; /* let content dictate height for full button visibility */
  }
}
