/* --- Modern Winter (Tartan) Theme --- */
/* * Palette:
 * - Main Red: #C8102E (Royal Stewart Red)
 * - Deep Red: #8B1538 (Dark Burgundy)
 * - Navy Accent: #1A1F4D (Royal Stewart Navy)
 * - Gold Accent: #FDB813 (Royal Stewart Gold)
 * - Text: #2c2c2c
 * - Card/Module BG: rgba(253, 252, 247, 0.97) (Warm Off-white)
*/

/* Apply solid gradient background to body/html */
body.theme-tartan,
html.theme-tartan,
.theme-tartan html {
    background: linear-gradient(135deg, #C8102E 0%, #8B1538 50%, #1A1F4D 100%) !important;
    background-attachment: fixed !important;
    color: #2c2c2c !important;
    min-height: 100vh !important;
}

/* Main theme container inherits the gradient */
.theme-tartan {
    --primary-color: #C8102E;
    background: linear-gradient(135deg, #C8102E 0%, #8B1538 50%, #1A1F4D 100%) !important;
    background-attachment: fixed !important;
    color: #2c2c2c !important;
    min-height: 100vh !important;
    position: relative;
}

/* Ensure body can hold the ::before pseudo-element */
body.theme-tartan {
    position: relative;
    min-height: 100vh;
}

/* Modern Plaid Overlay - Attached to BODY, sits above gradient */
body.theme-tartan::before {
    content: '';
    position: fixed; /* Fixed position stays with viewport */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0; /* Above gradient background, below content */
    background-image:
        /* --- Horizontal Lines (0deg) --- */
        /* Bold Red stripe */
        repeating-linear-gradient(
            0deg,
            rgba(200, 16, 46, 0.35), /* Royal Stewart Red - Bold */
            rgba(200, 16, 46, 0.35) 8px,
            transparent 8px,
            transparent 60px /* Main repeat size */
        ),
        /* Navy stripe */
        repeating-linear-gradient(
            0deg,
            transparent 12px, /* Offset */
            rgba(26, 31, 77, 0.4), /* Navy - Bold */
            rgba(26, 31, 77, 0.4) 18px,
            transparent 18px,
            transparent 60px
        ),
        /* Gold accent line */
        repeating-linear-gradient(
            0deg,
            transparent 24px, /* Offset */
            rgba(253, 184, 19, 0.25), /* Gold */
            rgba(253, 184, 19, 0.25) 26px,
            transparent 26px,
            transparent 60px
        ),
        /* Dark Red accent */
        repeating-linear-gradient(
            0deg,
            transparent 30px,
            rgba(139, 21, 56, 0.3), /* Deep Red */
            rgba(139, 21, 56, 0.3) 34px,
            transparent 34px,
            transparent 60px
        ),

        /* --- Vertical Lines (90deg) --- */
        /* Bold Red stripe */
        repeating-linear-gradient(
            90deg,
            rgba(200, 16, 46, 0.35), /* Royal Stewart Red - Bold */
            rgba(200, 16, 46, 0.35) 8px,
            transparent 8px,
            transparent 60px /* Main repeat size */
        ),
        /* Navy stripe */
        repeating-linear-gradient(
            90deg,
            transparent 12px, /* Offset */
            rgba(26, 31, 77, 0.4), /* Navy - Bold */
            rgba(26, 31, 77, 0.4) 18px,
            transparent 18px,
            transparent 60px
        ),
        /* Gold accent line */
        repeating-linear-gradient(
            90deg,
            transparent 24px, /* Offset */
            rgba(253, 184, 19, 0.25), /* Gold */
            rgba(253, 184, 19, 0.25) 26px,
            transparent 26px,
            transparent 60px
        ),
        /* Dark Red accent */
        repeating-linear-gradient(
            90deg,
            transparent 30px,
            rgba(139, 21, 56, 0.3), /* Deep Red */
            rgba(139, 21, 56, 0.3) 34px,
            transparent 34px,
            transparent 60px
        );
    pointer-events: none;
    opacity: 1;
}

/* Remove shimmer overlay - was causing performance issues */
body.theme-tartan::after {
    display: none;
}

/* Ensure containers are positioned above plaid and have transparent backgrounds */
.theme-tartan .container,
.theme-tartan .container-narrow,
.theme-tartan main,
.theme-tartan .py-2,
.theme-tartan .py-md-5,
.theme-tartan .py-4 {
    background: transparent !important;
    position: relative;
    z-index: 1; /* Above plaid overlay */
}

/* Cards with soft, modern styling */
.theme-tartan .card {
    background: rgba(253, 252, 247, 0.97) !important; /* Warm off-white */
    border: 1px solid rgba(0, 0, 0, 0.04) !important; /* Lighter border */
    /* This is the "Glow" - a shadow in the red accent color */
    box-shadow: 0 10px 30px rgba(200, 16, 46, 0.15), 0 4px 10px rgba(0, 0, 0, 0.05) !important;
    border-radius: 12px !important;
    position: relative;
    overflow: hidden;
    border-top: 4px solid #C8102E !important; /* Bold red accent bar */
}

/* Remove the animated gradient border */
.theme-tartan .card::before {
    display: none !important;
}

.theme-tartan .card-body {
    background: transparent !important;
}

/* Form inputs with clean, modern styling */
.theme-tartan .form-control,
.theme-tartan .form-select,
.theme-tartan textarea {
    background: #ffffff !important;
    border: 1px solid #dcdcdc !important;
    color: #2c2c2c !important;
    border-radius: 8px !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
}

/* Smaller font size for date/time inputs to prevent overflow */
.theme-tartan .date-row-input,
.theme-tartan .time-row-input,
.theme-tartan .timezone-row-select,
.theme-tartan .duration-row-select,
.theme-tartan input[type="date"],
.theme-tartan input[type="time"],
.theme-tartan #futurePeriodType,
.theme-tartan #hideOptionLeadHoursContainer {
    font-size: 14px !important;
}

/* Compact inline selects need a smaller border-radius to avoid clipping text/arrow */
.theme-tartan #futurePeriodType,
.theme-tartan #hideOptionLeadHoursContainer {
    border-radius: 6px !important;
}

