:root {
	--brown: #2f140f;
	--accent: #082f00;
	--cream: #ffffff;
	--muted: #a89a95;
	--maxw: 1200px;
	--topbar: 34px;

	
	--deep: #2f140f;
	--card-bg: #fbf1df;
}
.enjoy-text {
  font-family: 'Great Vibes', cursive !important;
  font-size: 83px;
  font-weight: ;
  color: #ffffff;
  letter-spacing: 4px;
}

@import url('https://fonts.googleapis.com/css2?family=Alice&family=Oswald:wght@300;400;500;600&family=Montserrat:wght@400;500;600&display=swap');

h1,
h2,
h3,
h4,
h5,
h6,
.inner h1,
.section-title,
.eyebrow {
	font-family: 'Alice', serif !important;
}
.navbar {
  z-index: 1000;
}

.nav a,
.btn-res,
.title,
.book-vert,
.hamburger .bar,
.top-info,
.offcanvas nav a,
.controls label {
	font-family: 'Oswald', sans-serif !important;
	letter-spacing: 1px;
}

body,
p,
.sub,
input,
select,
.controls input,
.controls select {
	font-family: 'Montserrat', sans-serif !important;
}

* {
	box-sizing: border-box
}

html,
body {
	height: 100%
}

body {
	margin: 0;
	font-family: Montserrat, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	background: #fff;
	color: #222;
	-webkit-font-smoothing: antialiased
}

.container {
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 0 18px
}

.bg-dark.p-3.rounded img {
    height: 618px;
    object-fit: cover;
}



/* VERTICAL BOOK */
.book-vert {
	position: fixed;
	right: 0;
	top: 22%;
	width: 86px;
	height: 220px;
	background: var(--accent);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	writing-mode: vertical-rl;
	font-weight: 700;
	letter-spacing: 3px;
	cursor: pointer;
	z-index: 999;
	border-left: 4px solid rgba(0, 0, 0, .06)
}

/* HERO */
.hero-slider {
	position: relative;
	height: 620px;
	overflow: hidden
}

.slide {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0;
	transition: opacity 1.2s ease-in-out
}

.slide.active {
	opacity: 1
}

.hero-slider::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(47, 20, 15, .55), rgba(47, 20, 15, .38));
	z-index: 1
}

.inner {
	position: relative;
	z-index: 2;
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 0 18px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	flex-direction: column;
	color: var(--cream)
}

.eyebrow {
	font-family: 'Great Vibes', cursive;
	font-size: 34px;
	margin: 0
}

.inner h1 {
	font-family: 'Playfair Display', serif;
	font-size: 72px;
	margin: 0;
	line-height: 1
}

.sub {
	color: var(--cream);
	opacity: .95;
	font-size: 18px
}

/* NEW: improved arrow buttons */
.slider-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 60;
	width: 56px;
	height: 56px;
	border-radius: 10px;
	display: grid;
	place-items: center;
	background: rgba(0, 0, 0, .35);
	color: #fff;
	font-size: 26px;
	cursor: pointer;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
	border: 1px solid rgba(255, 255, 255, .06);
	transition: transform .14s ease, .14s;
	user-select: none;
}

.slider-arrow:hover {
	transform: translateY(-50%) scale(1.05);
	background: rgba(0, 0, 0, .48)
}

.slider-arrow.left {
	left: 18px
}

.slider-arrow.right {
	right: 18px
}

/* ensure arrows above vertical book button */
.slider-arrow {
	right: calc(18px + 0px);
}

.btn-res {
	border-color: #ffffff;
	width: auto;
	background-color: var(--accent) !important;
	outline: 1px solid #ffffff;
	outline-offset: -9px;
	color: #ffffff;
	font-size: 10px;
	font-weight: 400;
	padding: 1rem 1.5rem 1rem;
	transition: none;
	text-transform: uppercase;
}

/* hide on small screens */
@media (max-width:900px) {

	.book-vert {
		display: none
	}

	.inner h1 {
		font-size: 40px
	}

	.avail {
		/* margin: -70px 18px 0; */
		flex-direction: column;
		align-items: stretch
	}

	.controls input,
	.controls select {
		width: 100%
	}

	.offcanvas {
		width: 86%;
		right: -100%
	}

	.arrow {
		display: none
	}

	.hero-slider {
		height: 480px
	}

	.inner {
		padding-top: 20px;
		padding-bottom: 20px
	}

	.top-info .container {
		padding: 0 12px
	}

	.slider-arrow {
		display: none
	}
}

