/* ===============================
   GENERAL
================================= */

:root {
 --primary: #18392B;
 --gold: #B58A3C;
 --cream: #F7F2E9;
 --text: #2B2B2B;
 --white: #ffffff;
}
body {
	font-family: 'Poppins', sans-serif;
	color: var(--text);
	background: var(--cream);
	overflow-x: hidden;
}
a {
	text-decoration: none;
	transition: 0.3s;
}
img {
	max-width: 100%;
}
.section-padding {
	padding: 70px 0;
}
.section-title {
	font-family: 'Playfair Display', serif;
	font-size: 45px;
	color: var(--primary);
	font-weight: 700;
	margin-bottom: 20px;
}
p {
	line-height: 1.8;
}
/* ===============================
   TOPBAR
================================= */

.topbar {
	background: var(--primary);
	padding: 8px 0;
	position: relative;
	z-index: 99;
}
/* Contact Area */

.topbar-contact {
	display: flex;
	align-items: center;
	gap: 18px;
	padding-left: 8px;
}
.topbar-contact a {
	color: rgba(255,255,255,0.85);
	font-size: 14px;
	font-weight: 400;
	transition: 0.3s;
	display: flex;
	align-items: center;
	gap: 8px;
}
.topbar-contact a:hover {
	color: var(--gold);
}
.topbar-contact i {
	color: var(--gold);
	font-size: 14px;
}
/* Divider */

.topbar-divider {
	width: 1px;
	height: 18px;
	background: rgba(255,255,255,0.18);
}
/* Social Icons */

.social-icons {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 12px;
}
.social-icons a {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(255,255,255,0.08);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 0.3s;
}
.social-icons a:hover {
	background: var(--gold);
	color: #fff;
	transform: translateY(-2px);
}

/*  MOBILE HIDE */

@media(max-width:767px) {
.topbar {
	display: none;
}
}
/* ===============================
   NAVBAR
================================= */

.custom-navbar {
	background: rgba(255,255,255,0.95);
	backdrop-filter: blur(10px);
	padding: 5px 0;
	box-shadow: 0 2px 15px rgba(0,0,0,0.06);
}
.navbar-brand img {
	height: 75px;
}
.navbar-nav .nav-link {
	color: var(--primary);
	font-weight: 500;
	margin-left: 18px;
	position: relative;
}
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active {
	color: var(--gold);
}
.navbar-nav .nav-link::after {
	content: '';
	position: absolute;
	width: 0%;
	height: 2px;
	left: 0;
	bottom: -5px;
	background: var(--gold);
	transition: 0.3s;
}
.navbar-nav .nav-link:hover::after {
	width: 100%;
}
/* ===============================
   HERO SECTION
================================= */

.hero-slide {
	position: relative;
	min-height: 90vh;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
}
/* Overlay */

.hero-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.45);
}
/* Content */

.hero-content {
	position: relative;
	z-index: 2;
	max-width: 700px;
	color: #fff;
}
.hero-subtitle {
	display: inline-block;
	color: var(--gold);
	margin-bottom: 15px;
	letter-spacing: 1px;
	font-weight: 500;
}
.hero-content h1,
.hero-content h2 {
    font-size: 64px;
    line-height: 1.1;
    margin-bottom: 25px;
    font-family: 'Playfair Display', serif;
}
.hero-content p {
	font-size: 18px;
	margin-bottom: 30px;
	color: rgba(255,255,255,0.9);
}
/* ===============================
   MOBILE RESPONSIVE
================================= */
.hero-slide {
	min-height: 90vh;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
 @media(max-width:767px) {
.hero-slide {
	min-height: 65vh;
	background-position: 70% center;
}
}
 @media(max-width:991px) {
.hero-slide {
	min-height: 75vh;
	text-align: center;
}
.hero-content {
	margin: auto;
}
.hero-content h1 {
	font-size: 46px;
}
}
 @media(max-width:767px) {
.hero-slide {
	min-height: 65vh;
	padding: 80px 0;
	background-position: center;
}
.hero-content h1 {
	font-size: 34px;
	line-height: 1.3;
}
.hero-content p {
	font-size: 15px;
}
.hero-subtitle {
	font-size: 14px;
}
}
/* ===============================
   BUTTONS
================================= */

.btn-custom {
	background: var(--gold);
	color: var(--white);
	padding: 12px 28px;
	border-radius: 50px;
	font-weight: 500;
	border: none;
}
.btn-custom:hover {
	background: var(--primary);
	color: var(--white);
}
/* ===============================
   FOOTER
================================= */

.footer {
	background: var(--primary);
	color: rgba(255,255,255,0.78);
	padding: 90px 0 25px;
	position: relative;
	overflow: hidden;
}
/* Logo */

.footer-logo {
	max-width: 320px;
}
/* About */

.footer-about {
	line-height: 1.9;
	max-width: 90%;
}
/* Title */

.footer-title {
	color: var(--gold);
	margin-bottom: 28px;
	font-size: 24px;
	font-family: 'Playfair Display', serif;
	position: relative;
}
.footer-title::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -10px;
	width: 50px;
	height: 2px;
	background: var(--gold);
}
/* Links */

