/* page-rooms.css */
/* Extracted from build_rooms.html - 6 blocks */

/* --- Block 1 --- */
.fslightbox-absoluted {
      position: absolute;
      top: 0;
      left: 0;
    }

    .fslightbox-fade-in {
      animation: fslightbox-fade-in 0.3s cubic-bezier(0, 0, 0.7, 1);
    }

    .fslightbox-fade-out {
      animation: fslightbox-fade-out 0.3s ease;
    }

    .fslightbox-fade-in-strong {
      animation: fslightbox-fade-in-strong 0.3s cubic-bezier(0, 0, 0.7, 1);
    }

    .fslightbox-fade-out-strong {
      animation: fslightbox-fade-out-strong 0.3s ease;
    }

    @keyframes fslightbox-fade-in {
      from {
        opacity: 0.65;
      }

      to {
        opacity: 1;
      }
    }

    @keyframes fslightbox-fade-out {
      from {
        opacity: 0.35;
      }

      to {
        opacity: 0;
      }
    }

    @keyframes fslightbox-fade-in-strong {
      from {
        opacity: 0.3;
      }

      to {
        opacity: 1;
      }
    }

    @keyframes fslightbox-fade-out-strong {
      from {
        opacity: 1;
      }

      to {
        opacity: 0;
      }
    }

    .fslightbox-cursor-grabbing {
      cursor: grabbing;
    }

    .fslightbox-full-dimension {
      width: 100%;
      height: 100%;
    }

    .fslightbox-open {
      overflow: hidden;
      height: 100%;
    }

    .fslightbox-flex-centered {
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .fslightbox-opacity-0 {
      opacity: 0 !important;
    }

    .fslightbox-opacity-1 {
      opacity: 1 !important;
    }

    .fslightbox-scrollbarfix {
      padding-right: 17px;
    }

    .fslightbox-transform-transition {
      transition: transform 0.3s;
    }

    .fslightbox-container {
      font-family: Arial, sans-serif;
      position: fixed;
      top: 0;
      left: 0;
      background: linear-gradient(rgba(30, 30, 30, 0.9), #000 1810%);
      touch-action: pinch-zoom;
      z-index: 1000000000;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
      -webkit-tap-highlight-color: transparent;
    }

    .fslightbox-container * {
      box-sizing: border-box;
    }

    .fslightbox-svg-path {
      transition: fill 0.15s ease;
      fill: #ddd;
    }

    .fslightbox-nav {
      height: 45px;
      width: 100%;
      position: absolute;
      top: 0;
      left: 0;
    }

    .fslightbox-slide-number-container {
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
      height: 100%;
      font-size: 15px;
      color: #d7d7d7;
      z-index: 0;
      max-width: 55px;
      text-align: left;
    }

    .fslightbox-slide-number-container .fslightbox-flex-centered {
      height: 100%;
    }

    .fslightbox-slash {
      display: block;
      margin: 0 5px;
      width: 1px;
      height: 12px;
      transform: rotate(15deg);
      background: #fff;
    }

    .fslightbox-toolbar {
      position: absolute;
      z-index: 3;
      right: 0;
      top: 0;
      height: 100%;
      display: flex;
      background: rgba(35, 35, 35, 0.65);
    }

    .fslightbox-toolbar-button {
      height: 100%;
      width: 45px;
      cursor: pointer;
    }

    .fslightbox-toolbar-button:hover .fslightbox-svg-path {
      fill: #fff;
    }

    .fslightbox-slide-btn-container {
      display: flex;
      align-items: center;
      padding: 12px 12px 12px 6px;
      position: absolute;
      top: 50%;
      cursor: pointer;
      z-index: 3;
      transform: translateY(-50%);
    }

    @media (min-width: 476px) {
      .fslightbox-slide-btn-container {
        padding: 22px 22px 22px 6px;
      }
    }

    @media (min-width: 768px) {
      .fslightbox-slide-btn-container {
        padding: 30px 30px 30px 6px;
      }
    }

    .fslightbox-slide-btn-container:hover .fslightbox-svg-path {
      fill: #f1f1f1;
    }

    .fslightbox-slide-btn {
      padding: 9px;
      font-size: 26px;
      background: rgba(35, 35, 35, 0.65);
    }

    @media (min-width: 768px) {
      .fslightbox-slide-btn {
        padding: 10px;
      }
    }

    @media (min-width: 1600px) {
      .fslightbox-slide-btn {
        padding: 11px;
      }
    }

    .fslightbox-slide-btn-container-previous {
      left: 0;
    }

    @media (max-width: 475.99px) {
      .fslightbox-slide-btn-container-previous {
        padding-left: 3px;
      }
    }

    .fslightbox-slide-btn-container-next {
      right: 0;
      padding-left: 12px;
      padding-right: 3px;
    }

    @media (min-width: 476px) {
      .fslightbox-slide-btn-container-next {
        padding-left: 22px;
      }
    }

    @media (min-width: 768px) {
      .fslightbox-slide-btn-container-next {
        padding-left: 30px;
      }
    }

    @media (min-width: 476px) {
      .fslightbox-slide-btn-container-next {
        padding-right: 6px;
      }
    }

    .fslightbox-down-event-detector {
      position: absolute;
      z-index: 1;
    }

    .fslightbox-slide-swiping-hoverer {
      z-index: 4;
    }

    .fslightbox-invalid-file-wrapper {
      font-size: 22px;
      color: #eaebeb;
      margin: auto;
    }

    .fslightbox-video {
      object-fit: cover;
    }

    .fslightbox-youtube-iframe {
      border: 0;
    }

    .fslightbox-loader {
      display: block;
      margin: auto;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 67px;
      height: 67px;
    }

    .fslightbox-loader div {
      box-sizing: border-box;
      display: block;
      position: absolute;
      width: 54px;
      height: 54px;
      margin: 6px;
      border: 5px solid;
      border-color: #999 transparent transparent transparent;
      border-radius: 50%;
      animation: fslightbox-loader 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    }

    .fslightbox-loader div:nth-child(1) {
      animation-delay: -0.45s;
    }

    .fslightbox-loader div:nth-child(2) {
      animation-delay: -0.3s;
    }

    .fslightbox-loader div:nth-child(3) {
      animation-delay: -0.15s;
    }

    @keyframes fslightbox-loader {
      0% {
        transform: rotate(0);
      }

      100% {
        transform: rotate(360deg);
      }
    }

    .fslightbox-source {
      position: relative;
      z-index: 2;
      opacity: 0;
    }

/* --- Block 2 --- */
.theiaStickySidebar:after {
      content: "";
      display: table;
      clear: both;
    }

/* --- Block 3 --- */
/* CSS cho Dropdown Ngôn ngữ */
    .lang-selector {
      position: relative;
      display: inline-block;
      margin-right: 15px;
      vertical-align: middle;
    }
    .dropdown-lang {
      position: relative;
      display: inline-block;
    }
    .dropbtn-lang {
      background-color: transparent;
      color: #fff;
      padding: 6px 12px;
      font-size: 14px;
      border: 1px solid rgba(255, 255, 255, 0.4);
      border-radius: 4px;
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 6px;
      text-transform: uppercase;
      font-family: inherit;
      font-weight: 600;
      transition: all 0.2s;
    }
    .dropbtn-lang:hover {
      background-color: rgba(255, 255, 255, 0.15);
    }
    .dropbtn-lang i {
      font-size: 10px;
      transition: transform 0.2s;
      display: inline-block;
    }
    .dropdown-content-lang {
      display: none;
      position: absolute;
      background-color: #fff;
      min-width: 50px;
      box-shadow: 0px 8px 24px rgba(0,0,0,0.12);
      z-index: 9999;
      border-radius: 8px;
      right: 50%;
      transform: translateX(50%);
      top: 100%;
      margin-top: 5px;
      border: 1px solid rgba(0, 0, 0, 0.08);
      padding: 8px 0;
    }
    .dropdown-content-lang.show {
      display: block;
    }
    .dropdown-content-lang a {
      padding: 6px 12px;
      text-decoration: none;
      display: flex;
      justify-content: center;
      align-items: center;
      transition: background-color 0.2s;
    }
    .dropdown-content-lang a:hover {
      background-color: rgba(0, 0, 0, 0.05);
    }
    .flag-img {
      width: 24px;
      height: 18px;
      object-fit: cover;
      border-radius: 2px;
      box-shadow: 0 1px 3px rgba(0,0,0,0.15);
    }

/* --- Block 4 --- */
/* .room-list-wrapper {} */

        .room-list {
          display: flex;
          justify-content: center;
          flex-wrap: wrap;
          gap: 28px;
          max-width: 2100px;
          margin: 0 auto 16px auto;
        }

        /* Filter Tabs */
        .room-filter-container {
          display: flex;
          justify-content: center;
          margin-bottom: 30px;
        }

        .room-filter-tabs {
          display: flex;
          gap: 30px;
        }

        .room-filter-tabs button {
          background: none;
          border: none;
          padding: 10px 0;
          font-size: 16px;
          font-weight: 600;
          cursor: pointer;
          color: #777;
          position: relative;
          transition: color 0.3s ease;
          text-transform: uppercase;
          letter-spacing: 0.5px;
        }

        .room-filter-tabs button::after {
          content: "";
          position: absolute;
          left: 0;
          bottom: -1px;
          width: 0;
          height: 3px;
          background: #caa169;
          transition: width 0.3s ease;
        }

        .room-filter-tabs button.active {
          color: #caa169;
        }

        .room-filter-tabs button.active::after {
          width: 100%;
        }

        .room-filter-tabs button:hover {
          color: #caa169;
        }

        @media (max-width: 768px) {
          .room-filter-container {
            margin-left: 10px;
            margin-right: 10px;
          }

          .room-filter-tabs {
            gap: 20px;
            width: 100%;
            overflow-x: auto;
            white-space: nowrap;
            padding-bottom: 5px;
          }

          .room-filter-tabs button {
            font-size: 14px;
            padding: 8px 0;
          }
        }

        .room-card {
          background: #fff;
          overflow: hidden;
          box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
          display: flex;
          flex-direction: column;
          width: 100%;
          max-width: 410px;
          min-width: 260px;
          transition: box-shadow 0.2s, transform 0.2s;
          position: relative;
        }

        .room-card:hover {
          box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
          transform: translateY(-4px) scale(1.03);
        }

        .room-image {
          position: relative;
          height: 280px;
          width: 100%;
          overflow: hidden;
          background: #eee;
        }

        .room-carousel img {
          position: absolute;
          inset: 0;
          width: 100%;
          height: 100%;
          object-fit: contain;
          opacity: 0;
          transition: opacity 0.4s ease;
        }

        .room-carousel img.active {
          opacity: 1;
        }

        .room-arrow {
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          background: rgba(0, 0, 0, 0.45);
          color: #fff;
          border: none;
          width: 36px;
          height: 36px;
          font-size: 22px;
          cursor: pointer;
          z-index: 5;
        }

        .room-arrow.prev {
          left: 8px;
        }

        .room-arrow.next {
          right: 8px;
        }

        .room-arrow:hover {
          background: rgba(0, 0, 0, 0.65);
        }

        .room-dots {
          position: absolute;
          bottom: 10px;
          left: 50%;
          transform: translateX(-50%);
          display: flex;
          gap: 6px;
          z-index: 6;
        }

        .room-dots span {
          width: 8px;
          height: 8px;
          border-radius: 50%;
          background: rgba(255, 255, 255, 0.6);
          cursor: pointer;
        }

        .room-dots span.active {
          background: #fff;
        }

        .room-carousel {
          user-select: none;
          cursor: grab;
        }

        .room-carousel:active {
          cursor: grabbing;
        }

        .room-info {
          padding: 20px 18px 18px 18px;
          display: flex;
          flex-direction: column;
          flex: 1;
        }

        .room-meta {
          display: flex;
          gap: 16px;
          font-size: 15px;
          color: #bdbdbd;
          margin-bottom: 10px;
        }

        .room-meta span {
          display: flex;
          align-items: center;
          gap: 6px;
        }

        .room-meta i {
          font-size: 18px;
          color: #fff;
        }

        .room-title {
          font-size: 20px;
          font-weight: 600;
          color: #978667;
          margin-bottom: 18px;
        }

        .room-bottom {
          display: flex;
          justify-content: space-between;
          align-items: flex-end;
        }

        .room-price {
          color: #ff6a00;
          font-size: 17px;
          font-weight: 500;
          display: flex;
          flex-direction: column;
        }

        .room-price .price-line {
          display: flex;
          align-items: baseline;
          gap: 6px;
        }

        .room-price strong {
          font-size: 22px;
          color: #ff6a00;
          font-weight: 700;
        }

        .room-price .unit {
          font-size: 14px;
          color: #ff6a00;
        }


        .room-btn {
          background: #978667;
          color: #fff;
          border: 1px solid #fff;
          border-radius: 24px;
          padding: 8px 22px;
          font-size: 15px;
          font-weight: 600;
          text-decoration: none;
          transition: background 0.2s, color 0.2s;
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
        }

        .room-btn:hover {
          background: #4b514d;
          color: #fff;
        }

        .room-action {
          display: flex;
          flex-direction: column;
          align-items: flex-end;
          gap: 6px;
        }

        .room-badge {
          margin-right: 24px;
          font-size: 14px;
          font-weight: 600;
          color: #ff3b3b;
        }

        @media (max-width: 1024px) {
          .room-list {
            flex-direction: column;
            align-items: center;
          }

          .room-card {
            width: 100%;
            max-width: 95vw;
            min-width: unset;
          }

          /* Prevent text/button wrapping in room footer on mobile */
          .room-bottom {
            flex-direction: row !important;
            align-items: flex-end !important;
            justify-content: space-between !important;
          }
          .room-price strong {
            font-size: 18px !important;
          }
          .room-price .unit {
            font-size: 11px !important;
          }
          .room-price .price-line {
            flex-wrap: nowrap !important;
          }
          .room-badge {
            font-size: 11px !important;
            margin-right: 0 !important;
          }
          .room-btn {
            padding: 6px 14px !important;
            font-size: 13px !important;
            white-space: nowrap !important;
          }
        }

        @media (max-width: 900px) {
          .room-list-wrapper {
            flex-direction: column;
            align-items: center;
            gap: 18px;
          }

          .room-card {
            max-width: 95vw;
          }
        }

/* --- Block 5 --- */
.custom-footer a:hover {
      color: #caa169 !important;
    }
    .btn-gold-pill:hover {
      background-color: #b89058 !important;
      transform: translateY(-2px);
      box-shadow: 0 4px 15px rgba(202, 161, 105, 0.4);
    }
    .footer-social-icons a:hover {
      color: #caa169 !important;
      transform: scale(1.15);
    }
    .footer-social-icons a {
      transition: all 0.2s ease;
    }

/* --- Block 6 --- */
.floating-contact-buttons {
      position: fixed;
      right: 20px;
      bottom: 150px;
      z-index: 99999;
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .floating-contact-buttons a {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 50px;
      height: 50px;
      position: relative;
      overflow: hidden;
      
      border-radius: 50%;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
      background-color: #fff;
      transition: all 0.2s ease;
    }
    .floating-contact-buttons a:hover {
      transform: scale(1.15);
    }
    .floating-contact-buttons img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .tiktok-zoom {
      transform: scale(1.7) !important;
      object-fit: cover !important;
    }
    .phone-wrapper {
      position: relative;
      overflow: visible !important;
    }
    .phone-text {
      position: absolute;
      right: 60px;
      top: 50%;
      transform: translateY(-50%);
      background: #fff;
      color: #111;
      padding: 8px 14px;
      border-radius: 999px;
      font-size: 14px;
      white-space: nowrap;
      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
      opacity: 1;
      visibility: visible;
      animation: hideAfter5s 5s ease forwards;
      pointer-events: none;
    }
    .phone-text::after {
      content: "";
      position: absolute;
      right: -6px;
      top: 50%;
      transform: translateY(-50%);
      border-width: 6px;
      border-style: solid;
      border-color: transparent transparent transparent #fff;
    }
    .phone-wrapper:hover .phone-text {
      opacity: 1;
      visibility: visible;
      transform: translateY(-50%) translateX(-4px);
      animation: none;
    }
    @keyframes hideAfter5s {
      0% { opacity: 1; visibility: visible; }
      80% { opacity: 1; }
      100% { opacity: 0; visibility: hidden; }
    }

    /* CCCHAT WIDGET STYLES */
    .ccchat-popupchat-container {
      position: fixed;
      right: 20px;
      bottom: 90px;
      overflow: hidden;
      z-index: 99999;
      display: flex;
      flex-direction: column;
      border-radius: 12px;
      box-shadow: 0 10px 30px rgba(0,0,0,0.15);
      border: 1px solid rgba(202, 161, 105, 0.2);
      background-color: #ffffff;
    }
    .ccchat-ai-popupchat-toggle-btn {
      position: fixed;
      bottom: 90px;
      right: 20px;
      width: 50px;
      height: 50px;
      cursor: pointer;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
      border-radius: 50%;
      z-index: 10000;
      transition: all 0.2s ease;
      background-color: #000;
    }
    .ccchat-ai-popupchat-toggle-btn:hover {
      transform: scale(1.15);
    }
    .ccchat-toggle-wrapper {
      position: fixed;
      bottom: 90px;
      right: 20px;
      z-index: 10001;
    }
    .ccchat-toggle-text {
      position: absolute;
      right: 60px;
      top: 50%;
      transform: translateY(-50%);
      background: #fff;
      color: #111;
      padding: 8px 14px;
      border-radius: 999px;
      font-size: 14px;
      white-space: nowrap;
      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
      opacity: 1;
      visibility: visible;
      pointer-events: none;
      animation: ccchatHideAfter5s 5s ease forwards;
      transition: opacity 0.15s ease, transform 0.15s ease;
    }
    .ccchat-toggle-text::after {
      content: "";
      position: absolute;
      right: -6px;
      top: 50%;
      transform: translateY(-50%);
      border-width: 6px;
      border-style: solid;
      border-color: transparent transparent transparent #fff;
    }
    .ccchat-toggle-wrapper:hover .ccchat-toggle-text {
      opacity: 1;
      visibility: visible;
      transform: translateY(-50%) translateX(-4px);
      animation: none;
    }
    @keyframes ccchatHideAfter5s {
      0% { opacity: 1; visibility: visible; }
      80% { opacity: 1; }
      100% { opacity: 0; visibility: hidden; }
    }
    .chat-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 12px 18px;
      background-color: #ffffff;
      border-bottom: 1px solid rgba(0,0,0,0.06);
    }
    .chat-title {
      margin: 0;
      font-family: 'Lora', serif !important;
      font-size: 16px !important;
      font-weight: 700 !important;
      color: #11151a !important;
    }
    .chat-close-btn {
      background-color: #caa169;
      color: #fff;
      font-size: 12px;
      padding: 5px 12px;
      border: none;
      border-radius: 20px;
      cursor: pointer;
      font-family: 'Montserrat', sans-serif !important;
      font-weight: 600;
      transition: background-color 0.2s;
    }
    .chat-close-btn:hover {
      background-color: #b89058;
    }
    .ccchat-ai-popupchat-dev-msg {
      background-color: #fcfbfa;
      height: 380px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 30px;
      text-align: center;
    }
    .dev-msg-icon {
      font-size: 45px;
      color: #caa169;
      margin-bottom: 15px;
      animation: spin-gear 4s linear infinite;
    }
    @keyframes spin-gear {
      from { transform: rotate(0deg); }
      to { transform: rotate(360deg); }
    }
    .ccchat-ai-popupchat-dev-msg h4 {
      font-family: 'Lora', serif !important;
      font-size: 16px !important;
      font-weight: 600 !important;
      color: #11151a !important;
      margin-bottom: 10px !important;
    }
    .ccchat-ai-popupchat-dev-msg p {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 12px !important;
      line-height: 1.6 !important;
      color: #666666 !important;
      margin: 0 !important;
    }
    @media (min-width: 769px) {
      .ccchat-popupchat-container {
        width: 360px;
      }
    }
    @media (max-width: 768px) {
      .ccchat-popupchat-container {
        width: calc(100% - 40px);
        right: 20px;
      }
      .floating-contact-buttons {
        bottom: 140px;
        gap: 10px;
      }
      .floating-contact-buttons a {
        width: 40px;
        height: 40px;
      }
      .ccchat-ai-popupchat-toggle-btn, .ccchat-toggle-wrapper {
        bottom: 80px;
        width: 40px;
        height: 40px;
      }
      .ccchat-popupchat-container {
        bottom: 80px;
      }
      .phone-text, .ccchat-toggle-text {
        display: none !important;
      }
    }

