/* Seaside Theme CSS */
:root {
    --seaside-blue: #1e88e5;
    --seaside-light-blue: #64b5f6;
    --beach-sand: #f5d6a7;
    --deck-chair-red: #e53935;
    --deck-chair-white: #ffffff;
    --pier-wood: #8d6e63;
    --shell-pink: #ffcdd2;
    --seaweed-green: #43a047;
    --pebble-gray: #78909c;
}

/* Global Styles */
body {
    font-family: 'Open Sans', sans-serif;
    color: #333;
    background-color: var(--deck-chair-white);
}

/* Navigation Bar */
.navbar {
    background: linear-gradient(135deg, var(--seaside-blue), var(--seaside-light-blue));
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.navbar-brand {
    color: var(--deck-chair-white) !important;
    font-weight: 600;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.2);
}

.nav-link {
    color: var(--deck-chair-white) !important;
    transition: all 0.3s ease;
}

.nav-link:hover {
    color: var(--beach-sand) !important;
}

/* Bunting Decoration */
.bunting {
    height: 30px;
    background-image: repeating-linear-gradient(45deg, 
        var(--deck-chair-red) 0px, var(--deck-chair-red) 30px,
        var(--deck-chair-white) 30px, var(--deck-chair-white) 60px);
    opacity: 0.8;
    margin-bottom: 2rem;
}

/* Headers */
.seaside-header {
    background: linear-gradient(135deg, var(--seaside-blue), var(--seaside-light-blue));
    color: var(--deck-chair-white);
    padding: 2rem 1rem;
    margin-bottom: 2rem;
    border-radius: 0.5rem;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.2);
}

/* Cards */
.card {
    border: none;
    border-radius: 1rem;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
    background-color: var(--deck-chair-white);
}

.card:hover {
    transform: translateY(-5px);
}

.card-title {
    color: var(--seaside-blue);
    font-weight: 600;
}

/* Beach-themed Cards */
.beach-card {
    border-top: 5px solid var(--seaside-blue);
}

.weather-card {
    border-top: 5px solid var(--seaweed-green);
}

.tide-card {
    border-top: 5px solid var(--pebble-gray);
}

/* Buttons */
.btn-seaside {
    background-color: var(--seaside-blue);
    color: var(--deck-chair-white);
    border: none;
    padding: 0.5rem 1.5rem;
    border-radius: 2rem;
    transition: all 0.3s ease;
}

.btn-seaside:hover {
    background-color: var(--seaside-light-blue);
    color: var(--deck-chair-white);
    transform: translateY(-2px);
}

/* Icons */
.seaside-icon {
    color: var(--deck-chair-white);
    margin-right: 0.5rem;
}

/* Footer */
footer {
    background: linear-gradient(135deg, var(--seaside-blue), var(--seaside-light-blue));
    color: var(--deck-chair-white);
    padding: 3rem 0 1.5rem;
    margin-top: 3rem;
}

footer h5 {
    color: var(--deck-chair-white);
    margin-bottom: 1.5rem;
    font-weight: 600;
}

footer a {
    color: var(--deck-chair-white);
    text-decoration: none;
    transition: color 0.3s ease;
}

footer a:hover {
    color: var(--beach-sand);
}

/* List Groups */
.list-group-item {
    border-left: 4px solid var(--seaside-blue);
    margin-bottom: 0.5rem;
    transition: all 0.3s ease;
}

.list-group-item:hover {
    background-color: rgba(30, 136, 229, 0.1);
}

/* Responsive Typography */
@media (max-width: 768px) {
    h1 {
        font-size: 2rem;
    }
    h2 {
        font-size: 1.75rem;
    }
    h3 {
        font-size: 1.5rem;
    }
}

/* Accessibility */
.btn:focus,
.nav-link:focus {
    box-shadow: 0 0 0 0.25rem rgba(30, 136, 229, 0.5);
}

/* Print Styles */
@media print {
    .bunting,
    .btn-seaside {
        display: none;
    }
    
    body {
        color: #000;
        background: #fff;
    }
    
    a {
        text-decoration: underline;
    }
} 