html,
body {
	height: 100%;
	font-family: 'Rubik', sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: #111111;
	margin: 0;
	font-weight: 500;
	font-family: 'Rubik', sans-serif;
}

h1 {
	font-size: 60px;
}

h2 {
	font-size: 36px;
	line-height: 1.2;
}

h3 {
	font-size: 30px;
}

h4 {
	font-size: 24px;
}

h5 {
	font-size: 20px;
}

h6 {
	font-size: 14px;
}

p {
	font-size: 14px;
	color: #636363;
	line-height: 1.6;
}

img {
	max-width: 100%;
}

input:focus,
select:focus,
button:focus,
textarea:focus {
	outline: none;
}

a:hover,
a:focus {
	text-decoration: none;
	outline: none;
}

ul,
ol {
	list-style:none;
	padding: 0;
	margin: 0;
}


/*---------------------
	Helper CSS
-----------------------*/

.spad {
	padding-top: 90px;
	padding-bottom: 90px;
}

.section-title {
	margin-bottom: 70px;
}

.section-title h3 {
	text-transform: uppercase;
	margin-bottom: 20px;
}

.section-title p {
	margin-bottom: 0;
}

.set-bg {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center 0;
}


.text-white h1,
.text-white h2,
.text-white h3,
.text-white h4,
.text-white h5,
.text-white p,
.text-white span,
.text-white li,
.text-white a {
	color: #fff;
}

/*---------------------
	Commom elements
-----------------------*/

/* Buttons */

.site-btn {
	position: relative;
	display: inline-block;
	text-transform: uppercase;
	background: #212121;
	color: #fff;
	padding: 18px 30px;
	font-size: 14px;
	font-weight: 500;
	line-height: 14px;
	border-radius: 50px;
	min-width: 170px;
	text-align: center;
	border: none;
	cursor: pointer;

}

.site-btn a {
	color: #fff;
}

.btn-primary {
	background: #0e7ae9;
	border: 2px solid #0e7ae9;
	color: white;
}

.btn-primary:hover {
	background: #0e7ae9;
	border-color: #0e7ae9;
	transform: translateY(-3px) scale(1.05);
	box-shadow: 0 8px 25px #096ed3;
}

.btn-outline {
	background: transparent;
	border: 2px solid #666;
	color: #666;
}

.btn-outline:hover {
	background: #666;
	color: white;
	transform: translateY(-3px) scale(1.05);
	box-shadow: 0 8px 25px rgba(255, 255, 255, 0.3);
}

.btn-outline:active {
	transform: translateY(-1px) scale(1.02);
	transition: all 0.1s ease;
}



/* Preloder */

#preloder {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 999999;
	background: #004c54;
}

.loader {
	width: 40px;
	height: 40px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -13px;
	margin-left: -13px;
	border-radius: 60px;
	animation: loader 0.8s linear infinite;
	-webkit-animation: loader 0.8s linear infinite;
}

@keyframes loader {
	0% {
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
		border: 4px solid #e2dacf;
		border-left-color: transparent;
	}
	50% {
		-webkit-transform: rotate(180deg);
		        transform: rotate(180deg);
		border: 4px solid #874600;
		border-left-color: transparent;
	}
	100% {
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
		border: 4px solid #af8548;
		border-left-color: transparent;
	}
}

@-webkit-keyframes loader {
	0% {
		-webkit-transform: rotate(0deg);
		border: 4px solid #2e33f3;
		border-left-color: transparent;
	}
	50% {
		-webkit-transform: rotate(180deg);
		border: 4px solid #5a13b6;
		border-left-color: transparent;
	}
	100% {
		-webkit-transform: rotate(360deg);
		border: 4px solid #2e33f3;
		border-left-color: transparent;
	}
}

/*---------------------
	Chatbot section
-----------------------*/


/*---------------------
	Header section
-----------------------*/


.sticky {
    position: fixed;
    top: 0;
    width: 100%;
    background-color: #212121; /* Ensure the background stays visible */
    z-index: 1000;
    transition: 0.3s;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}

#nav-logo {
    width: 75px; 
}




header {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	background-color: #292d2e;
}

.navbar li, a, button {
	text-transform: uppercase;
	font-weight: 500;
	font-size: 14px;
	color: #fff;
	text-decoration: none;
}

.navbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 5%;
}

.navbar .logo {
	cursor: pointer;
}

.navbar .nav-links {
	list-style: none;
}

.navbar .nav-links li {
	display: inline-block;
	padding: 0px 20px;
}

.navbar .nav-links li a {
	-webkit-transition: all 0.4s ease 0s;
	-o-transition: all 0.4s ease 0s;
	transition: all 0.4s ease 0s;
}

.navbar .nav-links li a:hover {
	color: #0e7ae9;
}

.navbar .nav-links li.active a {
    border-bottom: 3px solid #fcc252;
	padding-bottom: 2px;
}

.navbar button {
	padding: 9px 20px;
	background-color: transparent;
	border: 2px solid white;
	border-radius: 50px;
	cursor: pointer;
	-webkit-transition: all 0.4s ease 0s;
	-o-transition: all 0.4s ease 0s;
	transition: all 0.4s ease 0s;
}

.navbar button:hover {
	background-color: #af8548;
}


.return-btn {
    font-size: 15px;
    color: white;
    text-decoration: none;
	padding: 0 0 0 5px;
}

.return-btn i {
    padding: 13px;
	border-radius: 50%;
    transition: 0.3s;
}

.return-btn i:hover {
	cursor: pointer;
	color: white;
    background: #3f4747; 
}


.reserve-btn {
    font-size: 15px;
    color: white;
    text-decoration: none;
	padding: 0 5px;
	border-right: 1px solid rgba(255, 255, 255, 0.2); /* thin white line */
}

.reserve-btn i {
    padding: 13px;
	border-radius: 50%;
    transition: 0.3s;
}

.reserve-btn i:hover {
	cursor: pointer;
	color: white;
    background:#3f4747; 
}

