/* =========================================================
   LIGHTWEIGHT MOBILE UI (MAX-WIDTH: 768px)
   ========================================================= */

/* Hide topbar text to save space, show only button & icons */
.top-bar-left span { display: none; }
.top-bar { padding: 8px 15px; }

.carousel-track, .carousel-track.reverse {
    animation: none !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; 
    scroll-snap-type: x mandatory; padding-bottom: 20px; padding-left: 5%; gap: 15px; width: 100%;
}
.carousel-track::-webkit-scrollbar { height: 6px; }
.carousel-track::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 10px; }
.carousel-track::-webkit-scrollbar-thumb { background: var(--primary-color); border-radius: 10px; }

.facility-card, .activity-card { min-width: 260px !important; scroll-snap-align: center; }
.facility-card img, .activity-card img { height: 160px !important; }
.facility-card h3 { font-size: 1.1rem !important; padding: 12px 10px !important; }
.topper-card { min-width: 220px !important; scroll-snap-align: center; }
.topper-card img { height: 160px !important; }
.topper-info { padding: 15px 10px !important; }
.testimonial-card { width: 320px !important; min-width: 320px !important; padding: 30px 20px !important; scroll-snap-align: center; }

.section-title { font-size: 2.2rem; }
.hero-content h1 { font-size: 2.2rem; }
.btn { width: 100%; justify-content: center; }

/* Forms Structure fixes for Mobile */
.form-row { grid-template-columns: 1fr !important; gap: 15px; margin-bottom: 15px;}
.form-section-card { padding: 25px 15px; }
.pill-group { gap: 8px; }
.pill-label { padding: 10px 18px; font-size: 0.9rem; }
.file-upload-box { padding: 30px 15px; }

.custom-shape-divider-bottom svg { height: 40px; }
.vm-card { padding: 30px 20px; }
.whatsapp-float { width: 50px; height: 50px; bottom: 20px; right: 20px; font-size: 25px; }
.contact-map { min-height: 300px; }
.privacy-content .text-container { padding: 30px 20px; }
.gallery-grid { grid-template-columns: 1fr; }
.page-header { padding: 160px 5% 60px; }
.page-header h1 { font-size: 2.8rem; }