/* ============================================================
   RESPONSIVE.CSS — All Breakpoints
   Mobile-first overrides ordered from largest to smallest
   ============================================================ */

/* ============================================
   > 1920px (Large screens)
   ============================================ */
@media screen and (min-width: 1921px) {
  .header__nav-link {
    font-size: 1.5rem;
    letter-spacing: -0.04em;
  }
}


/* ============================================
   ≤ 1400px
   ============================================ */
@media screen and (max-width: 1400px) {
  .main-section {
    margin-top: 57px;
    margin-bottom: 32px;
  }
}


/* ============================================
   iPad Pro Landscape
   ============================================ */
@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (orientation: landscape) {
  .product-section__img__wrapper {
    /* max-width: 500px; */
  }
}


/* ============================================
   ≤ 1250px
   ============================================ */
@media screen and (max-width: 1250px) {
  .header__logo {
    max-width: 300px;
  }

  .header__logo img {
    width: 90%;
  }

  .header__btn {
    font-size: 14px;
  }

  .header__nav {
    gap: 0;
  }

  .header__nav-link {
    font-size: 14px;
  }
}


/* ============================================
   ≤ 1015px
   ============================================ */
@media screen and (max-width: 1015px) {
  .header__logo img {
    width: 92%;
  }

  .header__nav {
    gap: 8px;
  }

  .header__btn {
    padding: 5px 8px;
  }

  .header__nav-link {
    font-size: 13px;
    padding: 0 5px;
  }
}


/* ============================================
   ≤ 962px — TABLET BREAKPOINT
   ============================================ */
@media screen and (max-width: 962px) {
  html {
    font-size: 1.1111111111vw;
  }

  .without-title {
    padding-top: 60px;
  }

  .main-section {
    padding-top: 0;
  }

  /* Containers */
  .container,
  .container--big {
    width: 100%;
    padding: 0 var(--container-padding);
  }

  /* Header — hide desktop, show mobile */
  .header__wrapper {
    display: none;
  }

  .mobile-menu {
    display: flex;
  }

  .mob-nav {
    display: block;
  }

  /* Hero */
  .main-section__img {
    display: none;
  }

  .main-section__title {
    font-size: 84px;
    line-height: 90px;
  }

  .main-section__item {
    font-size: 32px;
  }

  .main-section__reservation-dates {
    width: 80%;
  }

  /* Forms */
  .form-item {
    width: 50%;
  }

  .form-item span {
    font-size: 11px;
  }

  .flight-datepicker input,
  #flight-datepicker input {
    font-size: 16px;
  }

  .flight-datepicker input::placeholder,
  #flight-datepicker input::placeholder {
    font-size: 16px;
  }

  /* Filters */
  .products__filter-wrapper {
    padding: 3rem;
    gap: 15px;
    justify-content: space-between;
  }

  .products__filter-btn {
    width: 100%;
  }

  .products__filter-dates,
  .products__filter-item {
    margin: 0;
  }

  .products__filter-item {
    width: 30%;
  }

  .products__filter-content {
    width: auto !important;
  }

  .products__filter-dates {
    width: 100%;
  }

  .products__filter-top {
    margin: 0;
    color: #aaa;
    font-size: 18px;
  }

  /* Products */
  .products__top {
    padding: 0 var(--container-padding);
  }

  .products__info {
    display: flex;
    align-items: baseline;
    gap: 0;
    justify-content: space-between;
  }

  .products__link--all {
    color: var(--color-text-muted);
    font-size: 18.5px;
    font-weight: 500;
    line-height: 22px;
    letter-spacing: -0.56px;
  }

  .products__item {
    width: auto;
    flex-basis: 49%;
    padding-bottom: 0;
    border-bottom: 2px solid var(--color-text-muted);
  }

  .products__item-name {
    white-space: wrap;
    min-height: 45px;
  }

  .products__item-price {
    font-size: 14px;
    display: flex;
    flex-direction: column;
  }

  .products__catalog {
    justify-content: space-between;
    gap: 0;
    row-gap: 48px;
  }

  /* Conditions */
  .conditions__items {
    padding: 40px 50px;
  }

  .conditions__items-link {
    justify-content: flex-start;
  }

  /* Advantages */
  .advamtages__list {
    flex-direction: column;
  }

  .advamtages__item {
    width: 100%;
  }

  /* Footer */
  .footer {
    padding: 0;
  }

  .footer__col,
  .footer__nav {
    margin: 0 !important;
  }

  .footer__logo {
    margin-top: -4.5rem;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .footer__wrapper {
    flex-direction: column;
  }

  .design {
    display: none;
  }

  .footer__col-top {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }

  /* Modal */
  .modal__close svg {
    width: 4.5rem;
    height: 4.5rem;
  }

  .modal .contacts__policy {
    font-size: 2.5rem;
  }

  .modal textarea,
  .modal input {
    font-size: 3rem;
    margin-bottom: 2rem;
  }

  .modal .contacts__form {
    width: 80rem;
  }

  .modal .contacts__form-title {
    font-size: 4rem;
  }

  /* Product Section (Detail) */
  .product-section {
    padding-top: 16px;
    margin-bottom: 10rem;
  }

  .product-section__img__wrapper {
    max-width: 1000px;
  }

  .product-section__wrapper {
    gap: 0;
    flex-direction: column;
  }

  .product-section__info {
    width: 100%;
  }

  .product-section__dates {
    width: 100%;
  }

  .product-section__dates-select .form-item {
    width: 100%;
  }

  .main-section__reservation-time {
    width: 100%;
  }

  .main-section__reservation-time span {
    font-size: 16px;
  }
}


