.sttb-rates{
  --sttb-green:var(--stt-accent,#65794f);
  --sttb-ink:#29372e;
  --sttb-muted:#727b74;
  --sttb-soft:#f3f6ef;
  --sttb-soft-2:#fafbf8;
  --sttb-line:#dfe5da;
  width:100%;
  max-width:none;
  margin:1.15rem 0 2.5rem;
  color:var(--sttb-ink);
  font:inherit
}
.sttb-rates__stack{display:grid;gap:1.15rem}
.sttb-rates__accommodation{padding:0}
.sttb-rates__accommodation+.sttb-rates__accommodation{border-top:0;padding-top:0}
.sttb-rates__accommodation-head{padding:0 0 .8rem}
.sttb-rates__mini{display:block;color:var(--sttb-green);font-size:.74rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.3rem}
.sttb-rates__accommodation-head h3{margin:0;color:var(--sttb-ink);font:inherit;font-size:clamp(1.3rem,2.4vw,1.7rem);font-weight:750;line-height:1.2}

/* Keep the year informative, not a separate visual component. */
.sttb-rates__validity{display:block;margin:0 0 1.05rem;color:inherit;font:inherit;font-weight:300}

.sttb-rates__block{padding:1.15rem 0 0}
.sttb-rates__block h4,.sttb-rates__discounts h4,.sttb-rates__policy h4{margin:0 0 .72rem;color:var(--sttb-ink);font:inherit;font-size:1.08rem;font-weight:750}

/* The actual nightly rates are the only card-like elements. */
.sttb-rates__seasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.sttb-rates__season{border:1px solid var(--sttb-line);border-radius:6px;background:rgba(255,255,255,.82);padding:1rem;box-shadow:0 5px 18px rgba(41,55,46,.03)}
.sttb-rates__season-head{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start;margin-bottom:.75rem}
.sttb-rates__season-head strong{display:block;font-size:1.02rem;color:var(--sttb-ink)}
.sttb-rates__season-head span{display:block;font-size:.85rem;color:var(--sttb-muted);margin-top:.2rem}
.sttb-rates__season-head small{color:var(--sttb-muted);text-align:right;white-space:nowrap}
.sttb-rates__single-price{display:flex;align-items:end;justify-content:flex-end;gap:1rem;padding:.55rem 0;border-top:1px solid var(--sttb-line)}
.sttb-rates__single-price span{font-size:.88rem;color:var(--sttb-muted)}
.sttb-rates__single-price .sttb-rates__single-label{display:none}
.sttb-rates__single-price strong{font-size:1.25rem;line-height:1.1;color:var(--sttb-green);font-weight:750;font-variant-numeric:tabular-nums}
.sttb-rates__weekday-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
.sttb-rates__weekday-grid>div{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.45rem .55rem;border-radius:5px;background:var(--sttb-soft)}
.sttb-rates__weekday-grid span{font-size:.84rem;color:var(--sttb-muted)}
.sttb-rates__weekday-grid strong{font-size:1.25rem;line-height:1.1;color:var(--sttb-green);font-weight:750;font-variant-numeric:tabular-nums}
.sttb-rates__desktop-unit{display:none}
.sttb-rates__mobile-unit{display:inline;font-size:.62em;line-height:1;color:var(--sttb-muted);font-weight:650;white-space:nowrap}

/* Discounts belong to the price story: compact, directly below rates. */
.sttb-rates__discounts{padding:1rem 0 .2rem}
.sttb-rates__discount-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 1.1rem;border-top:1px solid var(--sttb-line);border-bottom:1px solid var(--sttb-line)}
.sttb-rates__discount-row{padding:.72rem 0;min-width:0}
.sttb-rates__discount-row span{display:block;color:var(--sttb-muted);font-size:.8rem;margin-bottom:.12rem}
.sttb-rates__discount-row strong{display:block;color:var(--sttb-green);font-size:.94rem;font-weight:700;line-height:1.35}

