/* ============================================================
   LAVINRICH HOTEL — PREMIUM DESIGN ENHANCEMENT
   WOW-factor upgrade: glassmorphism, luxury palette, micro-animations
   ============================================================ */

/* ---- Google Fonts ---- */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800&family=Inter:wght@300;400;500;600;700&family=Dancing+Script:wght@600;700&display=swap');

/* ---- CSS Variables Override ---- */
:root {
  --gold:          #C9A84C;
  --gold-light:    #E8C97A;
  --gold-dark:     #9B7A2F;
  --cream:         #FAF7F2;
  --dark:          #0C0D0F;
  --dark-2:        #14161A;
  --dark-3:        #1E2128;
  --charcoal:      #2C2F36;
  --text-light:    #F5F0E8;
  --text-muted:    #9A9DA6;
  --glass-bg:      rgba(255,255,255,0.08);
  --glass-border:  rgba(255,255,255,0.15);
  --shadow-gold:   0 20px 60px rgba(201,168,76,0.25);
  --shadow-dark:   0 20px 60px rgba(0,0,0,0.4);
  --primary-color: #C9A84C;
}

/* ---- Global Typography ---- */
body {
  font-family: 'Inter', sans-serif !important;
  background: #FAFAF8;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', serif !important;
  letter-spacing: -0.01em;
}

/* ---- Preloader — Gold Spin ---- */
.theme-loader {
  background: linear-gradient(135deg, #0C0D0F 0%, #1E1A0E 100%) !important;
}
.double-bounce1,
.double-bounce2 {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%) !important;
}

/* ================================================================
   HEADER — Glassmorphic luxury nav
   ================================================================ */
.header__sticky {
  z-index: 9999;
}

.header__area {
  background: rgba(12, 13, 15, 0.85) !important;
  backdrop-filter: blur(20px) saturate(1.8) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.8) !important;
  border-bottom: 1px solid rgba(201,168,76,0.2) !important;
  transition: all 0.4s ease !important;
  padding: 0 !important;
}

.sticky .header__area,
.header__area.sticky {
  background: rgba(10, 10, 12, 0.95) !important;
  box-shadow: 0 4px 40px rgba(0,0,0,0.5) !important;
}