.footer-links {
	list-style: none;
	padding: 0;
	margin: 0;
}
.footer-links li {
	margin-bottom: 14px;
}
.footer-links li a {
	color: rgba(255,255,255,0.78);
	transition: 0.3s;
	display: inline-block;
}
.footer-links li a:hover {
	color: var(--gold);
	transform: translateX(6px);
}
/* Contact */

.footer-contact p {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 18px;
	line-height: 1.8;
}
.footer-contact i {
	color: var(--gold);
	font-size: 18px;
	margin-top: 4px;
}
/* Divider */

.footer-divider {
	width: 100%;
	height: 1px;
	background: rgba(255,255,255,0.12);
	margin: 15px 0 10px;
}
/* Bottom */

.footer-bottom {
	font-size: 14px;
	color: rgba(255,255,255,0.65);
}
.footer-credit {
	color: var(--gold);
	letter-spacing: 0.5px;
}

/* ===============================
   MOBILE
================================= */

@media(max-width:767px) {
.footer {
	padding: 70px 0 20px;
}
.footer-logo {
	max-width: 250px;
}
.footer-about {
	max-width: 100%;
}
.footer-title {
	margin-top: 10px;
}
.footer-divider {
	margin: 15px 0 10px;
}
}
/* ===============================
   WHATSAPP
================================= */

.whatsapp-btn {
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 60px;
	height: 60px;
	background: #25D366;
	color: #fff;
	border-radius: 50%;
	text-align: center;
	line-height: 60px;
	font-size: 30px;
	z-index: 999;
	box-shadow: 0 5px 20px rgba(0,0,0,0.2);
}
.whatsapp-btn:hover {
	color: #fff;
	transform: scale(1.05);
}

/* ===============================
   RESPONSIVE
================================= */

@media(max-width:991px) {
.navbar-nav {
	padding-top: 20px;
}
.navbar-nav .nav-link {
	margin-left: 0;
	margin-bottom: 12px;
}
.navbar-brand img {
	height: 60px;
}
}
 @media(max-width:767px) {
.section-title {
	font-size: 34px;
}
.topbar {
	text-align: center;
}
.social-icons {
	margin-top: 10px;
}
}
/* ===============================
   NAVBAR SCROLL EFFECT
================================= */

.navbar-scrolled {
	background: rgba(255,255,255,0.98);
	box-shadow: 0 5px 20px rgba(0,0,0,0.08);
	transition: 0.3s;
}
/* ===============================
   SCROLL TOP BUTTON
================================= */

#scrollTopBtn {
	position: fixed;
	right: 20px;
	bottom: 95px;
	width: 50px;
	height: 50px;
	border: none;
	border-radius: 50%;
	background: var(--gold);
	color: #fff;
	font-size: 20px;
	cursor: pointer;
	z-index: 999;
	opacity: 0;
	visibility: hidden;
	transition: 0.3s;
	box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}
#scrollTopBtn.show {
	opacity: 1;
	visibility: visible;
}
#scrollTopBtn:hover {
	background: var(--primary);
}
/* ===============================
   FADE ANIMATION
================================= */

.hidden-animation {
	opacity: 0;
	transform: translateY(40px);
	transition: all 0.8s ease;
}
.show-animation {
	opacity: 1;
	transform: translateY(0);
}
/* ===============================
   HERO SLIDER
================================= */

.hero-section {
	position: relative;
}
.hero-slide {
	position: relative;
	min-height: 90vh;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
}
.hero-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.45);
}
.hero-content {
	position: relative;
	z-index: 2;
	max-width: 700px;
	color: #fff;
}
.hero-subtitle {
	display: inline-block;
	color: var(--gold);
	margin-bottom: 15px;
	font-weight: 500;
	letter-spacing: 1px;
}
.hero-content h1 {
	font-size: 64px;
	line-height: 1.1;
	margin-bottom: 25px;
	font-family: 'Playfair Display', serif;
}
.hero-content p {
	font-size: 18px;
	color: rgba(255,255,255,0.9);
	margin-bottom: 30px;
}
/* ===============================
   SLIDER BUTTONS
================================= */