.filter-btn {
    font-size: 15px;
    color: white;
    text-decoration: none;
}

.filter-btn i {
    padding: 13px;
	border-radius: 50%;
    transition: 0.3s;
}

.filter-btn i:hover {
	cursor: pointer;
	color: white;
    background: #3f4747;  
}


/* Hamburger default */
.hamburger {
    display: none;
    cursor: pointer;
    font-size: 25px;
    color: white;
    z-index: 1100; /* stays on top */
}

/* When menu is active, rotate hamburger and change icon */
.hamburger.active i {
    transform: rotate(90deg);
}

/* Replace bars icon with X using FontAwesome */
.hamburger.active i:before {
    content: "\f00d"; /* Font Awesome 'X' icon */
}

/* Smooth transition */
.hamburger i {
    transition: 0.3s;
}

/* 
.nav-links .mobile-res-btn #open-reservation {
	display: none;
}
*/

.nav-links .back-btn {
	display: none;
}

.nav-links-mobile {
	display: none;
}

/* MOBILE VIEW */
@media (max-width: 768px) {

	.nav-links {
		display: none;
	}

    /* Hide the nav links in row form */
    .nav-links-mobile {
        position: fixed;
        top: 50px; /* under navbar */
        right: -100%;
        height: 100vh;
        min-width: 160px;
    	background:#292d2e; 
        flex-direction: column;
        align-items: center;
        justify-content: start;
        padding-top: 30px;
        gap: 40px;
        display: flex;
        transition: 0.3s;
    }

    /* When active, slide in */
    .nav-links-mobile.active {
        right: 0;
		z-index: 1000;
    }

    /* Show hamburger */
    .hamburger {
        display: block;
    }

	/* Hide right nav icons */
	.right-nav {
		display: none;
	}

	.back-btn {
		display: none;
	}
	
	.nav-links-mobile.active #open-reservation {
		display: contents;
	}

	.nav-links-mobi:left .back-btn {
		display: contents;
	}

    /* Make li vertical */
    .nav-links-mobile li {
		width: 100%;
        text-align: center;
        padding: 12px 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2); /* thin white line */
    }

}


