/* RTC Travel final shared header: home + hotels */

@media (min-width: 961px){

  .rtc-header{
    background:#0b0b0b !important;
    border-bottom:1px solid #2a2a2a !important;
    min-height:88px !important;
    position:relative !important;
    z-index:10000 !important;
  }

  .rtc-header-inner{
    width:100% !important;
    max-width:1280px !important;
    min-height:88px !important;
    margin:0 auto !important;
    padding:10px 24px !important;

    display:grid !important;
    grid-template-columns:250px minmax(0,1fr) 88px !important;
    align-items:center !important;
    gap:16px !important;
  }

  .brand{
    width:250px !important;
    min-width:0 !important;
    justify-self:start !important;

    display:flex !important;
    align-items:center !important;
    gap:12px !important;

    color:#fff !important;
    text-decoration:none !important;
  }

  .logo,
  .brand .logo{
    width:64px !important;
    height:64px !important;
    flex:0 0 64px !important;
    overflow:hidden !important;
  }

  .logo-video{
    width:64px !important;
    height:64px !important;
    object-fit:cover !important;
    display:block !important;
  }

  .brand-title{
    font-family:"Playfair Display", Georgia, serif !important;
    font-size:14px !important;
    line-height:1.05 !important;
    letter-spacing:.14em !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
  }

  .brand-sub{
    font-size:12px !important;
    line-height:1.15 !important;
    color:#b8b0a0 !important;
    white-space:nowrap !important;
  }

  .rtc-nav{
    justify-self:center !important;
    width:100% !important;
    min-width:0 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-wrap:nowrap !important;

    gap:20px !important;
    overflow:visible !important;
  }

  .rtc-nav > a,
  .nav-resorts-btn{
    height:38px !important;
    padding:0 !important;
    margin:0 !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    font-size:12px !important;
    line-height:1.05 !important;
    letter-spacing:.085em !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
    text-align:center !important;

    color:#fff !important;
    text-decoration:none !important;
  }

  .rtc-nav > a:hover,
  .nav-resorts-btn:hover,
  .rtc-nav > a.active,
  .nav-main-hotels.active{
    color:#d8bf7a !important;
  }

  .nav-hotels{
    color:#cbb37a !important;
  }

  .nav-resorts{
    height:38px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:relative !important;
    z-index:10020 !important;
  }

  .nav-resorts-btn{
    cursor:default !important;
    gap:5px !important;
  }

  .nav-resorts-dropdown{
    position:absolute !important;
    top:calc(100% + 10px) !important;
    left:50% !important;
    transform:translateX(-50%) !important;

    min-width:250px !important;
    max-height:70vh !important;
    overflow:auto !important;

    padding:10px !important;
    margin:0 !important;

    display:none !important;

    background:#0b0b0b !important;
    border:1px solid rgba(203,179,122,.32) !important;
    border-radius:14px !important;
    box-shadow:0 18px 50px rgba(0,0,0,.65) !important;

    z-index:99999 !important;
  }

  .nav-resorts:hover .nav-resorts-dropdown{
    display:block !important;
  }

  .nav-resorts-dropdown::before{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:-12px !important;
    height:12px !important;
  }

  .nav-resorts-dropdown a{
    width:100% !important;
    min-height:38px !important;
    padding:9px 10px !important;
    margin:0 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;

    color:#f5f2ea !important;
    text-decoration:none !important;
    text-align:left !important;
    white-space:nowrap !important;

    font-size:12px !important;
    line-height:1.2 !important;
    letter-spacing:.07em !important;
    text-transform:uppercase !important;

    border-radius:9px !important;
  }

  .nav-resorts-dropdown a:hover{
    background:rgba(203,179,122,.12) !important;
    color:#d8bf7a !important;
  }

  .nav-resorts-dropdown img{
    width:22px !important;
    height:16px !important;
    flex:0 0 22px !important;
    object-fit:cover !important;
    border-radius:2px !important;
    display:block !important;
  }

  .rtc-header-socials{
    justify-self:end !important;
    min-width:88px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
  }

  .rtc-header-socials a{
    width:36px !important;
    height:36px !important;
    flex:0 0 36px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    border:1px solid rgba(255,255,255,.15) !important;
    border-radius:50% !important;
    color:#fff !important;
    text-decoration:none !important;
    background:rgba(255,255,255,.02) !important;
  }

  .rtc-header-socials a:hover{
    border-color:rgba(203,179,122,.55) !important;
    color:#d8bf7a !important;
  }

  .rtc-menu-btn{
    display:none !important;
  }
}

