/* Shared toolbar language selector */
.sidlo-porto .sidlo-home-masthead #header .sidlo-utility-bar { overflow: visible; }
.sidlo-language { position: relative; flex: none; color: #fff6e9; font-size: .82rem; }
.sidlo-language summary {
  display: inline-flex;
  align-items: center;
  gap: .36rem;
  min-height: 1.95rem;
  padding: .12rem .42rem;
  list-style: none;
  font-weight: 720;
  cursor: pointer;
  border-radius: .32rem;
}
.sidlo-language summary::-webkit-details-marker { display: none; }
.sidlo-language summary::after {
  content: "";
  width: .38rem;
  height: .38rem;
  margin: -.15rem .08rem 0 .08rem;
  border: solid currentColor;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
}
.sidlo-language summary i { color: #f1c58b; }
.sidlo-language[open] summary, .sidlo-language summary:hover { background: #39241ad9; }
.sidlo-porto #header .sidlo-language-list {
  position: absolute;
  z-index: 10;
  top: calc(100% + .35rem);
  right: 0;
  width: max-content;
  min-width: 10rem;
  max-width: calc(100vw - 1.5rem);
  max-height: 72vh;
  margin: 0;
  padding: .32rem;
  overflow-y: auto;
  list-style: none;
  border: 1px solid #846345;
  border-radius: .75rem;
  background: #322019;
  box-shadow: 0 .55rem 1.7rem #120c0990;
}
.sidlo-porto #header .sidlo-language-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 2.22rem;
  padding: .27rem .62rem;
  color: #fff6e9;
  font-size: .84rem;
  font-weight: 570;
  text-decoration: none;
  border-radius: .35rem;
}
.sidlo-porto #header .sidlo-language-list a:hover,
.sidlo-porto #header .sidlo-language-list a[aria-current] { background: #58402d; color: #ffe0ad; }
.sidlo-language :is(a, summary):focus-visible { outline: 2px solid #ffd28f; outline-offset: 1px; }
.sidlo-utility-bar .sidlo-language[open] { z-index: 1; }
.sidlo-porto #header:has(.sidlo-language[open]) .sidlo-overlay-nav { z-index: 0; }
@media (max-width: 460px) {
  .sidlo-home-masthead .sidlo-utility-tools { gap: .38rem; }
  .sidlo-language summary { padding-inline: .22rem; }
}

/* Localized service pages share the site's navigation, banners and footer. */
.sidlo-porto .sidlo-localized-home .sidlo-page-banner {
  min-height: clamp(28rem, 42vw, 42rem);
  padding-block: 9rem 4rem;
}
.sidlo-porto .sidlo-localized-home .sidlo-page-banner-copy { width: min(100%, 55rem); }
.sidlo-porto .sidlo-localized-home .sidlo-page-heading { font-size: clamp(2.35rem, 5.15vw, 4.7rem); }
.sidlo-localized-home .sidlo-page-banner-copy > p {
  max-width: 42rem;
  margin: .95rem auto 1.45rem;
  color: #fff6e8;
  font-size: clamp(1rem, 1.5vw, 1.23rem);
  line-height: 1.55;
  text-wrap: balance;
}
.sidlo-locale-content { background: #faf7f3; }
.sidlo-locale-wrap { width: min(100% - 2.4rem, 74rem); margin-inline: auto; padding-block: clamp(2.5rem, 5vw, 5rem); }
.sidlo-locale-content .sidlo-locale-wrap > :first-child { margin-top: 0; }
.sidlo-locale-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
.sidlo-locale-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: clamp(1.25rem, 2.3vw, 2rem);
  border: 1px solid #e7d9c9;
  border-radius: 1.25rem;
  background: #fffdf9;
}
.sidlo-locale-card > i, .sidlo-locale-intro > i { color: #9b632b; font-size: 1.65rem; margin-bottom: .82rem; }
.sidlo-porto .sidlo-locale-card h3 { margin: 0 0 .8rem; font-size: clamp(1.15rem, 2vw, 1.6rem); line-height: 1.2; }
.sidlo-locale-card p, .sidlo-locale-wrap p { color: #5a4a3f; line-height: 1.68; }
.sidlo-locale-card p { margin: 0 0 1rem; }
.sidlo-locale-card a { margin-top: auto; font-weight: 700; }
.sidlo-locale-price { font-weight: 720; color: #61401e; }
.sidlo-locale-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1rem; margin-top: 1.3rem; }
.sidlo-locale-actions > a { min-width: 0; white-space: normal; }
.sidlo-porto .sidlo-locale-content .sidlo-section-button { margin: 0; }
.sidlo-locale-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(1.4rem, 4vw, 4rem);
}
.sidlo-locale-intro img { width: 100%; height: auto; aspect-ratio: 1.5; object-fit: cover; border-radius: 1.2rem; }
.sidlo-locale-intro p:first-child { font-size: 1.12rem; }
.sidlo-locale-next { margin-top: 3rem; }
.sidlo-porto .sidlo-locale-content h2 { margin-bottom: 1.15rem; line-height: 1.2; }
.sidlo-locale-nav-group .sidlo-nav-parent > a { white-space: nowrap; }
.sidlo-porto .sidlo-localized .sidlo-contact .sidlo-contact-send span { flex: none; }
@media (max-width: 900px) {
  .sidlo-locale-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 690px) {
  .sidlo-locale-grid, .sidlo-locale-intro { grid-template-columns: minmax(0,1fr); }
  .sidlo-locale-intro img { order: -1; }
  .sidlo-porto .sidlo-localized-home .sidlo-page-banner { min-height: 26rem; padding-block: 7.5rem 2.7rem; }
}

.sidlo-localized .sidlo-home-masthead :is(.sidlo-utility-inner,.sidlo-overlay-nav) {
  margin-inline: auto;
}
@media (min-width: 1280px) {
  .sidlo-localized .sidlo-home-masthead #header .sidlo-main-nav .nav {
    gap: clamp(.9rem, 1.7vw, 1.65rem);
  }
}
@media (max-width: 460px) {
  .sidlo-porto.sidlo-localized .sidlo-overlay-nav #logo a {
    width: min(100%, 8.75rem);
  }
}
