/*
 * Sumatidham Godha Estate Home — responsive rules.
 * Breakpoints: Tablet <= 1024px, Mobile <= 767px, Small mobile <= 480px.
 * All scoped under .sge-home; no horizontal overflow is introduced.
 */

/* ============ TABLET (<=1024px) ============ */
@media (max-width: 1024px) {
	.sge-home { --sge-section-padding: 56px; }

	.sge-hero-heading { font-size: 36px; }
	.sge-hero { min-height: 460px; }

	.sge-cat-grid { grid-template-columns: repeat(2, 1fr) !important; }

	.sge-cat-side-grid { grid-template-columns: 1fr; gap: 24px; }
	.sge-cat-side-content { text-align: left; }

	.sge-growth-grid { grid-template-columns: 1fr 1fr; }
	.sge-growth-col-image { min-height: 260px; }

	.sge-tour-split-grid { grid-template-columns: 1fr !important; }

	.sge-spotlight-grid, .sge-spot-image-left .sge-spotlight-grid { grid-template-columns: 1fr; direction: ltr; }
	.sge-spotlight-image { order: -1; }

	.sge-finder-bar { flex-wrap: wrap; row-gap: 20px; }
	.sge-finder-intro { flex: 1 1 100%; }
	.sge-finder-group { flex: 1 1 45%; }
	.sge-finder-submit-btn { flex: 1 1 100%; justify-content: center; }

	.sge-commitment-grid { grid-template-columns: 1fr; }

	.sge-calc-grid { grid-template-columns: 1fr; }

	.sge-amenities-grid-outer { grid-template-columns: 1fr !important; }
	.sge-amenities-side { min-height: 360px; }
	.sge-amenities-side-overlay-text { max-width: 70%; }

	.sge-testimonials-grid { grid-template-columns: 1fr; }
	.sge-testi-slider-outer { padding: 0 44px; }

	.sge-footer-grid { grid-template-columns: 1fr 1fr 1fr; }

	.sge-stats-bar { justify-content: flex-start; }
	.sge-stats-bar li { flex: 0 0 calc(33.333% - 16px); min-width: 0; }
}

