/* ============================================================
   PRANAV GLOBAL VENTURES — Main Stylesheet
   style.css
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

/* ── CSS VARIABLES ── */
:root {
	--primary: #FF5A3C;
	/* brand orange-red */
	--primary-dark: #FF5A3C;
	/* hover state */
	--primary-light: #FDF0EC;
	/* soft tint for backgrounds */
	--primary-border: #F5C4B3;
	/* light border using brand color */
	--dark: #1A1A1A;
	--footer-bg: #423E3C;
	--white: #FFFFFF;
	--light-bg: #FAFAFA;
	--text: #000000;
	--text-muted: #4B4B4B;
	--border: #E8E8E8;
	--shadow: rgba(0, 0, 0, 0.08);
	--font-heading: "Inter", sans-serif;
	--font-body: "Inter", sans-serif;
	--container: 1200px;
	--radius: 10px;
	--radius-lg: 12px;
	--transition: 0.25s ease;
}

@font-face {
	font-family: 'Nura';
	src: url('../font/nura.ttf') format('truetype');
	font-weight: 100 900;
	font-display: swap;
}

/* ── RESET & BASE ── */
*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: var(--font-body);
	color: var(--text);
	background: var(--white);
	line-height: 1.6;
	font-size: 15px;
}

img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

a {
	text-decoration: none;
	color: inherit;
}

button {
	cursor: pointer;
	border: none;
	background: none;
	font-family: inherit;
}

ul {
	list-style: none;
}

/* ── CONTAINER ── */
.container {
	width: 100%;
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 25px;
}

/* ── SHARED BUTTON ── */
.btn {
	display: inline-block;
	padding: 12px 28px;
	padding-top: 10px;
	border-radius: var(--radius);
	font-family: var(--font-heading);
	font-weight: 400;
	font-size: 16px;
	transition: background var(--transition), transform var(--transition);
}

.btn-primary {
	background: var(--primary);
	color: var(--white);
	min-width: 140px;
	text-align: center;
	line-height: 25px;
}

.btn-primary:hover {
	background: var(--primary-dark);
	transform: translateY(-1px);
}

/* ── SECTION TITLE ── */
.section-title {
	font-family: var(--font-heading);
	font-size: 40px;
	font-weight: 400;
	color: var(--dark);
	margin-bottom: 5px;
}

.text-primary {
	color: var(--primary);
}

.section-desc {
	color: var(--text-muted);
	font-size: 15px;
	margin-bottom: 40px;

}


/* ============================================================
   HEADER / NAVIGATION
   ============================================================ */
.header {
	position: sticky;
	top: 0;
	z-index: 999;
	background: var(--white);
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 0px;
}

/* Logo */
.logo {
	display: flex;
	align-items: center;
}

.header-inner .logo img {
	width: 190px;
}

.logo-icon {
	width: 36px;
	height: 36px;
	background: var(--primary);
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--white);
	font-size: 1rem;
}

.logo-text {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}

.logo-name {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 1rem;
	color: var(--dark);
	letter-spacing: 1px;
}

.logo-sub {
	font-size: 0.55rem;
	font-weight: 500;
	color: var(--text-muted);
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

/* White variant for footer */
.logo-white .logo-name {
	color: var(--white);
}

.logo-white .logo-sub {
	color: #aaaaaa;
}


/* ============================================================
   HERO / BANNER
   ============================================================ */
.banner-img {
	max-width: 1200px;
	margin: auto;
	padding: 0 25px;
}

.hero {
	position: relative;
	height: 470px;
	overflow: hidden;
	border-radius: 20px;
}

/* Background image */
.hero-bg {
	position: absolute;
	inset: 0;
}

/* Each slide image sits absolutely inside .hero-bg, hidden by default */
.hero-bg img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	opacity: 0;
	transition: opacity 1.2s ease;
}

/* Active slide fades in and plays a subtle Ken Burns zoom */
.hero-bg img.active {
	opacity: 1;
	animation: kenburns 7s ease-in-out forwards;
}

@keyframes kenburns {
	from {
		transform: scale(1);
	}

	to {
		transform: scale(1.07);
	}
}

/* Dark overlay */
.hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.45) 0%, rgb(27 27 27 / 76%) 100%);
}

/* Headline text */
.hero-content {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 0 24px;
}

.hero-content h1 {
	font-family: 'Nura';
	font-size: clamp(1.6rem, 4vw, 2.8rem);
	font-weight: 500;
	color: var(--white);
	line-height: 1.3;
	letter-spacing: 2px;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
	margin-top: -35px;
	animation: heroSlideUp 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.3s both;
}

