.price-intro { max-width: 780px; margin-bottom: 28px; }
.price-intro p { font-size: 16px; line-height: 1.7; }
.price-nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0; }
.price-nav a, .price-download { display: inline-block; border: 1px solid #2879af; border-radius: 3px; padding: 10px 16px; color: #175f91; background: #fff; }
.price-nav a:hover, .price-nav a:focus { background: #edf6fc; }
.price-download { background: #246f9f; color: #fff; font-weight: 600; }
.price-download:hover, .price-download:focus { background: #19577f; color: #fff; }
.price-download:focus-visible, .price-nav a:focus-visible { outline: 3px solid #173f5b; outline-offset: 3px; }
/* The PDF is the supplied source document, so it sits beside the two machine-readable files but reads as secondary. */
.price-download-pdf { background: #fff; color: #175f91; }
.price-download-pdf:hover, .price-download-pdf:focus { background: #edf6fc; color: #124d76; }
.price-section { scroll-margin-top: 24px; margin: 36px 0; padding-top: 8px; border-top: 1px solid #dce5ea; }
.price-section h2 { color: #245f87; }
.price-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin: 16px 0 22px; }
.price-section .table-responsive { border: 1px solid #dce5ea; margin-bottom: 16px; }
.price-table { width: 100%; margin: 0; }
.price-table th { background: #edf4f8; color: #23485f; }
.price-table td, .price-table th { padding: 11px 12px !important; vertical-align: top !important; }
.price-table .amount { white-space: nowrap; text-align: right; font-variant-numeric: tabular-nums; }
.price-table caption { text-align: left; padding: 12px; font-weight: 600; color: #345; }
.price-category td { background: #f4f7f9; color: #245f87; font-weight: 600; }
.price-note { color: #465660; line-height: 1.6; }
.price-current { display: block; font-weight: 600; white-space: nowrap; }
.price-anchor { display: block; margin-top: 6px; font-size: 12px; line-height: 1.4; color: #344f60; font-weight: 400; }
.price-anchor strong { white-space: nowrap; font-weight: 500; }
.label .price-anchor { color: #fff; }
.price-help { background: #eff6fa; padding: 18px 22px; border-left: 3px solid #3089c6; margin: 20px 0; }
.price-archive li { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 14px; margin-bottom: 11px; }
.price-archive-name { min-width: 230px; }
.hotel-pricing { scroll-margin-top: 20px; }
.hotel-pricing .headline { margin-left: 15px; margin-right: 15px; }
.hotel-price-card .table-responsive { margin-top: 20px; }
.hotel-price-table { margin-bottom: 12px; text-align: left; }
.hotel-price-table th { vertical-align: bottom !important; }
.hotel-price-table th:first-child { width: 48%; }
.hotel-price-table th:not(:first-child), .hotel-price-table .amount { text-align: center; }
.hotel-price-table td { vertical-align: middle !important; padding-top: 11px !important; padding-bottom: 11px !important; }
.hotel-price-table .amount { white-space: nowrap; font-variant-numeric: tabular-nums; }
.hotel-price-unit { display: block; margin-top: 4px; color: #555; font-weight: normal; }
.hotel-price-legend { font-size: 12px; line-height: 1.6; margin-bottom: 0; }
/* Arrival days close the table, as on the original price list, but are not an amount. */
.hotel-terms-row th, .hotel-terms-row td { vertical-align: middle !important; padding-top: 11px !important; padding-bottom: 11px !important; }
.hotel-terms-row th { font-weight: 700; }
.hotel-terms-row td { text-align: center; color: #555; }
tr:not(.hotel-terms-row) + .hotel-terms-row > * { border-top: 2px solid #ddd !important; }
.hotel-pricing .price-actions { justify-content: center; }
.hotel-all-prices { text-align: center; margin-bottom: 22px; }
.hotel-reserve { display: block; text-align: center; }
@media (max-width: 767px) {
  .hotel-price-card { padding: 20px 10px; }
  .hotel-price-table { min-width: 0; width: 100%; table-layout: fixed; font-size: 12px; }
  .hotel-price-table th:first-child { width: 40%; }
  .hotel-price-table th, .hotel-price-table td:first-child { white-space: normal !important; overflow-wrap: break-word; }
  .hotel-price-table th, .hotel-price-table td { padding-left: 5px !important; padding-right: 5px !important; }
  .price-table { min-width: 570px; }
  .price-section h2 { font-size: 23px; }
  .price-actions { align-items: stretch; flex-direction: column; gap: 12px; }
  .price-archive-name { min-width: 100%; }
  .price-download { text-align: center; }
  .price-intro p { font-size: 15px; }
}
@media print {
  .price-nav, .price-actions, .header, .footer, .copyright { display: none; }
  .price-section { break-before: auto; }
  .price-table tr { break-inside: avoid; }
  .price-table { min-width: 0; }
}
