/* Font definitions */
@font-face {
  font-family: "Vremena Grotesk";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: local("Vremena Grotesk Book"), local("VremenaGrotesk-Book");
}
@font-face {
  font-family: "Vremena Grotesk";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: local("Vremena Grotesk Bold"), local("VremenaGrotesk-Bold");
}

/* Base Body Styles */
body {
  background-color: var(--bg);
  color: var(--ink);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
}

/* Hero overlay gradient */
.hero-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(42, 26, 18, 0.84) 0%, rgba(42, 26, 18, 0.504) 40%, rgba(42, 26, 18, 0) 72%),
    linear-gradient(180deg, rgba(42, 26, 18, 0.7) 0%, rgba(42, 26, 18, 0) 28%);
}

/* Intro diamond ornament */
.intro-orn {
  position: relative;
  width: min(260px, 60%);
  height: 14px;
  margin: 22px auto 32px;
  background: linear-gradient(var(--gula), var(--gula)) left center / calc(50% - 16px) 1px no-repeat,
              linear-gradient(var(--gula), var(--gula)) right center / calc(50% - 16px) 1px no-repeat;
}
.intro-orn::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 9px;
  height: 9px;
  background: var(--gula);
  transform: translate(-50%, -50%) rotate(45deg);
  box-shadow: 0 0 0 4px var(--bg);
}

/* Batik Kawung repeating ribbon */
.batik-strip {
  height: 20px;
  background: #3A2417 url("../img/batik-kawung.svg") repeat-x left center / auto 20px;
}

/* Date input styling */
input[type="date"] {
  -webkit-appearance: none;
  appearance: none;
  color-scheme: light;
  text-align: left;
}
input[type="date"]::-webkit-date-and-time-value {
  text-align: left;
  min-height: 1.2em;
  margin: 0;
}
input[type="date"]::-webkit-calendar-picker-indicator {
  background-color: transparent;
  opacity: 0.7;
  cursor: pointer;
}
input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-clear-button {
  display: none;
  -webkit-appearance: none;
}

/* Room card hover accent */
.room-card:hover h3 {
  text-decoration: underline;
  text-decoration-color: var(--gula);
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

/* FAQ accordion styling */
summary {
  list-style: none !important;
}
summary::-webkit-details-marker,
summary::marker {
  display: none !important;
}
summary::after {
  content: "";
  position: absolute;
  right: 8px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-70%) rotate(45deg);
  transition: transform 0.2s ease-in-out;
}
details[open] summary::after {
  transform: translateY(-25%) rotate(225deg);
}

/* Submenu dropdown */
.has-sub:hover .sub-menu,
.has-sub:focus-within .sub-menu {
  display: block;
}

/* Promo modal animation */
dialog[open] {
  animation: promo-in 0.28s ease-out;
}
@keyframes promo-in {
  from { opacity: 0; transform: translateY(14px) scale(0.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
dialog::backdrop {
  background: rgba(42, 26, 18, 0.64);
}
