/* ALL */
* {
  font-family: "IBM Plex Sans", sans-serif;
}

:root {
  --bp-nero: #1e1e1e;
  --bp-nero-hover: #000000;
  --bp-grigio-scuro: #a4a4a4;
  --bp-grigio-scuro-hover: #939393;
  --bp-grigio-chiaro: #f3f3f3;
  --bp-grigio-chiaro-hover: #ababab;
  --bp-blu: #b4d7ff;
  --bp-blu-hover: #6daaef;
  --bp-rosa: #dd8fa8;
  --bp-rosa-hover: #cb567b;
  --bp-giallo: #ffedb0;
  --bp-giallo-hover: #e5d59e;
  --bp-pass: #3ad59c;
  --bp-pass-hover: #3ad59c;
  --bp-oro: #d3c081;
  --bp-highlight: #ffe68e;
  --bp-highlight-hover: #eecf5e;
  --rosso-sconto: #DF4173;
  --verde-ottieni-pass: #60C5A0;
  --rosa-sconto: #DD1F7A;
  --acquista: #DAEBFF;
  --acquista-ready: #53DAA8;
  --verde-wa: #2E9972;
  --bp-azzurro: #E2EFFF;
  --bp-success-light: #21AF3B;
  --bp-blu-matrice: #BAD9FF;
  --bp-blu-elenco: #E2EFFF;
}

.alert-bp-rosa {
  background-color: var(--bp-rosa);
  color: var(--bp-nero);
}

.alert-bp-azzurro {
  background-color: var(--bp-azzurro);
  color: var(--bp-nero);
}

body {
  /* font-size: 14px; */
  background-color: #ffffff;
  color: var(--bp-nero);
  overflow-x: hidden;
  position: relative;
}

body.showroom {
  padding-bottom: 5rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "IBM Plex Sans", sans-serif;
}

.container {
  max-width: 1480px;
}

.anchor {
  display: block;
  position: relative;
  top: -70px;
  visibility: hidden;
}

.m-section {
  margin-top: 7rem;
}

img {
  max-width: 100%;
}

/* COLORS */
.text-rosa {
  color: var(--bp-rosa);
}

/* BACKGROUNDS */
.bg-rosa {
  background-color: var(--bp-rosa);
}

.bg-giallo {
  background-color: var(--bp-giallo);
}

/* BTN */
.btn {
  border: 0;
  border-radius: 0;
}

