﻿        html, body { height: 100%; margin: 0; }
        body { 
            font-family: system-ui, -apple-system, sans-serif; 
            display: flex; 
            flex-direction: column; 
            background: #f4f4f4; 
        }

        main { flex: 1 0 auto; padding: 20px; }

        /* Carousel Dimensions: 550x300 */
        .carousel-container {
            position: relative;
            max-width: 550px;
            margin: 30px auto;
            overflow: hidden;
            border-radius: 4px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.2);
            background: #000;
			            flex: 3; /* Carousel takes 75% of the width */
        }
		
.carousel-slides {
            display: flex;
            transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
            height: 300px;
        }

        .slide-link {
            min-width: 100%;
            text-decoration: none;
            display: block;
            position: relative;
            height: 100%;
        }

        .slide {
            height: 100%;
            display: flex;
            flex-direction: column;
            /* CHANGE: Aligns content to the bottom */
            justify-content: flex-end; 
        }

        /* The Image Fix */
        .slide img {
            width: 100%;
            height: 100%;
            object-fit: cover; 
            position: absolute;
            top: 0; left: 0;
            z-index: 1;
        }

        /* Text Overlay: Semi-transparent Blue at the Bottom */
        .text-overlay {
            background: rgba(0, 38, 76, 0.75); 
            color: #fff;
            padding: 12px 20px;
            z-index: 5; 
            position: relative;
            width: 100%;
            /* CHANGE: Border is now on TOP of the text bar */
            border-top: 3px solid #f0f0f0; 
        }

        .text-overlay h2 { margin: 0; font-size: 1.1rem; text-shadow: 1px 1px 2px rgba(0,0,0,0.5); }
        .text-overlay p { margin: 4px 0 0 0; font-size: 0.85rem; opacity: 0.9; }

        /* Controls */
        .nav-btn {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: rgba(0,0,0,0.5);
            color: #fff;
            border: none;
            padding: 10px;
            cursor: pointer;
            z-index: 10;
            font-size: 20px;
        }
        .prev { left: 0; }
        .next { right: 0; }

        .dots-container { text-align: center; margin-top: 10px; }
        .dot {
            height: 12px; width: 12px; margin: 0 5px;
            background-color: #bbb; border-radius: 50%;
            border: none; cursor: pointer;
        }
        .dot.active { background-color: #00264c; border: 1px solid #f0f0f0; }