.custom-slider-btn {
	width: 60px;
	opacity: 1;
}
.custom-slider-btn span {
	width: 55px;
	height: 55px;
	background-color: rgba(255,255,255,0.18);
	border-radius: 50%;
	backdrop-filter: blur(8px);
	background-size: 20px;
	transition: 0.3s;
}
.custom-slider-btn span:hover {
	background-color: var(--gold);
}
/* ===============================
   INDICATORS
================================= */

.custom-indicators {
	bottom: 25px;
}
.custom-indicators button {
	width: 12px !important;
	height: 12px !important;
	border-radius: 50%;
	border: none;
	background-color: rgba(255,255,255,0.5);
	margin: 0 6px !important;
	transition: 0.3s;
}
.custom-indicators .active {
	background-color: var(--gold);
	transform: scale(1.2);
}

/* ===============================
   MOBILE RESPONSIVE
================================= */

@media(max-width:991px) {
.hero-slide {
	min-height: 75vh;
	text-align: center;
}
.hero-content {
	margin: auto;
}
.hero-content h1 {
	font-size: 46px;
}
}
 @media(max-width:767px) {
.hero-slide {
	min-height: 65vh;
	padding: 80px 0;
	background-position: 70% center;
}
.hero-content h1 {
	font-size: 32px;
	line-height: 1.3;
}
.hero-content p {
	font-size: 15px;
}
.hero-subtitle {
	font-size: 14px;
}
.custom-slider-btn {
	width: 40px;
}
.custom-slider-btn span {
	width: 42px;
	height: 42px;
	background-size: 14px;
}
}
.navbar-brand img {
	height: 72px;
	width: auto;
	object-fit: contain;
}
 @media(max-width:767px) {
.navbar-brand img {
	height: 52px;
}
}
/* Why Choose */
.icon-box {
	text-align: center;
	padding: 30px;
	border-radius: 15px;
	background: #f8f8f8;
	transition: 0.3s;
}
.icon-box:hover {
	background: #0d3b2e;
	color: #fff;
}
.icon-box i {
	font-size: 45px;
	margin-bottom: 15px;
}
/* Contact */
.contact-section {
	background: #f7f7f7;
}
/* ===============================
   BACKGROUND COLORS
================================= */

.bg-white {
	background: #ffffff;
}
.bg-cream {
	background: #F7F2E9;
}
/* ===============================
   ABOUT SECTION
================================= */

.about-image img {
	border-radius: 24px;
	width: 100%;
	height: 550px;
	object-fit: cover;
	box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}
.feature-box {
	background: #fff;
	padding: 14px 18px;
	border-radius: 12px;
	border: 1px solid rgba(0,0,0,0.06);
	font-weight: 500;
	transition: 0.3s;
}
.feature-box:hover {
	transform: translateY(-3px);
	border-color: var(--gold);
}
.feature-box i {
	color: var(--gold);
	margin-right: 8px;
}
/* ===============================
   CATEGORY CARDS
================================= */

.category-card {
	background: #fff;
	border-radius: 24px;
	overflow: hidden;
	transition: 0.4s;
	height: 100%;
	box-shadow: 0 8px 25px rgba(0,0,0,0.05);
}
.category-card:hover {
	transform: translateY(-8px);
}
.category-card img {
	width: 100%;
	height: 260px;
	object-fit: cover;
}
.category-content {
	padding: 25px;
}
.category-content h4 {
	color: var(--primary);
	margin-bottom: 12px;
	font-family: 'Playfair Display', serif;
}
/* ===============================
   WHY SECTION
================================= */

.why-card {
	background: #fff;
	padding: 40px 30px;
	border-radius: 24px;
	text-align: center;
	transition: 0.4s;
	height: 100%;
	box-shadow: 0 8px 25px rgba(0,0,0,0.05);
}
.why-card:hover {
	transform: translateY(-8px);
	background: var(--primary);
	color: #fff;
}
.why-card i {
	font-size: 48px;
	color: var(--gold);
	margin-bottom: 20px;
	display: inline-block;
}
.why-card h5 {
	margin-bottom: 15px;
	font-size: 22px;
}
/* ===============================
   GALLERY
================================= */