@keyframes heroSlideUp {
	from {
		opacity: 0;
		transform: translateY(28px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}


/* ============================================================
   SCROLL ANIMATIONS — fade-up on enter
   JS adds .visible via IntersectionObserver
   ============================================================ */
.fade-up {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 0.55s ease, transform 0.55s ease;
}

.fade-up.visible {
	opacity: 1;
	transform: translateY(0);
}

.form-card-bg {
	display: flex;
	justify-content: center;
}


/* ============================================================
   CONTACT FORM SECTION
   ============================================================ */
.form-section {
	background: var(--white);
	padding-bottom: 60px;

}

/* White card with brand-tinted border, slight upward overlap from hero */
.form-card {
	background: #FFF1EE;
	border: 1.5px solid #A1A1A1;
	border-radius: var(--radius-lg);
	padding: 35px 40px 30px;
	margin-top: -80px;
	position: relative;
	z-index: 10;
	box-shadow: 0 4px 24px rgba(232, 68, 26, 0.08);
	width: 90%;
}

.form-card:hover {
	border: 1.5px solid var(--primary-border);
}

/* Two-column input row */
.form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 15px;
}

.form-group {
	display: flex;
	flex-direction: column;
}

.form-input {
	width: 100%;
	padding: 17px 18px;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	font-family: var(--font-body);
	font-size: 16px;
	color: var(--text);
	background: var(--white);
	transition: border-color var(--transition), box-shadow var(--transition);
	outline: none;
}

.form-input::placeholder {
	color: #83878d;
}

.form-input:focus {
	border-color: var(--primary);
	box-shadow: 0 0 0 3px rgba(232, 68, 26, 0.12);
}

.form-input.error {
	border-color: #e74c3c;
}

/* Validation error message */
.form-error {
	font-size: 0.75rem;
	color: #e74c3c;
	margin-top: 4px;
	min-height: 16px;
}

/* Centered Send button */
.form-submit {
	display: flex;
	justify-content: center;
	margin-top: 8px;
}

.btn-send {}


/* ============================================================
   SPACE AMENITIES — Horizontal Carousel
   ============================================================ */
.amenities-section {
	padding: 0;
	background: var(--white);
	padding-bottom: 60px;
}

/* Slider row: arrow | cards | arrow */
.amenities-slider-wrapper {
	display: flex;
	align-items: center;
	gap: 12px;
}

/* Circular arrow buttons */
.slider-arrow {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1.5px solid #777777;
	background: var(--white);
	color: #777777;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.8rem;
	position: relative;
	transition: border-color var(--transition), color var(--transition);
}

.slider-arrow:hover {
	border-color: var(--primary);
	color: var(--primary);
}

/* Overflow hidden track container */
.amenities-track-outer {
	flex: 1;
	overflow: hidden;
}

/* Scrollable inner track */
.amenities-track {
	display: flex;
	gap: 17px;
	transition: transform 0.35s ease;
	will-change: transform;
	/* margin-bottom: 10px; */
	padding-bottom: 10px;
	padding-top: 10px;
}

/* Individual amenity card */
.amenity-card {
	flex: 0 0 calc(25% - 13px);
	min-width: 150px;
	background: var(--white);
	border: 1.5px solid #777777;
	border-radius: var(--radius-lg);
	padding: 22px 16px 18px;
	text-align: center;
	transition: box-shadow var(--transition), border-color var(--transition);
}

.amenity-card:hover {
	box-shadow: 0 4px 16px var(--shadow);
	border-color: var(--primary-border);
}

/* Orange icon container */
.amenity-icon img {
	width: 80px;
}

.amenity-icon {
	display: flex;
	justify-content: center;
}

.amenity-card p {
	font-size: 15px;
	color: var(--text);
	line-height: 1.5;
	font-weight: 500;
	margin-top: 15px;
}


/* ============================================================
   GALLERY SPACE SECTION
   ============================================================ */
.gallery-section {
	padding: 0px 0 60px;
	background: var(--white);
}

/* Title + filter buttons on same row */
.gallery-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 20px;
}

.gallery-header .section-title {
	margin-bottom: 0;
}

/* Filter tab buttons */
.gallery-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.filter-btn {
	padding: 8px 18px;
	border-radius: 5px;
	font-size: 15px;
	font-weight: 500;
	font-family: var(--font-body);
	color: var(--text-muted);
	border: 1.5px solid #ff5a3c;
	background: var(--white);
	transition: all var(--transition);
}

