.dbg-events,.dbg-event-detail{color:var(--dbg-text,#202a42);min-width:0;max-width:100%;padding-block:0 .5rem;overflow-wrap:anywhere}
.dbg-events *,.dbg-event-detail *{box-sizing:border-box}
.dbg-events h1,.dbg-event-detail h1,.dbg-event-card h2,.dbg-event-location h2,.dbg-event-location h3{color:var(--dbg-navy,#060454)}
.dbg-events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.dbg-event-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--dbg-border,#dbe5ee);border-radius:.75rem;overflow:hidden;background:#fff}
.dbg-event-photo-link{display:block}.dbg-event-card img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.dbg-event-card-body{padding:.75rem;display:flex;flex-direction:column;flex:1;gap:.5rem;min-width:0}
.dbg-event-card h2{font-size:1.25rem;line-height:1.3;margin:0}.dbg-event-card h2 a{color:inherit;text-decoration:none}.dbg-event-card h2 a:hover{text-decoration:underline}
.dbg-event-card p{margin:0}.dbg-event-more{display:inline-flex;align-items:center;min-height:44px;margin-top:auto;color:var(--dbg-navy,#060454)}
.dbg-event-location-link a{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;color:var(--dbg-navy,#060454)}
.dbg-event-date{display:flex;align-items:center;gap:.8rem;min-width:0;color:var(--dbg-navy,#060454)}
.dbg-event-date-badge{flex:0 0 58px;text-align:center;background:var(--dbg-surface,#f4f8fb);border:1px solid var(--dbg-border,#dbe5ee);border-radius:.5rem;padding:.45rem .25rem}
.dbg-event-date-badge strong{display:block;font-size:1.7rem;line-height:1.05}.dbg-event-date-badge span{display:block;font-size:.8rem;font-weight:700;letter-spacing:.05em;margin-top:.25rem}
.dbg-event-date-text{min-width:0;font-size:.95rem;line-height:1.5}.dbg-event-date-text p{margin:0}.dbg-event-weekday{display:block;color:var(--dbg-muted,#56647b)}.dbg-event-time{font-weight:600}
.dbg-event-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;max-width:100%;padding:.55rem .85rem;border:1px solid var(--dbg-border,#dbe5ee);border-radius:.4rem;background:#fff;color:var(--dbg-navy,#060454);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.dbg-event-button:hover{background:var(--dbg-surface,#f4f8fb);border-color:var(--dbg-navy,#060454)}.dbg-event-button:disabled{color:var(--dbg-muted,#56647b);background:var(--dbg-surface,#f4f8fb);cursor:not-allowed}
.dbg-event-back{margin-bottom:1rem}.dbg-event-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;max-height:520px;border-radius:.75rem;margin:0 0 .75rem}
.dbg-event-detail>header h1{margin:0 0 .5rem;font-size:clamp(1.65rem,3.5vw,2.5rem);line-height:1.15}.dbg-event-detail>header{margin-bottom:.85rem}
.dbg-event-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1rem;align-items:start}
.dbg-event-location{min-width:0;padding:.8rem;border:1px solid var(--dbg-border,#dbe5ee);border-radius:.75rem;background:var(--dbg-surface,#f4f8fb)}
.dbg-event-location h2{font-size:1.1rem;margin:0 0 .45rem}.dbg-event-location h3{font-size:1.15rem;margin:0 0 .4rem}.dbg-event-location h3 a{color:inherit}
.dbg-event-geography{display:flex;align-items:center;gap:.6rem;margin:.3rem 0 .55rem}.dbg-event-geography img{width:32px;height:24px;flex-shrink:0;object-fit:contain}
.dbg-event-location dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:.2rem .5rem;margin:0}
.dbg-event-location dt{font-weight:600}.dbg-event-location dt,.dbg-event-location dd{min-width:0;margin:0;line-height:1.35}
.dbg-event-location-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.dbg-event-map-note{font-size:.85rem;color:var(--dbg-muted,#56647b);margin:.4rem 0 0}
.dbg-event-description{grid-column:1;grid-row:1;min-width:0;overflow-wrap:anywhere}.dbg-event-description img,.dbg-event-description iframe,.dbg-event-description video{max-width:100%}.dbg-event-description img{height:auto}.dbg-event-description table{display:block;max-width:100%;overflow-x:auto}.dbg-event-description pre{white-space:pre-wrap;overflow-wrap:anywhere}
.dbg-events :focus-visible,.dbg-event-detail :focus-visible{outline:3px solid var(--dbg-navy,#060454);outline-offset:3px}
.dbg-events .pagination{display:flex;flex-wrap:wrap;gap:.3rem;list-style:none;padding:0}.dbg-events .page-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.dbg-events .active>.page-link{background:var(--dbg-navy,#060454);color:#fff}
@media(max-width:1023px){.dbg-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dbg-event-detail-grid{grid-template-columns:minmax(0,1fr)}.dbg-event-sidebar,.dbg-event-description{grid-column:auto;grid-row:auto}}
@media(max-width:599px){.dbg-events-grid{grid-template-columns:minmax(0,1fr)}.dbg-event-card-body{padding:.75rem}.dbg-event-detail-grid{gap:1rem}.dbg-event-location{padding:.8rem}}

.dbg-event-icon{display:block;width:22px;height:22px;flex:0 0 22px}
.dbg-event-location-link .dbg-event-icon{width:18px;height:18px;flex-basis:18px}
.dbg-event-options{margin-top:.75rem;min-width:0}.dbg-event-options h2{font-size:1rem;margin:0 0 .35rem}
.dbg-event-option-buttons{display:flex;flex-wrap:wrap;gap:.4rem}.dbg-event-option-button{width:44px;min-width:44px;height:44px;padding:0}
.dbg-event-copy-feedback{font-size:.9rem;margin:.4rem 0 0}.dbg-event-copy-feedback:empty{display:none}
.dbg-event-options .dbg-copy-manual label,.dbg-event-options noscript label{display:block;margin-top:.5rem}
.dbg-event-options .dbg-copy-manual input,.dbg-event-options noscript input{width:100%;min-width:0;min-height:44px;font:inherit}
.dbg-event-sidebar{grid-column:2;grid-row:1;display:grid;gap:.75rem;align-content:start;min-width:0}
.dbg-event-detail-grid--solo{grid-template-columns:minmax(0,1fr)}
.dbg-event-description>:first-child{margin-top:0}.dbg-event-description>:last-child{margin-bottom:0}
.dbg-event-registration{min-width:0;padding:.8rem;border:1px solid var(--dbg-border,#dbe5ee);border-radius:.75rem;background:var(--dbg-surface,#f4f8fb)}
.dbg-event-registration h2{font-size:1.1rem;margin:0 0 .45rem}
.dbg-event-registration dl{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:.2rem .5rem;margin:0}
.dbg-event-registration dt,.dbg-event-registration dd{min-width:0;margin:0;line-height:1.35}.dbg-event-registration dt{font-weight:600}
.dbg-event-registration-note{font-size:.9rem;margin:.6rem 0 0;color:var(--dbg-muted,#56647b)}
@media(max-width:1023px){.dbg-event-sidebar{grid-column:auto;grid-row:auto}}

/* Only the main wrapper that directly contains this component's event view. */
.main-content:has(>.component-content>.dbg-events),.main-content:has(>.component-content>.dbg-event-detail){padding-block-start:1.5rem}
.dbg-events-intro{max-width:900px;margin:0 0 1rem}
.dbg-events-intro p{margin:0 0 .75rem}
.dbg-events-intro p:last-child{margin-bottom:1rem}
@media(min-width:1024px){.main-content:has(>.component-content>.dbg-events),.main-content:has(>.component-content>.dbg-event-detail){padding-block-start:2rem}}

.dbg-event-detail .dbg-detail-back-bottom{margin-top:1rem;margin-bottom:0}

/* 0.7.0: functional registration, confined to component event markup. */
.dbg-event-registration p{margin:.6rem 0}
.dbg-event-registration form{margin-top:.65rem}
.dbg-event-registration-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.dbg-event-registration-status,.dbg-event-capacity{font-weight:600}
.dbg-event-register{background:var(--dbg-navy,#060454);color:#fff}
.dbg-event-register:hover{background:#121070;color:#fff}
.dbg-event-unregister{color:#922b28;border-color:#922b28}
.dbg-event-participants{min-width:0;max-width:100%;overflow-wrap:anywhere;color:var(--dbg-text,#202a42)}
.dbg-event-participants form{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:1rem 0}
.dbg-event-participants input,.dbg-event-participants select{max-width:100%;min-height:44px;font:inherit}
.dbg-event-participants-table{max-width:100%;overflow-x:auto}
.dbg-event-participants table{width:100%;border-collapse:collapse}
.dbg-event-participants th,.dbg-event-participants td{padding:.6rem;text-align:left;border-bottom:1px solid var(--dbg-border,#dbe5ee)}
.dbg-event-participants :focus-visible{outline:3px solid var(--dbg-navy,#060454);outline-offset:3px}

/* Member-visible and private manager participant cards, 0.7.1. */
.dbg-event-registration .dbg-event-participant-count { font-weight: 700; margin-block: .75rem .35rem; }
.dbg-participant-list { list-style: none; padding: 0; margin: 1rem 0; display: grid; gap: .75rem; }
.dbg-participant-card { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; padding: .75rem; border: 1px solid #dce5eb; border-radius: .5rem; min-width: 0; background: #fff; }
.dbg-participant-status { flex: 0 0 1.4rem; font-size: 1.35rem; font-weight: 700; text-align: center; }
.dbg-participant-status.is-registered { color: #176b35; }
.dbg-participant-status.is-cancelled { color: #ad2323; }
.dbg-participant-avatar { display: inline-flex; flex: 0 0 3rem; width: 3rem; height: 3rem; border-radius: 50%; overflow: hidden; align-items: center; justify-content: center; background: #e5edf7; color: #060454; font-weight: 700; }
.dbg-participant-avatar img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.dbg-participant-info { flex: 1 1 8rem; min-width: 0; overflow-wrap: anywhere; }
.dbg-participant-info a { font-weight: 600; color: #060454; text-underline-offset: .15em; }
.dbg-participant-state-label { display: block; font-size: .85rem; color: #46566a; }
.dbg-participant-info dl { margin: .35rem 0 0; display: grid; grid-template-columns: auto minmax(0,1fr); column-gap: .6rem; font-size: .85rem; }
.dbg-participant-info dd { margin: 0; overflow-wrap: anywhere; }
.dbg-participant-action { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin: 0; }
.dbg-participant-action label { display: flex; align-items: center; gap: .4rem; min-height: 44px; font-size: .9rem; }
.dbg-participant-add { padding-block: 1rem; }
.dbg-event-participants form, .dbg-participant-add form { display: flex; align-items: center; gap: .65rem; flex-wrap: wrap; margin-block: 1rem; }
.dbg-event-participants input:not([type=hidden]):not([type=checkbox]), .dbg-event-participants select { min-height: 44px; max-width: 100%; min-width: 0; }
.dbg-event-participants h1 { overflow-wrap: anywhere; }
.dbg-participant-paging { display: flex; flex-wrap: wrap; gap: .5rem; }
.dbg-participant-profile-heading { display: flex; align-items: center; gap: 1rem; margin-block: 1.5rem; }
.dbg-participant-profile-heading .dbg-participant-avatar { width: 6rem; height: 6rem; flex-basis: 6rem; font-size: 2rem; }
.dbg-participant-profile-heading h1 { overflow-wrap: anywhere; min-width: 0; }
@media (max-width: 600px) {
 .dbg-participant-action { flex-basis: 100%; }
 .dbg-participant-info dl { display: block; }
 .dbg-participant-info dt { font-weight: 600; }
 .dbg-participant-profile-heading { flex-wrap: wrap; }
}

/* 0.7.2: private enrollment fields and read-only public dive profile. */
.dbg-registration-fields { display: grid; gap: .6rem; width: 100%; min-width: 0; margin-block: .75rem; }
.dbg-registration-fields textarea, .dbg-registration-fields input[type=number] { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; padding: .6rem; border: 1px solid #aebdca; border-radius: .3rem; font: inherit; }
.dbg-registration-fields textarea { resize: vertical; }
.dbg-anniversary-toggle { display: flex; align-items: center; gap: .5rem; min-height: 44px; }
.dbg-registration-fields small { display: block; font-size: .85rem; }
.dbg-event-message { max-width: 760px; }
.dbg-event-message form { display: grid; }
.dbg-event-message textarea, .dbg-event-message input[type=text] { width: 100%; box-sizing: border-box; font: inherit; padding: .65rem; min-width: 0; border: 1px solid #aebdca; border-radius: .3rem; }
.dbg-public-profile-card { max-width: 800px; margin-block: 1.5rem; padding: clamp(1rem,3vw,2rem); border: 1px solid #dce5eb; border-radius: .6rem; background: #fff; }
.dbg-public-profile-card .dbg-participant-profile-heading { margin-top: 0; }
.dbg-public-profile-facts { display: grid; grid-template-columns: minmax(7rem,1fr) minmax(0,2fr); gap: .5rem 1rem; }
.dbg-public-profile-facts dd { margin: 0; overflow-wrap: anywhere; }
.dbg-public-profile-card p { overflow-wrap: anywhere; white-space: normal; }
.dbg-public-profile-card h2 { font-size: 1.2rem; }
.dbg-participant-phone, .dbg-participant-note p { margin-block: .35rem; overflow-wrap: anywhere; }
@media (max-width: 430px) { .dbg-public-profile-facts { grid-template-columns: 1fr; gap: .2rem; } .dbg-public-profile-facts dd { margin-bottom: .5rem; } }

/* Native registration anchors clear the existing sticky header, without scroll handlers. */
#registratie { scroll-margin-top: 6rem; }
.dbg-registration-fields select { width:100%; min-height:44px; max-width:100%; }
.dbg-participant-profile .dbg-member-cover { display:block; width:100%; max-height:240px; object-fit:cover; }
.dbg-member-contact { max-width:44rem; margin:0 auto; padding:1.25rem; }
.dbg-member-contact form { display:grid; gap:1rem; }
.dbg-member-contact input,.dbg-member-contact textarea { width:100%; max-width:100%; min-width:0; padding:.75rem; box-sizing:border-box; }
.dbg-member-contact p,.dbg-public-profile-facts dd { overflow-wrap:anywhere; }
