@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&family=Inter:wght@300;400;500;600&display=swap');

:root {
	--font-primary: 'ZEN-SERIF-TTF-Regular', serif;
	--font-headings: 'ZEN-SERIF-TTF-Regular', serif;
	--font-accent: 'BlackSignature', cursive;
	--gz-btn-bg: #bba262;
	--gz-btn-bg-hover: #bba262; /*//buttons#bba262*/
	--gz-btn-text: #F7F0D5;
	--gz-primary: #CFE9D6;
	--gz-secondary: #bba262;
	--gz-accent: #bba262;
	--gz-text-dark: #2e2e2e;
	--gz-text-medium: #4f4f4f;
	--gz-text-light: #777777;
	--gz-bg-dark: #777777;
	--gz-border: #e5e5e5;
	--gz-plus: #DED094;
	--gz-mint: #CFE9D6;
	--gz-green: #000000;
	--gz-ivory: #fff8e5;
	--gz-sand: #DED094;
	--gz-olive: #89805E;
	--gz-bg-light: var(--gz-ivory);
	--gz-booking-txt: #0F0F0F;
}

@font-face {
	font-family: 'ZEN-SERIF-TTF-Regular';
	src: url('/fonts/ZEN-SERIF-TTF-Regular.ttf') format('opentype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'BlackSignature';
	src: url('/fonts/BlackSignature_PERSONAL_USE_ONLY.otf') format('opentype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'AlexandriaFLF-BoldItalic';
	src: url('/fonts/AlexandriaFLF-BoldItalic.otf') format('opentype');
	font-weight: normal;
	font-style: italic;
}

.header-fixed {
	position: fixed !important;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 99999;
	background: #ffffff;
	box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}

/* Prevent content from hiding under header */
/*body {
	padding-top: 190px;*/ /* ρύθμισέ το αν χρειαστεί */
/*}*/

body {
	font-family: var(--font-headings);
}

p,
li,
span,
input,
label,
button,
textarea {
	font-family: var(--font-primary);
}

h1, h2, h3, h4, h5, h6,
.section-title h2,
.nav-menu ul li a {
	font-family: var(--font-headings);
}

.signature,
.owner-caption .signature {
	font-family: var(--font-accent);
}







/* Button base — canonical definition below at line ~3583 */



/* Signature font class */
.signature, .logo-signature {
}

/**/


/******************************************************************
  Template Name: Sona
  Description: Sona Hotel Html Template
  Author: Colorlib
  Author URI: https://colorlib.com
  Version: 1.0
  Created: Colorlib
******************************************************************/

/*------------------------------------------------------------------
[Table of contents]

1.  Template default CSS
	1.1	Variables
	1.2	Mixins
	1.3	Flexbox
	1.4	Reset
2.  Helper Css
3.  Header Section
4.  Hero Section
5.  About Section
6.  Services Section
7.  Testimonial Section
8.  Blog Section
9.  Contact
10.  Footer Style

-------------------------------------------------------------------*/

/*----------------------------------------*/

/* Template default CSS
/*----------------------------------------*/

html, body {
	height: 100%;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	font-size: 20px;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	color: #111111;
	font-weight: 400;
}

h1 {
	font-size: 74px;
}

h2 {
	font-size: 38px;
}

h3 {
	font-size: 32px;
}

h4 {
	font-size: 26px;
}

h5 {
	font-size: 19px;
}

h6 {
	font-size: 17px;
}

p {
	font-size: 17px;
	color: #6b6b6b;
	font-weight: 400;
	line-height: 26px;
	margin: 0 0 15px 0;
}

img {
	max-width: 100%;
}

input:focus, select:focus, button:focus, textarea:focus {
	outline: none;
}

a:hover, a:focus {
	text-decoration: none;
	outline: none;
	color: #fff;
}

ul, ol {
	padding: 0;
	margin: 0;
}
/*---------------------
  Helper CSS
-----------------------*/

.section-title {
	text-align: center;
	margin-bottom: 22px;
}

	.section-title span {
		font-size: 40px;
		color: var(--gz-text-dark);
		margin-top: 10px;
		margin-bottom: 20px;
		font-weight: 600;
	}

	.section-title h2 {
		font-size: 40px;
		color: var(--gz-text-dark);
		margin-top: 10px;
		margin-bottom: 20px;
		font-weight: 600;
	}

.set-bg {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
}

.spad {
	padding-top: 100px;
	padding-bottom: 100px;
}

.spad-2 {
	padding-top: 50px;
	padding-bottom: 70px;
}

.text-white h1, .text-white h2, .text-white h3, .text-white h4, .text-white h5, .text-white h6, .text-white p, .text-white span, .text-white li, .text-white a {
	color: #fff;
}
/* buttons */

.primary-btn {
	display: inline-block;
	font-size: 13px;
	color: #F7F0D5;
	text-transform: uppercase;
	letter-spacing: 2px;
	font-weight: 700;
	position: relative;
}

	.primary-btn:after {
		position: absolute;
		left: 0;
		bottom: -5px;
		width: 100%;
		height: 2px;
/*		background: var(--gz-accent);
*/		content: "";
	}
/* Preloder */

#preloder {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 999999;
	background: #ffffff;
}

.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 #f44336;
		border-left-color: transparent;
	}

	50% {
		-webkit-transform: rotate(180deg);
		transform: rotate(180deg);
		border: 4px solid #673ab7;
		border-left-color: transparent;
	}

	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
		border: 4px solid #f44336;
		border-left-color: transparent;
	}
}

@-webkit-keyframes loader {
	0% {
		-webkit-transform: rotate(0deg);
		border: 4px solid #f44336;
		border-left-color: transparent;
	}

	50% {
		-webkit-transform: rotate(180deg);
		border: 4px solid #673ab7;
		border-left-color: transparent;
	}

	100% {
		-webkit-transform: rotate(360deg);
		border: 4px solid #f44336;
		border-left-color: transparent;
	}
}

.spacial-controls {
	position: fixed;
	width: 111px;
	height: 91px;
	top: 0;
	right: 0;
	z-index: 999;
}

	.spacial-controls .search-switch {
		display: block;
		height: 100%;
		padding-top: 30px;
		background: #323232;
		text-align: center;
		cursor: pointer;
	}

.search-model {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: #000;
	z-index: 99999;
}

.search-model-form {
	padding: 0 15px;
}

	.search-model-form input {
		width: 500px;
		font-size: 40px;
		border: none;
		border-bottom: 2px solid #333;
		background: none;
		color: #999;
	}

