@font-face {
  font-family: "White Villa Script";
  src: url("../fonts/brand/Vivaldi.ttf") format("truetype");
  font-display: swap;
}

:root {
  --wv-gold: #a48f69;
  --wv-gold-deep: #8b7652;
  --wv-charcoal: #363636;
  --wv-ivory: #f8f5ef;
  --wv-white: #ffffff;
}

html { scroll-behavior: smooth; }
body { color: var(--wv-charcoal); background-color: var(--wv-ivory); }
::selection { color: var(--wv-white); background: var(--wv-gold); }

.offer-topbar,
.primary-btn1,
.primary-btn1.two,
.primary-btn1.bg-color-btn,
.footer-section { background-color: var(--wv-charcoal) !important; }

.header-offer-topbar-wrap header { border-color: rgba(164, 143, 105, 0.35) !important; }
.header-logo {
  width: 176px;
  height: 90px;
  overflow: hidden;
  display: grid !important;
  place-items: center;
}
.header-logo img {
  width: 50px !important;
  max-height: none;
  object-fit: contain;
  transform: scale(2.15);
}
.mobile-logo-wrap {
  width: 150px;
  height: 105px;
  overflow: hidden;
  display: grid !important;
  place-items: center;
}
.mobile-logo-wrap img {
  width: 150px !important;
  max-height: none;
  object-fit: contain;
  transform: scale(2.15);
}
.footer-logo-area .footer-logo { width: 190px; max-height: 190px; object-fit: contain; }

.main-menu .menu-list > li > a:hover,
.main-menu .menu-list > li.active > a,
.section-title span,
.section-title h2 span,
a:hover,
.room-and-suites-card .hover-content a,
.footer-section a:hover { color: var(--wv-gold) !important; }

.home1-banner-section { position: relative; }
.home1-banner-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(27, 25, 22, 0.58), rgba(27, 25, 22, 0.08));
}
.home1-banner-section .banner-content-wrap,
.home1-banner-section .slider-btn { z-index: 2; }
.home1-banner-section .banner-content-wrap {
  opacity: 1 !important;
  visibility: visible !important;
  animation: none !important;
}
.home1-banner-section .banner-content h1 {
  max-width: 850px;
  color: var(--wv-white);
  letter-spacing: -0.02em;
  text-shadow: 0 3px 24px rgba(0, 0, 0, 0.28);
}
.home1-banner-section .banner-content h1 em {
  display: block;
  font-family: "White Villa Script", Georgia, serif;
  font-size: 1.18em;
  font-weight: 400;
}

.home1-about-section,
.home1-room-and-suites-section,
.home1-testimonial-section { background-color: var(--wv-ivory) !important; }

.home1-about-section { position: relative; overflow: hidden; padding-top: 100px; padding-bottom: 100px; }
.home1-about-section::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.055;
  pointer-events: none;
  background: url("../img/brand/white-villa-patron.png") left / 820px repeat;
}

.section-title h2,
.room-details-area .section-title h1,
.room-and-suites-card h3,
.footer-section h2,
.footer-section h5 { color: var(--wv-charcoal); }
.primary-btn1:hover,
.primary-btn1.two:hover { background-color: var(--wv-gold) !important; }
.room-and-suites-card,
.home1-feature-card,
.home1-blog-card { border-color: rgba(164, 143, 105, 0.35) !important; }

.footer-section { position: relative; overflow: hidden; }
.footer-section::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.045;
  pointer-events: none;
  background: url("../img/brand/white-villa-patron.png") center / 500px repeat;
}
.footer-section .container,
.footer-section .footer-menu,
.footer-section .footer-bottom { position: relative; z-index: 1; }
.footer-section .section-title p,
.footer-section h2,
.footer-section h5,
.footer-section li,
.footer-section a,
.footer-section p { color: var(--wv-white) !important; }

@media (max-width: 1199px) {
  .header-logo { width: 145px; }
  .header-logo img { width: 145px !important; }
}
@media (max-width: 767px) {
  .home1-banner-section .banner-content h1 {
    font-size: clamp(42px, 12vw, 64px);
    line-height: 1.02;
  }
}
