/* Scoped styling. No site-wide CSS changes, external fonts or JS dependencies. */
.rafm-events {
  position:relative; isolation:isolate; overflow:hidden; width:100%;
  background-color:#090a0a; background-position:center center; background-size:cover;
  color:#f7f7f5; padding:76px 24px 86px; font-family:inherit;
}
.rafm-events::before {
  position:absolute; content:""; z-index:-1; inset:0;
  background:linear-gradient(180deg,rgba(6,7,8,.91),rgba(6,7,8,.95) 50%,rgba(6,7,8,.93)),
             radial-gradient(ellipse at 80% 12%, rgba(255,225,0,.16), transparent 48%);
}
.rafm-events * {box-sizing:border-box}
.rafm-events-inner {width:100%;max-width:1260px;margin:0 auto}
.rafm-section-heading {display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin:0 0 30px}
.rafm-section-heading h2,.rafm-section-heading h3,.rafm-event-card h3,.rafm-featured h3 {margin:0;font-family:inherit}
.rafm-section-heading h2 {font-size:clamp(31px,4vw,53px);line-height:1.06;font-weight:900;letter-spacing:-.035em;color:#fff}
.rafm-section-heading h2 em {font-style:normal;color:#ffee00}
.rafm-section-heading p {font-size:16px;color:#c7c7c7;margin:13px 0 0}
.rafm-eyebrow {display:block;color:#ffef00;font-size:11px;letter-spacing:.21em;font-weight:850;margin-bottom:13px}
.rafm-view-all,.rafm-ghost-button {border:1px solid #f5e500;padding:13px 20px;text-decoration:none;color:#fff;white-space:nowrap;font-size:12px;font-weight:800;letter-spacing:.055em;display:inline-flex;align-items:center;gap:20px;background:#090909b8}
.rafm-view-all:hover,.rafm-view-all:focus-visible {background:#f5e500;color:#080808}
.rafm-cards {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch}
.rafm-event-card {background:linear-gradient(180deg,#1b1c1f,#0d0e0f);border:1px solid #454232;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;min-width:0;box-shadow:0 15px 28px #0005;transition:transform .2s ease,border-color .2s ease}
.rafm-event-card:hover {transform:translateY(-4px);border-color:#d7c800}
.rafm-card-image {height:205px;position:relative;background-color:#1c1a10;background-position:center;background-size:cover;flex-shrink:0}
.rafm-card-image::after {content:"";position:absolute;inset:0;background:linear-gradient(0deg,#080808a1,transparent 55%)}
.rafm-card-date {position:absolute;z-index:1;top:12px;left:12px;display:flex;flex-direction:column;align-items:center;background:#090909ec;color:#fff;padding:8px 11px;border-left:3px solid #f5e500;min-width:52px}
.rafm-card-date strong {font-size:26px;line-height:1;font-weight:900}
.rafm-card-date span {font-size:11px;line-height:1.2;margin-top:4px;letter-spacing:.09em;text-transform:uppercase}
.rafm-card-body {padding:22px 19px 21px;display:flex;flex-direction:column;align-items:flex-start;flex:1;gap:11px}
.rafm-tag {color:#ffe900;font-size:10px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.rafm-event-card h3 {font-size:clamp(20px,1.65vw,25px);line-height:1.15;font-weight:800;color:#fff;overflow-wrap:break-word}
.rafm-card-desc {color:#cacaca;font-size:13px;line-height:1.55;margin:0 0 4px}
.rafm-meta {font-size:12px;color:#ececec;line-height:1.4;margin:0}
.rafm-button {display:inline-flex;align-items:center;justify-content:space-between;gap:18px;text-decoration:none;background:#ffe800;color:#0a0a0a!important;border:1px solid #ffe800;border-radius:3px;padding:13px 17px;font-size:12px;font-weight:900;line-height:1.2;letter-spacing:.035em;max-width:100%;transition:background-color .2s ease}
.rafm-button:hover,.rafm-button:focus-visible {background:#fff771;color:#070707!important;border-color:#fff771}
.rafm-card-body .rafm-button,.rafm-card-body .rafm-ghost-button {margin-top:auto;width:100%;justify-content:center}
.rafm-event-placeholder .rafm-card-image {filter:saturate(.58)}
.rafm-event-placeholder .rafm-card-image::after {background:linear-gradient(90deg,#030303a6,#1313138a)}
.rafm-icon {position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);font-size:45px;color:#f5e500;text-shadow:0 0 25px #faed0030}
.rafm-event-placeholder .rafm-ghost-button {background:transparent;color:#f7e700;border-color:#aa9c00}
.rafm-featured {margin-top:38px;min-height:340px;border:1px solid #655719;border-radius:6px;display:flex;align-items:center;overflow:hidden;background-position:center 48%;background-size:cover;position:relative;isolation:isolate;box-shadow:0 22px 45px #0009}
.rafm-featured::before {content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(4,5,5,.97) 0%,rgba(4,5,5,.92) 35%,rgba(4,5,5,.66) 62%,rgba(4,5,5,.17) 100%)}
.rafm-featured-content {width:min(100%,760px);padding:46px 51px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.rafm-featured-label {font-size:11px;font-weight:900;letter-spacing:.17em;color:#fbea00}
.rafm-featured h3 {color:#fff;font-size:clamp(31px,4.3vw,59px);font-weight:900;text-transform:uppercase;line-height:1.05;letter-spacing:-.035em;text-wrap:balance}
.rafm-featured-description {color:#e8e8e8;font-size:16px;line-height:1.5;margin:0;max-width:590px}
.rafm-featured-meta {display:flex;flex-wrap:wrap;gap:11px 25px;color:#fff;font-weight:700;font-size:13px}
.rafm-featured-cta {min-width:185px}
.rafm-past-heading {margin-top:75px}
.rafm-empty {color:#eee;font-size:16px}
.rafm-events a:focus-visible {outline:2px solid #fff;outline-offset:4px}
@media(max-width:1024px) {
 .rafm-events {padding:62px 20px 70px}
 .rafm-cards {grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .rafm-card-image {height:205px}
 .rafm-featured-content {padding:40px 32px}
}
@media(max-width:600px) {
 .rafm-events {padding:43px 14px 56px}
 .rafm-section-heading {align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:22px}
 .rafm-section-heading h2 {font-size:36px}
 .rafm-section-heading p {font-size:14px;margin-top:9px}
 .rafm-view-all {font-size:11px;padding:11px 14px}
 .rafm-cards {grid-template-columns:1fr;gap:15px}
 .rafm-event-card {display:grid;grid-template-columns:38% minmax(0,1fr);min-height:220px}
 .rafm-card-image {height:100%;min-height:220px}
 .rafm-card-date {top:10px;left:8px;padding:7px}
 .rafm-card-date strong {font-size:21px}
 .rafm-card-body {padding:13px 12px;gap:9px}
 .rafm-event-card h3 {font-size:18px}
 .rafm-card-desc {font-size:12px}
 .rafm-meta {font-size:11px}
 .rafm-card-body .rafm-button,.rafm-card-body .rafm-ghost-button {font-size:10px;padding:10px 6px;white-space:normal;gap:5px}
 .rafm-featured {min-height:390px;margin-top:24px;background-position:65% center}
 .rafm-featured::before {background:linear-gradient(90deg,#070707e8,#070707bb),linear-gradient(0deg,#070707a0,transparent)}
 .rafm-featured-content {padding:27px 22px;gap:15px}
 .rafm-featured h3 {font-size:35px}
 .rafm-featured-description {font-size:14px}
 .rafm-featured-meta {font-size:12px}
 .rafm-past-heading {margin-top:44px}
}
@media(prefers-reduced-motion:reduce) {.rafm-event-card,.rafm-button {transition:none}.rafm-event-card:hover {transform:none}}

/* The Drop must clear its full card height before the events section starts. */
body.home .elementor-widget-shortcode:has(> .elementor-shortcode > .rafm-drop) { margin-bottom:24px !important; }

/* Keep coming-soon placeholders on desktop; show real events only on phones. */
@media(max-width:767px) {
 .rafm-events-home .rafm-event-placeholder {display:none !important}
}
