/* Homepage specific styles */
 .hero-home {
 height: 90vh;
 }
 
 .hero-home .hero-image {
 animation: zoomIn 20s ease infinite alternate;
 }
 
 @keyframes zoomIn {
 from { transform: scale(1); }
 to { transform: scale(1.1); }
 }
 
 .booking-form {
 position: relative;
 z-index: 20;
 max-width: 1400px;
 margin: -5rem auto 0;
 padding: 0 2rem;
 }
 
 .booking-card {
 background: white;
 padding: 2.5rem;
 border-radius: 4px;
 box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
 display: grid;
 grid-template-columns: 1fr 1fr 1fr 1fr auto;
 gap: 1.5rem;
 align-items: end;
 }
 
 .form-group {
 display: flex;
 flex-direction: column;
 }
 
 .form-group label {
 font-family: 'Montserrat', sans-serif;
 font-size: 0.75rem;
 font-weight: 500;
 text-transform: uppercase;
 letter-spacing: 1px;
 color: var(--warm-gray);
 margin-bottom: 0.5rem;
 }
 
 .form-group input,
 .form-group select {
 padding: 0.9rem;
 border: 1px solid var(--light-gray);
 border-radius: 2px;
 font-family: 'Lora', serif;
 font-size: 1rem;
 color: var(--deep-blue);
 transition: all 0.3s ease;
 }
 
 .form-group input:focus,
 .form-group select:focus {
 outline: none;
 border-color: var(--ocean-blue);
 box-shadow: 0 0 0 3px rgba(44, 95, 124, 0.1);
 }
 
 .btn-search {
 background: var(--gold);
 color: white;
 padding: 0.9rem 2rem;
 border: none;
 border-radius: 2px;
 font-family: 'Montserrat', sans-serif;
 font-size: 0.85rem;
 font-weight: 600;
 text-transform: uppercase;
 letter-spacing: 1px;
 cursor: pointer;
 transition: all 0.3s ease;
 }
 
 .btn-search:hover {
 background: #B89558;
 transform: translateY(-2px);
 box-shadow: 0 5px 20px rgba(201, 165, 104, 0.4);
 }
 
 .stats-section {
 background: var(--sand);
 border-top: 1px solid var(--light-gray);
 border-bottom: 1px solid var(--light-gray);
 padding: 3rem 2rem;
 }
 
 .stats-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
 gap: 3rem;
 text-align: center;
 }
 
 .stat-number {
 font-family: 'Playfair Display', serif;
 font-size: 3.5rem;
 font-weight: 400;
 color: var(--deep-blue);
 margin-bottom: 0.5rem;
 }
 
 .stat-label {
 font-family: 'Montserrat', sans-serif;
 font-size: 0.85rem;
 font-weight: 500;
 text-transform: uppercase;
 letter-spacing: 2px;
 color: var(--warm-gray);
 }
 
 .rooms-grid {
 display: grid;
 grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
 gap: 2.5rem;
 margin-bottom: 4rem;
 }
 
 .room-card {
 background: white;
 border-radius: 4px;
 overflow: hidden;
 transition: all 0.4s ease;
 box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
 }
 
 .room-card:hover {
 transform: translateY(-10px);
 box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
 }
 
 .room-image-container {
 position: relative;
 height: 280px;
 overflow: hidden;
 }
 
 .room-image {
 width: 100%;
 height: 100%;
 object-fit: cover;
 transition: transform 0.6s ease;
 }
 
 .room-card:hover .room-image {
 transform: scale(1.1);
 }
 
 .room-badge {
 position: absolute;
 top: 1rem;
 right: 1rem;
 background: rgba(255, 255, 255, 0.95);
 padding: 0.5rem 1rem;
 font-family: 'Montserrat', sans-serif;
 font-size: 0.7rem;
 font-weight: 600;
 text-transform: uppercase;
 letter-spacing: 1px;
 color: var(--deep-blue);
 }
 
 .room-content {
 padding: 2rem;
 }
 
 .room-type {
 font-family: 'Montserrat', sans-serif;
 font-size: 0.7rem;
 font-weight: 500;
 text-transform: uppercase;
 letter-spacing: 2px;
 color: var(--gold);
 margin-bottom: 0.75rem;
 }
 
 .room-title {
 font-family: 'Playfair Display', serif;
 font-size: 1.4rem;
 font-weight: 500;
 color: var(--deep-blue);
 margin-bottom: 1.5rem;
 min-height: 3.5rem;
 line-height: 1.4;
 }
 
 .room-info {
 display: flex;
 gap: 1.5rem;
 margin-bottom: 1.5rem;
 font-size: 0.9rem;
 color: var(--warm-gray);
 }
 
 .room-amenities {
 display: flex;
 flex-wrap: wrap;
 gap: 0.5rem;
 margin-bottom: 1.5rem;
 font-size: 0.85rem;
 color: var(--warm-gray);
 }
 
 .amenity-dot {
 color: var(--light-gray);
 }
 
 .services-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
 gap: 3rem;
 }
 
 .service-item {
 text-align: center;
 }
 
 .service-icon {
 width: 80px;
 height: 80px;
 margin: 0 auto 1.5rem;
 display: flex;
 align-items: center;
 justify-content: center;
 color: var(--ocean-blue);
 font-size: 2rem;
 }
 
 .service-title {
 font-family: 'Playfair Display', serif;
 font-size: 1.3rem;
 font-weight: 500;
 color: var(--deep-blue);
 margin-bottom: 1rem;
 }
 
 .service-description {
 font-size: 0.95rem;
 color: var(--warm-gray);
 line-height: 1.7;
 }
 
 @media (max-width: 768px) {
 .hero-home { height: 70vh; }
 .booking-card { grid-template-columns: 1fr; padding: 1.5rem; }
 .rooms-grid { grid-template-columns: 1fr; }
 }
 