@media (max-width:520px) {
	.inner h1 {
		font-size: 28px
	}

	.eyebrow {
		font-size: 20px
	}
}

/* AVAIL */
.avail-wrap {
	position: relative;
	z-index: 30;
	/* margin-top: -95px; */
}

.avail {
	background: var(--accent);
	color: #fff;
	/* max-width: var(--maxw); */
	/* margin: -110px auto 0; */
	padding: 18px;
	align-items: center;
	gap: 12px;
	/* border-radius: 26px; */
	box-shadow: 0 20px 40px rgba(0, 0, 0, .25);
	position: relative;
	border-top: 3px solid rgb(255 255 255 / 98%);
}

.avail .title {
	font-weight: 700;
	letter-spacing: 2px;
	min-width: 220px
}

.controls {
	display: flex;
	gap: 0px;
	flex: 1;
	flex-wrap: wrap
}

.controls input,
.controls select {
	padding: 10px;
	border-radius: 3px;
	border: 0;
	min-width: 150px;
	background: #fff;
	color: #222
}

/* helper */
.container {
	max-width: var(--maxw);
	margin: 0 auto
}




/* Section frame */
.event-section {
	background: var(--card-bg);
	padding: 90px 0px 90px;
	color: var(--deep);
	
}

/* Column content */
.event-card {
	background: transparent;
	text-align: center;
	padding: 10px 24px;
}

.event-card .section-title {
	font-family: 'Oswald', sans-serif;
	text-transform: uppercase;
	letter-spacing: 2px;
	font-size: 22px;
	margin-bottom: 18px;
	color: var(--deep);
}

.event-card p {
	font-family: 'Montserrat', sans-serif;
	color: var(--deep);
	max-width: 520px;
	margin: 0 auto 22px;
	line-height: 1.6;
}

/* Buttons */
.btn-outline-chest {
	font-family: 'Oswald', sans-serif;
	letter-spacing: 1.5px;
	background: var(--accent) !important;
	text-transform: uppercase;
	color: var(--deep);
	background: var(--cream) !;
	border: 2px solid #ffffff !important;
	padding: .78rem 1.6rem;
	border-radius: 2px;
	box-shadow: 0 6px 0 rgba(0, 0, 0, 0.04);
}

.btn-outline-chest:hover {
	background: var(--deep);
	color: #fff;
	border-color: var(--deep);
}

/* Vertical divider with dots (desktop only) */
.middle-divider {
	position: relative;
	width: 72px;
	/* space reserved */
	display: flex;
	align-items: center;
	justify-content: center;
}

.middle-divider .spine {
	width: 2px;
	height: 220px;
	background: linear-gradient(var(--accent), var(--deep));
	opacity: .9;
	border-radius: 2px;
}

.middle-divider .dots {
	position: absolute;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.middle-divider .dots span {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--accent);
	display: block;
	box-shadow: 0 2px 0 rgba(0, 0, 0, .08);
}

/* make headings use Alice */
.event-card .section-title,
.event-card h4 {
	font-family: 'Alice', serif;
}

/* responsive: stack on small screens and hide divider */
@media (max-width: 991.98px) {
	.middle-divider {
		display: none
	}

	.event-card p {
		max-width: 100%
	}

	.event-section {
		padding: 36px 12px
	}
}


/* ========================hotel card section======================= */

.hotel-room-section {
	padding: 90px 0;
	background: linear-gradient(180deg, #3a1f0f, #160b06);
	background-image: url(../img/background-brown.jpg);
	color: #f3e7d6;

}

.room-head h2 {
	font-size: 44px;
	/* color:#d6a45d; */
}

.room-head p {
	max-width: 720px;
	margin: 10px auto 60px;
	/* color:#e4d3b7; */
}

.room-swiper {
	width: 100%;
	overflow: visible;
}

/* card */
.room-card {
	background: #241208;
	border: 1px solid #9c7746;
	/* height: 100%; */
	position: relative;
	margin: 9px;
}

.room-img {
	height: 260px;
	overflow: hidden;
}

.room-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.room-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	background: #1f7f3c;
	color: #fff;
	padding: 6px 12px;
	font-size: 12px;
}

.room-body {
	padding: 22px;
}