.btn-primary {
  color: var(--bp-nero);
  background-color: var(--bp-blu);
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus {
  color: var(--bp-nero);
  background-color: var(--bp-blu-hover);
  box-shadow: none;
}

.btn-primary.disabled,
.btn-primary:disabled {
  color: var(--bp-nero);
  background-color: var(--bp-blu);
}

.btn-secondary {
  color: var(--bs-white);
  background-color: var(--bp-nero);
}

.btn-secondary:hover,
.btn-secondary:active,
.btn-secondary:focus {
  color: var(--bs-white);
  background-color: var(--bp-nero-hover);
  box-shadow: none;
}

.btn-link {
  color: var(--bp-nero);
}

.btn-link:hover,
.btn-link:active,
.btn-link:focus {
  color: var(--bp-blu-hover);
  box-shadow: none;
}

.btn-uomo {
  width: 139px;
  padding: 12px 24px;
  color: var(--bp-nero);
  background-color: var(--bp-blu);
}

.btn-uomo-no-hover {
  width: 139px;
  padding: 12px 24px;
  color: var(--bp-nero);
  background-color: var(--bp-blu);
}


.btn-uomo:hover,
.btn-uomo:active,
.btn-uomo:focus {
  color: var(--bp-nero);
  background-color: var(--bp-blu-hover);
  box-shadow: none;
}

.btn-matrice,
.btn-elenco {
  width: 139px;
  padding: 12px 24px;
  color: var(--bp-nero);
}

.btn-matrice {
  background-color: var(--bp-blu-matrice);
}

.btn-elenco {
  background-color: var(--bp-blu-elenco);
  display: none;
}

.btn-matrice:hover,
.btn-matrice:active,
.btn-matrice:focus,
.btn-elenco:hover,
.btn-elenco:active,
.btn-elenco:focus {
  color: var(--bp-nero);
  background-color: var(--bp-blu-hover);
  box-shadow: none;
}

.btn-localizza {
  width: fit-content;
}

.btn-donna {
  width: 139px;
  padding: 12px 24px;
  color: var(--bp-nero);
  background-color: var(--bp-rosa);
}

.btn-donna:hover,
.btn-donna:active,
.btn-donna:focus {
  color: var(--bp-nero);
  background-color: var(--bp-rosa-hover);
  box-shadow: none;
}

.btn-no-gender {
  width: 139px;
  padding: 12px 24px;
  color: var(--bp-nero);
  background-color: var(--bp-giallo);
}

.btn-no-gender:hover,
.btn-no-gender:active,
.btn-no-gender:focus {
  color: var(--bp-nero);
  background-color: var(--bp-giallo-hover);
  box-shadow: none;
}

.btn-attivita {
  color: var(--bp-nero);
  background-color: var(--bp-rosa);
}

.btn-attivita:hover,
.btn-attivita:active,
.btn-attivita:focus {
  color: var(--bp-nero);
  background-color: var(--bp-rosa-hover);
  box-shadow: none;
}

.btn-influencer {
  color: var(--bp-nero);
  background-color: var(--bp-highlight);
}

.btn-influencer:hover,
.btn-influencer:active,
.btn-influencer:focus {
  color: var(--bp-nero);
  background-color: var(--bp-highlight-hover);
  box-shadow: none;
}

.btn-filtra {
  width: 140px;
  padding: 12px 24px;
  color: var(--bp-nero);
  background-color: var(--bp-grigio-chiaro);
}

.btn-filtra:hover,
.btn-filtra:active,
.btn-filtra:focus {
  color: var(--bp-nero);
  background-color: var(--bp-grigio-chiaro-hover);
  box-shadow: none;
}

.btn-carica-altro {
  width: 250px;
  padding: 12px 24px;
  color: var(--bp-grigio-chiaro);
  background-color: var(--bp-nero);
}

.btn-carica-altro:hover,
.btn-carica-altro:active,
.btn-carica-altro:focus {
  color: var(--bp-grigio-chiaro);
  background-color: var(--bp-nero-hover);
  box-shadow: none;
}

.btn-pass {
  padding: 12px 24px;
  color: var(--bp-nero);
  background-color: var(--bp-grigio-chiaro);
}

.highlight-container,
.highlight,
.highlight-title {
  position: relative;
}

.highlight-container,
.highlight-title {
  display: inline-block;
  font-weight: 600;
}

.highlight-container:before {
  content: " ";
  display: block;
  height: 40%;
  width: 107%;
  margin-left: -3px;
  margin-right: -3px;
  position: absolute;
  background: var(--bp-highlight);
  transform: skew(-20deg, -2.5deg);
  top: 23px;
  left: 0;
  border-radius: 15% 10% 15% 10%;
  padding: 10px 3px 3px 10px;
}

.highlight-title::before {
  content: " ";
  display: block;
  height: 40%;
  width: 100%;
  position: absolute;
  background: var(--bp-highlight);
  transform: skew(-20deg, -2.5deg);
  bottom: 0;
  left: 0;
  border-radius: 15% 10% 15% 10%;
  padding: 10px 3px 3px 10px;
  z-index: -1;
}

.hr-sect {
  display: flex;
  flex-basis: 100%;
  align-items: center;
}

.hr-sect:before,
.hr-sect:after {
  content: "";
  flex-grow: 1;
  background: #000;
  height: 1px;
  font-size: 0px;
  line-height: 0px;
  margin: 0px 25px;
}

.opacity-1 {
  opacity: 1;
}

/* HOMEPAGE */
.carousel:not(#carouselPrenota) .active {
  color: var(--bp-blu-hover) !important;
}

.modal-backdrop {
  background-color: #fff !important;
}

body.default-backdrop .modal-backdrop {
  background-color: #000 !important;
}

.modal-link-box {
  margin: 0 20px 20px 0;
  background-color: #fff;
  border: 1px solid #eaeaea;
  border-radius: 5px;
}

.overlay {
  height: 100%;
  width: 100%;
  background-color: transparent;
  background-image: linear-gradient(180deg, #192938 0%, #bfbe80 100%);
  opacity: 0.29;
  mix-blend-mode: multiply;
  transition: background 0.3s, border-radius 0.3s, opacity 0.3s;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

.overlay-grey {
  height: 100%;
  width: 100%;
  background-color: rgba(105, 105, 105, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

.overlay-blue {
  height: 100%;
  width: 100%;
  background-color: rgba(157, 225, 244, 0.678);
}

.overlay-pink {
  height: 100%;
  width: 100%;
  background-color: rgba(229, 36, 134, 0.3);
}

.section-banner-content {
  left: 50%;
  bottom: 8px;
  transform: translateX(-50%);
  z-index: 101;
  max-width: 450px;
}

.section-banner img {
  max-height: 700px;
  object-fit: cover;
  object-position: bottom;
}

.title {
  font-size: 60px;
  font-weight: 600;
  line-height: 1.3em;
  /* text-shadow: 0px 0px 10px rgb(0 0 0 / 30%); */
  margin-bottom: 0px;
}

.search-box {
  width: 30%;
}

.search-input {
  border: 0 !important;
  border-radius: 9px 9px 0 0 !important;
  padding: 8px 20px;
  font-size: 16px;
  /* color: var(--bp-rosa) !important; */
}

.search-input::placeholder {
  font-size: 16px;
  /* color: var(--bp-rosa); */
}

.search-input::-ms-input-placeholder {
  font-size: 16px;
  /* color: var(--bp-rosa); */
}

.search-input:focus {
  box-shadow: 0 0 0 .25rem rgba(221, 143, 168, 0.25);
}

.input-group:has(+ .suggestions-container.d-none)>.search-input {
  border-bottom-left-radius: 9px !important;
  border-bottom-right-radius: 9px !important;
}


.search-input.search-input-bordered {
  border: 1px solid #000 !important;
  height: 51px;
}

.search-input.search-input-bordered::placeholder {
  color: #000;
  opacity: 1;
  text-align: center;
}

.search-input.search-input-bordered::-ms-input-placeholder {
  color: #000;
}

.search-input.search-input-bordered:focus {
  border-color: var(--bp-rosa) !important;
}

.suggestions-container {
  position: absolute;
  border: 1px solid #d4d4d4;
  border-bottom: none;
  border-top: none;
  z-index: 99;
  top: 100%;
  left: 0;
  right: 0;
}

.suggestions-wrapper {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 350px;
  overflow-y: auto;
}

.suggest {
  padding: 10px;
  cursor: pointer;
  background-color: #fff;
  border-bottom: 1px solid #d4d4d4;
  color: #484848;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-align: left;
}

.suggest:hover {
  background-color: #484848;
  color: #fff;
}

.suggest img {
  height: 25px;
  width: auto;
  object-fit: cover;
}

.suggest:hover img {
  filter: invert(1);
}

.my-btn {
  background-color: #484444;
  border: 2px solid #484444;
  color: #fff;
  border-radius: 0;
  text-align: center;
  cursor: pointer;
  font-size: 14px;
  font-weight: 400;
  padding: 10px 10px;
  letter-spacing: 1px;
  line-height: 29px;
  min-width: max-content;
}

.my-btn:hover {
  color: #fff;
  border: 2px solid #fff;
  background-color: transparent;
}

.my-reverse-btn {
  background-color: transparent;
  color: #fff;
  border-radius: 0;
  text-align: center;
  cursor: pointer;
  font-size: 20px;
  font-weight: 500;
  padding: 10px 15px;
  border: 2px solid #fff;
  line-height: 29px;
  min-width: max-content;
}

.my-reverse-btn:hover {
  border: 2px solid var(--bp-blu-hover);
  background-color: var(--bp-blu-hover);
  color: #fff;
}

.my-white-btn {
  background-color: transparent;
  color: #000;
  border-radius: 0;
  text-align: center;
  cursor: pointer;
  font-size: 20px;
  font-weight: 500;
  padding: 10px 15px;
  letter-spacing: 1px;
  border: 1px solid #000;
  line-height: 29px;
  min-width: max-content;
}

.my-white-btn:hover {
  border: 1px solid var(--bp-blu-hover);
  background-color: var(--bp-blu-hover);
  color: #fff;
}

.my-btn-pink {
  background-color: #e52486;
  border: 2px solid #e52486;
  color: #fff;
  border-radius: 0;
  text-align: center;
  cursor: pointer;
  font-size: 14px;
  font-weight: 400;
  padding: 10px 10px;
  letter-spacing: 1px;
  line-height: 29px;
  min-width: max-content;
}

.my-btn-pink:hover {
  color: #fff;
  border: 2px solid #fff;
  /* background-color: transparent; */
}

.my-btn-all {
  background-color: #e9516c;
  border: 2px solid #e9516c;
  color: #fff;
  border-radius: 0;
  text-align: center;
  cursor: pointer;
  font-size: 14px;
  font-weight: 400;
  padding: 8px 35px;
  letter-spacing: 1px;
  line-height: 29px;
  min-width: max-content;
}

.my-btn-all:hover {
  color: #e9516c;
  font-weight: 400;
  border: 2px solid #e9516c;
  background-color: transparent;
}

.my-reverse-white-btn {
  background-color: transparent;
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
  padding: 0.75rem 0;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  color: #fff !important;
  line-height: 1;
  border-color: #fff;
  font-weight: 300;
  font-size: 0.95rem;
  transition: all 0.4s ease;
  border-radius: 2.5rem;
  text-decoration: none !important;
  border: 1px solid;
}

.sottotitolo-grey {
  color: #484848;
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 0;
}

.overlay-black {
  height: 100%;
  width: 100%;
  background-color: #020202;
  opacity: 0.3;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  transition: all 0.5s ease-in-out;
}

.overlay-black-4 {
  height: 100%;
  width: 100%;
  background-color: #020202;
  opacity: 0.4;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  transition: all 0.5s ease-in-out;
}

.overlay-black-6 {
  height: 100%;
  width: 100%;
  background-color: #020202;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  transition: all 0.5s ease-in-out;
}

.category-inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  padding: 0 30px 30px 30px;
  z-index: 1;
  position: relative;
  transition: all 0.5s ease-in-out;
  min-height: 24rem;
  border: 10px solid rgba(255, 255, 255, 0.4);
}

.category-card {
  position: relative;
  transition: 0.2s ease-out;
}

.titolo-categoria {
  margin-bottom: 10px;
  font-size: 30px;
  font-weight: 600;
  line-height: 40px;
  color: #fff;
  text-size-adjust: 100%;
}

.sottotitolo-categoria {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.8em;
  letter-spacing: 0px;
  margin-bottom: 30px;
  color: #62c3d5;
}

.titolo-card {
  margin-bottom: 5px;
  font-size: 35px;
  font-weight: 700;
  letter-spacing: 0.6px;
  line-height: 40px;
  padding-right: 20px;
  color: #fff;
  text-size-adjust: 100%;
  text-transform: uppercase;
}

.sottotitolo-card {
  font-size: 18px;
  font-weight: 800;
  line-height: 1.8em;
  letter-spacing: 0px;
  margin-bottom: 30px;
  color: #ffd35b;
}

.section-titolo {
  color: #484848;
  font-size: 30px;
  font-weight: 400;
  line-height: 1.6em;
}

/* SEZIONE TRATTAMENTI */
.card-trattamenti {
  height: 100%;
  width: 100%;
}

.card-trattamenti picture,
.swiper-slide picture {
  min-height: 200px;
  height: 100%;
}

.card-trattamenti picture,
.swiper-slide picture,
.carousel picture img {
  height: 100%;
  object-fit: cover;
}

.home .card-trattamenti picture,
.trattamenti .card-trattamenti picture {
  height: 250px;
}

.section-zone .card-trattamenti picture {
  width: 210px;
  height: 210px;
}

.home .swiper-zone-del-corpo picture {
  height: 210px;
}

.trattamento .blocco-sinistra picture {
  height: 150px;
  display: inline-block;
}

.px-lg-bs {
  padding-right: calc(var(--bs-gutter-x)* .5) !important;
  padding-left: calc(var(--bs-gutter-x)* .5) !important;
}

.card-trattamenti .titolo-trattamenti {
  width: fit-content;
  max-width: 350px;
  margin: 0 auto;
}

.zone .card-trattamenti .titolo-trattamenti {
  max-width: 210px;
}

.card-trattamenti .sottotitolo-trattamenti {
  max-width: 400px;
  font-style: italic;
}

.card-trattamenti .card-trattamenti-inner {
  z-index: 1;
  word-break: break-word;
}

.layout-elenco .card-trattamenti .titolo-trattamenti {
  max-width: none !important;
}

.layout-elenco .card-trattamenti .card-trattamenti-inner:hover .titolo-trattamenti {
  background-color: var(--bp-giallo);
  text-decoration: underline;
}

/* SEZIONE CENTRI E PROMO */
.card-centri {
  border-color: #9d9d9d;
}

/* SEZIONE ARTICOLI */
.section-top-articles {
  transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
  position: relative;
}

.elementor-shape {
  overflow: hidden;
  position: absolute;
  left: 0;
  width: 100%;
  line-height: 0;
  direction: ltr;
}

.elementor-shape-top {
  top: -1px;
}

.elementor-shape-fill {
  fill: #f7f7fa;
}

.text-wrapper {
  padding: 40px;
}

.text-titolo {
  color: #fff;
  font-size: 30px;
  line-height: 40px;
  width: 60%;
  margin-bottom: 20px;
}

.articolo-text {
  padding: 25px;
}

.text-body {
  line-height: 1.82em;
}

/* FINE SEZIONE ARTICOLI */

/* SEZIONE TRATTAMENTI */
.category-box {
  color: #484848;
  border: 2px solid #484848;
  padding: 0.5rem 4rem;
  text-decoration: none;
}

.category-box:hover {
  background-color: #484848;
  border: 2px solid #484848;
  color: #fff;
}

.category-box-selected {
  background-color: #484848;
  border: 2px solid #484848;
  color: #fff;
  padding: 0.5rem 4rem;
  text-decoration: none;
}

.category-box-selected:hover {
  border: 2px solid #484848;
  color: #fff;
}

.text-grigio-chiaro {
  color: #9d9d9d;
}

.text-grigio {
  color: #484848;
}

.text-grigio:hover {
  color: #fff;
}

/* FINE SEZIONE TRATTAMENTI */

/* SEZIONE DEAL SHOW */
.disabled {
  border: 1px solid #d4d4d4 !important;
  pointer-events: none;
}

.disabled span {
  color: #d4d4d4 !important;
}

/* FINE SEZIONE DEAL SHOW */

/* DIVIDER */
.yellow-divider {
  transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
  margin: 80px 0;
  padding: 80px;
  position: relative;
}

.yellow-divider-overlay {
  background-color: transparent;
  background-image: linear-gradient(90deg,
      #ffa72d 0%,
      rgba(242, 41, 91, 0) 82%);
  opacity: 0.66;
  transition: background 0.3s, border-radius 0.3s, opacity 0.3s;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

.cit-box {
  border: 10px solid #fff;
}

.quotes {
  position: relative;
  text-align: center;
}

.quotes:before {
  content: "“";
  font-size: 194px;
  color: #fff;
  font-weight: 600;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.cit {
  font-size: 35px;
  font-style: italic;
  line-height: 1.66em;
  margin-bottom: 30px;
  color: #fff;
  transition: 0.3s;
  padding-top: 200px;
  padding-bottom: 100px;
  padding-left: 7px;
  padding-right: 7px;
  width: 60%;
  margin: 0 auto;
}

/* FINE DIVIDER */

/* FOOTER */
.footer-box {
  margin-bottom: 40px;
}

.footer-text {
  font-size: 16px;
  line-height: 1.82em;
  word-wrap: break-word;
}

.footer-title {
  position: relative;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  text-transform: uppercase;
  margin-bottom: 25px;
  padding-bottom: 10px;
  z-index: 1;
  color: #fff;
}

.footer-title:before {
  position: absolute;
  content: "";
  bottom: 0;
  width: 50px;
  height: 3px;
  background-color: #e52486;
}

.collabIndicators .carousel-indicators [data-bs-target] {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 11px;
  height: 11px;
  padding: 0;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: var(--bp-oro);
  background-clip: padding-box;
  border: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 1;
  transition: opacity .6s ease;
  border-radius: 100%;
}

.collabIndicators .carousel-indicators [data-bs-target].active {
  background-color: #000;
}

.white-box {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 24px;
  box-shadow: 0px 3px 10px -7px rgb(0 0 0 / 30%);
  min-height: 65px;
  line-height: 65px;
  padding-left: 17px;
  padding-right: 10px;
}

.white-box a {
  color: #484848;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.82em;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  vertical-align: middle;
}

.white-box:hover a {
  color: #ffd35b;
}

.social-links a {
  position: relative;
  display: inline-block;
  margin: 0 10px 15px 0;
  background-color: #fff;
  width: 55px;
  height: 55px;
  font-size: 18px;
  line-height: 55px;
  text-align: center;
  border: none;
  -webkit-box-shadow: 0px 3px 10px -7px rgb(0 0 0 / 30%);
  box-shadow: 0px 3px 10px -7px rgb(0 0 0 / 30%);
  color: #484848;
  border: none;
}

.attivo {
  background-color: #484848 !important;
}

.attivo a {
  color: #fff !important;
}

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

.newsletter-input {
  box-shadow: 0px 3px 10px -7px rgb(0 0 0 / 30%);
  border-radius: 0;
}

/* CARD */
.card-img-box {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  text-align: center;
  margin: 0 auto;
  width: 93%;
  height: 15rem;
}

/* PAGINA TRATTAMENTO */
.banner-text-wrapper:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 20%;
  background: -webkit-gradient(linear,
      left bottom,
      left top,
      from(rgba(0, 0, 0, 0.55)),
      to(transparent));
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.55), transparent);
}

.titolo-banner-white {
  color: #fff;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 0;
}

.text-description {
  color: #484848;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.82em;
  letter-spacing: 0em;
  -webkit-font-smoothing: antialiased;
  -webkit-font-variant-ligatures: no-common-ligatures;
  font-variant-ligatures: no-common-ligatures;
  overflow-x: hidden;
  word-wrap: break-word;
}

.simile-wrapper {
  margin-bottom: 20px;
}

.simile-text-box {
  height: 100%;
  background-color: #fff;
  padding: 15px 20px 15px 25px;
}

.card-bs {
  box-shadow: 0px 3px 35px -20px rgb(0 0 0 / 30%);
}

.zona-title {
  font-weight: 500;
  line-height: 1.4;
  -webkit-transition: 0.15s;
  transition: 0.15s;
  font-size: 30px;
  margin-bottom: 0;
  color: #fff;
}

.simile-sottotitolo {
  margin-bottom: 0;
  font-size: 12px;
  font-weight: 600;
  color: #9c9b9b;
  text-transform: uppercase;
}

.simile-link {
  color: #ffc25d;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.4;
}

.simile-link:hover {
  color: #ffc25d;
}

/* PAGINA DEAL */
.target-box {
  padding: 25px;
  border: 1px solid var(--bp-nero);
  margin-top: 15px;
}

#map {
  min-height: 200px;
  height: 250px;
}

.pac-container {
  z-index: 9999;
}

a:focus-visible {
  outline: none;
}

.deal-subtitle {
  font-size: 18px;
  color: #62c3d5;
}

/* PAGINA LOGIN */
.login-form .input-form {
  padding: .75rem;
  border: 1px solid var(--bp-nero);
  border-radius: 0;
}

.login-form .input-group .btn.input-group-text {
  padding: .375rem .75rem;
}

.login-form .input-group .input-form {
  border-right: 0;
}

.login-form .input-group .input-group-text {
  border: 1px solid var(--bp-nero);
  border-left: 0;
}

.login-form .input-form+.select2-container--bootstrap4 {
  text-align: left;
}

.login-form .input-form+.select2-container--bootstrap4 .select2-selection--single {
  border: 0;
  height: auto !important;
}

.login-form .input-form+.select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered {
  padding: .75rem;
  border: 1px solid var(--bp-nero);
  border-radius: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}

.login-form .input-form+.select2-container--bootstrap4 .select2-selection--single .select2-selection__placeholder {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}

/* MEDIA QUERIES */

/* HOMEPAGE */

@media only screen and (max-width: 576px) {
  .title {
    font-size: 25px;
  }

  .search-input {
    font-size: 13px;
  }

  .sottotitolo-grey {
    font-size: 20px;
  }

  .search-box {
    width: 100%;
  }

  .titolo-categoria {
    font-size: 25px !important;
  }

  .text-wrapper {
    padding: 40px 20px;
  }

  .top-articles-img {
    min-height: 200px;
  }

  .titolo-card {
    font-size: 20px !important;
  }

  .yellow-divider {
    background-attachment: unset !important;
    padding: 40px 10px !important;
  }

  .quotes:before {
    font-size: 100px;
  }

  .cit {
    width: 100%;
    padding-top: 80px;
  }

  .banner-basso {
    padding-top: 55% !important;
  }
}

@media only screen and (max-width: 991px) {
  #modalFiltra {
    top: 64px;
    padding-bottom: 64px;
  }
}

@media only screen and (min-width: 768px) {

  /* SEZIONE TRATTAMENTI */
  .card-trattamenti {
    flex: 0 0 50%;
  }
}

@media screen and (min-width: 992px) {

  /* BANNER HOMEPAGE */
  .section-banner-content {
    top: 50%;
    left: 25%;
    transform: translate(-50%, -50%);
  }
}

@media only screen and (min-width: 1200px) {

  /* SEZIONE TRATTAMENTI */
  .card-trattamenti {
    flex: 0 0 33.3333%;
  }

  .layout-elenco {
    gap: 15%;
  }

  .layout-elenco .card-trattamenti {
    flex: 0 0 42.5%;
  }

  .home .card-trattamenti picture,
  .trattamenti .card-trattamenti picture {
    height: 530px;
  }

  .section-zone .card-trattamenti picture {
    width: 270px;
    height: 270px;
  }

  .trattamento .blocco-sinistra picture {
    height: 340px;
  }

  .zone .card-trattamenti .titolo-trattamenti {
    max-width: 270px;
  }
}

/* Modal Posizione */
#staticBackdrop .modal-dialog {
  max-width: 550px;
}