.search-close-switch {
	position: absolute;
	width: 50px;
	height: 50px;
	background: #333;
	color: #fff;
	text-align: center;
	border-radius: 50%;
	font-size: 28px;
	line-height: 28px;
	top: 30px;
	cursor: pointer;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
/*---------------------
  Header
-----------------------*/

.header-section.header-normal .menu-item {
	-webkit-box-shadow: 0px 12px 15px rgba(36, 11, 12, 0.05);
	box-shadow: 0px 12px 15px rgba(36, 11, 12, 0.05);
}

.top-nav {
	border-bottom: 1px solid #e5e5e5;
}

	.top-nav .tn-left li {
		list-style: none;
		display: inline-block;
		font-size: 16px;
		color: var(--gz-text-dark);
		font-weight: 500;
		padding: 14px 0 12px;
		margin-right: 64px;
		position: relative;
	}

		.top-nav .tn-left li:after {
			position: absolute;
			right: -32px;
			top: 0;
			width: 1px;
			height: 100%;
			background: #e5e5e5;
			content: "";
		}

		.top-nav .tn-left li:last-child {
			margin-right: 0;
		}

			.top-nav .tn-left li:last-child:after {
				display: none;
			}

		.top-nav .tn-left li i {
			color: var(--gz-accent);
			margin-right: 4px;
		}

	.top-nav .tn-right {
		text-align: right;
	}

		.top-nav .tn-right .top-social {
			display: inline-block;
			margin-right: 35px;
			padding: 13px 0;
		}

			.top-nav .tn-right .top-social a {
				display: inline-block;
				font-size: 16px;
				color: var(--gz-text-dark);
				margin-left: 15px;
			}

		.top-nav .tn-right .bk-btn {
			display: inline-block;
			font-size: 13px;
			font-weight: 700;
			padding: 16px 28px 15px;
			background: var(--gz-accent);
			color: #ffffff;
			text-transform: uppercase;
			letter-spacing: 2px;
		}

		.top-nav .tn-right .language-option {
			display: inline-block;
			margin-left: 30px;
			cursor: pointer;
			padding: 13px 0px 11px;
			position: relative;
		}

			.top-nav .tn-right .language-option:hover .flag-dropdown {
				top: 40px;
				opacity: 1;
				visibility: visible;
			}

			.top-nav .tn-right .language-option img {
				height: 26px;
				width: 26px;
				border-radius: 50%;
				margin-right: 10px;
			}

			.top-nav .tn-right .language-option span {
				font-size: 16px;
				color: var(--gz-text-dark);
				text-transform: uppercase;
				font-weight: 500;
			}

			.top-nav .tn-right .language-option .flag-dropdown {
				position: absolute;
				left: 0;
				top: 60px;
				width: 100px;
				background: #ffffff;
				display: block;
				padding: 10px 15px;
				-webkit-box-shadow: 0px 9px 10px rgba(25, 25, 26, 0.2);
				box-shadow: 0px 9px 10px rgba(25, 25, 26, 0.2);
				opacity: 0;
				visibility: hidden;
				-webkit-transition: all 0.3s;
				-o-transition: all 0.3s;
				transition: all 0.3s;
				z-index: 99;
			}

				.top-nav .tn-right .language-option .flag-dropdown ul li {
					list-style: none;
					text-align: left;
				}

					.top-nav .tn-right .language-option .flag-dropdown ul li a {
						font-size: 14px;
						text-transform: uppercase;
						font-weight: 500;
						color: var(--gz-text-dark);
						-webkit-transition: all 0.3s;
						-o-transition: all 0.3s;
						transition: all 0.3s;
					}

						.top-nav .tn-right .language-option .flag-dropdown ul li a:hover {
							color: var(--gz-accent);
						}

.menu-item {
	position: relative;
	z-index: 9;
	background: #fff;
}

.header-lang-left {
	display: flex;
	align-items: center;
}

	.header-lang-left .lang-buttons {
		display: flex;
		align-items: center;
		gap: 8px;
	}

		.header-lang-left .lang-buttons button {
			background: transparent;
			border: none;
			color: inherit;
			font-size: 14px;
			font-weight: 600;
			padding: 0;
			text-transform: uppercase;
		}

	.menu-item .logo {
		padding: 25px 0;
	}

		.menu-item .logo a {
			display: inline-block;
		}

	.menu-item .nav-menu {
		text-align: center;
	}

		.menu-item .nav-menu .mainmenu {
			display: inline-block;
		}

			.menu-item .nav-menu .mainmenu li {
				list-style: none;
				display: inline-block;
				position: relative;
				z-index: 1;
			}

				.menu-item .nav-menu .mainmenu li.active a:after {
					opacity: 1;
				}

				/* Also show underline when the anchor itself has the Blazor NavLink 'active' class */
				.menu-item .nav-menu .mainmenu li a.active:after {
					opacity: 1;
				}

				.menu-item .nav-menu .mainmenu li:hover > a:after {
					opacity: 1;
				}

				.menu-item .nav-menu .mainmenu li:hover .dropdown {
					top: 77px;
					opacity: 1;
					visibility: visible;
				}

				.menu-item .nav-menu .mainmenu li a {
					font-size: 16px;
					color: var(--gz-text-dark);
					margin-right: 42px;
					font-weight: 500;
					display: inline-block;
					padding: 27px 0;
					position: relative;
					-webkit-transition: all 0.3s;
					-o-transition: all 0.3s;
					transition: all 0.3s;
				}

					.menu-item .nav-menu .mainmenu li a:after {
						position: absolute;
						left: 0;
						top: 52px;
						width: 100%;
						height: 2px;
						background: var(--gz-accent);
						content: "";
						opacity: 0;
						-webkit-transition: all 0.3s;
						-o-transition: all 0.3s;
						transition: all 0.3s;
					}

				.menu-item .nav-menu .mainmenu li .dropdown {
					position: absolute;
					left: 0;
					top: 97px;
					width: 180px;
					background: #ffffff;
					z-index: 9;
					opacity: 0;
					visibility: hidden;
					-webkit-transition: all 0.3s;
					-o-transition: all 0.3s;
					transition: all 0.3s;
					-webkit-box-shadow: 0px 9px 15px rgba(25, 25, 26, 0.05);
					box-shadow: 0px 9px 15px rgba(25, 25, 26, 0.05);
				}

					.menu-item .nav-menu .mainmenu li .dropdown li {
						list-style: none;
						display: block;
					}

						.menu-item .nav-menu .mainmenu li .dropdown li a {
							font-size: 16px;
							color: var(--gz-text-dark);
							display: block;
							text-align: left;
							padding: 8px 15px;
							-webkit-transition: all 0.3s;
							-o-transition: all 0.3s;
							transition: all 0.3s;
						}

							.menu-item .nav-menu .mainmenu li .dropdown li a:hover {
								color: var(--gz-accent);
							}

							.menu-item .nav-menu .mainmenu li .dropdown li a:after {
								display: none;
							}

		.menu-item .nav-menu .nav-right {
			display: inline-block;
			margin-left: 43px;
			padding: 27px 0px;
		}

			.menu-item .nav-menu .nav-right i {
				font-size: 16px;
				color: var(--gz-text-dark);
				cursor: pointer;
			}

.canvas-open {
	display: none;
}

.offcanvas-menu-wrapper {
	display: none;
}
/*---------------------
  Hero
-----------------------*/

.hero-section {
	position: relative;
	padding-top: 60px;
	padding-bottom: 100px;
	overflow-x: hidden;
}

	.hero-section .container {
		position: relative;
		z-index: 5;
	}

.hero-text {
	padding-top: 145px;
}

	.hero-text h1 {
		font-size: 84px;
		line-height: 90px;
		color: #ffffff;
		margin-bottom: 16px;
	}

	.hero-text p {
		font-size: 19px;
		color: #ffffff;
		line-height: 28px;
		margin-bottom: 35px;
	}

.booking-form {
	background: #fff;
	padding: 44px 40px 50px 40px;
	border: 1px solid #bebebe; /* λεπτό μαύρο περίγραμμα */
	border-radius: 12px; /* προαιρετικό: στρογγυλεμένες γωνίες */
	background-color: #fff; /* προαιρετικό: λευκό background σαν card */
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}


.booking-form h3 {
	color: var(--gz-text-dark);
	margin-bottom: 36px;
}

	.booking-form form .check-date {
		position: relative;
		margin-bottom: 15px;
	}

		.booking-form form .check-date label {
			font-size: 14px;
			color: var(--gz-text-medium);
			display: block;
			margin-bottom: 10px;
		}

		.booking-form form .check-date input {
			width: 100%;
			height: 50px;
			border: 1px solid var(--gz-border);
			border-radius: 2px;
			font-size: 16px;
			color: var(--gz-text-dark);
			text-transform: uppercase;
			font-weight: 500;
			padding-left: 20px;
		}

		.booking-form form .check-date i {
			color: var(--gz-accent);
			position: absolute;
			right: 18px;
			bottom: 17px;
		}

	.booking-form form .select-option {
		margin-bottom: 15px;
	}

		.booking-form form .select-option label {
			font-size: 14px;
			color: var(--gz-text-medium);
			display: block;
			margin-bottom: 10px;
		}

		.booking-form form .select-option .nice-select {
			border-radius: 2px;
			border: 1px solid var(--gz-border);
			height: 50px;
			line-height: 50px;
			outline: none;
			padding-left: 20px;
			width: 100%;
			float: none;
		}

			.booking-form form .select-option .nice-select:after {
				border-bottom: 2px solid var(--gz-accent);
				border-right: 2px solid var(--gz-accent);
				height: 10px;
				margin-top: 0;
				right: 20px;
				width: 10px;
				top: 36%;
			}

			.booking-form form .select-option .nice-select span {
				font-size: 16px;
				color: var(--gz-text-dark);
				text-transform: uppercase;
				font-weight: 500;
			}

			.booking-form form .select-option .nice-select .list {
				margin-top: 0;
				width: 100%;
			}

	.booking-form form button {
		display: block;
		font-size: 14px;
		text-transform: uppercase;
		border: 1px solid var(--gz-accent);
		border-radius: 2px;
		color: var(--gz-accent);
		font-weight: 500;
		background: transparent;
		width: 100%;
		height: 46px;
		margin-top: 30px;
	}

.hero-slider {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

	.hero-slider .owl-stage-outer, .hero-slider .owl-stage, .hero-slider .owl-item, .hero-slider .hs-item {
		height: 100%;
	}

	.hero-slider .hs-item {
		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;
	}
/*---------------------	
  About US
-----------------------*/

.about-text {
	text-align: center;
	padding: 0 35px;
}

	.about-text p {
		color: #595960;
		font-weight: 500;
	}

		.about-text p.f-para {
			margin-bottom: 10px;
		}

		.about-text p.s-para {
			margin-bottom: 35px;
		}

	.about-text .about-btn {
		color: var(--gz-text-dark);
	}

.about-pic img {
	min-width: 100%;
}
/*---------------------
  Service Section
-----------------------*/

.services-section {
	padding-bottom: 60px;
	border-top: 1px solid #e5e5e5;
}

	.services-section .section-title {
		margin-bottom: 36px;
	}

.service-item {
	text-align: center;
	padding: 30px 35px 18px;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

	.service-item:hover {
		background: var(--gz-accent);
	}

		.service-item:hover i {
			color: #ffffff;
		}

		.service-item:hover h4 {
			color: #ffffff;
		}

		.service-item:hover p {
			color: #ffffff;
		}

	.service-item i {
		display: inline-block;
		color: var(--gz-accent);
		-webkit-transition: all 0.3s;
		-o-transition: all 0.3s;
		transition: all 0.3s;
	}

	.service-item h4 {
		color: var(--gz-text-dark);
		font-size: 25px;
		margin-bottom: 15px;
		margin-top: 10px;
		-webkit-transition: all 0.3s;
		-o-transition: all 0.3s;
		transition: all 0.3s;
	}

	.service-item p {
		color: var(--gz-text-medium);
		-webkit-transition: all 0.3s;
		-o-transition: all 0.3s;
		transition: all 0.3s;
		font-size: 20px;
	}
/*------------------------
  Home Page Room Section 
-------------------------*/

.hp-room-items {
	margin-left: -15px;
	margin-right: -15px;
	overflow: hidden;
}

	.hp-room-items .hp-room-item {
		height: 600px;
		margin-right: -15px;
		position: relative;
		overflow: hidden;
	}

		.hp-room-items .hp-room-item:hover .hr-text {
			bottom: 135px;
		}

			.hp-room-items .hp-room-item:hover .hr-text h2 {
				margin-bottom: 30px;
			}

		.hp-room-items .hp-room-item .hr-text {
			position: absolute;
			left: 45px;
			right: 25px;
			bottom: -250px;
			-webkit-transition: all 0.5s;
			-o-transition: all 0.5s;
			transition: all 0.5s;
		}

			.hp-room-items .hp-room-item .hr-text h3 {
				color: #ffffff;
				margin-bottom: 15px;
			}

			.hp-room-items .hp-room-item .hr-text h2 {
				color: #fff;
				font-weight: 700;
				margin-bottom: 50px;
				-webkit-transition: all 0.2s;
				-o-transition: all 0.2s;
				transition: all 0.2s;
			}

				.hp-room-items .hp-room-item .hr-text h2 span {
					font-size: 16px;
					font-weight: 400;
					color: #ffffff;
				}

			.hp-room-items .hp-room-item .hr-text table {
				margin-bottom: 30px;
			}

				.hp-room-items .hp-room-item .hr-text table tbody tr td {
					font-size: 16px;
					color: #ffffff;
					line-height: 36px;
				}

					.hp-room-items .hp-room-item .hr-text table tbody tr td.r-o {
						width: 120px;
					}

			.hp-room-items .hp-room-item .hr-text .primary-btn:after {
				background: #ffffff;
			}
/*---------------------
  Testimonial Slider
-----------------------*/

.testimonial-section {
	background: #f9f9f9;
}

	.testimonial-section .section-title {
		margin-bottom: 30px;
	}

.testimonial-slider.owl-carousel .owl-item img {
	width: auto;
	margin: 0 auto;
}

.testimonial-slider.owl-carousel .owl-nav {
	position: absolute !important;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	display: flex !important;
	justify-content: space-between;
	pointer-events: none;
	z-index: 999;
}

.testimonial-slider.owl-carousel .owl-nav button {
	pointer-events: auto;
	background: #bba262 !important;
	color: #fff !important;
	border: none !important;
	width: 46px !important;
	height: 46px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	font-size: 24px !important;
	line-height: 1 !important;
	box-shadow: 0 2px 10px rgba(0,0,0,0.3) !important;
	position: static !important;
	transform: none !important;
	transition: background 0.2s ease !important;
}

.testimonial-slider.owl-carousel .owl-nav button:hover {
	background: var(--gz-olive) !important;
}

.testimonial-slider.owl-carousel .owl-nav .owl-prev { margin-left: -60px; }
.testimonial-slider.owl-carousel .owl-nav .owl-next { margin-right: -60px; }

@media (max-width: 991px) {
	.testimonial-slider.owl-carousel .owl-nav .owl-prev { margin-left: 6px; }
	.testimonial-slider.owl-carousel .owl-nav .owl-next { margin-right: 6px; }
	.testimonial-slider.owl-carousel .owl-nav button {
		width: 38px !important;
		height: 38px !important;
		font-size: 18px !important;
	}
}

.testimonial-slider .ts-item {
	text-align: center;
}

	.testimonial-slider .ts-item p {
		font-size: 20px;
		color: var(--gz-text-medium);
		line-height: 30px;
		margin-bottom: 50px;
	}

	.testimonial-slider .ts-item .ti-author {
		margin-bottom: 60px;
	}

		.testimonial-slider .ts-item .ti-author .rating {
			display: inline-block;
		}

			.testimonial-slider .ts-item .ti-author .rating i {
				color: #f5b917;
				font-size: 16px;
			}

		.testimonial-slider .ts-item .ti-author h5 {
			font-size: 20px;
			color: var(--gz-text-dark);
			display: inline-block;
		}
/*---------------------
  Blog and Event
-----------------------*/

.blog-section {
	padding-bottom: 70px;
}

	.blog-section .section-title {
		margin-bottom: 36px;
	}
/*---------------------
  Footer Section
-----------------------*/

.footer-section {
	background: var(--gz-secondary);
}

	.footer-section .footer-text {
		padding: 80px 0 30px;
	}

		.footer-section .footer-text .ft-about {
			margin-bottom: 30px;
		}

			.footer-section .footer-text .ft-about .logo {
				margin-bottom: 20px;
			}

				.footer-section .footer-text .ft-about .logo a {
					display: inline-block;
				}

			.footer-section .footer-text .ft-about p {
				color: var(--gz-text-light);
				margin-bottom: 20px;
			}

			.footer-section .footer-text .ft-about .fa-social a {
				display: inline-block;
				height: 40px;
				width: 40px;
				font-size: 16px;
				line-height: 40px;
				text-align: center;
				color: #ffffff;
				border: 1px solid #5A4D48;
				border-radius: 50%;
				-webkit-transition: all 0.3s;
				-o-transition: all 0.3s;
				transition: all 0.3s;
				margin-right: 7px;
			}

				.footer-section .footer-text .ft-about .fa-social a:hover {
					background: var(--gz-accent);
					border-color: var(--gz-accent);
				}

		.footer-section .footer-text .ft-contact {
			margin-bottom: 30px;
		}

			.footer-section .footer-text .ft-contact h6 {
				font-size: 14px;
				color: #fff;
				text-transform: uppercase;
				font-weight: 700;
				letter-spacing: 3px;
				margin-bottom: 20px;
			}

			.footer-section .footer-text .ft-contact ul li {
				font-size: 16px;
				color: #fff;
				line-height: 32px;
				list-style: none;
			}

		.footer-section .footer-text .ft-newslatter h6 {
			font-size: 14px;
			color: #fff;
			text-transform: uppercase;
			font-weight: 700;
			letter-spacing: 3px;
			margin-bottom: 20px;
		}

		.footer-section .footer-text .ft-newslatter p {
			color: #fff;
			margin-bottom: 20px;
		}

		.footer-section .footer-text .ft-newslatter .fn-form {
			position: relative;
		}

			.footer-section .footer-text .ft-newslatter .fn-form input {
				width: 100%;
				height: 50px;
				border-radius: 2px;
				background: #fff;
				border: none;
				padding-left: 20px;
				padding-right: 65px;
				font-size: 16px;
				color: var(--gz-text-medium);
			}

			.footer-section .footer-text .ft-newslatter .fn-form button {
				position: absolute;
				right: 0;
				top: 0;
				font-size: 16px;
				background: var(--gz-accent);
				color: #ffffff;
				padding: 0 16px;
				height: 50px;
				border: none;
				border-radius: 0 2px 2px 0;
			}

	.footer-section .copyright-option {
		background: rgba(16, 20, 31, 0.2);
		padding: 20px 0;
	}

		.footer-section .copyright-option ul li {
			list-style: none;
			display: inline-block;
			margin-right: 34px;
		}

			.footer-section .copyright-option ul li:last-child {
				margin-right: 0;
			}

			.footer-section .copyright-option ul li a {
				font-size: 16px;
				color: var(--gz-text-light);
			}

		.footer-section .copyright-option .co-text {
			font-size: 16px;
			color: var(--gz-text-medium);
			text-align: right;
		}
/* --------------------------------- Other Pages Styles ----------------------------------- */

/*---------------------
  Breadcrumb Section
-----------------------*/

.breadcrumb-section {
	padding-top: 40px;
	padding-bottom: 80px;
	background-color: #bba262;
}

/* Desktop: extend upward to cover the gap between fixed navbar and breadcrumb */
@media (min-width: 992px) {
	.breadcrumb-section {
		margin-top: -120px !important;
		padding-top: 160px !important;
		padding-bottom: 60px !important;
	}
}

.breadcrumb-text {
	text-align: center;
}

	.breadcrumb-text h2 {
		font-size: 44px;
		color: #ffffff;
		margin-bottom: 12px;
	}


.breadcrumb-text .bt-option a {
		display: inline-block;
		font-size: 18px;
		color: #ffffff;
		margin-right: 20px;
		position: relative;
		font-weight: 500;
	}

		.breadcrumb-text .bt-option a:after {
			position: absolute;
			right: -13px;
			top: 1px;
			content: "";
			font-size: 18px;
			font-family: "FontAwesome";
			color: var(--gz-text-light);
		}

	.breadcrumb-text .bt-option span {
		display: inline-block;
		font-size: 18px;
		color: var(--gz-text-light);
	}
/*------------------------
  About Us Page Section
-------------------------*/

.aboutus-page-section {
	padding-top: 0;
	padding-bottom: 70px;
}

.about-page-text {
	margin-bottom: 65px;
}

	.about-page-text .ap-title {
		margin-bottom: 30px;
	}

		.about-page-text .ap-title h2 {
			font-size: 44px;
			color: var(--gz-text-dark);
			margin-bottom: 18px;
		}

		.about-page-text .ap-title p {
			font-size: 18px;
			color: var(--gz-text-medium);
			line-height: 28px;
		}

	.about-page-text .ap-services li {
		list-style: none;
		font-size: 20px;
		color: var(--gz-text-medium);
		line-height: 42px;
	}

		.about-page-text .ap-services li i {
			color: var(--gz-accent);
			margin-right: 5px;
		}

.about-page-services .ap-service-item {
	position: relative;
	height: 420px;
	border-radius: 5px;
	margin-bottom: 30px;
}

	.about-page-services .ap-service-item .api-text {
		position: absolute;
		left: 0;
		bottom: 40px;
		width: 100%;
		text-align: center;
	}

		.about-page-services .ap-service-item .api-text h3 {
			color: #ffffff;
		}
/*---------------------
  Video Section
-----------------------*/

.video-section {
	height: 500px;
	padding-top: 140px;
}

	.video-section .video-text {
		text-align: center;
	}

		.video-section .video-text h2 {
			font-size: 48px;
			color: #ffffff;
			margin-bottom: 16px;
		}

		.video-section .video-text p {
			font-size: 20px;
			color: #ffffff;
			margin-bottom: 40px;
		}

		.video-section .video-text .play-btn {
			display: inline-block;
		}
/*---------------------
  Gallery Section
-----------------------*/

.gallery-section {
	padding-bottom: 80px;
}

	.gallery-section .section-title {
		margin-bottom: 38px;
	}

.gallery-item {
	position: relative;
	height: 279px;
	margin-bottom: 20px;
	border-radius: 5px;
	position: relative;
	z-index: 1;
}

	.gallery-item:hover:after {
		opacity: 1;
	}

	.gallery-item:hover .gi-text {
		opacity: 1;
	}

	.gallery-item:after {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background: rgba(25, 25, 26, 0.3);
		content: "";
		z-index: -1;
		border-radius: 5px;
		-webkit-transition: all 0.3s;
		-o-transition: all 0.3s;
		transition: all 0.3s;
		opacity: 0;
	}

	.gallery-item.large-item {
		height: 576px;
	}

	.gallery-item .gi-text {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		-webkit-transition: all 0.3s;
		-o-transition: all 0.3s;
		transition: all 0.3s;
		opacity: 0;
	}

		.gallery-item .gi-text h3 {
			color: #ffffff;
		}
/*---------------------
  Room Section
-----------------------*/

.rooms-section {
	padding-top: 0;
	padding-bottom: 80px;
}

.room-item {
	margin-bottom: 30px;
}

	.room-item img {
		min-width: 100%;
	}

	.room-item .ri-text {
		border: 1px solid var(--gz-border);
		border-top: none;
		padding: 24px 24px 30px 28px;
	}

		.room-item .ri-text h4 {
			color: var(--gz-text-dark);
			margin-bottom: 17px;
		}

		.room-item .ri-text h3 {
			color: var(--gz-accent);
			font-weight: 700;
			margin-bottom: 14px;
		}

			.room-item .ri-text h3 span {
				font-size: 14px;
				font-weight: 400;
				color: var(--gz-text-dark);
			}

		.room-item .ri-text table {
			margin-bottom: 18px;
		}

			.room-item .ri-text table tbody tr td {
				font-size: 16px;
				color: var(--gz-text-medium);
				line-height: 36px;
			}

				.room-item .ri-text table tbody tr td.r-o {
					width: 125px;
				}

		.room-item .ri-text .primary-btn {
			color: var(--gz-text-dark);
		}

.room-pagination {
	text-align: center;
	padding-top: 20px;
}

	.room-pagination a {
		font-size: 16px;
		color: var(--gz-text-medium);
		border: 1px solid #EFD4B9;
		border-radius: 2px;
		padding: 7px 13px 5px;
		margin-right: 7px;
		display: inline-block;
		-webkit-transition: all 0.3s;
		-o-transition: all 0.3s;
		transition: all 0.3s;
	}

		.room-pagination a:last-child {
			margin-right: 0;
		}

		.room-pagination a:hover {
			background: var(--gz-accent);
			color: #ffffff;
		}
/*-----------------------
  Room Details Section
-------------------------*/

.room-details-section {
	padding-top: 50px;
	padding-bottom: 80px;
}

.room-details-item {
	margin-bottom: 50px;
}

	.room-details-item img {
		margin-bottom: 40px;
	}

	.room-details-item .rd-text .rd-title {
		overflow: hidden;
		margin-bottom: 8px;
	}

		.room-details-item .rd-text .rd-title h3 {
			color: var(--gz-text-dark);
			float: left;
		}

		.room-details-item .rd-text .rd-title .rdt-right {
			float: right;
			text-align: right;
		}

			.room-details-item .rd-text .rd-title .rdt-right .rating {
				display: inline-block;
				margin-right: 25px;
				margin-bottom: 10px;
			}

				.room-details-item .rd-text .rd-title .rdt-right .rating i {
					color: #f5b917;
				}

			.room-details-item .rd-text .rd-title .rdt-right a {
				display: inline-block;
				color: #ffffff;
				font-size: 13px;
				text-transform: uppercase;
				font-weight: 700;
				background: var(--gz-accent);
				padding: 14px 28px 13px;
			}

	.room-details-item .rd-text h2 {
		color: var(--gz-accent);
		font-weight: 700;
		margin-bottom: 25px;
	}

		.room-details-item .rd-text h2 span {
			font-size: 16px;
			font-weight: 400;
			color: var(--gz-text-dark);
		}

	.room-details-item .rd-text table {
		margin-bottom: 32px;
	}

		.room-details-item .rd-text table tbody tr td {
			font-size: 16px;
			color: var(--gz-text-dark);
			line-height: 36px;
		}

			.room-details-item .rd-text table tbody tr td.r-o {
				width: 120px;
				color: var(--gz-text-medium);
			}

	.room-details-item .rd-text p {
		color: var(--gz-text-medium);
	}

		.room-details-item .rd-text p.f-para {
			margin-bottom: 22px;
		}

.rd-reviews {
	padding-top: 55px;
	border-top: 1px solid #e5e5e5;
	margin-bottom: 50px;
}

	.rd-reviews h4 {
		color: var(--gz-text-dark);
		letter-spacing: 1px;
		margin-bottom: 45px;
	}

	.rd-reviews .review-item {
		margin-bottom: 32px;
	}

		.rd-reviews .review-item .ri-pic {
			float: left;
			margin-right: 30px;
		}

			.rd-reviews .review-item .ri-pic img {
				height: 70px;
				width: 70px;
				border-radius: 50%;
			}

		.rd-reviews .review-item .ri-text {
			overflow: hidden;
			position: relative;
			padding-left: 30px;
		}

			.rd-reviews .review-item .ri-text:before {
				position: absolute;
				left: 0;
				top: 0;
				width: 1px;
				height: 100%;
				background: #e9e9e9;
				content: "";
			}

			.rd-reviews .review-item .ri-text span {
				font-size: 12px;
				color: var(--gz-accent);
				text-transform: uppercase;
				letter-spacing: 3px;
			}

			.rd-reviews .review-item .ri-text .rating {
				position: absolute;
				right: 0;
				top: 0;
			}

				.rd-reviews .review-item .ri-text .rating i {
					color: #f5b917;
				}

			.rd-reviews .review-item .ri-text h5 {
				color: var(--gz-text-dark);
				margin-top: 4px;
				margin-bottom: 8px;
			}

			.rd-reviews .review-item .ri-text p {
				color: var(--gz-text-medium);
				margin-bottom: 0;
			}

.review-add h4 {
	color: var(--gz-text-dark);
	letter-spacing: 1px;
	margin-bottom: 45px;
}

.review-add .ra-form input {
	width: 100%;
	height: 50px;
	border: 1px solid #e5e5e5;
	font-size: 16px;
	color: var(--gz-text-light);
	padding-left: 20px;
	margin-bottom: 25px;
}

	.review-add .ra-form input::-webkit-input-placeholder {
		color: var(--gz-text-light);
	}

	.review-add .ra-form input::-moz-placeholder {
		color: var(--gz-text-light);
	}

	.review-add .ra-form input:-ms-input-placeholder {
		color: var(--gz-text-light);
	}

	.review-add .ra-form input::-ms-input-placeholder {
		color: var(--gz-text-light);
	}

	.review-add .ra-form input::placeholder {
		color: var(--gz-text-light);
	}

.review-add .ra-form h5 {
	font-size: 20px;
	color: var(--gz-text-dark);
	margin-bottom: 24px;
	float: left;
	margin-right: 10px;
}

.review-add .ra-form .rating {
	padding-top: 3px;
	display: inline-block;
}

	.review-add .ra-form .rating i {
		color: #f5b917;
		font-size: 16px;
	}

.review-add .ra-form textarea {
	width: 100%;
	height: 132px;
	border: 1px solid #e5e5e5;
	font-size: 16px;
	color: var(--gz-text-light);
	padding-left: 20px;
	padding-top: 12px;
	margin-bottom: 24px;
	resize: none;
}

	.review-add .ra-form textarea::-webkit-input-placeholder {
		color: var(--gz-text-light);
	}

	.review-add .ra-form textarea::-moz-placeholder {
		color: var(--gz-text-light);
	}

	.review-add .ra-form textarea:-ms-input-placeholder {
		color: var(--gz-text-light);
	}

	.review-add .ra-form textarea::-ms-input-placeholder {
		color: var(--gz-text-light);
	}

	.review-add .ra-form textarea::placeholder {
		color: var(--gz-text-light);
	}

.review-add .ra-form button {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	color: #ffffff;
	letter-spacing: 2px;
	background: var(--gz-accent);
	border: none;
	padding: 14px 34px 13px;
	display: inline-block;
}

.room-booking {
	padding: 0 30px 0 40px;
	border: 1px solid #000; /* λεπτό μαύρο περίγραμμα */
	border-radius: 8px; /* προαιρετικό: στρογγυλεμένες γωνίες */
	background-color: #fff; /* προαιρετικό: λευκό background σαν card */
	box-shadow: 0 2px 6px rgba(0,0,0,0.08); /* προαιρετικό: ελαφριά σκιά */
}

	.room-booking h3 {
		color: var(--gz-text-dark);
		margin-bottom: 30px;
	}

	.room-booking form .check-date {
		position: relative;
		margin-bottom: 15px;
	}

		.room-booking form .check-date label {
			font-size: 14px;
			color: var(--gz-text-medium);
			display: block;
			margin-bottom: 10px;
		}

		.room-booking form .check-date input {
			width: 100%;
			height: 50px;
			border: 1px solid var(--gz-border);
			border-radius: 2px;
			font-size: 16px;
			color: var(--gz-text-dark);
			text-transform: uppercase;
			font-weight: 500;
			padding-left: 20px;
		}

		.room-booking form .check-date i {
			color: var(--gz-accent);
			position: absolute;
			right: 18px;
			bottom: 17px;
		}

	.room-booking form .select-option {
		margin-bottom: 15px;
	}

		.room-booking form .select-option label {
			font-size: 14px;
			color: var(--gz-text-medium);
			display: block;
			margin-bottom: 10px;
		}

		.room-booking form .select-option .nice-select {
			border-radius: 2px;
			border: 1px solid var(--gz-border);
			height: 50px;
			line-height: 50px;
			outline: none;
			padding-left: 20px;
			width: 100%;
			float: none;
		}

			.room-booking form .select-option .nice-select:after {
				border-bottom: 2px solid var(--gz-accent);
				border-right: 2px solid var(--gz-accent);
				height: 10px;
				margin-top: 0;
				right: 20px;
				width: 10px;
				top: 36%;
			}

			.room-booking form .select-option .nice-select span {
				font-size: 16px;
				color: var(--gz-text-dark);
				text-transform: uppercase;
				font-weight: 500;
			}

			.room-booking form .select-option .nice-select .list {
				margin-top: 0;
				width: 100%;
			}

	.room-booking form button {
		display: block;
		font-size: 14px;
		text-transform: uppercase;
		border: 1px solid var(--gz-accent);
		border-radius: 2px;
		color: var(--gz-accent);
		font-weight: 500;
		background: transparent;
		width: 100%;
		height: 46px;
		margin-top: 30px;
	}
/*---------------------
  Blog Section
-----------------------*/

.blog-section.blog-page {
	padding-top: 0;
	padding-bottom: 88px;
}

.blog-item {
	height: 450px;
	position: relative;
	margin-bottom: 30px;
	border-radius: 5px;
}

	.blog-item.small-size {
		height: 400px;
	}

	.blog-item .bi-text {
		position: absolute;
		left: 0;
		bottom: 25px;
		width: 100%;
		padding-left: 30px;
		padding-right: 30px;
	}

		.blog-item .bi-text .b-tag {
			display: inline-block;
			color: #ffffff;
			font-size: 12px;
			text-transform: uppercase;
			letter-spacing: 1px;
			background: var(--gz-accent);
			padding: 3px 10px;
			border-radius: 2px;
		}

		.blog-item .bi-text h4 {
			margin-top: 18px;
			margin-bottom: 18px;
		}

			.blog-item .bi-text h4 a {
				color: #ffffff;
			}

		.blog-item .bi-text .b-time {
			font-size: 12px;
			color: #ffffff;
			text-transform: uppercase;
			letter-spacing: 3px;
		}

.load-more {
	text-align: center;
	padding-top: 30px;
}

	.load-more .primary-btn {
		color: var(--gz-text-dark);
	}
/*----------------------------
  Blog Details Hero Section
----------------------------*/

.blog-details-hero {
	height: 530px;
	padding-top: 165px;
}

.bd-hero-text {
	text-align: center;
}

	.bd-hero-text span {
		font-size: 12px;
		color: #ffffff;
		background: var(--gz-accent);
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: 1px;
		display: inline-block;
		padding: 4px 16px;
		border-radius: 2px;
	}

	.bd-hero-text h2 {
		font-size: 44px;
		color: #ffffff;
		line-height: 54px;
		margin-top: 30px;
		margin-bottom: 12px;
	}

	.bd-hero-text ul li {
		list-style: none;
		font-size: 14px;
		color: var(--gz-accent);
		margin-right: 35px;
		display: inline-block;
	}

		.bd-hero-text ul li:last-child {
			margin-right: 0;
		}

		.bd-hero-text ul li.b-time {
			text-transform: uppercase;
		}
/*---------------------
  Blog Details Section
-----------------------*/

.blog-details-section {
	padding-top: 55px;
}

.blog-details-text .bd-title {
	margin-bottom: 52px;
}

	.blog-details-text .bd-title p {
		font-size: 18px;
		color: var(--gz-text-medium);
		line-height: 30px;
	}

.blog-details-text .bd-pic {
	overflow: hidden;
	margin-bottom: 35px;
}

	.blog-details-text .bd-pic .bp-item {
		width: calc(33.33% - 10px);
		float: left;
		margin-right: 15px;
	}

		.blog-details-text .bd-pic .bp-item:last-child {
			margin-right: 0;
		}

		.blog-details-text .bd-pic .bp-item img {
			min-width: 100%;
		}

.blog-details-text .bd-more-text {
	margin-bottom: 50px;
}

	.blog-details-text .bd-more-text .bm-item {
		margin-bottom: 30px;
	}

		.blog-details-text .bd-more-text .bm-item h4 {
			color: var(--gz-text-dark);
			margin-bottom: 20px;
		}

		.blog-details-text .bd-more-text .bm-item p {
			font-size: 18px;
			color: var(--gz-text-medium);
			line-height: 30px;
		}

.blog-details-text .tag-share {
	overflow: hidden;
	border-top: 1px solid var(--gz-border);
	padding-top: 30px;
	margin-bottom: 75px;
}

	.blog-details-text .tag-share .tags {
		float: left;
	}

		.blog-details-text .tag-share .tags a {
			font-size: 12px;
			color: var(--gz-text-medium);
			background: var(--gz-border);
			font-weight: 500;
			text-transform: uppercase;
			letter-spacing: 1px;
			display: inline-block;
			padding: 4px 16px;
			border-radius: 2px;
			-webkit-transition: all 0.3s;
			-o-transition: all 0.3s;
			transition: all 0.3s;
			margin-right: 6px;
		}

			.blog-details-text .tag-share .tags a:hover {
				color: #ffffff;
				background: var(--gz-accent);
			}

	.blog-details-text .tag-share .social-share {
		float: right;
	}

		.blog-details-text .tag-share .social-share span {
			display: inline-block;
			font-size: 18px;
			color: var(--gz-text-medium);
		}

		.blog-details-text .tag-share .social-share a {
			display: inline-block;
			font-size: 16px;
			color: var(--gz-text-medium);
			margin-left: 30px;
		}

.blog-details-text .comment-option {
	margin-bottom: 75px;
}

	.blog-details-text .comment-option h4 {
		color: var(--gz-text-dark);
		margin-bottom: 35px;
	}

	.blog-details-text .comment-option .single-comment-item {
		margin-bottom: 30px;
	}

		.blog-details-text .comment-option .single-comment-item.first-comment .sc-text {
			padding-left: 22px;
		}

			.blog-details-text .comment-option .single-comment-item.first-comment .sc-text:before {
				position: absolute;
				left: 0;
				top: 0;
				width: 1px;
				height: 255px;
				background: var(--gz-border);
				content: "";
			}

		.blog-details-text .comment-option .single-comment-item.reply-comment {
			padding-left: 120px;
			margin-bottom: 52px;
		}

		.blog-details-text .comment-option .single-comment-item.second-comment .sc-text {
			padding-left: 22px;
		}

			.blog-details-text .comment-option .single-comment-item.second-comment .sc-text:before {
				position: absolute;
				left: 0;
				top: 0;
				width: 1px;
				height: 100px;
				background: var(--gz-border);
				content: "";
			}

		.blog-details-text .comment-option .single-comment-item .sc-author {
			float: left;
			margin-right: 28px;
		}

			.blog-details-text .comment-option .single-comment-item .sc-author img {
				height: 70px;
				width: 70px;
				border-radius: 50%;
			}

		.blog-details-text .comment-option .single-comment-item .sc-text {
			display: table;
			position: relative;
		}

			.blog-details-text .comment-option .single-comment-item .sc-text span {
				font-size: 12px;
				color: var(--gz-accent);
				text-transform: uppercase;
				letter-spacing: 2px;
			}

			.blog-details-text .comment-option .single-comment-item .sc-text h5 {
				font-size: 20px;
				color: var(--gz-text-dark);
				margin-top: 4px;
				margin-bottom: 8px;
			}

			.blog-details-text .comment-option .single-comment-item .sc-text p {
				color: var(--gz-text-medium);
				margin-bottom: 18px;
			}

			.blog-details-text .comment-option .single-comment-item .sc-text a {
				display: inline-block;
				color: var(--gz-text-dark);
				font-size: 14px;
				font-weight: 700;
				text-transform: uppercase;
				letter-spacing: 1px;
				padding: 5px 24px;
				border: 1px solid #F9EEE3;
				border-radius: 50px;
				-webkit-transition: all 0.3s;
				-o-transition: all 0.3s;
				transition: all 0.3s;
				margin-right: 10px;
			}

				.blog-details-text .comment-option .single-comment-item .sc-text a:hover {
					background: var(--gz-accent);
					color: #ffffff;
					border-color: var(--gz-accent);
				}

.blog-details-text .leave-comment h4 {
	color: var(--gz-text-dark);
	margin-bottom: 35px;
}

.blog-details-text .leave-comment .comment-form input {
	width: 100%;
	height: 50px;
	color: var(--gz-text-medium);
	font-size: 16px;
	padding-left: 20px;
	border: 1px solid #e5e5e5;
	border-radius: 2px;
	margin-bottom: 20px;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

	.blog-details-text .leave-comment .comment-form input:focus {
		border-color: var(--gz-accent);
	}

.blog-details-text .leave-comment .comment-form textarea {
	width: 100%;
	height: 116px;
	color: var(--gz-text-medium);
	font-size: 16px;
	padding-left: 20px;
	border: 1px solid #e5e5e5;
	border-radius: 2px;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	margin-bottom: 42px;
	resize: none;
	padding-top: 12px;
}

	.blog-details-text .leave-comment .comment-form textarea:focus {
		border-color: var(--gz-accent);
	}

.blog-details-text .leave-comment .comment-form button {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	color: #ffffff;
	letter-spacing: 2px;
	background: var(--gz-accent);
	border: none;
	padding: 14px 42px 13px;
	display: inline-block;
	border-radius: 2px;
}
/*---------------------
  Recommend Blog
-----------------------*/

.recommend-blog-section {
	padding-top: 65px;
	padding-bottom: 50px;
}

	.recommend-blog-section .section-title {
		margin-bottom: 37px;
	}

		.recommend-blog-section .section-title h2 {
			margin-top: 0;
		}
/*---------------------
  Contact Section
-----------------------*/

.contact-section {
	padding-top: 80px;
	padding-bottom: 80px;
}

.contact-text h2 {
	font-size: 44px;
	color: var(--gz-text-dark);
	margin-bottom: 24px;
}

.contact-text p {
	color: var(--gz-text-medium);
}

.contact-text table tbody tr td {
	font-size: 16px;
	color: var(--gz-text-dark);
	line-height: 36px;
	font-weight: 500;
}

	.contact-text table tbody tr td.c-o {
		color: var(--gz-text-medium);
		width: 75px;
	}

.contact-form input {
	width: 100%;
	height: 50px;
	border: 1px solid #e1e1e1;
	font-size: 16px;
	color: var(--gz-text-light);
	padding-left: 25px;
	margin-bottom: 28px;
}

	.contact-form input::-webkit-input-placeholder {
		color: var(--gz-text-light);
	}

	.contact-form input::-moz-placeholder {
		color: var(--gz-text-light);
	}

	.contact-form input:-ms-input-placeholder {
		color: var(--gz-text-light);
	}

	.contact-form input::-ms-input-placeholder {
		color: var(--gz-text-light);
	}

	.contact-form input::placeholder {
		color: var(--gz-text-light);
	}

.contact-form textarea {
	width: 100%;
	height: 150px;
	border: 1px solid #e1e1e1;
	font-size: 16px;
	color: var(--gz-text-light);
	padding-left: 25px;
	padding-top: 12px;
	margin-bottom: 33px;
	resize: none;
}

	.contact-form textarea::-webkit-input-placeholder {
		color: var(--gz-text-light);
	}

	.contact-form textarea::-moz-placeholder {
		color: var(--gz-text-light);
	}

	.contact-form textarea:-ms-input-placeholder {
		color: var(--gz-text-light);
	}

	.contact-form textarea::-ms-input-placeholder {
		color: var(--gz-text-light);
	}

	.contact-form textarea::placeholder {
		color: var(--gz-text-light);
	}

.contact-form button {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	color: #ffffff;
	letter-spacing: 2px;
	background: var(--gz-accent);
	border: none;
	padding: 14px 34px 13px;
	display: inline-block;
}

.map {
	height: 470px;
	-webkit-box-shadow: 0px 14px 35px rgba(0, 0, 0, 0.15);
	box-shadow: 0px 14px 35px rgba(0, 0, 0, 0.15);
	margin-top: 75px;
}

	.map iframe {
		width: 100%;
	}
/*-------------------------------- Respinsive Media Styles --------------------------------*/

@media only screen and (min-width: 1554px) and (max-width: 1920px) {
	.hp-room-items .hp-room-item .hr-text {
		bottom: -200px;
	}
}

@media only screen and (min-width: 1200px) and (max-width: 1250px) {
	.hp-room-items .hp-room-item .hr-text {
		bottom: -288px;
	}
}

@media only screen and (min-width: 1200px) {
	.container {
		max-width: 1200px;
	}
}
/* Medium Device: 1200px */

@media only screen and (min-width: 992px) and (max-width: 1199px) {
	.testimonial-slider.owl-carousel .owl-nav button {
		left: -150px;
	}

		.testimonial-slider.owl-carousel .owl-nav button.owl-next {
			right: -150px;
		}

	.hp-room-items .hp-room-item .hr-text {
		bottom: -322px;
	}

	.hp-room-items .hp-room-item:hover .hr-text {
		bottom: 80px;
	}
}

@media only screen and (max-width: 991px) {
	.top-nav {
		display: none;
	}

	.menu-item .nav-menu {
		display: none;
	}

	.offcanvas-menu-overlay {
		position: fixed;
		left: 0;
		top: 0;
		background: rgba(0, 0, 0, 0.7);
		z-index: 98;
		height: 100%;
		width: 100%;
		visibility: hidden;
		-webkit-transition: 0.3s;
		-o-transition: 0.3s;
		transition: 0.3s;
	}

		.offcanvas-menu-overlay.active {
			visibility: visible;
		}

	.canvas-open {
		position: absolute;
		right: 40px;
		top: 25px;
		font-size: 22px;
		width: 30px;
		height: 30px;
		color: #ffffff;
		border: 1px solid #ffffff;
		border-radius: 2px;
		line-height: 33px;
		text-align: center;
		z-index: 100;
		display: block;
		cursor: pointer;
	}

	.offcanvas-menu-wrapper {
		position: fixed;
		left: -300px;
		top: 0;
		width: 300px;
		z-index: 999;
		background: #bba262;
		text-align: center;
		overflow-y: auto;
		height: 100%;
		opacity: 0;
		visibility: hidden;
		-webkit-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
		padding: 80px 30px 30px 30px;
		display: block;
	}

		.offcanvas-menu-wrapper .canvas-close {
			height: 30px;
			width: 30px;
			border: 1px solid #ffffff;
			border-radius: 50%;
			text-align: center;
			line-height: 30px;
			cursor: pointer;
			position: absolute;
			right: 30px;
			top: 30px;
			padding-right: 1px;
		}

		.offcanvas-menu-wrapper .search-icon {
			color: var(--gz-text-dark);
			text-align: center;
			cursor: pointer;
			margin-bottom: 10px;
		}

		.offcanvas-menu-wrapper .header-configure-area {
			margin-bottom: 30px;
		}

			.offcanvas-menu-wrapper .header-configure-area .language-option {
				display: inline-block;
				cursor: pointer;
				padding: 13px 0;
				position: relative;
				margin-bottom: 10px;
			}

				.offcanvas-menu-wrapper .header-configure-area .language-option:hover .flag-dropdown {
					top: 40px;
					opacity: 1;
					visibility: visible;
				}

				.offcanvas-menu-wrapper .header-configure-area .language-option img {
					height: 26px;
					width: 26px;
					border-radius: 50%;
					margin-right: 10px;
				}

				.offcanvas-menu-wrapper .header-configure-area .language-option span {
					font-size: 16px;
					color: var(--gz-text-dark);
					text-transform: uppercase;
					font-weight: 500;
				}

				.offcanvas-menu-wrapper .header-configure-area .language-option .flag-dropdown {
					position: absolute;
					left: 0;
					top: 60px;
					width: 100px;
					background: #ffffff;
					display: block;
					padding: 10px 15px;
					-webkit-box-shadow: 0px 9px 10px rgba(25, 25, 26, 0.2);
					box-shadow: 0px 9px 10px rgba(25, 25, 26, 0.2);
					opacity: 0;
					visibility: hidden;
					-webkit-transition: all 0.3s;
					-o-transition: all 0.3s;
					transition: all 0.3s;
					z-index: 99;
				}

					.offcanvas-menu-wrapper .header-configure-area .language-option .flag-dropdown ul li {
						list-style: none;
						text-align: left;
					}

						.offcanvas-menu-wrapper .header-configure-area .language-option .flag-dropdown ul li a {
							font-size: 14px;
							text-transform: uppercase;
							font-weight: 500;
							color: var(--gz-text-dark);
							-webkit-transition: all 0.3s;
							-o-transition: all 0.3s;
							transition: all 0.3s;
						}

							.offcanvas-menu-wrapper .header-configure-area .language-option .flag-dropdown ul li a:hover {
								color: var(--gz-accent);
							}

			.offcanvas-menu-wrapper .header-configure-area .bk-btn {
				display: inline-block;
				font-size: 13px;
				font-weight: 700;
				padding: 16px 28px 15px;
				background: var(--gz-accent);
				color: #ffffff;
				text-transform: uppercase;
				letter-spacing: 2px;
			}

		.offcanvas-menu-wrapper .mainmenu {
			display: none;
		}

		.offcanvas-menu-wrapper .slicknav_menu {
			background: transparent;
			padding: 0;
		}

			.offcanvas-menu-wrapper .slicknav_menu .slicknav_btn {
				float: none;
				margin: 0 0 10px 0;
				display: none;
			}

			.offcanvas-menu-wrapper .slicknav_menu .slicknav_nav {
				display: block !important;
			}

				.offcanvas-menu-wrapper .slicknav_menu .slicknav_nav ul {
					margin: 0;
					text-align: left;
				}

					.offcanvas-menu-wrapper .slicknav_menu .slicknav_nav ul li .dropdown {
						padding-left: 20px;
					}

					.offcanvas-menu-wrapper .slicknav_menu .slicknav_nav ul li a {
						margin: 0;
						padding: 10px;
						font-weight: 600;
						font-size: 14px;
						color: #ffffff;
						border-bottom: 1px solid #e5e5e5;
						-webkit-transition: all 0.3s;
						-o-transition: all 0.3s;
						transition: all 0.3s;
					}

						.offcanvas-menu-wrapper .slicknav_menu .slicknav_nav ul li a:hover {
							border-radius: 0;
							background: transparent;
							color: var(--gz-accent);
						}

				.offcanvas-menu-wrapper .slicknav_menu .slicknav_nav .slicknav_row a {
					border-bottom: 0;
					padding-left: 0;
					-webkit-transition: all 0.3s;
					-o-transition: all 0.3s;
					transition: all 0.3s;
				}

				.offcanvas-menu-wrapper .slicknav_menu .slicknav_nav .slicknav_row span {
					color: var(--gz-text-dark);
					-webkit-transition: all 0.3s;
					-o-transition: all 0.3s;
					transition: all 0.3s;
				}

				.offcanvas-menu-wrapper .slicknav_menu .slicknav_nav .slicknav_row:hover a {
					color: var(--gz-accent);
				}

				.offcanvas-menu-wrapper .slicknav_menu .slicknav_nav .slicknav_row:hover span {
					color: var(--gz-accent);
				}

		.offcanvas-menu-wrapper .top-social {
			display: inline-block;
			margin-top: 30px;
			margin-bottom: 20px;
		}

			.offcanvas-menu-wrapper .top-social a {
				display: inline-block;
				font-size: 16px;
				color: var(--gz-text-dark);
				margin-right: 20px;
			}

				.offcanvas-menu-wrapper .top-social a:last-child {
					margin-right: 0;
				}

		.offcanvas-menu-wrapper .top-widget li {
			list-style: none;
			font-size: 16px;
			color: var(--gz-text-dark);
			font-weight: 500;
			line-height: 28px;
		}

			.offcanvas-menu-wrapper .top-widget li i {
				color: var(--gz-accent);
				margin-right: 4px;
			}

		.offcanvas-menu-wrapper.show-offcanvas-menu-wrapper {
			left: 0;
			opacity: 1;
			visibility: visible;
		}

	.about-text {
		margin-bottom: 30px;
	}

	.footer-section .copyright-option ul {
		text-align: center;
		margin-bottom: 10px;
	}

	.footer-section .copyright-option .co-text {
		text-align: center;
	}

	.about-pic img {
		margin-bottom: 20px;
	}

	.room-booking {
		padding: 0;
		margin-top: 40px;
	}

	.contact-form {
		padding-top: 30px;
	}

	.hero-text {
		margin-bottom: 40px;
	}
}
/* Tablet Device: 768px */

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.testimonial-slider.owl-carousel .owl-nav button {
		left: -30px;
	}

		.testimonial-slider.owl-carousel .owl-nav button.owl-next {
			right: -30px;
		}

	.hp-room-items {
		margin: 0;
	}

	.hp-room-item {
		margin-bottom: 15px;
	}
}
/* Large Mobile: 480px */

@media only screen and (max-width: 767px) {
	.testimonial-slider.owl-carousel .owl-nav {
		display: none;
	}

	.room-details-item .rd-text .rd-title {
		margin-bottom: 25px;
	}

		.room-details-item .rd-text .rd-title h3 {
			float: none;
			margin-bottom: 30px;
		}

		.room-details-item .rd-text .rd-title .rdt-right {
			float: none;
			text-align: left;
		}

	.footer-section .copyright-option ul li {
		margin-right: 25px;
	}

	.blog-details-text .tag-share .tags {
		float: none;
		margin-bottom: 20px;
	}

	.blog-details-text .tag-share .social-share {
		float: none;
	}

	.about-text .section-title h2 {
		font-size: 30px;
		line-height: 40px;
	}

	.hp-room-items {
		margin: 0 -5px;
	}

	.hp-room-item {
		margin-bottom: 10px;
	}
}
/* Small Mobile: 320px */

@media only screen and (max-width: 479px) {
	.footer-section .copyright-option ul li {
		margin-bottom: 5px;
	}

	.video-section {
		padding-top: 80px;
	}

	.rd-reviews .review-item .ri-pic, .blog-details-text .comment-option .single-comment-item .sc-author {
		float: none;
		margin-bottom: 30px;
	}

	.rd-reviews .review-item .ri-text .rating {
		position: relative;
	}

	.rd-reviews .review-item .ri-text, .blog-details-text .comment-option .single-comment-item.second-comment .sc-text, .blog-details-text .comment-option .single-comment-item.first-comment .sc-text {
		padding-left: 0;
	}

	.blog-details-text .comment-option .single-comment-item.reply-comment {
		padding-left: 30px;
	}

	.rd-reviews .review-item .ri-text:before, .blog-details-text .comment-option .single-comment-item.first-comment .sc-text:before, .blog-details-text .comment-option .single-comment-item.second-comment .sc-text:before {
		display: none;
	}

	.blog-details-hero {
		padding-top: 70px;
	}

	.blog-details-text .bd-pic .bp-item {
		width: 100%;
		float: none;
		margin-right: 0;
		margin-bottom: 10px;
	}

	.blog-details-text .tag-share .tags a {
		margin-bottom: 6px;
	}

	.blog-details-text .comment-option .single-comment-item .sc-text a {
		margin-bottom: 10px;
	}
}
/* Sticky Booking Bar */


.booking-bar-form {
	display: flex;
	gap: 10px;
	align-items: stretch;
	justify-content: center;
}

.bb-item {
	background: rgba(255,255,255,0.2);
	border: 1px solid white;
	padding: 12px 16px;
	border-radius: 6px;
	color: #fff;
	width: 220px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

	.bb-item label {
		font-size: 14px;
		font-weight: 600;
		margin-bottom: 2px;
		color: white;
	}

	.bb-item span {
		font-size: 14px;
		opacity: 0.9;
	}

.bb-btn {
	background: var(--gz-accent);
	color: white;
	border: none;
	border-radius: 999px;
	padding: 16px 25px;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
}

	.bb-btn:hover {
		opacity: 0.8;
	}

/* Sticky Booking Bar */
.sticky-booking-bar {
	background: transparent;
	padding: 20px 0;
	border-top: 1px solid rgba(0,0,0,0.05);
	border-bottom: 1px solid rgba(0,0,0,0.05);
	position: sticky;
	top: 0;
	z-index: 999;
}

/* Booking bar form */
.booking-bar-form {
	display: flex;
	gap: 20px;
	justify-content: center;
	align-items: center;
}

/* Booking bar box */
.bb-item {
    background: #bba262;
    padding: 15px 20px;
    border-radius: 12px;
    border: none !important;
    display: flex;
    flex-direction: column;
    min-width: 180px;
    color: #000;
}

	/* Black text everywhere */
	.bb-item label,
	.bb-item span,
	.bb-item i,
	.bb-item input {
		color: var(--gz-booking-txt);
		font-weight: 500;
	}

	/* Labels */
	.bb-item label {
		font-size: 14px;
		opacity: 0.85;
		margin-bottom: 5px;
	}

	/* Values */
	.bb-item span {
		font-size: 16px;
		font-weight: 600;
	}

	/* Input fields */
	.bb-item input {
        width: 100%;
        border: none !important;
        padding: 6px 10px;
        border-radius: 6px;
        background: #fff;
	}

	/* Native select — matches input style */
	.bb-select {
		width: 100%;
		border: none;
		padding: 6px 10px;
		border-radius: 6px;
		background: #fff;
		color: var(--gz-booking-txt);
		font-size: 16px;
		font-weight: 600;
		cursor: pointer;
		outline: none;
		appearance: auto;
	}

/* Search button */
.bb-btn {
    background: var(--gz-accent);
    color: #fff;
    padding: 17px 28px;
    border: 1px solid #ffffff !important;
    border-radius: 12px;
    font-weight: 600;
    transition: 0.25s;
    cursor: pointer;
}
.bb-label {
	color: white;
}
	.bb-btn:hover {
		background: #9a8452;
		color: #fff;
		border: 1px solid #9a8452 !important;
	}

/* Slight responsive tweak */
@media (max-width: 1400px) {
	.bb-item {
		min-width: 150px;
	}
}

.aboutus-section {
	background: var(--gz-secondary);
	padding-top: 80px;
	padding-bottom: 80px;
}

/* Welcome section */
.welcome-owner {
	background: #fff;
}

.section-kicker {
	font-size: 14px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--gz-accent);
	font-weight: 600;
}

.welcome-title {
	margin-top: 8px;
	margin-bottom: 18px;
}

.owner-photo-wrapper {
	text-align: center;
}

.owner-photo {
	width: 220px;
	height: 220px;
	border-radius: 50%;
	overflow: hidden;
	margin: 0 auto 15px;
	border: 4px solid var(--gz-secondary);
}

	.owner-photo img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

.owner-caption p {
	margin: 0;
}

/* Why choose */
.why-choose-section {
	background: var(--gz-secondary);
}

/* Destinations */
.destinations-section {
	background: #fff;
}

/* Philosophy CTA */
.philosophy-cta-section {
	background: var(--gz-primary);
	padding: 80px 0;
}

.philosophy-inner span {
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--gz-accent);
}

.philosophy-inner h2 {
	margin-top: 10px;
	margin-bottom: 16px;
}

/* Experiences */
.experiences-section {
	background: #fff;
}

.experience-item {
	background: var(--gz-secondary);
	padding: 24px 22px;
	border-radius: 10px;
	margin-bottom: 20px;
}

/* Trust */
.trust-section {
	background: var(--gz-primary);
	padding: 40px 0;
}

.trust-inner span {
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--gz-accent);
}

.trust-logos {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 20px;
}

.trust-logo-item {
	padding: 10px 18px;
	border-radius: 20px;
	border: 1px solid rgba(0,0,0,0.06);
	background: rgba(255,255,255,0.7);
}

/* Big CTA */
.big-cta-section {
	background: #fff;
}

.big-cta-inner {
	max-width: 620px;
	margin: 0 auto;
}

/* Newsletter */
.newsletter-section {
	background: var(--gz-secondary);
	padding: 40px 0;
}

.newsletter-form {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

	.newsletter-form input {
		flex: 1;
		min-width: 200px;
		border: 1px solid #ddd;
		border-radius: 6px;
		padding: 10px 14px;
	}

	.newsletter-form button {
		border: none;
		border-radius: 6px;
		background: var(--gz-accent);
		color: #fff;
		padding: 10px 18px;
		white-space: nowrap;
	}

@media (max-width: 480px) {
	.newsletter-form { flex-direction: column; }
	.newsletter-form input, .newsletter-form button { width: 100%; }
}

/* Instagram */
.insta-item {
	position: relative;
	height: 180px;
}

.insta-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	background: rgba(0,0,0,0.35);
	transition: 0.2s;
	color: #fff;
	font-size: 24px;
}

.insta-item:hover .insta-overlay {
	opacity: 1;
}

/* WhatsApp floating button */
.whatsapp-float {
	position: fixed;
	right: 20px;
	bottom: 20px;
	background: #25D366;
	color: #fff;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 999;
	box-shadow: 0 6px 18px rgba(0,0,0,0.2);
}
/* BODY & TEXT COLORS */
body {
	color: var(--gz-text-dark);
	background: #fff;
}

p {
	color: var(--gz-text-medium);
}

/* LINKS */
a {
	color: var(--gz-accent);
}

	a:hover {
		color: var(--gz-text-dark);
	}

/* TITLES */
h1, h2, h3, h4 {
	color: var(--gz-text-dark);
}

/* BUTTON STYLE */
.primary-btn,
.button,
.btn {
	background: var(--gz-accent) !important;
	color: #fff !important;
	border: 1px solid var(--gz-accent) !important;
}

	.primary-btn:hover {
		background: var(--gz-primary) !important;
		color: var(--gz-text-dark) !important;
	}

.welcome-owner {
	background: var(--gz-secondary);
}

	.welcome-owner .section-kicker {
		color: var(--gz-accent);
		font-weight: 600;
	}

	.welcome-owner .welcome-title {
		color: var(--gz-text-dark);
	}

.owner-caption p {
	color: var(--gz-text-light);
}

.signature {
	color: var(--gz-accent);
}

.why-choose-section {
	background: #fff;
}

	.why-choose-section .service-item i {
		color: var(--gz-accent);
	}

.services-section {
	background: #fff;
}

	.services-section .section-title span {
		color: var(--gz-accent);
	}

	.services-section .service-item h4 {
		color: var(--gz-text-dark);
	}

	.services-section .service-item p {
		color: var(--gz-text-medium);
	}

.destinations-section {
	background: #CFE9D6;
}

.destination-card .dc-text {
	background: rgba(255,255,255,0.85);
	color: var(--gz-text-dark);
}

.destination-card h4 {
	color: var(--gz-text-dark);
}

.destination-card p {
	color: var(--gz-text-medium);
}

.philosophy-cta-section {
	background: var(--gz-primary);
	padding: 80px 0;
}

	.philosophy-cta-section span {
		color: var(--gz-accent);
	}

	.philosophy-cta-section h2 {
		color: var(--gz-text-dark);
	}

	.philosophy-cta-section p {
		color: var(--gz-text-medium);
	}

.experiences-section {
	background: #fff;
}

.experience-item h4 {
	color: var(--gz-text-dark);
}

.experience-item p {
	color: var(--gz-text-medium);
}

.testimonial-section {
	background: var(--gz-secondary);
}

.ti-author h5 {
	color: var(--gz-text-dark);
}

.ts-item p {
	color: var(--gz-text-medium);
}

.trust-section {
	background: #fff;
	padding: 60px 0;
	border-top: 1px solid var(--gz-border);
}

.trust-logo-item {
	color: var(--gz-accent);
	border: 1px solid var(--gz-border);
}

.big-cta-section {
	background: var(--gz-primary);
}

	.big-cta-section h2 {
		color: var(--gz-text-dark);
	}

	.big-cta-section p {
		color: var(--gz-text-medium);
	}

.newsletter-section {
	background: var(--gz-bg-dark);
	color: #fff;
}

	.newsletter-section p {
		color: var(--gz-text-light);
	}

.newsletter-form input {
	border: 1px solid var(--gz-border);
	background: #fff;
	color: var(--gz-text-dark);
}

.instagram-section {
	background: #fff;
	padding-top: 60px;
	padding-bottom: 0;
}

.insta-overlay {
	background: rgba(255,255,255,0.82);
	color: var(--gz-text-dark);
}

.whatsapp-float {
	background: var(--gz-accent);
	color: var(--gz-text-dark);
}

	.whatsapp-float:hover {
		background: var(--gz-primary);
	}

.section-white {
	background: #ffffff;
}

.section-beige {
	background: var(--gz-secondary); /* #F7F0D5 */
}
.section-beigee {
	background: #ffffff; /* #F7F0D5 */
}


/* Accent usage */
.section-title span,
.section-kicker,
.b-tag {
	color: var(--gz-accent); /* #DED094 */
}

.service-item {
	background-color: transparent;
	transition: all 0.3s ease-in-out;
	padding: 2.5rem 1.5rem;
	border-radius: 0.75rem;
	cursor: default;
}

	.service-item i {
		font-size: 3rem;
		color: var(--gz-primary);
		transition: color 0.3s ease;
	}

	.service-item:hover {
		background-color: rgba(0,0,0,0.05); /* ή var(--gz-light) */
	}

		.service-item:hover i {
			color: var(--gz-primary-dark); /* ή #000 */
		}

.welcome-text .section-kicker {
	font-size: 20px;
	text-transform: uppercase;
	color: var(--gz-accent);
	letter-spacing: 2px;
	font-weight: 600;
}

.welcome-text .welcome-title {
	font-size: 40px;
	color: var(--gz-text-dark);
	margin-top: 10px;
	margin-bottom: 20px;
	font-weight: 600;
}

.welcome-text p {
	color: var(--gz-text-medium);
	font-size: 20px;
	line-height: 28px;
	margin-bottom: 16px;
}

/*.welcome-btn {
	margin-top: 10px;
	display: inline-block;
	padding: 12px 26px;
	background-color: var(--gz-accent);
	color: #fff;	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 600;
	border-radius: 3px;
	transition: background-color 0.3s ease;
}*/
/*
	.welcome-btn:hover {
		background-color: #748979;
	}*/

.owner-photo-wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.owner-photo img {
	max-width: 260px;
	border-radius: 50%;
	border: 4px solid var(--gz-accent);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease;
}

	.owner-photo img:hover {
		transform: scale(1.03);
	}

.owner-caption .signature {
	margin-top: 15px;
	font-size: 28px;
	color: var(--gz-text-dark);
}



/* === Greek Zen Villas Custom Color Palette === */


/* === Buttons — canonical definition below === */

/* === Sections === */
.section-beige {
	background-color: var(--gz-bg-light);
}

.section-white {
	background-color: #fff;
}

/* === Typography === */
.section-title h2,
a {
	color: #000000;
}

	a:hover {
		color: var(--gz-olive);
	}

.signature {
	color: var(--gz-green);
	font-size: 28px;
}

/* === Hero Overlay Fade === */
.hero-section::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, rgba(207, 233, 214, 0.6), rgba(255,255,255,0));
	z-index: 1;
}

