/* 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. Theme orange #f47a20 (measured). */
.mmm-skip-link { position: absolute; left: -9999px; top: 0; z-index: 10000; background: #222; color: #fff; padding: 10px 16px; font: 400 18px/1.2 "Bebas", sans-serif; letter-spacing: 1px; }
.mmm-skip-link:focus { left: 8px; top: 8px; outline: 2px solid #f47a20; }

/* Visible keyboard focus (the theme removes outlines). */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible,
.menu-toggle:focus-visible, .jqTransformSelectWrapper [role="button"]:focus-visible { outline: 2px solid #f47a20; outline-offset: 2px; }

/* Form status line (new — Weebly showed its own confirmation page). */
.mmm-form-status { margin-top: 12px; font-size: 15px; color: #fff; }
.mmm-form-status:empty { display: none; }
.mmm-form-status[data-state="error"] { color: #ff8a80; }
.mmm-form-status[data-state="ok"] { color: #8fd694; }

/* Services gallery lightbox — replaces Weebly's fancybox, same behaviour. */
.mmm-lightbox { position: fixed; inset: 0; z-index: 10001; display: none; align-items: center; justify-content: center; background: rgba(0, 0, 0, .85); }
.mmm-lightbox.open { display: flex; }
.mmm-lightbox figure { margin: 0; max-width: 90vw; text-align: center; }
.mmm-lightbox img { max-width: 90vw; max-height: 80vh; border: 10px solid #fff; background: #fff; }
.mmm-lightbox figcaption { margin-top: 8px; color: #fff; font: 400 20px/1.2 "Bebas", sans-serif; letter-spacing: 1px; }
.mmm-lightbox button { position: absolute; background: none; border: 0; color: #fff; font-size: 44px; line-height: 1; cursor: pointer; padding: 10px 16px; }
.mmm-lb-close { top: 10px; right: 10px; }
.mmm-lb-prev { left: 10px; top: 50%; transform: translateY(-50%); }
.mmm-lb-next { right: 10px; top: 50%; transform: translateY(-50%); }

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