/* ============ MOBILE (<=767px) ============ */
@media (max-width: 767px) {
	.sge-container { padding: 0 18px; }
	.sge-home { --sge-section-padding: 44px; }

	.sge-amenities-grid-outer { grid-template-columns: 1fr !important; }

	.sge-cat-desktop-only { display: none; }
	.sge-cat-mobile-only { display: block; }

	.sge-logo-divider { height: 24px; margin: 0 10px; }
	.sge-logo-img, .sge-logo-img-2 { max-height: 34px; }
	.sge-logo-text small { display: none; }

	/* Header: real hamburger menu */
	.sge-nav-wrap { display: none; }
	.sge-header-actions .sge-hamburger { display: inline-flex; }
	.sge-mobile-nav {
		display: block;
		position: fixed; top: 0; right: 0; bottom: 0; width: min(80vw, 320px);
		background-color: #fff; opacity: 1; box-shadow: -10px 0 30px rgba(0,0,0,.15);
		transform: translateX(100%); transition: transform .3s ease;
		z-index: 99999; overflow-y: auto; padding: 90px 24px 24px;
	}
	.sge-mobile-nav-close {
		position: absolute; top: 20px; right: 20px;
		width: 36px; height: 36px; border-radius: 50%;
		display: flex; align-items: center; justify-content: center;
		background-color: transparent; color: #122A4E; font-size: 18px;
		transition: background-color .2s ease, color .2s ease;
	}
	.sge-mobile-nav-close:hover { background-color: rgba(18,42,78,0.08); color: #C99A44; }
	.sge-mobile-nav.is-open { transform: translateX(0); }
	.sge-mobile-nav > ul { display: flex; flex-direction: column; gap: 4px; }
	.sge-mobile-nav a { display: block; padding: 12px 4px; font-weight: 600; color: #122A4E; border-bottom: 1px solid #E7E9EE; }
	.sge-mobile-sub { padding-left: 12px; }
	.sge-mobile-sub a { font-weight: 400; font-size: 14px; border-bottom: none; padding: 8px 4px; color: #4A5568; }
	body.sge-nav-open { overflow: hidden; }
	.sge-mobile-nav-backdrop { position: fixed; inset: 0; background-color: rgba(0,0,0,.4); z-index: 99990; display: none; }
	body.sge-nav-open .sge-mobile-nav-backdrop { display: block; }

	.sge-hero { padding: 32px 0; min-height: 420px; }
	.sge-hero-heading { font-size: 30px; }
	.sge-hero-buttons { flex-direction: column; }
	.sge-hero-buttons .sge-btn { width: 100%; }
	.sge-hero-content { max-width: 100% !important; }
	.sge-hero-bg .sge-hide-on-mobile { display: none; }
	.sge-hero-bg .sge-show-on-mobile { display: block; }
	.sge-hero-fade { background: linear-gradient( to bottom, var(--sge-hero-fade-color) 0%, var(--sge-hero-fade-color) 60%, transparent 100% ); }
	.sge-trust-features { flex-direction: column; gap: 12px; }

	.sge-stats-section { margin-top: -32px; }
	.sge-stats-bar { flex-direction: column; padding: 20px; }
	.sge-stats-bar li { width: 100%; }
	.sge-stats-divider-yes .sge-stats-bar li:not(:first-child)::before {
		left: 0; top: 0; transform: none;
		width: 100%; height: var(--sge-stats-divider-width, 1px);
	}
	.sge-stats-divider-yes .sge-stats-bar li:not(:first-child) { padding-top: calc(var(--sge-stats-item-gap, 16px) / 2 + 4px); }

	.sge-section-head { flex-direction: column; align-items: flex-start; }

	.sge-cat-grid { grid-template-columns: 1fr !important; }
	.sge-cat-scroll-track .sge-cat-card { flex-basis: 220px !important; width: 220px !important; }
	.sge-cat-grid.sge-mobile-scroll {
		display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory;
		gap: 16px; padding-bottom: 8px; -webkit-overflow-scrolling: touch;
	}
	.sge-cat-grid.sge-mobile-scroll .sge-cat-card { min-width: 78vw; scroll-snap-align: start; }

	.sge-growth-left { padding: 28px; }
	.sge-growth-right-content { padding: 28px; }
	.sge-growth-grid { grid-template-columns: 1fr; }
	.sge-growth-col { padding: 28px 20px; }
	.sge-growth-col-image { min-height: 220px; }
	.sge-growth-image-fade { background: linear-gradient(to bottom, #ffffff 0%, #ffffff 10%, transparent 45%); }

	.sge-feature-grid { grid-template-columns: 1fr; }
	.sge-spot-price-row { flex-direction: column; align-items: flex-start; }
	.sge-spot-price-row .sge-btn { width: 100%; text-align: center; justify-content: center; }

	.sge-finder-options-icon { flex-wrap: wrap; }
	.sge-finder-pill-icon { width: 74px; height: 74px; }
	.sge-finder-group { flex: 1 1 100%; }

	.sge-timeline { flex-direction: column; align-items: flex-start; gap: 28px; }
	.sge-timeline::before { top: 0; bottom: 0; left: 10px; right: auto; width: 2px; height: auto; }
	.sge-timeline-node { flex-direction: row; align-items: flex-start; text-align: left; gap: 14px; }
	.sge-timeline-item { width: 100%; }
	.sge-timeline-desc { max-width: none; }

	.sge-amenities-side { min-height: 280px; }
	.sge-amenities-side-overlay-text { max-width: 80%; top: 20px; left: 20px; }
	.sge-amenities-script { font-size: 24px; }

	.sge-calc-inputs, .sge-calc-output { padding: 20px; }

	.sge-testi-arrow { display: none; }
	.sge-testi-slider-outer { padding: 0; }
	.sge-cat-arrow { display: none; }

	.sge-footer-grid { grid-template-columns: 1fr 1fr; }
	.sge-footer-about { grid-column: 1 / -1; }

	.sge-ba-slider { aspect-ratio: 4/5; }
	.sge-tour-inner { min-height: 320px; }
	.sge-tour-testi-outer .sge-testi-arrow { display: none; }
	.sge-tour-controls { bottom: 16px; right: 16px; }
	.sge-tour-split-grid { grid-template-columns: 1fr !important; }
	.sge-tour-360-badge { width: 76px; height: 76px; right: 20px; top: 30%; transform: translate(0,-50%); }
}

/* ============ SMALL MOBILE (<=480px) ============ */
@media (max-width: 480px) {
	.sge-hero-heading { font-size: 26px; }
	.sge-footer-grid { grid-template-columns: 1fr; }
	.sge-footer-divider-yes .sge-footer-grid > * { padding-left: 0; padding-top: 24px; border-left: none; border-top: var(--sge-footer-divider-width) solid var(--sge-footer-divider-color); }
	.sge-footer-divider-yes .sge-footer-grid > *:first-child { padding-top: 0; border-top: none; }
	.sge-stat-number { font-size: 18px; }
	.sge-calc-graph { gap: 12px; }
	.sge-calc-bar { width: 24px; }
}

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
	.sge-home * { animation: none !important; transition: none !important; }
}

/* ==================================================================
 * FOUNDER SECTION responsive rules
 * ================================================================== */
@media (max-width: 1024px) {
	.sge-founder__grid { grid-template-columns: 1fr !important; gap: 56px; }
	.sge-founder__profiles { max-width: 480px; margin: 0 auto; }
	.sge-founder__heading { font-size: 34px; }
	.sge-founder__desc { max-width: 100%; }
}

@media (max-width: 767px) {
	.sge-founder__grid { grid-template-columns: 1fr !important; }
	.sge-founder__inner { padding: 40px 16px; }
	.sge-founder__grid { gap: 32px; }
	.sge-founder__heading { font-size: 28px; }
	.sge-founder__image-wrap { height: 280px; }
	.sge-founder__button { width: 100%; justify-content: center; }
}

/* Mobile: clean stacked founder cards, overlap disabled (opt-out via
 * "Stack Cards on Mobile" content control, default on). !important is
 * required here because per-card position/offset is set via inline
 * style from Elementor controls, and only an !important author rule
 * can reliably override inline styles. */
.sge-founder-stack-mobile .sge-founder__profiles {
	display: block;
}
@media (max-width: 767px) {
	.sge-founder-stack-mobile .sge-founder__profile {
		position: static !important;
		top: auto !important;
		left: auto !important;
		width: 100% !important;
		margin-bottom: 20px;
	}
	.sge-founder-stack-mobile .sge-founder__profile:last-child { margin-bottom: 0; }
}