@media (min-width: 961px) and (max-width: 1240px){

  .rtc-header-inner{
    grid-template-columns:228px minmax(0,1fr) 82px !important;
    padding-left:18px !important;
    padding-right:18px !important;
    gap:12px !important;
  }

  .brand{
    width:228px !important;
    gap:10px !important;
  }

  .logo,
  .brand .logo,
  .logo-video{
    width:58px !important;
    height:58px !important;
    flex-basis:58px !important;
  }

  .brand-title{
    font-size:13px !important;
    letter-spacing:.12em !important;
  }

  .brand-sub{
    font-size:11px !important;
  }

  .rtc-nav{
    gap:15px !important;
  }

  .rtc-nav > a,
  .nav-resorts-btn{
    font-size:11px !important;
    letter-spacing:.055em !important;
  }

  .rtc-header-socials{
    min-width:82px !important;
    gap:8px !important;
  }

  .rtc-header-socials a{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
  }
}

/* RTC mobile header fix: hotels catalog menu, 2026-06-11 */
@media (max-width: 768px) {
  .rtc-header {
    overflow: visible !important;
  }

  .rtc-header-inner {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .rtc-header .brand {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .rtc-header .brand-title {
    white-space: nowrap !important;
  }

  .rtc-header .rtc-menu-btn {
    flex: 0 0 auto !important;
  }

  .rtc-header .rtc-nav {
    display: none !important;
    order: 20 !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    margin-top: 14px !important;
    padding: 10px 0 2px !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    background: #0b0b0b !important;
    position: static !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  .rtc-header.rtc-header--mobile-open .rtc-nav {
    display: flex !important;
  }

  .rtc-header .rtc-nav > a,
  .rtc-header .nav-resorts-btn {
    display: block !important;
    width: 100% !important;
    padding: 14px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    font-size: 21px !important;
    line-height: 1.25 !important;
    letter-spacing: .02em !important;
    text-align: left !important;
    color: rgba(255,255,255,.92) !important;
  }

  .rtc-header .nav-main-hotels,
  .rtc-header .nav-main-hotels.active {
    color: #d8bd7a !important;
  }

  .rtc-header .nav-resorts {
    width: 100% !important;
    position: static !important;
    display: block !important;
  }

  .rtc-header .nav-resorts-dropdown {
    position: static !important;
    display: none !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 8px 0 12px !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px 12px !important;
  }

  .rtc-header .nav-resorts.rtc-resorts--open .nav-resorts-dropdown {
    display: grid !important;
  }

  .rtc-header .nav-resorts-dropdown a {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 0 !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    letter-spacing: .02em !important;
    white-space: normal !important;
    color: rgba(255,255,255,.86) !important;
  }

  .rtc-header .nav-resorts-dropdown img {
    width: 28px !important;
    height: 19px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-main-hotels {
    display: block;
  }
}

/* RTC mobile header fix v2: single menu, stable header, 2026-06-11 */
@media (max-width: 768px) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .rtc-header {
    overflow: visible !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .rtc-header-inner {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 18px 20px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px 14px !important;
  }

  .rtc-header .brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    max-width: calc(100vw - 160px) !important;
    display: flex !important;
    align-items: center !important;
    justify-self: start !important;
  }

  .rtc-header .logo {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    flex: 0 0 56px !important;
  }

  .rtc-header .brand-text {
    min-width: 0 !important;
  }

  .rtc-header .brand-title {
    font-size: 18px !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
  }

  .rtc-header .brand-sub {
    font-size: 14px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }

  .rtc-header .rtc-menu-btn {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    margin: 0 !important;
    padding: 10px 16px !important;
    min-width: auto !important;
    width: auto !important;
    white-space: nowrap !important;
  }

  .rtc-header .rtc-header-socials {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    justify-content: flex-start !important;
    margin: 4px 0 0 !important;
    width: 100% !important;
  }

  /* прячем старое мобильное меню, чтобы не было дублей */
  .mobile-menu,
  .mobile-nav,
  .mobile-resorts,
  .mobile-hotels,
  .mobile-main-hotels,
  .mobile-resorts-btn,
  .mobile-resorts-dropdown {
    display: none !important;
  }

  .rtc-header .rtc-nav {
    display: none !important;
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 18px 0 4px !important;
    border-top: 1px solid rgba(255,255,255,.14) !important;
    background: #0b0b0b !important;
    position: static !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  .rtc-header.rtc-header--mobile-open .rtc-nav {
    display: flex !important;
  }

  .rtc-header .rtc-nav > a,
  .rtc-header .nav-resorts-btn {
    display: block !important;
    width: 100% !important;
    padding: 16px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    font-size: 24px !important;
    line-height: 1.18 !important;
    letter-spacing: .035em !important;
    text-align: left !important;
    color: rgba(255,255,255,.94) !important;
    text-transform: uppercase !important;
  }

  .rtc-header .nav-main-hotels,
  .rtc-header .nav-main-hotels.active {
    color: #d8bd7a !important;
  }

  .rtc-header .nav-resorts {
    width: 100% !important;
    position: static !important;
    display: block !important;
  }

  .rtc-header .nav-resorts-dropdown,
  .rtc-header .nav-resorts:hover .nav-resorts-dropdown,
  .rtc-header .nav-resorts:not(.rtc-resorts--open) .nav-resorts-dropdown {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: static !important;
  }

  .rtc-header .nav-resorts.rtc-resorts--open .nav-resorts-dropdown {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 12px 0 14px !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px 12px !important;
  }

  .rtc-header .nav-resorts-dropdown a {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 0 !important;
    border: 0 !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
    white-space: normal !important;
    color: rgba(255,255,255,.86) !important;
  }

  .rtc-header .nav-resorts-dropdown img {
    width: 28px !important;
    height: 19px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    object-fit: cover !important;
    display: block !important;
    flex: 0 0 28px !important;
  }
}

@media (max-width: 430px) {
  .rtc-header-inner {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .rtc-header .brand {
    max-width: calc(100vw - 145px) !important;
  }

  .rtc-header .brand-title {
    font-size: 17px !important;
  }

  .rtc-header .brand-sub {
    font-size: 13px !important;
  }

  .rtc-header .rtc-menu-btn {
    padding: 9px 14px !important;
    font-size: 14px !important;
  }
}

/* RTC mobile header fix v3: remove old duplicates and compact menu, 2026-06-11 */
@media (max-width: 768px) {
  /* скрываем старые/дублирующие мобильные меню вне новой .rtc-nav */
  .rtc-header ~ .mobile-menu,
  .rtc-header ~ .mobile-nav,
  .rtc-header ~ .mobile-header-menu,
  .rtc-header ~ .mobile-dropdown,
  .rtc-header ~ .mobile-links,
  .rtc-header ~ .rtc-mobile-menu,
  .rtc-header ~ .rtc-mobile-nav,
  .rtc-header ~ .rtc-mobile-panel,
  body > .mobile-menu,
  body > .mobile-nav,
  body > .mobile-header-menu,
  body > .mobile-dropdown,
  body > .mobile-links,
  body > .rtc-mobile-menu,
  body > .rtc-mobile-nav,
  body > .rtc-mobile-panel {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  .rtc-header-inner {
    padding: 18px 20px 16px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px 12px !important;
  }

  .rtc-header .brand {
    max-width: none !important;
    width: 100% !important;
  }

  .rtc-header .logo {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    flex-basis: 58px !important;
  }

  .rtc-header .brand-title {
    font-size: 19px !important;
    letter-spacing: .14em !important;
    max-width: calc(100vw - 190px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .rtc-header .brand-sub {
    font-size: 14px !important;
    max-width: calc(100vw - 190px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .rtc-header .rtc-menu-btn {
    padding: 10px 17px !important;
    border-radius: 18px !important;
    font-size: 15px !important;
    letter-spacing: .16em !important;
  }

  .rtc-header .rtc-header-socials {
    margin-top: 8px !important;
    gap: 14px !important;
  }

  .rtc-header .rtc-nav {
    margin-top: 16px !important;
    padding: 14px 0 0 !important;
  }

  .rtc-header .rtc-nav > a,
  .rtc-header .nav-resorts-btn {
    padding: 13px 0 !important;
    font-size: 21px !important;
    line-height: 1.16 !important;
    letter-spacing: .03em !important;
  }

  .rtc-header .nav-hotels {
    color: #d8bd7a !important;
  }

  .rtc-header .nav-resorts-dropdown,
  .rtc-header .nav-resorts:hover .nav-resorts-dropdown,
  .rtc-header .nav-resorts:not(.rtc-resorts--open) .nav-resorts-dropdown {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
  }

  .rtc-header .nav-resorts.rtc-resorts--open .nav-resorts-dropdown {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px 18px !important;
    padding: 18px 0 22px !important;
  }

  .rtc-header .nav-resorts-dropdown a {
    font-size: 17px !important;
    padding: 7px 0 !important;
    gap: 10px !important;
  }

  .rtc-header .nav-resorts-dropdown img {
    width: 30px !important;
    height: 20px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    flex: 0 0 30px !important;
  }
}

@media (max-width: 430px) {
  .rtc-header-inner {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .rtc-header .brand-title {
    font-size: 18px !important;
    max-width: calc(100vw - 178px) !important;
  }

  .rtc-header .brand-sub {
    font-size: 13px !important;
    max-width: calc(100vw - 178px) !important;
  }

  .rtc-header .rtc-menu-btn {
    padding: 10px 15px !important;
    font-size: 14px !important;
  }

  .rtc-header .rtc-nav > a,
  .rtc-header .nav-resorts-btn {
    font-size: 20px !important;
  }
}

/* RTC hotels-only mobile header buttons fix v5, 2026-06-11 */
@media (max-width: 768px) {
  .rtc-header.rtc-hotels-header .rtc-menu-btn {
    background: rgba(8, 8, 8, .46) !important;
    color: #d8bd7a !important;
    border: 1px solid rgba(216, 189, 122, .68) !important;
    box-shadow: none !important;
    text-shadow: none !important;
    border-radius: 18px !important;
    padding: 10px 17px !important;
    min-height: 42px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: .16em !important;
  }

  .rtc-header.rtc-hotels-header .rtc-menu-btn .burger {
    color: #d8bd7a !important;
  }

  .rtc-header.rtc-hotels-header .rtc-header-socials {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    margin-top: 10px !important;
  }

  .rtc-header.rtc-hotels-header .rtc-header-socials .rtc-social {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    background: rgba(8,8,8,.52) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    text-decoration: none !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
  }

  .rtc-header.rtc-hotels-header .rtc-header-socials .rtc-social.youtube {
    font-size: 17px !important;
    transform: none !important;
  }

  .rtc-header.rtc-hotels-header .rtc-header-socials .rtc-social.vk {
    font-size: 17px !important;
    letter-spacing: .02em !important;
  }

  .rtc-header.rtc-hotels-header .rtc-header-socials .rtc-social::before,
  .rtc-header.rtc-hotels-header .rtc-header-socials .rtc-social::after {
    content: none !important;
    display: none !important;
  }
}

@media (max-width: 430px) {
  .rtc-header.rtc-hotels-header .rtc-menu-btn {
    padding: 10px 15px !important;
    min-height: 42px !important;
    font-size: 14px !important;
    border-radius: 17px !important;
  }

  .rtc-header.rtc-hotels-header .rtc-header-socials .rtc-social {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
  }
}

/* RTC hotels-only mobile header buttons fix v6: closer to homepage, 2026-06-11 */
@media (max-width: 768px) {
  .rtc-header.rtc-hotels-header .rtc-menu-btn {
    padding: 9px 15px !important;
    min-height: 40px !important;
    border-radius: 16px !important;
    font-size: 14px !important;
    letter-spacing: .14em !important;
    background: rgba(8, 8, 8, .44) !important;
    color: #d8bd7a !important;
    border: 1px solid rgba(216, 189, 122, .62) !important;
    box-shadow: none !important;
  }

  .rtc-header.rtc-hotels-header .rtc-menu-btn .burger {
    color: #d8bd7a !important;
  }

  .rtc-header.rtc-hotels-header .rtc-header-socials {
    gap: 12px !important;
    margin-top: 8px !important;
  }

  .rtc-header.rtc-hotels-header .rtc-header-socials .rtc-social {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    background: rgba(8,8,8,.44) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    text-decoration: none !important;
    line-height: 1 !important;
    font-family: Arial, Helvetica, sans-serif !important;
  }

  .rtc-header.rtc-hotels-header .rtc-header-socials .rtc-social.youtube {
    font-size: 15px !important;
    font-weight: 700 !important;
    transform: none !important;
  }

  .rtc-header.rtc-hotels-header .rtc-header-socials .rtc-social.vk {
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: .01em !important;
  }

  .rtc-header.rtc-hotels-header .rtc-header-socials .rtc-social::before,
  .rtc-header.rtc-hotels-header .rtc-header-socials .rtc-social::after {
    content: none !important;
    display: none !important;
  }
}