#staticBackdrop .modal-header {
  border-bottom: 1px solid var(--bp-grigio-scuro);
}

#staticBackdrop #ls-location {
  background: url("/assets/icon/map-marker-alt.svg") no-repeat left;
  background-size: 20px;
  background-position: 15px 50%;
  min-width: 200px;
  height: 50px;
  color: var(--bp-nero);
  border-radius: 0;
  border-color: var(--bp-nero);
  padding-left: 50px;
  font-weight: 500;
  font-size: 18px;
}

#staticBackdrop #ls-location::-webkit-input-placeholder {
  color: var(--bp-nero);
  opacity: 1;
}

#staticBackdrop #ls-location:-moz-placeholder {
  color: var(--bp-nero);
  opacity: 1;
}

#staticBackdrop #ls-location::-moz-placeholder {
  color: var(--bp-nero);
  opacity: 1;
}

#staticBackdrop #ls-location::-ms-input-placeholder {
  color: var(--bp-nero);
  opacity: 1;
}

#staticBackdrop #ls-location::placeholder {
  color: var(--bp-nero);
  opacity: 1;
}

/* Modal Banner */
#modalBanner .template-caption {
  padding: 15px;
  width: 500px;
  max-width: 75%;
  pointer-events: auto;
}

#modalBanner .template-caption.template1 {
  top: 15px;
  left: 15px;
}

