.nearest-dates { border: 1px solid #e5e9ef; border-radius: 20px; background: #fff; padding: 24px; min-width: 0; }
.nearest-dates h3 { margin: 0 0 12px; font-size: 24px; line-height: 1.25; }
.nearest-intro,.nearest-status { color: #626b7b; line-height: 1.6; }
.nearest-duration { display: flex; gap: 8px; flex-wrap: wrap; margin: 18px 0; }
.nearest-duration button { border: 1px solid #dce2eb; border-radius: 12px; padding: 10px 16px; }
.nearest-duration button[aria-pressed="true"] { background: var(--yellow); color: var(--ink); border-color: var(--yellow); font-weight: 700; }
.nearest-result { border-radius: 14px; padding: 18px; background: #fff7d7; margin: 18px 0; }
.nearest-result strong { font-size: 20px; }
.nearest-result .btn { display: inline-flex; padding: 13px 18px; line-height: 1.35; }
.nearest-note { font-size: 12px; color: #737a7c; margin-bottom: 0; }
.nearest-retry { color: #6b4c00; text-decoration: underline; }
.nearest-dates [hidden] { display: none !important; }
.hotel-room-grid > .nearest-dates { grid-column: 1 / -1; }
.hotel-room-grid:has(.nearest-dates) > .hotel-rooms-empty { display: none; }
.yandex-date-page { max-width: 1240px; width: calc(100% - 48px); margin: 32px auto 70px; }
.yandex-date-page header { margin: 24px 0; }
.yandex-date-page h1 { font-size: clamp(28px,3vw,42px); margin: 10px 0; line-height: 1.2; }
.yandex-date-page header p,.yandex-date-back { color: #626b7b; }
.yandex-date-layout { display: grid; grid-template-columns: 1.15fr 1fr; gap: 30px; align-items: start; }
.yandex-date-layout figure { margin: 0; }
.yandex-date-layout figure img { display: block; width: 100%; height: auto; border-radius: 20px; }
.yandex-date-layout figcaption { display: inline-block; padding: 8px 12px; background: var(--yellow); border-radius: 10px; margin-top: 14px; }
.yandex-manual-dates { background: #fff; padding: 24px; border-radius: 20px; margin-top: 20px; }
.yandex-manual-dates h2 { margin-top: 0; font-size: 20px; }
.yandex-manual-dates form { display: grid; gap: 15px; }
.yandex-manual-dates label { display: grid; gap: 6px; }
.yandex-date-fallback { display: inline-block; margin-top: 20px; color: #715300; }
@media(max-width: 800px) {
    .yandex-date-page { width: calc(100% - 32px); margin-top: 24px; }
    .yandex-date-layout { grid-template-columns: 1fr; gap: 20px; }
    .nearest-dates,.yandex-manual-dates { padding: 20px; }
}

.yandex-manual-dates .date-range-trigger { min-height: 68px; padding: 13px 16px; border: 1px solid #dfe5e5; border-radius: 14px; background: #fff; gap: 12px; }
.yandex-manual-dates .date-range-trigger:hover { border-color: #b6c4c4; background: #fffdf5; }
.yandex-manual-dates .date-range-trigger:focus-visible { outline: 2px solid #29464c; outline-offset: 3px; }
.yandex-manual-dates .date-range-trigger-icon { width: 36px; height: 36px; border-radius: 10px; background: #fff5ce; color: #29464c; }
.yandex-manual-dates .date-range-trigger-copy { gap: 5px; }
.yandex-manual-dates .date-range-trigger-copy strong { color: #29464c; }
.yandex-manual-dates .date-range-trigger-copy small { color: #6c7d83; }
.yandex-manual-dates form > .btn { width: 100%; min-height: 50px; justify-content: center; padding: 12px 16px; }
.yandex-date-guests { min-width: 0; border: 1px solid #e7ecec; border-radius: 14px; padding: 0 16px; }
.yandex-date-guests summary { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; min-height: 48px; padding: 12px 0; list-style: none; cursor: pointer; color: #29464c; font-weight: 600; }
.yandex-date-guests summary::-webkit-details-marker { display: none; }
.yandex-date-guests summary::before { content: '+'; flex: 0 0 18px; font-size: 21px; line-height: 1; font-weight: 400; }
.yandex-date-guests[open] summary::before { content: '−'; }
.yandex-date-guests summary span { font-size: 12px; color: #76838a; font-weight: 400; }
.yandex-date-guests summary:focus-visible { outline: 2px solid #29464c; outline-offset: 3px; border-radius: 8px; }
.yandex-date-guests > div { display: grid; gap: 14px; padding: 4px 0 16px; }
.yandex-date-guests input, .yandex-date-guests select { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid #dfe5e5; border-radius: 10px; background: #fff; color: #29464c; font-size: 16px; }
.yandex-date-fallback { font-size: 14px; line-height: 1.5; }