.gallery-img {
	width: 100%;
	height: 350px;
	object-fit: cover;
	border-radius: 24px;
	transition: 0.4s;
	box-shadow: 0 8px 25px rgba(0,0,0,0.05);
}
.gallery-img:hover {
	transform: scale(1.03);
}
/* =========================================
   PREMIUM CTA SECTION
========================================= */

.cta-section {
	padding: 60px 0 60px;
}
/* Main Box */

.cta-box {
	position: relative;
	border-radius: 35px;
	overflow: hidden;
	padding: 60px 55px;
	min-height: 280px;
	display: flex;
	align-items: center;
	box-shadow: 0 15px 40px rgba(0,0,0,0.08);
}
/* Background Image */

.cta-bg {
	position: absolute;
	inset: 0;
	background-image: url('../images/banner2.png');
	background-size: cover;
	background-position: center;
	transform: scale(1.05);
}
.cta-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient( 90deg, rgba(24,57,43,0.92) 10%, rgba(24,57,43,0.78) 45%, rgba(24,57,43,0.45) 100% );
}
.cta-tag {
	display: inline-block;
	color: var(--gold);
	font-weight: 500;
	letter-spacing: 1px;
	margin-bottom: 15px;
}
.cta-box h2 {
	color: #fff;
	font-size: 48px;
	line-height: 1.2;
	margin-bottom: 18px;
	font-family: 'Playfair Display', serif;
}
.cta-box p {
	color: rgba(255,255,255,0.82);
	max-width: 520px;
	margin-bottom: 0;
}
.cta-box .btn-custom {
	padding: 14px 32px;
	font-size: 16px;
	box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

/* =========================================
   MOBILE
========================================= */

@media(max-width:991px) {
.cta-box {
	padding: 50px 35px;
}
.cta-box h2 {
	font-size: 40px;
}
}
 @media(max-width:767px) {
.cta-section {
	padding-bottom: 70px;
}
.cta-box {
	padding: 40px 25px;
	min-height: auto;
	text-align: center;
	border-radius: 24px;
}
.cta-overlay {
	background: rgba(24,57,43,0.82);
}
.cta-box h2 {
	font-size: 30px;
}
.cta-box p {
	font-size: 15px;
	margin: auto;
}
}
/* =========================================
 COUNTER SECTION
========================================= */

.bg-green {
	background: var(--primary);
}
.counter-section {
	position: relative;
	overflow: hidden;
}
.counter-box {
	background: var(--cream);
	border-radius: 28px;
	padding: 45px 25px;
	height: 100%;
	transition: 0.4s;
	position: relative;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}
.counter-box::before {
	content: '';
	position: absolute;
	width: 120px;
	height: 120px;
	background: rgba(181,138,60,0.08);
	border-radius: 50%;
	top: -40px;
	right: -40px;
}
.counter-box:hover {
	transform: translateY(-8px);
}
.counter-icon {
	width: 75px;
	height: 75px;
	margin: 0 auto 25px;
	border-radius: 50%;
	background: rgba(24,57,43,0.08);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 0.4s;
}
.counter-icon i {
	font-size: 34px;
	color: var(--gold);
}
.counter-box:hover .counter-icon {
	background: var(--primary);
	transform: scale(1.08);
}
.counter-box h2 {
	font-size: 54px;
	font-weight: 700;
	color: var(--primary);
	margin-bottom: 12px;
	line-height: 1;
}
.counter-box p {
	color: #5b5b5b;
	margin-bottom: 0;
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.3px;
}

/* =========================================
   MOBILE
========================================= */

@media(max-width:767px) {
.counter-box {
	padding: 35px 20px;
}
.counter-box h2 {
	font-size: 42px;
}
.counter-icon {
	width: 62px;
	height: 62px;
}
.counter-icon i {
	font-size: 28px;
}
}
/* ===============================
   MOBILE RESPONSIVE
================================= */

@media(max-width:767px) {
.about-image img {
	height: 350px;
}
.category-card img {
	height: 220px;
}
.gallery-img {
	height: 250px;
}
.cta-box {
	padding: 35px 25px;
	text-align: center;
}
.cta-box h2 {
	font-size: 30px;
}
}
/* =========================================
   INNER PAGE BANNER
========================================= */

.inner-banner {
	position: relative;
	min-height: 250px;
	display: flex;
	align-items: center;
	overflow: hidden;
}
/* Background */

.banner-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transform: scale(1.05);
}
/* Overlay */

.banner-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(  90deg,  rgba(24,57,43,0.88),  rgba(24,57,43,0.55)  );
}
/* Content */