#modalBanner .template-caption.template2 {
  top: 15px;
  right: 15px;
}

#modalBanner .template-caption.template3 {
  bottom: 15px;
  left: 15px;
}

#modalBanner .template-caption.template4 {
  bottom: 15px;
  right: 15px;
}

#modalBanner .template-caption.template5 {
  top: 15px;
  left: 50%;
  transform: translateX(-50%);
}

#modalBanner .template-caption.template6 {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#modalBanner .template-caption.template7 {
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
}

#modalBanner .template-caption.template8 {
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
}

#modalBanner .template-caption.template9 {
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
}

#modalBanner .immagine-banner {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  pointer-events: auto;
}

#modalFiltra .btn-close {
  opacity: 1;
  font-size: 20px;
}

#modalFiltra fieldset {
  gap: 10%;
}

#modalFiltra fieldset label {
  min-width: 95px;
}

#modalFiltra fieldset input::placeholder {
  font-size: 16px;
  color: #000;
}

#modalFiltra fieldset .form-group {
  flex: 0 0 45%;
}

#modalFiltra fieldset input,
#modalFiltra fieldset select {
  border: 1px solid #000;
  border-radius: 0;
  padding: 10px 15px;
}

#modalFiltra fieldset .radio input {
  display: none;
}

#modalFiltra fieldset .radio label span {
  position: relative;
  line-height: 22px;
}