.primary-btn,
.bb-btn,
.newsletter-form button,
.big-cta-inner .primary-btn,
.welcome-btn {
	background-color: var(--gz-btn-bg);
	color: var(--gz-btn-text);
	font-weight: 600;
	text-transform: uppercase;
	border: none;
	border-radius: 999px;
	padding: 8px 18px;
	letter-spacing: 0.5px;
	transition: background-color 0.3s ease, color 0.3s ease;
}

	.primary-btn:hover,
	.bb-btn:hover,
	.newsletter-form button:hover,
	.big-cta-inner .primary-btn:hover,
	.welcome-btn:hover {
		background-color: var(--gz-btn-bg-hover);
		color: var(--gz-btn-text);
	}

/* Updated link/button style */
a.primary-btn, .primary-btn {
	text-decoration: none !important;
	border: none !important;
	outline: none;
	box-shadow: none;
}

	/* Optional: refine hover effect */
	.primary-btn:hover {
		text-decoration: none !important;
		opacity: 0.9;
	}


/* Enhanced destination-card styles */

.destination-card {
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	display: flex;
	flex-direction: column;
	text-decoration: none;
}

	.destination-card:hover {
		transform: translateY(-6px);
		box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
	}

.destination-image {
	background-size: cover;
	background-position: center;
	height: 240px;
}

.destination-info {
	padding: 25px 22px;
	text-align: center;
}

	.destination-info h4 {
		font-family: var(--gz-header-font, 'Perpetua', serif);
		font-size: 1.5rem;
		margin-bottom: 12px;
		color: var(--gz-text-dark);
	}

	.destination-info p {
		color: var(--gz-text-medium);
		margin-bottom: 20px;
		font-size: 1rem;
		line-height: 1.6;
	}

	.destination-info .primary-btn {
		font-size: 0.9rem;
		padding: 10px 22px;
		border-radius: 30px;
		text-decoration: none;
	}
.hero-text {
	visibility: hidden;
	height: 400px; /* ή όσο χρειάζεσαι για σωστό ύψος */
}
.instagram-grid {
	display: flex;
	gap: 0;
	padding: 0;
	margin: 0;
}

	.instagram-grid.full-width {
		width: 100vw;
		margin-left: calc(-1 * ((100vw - 100%) / 2)); /* Για να ξεχειλώσει πέρα από το container */
	}

.insta-item {
	flex: 1;
	height: 300px;
	background-size: cover;
	background-position: center;
}
.destination-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: transform 0.3s ease;
}

.destination-card:hover {
    transform: translateY(-4px);
}

.destination-image {
    width: 100%;
    height: 220px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    flex-shrink: 0;
}

