:root {
    --beach-blue: #0099CC;
    --sunset-orange: #FF6600;
    --palm-green: #66BB66;
    --sandy-brown: #D2B48C;
    --light-tan: #F5F5DC;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: var(--light-tan);
}

/* Utility theme classes */
.beach-bg { background-color: var(--beach-blue); }
.sandy-bg { background-color: var(--sandy-brown); }
.sunset-text { color: var(--sunset-orange); }
.beach-text { color: var(--beach-blue); }
.palm-text { color: var(--palm-green); }
.bg-light-tan { background-color: var(--light-tan); }

/* Navigation */
.nav-link {
    color: #374151; /* gray-700 */
    transition: color 0.2s;
}
.nav-link:hover { color: var(--sunset-orange); }

.mobile-link {
    display: block;
    padding: 0.5rem 1rem;
    color: #374151;
}
.mobile-link:hover { background-color: #F3F4F6; /* gray-100 */ }

.dropdown-link {
    display: block;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    color: #374151;
}
.dropdown-link:hover { background-color: #F3F4F6; }

/* Wave Divider */
.wave-divider {
    position: relative;
    height: 40px;
    overflow: hidden;
}
.wave-divider::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 100%;
    background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 1200 120" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M0,0V46.29c47.79,22.2,103.59,32.17,158,28,70.36-5.37,136.33-33.31,206.8-37.5C438.64,32.43,512.34,53.67,583,72.05c69.27,18,138.3,24.88,209.4,13.08,36.15-6,69.85-17.84,104.45-29.34C989.49,25,1113-14.29,1200,52.47V0Z" fill="%230099CC" opacity=".25"/><path d="M0,0V15.81C13,36.92,27.64,56.86,47.69,72.05,99.41,111.27,165,111,224.58,91.58c31.15-10.15,60.09-26.07,89.67-39.8,40.92-19,84.73-46,130.83-49.67,36.26-2.85,70.9,9.42,98.6,31.56,31.77,25.39,62.32,62,103.63,73,40.44,10.79,81.35-6.69,119.13-24.28s75.16-39,116.92-43.05c59.73-5.85,113.28,22.88,168.9,38.84,30.2,8.66,59,6.17,87.09-7.5,22.43-10.89,48-26.93,60.65-49.24V0Z" fill="%230099CC" opacity=".5"/><path d="M0,0V5.63C149.93,59,314.09,71.32,475.83,42.57c43-7.64,84.23-20.12,127.61-26.46,59-8.63,112.48,12.24,165.56,35.4C827.93,77.22,886,95.24,951.2,90c86.53-7,172.46-45.71,248.8-84.81V0Z" fill="%230099CC"/></svg>');
    background-size: cover;
    background-repeat: no-repeat;
}

/* Cards & Effects */
.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    transition: all 0.3s cubic-bezier(.4,0,.2,1);
}
.membership-card {
    border: 2px solid var(--beach-blue);
    transition: all 0.3s ease;
}
.membership-card:hover { border-color: var(--sunset-orange); }

/* Hours table */
.hours-table {
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 10px;
    overflow: hidden;
}
.hours-table th, .hours-table td {
    border: 1px solid var(--sandy-brown);
    padding: 12px;
}
.hours-table th { background-color: var(--beach-blue); color: #fff; }
.hours-table tr:nth-child(even) { background-color: rgba(210, 180, 140, 0.2); }

/* Modal overrides for Tailwind's hidden class toggle. */
#quoteModal { display: flex; }
#quoteModal.hidden { display: none; }

/* Icon Colors */
.palm-icon { color: var(--palm-green); }
.wrench-icon { color: var(--sunset-orange); }

/* Custom opacity classes */
.opacity-15 { opacity: 0.15; }

/* Color with opacity variations for Tailwind */
.bg-gradient-to-r.from-beach-blue\/70.to-beach-blue\/60 {
    background-image: linear-gradient(to right, rgba(0, 153, 204, 0.7), rgba(0, 153, 204, 0.6));
}

/* Service card styles */
.service-card-link {
    color: inherit;
    text-decoration: none;
}
a.block h3 {
    color: #333;
} 