/*---------------------
/*---------------------
	Reservation Section
-----------------------*/
.modal {
	display: none;
	position: fixed;
	z-index: 1000;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	justify-content: center;
	align-items: center;
}
.modal-content {
	background: white;
	padding: 20px;
	width: 90%;
	max-width: 600px;
	max-height: 90vh;
	overflow-y: auto;
	box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
	position: relative;
	transform: scale(0.8);
	opacity: 0;
	transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
.modal.show .modal-content {
	transform: scale(1);
	opacity: 1;
}

.close-btn {
	position: absolute;
	top: 15px;
	right: 30px;
	font-size: 30px;
	cursor: pointer;
}
.modal h2 {
	text-align: center;
	color: #004c54;
}
.modal form {
	display: flex;
	flex-direction: column;
}
.reservation-alert {
	display: none;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 15px;
	padding: 12px 14px;
	border-radius: 8px;
	border: 1px solid #e29b99;
	background: #fff5f5;
	color: #b3261e;
	font-weight: 500;
	box-shadow: 0 6px 18px rgba(179, 38, 30, 0.12);
}
.reservation-alert::before {
	content: "\f06a";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 18px;
	line-height: 1;
	margin-top: 2px;
}
.reservation-alert.visible {
	display: flex;
	animation: fadeInDown 0.25s ease-out;
}
@keyframes fadeInDown {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.modal label {
	margin-top: 10px;
	font-weight: bold;
}
.modal input, .modal textarea, .modal select {
	width: 100%;
	padding: 10px;
	margin-top: 5px;
	border: 1px solid #ccc;
	border-radius: 5px;
	font-family: 'Rubik', sans-serif;
	font-size: 14px;
}
.modal select {
	background-color: #fff;
	cursor: pointer;
}
.modal select:focus {
	border-color: #004c54;
	box-shadow: 0 0 0 2px rgba(0,76,84,0.1);
}
.modal .site-btn {
	background: #004c54;
	color: white;
	padding: 12px;
	border: none;
	border-radius: 5px;
	font-size: 16px;
	cursor: pointer;
	margin-top: 15px;
	transition: 0.3s;
}
.modal .site-btn:hover {
	background: #af8548;
}


/* Reservation: Multi-step & Payment */
.form-steps {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin: 10px 0 20px;
}
.step-indicator {
	font-weight: 600;
	color: #9aa1a6;
	padding-bottom: 4px;
	border-bottom: 2px solid transparent;
}
.step-indicator.active {
	color: #004c54;
	border-color: #004c54;
}
.step-sep {
	color: #c7c7c7;
}
.step {
	display: none;
}
.step-active {
	display: block;
}
.hidden {
	display: none !important;
}
.actions {
	display: flex;
	gap: 10px;
	justify-content: flex-end;
	margin-top: 15px;
}
.btn-secondary {
	background: #ffffff !important;
	color: #004c54 !important;
	border: 2px solid #004c54 !important;
}
.btn-secondary:hover {
	background: #e8f1f2 !important;
}
.payment-methods {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 8px 0 12px;
}
.pm-option {
	background: #f7f9fa;
	border: 1px solid #e3e8ec;
	border-radius: 6px;
	padding: 8px 12px;
	cursor: pointer;
}
.pm-option.selected {
	border-color: #004c54;
	box-shadow: 0 0 0 2px rgba(0,76,84,0.08);
	background: #eef7f8;
}
.pm-option input {
	margin-right: 8px;
}
.payment-fields {
	margin-top: 10px;
}
.row-inline {
	display: flex;
	gap: 10px;
}
.col-half {
	flex: 1;
}
.secure-note {
	font-size: 12px;
	color: #6b7280;
	margin-top: 8px;
}

/* Guest Availability Counter */
.guest-availability-counter {
	margin: 12px 0;
	padding: 12px 16px;
	background: #f8f9fa;
	border: 1px solid #e3e8ec;
	border-radius: 8px;
	font-size: 14px;
}
.guest-counter-content {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 6px;
}
.brand-label {
	font-weight: 600;
	color: #004c54;
}
.guest-count {
	font-weight: 700;
	font-size: 16px;
	padding: 4px 10px;
	border-radius: 6px;
	background: #e8f1f2;
	color: #004c54;
}
.guest-count.status-ok {
	background: #d4edda;
	color: #155724;
}
.guest-count.status-warning {
	background: #fff3cd;
	color: #856404;
}
.guest-count.status-full {
	background: #f8d7da;
	color: #721c24;
}
.status-badge {
	font-size: 11px;
	font-weight: 600;
	padding: 3px 8px;
	border-radius: 4px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.status-badge.status-ok {
	background: #d4edda;
	color: #155724;
}
.status-badge.status-warning {
	background: #fff3cd;
	color: #856404;
}
.status-badge.status-full {
	background: #f8d7da;
	color: #721c24;
}
.guest-counter-details {
	font-size: 12px;
	color: #6b7280;
	margin-top: 4px;
}

/* Menu Selection Step */
.menu-loading {
	text-align: center;
	padding: 40px;
	color: #666;
}
.menu-container {
	max-height: 400px;
	overflow-y: auto;
	margin-bottom: 20px;
}
.menu-category-header {
	margin: 20px 0 10px 0;
	padding-bottom: 8px;
	border-bottom: 2px solid #e3e8ec;
}
.menu-category-header h4 {
	margin: 0;
	color: #004c54;
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
}
.menu-category-header:first-child {
	margin-top: 0;
}
.menu-item-select {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px;
	border: 1px solid #e3e8ec;
	border-radius: 6px;
	margin-bottom: 10px;
	background: #fff;
	transition: all 0.2s;
}
.menu-item-select:hover {
	border-color: #004c54;
	box-shadow: 0 2px 4px rgba(0,76,84,0.1);
}
.menu-item-info {
	flex: 1;
}
.menu-item-name {
	font-weight: 600;
	color: #212121;
	margin-bottom: 4px;
}
.menu-item-price {
	color: #004c54;
	font-weight: 500;
}
.menu-item-quantity {
	display: flex;
	align-items: center;
	gap: 10px;
}
.menu-item-quantity button {
	width: 30px;
	height: 30px;
	border: 1px solid #ddd;
	background: #fff;
	border-radius: 4px;
	cursor: pointer;
	font-size: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.menu-item-quantity button:hover {
	background: #f0f0f0;
}
.menu-item-quantity input {
	width: 50px;
	text-align: center;
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 4px;
}
.menu-cart {
	border-top: 2px solid #e3e8ec;
	padding-top: 15px;
	margin-top: 20px;
}
.menu-cart h4 {
	margin-bottom: 15px;
	color: #212121;
}
#cart-items {
	max-height: 200px;
	overflow-y: auto;
	margin-bottom: 15px;
}
.cart-item {
	display: flex;
	justify-content: space-between;
	padding: 8px 0;
	border-bottom: 1px solid #f0f0f0;
}
.cart-item:last-child {
	border-bottom: none;
}
.cart-total {
	text-align: right;
	padding-top: 10px;
	border-top: 2px solid #004c54;
	font-size: 18px;
}
.cart-total span {
	color: #004c54;
}
.payment-summary {
	background: #f8f9fa;
	padding: 15px;
	border-radius: 6px;
	margin-bottom: 20px;
}
.payment-summary h4 {
	margin-bottom: 15px;
	color: #212121;
}
#payment-cart-items {
	margin-bottom: 15px;
}
.payment-cart-item {
	display: flex;
	justify-content: space-between;
	padding: 8px 0;
	border-bottom: 1px solid #e3e8ec;
}
.payment-cart-item:last-child {
	border-bottom: none;
}
.payment-total {
	text-align: right;
	padding-top: 10px;
	border-top: 2px solid #004c54;
	font-size: 18px;
}
.payment-total span {
	color: #004c54;
}
.receipt-message {
	background: #e8f1f2;
	padding: 15px;
	border-radius: 6px;
	margin-bottom: 15px;
}
.receipt-message p {
	margin: 0;
	color: #004c54;
	line-height: 1.6;
}
/* Receipt overlay */
.receipt-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.6);
    display: none;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: .3s ease;
    z-index: 9999;
}

.receipt-overlay.show {
    display: flex;
    opacity: 1;
}

.receipt {
    width: 430px;
    background: white;
    border-radius: 12px;
    padding: 30px;
    font-family: "Poppins", sans-serif;
    box-shadow: 0 0 20px rgba(0,0,0,0.15);
    animation: slideUp .4s ease;
}

@keyframes slideUp {
    from { transform: translateY(20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

.receipt-header {
    text-align: center;
    margin-bottom: 20px;
}

.receipt-logo {
    width: 80px;
    margin-bottom: 10px;
}

.receipt-status {
    color: #0abf53;
    font-weight: bold;
}

.receipt-body {
    border-top: 1px solid #ddd;
    padding-top: 15px;
}

.receipt-row {
    display: flex;
    justify-content: space-between;
    margin: 8px 0;
    font-size: 14px;
}

.receipt-row span {
    color: #666;
}

.receipt-note {
    text-align: center;
    font-size: 11px;
    margin-top: 15px;
    color: #888;
}
.receipt-ok-btn {
    width: 100%;
    padding: 10px;
    margin-top: 15px;
    background: #007BFF;
    border: none;
    border-radius: 6px;
    color: white;
    font-size: 14px;
    cursor: pointer;
}

.receipt-ok-btn:hover {
    background: #0056c8;
}

/* OTP Step Styles */
.otp-container {
	text-align: center;
	padding: 20px 0;
}

.otp-instruction {
	margin-bottom: 20px;
	color: #666;
	font-size: 14px;
}

#otp-code {
	width: 100%;
	max-width: 300px;
	margin: 0 auto 15px;
	padding: 15px;
	font-size: 24px;
	text-align: center;
	letter-spacing: 8px;
	border: 2px solid #ddd;
	border-radius: 8px;
	text-transform: uppercase;
}

#otp-code:focus {
	border-color: #004c54;
	outline: none;
	box-shadow: 0 0 0 3px rgba(0, 76, 84, 0.1);
}

.otp-status {
	min-height: 30px;
	margin-bottom: 15px;
}

.otp-status .error {
	color: #dc3545;
	font-size: 14px;
}

.otp-status .success {
	color: #28a745;
	font-size: 14px;
}

.otp-actions {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 15px;
	margin-bottom: 20px;
}

#resend-otp {
	background: none;
	border: none;
	color: #004c54;
	cursor: pointer;
	text-decoration: underline;
	font-size: 14px;
	padding: 0;
}