.destination-info {
    padding: 25px 20px;
    text-align: center;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.destination-info h4 {
    font-family: var(--gz-serif);
    font-size: 1.25rem;
    margin-bottom: 10px;
    color: var(--gz-text-dark);
}

.destination-info p {
    font-size: 0.95rem;
    color: var(--gz-text-medium);
    margin-bottom: 20px;
}

.primary-btn {
    display: inline-block;
    padding: 10px 20px;
    background-color: var(--gz-secondary);
    color: white;
    text-transform: uppercase;
    font-size: 0.85rem;
    border-radius: 30px;
    transition: background 0.3s;
    text-decoration: none;
    border: none;
}

.primary-btn:hover {
    background-color: var(--gz-text-dark);
    color: white;
}
/* Keep form inputs nicely sized */
.contact-form .form-control {
	height: 48px;
	padding-left: 18px;
	font-size: 15px;
	border-radius: 4px;
}

.contact-form textarea.form-control {
	resize: none;
	padding-top: 12px;
}
.menu-item {
	border-bottom: 1px solid #e5e5e5;
}
.philosophy-card {
	background: #ffffff;
	padding: 25px;
	border-radius: 12px;
	border: 1px solid #eee;
	transition: .25s;
}

	.philosophy-card:hover {
		transform: translateY(-4px);
		box-shadow: 0 6px 20px rgba(0,0,0,0.1);
	}

.testimonial-box {
	font-style: italic;
	padding: 25px;
	border-left: 4px solid #4f6d59;
	background: #fafafa;
	border-radius: 6px;
}

.team-photo {
	width: 160px;
	height: 160px;
	object-fit: cover;
}

/* ABOUT PAGE TYPOGRAPHY -------------------------------------------------- */

.about-intro {
	max-width: 750px;
	margin: 15px auto 0 auto;
	font-size: 18px;
	color: var(--gz-text-medium);
}

.about-text {
	font-size: 17px;
	color: var(--gz-text-medium);
	line-height: 1.65;
}

/* SIGNATURE / ACCENT TEXT */
.heading-accent {
	font-family: var(--font-accent);
	font-size: 46px;
	font-weight: normal;
	color: var(--gz-secondary);
	letter-spacing: 1px;
	margin-bottom: 12px;
	line-height: 1.1;
}

.heading-accent-sm {
	font-family: var(--font-accent);
	font-size: 32px;
	color: var(--gz-olive);
	letter-spacing: 1px;
	margin-bottom: 5px;
}

/* PHILOSOPHY CARDS -------------------------------------------------------- */
.philosophy-card {
	background: #ffffff;
	padding: 28px;
	border-radius: 12px;
	border: 1px solid #EEE;
	transition: .3s;
}

	.philosophy-card:hover {
		transform: translateY(-4px);
		box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
	}

/* TEAM PHOTOS ------------------------------------------------------------- */
.team-photo {
	width: 170px;
	height: 170px;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 6px 18px rgba(0,0,0,0.15);
}

/* ABOUT IMAGES ------------------------------------------------------------ */
.about-img {
	border-radius: 14px;
	object-fit: cover;
}

/* BACKGROUND SECTIONS ----------------------------------------------------- */
.section-beige {
	background: var(--gz-ivory);
}
.about-hero {
	padding-top: 80px;
	padding-bottom: 60px;
}

@media (max-width: 768px) {
	.about-hero {
		padding-top: 60px;
		padding-bottom: 40px;
	}
}
.bb-item label {
	color: white;
}

/* ========================= DESTINATION DETAILS STYLES ========================= */

/* Hero Section */
.destination-details-hero {
	text-align: center;
	background: linear-gradient(135deg, #1c1c1a 0%, rgba(44,38,28,0.9) 100%);
	padding: 60px 0;
}

	.destination-details-hero h1 {
		color: white;
		font-size: 3.5rem;
		font-weight: 700;
		text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);
		margin-bottom: 10px;
	}

	.destination-details-hero p {
		color: rgba(255, 255, 255, 0.9);
		font-size: 1.2rem;
		font-weight: 300;
	}

/* Details Section */
.destination-details-section {
	padding: 80px 0;
	background-color: #f9f9f9;
}

/* Featured Image */
.destination-featured-image {
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
	animation: slideInUp 0.8s ease;
}

	.destination-featured-image img {
		width: 100%;
		height: 500px;
		object-fit: cover;
		display: block;
	}

/* Main Description Card */
.destination-description {
	background: white;
	padding: 40px;
	border-radius: 12px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
	margin-bottom: 30px;
}

	.destination-description h2 {
		color: var(--gz-text-dark);
		font-size: 2rem;
		font-weight: 700;
		margin-bottom: 20px;
		border-bottom: 3px solid #bba262;
		padding-bottom: 15px;
	}

	.destination-description p {
		color: var(--gz-text-medium);
		font-size: 1.1rem;
		line-height: 1.8;
		margin-bottom: 0;
		text-align: justify;
	}

/* Highlights Section */
.destination-highlights {
	background: white;
	padding: 40px;
	border-radius: 12px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
	margin-bottom: 30px;
}

	.destination-highlights h3 {
		color: var(--gz-text-dark);
		font-size: 1.8rem;
		font-weight: 700;
		margin-bottom: 25px;
		border-bottom: 3px solid var(--gz-secondary);
		padding-bottom: 15px;
	}

.destination-highlight-item {
	text-align: center;
}

	.destination-highlight-item i {
		font-size: 3rem;
		color: var(--gz-secondary);
		margin-bottom: 15px;
		display: block;
	}

	.destination-highlight-item h5 {
		color: var(--gz-text-dark);
		font-weight: 600;
		margin-bottom: 10px;
	}

	.destination-highlight-item p {
		color: var(--gz-text-light);
		font-size: 0.95rem;
	}

/* Share Section */
.destination-share {
	background: white;
	padding: 30px;
	border-radius: 12px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

	.destination-share h5 {
		color: var(--gz-text-dark);
		font-weight: 600;
		margin: 0;
		margin-bottom: 15px;
		width: 100%;
	}

.social-share {
	display: flex;
	gap: 12px;
}

	.social-share a {
		width: 45px;
		height: 45px;
		display: flex;
		align-items: center;
		justify-content: center;
		color: white;
		border-radius: 50%;
		text-decoration: none;
		transition: all 0.3s ease;
		font-size: 1.3rem;
	}

		.social-share a:hover {
			transform: translateY(-3px);
		}

/* Info Card (Sidebar) */
.destination-info-card {
	background: white;
	padding: 30px;
	border-radius: 12px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
	margin-bottom: 30px;
	border-left: 5px solid var(--gz-secondary);
	position: sticky;
	top: 20px;
}

	.destination-info-card h4 {
		color: var(--gz-text-dark);
		font-weight: 700;
		margin-bottom: 20px;
	}

.destination-info-field {
	margin-bottom: 15px;
}

	.destination-info-field:not(:last-child) {
		padding-bottom: 15px;
		border-bottom: 1px solid #eee;
	}

.destination-info-label {
	color: var(--gz-text-light);
	font-size: 0.85rem;
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.destination-info-value {
	color: var(--gz-text-dark);
	font-size: 1.1rem;
	font-weight: 600;
	margin: 5px 0 0 0;
}

/* CTA Card */
.destination-cta {
	background: linear-gradient(135deg, #d7c273 0%, #bba262 100%);
	padding: 30px;
	border-radius: 12px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
	text-align: center;
}

	.destination-cta h5 {
		color: white;
		font-weight: 700;
		margin-bottom: 15px;
		font-size: 1.3rem;
	}

	.destination-cta p {
		color: rgba(255, 255, 255, 0.9);
		margin-bottom: 20px;
	}

	.destination-cta a {
		display: inline-block;
		background-color: white;
		color: #bba262;
		padding: 12px 30px;
		border-radius: 25px;
		text-decoration: none;
		font-weight: 600;
		transition: all 0.3s ease;
		border: 2px solid white;
	}

		.destination-cta a:hover {
			background-color: #fff8e5;
			color: rgba(0,0,0,0.35);
			transform: translateY(-2px);
			box-shadow: 0 6px 20px rgba(82, 112, 93, 0.3);
		}

/* Back Button */
.destination-back-link {
	display: inline-flex;
	align-items: center;
	color: #bba262;
	text-decoration: none;
	font-weight: 600;
	font-size: 1.1rem;
	transition: all 0.3s ease;
	margin-top: 40px;
}

	.destination-back-link:hover {
		color: var(--gz-text-dark);
	}

	.destination-back-link i {
		margin-right: 8px;
	}

/* Animations */
@keyframes slideInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Responsive */
@media (max-width: 768px) {
	.destination-info-card {
		position: relative;
		top: auto;
	}

	.destination-featured-image img {
		height: 300px !important;
	}

	.destination-details-hero h1 {
		font-size: 2.5rem !important;
	}

	.destination-description h2 {
		font-size: 1.5rem;
	}

	.destination-highlights h3 {
		font-size: 1.3rem;
	}

	.destination-highlight-item i {
		font-size: 2.5rem;
	}
}
/* ========================= ENHANCED DESTINATION CARDS ========================= */

.destination-card {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 400px; /* Fixed height for uniformity */
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

	.destination-card:hover {
		transform: translateY(-4px);
		box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
	}

.destination-image {
	width: 100%;
	height: 200px; /* Fixed image height */
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	flex-shrink: 0;
}

.destination-info {
	padding: 20px;
	text-align: center;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	overflow: hidden;
}

	.destination-info h4 {
		font-family: var(--font-primary);
		font-size: 1.2rem;
		font-weight: 600;
		margin: 0 0 12px 0;
		color: var(--gz-text-dark);
		/* Single line truncation for title */
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		line-height: 1.4;
	}

	.destination-info p {
		font-size: 0.9rem;
		color: var(--gz-text-medium);
		margin: 0 0 15px 0;
		line-height: 1.5;
		/* 2-3 lines max for description */
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.destination-info .primary-btn {
		display: inline-block;
		padding: 8px 18px;
		background-color: var(--gz-secondary);
		color: white;
		text-transform: uppercase;
		font-size: 0.8rem;
		border-radius: 20px;
		transition: background 0.3s, transform 0.3s;
		text-decoration: none;
		border: none;
		font-weight: 600;
		letter-spacing: 0.5px;
		align-self: center;
	}

		.destination-info .primary-btn:hover {
			background-color: var(--gz-text-dark);
			color: white;
			transform: scale(1.05);
		}

/* Responsive adjustments */
@media (max-width: 768px) {
	.destination-card {
		height: 380px;
	}

	.destination-image {
		height: 180px;
	}

	.destination-info h4 {
		font-size: 1.1rem;
	}

	.destination-info p {
		font-size: 0.85rem;
	}
}

@media (max-width: 576px) {
	.destination-card {
		height: 360px;
	}

	.destination-image {
		height: 160px;
	}

	.destination-info {
		padding: 15px;
	}

		.destination-info h4 {
			font-size: 1rem;
			margin-bottom: 8px;
		}

		.destination-info p {
			font-size: 20px;
			margin-bottom: 10px;
		}

		.destination-info .primary-btn {
			padding: 6px 14px;
			font-size: 0.75rem;
		}
}
/* === BLOGS LIST STYLES === */
.filter-dropdown-container {
	display: flex;
	justify-content: center;
	margin-bottom: 2rem;
}

.filter-btn {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem 1.5rem;
	font-size: 1rem;
	font-weight: 600;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	transition: all 0.3s ease;
	min-width: 200px;
	justify-content: center;
}

	.filter-btn:hover {
		box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
		transform: translateY(-2px);
	}

.filter-icon {
	font-size: 1.25rem;
}

.filter-label {
	flex: 1;
}

.dropdown-arrow {
	font-size: 0.75rem;
	transition: transform 0.3s ease;
}

.filter-btn[aria-expanded="true"] .dropdown-arrow {
	transform: rotate(180deg);
}

.filter-dropdown-menu {
	min-width: 250px;
	border-radius: 8px;
	border: 1px solid #dee2e6;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	list-style: none;
	padding: 0.5rem 0;
	margin: 0.5rem 0 0 0;
	z-index: 1000;
}

	.filter-dropdown-menu.show {
		animation: slideDown 0.2s ease;
	}

	.filter-dropdown-menu .dropdown-item {
		display: flex;
		align-items: center;
		gap: 0.75rem;
		padding: 0.75rem 1.25rem;
		transition: all 0.2s ease;
		cursor: pointer;
		background: none;
		border: none;
		color: inherit;
		width: 100%;
	}

		.filter-dropdown-menu .dropdown-item:hover {
			background-color: #f0f0f0;
			transform: translateX(4px);
		}

		.filter-dropdown-menu .dropdown-item.active {
			background-color: #e7f1ff;
			color: #0d6efd;
			font-weight: 600;
		}

.filter-option-icon {
	font-size: 1.25rem;
	min-width: 1.5rem;
	text-align: center;
}

.dropdown-divider {
	margin: 0.5rem 0;
	opacity: 0.5;
}

@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateX(-50%) translateY(-10px);
	}

	to {
		opacity: 1;
		transform: translateX(-50%) translateY(0);
	}
}

/* Blog item clickable hover effect */
.blog-item-clickable {
	cursor: pointer;
	transition: all 0.3s ease;
}

	.blog-item-clickable:hover {
		transform: translateY(-8px);
		box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
	}

		.blog-item-clickable:hover .bi-text {
			bottom: 0;
		}

@media (max-width: 576px) {
	.filter-btn {
		min-width: 150px;
		padding: 0.65rem 1rem;
		font-size: 0.9rem;
	}

	.filter-dropdown-menu {
		min-width: 200px;
	}

		.filter-dropdown-menu .dropdown-item {
			padding: 0.65rem 1rem;
		}
}
/* ========================= BLOG DETAILS STYLES ========================= */

/* Hero Section */
.blog-details-hero {
	text-align: center;
	background: linear-gradient(135deg, #1c1c1a 0%, rgba(44,38,28,0.9) 100%);
	padding: 60px 0;
}

	.blog-details-hero h1 {
		color: white;
		font-size: 3.5rem;
		font-weight: 700;
		text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);
		margin-bottom: 10px;
	}

	.blog-details-hero p {
		color: rgba(255, 255, 255, 0.9);
		font-size: 1.2rem;
		font-weight: 300;
	}

/* Details Section */
.blog-details-section {
	padding: 80px 0;
	background-color: #f9f9f9;
}

/* Featured Image */
.blog-featured-image {
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
	animation: slideInUp 0.8s ease;
}

	.blog-featured-image img {
		width: 100%;
		height: 500px;
		object-fit: cover;
		display: block;
	}

/* Blog Info Header */
.blog-info-header {
	margin-bottom: 30px;
}

.blog-category {
	display: inline-block;
	color: #ffffff;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
	background: var(--gz-accent);
	padding: 6px 14px;
	border-radius: 4px;
	font-weight: 600;
	margin-bottom: 15px;
}

.blog-meta {
	display: flex;
	gap: 25px;
	margin-bottom: 20px;
}

.blog-meta-item {
	font-size: 14px;
	color: var(--gz-text-medium);
	display: flex;
	align-items: center;
	gap: 8px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

	.blog-meta-item i {
		color: var(--gz-accent);
		font-size: 16px;
	}

/* Blog Description */
.blog-description {
	background: white;
	padding: 40px;
	border-radius: 12px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
	margin-bottom: 40px;
}

	.blog-description h2 {
		color: var(--gz-text-dark);
		font-size: 2rem;
		font-weight: 700;
		margin-bottom: 20px;
		border-bottom: 3px solid #bba262;
		padding-bottom: 15px;
	}

	.blog-description p {
		color: var(--gz-text-medium);
		font-size: 20px;
		line-height: 1.8;
		margin-bottom: 0;
		text-align: justify;
	}

/* Share Section */
.blog-share {
	background: white;
	padding: 30px;
	border-radius: 12px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
	margin-bottom: 40px;
}

	.blog-share h5 {
		color: var(--gz-text-dark);
		font-weight: 600;
		margin: 0 0 20px 0;
	}

/* Social Share Links */
.social-share {
	display: flex;
	gap: 15px;
}

	.social-share a {
		width: 50px;
		height: 50px;
		display: flex;
		align-items: center;
		justify-content: center;
		color: white;
		border-radius: 50%;
		text-decoration: none;
		transition: all 0.3s ease;
		font-size: 1.3rem;
	}

	.social-share .share-facebook {
		background-color: #3b5998;
	}

		.social-share .share-facebook:hover {
			background-color: #2d4373;
			transform: translateY(-3px);
			box-shadow: 0 6px 16px rgba(59, 89, 152, 0.4);
		}

	.social-share .share-twitter {
		background-color: #1da1f2;
	}

		.social-share .share-twitter:hover {
			background-color: #1a91da;
			transform: translateY(-3px);
			box-shadow: 0 6px 16px rgba(29, 161, 242, 0.4);
		}

	.social-share .share-pinterest {
		background-color: #e60023;
	}

		.social-share .share-pinterest:hover {
			background-color: #c60023;
			transform: translateY(-3px);
			box-shadow: 0 6px 16px rgba(230, 0, 35, 0.4);
		}

	.social-share .share-instagram {
		background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
	}

		.social-share .share-instagram:hover {
			transform: translateY(-3px);
			box-shadow: 0 6px 16px rgba(193, 53, 132, 0.4);
		}

/* Info Card (Sidebar) */
.blog-info-card {
	background: white;
	padding: 30px;
	border-radius: 12px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
	margin-bottom: 30px;
	border-left: 5px solid #bba262;
	position: relative;
	top: 20px;
}

	.blog-info-card h4 {
		color: var(--gz-text-dark);
		font-weight: 700;
		margin-bottom: 20px;
	}

.blog-info-field {
	margin-bottom: 15px;
}

	.blog-info-field:not(:last-child) {
		padding-bottom: 15px;
		border-bottom: 1px solid #eee;
	}

.blog-info-label {
	color: var(--gz-text-light);
	font-size: 0.85rem;
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-weight: 600;
}

.blog-info-value {
	color: var(--gz-text-dark);
	font-size: 1.1rem;
	font-weight: 600;
	margin: 5px 0 0 0;
}

/* CTA Card */
.blog-cta {
	background: linear-gradient(135deg, #1c1c1a 0%, #2e2826 100%);
	padding: 30px;
	border-radius: 12px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
	text-align: center;
}

	.blog-cta h5 {
		color: white;
		font-weight: 700;
		margin-bottom: 15px;
		font-size: 1.3rem;
	}

	.blog-cta p {
		color: rgba(255, 255, 255, 0.9);
		margin-bottom: 20px;
		font-size: 0.95rem;
	}

	.blog-cta a {
		display: inline-block;
		background-color: white;
		color: #bba262;
		padding: 12px 30px;
		border-radius: 25px;
		text-decoration: none;
		font-weight: 600;
		transition: all 0.3s ease;
		border: 2px solid white;
	}

		.blog-cta a:hover {
			background-color: #bba262;
			color: white;
			transform: translateY(-2px);
			box-shadow: 0 6px 20px rgba(187,162,98,0.3);
		}

/* Back Button */
.blog-back-link {
	display: inline-flex;
	align-items: center;
	color: #bba262;
	text-decoration: none;
	font-weight: 600;
	font-size: 1.1rem;
	transition: all 0.3s ease;
}

	.blog-back-link:hover {
		color: var(--gz-text-dark);
		transform: translateX(-5px);
	}

	.blog-back-link i {
		margin-right: 8px;
		font-size: 1.2rem;
	}

/* Animations */
@keyframes slideInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Responsive */
@media (max-width: 768px) {
	.blog-info-card {
		position: relative;
		top: auto;
	}

	.blog-featured-image img {
		height: 300px !important;
	}

	.blog-details-hero h1 {
		font-size: 2.5rem !important;
	}

	.blog-description h2 {
		font-size: 1.5rem;
	}

	.blog-meta {
		flex-direction: column;
		gap: 10px;
	}

	.social-share {
		justify-content: center;
	}
}

@media (max-width: 576px) {
	.blog-details-hero {
		padding: 40px 0;
	}

		.blog-details-hero h1 {
			font-size: 1.8rem !important;
		}

		.blog-details-hero p {
			font-size: 1rem;
		}

	.blog-featured-image img {
		height: 250px !important;
	}

	.blog-description {
		padding: 20px;
	}

	.blog-share {
		padding: 20px;
	}

	.blog-info-card {
		padding: 20px;
	}

	.blog-cta {
		padding: 20px;
	}
}
/* Blog Title Above Image - CENTERED */
.blog-title-above-image {
	color: var(--gz-text-dark);
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 20px;
	line-height: 1.3;
	text-align: center;
	width: 100%;
}

@media (max-width: 768px) {
	.blog-title-above-image {
		font-size: 1.8rem;
		margin-bottom: 15px;
	}
}

@media (max-width: 576px) {
	.blog-title-above-image {
		font-size: 1.5rem;
		margin-bottom: 12px;
	}
}
.philosophy-card {
	padding: 2rem;
	background: rgba(255, 255, 255, 0.8);
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	height: 100%;
	text-align: center;
}

	.philosophy-card:hover {
		transform: translateY(-5px);
		box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
	}

.philosophy-card-icon {
	font-size: 3rem;
	color: #8B7355;
	margin-bottom: 1rem;
	display: inline-block;
}

.philosophy-card h3 {
	font-size: 23px;
	margin: 1rem 0;
	color: #2c3e50;
	font-weight: 600;
}

.philosophy-card p {
	color: var(--gz-text-medium);
	font-size: 20px;
	line-height: 28px;
	margin-bottom: 16px;
}

.subtitle {
	font-size: 1.1rem;
	color: #8B7355;
	font-weight: 500;
	margin-bottom: 2rem !important;
}
.book-directly-section {
	padding: 80px 0;
}

.book-directly-content {
	margin-top: 50px;
}

.book-benefit-card {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 12px;
	padding: 30px 25px;
	text-align: center;
	transition: all 0.3s ease;
	height: 100%;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

	.book-benefit-card:hover {
		transform: translateY(-8px);
		box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
		border-color: var(--gz-accent);
	}

.benefit-icon {
	font-size: 48px;
	color: var(--gz-accent);
	margin-bottom: 20px;
	display: inline-block;
}

.book-benefit-card h4 {
	color: var(--gz-text-dark);
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 15px;
}

.book-benefit-card p {
	color: var(--gz-text-medium);
	font-size: 20px;
	line-height: 1.6;
	margin: 0;
}

.book-directly-card {
	background: linear-gradient(135deg, #1c1c1a 0%, #2e2826 100%);
	border-radius: 12px;
	padding: 40px 35px;
	text-align: center;
	color: #fff;
	transition: all 0.3s ease;
	min-height: 280px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

	.book-directly-card:hover {
		transform: translateY(-8px);
		box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
	}

	.book-directly-card h3 {
		color: #fff;
		font-size: 24px;
		font-weight: 600;
		margin-bottom: 15px;
	}

	.book-directly-card p {
		color: rgba(255, 255, 255, 0.9);
		font-size: 15px;
		line-height: 1.6;
		margin-bottom: 25px;
	}

	.book-directly-card .primary-btn {
		background-color: #fff;
		color: #bba262;
		padding: 12px 28px;
		border-radius: 25px;
		transition: all 0.3s ease;
		display: inline-block;
		text-decoration: none;
		font-weight: 600;
	}

		.book-directly-card .primary-btn:hover {
			background-color: #bba262;
			color: #fff;
			transform: scale(1.05);
		}

.newsletter-card {
	background: linear-gradient(135deg, #89805E 0%, rgba(137, 128, 94, 0.8) 100%);
}

.instagram-card {
	background: linear-gradient(135deg, #1c1c1a 0%, #2e2826 100%);
}

@media (max-width: 768px) {
	.book-directly-section {
		padding: 60px 0;
	}

	.book-benefit-card {
		padding: 25px 20px;
	}

	.book-directly-card {
		padding: 30px 25px;
		min-height: 250px;
	}

		.book-directly-card h3 {
			font-size: 20px;
		}

		.book-directly-card p {
			font-size: 14px;
		}
}

@media (max-width: 576px) {
	.book-directly-section {
		padding: 40px 0;
	}

	.book-benefit-card {
		padding: 20px 15px;
		margin-bottom: 20px;
	}

	.benefit-icon {
		font-size: 40px;
		margin-bottom: 15px;
	}

	.book-benefit-card h4 {
		font-size: 16px;
	}

	.book-benefit-card p {
		font-size: 14px;
	}

	.book-directly-card {
		padding: 25px 20px;
		min-height: 220px;
		margin-bottom: 20px;
	}

		.book-directly-card h3 {
			font-size: 18px;
			margin-bottom: 12px;
		}

		.book-directly-card p {
			font-size: 13px;
			margin-bottom: 20px;
		}
}
.blogs-category-header {
	font-size: 40px;
	color: var(--gz-text-dark);
	margin-top: 10px;
	margin-bottom: 20px;
	font-weight: 600;
}
.card {
	box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
	border-radius: 8px;
	border: none;
}

.btn {
	border-radius: 4px;
	font-weight: 500;
	transition: all 0.3s ease;
}

.btn-danger {
	background-color: #c7254e;
	border-color: #c7254e;
}

	.btn-danger:hover {
		background-color: #a01838;
		border-color: #a01838;
	}

.btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.alert {
	border-radius: 4px;
}

.badge {
	font-size: 0.85em;
	padding: 0.5em 0.75em;
}

.bg-danger {
	background-color: #c7254e !important;
}

.bg-info {
	background-color: #17a2b8 !important;
}
.card {
	box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
	border-radius: 8px;
	border: none;
}

.btn {
	border-radius: 4px;
	font-weight: 500;
	transition: all 0.3s ease;
}

	.btn:disabled {
		opacity: 0.6;
		cursor: not-allowed;
	}

.alert {
	border-radius: 4px;
}

.badge {
	font-size: 0.85em;
	padding: 0.5em 0.75em;
}
.modal.d-block {
	display: block !important;
	z-index: 1050;
}

.management-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

	.management-header h2 {
		margin: 0;
		color: #333;
	}

.table {
	margin-bottom: 0;
}

.table-dark {
	background-color: #343a40;
}

.btn-sm {
	margin: 0 2px;
}
.content-card-link {
	text-decoration: none;
	display: block;
}

.content-card {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
	transition: all 0.3s ease;
	display: flex;
	flex-direction: column;
	height: 100%;
}

	.content-card:hover {
		box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
		transform: translateY(-4px);
	}

.content-card-image {
	width: 100%;
	height: 200px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.content-card-body {
	padding: 25px 22px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.content-card-tag {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding: 4px 12px;
	border-radius: 20px;
	margin-bottom: 12px;
	width: fit-content;
}

	.content-card-tag.tag-article {
		background: rgba(184, 146, 20, 0.15);
		color: var(--gz-accent);
	}

	.content-card-tag.tag-offer {
		background: rgba(79, 109, 89, 0.15);
		color: var(--gz-secondary);
	}

.content-card-body h3 {
	font-size: 1.35rem;
	color: var(--gz-text-dark);
	margin-bottom: 10px;
	line-height: 1.4;
}

.content-card-body p {
	color: var(--gz-text-medium);
	font-size: 0.95rem;
	line-height: 1.6;
	margin-bottom: 15px;
	flex-grow: 1;
}

.content-card-footer {
	margin-top: auto;
	padding-top: 15px;
	border-top: 1px solid #f0f0f0;
}

.content-card-date {
	font-size: 12px;
	color: var(--gz-text-light);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

	.content-card-date i {
		margin-right: 5px;
		color: var(--gz-accent);
	}

.content-card:hover .content-card-body h3 {
	color: var(--gz-accent);
}

.latest-content-section {
	background: #fff;
}
.valid-button {
	background-color: #4CAF50 !important;
	border-color: #4CAF50 !important;
	padding: 10px 20px;
	color: #fff;
	border-radius: 4px;
	cursor: pointer;
	width: 100%;
	font-size: 18px;
}

	.valid-button:hover {
		background-color: #45a049 !important;
	}.header-section {
	top: 0;
	left: 0;
	width: 100%;
	z-index: 99999;
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
}









.header-section.is-sticky {
	position: fixed;
	background: var(--gz-secondary);
	box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}

.header-section.is-sticky .menu-item {
	background: transparent;
}

.hero-section.hero-with-menu {
	padding-top: 200px;
}
.header-section {
	top: 0;
	left: 0;
	width: 100%;
	z-index: 99999;
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

	.header-section.header-normal {
		position: relative;
		background: #bba262;
	}

	.header-section.hero-header {
		position: absolute;
		background: transparent;
	}

		.header-section.hero-header .menu-item,
		.header-section.hero-header .top-nav {
			background: transparent;
			border-color: rgba(255,255,255,0.25);
		}

			.header-section.hero-header .nav-menu .mainmenu li a,
			.header-section.hero-header .top-nav .tn-right .top-social a,
			.header-section.hero-header .top-nav .tn-right .language-option span,
			.header-section.hero-header .top-nav .tn-right button {
				color: #ffffff;
			}

				.header-section.hero-header .nav-menu .mainmenu li a:after {
					background: #ffffff;
				}

		.header-section.hero-header .canvas-open {
			color: #ffffff;
			border-color: #ffffff;
		}

	.header-section.is-sticky {
		position: fixed;
		background: var(--gz-secondary);
		box-shadow: 0 2px 10px rgba(0,0,0,0.08);
	}

		.header-section.is-sticky .menu-item {
			background: transparent;
		}

.hero-section.hero-with-menu {
	padding-top: 200px;
}
.header-actions {
	display: flex;
	align-items: center;
	gap: 18px;
}

	.header-actions .top-social a {
		margin-left: 12px;
		color: inherit;
	}

	.header-actions .bb-btn {
		padding: 10px 16px;
		white-space: nowrap;
	}

	.header-actions .language-option {
		position: relative;
		cursor: pointer;
		display: flex;
		align-items: center;
		gap: 8px;
	}

		.header-actions .language-option img {
			height: 24px;
			width: 24px;
			border-radius: 50%;
		}

	.header-actions .lang-buttons button {
		margin-left: 6px;
	}
.site-logo {
	height: 84px;
	transform: scale(1.05);
	filter: drop-shadow(0 6px 12px rgba(0,0,0,0.18));
	transition: transform 0.2s ease, filter 0.2s ease;
}

	.site-logo:hover {
		transform: scale(1.1);
		filter: drop-shadow(0 8px 16px rgba(0,0,0,0.22));
	}
.header-actions .lang-buttons {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	text-transform: uppercase;
}

	.header-actions .lang-buttons button {
		background: transparent;
		border: none;
		color: inherit;
		padding: 0;
		font-size: 14px;
		cursor: pointer;
	}

.header-actions .lang-separator {
	opacity: 0.6;
}
.header-section.header-normal .header-actions .lang-buttons button {
	color: var(--gz-text-dark);
}

.header-section.hero-header .header-actions .lang-buttons button {
	color: #ffffff;
}

.header-section.is-sticky .header-actions .lang-buttons button {
	color: #ffffff;
}

.header-actions .lang-buttons button:hover {
	color: var(--gz-accent);
}
.header-left {
	display: flex;
	align-items: center;
	gap: 16px;
}

.lang-buttons {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	text-transform: uppercase;
}

	.lang-buttons button {
		background: transparent;
		border: none;
		color: inherit;
		padding: 0;
		font-size: 14px;
		cursor: pointer;
	}

.lang-separator {
	opacity: 0.6;
}

.header-section.header-normal .lang-buttons button {
	color: var(--gz-text-dark);
}

.header-section.hero-header .lang-buttons button,
.header-section.is-sticky .lang-buttons button {
	color: #ffffff;
}

.lang-buttons button:hover {
	color: var(--gz-accent);
}
.header-section {
	position: relative;
	    z-index: 1000;
}

.header-lang-left {
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 100000;
}
.menu-item .nav-menu .mainmenu li a {
	font-size: 18px;
}

.header-actions .bb-btn {
	font-size: 14px;
}

.lang-buttons button {
	font-size: 16px;
}
/* Improve header text visibility on hero */
.header-section.hero-header .nav-menu .mainmenu li a {
	text-shadow: 0 1px 2px rgba(0,0,0,0.35);
}

/* Force actions to the far right */
.header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 14px;
	width: 100%;
	margin-left: auto;
}

	/* Social icons like the reference */
	.header-actions .top-social {
		display: flex;
		align-items: center;
		gap: 12px;
		margin: 0;
		padding: 0;
	}

		.header-actions .top-social a {
			margin-left: 0;
			width: 34px;
			height: 34px;
			border: 1px solid rgba(255,255,255,0.7);
			border-radius: 50%;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			color: #ffffff;
		}

/* Header desktop social icons — bigger & gold styled */
.menu-item .top-social {
	display: flex;
	align-items: center;
	gap: 14px;
}

.menu-item .top-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #bba262;
	font-size: 22px;
	text-decoration: none;
	transition: color 0.2s ease, transform 0.2s ease;
}

.menu-item .top-social a:hover {
	color: #fff;
	transform: scale(1.15);
}

/* ── Header Nav Actions (icons + enquire pill) ── */
.header-nav-actions {
	display: flex;
	align-items: center;
	gap: 12px;
}

.header-nav-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 2px solid rgba(255,255,255,0.9);
	color: #fff !important;
	font-size: 17px;
	text-decoration: none;
	transition: border-color 0.2s, background 0.2s;
}

.header-nav-icon:hover {
	background: rgba(255,255,255,0.2);
	border-color: #fff;
}

.header-nav-enquire {
	display: inline-block;
	color: #fff !important;
	font-size: 12px;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	text-decoration: none;
	border: 2px solid rgba(255,255,255,0.9);
	border-radius: 50px;
	padding: 9px 22px;
	transition: background 0.2s, border-color 0.2s;
	white-space: nowrap;
	line-height: 1;
}

.header-nav-enquire:hover {
	background: rgba(255,255,255,0.15);
	border-color: #fff;
}

/* scrolled: keep white icons on black background */
.header-section.scrolled .header-nav-icon,
.header-section.scrolled .header-nav-enquire {
	border-color: rgba(255,255,255,0.6) !important;
	color: #fff !important;
}

/* Book Now like the “ENQUIRE” button */
.header-section.hero-header .header-actions .bb-btn {
	background: transparent;
	border: 1px solid #ffffff;
	color: #ffffff;
	padding: 8px 18px;
	border-radius: 2px;
	font-weight: 600;
	letter-spacing: 0.5px;
}
/* Keep menu on one line */
.menu-item .nav-menu .mainmenu ul {
	white-space: nowrap;
}

/* Slightly tighter spacing so Contact stays next to Blog */
.menu-item .nav-menu .mainmenu li a {
	margin-right: 28px;
}

/* Force actions to the far right edge */
.header-actions {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
}
/* Allow full-width positioning */
.menu-item .container {
	max-width: 100%;
}

/* Anchor header actions to the far right */
.header-actions {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}
/* Full-width header container */
.menu-item .container {
	max-width: 100%;
	padding-left: 24px;
	padding-right: 24px;
}

/* Center the menu */
.menu-item .nav-menu {
	text-align: center;
}

	.menu-item .nav-menu .mainmenu ul {
		display: flex;
		justify-content: center;
		gap: 28px;
		white-space: nowrap;
	}

/* Push actions to the far right */
.header-actions {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
/* Keep language buttons at far left */
.header-lang-left {
	position: absolute;
    top: 20px;
    left: 30px;
    z-index: 1100;
}

/* Push logo away from language buttons */
.menu-item .logo {
	margin-left: 70px;
}
/* Center logo between menu items */
.menu-item .nav-menu .mainmenu ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
}

.menu-item .nav-menu .mainmenu li.logo-item a {
	padding: 0;
	margin: 0;
}

.menu-item .nav-menu .mainmenu li.logo-item {
	margin: 0 6px;
}
/* FINAL MENU CENTERING */
.menu-item .row {
	display: flex;
	align-items: center;
}

.menu-item .col-lg-9 {
	flex: 1;
}

.menu-item .nav-menu {
	text-align: center;
	width: 100%;
}

	.menu-item .nav-menu .mainmenu ul {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 26px;
		white-space: nowrap;
	}

	.menu-item .nav-menu .mainmenu li a {
		margin-right: 0;
		padding: 27px 0;
	}

	.menu-item .nav-menu .mainmenu li.logo-item {
		margin: 0 10px;
	}

		.menu-item .nav-menu .mainmenu li.logo-item a {
			padding: 0;
		}

.menu-item .nav-menu .mainmenu li.logo-item a:after {
	display: none;
}

.header-actions {
	position: static !important;
	margin-left: auto;
}

.menu-item .container {
	max-width: 100%;
	padding-left: 24px;
	padding-right: 24px;
}
/* HEADER LAYOUT RESET */
.menu-item .row {
	display: flex;
	align-items: center;
}

.menu-item .nav-menu {
	text-align: center;
	width: 100%;
}

	.menu-item .nav-menu .mainmenu ul {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 26px;
		white-space: nowrap;
	}

.menu-item .header-lang-left,
.menu-item .header-actions {
	position: static !important;
	transform: none !important;
}

.header-actions {
	justify-content: flex-end;
}


/* HERO BASE */
.hero-section {
	position: relative;
	height: 100vh;
	overflow: hidden;
}

/* HERO SLIDER FULL COVER */
.hero-slider,
.hero-slider .hs-item {
	height: 100%;
}

.hero-slider {
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* HERO TEXT ABOVE IMAGE */
.hero-content {
	position: relative;
	z-index: 3;
	padding-top: 160px;
}

/* BOOKING BAR ANCHORED */
.hero-section .sticky-booking-bar {
	position: absolute;
	bottom: 40px; /* Ρύθμισε ύψος */
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	z-index: 4;
}

/* OPTIONAL polish */
.booking-bar-form {
	background: #bba262;
	backdrop-filter: blur(6px);
	border-radius: 16px;
	box-shadow: 0 20px 50px rgba(0,0,0,.35);
}
.hero-section {
	position: relative;
	height: 100vh;
	min-height: 700px;
	overflow: hidden;
}
/* HERO */
.hero-section {
	position: relative;
	height: 100vh;
	overflow: hidden;
}

/* BACKGROUND SLIDER */
.hero-slider {
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* TEXT */
.hero-content {
	position: relative;
	z-index: 3;
	padding-top: 160px;
}

/* 🔴 BOOKING BAR – ΚΑΤΩ */
.hero-section .sticky-booking-bar {
	position: absolute;
	bottom: 40px; /* ⬅️ ΕΔΩ ΚΑΤΩ */
	top: auto !important; /* ⬅️ ΑΚΥΡΩΝΕΙ ΟΤΙΔΗΠΟΤΕ ΤΟ ΣΗΚΩΝΕΙ */
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	z-index: 4;
}
.sticky-booking-bar {
	position: absolute !important;
	top: auto !important;
}
.home-destination-section {
	padding: 60px 0;
}

.home-destination-media {
	position: relative;
}

	.home-destination-media .img-main {
		width: 100%;
		border-radius: 8px;
		display: block;
	}

	.home-destination-media .img-secondary {
		position: absolute;
		right: 0;
		top: -40px;
		width: 45%;
		border-radius: 8px;
		box-shadow: 0 10px 20px rgba(0,0,0,.12);
	}

.home-destination-content .section-title {
	font-size: 40px;
	color: var(--gz-text-dark);
	margin-top: 10px;
	margin-bottom: 20px;
	font-weight: 600;
}

.home-destination-content p {
	margin-bottom: 12px;
	line-height: 1.7;
	font-size: 20px;
}

.home-destination-content .bb-btn {
	background-color: #bba262;
	color: #fff;
	border: none;
	padding: 10px 18px;
	border-radius: 24px;
	cursor: pointer;
}

@media (max-width: 992px) {
	.home-destination-media .img-secondary {
		position: static;
		width: 100%;
		margin-top: 16px;
		box-shadow: none;
	}
}
.home-destination-media {
	position: relative;
	width: 100%;
	max-width: 100%;
}

	/* MAIN IMAGE */
	.home-destination-media .img-main {
		width: 100%;
		height: 440px;
		object-fit: cover;
		border-radius: 20px;
		box-shadow: 0 30px 60px rgba(0,0,0,.18);
	}

	/* SECONDARY IMAGE – TOP RIGHT */
	.home-destination-media .img-secondary {
		position: absolute;
		top: -24px; /* λίγο πάνω */
		right: -24px; /* λίγο έξω */
		width: 38%;
		max-width: 360px;
		height: 230px;
		object-fit: cover;
		border-radius: 18px;
		border: 6px solid #fff; /* luxury frame */
		box-shadow: 0 18px 40px rgba(0,0,0,.25);
		background: #fff;
	}

@media (max-width: 991.98px) {
	.home-destination-media .img-main {
		height: 360px;
	}

	.home-destination-media .img-secondary {
		top: -18px;
		right: -18px;
		width: 44%;
		height: 200px;
	}
}

@media (max-width: 575.98px) {
	.home-destination-media .img-main {
		height: 280px;
	}

	.home-destination-media .img-secondary {
		top: -14px;
		right: -14px;
		width: 52%;
		height: 160px;
		border-width: 4px;
	}
}
.whychoose-section {
	position: relative;
	overflow: hidden;
}

	.whychoose-section .container {
		position: relative;
		z-index: 2;
	}

.whychoose-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.whychoose-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.35);
	z-index: 1;
}

.section-title1 h2 {
	font-size: 40px;
	color: var(--gz-text-dark);
	margin-top: 10px;
	margin-bottom: 20px;
	font-weight: 600;
}
.welcome-btn {
	margin-top: 24px; /* παίξε 16–32px */
	display: inline-block; /* σημαντικό για να δουλέψει σωστά το margin */
}
/* Trust logos uniform sizing */

.trust-logos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.trust-logo-item {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 0 0 2px rgba(0,0,0,0.05) inset;
	min-height: 200px;
}

.trust-logo-icon {
	max-width: 100%;
	max-height: 120px; /* adjust (e.g., 90px/140px) to taste */
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}
/* Optional: responsive tweak */ @media (max-width: 768px) {
	.trust-logos {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 480px) {
	.trust-logos {
		grid-template-columns: 1fr;
	}
}
/* Improve text contrast over image */
.whychoose-section h2,
.whychoose-section .service-item h4,
.whychoose-section .service-item p,
.whychoose-section .service-item i {
	color: #fff;
}

/* WhyChoose section vertical spacing */
.whychoose-section.spad {
	padding-top: 70px;
	padding-bottom: 70px;
}

/* Tighten title spacing */
.whychoose-section .section-title h2 {
	margin-bottom: 12px;
}

/* Tighten spacing inside service items */
.whychoose-section .service-item i {
	margin-bottom: 6px;
}

.whychoose-section .service-item h4 {
	margin-bottom: 6px;
}

.whychoose-section .service-item p {
	margin-bottom: 0;
}

/* ── WhyChoose Circle Layout (Image 4 style) ─────────────── */
.wc-circles-row {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 48px 56px;
}

.wc-circle-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	width: 140px;
}

.wc-circle {
	width: 110px;
	height: 110px;
	border-radius: 50%;
	border: 2px solid rgba(255,255,255,0.55);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
	transition: border-color 0.3s ease, background 0.3s ease;
	flex-shrink: 0;
}

.wc-circle:hover {
	border-color: rgba(255,255,255,0.95);
	background: rgba(255,255,255,0.1);
}

.wc-circle i {
	font-size: 2.2rem;
	color: #fff;
}

.wc-label {
	font-size: 1.3rem;
	color: #fff;
	font-weight: 400;
	line-height: 1.35;
	margin: 0;
	letter-spacing: 0.02em;
}

@media (max-width: 767px) {
	.wc-circles-row { gap: 36px 32px; }
	.wc-circle-item { width: 110px; }
	.wc-circle { width: 90px; height: 90px; }
	.wc-circle i { font-size: 1.8rem; }
}

/* Static hero background (AboutUs) */
.hero-section.hero-static .hero-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	z-index: 0;
}

.hero-section.hero-static .hero-content {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	z-index: 2;
}

	.hero-section.hero-static .hero-content h1 {
		color: #ffffff;
	}

.hero-section.hero-static::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.35);
	z-index: 1;
}
/* ABOUT PAGE TYPOGRAPHY -------------------------------------------------- */

.about-intro {
	max-width: 750px;
	margin: 15px auto 0 auto;
	font-size: 17px;
	color: var(--gz-text-medium);
}

.about-text {
	color: var(--gz-text-medium);
	font-size: 20px;
	line-height: 28px;
	margin-bottom: 16px;
}

/* SIGNATURE / ACCENT TEXT */
.heading-accent {
	font-family: var(--font-accent);
	font-size: 40px;
	font-weight: normal;
	color: var(--gz-secondary);
	letter-spacing: 1px;
	margin-bottom: 12px;
	line-height: 1.1;
}

.heading-accent-sm {
	font-family: var(--font-accent);
	font-size: 26px;
	color: var(--gz-olive);
	letter-spacing: 1px;
	margin-bottom: 5px;
}
.section-title3 {
	font-size: 40px;
	color: var(--gz-text-dark);
	margin-top: 10px;
	margin-bottom: 20px;
	font-weight: 600;
}
/* Experiences */
.experiences-section {
	background: #fff;
	padding-top: 80px;
	padding-bottom: 80px;
	min-height: 520px;
}

	.experiences-section .whychoose-bg {
		filter: none;
		transform: none;
	}

	.experiences-section .whychoose-overlay {
		background: rgba(0,0,0,0.25);
	}
	.experiences-section.whychoose-section.spad {
		padding-top: 80px;
		padding-bottom: 80px;
		min-height: auto;
	}
.filter-btn {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 1rem;
	font-size: 0.9rem;
	font-weight: 600;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	transition: all 0.3s ease;
	min-width: 160px;
	justify-content: center;
}
@media (max-width: 991.98px) {
	.hero-section.hero-static {
		height: 60vh;
		min-height: 420px;
	}

	.hero-content {
		padding-top: 120px;
		text-align: center;
	}

		.hero-content h1 {
			font-size: 48px;
		}

	.about-section .about-img {
		margin-bottom: 24px;
	}

	.about-section .about-text {
		padding: 0;
		text-align: left;
	}

	.philosophy-card {
		padding: 18px;
	}
}

@media (max-width: 575.98px) {
	.hero-section.hero-static {
		height: 50vh;
		min-height: 320px;
	}

	.hero-content {
		padding-top: 90px;
	}

		.hero-content h1 {
			font-size: 34px;
		}

	.section-title3 {
		font-size: 28px;
	}

	.heading-accent {
		font-size: 24px;
	}

	.heading-accent-sm {
		font-size: 16px;
	}

	.about-section.spad,
	.philosophy-section.spad,
	.team-section.spad,
	.sustainability-section.spad {
		padding-top: 60px;
		padding-bottom: 60px;
	}

	.team-section .owner-photo img {
		width: 200px;
		height: auto;
	}
}
.bb-input-invalid {
	border: 4px solid #dc3545 !important;
	box-shadow: 0 0 0 4px rgba(220, 53, 69, 0.35), 0 0 12px rgba(220, 53, 69, 0.45);
}
.sticky-booking-bar .booking-bar-form {
	align-items: center;
}

.sticky-booking-bar .bb-btn {
	margin-top: 18px;
}
@media only screen and (max-width: 991px) {
	.offcanvas-menu-wrapper .header-configure-area {
		display: flex;
		justify-content: center;
		margin-bottom: 24px;
	}

	.offcanvas-menu-wrapper .header-lang-left {
		position: static;
		transform: none;
	}

	.offcanvas-menu-wrapper .lang-buttons {
		justify-content: center;
		color: #ffffff;
	}

		.offcanvas-menu-wrapper .lang-buttons button {
			color: #ffffff;
			font-size: 16px;
		}

	.offcanvas-menu-wrapper .lang-separator {
		color: rgba(255, 255, 255, 0.7);
	}

	.offcanvas-menu-wrapper .bb-btn {
		display: inline-block;
		margin: 12px auto 18px;
	}

	.offcanvas-menu-wrapper .top-social {
		margin-top: 12px;
	}

		.offcanvas-menu-wrapper .top-social a {
			color: #ffffff;
			border: 1px solid rgba(255, 255, 255, 0.7);
			border-radius: 50%;
			width: 30px;
			height: 30px;
			display: inline-flex;
			align-items: center;
			justify-content: center;
		}
}
/* Non-home header behaves like Home (overlay on image) */
.header-section.header-normal {
	position: absolute !important;
	background: transparent !important;
}

.header-section.header-normal,
.header-section.header-normal .menu-item {
	background: transparent !important;
	box-shadow: none !important;
}

.header-section.header-normal .menu-item {
	border-bottom: 1px solid rgba(255,255,255,0.25);
}

.header-section.header-normal .nav-menu .mainmenu li a,
.header-section.header-normal .lang-buttons button,
.header-section.header-normal .header-actions .top-social a,
.header-section.header-normal .header-actions .bb-btn {
	color: #ffffff !important;
}

.header-section.header-normal .nav-menu .mainmenu li a:after {
	background: #ffffff !important;
}

.header-section.header-normal .header-actions .bb-btn {
	background: transparent !important;
	border: 1px solid #ffffff !important;
}
/* Hero image slow zoom-in */
/* Hero image slow zoom-in */
/* Hero image slow zoom-in */
.hero-slider .hs-item {
	transform-origin: center center;
	animation: heroZoomIn 10s ease-in-out infinite;
}

@keyframes heroZoomIn {
	0% {
		transform: scale(1);
	}

	100% {
		transform: scale(1.08);
	}
}

@keyframes heroZoomIn {
	0% {
		transform: scale(1);
	}

	100% {
		transform: scale(1.08);
	}
}

html, body {
	overflow-x: hidden;
	width: 100%;
}
/* Auto-hide header on scroll */
.header-section {
	transform: translateY(0);
	transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
}

	.header-section.is-hidden {
		transform: translateY(-100%);
	}

/* Fix hero slider seam on the right edge */
.hero-slider,
.hero-slider .owl-stage-outer,
.hero-slider .owl-stage,
.hero-slider .owl-item {
	overflow: hidden;
}
	/* Prevent gray flash before Owl initializes on Home hero */
	.hero-slider.owl-carousel {
		display: block;
	}

		.hero-slider.owl-carousel .hs-item {
			display: none;
		}

			.hero-slider.owl-carousel .hs-item:first-child {
				display: block;
			}

	.hero-slider.owl-loaded .hs-item {
		display: block;
	}
/* Prevent gray flash before Owl initializes (global) */
.owl-carousel {
	display: block;
}

	.owl-carousel .owl-item {
		display: none;
	}

		.owl-carousel .owl-item:first-child {
			display: block;
		}

	.owl-carousel.owl-loaded .owl-item {
		display: block;
	}/* Disable sticky navbar on scroll */
.header-section.is-sticky {
	position: relative !important;
	top: auto !important;
	box-shadow: none !important;
}
.menu-item {
	position: relative;
	z-index: 9;
	background: transparent;
	transition: background-color 0.3s ease;
}

.header-section.header-normal,
.header-section.header-normal .menu-item {
	background: transparent;
}

.header-section.scrolled,
.header-section.scrolled .menu-item,
.header-section.scrolled .top-nav {
	background: #000000;
}

	.header-section.scrolled .nav-menu .mainmenu li a,
	.header-section.scrolled .lang-buttons button,
	.header-section.scrolled .header-actions .top-social a,
	.header-section.scrolled .header-actions .bb-btn {
		color: #ffffff;
	}

		.header-section.scrolled .nav-menu .mainmenu li a:after {
			background: #ffffff;
		}
	/* FINAL OVERRIDE: header black on scroll */
	.header-section.scrolled,
	.header-section.scrolled .menu-item,
	.header-section.scrolled .top-nav {
		background: #000000 !important;
	}

		.header-section.scrolled .nav-menu .mainmenu li a,
		.header-section.scrolled .lang-buttons button,
		.header-section.scrolled .header-actions .top-social a,
		.header-section.scrolled .header-actions .bb-btn {
			color: #ffffff !important;
		}

			.header-section.scrolled .nav-menu .mainmenu li a:after {
				background: #ffffff !important;
			}
		/* FINAL OVERRIDE: black header on scroll, transparent at top */
		.header-section.scrolled,
		.header-section.scrolled .menu-item,
		.header-section.scrolled .top-nav {
			background: #000000 !important;
		}

			.header-section.scrolled .nav-menu .mainmenu li a,
			.header-section.scrolled .lang-buttons button,
			.header-section.scrolled .header-actions .top-social a,
			.header-section.scrolled .header-actions .bb-btn {
				color: #ffffff !important;
			}

				.header-section.scrolled .nav-menu .mainmenu li a:after {
					background: #ffffff !important;
				}
/* HEADER: transparent on top, black on scroll */
.header-section,
.header-section .menu-item,
.header-section .top-nav {
	background: transparent !important;
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

	.header-section.scrolled,
	.header-section.scrolled .menu-item,
	.header-section.scrolled .top-nav {
		background: #000000 !important;
	}

		.header-section.scrolled .nav-menu .mainmenu li a,
		.header-section.scrolled .lang-buttons button,
		.header-section.scrolled .header-actions .top-social a,
		.header-section.scrolled .header-actions .bb-btn {
			color: #ffffff !important;
		}

			.header-section.scrolled .nav-menu .mainmenu li a:after {
				background: #ffffff !important;
			}
	/* Scrolled Header - Gray background on scroll */
	.header-section.scrolled {
		background: rgba(45, 45, 45, 0.95);
		box-shadow: 0 2px 20px rgba(0, 0, 0, 0.15);
		transition: background 0.3s ease, box-shadow 0.3s ease;
	}

		.header-section.scrolled .menu-item {
			background: transparent;
		}

		/* Ensure text stays visible on gray background */
		.header-section.scrolled .nav-menu .mainmenu li a {
			color: #ffffff;
		}

		.header-section.scrolled .header-actions .bb-btn {
			background: transparent;
			border: 1px solid #ffffff;
			color: #ffffff;
		}

		.header-section.scrolled .header-actions .top-social a {
			color: #ffffff;
			border-color: rgba(255, 255, 255, 0.7);
		}

		.header-section.scrolled .lang-buttons button {
			color: #ffffff;
		}
.header-section {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	transition: background 0.3s ease, box-shadow 0.3s ease;
}
/* ========== SCROLLED HEADER FINAL FIX ========== */
.header-section {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	z-index: 99999 !important;
	background: transparent !important;
	transition: background-color 0.3s ease, box-shadow 0.3s ease !important;
}

	.header-section .menu-item {
		background: transparent !important;
		transition: background-color 0.3s ease !important;
	}

	/* When scrolled - gray background */
	.header-section.scrolled {
		background: rgba(45, 45, 45, 0.95) !important;
		box-shadow: 0 2px 20px rgba(0, 0, 0, 0.15) !important;
	}

		.header-section.scrolled .menu-item {
			background: transparent !important;
		}

		.header-section.scrolled .nav-menu .mainmenu li a,
		.header-section.scrolled .lang-buttons button,
		.header-section.scrolled .header-actions .top-social a,
		.header-section.scrolled .header-actions .bb-btn {
			color: #ffffff !important;
		}

			.header-section.scrolled .nav-menu .mainmenu li a:after {
				background: #ffffff !important;
			}

		.header-section.scrolled .header-actions .bb-btn {
			background: transparent !important;
			border: 1px solid #ffffff !important;
		}

		.header-section.scrolled .header-actions .top-social a {
			border-color: rgba(255, 255, 255, 0.7) !important;
		}

/* Push page content below fixed header */
body {
	padding-top: 120px; /* Adjust based on header height */
}

/* Hero section should overlap header */
.hero-section {
	margin-top: -120px;
	padding-top: 0;
}
/* ========== SCROLLED HEADER - FINAL FIX ========== */
.header-section.scrolled,
.header-section.scrolled .menu-item {
	background-color: rgba(50, 50, 50, 0.95) !important;
	box-shadow: 0 2px 15px rgba(0, 0, 0, 0.2) !important;
}

	.header-section.scrolled .nav-menu .mainmenu li a,
	.header-section.scrolled .lang-buttons button,
	.header-section.scrolled .header-actions .top-social a,
	.header-section.scrolled .header-actions .bb-btn {
		color: #ffffff !important;
	}
/* SCROLLED HEADER - HIGHEST PRIORITY */
.header-section.scrolled {
	background: rgba(45, 45, 45, 0.95) !important;
	box-shadow: 0 2px 20px rgba(0, 0, 0, 0.15) !important;
}

	.header-section.scrolled .menu-item {
		background: transparent !important;
	}

	.header-section.scrolled .nav-menu .mainmenu li a,
	.header-section.scrolled .lang-buttons button,
	.header-section.scrolled .header-actions .top-social a,
	.header-section.scrolled .header-actions .bb-btn {
		color: #ffffff !important;
	}

		.header-section.scrolled .nav-menu .mainmenu li a:after {
			background: #ffffff !important;
		}

	.header-section.scrolled .header-actions .bb-btn {
		background: transparent !important;
		border: 1px solid #ffffff !important;
	}

	.header-section.scrolled .header-actions .top-social a {
		border-color: rgba(255, 255, 255, 0.7) !important;
	}
.header-section {
	transition: background-color 0.3s ease;
	background-color: transparent;
}

	.header-section.scrolled {
		background-color: rgba(0,0,0,0.6);
	}
	/* Default transparent */
	.header-section,
	.header-section .top-nav,
	.header-section .menu-item,
	.header-section.navbar,
	.header-section .navbar {
		background: transparent !important;
		transition: background-color .25s ease, backdrop-filter .25s ease;
	}

		/* Scrolled background */
		.header-section.scrolled,
		.header-section.scrolled .top-nav,
		.header-section.scrolled .menu-item,
		.header-section.scrolled.navbar,
		.header-section.scrolled .navbar {
			background-color: rgba(0, 0, 0, 0.70) !important;
			backdrop-filter: blur(6px);
		}
.menu-item {
	background: transparent;
	transition: background-color 0.25s ease, backdrop-filter 0.25s ease;
}

	.menu-item.scrolled {
		background-color: rgba(0, 0, 0, 0.75) !important;
		backdrop-filter: blur(6px);
	}
.menu-item {
	background: transparent;
	transition: background-color .25s ease, backdrop-filter .25s ease;
}

	.menu-item.scrolled {
		background-color: rgba(0,0,0,.75) !important;
		backdrop-filter: blur(6px);
	}
/* Base header */
.menu-item {
	position: relative;
	z-index: 1000;
}

	/* THE OVERLAY που σου κρύβει το background */
	.menu-item::before {
		content: "";
		position: absolute;
		inset: 0;
		background: rgba(0, 0, 0, 0.35);
		backdrop-filter: blur(8px);
		transition: opacity .25s ease, background-color .25s ease;
		z-index: -1;
	}

	/* SCROLLED STATE */
	.menu-item.scrolled::before {
/*		background: #bba262;
*/		backdrop-filter: blur(2px);
	}
/* Ensure app background is consistent to avoid flash-of-unstyled background */
/*html, body, #main {
	background-color: var(--gz-bg-light);
	transition: background-color 160ms ease;
}*/

/* ── Page Transition Loader ──────────────────────────────── */
.loading-spinner {
	position: fixed;
	inset: 0;
	z-index: 2147483647;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 248, 229, 0.9);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 280ms ease, visibility 280ms;
	will-change: opacity;
}

.loading-spinner.visible {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
	transition: opacity 180ms ease, visibility 0ms;
}

/* Gold ring spinner */
.gz-spin-ring {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 3px solid rgba(187, 162, 98, 0.2);
	border-top-color: #bba262;
	animation: gz-spin 0.75s linear infinite;
}

@keyframes gz-spin {
	to { transform: rotate(360deg); }
}
/* keep offcanvas hidden by default for desktop */
.canvas-open {
	display: none;
}

/* offcanvas stays hidden until opened by JS */
.offcanvas-menu-wrapper {
	display: none;
}

/* show the hamburger on mobile (Bootstrap lg breakpoint) */
@media (max-width: 991.98px) {
	.canvas-open {
		display: block;
		cursor: pointer;
		z-index: 1050;
	}

		.canvas-open i {
			font-size: 24px;
			color: var(--gz-text-dark);
			display: inline-block;
		}

	/* if you need the offcanvas visible when JS toggles a class (example .open) */
	.offcanvas-menu-wrapper.open {
		display: block;
	}
}
/* Mobile hamburger fallback: ensure visible and styled when the icon font is missing */
.canvas-open {
	display: none; /* desktop default kept hidden */
	background: transparent;
	border: none;
	padding: 0;
	line-height: 1;
}

	.canvas-open .icon_menu {
		/* keep existing font-icon if available; hide it if it renders incorrectly */
	}

/* SVG fallback styling */
.canvas-open-svg {
	display: none;
	width: 28px;
	height: 28px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* show hamburger on mobile (Bootstrap lg breakpoint and below) */
@media (max-width: 991.98px) {
	.canvas-open {
		display: block !important;
		position: absolute;
		right: 20px;
		top: 18px;
		z-index: 1100;
		color: #ffffff; /* adjust for your header/background */
		cursor: pointer;
	}

		/* If font icon works, it will be shown; otherwise show SVG */
		.canvas-open .icon_menu {
			display: inline-block;
		}

	.canvas-open-svg {
		display: inline-block;
	}

	/* If you want the SVG only when font fails, use JS or a small class toggle.
       Keeping both visible is safe because the font icon and the SVG won't visually conflict
       (font likely provides glyph, otherwise SVG is visible). */
}
/* Fix: ensure mobile hamburger sits above header overlay / blur */
@media (max-width: 991.98px) {
	.canvas-open {
		position: absolute !important;
		right: 20px !important;
		top: 18px !important;
		display: block !important;
		z-index: 999999 !important; /* above any header overlays */
		pointer-events: auto !important; /* ensure clicks reach it */
		background: transparent !important;
		border: 0 !important;
	}

		/* make sure the inner icon / svg scale and are visible */
		.canvas-open i,
		.canvas-open-svg {
			width: 32px;
			height: 32px;
			font-size: 28px;
			color: #fff; /* adjust to contrast with header */
			display: inline-block;
			pointer-events: none; /* icon shouldn't swallow clicks */
		}
}
/* Make sure JS-opened offcanvas is always visible above the overlay */
.offcanvas-menu-wrapper.show-offcanvas-menu-wrapper {
	display: block !important;
	position: fixed !important;
	left: 0 !important;
	top: 0 !important;
	width: 300px !important;
	height: 100% !important;
	opacity: 1 !important;
	visibility: visible !important;
	z-index: 1000001 !important; /* above overlay and header */
	transform: none !important;
	pointer-events: auto !important;
	overflow-y: auto !important;
}

/* Ensure overlay stays below the panel */
.offcanvas-menu-overlay {
	z-index: 1000000 !important;
}
/* Page blur applied to <main> during navigation */
.gz-blur {
	transition: filter 180ms ease;
	filter: blur(3px);
	pointer-events: none;
}

.booking-steps .step {
	flex: 1;
	text-align: center;
	padding-bottom: 10px;
	border-bottom: 4px solid #ddd;
	font-weight: 500;
}

	.booking-steps .step.active {
		border-color: #6f42c1;
		color: #6f42c1;
	}

.booking-btn {
	background: #bba262;
	border: none;
}

/* =====================================================
   PAGE HERO — Destinations & Blog
   ===================================================== */

.hero-section.hero-page {
	height: 70vh;
	min-height: 560px;
	max-height: 820px;
}

.hero-page-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		160deg,
		rgba(0,0,0,0.55) 0%,
		rgba(46, 76, 58, 0.45) 60%,
		rgba(0,0,0,0.30) 100%
	);
	z-index: 2;
}

.page-hero-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0;
}

.page-hero-label {
	display: inline-block;
	color: var(--gz-accent);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 4px;
	text-transform: uppercase;
	margin-bottom: 18px;
	opacity: 0.95;
}

.page-hero-title {
	font-family: var(--font-headings);
	font-size: clamp(3rem, 7vw, 6rem);
	color: #ffffff;
	margin: 0;
	line-height: 1.05;
	text-shadow: 0 3px 20px rgba(0,0,0,0.35);
	letter-spacing: 2px;
}

.page-hero-divider {
	width: 52px;
	height: 3px;
	background: var(--gz-accent);
	border-radius: 2px;
	margin: 22px auto;
}

.page-hero-subtitle {
	color: rgba(255,255,255,0.88);
	font-size: clamp(0.95rem, 1.8vw, 1.15rem);
	max-width: 600px;
	line-height: 1.75;
	margin: 0 0 32px;
	text-shadow: 0 1px 6px rgba(0,0,0,0.3);
}

.page-hero-scroll {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	color: rgba(255,255,255,0.75);
	text-decoration: none;
	font-size: 0.78rem;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	transition: color 0.3s ease, transform 0.3s ease;
}
.page-hero-scroll i {
	font-size: 1rem;
	animation: heroScrollBounce 2s ease-in-out infinite;
}
.page-hero-scroll:hover {
	color: var(--gz-accent);
	transform: translateY(4px);
}

@keyframes heroScrollBounce {
	0%, 100% { transform: translateY(0); }
	50%       { transform: translateY(6px); }
}

@media (max-width: 991px) {
	.hero-section.hero-page {
		height: 60vh;
		min-height: 440px;
	}
	.page-hero-subtitle { display: none; }
}
@media (max-width: 575px) {
	.hero-section.hero-page {
		height: 55vh;
		min-height: 360px;
	}
	.page-hero-label { font-size: 0.72rem; letter-spacing: 3px; }
	.page-hero-divider { margin: 14px auto; }
}

/* =====================================================
   DESTINATION & BLOG — PREMIUM REDESIGN
   ===================================================== */

/* ---------- DESTINATIONS LIST — Overlay Cards ---------- */
.destinations-section .section-title h2 {
	font-family: var(--font-headings);
	font-size: 2.6rem;
	color: var(--gz-text-dark);
	position: relative;
	display: inline-block;
	padding-bottom: 18px;
}
.destinations-section .section-title h2::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 55px;
	height: 3px;
	background: var(--gz-accent);
	border-radius: 2px;
}
.destination-intro {
	color: var(--gz-text-medium);
	font-size: 1.05rem;
	max-width: 720px;
	margin: 22px auto 0;
	line-height: 1.85;
}

/* New card */
.dest-card {
	display: block;
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	text-decoration: none !important;
	height: 400px;
	box-shadow: 0 8px 30px rgba(0,0,0,0.12);
	transition: transform 0.45s cubic-bezier(.25,.8,.25,1), box-shadow 0.45s ease;
	cursor: pointer;
}
.dest-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 22px 55px rgba(0,0,0,0.22);
}
.dest-card__img {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform 0.65s ease;
}
.dest-card:hover .dest-card__img {
	transform: scale(1.08);
}
.dest-card::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to bottom,
		transparent 25%,
		rgba(0,0,0,0.25) 55%,
		rgba(0,0,0,0.72) 100%
	);
	transition: background 0.45s ease;
	pointer-events: none;
}
.dest-card:hover::after {
	background: linear-gradient(
		to bottom,
		rgba(0,0,0,0.05) 0%,
		rgba(0,0,0,0.35) 45%,
		rgba(46,93,64,0.82) 100%
	);
}
.dest-card__body {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 28px 26px;
	z-index: 2;
}
.dest-card__name {
	color: #ffffff;
	font-family: var(--font-headings);
	font-size: 1.45rem;
	font-weight: 600;
	margin: 0 0 6px;
	text-shadow: 0 2px 6px rgba(0,0,0,0.45);
	line-height: 1.3;
}
.dest-card__desc {
	color: rgba(255,255,255,0.88);
	font-size: 0.87rem;
	line-height: 1.55;
	margin: 0 0 16px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	transition: max-height 0.4s ease, opacity 0.35s ease 0.05s, margin 0.35s ease;
}
.dest-card:hover .dest-card__desc {
	max-height: 70px;
	opacity: 1;
}
.dest-card__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #fff;
	background: var(--gz-accent);
	padding: 9px 22px;
	border-radius: 50px;
	font-size: 0.84rem;
	font-weight: 700;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.3s ease 0.1s, transform 0.3s ease 0.1s, background 0.2s;
}
.dest-card:hover .dest-card__link {
	opacity: 1;
	transform: translateY(0);
}
.dest-card__link:hover {
	background: #bba262;
}
.dest-card__link i { font-size: 12px; }

@media (max-width: 768px) {
	.dest-card { height: 340px; }
	.dest-card__name { font-size: 1.25rem; }
	.dest-card__desc { display: none; }
	.dest-card:hover .dest-card__link { opacity: 1; transform: translateY(0); }
}
@media (max-width: 576px) {
	.dest-card { height: 300px; }
}

/* ---------- DESTINATIONS DETAIL — Highlights ---------- */
.dest-highlights {
	background: #fff;
	border-radius: 14px;
	padding: 36px 32px;
	box-shadow: 0 4px 18px rgba(0,0,0,0.07);
	margin-bottom: 30px;
}
.dest-highlights h3 {
	font-family: var(--font-headings);
	font-size: 1.55rem;
	color: var(--gz-text-dark);
	margin-bottom: 28px;
	padding-bottom: 14px;
	border-bottom: 2px solid var(--gz-accent);
}
.dest-highlight-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
}
.dest-highlight-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}
.dest-highlight-icon {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: rgba(187,162,98,0.12);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.dest-highlight-icon i {
	font-size: 1.3rem;
	color: var(--gz-accent);
}
.dest-highlight-text h5 {
	font-size: 1rem;
	font-weight: 700;
	color: var(--gz-text-dark);
	margin: 0 0 4px;
}
.dest-highlight-text p {
	font-size: 0.88rem;
	color: var(--gz-text-light);
	margin: 0;
	line-height: 1.5;
}

/* ---------- BLOG LIST — Enhanced Cards ---------- */
.blogs-category-header {
	font-family: var(--font-headings);
	font-size: 2.4rem;
	color: var(--gz-text-dark);
	position: relative;
	display: inline-block;
	padding-bottom: 16px;
}
.blogs-category-header::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 50px;
	height: 3px;
	background: var(--gz-accent);
	border-radius: 2px;
}

