/* Only the new seasonal price component. */
.npt-prices { padding: clamp(32px, 5vw, 64px) 0; background: var(--bg-default, #f6f6f6); color: #272520; }
.npt-prices__seasons { display: grid; gap: 18px; min-width: 0; }
.npt-prices__season { min-width: 0; border: 1px solid #e7dfd5; border-radius: var(--rounded-1, 16px); background: #fff; }
.npt-prices__season[open] { border-color: #caa05c; }
.npt-prices__toggle { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 26px 30px; border-radius: calc(var(--rounded-1, 16px) - 1px); list-style: none; cursor: pointer; }
.npt-prices__season[open] > .npt-prices__toggle { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.npt-prices__toggle::-webkit-details-marker { display: none; }
.npt-prices__toggle::marker { content: ''; }
.npt-prices__toggle:hover { background: #fbf8f2; }
.npt-prices__toggle:focus-visible, .npt-prices__scroll:focus-visible { outline: 2px solid #a77f3f; outline-offset: 3px; }
.npt-prices__copy { display: grid; gap: 8px; min-width: 0; }
.npt-prices__title { font-size: clamp(20px, 2.3vw, 28px); line-height: 1.3; font-weight: 500; letter-spacing: -.02em; overflow-wrap: anywhere; }
.npt-prices__dates { font-size: 14px; line-height: 1.6; color: #756957; }
.npt-prices__chevron { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border: 1px solid #e3d2b4; border-radius: 50%; color: #a77f3f; background: #faf7f1; }
.npt-prices__chevron svg { display: block; }
.npt-prices__season[open] > summary .npt-prices__chevron { background: #caa05c; color: #fff; border-color: #caa05c; transform: rotate(180deg); }
.npt-prices__content { padding: 0 30px 28px; }
.npt-prices__scroll { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid #e7dfd5; border-radius: 10px; }
.npt-prices .npt-prices__table { width: 100%; min-width: 600px; margin: 0; border-collapse: collapse; font-size: 15px; line-height: 1.6; color: inherit; background: #fff; }
.npt-prices__table th, .npt-prices__table td { padding: 15px 18px; border: 0; border-bottom: 1px solid #ebe5dc; background: transparent; vertical-align: middle; }
.npt-prices__table thead th { background: #f4efe6; color: #514333; font-size: 13px; font-weight: 600; }
.npt-prices__table th:first-child { width: 58%; text-align: left; }
.npt-prices__table thead th:not(:first-child) { width: 21%; text-align: center; }
.npt-prices__table thead small { display: block; font-size: inherit; font-weight: 400; color: #756957; }
.npt-prices__table tbody th { font-weight: 400; }
.npt-prices__table tbody td:not([colspan]) { text-align: center; white-space: nowrap; font-variant-numeric: tabular-nums; font-weight: 500; }
.npt-prices__table .npt-prices__house td { text-align: left; background: #faf7f1; color: #8c672d; font-size: 16px; font-weight: 600; }
.npt-prices__table tbody tr:not(.npt-prices__house):hover { background: #fcfaf6; }
.npt-prices__table tbody tr:last-child > * { border-bottom: 0; }
.npt-prices .npt-prices__hint { display: none; margin: 12px 0 0; color: #756957; font-size: 12px; line-height: 1.5; }
@media (max-width: 767px) {
    .npt-prices__toggle { gap: 12px; padding: 20px 18px; }
    .npt-prices__chevron { width: 36px; height: 36px; }
    .npt-prices__dates { font-size: 13px; }
    .npt-prices__content { padding: 0 16px 20px; }
    .npt-prices__table th, .npt-prices__table td { padding: 13px 14px; }
    .npt-prices .npt-prices__hint { display: block; }
}
