/* Scope all styling to the video dialog; the original menu remains unchanged. */
.fm-marshmallow-dialog{box-sizing:border-box;width:min(92vw,540px);max-width:92vw;max-height:94vh;max-height:94dvh;margin:auto;padding:0;border:0;border-radius:8px;background:#fff;color:#222;overflow:auto;box-shadow:0 18px 60px #0005}
.fm-marshmallow-dialog::backdrop{background:#000c}
.fm-marshmallow-panel{padding:14px}
.fm-marshmallow-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.fm-marshmallow-heading h2{font:600 16px/1.4 Arial,sans-serif;margin:0}
.fm-marshmallow-heading button{box-sizing:border-box;flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;background:#eee;color:#222;font:30px/1 Arial,sans-serif;cursor:pointer}
.fm-marshmallow-heading button:focus-visible{outline:3px solid #333;outline-offset:3px}
.fm-marshmallow-dialog video{display:block;width:100%;height:auto;max-height:76vh;max-height:76dvh;aspect-ratio:9/16;background:#000;object-fit:contain}
.fm-marshmallow-dialog video[hidden],.fm-marshmallow-error[hidden]{display:none}
.fm-marshmallow-error{font:14px/1.6 Arial,sans-serif;margin:8px 0}
.fm-marshmallow-error a{color:inherit;text-decoration:underline}

/* Only the marshmallow photo container gains the adjacent video icon. */
.product_image.fm-marshmallow-media{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;flex-shrink:0}
.product_image .fm-marshmallow-video-link{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;color:inherit;text-decoration:none}
.product_image .fm-marshmallow-video-link svg{display:block;width:20px;height:20px;flex:none}
.product_image .fm-marshmallow-video-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}
