/* Colours inherit the theme's accessible block palette. */
.cms-external-video, .cms-external-video-preview { box-sizing: border-box; color: inherit; background: inherit; }
.cms-external-video [hidden] { display: none !important; }
.cms-external-video-preview { padding: clamp(1rem,3vw,2rem); border: 1px solid currentColor; }
.cms-external-video-preview p { margin: 0 0 1rem; color: inherit; font: inherit; line-height: 1.6; }
.cms-external-video a, .cms-external-video-preview a { color: inherit; text-decoration: underline; }
.cms-external-video a:focus-visible, .cms-external-video-preview a:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
.cms-external-video-placeholder, .cms-external-video-preview--editor { aspect-ratio: var(--cms-video-ratio,16/9); box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; padding: .75rem; text-align: center; overflow-wrap: anywhere; }
.cms-external-video-placeholder { background: color-mix(in srgb,currentColor 4%,transparent); font-size: .875rem; }
.cms-external-video-placeholder svg, .cms-external-video-preview--editor svg { width: 4rem; max-width: none; height: 4rem; flex: none; fill: currentColor; }
.cms-external-video-player { aspect-ratio: var(--cms-video-ratio,16/9); background: #000; }
.cms-external-video-player iframe { display: block; width: 100%; height: 100%; border: 0; }

.cms-external-video [data-video-prompt] { display:flex; flex-direction:column; align-items:center; gap:.75rem; }
.cms-external-video.is-loaded .cms-external-video-placeholder { aspect-ratio:auto; }
.cms-external-video .cms-video-permission { margin:0; text-align:left; font-size:.875rem; }
.cms-external-video-placeholder small { max-width:32rem; font-size:.75rem; line-height:1.5; }

.cms-video-revoke { display:block; margin-top:.75rem; padding:.5rem .75rem; font:inherit; color:inherit; background:transparent; border:1px solid currentColor; border-radius:.25rem; cursor:pointer; }
.cms-video-revoke:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