.inner-banner-content {
	position: relative;
	z-index: 2;
	color: #fff;
	text-align: center;
}
.inner-banner-content h1 {
	font-size: 60px;
	margin-bottom: 12px;
	font-family: 'Playfair Display', serif;
}
.inner-banner-content p {
	color: rgba(255,255,255,0.82);
	margin-bottom: 0;
	letter-spacing: 0.5px;
}

/* =========================================
   MOBILE
========================================= */

@media(max-width:767px) {
.inner-banner {
	min-height: 260px;
}
.inner-banner-content h1 {
	font-size: 38px;
}
}
/* =========================================
   ABOUT PAGE
========================================= */

/* About Image */

.about-image-box{

    border-radius: 30px;

    overflow: hidden;

    box-shadow: 0 15px 40px rgba(0,0,0,0.08);
}

.about-image-box img{

    width: 100%;

    border-radius: 30px;
}

/* About Content */

.about-content p{

    margin-bottom: 20px;
}

/* Features */

.about-features{

    display: grid;

    grid-template-columns: repeat(2,1fr);

    gap: 18px;

    margin-top: 20px;
}

.feature-item{

    background: var(--cream);

    border-radius: 18px;

    padding: 18px;

    display: flex;

    align-items: center;

    gap: 14px;

    transition: 0.4s;

    font-weight: 500;
}

.feature-item:hover{

    transform: translateY(-5px);

    background: var(--primary);

    color: #fff;
}

.feature-item i{

    font-size: 24px;

    color: var(--gold);
}

/* =========================================
   MOBILE
========================================= */

@media(max-width:767px){

    .about-features{

        grid-template-columns: 1fr;
    }

}
/* =========================================
   CONTACT PAGE
========================================= */

/* Contact Image */

.contact-image-box{

    border-radius: 30px;

    overflow: hidden;

    box-shadow: 0 15px 40px rgba(0,0,0,0.08);
}

.contact-image-box img{

    width: 100%;

    border-radius: 30px;
}

/* Contact Items */

.contact-items{

    margin-top: 35px;
}

.contact-item{

    display: flex;

    gap: 18px;

    margin-bottom: 25px;

    padding: 22px;

    background: var(--cream);

    border-radius: 20px;

    transition: 0.4s;
}

.contact-item:hover{

    transform: translateY(-5px);

    background: var(--primary);

    color: #fff;
}

.contact-item:hover a,
.contact-item:hover p{

    color: rgba(255,255,255,0.82);
}

/* Icon */

.contact-icon{

    width: 60px;
    height: 60px;

    min-width: 60px;

    border-radius: 50%;

    background: rgba(24,57,43,0.08);

    display: flex;

    align-items: center;

    justify-content: center;
}

.contact-icon i{

    font-size: 24px;

    color: var(--gold);
}

/* Text */

.contact-item h5{

    margin-bottom: 8px;

    color: var(--primary);

    font-size: 18px;
}

.contact-item a,
.contact-item p{

    color: #5c5c5c;

    margin-bottom: 0;
}

.contact-item:hover h5{

    color: #fff;
}

/* Categories */