/* Closed/on-request periods are plain text in the normal information flow. */
.sttb-rates__request{margin:.82rem 0 0;padding:.72rem 0;border-top:1px solid var(--sttb-line)}
.sttb-rates__request strong{display:block;color:var(--sttb-ink);font-size:.94rem}
.sttb-rates__request p{margin:.22rem 0 0;color:var(--sttb-muted);font-size:.86rem;line-height:1.5}
.sttb-rates__request small{display:block;margin-top:.28rem;color:var(--sttb-muted);font-size:.8rem}
.sttb-rates__request-link{color:var(--sttb-green);font-weight:750;text-decoration:underline;text-underline-offset:2px}

/* Costs are one calm ledger instead of individual visual blocks. */
.sttb-rates__rows{border-top:1px solid var(--sttb-line);border-bottom:1px solid var(--sttb-line)}
.sttb-rates__row{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(0,1.55fr);gap:1rem;align-items:start;padding:.68rem .05rem}
.sttb-rates__row+.sttb-rates__row{border-top:1px solid var(--sttb-line)}
.sttb-rates__row span{color:var(--sttb-muted)}
.sttb-rates__row strong{text-align:right;color:var(--sttb-ink);font-weight:650}

/* Policies: one continuous section, no cards/icons. */
.sttb-rates__policy-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr);gap:2rem;margin-top:1.4rem;padding-top:1.25rem;border-top:1px solid var(--sttb-line)}
.sttb-rates__policy{display:block;padding:0;background:transparent;border:0;border-radius:0}
.sttb-rates__policy+.sttb-rates__policy{border-left:1px solid var(--sttb-line);padding-left:2rem}
.sttb-rates__policy-icon{display:none}
.sttb-rates__policy-list{margin:0;padding-left:1.05rem;color:var(--sttb-muted);font-size:.9rem;line-height:1.48}
.sttb-rates__policy-list li+li{margin-top:.38rem}
.sttb-rates__policy-list .sttb-rates__policy-accent{color:var(--sttb-green);font-weight:650}