.theme-tartan .form-control:focus,
.theme-tartan .form-select:focus,
.theme-tartan textarea:focus {
    border-color: #C8102E !important; /* Focus with red */
    box-shadow: 0 0 0 3px rgba(200, 16, 46, 0.15) !important; /* Soft glow */
    background: #ffffff !important;
    color: #2c2c2c !important;
}

/* --- Heading Fix --- */

/* Page titles (on the dark background) */
.theme-tartan h1,
.theme-tartan h2,
.theme-tartan h3 {
    color: #F2E8CF !important; /* Pale Gold/Cream */
    font-weight: 700 !important;
    /* Add a subtle shadow for "pop" */
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) !important;
}

/* Titles INSIDE cards (on the light background) */
.theme-tartan .card .card-title,
.theme-tartan .card h1,
.theme-tartan .card h2,
.theme-tartan .card h3,
.theme-tartan .card h4,
.theme-tartan .form-section-header .header-title {
    color: #C8102E !important; /* Royal Stewart Red */
    font-weight: 700 !important;
    text-shadow: none !important; /* Remove shadow inside cards */
}

/* Sub-headings and labels (on light background) */
.theme-tartan .form-label,
.theme-tartan .card h5,
.theme-tartan .card h6 {
    color: #1A1F4D !important; /* Navy accent */
    font-weight: 600 !important;
    text-shadow: none !important;
}

/* Body text */
.theme-tartan p,
.theme-tartan .card-text,
.theme-tartan .ql-editor {
    color: #333333 !important;
    font-weight: 400 !important;
}

/* Buttons with bold red styling */
.theme-tartan .btn-primary,
.theme-tartan button[type="submit"] {
    background: #C8102E !important; /* Royal Stewart Red */
    border: 1px solid #C8102E !important;
    color: #fff !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 12px rgba(200, 16, 46, 0.3) !important;
    border-radius: 8px !important;
    text-shadow: none !important;
    padding: 12px 24px !important;
    font-size: 16px !important;
    min-height: 48px !important;
    transition: all 0.2s ease !important;
}