#modalFiltra fieldset .radio label span:before,
#modalFiltra fieldset .radio label span:after {
  content: '';
}

#modalFiltra fieldset .radio label span:before {
  border: 1px solid #222021;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  display: inline-block;
  vertical-align: top;
}

#modalFiltra fieldset .radio label span:after {
  background: #222021;
  width: 20px;
  height: 20px;
  position: absolute;
  top: -2px;
  left: 0;
  transition: 300ms;
  opacity: 0;
}

#modalFiltra fieldset .radio label input:checked+span:after {
  opacity: 1;
  content: "\2713";
  color: #fff;
  text-align: center;
  font-size: 14px;
}

#modalFiltra fieldset input.form-cerca {
  padding-left: 40px;
  background: transparent url("data:image/svg+xml,%3Csvg width='18' height='19' viewBox='0 0 18 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.25585 0.497559C8.75342 0.569058 9.24915 0.645325 9.73315 0.787958C10.8295 1.11099 11.803 1.65439 12.6529 2.41486C13.97 3.59332 14.788 5.05412 15.0645 6.80165C15.2925 8.24264 15.0967 9.63414 14.4947 10.9659C14.1984 11.6207 13.8215 12.2254 13.34 12.7596C13.2161 12.8975 13.2355 12.9767 13.3613 13.0999C14.8258 14.5328 16.2844 15.9716 17.7455 17.4078C17.8691 17.5296 17.9765 17.6572 17.9956 17.8379C18.0205 18.0752 17.934 18.2655 17.7382 18.3975C17.5424 18.5291 17.3327 18.5331 17.1218 18.4279C17.021 18.3777 16.9422 18.2985 16.8626 18.22C15.529 16.9044 14.1955 15.5888 12.8615 14.2736C12.724 14.1379 12.5763 14.0121 12.4468 13.8691C12.3537 13.7665 12.2862 13.7778 12.1843 13.8563C11.4191 14.4452 10.5691 14.8723 9.63782 15.1213C7.55515 15.6783 5.55902 15.4568 3.69746 14.3524C1.70243 13.1695 0.490232 11.4224 0.0762665 9.13254C0.0450999 8.96021 0.0249333 8.78641 0 8.61298C0 8.16784 0 7.72308 0 7.27795C0.0264 7.09901 0.0491332 6.91971 0.0799332 6.74151C0.375833 5.03028 1.1737 3.59625 2.46216 2.43429C3.30989 1.66979 4.28046 1.12456 5.37459 0.796758C5.86922 0.648258 6.37632 0.569425 6.88562 0.497925H8.25585V0.497559ZM13.9337 7.94418C13.9337 7.79201 13.9421 7.63948 13.9315 7.48805C13.9201 7.32488 13.8944 7.16281 13.8695 7.00111C13.6224 5.40172 12.8557 4.09162 11.6024 3.08512C10.2938 2.03426 8.78495 1.57702 7.10379 1.69142C6.07346 1.76146 5.11169 2.04819 4.23939 2.59672C2.33016 3.79792 1.287 5.51942 1.2023 7.78798C1.1484 9.23338 1.56163 10.5486 2.4552 11.6827C4.08539 13.7518 6.23846 14.5273 8.81502 14.0979C9.96195 13.9069 10.9743 13.3829 11.8433 12.599C13.2234 11.3538 13.9109 9.79731 13.934 7.94454L13.9337 7.94418Z' fill='%231E1E1E'/%3E%3C/svg%3E%0A") no-repeat 13px center;
}