#resend-otp:hover:not(:disabled) {
	color: #006d7a;
}

#resend-otp:disabled {
	color: #999;
	cursor: not-allowed;
	text-decoration: none;
}

.otp-timer {
	color: #666;
	font-size: 13px;
}

.btn-link {
	background: transparent;
	border: none;
	padding: 0;
	text-decoration: underline;
}


html,
body {
    height: 100%;
    font-family: 'Rubik', sans-serif;
}

/* Floating Chat Button */
.chat-toggle-btn {
	position: fixed;
	z-index: 1200;
	bottom: 20px;
	right: 20px;
	width: 56px;
	height: 56px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: none;
	cursor: pointer;
	font-size: 20px;
	color: #ffffff;
	background: linear-gradient(135deg, #212121 0%, hsl(210, 89%, 48%) 55%, #3aa3ff 100%);
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.25), 0 2px 6px rgba(0, 0, 0, 0.15);
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.chat-toggle-btn svg {
	width: 24px;
	height: 24px;
	display: block;
}

.chat-toggle-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(0, 0, 0, 0.28), 0 4px 10px rgba(0, 0, 0, 0.2);
	filter: brightness(1.03);
}

.chat-toggle-btn:active {
	transform: translateY(0);
}

/* Pulse ring */
.chat-toggle-btn::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	box-shadow: 0 0 0 0 rgba(14, 122, 233, 0.45);
	animation: chatPulse 2.2s ease-out infinite;
}

@keyframes chatPulse {
	0% { box-shadow: 0 0 0 0 rgba(14, 122, 233, 0.45); }
	70% { box-shadow: 0 0 0 14px rgba(32, 160, 174, 0); }
	100% { box-shadow: 0 0 0 0 rgba(32, 160, 174, 0); }
}

/* Unread badge */
.chat-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 9px;
    background: #e53935;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(229, 57, 53, 0.6);
    transform: scale(0);
    transition: transform 0.2s ease;
}

.chat-badge.show {
    transform: scale(1);
}

/* Chat Box Animations & UI */
.chat-box {
	position: fixed;
	z-index: 1200;
	bottom: 84px;
	right: 20px;
	width: 360px;
	max-height: 72vh;
	display: flex;
	flex-direction: column;
	background: #111315;
	border: 1px solid rgba(255,255,255,0.06);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.4), 0 4px 10px rgba(0, 0, 0, 0.2);
	border-radius: 14px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(16px) scale(0.98);
	transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
}

.chat-box.show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) scale(1);
}

.chat-header {
	background: linear-gradient(135deg, #212121 0%, #0e7ae9 55%, #3aa3ff 100%);
	color: white;
	padding: 12px 14px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top-left-radius: 14px;
	border-top-right-radius: 14px;
	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.08);
}

.chat-header h4 {
	margin-left: 10px;
}

.close-chat {
    background: none;
    border: none;
    color: white;
    font-size: 20px;
    cursor: pointer;
}

