.dg-form-wrap { margin-block: 3rem; padding: clamp(1.25rem, 4vw, 2.25rem); border: 1px solid #d8dee6; border-radius: 1rem; background: #f5f2e9; }
.dg-form-wrap h2 { margin-top: 0; }
.dg-required-note { font-size: .9rem; }
.dg-mail-form { display: grid; gap: 1rem; }
.dg-form-field { display: grid; gap: .35rem; margin: 0; }
.dg-form-field label, .dg-consent { font-weight: 700; }
.dg-form-field input, .dg-form-field textarea { width: 100%; min-height: 3rem; padding: .7rem .8rem; border: 2px solid #667487; border-radius: .35rem; color: #111827; background: #fff; }
.dg-form-field textarea { min-height: 9rem; resize: vertical; }
.dg-form-field input:focus, .dg-form-field textarea:focus { border-color: #17395f; outline: .2rem solid #ffbf47; outline-offset: .12rem; }
.dg-consent { margin: 0; font-size: .95rem; }
.dg-consent input { width: 1.25rem; height: 1.25rem; margin-right: .35rem; vertical-align: -.2rem; }
.dg-form-submit { display: inline-flex; width: fit-content; min-height: 3rem; align-items: center; justify-content: center; padding: .7rem 1.2rem; border: 2px solid #17395f; border-radius: .4rem; color: #fff; background: #17395f; font-weight: 800; text-decoration: none; cursor: pointer; }
.dg-form-submit:hover { color: #17395f; background: #fff; }
.dg-form-notice { margin-bottom: 1rem; padding: 1rem; border-left: .35rem solid; background: #fff; font-weight: 700; }
.dg-form-success { border-color: #668d08; }
.dg-form-error { border-color: #c61220; }
.dg-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px,1px,1px,1px) !important; white-space: nowrap !important; }
.dg-event-details { margin-bottom: 2rem; padding: clamp(1.25rem, 4vw, 2rem); border-radius: 1rem; background: #f5f2e9; }
.dg-event-details h2 { margin-top: 0; }
.dg-event-status { display: inline-block; padding: .3rem .65rem; border-radius: 99rem; color: #fff; background: #17395f; font-weight: 800; }
.dg-event-details dl { display: grid; gap: .7rem; }
.dg-event-details dl > div { padding-bottom: .7rem; border-bottom: 1px solid #cbd2db; }
.dg-event-details dt { font-weight: 800; }
.dg-event-details dd { margin: .1rem 0 0; }
.dg-event-accessibility { margin-top: 1.5rem; padding: 1rem; border-left: .3rem solid #668d08; background: #fff; }
.dg-event-accessibility h3 { margin-top: 0; }
.dg-event-links { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1.2rem; }
.dg-event-links a { font-weight: 800; }