/* Blog filter button */
.filter-btn {
	background: transparent !important;
	border: 2px solid #bba262 !important;
	color: #bba262 !important;
	padding: 10px 34px !important;
	border-radius: 50px !important;
	font-size: 0.9rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.5px !important;
	transition: all 0.3s ease !important;
}
.filter-btn:hover, .filter-btn:focus {
	background: #bba262 !important;
	color: #fff !important;
}
.filter-dropdown-menu {
	border: none !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 30px rgba(0,0,0,0.12) !important;
	padding: 8px 0 !important;
	min-width: 180px !important;
}
.filter-dropdown-menu .dropdown-item {
	padding: 10px 20px !important;
	font-size: 0.9rem !important;
	color: var(--gz-text-dark) !important;
	transition: background 0.2s !important;
}
.filter-dropdown-menu .dropdown-item:hover,
.filter-dropdown-menu .dropdown-item.active {
	background: #fff8e5 !important;
	color: #bba262 !important;
}

/* Blog item enhanced */
.blog-item {
	height: 440px !important;
	border-radius: 18px !important;
	overflow: hidden !important;
	box-shadow: 0 6px 24px rgba(0,0,0,0.1) !important;
}
.blog-item-clickable {
	transition: transform 0.4s cubic-bezier(.25,.8,.25,1), box-shadow 0.4s ease !important;
}
.blog-item-clickable:hover {
	transform: translateY(-10px) !important;
	box-shadow: 0 18px 45px rgba(0,0,0,0.2) !important;
}
.blog-item::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to bottom,
		transparent 28%,
		rgba(0,0,0,0.22) 55%,
		rgba(0,0,0,0.78) 100%
	);
	pointer-events: none;
	border-radius: 18px;
}
.blog-item .bi-text {
	z-index: 2;
	padding: 0 28px 30px !important;
	bottom: 0 !important;
}
.blog-item .bi-text .b-tag {
	background: var(--gz-accent) !important;
	color: #fff !important;
	padding: 5px 16px !important;
	border-radius: 50px !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	letter-spacing: 1.2px !important;
	text-transform: uppercase !important;
}
.blog-item .bi-text h4 {
	font-family: var(--font-headings) !important;
	font-size: 1.2rem !important;
	line-height: 1.45 !important;
	margin: 12px 0 10px !important;
}
.blog-item .bi-text h4 a {
	color: #fff !important;
	text-shadow: 0 1px 4px rgba(0,0,0,0.35) !important;
}
.blog-item .bi-text .b-time {
	color: rgba(255,255,255,0.72) !important;
	font-size: 11px !important;
	letter-spacing: 2px !important;
}

