/* Shared embeds render immediately and reserve their space before loading. */
.jef-embed { position: relative; width: 100%; aspect-ratio: 16 / 9; margin-block: 24px; }
.jef-embed-map { aspect-ratio: 4 / 3; }
.jef-embed.jef-embed > :is(iframe, video) { position: absolute; inset: 0; display: block; width: 100%; height: 100%; min-height: 0; margin: 0; border: 0; }
/* Load after the plugin: retain its switches and behaviour, use Movement tokens. */
body.gdpr-noscroll { overflow: hidden; }
.gdpr.gdpr-privacy-preferences { display: none !important; }
.gdpr.gdpr-privacy-preferences[data-open="true"] { display: flex !important; position: fixed; inset: 0; z-index: 100000000; align-items: center; justify-content: center; padding: 24px; background: var(--backdrop); }
.gdpr.gdpr-privacy-preferences[data-open="true"] .gdpr-wrapper { display: block !important; position: relative; inset: auto; transform: none; width: min(100%, 720px); max-height: calc(100dvh - 48px); overflow: auto; margin: 0; background: var(--paper); border: 2px solid var(--ink); box-shadow: 0 8px 32px var(--shadow); color: var(--ink); }
.gdpr .gdpr-box-title, .gdpr .gdpr-content, .gdpr.gdpr-privacy-preferences footer { padding: 24px !important; background: transparent; color: var(--ink); }
.gdpr .gdpr-box-title { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.gdpr .gdpr-box-title h3 { margin: 0; font-size: var(--type-card); }
.gdpr h4 { font-size: 1rem; }
.gdpr .gdpr-close { position: static !important; flex: 0 0 44px; display: inline-grid; place-items: center; width: 44px; height: 44px; cursor: pointer; color: var(--ink); background: var(--green-pale); }
.gdpr .gdpr-close::before { content: '×'; font: 400 28px/1 Poppins, sans-serif; font-family: Poppins, sans-serif !important; }
.gdpr .gdpr-close::after { content: none; }
.gdpr input[type="submit"], .gdpr button, .gdpr .gdpr-preferences, .gdpr .gdpr-agreement, .gdpr .gdpr-reject { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 24px !important; border: 2px solid var(--ink); border-radius: 0; background: var(--green) !important; color: var(--ink) !important; font-size: 1rem !important; line-height: 1.5; text-decoration: none; cursor: pointer; }
.gdpr :is(button,input,a,[role="button"]):focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
.gdpr .gdpr-switch { min-height: 44px; display: inline-flex; align-items: center; }
.gdpr .gdpr-switch input { display: inline-block !important; position: static !important; opacity: 1 !important; width: 24px; height: 24px; margin: 10px; accent-color: var(--green-dark); }
.gdpr.gdpr-privacy-bar { max-width: 760px; max-height: calc(100dvh - 32px); overflow-y: auto; width: calc(100% - 48px); left: 24px; right: 24px; bottom: 24px; margin-inline: auto; background: var(--paper); color: var(--ink); border: 2px solid var(--ink); box-shadow: 0 8px 32px var(--shadow); }
.gdpr.gdpr-privacy-bar .gdpr-wrapper { display: flex; flex-wrap: wrap; gap: 16px; padding: 24px; }
.gdpr.gdpr-privacy-bar .gdpr-content { padding: 0 !important; flex: 1 1 100%; }
.gdpr.gdpr-privacy-bar .gdpr-content p { font-size: 1rem; }
.gdpr.gdpr-privacy-bar .gdpr-content a { color: var(--green-dark) !important; }
.gdpr.gdpr-privacy-bar.gdpr-hide-bar { display: none !important; }
.gdpr.gdpr-privacy-preferences form { height: auto; box-shadow: none; }
.gdpr.gdpr-privacy-preferences[data-open="true"] .gdpr-wrapper { height: auto; padding: 0; border-radius: 0; }
.gdpr.gdpr-privacy-preferences .gdpr-switch { position: static; height: auto; }
.gdpr.gdpr-privacy-preferences .gdpr-slider { display: none; }
.gdpr.gdpr-privacy-preferences :is(.gdpr-content,.gdpr-tab-content,footer) { position: static; height: auto; overflow: visible; background: transparent; }
.gdpr.gdpr-privacy-preferences .gdpr-box-title { height: auto; }
.gdpr.gdpr-privacy-preferences .gdpr-box-title h3 { display: block; }
.gdpr.gdpr-privacy-preferences .gdpr-tab-content header, .gdpr.gdpr-privacy-preferences .gdpr-info { padding: 0; }
.gdpr.gdpr-privacy-preferences .gdpr-info :is(p,a) { font-size: 1rem; color: var(--ink); }
@media (max-width: 767px) {
  .gdpr.gdpr-privacy-preferences[data-open="true"] { padding: 16px; }
  .gdpr.gdpr-privacy-preferences[data-open="true"] .gdpr-wrapper { max-height: calc(100dvh - 32px); }
  .gdpr.gdpr-privacy-bar { width: calc(100% - 32px); left: 16px; right: 16px; bottom: 16px; }
  .gdpr.gdpr-privacy-bar :is(button,.gdpr-preferences,.gdpr-agreement,.gdpr-reject) { width: 100%; }
}