.filter-btn:hover,
.filter-btn.active {
	background: var(--primary);
	color: var(--white);
	border-color: var(--primary);
}

/* Gallery grid — Z-pattern layout
   Row 1: [── 70% ──────────────][─ 30% ─]
   Row 2: [─ 30% ─][── 70% ──────────────]
   10-column base lets us express 70/30 exactly with integer spans.
*/
.gallery-grid {
	display: none;
	grid-template-columns: repeat(10, 1fr);
	gap: 13px;
}

.gallery-grid.active-grid {
	display: grid;
}

/* Smooth fade when content is replaced by the repeater */
#gallery-container {
	transition: opacity 0.2s ease;
}

#gallery-container.is-transitioning {
	opacity: 0;
}

/* Row 1 — left 70% — drives row 1 height via aspect-ratio */
.gal-1 {
	grid-column: 1 / 8;
	grid-row: 1;
	aspect-ratio: 16 / 8;
	border-radius: var(--radius);
	overflow: hidden;
}

/* Row 1 — right 30% */
.gal-2 {
	grid-column: 8 / 11;
	grid-row: 1;
	border-radius: var(--radius);
	overflow: hidden;
}

/* Row 2 — left 30% */
.gal-3 {
	grid-column: 1 / 4;
	grid-row: 2;
	border-radius: var(--radius);
	overflow: hidden;
}

/* Row 2 — right 70% — drives row 2 height via aspect-ratio */
.gal-4 {
	grid-column: 4 / 11;
	grid-row: 2;
	aspect-ratio: 16 / 9;
	border-radius: var(--radius);
	overflow: hidden;
}

/* Gallery image — zoom-in cursor + hover overlay */
.gallery-grid div {
	position: relative;
	overflow: hidden;
}

.gallery-grid div img {
	transition: transform 0.4s ease;
	cursor: zoom-in;
}

.gallery-grid div:hover img {
	transform: scale(1.05);
}

/* Subtle dark scrim + zoom icon on hover */
.gallery-grid div::after {
	content: '\f00e';
	/* fa-search-plus unicode */
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0);
	color: rgba(255, 255, 255, 0);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2rem;
	transition: background 0.3s ease, color 0.3s ease;
	pointer-events: none;
}

.gallery-grid div:hover::after {
	background: rgba(0, 0, 0, 0.30);
	color: rgba(255, 255, 255, 0.9);
}

/* Gallery navigation row (bottom-right) */
.gallery-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 14px;
}

.gal-nav-btn {
	font-size: 1.6rem;
	color: var(--text-muted);
	transition: color var(--transition);
	line-height: 1;
}

.gal-nav-btn:hover {
	color: var(--primary);
}

/* Page indicator between arrows  e.g. "1 / 2" */
.gallery-page-indicator {
	font-family: var(--font-body);
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--text-muted);
	min-width: 36px;
	text-align: center;
	user-select: none;
}


/* ============================================================
   LIGHTBOX / IMAGE ZOOM MODAL
   ============================================================ */

/* Full-screen dark overlay — hidden by default */
.lightbox-overlay {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.92);
	display: flex;
	align-items: center;
	justify-content: center;

	/* Hidden state */
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.28s ease, visibility 0.28s ease;
}

/* Visible state (added by JS) */
.lightbox-overlay.active {
	opacity: 1;
	visibility: visible;
}

/* Inner container — positions arrows & image */
.lightbox-inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 60px 80px 80px;
}

/* Image wrapper */
.lightbox-img-wrap {
	max-width: 90vw;
	max-height: 80vh;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* The zoomed image */
#lightboxImg {
	max-width: 90vw;
	max-height: 80vh;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 6px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
	transition: opacity 0.18s ease;
	display: block;
}

/* Close button — top-right corner */
.lightbox-close {
	position: absolute;
	top: 18px;
	right: 22px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	color: var(--white);
	font-size: 1.1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background var(--transition), transform var(--transition);
	z-index: 10;
}

.lightbox-close:hover {
	background: var(--primary);
	transform: rotate(90deg);
}

/* Left / Right arrow buttons */
.lightbox-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	color: var(--white);
	font-size: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background var(--transition), transform var(--transition);
	z-index: 10;
}

.lightbox-arrow:hover {
	background: var(--primary);
}

.lightbox-prev {
	left: 20px;
}

.lightbox-prev:hover {
	transform: translateY(-50%) scale(1.1);
}

.lightbox-next {
	right: 20px;
}