.theme-tartan .btn-primary:hover,
.theme-tartan button[type="submit"]:hover,
.theme-tartan #submitBtn:hover {
    background: #8B1538 !important; /* Deep burgundy */
    border-color: #8B1538 !important;
    box-shadow: 0 6px 16px rgba(200, 16, 46, 0.4) !important;
    transform: translateY(-2px);
    color: #fff !important;
}

.theme-tartan .btn-primary:active,
.theme-tartan .btn-primary:focus,
.theme-tartan button[type="submit"]:active,
.theme-tartan button[type="submit"]:focus,
.theme-tartan #submitBtn:active,
.theme-tartan #submitBtn:focus {
    background: #8B1538 !important;
    border-color: #8B1538 !important;
    box-shadow: 0 2px 8px rgba(200, 16, 46, 0.25) !important;
    color: #fff !important;
}

.theme-tartan .list-group-item {
    background: rgba(253, 252, 247, 0.95) !important;
    border: 1px solid #dcdcdc !important;
    color: #333333 !important;
    margin-bottom: 8px !important;
    border-radius: 10px !important;
    font-weight: 500 !important;
    position: relative;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.2s ease !important;
}

.theme-tartan .list-group-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(to bottom, #C8102E, #1A1F4D); /* Red to Navy accent bar */
    border-radius: 4px 0 0 4px;
}

.theme-tartan .list-group-item:hover {
    background: rgba(255, 255, 255, 1) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    transform: translateY(-1px);
    border-color: #C8102E !important;
}

.theme-tartan .form-check-input {
    background: #fff !important;
    border: 2px solid #b0b0b0 !important;
    width: 18px !important;
    height: 18px !important;
    transition: all 0.2s ease !important;
}

.theme-tartan .form-check-input[type="checkbox"] {
    border-radius: 4px !important;
}
.theme-tartan .form-check-input[type="radio"] {
    border-radius: 50% !important;
}

.theme-tartan .form-check-input:checked {
    background: #C8102E !important; /* Red for check */
    border-color: #C8102E !important;
    box-shadow: 0 0 10px rgba(200, 16, 46, 0.3) !important;
}

.theme-tartan .form-check-label {
    color: #2c2c2c !important;
    font-weight: 500 !important;
}

.theme-tartan .form-switch .form-check-input {
    background-color: #d4d4d4 !important;
    border: 2px solid #b0b0b0 !important;
    background-image: none !important;
    border-radius: 2em !important;
    width: 2.25em !important; /* Slightly wider */
    height: 1.25em !important;
}

.theme-tartan .form-switch .form-check-input:checked {
    background-color: #C8102E !important;
    border-color: #C8102E !important;
    background-image: none !important;
    box-shadow: 0 0 10px rgba(200, 16, 46, 0.3) !important;
}

.theme-tartan .text-muted {
    color: #6c757d !important;
    font-weight: 500 !important;
}

.theme-tartan .alert {
    background: rgba(253, 252, 247, 0.95) !important;
    border: 1px solid #C8102E !important;
    color: #2c2c2c !important;
    box-shadow: 0 4px 15px rgba(200, 16, 46, 0.1) !important;
    border-radius: 10px !important;
}

