:root {
  --agenda-ink: #07172b;
  --agenda-muted: #64748b;
  --agenda-blue: #0d6efd;
  --agenda-cyan: #06b6d4;
  --agenda-gold: #f59e0b;
  --agenda-line: rgba(15, 23, 42, .1);
  --agenda-card: #fff;
  --agenda-soft: #f4f8fc;
  --agenda-radius: 24px;
}

.agenda-shell, .agenda-detail, .agenda-form-page, .agenda-success {
  color: var(--agenda-ink);
  background:
    radial-gradient(circle at 5% 18%, rgba(14, 165, 233, .08), transparent 24rem),
    radial-gradient(circle at 92% 75%, rgba(245, 158, 11, .07), transparent 24rem),
    #f8fafc;
}

.agenda-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(4rem, 9vw, 8rem) 0;
  color: #fff;
  background:
    linear-gradient(105deg, rgba(4, 20, 38, .97), rgba(9, 52, 88, .92)),
    repeating-linear-gradient(90deg, transparent 0 80px, rgba(255,255,255,.03) 81px);
}
.agenda-hero::before {
  position: absolute; inset: 0; content: "";
  background: radial-gradient(circle at 75% 30%, rgba(6,182,212,.27), transparent 25rem);
}
.agenda-hero__grid { position: relative; display: grid; grid-template-columns: 1.25fr .75fr; align-items: center; gap: 4rem; }
.agenda-hero h1 { max-width: 850px; margin: 1rem 0; font: 900 clamp(2.7rem, 6vw, 5.7rem)/.96 "Playfair Display", Georgia, serif; letter-spacing: -.055em; }
.agenda-hero h1 em { display: block; color: #67e8f9; font-style: normal; }
.agenda-hero p { max-width: 700px; color: #d6e6f4; font-size: clamp(1rem, 1.5vw, 1.25rem); line-height: 1.75; }
.agenda-kicker { display: inline-flex; align-items: center; gap: .45rem; color: #0891b2; font-size: .74rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.agenda-hero .agenda-kicker { color: #67e8f9; }
.agenda-hero__actions, .agenda-detail__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.agenda-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 48px; padding: .75rem 1.2rem; border: 1px solid transparent; border-radius: 14px; font-weight: 850; text-decoration: none; transition: .2s ease; }
.agenda-btn:hover { transform: translateY(-2px); }
.agenda-btn--primary { color: #fff; background: linear-gradient(135deg, #0d6efd, #4338ca); box-shadow: 0 15px 34px -18px #0d6efd; }
.agenda-btn--primary:hover { color: #fff; filter: brightness(1.07); }
.agenda-btn--glass { color: #fff; border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.09); backdrop-filter: blur(12px); }
.agenda-btn--outline { color: #17324d; border-color: var(--agenda-line); background: #fff; }
.agenda-hero__visual { position: relative; min-height: 280px; }
.agenda-calendar-mark { position: absolute; inset: 8% 10%; display: grid; place-content: center; border: 1px solid rgba(255,255,255,.18); border-radius: 35px; text-align: center; background: linear-gradient(145deg, rgba(255,255,255,.15), rgba(255,255,255,.04)); box-shadow: 0 40px 80px -35px #000; backdrop-filter: blur(18px); transform: rotate(3deg); }
.agenda-calendar-mark span { font-weight: 800; text-transform: uppercase; letter-spacing: .15em; }
.agenda-calendar-mark strong { color: #fbbf24; font: 900 5rem/1 "Playfair Display", serif; }
.agenda-calendar-mark small { color: #dbeafe; }
.agenda-orbit { position: absolute; z-index: 2; display: grid; width: 62px; aspect-ratio: 1; place-items: center; border-radius: 20px; font-size: 1.7rem; box-shadow: 0 20px 40px -20px #000; }
.agenda-orbit--one { top: 0; right: 4%; color: #0e7490; background: #cffafe; transform: rotate(9deg); }
.agenda-orbit--two { bottom: 0; left: 4%; color: #b45309; background: #fef3c7; transform: rotate(-8deg); }

.agenda-filters { position: relative; z-index: 5; display: grid; grid-template-columns: 2fr repeat(5, minmax(120px, 1fr)) auto; gap: .65rem; margin: -34px 0 4rem; padding: 1rem; border: 1px solid var(--agenda-line); border-radius: 20px; background: rgba(255,255,255,.96); box-shadow: 0 24px 60px -36px rgba(15,23,42,.5); }
.agenda-filters input, .agenda-filters select, .agenda-filters button { min-width: 0; height: 48px; border: 1px solid #dce5ee; border-radius: 12px; background: #f8fafc; color: #20344b; padding: 0 .8rem; }
.agenda-filters button { border: 0; color: #fff; font-weight: 800; background: #0d6efd; }
.agenda-search { position: relative; }
.agenda-search i { position: absolute; top: 50%; left: .9rem; color: #64748b; transform: translateY(-50%); }
.agenda-search input { width: 100%; padding-left: 2.5rem; }
.agenda-filter-reset { align-self: center; color: #64748b; font-size: .8rem; font-weight: 700; }

.agenda-featured { display: grid; overflow: hidden; grid-template-columns: 1.05fr .95fr; min-height: 460px; margin-bottom: 5rem; border: 1px solid var(--agenda-line); border-radius: 32px; background: #071d33; box-shadow: 0 35px 80px -50px #07172b; }
.agenda-featured__media { position: relative; display: grid; place-items: center; overflow: hidden; color: #67e8f9; font-size: 6rem; background: linear-gradient(145deg, #0e3a5e, #07172b); }
.agenda-featured__media::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, transparent 70%, #071d33); }
.agenda-featured__media img { width: 100%; height: 100%; object-fit: cover; }
.agenda-featured__content { align-self: center; padding: clamp(2rem, 5vw, 4.5rem); color: #fff; }
.agenda-featured__content h2 { margin: .8rem 0 1rem; font: 800 clamp(2rem, 4vw, 3.5rem)/1.05 "Playfair Display", serif; }
.agenda-featured__content > p:not(.agenda-featured__date) { color: #cbd5e1; line-height: 1.7; }
.agenda-featured__date { color: #fbbf24; font-weight: 800; }
.agenda-featured__meta { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1.5rem 0; color: #dbeafe; font-size: .88rem; }

.agenda-section-head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin: 0 0 1.8rem; }
.agenda-section-head h2 { margin: .25rem 0 0; font: 850 clamp(1.8rem, 4vw, 3rem)/1.1 "Playfair Display", serif; }
.agenda-section-head > strong { color: #64748b; font-size: .85rem; }
.agenda-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; padding-bottom: 4rem; }
.agenda-card { overflow: hidden; border: 1px solid var(--agenda-line); border-radius: var(--agenda-radius); background: var(--agenda-card); box-shadow: 0 22px 50px -38px rgba(15,23,42,.55); transition: transform .22s ease, box-shadow .22s ease; }
.agenda-card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -38px rgba(15,23,42,.65); }
.agenda-card__cover { position: relative; display: block; height: 210px; overflow: hidden; text-decoration: none; background: #e8f1f8; }
.agenda-card__cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.agenda-card:hover .agenda-card__cover img { transform: scale(1.04); }
.agenda-card__placeholder { display: grid; height: 100%; place-items: center; color: var(--event-color); font-size: 4rem; background: radial-gradient(circle, color-mix(in srgb, var(--event-color) 16%, #fff), #eef4f8); }
.agenda-card__type, .agenda-card__verified { position: absolute; top: 1rem; left: 1rem; padding: .35rem .65rem; border-radius: 999px; color: #fff; font-size: .65rem; font-weight: 900; text-transform: uppercase; background: rgba(6,21,39,.84); backdrop-filter: blur(7px); }
.agenda-card__verified { right: 1rem; left: auto; background: #047857; }
.agenda-card__body { display: grid; grid-template-columns: 58px 1fr; gap: 1rem; padding: 1.35rem; }
.agenda-card__date { text-align: center; }
.agenda-card__date strong { display: block; color: #0d6efd; font: 900 2rem/1 "Playfair Display", serif; }
.agenda-card__date span { display: block; margin-top: .25rem; color: #64748b; font-size: .63rem; font-weight: 800; text-transform: uppercase; }
.agenda-card__eyebrow { display: flex; justify-content: space-between; gap: .5rem; color: #64748b; font-size: .61rem; font-weight: 850; text-transform: uppercase; }
.agenda-card__eyebrow span:first-child { color: var(--event-color); }
.agenda-card h2 { margin: .65rem 0; font: 800 1.27rem/1.22 "Playfair Display", serif; }
.agenda-card h2 a { color: var(--agenda-ink); text-decoration: none; }
.agenda-card__content > p { color: var(--agenda-muted); font-size: .86rem; line-height: 1.6; }
.agenda-card__meta { display: flex; flex-wrap: wrap; gap: .65rem; color: #526477; font-size: .72rem; font-weight: 700; }
.agenda-card__meta i { color: #0d6efd; }
.agenda-empty { margin-bottom: 5rem; padding: 5rem 1rem; border: 1px dashed #bfd0df; border-radius: 28px; text-align: center; background: #fff; }
.agenda-empty > i { color: #94a3b8; font-size: 4rem; }
.agenda-pagination { display: flex; justify-content: center; align-items: center; gap: 1rem; padding-bottom: 5rem; }
.agenda-pagination a, .agenda-pagination span { padding: .65rem 1rem; border: 1px solid var(--agenda-line); border-radius: 10px; background: #fff; text-decoration: none; }

.agenda-detail { padding: 2rem 0 6rem; }
.agenda-breadcrumb { display: flex; align-items: center; gap: .5rem; overflow: hidden; margin-bottom: 2rem; color: #64748b; font-size: .8rem; white-space: nowrap; }
.agenda-breadcrumb a { color: #475569; text-decoration: none; }
.agenda-detail__hero { display: grid; overflow: hidden; grid-template-columns: 1.05fr .95fr; min-height: 540px; border-radius: 34px; color: #fff; background: #071d33; box-shadow: 0 40px 90px -55px #07172b; }
.agenda-detail__cover { display: grid; place-items: center; overflow: hidden; background: #0c304e; }
.agenda-detail__cover img { width: 100%; height: 100%; object-fit: cover; }
.agenda-detail__cover > span { display: grid; width: 100%; height: 100%; place-items: center; color: var(--event-color); font-size: 7rem; background: radial-gradient(circle, rgba(255,255,255,.12), transparent); }
.agenda-detail__intro { align-self: center; padding: clamp(2rem, 5vw, 4.5rem); }
.agenda-detail__badges { display: flex; flex-wrap: wrap; gap: .45rem; }
.agenda-detail__badges span { padding: .35rem .65rem; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; color: #dbeafe; font-size: .65rem; font-weight: 850; background: rgba(255,255,255,.07); }
.agenda-detail__badges .is-verified { color: #d1fae5; background: rgba(16,185,129,.17); }
.agenda-detail__category { margin: 1.5rem 0 .6rem; color: #67e8f9; font-weight: 850; text-transform: uppercase; }
.agenda-detail__intro h1 { font: 900 clamp(2.1rem, 4vw, 4rem)/1 "Playfair Display", serif; letter-spacing: -.035em; }
.agenda-detail__lead { color: #cbd5e1; line-height: 1.7; }
.agenda-detail__layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 2rem; margin-top: 2rem; }
.agenda-panel, .agenda-factbox, .agenda-reminder { padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid var(--agenda-line); border-radius: 24px; background: #fff; }
.agenda-panel h2, .agenda-factbox h2, .agenda-reminder h2 { margin: .35rem 0 1rem; font: 850 1.7rem "Playfair Display", serif; }
.agenda-prose { color: #334155; font-size: 1.03rem; line-height: 1.85; }
.agenda-detail__aside { display: grid; align-content: start; gap: 1rem; }
.agenda-factbox dl { margin: 0; }
.agenda-factbox dl > div { padding: .8rem 0; border-bottom: 1px solid #edf2f7; }
.agenda-factbox dt { display: flex; align-items: center; gap: .45rem; color: #64748b; font-size: .72rem; text-transform: uppercase; }
.agenda-factbox dd { margin: .25rem 0 0 1.35rem; color: #172b41; font-weight: 750; }
.agenda-reminder { color: #fff; background: linear-gradient(145deg, #0b3153, #071d33); }
.agenda-reminder > i { color: #fbbf24; font-size: 1.8rem; }
.agenda-reminder p { color: #cbd5e1; font-size: .86rem; }
.agenda-reminder input[type=email] { border: 0; min-height: 46px; }
.agenda-reminder label { display: flex; align-items: start; gap: .5rem; margin: .75rem 0; color: #cbd5e1; font-size: .72rem; }
.agenda-reminder button, .agenda-favorite { width: 100%; min-height: 46px; border: 0; border-radius: 11px; color: #082f49; font-weight: 850; background: #67e8f9; }
.agenda-favorite { color: #334155; border: 1px solid var(--agenda-line); background: #fff; }
.agenda-share { display: flex; align-items: center; justify-content: space-between; margin-top: 1rem; }
.agenda-share > div:last-child { display: flex; gap: .6rem; }
.agenda-share a, .agenda-share button { display: grid; width: 45px; height: 45px; place-items: center; border: 1px solid var(--agenda-line); border-radius: 12px; color: #0d6efd; background: #f8fafc; }
.agenda-related { margin-top: 5rem; }

.agenda-form-page { padding: clamp(3rem, 7vw, 6rem) 0; }
.agenda-form-layout { display: grid; grid-template-columns: .65fr 1.35fr; gap: 2rem; align-items: start; }
.agenda-form-intro { position: sticky; top: 150px; padding: 2.5rem; border-radius: 28px; color: #fff; background: linear-gradient(145deg, #071d33, #0d4774); }
.agenda-form-intro h1 { font: 900 3rem/1 "Playfair Display", serif; }
.agenda-form-intro > p, .agenda-moderation-note p { color: #d6e6f4; line-height: 1.7; }
.agenda-form-intro ul { padding: 0; list-style: none; }
.agenda-form-intro li { margin: .8rem 0; }
.agenda-form-intro li i { margin-right: .4rem; color: #67e8f9; }
.agenda-moderation-note { display: flex; gap: .8rem; margin-top: 2rem; padding: 1rem; border: 1px solid rgba(255,255,255,.15); border-radius: 15px; background: rgba(255,255,255,.06); }
.agenda-form-card { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--agenda-line); border-radius: 28px; background: #fff; box-shadow: 0 30px 70px -50px #07172b; }
.agenda-form-card > h2 { margin-bottom: 2rem; font: 850 2rem "Playfair Display", serif; }
.agenda-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
.agenda-field--wide { grid-column: 1/-1; }
.agenda-field label { display: block; margin-bottom: .4rem; color: #334155; font-size: .78rem; font-weight: 800; }
.agenda-field sup { color: #dc2626; }
.agenda-field input:not([type=checkbox]), .agenda-field select, .agenda-field textarea { width: 100%; min-height: 48px; border: 1px solid #d9e3ec; border-radius: 11px; background: #f8fafc; padding: .75rem; }
.agenda-field input:focus, .agenda-field select:focus, .agenda-field textarea:focus { border-color: #0d6efd; outline: 3px solid rgba(13,110,253,.12); background: #fff; }
.agenda-field__error, .agenda-form-errors { display: block; margin-top: .35rem; color: #b91c1c; font-size: .76rem; }
.agenda-submit-btn { margin-top: 1.5rem; }
.agenda-success { display: grid; min-height: 70vh; place-items: center; padding: 3rem 1rem; }
.agenda-success__card { max-width: 700px; padding: 4rem; border: 1px solid var(--agenda-line); border-radius: 32px; text-align: center; background: #fff; box-shadow: 0 35px 80px -55px #07172b; }
.agenda-success__card > span { display: grid; width: 80px; aspect-ratio: 1; margin: 0 auto 1.5rem; place-items: center; border-radius: 25px; color: #fff; font-size: 2.5rem; background: linear-gradient(135deg, #10b981, #047857); }
.agenda-success h1 { font: 900 3rem/1 "Playfair Display", serif; }
.agenda-success__card > div { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-top: 2rem; }

[data-bs-theme="dark"] .agenda-shell, [data-bs-theme="dark"] .agenda-detail, [data-bs-theme="dark"] .agenda-form-page, [data-bs-theme="dark"] .agenda-success { --agenda-ink: #e7f0f8; --agenda-muted: #a8b8c8; --agenda-card: #0d2134; --agenda-line: rgba(148,163,184,.18); background: #071522; }
[data-bs-theme="dark"] .agenda-filters, [data-bs-theme="dark"] .agenda-panel, [data-bs-theme="dark"] .agenda-factbox, [data-bs-theme="dark"] .agenda-form-card, [data-bs-theme="dark"] .agenda-success__card, [data-bs-theme="dark"] .agenda-empty, [data-bs-theme="dark"] .agenda-favorite { color: #e7f0f8; background: #0d2134; }
[data-bs-theme="dark"] .agenda-card h2 a, [data-bs-theme="dark"] .agenda-prose, [data-bs-theme="dark"] .agenda-factbox dd { color: #e7f0f8; }
[data-bs-theme="dark"] .agenda-filters input, [data-bs-theme="dark"] .agenda-filters select, [data-bs-theme="dark"] .agenda-field input:not([type=checkbox]), [data-bs-theme="dark"] .agenda-field select, [data-bs-theme="dark"] .agenda-field textarea { color: #e7f0f8; border-color: #2b4158; background: #091a2b; }

@media (max-width: 1199.98px) {
  .agenda-filters { grid-template-columns: repeat(3, 1fr); }
  .agenda-search { grid-column: span 2; }
}
@media (max-width: 991.98px) {
  .agenda-hero__grid, .agenda-featured, .agenda-detail__hero, .agenda-form-layout { grid-template-columns: 1fr; }
  .agenda-hero__visual { display: none; }
  .agenda-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .agenda-detail__layout { grid-template-columns: 1fr; }
  .agenda-form-intro { position: static; }
  .agenda-featured__media, .agenda-detail__cover { min-height: 340px; }
}
@media (max-width: 575.98px) {
  .agenda-hero { padding: 3.5rem 0 5rem; }
  .agenda-hero h1 { font-size: 2.65rem; }
  .agenda-filters { grid-template-columns: 1fr; margin-top: -26px; }
  .agenda-search { grid-column: auto; }
  .agenda-grid, .agenda-form-grid { grid-template-columns: 1fr; }
  .agenda-featured, .agenda-detail__hero { border-radius: 22px; }
  .agenda-featured__media, .agenda-detail__cover { min-height: 240px; }
  .agenda-card__body { grid-template-columns: 48px 1fr; padding: 1rem; }
  .agenda-detail__intro { padding: 1.5rem; }
  .agenda-detail__actions .agenda-btn { width: 100%; }
  .agenda-share { align-items: flex-start; flex-direction: column; }
  .agenda-form-intro, .agenda-form-card, .agenda-success__card { padding: 1.5rem; border-radius: 20px; }
  .agenda-success h1 { font-size: 2.2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .agenda-card, .agenda-btn, .agenda-card__cover img { transition: none; }
}