.sttb-rates__note{margin:1.15rem .05rem 0;padding-top:.85rem;border-top:1px solid var(--sttb-line);color:var(--sttb-muted);font-size:.84rem;line-height:1.5}
.sttb-rates__muted{margin:.4rem 0;color:var(--sttb-muted)}
.sttb-rates-notice{padding:1rem 1.1rem;border-radius:12px;background:var(--sttb-soft,#f5f3ed);border:1px solid var(--sttb-line,#dedbd1)}


/* One accommodation switcher for desktop, tablet and mobile. */
.sttb-rates__mobile-tabs{
  display:flex;
  gap:.45rem;
  margin:0 0 1rem;
  overflow-x:auto;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch
}
.sttb-rates__mobile-tabs::-webkit-scrollbar{display:none}
.sttb-rates__mobile-tab{
  appearance:none;
  border:1px solid rgba(101,121,79,.42);
  border-radius:999px !important;
  background:rgba(255,255,255,.72);
  color:var(--sttb-ink);
  padding:.48rem .78rem;
  font:inherit;
  font-size:.82rem;
  font-weight:750;
  white-space:nowrap;
  line-height:1.1;
  cursor:pointer
}
.sttb-rates__mobile-tab.is-active{
  background:var(--sttb-green);
  border-color:var(--sttb-green);
  color:#fff
}
.sttb-rates__accommodation:not(.is-mobile-active){display:none}
.sttb-rates__accommodation-head{display:none}

/* Secondary information becomes a compact accordion on small screens. */
.sttb-rates__fold-toggle{
  appearance:none;
  width:100%;
  border:0;
  background:transparent;
  padding:0;
  margin:0 0 .72rem;
  color:var(--sttb-ink);
  font:inherit;
  font-size:1.08rem;
  font-weight:750;
  line-height:1.25;
  text-align:left;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem
}
.sttb-rates__fold-mark{display:none;color:var(--sttb-green);font-size:1.25rem;font-weight:500;line-height:1}
.sttb-rates__fold-body{display:block}

@media(max-width:720px){
  .sttb-rates{margin:.8rem 0 2rem}
  .sttb-rates__seasons{grid-template-columns:1fr;gap:.48rem}
  .sttb-rates__season{padding:.62rem .72rem;border-radius:6px}
  .sttb-rates__season-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.38rem}
  .sttb-rates__season-head>div{min-width:0}
  .sttb-rates__season-head strong{font-size:.95rem;line-height:1.18}
  .sttb-rates__season-head span{font-size:.77rem;margin-top:.1rem}
  .sttb-rates__season-head small{display:block;flex:0 0 auto;text-align:right;margin-top:.01rem;white-space:nowrap;font-size:.74rem;line-height:1.18}

  /* Mobile: each tariff rule gets its own compact line. */
  .sttb-rates__weekday-grid{
    display:block;
    margin-top:.05rem;
    padding-top:.22rem;
    border-top:1px solid var(--sttb-line)
  }
  .sttb-rates__weekday-grid>div{
    width:100%;
    min-width:0;
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:.75rem;
    padding:.22rem 0;
    border-radius:0;
    background:transparent
  }
  .sttb-rates__weekday-grid>div+div{border-top:1px solid rgba(223,229,218,.72)}
  .sttb-rates__weekday-grid span{font-size:.79rem;white-space:nowrap}
  .sttb-rates__weekday-grid .sttb-rates__desktop-unit{display:none}
  .sttb-rates__weekday-grid strong{font-size:1.08rem;line-height:1.05;white-space:nowrap}
  .sttb-rates__mobile-unit{display:inline;font-size:.62em;line-height:1;color:var(--sttb-muted);font-weight:650;white-space:nowrap}
  .sttb-rates__single-price{justify-content:flex-end;padding:.3rem 0 .03rem}
  .sttb-rates__single-price .sttb-rates__single-label{display:none}
  .sttb-rates__single-price strong{font-size:1.08rem;line-height:1.05;white-space:nowrap}
  /* Mobile rhythm: compact but readable secondary information. */
  .sttb-rates__discounts{padding:.72rem 0 .08rem}
  .sttb-rates__discounts h4{margin-bottom:.45rem}
  .sttb-rates__discount-list{grid-template-columns:1fr}
  .sttb-rates__discount-row{padding:.48rem 0}
  .sttb-rates__discount-row span{margin-bottom:.08rem;line-height:1.25}
  .sttb-rates__discount-row strong{line-height:1.24}
  .sttb-rates__discount-row+.sttb-rates__discount-row{border-top:1px solid var(--sttb-line)}
  .sttb-rates__request{margin:.42rem 0 0;padding:.44rem 0 .38rem}
  .sttb-rates__request strong{line-height:1.22}
  .sttb-rates__request p{margin:.12rem 0 0;line-height:1.3}
  .sttb-rates__request small{margin-top:.14rem;line-height:1.3}
  .sttb-rates__request-link{white-space:nowrap}
  .sttb-rates__row{grid-template-columns:1fr;gap:.15rem}
  .sttb-rates__row strong{text-align:left}
  .sttb-rates__policy-grid{grid-template-columns:1fr;gap:1rem}
  .sttb-rates__policy+.sttb-rates__policy{border-left:0;border-top:1px solid var(--sttb-line);padding-left:0;padding-top:1rem}

  .sttb-rates__accommodation+.sttb-rates__accommodation{border-top:0;padding-top:0}

  .sttb-rates__block.sttb-rates__fold{padding-top:.32rem}
  .sttb-rates__fold-toggle{
    margin:0;
    padding:.58rem 0;
    border:0 !important;
    border-top:1px solid var(--sttb-line) !important;
    border-radius:0 !important;
    background:transparent !important;
    background-image:none !important;
    color:var(--sttb-ink) !important;
    box-shadow:none !important;
    text-shadow:none !important;
    cursor:pointer;
    font-size:1rem;
    line-height:1.18;
    -webkit-tap-highlight-color:transparent
  }
  .sttb-rates__fold-toggle:hover,
  .sttb-rates__fold-toggle:active,
  .sttb-rates__fold-toggle:focus{
    background:transparent !important;
    background-image:none !important;
    color:var(--sttb-ink) !important;
    box-shadow:none !important;
    transform:none !important
  }
  .sttb-rates__fold-toggle:focus{outline:0}
  .sttb-rates__fold-toggle:focus-visible{
    outline:2px solid rgba(101,121,79,.42);
    outline-offset:3px
  }
  .sttb-rates__fold-mark{display:block}
  .sttb-rates__fold:not(.is-open)>.sttb-rates__fold-body{display:none}
  .sttb-rates__fold-body{padding:0 0 .25rem}

  .sttb-rates__policy-grid{
    grid-template-columns:1fr;
    gap:0;
    margin-top:.28rem;
    padding-top:0;
    border-top:0
  }
  .sttb-rates__policy{
    border:0;
    padding:0
  }
  .sttb-rates__policy+.sttb-rates__policy{
    border-left:0;
    border-top:0;
    padding-left:0;
    padding-top:0
  }
  .sttb-rates__policy .sttb-rates__fold-toggle{border-top:1px solid var(--sttb-line)}
  .sttb-rates__policy-list{padding:.1rem 0 .45rem 1.05rem}

  .sttb-rates__note{margin-top:.3rem;padding-top:.58rem;line-height:1.35}
}


/* Prevent long navigation labels or price rows from widening the shortcode beyond
   the mobile viewport. Grid/flex children default to min-width:auto, which can
   otherwise make the entire rates panel use its min-content width. */
.sttb-rates,
.sttb-rates__stack,
.sttb-rates__accommodation,
.sttb-rates__block,
.sttb-rates__seasons,
.sttb-rates__season,
.sttb-rates__quick,
.sttb-rates__mobile-tabs{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.sttb-rates__quick-label-mobile{display:none}

/* Compact cross-navigation from rates to the other accommodation pages. */
.sttb-rates__quick{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin:.15rem 0 .15rem;
}
.sttb-rates__quick-link{
  display:inline-flex;
  align-items:center;
  min-height:2.15rem;
  padding:.44rem .72rem;
  border:1px solid rgba(101,121,79,.42);
  border-radius:999px;
  background:rgba(255,255,255,.62);
  color:var(--sttb-green);
  font-size:.82rem;
  font-weight:750;
  line-height:1.1;
  text-decoration:none;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.sttb-rates__quick-link:hover,
.sttb-rates__quick-link:focus-visible{
  background:var(--sttb-green);
  border-color:var(--sttb-green);
  color:#fff;
  text-decoration:none;
}
@media(max-width:720px){
  .sttb-rates__quick{
    flex-wrap:wrap;
    overflow:visible;
    margin:.05rem 0 .2rem;
    padding-bottom:.08rem;
  }
  .sttb-rates__quick-link{
    flex:0 1 auto;
    min-width:0;
    max-width:100%;
    padding:.42rem .62rem;
    white-space:normal;
    text-align:center;
  }
  .sttb-rates__quick-label-full{display:none}
  .sttb-rates__quick-label-mobile{display:inline}
  .sttb-rates__season,
  .sttb-rates__weekday-grid,
  .sttb-rates__weekday-grid>div,
  .sttb-rates__single-price{max-width:100%;min-width:0;box-sizing:border-box}
  .sttb-rates__weekday-grid strong,
  .sttb-rates__single-price strong{max-width:58%;text-align:right}
}
