.lt-cal {
--lt-cal-primary: #4a9fd8;
--lt-cal-primary-dark: #3d8bc2;
--lt-cal-bg: #f5f7fa;
--lt-cal-border: #dce1e8;
--lt-cal-text: #1d2327;
max-width: 1080px;
margin: 0 auto;
} .lt-cal-archive { margin-bottom: 4em; }
.lt-cal-panel { min-height: 200px; } .lt-cal-atc { position: relative; margin-bottom: 0.5em; }
.lt-cal-atc-toggle {
display: inline-flex;
align-items: center;
gap: 0.5em;
padding: 0.6em 1.1em;
background: var(--lt-cal-primary);
color: #fff;
border-radius: 6px;
font-weight: 600;
cursor: pointer;
list-style: none;
user-select: none;
transition: background 0.15s;
} .lt-cal-atc-toggle::-webkit-details-marker { display: none; }
.lt-cal-atc-toggle::marker { content: ""; }
.lt-cal-atc-toggle:hover { background: var(--lt-cal-primary-dark); }
.lt-cal-atc-caret { font-size: 0.8em; transition: transform 0.15s; }
.lt-cal-atc[open] .lt-cal-atc-caret { transform: rotate(180deg); }
.lt-cal-atc-menu {
position: absolute;
z-index: 40;
top: calc(100% + 4px);
left: 0;
min-width: 220px;
margin: 0;
padding: 0.35em 0;
list-style: none;
background: #fff;
border: 1px solid var(--lt-cal-border);
border-radius: 8px;
box-shadow: 0 6px 20px rgba(29, 35, 39, 0.15);
}
.lt-cal-atc-menu li { margin: 0; }
.lt-cal-atc-menu a {
display: block;
padding: 0.6em 1.1em;
color: var(--lt-cal-text);
text-decoration: none;
transition: background 0.12s;
}
.lt-cal-atc-menu a:hover { background: var(--lt-cal-bg); color: var(--lt-cal-primary); } .lt-cal-single .lt-cal-atc { margin-top: 1em; } .lt-cal-shortcode {
max-width: 340px;
margin: 0 auto;
}
.lt-cal-sc-grid {
border: 1px solid var(--lt-cal-border);
border-radius: 12px;
box-shadow: 0 4px 16px rgba(29, 35, 39, 0.08);
padding: 1em;
background: #fff;
}
.lt-cal-sc-cal.lt-cal-loading, .lt-cal-sc-events.lt-cal-loading { opacity: 0.55; transition: opacity 0.15s; }
.lt-cal-sc-head {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 0.75em;
}
.lt-cal-sc-title { font-weight: 700; text-transform: capitalize; }
.lt-cal-sc-nav {
display: inline-flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
border: none;
border-radius: 50%;
background: transparent;
color: var(--lt-cal-primary);
font-size: 1.15em;
line-height: 1;
cursor: pointer;
transition: background 0.15s;
}
.lt-cal-sc-nav:hover { background: var(--lt-cal-bg); }
.lt-cal-sc-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.lt-cal-sc-table th {
font-size: 0.7em;
color: #1d2327;
background: #e9edf1;
font-weight: 700;
text-transform: uppercase;
padding: 0.4em 0;
}
.lt-cal-sc-table thead th:first-child { border-radius: 4px 0 0 4px; }
.lt-cal-sc-table thead th:last-child { border-radius: 0 4px 4px 0; }
.lt-cal-sc-table td { text-align: center; padding: 2px; }
.lt-cal-sc-day {
display: inline-flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
max-width: 100%;
border: none;
background: transparent;
border-radius: 50%;
font-size: 0.9em;
color: var(--lt-cal-text);
line-height: 1;
transition: background 0.15s, transform 0.1s;
}
.lt-cal-sc-muted { color: #c2c7cf; } .lt-cal-sc-has-events {
background: var(--lt-cal-primary);
color: #fff;
font-weight: 700;
cursor: pointer;
}
.lt-cal-sc-has-events:hover { background: var(--lt-cal-primary-dark); transform: scale(1.08); }
.lt-cal-sc-today { box-shadow: inset 0 0 0 2px var(--lt-cal-primary); }
.lt-cal-sc-has-events.lt-cal-sc-today { box-shadow: inset 0 0 0 2px #fff; } .lt-cal-sc-selected { outline: 3px solid var(--lt-cal-primary); outline-offset: 1px; } .lt-cal-sc-day-inner {
margin-top: 1em;
padding: 0.9em 1em;
background: var(--lt-cal-bg);
border: 1px solid var(--lt-cal-border);
border-radius: 10px;
}
.lt-cal-sc-day-title { margin: 0 0 0.6em; font-size: 0.95em; text-transform: capitalize; }
.lt-cal-sc-day-list { list-style: none; margin: 0; padding: 0; }
.lt-cal-sc-day-list li { margin-bottom: 0.5em; }
.lt-cal-sc-day-list li:last-child { margin-bottom: 0; }
.lt-cal-sc-day-list a {
display: block;
text-decoration: none;
color: var(--lt-cal-text);
border-left: 3px solid var(--lt-cal-primary);
padding-left: 0.6em;
}
.lt-cal-sc-day-list a:hover .lt-cal-sc-day-name { color: var(--lt-cal-primary); }
.lt-cal-sc-day-time { display: block; font-size: 0.75em; font-weight: 700; color: var(--lt-cal-primary); }
.lt-cal-sc-day-name { display: block; font-weight: 600; }
.lt-cal-sc-day-empty { margin: 0; color: #777; font-style: italic; font-size: 0.9em; }
.lt-cal-sc-link {
display: block;
text-align: center;
margin-top: 1em;
color: var(--lt-cal-primary);
font-weight: 600;
text-decoration: none;
}
.lt-cal-sc-link:hover { text-decoration: underline; } .lt-cal-breadcrumb {
font-size: 0.9em;
margin-bottom: 1em;
color: #666;
}
.lt-cal-breadcrumb a { text-decoration: none; } .lt-cal-archive > .lt-cal-breadcrumb,
.lt-cal-single > .lt-cal-breadcrumb {
text-align: right;
color: var(--lt-cal-primary);
margin-bottom: 2.5em;
}
.lt-cal-archive > .lt-cal-breadcrumb a,
.lt-cal-single > .lt-cal-breadcrumb a { color: var(--lt-cal-primary); }
.lt-cal-passed {
display: flex;
align-items: center;
gap: 0.5em;
background: #fff8e6;
border: 1px solid #f5d78a;
border-left: 4px solid #f59e0b;
border-radius: 8px;
padding: 0.8em 1.1em;
margin-bottom: 1.75em;
color: #7a5a00;
font-weight: 500;
} .lt-cal-single { margin-bottom: 4em; }
.lt-cal-event-header { margin-bottom: 1.5em; }
.lt-cal-event-title { margin: 0 0 0.35em; line-height: 1.15; }
.lt-cal-event-range {
display: inline-flex;
align-items: center;
gap: 0.45em;
font-size: 1.1em;
color: var(--lt-cal-primary);
font-weight: 600;
margin: 0;
}
.lt-cal-event-thumb {
margin: 0 0 2em;
border-radius: 12px;
overflow: hidden;
}
.lt-cal-event-thumb img { display: block; width: 100%; height: auto; } .lt-cal-single-grid {
display: grid;
grid-template-columns: 1fr 320px;
gap: 2.5em;
align-items: start;
}
.lt-cal-event-content { line-height: 1.7; } .lt-cal-single-grid--solo {
grid-template-columns: 1fr;
justify-items: center;
}
.lt-cal-single-grid--solo .lt-cal-single-side {
width: 100%;
max-width: 480px;
position: static;
} .lt-cal-event-map {
margin-top: 1.5em;
border-radius: 12px;
overflow: hidden;
border: 1px solid var(--lt-cal-border);
box-shadow: 0 4px 16px rgba(29, 35, 39, 0.06);
}
.lt-cal-event-map iframe {
display: block;
width: 100%;
height: 380px;
border: 0;
}
.lt-cal-single-side { position: sticky; top: 1.5em; } .lt-cal-detail-card {
background: #fff;
border: 1px solid var(--lt-cal-border);
border-radius: 12px;
box-shadow: 0 4px 16px rgba(29, 35, 39, 0.06);
padding: 1.4em 1.5em;
margin-bottom: 1em;
}
.lt-cal-detail-card-title {
margin: 0 0 1em;
padding-bottom: 0.6em;
border-bottom: 2px solid var(--lt-cal-border);
font-size: 1.15em;
}
.lt-cal-detail-row {
display: flex;
gap: 0.75em;
align-items: flex-start;
margin-bottom: 1.1em;
}
.lt-cal-detail-icon {
flex: 0 0 auto;
font-size: 1.15em;
line-height: 1.3;
}
.lt-cal-detail-body { display: flex; flex-direction: column; }
.lt-cal-detail-label {
font-size: 0.72em;
text-transform: uppercase;
letter-spacing: 0.04em;
color: #8a9099;
font-weight: 700;
}
.lt-cal-detail-value { font-weight: 600; color: var(--lt-cal-text); }
.lt-cal-detail-extra { font-size: 0.92em; color: #5a616b; }
.lt-cal-detail-value a { color: var(--lt-cal-primary); text-decoration: none; }
.lt-cal-detail-extra a { color: var(--lt-cal-primary); text-decoration: none; } .lt-cal-detail-card .lt-cal-atc {
margin: 1.2em 0 0;
padding-top: 1.2em;
border-top: 1px solid var(--lt-cal-border);
}
.lt-cal-detail-card .lt-cal-atc-toggle { width: 100%; justify-content: center; }
.lt-cal-detail-card .lt-cal-atc-menu { width: 100%; }
.lt-cal-back-link {
display: inline-block;
color: var(--lt-cal-primary);
text-decoration: none;
font-weight: 600;
}
.lt-cal-back-link:hover { text-decoration: underline; }
@media (max-width: 782px) {
.lt-cal-single-grid { grid-template-columns: 1fr; }
.lt-cal-single-side { position: static; }
} .lt-cal-archive-header {
display: flex;
flex-wrap: wrap;
gap: 1em;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 1em;
} .lt-cal-search {
display: flex;
gap: 0.5em;
margin-top: 2.25em;
align-items: stretch;
} .lt-cal .lt-cal-search input[type="search"],
.lt-cal .lt-cal-search button {
box-sizing: border-box !important;
height: 48px !important;
min-height: 48px !important;
margin: 0 !important;
padding: 0 1em !important;
border: 1px solid var(--lt-cal-border) !important;
border-radius: 4px !important;
font-size: 1em !important;
line-height: 1.2 !important;
vertical-align: middle;
}
.lt-cal .lt-cal-search input[type="search"] { min-width: 240px; } .lt-cal .lt-cal-search button {
background: var(--lt-cal-primary) !important;
border-color: var(--lt-cal-primary) !important;
color: #fff !important;
padding: 0 1.6em !important;
font-weight: 600 !important;
cursor: pointer;
white-space: nowrap;
text-transform: none !important;
box-shadow: none !important;
}
.lt-cal .lt-cal-search button:hover {
background: var(--lt-cal-primary-dark) !important;
border-color: var(--lt-cal-primary-dark) !important;
}
.lt-cal-tabs-row {
display: flex;
flex-wrap: wrap;
align-items: flex-end;
justify-content: space-between;
gap: 1em;
border-bottom: 2px solid var(--lt-cal-border);
margin-bottom: 1.5em;
}
.lt-cal-tabs {
display: flex;
gap: 0.25em;
margin-bottom: -2px;
}
.lt-cal-tab {
background: transparent;
border: none;
border-bottom: 3px solid transparent;
padding: 0.6em 1.2em;
cursor: pointer;
font-size: 1em;
color: var(--lt-cal-text);
}
.lt-cal-tab[aria-selected="true"] {
border-bottom-color: var(--lt-cal-primary);
font-weight: 600;
}
.lt-cal-panel.lt-cal-loading { opacity: 0.5; transition: opacity 0.15s; } .lt-cal-nav {
display: flex;
align-items: center;
gap: 0.5em;
margin-bottom: 1em;
}
.lt-cal-nav button {
background: var(--lt-cal-bg);
border: 1px solid var(--lt-cal-border);
border-radius: 4px;
padding: 0.4em 0.8em;
cursor: pointer;
}
.lt-cal-nav-label { margin-left: auto; font-weight: 600; text-transform: capitalize; } .lt-cal-list { list-style: none; margin: 0 0 2em; padding: 0; }
.lt-cal-item { border-bottom: 1px solid var(--lt-cal-border); }
.lt-cal-item-link {
display: flex;
gap: 1em;
padding: 1em 0;
text-decoration: none;
color: inherit;
align-items: flex-start;
}
.lt-cal-item-date {
flex: 0 0 64px;
text-align: center;
background: var(--lt-cal-bg);
border: 1px solid var(--lt-cal-border);
border-radius: 6px;
padding: 0.4em 0;
line-height: 1.1;
}
.lt-cal-item-month { display: block; text-transform: uppercase; font-size: 0.75em; color: var(--lt-cal-primary); }
.lt-cal-item-day { display: block; font-size: 1.5em; font-weight: 700; }
.lt-cal-item-year { display: block; font-size: 0.7em; color: #888; }
.lt-cal-item-title { display: block; font-weight: 600; font-size: 1.05em; }
.lt-cal-item-range { display: block; color: var(--lt-cal-primary); font-size: 0.9em; margin: 0.15em 0; }
.lt-cal-item-excerpt { display: block; color: #555; font-size: 0.9em; } .lt-cal-empty {
text-align: center;
background: var(--lt-cal-bg);
border: 1px solid var(--lt-cal-border);
border-radius: 8px;
padding: 2em 1.5em;
margin: 0 0 2em;
}
.lt-cal-empty-icon { font-size: 2.2em; line-height: 1; display: block; margin-bottom: 0.35em; }
.lt-cal-empty-title { margin: 0 0 0.25em; font-weight: 600; font-size: 1.1em; color: var(--lt-cal-text); }
.lt-cal-empty-text { margin: 0; color: #777; font-size: 0.95em; } .lt-cal-view-list {
display: grid;
grid-template-columns: 280px 1fr;
gap: 2em;
align-items: start;
}
.lt-cal-list-nav { position: sticky; top: 1em; } .lt-cal-datepicker {
border: 1px solid var(--lt-cal-border);
border-radius: 12px;
padding: 1em 1em 1.15em;
background: #fff;
box-shadow: 0 4px 16px rgba(29, 35, 39, 0.08);
}
.lt-cal-datepicker.lt-cal-loading { opacity: 0.55; transition: opacity 0.15s; }
.lt-cal-dp-head {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 0.75em;
}
.lt-cal-dp-title {
font-weight: 700;
font-size: 1.02em;
text-transform: capitalize;
color: var(--lt-cal-text);
}
.lt-cal-dp-nav {
display: inline-flex;
align-items: center;
justify-content: center;
background: transparent;
border: none;
border-radius: 50%;
width: 32px;
height: 32px;
cursor: pointer;
font-size: 1.15em;
line-height: 1;
color: var(--lt-cal-primary);
transition: background 0.15s;
}
.lt-cal-dp-nav:hover { background: var(--lt-cal-bg); }
.lt-cal-dp-grid { width: 100%; border-collapse: collapse; table-layout: fixed; } .lt-cal-dp-grid th {
font-size: 0.72em;
color: #1d2327;
background: #e9edf1;
font-weight: 700;
padding: 0.5em 0;
text-transform: uppercase;
letter-spacing: 0.03em;
}
.lt-cal-dp-grid thead th:first-child { border-radius: 4px 0 0 4px; }
.lt-cal-dp-grid thead th:last-child { border-radius: 0 4px 4px 0; }
.lt-cal-dp-grid td { text-align: center; padding: 2px; }
.lt-cal-dp-day {
display: inline-flex;
align-items: center;
justify-content: center;
width: 34px;
height: 34px;
max-width: 100%;
margin: 0 auto;
border: none;
background: transparent;
border-radius: 50%;
font-size: 0.9em;
color: var(--lt-cal-text);
line-height: 1;
transition: background 0.15s, color 0.15s, transform 0.1s;
}
.lt-cal-dp-muted { color: #c2c7cf; } .lt-cal-dp-has-events {
background: var(--lt-cal-primary);
color: #fff;
font-weight: 700;
cursor: pointer;
}
.lt-cal-dp-has-events:hover { background: var(--lt-cal-primary-dark); transform: scale(1.08); } .lt-cal-dp-daywrap { position: relative; display: inline-block; }
.lt-cal-dp-pop {
position: absolute;
bottom: calc(100% + 8px);
left: 50%;
transform: translateX(-50%) translateY(4px);
z-index: 20;
min-width: 190px;
max-width: 260px;
padding: 0.7em 0.85em;
background: #fff;
border: 1px solid var(--lt-cal-border);
border-radius: 8px;
box-shadow: 0 6px 20px rgba(29, 35, 39, 0.18);
text-align: left;
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: opacity 0.15s, transform 0.15s;
}
.lt-cal-dp-daywrap:hover .lt-cal-dp-pop,
.lt-cal-dp-daywrap:focus-within .lt-cal-dp-pop {
opacity: 1;
visibility: visible;
transform: translateX(-50%) translateY(0);
} .lt-cal-dp-pop::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%);
border: 7px solid transparent;
border-top-color: #fff;
}
.lt-cal-dp-pop-date {
display: block;
font-size: 0.72em;
font-weight: 700;
text-transform: capitalize;
color: var(--lt-cal-primary);
margin-bottom: 0.4em;
padding-bottom: 0.35em;
border-bottom: 1px solid var(--lt-cal-border);
}
.lt-cal-dp-pop-list { list-style: none; margin: 0; padding: 0; }
.lt-cal-dp-pop-list li {
display: flex;
gap: 0.5em;
align-items: baseline;
font-size: 0.82em;
line-height: 1.35;
margin-bottom: 0.3em;
}
.lt-cal-dp-pop-list li:last-child { margin-bottom: 0; }
.lt-cal-dp-pop-time {
flex: 0 0 auto;
font-weight: 700;
color: var(--lt-cal-text);
white-space: nowrap;
}
.lt-cal-dp-pop-title { color: #555; } .lt-cal-dp-today { box-shadow: inset 0 0 0 2px var(--lt-cal-primary); }
.lt-cal-dp-has-events.lt-cal-dp-today { box-shadow: inset 0 0 0 2px #fff; }
.lt-cal-dp-foot { margin-top: 0.85em; text-align: center; }
.lt-cal-dp-avui {
background: transparent;
border: 1px solid var(--lt-cal-primary);
color: var(--lt-cal-primary);
border-radius: 6px;
padding: 0.45em 1.2em;
cursor: pointer;
width: 100%;
font-weight: 600;
transition: background 0.15s, color 0.15s;
}
.lt-cal-dp-avui:hover { background: var(--lt-cal-primary); color: #fff; }
@media (max-width: 782px) {
.lt-cal-view-list { grid-template-columns: 1fr; }
.lt-cal-list-nav { position: static; max-width: 320px; }
} .lt-cal-toolbar {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
gap: 1em;
margin-bottom: 1.25em;
}
.lt-cal-toolbar-nav { display: flex; align-items: center; gap: 0.5em; }
.lt-cal-round {
display: inline-flex;
align-items: center;
justify-content: center;
width: 38px;
height: 38px;
border-radius: 50%;
border: 1px solid var(--lt-cal-border);
background: #fff;
color: var(--lt-cal-text);
font-size: 1.2em;
line-height: 1;
cursor: pointer;
transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.lt-cal-round:hover { background: var(--lt-cal-bg); border-color: var(--lt-cal-primary); color: var(--lt-cal-primary); }
.lt-cal-today-btn {
border: 1px solid var(--lt-cal-primary);
color: var(--lt-cal-primary);
background: #fff;
border-radius: 20px;
padding: 0.45em 1.2em;
font-weight: 600;
cursor: pointer;
transition: background 0.15s, color 0.15s;
}
.lt-cal-today-btn:hover { background: var(--lt-cal-primary); color: #fff; }
.lt-cal-toolbar-jump { display: flex; gap: 0.5em; } .lt-cal .lt-cal-toolbar-jump select {
appearance: none !important;
-webkit-appearance: none !important;
-moz-appearance: none !important;
box-sizing: border-box !important;
height: 38px !important;
min-height: 38px !important;
margin: 0 !important;
padding: 0 2.3em 0 0.95em !important;
border: 1px solid var(--lt-cal-border) !important;
border-radius: 8px !important;
background-color: #fff !important;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
background-repeat: no-repeat !important;
background-position: right 0.75em center !important;
background-size: 12px !important;
font-size: 0.95em !important;
font-weight: 600 !important;
color: var(--lt-cal-text) !important;
line-height: 1.2 !important;
text-transform: none !important;
cursor: pointer;
transition: border-color 0.15s, box-shadow 0.15s;
}
.lt-cal-select-month { min-width: 140px; }
.lt-cal-select-year { min-width: 92px; }
.lt-cal-toolbar-jump select:hover { border-color: var(--lt-cal-primary); }
.lt-cal-toolbar-jump select:focus {
outline: none;
border-color: var(--lt-cal-primary);
box-shadow: 0 0 0 3px rgba(74, 159, 216, 0.18);
} .lt-cal .lt-cal-day-jump {
box-sizing: border-box !important;
height: 38px !important;
min-height: 38px !important;
margin: 0 !important;
padding: 0 0.9em !important;
border: 1px solid var(--lt-cal-border) !important;
border-radius: 8px !important;
background: #fff !important;
font-size: 0.95em !important;
font-weight: 600 !important;
color: var(--lt-cal-text) !important;
line-height: 1.2 !important;
cursor: pointer;
transition: border-color 0.15s, box-shadow 0.15s;
}
.lt-cal .lt-cal-day-jump:hover { border-color: var(--lt-cal-primary) !important; }
.lt-cal .lt-cal-day-jump:focus {
outline: none;
border-color: var(--lt-cal-primary) !important;
box-shadow: 0 0 0 3px rgba(74, 159, 216, 0.18) !important;
} .lt-cal-day-heading {
margin: 0 0 1em;
font-size: 1.3em;
text-transform: capitalize;
color: var(--lt-cal-text);
} .lt-cal-view-day .lt-cal-day-body { padding-left: clamp(0px, 6vw, 3.5em); }
@media (max-width: 640px) {
.lt-cal-view-day .lt-cal-day-body { padding-left: 0; }
} .lt-cal-month {
border: 1px solid var(--lt-cal-border);
border-radius: 12px;
box-shadow: 0 4px 16px rgba(29, 35, 39, 0.06);
}
.lt-cal-month-head {
display: grid;
grid-template-columns: repeat(7, 1fr);
overflow: hidden;
border-radius: 11px 11px 0 0;
}
.lt-cal-month-head span {
background: #e9edf1;
color: #1d2327;
font-weight: 700;
font-size: 0.75em;
text-transform: uppercase;
letter-spacing: 0.03em;
text-align: center;
padding: 0.7em 0;
}
.lt-cal-week {
display: grid;
grid-template-columns: repeat(7, 1fr);
grid-auto-rows: minmax(22px, auto);
column-gap: 0;
row-gap: 3px;
min-height: 104px;
padding-bottom: 6px;
border-top: 1px solid var(--lt-cal-border);
}
.lt-cal-month-body .lt-cal-week:first-child { border-top: none; }
.lt-cal-daynum {
text-align: right;
padding: 5px 8px 0 0;
font-size: 0.82em;
color: #6b7280;
}
.lt-cal-daynum-other { color: #c2c7cf; }
.lt-cal-daynum-today .lt-cal-daynum-n {
background: var(--lt-cal-primary);
color: #fff;
font-weight: 700;
border-radius: 50%;
padding: 0.15em 0.5em;
} .lt-cal-bar {
position: relative;
align-self: start;
margin: 0 3px;
padding: 2px 7px;
background: var(--lt-cal-primary);
color: #fff;
font-size: 0.74em;
line-height: 1.5;
border-radius: 5px;
text-decoration: none;
transition: background 0.15s;
}
.lt-cal-bar:hover { background: var(--lt-cal-primary-dark); color: #fff; } .lt-cal-bar-label {
display: block;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.lt-cal-bar-time { font-weight: 700; opacity: 0.9; } .lt-cal-bar-pop {
position: absolute;
bottom: calc(100% + 8px);
left: 50%;
transform: translateX(-50%) translateY(4px);
z-index: 30;
min-width: 160px;
max-width: 240px;
padding: 0.6em 0.75em;
background: #fff;
border: 1px solid var(--lt-cal-border);
border-radius: 8px;
box-shadow: 0 6px 20px rgba(29, 35, 39, 0.18);
color: var(--lt-cal-text);
text-align: left;
white-space: normal;
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: opacity 0.15s, transform 0.15s;
}
.lt-cal-bar:hover .lt-cal-bar-pop,
.lt-cal-bar:focus-visible .lt-cal-bar-pop {
opacity: 1;
visibility: visible;
transform: translateX(-50%) translateY(0);
}
.lt-cal-bar-pop::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%);
border: 7px solid transparent;
border-top-color: #fff;
}
.lt-cal-bar-pop-title { display: block; font-weight: 700; font-size: 1.05em; margin-bottom: 0.2em; }
.lt-cal-bar-pop-meta { display: block; color: var(--lt-cal-primary); font-weight: 600; font-size: 0.95em; }
.lt-cal-bar-allday { background: #6a7787; }
.lt-cal-bar-allday:hover { background: #55606e; } .lt-cal-bar-contl { margin-left: 0; border-top-left-radius: 0; border-bottom-left-radius: 0; }
.lt-cal-bar-contr { margin-right: 0; border-top-right-radius: 0; border-bottom-right-radius: 0; }
.lt-cal-empty-month { margin-bottom: 1.25em; }
@media (max-width: 640px) {
.lt-cal-week { min-height: 72px; }
.lt-cal-bar { font-size: 0.68em; }
.lt-cal-archive-header { flex-direction: column; align-items: stretch; }
}