/* Remake Website FUGO Hotels & Resort */
/* Date Created :: Thursday, 18 December 2025 */
/* Created By :: IT Govindo Group */
/* Version :: 3.2.0 -> 4.0.0 */
/* Code Purpose :: style for all page */
/**/
/* FONT Setting */
/* ----- Spectral ----- */
/* LIGHT (300) */
@font-face {
  font-family: "Spectral";
  src: url("../font/Spectral/Spectral-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* REGULAR (400) */
@font-face {
  font-family: "Spectral";
  src: url("../font/Spectral/Spectral-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* MEDIUM (500) */
@font-face {
  font-family: "Spectral";
  src: url("../font/Spectral/Spectral-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Spectral";
  src: url("../font/Spectral/Spectral-MediumItalic.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

/* SEMIBOLD (600) */
@font-face {
  font-family: "Spectral";
  src: url("../font/Spectral/Spectral-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* BOLD (700) */
@font-face {
  font-family: "Spectral";
  src: url("../font/Spectral/Spectral-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* ----- Montserrat ----- */
/* LIGHT MONTSERRAT (300) */
@font-face {
  font-family: "Montserrat";
  src: url("../font/Montserrat/Montserrat-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* REGULAR MONTSERRAT (400) */
@font-face {
  font-family: "Montserrat";
  src: url("../font/Montserrat/Montserrat-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* MEDIUM MONTSERRAT (500) */
@font-face {
  font-family: "Montserrat";
  src: url("../font/Montserrat/Montserrat-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* SEMIBOLD MONTSERRAT (600) */
@font-face {
  font-family: "Montserrat";
  src: url("../font/Montserrat/Montserrat-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* BOLD MONTSERRAT (700) */
@font-face {
  font-family: "Montserrat";
  src: url("../font/Montserrat/Montserrat-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  /* WARNA */
  --warna-primer: #717272; /* abu" */
  --warna-sekunder: #7a7369; /* coklat */
  /* --------------------- */
  --warna-aksen: #e8e3dc; /* cream */
  --warna-teks: #878787; /* dark" */
  --warna-latar: #ffffff; /* putih */
  --warna-batas: #bdbdbd; /* abu" muda */
  --warna-dark: #333333;

  /* FONT */
  --font-utama: "Spectral", Helvetica, Arial, sans-serif;
  --font-sekunder: "Montserrat", Helvetica, Arial, sans-serif;

  /* SPASI & UKURAN */
  --spasi-sm: 8px;
  --spasi-md: 16px;
  --spasi-lg: 24px;
  --radius-md: 8px;
  --mobile: 480px;
}
.font-primary {
  font-family: var(--font-utama);
}
.font-secondary {
  font-family: var(--font-sekunder);
}
/* ------------------------------------------------------- */

.title-page-sub {
  @media (max-width: 480px) {
    font-size: 2rem;
    line-height: 1;
  }
}

#accomodation {
  background-color: var(--warna-aksen);
  padding: var(--spasi-lg) 0;
  @media (max-width: 480px) {
    padding: calc(var(--spasi-lg) * 2) 0;
  }
}

.wrap-room {
  @media (max-width: 480px) {
    gap: var(--spasi-lg);
  }
}
#list-room.wrap-room {
  gap: var(--spasi-lg);
}
.wrap-room .room-card {
  width: 48%;
  color: var(--warna-primer);
  @media (max-width: 480px) {
    width: 100%;
  }
}
.wrap-room.full-grid {
  width: 100%;
}
.wrap-room .room-card.full-card {
  width: 100%;
  margin-bottom: calc(var(--spasi-lg) * 3);
}
.wrap-room .room-card.full-card img {
  margin-bottom: 0;
}

.wrap-room .room-card img {
  width: 100%;
  margin-bottom: var(--spasi-sm);
}
.wrap-room .room-card.half-full {
  width: 80%;
  @media (max-width: 480px) {
    width: 100%;
  }
}

.room-card .title-card {
  font-family: var(--font-sekunder);
  font-weight: 400;
  cursor: pointer;
}
.room-card .action-btn {
  flex-direction: row-reverse;
  justify-content: flex-end;
  @media (max-width: 480px) {
    flex-direction: column-reverse;
  }
}

.room-card .action-btn .btn {
  @media (max-width: 480px) {
    min-width: 80%;
  }
}
.title-list {
  line-height: 1;
}
.title-list .sub {
  font-family: var(--font-sekunder);
}
.title-list.detail {
  font-family: var(--font-sekunder);
}
.direction span {
  font-family: var(--font-sekunder);
  font-size: 1.1rem;
  font-weight: 400;
  max-width: 630px;
}

.room-card p.description {
  overflow: hidden;
  position: relative;
  line-height: 1.6em;
  max-height: 6.4em;
  cursor: pointer;
}

.room-card p.description::after {
  content: "... More";
  position: absolute;
  bottom: 0;
  right: 0;
  background-color: var(--warna-aksen);
  padding: 0 5px;
  color: var(--warna-primer);
  font-weight: bold;
  cursor: pointer;
}
#content-menu .list-discover li a.active {
  background-color: var(--warna-sekunder);
  color: var(--warna-aksen);
  border-color: var(--warna-sekunder);
}

#list-room .room-card p.description::after {
  background-color: var(--warna-latar);
}

#list-room h3 {
  line-height: 1;
}
#list-room .sub-title-card {
  font-family: var(--font-sekunder);
  letter-spacing: 2px !important;
  font-size: 0.9rem;
}
#list-room a.secondary {
  min-width: 0;
}
#list-room a.secondary:hover {
  background-color: var(--warna-latar);
  color: var(--warna-primer);
}

#list-room .link-detail {
  text-decoration: none;
  color: var(--warna-sekunder);
}
#list-room .link-detail:hover {
  color: var(--warna-sekunder);
}

#list-meeting-events .room-card p.description::after {
  background-color: var(--warna-latar);
}

#list-meeting-events h3 {
  line-height: 1;
}
#list-meeting-events .sub-title-card {
  font-family: var(--font-sekunder);
  letter-spacing: 2px !important;
  font-size: 0.9rem;
}
#list-meeting-events a.secondary {
  min-width: 0;
}
#list-meeting-events a.secondary:hover {
  background-color: var(--warna-latar);
  color: var(--warna-primer);
}

#list-meeting-events .link-detail {
  text-decoration: none;
  color: var(--warna-sekunder);
}
#list-meeting-events .link-detail:hover {
  color: var(--warna-sekunder);
}

#detail-me-title {
  font-family: var(--font-utama) !important;
}

#list-destination[slide-page="index"] .slide-card.single-content {
  max-height: fit-content !important;
}
.slide-card.single-content {
  position: relative;
  max-height: 250px;
  cursor: pointer;
  overflow: hidden;
  @media (max-width: 480px) {
    max-height: auto;
  }
}
.slide-card.single-content img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.single-content .title-list {
  font-size: 1rem !important;
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: auto;
  bottom: 35px;
  width: fit-content;
  height: fit-content;
  text-align: center;
  color: var(--warna-latar) !important;
  font-family: var(--font-sekunder) !important;
  font-weight: 700 !important;
}

.content-destination {
  gap: 0;
}
.description-destination {
  font-size: 1rem;
  font-family: var(--font-sekunder);
  font-weight: 400;
  text-align: justify;
}

.wrap-times span {
  font-size: 1rem;
  font-family: var(--font-sekunder);
}
.wrap-times span:nth-child(1) {
  font-weight: 600;
}
.sub-nav-page {
  position: sticky;
  top: 0;
  left: 0;
  background: white;
  padding-top: 0;
}
.sub-nav-page.is-scrolled {
  padding-top: 90px;
}
.skeleton-loading {
  background: #d2d2d2;
  width: 100%;
  animation: skeleton-fade 1.5s infinite;
  color: #d2d2d2;
  border-radius: 5px;
}
.skeleton-loading.img {
  width: 100%;
  min-height: 350px;
  background-color: #d2d2d2;
  margin-bottom: 10px;
}
.room-card p.description.skeleton-loading::after {
  display: none;
}
@keyframes skeleton-fade {
  0% {
    opacity: 0.6;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.6;
  }
}

.promo-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10000;
}

