/* Wine Lands Trails Calendar container */
#winelandstrails-calendar {
    padding: 20px;
    font-family: var(--e-global-typography-primary-font-family, 'Helvetica Neue', Helvetica, Arial, sans-serif);
    font-size: var(--e-global-typography-text-font-size, 16px);
    background-color: var(--e-global-color-background, transparent);
}

/* FullCalendar buttons - colors set dynamically via PHP */
#winelandstrails-calendar .fc .fc-button {
    color: #fff;
    font-weight: 600;
    border-radius: 4px;
    padding: 6px 12px;
}

.fc-theme-standard .fc-scrollgrid {
    border: none;
}

.fc-scrollgrid-sync-table {
    border: 1px solid #ddd;
}

.fc-theme-standard th {
    border: none !important;
}

.fc .fc-scrollgrid-section > * {
    border-left-width: 0px;
    border-top-width: 0px;
    border-right-width: 0px;
    border-bottom-width: 0;
}

/* Event appearance */
#winelandstrails-calendar .fc .fc-h-event {
    background-color: var(--e-global-color-secondary, #2e8b57) !important;
    border: 1px solid var(--e-global-color-secondary, #2e8b57) !important;
    color: #fff !important;
    border-radius: 3px;
    padding: 2px 6px;
    font-size: 0.9rem;
}

@media (max-width: 768px) {
    #winelandstrails-calendar {
        min-height: 600px;
    }

    #winelandstrails-calendar .fc-view-harness {
        min-height: 600px !important;
    }
}

/* Remove horizontal scrollbar from tooltip */
.tippy-box[data-theme~='light-border'] {
    overflow-x: hidden !important;
}

.tippy-box[data-theme~='light-border'] .tippy-content {
    overflow-x: hidden !important;
    word-break: break-word;
    white-space: normal;
    padding: 0 !important;
}

/* Consistent size and styling for Tippy tooltips */
.tippy-box[data-theme~='light-border'] {
    max-width: 300px !important;
    min-width: 300px !important;
    width: 300px !important;
    max-height: 90vh;
    overflow: visible !important;
    border-radius: 6px;
    background-color: #fff;
    color: #333;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    white-space: normal;
    word-wrap: break-word;
}

/* Scrollable content inside tooltip */
.tippy-box[data-theme~='light-border'] .tippy-content {
    overflow-y: auto;
    font-size: 15px;
    line-height: 1.5;
    max-height: 600px;
}

.tippy-box[data-theme~='light-border'] .tippy-arrow {
    color: #fff;
    margin: 0;
}

/* Tooltip content wrapper */
.wlt-tooltip-content {
    width: 100%;
}

/* Tooltip image - fills full width */
.tippy-box .wlt-tooltip-image {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    border-radius: 6px 6px 0 0 !important;
    margin: 0;
}

/* Tooltip text container */
.tippy-box .wlt-tooltip-text {
    padding: 10px !important;
    box-sizing: border-box;
}

.wlt-tooltip-text strong {
    display: block;
    margin-bottom: 4px;
}

/* Tooltip date */
.wlt-tooltip-date {
    display: block;
    margin-bottom: 8px;
    color: #555;
    padding-left: 0;
}

/* Tooltip meta info (event type, bicycle type) */
.wlt-tooltip-meta {
    display: block;
    margin-bottom: 4px;
}

/* Tooltip description */
.wlt-tooltip-description {
    margin: 12px 0 0 0 !important;
    padding: 0 !important;
}

.content th {
    text-align: center !important;
}

/* Prevent extra spacing in Elementor layout */
#winelandstrails-calendar address,
#winelandstrails-calendar dd,
#winelandstrails-calendar h1,
#winelandstrails-calendar h2,
#winelandstrails-calendar h3,
#winelandstrails-calendar h4,
#winelandstrails-calendar h5,
#winelandstrails-calendar h6,
#winelandstrails-calendar hr,
#winelandstrails-calendar ol,
#winelandstrails-calendar p,
#winelandstrails-calendar pre,
#winelandstrails-calendar table,
#winelandstrails-calendar ul {
    margin-bottom: 0 !important;
}

.fc-h-event {
    background-color: unset;
    border: unset;
}

.fc-h-event .fc-event-main {
    color: #212121;
}

button.fc-prev-button.fc-button.fc-button-primary,
button.fc-next-button.fc-button.fc-button-primary {
    background-color: unset;
    border-color: unset;
    color: var(--fc-button-bg-color);
    border: none;
}

/* Today highlight - color set dynamically via PHP */
#winelandstrails-calendar .fc-day-today .fc-daygrid-day-number {
    color: #fff !important;
}

#winelandstrails-calendar .fc-day-today .fc-event-title,
#winelandstrails-calendar .fc-day-today .fc-event-time,
#winelandstrails-calendar .fc-day-today .fc-event-main {
    color: #fff !important;
}

/* Force title wrapping in day and list views */
.fc .fc-event-title,
.fc-event-title-container,
.fc-list-event-title {
    white-space: normal !important;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.4;
}

/* Hide the coloured event dot in list view */
#winelandstrails-calendar .fc-list-event-dot {
    display: none !important;
}

/* Details link styling */
.wlt-details-link {
    display: block;
    margin: 10px 0 0 0;
    padding: 8px 16px;
    background-color: #2e8b57;
    color: #fff !important;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 600;
    font-size: 14px;
    text-align: center;
    transition: background-color 0.2s ease;
}

.wlt-details-link:hover {
    background-color: #236b43;
    color: #fff !important;
    text-decoration: none;
}

/* Event type color indicators in list view */
#winelandstrails-calendar .fc-list-event {
    cursor: pointer;
}

#winelandstrails-calendar .fc-list-event:hover {
    background-color: #f5f5f5;
}