.room-body h4 {
	margin: 0 0 6px;
	/* color:#d6a45d; */
}

.room-body small {
	display: block;
	margin-bottom: 12px;
	color: #ffffff;
}

.room-meta {
	display: flex;
	justify-content: space-between;
	margin-bottom: 12px;
}

.price {
	/* color:#d6a45d; */
	font-weight: 600;
}

.rating {
	color: #f4c26b;
}

.room-features {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 14px;
	font-size: 13px;
}

.room-btn {
	display: inline-block;
	margin-top: 16px;
	padding: 10px 26px;
	border: 1px solid #ffffff;
	color: #ffffff;
	text-decoration: none;
	background: none;
}


.swiper-pagination {
	margin-top: 35px;
	position: relative;
}

.swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: #6e4a2e;
	opacity: 1;
	margin: 0 6px !important;
	transition: .3s ease;
}

.swiper-pagination-bullet-active {
	width: 26px;
	border-radius: 10px;
	background: #d6a45d;
}

.room-swiper {
	padding-bottom: 60px;
	/* dots ke liye space */
}

.room-swiper .swiper-pagination {
	position: absolute;
	bottom: 0;
	/* card ke neeche */
	left: 50% !important;
	transform: translateX(-50%);
	width: auto;
	text-align: center;
}

.room-swiper .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: #6e4a2e;
	opacity: 1;
	margin: 0 6px;
	transition: .3s ease;
}

.room-swiper .swiper-pagination-bullet-active {
	width: 26px;
	border-radius: 10px;
	background: #d6a45d;
}

.room-swiper {
	padding-bottom: 80px !important;
}

.room-nav.prev::after {
	transform: translate(-50%, -50%) rotate(135deg);
}

.room-nav.next::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

@media(max-width:768px) {
	.room-nav {
		display: none;
	}
}

/* ========================hotel card section======================= */


/* service section */

.services-section {
	background: #ffffff;
	padding: 90px 0;
}

.services-title {
	font-size: 36px;
	font-weight: 600;
	color: #1f2d3d;
}

.service-card:hover {
	border-radius: 35px 4px 35px 4px;
	background: #fffadf;
	transition: 0.3s;
}

.service-card {
	background: #fbf7f1;
	border: 1px solid #a1a1a1;
	padding: 40px 20px;
	text-align: center;
	border-radius: 8px 36px;
	height: 100%;
	transition: 0.3s;
}

.icon-box {
	width: 70px;
	height: 70px;
	background: var(--accent);
	margin: 0 auto 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	box-shadow: 0 6px 15px rgba(0, 0, 0, .15);
}

.icon-box img {
	width: 50px;
	filter: invert(1);
}

.icon-box i {
	color: #fff;
	font-size: 26px;
}

.service-card h5 {
	/* color: #9c4a2f; */
	margin: 0;
	font-weight: 400;
}


/* testimonial */

.testimonials-overlay {

	padding: 100px 0px;
	/* bottom extra space */
}

.testimonials-title {
	font-size: 36px;
	font-weight: 600;
	color: #1f2d3d;
}

.testimonials-subtitle {
	color: #6b7280;
}

/* swiper base */
.testimonials-swiper {
	position: relative;
	padding-bottom: 120px;
	/* dots ko niche push karta hai */
}

/* slide equal height fix */
.testimonials-swiper .swiper-slide {
	height: auto;
	display: flex;
}

/* card */
.testimonial-card {
	background: #fff;
	padding: 28px;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
	display: flex;
	flex-direction: column;
	height: 100%;
}

.testimonial-card h6 {
	font-weight: 600;
	margin-bottom: 6px;
}

.stars {
	color: #f4b400;
	font-size: 14px;
	margin-bottom: 10px;
}

.testimonial-card p {
	color: #4b5563;
	font-size: 15px;
	line-height: 1.6;
}

.swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
	position: relative;
}

/* dot style (Book Now jaisa) */
.testimonials-swiper .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	background: #8a6a4a;
	opacity: 1;
	margin: 0 6px;
	transition: .3s ease;
}

.testimonials-swiper .swiper-pagination-bullet-active {
	width: 22px;
	border-radius: 10px;
	background: #d6a45d;
}


.why-hotel-section {
	width: 100%;
}

/* left image */
.why-img {
	background: url('../img/wye1.webp') center/cover no-repeat;
	min-height: 550px;
}