/* ============================================
   ≤ 720px
   ============================================ */
@media screen and (max-width: 720px) {
  .page-2287 .amoforms_iframe {
    float: inherit !important;
  }

  .main-section__title {
    font-size: 60px;
  }

  .main-section__item {
    font-size: 45px;
  }

  .conditions__items {
    padding: 20px 30px;
  }

  .conditions__items-item,
  .conditions__list-item-text,
  .advamtages__item-text {
    font-size: 13px;
  }

  .conditions__items-title,
  .conditions__list-item-name,
  .advamtages__item-name,
  .advamtages__items-title {
    font-size: 22px;
  }
}


/* ============================================
   ≤ 500px — MOBILE BREAKPOINT
   ============================================ */
@media (max-width: 500px) {
  html {
    font-size: 2.2222222222vw;
  }

  /* Cash center (payment page) */
  .cash-center {
    flex-direction: column;
  }

  .cash-center * {
    margin: 8px 0 !important;
  }

  /* Visibility */
  .mobile-only {
    display: block !important;
  }

  .desktop-only {
    display: none !important;
  }

  .mobile-text {
    display: block;
    font-size: 12px;
  }

  .products__top .products__link--all {
    display: none;
  }

  .products__link--all {
    margin-top: 26px;
  }

  /* Form item arrows hide */
  .main-section__reservation .form-item::after,
  #flight-datepicker .form-item::after,
  .flight-datepicker .form-item::after,
  .main-section__reservation-time::after {
    display: none;
  }

  /* Validation red color */
  .main-section__reservation .form-item.not-valid input::placeholder,
  #flight-datepicker .form-item.not-valid input::placeholder,
  .flight-datepicker .form-item.not-valid input::placeholder,
  .main-section__reservation-time.not-valid span {
    transition: color 0ms;
    color: var(--color-error) !important;
  }

  .main-section__reservation-btn svg {
    min-width: 24px;
    min-height: 24px;
  }

  .payment-block-section {
    padding: 0 !important;
  }

  .main-section__reservation-btn.error {
    color: var(--color-error);
    background: var(--color-surface);
    text-align: left;
  }

  /* Hero */
  .main-section {
    margin-bottom: 32px;
    margin-top: 32px;
    padding-top: 0;
  }

  .main-section__info {
    width: 100%;
  }

  .main-section__title {
    font-size: 48px;
    line-height: 48px;
  }

  .main-section__item {
    font-size: 24px;
  }

  .main-section__item svg {
    display: none;
  }

  .main-section__item:nth-child(1)::after {
    content: "|";
  }

  .main-section__list {
    flex-direction: row;
    gap: 5px;
    margin-top: 8px;
  }

  /* Reservation */
  .main-section__reservation {
    flex-direction: column;
    margin-top: 0;
  }

  .main-section__reservation-dates {
    width: 100%;
  }

  .main-section__reservation-btn {
    box-sizing: border-box;
    border: 2px solid var(--color-surface);
    border-radius: 10px;
    background: var(--color-accent-alt);
    width: 100%;
    justify-content: space-between;
    padding: 10px 17px;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--color-bg);
  }

  .main-section__reservation-btn .mobile-text {
    font-size: 20px;
  }

  /* Form items */
  .form-item {
    padding: 0;
    border: none;
    width: 100%;
  }

  .form-item span {
    font-size: 15px;
    font-weight: 500;
  }

  .flight-datepicker input::placeholder,
  #flight-datepicker input::placeholder,
  .form-item span,
  .flight-datepicker input,
  #flight-datepicker input {
    text-align: left;
    color: var(--color-text) !important;
  }

  .flight-datepicker input::placeholder,
  .flight-datepicker input,
  #flight-datepicker input::placeholder,
  #flight-datepicker input {
    color: #aaa;
    text-transform: uppercase;
  }

  /* Datepicker mobile fullscreen */
  .datepicker.dropdown-menu {
    right: 0 !important;
    left: 0 !important;
    width: 100%;
    bottom: 0 !important;
    position: fixed !important;
    border: 0;
    border-radius: 24px 24px 0 0;
    z-index: 99999999999 !important;
  }

  .flight-datepicker,
  #flight-datepicker {
    padding: 10px 15px;
    border: 1px solid var(--color-text);
    border-radius: var(--radius-lg);
  }

  .flight-datepicker .form-item,
  #flight-datepicker .form-item {
    display: grid;
    grid-template-columns: 50px auto;
  }

  /* Products */
  .products {
    margin-bottom: 53px;
  }

  .products__top {
    flex-direction: column;
    margin-bottom: 32px;
  }

  .products__top .products__link--all {
    display: none;
  }

  .products__name {
    font-size: 32px;
    line-height: 39px;
  }

  .products__link--all {
    margin-top: 26px;
  }

  .products__btn-filter {
    display: block;
  }

  .products__item {
    flex-basis: 100%;
    border: 0;
  }

  .products__content {
    display: flex;
    gap: 8px;
    background-color: var(--color-surface-mid);
    padding: 19px 8px 22px 8px;
    border-radius: 15px;
    box-sizing: border-box;
  }

  .products__book {
    margin-top: 28px;
  }

  .products__item-img {
    width: auto;
  }

  .products__item-img img {
    width: 172px;
    height: 132px;
    max-height: 132px;
    object-fit: cover;
    object-position: center;
  }

  .products__item-info {
    padding: 0;
  }

  .products__item-name {
    font-size: 22px;
    font-weight: 700;
    min-height: auto;
    margin: 0;
  }

  .products__item-inner {
    display: flex;
    justify-content: baseline;
    align-items: flex-start;
    flex-direction: column-reverse;
    gap: 41px;
  }

  .products__item-price {
    flex-direction: row;
  }

  /* Hover disable on mobile */
  .products__item:hover .products__item-info {
    background: transparent;
  }

  .products__item:hover .products__item-name {
    color: var(--color-text);
  }

  .products__item:hover .products__item-price,
  .products__item:hover .products__item-price span {
    color: var(--color-text);
  }

  /* Filter mobile overlay — DISABLED: replaced by mobile-panels.css */
  .desc-filter {
    display: none;
  }

  .mobile-filter {
    display: none !important;
  }

  .mobile-filter.filter-active {
    display: none !important;
  }

  .mobile-filter .products__filter-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #a8a8a8;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -0.3px;
    margin-bottom: 24px;
    flex-shrink: 0;
  }

  .mobile-filter .products__filter-title .close-filter {
    cursor: pointer;
    padding: 8px;
  }

  .mobile-filter .products__filter__control-wrapper {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    position: relative;
  }

  .mobile-filter .products__filter-item {
    width: 100%;
    position: static;
    margin: 0;
  }

  .mobile-filter .products__filter-item-title {
    border: 0;
    padding: 0;
    color: white;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
  }

  .mobile-filter .products__filter-top.mobile-top {
    font-size: 16px;
    padding: 12px 16px;
    margin-right: 0;
    border-radius: 12px;
    border: 1px solid rgba(170, 170, 170, 0.4);
  }

  .mobile-filter .products__filter-variants {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    height: auto;
    max-height: 0;
    overflow: hidden;
    padding: 0 4px;
    box-sizing: border-box;
    row-gap: 8px;
    column-gap: 8px;
    transition: max-height 250ms ease, padding 250ms ease;
  }

  .mobile-filter .products__filter-variants.active-variants {
    display: flex;
    max-height: 400px;
    padding: 8px 4px;
    overflow-y: auto;
  }

  .mobile-filter .variants__item {
    font-size: 14px;
    line-height: 1.3;
    padding: 10px 14px;
    max-height: none;
    flex: 0 0 calc(50% - 4px);
    border-radius: 8px;
  }

  .mobile-filter .products__filter-variants.col-1 .variants__item {
    flex: 1 1 100%;
  }

  .mobile-filter .products__filter-dates {
    margin-bottom: 8px;
  }

  .mobile-filter .products__filter-dates .form-item {
    width: 100%;
    max-width: 100%;
  }

  .mobile-filter .products__filter-dates .form-item input {
    width: 100%;
    box-sizing: border-box;
  }

  .mobile-filter .products__filter-btn {
    margin-top: 16px;
    width: 100%;
    box-sizing: border-box;
  }

  .mobile-filter .reset-filter-btn {
    text-align: center;
    margin-top: 8px;
  }

  /* Conditions */
  .conditions__items {
    display: none;
  }

  .conditions {
    margin: 0;
    margin-bottom: 22px;
  }

  .conditions__title,
  .advamtages__title {
    margin-bottom: 45px;
    font-size: 32.5px;
    line-height: 39px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .conditions__title::after,
  .advamtages__title::after {
    content: "";
    background-image: url(../img/icon-all/arrow-gray.svg);
    width: 24px;
    height: 24px;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    transform: rotate(180deg);
    transition: transform 300ms;
  }

  .conditions__title.active::after,
  .advamtages__title.active::after {
    transform: rotate(0deg);
  }

  .conditions .circle {
    min-width: 20px;
    min-height: 20px;
    max-width: 20px;
    max-height: 20px;
    border-radius: 2px;
    background: var(--color-accent);
    margin-top: 4px;
  }

  .conditions-page__block-title {
    font-size: 3.9rem;
    margin-bottom: 2.5rem;
  }

  .conditions-page__block-item,
  .conditions-page__block-inner li {
    font-size: 2rem;
  }

  .conditions-page__block {
    margin-bottom: 2rem;
  }

  /* Advantages */
  .advamtages__item svg {
    width: 20px;
    height: 20px;
    min-width: 20px;
    min-height: 20px;
    margin-top: 4px;
  }

  .advamtages__item-name {
    margin-bottom: 8px;
  }

  /* Footer mobile */
  .footer .footer-desc {
    display: none;
  }

  .footer-mobile {
    display: block;
    margin-bottom: 15px;
  }

  .footer-mobile .footer__wrapper {
    padding: 0;
    background: none;
  }

  .footer__col-top {
    flex-direction: column;
    row-gap: 15px;
  }

  .footer__address {
    text-transform: unset;
  }

  .footer__email,
  .footer__tel {
    text-align: left;
  }

  .footer__address span {
    font-size: 2.5rem;
    line-height: 112%;
    color: var(--color-text);
    text-transform: unset;
    width: 100%;
    display: inline-block;
  }

  .footer__address,
  .footer__tel,
  .footer__email {
    color: var(--color-text);
    font-weight: 500;
    font-size: 22px;
    text-transform: unset;
  }

  .footer__address span,
  .footer__address a,
  .footer__tel span,
  .footer__tel a,
  .footer__email span,
  .footer__email a {
    font-size: 20px;
    color: var(--color-text-dim);
  }

  .footer__col-bottom {
    justify-content: flex-start;
    margin-top: 127px;
    margin-bottom: 4.5px;
  }

  .design {
    display: block;
    color: var(--color-text-dim);
    letter-spacing: 2.44px;
    margin: 0;
  }

  .design svg {
    width: 17px;
    height: 20px;
  }

  .design svg path {
    fill: var(--color-text-dim);
  }

  .design span {
    font-size: 11px;
    letter-spacing: 2px;
    line-height: 14px;
  }

  .footer__col:last-child {
    flex-direction: row;
    align-items: flex-end;
  }

  .footer__descriptor {
    line-height: 100%;
  }

  /* Product Section (Detail) */
  .product-section__title {
    font-size: 32px;
    margin-bottom: 8px;
  }

  .product-section__name {
    font-size: 22px;
    line-height: 35px;
  }

  .product-section__img img {
    height: auto;
    max-height: 294px;
  }

  .product-section__characteristics-item {
    font-size: 13px;
  }

  .product-section__prices-mobile__title {
    display: flex;
  }

  .product-section__prices-wrapper {
    display: flex;
    gap: 5px;
    justify-content: space-around;
    flex-wrap: wrap;
  }

  .product-section__prices-title {
    font-size: 13px;
    font-weight: 600;
    line-height: 100%;
    text-transform: uppercase;
    color: var(--color-text);
    letter-spacing: 1.23px;
    margin-bottom: 4.2px;
  }

  .product-section__prices-content {
    font-size: 13px;
  }

  .product-section__rent-btn {
    font-size: 18.5px;
    padding: 22px 70px;
    width: 100%;
    color: black;
  }

  .product-section__rent-inner p {
    font-size: 18.5px;
  }

  .section__title {
    font-size: 32px;
  }

  /* Time picker */
  .main-section__reservation-time {
    padding: 0;
    border: 0;
  }

  .main-section__reservation-time svg {
    display: none;
  }

  .main-section__reservation-time span {
    color: #aaa !important;
    margin-top: 11px;
    display: inline-block;
    text-transform: uppercase;
    font-weight: 500;
    text-align: center;
  }

  .main-section__reservation-title {
    text-transform: unset;
    font-size: 15px;
    font-weight: 500;
  }

  .main-section__reservation-value {
    max-height: 48px;
    width: 100%;
    max-width: 173px;
    text-align: center;
  }

  .main-section__time-calendar {
    left: -100%;
  }

  .flight-datepicker input::placeholder,
  #flight-datepicker input::placeholder {
    font-weight: 500;
  }

  /* Contacts */
  .contacts__wrapper {
    flex-direction: column;
    width: 100%;
    gap: 2.5rem 2rem;
  }

  .contacts__item,
  .contacts__doc {
    font-size: 20px;
  }

  .contacts__item,
  .contacts__doc span {
    font-size: 2rem;
  }

  .contacts__item-title {
    font-size: 2.5rem;
  }

  .contacts__docs {
    flex-direction: column;
  }

  .contacts__map {
    display: none;
  }

  /* Page WP mobile */
  .page-wp {
    font-size: 2rem;
  }

  .page-wp h1 { font-size: 3.3rem; }
  .page-wp h2 { font-size: 2.9rem; }
  .page-wp h3 { font-size: 2.6rem; }
  .page-wp h4 { font-size: 2.3rem; }
  .page-wp h5 { font-size: 1.7rem; }
  .page-wp h6 { font-size: 1.4rem; }

  .page-wp h1,
  .page-wp h2,
  .page-wp h3,
  .page-wp h4,
  .page-wp h5,
  .page-wp h6 {
    margin-bottom: 24px;
    letter-spacing: -0.56px;
  }

  .page-wp ul {
    display: flex;
    flex-direction: column;
    gap: 19px;
    margin: 15px 0;
  }

  .page-wp ul li {
    list-style-type: disc;
  }

  .page-wp .page-wp__pd {
    line-height: 140%;
  }

  .page-wp h1,
  .page-wp h2,
  .page-wp h3,
  .page-wp h4,
  .page-wp h5,
  .page-wp h6,
  .page-wp .page-wp__pd,
  .page-wp ul {
    padding-left: 2.5rem;
  }

  /* Dropdown mobile */
  .dropdown-title {
    width: 100%;
  }

  .dropdown-title::after {
    margin: 0;
  }
}