.chat-body {
	padding: 12px;
	max-height: 56vh;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

/* Smooth scrollbars */
.chat-body::-webkit-scrollbar { width: 10px; }
.chat-body::-webkit-scrollbar-track { background: transparent; }
.chat-body::-webkit-scrollbar-thumb {
	background: rgba(255,255,255,0.14);
	border-radius: 8px;
	border: 2px solid transparent;
	background-clip: padding-box;
}

/* Chat Message Styling */
.chat-message {
	padding: 9px 12px;
	border-radius: 12px;
	max-width: 80%;
	word-wrap: break-word;
	margin: 4px 0;
	box-shadow: 0 2px 6px rgba(0,0,0,0.25);
}

/* Readable links inside chat */
.chat-message a {
    color: #0e7ae9;
    font-weight: 600;
    text-decoration: underline;
}

.chat-message a:hover {
    color: #0b5db0;
}

.user-message {
	background: #1f2b36;
	color: #e8f2ff;
	align-self: flex-end;
	text-align: right;
	border-bottom-right-radius: 6px;
}

.bot-message {
	background: #171a1d;
	color: #eaeaea;
	align-self: flex-start;
	border-bottom-left-radius: 6px;
}

.typing-indicator {
    font-style: italic;
    color: gray;
}

/* Chat Footer (Input Box & Send	 Button) */
.chat-footer {
	display: flex;
	padding: 10px;
	gap: 8px;
	border-top: 1px solid rgba(255,255,255,0.08);
	background: #111315;
	border-bottom-left-radius: 14px;
	border-bottom-right-radius: 14px;
}

.chat-footer input {
	flex: 1;
	padding: 10px 12px;
	border: 1px solid #30363d;
	background: #0d0f11;
	color: #eaeaea;
	border-radius: 10px;
	outline: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.chat-footer input:focus {
	border-color: #0e7ae9;
	box-shadow: 0 0 0 3px rgba(14,122,233,0.18);
}

.chat-footer button {
	margin-left: 0;
	background: #0e7ae9;
	color: #fff;
	border: none;
	padding: 10px 14px;
	border-radius: 10px;
	cursor: pointer;
	transition: transform 0.15s ease, background 0.15s ease;
}

.chat-footer button:hover {
	background: #0b67c3;
	transform: translateY(-1px);
}

.chat-footer button:active {
	transform: translateY(0);
}

/* Chat Options Styling */
.chat-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-top: 10px;
}

.chat-option {
    background: #0e7ae9;
    color: white;
    border: none;
    padding: 8px 12px;
    border-radius: 5px;
    cursor: pointer;
    transition: 0.3s;
}

.chat-option:hover {
    background: #3aa3ff;
}


/*---------------------
	Hero Section
-----------------------*/

.hs-item {
	min-height: 760px;
	position: relative;
	display: table;
	width: 100%;
}



.hs-item .hs-text {
	position: relative;
	display: table-cell;
	vertical-align: middle;
	z-index: 2;
}

.hs-item .hs-subtitle {
	font-size: 16px;
	text-transform: uppercase;
	color: #0e7ae9;
	font-weight: 500;
	letter-spacing: 2px;
	margin-bottom: 30px;
	position: relative;
	opacity: 0;
	top: 50px;
}

.hs-item .hs-title {
	color: #ffffff;
	font-size: 48px;
	margin-bottom: 25px;
	position: relative;
	left: 150px;
	opacity: 0;
	text-transform: uppercase;
}

.hs-item .hs-des {
	color: #fff;
	font-size: 16px;
	line-height: 2;
	position: relative;
	left: 150px;
	opacity: 0;
}

.hs-item .site-btn {
	margin-top: 30px;
	opacity: 0;
	top: 50px;
}

.owl-item.active .hs-item .hs-title,
.owl-item.active .hs-item .hs-des,
.owl-item.active .hs-item .hs-subtitle,
.owl-item.active .hs-item .site-btn {
	left: 0;
	top: 0;
	opacity: 1;
}

.owl-item.active .hs-item .hs-subtitle {
	-webkit-transition: all 0.5s ease 0.4s;
	-o-transition: all 0.5s ease 0.4s;
	transition: all 0.5s ease 0.4s;
}

.owl-item.active .hs-item .hs-title {
	-webkit-transition: all 0.5s ease 0.6s;
	-o-transition: all 0.5s ease 0.6s;
	transition: all 0.5s ease 0.6s;
}

.owl-item.active .hs-item .hs-des {
	-webkit-transition: all 0.5s ease 0.8s;
	-o-transition: all 0.5s ease 0.8s;
	transition: all 0.5s ease 0.8s;
}

.owl-item.active .hs-item .site-btn {
	-webkit-transition: all 0.5s ease 1s;
	-o-transition: all 0.5s ease 1s;
	transition: all 0.5s ease 1s;
}

.hero-slider .owl-dots {
	position: absolute;
	width: 100%;
	bottom: 30px;
	left: 0;
	z-index: 1;
	text-align: center;
}

.hero-slider .owl-dots .owl-dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 10px;
	background: #fff;
	margin: 0 5px;
}

.hero-slider .owl-dots .owl-dot.active {
	background: #fcc252;
}



/*---------------------
	Blog Section
-----------------------*/

.blog-item {
	padding-left: 88px;
	margin-bottom: 60px;
	overflow: hidden;
}

.blog-item .blog-thumb {
	width: 380px;
	height: 240px;
	box-shadow: 5px 5px 20px black;
	overflow: hidden;
}

.blog-item .blog-thumb:hover{
	cursor: pointer;
}


.blog-item .blog-content {
	height: 40px;
	width: 380px;
	padding: 6px;
	box-sizing: border-box;
	position: absolute;
	bottom: 60px;
	background: rgba(27, 27, 27, .5);
	transition: .3s;
}

.blog-item .blog-content h4 {
	font-size: 22px;
	font-weight: 400;
	margin-bottom: 8px;
	line-height: 1.4;
	color: white;
}

.blog-item .blog-content p {
	font-weight: 400;
	margin-bottom: 8px;
	line-height: 1.4;
	color: white;
	opacity: 0;
}

.blog-item .blog-content:hover{
	height: 130px;
	background: black;
}

.blog-item .blog-content p:hover{
	opacity: 1;
	visibility: visible;
}

.blog-item .blog-meta {
	margin-bottom: 15px;
}

.blog-item .blog-meta span {
	margin-right: 10px;
	font-size: 12px;
	color: #b7b7b7;
}

.blog-item .blog-meta span i {
	color: #03a9f4;
	margin-right: 3px;
}

/*---------------------
	Article Section
-----------------------*/

.article-section {
	position: relative;
	padding: 80px 0;
}

.article-section:after {
	position: absolute;
	content: '';
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: #000;
	opacity: 0.4;
	z-index: 0;
}

.article-section .container {
	position: relative;
	z-index: 1;
}

/* Article Card Styles  */
.article-card {
	position: relative;
	display: flex;
	background: rgba(0, 0, 0, 0.6);
	border-radius: 8px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}

.article-card-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
}

.article-return {
	position: relative;
	color: rgba(255, 255, 255, 0.7);
	letter-spacing: 2px;
	font-size: 18px;
}

.article-return:hover {
	color: #fff;
}

.article-date {
	color: rgba(255, 255, 255, 0.7);
	font-size: 20px;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 50px;
}

.article-card-title {
	color: #fff;
	font-size: 60px;
	font-weight: 700;
	line-height: 1.2;
	transition: color 0.3s ease;
	margin-top: 20px;
	margin-bottom: 20px;
}

.article-card-description {
	margin-top: 40px;
	margin-bottom: 100px;
}

.article-card-description p {
	color: rgba(255, 255, 255, 0.9);
	font-size: 22px;
	line-height: 1.6;
	margin-top: 20px;
}

@media (max-width: 991px) {
	.article-card {
		flex-direction: column;
	}
	
	.article-card-image,
	.article-card-content {
		width: 100%;
	}
	
	.article-card-image {
		height: 300px;
	}
}
/*---------------------
	Feature Section
-----------------------*/

