/* Flat, shared footer presentation. Content and link destinations stay in HTML. */
html body .page .pre-footer-corporate.frc-footer-light {
  padding: clamp(36px, 4vw, 56px) 0 32px !important;
  background: #082f49 !important;
  border: 0 !important;
  box-shadow: none !important;
}

html body .page .footer-corporate.frc-footer-light {
  padding-top: 0 !important;
  background: #082f49 !important;
  border-top: 0 !important;
  box-shadow: none !important;
}

html body .page .frc-footer-light > .container {
  width: min(100% - 40px, 1320px) !important;
  max-width: 1320px !important;
  margin-inline: auto !important;
  padding: 0 !important;
}

html body .page .pre-footer-corporate.frc-footer-light::before,
html body .page .pre-footer-corporate.frc-footer-light::after,
html body .page .pre-footer-corporate.frc-footer-light .row > [class*="col-"]:last-child::after {
  content: none !important;
  display: none !important;
}

html body .page .pre-footer-corporate.frc-footer-light > .container > .row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 32px !important;
  align-items: start !important;
  margin: 0 !important;
}

html body .page .pre-footer-corporate.frc-footer-light .row > [class*="col-"] {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  overflow: visible !important;
  text-align: left !important;
}

html body .page .pre-footer-corporate.frc-footer-light :is(p, li, .unit-body) {
  color: #cbdce7 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

html body .page .pre-footer-corporate.frc-footer-light .row > [class*="col-"]:first-child::before {
  margin: 0 0 16px !important;
  font-family: "Outfit", Arial, sans-serif !important;
  font-size: 21px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

html body .page .pre-footer-corporate.frc-footer-light .row > [class*="col-"]:first-child > p {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

html body .page .pre-footer-corporate.frc-footer-light .row > [class*="col-"]:first-child > a {
  margin-top: 20px !important;
}

html body .page .pre-footer-corporate.frc-footer-light h6,
html body .page .pre-footer-corporate.frc-footer-light .row > [class*="col-"]:nth-child(2) h6 {
  display: block !important;
  flex-basis: 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: #ffffff !important;
  font-family: "Outfit", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: none !important;
  white-space: normal !important;
}

html body .page .pre-footer-corporate.frc-footer-light h6::before,
html body .page .pre-footer-corporate.frc-footer-light h6::after {
  content: none !important;
  display: none !important;
}

/* Keep the social logos and both existing badges, without surrounding tiles. */
html body .page .pre-footer-corporate.frc-footer-light .row > [class*="col-"]:nth-child(2) {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-content: start !important;
  align-items: start !important;
  justify-content: flex-start !important;
  gap: 8px !important;
}

html body .page .pre-footer-corporate.frc-footer-light .row > [class*="col-"]:nth-child(2) > h6 {
  margin-bottom: 0 !important;
}

html body .page .pre-footer-corporate.frc-footer-light .row > [class*="col-"]:nth-child(2) > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 40px !important;
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  transform: none !important;
}

html body .page .pre-footer-corporate.frc-footer-light .row > [class*="col-"]:nth-child(2) > a img {
  width: 28px !important;
  height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  object-fit: contain !important;
}

html body .page .pre-footer-corporate.frc-footer-light .row > [class*="col-"]:nth-child(2) > p {
  flex-basis: 100% !important;
  margin: 8px 0 0 !important;
}

html body .page .pre-footer-corporate.frc-footer-light img:is([src*="badge-tripadvisor"], [src*="segnalato_da_youritaly"]) {
  width: 140px !important;
  max-width: 100% !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

/* Useful links remain easy to scan and have room for the longest translations. */
html body .page .pre-footer-corporate.frc-footer-light .frc-footer-nav {
  flex-basis: 100% !important;
  margin-top: 20px !important;
  padding: 0 !important;
  border: 0 !important;
}

html body .page .pre-footer-corporate.frc-footer-light .frc-footer-nav ul {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 4px 20px !important;
}

html body .page .pre-footer-corporate.frc-footer-light .frc-footer-nav li:last-child {
  grid-column: 1 / -1 !important;
}

html body .page .pre-footer-corporate.frc-footer-light a[href]:not(:has(img)) {
  color: #bae6fd !important;
  -webkit-text-fill-color: currentColor !important;
  font-weight: 500 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: .2em !important;
}

html body .page .pre-footer-corporate.frc-footer-light .frc-footer-nav a[href] {
  justify-content: flex-start !important;
  width: fit-content !important;
  max-width: 100% !important;
  min-height: 32px !important;
  padding: 4px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none;
  font-size: 14px !important;
  line-height: 1.5 !important;
  text-align: left !important;
  transform: none !important;
}

html body .page .pre-footer-corporate.frc-footer-light a[href]:hover,
html body .page .pre-footer-corporate.frc-footer-light a[href]:focus-visible {
  color: #ffffff !important;
  -webkit-text-fill-color: currentColor !important;
}

/* Compact contact rows with simple icons, without individual boxes or dividers. */
html body .page .pre-footer-corporate.frc-footer-light .list-xs {
  gap: 12px !important;
}

html body .page .pre-footer-corporate.frc-footer-light .list-xs > li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

html body .page .pre-footer-corporate.frc-footer-light .unit {
  grid-template-columns: 20px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
}

html body .page .pre-footer-corporate.frc-footer-light .unit-left {
  width: 20px !important;
  min-width: 20px !important;
  height: 26px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

html body .page .pre-footer-corporate.frc-footer-light .unit-left :is(.icon, img[src*="logo-whatsapp"]) {
  font-size: 18px !important;
  width: 18px !important;
  height: auto !important;
}

html body .page .pre-footer-corporate.frc-footer-light .unit-body p {
  margin: 0 !important;
}

/* The copyright area shares the same open layout and one quiet section rule. */
html body .page .frc-footer-light .frc-legal-card {
  gap: 24px;
  padding: 24px 0 0;
  border: 0;
  border-top: 1px solid rgba(186, 230, 253, .16);
  border-radius: 0;
  background: none;
}

html body .page .frc-footer-light .frc-legal-card p.frc-legal-brand {
  font-size: 16px !important;
  font-weight: 500 !important;
}

html body .page .frc-footer-light .frc-legal-card a[href] {
  font-weight: 500 !important;
}

html body .page .frc-footer-light .frc-legal-card p.frc-legal-cookies {
  padding-top: 0 !important;
  border: 0;
}

@media (max-width: 360px) {
  html body .page .pre-footer-corporate.frc-footer-light .frc-footer-nav ul {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (min-width: 700px) {
  html body .page .frc-footer-light .frc-legal-card {
    column-gap: 36px;
  }

  html body .page .pre-footer-corporate.frc-footer-light > .container > .row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 36px !important;
  }

  html body .page .pre-footer-corporate.frc-footer-light .row > [class*="col-"]:first-child {
    grid-column: 1 / -1 !important;
  }
}

@media (min-width: 1100px) {
  html body .page .frc-footer-light .frc-legal-card {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, 1.1fr);
    column-gap: clamp(32px, 4vw, 56px);
  }

  html body .page .pre-footer-corporate.frc-footer-light > .container > .row {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, 1.1fr) !important;
    gap: clamp(32px, 4vw, 56px) !important;
  }

  html body .page .pre-footer-corporate.frc-footer-light .row > [class*="col-"]:first-child {
    grid-column: auto !important;
  }
}
