/* Scoped styles; override these variables in Divi's Custom CSS if needed. */
.roe-events{--roe-cream:#faf7ef;--roe-green:#243f35;--roe-claret:#653339;--roe-button-paper:#f2efe6;--roe-claret-hover:#58232a;--roe-gold:#a88b52;--roe-ink:#29342d;--roe-line:#ddd5c4;color:var(--roe-ink);font-family:"Gill Sans","Gill Sans MT",Calibri,sans-serif;font-size:16px;line-height:1.6}
.roe-events *{box-sizing:border-box}.roe-events h2,.roe-events h3{font-family:Garamond,"EB Garamond","Times New Roman",serif;color:var(--roe-green);font-weight:400;line-height:1.2;margin:0 0 16px;padding:0}.roe-events h2{font-size:36px}.roe-events h3{font-size:28px}.roe-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.roe-card{min-width:0;background:var(--roe-cream);border:1px solid var(--roe-line);display:flex;flex-direction:column;overflow-wrap:anywhere}.roe-image img{display:block;width:100%;height:210px;object-fit:cover}.roe-card-body{padding:24px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.roe-events .roe-date{font-size:14px;letter-spacing:.03em;color:#52614f;margin:0 0 12px;padding:0}.roe-description{margin-bottom:20px;width:100%}.roe-events .roe-description p{margin:0 0 10px;padding:0}.roe-events a:focus-visible{outline:3px solid var(--roe-gold);outline-offset:4px}.roe-month-nav{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}.roe-month-nav a{color:var(--roe-green);border-bottom:1px solid var(--roe-gold);text-decoration:none;padding:6px 0}.roe-month{margin:0 0 40px;scroll-margin-top:100px}.roe-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--roe-line);border:1px solid var(--roe-line)}.roe-weekday{background:var(--roe-green);color:white;text-align:center;padding:10px 3px;font-size:14px}.roe-day,.roe-blank{background:var(--roe-cream);min-height:65px;padding:7px;min-width:0}.roe-day-number{font-size:14px;color:#59634f;display:block;margin-bottom:6px}.roe-calendar .roe-card{border:0;background:transparent;margin-bottom:16px}.roe-calendar .roe-card:last-child{margin-bottom:0}.roe-calendar .roe-card-body{padding:0}.roe-calendar .roe-image{margin-bottom:10px}.roe-calendar .roe-image img{height:100px}.roe-calendar h3{font-size:21px;margin-bottom:10px}.roe-calendar .roe-date{font-size:12px;letter-spacing:0}.roe-calendar .roe-description{font-size:14px;margin-bottom:12px}.roe-empty{padding:24px;background:var(--roe-cream);border:1px solid var(--roe-line)}.roe-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.roe-calendar .roe-grid{display:block;background:transparent;border:0}.roe-calendar .roe-weekday,.roe-calendar .roe-blank,.roe-calendar .roe-no-event{display:none}.roe-calendar .roe-has-event{border:1px solid var(--roe-line);padding:20px;margin-bottom:16px}.roe-calendar .roe-card-body{padding:0}.roe-calendar .roe-image img{height:200px}.roe-calendar h3{font-size:28px}.roe-calendar .roe-date,.roe-calendar .roe-description{font-size:16px}}
@media(max-width:800px){.roe-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.roe-cards{grid-template-columns:1fr}.roe-card-body{padding:20px}.roe-events h2{font-size:30px}}

.roe-upcoming .roe-cards.roe-single{grid-template-columns:minmax(0,1fr)}

/* Book Now: shared Royal Oak button reference (1.0.4). */
.roe-events a.roe-book{
 display:flex;align-items:center;justify-content:center;align-self:stretch;
 width:100%;max-width:100%;min-height:0;margin-top:auto;padding:24px 20px;
 background:var(--roe-claret);color:var(--roe-button-paper);
 border:3px solid var(--roe-button-paper);border-radius:0;
 font-family:"Gill Sans","Gill Sans MT",Calibri,sans-serif;
 font-weight:400;font-style:normal;font-size:20px;line-height:1;
 letter-spacing:2px;text-transform:uppercase;text-align:center;text-decoration:none;
 white-space:normal;overflow-wrap:normal;
}
.roe-events a.roe-book:hover{
 background:var(--roe-claret-hover);border-color:var(--roe-button-paper);color:var(--roe-button-paper);
}

/* Fill the available module/column; announcements remain above the card. */
.roe-events.roe-upcoming{display:flex;flex-direction:column;width:100%;max-width:none;min-width:0;align-self:stretch}
.roe-upcoming .roe-cards{width:100%;min-width:0}
.roe-upcoming .roe-card{width:100%;min-width:0}
.roe-upcoming .roe-announcement{flex:0 0 auto;width:100%;padding:16px 24px;margin:0 0 16px;background:var(--roe-claret);color:var(--roe-button-paper);border:1px solid var(--roe-claret);overflow-wrap:anywhere}
.roe-upcoming .roe-announcement p{padding:0;margin:0 0 8px}
.roe-upcoming .roe-announcement p:last-child{margin-bottom:0}
