/* MMM additions on top of the carried-over Weebly theme CSS.
   Everything here is invisible to a sighted mouse user unless noted. */

/* The page wrapper must not become a box — theme selectors expect the
   Weebly structure directly under <body>. */
.mmm-page { display: contents; }

/* Skip link: off-screen until focused. */
.mmm-skip-link { position: absolute; left: -9999px; top: 0; z-index: 10000; background: #fff; color: #000; padding: 10px 16px; font: 600 14px/1.2 Poppins, sans-serif; }
.mmm-skip-link:focus { left: 8px; top: 8px; outline: 2px solid #000; }

/* Visible keyboard focus (the theme removes outlines). */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, video:focus-visible { outline: 2px solid #b8860b; outline-offset: 2px; }

/* Weebly video element: pre-play state reproduced (poster background + the
   Weebly play icon, centred); site.js swaps in a native <video> on click. */
.mmm-video-wrap { position: relative; }
.mmm-video-play { position: absolute; inset: 0; display: block; background: url(/_ext/cdn2.editmysite.com/images/util/videojs/play-icon.png) no-repeat center; }
@media (min-resolution: 2dppx) { .mmm-video-play { background-image: url(/_ext/cdn2.editmysite.com/images/util/videojs/@2x/play-icon.png); background-size: 70px 70px; } }
.mmm-video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; background: #000; }

/* Weebly audio element → native player (Weebly's was 400 × 30, margin 15px 0, left-aligned — measured). */
.mmm-audio { display: block; width: 100%; max-width: 400px; height: 30px; margin: 15px 0; }

/* Contact form status line (new — Weebly showed its own confirmation). */
.mmm-form-status { margin-top: 12px; font-size: 15px; }
.mmm-form-status[data-state="error"] { color: #b00020; }
.mmm-form-status[data-state="ok"] { color: #1b6e2a; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
