/* Bhodor Base Template Styles */

/* Preview Banner */
.ftx::before {
    content: "Preview";
    display: block;
    font-size: 16px;
    width: 250px;
    text-align: center;
    background-color: rgb(205, 38, 7);
    color: #fff;
    padding: 3px 0 4px;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(-34%, -4px) rotate(-35deg);
    transition: .3s;
}

/* Message Styles */
.messages {
    /* Container for messages */
}

.message {
    /* Base message styles */
}

.message.success {
    background-color: #d4edda;
    color: #155724;
}

.message.error {
    background-color: #f8d7da;
    color: #721c24;
}

.message.info {
    background-color: #cce5ff;
    color: #004085;
}

/* Responsive Design */
@media (max-width: 768px) {
    body {
        font-size: 14px;
    }
}

/* Navbar Styling */
.navbar {
    z-index: 1040; /* Ensure the navbar is always above the loader */
}

/* Background Image (commented out) */
/*
body {
    background-image: url('/static/bg_img/leaf.svg');
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: cover;
    background-attachment: fixed;
}
*/

/* Animation Styles */
.ringcss {
    position: relative;
    animation: ring-pulse 1.5s infinite;
}

@keyframes ring-pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(42, 170, 138, 0.7);
    }
    50% {
        transform: scale(1.1);
        box-shadow: 0 0 10px 5px rgba(42, 170, 138, 0.5);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(42, 170, 138, 0.7);
    }
}

.shake {
    display: inline-block;
    animation: bell-shake 0.5s ease-in-out infinite;
}

@keyframes bell-shake {
    0%, 100% {
        transform: rotate(0);
    }
    25% {
        transform: rotate(-15deg);
    }
    50% {
        transform: rotate(15deg);
    }
    75% {
        transform: rotate(-10deg);
    }
}

/* Accessibility Improvements */
.visually-hidden-focusable {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.visually-hidden-focusable:focus {
    position: static !important;
    width: auto !important;
    height: auto !important;
    padding: inherit !important;
    margin: inherit !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
}

/* Brand styling */
.brand-text {
    font-weight: bold;
    color: #2AAA8A;
}

/* Performance optimizations */
img {
    loading: lazy;
}

/* Print styles */
@media print {
    .navbar,
    .top-bar,
    .btn,
    .modal {
        display: none !important;
    }
}
