/* BSDRN Layout Styles - Shared Components */

:root {
    --bsdrn-blue: #92a1c0;
    --bsdrn-blue-dark: #7a8ba8;
    --bsdrn-text-blue: #4a5a7b;
    --header-subtitle: #888;
    --footer-bg: #eef3ff;
    --footer-border: #c9d6f0;
}

body {
    background-color: #fff;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: #333;
    margin: 0;
    padding: 0;
}

/* Header */
.main-title {
    color: var(--bsdrn-text-blue);
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.sub-title {
    color: var(--header-subtitle);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1.5px;
}

.btn-idrn-top {
    background-color: var(--bsdrn-blue);
    color: white;
    border-radius: 8px;
    padding: 8px 40px;
    font-weight: 600;
    border: none;
    transition: background-color 0.3s ease;
}

.btn-idrn-top:hover {
    background-color: var(--bsdrn-blue-dark);
}

.btn-help-top {
    background-color: #f8f9fa;
    color: #555;
    padding: 8px 15px;
    font-weight: 600;
    border-radius: 6px;
    border: 1px solid #ddd;
}

/* Common */
.image-placeholder {
    background-color: #eee;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-weight: 600;
    border: 2px dashed #ccc;
}

.text-justify {
    text-align: justify;
}

.cursor-pointer {
    cursor: pointer;
}

/* Notification Bar Marquee */
.notification-bar {
    background-color: var(--bsdrn-blue);
    font-weight: 500;
    font-size: 15px;
    overflow: hidden;
}

.marquee-text {
    display: inline-block;
    padding-left: 100%;
    animation: marquee 30s linear infinite;
    white-space: nowrap;
}

@keyframes marquee {
    0% {
        transform: translate(0, 0);
    }

    100% {
        transform: translate(-100%, 0);
    }
}

/* Footer Card */
.footer-card {
    border-radius: 1.5rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    background-color: var(--footer-bg);
    border: 1px solid var(--footer-border);
}

.validation-error {
    color: #e74c3c;
    font-size: 13px;
    margin-top: 4px;
    display: none;
}