/* GeoCARE Webinars */
.wb-page { max-width: 1160px; margin: 0.6rem auto 3rem; font-family: 'Open Sans', 'Segoe UI', Arial, sans-serif; font-size: 1rem; line-height: 1.6; color: #322427; }
.wb-page, .wb-page * { box-sizing: border-box; }
:where(.wb-page) :where(h2, h3, p) { margin: 0; padding: 0; }
.wb-page .pub-admin-bar { margin-bottom: 1.4rem; }
.wb-head { text-align: center; margin-bottom: 1.6rem; }
.wb-eyebrow { color: #7f4862; font-size: 0.8rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 0.4rem; }
.wb-title { color: #6b1239; font-family: 'Montserrat', 'Segoe UI', Arial, sans-serif; font-size: 2.2rem; font-weight: 800; line-height: 1.15; }
.wb-title::after { content: ""; display: block; width: 64px; height: 4px; margin: 0.9rem auto 0; background: #6b1239; border-radius: 2px; }
.wb-intro { margin: 0.9rem auto 0; max-width: 52em; color: #7f4862; font-size: 1.02rem; }

.wb-next { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.8rem; padding: 1.3rem 1.7rem; background: linear-gradient(135deg, #6b1239, #4e0c29); color: #fff; border-radius: 14px; }
.wb-next h3 { color: #fff; font-family: 'Montserrat', 'Segoe UI', Arial, sans-serif; font-size: 1.2rem; font-weight: 800; margin-bottom: 0.3rem; }
.wb-next p { color: #f3e4ec; font-size: 0.95rem; }

.wb-season { margin-bottom: 1.8rem; }
.wb-season__h { display: flex; align-items: center; gap: 0.7rem; margin-bottom: 0.9rem; color: #6b1239; font-family: 'Montserrat', 'Segoe UI', Arial, sans-serif; font-size: 1.3rem; font-weight: 800; }
.wb-season__h small { color: #7f4862; font-size: 0.8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.wb-season__h::after { content: ""; flex: 1; height: 2px; background: linear-gradient(to right, #d9bcd5, transparent); }
.wb-season__dot { width: 10px; height: 10px; border-radius: 50%; background: #1d6b3a; box-shadow: 0 0 0 4px #e4f3ea; }
.wb-grid { display: grid; gap: 1rem; }

.wb { position: relative; display: grid; grid-template-columns: 220px 1fr; gap: 1.3rem; padding: 1.1rem 1.3rem 1.1rem 1.1rem; background: #fff; border: 1.8px solid #e2cdd9; border-radius: 16px; box-shadow: 0 4px 12px rgba(107, 18, 57, 0.07); transition: box-shadow 0.25s; }
.wb:hover { box-shadow: 0 10px 24px rgba(107, 18, 57, 0.13); }
.wb--upcoming { border-color: #1d6b3a; background: linear-gradient(135deg, #fff 60%, #f1f8f3); }
.wb__media { display: flex; align-items: center; justify-content: center; height: 220px; border-radius: 12px; overflow: hidden; background: #f6eef2; border: 1px solid #f0e3ea; }
.wb__media img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
.wb__noimg { color: #d9bcd5; font-family: 'Montserrat', 'Segoe UI', Arial, sans-serif; font-size: 3rem; font-weight: 800; }
.wb__body { position: relative; display: flex; flex-direction: column; gap: 0.4rem; min-width: 0; }
.wb__meta { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; padding-right: 4.5rem; }
.wb__num { color: #7f4862; font-size: 0.78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.wb__badge { display: inline-block; padding: 0.2rem 0.65rem; border-radius: 999px; background: #e4f3ea; color: #1d6b3a; font-size: 0.7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.wb__badge--rec { background: #fdf3d5; color: #7a5a00; }
.wb__when { display: flex; flex-wrap: wrap; gap: 0.3rem 0.9rem; color: #6b1239; font-weight: 700; font-size: 0.92rem; }
.wb__time::before { content: "\2022"; margin-right: 0.6rem; color: #d9bcd5; }
.wb__title { color: #3a0a20; font-family: 'Montserrat', 'Segoe UI', Arial, sans-serif; font-size: 1.2rem; font-weight: 800; line-height: 1.3; }
.wb__speaker { display: flex; flex-direction: column; gap: 0.05rem; font-size: 0.95rem; }
.wb__name { font-weight: 700; color: #322427; }
.wb__name a, .wb__aff a { color: inherit; text-decoration: underline; text-decoration-color: #d9bcd5; text-underline-offset: 2px; }
.wb__name a:hover, .wb__aff a:hover { color: #6b1239; text-decoration-color: #6b1239; }
.wb__aff { color: #7f4862; font-size: 0.9rem; }
.wb-toggle { position: absolute; opacity: 0; pointer-events: none; }
.wb__abstract { display: none; margin-top: 0.4rem; padding: 0.9rem 1rem; background: #faf5f7; border-left: 3px solid #d9bcd5; border-radius: 0 10px 10px 0; }
.wb__abstract p, .wb__abstract li { font-size: 0.93rem; line-height: 1.6; color: #3d2f34; margin: 0 0 0.6rem; }
.wb__abstract p:last-child { margin-bottom: 0; }
.wb__abstract ul { margin: 0.2rem 0 0.6rem 1.1rem; padding: 0; }
.wb-toggle:checked ~ .wb__abstract { display: block; }
.wb__actions { display: flex; flex-wrap: wrap; gap: 0.5rem 0.7rem; align-items: center; margin-top: 0.3rem; }
.wb-toggle:checked ~ .wb__actions .story-btn__more { display: none; }
.wb-toggle:checked ~ .wb__actions .story-btn__less { display: inline; }
.wb__btn { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.42rem 1rem; border-radius: 999px; border: 1.5px solid #6b1239; background: #6b1239; color: #fff !important; font-size: 0.85rem; font-weight: 700; line-height: 1; text-decoration: none !important; transition: background 0.2s, color 0.2s, border-color 0.2s; }
.wb__btn:hover { background: #4e0c29; border-color: #4e0c29; }
.wb__btn--gold { background: #f0c14b; border-color: #f0c14b; color: #3a0a20 !important; }
.wb__btn--gold:hover { background: #fff; border-color: #fff; color: #6b1239 !important; }
.wb-next .wb__btn--gold:hover { background: #fff; }
.wb-next .wb__btn { white-space: nowrap; flex-shrink: 0; }
.wb__btn--ghost { background: transparent; color: #6b1239 !important; }
.wb__btn--ghost:hover { background: #f6eef2; }
.wb__edit { position: absolute; top: 0; right: 0; }

@media (max-width: 900px) {
  .wb { grid-template-columns: 1fr; }
  .wb__media { height: 200px; }
  .wb-next { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) { .wb-title { font-size: 1.7rem; } .wb__edit { position: static; align-self: flex-start; } }
@media print { .pub-admin-bar, .wb__edit, .wb__more { display: none !important; } .wb__abstract { display: block !important; } }