#modalFiltra fieldset select,
#passDisponibili fieldset select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent url("data:image/svg+xml,%3Csvg width='18' height='10' viewBox='0 0 18 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.844085 0.079488C1.12554 0.0651768 1.34089 0.217829 1.53988 0.417503C3.29947 2.17914 5.06042 3.93941 6.82137 5.69968C7.47014 6.34845 8.12573 6.99109 8.76428 7.65076C8.94487 7.83749 9.04777 7.8334 9.23041 7.65076C11.6279 5.24104 14.0342 2.84017 16.4364 0.435222C16.6334 0.236229 16.8426 0.078125 17.1404 0.078125C17.477 0.078125 17.7374 0.213059 17.8927 0.510866C18.0515 0.813445 18.0324 1.11875 17.8382 1.40293C17.7762 1.49288 17.6965 1.57193 17.6181 1.64962C14.993 4.27606 12.3673 6.90181 9.74084 9.52756C9.21542 10.053 8.77518 10.0523 8.24976 9.5262C5.61787 6.89431 2.98667 4.26175 0.353418 1.63191C0.14761 1.4261 -0.0070864 1.20802 -0.000271574 0.899312C0.0106321 0.42977 0.356144 0.0822139 0.844085 0.079488Z' fill='%231E1E1E'/%3E%3C/svg%3E") no-repeat 13px center;
  background-size: 16px;
  background-position: calc(100% - 10px);
}

.btn-wa {
  color: #25d366;
  border: 2px solid #25d366;
  background: transparent;
}

.btn-wa:hover {
  background-color: #25d366;
  border: 2px solid #25d366;
  color: #fff;
}

.spinner-overlay {
  height: 100vh;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}

.spinner-overlay .position-absolute {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.carousel-item>div {
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: 28rem;
}

.carousel-indicators {
  position: static;
}

.carousel-indicators>button {
  width: 100px !important;
  height: 60px !important;
  background-size: cover;
  background-repeat: no-repeat;
}

.fs-14 {
  font-size: 14px;
}

.fs-16 {
  font-size: 16px;
}

.fs-18 {
  font-size: 18px;
}

.fs-20 {
  font-size: 20px;
}

.fs-23 {
  font-size: 23px;
}

.fs-40 {
  font-size: 40px;
}

.fw-500 {
  font-weight: 500;
}

.fw-600 {
  font-weight: 600;
}

.br-10 {
  border-radius: 10px;
}

.br-15 {
  border-radius: 15px;
}

.border-grigio-scuro {
  border: 1px solid var(--bp-grigio-scuro);
}

.flex-0 {
  flex: 0;
}

.flex-1 {
  flex: 1;
}

@media screen and (min-width: 768px) {
  .border-md-top-0 {
    border-top: 0 !important;
  }

  .border-md-left {
    border-left: 1px solid #dee2e6 !important
  }

  .w-md-auto {
    width: auto !important;
  }
}

/* Pagina Checkout */
.checkout-form .input-form,
.prenotazione-input {
  padding: .75rem;
  border: 1px solid var(--bp-grigio-scuro);
  border-radius: 0;
}

.checkout-form .input-group .btn.input-group-text {
  padding: .375rem .75rem;
}

.checkout-form .input-group .input-form {
  border-right: 0;
}

.checkout-form .input-group .input-group-text {
  border: 1px solid var(--bp-grigio-scuro);
  border-left: 0;
}

.checkout-form .metodo-di-pagamento,
.radio-custom {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}

.checkout-form .label-metodo-di-pagamento,
.label-radio-custom {
  cursor: pointer;
}

.checkout-form .label-metodo-di-pagamento img,
.label-radio-custom img {
  max-height: 45px;
}

.checkout-form .metodo-di-pagamento+.label-metodo-di-pagamento,
.radio-custom+.label-radio-custom {
  border: 1px solid var(--bp-grigio-scuro);
}

.checkout-form .metodo-di-pagamento:checked+.label-metodo-di-pagamento,
.radio-custom:checked+.label-radio-custom {
  border: 3px solid var(--bp-pass);
}

a.card {
  color: initial;
  text-decoration: none;
}

.btn-ottieni-pass {
  background-color: #D4EDE3;
  color: #3E8C65;
  border-radius: 0;
  border: 2px solid #3E8C65;
  padding: .375rem .75rem;
  font-weight: 600;
  font-size: 1rem;
}

.btn-sconto {
  background-color: var(--rosso-sconto);
  color: #fff;
  border: 0;
  padding: .375rem .75rem;
  font-weight: 400;
  font-size: 1rem;
}

.btn-prenota {
  background-color: var(--bp-nero);
  color: #fff;
  border-radius: .25rem;
  border: 1px solid transparent;
  padding: .375rem .75rem;
  font-weight: 400;
  font-size: 1rem;
}

.btn-prenota:hover {
  background-color: var(--bp-nero-hover);
  color: #fff;
}

.object-fit-contain {
  object-fit: contain;
}

.object-fit-cover {
  object-fit: cover;
}

input[type="date"] {
  position: relative;
}

body>.select2-container {
  z-index: 9999 !important;
}

.mw-label {
  width: 130px;
}

.grecaptcha-badge {
  display: none !important;
}

input[type="date"]::-webkit-calendar-picker-indicator {
  bottom: 0;
  color: transparent;
  height: auto;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: auto;
  z-index: 1;
  background-size: auto;
  background-position: calc(100% - 10px);
}

input[type="date"]::after {
  content: "Data di nascita";
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  background-clip: padding-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: .375rem .75rem;
  border-radius: 0;
}

input[type="date"].input-form::after {
  padding: .75rem;
}

input[type="date"]:invalid::after {
  display: block;
}

/* HOMEPAGE */
.banner-text-wrapper {
  width: 30%;
  position: absolute;
  top: 20%;
  left: 16%;
}

.banner-text-title {
  color: #fff;
  font-size: 35px;
  font-weight: 700;
  margin-bottom: 20px;
}

.banner-text-subtitle {
  color: #fff;
  font-size: 18px;
  font-weight: 500;
}

.card-tag {
  position: relative;
  z-index: 10;
  font-size: 0.95rem;
  color: #fff;
  padding: 0.5rem 1.5rem;
  font-weight: 400;
  display: inline-block;
  margin-bottom: 30px;
}

.card-tag:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #000;
  opacity: 0.4;
  border-radius: 2rem;
  z-index: -1;
}

.card-content-title {
  color: #fff;
  font-size: 30px;
  font-weight: 300;
  margin-bottom: 0;
}

.card-content-description {
  color: #fff;
  font-size: 1rem;
  line-height: 1.5;
  margin-top: 1rem;
}

.card-button {
  position: absolute;
  bottom: 7%;
  left: 10%;
}

.color-1 {
  background-color: rgb(246, 185, 196);
}

.color-2 {
  background-color: rgb(233, 81, 108);
}

.color-3 {
  background-color: rgb(172, 69, 129);
}

.color-4 {
  background-color: rgb(110, 15, 108);
}

.contattaci-form .form-control {
  background-color: transparent !important;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid #000;
}

