﻿body, .u-body {
    font-family: var(--bs-body-font-family) !important;
    overflow-x: hidden;
}

.small, small {
    font-size: .875em !important;
}

nav {
    opacity: 1;
}

/*Nicepage override above*/

.fc .fc-list-event:hover td {
    background-color: #121230;
}

.container-limited {
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .container-limited {
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
    }
}

.container-limited-calendar {
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .container-limited-calendar {
        max-width: 900px;
        margin-left: auto;
        margin-right: auto;
    }
}

.timeline {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.calendar-container {
    max-width: 900px;
    margin: auto;
}

.fc .fc-toolbar-title {
    font-size: 1.5rem;
    font-weight: bold;
}

.fc-event {
    font-size: 0.9rem;
    padding: 2px 4px;
    border-radius: 4px;
}

    /* Gold = LIVE NOW */
.fc-event.live-now {
    border: 2px solid gold !important;
    background-color: rgba(255, 215, 0, 0.25) !important;
    box-shadow: 0 0 10px gold;
}

/* Orange = starting within 30m */
.fc-event.starting-soon {
    border-left: 4px solid #ff9800 !important; /* Orange */
    background-color: rgba(255, 152, 0, 0.15) !important;
}

/* Light yellow = within 48 hours */
.fc-event.upcoming-soon {
    border-left: 4px solid #ffeb3b !important; /* Soft yellow */
    background-color: rgba(255, 235, 59, 0.15) !important;
}

.drag-handle {
    font-size: 1.2rem;
    cursor: grab;
    user-select: none;
}

.card .form-control-sm,
.card .form-select-sm {
    font-size: 0.875rem;
}
.scroll-top-btn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 999;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.autocomplete__input-mask, .autocomplete {
    color: white;
}

.autocomplete__results {
    color: black;
}

.CodeMirror-sizer {
    caret-color: white;
}

input, select, textarea {
    font-size: 16px; /* or at least 15px */
}

.fc-description {
    font-size: 0.9em;
    color: #666;
    margin-top: 0.3em;
}

.fc-list-day-cushion.fc-cell-shaded {
    background-color: #111;
}

/* Highlight the current date row in listMonth */
.fc .fc-list-day.fc-day-today {
    background-color: #eaf6ff; /* Light blue background */
    font-weight: bold;
    border-left: 4px solid #0d6efd; /* Bootstrap primary blue */
}

/* Optionally tweak the date number itself */
.fc .fc-list-day-text.fc-day-today {
    color: #0d6efd;
}

ol > li:not(:last-child) {
    border-bottom: 1px solid #ccc;
}

ul:not(.u-unstyled) {
    font-size: 1em !important;
    margin: 0px !important;
}

/* Not actually removed from layout (important for iOS) */
.print-hidden {
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
    opacity: 0 !important;
    display: none;
}

.media-ready {
    display: grid;
    grid-template-columns: 32px 32px;
    /*gap: 8px;*/
    align-items: center;
}

.media-ready input {
    cursor: pointer;
}

.media-header-row {
    display: grid;
    grid-template-columns: 32px 32px;
    gap: 8px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #666;
    margin-left: 4px;
    margin-bottom: 4px;
}

.media-placeholder {
    width: 64px; /* matches 2 x 32px columns */
}

/* MEDIA MODE ON (5 columns) */
.service-item-row.media-on {
    display: grid;
    grid-template-columns: 32px /* Text */
    32px /* Music */
    minmax(90px, 1fr) /* Subtype */
    minmax(100px, 2fr) /* Title */
    32px; /* Eye */
    align-items: center;
    column-gap: 8px;
}

/* MEDIA MODE OFF (3 columns – old behavior) */
.service-item-row.media-off {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) /* Subtype */
    minmax(150px, 2fr) /* Title */
    32px; /* Eye */
    align-items: center;
    column-gap: 8px;
}

.media-col,
.eye-col {
    display: flex;
    justify-content: center;
}

.item-clickable {
    cursor: pointer;
    user-select: none;
}

/* YEARLY */
.chart-wrapper {
    position: relative;
    height: 220px;
    width: 100%;
}
