/* Hotel-page typography, measured at hotelofficial.ru/hotels/anapa/avtor.
   Exo 2 headings; the existing Inter 400/500/600 files match the reference.
   Keep these additional faces and overrides scoped to the hotel template. */
@font-face {
  font-family: Exo;
  src: url("../fonts/Exo2-VariableFont_wght.9f535b44a4f5.ttf") format('truetype');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: Inter;
  src: url("../fonts/Inter-Light.07d4495483a0.woff2") format('woff2');
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: Inter;
  src: url("../fonts/Inter-Bold.66894432e7ff.woff2") format('woff2');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

body.hotel-detail-page { color: #0f1011; line-height: 1.55; }
body.hotel-detail-page .hotel-detail h1,
body.hotel-detail-page .hotel-detail h2,
body.hotel-detail-page .hotel-detail h3 {
  font-family: Exo, Inter, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
}
.hotel-detail .hotel-detail-heading h1 { font-size: 32px; line-height: 1.16 !important; }
.hotel-detail .hotel-address-line { color: #4c5057; font-size: 16px; line-height: 1.3; }
.hotel-detail .hotel-section-heading h2 { font-size: 36px; line-height: 1.16 !important; }
.hotel-detail .hotel-room-content h3 { min-height: 57.6px; font-size: 24px; line-height: 1.2 !important; color: #0f1011; }
.hotel-detail .hotel-room-facts { font-size: 16px; line-height: 1.3; color: #4c5057; }
.hotel-detail .hotel-room-description { font-size: 14px; line-height: 1.3; }
.hotel-detail .hotel-room-description summary { font-weight: 400; }
.hotel-detail .hotel-room-description p { font-size: 16px; line-height: 1.3; }
.hotel-detail .hotel-room-availability { font-size: 14px; line-height: 1.3; }
.hotel-detail .hotel-rate-label { font-size: 12px; line-height: 16px; }
.hotel-detail .hotel-rate-select { height: 52px; font-size: 18px; line-height: 1.34; }
.hotel-detail .hotel-room-payment { font-size: 18px; font-weight: 600; line-height: 1.3; color: #0f1011; }
.hotel-detail .hotel-cancellation { font-size: 16px; line-height: 1.3; }
.hotel-detail .hotel-cancellation summary { font-weight: 600; }
.hotel-detail .hotel-cancellation .icon { width: 20px; height: 20px; }
.hotel-detail .hotel-cancellation p { line-height: 1.3; }
.hotel-detail .hotel-room-price strong { font-size: 24px; font-weight: 700 !important; line-height: 1.2; letter-spacing: normal; }
.hotel-detail .hotel-room-price > span,
.hotel-detail .hotel-room-price small { font-size: 14px; line-height: 1.3; }
.hotel-detail .hotel-room-book,
.hotel-detail .hotel-room-view-rate,
.hotel-detail .hotel-side-cover .btn { min-height: 52px; font-size: 18px; font-weight: 500; line-height: 1; }
.hotel-detail .hotel-room-disabled { font-size: 16px; line-height: 1.3; }
.hotel-detail .hotel-section-note,
.hotel-detail .hotel-room-unavailable-footer p { font-size: 13px; line-height: 1.55; }
body.hotel-detail-page .hotel-detail-sidebar h2 { font-size: 18px; font-weight: 600 !important; line-height: 1.3 !important; }
.hotel-detail .hotel-description-card h2 { margin-top: 0; }
.hotel-detail .hotel-description-full { color: #0f1011; font-size: 16px; font-weight: 300; line-height: 1.3; overflow-wrap: anywhere; }
.hotel-detail .hotel-description-full p { margin: 0 0 14px; line-height: inherit; }
.hotel-detail .hotel-description-full p:last-child { margin-bottom: 0; }
.hotel-detail .hotel-checkin-times,
.hotel-detail .hotel-amenities-preview,
.hotel-detail .hotel-amenities-full { font-size: 16px; line-height: 1.3; }
.hotel-detail .hotel-amenities-open { font-size: 14px; line-height: 1.3; }
.hotel-detail .hotel-modal-heading h2 { font-size: 24px; line-height: 1.2 !important; }
.hotel-detail .hotel-date-field > span,
.hotel-detail .hotel-stay-guests > label { font-size: 12px; line-height: 16px; }
.hotel-detail .hotel-stay-dates .date-range-trigger strong { font-size: 16px; font-weight: 400 !important; line-height: 1.3; }
.hotel-detail .hotel-stay-guests > div { display: flex; align-items: center; min-height: 30px; }
.hotel-detail .hotel-stay-guests select {
  -webkit-appearance: none; appearance: none; box-sizing: border-box;
  font-family: Inter, sans-serif; font-size: 16px; font-weight: 400;
  height: 30px; min-height: 30px; line-height: 30px; padding: 0 20px 0 2px;
  background: transparent; border: 0; border-radius: 0; text-indent: 0;
  font-variant-numeric: tabular-nums;
}
.hotel-detail .hotel-stay-guests::after {
  position: absolute; right: 12px; top: 22px; width: 7px; height: 7px;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg); content: ''; pointer-events: none;
}
.hotel-detail .hotel-rate-select {
  -webkit-appearance: none; appearance: none; box-sizing: border-box;
  font-family: Inter, sans-serif; font-weight: 400; padding: 0 36px 0 12px;
  line-height: normal; background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m3 6 5 5 5-5' stroke='%234c5057' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-size: 14px; background-position: right 12px center;
}
.hotel-detail .hotel-stay-form .date-range-trigger { min-height: 52px; }
.hotel-detail .hotel-update-rates { min-height: 48px; font-size: 16px; line-height: 1.3; }

@media (max-width: 1100px) and (min-width: 901px) {
  .hotel-detail .hotel-stay-dates .date-range-trigger strong { font-size: 14px; }
  .hotel-detail .hotel-stay-dates .date-range-trigger-icon { display: none; }
}
@media (max-width: 900px) {
  .hotel-detail .hotel-detail-sidebar { grid-template-columns: minmax(0, 1fr); }
  .hotel-detail .hotel-section-heading h2 { font-size: 24px; line-height: 1.08 !important; }
}
@media (max-width: 600px) {
  .hotel-detail .hotel-detail-heading h1 { font-size: 20px; line-height: 1.08 !important; }
  .hotel-detail .hotel-room-content h3 { min-height: 0; }
}