/* Nav Logo */
.logo-text {
  font-family: 'Dancing Script', cursive !important;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  background: linear-gradient(135deg, #C9A84C 0%, #F0D080 50%, #C9A84C 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  text-shadow: none !important;
  letter-spacing: 0.02em !important;
}

.logo-text:hover {
  background: linear-gradient(135deg, #F0D080 0%, #C9A84C 50%, #F0D080 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  filter: drop-shadow(0 0 20px rgba(201,168,76,0.6)) !important;
  transform: scale(1.03) !important;
}

/* Nav Links */
.header__area-menubar-right-menu ul li a {
  color: #E8E0D0 !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  position: relative !important;
  padding-bottom: 4px !important;
  transition: color 0.3s ease !important;
}

.header__area-menubar-right-menu ul li a::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, var(--gold) 0%, var(--gold-light) 100%) !important;
  border-radius: 99px !important;
  transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.header__area-menubar-right-menu ul li a:hover,
.header__area-menubar-right-menu ul li a.active {
  color: var(--gold-light) !important;
}

.header__area-menubar-right-menu ul li a:hover::after,
.header__area-menubar-right-menu ul li a.active::after {
  width: 100% !important;
}

/* ---- Book Now Button ---- */
.theme-btn {
  background: linear-gradient(135deg, #C9A84C 0%, #F0D080 50%, #C9A84C 100%) !important;
  background-size: 200% 200% !important;
  color: #0C0D0F !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 4px !important;
  border: none !important;
  padding: 14px 36px !important;
  position: relative !important;
  overflow: hidden !important;
  transition: all 0.4s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

.theme-btn i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

.theme-btn::before,
.theme-btn::after {
  background: #0C0D0F !important;
}

.theme-btn:hover {
  color: var(--gold-light) !important;
  box-shadow: 0 8px 30px rgba(201,168,76,0.5) !important;
  transform: translateY(-2px) !important;
  background-position: right center !important;
}

.theme-border-btn {
  border: 1.5px solid var(--gold) !important;
  color: var(--gold) !important;
  background: transparent !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 4px !important;
  padding: 12px 32px !important;
  transition: all 0.35s ease !important;
}

.theme-border-btn:hover {
  background: var(--gold) !important;
  color: #0C0D0F !important;
  box-shadow: 0 8px 30px rgba(201,168,76,0.4) !important;
}

/* Subtitle pill */
.subtitle__one {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  background: rgba(201,168,76,0.1) !important;
  border: 1px solid rgba(201,168,76,0.3) !important;
  padding: 6px 16px !important;
  border-radius: 99px !important;
  display: inline-block !important;
  margin-bottom: 14px !important;
}

/* ================================================================
   HERO BANNER — Full-screen cinematic
   ================================================================ */
.banner__area {
  min-height: 100vh !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}

.banner__area::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    160deg,
    rgba(12,13,15,0.75) 0%,
    rgba(12,13,15,0.4) 50%,
    rgba(12,13,15,0.7) 100%
  ) !important;
  z-index: 1 !important;
}

.banner__area .container {
  position: relative !important;
  z-index: 2 !important;
}

.banner__area-title {
  padding-top: 80px !important;
  animation: heroBannerFade 1.2s cubic-bezier(0.4,0,0.2,1) both !important;
}

.banner__area-title h1 {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(52px, 7vw, 110px) !important;
  font-weight: 800 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.02em !important;
  color: #FFFFFF !important;
  text-shadow: 0 4px 40px rgba(0,0,0,0.6) !important;
}

.banner__area-title h1 span {
  display: block !important;
  background: linear-gradient(90deg, #C9A84C 0%, #F0D080 40%, #E8C97A 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  text-shadow: none !important;
  filter: drop-shadow(0 0 40px rgba(201,168,76,0.4)) !important;
}

.banner__area-title h1::after {
  background: linear-gradient(90deg, #C9A84C 0%, rgba(240,208,128,0) 100%) !important;
  height: 4px !important;
  border-radius: 4px !important;
}

@keyframes heroBannerFade {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Scroll indicator */
.banner__area::after {
  content: '' !important;
  position: absolute !important;
  bottom: 40px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 1px !important;
  height: 60px !important;
  background: linear-gradient(to bottom, rgba(201,168,76,0.8), transparent) !important;
  z-index: 2 !important;
  animation: scrollLine 2s ease-in-out infinite !important;
}

@keyframes scrollLine {
  0%   { opacity: 0; transform: translateX(-50%) translateY(-10px); }
  50%  { opacity: 1; }
  100% { opacity: 0; transform: translateX(-50%) translateY(10px); }
}

/* ================================================================
   ACCOMMODATIONS SECTION
   ================================================================ */
.accommodations__area {
  background: linear-gradient(135deg, #FAF7F2 0%, #F5EDD8 100%) !important;
  position: relative !important;
  overflow: hidden !important;
}

.accommodations__area::before {
  content: '"' !important;
  position: absolute !important;
  top: -60px !important;
  left: -20px !important;
  font-family: 'Playfair Display', serif !important;
  font-size: 400px !important;
  color: rgba(201,168,76,0.05) !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

.accommodations__area-title h2 {
  font-family: 'Playfair Display', serif !important;
  color: #0C0D0F !important;
  font-size: clamp(32px, 4vw, 52px) !important;
  line-height: 1.15 !important;
}

.accommodations__area-right-image > img,
.accommodations__area-right-image-two img {
  border-radius: 16px !important;
  box-shadow: 0 30px 80px rgba(0,0,0,0.2) !important;
  transition: transform 0.6s cubic-bezier(0.4,0,0.2,1) !important;
}

.accommodations__area-right-image:hover > img,
.accommodations__area-right-image:hover .accommodations__area-right-image-two img {
  transform: scale(1.03) !important;
}

/* ================================================================
   VILLA AMENITIES — Deluxe Cards
   ================================================================ */
.deluxe__area {
  background: #FAFAF8 !important;
}

.deluxe__area-item {
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
  transition: all 0.45s cubic-bezier(0.4,0,0.2,1) !important;
  border: 1px solid rgba(201,168,76,0.1) !important;
}

.deluxe__area-item:hover {
  transform: translateY(-12px) !important;
  box-shadow: 0 30px 60px rgba(201,168,76,0.2) !important;
  border-color: rgba(201,168,76,0.4) !important;
}

.deluxe__area-item-image {
  overflow: hidden !important;
  position: relative !important;
}

.deluxe__area-item-image::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(12,13,15,0.6) 0%, transparent 60%) !important;
  opacity: 0 !important;
  transition: opacity 0.4s ease !important;
}

.deluxe__area-item:hover .deluxe__area-item-image::after {
  opacity: 1 !important;
}

.deluxe__area-item-image img {
  transition: transform 0.7s cubic-bezier(0.4,0,0.2,1) !important;
  height: 260px !important;
  object-fit: cover !important;
  width: 100% !important;
}

.deluxe__area-item:hover .deluxe__area-item-image img {
  transform: scale(1.12) !important;
}

.deluxe__area-item-content {
  padding: 18px 20px 20px !important;
  background: #fff !important;
}

.deluxe__area-item-content h4 a {
  font-family: 'Playfair Display', serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #0C0D0F !important;
  transition: color 0.3s !important;
}

.deluxe__area-item:hover .deluxe__area-item-content h4 a {
  color: var(--gold) !important;
}

/* Filter Buttons */
.deluxe__area-btn ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  list-style: none !important;
  padding: 0 !important;
  justify-content: flex-end !important;
}

.deluxe__area-btn ul li {
  padding: 10px 24px !important;
  border-radius: 99px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  border: 1.5px solid rgba(201,168,76,0.3) !important;
  color: #555 !important;
  transition: all 0.3s ease !important;
}

.deluxe__area-btn ul li:hover,
.deluxe__area-btn ul li.active {
  background: var(--gold) !important;
  color: #fff !important;
  border-color: var(--gold) !important;
  box-shadow: 0 6px 20px rgba(201,168,76,0.35) !important;
}

/* ================================================================
   FACILITIES STRIP — Gold gradient icons
   ================================================================ */
.facilities__area {
  background: linear-gradient(135deg, #0C0D0F 0%, #1A1508 100%) !important;
  position: relative !important;
  overflow: hidden !important;
}

.facilities__area::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='dots' width='60' height='60' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='30' cy='30' r='1' fill='rgba(201,168,76,0.08)'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='60' height='60' fill='url(%23dots)'/%3E%3C/svg%3E") !important;
  pointer-events: none !important;
}

.facilities__area-title h2 {
  color: #FAF7F2 !important;
}

.facilities__area-item-icon i {
  color: var(--gold) !important;
  font-size: 36px !important;
}

.facilities__area-item-content h6 {
  color: #E8E0D0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.facilities__area-item:hover {
  transform: translateY(-6px) !important;
}

.facilities__area-item:hover .facilities__area-item-icon i {
  color: var(--gold-light) !important;
  filter: drop-shadow(0 0 12px rgba(201,168,76,0.7)) !important;
}

.facilities__area-item:hover .facilities__area-item-content h6 {
  color: var(--gold-light) !important;
}

/* ================================================================
   VIDEO / CTA BANNER
   ================================================================ */
.video__area {
  position: relative !important;
  background-size: cover !important;
  background-attachment: fixed !important;
}

.video__area::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(135deg, rgba(12,13,15,0.82) 0%, rgba(30,25,8,0.75) 100%) !important;
}

.video__area-title {
  position: relative !important;
  z-index: 2 !important;
}

.video__area-title h2 {
  color: #FAF7F2 !important;
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(26px, 3.5vw, 48px) !important;
  line-height: 1.25 !important;
  font-style: italic !important;
}

/* ================================================================
   WHO WE ARE SECTION
   ================================================================ */
.who-we-are__area {
  background: linear-gradient(135deg, #FAF7F2 0%, #F0EAD8 100%) !important;
  position: relative !important;
}

.who-we-are__area-left-title h2 {
  font-family: 'Playfair Display', serif !important;
  color: #0C0D0F !important;
  font-size: clamp(28px, 3vw, 44px) !important;
}

.who-we-are__area-left-title p {
  font-family: 'Inter', sans-serif !important;
  color: #5A5A5A !important;
  line-height: 1.9 !important;
  font-size: 15px !important;
}

.feature-item {
  padding: 12px 16px !important;
  background: rgba(201,168,76,0.06) !important;
  border-radius: 10px !important;
  border: 1px solid rgba(201,168,76,0.15) !important;
  margin-bottom: 12px !important;
  transition: all 0.3s ease !important;
}

.feature-item:hover {
  background: rgba(201,168,76,0.12) !important;
  border-color: rgba(201,168,76,0.35) !important;
  transform: translateX(4px) !important;
}

.feature-item i {
  color: var(--gold) !important;
  font-size: 16px !important;
}

.who-we-are__area-map {
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 30px 80px rgba(0,0,0,0.2) !important;
  border: 3px solid rgba(201,168,76,0.3) !important;
}

/* ================================================================
   BOOKING PLATFORMS
   ================================================================ */
.booking-platforms__area {
  background: linear-gradient(135deg, #0C0D0F 0%, #1A1508 100%) !important;
}

.booking-platforms__area-title h2 {
  color: #FAF7F2 !important;
}

.booking-platforms__area-title p {
  color: rgba(240,208,128,0.7) !important;
}

.booking-platform-card {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
  backdrop-filter: blur(10px) !important;
  transition: all 0.45s cubic-bezier(0.4,0,0.2,1) !important;
  border-radius: 20px !important;
}

.booking-platform-card:hover {
  background: rgba(201,168,76,0.1) !important;
  border-color: rgba(201,168,76,0.5) !important;
  transform: translateY(-12px) !important;
  box-shadow: 0 30px 60px rgba(0,0,0,0.4) !important;
}

.platform-content h3 {
  color: #FAF7F2 !important;
}

.platform-content p {
  color: rgba(240,208,128,0.65) !important;
}

.platform-badge {
  background: rgba(201,168,76,0.15) !important;
  color: var(--gold-light) !important;
  border: 1px solid rgba(201,168,76,0.3) !important;
}

.booking-platform-card:hover .platform-badge {
  background: var(--gold) !important;
  color: #0C0D0F !important;
}

.platform-arrow {
  background: rgba(201,168,76,0.15) !important;
  color: var(--gold) !important;
}

.booking-platform-card:hover .platform-arrow {
  background: var(--gold) !important;
  color: #0C0D0F !important;
}

/* ================================================================
   EVENTS SECTION
   ================================================================ */
.nearby__card-link {
  display: block !important;
  color: inherit !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.nearby__card-link:hover,
.nearby__card-link:focus,
.nearby__card-link:visited {
  color: inherit !important;
  text-decoration: none !important;
}

.nearby__card {
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 30px rgba(0,0,0,0.08) !important;
  background: #fff !important;
  border: 1px solid rgba(201,168,76,0.1) !important;
  transition: all 0.45s cubic-bezier(0.4,0,0.2,1) !important;
}

.nearby__card-link:hover .nearby__card,
.nearby__card-link:focus .nearby__card {
  transform: translateY(-10px) !important;
  box-shadow: 0 25px 60px rgba(201,168,76,0.2) !important;
  border-color: rgba(201,168,76,0.35) !important;
}

.nearby__card-content {
  position: relative !important;
}

.nearby__card-directions {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 12px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  color: var(--gold) !important;
  opacity: 0.85 !important;
  transition: opacity 0.3s ease, gap 0.3s ease !important;
}

.nearby__card-link:hover .nearby__card-directions,
.nearby__card-link:focus .nearby__card-directions {
  opacity: 1 !important;
  gap: 9px !important;
}

.nearby__card-image img {
  height: 220px !important;
  object-fit: cover !important;
  width: 100% !important;
  transition: transform 0.6s cubic-bezier(0.4,0,0.2,1) !important;
}

.nearby__card:hover .nearby__card-image img {
  transform: scale(1.1) !important;
}

.nearby__card-content {
  padding: 20px 18px !important;
}

.nearby__card-content h5 {
  font-family: 'Playfair Display', serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #0C0D0F !important;
  margin-bottom: 10px !important;
}

.nearby__card-content ul li i {
  color: var(--gold) !important;
}

/* ================================================================
   REVIEWS SECTION
   ================================================================ */
.reviews__area {
  background: linear-gradient(135deg, #FAF7F2 0%, #F0EAD8 100%) !important;
}

.review-card {
  background: #fff !important;
  border: 1px solid rgba(201,168,76,0.15) !important;
  border-radius: 20px !important;
  box-shadow: 0 10px 40px rgba(0,0,0,0.08) !important;
  padding: 30px !important;
  transition: all 0.4s ease !important;
}

.review-card:hover {
  box-shadow: 0 20px 60px rgba(201,168,76,0.2) !important;
  border-color: rgba(201,168,76,0.35) !important;
  transform: translateY(-4px) !important;
}

.review-stars {
  color: var(--gold) !important;
}

.review-text {
  font-family: 'Playfair Display', serif !important;
  font-size: 16px !important;
  line-height: 1.85 !important;
  color: #3A3A3A !important;
  font-style: italic !important;
}

.review-avatar {
  border: 2px solid var(--gold) !important;
  box-shadow: 0 0 0 4px rgba(201,168,76,0.15) !important;
}

/* ================================================================
   FOOTER — Dark luxury
   ================================================================ */
.footer__area {
  background: linear-gradient(135deg, #0C0D0F 0%, #14120A 100%) !important;
  border-top: 1px solid rgba(201,168,76,0.2) !important;
  position: relative !important;
  overflow: hidden !important;
}

.footer__area::before {
  content: '' !important;
  position: absolute !important;
  top: -200px !important;
  right: -200px !important;
  width: 500px !important;
  height: 500px !important;
  background: radial-gradient(circle, rgba(201,168,76,0.06) 0%, transparent 70%) !important;
  pointer-events: none !important;
}

.footer__area-widget h5 {
  color: var(--gold-light) !important;
  font-family: 'Playfair Display', serif !important;
  font-size: 16px !important;
  letter-spacing: 0.05em !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(201,168,76,0.2) !important;
  margin-bottom: 20px !important;
}

.footer__area-widget-about p {
  color: #9A9DA6 !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

.footer__area-widget-about-social ul li a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(201,168,76,0.3) !important;
  color: rgba(201,168,76,0.8) !important;
  font-size: 14px !important;
  transition: all 0.3s ease !important;
}

.footer__area-widget-about-social ul li a:hover {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: #0C0D0F !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 20px rgba(201,168,76,0.4) !important;
}

.footer__area-widget-contact-item-icon i {
  color: var(--gold) !important;
}

.footer__area-widget-contact-item-content span a {
  color: #9A9DA6 !important;
  font-size: 14px !important;
  transition: color 0.3s !important;
}

.footer__area-widget-contact-item-content span a:hover {
  color: var(--gold-light) !important;
}

.footer__area-widget-menu ul li a {
  color: #9A9DA6 !important;
  font-size: 14px !important;
  transition: all 0.3s !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 5px 0 !important;
}

.footer__area-widget-menu ul li a:hover {
  color: var(--gold-light) !important;
  transform: translateX(6px) !important;
}

.footer__area-widget-menu ul li a i {
  color: var(--gold) !important;
  font-size: 10px !important;
}

.footer__area-widget-subscribe form {
  display: flex !important;
  gap: 0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  border: 1px solid rgba(201,168,76,0.3) !important;
}

.footer__area-widget-subscribe input {
  background: rgba(255,255,255,0.05) !important;
  border: none !important;
  color: #E8E0D0 !important;
  padding: 14px 18px !important;
  font-size: 14px !important;
  flex: 1 !important;
  height: auto !important;
}

.footer__area-widget-subscribe input::placeholder {
  color: rgba(255,255,255,0.3) !important;
}

.footer__area-widget-subscribe button {
  background: var(--gold) !important;
  color: #0C0D0F !important;
  padding: 14px 20px !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 16px !important;
  cursor: pointer !important;
  transition: background 0.3s !important;
}

.footer__area-widget-subscribe button:hover {
  background: var(--gold-light) !important;
}

.copyright__area {
  border-top: 1px solid rgba(201,168,76,0.1) !important;
  background: rgba(0,0,0,0.3) !important;
  padding: 18px 0 !important;
}

.copyright__area-left p {
  color: #666 !important;
  font-size: 13px !important;
}

.copyright__area-right ul li a {
  color: #666 !important;
  font-size: 13px !important;
  transition: color 0.3s !important;
}

.copyright__area-right ul li a:hover {
  color: var(--gold) !important;
}

/* ================================================================
   BOOKING MODAL — Premium
   ================================================================ */
.booking-modal-content {
  border-radius: 24px !important;
  overflow: hidden !important;
}

.booking-header {
  background: linear-gradient(135deg, #0C0D0F 0%, #1A1508 100%) !important;
  color: #FAF7F2 !important;
  border-bottom: 1px solid rgba(201,168,76,0.2) !important;
}

.booking-header h2 {
  color: var(--gold-light) !important;
  font-family: 'Playfair Display', serif !important;
}

.booking-header p {
  color: rgba(240,208,128,0.6) !important;
}

.section-label {
  color: #0C0D0F !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
}

.section-label i {
  color: var(--gold) !important;
}

.submit-booking-btn {
  background: linear-gradient(135deg, #25D366 0%, #128C7E 100%) !important;
  border-radius: 10px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
}

.mobile-fab-book {
  background: linear-gradient(135deg, #C9A84C 0%, #F0D080 100%) !important;
  color: #0C0D0F !important;
  border-radius: 999px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 800 !important;
  box-shadow: 0 8px 30px rgba(201,168,76,0.5) !important;
}

/* ================================================================
   PAGE BANNER (inner pages)
   ================================================================ */
.page__banner {
  position: relative !important;
}

.page__banner::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(135deg, rgba(12,13,15,0.8) 0%, rgba(30,25,8,0.7) 100%) !important;
  z-index: 1 !important;
}

.page__banner .container {
  position: relative !important;
  z-index: 2 !important;
}

.page__banner-title h1 {
  font-family: 'Playfair Display', serif !important;
  color: #FAF7F2 !important;
}

.page__banner-title-menu ul li a {
  color: var(--gold-light) !important;
}

.page__banner-title-menu ul li span {
  color: rgba(255,255,255,0.5) !important;
}

/* ================================================================
   PACKAGES PAGE
   ================================================================ */
.pkg-card {
  border-radius: 20px !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
  background: #fff !important;
  box-shadow: 0 8px 30px rgba(0,0,0,0.08) !important;
  transition: all 0.45s cubic-bezier(0.4,0,0.2,1) !important;
  overflow: hidden !important;
}

.pkg-card:hover {
  transform: translateY(-12px) !important;
  box-shadow: 0 30px 70px rgba(201,168,76,0.2) !important;
  border-color: rgba(201,168,76,0.5) !important;
}

.pkg-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 26px !important;
}

.pkg-price-badge {
  background: linear-gradient(135deg, rgba(201,168,76,0.95), rgba(240,208,128,0.95)) !important;
  color: #0C0D0F !important;
  border-radius: 999px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 800 !important;
}

.pkg-badge {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}

.pkg-feature i {
  color: var(--gold) !important;
}

/* ================================================================
   SCROLL UP BUTTON
   ================================================================ */
.scroll-up {
  box-shadow: inset 0 0 0 2px rgba(201,168,76,0.4) !important;
}

.scroll-up::after {
  color: var(--gold) !important;
}

.scroll-up svg.scroll-circle path {
  stroke: var(--gold) !important;
}

/* ================================================================
   ANIMATIONS — Scroll-reveal on sections
   ================================================================ */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInLeft {
  from { opacity: 0; transform: translateX(-30px); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(30px); }
  to   { opacity: 1; transform: translateX(0); }
}

.section-padding {
  padding: 110px 0 !important;
}

/* ================================================================
   STATS / COUNTERS (if present)
   ================================================================ */
.counter__area {
  background: linear-gradient(135deg, #C9A84C 0%, #F0D080 100%) !important;
}

/* ================================================================
   GALLERY PAGE
   ================================================================ */
.gallery__area-item {
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 25px rgba(0,0,0,0.1) !important;
  transition: all 0.4s ease !important;
}

.gallery__area-item:hover {
  transform: scale(1.03) !important;
  box-shadow: 0 20px 50px rgba(201,168,76,0.25) !important;
}

/* ================================================================
   CONTACT PAGE
   ================================================================ */
.contact__area-form input,
.contact__area-form textarea,
.contact__area-form select {
  border-radius: 10px !important;
  border: 1.5px solid rgba(201,168,76,0.25) !important;
  transition: border-color 0.3s, box-shadow 0.3s !important;
}

.contact__area-form input:focus,
.contact__area-form textarea:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(201,168,76,0.15) !important;
}

/* ================================================================
   UTILITY — Golden divider
   ================================================================ */
.gold-divider {
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, var(--gold) 0%, var(--gold-light) 100%);
  border-radius: 99px;
  margin: 16px 0;
}

/* ================================================================
   MOBILE FAB PULSE EFFECT
   ================================================================ */
@media (max-width: 991px) {
  .mobile-fab-book {
    animation: fabPulse 2.5s infinite !important;
  }
}

@keyframes fabPulse {
  0%, 100% { box-shadow: 0 8px 30px rgba(201,168,76,0.5); }
  50%       { box-shadow: 0 8px 50px rgba(201,168,76,0.8), 0 0 0 10px rgba(201,168,76,0.1); }
}

/* ================================================================
   RESPONSIVE TWEAKS
   ================================================================ */
@media (max-width: 991px) {
  .banner__area-title h1 {
    font-size: clamp(38px, 8vw, 68px) !important;
  }
}

@media (max-width: 575px) {
  .section-padding {
    padding: 80px 0 !important;
  }
  .banner__area-title h1 {
    font-size: clamp(30px, 10vw, 50px) !important;
  }
}

/* ================================================================
   GALLERY PAGE — Premium filter buttons
   ================================================================ */
.gallery__filter-btn {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 99px !important;
  padding: 10px 24px !important;
  border: 1.5px solid rgba(201,168,76,0.3) !important;
  color: #555 !important;
  background: #fff !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.06) !important;
}

.gallery__filter-btn:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
  box-shadow: 0 6px 20px rgba(201,168,76,0.2) !important;
}

.gallery__filter-btn.active {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: #0C0D0F !important;
  box-shadow: 0 8px 25px rgba(201,168,76,0.4) !important;
}

.gallery__card {
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.12) !important;
  transition: all 0.4s cubic-bezier(0.4,0,0.2,1) !important;
}

.gallery__card:hover {
  box-shadow: 0 20px 60px rgba(201,168,76,0.25) !important;
  transform: translateY(-6px) !important;
}

/* ================================================================
   CONTACT PAGE
   ================================================================ */
.contact__area-info-item {
  border-radius: 16px !important;
  border: 1px solid rgba(201,168,76,0.15) !important;
  transition: all 0.3s ease !important;
}

.contact__area-info-item:hover {
  border-color: rgba(201,168,76,0.4) !important;
  box-shadow: 0 10px 40px rgba(201,168,76,0.15) !important;
  transform: translateY(-4px) !important;
}

.contact__area-info-item-icon i {
  color: var(--gold) !important;
}

/* ================================================================
   ABOUT PAGE
   ================================================================ */
.team__area-item {
  border-radius: 16px !important;
  overflow: hidden !important;
  transition: all 0.4s ease !important;
  border: 1px solid rgba(201,168,76,0.1) !important;
}

.team__area-item:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 50px rgba(201,168,76,0.2) !important;
  border-color: rgba(201,168,76,0.35) !important;
}

/* ================================================================
   EVENTS PAGE
   ================================================================ */
.event__card {
  border-radius: 16px !important;
  overflow: hidden !important;
  border: 1px solid rgba(201,168,76,0.12) !important;
  transition: all 0.4s ease !important;
}

.event__card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 60px rgba(201,168,76,0.2) !important;
  border-color: rgba(201,168,76,0.4) !important;
}

/* ================================================================
   GLOBAL BUTTON INTERACTIVITY
   ================================================================ */
button, 
.btn, 
.theme-btn, 
.submit-booking-btn, 
a.btn, 
input[type="submit"], 
input[type="button"], 
.slider-btn,
.logout-btn {
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  cursor: pointer;
}

button:hover:not(:disabled), 
.btn:hover:not(:disabled), 
.theme-btn:hover:not(:disabled), 
.submit-booking-btn:hover:not(:disabled), 
a.btn:hover:not(:disabled), 
input[type="submit"]:hover:not(:disabled), 
input[type="button"]:hover:not(:disabled),
.slider-btn:hover,
.logout-btn:hover {
  transform: translateY(-2px) scale(1.03) !important;
  box-shadow: 0 10px 25px rgba(0,0,0,0.15) !important;
}

button:active:not(:disabled), 
.btn:active:not(:disabled), 
.theme-btn:active:not(:disabled), 
.submit-booking-btn:active:not(:disabled), 
a.btn:active:not(:disabled), 
input[type="submit"]:active:not(:disabled), 
input[type="button"]:active:not(:disabled),
.slider-btn:active,
.logout-btn:active {
  transform: translateY(1px) scale(0.97) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
}

