/* ===== Google Calendar WP — Frontend Styles ===== */

.gcal-events {
    font-family: inherit;
    max-width: 700px;
}
.gcal-events__title {
    font-size: 1.3em;
    font-weight: 700;
    margin-bottom: 16px;
    color: #1d2327;
}
.gcal-events__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Event item */
.gcal-event {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 14px 16px;
    transition: box-shadow .18s, border-color .18s;
}
.gcal-event:hover {
    border-color: #4285F4;
    box-shadow: 0 2px 10px rgba(66, 133, 244, .12);
}

/* Date badge */
.gcal-event__date {
    flex-shrink: 0;
    width: 48px;
    text-align: center;
    background: #4285F4;
    border-radius: 8px;
    padding: 6px 4px;
    line-height: 1.1;
}
.gcal-event__day {
    display: block;
    font-size: 22px;
    font-weight: 700;
    color: #fff;
}
.gcal-event__month {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: rgba(255,255,255,.85);
    letter-spacing: .05em;
}
.gcal-event--all-day .gcal-event__date {
    background: #34a853;
}

/* Body */
.gcal-event__body {
    flex: 1;
    min-width: 0;
}
.gcal-event__name {
    display: block;
    font-size: .95em;
    font-weight: 600;
    color: #1d2327;
    margin-bottom: 3px;
}
.gcal-event__name a {
    color: inherit;
    text-decoration: none;
}
.gcal-event__name a:hover {
    color: #4285F4;
    text-decoration: underline;
}
.gcal-event__time {
    display: block;
    font-size: .82em;
    color: #4285F4;
    font-weight: 500;
    margin-bottom: 4px;
}
.gcal-event__location {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: .82em;
    color: #6b7280;
    margin-bottom: 4px;
}
.gcal-event__desc {
    margin: 4px 0 0;
    font-size: .82em;
    color: #6b7280;
    line-height: 1.5;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* Notices */
.gcal-notice {
    padding: 10px 14px;
    border-radius: 6px;
    font-size: .9em;
    border-left: 4px solid currentColor;
}
.gcal-notice--warn  { background: #fffbec; color: #92400e; }
.gcal-notice--error { background: #fff1f2; color: #9f1239; }
.gcal-empty         { color: #6b7280; font-style: italic; }
