/* Small homepage widget. Fonts always inherit the WordPress theme. */
.gm-upcoming{--gm-brand:#103665;--gm-accent:#f5bf43;--gm-radius:16px;--gm-fit:cover;color:var(--gm-brand);width:100%;max-width:100%;min-width:0;font-family:inherit;font-size:15px;line-height:1.5;isolation:isolate}
.gm-upcoming *,.gm-upcoming *::before,.gm-upcoming *::after{box-sizing:border-box}
.gm-upcoming [hidden]{display:none!important}
.gm-upcoming :is(a,button){font-family:inherit}
.gm-upcoming a{text-decoration:none!important}
.gm-upcoming a:focus-visible,.gm-upcoming button:focus-visible,.gm-upcoming__rail:focus-visible{outline:3px solid var(--gm-accent)!important;outline-offset:3px}
.gm-upcoming__header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 19px}
.gm-upcoming__header-copy{min-width:0}
.gm-upcoming__eyebrow{display:block;font-size:10px;line-height:1.4;letter-spacing:.14em;font-weight:800;color:var(--gm-brand);margin:0 0 7px}
.gm-upcoming__header h2{font-family:inherit!important;color:var(--gm-brand);font-size:clamp(21px,2.4vw,28px);font-weight:800;line-height:1.2;letter-spacing:-.028em;margin:0!important;padding:0!important}
.gm-upcoming__actions{display:flex;align-items:center;gap:19px;flex-shrink:0}
.gm-upcoming .gm-upcoming__all{display:inline-flex!important;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:10px 17px!important;white-space:nowrap;font-size:13px!important;line-height:1.3!important;font-weight:800!important;letter-spacing:.005em;color:#fff!important;background:var(--gm-brand)!important;border:1px solid var(--gm-brand)!important;border-radius:10px!important;box-shadow:0 5px 14px rgba(16,54,101,.18)!important;transition:transform .18s,background .18s,color .18s,box-shadow .18s}
.gm-upcoming .gm-upcoming__all:hover{background:var(--gm-accent)!important;color:var(--gm-brand)!important;border-color:var(--gm-accent)!important;transform:translateY(-1px);box-shadow:0 7px 17px rgba(16,54,101,.14)!important;text-decoration:none!important}
.gm-upcoming .gm-upcoming__all span{display:inline-flex;align-items:center;font-size:17px;line-height:1;vertical-align:baseline;margin-left:0;transition:transform .18s}
.gm-upcoming .gm-upcoming__all:hover span{transform:translate(2px,-2px)}
.gm-upcoming__controls{display:flex;align-items:center;gap:6px}
.gm-upcoming__arrow{background:#fff!important;color:var(--gm-brand)!important;border:1px solid #dce5ee!important;box-shadow:none!important;border-radius:9px!important;padding:0!important;width:35px;height:35px;min-width:35px;display:grid;place-items:center;cursor:pointer;font-size:18px;line-height:1!important;font-weight:400!important;transition:background .18s,color .18s}
.gm-upcoming__arrow:hover{background:var(--gm-brand)!important;color:#fff!important}
.gm-upcoming__pause{background:transparent!important;border:0!important;box-shadow:none!important;padding:4px 5px!important;font-size:11px!important;font-weight:700!important;color:var(--gm-brand)!important;cursor:pointer}
.gm-upcoming__rail{display:flex;align-items:stretch;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:1px;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#d7e1ed transparent;padding:1px 1px 14px;max-width:100%;-webkit-overflow-scrolling:touch}
.gm-upcoming__card{background:#fff;border:1px solid #e0e7f0;border-radius:var(--gm-radius);overflow:hidden;box-shadow:0 5px 19px rgba(15,48,83,.055);display:flex;flex-direction:column;min-width:0;flex:0 0 calc((100% - 32px)/3);scroll-snap-align:start;scroll-snap-stop:normal;min-height:100%;transition:box-shadow .2s,transform .2s}
.gm-upcoming__card:hover{box-shadow:0 12px 24px rgba(15,48,83,.11);transform:translateY(-2px)}
.gm-upcoming__cover{display:block;aspect-ratio:2/1;width:100%;position:relative;overflow:hidden;background:var(--gm-brand)}
.gm-upcoming__cover img{position:relative!important;z-index:1;display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:var(--gm-fit)!important;object-position:center!important;margin:0!important}
.gm-upcoming__cover img[hidden]{display:none!important}
.gm-upcoming__placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:28px;background:radial-gradient(circle at 76% 21%,rgba(139,201,240,.22),transparent 38%),linear-gradient(130deg,var(--gm-brand),#4977a2);color:#fff;text-align:center}
.gm-upcoming__orbits{position:absolute;right:-55px;top:-100px;width:220px;height:220px;border:1px solid rgba(255,255,255,.25);border-radius:50%;box-shadow:0 0 0 40px rgba(255,255,255,.035),0 0 0 88px rgba(255,255,255,.026)}
.gm-upcoming__core-mark{position:relative;z-index:1;color:white;font-weight:800;font-size:clamp(20px,3vw,32px);line-height:1.2;letter-spacing:-.015em;overflow-wrap:anywhere}
.gm-upcoming__core-mark--long{font-size:clamp(13px,1.5vw,17px);max-width:260px}
.gm-upcoming__date-badge{position:absolute;z-index:2;top:12px;left:12px;display:flex;align-items:center;flex-direction:column;justify-content:center;min-width:47px;min-height:50px;background:#fff;color:var(--gm-brand);border-radius:8px;padding:5px 9px;box-shadow:0 4px 15px rgba(0,0,0,.12);line-height:1}
.gm-upcoming__date-badge strong{font-size:20px;font-weight:800;letter-spacing:-.05em}
.gm-upcoming__date-badge small{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;margin-top:4px}
.gm-upcoming__content{padding:16px 17px 15px;display:flex;flex-direction:column;flex:1;min-width:0}
.gm-upcoming__core-label{display:block;color:var(--gm-brand);font-size:10px;line-height:1.3;font-weight:800;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:7px}
.gm-upcoming__content h3{font-family:inherit!important;font-weight:800!important;color:#173756!important;font-size:var(--gm-card-title,14px)!important;line-height:1.38!important;letter-spacing:-.01em!important;margin:0 0 13px!important;padding:0!important;min-height:43px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gm-upcoming__content h3 a{color:inherit!important}
.gm-upcoming__content h3 a:hover{color:var(--gm-brand)!important;text-decoration:underline!important}
.gm-upcoming__details{display:flex;flex-direction:column;gap:6px;margin:0 0 15px;color:#63768d;font-size:12px;line-height:1.4}
.gm-upcoming__details>span{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gm-upcoming__details svg{height:14px;width:14px;flex:0 0 14px}
.gm-upcoming__bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:7px;border-top:1px solid #ecf0f5;padding-top:11px}
.gm-upcoming__bottom>a{font-size:11px;font-weight:800;color:var(--gm-brand)!important;white-space:nowrap}
.gm-upcoming__bottom>a:hover{text-decoration:underline!important}
.gm-upcoming__countdown{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:850;color:#573c00;background:#fff0bb;border:1px solid #eebf46;border-radius:8px;padding:7px 10px;white-space:nowrap;box-shadow:0 1px 0 rgba(119,83,0,.05)}
.gm-upcoming__countdown svg{width:15px;height:15px;flex:0 0 15px}
.gm-upcoming__empty{border:1px dashed #bacadb;background:#f7f9fc;color:#536985;padding:22px;border-radius:12px;font-size:14px}
.gm-upcoming__empty a{color:var(--gm-brand)!important;font-weight:700;text-decoration:underline!important}
.gm-upcoming__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:900px){.gm-upcoming__card{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:580px){.gm-upcoming__header{align-items:start;flex-direction:column;gap:10px}.gm-upcoming__actions{gap:9px;flex-wrap:wrap;justify-content:space-between;width:100%}.gm-upcoming__eyebrow{font-size:9px}.gm-upcoming__header h2{font-size:24px}.gm-upcoming__card{flex-basis:min(86%,330px)}.gm-upcoming__pause{font-size:10px!important}.gm-upcoming__cover{aspect-ratio:1.9/1}}
@media(prefers-reduced-motion:reduce){.gm-upcoming__card,.gm-upcoming__arrow,.gm-upcoming .gm-upcoming__all,.gm-upcoming .gm-upcoming__all span{transition:none!important;transform:none!important}.gm-upcoming__rail{scroll-behavior:auto!important}}
