.event-hero { height:380px; }
.featured-label { background:rgba(255,255,255,.14); border-radius:2rem; display:inline-flex; font-size:.62rem; font-weight:800; gap:.35rem; padding:.35rem .6rem; text-transform:uppercase; }
.featured-event-meta { display:flex; flex-wrap:wrap; font-size:.68rem; gap:1rem; margin:1rem 0; }
.featured-event-meta i { margin-right:.35rem; }
.event-placeholder { align-items:center; background:linear-gradient(145deg,#dce8f8,#edf3fb); color:#6f88aa; display:flex; font-size:2rem; height:100%; justify-content:center; }
.event-date-badge { align-items:center; background:#fff; border-radius:.7rem; box-shadow:0 6px 18px rgba(16,42,86,.15); display:flex; flex-direction:column; left:1rem; padding:.45rem; position:absolute; top:1rem; width:48px; }
.event-date-badge strong { font-family:"Manrope",sans-serif; font-size:1rem; }
.event-date-badge small { color:var(--portal-blue); font-size:.58rem; font-weight:800; text-transform:uppercase; }
.event-facts { display:flex; flex-direction:column; gap:.35rem; }
.event-facts span { color:var(--portal-muted); font-size:.65rem; }
.event-facts i { color:var(--portal-blue); margin-right:.35rem; }
.event-register { align-items:center; background:transparent; border:0; border-top:1px solid var(--portal-border); color:var(--portal-blue); display:flex; font-size:.68rem; font-weight:800; justify-content:space-between; margin-top:.9rem; padding:.75rem 0 0; width:100%; }

.event-registration-dialog { max-width:520px; padding:.75rem; }
.event-registration-card { background:#fff; border:1px solid rgba(216,226,238,.9); border-radius:1.5rem; box-shadow:0 32px 90px rgba(8,30,58,.3); overflow:hidden; }
.event-registration-hero { align-items:center; background:radial-gradient(circle at 100% 0,rgba(41,171,135,.3),transparent 40%),linear-gradient(135deg,#0b2948,#16466e); color:#fff; display:flex; gap:1rem; min-height:184px; padding:1.7rem 2rem; position:relative; }
.event-registration-hero::after { border:1px solid rgba(255,255,255,.09); border-radius:50%; content:""; height:180px; position:absolute; right:-84px; top:76px; width:180px; }
.event-registration-brand { align-items:center; background:#fff; border-radius:1rem; box-shadow:0 12px 28px rgba(0,0,0,.2); display:flex; flex:0 0 82px; height:82px; justify-content:center; padding:.5rem; position:relative; z-index:1; }
.event-registration-brand img { height:100%; object-fit:contain; width:100%; }
.event-registration-hero>div { position:relative; z-index:1; }
.event-registration-eyebrow { color:#8ce0c7; display:block; font-size:.64rem; font-weight:800; letter-spacing:.13em; margin-bottom:.4rem; text-transform:uppercase; }
.event-registration-hero h2 { color:#fff; font-family:"Manrope",sans-serif; font-size:1.5rem; font-weight:800; letter-spacing:-.04em; line-height:1.15; margin:0 1.5rem .45rem 0; }
.event-registration-hero p { color:rgba(239,247,255,.76); font-size:.7rem; line-height:1.55; margin:0; }
.event-registration-close { background-color:rgba(255,255,255,.92); border-radius:50%; box-shadow:0 6px 18px rgba(0,0,0,.14); font-size:.7rem; height:34px; opacity:1; padding:.62rem; position:absolute; right:1rem; top:1rem; width:34px; z-index:3; }
.event-registration-body { padding:1.45rem 2rem 1.6rem; }
.event-registration-summary { align-items:center; background:#eef8f5; border:1px solid #d7eee7; border-radius:.85rem; display:flex; gap:.75rem; margin-bottom:1.15rem; padding:.75rem; }
.event-registration-summary>span { align-items:center; background:#d9f1e9; border-radius:.6rem; color:#098565; display:flex; flex:0 0 38px; height:38px; justify-content:center; }
.event-registration-summary div { display:flex; flex-direction:column; min-width:0; }
.event-registration-summary strong,.event-registration-summary small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.event-registration-summary strong { color:#164c3e; font-size:.72rem; }
.event-registration-summary small { color:#668078; font-size:.61rem; margin-top:.12rem; }
.event-registration-field { margin-bottom:.9rem; }
.event-registration-field>label { color:#263d53; display:block; font-size:.7rem; font-weight:800; margin-bottom:.42rem; }
.event-registration-field>label span { color:#8794a6; font-size:.58rem; font-weight:600; }
.event-registration-field>div { position:relative; }
.event-registration-field>div>i { color:#718398; left:1rem; position:absolute; top:50%; transform:translateY(-50%); z-index:2; }
.event-registration-field .form-control { background:#f8fafc; border:1px solid #dce5ee; border-radius:.85rem; color:#1f3449; font-size:.8rem; min-height:50px; padding:.7rem 1rem .7rem 2.75rem; }
.event-registration-field .form-control:focus { background:#fff; border-color:#52a990; box-shadow:0 0 0 .23rem rgba(9,133,101,.1); }
.event-registration-field>small { color:#7a8998; display:block; font-size:.59rem; margin:.3rem 0 0 .15rem; }
.event-registration-message { border-radius:.7rem; font-size:.67rem; line-height:1.5; margin-bottom:.8rem; padding:0; }
.event-registration-message.success,.event-registration-message.error { padding:.7rem .8rem; }
.event-registration-message.success { background:#e7f7f1; border:1px solid #c9eadf; color:#087258; }
.event-registration-message.error { background:#fff0ed; border:1px solid #f1d2cc; color:#a94537; }
.event-registration-submit { align-items:center; background:linear-gradient(135deg,#098565,#087157); border:0; border-radius:.9rem; box-shadow:0 12px 24px rgba(9,133,101,.22); color:#fff; display:flex; font-size:.75rem; font-weight:800; justify-content:space-between; min-height:52px; padding:.72rem .8rem .72rem 1.15rem; width:100%; }
.event-registration-submit i { align-items:center; background:rgba(255,255,255,.16); border-radius:.65rem; display:flex; height:34px; justify-content:center; width:34px; }
.event-registration-submit:disabled { cursor:wait; opacity:.76; }
.event-registration-privacy { align-items:center; color:#7a8998; display:flex; font-size:.59rem; gap:.35rem; justify-content:center; margin:.8rem 0 0; text-align:center; }
.event-registration-privacy i { color:#098565; }

@media(max-width:575.98px) {
  .event-hero { height:340px; }
  .event-registration-dialog { margin:.5rem auto; max-width:calc(100% - 1rem); padding:0; }
  .event-registration-card { border-radius:1.15rem; }
  .event-registration-hero { align-items:flex-start; flex-direction:column; gap:.75rem; min-height:0; padding:1.3rem 1.2rem 1.2rem; }
  .event-registration-brand { border-radius:.75rem; flex-basis:62px; height:62px; padding:.35rem; width:62px; }
  .event-registration-hero h2 { font-size:1.28rem; }
  .event-registration-body { padding:1.1rem 1.2rem 1.2rem; }
  .event-registration-field .form-control { font-size:16px; }
}
