/* GLOBAL */
:root {
  --primary-bg-color: #a50e2d; /* global scope */
  --secondary-bg-color: #0f0a30; /* global scope */
  --third-bg-color: #020016; /* global scope */
  --primary-color: #a50e2d; /* global scope */
  --secondary-color: #0f0a30; /* global scope */
  --third-color: #848484; /* global scope */
  --fourth-color: #565656; /* global scope */
  --default-font-color: #232323; /* global scope */
}

/* FONT */
@font-face {
    font-family: 'avenir-book';
    src: url('../fonts/Avenir-Book.eot');
    src: url('../fonts/Avenir-Book.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Avenir-Book.woff2') format('woff2'),
        url('../fonts/Avenir-Book.woff') format('woff'),
        url('../fonts/Avenir-Book.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'avenir-black';
    src: url('../fonts/Avenir-Black.eot');
    src: url('../fonts/Avenir-Black.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Avenir-Black.woff2') format('woff2'),
        url('../fonts/Avenir-Black.woff') format('woff'),
        url('../fonts/Avenir-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'avenir-medium';
    src: url('../fonts/Avenir-Medium.eot');
    src: url('../fonts/Avenir-Medium.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Avenir-Medium.woff2') format('woff2'),
        url('../fonts/Avenir-Medium.woff') format('woff'),
        url('../fonts/Avenir-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
.avernir-book {
    font-family: 'avenir-book', sans-serif;
}
.avernir-black {
    font-family: 'avenir-black', sans-serif;
}
.avernir-medium {
    font-family: 'avenir-medium', sans-serif;
}

/* MARGIN CUSTOM */
.margin-top20-xs{margin-top: 0;}

/* FONT SIZE */
.fs-16{font-size: 16px !important;}
.fs-21{font-size: 21px !important;}
.fs-22{font-size: 22px !important;}
.fs-24{font-size: 24px !important;}
.fs-30{font-size: 30px !important;}
.fs-42{font-size: 42px !important;}
.fs-50{font-size: 50px !important;}
.fs-60{font-size: 60px !important;}

.no-padding{padding: 0 !important;}
.padding-custom{
    padding-left: 55px;
    padding-right: 55px;
}

.default-color{color: var(--default-font-color);}
.primary-color{color: var(--primary-color);}
.secondary-color{color: var(--secondary-color);}
.third-color{color: var(--third-color);}
.fourth-color{color: var(--fourth-color);}

.bg-primary{background-color: var(--primary-bg-color) !important;}
.bg-secondary{background-color: var(--secondary-bg-color) !important;}
.bg-third{background-color: var(--third-bg-color) !important;}

.bg-image-fade {
  min-height: 100vh; /* altezza sezione */
  background: 
    linear-gradient(to top, rgba(255,255,255,0) 60%, #ffffff 100%),
    url('../images/bg-sfondo-bottom.webp') center/cover no-repeat;
  background-attachment: scroll; /* o fixed per effetto parallax */
  position: relative;
  overflow: hidden;
}

.cta-primary{
    background-color: var(--primary-bg-color);
    color: #fff;
    border: none;
    border-radius: 0;
    padding: 10px 20px;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    transition: background-color 0.3s ease;
}

.logo-alan-bottom{
    max-height: 195px;
    object-fit: contain;
}

.logo-alan-footer{
    max-height: 165px;
    object-fit: contain;
}

.input-underline {
    background: transparent;
    border: none;
    border-bottom: 1px solid #ccc;
    border-radius: 0;
    color: #333;
    padding-left: 0;
    padding-right: 0;
}

.input-underline:focus {
    box-shadow: none;
    border-color: #000; /* colore focus */
    background: transparent;
}

.input-underline::placeholder {
    font-family: 'avenir-book', sans-serif;
    font-size: 30px;
    color: var(--third-color);
    opacity: 1; /* per compatibilità cross-browser */
}
.swiper-button-next,
.swiper-button-prev{
    visibility: hidden;
}

/* BULLET BASE */
.swiper-pagination-bullet {
  width: 14px !important;
  height: 14px !important;
  background: #ccc;
  opacity: 1; /* disattiva l'opacità automatica di Swiper */
  margin: 0 6px !important;
  transition: all 0.3s ease;
  border-radius: 50%;
  cursor: pointer;
}

/* BULLET ATTIVO */
.swiper-pagination-bullet-active {
  background: var(--primary-bg-color) !important; /* colore custom per l’attivo */
  width: 18px !important;
  height: 18px !important;
  box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.2);
}

/* HOVER */
.swiper-pagination-bullet:hover {
  background: #666;
  transform: scale(1.15);
}

/* ALLINEAMENTO CENTRALE E SPAZIATURA */
.swiper-pagination {
  margin-top: 25px;
  text-align: center;
}
.mySwiper{padding-bottom: 30px !important;}
.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction{
    top: auto !important;
    bottom: 5px !important;
}

@media only screen and (max-width: 768px) {
    .margin-top20-xs{margin-top: 20px !important;}
    .padding-custom{padding: 0}
    .fs-60, .fs-50{font-size: 42px !important;}
    .card img{
        max-height: 400px;
        object-fit: contain;
    }
    
    .swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction{
        top: auto !important;
        bottom: 0 !important;
    }
}