/* Firto Luxury Soft — isolated homepage and site palette. */
:root{--firto-rose:#b43f70;--firto-deep:#633e51;--firto-cream:#fff9f6;--firto-champagne:#f4e5df}
body{background:#fffaf8;color:#493941}
a{color:#a33b68}a:hover{color:#842b53}
.btn-primary,button.btn-primary,input[type=submit].btn-primary{background:#ad3f70;border-color:#ad3f70;color:white;border-radius:25px}
.btn-primary:hover,button.btn-primary:hover{background:#8d3159;border-color:#8d3159}
.navbar{background-color:#fff7f4}.navbar #logo{background:url('../img/logo.png') center center/contain no-repeat;width:180px;height:64px;padding:0;margin:0 15px 0 0;overflow:visible}.navbar #logo h1{margin:0;width:100%;height:100%}.navbar #logo h1 a{display:block;width:100%;height:100%;font-size:0}
/* Guest homepage only. The illustration is the approved visual artwork. */
body:has(.firto-luxury) {background:#faf3ef}
body:has(.firto-luxury) header{background:transparent;padding:0}
body:has(.firto-luxury) header #logo{display:block;min-height:113px;background:url("../img/logo.png") left center/contain no-repeat;padding:0;margin:0 0 12px 0}body:has(.firto-luxury) header #logo h1{margin:0}body:has(.firto-luxury) header #logo h1 a{display:block;width:100%;height:113px;font-size:0}
body:has(.firto-luxury) header>.row{display:none}
body:has(.firto-luxury) #content{width:100%;max-width:none;padding:0;margin:0}
body:has(.firto-luxury) #content>.msg{max-width:900px;margin:auto}
.firto-luxury{width:100%;margin:auto;background:#faf3ef;clear:both}
.firto-luxury *{box-sizing:border-box}
.firto-luxury-art{position:relative;width:100%;max-width:1672px;margin:auto;line-height:0;overflow:hidden}
.firto-luxury-art picture,.firto-luxury-art img{display:block;width:100%;height:auto}
.firto-hotspot{position:absolute;display:block;z-index:3;border-radius:999px;cursor:pointer}
.firto-hotspot:focus-visible{outline:4px solid #8b2456;outline-offset:3px}
.firto-desktop{display:block}.firto-mobile{display:none}
.firto-register-desktop{left:39%;top:51%;width:23%;height:9%}
.firto-login-desktop{left:41%;top:60%;width:20%;height:7%}
.firto-join{max-width:520px;margin:14px auto 45px;padding:0 20px 18px;background:#fffaf8;border:1px solid #eed6dc;border-radius:18px;line-height:1.5}
.firto-join summary{cursor:pointer;text-align:center;font-size:18px;font-weight:700;color:#8e365d;padding:16px 8px;list-style-position:inside}
.firto-join-content{padding:0 8px 16px}
.firto-join-content h2{font-size:22px;text-align:center;color:#7c3655;margin:8px 0 12px}
.firto-join-content form{max-width:100%}
.firto-join-content input{max-width:100%}
.firto-join-content a{color:#a33b68}
@media(max-width:680px){.firto-luxury-art{max-width:540px}.firto-desktop{display:none}.firto-mobile{display:block}.firto-register-mobile{left:23%;top:56%;width:54%;height:6%}.firto-login-mobile{left:23%;top:62%;width:54%;height:5%}.firto-join{margin:10px 12px 35px;padding:0 12px 14px}.firto-join summary{font-size:16px}}

/* FIRTO LUXURY - STILE GENERALE */
body {
  background: #fff7f4 !important;
  color: #442536;
}

.navbar {
  background: #fff7f4 !important;
  border-bottom: 1px solid #f0d6dc;
}

.navbar #logo {
  display: block !important;
  background: url('../img/logo.png') left center / contain no-repeat !important;
  width: 180px;
  height: 64px;
}

.navbar #logo h1,
.navbar #logo h1 a {
  display: block;
  width: 100%;
  height: 100%;
  font-size: 0;
}

.navbar a {
  color: #75213f;
}

.btn-primary,
.btn-success,
input[type="submit"] {
  background: linear-gradient(180deg,#f02a76,#94143d) !important;
  border-color: #94143d !important;
  color: white !important;
  border-radius: 25px;
}

.panel,
.well,
.modal-content {
  background: #fffaf8;
  border: 1px solid #efdce0;
  border-radius: 14px;
}

.form-control {
  border-radius: 10px;
  border-color: #e8cbd3;
}

a {
  color: #a71951;
}

a:hover {
  color: #e42c72;
}


/* FIRTO - PULSANTI INVISIBILI SOPRA LA GRAFICA */
.firto-hotspot,
.firto-hotspot:hover,
.firto-hotspot:focus,
.firto-hotspot:active {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  text-decoration: none !important;
  border-radius: 0 !important;
}



/* MENU SUPERIORE CLICCABILE - HOMEPAGE DESKTOP */
.firto-nav-hotspot {
  position:absolute;
  display:block;
  z-index:10;
  top:0;
  height:9.7%;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:none !important;
}
.firto-nav-logo{left:5%;width:20%}
.firto-nav-home{left:30%;width:9%}
.firto-nav-people{left:39%;width:10%}
.firto-nav-search{left:49%;width:9%}
.firto-nav-signup{left:58%;width:10%}
.firto-nav-access{left:69%;width:9%}
.firto-nav-free{left:79%;width:14%}
.firto-nav-more{left:94%;width:5%}

@media(max-width:680px){
  .firto-nav-hotspot{display:none}
}



/* FIRTO FOOTER - STILE UNICO COMPATTO */
html body footer {
  display: block !important;
  position: relative !important;
  background: #482337 !important;
  color: #ffffff !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  border-top: 2px solid #b43f70 !important;
  box-sizing: border-box !important;
}

html body footer [role="contentinfo"] {
  display: flex !important;
  flex-direction: column-reverse !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body footer .firto-footer-links {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px 20px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body footer .firto-footer-links a {
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  background: transparent !important;
}

html body footer .firto-footer-links a:hover {
  color: #ffb5d0 !important;
}

html body footer .ft_copy {
  float: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 6px 0 0 !important;
  border-top: 1px solid #805568 !important;
  text-align: center !important;
}

html body footer .ft_copy p {
  margin: 0 !important;
  padding: 0 !important;
  color: #e9cad6 !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
}

/* FIRTO - CORREZIONE LARGHEZZA HOMEPAGE MOBILE */
@media screen and (max-width: 680px) {
  body:has(.firto-luxury) .firto-luxury,
  body:has(.firto-luxury) .firto-luxury-art,
  body:has(.firto-luxury) .firto-luxury-art picture,
  body:has(.firto-luxury) .firto-luxury-art img {
    width: 100% !important;
    max-width: none !important;
  }

  body:has(.firto-luxury) .firto-luxury-art img {
    height: auto !important;
    object-fit: contain !important;
  }

  body:has(.firto-luxury) .firto-luxury-art {
    background: #fff7f4 !important;
  }
}

/* FIRTO LUXURY ROSE - PAGINE INTERNE */
body:not(:has(.firto-luxury)) {
  background: #eed8e1 !important;
  color: #482337;
}

body:not(:has(.firto-luxury)) #content {
  background: #fff1ed !important;
  border: 1px solid #e5bcca;
  border-radius: 18px;
  box-shadow: 0 8px 28px rgba(72,35,55,.10);
}

body:not(:has(.firto-luxury)) a:not(.btn) {
  color: #9c285a;
}

body:not(:has(.firto-luxury)) h1,
body:not(:has(.firto-luxury)) h2,
body:not(:has(.firto-luxury)) h3 {
  color: #482337;
}


/* FIRTO LUXURY - SFONDO NUVOLE PAGINE INTERNE */
body:not(:has(.firto-luxury)) {
  background-color: #f5dce5 !important;
  background-image: url('../img/firto-nuvole.webp') !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}

@media screen and (max-width: 680px) {
  body:not(:has(.firto-luxury)) {
    background-attachment: scroll !important;
    background-position: center top !important;
  }
}

/* FIRTO - SFONDO CHAMPAGNE E TORTORA */
body:not(:has(.firto-luxury)) {
  background-color: #e9d7c8 !important;
  background-image: url('../img/firto-champagne-tortora.webp') !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}

@media (max-width: 680px) {
  body:not(:has(.firto-luxury)) {
    background-attachment: scroll !important;
    background-position: center top !important;
  }
}

/* FIRTO - LEGGIBILITA PAGINE INTERNE */
body:not(:has(.firto-luxury)) #content label,
body:not(:has(.firto-luxury)) #content .control-label,
body:not(:has(.firto-luxury)) #content legend,
body:not(:has(.firto-luxury)) #content .help-block,
body:not(:has(.firto-luxury)) #content .checkbox,
body:not(:has(.firto-luxury)) #content .radio {
  color: #482337 !important;
  text-shadow: none !important;
}

body:not(:has(.firto-luxury)) #content .alert,
body:not(:has(.firto-luxury)) #content .alert * {
  color: #482337 !important;
}

body:not(:has(.firto-luxury)) #content .alert {
  background: #fff4e9 !important;
  border: 1px solid #d8bda9 !important;
  border-radius: 12px !important;
}


/* FIRTO - TESTI LEGGIBILI NEI MODULI */
body:not(:has(.firto-luxury)) #content {
  color: #482337 !important;
}

body:not(:has(.firto-luxury)) #content p,
body:not(:has(.firto-luxury)) #content li,
body:not(:has(.firto-luxury)) #content small,
body:not(:has(.firto-luxury)) #content .text-muted,
body:not(:has(.firto-luxury)) #content .form-text,
body:not(:has(.firto-luxury)) #content .form-check-label,
body:not(:has(.firto-luxury)) #content .checkbox label,
body:not(:has(.firto-luxury)) #content .checkbox span {
  color: #482337 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

body:not(:has(.firto-luxury)) #content a {
  color: #922d59 !important;
}

body:not(:has(.firto-luxury)) #content input[type="checkbox"] {
  accent-color: #a92f63;
}

/* FIRTO - PULSANTI SUPERIORI HOMEPAGE MOBILE */
@media screen and (max-width: 680px) {

  .firto-luxury-art .firto-nav-hotspot {
    display: none !important;
  }

  .firto-luxury-art .firto-nav-logo,
  .firto-luxury-art .firto-nav-access,
  .firto-luxury-art .firto-nav-free {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    height: 7% !important;
    z-index: 30 !important;
    background: transparent !important;
  }

  .firto-luxury-art .firto-nav-logo {
    left: 2% !important;
    width: 34% !important;
  }

  .firto-luxury-art .firto-nav-access {
    left: 40% !important;
    width: 19% !important;
  }

  .firto-luxury-art .firto-nav-free {
    left: 60% !important;
    width: 27% !important;
  }

}
