﻿/* Contains the basic styling used in the layout page */

:root,
[data-bs-theme=light] {
    --navbar-height: 80px;
    --footer-height: 20px;
}

cds-header {
    background-color: #222b36;
    height: var( --navbar-height );
    display: flex !important;
}

.main-and-footer-wrapper {
    height: calc( 100vh - var(--navbar-height ) );
    min-height: calc( 100vh - var(--navbar-height )) ;
    position: relative;
    top: var(--navbar-height );
}

.footer-height {
    height: auto;
    min-height: auto;
    display: block;
}

footer {
    background-color: transparent;
    border-top: 1px solid #e0e0e0;
    padding: 1.5rem 1.5rem 1rem 1.5rem;
    margin-top: 3rem;
}

.footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    text-align: center;
    max-width: 100%;
}

.footer-logo {
    margin: 0;
}

.footer-logo img {
    height: 40px;
    width: auto;
}

.footer-text {
    font-size: 14px;
    font-weight: 500;
    color: #161616;
    margin: 0;
}

.footer-copyright {
    font-size:12px;
    color: #525252;
    margin: 0;
}

.footer-copyright a {
    color: #0f62fe;
    text-decoration: none;
    transition: text-decoration 0.2s ease;
}

.footer-copyright a:hover {
    text-decoration: underline;
}

.footer-privacy {
    font-size: 12px;
    margin: 0;
}

.footer-privacy a {
    color: #0f62fe;
    text-decoration: none;
    transition: text-decoration 0.2s ease;
}

.footer-privacy a:hover {
    text-decoration: underline;
}

/* Footer font sizes are controlled individually by .footer-text, .footer-copyright, .footer-privacy */

/* Modern outlined button with obsidian border */
.cds--btn--primary.btn-obsidian-outline {
    background: #ffffff;
    color: #161616;
    border: 1px solid #1f1f1f;
    border-radius: 0.25rem; /* slightly rounded rectangle */
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08), 0 4px 10px rgba(0, 0, 0, 0.05);
    transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

    /* Hover */
    .cds--btn--primary.btn-obsidian-outline:hover {
        background: #161616;
        color: #ffffff;
        border-color: #161616;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12), 0 8px 18px rgba(0, 0, 0, 0.12);
        transform: translateY(-1px);
    }

    /* Active */
    .cds--btn--primary.btn-obsidian-outline:active {
        background: #0f0f0f;
        border-color: #0f0f0f;
        box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
        transform: translateY(0);
    }

    /* Focus */
    .cds--btn--primary.btn-obsidian-outline:focus,
    .cds--btn--primary.btn-obsidian-outline:focus-visible {
        outline: 2px solid #0f62fe;
        outline-offset: 2px;
    }

    /* Disabled */
    .cds--btn--primary.btn-obsidian-outline:disabled {
        background: #f4f4f4;
        color: #8d8d8d;
        border-color: #c6c6c6;
        box-shadow: none;
        cursor: not-allowed;
        transform: none;
    }