/* AWAmatter Custom Styles */

/* CSS Custom Properties */
:root {
    /* AWAmatter brand colors */
    --awa-primary: #132f49;
    --awa-primary-dark: #132f49;
    --awa-primary-darker: #0a1a2a;
    --awa-orange: #ed7d31;
    --awa-orange-hover: #d26923;
    --awa-orange-active: #c25d1b;
    --awa-notes-bg: #204c67;
    --awa-notes-text: #afabab;

    /* Layout dimensions */
    --awa-notes-width: 300px;
    --awa-header-height: 65px;

    /* Utilities */
    --awa-transition-default: 0.3s ease;
}

/* Dashboard Layout */
.notesBlock {
    background-color: var(--awa-notes-bg);
    color: var(--awa-notes-text);
    display: flex;
    flex-direction: column;
    height: 100%;
    margin-top: var(--awa-header-height);
    width: 100%;
    position: absolute;
    top: 0;
    right: 0;
    transition: transform var(--awa-transition-default);
    overflow: hidden;
    transform: translateX(100%);
}

.notesBlock:not(.collapsed) {
    transform: translateX(0);
}

.notesBlock.collapsed {
    transform: translateX(100%);
}

@media (min-width: 1201px) {
    .notesBlock {
        width: var(--awa-notes-width);
    }
}

/* Dashboard Layout - mobile-first base */
.content-left {
    width: 100%;
    transition: margin-right var(--awa-transition-default);
    margin-top: var(--awa-header-height);
    margin-right: 0;
}

.content-left.panel-collapsed {
    margin-right: 0;
}

@media (min-width: 1201px) {
    .content-left.panel-open {
        margin-right: var(--awa-notes-width);
    }
}

/* Orange Button (AWAmatter brand button) */
.orange-btn {
    --bs-btn-font-weight: 600;
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--awa-orange);
    --bs-btn-border-color: var(--awa-orange);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: var(--awa-orange-hover);
    --bs-btn-hover-border-color: var(--awa-orange-hover);
    --bs-btn-focus-shadow-rgb: 210, 105, 35;
    --bs-btn-active-color: var(--bs-white);
    --bs-btn-active-bg: var(--awa-orange-active);
    --bs-btn-active-border-color: var(--awa-orange-active);
}

/* Alert Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.alert-fade-in {
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeOut {
    from {
        opacity: 1;
        transform: translateY(0);
    }

    to {
        opacity: 0;
        transform: translateY(-10px);
    }
}

.alert-fade-out {
    animation: fadeOut 0.3s ease-out forwards;
}

/* Utility Classes */
.cursor-pointer {
    cursor: pointer;
}

.min-vh-60 {
    min-height: 60vh;
}

.mw-520 {
    max-width: 520px;
}

.mw-600 {
    max-width: 600px;
}

.img-height-20 {
    height: 20px;
}

.img-w-50 {
    width: 50%;
}

.img-w-40 {
    width: 40%;
}

.img-w-80 {
    width: 80%;
}

/* Card Utilities */
.card-body-scrollable {
    max-height: 200px;
    overflow-y: auto;
}

/* Progress Bar Customization */
.progress-thin {
    height: 6px;
}

/* Reset Password Page */
.reset-pw-card {
    width: 30rem;
    max-width: 100%;
    margin-top: 5rem;
    margin-bottom: 5rem;
}

.reset-pw-title {
    color: rgb(46, 117, 182);
}

/* Badge Customizations */
.badge-awa-orange {
    background-color: var(--awa-orange);
    color: var(--bs-white);
}

/* HTMX upload button spinner */
.btn-upload .spinner-border {
    display: none;
}

.btn-upload[disabled] .spinner-border {
    display: inline-block;
}

/* Pricing Page */
.pricing-title,
.pricing-period-tabs {
    --pricing-title-blue: rgb(46, 117, 182);
}

.pricing-period-tabs {
    --bs-nav-pills-link-active-bg: var(--pricing-title-blue);
    --bs-nav-pills-link-active-color: var(--bs-white);
}

.pricing-title {
    background-color: var(--pricing-title-blue);
    color: var(--bs-white);
}

.pricing-title h2 {
    margin-bottom: 0;
}

.pricing-period-tabs .nav-link {
    border: 1px solid var(--bs-border-color);
    background-color: var(--bs-white);
    color: var(--pricing-title-blue);
}

.pricing-period-tabs .nav-link.active {
    background-color: var(--pricing-title-blue);
    border-color: var(--pricing-title-blue);
    color: var(--bs-white);
}