.why-box svg {
	width: 45px;
	filter: invert(1);
}

/* right side */
.why-content {
	background-image: url(../img/background-brown.jpg);
	color: #fff;
	padding: 80px 70px;
}

.why-content h2 {
	font-size: 30px;
	font-weight: 500;
	line-height: 1.4;
}

/* icon boxes */
.why-box {
	text-align: center;
	color: #fff;
}

.why-box i {
	font-size: 42px;
	margin-bottom: 12px;
	display: inline-block;
}

.why-box p {
	margin: 0;
	font-size: 15px;
	line-height: 1.4;
}

/* responsive */
@media(max-width:991px) {
	.why-img {
		min-height: 300px;
	}

	.why-content {
		padding: 50px 30px;
		text-align: center;
	}
}


.gift-section {
	background: url("../img/social-bg-right.png") center/cover no-repeat;
	width: 100%;
}

.gift-overlay {
	background: rgba(255, 255, 255, .75);
	padding: 90px 0;
}

.gift-title {
	font-size: 34px;
	font-weight: 500;
	color: #000;
	margin-bottom: 18px;
}

.gift-text {
	max-width: 900px;
	margin: 0 auto 30px;
	font-size: 16px;
	color: #000;
}

.gift-text a {
	color: #000;
	text-decoration: underline;
	font-weight: 500;
}


.rooms-rates-section {
	width: 100%;
	background: #fff;
}

/* LEFT SIDE */
.rooms-content {
	padding: 90px 80px;
}

.rooms-content h2 {
	font-size: 36px;
	font-weight: 500;
	margin-bottom: 10px;
}

.rooms-content h6 {
	letter-spacing: 2px;
	font-size: 13px;
	margin-bottom: 20px;
	color: #777;
}

.rooms-content p {
	max-width: 420px;
	font-size: 16px;
	line-height: 1.7;
	color: #333;
}


/* RIGHT IMAGE */
.rooms-image {
	position: relative;
	background: url("../img/slider-3.webp") center/cover no-repeat;
	min-height: 520px;
}


/* RESPONSIVE */
@media(max-width:991px) {
	.rooms-content {
		padding: 50px 30px;
		text-align: center;
	}

	.rooms-content p {
		margin: 0 auto;
	}

	.rooms-image {
		min-height: 360px;
	}

	.check-rates {
		transform: translateY(0) rotate(0);
		top: auto;
		bottom: 20px;
		right: 20px;
	}
}


/* offer-se */


.season-section {
	background-image: url(../img/background-brown.jpg);
	color: #fff;
	padding: 70px 0 90px;
}

.season-header {
	max-width: 1200px;
}

.season-header h2 {
	font-size: 40px;
	font-weight: 500;
	margin-bottom: 16px;
}

.season-header p {
	font-size: 16px;
	line-height: 1.7;
	max-width: 1000px;
}

/* cards */
.season-card {
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
	height: 100%;
}

.season-card img {
	width: 100%;
	height: 320px;
	object-fit: cover;
	display: block;
}

.season-card-text {
	padding: 20px;
	text-align: center;
	font-size: 18px;
	font-weight: 500;
	color: #000;
	background: #f2ede8;
}

/* responsive */
@media(max-width:992px) {
	.season-header h2 {
		font-size: 30px;
	}

	.season-card img {
		height: 260px;
	}
}

@media(max-width:576px) {
	.container-fluid {
		padding-left: 20px;
		padding-right: 20px;
	}
}


/* footer */