/* ============================================
   ≤ 440px
   ============================================ */
@media screen and (max-width: 440px) {
  .menu-widget__container {
    width: 100%;
    flex-wrap: wrap;
    gap: 10px;
  }

  .mob-nav .logo img {
    width: 200px;
  }

  .menu-panel .wrapp-panel {
    padding: 0;
  }

  .main-section__item {
    font-size: 18px;
  }

  .conditions__title,
  .advamtages__title {
    font-size: 28px;
  }

  .conditions__items-title,
  .conditions__list-item-name,
  .advamtages__item-name {
    font-size: 18px;
  }

  .footer__col-bottom {
    margin-top: 70px;
  }

  .footer__col .map-widget-app canvas {
    width: 100%;
    max-height: 369px;
  }

  .products__item-img img {
    width: 150px;
    height: 100px;
    object-fit: cover;
    object-position: center;
  }

  .products__item-name {
    font-size: 18px;
  }

  .products__item-price {
    flex-wrap: wrap;
  }

  .products__item-inner {
    gap: 30px;
  }
}


/* ============================================
   ≥ 400px (min-width for datepicker layout)
   ============================================ */
@media screen and (min-width: 400px) {
  .flight-datepicker,
  #flight-datepicker {
    display: flex;
    position: relative;
  }

  .flight-datepicker .date-text,
  #flight-datepicker .date-text {
    top: 100%;
  }

  .datepicker.dropdown-menu table tr td,
  .datepicker.dropdown-menu table tr th {
    padding: 1.2rem;
  }
}


/* ============================================
   ≤ 400px
   ============================================ */
@media screen and (max-width: 400px) {
  .design span {
    letter-spacing: 0;
  }

  .design svg {
    width: 12px;
    height: 12px;
  }

  .conditions__title,
  .advamtages__title {
    font-size: 22px;
  }

  .main-section__reservation-time span {
    font-size: 14px;
  }

  .flight-datepicker input::placeholder,
  .flight-datepicker input,
  #flight-datepicker input::placeholder,
  #flight-datepicker input {
    font-size: 14px;
  }

  .main-section__reservation-value {
    max-height: 45px;
  }
}


/* ============================================
   ≤ 360px
   ============================================ */
@media screen and (max-width: 360px) {
  .products__item-name {
    font-size: 15px;
  }

  .products__item-img img {
    width: 130px;
  }
}