@media (max-width: 768px) {
	.blog-item { height: 360px !important; }
	.blogs-category-header { font-size: 1.8rem; }
}

/* ---------- BLOG DETAIL — Content & Typography ---------- */
.blog-details-section {
	padding: 70px 0 90px !important;
	background: #f8f7f4 !important;
}
.blog-title-above-image {
	font-family: var(--font-headings);
	font-size: 2.6rem !important;
	color: var(--gz-text-dark);
	line-height: 1.25;
	text-align: left !important;
	margin-bottom: 12px !important;
}
.blog-featured-image {
	border-radius: 18px !important;
	overflow: hidden !important;
	box-shadow: 0 10px 40px rgba(0,0,0,0.14) !important;
}
.blog-featured-image img {
	height: 480px !important;
	object-fit: cover !important;
}
.blog-content-body {
	background: #fff;
	border-radius: 16px;
	padding: 44px 48px;
	box-shadow: 0 4px 18px rgba(0,0,0,0.07);
	margin-bottom: 30px;
	font-size: 1.05rem;
	color: var(--gz-text-medium);
	line-height: 1.9;
	overflow-wrap: break-word;
	word-break: break-word;
}
.blog-content-body h2, .blog-content-body h3 {
	font-family: var(--font-headings);
	color: var(--gz-text-dark);
	margin: 30px 0 15px;
}
.blog-content-body h2 { font-size: 1.75rem; }
.blog-content-body h3 { font-size: 1.4rem; }
.blog-content-body p { margin-bottom: 18px; }
.blog-content-body ul, .blog-content-body ol {
	padding-left: 22px;
	margin-bottom: 18px;
}
.blog-content-body li { margin-bottom: 8px; }
.blog-content-body img {
	max-width: 100%;
	border-radius: 10px;
	margin: 20px 0;
}
.blog-content-body blockquote {
	border-left: 4px solid var(--gz-accent);
	padding: 16px 24px;
	background: #faf9f6;
	border-radius: 0 10px 10px 0;
	margin: 24px 0;
	font-style: italic;
	color: var(--gz-text-dark);
}

/* Blog meta strip */
.blog-meta-strip {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-bottom: 28px;
	flex-wrap: wrap;
}
.blog-meta-badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: rgba(187,162,98,0.12);
	color: #bba262;
	padding: 7px 18px;
	border-radius: 50px;
	font-size: 0.83rem;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}
.blog-meta-date {
	color: var(--gz-text-light);
	font-size: 0.9rem;
	display: flex;
	align-items: center;
	gap: 6px;
}
.blog-meta-date i { color: var(--gz-accent); }

/* Sidebar info card */
.blog-info-card {
	border-radius: 16px !important;
	box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
	border: none !important;
}

@media (max-width: 768px) {
	.blog-title-above-image { font-size: 1.9rem !important; }
	.blog-featured-image img { height: 300px !important; }
	.blog-content-body { padding: 28px 24px; }
}
@media (max-width: 576px) {
	.blog-title-above-image { font-size: 1.55rem !important; }
	.blog-content-body { padding: 22px 18px; font-size: 0.98rem; }
}

/* =====================================================
   CONTACT PAGE
   ===================================================== */

.contact-page-section {
	padding: 100px 0 110px;
	background: #f8f7f4;
}

.contact-page-title {
	font-family: var(--font-headings);
	font-size: 2.2rem;
	color: var(--gz-text-dark);
	margin-bottom: 16px;
}

.contact-page-lead {
	color: var(--gz-text-medium);
	font-size: 1.05rem;
	line-height: 1.85;
	margin-bottom: 40px;
}

.contact-info-stack {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.contact-info-item {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 22px 26px;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 3px 14px rgba(0,0,0,0.07);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.contact-info-item:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 26px rgba(0,0,0,0.1);
}

.contact-info-icon {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: rgba(187,162,98,0.12);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.contact-info-icon i {
	font-size: 1.3rem;
	color: var(--gz-accent);
}

.contact-info-item h5 {
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--gz-text-light);
	margin: 0 0 5px;
}

.contact-info-item p {
	color: var(--gz-text-dark);
	font-size: 1rem;
	font-weight: 600;
	margin: 0;
}

.contact-form-card {
	background: #fff;
	border-radius: 20px;
	padding: 48px 44px;
	box-shadow: 0 8px 40px rgba(0,0,0,0.09);
}

.contact-form-card h3 {
	font-family: var(--font-headings);
	font-size: 1.7rem;
	color: var(--gz-text-dark);
	margin-bottom: 30px;
}

.contact-field label {
	display: block;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	color: var(--gz-text-medium);
	margin-bottom: 8px;
}

.contact-form-card .form-control {
	border: 2px solid #eeece8;
	border-radius: 12px;
	padding: 14px 18px;
	font-size: 0.97rem;
	color: var(--gz-text-dark);
	background: #fafaf8;
	transition: border-color 0.25s, box-shadow 0.25s;
}

.contact-form-card .form-control:focus {
	border-color: var(--gz-accent);
	box-shadow: 0 0 0 3px rgba(187,162,98,0.12);
	background: #fff;
	outline: none;
}

.contact-textarea {
	height: 150px !important;
	resize: none;
}

.contact-submit-btn {
	width: 100%;
	padding: 16px 28px;
	background: var(--gz-accent);
	color: #fff;
	border: none;
	border-radius: 50px;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.5px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	transition: background 0.3s ease, transform 0.2s ease;
}

.contact-submit-btn:hover {
	background: var(--gz-text-dark);
	transform: translateY(-2px);
}

.contact-success {
	text-align: center;
	padding: 50px 20px;
	color: var(--gz-text-dark);
}

.contact-success i {
	font-size: 3.5rem;
	display: block;
	margin-bottom: 16px;
	color: var(--gz-accent);
}

.contact-success p {
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--gz-text-dark);
}

@media (max-width: 991px) {
	.contact-form-card { padding: 36px 28px; }
	.contact-page-section { padding: 70px 0 80px; }
}

@media (max-width: 575px) {
	.contact-form-card { padding: 28px 20px; }
	.contact-page-title { font-size: 1.8rem; }
}

/* =====================================================
   ABOUT US — SECTION IMPROVEMENTS
   ===================================================== */

.about-section .about-img {
	border-radius: 18px;
	box-shadow: 0 10px 40px rgba(0,0,0,0.12);
}

.philosophy-section .philosophy-card,
.philosophy-cta-section .philosophy-card {
	background: #fff;
	border-radius: 16px;
	padding: 36px 32px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.07);
	height: 100%;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.philosophy-section .philosophy-card:hover,
.philosophy-cta-section .philosophy-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 12px 32px rgba(0,0,0,0.11);
}