.feature-section {
	position: relative;
	padding: 80px 0;
}

.feature-section:after {
	position: absolute;
	content: '';
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: #000;
	opacity: 0.4;
	z-index: 0;
}

.feature-section .container {
	position: relative;
	z-index: 1;
}

/* Feature Card Styles - Dota 2 Style */
.feature-card {
	position: relative;
	display: flex;
	background: rgba(0, 0, 0, 0.6);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	cursor: pointer;
}

.feature-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.6);
}

.feature-card-image {
	position: relative;
	width: 50%;
	overflow: hidden;
	min-height: 400px;
}

.feature-card-image img {
	width: 100%;
	height: 100%;
	min-height: 400px;
	object-fit: cover;
	transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.feature-card:hover .feature-card-image img {
	transform: scale(1.1);
}

.feature-card-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.7) 100%);
	opacity: 0;
	transition: opacity 0.4s ease;
}

.feature-card:hover .feature-card-overlay {
	opacity: 1;
}

.feature-card-content {
	width: 50%;
	padding: 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	background: rgba(0, 0, 0, 0.5);
}

.feature-card-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
}

.feature-badge {
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	padding: 6px 12px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.feature-date {
	color: rgba(255, 255, 255, 0.7);
	font-size: 14px;
}

.feature-card-title {
	color: #fff;
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 20px;
	line-height: 1.2;
	transition: color 0.3s ease;
}

.feature-card:hover .feature-card-title {
	color: #ffd700;
}

.feature-card-description {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	max-height: 0;
	opacity: 0;
	transition: max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease 0.2s;
}

.feature-card:hover .feature-card-description {
	max-height: 200px;
	opacity: 1;
}

.feature-card-description p {
	color: rgba(255, 255, 255, 0.9);
	font-size: 16px;
	line-height: 1.6;
	margin: 0;
}

@media (max-width: 991px) {
	.feature-card {
		flex-direction: column;
	}
	
	.feature-card-image,
	.feature-card-content {
		width: 100%;
	}
	
	.feature-card-image {
		height: 300px;
	}
}

.feature-list-item {
	padding-left: 0px;
	position: relative;
	padding-bottom: 15px;
	margin-bottom: 10px;
}

.feature-list-item h5 {
	font-weight: 400;
	margin-bottom: 10px;
}

/*---------------------
	FAQ Section
-----------------------*/
.faq-section {
	padding: 80px 0;
	background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

.faq-section .section-header {
	margin-bottom: 60px;
}

.faq-section .section-header h2 {
	color: #333;
	font-size: 2.5rem;
	font-weight: 600;
	margin-bottom: 15px;
}

.faq-section .section-header p {
	color: #666;
	font-size: 1.1rem;
	margin-bottom: 0;
}

.faq-container {
	max-width: 800px;
	margin: 0 auto;
}

.faq-item {
	background: white;
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	margin-bottom: 20px;
	overflow: hidden;
	transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.faq-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.faq-question {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 25px 30px;
	background: linear-gradient(135deg, #0e7ae9 0%, #fcc252 100%);
	color: white;
	cursor: pointer;
	user-select: none;
	transition: all 0.3s ease;
}

.faq-question:hover {
	background: linear-gradient(135deg, #0e7ae9 0%, #fcc252 100%);
}

.faq-question span {
	font-size: 1.1rem;
	font-weight: 500;
	flex: 1;
}

.faq-question i {
	font-size: 1.2rem;
	transition: transform 0.3s ease;
	margin-left: 15px;
}

.faq-item.active .faq-question i {
	transform: rotate(180deg);
}

.faq-answer {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	background: white;
}

.faq-item.active .faq-answer {
	max-height: 200px;
}

.faq-answer p {
	padding: 25px 30px;
	margin: 0;
	color: #555;
	line-height: 1.6;
	font-size: 1rem;
	border-top: 1px solid #f0f0f0;
}

/* FAQ Animation for opening */
@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.faq-item.active .faq-answer p {
	animation: slideDown 0.3s ease-out;
}

/* Responsive FAQ adjustments */
@media (max-width: 768px) {
	.faq-section {
		padding: 60px 0;
	}
	
	.faq-section .section-header h2 {
		font-size: 2rem;
	}
	
	.faq-question {
		padding: 20px 25px;
	}
	
	.faq-question span {
		font-size: 1rem;
	}
	
	.faq-answer p {
		padding: 20px 25px;
		font-size: 0.95rem;
	}
}

/*---------------------
	Event Cards
-----------------------*/
/* Event Cards */
.event-card {
	position: relative;
	margin-bottom: 40px;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	cursor: pointer;
}

.event-card:hover {
	transform: translateY(-12px);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.event-card-image {
	position: relative;
	width: 100%;
	height: 400px;
	overflow: hidden;
}

.event-card-thumb {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.event-card:hover .event-card-thumb {
	transform: scale(1.15);
}

.event-card-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.3) 70%, rgba(0, 0, 0, 0.70) 100%);
	opacity: 1;
	transition: opacity 0.4s ease;
	z-index: 1;
}

.event-card:hover .event-card-overlay {
	background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.95) 100%);
}

.event-card-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 30px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	transform: translateY(0);
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.event-card:hover .event-card-content {
	transform: translateY(-8px);
}

.event-card-header {
	margin-bottom: 12px;
}

.event-date {
	color: rgba(255, 255, 255, 0.8);
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: color 0.3s ease;
}

.event-card:hover .event-date {
	color: rgba(255, 255, 255, 1);
}

.event-card-title {
	font-size: 28px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 12px;
	line-height: 1.3;
	transition: color 0.3s ease, transform 0.3s ease;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

.event-card:hover .event-card-title {
	color: #fcc252;
	transform: translateY(-4px);
}

.event-card-description {
	color: rgba(255, 255, 255, 0.9);
	font-size: 15px;
	line-height: 1.7;
	margin: 0;
	max-height: 0;
	opacity: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.5s ease 0.2s, margin 0.4s ease 0.2s;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}


.event-card:hover .event-card-description {
	max-height: 200px;
	opacity: 1;
	margin-top: 12px;
}

/* Latest Events Section Styles */
.latest-events-section {
	position: relative;
}

.section-header-latest-events {
	margin-bottom: 30px;
}

.section-title-latest-events h1 {
	text-transform: uppercase;
	margin: 0;
	font-size: 60px;
	color: #fff;
}

.view-all-link {
	display: flex;
	align-items: center;
}

/* Smaller Event Cards for Latest Events */
.event-card-small .event-card-image {
	height: 300px;
}

.event-card-small .event-card-content {
	padding: 20px;
}

.event-card-small .event-card-title {
	font-size: 22px;
}

.event-card-small .event-card-description {
	font-size: 14px;
}

.event-card-small:hover .event-card-description {
	max-height: 150px;
}

/* Responsive styles for Latest Events Section */
@media (max-width: 991px) {
	.section-header-latest-events {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
	}
	
	.section-title-latest-events h1 {
		font-size: 40px;
	}
	
	.view-all-link {
		width: 100%;
		justify-content: flex-start;
	}
}

@media (max-width: 767px) {
	.section-title-latest-events h1 {
		font-size: 32px;
	}
	
	.event-card-small .event-card-image {
		height: 250px;
	}
	
	.event-card-small .event-card-title {
		font-size: 20px;
	}
}

/* View Menu Link */
.view-menu-link {
	display: inline-block;
	color: #111111;
	font-size: 20px;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.3s ease;
}

.view-menu-link i {
	margin-left: 8px;
	transition: transform 0.3s ease;
}

.view-menu-link:hover {
	color: #af8548;
	transform: translateX(5px);
}

/* View All Link */
.view-all-link-btn {
	display: inline-block;
	color: #111111;
	font-size: 20px;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.3s ease;
}

.view-all-link-btn i {
	margin-left: 8px;
	transition: transform 0.3s ease;
}

.view-all-link-btn:hover {
	color: #af8548;
	transform: translateX(5px);
}

/*---------------------
	Menu page
-----------------------*/
.food {
	background-color: #f9f7f2;
	margin: 0;
	padding: 20px;
}
.menu-title {
	padding: 20px 0;
	text-transform: uppercase;
	display: grid;
	max-width: 1200px;
	margin: auto;
}
.menu-container {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 20px;
	max-width: 1200px;
	margin: auto;
}
.menu-item {
	background: white;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease;
}
.menu-item:hover {
	transform: scale(1.05);
}
.menu-item img {
	width: 100%;
	height: 350px;
	object-fit: cover;
}
.menu-info {
	padding: 15px;
	text-align: center;
}
.menu-info h3 {
	margin: 10px 0;
	font-size: 18px;
}
.menu-info p {
	color: #555;
	font-size: 14px;
}
.menu-info .price {
	font-size: 16px;
	font-weight: bold;
	color: #27ae60;
	margin-top: 5px;
}
.menu-info .price span {
	display: block;
	font-size: 14px;
	color: #333;
	font-weight: normal;
}


/* Dropdown container */
.dropdown {
    position: relative;
    display: inline-block;
}

/* Dropdown button */
.dropbtn {
    background-color: transparent;
    color: white;
    font-size: 14px;
    border: none;
    cursor: pointer;
}

.dropbtn.active {
    border-bottom: 3px solid #fcc252;
	padding-bottom: 2px;
}

/* Dropdown content (initially hidden with opacity and transform) */
.dropdown-content {
    opacity: 0;
    transform: translateY(0px);
    visibility: hidden;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
}


/* Links inside the dropdown */
.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

/* Show dropdown on hover with transition */
.dropdown:hover .dropdown-content {
    opacity: 1;
    transform: translateY(10px);
    visibility: visible;
}


/* ---------------------------------------
   MOBILE DROPDOWN (SLIDE ANIMATION + ARROW)
---------------------------------------- */

/* Dropdown content (hidden by default) */
.nav-links-mobile .dropdown .dropdown-content {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.35s ease;
}

/* Arrow animation */
.nav-links-mobile .dropdown i.fa-angle-down {
    transition: transform 0.3s ease;
}

/* Optional: improve spacing so dropdown looks cleaner */
.nav-links-mobile .dropdown .dropdown-content a {
    padding: 12px 0;
    display: block;
}



/*---------------------
	Reviews Section
-----------------------*/

/* Scoped styles for Reviews section */
.reviews-section { 
	background: #0b0b0b; 
	padding-top: 60px; 
	padding-bottom: 60px; 
}

.reviews-section .section-header h2 { 
	color: #fff; 
}

.reviews-section .section-header p { 
	color: #cfcfcf; 
}

.brand-summary-card { 
	background:#121212; 
	border:1px solid #1f1f1f; 
	border-radius:8px; 
	padding:16px; 
	height:100%; 
	color:#eaeaea; 
}

.brand-summary-card h5 {
	color: #fff;
}

.brand-summary-card .stars i { 
	color:#f5c518; 
	margin-right:2px; 
}

.brand-summary-card .avg-text { 
	font-size:12px; 
	color:#a8a8a8; 
	margin-top:6px; 
}

.star-num { 
	font-size:12px; 
	color:#c9c9c9; 
	margin-left:6px; 
}

.filter-buttons .btn { 
	margin-right:8px; 
	margin-bottom:8px; 
}

.filter-buttons .btn.active { 
	background:#f36100; 
	border-color:#f36100; 
	color:#fff; 
}

.review-card { 
	background:#121212; 
	border:1px solid #1f1f1f; 
	border-radius:10px; 
	padding:16px; 
	height:100%; 
	color:#eaeaea; 
}

.review-header { 
	display:flex; 
	justify-content:space-between; 
	align-items:center; 
	margin-bottom:8px; 
}

.badge-brand { 
	background:#0e7ae9; 
	color:#ffffff; 
	border:1px solid #054585; 
	padding:4px 8px; 
	border-radius:999px; 
	font-size:12px; 
}

.review-date { 
	color:#a8a8a8; 
	font-size:12px; 
}

.review-stars i { 
	color:#f5c518; 
	margin-right:2px; 
}

.review-body { 
	margin-top:8px; 
}

.review-comment { 
	margin:0 0 6px 0; 
	color:#dcdcdc; 
}

.reviewer { 
	color:#a8a8a8; 
	font-size:13px; 
}

.mt-3 { 
	margin-top: 1rem; 
}

.reviews-scroll { 
	max-height: 600px; 
	overflow-y: auto; 
	padding-right: 6px; 
}

/* Optional scrollbar styling */
.reviews-scroll::-webkit-scrollbar { 
	width: 8px; 
}

.reviews-scroll::-webkit-scrollbar-thumb { 
	background: #2a2a2a; 
	border-radius: 6px; 
}

.reviews-scroll::-webkit-scrollbar-track { 
	background: #0b0b0b; 
}

/* Star input */
.rating-input { 
	display:flex; 
	gap:6px; 
	font-size:22px; 
}

.rating-input .star { 
	cursor:pointer; 
	color:#555; 
	transition:color .15s ease; 
}

.rating-input .star.active, .rating-input .star.hover { 
	color:#f5c518; 
}

/* Modal */
.review-modal { 
	position:fixed; 
	inset:0; 
	display:none; 
	z-index:1050; 
}

.review-modal[aria-hidden="false"] { 
	display:block; 
}

.review-modal__backdrop { 
	position:absolute; 
	inset:0; 
	background:rgba(0,0,0,0.6); 
}

.review-modal__dialog { 
	position:relative; 
	background:#121212; 
	border:1px solid #1f1f1f; 
	border-radius:10px; 
	width:100%; 
	max-width:560px; 
	margin:60px auto; 
	color:#eaeaea; 
	box-shadow:0 10px 30px rgba(0,0,0,0.5); 
}

.review-modal__header { 
	display:flex; 
	align-items:center; 
	justify-content:space-between; 
	padding:14px 16px; 
	border-bottom:1px solid #1f1f1f; 
}

.review-modal__title { 
	margin:0; 
	font-size:18px; 
	color: white;
}

.review-modal__close { 
	background:transparent; 
	border:0; 
	color:#a8a8a8; 
	font-size:22px; 
	line-height:1; 
	cursor:pointer; 
}

.review-modal__body { 
	padding:16px; 
}

.form-group { 
	margin-bottom:12px; 
}

.form-control { 
	background:#0f0f0f; 
	border:1px solid #2a2a2a; 
	color:#666; 
	border-radius:6px; 
	padding:8px 10px; 
	width:100%; 
}

.form-control:focus { 
	outline:none; 
	border-color:#f36100; 
	box-shadow:0 0 0 2px rgba(243,97,0,0.15); 
}

label { 
	color:#cfcfcf; 
	margin-bottom:6px; 
	display:block; 
}

.text-right { 
	text-align:right; 
}

@media (max-width: 767.98px) {
	.review-card { padding:14px; }
	.reviews-scroll { max-height: 420px; }
}


/*---------------------
	Footer Section
-----------------------*/

.footer-section {
	background-color: #212121;
	background-image: url("../img/");
	background-repeat: no-repeat;
	background-position: center 75px;
}

.footer-section .footer-top {
	padding: 65px 15px;
}

.footer-section .copyright {
	border-top: 1px solid #0e7ae9;
	padding: 27px 0;
	text-align: center;
	color: #fff;
}

.footer-widget .fw-title {
	text-transform: uppercase;
	color: #0e7ae9;
	margin-bottom: 25px;
	padding-top: 10px;
}

.footer-widget ul {
	list-style: none;
}

.footer-widget .about-widget img {
	margin-bottom: 30px;
}

.footer-widget .about-widget p {
	color: #fff;
	margin-bottom: 35px;
}

.footer-widget .social a {
	color: #fff;
	margin-right: 0px;
}

.footer-widget .dobule-link ul {
	display: inline-block;
}

.footer-widget .dobule-link ul a {
	display: block;
	font-size: 14px;
	color: #fff;
	margin-bottom: 15px;
}

.footer-widget .dobule-link ul a:hover {
	color: #fff;
}

.footer-widget .dobule-link ul li:last-child a {
	margin-bottom: 0;
}

.footer-widget .dobule-link ul:last-child {
	margin-left: 0px;
}

.footer-widget .recent-post li {
	margin-bottom: 25px;
}

.footer-widget .recent-post p {
	margin-bottom: 5px;
}

.footer-widget .contact li {
	margin-bottom: 15px;
	display: block;
}

.footer-widget .contact li p {
	margin-bottom: 0;
	color: #fff;
}

.footer-widget .contact i {
	font-size: 12px;
}


/*---------------------
	Other Pages
----------------------
======================*/

.site-breadcrumb {
	padding: 60px 0;
	color: #b7b7b7;
	font-size: 18px;
}

.site-breadcrumb a {
	color: #111111;
}

.site-breadcrumb a i {
	margin: 0;
}

.site-breadcrumb i {
	margin: 0 10px;
}

.site-breadcrumb f {
	margin: 0 10px;
}

.site-pageination {
	list-style: none;
}

.site-pageination li {
	display: inline;
	text-align: center;
}

.site-pageination li a {
	display: inline-block;
	min-width: 40px;
	height: 40px;
	border: 1px solid #e1e1e1;
	color: #636363;
	padding-top: 9px;
	font-size: 14px;
	margin-right: 14px;
	border-radius: 2px;
}

.site-pageination li a:hover,
.site-pageination li a.active {
	background: #03a9f4;
	border-color: #03a9f4;
	color: #fff;
}