#section-contattaci {
  margin-top: 10rem;
}

#section-contattaci .contattaci-title {
  font-size: 3rem;
  font-weight: 700;
}

.footer-subtitle {
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  line-height: 26px;
}

.socials a {
  text-decoration: none;
  color: #fff;
  font-size: 35px;
  margin-right: 10px;
}

@media (max-width: 1200px) {
  .banner-text-wrapper {
    width: 90%;
    position: absolute;
    top: 20%;
    left: 8%;
  }

  .banner-text-subtitle {
    font-size: 15px;
  }

  #section-contattaci {
    margin-top: 2rem;
  }
}

.boxOrari {
  background-color: var(--Grigio-chiaro, #F3F3F3);
  padding: 10px;
}

.boxOrari .table td[scope="row"] {
  width: 1px;
  font-weight: 600;
}

@media only screen and (min-width: 768px) {
  body.showroom {
    padding-bottom: 0;
  }
}

a[data-bs-toggle="collapse"] i {
  transition: transform .2s linear;
}

a[data-bs-toggle="collapse"][aria-expanded="true"] i {
  transform: rotate(-180deg)
}

.text-sconto {
  color: var(--rosso-sconto);
}

a.card {
  color: initial;
  text-decoration: none;
}

.cta {
  position: fixed;
  bottom: 0;
  width: 100%;
  left: 0;
  padding: 1rem;
  text-align: center;
  background-color: #fff;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media only screen and (max-width: 767px) {
  .cta {
    flex-direction: row-reverse;
  }
}

.cta a {
  width: fit-content;
  margin: 0 0.1rem;
}


@media only screen and (min-width: 768px) {
  .cta {
    position: absolute;
    top: 5px;
    left: initial;
    right: calc(var(--bs-gutter-x) / 2);
    width: auto;
    padding: 0;
    background-color: transparent;
  }
}

.sottodeals-wrapper .sottodeals .form-check {
  padding: 15px 15px 15px 75px;
  border: 1px solid var(--bp-nero);
}

.sottodeals-wrapper .sottodeals .form-check label {
  cursor: pointer;
}

.sottodeals-wrapper .sottodeals .sottodeal-id {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}

.sottodeals-wrapper .sottodeals .sottodeal-id:checked+.form-check {
  border: 3px solid var(--verde-ottieni-pass);
}

.sottodeals-wrapper .sottodeals .sottodeal-id[disabled]+.form-check {
  opacity: .4;
}

.sottodeals-wrapper .sottodeals .sottodeal-id+.form-check label::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 37.5px;
  border: 1px solid var(--bp-nero);
  transform: translate(-50%, -50%);
  border-radius: 50%;
}

.sottodeals-wrapper .sottodeals .sottodeal-id:checked+.form-check label::before {
  border: 2px solid var(--verde-ottieni-pass);
}

.sottodeals-wrapper .sottodeals .sottodeal-id:checked+.form-check label::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  left: 37.5px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: var(--verde-ottieni-pass);
}

.prezzo-container {
  background-color: #F2F2F2;
}

.fs-18 {
  font-size: 18px;
}

.fs-20 {
  font-size: 20px;
}

.fs-25 {
  font-size: 25px;
}

.fs-30 {
  font-size: 30px;
}

.color-extra-sconto {
  color: var(--rosa-sconto);
}

.acquista-container button {
  background-color: var(--acquista);
  border-radius: 25px;
  font-size: 30px;
  font-weight: 600;
  padding-top: 20px;
  padding-bottom: 20px;
}

.hover-giallo:hover {
  background-color: var(--bp-giallo);
}

.acquista-container button.ready {
  background-color: var(--acquista-ready);
}

.acquista-container button.ready:hover {
  color: #fff;
}

.btn-primary.ready {
  color: var(--bp-nero);
  background-color: var(--acquista-ready);
}

.btn-primary.ready:hover,
.btn-primary.ready:active,
.btn-primary.ready:focus {
  color: #fff;
  background-color: var(--acquista-ready);
  box-shadow: none;
}

.acquista-container button[disabled] {
  background-color: var(--bp-grigio-chiaro-hover);
  color: var(--bp-nero);
  opacity: 1;
}

button[data-bs-toggle="collapse"] i {
  transition: transform .2s linear;
}

button[data-bs-toggle="collapse"][aria-expanded="false"] i {
  transform: rotate(-180deg);
}

.whatsapp-container {
  border: 1px solid var(--verde-wa);
  border-radius: 25px;

}

.whatsapp-container a {
  font-size: 30px;
  font-weight: 600;
  color: var(--verde-wa);
}

.whatsapp-container a:hover {
  color: var(--verde-wa) !important;
}

.whatsapp-container:hover {
  background-color: #D9FDD3;
}


.whatsapp-container a i {
  font-size: 45px;
}

@media screen and (min-width: 768px) {
  #gallery-mobile .box-gallery {
    max-height: 60vw;
  }

  .whatsapp-container a {
    font-size: 25px;
  }

  .whatsapp-container a i {
    font-size: 35px;
  }

  .flex-md-0 {
    flex: 0;
  }

  .border-md-0 {
    border: 0 !important;
  }

  .border-md {
    border: 1px solid #dee2e6 !important;
  }

  .mx-md-bs {
    margin-right: calc(var(--bs-gutter-x)* -.5) !important;
    margin-left: calc(var(--bs-gutter-x)* -.5) !important;
  }

  .border-md-dark {
    border-color: #212529 !important;
  }

  .mw-md-100 {
    max-width: 100%;
  }

  .mh-md-75 {
    max-height: 75px;
  }
}

.btn-avvisami {
  background-color: var(--bp-blu);
}

#carouselRecensioni .carousel-item {
  padding: 0 15%;
}

.paragraph-wrap {
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  line-clamp: 5;
  -webkit-box-orient: vertical;
}

.px-40 {
  padding: 0 40px;
}

.no-touch {
  pointer-events: none;
}

.ellipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media screen and (min-width: 992px) {
  .col-lg-25 {
    flex: 0 0 auto;
    width: 20%;
  }

  .px-lg-initial {
    padding-left: var(--bs-gutter-x, .75rem);
    padding-right: var(--bs-gutter-x, .75rem);
  }

  .border-lg-0 {
    border: 0 !important;
  }

  .border-lg {
    border: 1px solid #dee2e6 !important;
  }

  .fs-lg-23 {
    font-size: 23px;
  }

  .w-lg-auto {
    width: auto !important;
  }
}

.ombra-search {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  display: none;
  z-index: 1;
}

.breadcrumbs {
  font-size: clamp(12px, 2vw, 16px);
  text-transform: uppercase;
  padding: 15px 0;
}