.philosophy-card-icon {
	width: 54px;
	height: 54px;
	border-radius: 14px;
	background: #f5f0e8;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}

.philosophy-card-icon i {
	font-size: 1.6rem;
	color: var(--gz-accent);
}

.philosophy-cta-section .philosophy-card h3 {
	font-family: var(--font-headings);
	font-size: 1.3rem;
	color: var(--gz-text-dark);
	margin-bottom: 12px;
}

.team-section .owner-photo img {
	border-radius: 50%;
	width: 180px;
	height: 180px;
	object-fit: cover;
	box-shadow: 0 8px 30px rgba(0,0,0,0.15);
	border: 4px solid var(--gz-accent);
}

/* =====================================================
   HOME — SECTION POLISH
   ===================================================== */

/* Welcome Section */
.welcome-owner .section-kicker {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--gz-accent);
	margin-bottom: 14px;
}

.welcome-owner .welcome-title {
	font-family: var(--font-headings);
	font-size: clamp(1.7rem, 3vw, 2.4rem);
	color: var(--gz-text-dark);
	margin-bottom: 22px;
	line-height: 1.2;
}

.welcome-owner p {
	color: var(--gz-text-medium);
	font-size: 1.02rem;
	line-height: 1.85;
	margin-bottom: 14px;
}

.owner-photo-wrapper {
	max-width: 300px;
}

.owner-photo img {
	border-radius: 20px;
	box-shadow: 0 12px 40px rgba(0,0,0,0.13);
	width: 100%;
}

.owner-caption {
	margin-top: 14px;
}

/* Why Choose — service items */
.service-item {
	padding: 32px 24px;
	background: rgba(255,255,255,0.08);
	border-radius: 16px;
	transition: background 0.3s ease, transform 0.3s ease;
}

.service-item:hover {
	background: rgba(255,255,255,0.14);
	transform: translateY(-4px);
}

.service-item i {
	font-size: 2.8rem;
	color: var(--gz-accent);
	display: block;
	margin-bottom: 18px;
}

.service-item h4 {
	color: #fff;
	font-size: 1.1rem;
	margin-bottom: 10px;
}

.service-item p {
	color: rgba(255,255,255,0.75);
	font-size: 0.93rem;
	line-height: 1.65;
}

/* Book Direct cards */
.book-benefit-card {
	background: #fff;
	border-radius: 16px;
	padding: 34px 28px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.07);
	height: 100%;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	text-align: center;
}

.book-benefit-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 12px 32px rgba(0,0,0,0.11);
}

.book-benefit-card .benefit-icon {
	width: 62px;
	height: 62px;
	border-radius: 16px;
	background: rgba(187,162,98,0.12);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
}

.book-benefit-card .benefit-icon i {
	font-size: 1.5rem;
	color: var(--gz-accent);
}

.book-benefit-card h4 {
	font-family: var(--font-headings);
	font-size: 1.15rem;
	color: var(--gz-text-dark);
	margin-bottom: 10px;
}

.book-benefit-card p {
	color: var(--gz-text-medium);
	font-size: 0.93rem;
	line-height: 1.7;
	margin: 0;
}

/* Trust logos */
.trust-logos {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 48px;
	flex-wrap: wrap;
	margin-top: 32px;
}

.trust-logo-item {
	opacity: 0.75;
	transition: opacity 0.3s, transform 0.3s;
	filter: grayscale(30%);
}

.trust-logo-item:hover {
	opacity: 1;
	transform: scale(1.05);
	filter: grayscale(0%);
}

.trust-logo-icon {
	height: 52px;
	object-fit: contain;
}

/* =====================================================
   CONTACT — FULL SPLIT LAYOUT
   ===================================================== */

.contact-split {
	display: flex;
	min-height: 100vh;
	box-sizing: border-box;
}

.contact-info-strip {
	background: #453e3e;
	padding: 60px 0;
}

.contact-info-cards {
	display: flex;
	justify-content: center;
	gap: 0;
}

.contact-info-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 0 56px;
	border-right: 1px solid rgba(255,255,255,0.1);
}

.contact-info-card:last-child {
	border-right: none;
}

.contact-info-card__icon {
	width: 52px;
	height: 52px;
	border: 1px solid var(--gz-accent);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
	color: var(--gz-accent);
	font-size: 1.1rem;
}

.contact-info-card__label {
	font-size: 0.68rem;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: rgba(255,255,255,0.45);
	font-weight: 700;
	margin-bottom: 8px;
}

.contact-info-card__value {
	font-size: 0.97rem;
	color: rgba(255,255,255,0.88);
}

@media (max-width: 767px) {
	.contact-info-cards {
		flex-direction: column;
		gap: 40px;
	}
	.contact-info-card {
		border-right: none;
		padding: 0;
	}
}

.contact-form-only {
	display: flex;
	justify-content: center;
	background: #f8f7f4;
	padding: 80px 24px;
}

.contact-form-only .contact-split__form {
	max-width: 640px;
	width: 100%;
	background: none;
	padding: 0;
	display: block;
}

.contact-form-only .contact-split__form-inner {
	max-width: 100%;
}

.contact-split__image {
	position: relative;
	width: 44%;
	flex-shrink: 0;
	overflow: hidden;
}

.contact-split__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform 10s ease;
}

.contact-split:hover .contact-split__bg {
	transform: scale(1.04);
}

.contact-split__veil {
	position: absolute;
	inset: 0;
	background: linear-gradient(160deg, rgba(10,8,6,0.72) 0%, rgba(40,32,20,0.55) 100%);
}

.contact-split__info {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 64px 52px 56px;
}

.contact-split__info-top {
	display: flex;
	flex-direction: column;
}

.contact-split__eyebrow {
	display: inline-block;
	font-size: 0.7rem;
	letter-spacing: 3.5px;
	text-transform: uppercase;
	color: var(--gz-accent);
	font-weight: 700;
	margin-bottom: 28px;
}

.contact-split__eyebrow--dark {
	color: var(--gz-accent);
}

.contact-split__heading {
	font-family: var(--font-headings);
	font-size: clamp(2rem, 3.2vw, 3rem);
	color: #fff;
	line-height: 1.15;
	margin: 0 0 32px;
	text-shadow: 0 2px 14px rgba(0,0,0,0.2);
}

.contact-split__rule {
	width: 36px;
	height: 2px;
	background: var(--gz-accent);
	margin-bottom: 36px;
	border-radius: 1px;
}

.contact-split__details {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.contact-split__details li {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.csd-label {
	font-size: 0.68rem;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: rgba(255,255,255,0.48);
	font-weight: 700;
}

.csd-value {
	font-size: 0.97rem;
	color: rgba(255,255,255,0.9);
}

/* Form panel */
.contact-split__form {
	flex: 1;
	background: #f8f7f4;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 80px 64px;
}

.contact-split__form-inner {
	max-width: 460px;
	width: 100%;
}

.contact-split__form-title {
	font-family: var(--font-headings);
	font-size: 2rem;
	color: var(--gz-text-dark);
	margin: 10px 0 8px;
	line-height: 1.2;
}

.contact-split__form-sub {
	color: var(--gz-text-light);
	font-size: 0.93rem;
	margin-bottom: 44px;
}

/* Floating-label fields */
.cform-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 32px;
}

.cform-field {
	position: relative;
	margin-bottom: 36px;
}

.cform-input {
	width: 100%;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	padding: 18px 0 10px !important;
	font-size: 0.98rem;
	color: var(--gz-text-dark);
	font-family: var(--font-primary);
	box-shadow: none !important;
	outline: none !important;
}

.cform-line {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 1.5px;
	background: #d8d4cc;
	transition: background 0.3s;
}

.cform-field:focus-within .cform-line {
	background: var(--gz-accent);
}

.cform-label {
	position: absolute;
	left: 0;
	top: 18px;
	font-size: 0.9rem;
	color: var(--gz-text-light);
	pointer-events: none;
	transition: all 0.22s ease;
}

.cform-input:focus ~ .cform-label,
.cform-input:not(:placeholder-shown) ~ .cform-label {
	top: 0;
	font-size: 0.68rem;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--gz-accent);
	font-weight: 700;
}

.cform-textarea {
	resize: none;
	height: 100px !important;
}

.cform-btn {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	justify-content: center;
	padding: 18px 32px;
	background: var(--gz-text-dark);
	color: #fff;
	border: none;
	font-family: var(--font-primary);
	font-size: 0.8rem;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.3s ease;
	margin-top: 8px;
}

.cform-btn:hover {
	background: var(--gz-accent);
}

.cform-btn i { font-size: 1rem; }

.cform-success {
	text-align: center;
	padding: 60px 20px;
}

.cform-success__check {
	width: 68px;
	height: 68px;
	border-radius: 50%;
	background: var(--gz-accent);
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 24px;
}

.cform-success h4 {
	font-family: var(--font-headings);
	font-size: 1.6rem;
	color: var(--gz-text-dark);
	margin-bottom: 8px;
}

.cform-success p {
	color: var(--gz-text-light);
	font-size: 0.97rem;
}

@media (max-width: 991px) {
	.contact-split { flex-direction: column; padding-top: 80px; }
	.contact-split__image { width: 100%; height: 52vh; min-height: 360px; }
	.contact-split__info { padding: 48px 32px 40px; }
	.contact-split__form { padding: 64px 40px; }
	.cform-row { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 575px) {
	.contact-split__info { padding: 40px 24px; }
	.contact-split__form { padding: 48px 24px; }
	.contact-split__form-inner { max-width: 100%; }
}

/* =====================================================
   ABOUT US — REDESIGN
   ===================================================== */

/* Shared eyebrow label */
.about-eyebrow {
	display: inline-block;
	font-size: 0.7rem;
	letter-spacing: 3.5px;
	text-transform: uppercase;
	color: var(--gz-accent);
	font-weight: 700;
	margin-bottom: 14px;
}

.about-eyebrow--light {
	color: rgba(255,255,255,0.55);
}

/* Manifesto quote */
.about-manifesto {
	background: #1c1c1a;
	padding: 90px 40px;
}

.about-manifesto__inner {
	max-width: 780px;
	margin: 0 auto;
	text-align: center;
}

.about-manifesto__mark {
	display: block;
	font-family: var(--font-accent);
	font-size: 6rem;
	color: var(--gz-accent);
	line-height: 0.6;
	margin-bottom: 24px;
	opacity: 0.7;
}

.about-manifesto__quote {
	font-family: var(--font-headings);
	font-size: clamp(1.5rem, 3vw, 2.4rem);
	color: #fff;
	line-height: 1.45;
	border: none;
	padding: 0;
	margin: 0 0 24px;
	font-style: italic;
}

.about-manifesto__quote em {
	color: var(--gz-accent);
	font-style: normal;
}

.about-manifesto__author {
	font-size: 0.8rem;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: rgba(255,255,255,0.5);
}

/* Founder section */
.about-founder {
	padding: 100px 0;
}

.about-founder__grid {
	display: grid;
	grid-template-columns: 380px 1fr;
	gap: 80px;
	align-items: center;
}

.about-founder__image {
	position: relative;
}

.about-founder__image img {
	width: 100%;
	aspect-ratio: 3/4;
	object-fit: cover;
	object-position: top;
	border-radius: 4px;
	display: block;
}

.about-founder__image-label {
	position: absolute;
	bottom: -18px;
	right: -18px;
	background: var(--gz-accent);
	color: #fff;
	padding: 14px 22px;
	font-size: 0.78rem;
	letter-spacing: 2px;
	text-transform: uppercase;
	font-weight: 700;
}

.about-founder__title {
	font-family: var(--font-headings);
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	color: var(--gz-text-dark);
	line-height: 1.2;
	margin: 6px 0 28px;
}

.about-founder__text p {
	color: var(--gz-text-medium);
	font-size: 1.03rem;
	line-height: 1.9;
	margin-bottom: 16px;
}

/* Philosophy pillars */
.about-philosophy {
	padding: 100px 0;
}

.about-section-header {
	margin-bottom: 60px;
}

.about-section-header h2 {
	font-family: var(--font-headings);
	font-size: clamp(2rem, 3vw, 2.8rem);
	color: var(--gz-text-dark);
	margin: 6px 0 0;
}

.about-philosophy__pillars {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: var(--gz-border);
	border: 1px solid var(--gz-border);
}

.about-pillar {
	background: #fff;
	padding: 48px 40px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	transition: background 0.3s;
}

.about-pillar:hover {
	background: #fff8e5;
}

.about-pillar__num {
	font-family: var(--font-headings);
	font-size: 2.8rem;
	color: var(--gz-border);
	line-height: 1;
}

.about-pillar__body h4 {
	font-family: var(--font-headings);
	font-size: 1.25rem;
	color: var(--gz-text-dark);
	margin-bottom: 10px;
}

.about-pillar__body p {
	color: var(--gz-text-medium);
	font-size: 0.97rem;
	line-height: 1.75;
	margin: 0;
}

/* Sustainability */
.about-sustain {
	padding: 100px 0;
	background: #1c1c1a !important;
}

.about-sustain__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: center;
}

.about-sustain__text h2 {
	font-family: var(--font-headings);
	font-size: clamp(1.8rem, 3vw, 2.5rem);
	color: #fff;
	margin: 8px 0 24px;
}

.about-sustain__text p {
	color: rgba(255,255,255,0.75);
	font-size: 1.02rem;
	line-height: 1.85;
	margin: 0;
}

.about-sustain__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-content: center;
	justify-content: flex-end;
}

.about-sustain__tags span {
	padding: 12px 24px;
	border: 1.5px solid rgba(255,255,255,0.25);
	color: rgba(255,255,255,0.85);
	font-size: 0.8rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	border-radius: 50px;
	transition: all 0.3s;
}

.about-sustain__tags span:hover {
	border-color: var(--gz-accent);
	color: var(--gz-accent);
}

@media (max-width: 991px) {
	.about-founder__grid { grid-template-columns: 1fr; gap: 60px; }
	.about-founder__image { max-width: 340px; margin: 0 auto; }
	.about-philosophy__pillars { grid-template-columns: 1fr; }
	.about-sustain__inner { grid-template-columns: 1fr; gap: 48px; }
	.about-sustain__tags { justify-content: flex-start; }
}

@media (max-width: 575px) {
	.about-manifesto { padding: 60px 24px; }
	.about-founder { padding: 70px 0; }
	.about-pillar { padding: 36px 28px; }
}

/* =====================================================
   HOME — WELCOME SECTION REDESIGN
   ===================================================== */

.section-eyebrow {
	display: inline-block;
	font-size: 0.7rem;
	letter-spacing: 3.5px;
	text-transform: uppercase;
	color: var(--gz-accent);
	font-weight: 700;
	margin-bottom: 14px;
}

.section-eyebrow--gold { color: var(--gz-accent); }

.welcome-section {
	padding: 100px 0;
}

.welcome-section__grid {
	display: grid;
	grid-template-columns: 360px 1fr;
	gap: 90px;
	align-items: center;
}

.welcome-section__image {
	position: relative;
	flex-shrink: 0;
}

.welcome-section__image img {
	width: 100%;
	aspect-ratio: 3/4;
	object-fit: cover;
	object-position: top;
	display: block;
	border-radius: 4px;
}

.welcome-section__image-caption {
	position: absolute;
	bottom: -18px;
	left: -18px;
	background: #bba262;
	padding: 16px 24px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.welcome-section__image-caption .signature {
	font-family: var(--font-accent);
	font-size: 1.8rem;
	color: #fff;
	line-height: 1;
}

.welcome-section__caption-role {
	font-size: 0.68rem;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: rgba(255,255,255,0.55);
}

.welcome-section__title {
	font-family: var(--font-headings);
	font-size: clamp(1.9rem, 3vw, 2.8rem);
	color: var(--gz-text-dark);
	line-height: 1.15;
	margin: 8px 0 0;
}

.welcome-section__rule {
	width: 36px;
	height: 2px;
	background: var(--gz-accent);
	margin: 28px 0 28px;
	border-radius: 1px;
}

.welcome-section__text p {
	color: var(--gz-text-medium);
	font-size: 1.02rem;
	line-height: 1.85;
	margin-bottom: 14px;
}

@media (max-width: 991px) {
	.welcome-section__grid { grid-template-columns: 1fr; gap: 50px; }
	.welcome-section__image { max-width: 320px; margin: 0 auto; }
}

/* =====================================================
   HOME — BOOK DIRECT REDESIGN
   ===================================================== */

.bookdirect-section {
	padding: 100px 0;
}

.bookdirect-section__header {
	text-align: center;
	margin-bottom: 72px;
}

.bookdirect-section__title {
	font-family: var(--font-headings);
	font-size: clamp(2rem, 3.5vw, 3rem);
	color: var(--gz-text-dark);
	margin: 8px 0 12px;
}

.bookdirect-section__sub {
	color: var(--gz-text-light);
	font-size: 1.02rem;
	max-width: 460px;
	margin: 0 auto;
}

.bookdirect-section__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: var(--gz-border);
	border: 1px solid var(--gz-border);
	margin-bottom: 56px;
}

.bookdirect-item {
	background: #fff;
	padding: 48px 40px;
	transition: background 0.3s ease;
}

.bookdirect-item:hover {
	background: #f8f7f4;
}

.bookdirect-item__num {
	font-family: var(--font-headings);
	font-size: 3rem;
	color: var(--gz-border);
	line-height: 1;
	margin-bottom: 20px;
}

.bookdirect-item__body h4 {
	font-family: var(--font-headings);
	font-size: 1.2rem;
	color: var(--gz-text-dark);
	margin-bottom: 10px;
}

.bookdirect-item__body p {
	color: var(--gz-text-medium);
	font-size: 0.95rem;
	line-height: 1.75;
	margin: 0;
}

.bookdirect-section__cta {
	text-align: center;
}

.bookdirect-cta-btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 18px 48px;
	background: var(--gz-text-dark);
	color: #fff;
	font-size: 0.8rem;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.3s;
}

.bookdirect-cta-btn:hover {
	background: var(--gz-accent);
	color: #fff;
}

@media (max-width: 768px) {
	.bookdirect-section__grid { grid-template-columns: 1fr; }
	.bookdirect-item { padding: 36px 28px; }
}

/* =====================================================
   FOOTER — RESPONSIVE
   ===================================================== */

.footer-logo {
	height: 140px;
}

.footer-col {
	margin-bottom: 32px;
}

@media (max-width: 991px) {
	.footer-logo { height: 100px; }
	.footer-section .footer-text { padding: 48px 0 10px; }
	.footer-col { margin-bottom: 36px; }
}

@media (max-width: 575px) {
	.footer-logo { height: 80px; }
	.footer-section .footer-text { padding: 40px 0 8px; }
	.footer-col { margin-bottom: 28px; }
}

/* =====================================================
   MOBILE HERO — NO GAP FIX
   Fix: body has padding-top:120px but on mobile the
   header is ~84px. Reset both to 0 so the fixed header
   overlays the hero naturally without any white strip.
   ===================================================== */

@media (max-width: 991px) {
	body { padding-top: 0 !important; }
	.hero-section { margin-top: 0 !important; }
}

/* ============================================================
   COMPREHENSIVE MOBILE & TABLET RESPONSIVE OVERRIDES
   ============================================================ */

/* ── Base Typography ─────────────────────────────────────── */
@media (max-width: 767px) {
	html, body { font-size: 16px !important; }
	h1 { font-size: 2rem !important; }
	h2 { font-size: 1.6rem !important; }
	h3 { font-size: 1.35rem !important; }
	h4 { font-size: 1.15rem !important; }
	h5 { font-size: 1rem !important; }
	h6 { font-size: 0.9rem !important; }
	p { font-size: 0.95rem; line-height: 1.65; }
}

@media (min-width: 768px) and (max-width: 991px) {
	html, body { font-size: 17px !important; }
	h1 { font-size: 2.5rem !important; }
	h2 { font-size: 1.9rem !important; }
	h3 { font-size: 1.55rem !important; }
	h4 { font-size: 1.25rem !important; }
}

/* ── Container & Section Spacing ────────────────────────── */
@media (max-width: 767px) {
	.spad { padding-top: 50px !important; padding-bottom: 50px !important; }
	.spad-2 { padding-top: 35px !important; padding-bottom: 35px !important; }
	.container { padding-left: 16px !important; padding-right: 16px !important; }
}

/* ── Mobile Header & Logo ────────────────────────────────── */
@media (max-width: 991px) {
	.mobile-logo-img {
		height: 55px !important;
		max-width: 150px;
		object-fit: contain;
	}
	.menu-item .container { position: relative; min-height: 70px; }
	.canvas-open { top: 20px !important; right: 16px !important; }
}

/* ── Breadcrumb ──────────────────────────────────────────── */
@media (max-width: 767px) {
	.breadcrumb-section { padding-top: 100px !important; padding-bottom: 40px !important; }
	.breadcrumb-text h2 { font-size: 1.5rem !important; }
	.breadcrumb-text .bt-option a,
	.breadcrumb-text .bt-option span { font-size: 13px !important; }
}

@media (min-width: 768px) and (max-width: 991px) {
	.breadcrumb-section { padding-top: 100px !important; padding-bottom: 55px !important; }
	.breadcrumb-text h2 { font-size: 1.8rem !important; }
}

/* ── Hero ────────────────────────────────────────────────── */
@media (max-width: 767px) {
	.hero-section {
		height: 88vh !important;
		min-height: 520px;
		background-color: #1a1209;
	}
	.hero-section.hero-with-menu { padding-top: 0; }
	.hero-slider,
	.hero-slider .owl-stage-outer,
	.hero-slider .owl-stage,
	.hero-slider .owl-item,
	.hs-item {
		height: 100% !important;
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	.hs-item { height: 100% !important; }
}

/* ── Villas List Cards ───────────────────────────────────── */
@media (max-width: 767px) {
	.hp-room-item { height: 420px !important; }

	/* Dark gradient overlay always visible on mobile */
	.hp-room-items .hp-room-item::after {
		content: '';
		position: absolute;
		inset: 0;
		background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.15) 60%, transparent 100%);
		pointer-events: none;
		z-index: 1;
	}

	.hp-room-items .hp-room-item .hr-text {
		padding: 16px 20px !important;
		left: 20px !important;
		right: 15px !important;
		bottom: 20px !important;
		transition: none !important;
		z-index: 2;
	}
	/* Κρύβω τον πίνακα στο mobile — φαίνεται μόνο τίτλος + τιμή + button */
	.hp-room-items .hp-room-item .hr-text table { display: none !important; }
	.hp-room-items .hp-room-item .hr-text h3 {
		font-size: 1rem !important;
		line-height: 1.35 !important;
		margin-bottom: 8px !important;
	}
	.hp-room-items .hp-room-item .hr-text h2 { margin-bottom: 16px !important; }
}

/* ── Villa Detail Page ───────────────────────────────────── */
@media (max-width: 991px) {
	.room-details-section .col-lg-4 { margin-top: 28px; }
	.booking-form { max-width: 520px; margin: 0 auto; }
	.room-details-item img { width: 100%; height: auto; max-height: 360px; object-fit: cover; border-radius: 8px; }
}

@media (max-width: 767px) {
	.room-details-section { padding: 30px 0 50px; }
	.room-details-item .rd-text { padding: 20px 0; }
	.room-details-item .rd-text table { font-size: 0.9rem; }
	.room-details-item .rd-text .rd-title h3 { font-size: 1.3rem !important; }
	.room-details-item .rd-text h2 { font-size: 1.2rem !important; }
}

/* ── Blog List ───────────────────────────────────────────── */
@media (max-width: 767px) {
	.blog-item { height: 300px !important; margin-bottom: 16px; }
	.blogs-category-header { font-size: 1.5rem !important; }
	.bi-text h4 { font-size: 1rem !important; }
}

@media (min-width: 768px) and (max-width: 991px) {
	.blog-item { height: 340px !important; }
}

/* ── Blog Detail ─────────────────────────────────────────── */
@media (max-width: 767px) {
	.blog-details-section { padding: 30px 0 50px !important; }
	.blog-title-above-image { font-size: 1.4rem !important; line-height: 1.3 !important; margin-bottom: 10px !important; text-align: left !important; }
	.blog-featured-image img { height: 210px !important; }
	.blog-content-body { padding: 20px 12px !important; font-size: 0.93rem !important; line-height: 1.7; }
	.blog-meta-strip { flex-wrap: wrap; gap: 8px; margin-bottom: 14px; justify-content: flex-start; }
	.blog-meta-badge, .blog-meta-date { font-size: 11px !important; padding: 4px 10px !important; }
	.blog-back-link { font-size: 13px; }
	.blog-details-section .row.mb-5 { margin-bottom: 1.5rem !important; }
	.blog-details-section .row.mb-3 { margin-bottom: 0.75rem !important; }
	/* Destination detail alignment */
	.destination-details-section { padding: 30px 0 50px !important; }
	.blog-title-above-image.dest-title { text-align: left !important; }
}

/* ── Destinations ────────────────────────────────────────── */
@media (max-width: 767px) {
	.dest-card { height: 280px !important; }
}

/* ── Footer ──────────────────────────────────────────────── */
@media (max-width: 767px) {
	.footer-section [class*="col-lg-"] { margin-bottom: 28px; text-align: center; }
	.footer-section .copyright-option { text-align: center; }
	.footer-section .copyright-option ul { justify-content: center; margin-bottom: 8px; }
}

/* ── Buttons ─────────────────────────────────────────────── */
@media (max-width: 767px) {
	.bb-btn, .primary-btn {
		font-size: 12px !important;
		padding: 7px 18px !important;
	}
}

/* ── WhatsApp Float ──────────────────────────────────────── */
@media (max-width: 767px) {
	.whatsapp-float {
		bottom: 18px !important;
		right: 14px !important;
		width: 48px !important;
		height: 48px !important;
	}
}

/* ── About Page ──────────────────────────────────────────── */
@media (max-width: 767px) {
	.about-hero { padding-top: 50px !important; }
	.about-manifesto { padding: 50px 20px !important; }
	.about-manifesto h2 { font-size: 1.5rem !important; }
}

/* ── Welcome / BookDirect Sections ──────────────────────── */
@media (max-width: 767px) {
	.welcome-section__grid,
	.bookdirect-section__grid { grid-template-columns: 1fr !important; }
	.welcome-section__image,
	.bookdirect-item { max-width: 100% !important; }
}