.promo-modal-content {
  background: #fff;
  width: 90%;
  max-width: 450px;
  padding: 25px;
  position: relative;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.promo-close-icon {
  position: absolute;
  top: 15px;
  right: 15px;
  font-size: 24px;
  color: #999;
  cursor: pointer;
}

.promo-title {
  color: #7a7369;
  font-size: 20px;
  margin: 0 0 15px 0;
  font-weight: bold;
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
}

.promo-image {
  width: 100%;
  height: auto;
  margin-bottom: 15px;
}

.promo-desc {
  font-size: 15px;
  color: #444;
  margin-bottom: 25px;
  text-align: center;
}

.promo-footer {
  display: flex;
  gap: 10px;
}

.promo-btn {
  flex: 1;
  padding: 12px;
  border: none;
  text-align: center;
  text-decoration: none;
  font-size: 14px;
  cursor: pointer;
  font-weight: bold;
}

.btn-close {
  background-color: #bdbdbd;
  color: white;
}

.btn-action {
  background-color: #7a7369;
  color: white;
}

.modal-sm {
  scrollbar-width: none !important;
}

#list-promotions .slide-card {
  display: flex;
  align-items: center;
}

@media (max-width: 480px) {
  .promo-btn.btn-close {
    position: absolute;
    left: auto;
    right: 2vh;
    top: 28px;
  }
}