.contact-category-card{

    background: #fff;

    border-radius: 24px;

    overflow: hidden;

    text-align: center;

    transition: 0.4s;

    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.contact-category-card:hover{

    transform: translateY(-8px);
}

.contact-category-card img{

    width: 100%;

    height: 250px;

    object-fit: cover;
}

.contact-category-card h5{

    padding: 20px;

    margin-bottom: 0;

    color: var(--primary);

    font-family: 'Playfair Display', serif;
}

/* =========================================
   MOBILE
========================================= */

@media(max-width:767px){

    .contact-item{

        padding: 18px;
    }

    .contact-category-card img{

        height: 220px;
    }

}
/* =========================================
   SIMPLE GALLERY PAGE
========================================= */

.gallery-subtitle{

    max-width: 700px;

    margin: auto;

    color: #666;
}

/* Card */

.gallery-card{

    position: relative;

    display: block;

    overflow: hidden;

    border-radius: 28px;

    box-shadow: 0 10px 30px rgba(0,0,0,0.06);
}

.gallery-card img{

    width: 100%;

    height: 320px;

    object-fit: cover;

    transition: 0.5s;
}

/* Overlay */

.gallery-overlay{

    position: absolute;

    inset: 0;

    background: rgba(24,57,43,0.55);

    display: flex;

    align-items: center;

    justify-content: center;

    opacity: 0;

    transition: 0.4s;
}

/* Icon */

.gallery-overlay i{

    width: 65px;
    height: 65px;

    border-radius: 50%;

    background: rgba(255,255,255,0.15);

    backdrop-filter: blur(10px);

    display: flex;

    align-items: center;

    justify-content: center;

    color: #fff;

    font-size: 26px;

    transform: scale(0.8);

    transition: 0.4s;
}

/* Hover */

.gallery-card:hover img{

    transform: scale(1.08);
}

.gallery-card:hover .gallery-overlay{

    opacity: 1;
}

.gallery-card:hover .gallery-overlay i{

    transform: scale(1);
}

/* =========================================
   MOBILE
========================================= */

@media(max-width:767px){

    .gallery-card img{

        height: 240px;
    }

}
/* =========================================
   PRODUCTS PAGE
========================================= */

.products-subtitle{

    max-width: 760px;

    margin: auto;

    color: #666;
}

/* Card */

.product-category-card{

    background: #fff;

    border-radius: 30px;

    overflow: hidden;

    height: 100%;

    box-shadow: 0 10px 35px rgba(0,0,0,0.06);

    transition: 0.4s;
}

.product-category-card:hover{

    transform: translateY(-8px);
}

/* Image */

.product-card-image{

    position: relative;
}

.product-card-image img{

    width: 100%;

    height: 320px;

    object-fit: cover;
}

/* Badge */

.product-badge{

    position: absolute;

    top: 20px;
    left: 20px;

    background: var(--gold);

    color: #fff;

    padding: 8px 16px;

    border-radius: 50px;

    font-size: 14px;

    font-weight: 500;
}

/* Content */

.product-card-content{

    padding: 35px;
}

.product-card-content h3{

    color: var(--primary);

    margin-bottom: 15px;

    font-size: 34px;

    font-family: 'Playfair Display', serif;
}

.product-card-content p{

    margin-bottom: 28px;

    color: #666;
}

/* Buttons */

.product-buttons{

    display: flex;

    gap: 15px;

    flex-wrap: wrap;
}

/* Outline Button */

.btn-outline-custom{

    border: 1px solid var(--gold);

    color: var(--primary);

    padding: 12px 24px;

    border-radius: 50px;

    transition: 0.3s;

    font-weight: 500;
}

.btn-outline-custom:hover{

    background: var(--primary);

    color: #fff;

    border-color: var(--primary);
}

/* =========================================
   MOBILE
========================================= */

@media(max-width:767px){

    .product-card-image img{

        height: 240px;
    }

    .product-card-content{

        padding: 25px;
    }

    .product-card-content h3{

        font-size: 28px;
    }

    .product-buttons{

        flex-direction: column;
    }

}
/* =========================================
   SECTION TAG
========================================= */

.section-tag{
    font-size: 18px;
    letter-spacing: 0.5px;
}
/* =========================================
   FOOTER
========================================= */

.footer{

    background: var(--primary);

    color: rgba(255,255,255,0.78);

    padding: 65px 0 18px;

    position: relative;

    overflow: hidden;
}

/* Logo */

.footer-logo{

    max-width: 280px;

    border-radius: 14px;
}

/* About */

.footer-about{

    line-height: 1.9;

    max-width: 90%;
}

/* Heading */

.footer-title{

    color: #fff;

    font-size: 24px;

    font-family: 'Playfair Display', serif;

    margin-bottom: 28px;

    position: relative;

    font-weight: 700;

    letter-spacing: 0.5px;
}

.footer-title::after{

    content: '';

    position: absolute;

    left: 0;

    bottom: -10px;

    width: 55px;

    height: 2px;

    background: linear-gradient(to right,var(--gold),transparent);

    border-radius: 10px;
}

/* Links */

.footer-links{

    list-style: none;

    padding: 0;

    margin: 0;
}

.footer-links li{

    margin-bottom: 12px;
}

.footer-links li a{

    color: rgba(255,255,255,0.78);

    transition: 0.3s;

    display: inline-block;
}

.footer-links li a:hover{

    color: var(--gold);

    transform: translateX(5px);
}

/* Contact */

.footer-contact p{

    display: flex;

    align-items: flex-start;

    gap: 12px;

    margin-bottom: 16px;

    line-height: 1.8;
}

.footer-contact i{

    color: var(--gold);

    font-size: 17px;

    margin-top: 4px;
}

/* FIX BLUE COLOR */

.footer-contact a,

.footer-contact span{

    color: rgba(255,255,255,0.78);

    text-decoration: none;

    transition: 0.3s;
}

.footer-contact a:hover{

    color: var(--gold);
}

/* Divider */

.footer-divider{

    width: 100%;

    height: 1px;

    background: rgba(255,255,255,0.10);

    margin: 15px 0 10px;
}

/* Bottom */

.footer-bottom{

    font-size: 14px;

    color: rgba(255,255,255,0.65);
}

.footer-tagline{

    color: var(--gold);

    letter-spacing: 1px;

    font-weight: 500;
}

/* Mobile */

@media(max-width:767px){

    .footer{

        padding: 45px 0 18px;

        text-align: center;
    }

    .footer-about{

        max-width: 100%;
    }

    .footer-title::after{

        left: 50%;

        transform: translateX(-50%);
    }

    .footer-contact p{

        justify-content: center;
    }

    .footer-logo{

        max-width: 230px;
    }
}
/* =========================================
   CONTACT EXTRA
========================================= */

.contact-extra-box{

    background: var(--cream);

    margin-top: 25px;

    border-radius: 28px;

    padding: 30px;

    text-align: center;
}

/* Social */

.contact-social{

    display: flex;

    justify-content: center;

    gap: 14px;

    margin-bottom: 40px;
}

.contact-social a{

    width: 52px;
    height: 52px;

    border-radius: 50%;

    background: rgba(24,57,43,0.08);

    color: var(--primary);

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 20px;

    transition: 0.4s;
}

.contact-social a:hover{

    background: var(--primary);

    color: #fff;

    transform: translateY(-5px);
}

/* Mini Info */

.contact-mini-info{

    display: flex;

    justify-content: space-between;

    gap: 20px;
        padding-bottom: 40px;
}

.mini-info-item{

    flex: 1;
}

.mini-info-item h4{

    color: var(--gold);

    font-size: 34px;

    margin-bottom: 8px;

    font-weight: 700;
}

.mini-info-item p{

    margin-bottom: 0;

    color: #666;

    font-size: 15px;
}

/* Mobile */

@media(max-width:767px){

    .contact-mini-info{

        flex-direction: column;

        gap: 25px;
    }

}
/* =========================================
   PRODUCT INNER PAGE desc
========================================= */

.product-page-desc{

    max-width: 850px;

    margin: auto;

    color: #666;
}

.product-gallery-wrap{

    display: flex;

    justify-content: center;
}

/* Card */

.product-gallery-card{

    position: relative;

    display: block;

    width: 100%;

    max-width: 430px;

    background: #fff;

    border-radius: 24px;

    overflow: hidden;

    padding: 10px;

    border: 1px solid rgba(181,138,60,0.15);

    box-shadow: 0 10px 30px rgba(0,0,0,0.06);

    transition: 0.4s;
}

/* Image */

.product-gallery-card img{

    width: 100%;

    height: auto;

    display: block;

    border-radius: 16px;

    transition: 0.4s;
}

/* Hover */

.product-gallery-card:hover{

    transform: translateY(-6px);

    box-shadow: 0 18px 40px rgba(0,0,0,0.08);
}

.product-gallery-card:hover img{

    transform: scale(1.01);
}

/* Mobile */

@media(max-width:767px){

    .product-gallery-card{

        max-width: 100%;
    }

}
/* =========================================
   MOBILE MENU DESIGN
========================================= */

@media(max-width:991px){

    /* Navbar Collapse */

    .navbar-collapse{

        background: #fff;

        margin-top: 18px;

        padding: 20px;

        border-radius: 22px;

        box-shadow: 0 10px 30px rgba(0,0,0,0.08);

        border: 1px solid rgba(0,0,0,0.05);
    }

    /* Nav Links */

    .navbar-nav{

        gap: 8px;
    }

    .navbar-nav .nav-link{

        padding: 12px 16px;

        border-radius: 14px;

        margin: 0;

        font-weight: 500;

        transition: 0.3s;
    }

    /* Hover */

    .navbar-nav .nav-link:hover,

    .navbar-nav .nav-link.active{

        background: rgba(24,57,43,0.08);

        color: var(--primary);
    }

    /* Remove Underline */

    .navbar-nav .nav-link::after{

        display: none;
    }

    /* Get Quote Button */

    .navbar-nav .btn-custom{

        width: 100%;

        margin-top: 12px;

        padding: 14px 20px;

        text-align: center;

        border-radius: 14px;
    }

    /* Remove Bootstrap Margin */

    .navbar-nav .nav-item.ms-lg-3{

        margin-left: 0 !important;
    }

    /* Toggle Button */

    .navbar-toggler{

        border: none;

        box-shadow: none;
    }

    .navbar-toggler:focus{

        box-shadow: none;
    }

}
.category-link{

    text-decoration: none;

    display: block;

    height: 100%;

    color: inherit;
}

.category-link:hover{

    color: inherit;
}


/* Mini Tag --------------- */

.product-mini-tag{

    display: inline-block;

    background: rgba(181,138,60,0.12);

    color: var(--gold);

    padding: 6px 14px;

    border-radius: 50px;

    font-size: 13px;

    font-weight: 600;

    margin-bottom: 18px;
}

/* Features */

.product-features{

    display: flex;

    gap: 10px;

    flex-wrap: wrap;

    padding: 0;

    margin: 0 0 25px;

    list-style: none;
}

.product-features li{

    background: rgba(24,57,43,0.06);

    color: var(--primary);

    padding: 7px 14px;

    border-radius: 50px;

    font-size: 13px;

    font-weight: 500;
}

/* Image */

.product-card-image{

    overflow: hidden;

    position: relative;
}

.product-card-image img{

    transition: 0.5s;
}

.product-category-card:hover .product-card-image img{

    transform: scale(1.06);
}

/* Overlay */

.product-card-image::after{

    content: '';

    position: absolute;

    inset: 0;

    background: linear-gradient(
      to top,
      rgba(0,0,0,0.18),
      transparent
    );
}

/* =========================================
   PRODUCT TOP
========================================= */

.product-top{

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 15px;

    margin-bottom: 18px;
}

/* Heading */

.product-top h3{

    margin-bottom: 0;

    color: var(--primary);

    font-size: 34px;

    font-family: 'Playfair Display', serif;
}

/* Tag */

.product-mini-tag{

    display: inline-flex;

    align-items: center;

    justify-content: center;

    background: rgba(181,138,60,0.12);

    color: var(--gold);

    padding: 7px 14px;

    border-radius: 50px;

    font-size: 13px;

    font-weight: 600;

    white-space: nowrap;
}

/* Mobile */

@media(max-width:767px){

    .product-top{

        flex-direction: column;

        align-items: flex-start;
    }

    .product-top h3{

        font-size: 28px;
    }

}


/* =========================================
   GALLERY FILTER
========================================= */

.gallery-filter{

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 14px;

    margin-bottom: 50px;
}

/* Buttons */

.gallery-filter button{

    border: none;

    background: #fff;

    color: var(--primary);

    padding: 12px 22px;

    border-radius: 50px;

    font-weight: 500;

    transition: 0.3s;

    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

/* Active */

.gallery-filter button.active,

.gallery-filter button:hover{

    background: var(--primary);

    color: #fff;
}

/* Gallery Item */

.gallery-item{

    transition: 0.4s;
}

/* Card */

.gallery-card{

    position: relative;

    display: block;

    overflow: hidden;

    border-radius: 22px;

    background: #fff;

    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
}

/* Image */

.gallery-card img{

    width: 100%;

    aspect-ratio: 4/5;

    object-fit: cover;

    transition: 0.5s;
}

/* Overlay */

.gallery-overlay{

    position: absolute;

    inset: 0;

    background: rgba(24,57,43,0.35);

    display: flex;

    align-items: center;

    justify-content: center;

    opacity: 0;

    transition: 0.4s;
}

.gallery-overlay i{

    width: 55px;

    height: 55px;

    border-radius: 50%;

    background: rgba(255,255,255,0.15);

    backdrop-filter: blur(8px);

    color: #fff;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 22px;
}

/* Hover */

.gallery-card:hover img{

    transform: scale(1.08);
}

.gallery-card:hover .gallery-overlay{

    opacity: 1;
}

/* Hide */

.gallery-item.hide{

    display: none;
}

/* Mobile */

@media(max-width:767px){

    .gallery-filter{

        gap: 10px;
    }

    .gallery-filter button{

        padding: 10px 16px;

        font-size: 14px;
    }

}
/* Product Bottom Row */

.product-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    margin-top:20px;
}

.product-bottom .product-features{
    margin:0;
}

.product-bottom .product-buttons{
    margin:0;
}

/* Mobile */

@media(max-width:767px){

    .product-bottom{
        flex-direction:column;
        align-items:center;
        text-align:center;
    }

    .product-bottom .product-features{
        justify-content:center;
    }

    .product-bottom .product-buttons{
        width:100%;
    }

    .product-bottom .btn{
        width:100%;
    }

}
