.sidlo-home-masthead #header .sidlo-nav-group { position:relative; }
.sidlo-nav-parent { display:flex; align-items:center; }
.sidlo-porto .sidlo-submenu-toggle {
  display:grid; place-items:center; flex:0 0 17px; width:17px; min-height:38px;
  padding:0; background:transparent; color:#fff4e4; border:0; cursor:pointer;
}
.sidlo-submenu-toggle span {
  width:6px; height:6px; border-right:1.5px solid; border-bottom:1.5px solid;
  transform:rotate(45deg) translate(-1px,-1px);
}
.sidlo-submenu-toggle[aria-expanded=true] span { transform:rotate(225deg); }
.sidlo-porto #header .sidlo-submenu {
  position:absolute; z-index:20; top:100%; left:0; min-width:218px; max-width:300px;
  margin:0; padding:8px; list-style:none; background:#fff9f2; color:#39281c;
  border:1px solid #e9dbcc; border-radius:10px; box-shadow:0 12px 28px #190e0750;
}
.sidlo-porto #header .sidlo-nav-group:last-child .sidlo-submenu { left:auto; right:0; }
.sidlo-porto #header .sidlo-submenu[hidden] { display:none; }
.sidlo-porto #header .sidlo-submenu a {
  display:block; padding:9px 11px; color:#39281c; text-decoration:none; line-height:1.3;
  font-size:14px; font-weight:580; border-radius:5px;
}
.sidlo-porto #header .sidlo-submenu a:hover,
.sidlo-porto #header .sidlo-submenu a[aria-current=page] { background:#efe2d0; color:#623d1a; }
.sidlo-porto #header :is(.sidlo-submenu-toggle,.sidlo-submenu a):focus-visible { outline:2px solid #bd894c!important; }
.sidlo-porto #header .sidlo-nav-parent .sidlo-section-current { color:#f4cf91; }
@media (min-width:1280px) {
  .sidlo-home-masthead #header .sidlo-overlay-nav { grid-template-columns:165px minmax(0,1fr) max-content; column-gap:13px; }
  .sidlo-home-masthead #header .sidlo-main-nav .nav { gap:3px; }
  .sidlo-home-masthead #header .sidlo-main-nav .nav-link { font-size:clamp(14px,1vw,15.5px); padding-inline:3px; }
}
@media (min-width: 1280px) and (max-width: 1439.98px) {
  .sidlo-home-masthead #header .sidlo-overlay-nav {
    width: calc(100% - 2rem);
    grid-template-columns: 146px minmax(0, 1fr) max-content;
    column-gap: 8px;
  }
  .sidlo-home-masthead #header .sidlo-main-nav .nav { gap: clamp(1px, (100vw - 1280px) / 30, 3px); }
  .sidlo-home-masthead #header .sidlo-main-nav .nav-link { padding-inline: clamp(1px, (100vw - 1280px) / 34, 3px); }
  .sidlo-home-masthead #header .sidlo-submenu-toggle { flex-basis: 14px; width: 14px; }
  .sidlo-home-masthead .sidlo-portal { gap: .42rem; padding-left: .65rem; font-size: .84rem; }
  .sidlo-home-masthead .sidlo-portal .sidlo-home-arrow { width: 1.65rem; height: 1.65rem; }
  .sidlo-home-masthead .sidlo-portal .sidlo-home-arrow::before { width: .74rem; }
  .sidlo-home-masthead .sidlo-portal .sidlo-home-arrow::after {
    inset: .46rem .46rem auto auto;
    width: .35rem;
    height: .35rem;
  }
}
@media (max-width:1279.98px) {
  .sidlo-nav-parent > a { flex:1; }
  .sidlo-porto .sidlo-submenu-toggle { flex-basis:42px; width:42px; }
  .sidlo-porto #header .sidlo-submenu { position:static; max-width:none; margin:0 6px 8px 14px; }
}
.sidlo-porto .sidlo-page-masthead {
  display:grid; align-items:stretch; min-height:0; background:#241911;
}
.sidlo-page-banner {
  position:relative; z-index:0; display:grid; place-items:center; overflow:hidden;
  min-height:clamp(285px,28vw,430px); padding:125px 22px 52px;
}
.sidlo-page-banner img,.sidlo-page-banner::after {
  position:absolute; z-index:-1; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 48%;
}
.sidlo-page-banner::after { content:""; background:linear-gradient(#1a100bc4,#21150da8 45%,#1b100bc9); }
.sidlo-page-banner-copy { max-width:1030px; color:#fff7eb; text-align:center; }
.sidlo-porto .sidlo-page-banner :is(h1,.sidlo-page-heading) {
  margin:0 0 18px; color:inherit; font-size:clamp(1.85rem,3.8vw,3.35rem); font-weight:680;
  line-height:1.12; letter-spacing:-.025em; text-wrap:balance; overflow-wrap:anywhere;
}
.sidlo-crumbs ol { list-style:none; padding:0; margin:0; display:flex; justify-content:center; flex-wrap:wrap; gap:5px 10px; font-size:.87rem; }
.sidlo-crumbs li { display:flex; align-items:center; gap:10px; }
.sidlo-crumbs li+li::before { content:"›"; color:#eac68c; }
.sidlo-crumbs a { color:#fff5e7; text-decoration:none; }
.sidlo-crumbs a:hover { text-decoration:underline; }
.sidlo-crumbs [aria-current] { color:#f4cf91; }
.sidlo-porto.sidlo-interior .sidlo-content {
  box-sizing: border-box;
  width: min(calc(100% - 2.5rem), 1320px) !important;
  max-width: 1320px !important;
  padding-inline: clamp(14px, 2.5vw, 36px);
}
.sidlo-porto.sidlo-interior .sidlo-content.sidlo-article-area {
  width: min(calc(100% - 2.5rem), 70rem) !important;
  max-width: 70rem !important;
}
.sidlo-porto.sidlo-interior .sidlo-content.sidlo-order-page {
  box-sizing:border-box;
  width:min(calc(100% - 2.5rem), 1050px) !important;
  max-width:1050px !important;
}
.sidlo-porto.sidlo-interior .sidlo-content img { max-width:100%; height:auto; }
.sidlo-porto.sidlo-interior .sidlo-content p { line-height:1.65; }
.sidlo-porto.sidlo-interior .sidlo-content iframe { max-width:100%; }
.sidlo-porto.sidlo-interior .sidlo-table { border:1px solid #ece2d8; border-radius:9px; padding:7px; }
.sidlo-porto.sidlo-interior .sidlo-table table { width:100%; }
.sidlo-porto.sidlo-interior .sidlo-table :is(td,th) { line-height:1.45; }
.sidlo-porto.sidlo-interior .sidlo-table img { display:block; max-width:100%; height:auto; margin-inline:auto; }
.sidlo-content .sidlo-lead-split {
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  align-items:center; gap:clamp(16px,3vw,44px); padding:clamp(16px,3vw,42px);
  margin:0 0 clamp(26px,5vw,68px); background:#f7f2ec; border-radius:14px;
}
.sidlo-lead-split p { margin:0; }
.sidlo-porto .sidlo-lead-split img { width:100%; aspect-ratio:1.65; object-fit:cover; border-radius:10px; }
.sidlo-contact-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:36px; }
.sidlo-contact-overview section { padding:18px; border:1px solid #e6d9cc; border-radius:10px; background:#fbf7f1; overflow-wrap:anywhere; }
.sidlo-contact-overview h2 { font-size:1.05rem; }
.sidlo-directory { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.sidlo-directory section { background:#fbf7f2; padding:clamp(15px,2.5vw,28px); border-radius:10px; }
.sidlo-directory li { margin:.25rem 0; overflow-wrap:anywhere; }
@media (max-width:767.98px) {
  .sidlo-page-banner { padding:115px 16px 35px; min-height:270px; }
  .sidlo-content .sidlo-lead-split,.sidlo-contact-overview,.sidlo-directory { grid-template-columns:minmax(0,1fr); }
  .sidlo-porto.sidlo-interior .sidlo-content,
  .sidlo-porto.sidlo-interior .sidlo-content.sidlo-article-area {
    width: min(calc(100% - 1.15rem), 100%) !important;
    padding-inline: .9rem;
  }
  .sidlo-porto.sidlo-interior .sidlo-content.sidlo-order-page {
    width: min(calc(100% - 1.15rem), 100%) !important;
    padding-inline:.9rem;
  }
}
.sidlo-porto.page-home { --sidlo-config-overlap: 5rem; }
.sidlo-porto.page-home .sidlo-hero-controls {
  bottom: calc(var(--sidlo-config-overlap) + 1rem);
}
.sidlo-home-configurator {
  position: relative;
  z-index: 4;
  width: calc(100% - 3rem);
  max-width: 81rem;
  margin: calc(-1 * var(--sidlo-config-overlap)) auto 1.5rem;
  padding: 2.15rem clamp(1.2rem, 3.5vw, 3.1rem) 1.15rem;
  background: #fff;
  box-shadow: 0 1.5rem 3.5rem #29201730;
}
.sidlo-config-grid { display:grid; grid-template-columns:1.28fr 1.05fr .9fr .55fr .74fr .87fr; gap:10px; }
.sidlo-config-grid label { display:flex; flex-direction:column; gap:5px; min-width:0; font-weight:650; font-size:.88rem; }
.sidlo-config-grid :is(select,input) { width:100%; min-width:0; min-height:43px; padding:6px 8px; color:#35251a; background:#fff; border:1px solid #ccbbaa; border-radius:5px; font:inherit; }
.sidlo-price-summary { color:#513521; font-size:.9rem; font-weight:630; }
.sidlo-home-configurator .sidlo-config-grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.34fr) minmax(0, 1.06fr) minmax(0, .72fr) minmax(0, .83fr) minmax(0, .92fr) minmax(0, 1.3fr);
  align-items: end;
  gap: .95rem;
}
.sidlo-home-configurator .sidlo-config-grid label {
  gap: .85rem;
  margin: 0;
  color: #261c14;
  font-size: .92rem;
}
.sidlo-config-label {
  display: flex;
  align-items: center;
  gap: .5rem;
  line-height: 1.25;
}
.sidlo-config-label i { color: #795331; }
.sidlo-home-configurator .sidlo-config-grid :is(select,input) {
  display: block;
  height: 3.5rem;
  padding: 0 .7rem;
  border: 1px solid #cebaaa;
  border-radius: 0;
  color: #35251a;
  background: #fff;
  font-weight: 500;
  line-height: normal;
}
.sidlo-home-configurator .sidlo-config-grid select {
  appearance: none;
  padding-inline: .65rem 1.4rem;
  background:
    linear-gradient(45deg, transparent 50%, #60482f 50%) right .85rem center / 4px 4px no-repeat,
    linear-gradient(135deg, #60482f 50%, transparent 50%) right .6rem center / 4px 4px no-repeat,
    #fff;
}
.sidlo-porto .sidlo-home-configurator .sidlo-config-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  height: 3.5rem;
  padding: .45rem .65rem;
  border: 1px solid #61401f;
  border-radius: 0;
  background: #61401f;
  color: #fff;
  box-shadow: none;
  font-size: .94rem;
  font-weight: 720;
  line-height: 1.15;
}
.sidlo-porto .sidlo-home-configurator .sidlo-config-submit:hover {
  background: #472d15;
  border-color: #472d15;
}
.sidlo-porto .sidlo-home-configurator :is(input,select,button):focus-visible {
  outline: 2px solid #97632e;
  outline-offset: 2px;
}
.sidlo-home-configurator .sidlo-price-summary {
  grid-column: 1 / -1;
  display: block;
  min-height: 2.25rem;
  margin-top: .05rem;
  padding-top: .75rem;
  border-top: 1px solid #eadfd5;
  color: #584737;
  font-size: .9rem;
  font-weight: 550;
  line-height: 1.45;
}
@media (max-width: 1199.98px) {
  .sidlo-porto.page-home { --sidlo-config-overlap: 2.5rem; }
  .sidlo-home-configurator .sidlo-config-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sidlo-home-configurator .sidlo-config-submit { grid-column: 1 / -1; }
}
@media (max-width: 767.98px) {
  .sidlo-porto.page-home { --sidlo-config-overlap: 0px; }
  .sidlo-home-configurator {
    width: calc(100% - 1.75rem);
    margin-top: 1rem;
    padding: 1rem;
    box-shadow: 0 .7rem 1.9rem #29201724;
  }
  .sidlo-home-configurator .sidlo-config-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
  .sidlo-home-configurator .sidlo-config-grid label { gap: .55rem; }
  .sidlo-home-configurator .sidlo-config-grid :is(select,input) { height: 3.1rem; font-size: 1rem; }
}
@media (max-width: 479.98px) {
  .sidlo-home-configurator .sidlo-config-grid label:nth-of-type(-n+2) { grid-column: 1 / -1; }
}
@media (max-width: 359.98px) {
  .sidlo-home-configurator .sidlo-config-grid { grid-template-columns: minmax(0, 1fr); }
}

.sidlo-order-configuration { border:1px solid #e6dacd; padding:14px; margin:14px 0; border-radius:8px; }
.sidlo-order-configuration legend { width:auto; float:none; margin:0; padding:0 7px; font-size:1.05rem; font-weight:680; }
.sidlo-order-configuration .sidlo-price-summary { margin-top:11px; }
@media(max-width:1040px){ .sidlo-config-grid {grid-template-columns:repeat(3,minmax(0,1fr));} }
@media(max-width:580px){
  .sidlo-config-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
.sidlo-bottom-order { padding:clamp(28px,5vw,58px) 20px; background:#f1e7db; }
.sidlo-bottom-order > div { max-width:1240px; margin:auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 20px; }
.sidlo-porto .sidlo-bottom-order h2 { margin:0; font-size:clamp(1.2rem,2.8vw,2.1rem); }
.sidlo-bottom-order .sidlo-section-button { margin-top:0; }

.sidlo-recovered-content { max-width: 77ch; }
.sidlo-porto .sidlo-recovered-content :is(h2,h3) { line-height:1.22; margin:1.1em 0 .5em; }
.sidlo-recovered-content li { margin:.32em 0; }
.sidlo-recovered-content details { border:1px solid #e6d9cc; border-radius:8px; padding:.75rem 1rem; margin:.55rem 0; background:#fcf9f4; }
.sidlo-recovered-content summary { cursor:pointer; font-weight:650; color:#624226; }
.sidlo-recovered-content details ul { margin-top:.6rem; }

/* The masthead itself must not sit above the overlapping booking panel.
   Keep the fixed header on its own high layer instead, so the white
   configurator's labels remain visible against the hero image. */
.sidlo-porto .sidlo-home-masthead {
  isolation: auto;
  position: relative;
  z-index: auto;
}
.sidlo-porto .sidlo-home-carousel { z-index: 0; }

.sidlo-porto .sidlo-home-masthead #header {
  position: fixed !important;
  inset: 0 0 auto !important;
  z-index: 1100 !important;
  width: 100%;
  border: 0;
  background: transparent !important;
  backdrop-filter: none;
  transition: box-shadow .24s ease;
}
/* Explicit top-state styles also cover the Porto header's older brown rules. */
.sidlo-porto:not(.sidlo-header-scrolled) .sidlo-home-masthead #header,
.sidlo-porto:not(.sidlo-header-scrolled) .sidlo-home-masthead #header .sidlo-utility-bar {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none;
}
@media (min-width: 1280px) {
  .sidlo-porto:not(.sidlo-header-scrolled) .sidlo-home-masthead #header .sidlo-main-nav {
    background: transparent !important;
    box-shadow: none !important;
  }
}
.sidlo-porto .sidlo-overlay-nav #logo {
  mix-blend-mode: normal;
  min-width: 0;
}
.sidlo-porto .sidlo-overlay-nav #logo a {
  position: relative;
  display: block;
  width: clamp(10rem, 12vw, 11.5rem);
  aspect-ratio: 3;
  overflow: hidden;
}
.sidlo-porto .sidlo-overlay-nav #logo img {
  position: absolute;
  inset: 50% auto auto 50%;
  display: block;
  width: 152%;
  height: auto;
  max-width: none;
  object-fit: contain;
  transform: translate(-50%, -50%);
  filter: url("/design/sidlo-logo-filter.svg#light-wordmark");
}
.sidlo-porto .sidlo-home-masthead #header .sidlo-utility-bar {
  background: transparent !important;
  max-height: 2.75rem;
  overflow: hidden;
  opacity: 1;
  transition: max-height .22s ease, opacity .22s ease;
}
.sidlo-porto.sidlo-header-scrolled .sidlo-home-masthead #header {
  background: #322019 !important;
  box-shadow: 0 .7rem 1.7rem #130e0b36;
}
.sidlo-porto.sidlo-header-scrolled .sidlo-home-masthead #header .sidlo-utility-bar {
  max-height: 0;
  opacity: 0;
  visibility: hidden;
}
.sidlo-porto.sidlo-header-scrolled .sidlo-overlay-nav {
  min-height: 4.7rem;
  border-color: transparent;
}
.sidlo-porto .sidlo-nav-toggle {
  border-radius: 100vmax;
}
@media (max-width: 1279.98px) {
  .sidlo-porto .sidlo-home-masthead #header .sidlo-main-nav {
    background: #322019;
    box-shadow: 0 .6rem 1.5rem #24170e40;
  }
}
@media (max-width: 575.98px) {
  .sidlo-porto .sidlo-overlay-nav #logo a { width: clamp(9.7rem, 41vw, 11rem); }
  .sidlo-porto .sidlo-home-masthead #header .sidlo-utility-bar { max-height: 4rem; }
  .sidlo-home-masthead .sidlo-utility-inner {
    width: calc(100% - 1.8rem);
    min-height: 2.25rem;
    gap: .1rem .6rem;
  }
  .sidlo-utility-bar a { font-size: .72rem; line-height: 1.3; }
  .sidlo-porto.sidlo-header-scrolled .sidlo-overlay-nav { min-height: 4.1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .sidlo-porto .sidlo-home-masthead #header,
  .sidlo-porto .sidlo-home-masthead #header .sidlo-utility-bar { transition: none; }
}

/* ČNB: compact daily currency rates in the upper-right toolbar. */
.sidlo-home-masthead .sidlo-utility-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: clamp(.7rem, 1.6vw, 1.8rem);
  margin-left: auto;
}
.sidlo-home-masthead .sidlo-utility-inner .sidlo-fx {
  display: inline-flex;
  align-items: center;
  gap: .38rem;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  font-size: .83rem;
  font-weight: 640;
  cursor: default;
  text-decoration: none;
}
.sidlo-home-masthead .sidlo-fx .fa-chart-line {
  color: #f3c58e;
  font-size: .8rem;
}
.sidlo-home-masthead .sidlo-fx-label {
  color: #ffdaaa;
  font-weight: 750;
}
.sidlo-home-masthead .sidlo-fx-values { color: #fffaf4; }
.sidlo-home-masthead .sidlo-fx-values:not(:empty) { letter-spacing: .008em; }
.sidlo-home-masthead .sidlo-fx .sidlo-fx-label { text-decoration: none; }
.sidlo-home-masthead .sidlo-fx-date {
  padding-left: .25rem;
  border-left: 1px solid #ffffff5c;
  color: #f5e2ce;
  font-size: .72rem;
  opacity: .9;
}
.sidlo-home-masthead .sidlo-fx-stale .sidlo-fx-date { color: #ffdf9c; }
.sidlo-utility-tools .sidlo-utility-email { white-space: nowrap; }

@media (max-width: 1099.98px) {
  .sidlo-home-masthead .sidlo-utility-tools .sidlo-utility-email { display: none; }
}
@media (max-width: 669.98px) {
  .sidlo-home-masthead .sidlo-utility-inner > a:first-child { display: none; }
  .sidlo-home-masthead .sidlo-utility-tools { width: 100%; }
  .sidlo-home-masthead .sidlo-utility-inner .sidlo-fx {
    gap: .32rem;
    font-size: .7rem;
  }
  .sidlo-home-masthead .sidlo-fx-date { font-size: .64rem; }
}
@media (max-width: 519.98px) {
  .sidlo-home-masthead .sidlo-fx-date { display: none; }
}
@media (max-width: 395px) {
  .sidlo-home-masthead .sidlo-fx-label { font-size: .66rem; }
  .sidlo-home-masthead .sidlo-utility-inner .sidlo-fx { gap: .22rem; }
  .sidlo-home-masthead .sidlo-fx-date { display: none; }
}
