:root {
    /* Primary Colors */
    --bs-primary: #00b7a7;
    --bs-primary-rgb: 0, 183, 167;
    --bs-secondary: #0f1a0f;
    --bs-secondary-rgb: 15, 26, 15;
    --bs-success: #00a085;
    --bs-success-rgb: 0, 160, 133;
    /* Typography */
    --bs-font-sans-serif: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    
    /* Background Colors */
    --bs-body-bg: #0a0f0e;
    --bs-body-color: #ffffff;
    --bs-dark: #0f1a0f;
    --bs-light: #1a2a1a;
    
    /* Text Colors */
    --bs-text-primary: #ffffff;
    --bs-text-secondary: #e0e0e0;
    --bs-text-muted: #a0a0a0;
    --bs-text-accent: #00d4aa;
    
    /* Dark Green Scale */
    --bs-green-dark: #0a0f0e;
    
    /* Teal Accents */
    --bs-teal: #00b7a7;
    --bs-teal-light: #33e0c2;
    --bs-teal-dark: #00a085;
    
    /* Gradients */
    --bs-gradient-teal: linear-gradient(135deg, #00d4aa 0%, #00a085 100%);
    --bs-gradient-energy: linear-gradient(45deg, #ffffff 0%, #00d4aa 50%, #33e0c2 100%);
    
    /* Shadows */
    --bs-shadow-sm: 0 1px 2px 0 rgba(0, 212, 170, 0.05);
    --bs-shadow: 0 1px 3px 0 rgba(0, 212, 170, 0.1), 0 1px 2px 0 rgba(0, 212, 170, 0.06);
    --bs-shadow-lg: 0 10px 15px -3px rgba(0, 212, 170, 0.1), 0 4px 6px -2px rgba(0, 212, 170, 0.05);
    --bs-shadow-glow: 0 0 20px rgba(0, 212, 170, 0.3), 0 0 40px rgba(0, 212, 170, 0.1);

    --my-block: 16vh;
}

@media (max-width: 1024) {
    :root {
        --my-block: 12vh;
    }
}

@media (max-width: 768px) {
    :root {
        --my-block: 10vh;
    }
}

@media (max-width: 576px) {
    :root {
        --my-block: 8vh;
    }
}

@media (max-width: 480px) {
    :root {
        --my-block: 6vh;
    }
}

body {
    background-color: var(--bs-green-dark);
}

.body-lines {
    background-image:
        
    /* Subtle grid */
    repeating-linear-gradient( 90deg, rgba(255, 255, 255, 0.05) 0 2px, rgba(0, 0, 0, 0) 2px 33dvw ),
    repeating-linear-gradient( 0deg, rgba(255, 255, 255, 0.05) 0 2px, rgba(0, 0, 0, 0) 2px 75dvh );
background-blend-mode: screen, screen, screen, normal, normal, normal;
}

.l-bg-body {
    background-color: var(--bs-green-dark);
}

.text-whatsapp {
    color: #25D366;
}
.text-whatsapp:hover, .text-whatsapp:focus {
    color: #1ebe5d;
}

.text-telegram {
    color: #229ED9;
}
.text-telegram:hover, .text-telegram:focus {
    color: #1b89bd;
}

.l-btn-primary {
    background-color: var(--bs-teal-dark);
    color: #ffffff;
    border: 1px solid var(--bs-teal-dark);
    border-radius: 999px;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}
.l-btn-primary:hover,
.l-btn-primary:focus {
    background-color: var(--bs-teal);
    border-color: var(--bs-teal);
    color: #ffffff;
}
.l-btn-primary:focus {
    outline: 0;
}

/* Outline variant matching l-btn-primary */
.l-btn-primary-outline {
    background-color: transparent;
    color: var(--bs-teal);
    border: 1px solid var(--bs-teal-dark);
    border-radius: 999px;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}
.l-btn-primary-outline:hover,
.l-btn-primary-outline:focus {
    background-color: var(--bs-teal-dark);
    color: #ffffff;
    border-color: var(--bs-teal-dark);
}
.l-btn-primary-outline:focus {
    outline: 0;
}
.vh-90 {
    height: 90vh !important;
}

.min-vh-90 {
    min-height: 90vh !important;
}
.my-block {
    margin-top: var(--my-block);
    margin-bottom: var(--my-block);
}

/* Colored list markers using theme primary */
.list-marker-primary {
    list-style: disc inside;
    padding: 0;
}
.list-marker-primary li::marker {
    color: var(--bs-primary);
}

header .navbar {
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

/* Carousel customization for theme colors */
.carousel-indicators [data-bs-target] {
    background-color: var(--bs-primary);
}

.carousel-inner {
    padding-bottom: 3rem;
}

.carousel-control-prev,
.carousel-control-next {
    width: 50px;
    height: 50px;
    background: rgba(0, 212, 170, 0.1);
    border-radius: 50%;
    border: 1px solid var(--bs-primary);
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.3s ease;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
    background: rgba(0, 212, 170, 0.2);
    border-color: var(--bs-teal-light);
}

.carousel-control-prev {
    left: 20px;
}

.carousel-control-next {
    right: 20px;
}

/* Scrolling banners */
.scrolling-banner {
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    height: 60px;
    display: flex;
    align-items: center;
    width: 100%;
}

.scrolling-content {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    animation-duration: 30s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    min-width: 200%;
}

.scroll-right {
    animation-name: scrollRight;
}

.scroll-left {
    animation-name: scrollLeft;
}

@keyframes scrollRight {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

@keyframes scrollLeft {
    0% {
        transform: translateX(100%);
    }
    100% {
        transform: translateX(-100%);
    }
}

/* Pause animation on hover */
.scrolling-banner:hover .scrolling-content {
    animation-play-state: paused;
}

/* Custom Accordion Focus Styles */
.accordion-button:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}

.accordion-button:not(.collapsed) {
    background-color: var(--bs-primary);
    color: #ffffff;
}

.accordion-button::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}