/* Button variants */
.theme-tartan .btn-secondary {
    background: linear-gradient(45deg, #1A1F4D, #2D3A5E) !important;
    border: 2px solid #1A1F4D !important;
    color: #fff !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 12px rgba(26, 31, 77, 0.3) !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
}

.theme-tartan .btn-secondary:hover,
.theme-tartan .btn-secondary:active,
.theme-tartan .btn-secondary:focus {
    background: linear-gradient(45deg, #2D3A5E, #1A1F4D) !important;
    border-color: #C8102E !important;
    box-shadow: 0 6px 16px rgba(200, 16, 46, 0.4) !important;
    transform: translateY(-1px);
    color: #fff !important;
}

.theme-tartan .btn-outline-primary {
    color: #C8102E !important;
    background-color: rgba(253, 252, 247, 0.95) !important;
    border-color: #C8102E !important;
    border-width: 2px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
}

.theme-tartan .btn-outline-primary:hover {
    background: #C8102E !important;
    color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(200, 16, 46, 0.25) !important;
}

/* Active/Checked state for button toggle groups */
.theme-tartan .btn-check:checked + .btn-outline-primary,
.theme-tartan .btn-outline-primary:active,
.theme-tartan .btn-outline-primary.active {
    background: linear-gradient(135deg, #C8102E, #9B0C23) !important;
    border-color: #9B0C23 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(200, 16, 46, 0.4), inset 0 2px 8px rgba(0, 0, 0, 0.2) !important;
    font-weight: 700 !important;
    transform: translateY(0);
}

/* Icons inside active/checked buttons should be white */
.theme-tartan .btn-check:checked + .btn-outline-primary .bi,
.theme-tartan .btn-outline-primary:active .bi,
.theme-tartan .btn-outline-primary.active .bi {
    color: #ffffff !important;
}

.theme-tartan .btn-outline-secondary {
    color: #1A1F4D !important;
    background-color: rgba(253, 252, 247, 0.95) !important;
    border-color: #1A1F4D !important;
    border-width: 2px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
}

.theme-tartan .btn-outline-secondary:hover {
    background: #1A1F4D !important;
    color: #fff !important;
    box-shadow: 0 4px 15px rgba(26, 31, 77, 0.2) !important;
}

/* Form sections */
.theme-tartan .form-section-respondent,
.theme-tartan .form-section-main-options,
.theme-tartan .form-section-additional {
    border-color: rgba(0, 0, 0, 0.04) !important;
    /* Give these a matching glow, but in the NAVY accent */
    box-shadow: 0 10px 30px rgba(26, 31, 77, 0.12), 0 4px 10px rgba(0, 0, 0, 0.05) !important;
    border-radius: 12px !important;
    border-top: 4px solid #1A1F4D !important; /* Use navy for these sections for variety */
}

.theme-tartan .form-section-header {
    background: rgba(26, 31, 77, 0.05) !important; /* Very light navy */
    color: #2c2c2c !important;
    border-bottom: 1px solid rgba(26, 31, 77, 0.1) !important;
    /* Adjust radius to account for new top border on parent */
    border-radius: 8px 8px 0 0 !important;
    font-weight: 700 !important;
    padding: 1rem !important;
}

.theme-tartan .form-section-header .header-title {
    color: #C8102E !important;
    font-weight: 700 !important;
}

.theme-tartan .form-section-header .header-subtitle {
    color: #4a5568 !important;
    font-weight: 600 !important;
}

/* Required asterisk */
.theme-tartan .required-asterisk {
    color: #C8102E !important;
    font-weight: bold !important;
}

/* Placeholder text */
.theme-tartan ::placeholder {
    color: #999999 !important;
    opacity: 0.7 !important;
}

.theme-tartan .form-control::placeholder,
.theme-tartan textarea::placeholder {
    color: #999999 !important;
    opacity: 0.7 !important;
}

/* Fix dark gray text */
.theme-tartan [style*="color: #495057"],
.theme-tartan [style*="color:#495057"] {
    color: #2c2c2c !important;
}

.theme-tartan .bi[style*="color: #495057"],
.theme-tartan .bi[style*="color:#495057"] {
    color: #C8102E !important;
}
.theme-tartan .bi-people-fill[style*="color: #495057"],
.theme-tartan .bi-people-fill[style*="color:#495057"],
.theme-tartan i.bi-people-fill[style*="color: #495057"],
.theme-tartan i.bi-people-fill[style*="color:#495057"] {
    color: #C8102E !important;
}
.theme-tartan .max-signups-icon {
    color: #C8102E !important;
}

/* Event detail icons - use tartan red instead of default primary */
.theme-tartan .bi-calendar-event-fill[style*="color: var(--primary-color)"],
.theme-tartan .bi-clock-fill[style*="color: var(--primary-color)"],
.theme-tartan .bi-geo-alt-fill[style*="color: var(--primary-color)"] {
    color: #C8102E !important;
}

/* Header and Footer Styling - Clean & Solid */
.theme-tartan .navbar {
    background: #C8102E !important; /* Royal Stewart Red */
    border-bottom: 2px solid #8B1538 !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15) !important;
}

.theme-tartan .navbar-brand {
    color: #fff !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2) !important;
    font-weight: 700 !important;
}
.theme-tartan .navbar-brand:hover {
    color: #fff !important;
}

.theme-tartan .brand-text-primary {
    color: #fff !important;
}

.theme-tartan .brand-text-white {
    color: #F2E8CF !important; /* Pale gold/cream */
    text-shadow: none !important;
}

.theme-tartan .navbar-toggler {
    border-color: #F2E8CF !important;
    background: rgba(242, 232, 207, 0.1) !important;
}
.theme-tartan .navbar-toggler:focus {
    box-shadow: 0 0 12px rgba(242, 232, 207, 0.4) !important;
}
.theme-tartan .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

.theme-tartan .offcanvas {
    background: #C8102E !important;
    border-left: 2px solid #8B1538 !important;
    box-shadow: -3px 0 12px rgba(0, 0, 0, 0.15) !important;
}
.theme-tartan .offcanvas-header {
    border-bottom: 1px solid #8B1538 !important;
}

.theme-tartan .btn-close {
    filter: none !important;
    color: #fff !important;
    opacity: 0.8 !important;
}
.theme-tartan .btn-close:hover {
    opacity: 1 !important;
}

.theme-tartan .mobile-nav-section .btn {
    background: #1A1F4D !important;
    border: 1px solid #1A1F4D !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(26, 31, 77, 0.25) !important;
}
.theme-tartan .mobile-nav-section .btn:hover {
    background: #0F1433 !important;
    box-shadow: 0 6px 16px rgba(26, 31, 77, 0.35) !important;
}

.theme-tartan .mobile-nav-header {
    color: #F2E8CF !important;
    font-weight: 700 !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2) !important;
}

.theme-tartan .mobile-nav-item {
    color: #fff !important;
    font-weight: 500 !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2) !important;
}
.theme-tartan .mobile-nav-item:hover {
    color: #F2E8CF !important;
    text-shadow: none !important;
}
.theme-tartan .mobile-nav-item i {
    color: #F2E8CF !important;
}

.theme-tartan .footer {
    background: #C8102E !important;
    border-top: 2px solid #8B1538 !important;
    box-shadow: 0 -3px 10px rgba(0, 0, 0, 0.15) !important;
}

.theme-tartan .footer p {
    color: #fff !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2) !important;
    font-weight: 500 !important;
}

.theme-tartan .footer a {
    color: #F2E8CF !important;
    text-shadow: none !important;
    font-weight: 600 !important;
    transition: color 0.2s ease !important;
}
.theme-tartan .footer a:hover {
    color: #FDB813 !important; /* Gold accent on hover */
    text-decoration: none !important;
}

/* Footer checkmark icon - use gold color */
.theme-tartan .footer .bi-check-circle {
    color: #FDB813 !important; /* Royal Stewart Gold */
}

/* Additional questions styling */
.theme-tartan .additional-question-section .card,
.theme-tartan .additional-question-item {
    background: rgba(253, 252, 247, 0.95) !important;
    border: 1px solid rgba(200, 16, 46, 0.2) !important;
    box-shadow: 0 4px 15px rgba(200, 16, 46, 0.08) !important;
    color: #2c2c2c !important;
    border-radius: 12px !important;
}

.theme-tartan .additional-question-section .card-body {
    background: transparent !important;
    color: #2c2c2c !important;
}
.theme-tartan .additional-question-section .form-label {
    color: #1A1F4D !important;
    font-weight: 600 !important;
}
.theme-tartan .additional-question-section .additional-question-header h6,
.theme-tartan .additional-question-section .additional-question-title {
    color: #C8102E !important;
    font-weight: 600 !important;
}
.theme-tartan .additional-question-section .additional-question-body .form-label,
.theme-tartan .additional-question-section .additional-question-body .fw-semibold {
    color: #1A1F4D !important;
    font-weight: 600 !important;
}
.theme-tartan .additional-question-section .additional-question-body .form-check-label {
    color: #2c2c2c !important;
    font-weight: 500 !important;
}

/* Fix vertical alignment of larger radio/checkbox inputs everywhere (excludes toggle switches) */
.theme-tartan .form-check:not(.form-switch) {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

.theme-tartan .form-check:not(.form-switch) .form-check-input {
    margin-top: 0 !important;
    flex-shrink: 0 !important;
}

.theme-tartan .form-check:not(.form-switch) .form-check-label {
    margin-bottom: 0 !important;
}
/* Preserve inline-block display when Bootstrap d-inline-block is used (e.g. Silent Save checkbox) */
.theme-tartan .form-check.d-inline-block:not(.form-switch) {
    display: inline-flex !important;
}

/* Option items styling */
.theme-tartan .option-item {
    background: rgba(253, 252, 247, 0.9) !important;
    border: 1px solid #dcdcdc !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05) !important;
    border-radius: 10px !important;
    transition: all 0.2s ease !important;
}
.theme-tartan .option-item:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    border-color: #C8102E !important;
}

/* Quill editor styling */
.theme-tartan .ql-toolbar.ql-snow {
    background: #fdfcf7 !important;
    border-color: #dcdcdc !important;
    border-radius: 8px 8px 0 0 !important;
}

.theme-tartan .ql-container.ql-snow {
    background: #ffffff !important;
    border-color: #dcdcdc !important;
    color: #2c2c2c !important;
    border-radius: 0 0 8px 8px !important;
    border-top: 0 !important;
}

.theme-tartan .ql-editor {
    color: #2c2c2c !important;
    font-weight: 400 !important;
}

/* Modal styling */
.theme-tartan .modal-content {
    background: #fdfcf7 !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.1) !important;
    border-radius: 16px !important;
}

/* Ensure modals appear above the tartan overlay and header */
.theme-tartan .modal {
    z-index: 9999 !important;
}

/* Hide the darkened backdrop behind modals */
.theme-tartan .modal-backdrop {
    display: none !important;
}

.theme-tartan .modal-dialog {
    z-index: 10000 !important;
}

.theme-tartan .modal-content,
.theme-tartan .modal-body,
.theme-tartan .modal-header,
.theme-tartan .modal-footer {
    pointer-events: auto !important;
}

.theme-tartan .modal-header {
    background: rgba(26, 31, 77, 0.05) !important;
    border-bottom: 1px solid rgba(26, 31, 77, 0.1) !important;
    color: #C8102E !important;
    border-radius: 15px 15px 0 0 !important;
}

.theme-tartan .modal-title {
    color: #C8102E !important;
    font-weight: 600 !important;
}

.theme-tartan .modal-body {
    background: transparent !important;
    color: #2c2c2c !important;
}

.theme-tartan .modal-footer {
    background: rgba(26, 31, 77, 0.03) !important;
    border-top: 1px solid rgba(26, 31, 77, 0.1) !important;
    border-radius: 0 0 15px 15px !important;
}

.theme-tartan .modal .btn-secondary {
    background: #6c757d !important;
    border: 1px solid #6c757d !important;
    color: #fff !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
}
.theme-tartan .modal .btn-secondary:hover {
    background: #5a6268 !important;
    border-color: #5a6268 !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}

/* Clean transitions */
.theme-tartan .btn,
.theme-tartan .form-control,
.theme-tartan .list-group-item {
    transition: all 0.2s ease !important;
}

/* Taken/Disabled option styling - "Show taken options" feature */
.theme-tartan .list-group-item input:disabled + label {
    color: #8B4513 !important;
    cursor: not-allowed !important;
    opacity: 0.6 !important;
    text-decoration: line-through !important;
}

.theme-tartan .list-group-item input:disabled ~ small {
    color: #228B22 !important;
    font-weight: 600 !important;
}

.theme-tartan .list-group-item:has(input:disabled) {
    background: rgba(139, 69, 19, 0.2) !important;
    border-color: rgba(34, 139, 34, 0.5) !important;
    opacity: 0.75 !important;
}

.theme-tartan .list-group-item:has(input:disabled):hover {
    background: rgba(139, 69, 19, 0.2) !important;
    border-color: rgba(34, 139, 34, 0.5) !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: 0 4px 15px rgba(139, 69, 19, 0.2) !important;
}

.theme-tartan .list-group-item:has(input:disabled)::before {
    background: linear-gradient(to bottom, rgba(139, 69, 19, 0.5), rgba(34, 139, 34, 0.5)) !important;
}