.breadcrumbs span a {
  text-decoration: none;
  font-weight: 600;
  color: var(--bp-nero);
}

.breadcrumbs span a:hover {
  text-decoration: underline;
}

.breadcrumbs span a::after {
  content: "/";
  display: inline-block;
  padding: 0 5px;
}

.breadcrumbs span.active {
  text-decoration: underline;
}

.mw-25 {
  max-width: 25px;
}

.mw-50 {
  max-width: 50px;
}

.bg-azzurro {
  background-color: var(--bp-azzurro);
}

.border-blu {
  border-color: var(--bp-blu);
}

#collapsecondizioniGenerali>p:not(:has(+p)) {
  display: inline-block;
  margin-bottom: 1rem;
}

#collapsecondizioniGenerali>p {
  margin-bottom: 0;
}

.text-success-light {
  color: var(--bp-success-light);
}

.border-scuro {
  border-color: var(--bp-grigio-scuro) !important;
}

@media (min-width: 1200px) {

  .h1,
  h1 {
    font-size: 2rem;
  }

  .h2,
  h2 {
    font-size: 1.8rem;
  }

  .h3,
  h3 {
    font-size: 1.55rem;
  }

  .h4,
  h4 {
    font-size: 1.4rem;
  }

  .h5,
  h5 {
    font-size: 1.2rem;
  }

  .h6,
  h6 {
    font-size: .95rem;
  }
}

/* Disabilito selezione su swiper slide a fronte del click su bottone next/prev */
.swiper-slide {
  -webkit-touch-callout: none;
  /* iOS Safari */
  -webkit-user-select: none;
  /* Safari */
  -khtml-user-select: none;
  /* Konqueror HTML */
  -moz-user-select: none;
  /* Old versions of Firefox */
  -ms-user-select: none;
  /* Internet Explorer/Edge */
  user-select: none;
  /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
}

.custom-marker-img {
  width: 30px;
  height: 42px;
}

.ckEditorText span,
.ckEditorText p {
  font-size: 1rem !important;
}

.cke_notifications_area {
  display: none;
}

.layout-matrice picture {
  max-height: 400px;
}

@media screen and (min-width: 992px) {
  .card-trattamenti:not(.card-trattamenti-editor) picture {
    height: 200px;
  }

  .section-trattamenti .layout-matrice picture {
    height: 400px;
  }
}



/* Google Maps marker personalizzati */
.marker-position {
  background-color: #000000;
  color: #FFFFFF !important;
  text-align: center;
  font-family: "IBM Plex Sans" !important;
  font-size: 14px !important;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;

  margin-top: -25px;
  margin-left: 25px;
  border-radius: 50%;
  padding: 3px 7px;
  min-width: 30px;
}

.marker-position-pass {
  background-color: #000000;
  color: #FFFFFF !important;
  text-align: center;
  font-family: "IBM Plex Sans" !important;
  font-size: 14px !important;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;

  border-radius: 50%;
  padding: 3px 7px;

  z-index: 1;
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 30px;
}


/* Override custom marker image size for group with cluster */
.custom-marker-img {
  width: 34px;
  height: 45px;
}

.img-localizza,
.img-localizzato,
.img-cambia {
  max-width: 15px;
  max-height: 15px;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.btnLocalizzami>span,
.btnModificaLocalizzazione>span {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.btnLocalizzami>span.img-non-localizzato {
  color: #D11818;
}

.btnLocalizzami .img-localizza,
.btnModificaLocalizzazione .img-localizza {
  max-width: 22px;
  max-height: 22px;
}

.text-localizza {
  color: #D11818;
}

.text-localizzato {
  color: #257700;
}

#input-localizza::-webkit-input-placeholder {
  color: var(--bp-nero);
  opacity: 1;
}

#input-localizza:-moz-placeholder {
  color: var(--bp-nero);
  opacity: 1;
}

#input-localizza::-moz-placeholder {
  color: var(--bp-nero);
  opacity: 1;
}

#input-localizza::-ms-input-placeholder {
  color: var(--bp-nero);
  opacity: 1;
}

#input-localizza::placeholder {
  color: var(--bp-nero);
  opacity: 1;
}

#shortcutPass,
#scopriPassModal #scopriPassOpenedModal {
  bottom: 15px;
  z-index: 9;
  width: 100%;
  text-align: right;
}

#scopriPassModal #scopriPassOpenedModal {
  left: 0;
}

#shortcutPass #btnScopriPassClosed,
#scopriPassModal #scopriPassOpened {
  height: 60px;
  width: 60px;
  border-radius: 50%;
  margin-right: 15px;
}

#shortcutPass #scopriPassOpened {
  display: none;
  width: 100%;
  padding: 0 15px;
}

#shortcutPass #scopriPassOpened .scopriPassOpenedFlex {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

#scopriPassModal #scopriPassOpened {
  display: none;
  width: 100%;
  padding: .5rem;
}

#shortcutPass #scopriPassOpened #btnScopriPassOpened {
  min-height: 50px;
  height: 100%;
  border-radius: 10px;
  padding: .5rem 1.5rem;
}

#scopriPassModal #scopriPassOpened #btnScopriPassOpened {
  min-height: 50px;
  height: 100%;
  width: 100%;
  border-radius: 10px;
}

#closeBtnScopriPass {
  height: 40px;
  width: 40px;
  border-radius: 50%;
}


.disclaimer-recensione {
  display: flex;
  align-items: center;
  margin: 5px 0;
  padding: 0.5rem;
}

.disclaimer-recensione i {
  margin-right: 10px;
  font-size: 24px;
}

.recensione-valutazione i {
  margin-left: -10px;
}

.disclaimer-recensione-text {
  display: flex;
  flex-direction: column;
  font-size: 14px;
  /* Riduce la dimensione del testo */
  text-align: left;
  /* Allinea il testo a sinistra */

}

.category-dimagrimento,
.category-epilazione,
.category-ringiovanimento {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  height: 100%;
  width: 100%;
}

.n-m60 {
  margin-top: -60px;
}

.footer-logo img {
  max-width: 350px;
  width: 100%;
}

@media screen and (min-width: 1200px) {
  .n-m60 {
    margin-top: 0;
  }
}

.modal-bottom .modal-dialog-centered {
  align-items: flex-end;
  height: 100%;
  margin: 0;
  width: 100vw;
  max-width: none;
}

.modal-bottom .modal-dialog-centered .modal-content {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

#carouselPrenota .carousel-item>div {
  height: 100%;
}

#carouselPrenota {
  height: 60vh;
}

.justify {
  text-align: justify;
}

@media screen and (min-width: 768px) {

  .img-localizza,
  .img-localizzato,
  .img-cambia {
    max-width: 30px;
    max-height: 30px;
  }
}