/* Root tokens */
:root{
    --bg: #ffffff;
    --text: #111827;
    --muted: #6b7280;
    --accent: #0ea5a4;
    --accent-dark: #0b8f8d;
    --event-accent: #1e90ff;
    --card-bg: #ffffff;
    --radius: 10px;
    --gap: 1rem;
    --max-width: 1100px;
    --page-padding: 1rem;
    --shadow: 0 6px 18px rgba(16,24,40,0.08);
    /*font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;*/
}

/* Overall layout */
.site-events {    max-width: var(--max-width);    margin: 0 auto;    padding: var(--page-padding);    color: var(--text);}

/* Archive header */
.wes-archive-header { margin-bottom: 1rem; }
.wes-archive-title { font-size: 1.6rem; margin: 0 0 .25rem; }
.wes-archive-intro { color: var(--muted); margin: 0 0 1rem; }

/* Calendar component */
.wes-calendar-component {    background: var(--card-bg);    padding: 0rem;    border-radius: var(--radius);    box-shadow: var(--shadow);    margin-bottom: 1rem;   position: relative;}
.wes-controls { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-bottom:.75rem; }
.wes-prev-month, .wes-next-month { border: none; background: transparent; font-size:1.25rem; cursor:pointer; padding:.25rem .5rem; border-radius:6px; }
.wes-prev-month:focus, .wes-next-month:focus { outline:2px solid var(--accent); }

/* Weekdays row */
.wes-weekdays { display:grid; grid-template-columns: repeat(7,1fr); gap:.25rem; margin-bottom:.25rem; font-weight:600; color:var(--muted); }
.wes-weekday { text-align:center; font-size:.85rem; padding:.25rem 0; }

/* Dates grid */
.wes-dates-grid { display:grid; grid-template-columns: repeat(7,1fr); gap:.35rem; }
.wes-date-cell { background:transparent; border:1px solid #f3f4f6; min-height:64px; padding:.5rem; border-radius:8px; text-align:left; position:relative; cursor:pointer; }
.wes-date-cell:focus {    outline: 2px solid #8d7278;    z-index: 3;}
.wes-date--blank { background:transparent; border:none; cursor:default; }
.wes-date-num { display:block; font-weight:600; margin-bottom:.25rem; color:var(--text); }

/* event pill/dot */
.wes-event-pill { width:10px; height:10px; border-radius:999px; display:inline-block; position:absolute; right:8px; bottom:8px; background:rgba(255,255,255,0.85); box-shadow: 0 1px 0 rgba(0,0,0,0.08); }

/* accent when no color set */
.wes-date--accent {    background: linear-gradient(135deg, #03317f, #ab1538);    color: #fff;}

/*.wes-date--accent { background: linear-gradient(135deg,var(--event-accent),var(--accent-dark)); color:#fff; }*/
.wes-date-cell[style] .wes-event-pill { background: rgba(255,255,255,0.8); }

/* Tooltip */
.wes-tooltip { position:absolute; z-index:9999; background:#fff; border-radius:8px; padding:.5rem .75rem; box-shadow:var(--shadow); display:none; min-width:200px; }
.wes-tooltip-list { list-style:none; margin:0; padding:0; }
.wes-tooltip-list li { margin:0; padding:.25rem 0; border-bottom:1px dashed #eee; }
.wes-tooltip-list li:last-child { border-bottom:none; }
.wes-tooltip-list a { text-decoration:none; color:var(--text); font-weight:600; }

/* Events list */
.wes-events-list-wrap { margin-top:1rem; }
.wes-events-list { display:grid;  }
@media(min-width:700px){
  
}
.wes-event-card { display:flex; gap:.75rem; background:var(--card-bg); border-radius:8px; padding:.5rem; box-shadow: var(--shadow); align-items:flex-start; }
.wes-event-thumb { width:120px; height:90px; background-size:cover; background-position:center; border-radius:6px; flex:0 0 120px; display:block; }
.wes-event-thumb--fallback { background: linear-gradient(135deg,var(--event-accent),var(--accent-dark)); }
.wes-event-info { flex:1; padding: .25rem 0; }
.wes-event-title { margin:0; font-size:1.05rem; }
.wes-event-meta { margin:.35rem 0; display:flex; gap:.5rem; flex-wrap:wrap; }
.wes-event-excerpt { color:var(--muted); font-size:.95rem; }

/* Controls */
.wes-events-controls { margin-top:.75rem; display:flex; gap:.5rem; align-items:center; }
.wes-btn { padding:.5rem .75rem; background:var(--accent); color:#fff; border:none; border-radius:8px; cursor:pointer; }
.wes-btn-ghost { background:transparent; color:var(--text); border:1px solid #e5e7eb; }

/* Single event page */
.single-event .wes-single-banner { padding:2rem; background-size:cover; background-position:center; border-radius:12px; color:#fff; margin-bottom:1rem; }
.wes-single-banner .wes-banner-inner { background: rgba(0,0,0,0.25); padding:1rem; border-radius:8px; }
.wes-event-title { margin:0 0 .5rem; }
.wes-event-banner .wes-event-meta {    display: flex;    gap: .5rem;    flex-wrap: wrap;    color: #ffffff;    font-weight: 500;}

/* Content area */
.wes-event-content-area { display:block; gap:var(--gap); }
@media(min-width:900px){
    .wes-event-content-area { display:grid; grid-template-columns: 1fr 320px; gap:var(--gap); align-items:start; }
}
.wes-event-content { background:var(--card-bg); padding:1rem; border-radius:8px; box-shadow:var(--shadow); }
.wes-event-sidebar { background:var(--card-bg); padding:1rem; border-radius:8px; box-shadow:var(--shadow); }
.wes-upcoming-list { list-style:none; padding:0; margin:0; }
.wes-upcoming-list li {    margin-bottom: .5rem;    box-shadow: 1px 1px 4px 1px #cfcfcf;    border-radius: 10px !important;}
.wes-upcoming-list a { text-decoration:none; color:var(--text); display:block; }

/* Small screens */
@media(max-width:480px){
    .wes-date-cell { min-height:56px; padding:.35rem; }
    .wes-event-thumb { width:90px; height:70px; flex:0 0 90px; }
}

/* Accessibility focus outlines */
.site-events a:focus, .site-events button:focus { outline: 3px solid rgba(14,165,164,0.18); outline-offset:2px; }

/* Utilities */
.site-events .wes-no-events, .wes-error { color:var(--muted); padding:.5rem 0; }

.wes-event-info h3 a {    font-size: 18px !important;    color: #ab1538;}

.wes-calendar-box {    background: #fff;    border-radius: 12px;    box-shadow: 0 8px 30px rgba(0,0,0,.05);    padding: 0px;}

.wes-event-card {    transition: transform .2s ease, box-shadow .2s ease;}
.wes-event-card:hover {    transform: translateY(-4px);    box-shadow: 0 12px 30px rgba(0,0,0,.12);}
.inner-banner h1 {    font-weight: 700;}

@media (max-width: 991px) {
    .position-lg-sticky {        position: static !important;    }
}

.wes-event-featured .wp-post-image {border-radius:15px !important;}
.wes-event-card {    display: flex;    gap: .75rem;    background: var(--card-bg);    border-radius: 8px;    padding: .5rem;    box-shadow: var(--shadow);    align-items: flex-start;    width: 100%;   max-width: 550px;}
#wes-events-list {    display: flex;    flex-direction: column;    gap: 15px;}

button#wes-load-more {
    color: #fff;
    background: #ab1538;
    border: #ab1538;
    border-radius: 9px;
}
button#wes-load-more:hover{
background:#033180;
}