.hotel-theme-footer {
	background: linear-gradient(180deg, #2f140f, #331815);
	color: #e6e1d8;
	background-image: url(../img/background-brown.jpg);
	padding: 90px 0 25px;
	font-family: 'Montserrat', sans-serif;
	border-top: 7px solid #ffbc00;
}

.footer-logo {
	font-family: 'Playfair Display', serif;
	font-size: 30px;
	color: #ffffff;
	margin-bottom: 16px;
}

.footer-desc {
	max-width: 340px;
	line-height: 1.8;
	color: #d6d1c7;
	font-size: 14px;
}

.footer-title {
	font-family: 'Playfair Display', serif;
	font-size: 16px;
	color: #f1ede6;
	margin-bottom: 20px;
}

.footer-links {
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-links li {
	margin-bottom: 12px;
}

.footer-links a {
	color: #d6d1c7;
	text-decoration: none;
	font-size: 14px;
	transition: .3s;
}

.footer-links a:hover {
	color: #c9a24d;
	/* warm gold like image */
}

.hotel-theme-footer p {
	margin-bottom: 8px;
	font-size: 14px;
	color: #d6d1c7;
}

.footer-bottom {
	margin-top: 50px;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, .12);
	text-align: center;
	font-size: 13px;
	color: #b5b0a7;
}


/* =====================================about -page csss ================================*/


    .contact-page{
  font-family:'Montserrat', sans-serif;
  background:#f6f1e8;
}

/* Header */
.contact-header{
  color:#fff;
  text-align:center;
  padding:90px 0;
}
.contact-header span{
  font-size:13px;
  letter-spacing:2px;
  color:#d2b47c;
}
.contact-header h1{
  font-family:'Playfair Display', serif;
  /* font-size:42px; */
  /* margin:12px 0; */
}
.contact-header p{
  color:#e0d6c7;
}

.features-section {
    padding: 90px 0;
    background: #fbf9e4;
}

.features-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  text-align:center;
}
section.section-padding {
    padding: 90px 0px;
}
.feature-item{
  padding:45px 20px;
  position:relative;
}

.feature-item i{
  font-size:42px;
  color:#2f140f; /* dark green */
  display:block;
  margin-bottom:18px;
}

.feature-item h4{
  font-family:'Playfair Display', serif;
  font-size:20px;
  color:#2f140f;
  font-weight:500;
}

/* Vertical divider */
.feature-item.divider::after{
  content:"";
  position:absolute;
  right:0;
  top:20%;
  height:60%;
  width:1px;
  background:#f0a04b; /* orange line */
}

/* Horizontal divider */
.feature-item.horizontal::before{
  content:"";
  position:absolute;
  top:0;
  left:15%;
  width:70%;
  height:1px;
  background:#f0a04b;
}

/* Both dividers */
.feature-item.both::before{
  content:"";
  position:absolute;
  top:0;
  left:15%;
  width:70%;
  height:1px;
  background:#f0a04b;
}
.feature-item.both::after{
  content:"";
  position:absolute;
  right:0;
  top:20%;
  height:60%;
  width:1px;
  background:#f0a04b;
}

/* Responsive */
@media(max-width:991px){
  .features-grid{
    grid-template-columns:1fr 1fr;
  }
  .feature-item::before,
  .feature-item::after{
    display:none;
  }
}

@media(max-width:575px){
  .features-grid{
    grid-template-columns:1fr;
  }
}

/* =====================================about -page css ens ================================*/
.room-body {
    color: white;
}



.lux-features{
 
 
  color:#fff;
}

.lux-features-head{
  text-align:center;
  margin-bottom:60px;
}

.lux-features-head h2{
  font-size:32px;
  font-weight:600;
  margin-bottom:12px;
}

.lux-features-head p{
  max-width:900px;
  margin:0 auto;
  font-size:14px;
  color:#ccc;
  line-height:1.6;
}

/* Grid */
.lux-feature-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:26px;
}

/* Box */
.lux-feature-box{
  height:160px;
  border:1px solid rgba(255,255,255,.15);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-align:center;
  transition:.4s ease;
}

.lux-feature-box i{
  font-size:30px;
  color:#caa35c;
}

.lux-feature-box span{
  font-size:14px;
}

/* Hover / Active */
.lux-feature-box:hover,
.lux-feature-box.active{
  background: #064700;
  border-color:#caa35c;
  transform:translateY(-8px);
}

/* Tablet */
@media(max-width:991px){
  .lux-feature-grid{
    grid-template-columns:repeat(3,1fr);
  }
}

/* Mobile */
@media(max-width:575px){
  .lux-feature-grid{
    grid-template-columns:repeat(2,1fr);
    gap:18px;
  }
  .lux-feature-box{
    height:140px;
  }
}

.box-s {
    padding: 7px;
    background-color: #060606d9;
}
.box-s:hover {
    padding: 7px;
    background-color: #075300d9 !important;
}
.box-s.active {
    padding: 7px;
    background-color: #075300d9 !important;
}


/* ==================================================== */

.footer-links li i,
.footer-links li a i{
    color:#d6a45d;
    width:20px;
}
a {
    text-decoration: none !important;
}