/* ── Overflow prevention ─────────────────────────────────── */
@media (max-width: 767px) {
	img { max-width: 100%; height: auto; }
	table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* ── Tablet 2-column grid helpers ───────────────────────── */
@media (min-width: 768px) and (max-width: 991px) {
	/* ensure blog list renders 2-up on tablet when col-md-6 not set */
	.blogs-grid-row > [class*="col-lg-4"] { flex: 0 0 50%; max-width: 50%; }
}

/* ============================================================
   HOME PAGE — SECTION REDESIGNS & VISUAL IMPROVEMENTS
   ============================================================ */

/* ── Section title consistency ───────────────────────────── */
.gz-section-label {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--gz-accent);
	margin-bottom: 12px;
}

.gz-section-title {
	font-family: var(--font-headings);
	font-size: clamp(1.7rem, 3.5vw, 2.4rem);
	color: var(--gz-text-dark);
	line-height: 1.2;
	margin-bottom: 16px;
}

.gz-section-subtitle {
	color: var(--gz-text-medium);
	font-size: clamp(0.92rem, 1.5vw, 1.05rem);
	line-height: 1.7;
	max-width: 560px;
	margin: 0 auto;
	text-align: center;
}

/* ── Section divider ─────────────────────────────────────── */
.gz-divider {
	width: 48px;
	height: 3px;
	background: var(--gz-accent);
	border-radius: 2px;
	margin: 0 auto 20px;
	display: block;
}

/* --left: αριστερά μόνο σε desktop (lg+) */
.gz-divider--left { margin-left: 0; margin-right: auto; }

/* Σε mobile/tablet: section headers centered, body text left */
@media (max-width: 991px) {
	.gz-divider--left { margin-left: auto !important; margin-right: auto !important; }
	.gz-section-label { display: block; text-align: center; }
	.gz-section-title { text-align: center; }
}

/* ── Welcome Section (redesign) ──────────────────────────── */
.welcome-owner {
	padding: 80px 0;
}

.welcome-owner .welcome-lead {
	font-size: clamp(0.95rem, 1.6vw, 1.08rem);
	line-height: 1.85;
	color: var(--gz-text-medium);
	margin-bottom: 16px;
}

.welcome-owner .welcome-quote {
	border-left: 3px solid var(--gz-accent);
	padding-left: 18px;
	font-style: italic;
	color: var(--gz-text-dark);
	font-size: clamp(1rem, 1.6vw, 1.15rem);
	line-height: 1.7;
	margin: 24px 0;
}

.owner-photo-frame {
	position: relative;
	display: inline-block;
	max-width: 300px;
	width: 100%;
}

.owner-photo-frame::before {
	content: '';
	position: absolute;
	top: -12px;
	left: -12px;
	right: 12px;
	bottom: 12px;
	border: 2px solid var(--gz-accent);
	border-radius: 20px;
	z-index: 0;
}

.owner-photo-frame .owner-photo-img {
	position: relative;
	z-index: 1;
	width: 100%;
	border-radius: 18px;
	box-shadow: 0 16px 48px rgba(0,0,0,0.14);
	object-fit: cover;
	display: block;
}

.owner-signature-block {
	margin-top: 16px;
	text-align: center;
}

.owner-signature-name {
	font-family: var(--font-accent);
	font-size: 2rem;
	color: var(--gz-accent);
	display: block;
	line-height: 1;
}

.owner-signature-role {
	font-size: 0.78rem;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--gz-text-light);
	margin-top: 4px;
}

@media (max-width: 991px) {
	.welcome-owner { padding: 60px 0; }
	.owner-photo-frame { max-width: 240px; }
	.owner-photo-frame::before { display: none; }
}

@media (max-width: 991px) {
	/* On mobile the text block is text-center; quote border moves to top */
	.welcome-owner .welcome-quote {
		border-left: none;
		border-top: 3px solid var(--gz-accent);
		padding-left: 0;
		padding-top: 14px;
		text-align: center;
	}
	.welcome-owner .welcome-lead { text-align: left; }
	.welcome-owner .welcome-btn { display: block; text-align: left; }
}

.welcome-cta-group {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
}

.btn-emoji {
	filter: grayscale(1);
	font-style: normal;
}

.welcome-btn-whatsapp {
	background: var(--gz-accent) !important;
	border: none !important;
	color: #fff !important;
	font-size: 13px !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
	padding: 16px 25px !important;
	border-radius: 999px !important;
}

.welcome-btn-whatsapp:hover {
	opacity: 0.85 !important;
	transform: none !important;
	border: none !important;
	padding: 16px 25px !important;
}

.welcome-btn-call {
	background: transparent !important;
	border: 2px solid var(--gz-accent) !important;
	color: var(--gz-accent) !important;
	font-size: 13px !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
	padding: 14px 25px !important;
	border-radius: 999px !important;
}

.welcome-btn-call:hover {
	background: var(--gz-accent) !important;
	color: #fff !important;
}

.welcome-cta-note {
	margin-top: 14px;
	font-size: 0.85rem;
	font-style: italic;
	color: var(--gz-text-medium);
	line-height: 1.6;
}

@media (max-width: 767px) {
	.welcome-owner { padding: 48px 0; }
	.owner-photo-frame { max-width: 200px; }
	.welcome-owner .welcome-quote { font-size: 0.97rem; }
	.welcome-cta-group { flex-direction: column; }
	.welcome-btn-whatsapp, .welcome-btn-call { width: 100%; text-align: center; }
}

/* ── Philosophy Section cards (redesign) ─────────────────── */
.gz-philosophy-card {
	background: #fff;
	border-radius: 16px;
	padding: 32px 28px;
	height: 100%;
	border: 1px solid rgba(187,162,98,0.15);
	box-shadow: 0 2px 12px rgba(0,0,0,0.05);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	text-align: center;
}

.gz-philosophy-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 12px 32px rgba(0,0,0,0.1);
}

.gz-philosophy-card__icon {
	width: 52px;
	height: 52px;
	background: var(--gz-ivory);
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 18px;
}

.gz-philosophy-card__icon i {
	font-size: 1.4rem;
	color: var(--gz-accent);
}

.gz-philosophy-card h3 {
	font-family: var(--font-headings);
	font-size: 1.15rem;
	color: var(--gz-text-dark);
	margin-bottom: 10px;
}

.gz-philosophy-card p {
	color: var(--gz-text-medium);
	font-size: 0.92rem;
	line-height: 1.7;
	margin: 0;
}

@media (max-width: 767px) {
	.gz-philosophy-card { padding: 24px 20px; }
}

/* ── BookDirect Timeline Layout ──────────────────────────── */
.bd-heading {
	margin-bottom: 56px;
}

.bd-heading__sub {
	font-size: 0.85rem;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--gz-text-medium);
	margin-bottom: 6px;
}

.bd-heading__main {
	font-size: clamp(1.5rem, 2.8vw, 2.2rem);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--gz-text-dark);
	margin: 0;
}

.bd-timeline {
	position: relative;
	max-width: 660px;
	margin: 0 auto;
	padding: 8px 0;
}

.bd-timeline::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	background: #c5c9d6;
	z-index: 0;
}

.bd-step {
	display: grid;
	grid-template-columns: 1fr 68px 1fr;
	align-items: center;
	gap: 28px;
	margin-bottom: 52px;
	position: relative;
}

.bd-step:last-child { margin-bottom: 0; }

.bd-step__center {
	display: flex;
	justify-content: center;
	z-index: 2;
}

.bd-step__circle {
	width: 68px;
	height: 68px;
	background: #4f4f4f;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 1.4rem;
	flex-shrink: 0;
}

.bd-step__left {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.bd-step__right {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.bd-step__num {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--gz-accent);
	letter-spacing: 1px;
}

.bd-step__label {
	background: #bba262;
	padding: 14px 20px;
	text-align: center;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #fff;
	position: relative;
	line-height: 1.5;
}

.bd-step__label small {
	display: block;
	font-size: 0.63rem;
	font-weight: 400;
	letter-spacing: 1px;
	margin-top: 4px;
	opacity: 0.85;
}

/* Arrow pointing left (label on right side) */
.bd-step__label--arrow-left::before {
	content: '';
	position: absolute;
	left: -10px;
	top: 50%;
	transform: translateY(-50%);
	border: 10px solid transparent;
	border-right-color: #b3bac9;
	border-left: 0;
}

/* Arrow pointing right (label on left side) */
.bd-step__label--arrow-right::after {
	content: '';
	position: absolute;
	right: -10px;
	top: 50%;
	transform: translateY(-50%);
	border: 10px solid transparent;
	border-left-color: #b3bac9;
	border-right: 0;
}

@media (max-width: 600px) {
	.bd-timeline { max-width: 100%; }
	.bd-step { grid-template-columns: 1fr 56px 1fr; gap: 16px; margin-bottom: 36px; }
	.bd-step__circle { width: 56px; height: 56px; font-size: 1.1rem; }
	.bd-step__label { font-size: 0.65rem; padding: 10px 12px; }
}

/* ── BookDirect CTA strip ────────────────────────────────── */
.bd-cta {
	position: relative;
	margin-top: 60px;
	background: linear-gradient(135deg, #ad9f93 0%, #837a69 100%);
	border-radius: 20px;
	padding: 44px 40px;
	text-align: center;
	overflow: hidden;
}

.bd-cta__deco {
	position: absolute;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(187,162,98,0.18) 0%, transparent 70%);
	pointer-events: none;
}
.bd-cta__deco--tl { top: -80px; left: -80px; }
.bd-cta__deco--br { bottom: -80px; right: -80px; }

.bd-cta__tag {
	display: inline-block;
	font-size: 11px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: #000000;
	margin-bottom: 16px;
}

.bd-cta__title {
	font-family: var(--font-headings);
	color: #fff;
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	font-weight: 400;
	margin-bottom: 14px;
}

.bd-cta__sub {
	color: rgba(255,255,255,0.6);
	font-size: 0.9rem;
	max-width: 440px;
	margin: 0 auto 26px;
	line-height: 1.7;
}

.bd-cta__actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
	flex-wrap: wrap;
}

.bd-cta__link {
	display: inline-block;
	color: rgba(255,255,255,0.75);
	font-size: 12px;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-decoration: none;
	border: 1px solid rgba(255,255,255,0.25);
	border-radius: 2px;
	padding: 11px 24px;
	transition: border-color 0.25s, color 0.25s;
}
.bd-cta__link:hover {
	border-color: var(--gz-accent);
	color: var(--gz-accent);
}

@media (max-width: 767px) {
	.bd-cta { padding: 48px 24px; }
	.bd-cta__actions { flex-direction: column; gap: 16px; }
	.bd-cta__actions .bb-btn { width: 100%; display: block; }
}

/* ── Hero Mobile Booking Card ────────────────────────────── */
.hero-mobile-booking {
	position: absolute;
	bottom: 20px;
	left: 16px;
	right: 16px;
	z-index: 10;
	/* Prevent card from exceeding viewport on iOS Safari */
	max-width: calc(100vw - 32px);
	box-sizing: border-box;
}

.hmb-card {
	background: #fff;
	border-radius: 12px;
	padding: 18px 16px 14px;
	box-shadow: 0 8px 32px rgba(0,0,0,0.30);
	box-sizing: border-box;
	overflow: hidden;
}

.hmb-title {
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 1.05rem;
	color: #2c1a0e;
	margin: 0 0 14px;
	font-weight: 600;
}

.hmb-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 10px;
}
@media (max-width: 420px) {
	.hmb-row {
		grid-template-columns: 1fr;
		gap: 0;
	}
}

.hmb-field {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-bottom: 10px;
	min-width: 0;
}

.hmb-label {
	font-size: 0.72rem;
	font-weight: 600;
	color: #555;
}

.hmb-input {
	background: #f4f4f4;
	border: 1px solid #ddd;
	border-radius: 6px;
	padding: 9px 10px;
	font-size: 0.82rem;
	color: #222;
	cursor: pointer;
	width: 100%;
	max-width: 100%;
	outline: none;
	min-height: 44px;
	box-sizing: border-box;
	-webkit-appearance: none;
}

.hmb-input::placeholder { color: #aaa; }
.hmb-input--error { border-color: #e05c5c !important; }

/* Prevent iOS Safari auto-zoom on input focus (requires font-size >= 16px) */
@media (max-width: 767px) {
	.hmb-input,
	.hmb-select {
		font-size: 16px;
	}
}


.hmb-select {
	background: #f4f4f4;
	border: 1px solid #ddd;
	border-radius: 6px;
	padding: 9px 10px;
	font-size: 0.82rem;
	color: #222;
	width: 100%;
	max-width: 100%;
	text-align: center;
	text-align-last: center;
	min-height: 44px;
	box-sizing: border-box;
	-webkit-appearance: none;
}

.hmb-btn {
	width: 100%;
	padding: 13px;
	background: #bba262;
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	cursor: pointer;
	margin-top: 2px;
	transition: background 0.2s;
}

.hmb-btn:hover { background: #a0894a; }
.hmb-btn:disabled { opacity: 0.6; cursor: not-allowed; }

.hmb-alert {
	margin-top: 8px;
	padding: 8px 12px;
	background: #fdecea;
	border-radius: 6px;
	color: #c0392b;
	font-size: 0.78rem;
}

/* ── Trust Section — full override ──────────────────────── */
.trust-section {
	padding: 60px 0 !important;
}

/* Reset all conflicting trust grid/card styles */
.trust-section .trust-logos {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 0 !important;
	flex-wrap: wrap !important;
	grid-template-columns: unset !important;
	margin-top: 40px !important;
}

.trust-section .trust-logo-item {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 20px 48px !important;
	min-height: unset !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	border-right: 1px solid rgba(187,162,98,0.25) !important;
	opacity: 0.8;
	transition: opacity 0.3s ease, transform 0.3s ease;
	filter: grayscale(20%);
}

.trust-section .trust-logo-item:last-child {
	border-right: none !important;
}

.trust-section .trust-logo-item:hover {
	opacity: 1 !important;
	transform: scale(1.06) !important;
	filter: grayscale(0%) !important;
}

.trust-section .trust-logo-icon {
	height: 80px !important;
	width: auto !important;
	max-width: 180px !important;
	object-fit: contain !important;
	display: block !important;
}

@media (max-width: 767px) {
	.trust-section .trust-logos {
		gap: 0 !important;
		flex-wrap: nowrap !important;
	}
	.trust-section .trust-logo-item {
		padding: 16px 12px !important;
		border-right: 1px solid rgba(187,162,98,0.2) !important;
		border-bottom: none !important;
		width: auto !important;
		flex: 1 !important;
		justify-content: center !important;
	}
	.trust-section .trust-logo-item:last-child { border-right: none !important; }
	.trust-section .trust-logo-icon { height: 36px !important; }
}

/* ── Trust Section — title override ─────────────────────── */
.trust-section-title {
	font-size: clamp(1.3rem, 2.5vw, 1.8rem) !important;
}

/* ── Trust Pillars ───────────────────────────────────────── */
.trust-pillars {
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-wrap: wrap;
	margin-top: 40px;
}

.trust-pillar {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 24px 40px;
	border-right: 1px solid rgba(187,162,98,0.22);
	flex: 1;
	min-width: 200px;
	transition: background 0.25s ease;
}

.trust-pillar:last-child {
	border-right: none;
}

.trust-pillar:hover {
	background: rgba(187,162,98,0.05);
	border-radius: 4px;
}

.trust-pillar-icon {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: rgba(187,162,98,0.12);
	border: 1px solid rgba(187,162,98,0.3);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--gz-accent);
	font-size: 1.1rem;
	flex-shrink: 0;
	transition: background 0.25s ease, transform 0.25s ease;
}

.trust-pillar:hover .trust-pillar-icon {
	background: rgba(187,162,98,0.22);
	transform: scale(1.08);
}

.trust-pillar-body {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.trust-pillar-body strong {
	font-size: 0.87rem;
	font-weight: 700;
	color: var(--gz-text-dark);
	font-family: var(--font-headings);
	letter-spacing: 0.02em;
}

.trust-pillar-body span {
	font-size: 0.78rem;
	color: var(--gz-text-medium);
}

@media (max-width: 991px) {
	.trust-pillar {
		padding: 20px 28px;
	}
}

@media (max-width: 767px) {
	.trust-pillars {
		flex-wrap: wrap;
	}
	.trust-pillar {
		width: 50%;
		flex: 0 0 50%;
		min-width: unset;
		padding: 18px 20px;
		border-right: none !important;
		border-bottom: 1px solid rgba(187,162,98,0.18);
	}
	.trust-pillar:nth-child(odd) {
		border-right: 1px solid rgba(187,162,98,0.18) !important;
	}
	.trust-pillar:nth-child(3),
	.trust-pillar:nth-child(4) {
		border-bottom: none;
	}
}

/* ── Blogs & Experiences Carousels ──────────────────────── */
.blogs-home-owl .owl-nav,
.experiences-owl .owl-nav {
	display: none !important;
}

.blogs-home-owl,
.experiences-owl {
	position: relative;
}

/* ── Testimonials refinement ─────────────────────────────── */
.testimonial-section {
	padding: 70px 0 50px !important;
}

.ts-item p {
	font-size: clamp(0.92rem, 1.4vw, 1rem) !important;
	line-height: 1.75 !important;
	margin-bottom: 24px !important;
}

.testimonial-slider .ts-item .ti-author {
	margin-bottom: 20px !important;
}

@media (max-width: 767px) {
	.testimonial-section { padding: 40px 0 30px !important; }
}

/* ============================================================
   FULL SITE MOBILE RESPONSIVE — FINAL PASS
   ============================================================ */

/* ── Page Hero (Contact, About, static pages) ────────────── */
@media (max-width: 767px) {
	.page-hero-title { font-size: clamp(1.8rem, 8vw, 2.6rem) !important; letter-spacing: 1px; }
	.page-hero-label { font-size: 0.68rem !important; letter-spacing: 2px; }
	.page-hero-divider { margin: 12px auto !important; }
}

/* ── Destination Detail page ─────────────────────────────── */
.destination-details-section { padding: 60px 0; }

@media (max-width: 767px) {
	.destination-details-section { padding: 28px 0 50px !important; }
	.destination-featured-image img { height: 220px !important; }
	.destination-description h2 { font-size: 1.25rem !important; }
	.dest-highlights h3 { font-size: 1.1rem !important; }
	.destination-back-link { font-size: 13px; }
	.destination-details-section .row.mb-5 { margin-bottom: 1.25rem !important; }
	.destination-details-section .row.mb-4 { margin-bottom: 0.75rem !important; }
}

/* ── dest-highlight-grid: 1 col on mobile ────────────────── */
@media (max-width: 575px) {
	.dest-highlight-grid {
		grid-template-columns: 1fr !important;
		gap: 14px;
	}
}

/* ── Destination CTA card (sidebar on mobile) ────────────── */
@media (max-width: 991px) {
	.destination-cta { margin-top: 24px; }
}

/* ── Contact page ────────────────────────────────────────── */
@media (max-width: 767px) {
	.contact-info-card { padding: 0 20px !important; border-right: none !important; border-bottom: 1px solid rgba(0,0,0,0.06); padding-bottom: 20px !important; margin-bottom: 4px; }
	.contact-info-card:last-child { border-bottom: none !important; }
	.contact-form-only { padding: 40px 16px !important; }
	.contact-split__form-title { font-size: 1.3rem !important; }
}

/* ── Booking page ────────────────────────────────────────── */
.booking-container {
	padding-top: 40px;
	padding-bottom: 60px;
}

.booking-summary-card {
	position: sticky;
	top: 100px;
}

@media (max-width: 991px) {
	.booking-container { padding-top: 24px; padding-bottom: 40px; }
	.booking-summary-card { position: static !important; }
}

@media (max-width: 767px) {
	.booking-container { padding-top: 16px; padding-bottom: 32px; }
	.booking-container .card.p-4 { padding: 20px 16px !important; }
	.booking-container h3 { font-size: 1.2rem !important; }
	.booking-btn { font-size: 14px !important; padding: 12px !important; }
}

/* ── About page ──────────────────────────────────────────── */
@media (max-width: 767px) {
	.about-section .col-lg-6:first-child { margin-bottom: 16px; }
	.about-section .about-img { max-height: 280px; object-fit: cover; width: 100%; }
	.heading-accent { font-size: 1.3rem !important; }
	.sustainability-section p { font-size: 0.92rem !important; }
}

/* ── Experiences section cards on mobile ─────────────────── */
@media (max-width: 767px) {
	.experiences-section .destination-card { height: 300px !important; }
	.experiences-section.spad { padding-top: 50px !important; padding-bottom: 50px !important; }
}

/* ── Order Confirmation ──────────────────────────────────── */
@media (max-width: 767px) {
	.order-confirmation h1 { font-size: 1.5rem !important; }
}

/* ── Villas Detail — responsive ──────────────────────────── */
@media (max-width: 991px) {
	.room-details-section .row { flex-direction: column; }
}

/* ── General: prevent horizontal scroll ─────────────────── */
html, body { overflow-x: hidden; max-width: 100vw; }

/* ── Fix inline-style font-size 18px paragraphs ─────────── */
@media (max-width: 767px) {
	[style*="font-size: 18px"] { font-size: 14px !important; }
	[style*="font-size:18px"]  { font-size: 14px !important; }
}

/* ── Contact Page — Mobile ───────────────────────────────── */
@media (max-width: 767px) {
	/* Hero */
	.hero-section.hero-static { height: 45vh !important; min-height: 220px !important; }
	.hero-section.hero-static .hero-content { padding-top: 70px; }
	.page-hero-title { font-size: 2rem !important; }

	/* Info strip */
	.contact-info-strip { padding: 36px 0 !important; }
	.contact-info-cards { flex-direction: column !important; gap: 28px !important; }
	.contact-info-card { padding: 0 20px !important; border-right: none !important; }
	.contact-info-card__icon { width: 44px !important; height: 44px !important; font-size: 1rem !important; margin-bottom: 12px !important; }
	.contact-info-card__value { font-size: 0.9rem !important; }

	/* Form area */
	.contact-form-only { padding: 40px 16px !important; }
	.contact-split__form-title { font-size: 1.4rem !important; }
	.contact-split__form-sub { font-size: 0.88rem !important; }
	.cform-row { grid-template-columns: 1fr !important; gap: 0 !important; }
	.cform-btn { padding: 16px 24px !important; font-size: 0.78rem !important; }
	.cform-textarea { height: 80px !important; }
}

@media (min-width: 768px) and (max-width: 991px) {
	.hero-section.hero-static { height: 50vh !important; min-height: 280px !important; }
	.hero-section.hero-static .hero-content { padding-top: 80px; }
	.contact-info-strip { padding: 48px 0 !important; }
	.contact-form-only { padding: 60px 24px !important; }
	.cform-row { grid-template-columns: 1fr !important; gap: 0 !important; }
}

/* ============================================================
   MOBILE POLISH — FINAL PASS
   ============================================================ */

/* ── Booking Form padding on mobile ─────────────────────── */
@media (max-width: 767px) {
	.booking-form {
		padding: 24px 16px 28px !important;
	}
	.booking-form h3,
	.booking-form h4 {
		font-size: 1.15rem !important;
		margin-bottom: 20px !important;
	}
	.booking-form form .check-date input,
	.booking-form form .select-option .nice-select {
		height: 44px !important;
		line-height: 44px !important;
	}
}

/* ── VillasList — slider dots on mobile ─────────────────── */
@media (max-width: 767px) {
	.villas-owl.owl-carousel .owl-dots {
		margin-top: 16px !important;
	}
	.hp-room-items {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* ── Villa Detail — booking card sidebar ────────────────── */
@media (max-width: 575px) {
	.booking-form { padding: 20px 12px 24px !important; }
	.booking-form form .check-date input { font-size: 14px !important; }
}

/* ── Offcanvas width on very small screens ──────────────── */
@media (max-width: 400px) {
	.offcanvas-menu-wrapper { width: 280px !important; left: -280px !important; }
}

/* ── WelcomeSection image caption on mobile ─────────────── */
@media (max-width: 767px) {
	.welcome-section__image-caption { padding: 12px 16px !important; }
	.welcome-section__title { font-size: 1.5rem !important; }
	.welcome-section__text p { font-size: 0.92rem !important; }
}

/* ── DestinationSection cards on mobile ─────────────────── */
@media (max-width: 575px) {
	.destination-card { height: 240px !important; }
	.destination-card .dc-text h3 { font-size: 1rem !important; }
}

/* ── Testimonials on mobile ─────────────────────────────── */
@media (max-width: 575px) {
	.ts-item { padding: 24px 16px !important; }
	.ts-item p { font-size: 0.88rem !important; }
}

/* ── Section titles on very small screens ───────────────── */
@media (max-width: 400px) {
	.gz-section-title { font-size: 1.4rem !important; }
	.gz-section-label { font-size: 0.65rem !important; }
	h2 { font-size: 1.35rem !important; }
}

/* ── Villas page (full list) ────────────────────────────── */
@media (max-width: 767px) {
	.hp-room-section.spad { padding-top: 30px !important; padding-bottom: 40px !important; }
}

.hmb-title {
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 1.05rem;
	color: #2c1a0e;
	margin: 0 0 14px;
	font-weight: 600;
	text-align: center;
}

/* ── Newsletter: center text on mobile ──────────────────── */
@media (max-width: 767px) {
	.newsletter-inner .col-md-6:first-child {
		text-align: center;
	}
}

/* ── BookingCard sidebar: compact padding on mobile ─────── */
@media (max-width: 575px) {
	.booking-form {
		padding: 24px 16px !important;
	}
}

/* ── Owl carousel arrows: smaller on very small screens ─── */
@media (max-width: 375px) {
	.villas-owl .owl-nav button {
		width: 36px !important;
		height: 36px !important;
		font-size: 18px !important;
	}
	.villas-owl .owl-nav .owl-prev { margin-left: 4px !important; }
	.villas-owl .owl-nav .owl-next { margin-right: 4px !important; }
}