.lightbox-next:hover {
	transform: translateY(-50%) scale(1.1);
}

/* Footer bar: caption + counter */
.lightbox-footer {
	position: absolute;
	bottom: 20px;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 0 80px;
}

.lightbox-caption {
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.7);
	font-family: var(--font-body);
}

.lightbox-counter {
	font-size: 0.85rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.5);
	font-family: var(--font-body);
	background: rgba(255, 255, 255, 0.1);
	padding: 3px 12px;
	border-radius: 20px;
	white-space: nowrap;
}


/* ============================================================
   LOCATION / ADDRESS SECTION
   ============================================================ */
.location-section {
	padding: 50px 0 0;
	background: var(--white);
	padding-top: 0;
}

/* Map + features side by side */
.location-content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	align-items: stretch;
	min-height: 260px;
}

.location-map {
	border-radius: var(--radius);
	overflow: hidden;
	min-height: 375px;
}

/* 3 × 2 features grid */
.location-features {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 14px;
	align-content: center;
}

/* Each feature: icon + label */
.feature-item {

	background: var(--white);
	border: 1.5px solid #b4b4b4;
	border-radius: var(--radius-lg);
	padding: 22px 16px 18px;
	text-align: center;
	transition: box-shadow var(--transition), border-color var(--transition);
}

.feature-icon {
	display: flex;
	justify-content: center;
	margin-bottom: 15px;
}

.feature-icon img {
	width: 80px;
}

.feature-item span {
	font-size: 15px;
	color: var(--text);
	line-height: 1.5;
	font-weight: 500;
	margin-top: 15px;
}

/* Address bar at bottom */
.address-bar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: var(--white);
	border: 1.5px solid #b4b4b4;
	border-radius: var(--radius);
	padding: 20px 20px;
	margin-top: 30px;
	margin-bottom: 60px;
}

.address-bar i {
	color: var(--primary);
	font-size: 1rem;
	flex-shrink: 0;
}

.address-bar p {
	font-size: 20px;
	font-weight: 400;
	color: var(--dark);
	text-align: center;
}


/* ============================================================
   FOOTER
   ============================================================ */
.footer {
	background: var(--footer-bg);
	padding: 22px 0;
	margin-top: 0;
}

.footer-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
}

.footer-inner .logo {
	width: 190px;
}


/* Center column: policy links + copyright stacked */
.footer-links {
	text-align: center;
	display: flex;
	align-items: center;
}

.footer-policy {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.footer-policy a {
	font-size: 15px;
	color: #AAAAAA;
	transition: color var(--transition);
}

.footer-links .rights {
	color: #AAAAAA;
}

.footer-policy a:hover {
	color: var(--white);
}

.footer-policy .sep {
	color: #555;
	font-size: 0.75rem;
}

.footer-copy {
	font-size: 0.75rem;
	color: #777777;
}

/* Social icon buttons */
.footer-social {
	display: flex;
	gap: 8px;
}

.social-btn {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 1px solid var(--primary);
	background: #ffffff00;
	padding-top: 2px;
	color: var(--white);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.78rem;
	transition: background var(--transition), transform var(--transition);
}

.social-btn:hover {
	background: var(--primary-dark);
	transform: translateY(-2px);
}

.form-submit p{

}
.wpcf7-spinner{
	    display: none !important;
}
.form-group .wpcf7-not-valid-tip{
    font-size: 13px;
    margin-top: 5px;
}
.form-group .wpcf7-response-output{
	    text-align: center;
}
.form-submit .wpcf7-form-control{
border: 0;
    margin-top: 10px;
	cursor: pointer;
}
.subbanner-wrap{
  background: #423e3c;
    padding: 20px 15px;
}

.subbanner-wrap .text-center{
     text-align: center;
}
.subbanner-wrap .text-center h1{
	    color: #fff;
}
.coming_soon_text{
	    text-align: center;
		padding: 140px 0;
}
.coming_soon_text h1{
    margin-bottom: 10px;
}
.coming_soon_text .btn-primary{
    margin-top: 20px;
}
.coming_soon_text p{
  margin-top: 10px;
}
.subpage-wrap{
padding: 60px 0;
}

.subpage-wrap h1,h2,h3,h4,h5,h6{
	    font-weight: 400;
    margin-bottom: 5px;
}

.subpage-wrap .container p{
margin-bottom: 5px;
}

.subpage-wrap ul{
 list-style-type: disc;
  padding-left: 20px;
  margin: 10px 0;
}
#contact {
  scroll-margin-top: 200px;
}
 