.hero {
    position: relative;
}

.hero .text-white {
    z-index: 10;
}

.hero-cta-btn {
    background-color: #ffffff !important;
    color: #ea580c !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    transform: translateY(0) scale(1) !important;
    display: inline-block !important;
}

.hero-cta-btn:hover {
    transform: translateY(-3px) scale(1.05) !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.35) !important;
    background-color: #f3f4f6 !important;
}

.service-card {
    cursor: pointer;
}

.service-card:hover h3 {
    color: #f97316;
}

.services a.bg-orange-500 {
    background-color: #f97316 !important;
    color: #ffffff !important;
}

.services a.bg-orange-500:hover {
    background-color: #ea580c !important;
}

.features .grid {
    max-width: 1200px;
    margin: 0 auto;
}

.features .bg-white {
    transition: transform 0.3s ease;
}

.features .bg-white:hover {
    transform: translateY(-5px);
}

h1 { font-size: 2.5rem; font-weight: bold; }
h2 { font-size: 1.875rem; font-weight: bold; }
h3 { font-size: 1.5rem; font-weight: bold; }
p { font-size: 1rem; }

.booking-input {
    outline: none;
}

.booking-input:focus {
    border-color: #f97316 !important;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.1) !important;
}

.booking-submit-btn {
    cursor: pointer;
    background-color: #f97316 !important;
    color: #ffffff !important;
    border: none !important;
}

.booking-submit-btn:hover {
    background-color: #ea580c !important;
}

.booking-submit-btn:active {
    transform: scale(0.98) !important;
}

#formMessage {
    min-height: 24px;
}

#formMessage.success {
    color: #10b981;
}

#formMessage.error {
    color: #ef4444;
}

@media (max-width: 768px) {
    .hero { height: 50vh; }
    .features .grid { grid-template-columns: 1fr; }
    h1 { font-size: 2rem; }
    h2 { font-size: 1.5rem; }
    h3 { font-size: 1.25rem; }
    .booking .container { padding: 0 1rem; }
    .booking .bg-white { padding: 1.5rem !important; }
}
