.rob-calendar-wrap,
.rob-event-list,
.rob-event-archive,
.rob-single-event-page {
--rob-ivory: #fbf8f3;
--rob-paper: #fffdf9;
--rob-paper-2: #f7f1e9;
--rob-border: #eaded7;
--rob-border-strong: #dcc8bd;
--rob-text: #332d2e;
--rob-soft: #776d6d;
--rob-accent: #811c34;
--rob-accent-dark: #6e172c;
--rob-accent-soft: #f6e9ec;
--rob-gold: #b08a54;
--rob-shadow: 0 12px 30px rgba(78, 48, 45, .075);
--rob-shadow-hover: 0 18px 42px rgba(78, 48, 45, .12);
color: var(--rob-text);
box-sizing: border-box;
}
.rob-calendar-wrap *,
.rob-event-list *,
.rob-event-archive *,
.rob-single-event-page * {
box-sizing: border-box;
} .rob-calendar-wrap {
max-width: 1100px;
margin: 1.75rem auto;
padding: 1.2rem;
border: 1px solid var(--rob-border);
border-radius: 22px;
background:
radial-gradient(circle at 8% 10%, rgba(176,138,84,.07), transparent 28%),
radial-gradient(circle at 92% 90%, rgba(129,28,52,.045), transparent 30%),
linear-gradient(180deg, rgba(255,253,249,.98), rgba(251,248,243,.98));
box-shadow: var(--rob-shadow);
}
.rob-calendar-wrap.is-loading {
opacity: .55;
pointer-events: none;
}
.rob-calendar-header {
display: grid;
grid-template-columns: auto minmax(180px, 1fr) auto;
align-items: center;
gap: .85rem 1.1rem;
margin: 0 0 1.25rem;
}
.rob-calendar-header h2 {
margin: 0;
text-align: center;
color: var(--rob-text);
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(1.45rem, 2.5vw, 2rem);
font-weight: 400;
line-height: 1.2;
}
.rob-calendar-nav-group {
display: flex;
align-items: center;
justify-content: center;
gap: .5rem;
flex-wrap: nowrap;
}
.rob-calendar-wrap a.rob-cal-nav,
.rob-calendar-wrap a.rob-cal-nav:link,
.rob-calendar-wrap a.rob-cal-nav:visited {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
width: auto !important;
min-width: max-content !important;
height: 42px !important;
min-height: 42px !important;
padding: 0 16px !important;
margin: 0 !important;
border: 1px solid var(--rob-accent) !important;
border-radius: 999px !important;
background: var(--rob-accent) !important;
color: #fff !important;
font: inherit !important;
font-size: .9rem !important;
font-weight: 700 !important;
line-height: 1 !important;
text-decoration: none !important;
white-space: nowrap !important;
box-shadow: 0 7px 16px rgba(129,28,52,.14) !important;
transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}
.rob-calendar-wrap a.rob-cal-nav-month { min-width: 108px !important; }
.rob-calendar-wrap a.rob-cal-nav-year { min-width: 72px !important; }
.rob-calendar-wrap a.rob-cal-nav:hover,
.rob-calendar-wrap a.rob-cal-nav:focus {
background: #fff !important;
color: var(--rob-accent) !important;
transform: translateY(-1px);
box-shadow: 0 10px 22px rgba(129,28,52,.18) !important;
}
.rob-calendar-wrap a.rob-cal-nav:focus-visible {
outline: 3px solid rgba(129,28,52,.24);
outline-offset: 3px;
}
.rob-cal-nav-label {
display: inline-block !important;
color: inherit !important;
background: transparent !important;
font: inherit !important;
line-height: 1 !important;
text-decoration: none !important;
white-space: nowrap !important;
}
.rob-calendar-grid {
display: grid;
grid-template-columns: repeat(7, minmax(0, 1fr));
}
.rob-calendar-weekdays > div {
padding: .6rem .35rem;
border-bottom: 1px solid var(--rob-border-strong);
color: var(--rob-accent);
font-size: .9rem;
font-weight: 700;
text-align: center;
}
.rob-calendar-day {
min-height: 126px;
padding: .5rem;
overflow: hidden;
border: 1px solid var(--rob-border);
background: rgba(255,255,255,.84);
}
.rob-calendar-day.is-muted {
background: rgba(247,241,233,.62);
color: #9b9290;
opacity: .75;
}
.rob-calendar-day.is-today {
position: relative;
outline: 2px solid var(--rob-accent);
outline-offset: -2px;
background: linear-gradient(180deg, #fff, #fbf2f4);
}
.rob-day-number {
margin-bottom: .38rem;
color: var(--rob-text);
font-weight: 700;
}
.rob-day-events {
display: flex;
flex-direction: column;
gap: .3rem;
}
.rob-day-event,
.rob-day-event:link,
.rob-day-event:visited {
display: block;
padding: .36rem .45rem;
border-left: 3px solid var(--rob-accent);
border-radius: 5px;
background: var(--rob-accent-soft);
color: var(--rob-text);
font-size: .84rem;
line-height: 1.3;
text-decoration: none;
}
.rob-day-event:hover {
background: #f1dde2;
color: var(--rob-accent-dark);
text-decoration: none;
}
.rob-event-time {
display: block;
color: var(--rob-soft);
font-size: .76rem;
}
.rob-event-title {
display: block;
font-weight: 700;
} .rob-event-list {
--rob-event-columns: 3;
--rob-event-image-height: 190px;
display: grid;
width: 100%;
max-width: 100%;
gap: 1.55rem;
}
.rob-event-list--vertical { grid-template-columns: 1fr; }
.rob-event-list--horizontal { grid-template-columns: repeat(var(--rob-event-columns), minmax(0, 1fr)); }
.rob-event-card {
position: relative;
min-width: 0;
overflow: hidden;
border: 1px solid var(--rob-border);
border-radius: 20px;
background:
linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,253,249,.98));
box-shadow: var(--rob-shadow);
transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.rob-event-card--horizontal {
display: flex;
flex-direction: column;
}
.rob-event-card:hover {
transform: translateY(-2px);
border-color: var(--rob-border-strong);
box-shadow: var(--rob-shadow-hover);
}
.rob-event-image-link {
order: 1;
display: block;
width: 100%;
overflow: hidden;
border: 0;
background: var(--rob-paper-2);
text-decoration: none;
}
.rob-event-image {
display: block;
width: 100% !important;
max-width: 100% !important;
height: var(--rob-event-image-height) !important;
max-height: var(--rob-event-image-height) !important;
object-fit: cover !important;
background: var(--rob-paper-2);
transition: transform .28s ease;
}
.rob-event-card:hover .rob-event-image { transform: scale(1.018); }
.rob-event-card-title {
order: 2;
margin: 0;
padding: 1.15rem 1.2rem .35rem;
font-family: Georgia, "Times New Roman", serif;
font-size: 1.32rem;
font-weight: 400;
line-height: 1.25;
}
.rob-event-card-title a,
.rob-event-card-title a:link,
.rob-event-card-title a:visited {
color: var(--rob-text);
text-decoration: none;
}
.rob-event-card-title a:hover,
.rob-event-card-title a:focus { color: var(--rob-accent); }
.rob-event-card-body {
order: 3;
display: flex;
flex: 1;
flex-direction: column;
padding: .9rem 1.2rem 1.25rem;
}
.rob-event-meta {
display: flex;
flex-direction: column;
gap: .55rem;
margin: 0;
}
.rob-event-meta-row {
display: flex !important;
align-items: flex-start !important;
gap: .55rem !important;
margin: 0 !important;
color: var(--rob-soft);
font-size: .96rem;
line-height: 1.45;
}
.rob-event-meta-row strong { color: var(--rob-text); }
.rob-event-icon,
.rob-single-event-box .rob-event-icon {
flex: 0 0 18px !important;
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
width: 18px !important;
min-width: 18px !important;
max-width: 18px !important;
height: 18px !important;
min-height: 18px !important;
max-height: 18px !important;
margin: 2px 5px 0 0 !important;
padding: 0 !important;
overflow: hidden !important;
border-radius: 0 !important;
background: transparent !important;
color: var(--rob-accent) !important;
line-height: 1 !important;
}
.rob-event-icon svg,
.rob-single-event-box .rob-event-icon svg {
display: block !important;
width: 18px !important;
height: 18px !important;
margin: 0 !important;
padding: 0 !important;
fill: currentColor !important;
}
.rob-event-time-inline { color: var(--rob-soft); }
.rob-event-excerpt {
margin: .85rem 0 0;
color: #5f5556;
font-size: .96rem;
line-height: 1.65;
}
.rob-event-card-actions {
margin: auto 0 0;
padding-top: 1.05rem;
}
.rob-event-button,
.rob-event-button:link,
.rob-event-button:visited {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 44px;
padding: .72rem 1.15rem;
border: 1px solid var(--rob-accent);
border-radius: 999px;
background: var(--rob-accent);
color: #fff !important;
font-size: .94rem;
font-weight: 700;
line-height: 1;
text-decoration: none !important;
box-shadow: 0 7px 16px rgba(129,28,52,.14);
transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.rob-event-button:hover,
.rob-event-button:focus {
background: var(--rob-accent-dark);
color: #fff !important;
transform: translateY(-1px);
box-shadow: 0 10px 22px rgba(129,28,52,.19);
}
.rob-event-button:focus-visible {
outline: 3px solid rgba(129,28,52,.24);
outline-offset: 3px;
}
.rob-event-date-badge {
position: absolute;
z-index: 2;
top: .8rem;
right: .8rem;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-width: 3.35rem;
padding: .4rem .48rem;
border: 1px solid rgba(220,200,189,.9);
border-radius: 13px;
background: rgba(255,253,249,.94);
color: var(--rob-accent);
line-height: 1;
text-transform: uppercase;
box-shadow: 0 7px 18px rgba(78,48,45,.11);
backdrop-filter: blur(5px);
}
.rob-event-date-badge span { font-size: .7rem; font-weight: 700; letter-spacing: .06em; }
.rob-event-date-badge strong { margin-top: .18rem; font-size: 1.3rem; } .rob-event-archive {
max-width: 1180px;
margin: 1.75rem auto;
}
.rob-event-pagination {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: .55rem;
margin: 2rem 0 0;
}
.rob-event-page-link,
.rob-event-page-link:link,
.rob-event-page-link:visited {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 42px;
min-height: 42px;
padding: .55rem .85rem;
border: 1px solid var(--rob-border-strong);
border-radius: 999px;
background: var(--rob-paper);
color: var(--rob-accent);
font-weight: 700;
text-decoration: none;
}
.rob-event-page-link:hover,
.rob-event-page-link:focus,
.rob-event-page-link.is-current {
border-color: var(--rob-accent);
background: var(--rob-accent);
color: #fff;
text-decoration: none;
}
.rob-event-page-link:focus-visible {
outline: 3px solid rgba(129,28,52,.22);
outline-offset: 2px;
} .single-rob_event .entry-meta,
.single-rob_event .post-meta,
.single-rob_event .posted-on,
.single-rob_event .byline,
.single-rob_event .author,
.single-rob_event .post-author,
.single-rob_event .post-date,
.single-rob_event .updated,
.single-rob_event .published,
.single-rob_event .entry-footer {
display: none !important;
}
.rob-single-event-page {
max-width: 980px;
margin: 0 auto 2rem;
}
.rob-single-event-hero {
margin: 0 0 1.3rem;
overflow: hidden;
border: 1px solid var(--rob-border);
border-radius: 22px;
background: var(--rob-paper-2);
box-shadow: var(--rob-shadow);
}
.rob-single-event-hero img {
display: block;
width: 100%;
height: auto;
max-height: 430px;
object-fit: cover;
}
.rob-single-event-box {
margin: 0 0 1.75rem;
padding: 1.45rem 1.55rem;
border: 1px solid var(--rob-border);
border-radius: 20px;
background:
radial-gradient(circle at 100% 0, rgba(176,138,84,.055), transparent 34%),
linear-gradient(180deg, var(--rob-paper), var(--rob-ivory));
box-shadow: var(--rob-shadow);
}
.rob-single-event-meta {
display: grid;
gap: .7rem;
margin-bottom: 1rem;
}
.rob-single-event-box .rob-event-meta-row { font-size: 1rem; }
.rob-single-event-description-block,
.rob-single-event-categories {
margin-top: 1.15rem;
padding-top: 1.15rem;
border-top: 1px solid var(--rob-border);
}
.rob-single-event-description-block h2,
.rob-single-event-categories h2 {
margin: 0 0 .7rem;
color: var(--rob-text);
font-family: Georgia, "Times New Roman", serif;
font-size: 1.25rem;
font-weight: 400;
}
.rob-single-event-category {
margin: .75rem 0 0;
padding: .95rem 1rem;
border: 1px solid var(--rob-border);
border-radius: 14px;
background: rgba(255,255,255,.72);
}
.rob-single-event-category h3 {
margin: 0 0 .35rem;
color: var(--rob-accent);
font-size: 1rem;
}
.rob-single-event-category-description {
color: #5f5556;
line-height: 1.7;
}
.rob-single-event-category-description p { margin: .45rem 0 0; }
.rob-single-event-category-description--empty { margin: .35rem 0 0; color: var(--rob-soft); font-style: italic; }
.rob-single-event-back { margin: 1.3rem 0 0; }
.single-rob_event .entry-content > .rob-single-event-page + * {
max-width: 980px;
margin-left: auto;
margin-right: auto;
}
.single-rob_event .entry-content p,
.single-rob_event .entry-content li { line-height: 1.7; } @media (max-width: 900px) {
.rob-event-list--horizontal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
.rob-calendar-wrap { padding: .95rem; border-radius: 18px; }
.rob-calendar-header {
grid-template-columns: 1fr;
justify-items: center;
}
.rob-calendar-nav-group {
width: 100%;
flex-wrap: wrap;
}
.rob-calendar-wrap a.rob-cal-nav,
.rob-calendar-wrap a.rob-cal-nav:link,
.rob-calendar-wrap a.rob-cal-nav:visited {
height: 40px !important;
min-height: 40px !important;
padding: 0 14px !important;
font-size: .84rem !important;
}
.rob-calendar-wrap a.rob-cal-nav-month { min-width: 98px !important; }
.rob-calendar-wrap a.rob-cal-nav-year { min-width: 66px !important; }
.rob-calendar-weekdays { display: none; }
.rob-calendar-grid { display: block; }
.rob-calendar-day {
min-height: auto;
margin-bottom: .55rem;
border-radius: 12px;
}
.rob-calendar-day.is-muted { display: none; }
.rob-event-list--horizontal { grid-template-columns: 1fr; }
.rob-event-card-title { font-size: 1.2rem; }
.rob-single-event-box { padding: 1.1rem; }
}
@media (max-width: 480px) {
.rob-calendar-nav-group { gap: .38rem; }
.rob-calendar-wrap a.rob-cal-nav-month { min-width: 92px !important; }
.rob-calendar-wrap a.rob-cal-nav-year { min-width: 62px !important; }
.rob-event-button { min-height: 42px; padding: .68rem 1rem; }
.rob-event-pagination { gap: .4rem; }
}
@media (prefers-reduced-motion: reduce) {
.rob-event-card,
.rob-event-image,
.rob-event-button,
.rob-calendar-wrap a.rob-cal-nav {
transition: none !important;
}
.rob-event-card:hover,
.rob-event-button:hover,
.rob-calendar-wrap a.rob-cal-nav:hover {
transform: none !important;
}
}