.noia-escale .noia-rates {
  --rates-line: #ded5c3;
  --rates-cream: #f8f6f0;
  --rates-green: #25392d;
  --rates-gold: #775c2a;
  --rates-muted: #535c51;
}
.noia-escale .noia-rates [hidden],
.noia-escale .noia-rates[hidden],
.noia-escale .noia-home-rate-links [hidden] { display: none !important; }
.noia-escale .noia-rates-service {
  margin: clamp(24px, 5vw, 56px) 0;
  padding: clamp(18px, 4vw, 43px);
  border: 1px solid var(--rates-line);
  border-radius: 24px;
  scroll-margin-top: 110px;
}
.noia-rates-intro h2, .noia-rates-more h2 { margin: 5px 0 12px; }
.noia-rates-hero { padding: clamp(21px, 5vw, 65px); background: var(--rates-cream); }
.noia-rates-hero h1 { margin: 5px 0 12px; }
.noia-rates-hero em { color: var(--rates-gold); }
.noia-rates-hero p:last-child { margin: 0; max-width: 48ch; }
.noia-rates-layout {
  display: grid;
  grid-template-columns: minmax(165px, 1fr) minmax(0, 3.4fr);
  gap: clamp(16px, 4vw, 44px);
  align-items: start;
  margin-top: clamp(24px, 4vw, 46px);
}
.noia-escale .noia-rates-index {
  display: flex;
  order: -1;
  flex-direction: column;
  align-items: stretch;
  gap: 7px;
}
.noia-rates-index a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  padding: 8px 13px;
  color: var(--rates-green);
  border: 1px solid var(--rates-line);
  text-decoration: none;
}
.noia-rates-index a[aria-current="true"] { color: white; background: var(--rates-green); border-color: var(--rates-green); }
.noia-rates-catalog .noia-rates-service { border: 0; padding: 0; margin: 23px 0 32px; }
.noia-rates-place + .noia-rates-place { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--rates-line); }
.noia-rates-address h3 { margin: 10px 0 2px; }
.noia-rates-address p, .noia-rates-note { margin: 0 0 10px; color: var(--rates-muted); }
.noia-rates-filters, .noia-rates-actions, .noia-rates-other-links, .noia-home-rate-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.noia-rates-filters button {
  min-height: 44px;
  padding: 6px 13px;
  border-radius: 40px;
  border: 1px solid var(--rates-line);
  color: var(--rates-green);
  background: white;
  font: inherit;
  cursor: pointer;
}
.noia-rates-filters button[aria-pressed="true"] { color: white; background: var(--rates-green); border-color: var(--rates-green); }
.noia-rates-group { margin: 12px 0; }
.noia-rates-group-label { font-size: .88rem; color: var(--rates-muted); margin: 0 0 7px; }
.noia-rates-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.noia-rates-grid .noia-rate { padding: 16px; background: var(--rates-cream); }
.noia-rates-grid .noia-rate-summary { display: block; }
.noia-rates-grid .noia-rate-price { display: block; text-align: left; margin-top: 8px; }
.noia-rates-list { border-top: 1px solid var(--rates-line); }
.noia-rates-list :is(details,.noia-rate) { margin: 0; padding: 0; border-bottom: 1px solid var(--rates-line); }
.noia-rate-summary, .noia-rates-list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 48px;
  padding: 8px 0;
}
.noia-rates-list summary { cursor: pointer; list-style: none; }
.noia-rates-list summary::-webkit-details-marker { display: none; }
.noia-rates-list summary::after { content: '+'; width: 1em; text-align: center; color: var(--rates-gold); }
.noia-rates-list details[open] summary::after { content: '−'; }
.noia-rates-list summary .noia-rate-name { flex: 1; }
.noia-rate-name { font-weight: 600; }
.noia-rate-price { text-align: right; flex-shrink: 0; font-size: 1.12rem; font-weight: 600; color: var(--rates-green); }
.noia-rate-name small, .noia-rate-price small { display: block; font-size: .82rem; font-weight: 400; color: var(--rates-muted); }
.noia-rate p, .noia-rates-list details p { color: var(--rates-muted); margin: 0; padding: 0 0 8px; }
.noia-rates-grid .noia-rate p { margin: 7px 0 0; padding: 0; }
.noia-rates-actions { justify-content: space-between; margin-top: 12px; gap: 12px; }
.noia-rates-more { margin-top: 22px; border-top: 1px solid var(--rates-line); padding-top: 20px; }
.noia-rates-other-links a { padding: 8px 14px; border: 1px solid var(--rates-line); text-decoration: none; }
.noia-home-rate-links { margin: 10px 0 0; gap: 8px 14px; }
.noia-escale .noia-home-rate-links a { text-decoration: underline; text-underline-offset: .22em; color: #25392d; }
.noia-home-rates-intro { display: block; margin-top: .65em; }
.noia-escale .noia-home-rates-intro a {
  display: inline-block;
  color: #25392d;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: .22em;
}
@media (max-width: 700px) {
  .noia-rates-layout { grid-template-columns: minmax(0,1fr); }
  .noia-escale .noia-rates-index { flex-flow: row wrap; }
  .noia-rates-index a { border-radius: 30px; }
  .noia-rates-grid { grid-template-columns: minmax(0,1fr); }
  .noia-rates-grid .noia-rate-summary { display: flex; padding: 0; }
  .noia-rates-grid .noia-rate-price { text-align: right; margin-top: 0; }
}
