/* Account, FAQ, article and 404 templates, measured against the 2026-10-26 reference captures. */
body.mgs-site .mgs-content-shell { width: calc(100% - 5.235848em); max-width: 66.4989378333em; margin: 0 auto; padding: 0 0 50px; display: flow-root; font: 17px/1.618 Abel, Arial, sans-serif; }
body.mgs-site .mgs-content-shell .mgs-page-title { margin: 20px 0 16.2237px !important; padding: 0 0 8px !important; border-bottom: 1px solid #003087; text-align: center; font: 400 30px/1.214 Oswald, Arial, sans-serif !important; text-transform: uppercase; overflow-wrap: anywhere; }
body.mgs-site .mgs-content-shell .entry-content { width: 100%; min-width: 0; overflow-wrap: anywhere; }
body.mgs-site .mgs-content-shell .entry-content p { margin: 0 0 1.41575em; }
body.mgs-site .mgs-content-shell .entry-content h2 { margin: 0 0 16.2237px; padding: 0 0 8px !important; font: 400 30px/1.214 Oswald, Arial, sans-serif !important; text-transform: uppercase; }
body.mgs-site .mgs-content-shell :is(a, button, input):focus-visible { outline: 2px solid #003087; outline-offset: 3px; }
body.mgs-site .mgs-account-layout { display: grid; grid-template-columns: minmax(0, 17fr) minmax(0, 5fr); column-gap: 4.3478260869%; align-items: start; }
body.mgs-site .mgs-account-layout > .mgs-content-primary { width: 100%; min-width: 0; margin: 0; }
body.mgs-site .mgs-account-sidebar { width: 100%; min-width: 0; margin: 50px 0 20px; padding: 18px 10px; border-radius: 4px; background: #f5f5f5; text-align: center; }
body.mgs-site .mgs-account-sidebar h2 { margin: 0 0 4px; padding: 0 !important; font: 400 24px/1.214 Oswald, Arial, sans-serif !important; text-transform: uppercase; }
body.mgs-site .mgs-account-support-item { margin: 0 0 26px; }
body.mgs-site .mgs-account-support-item:last-child { margin-bottom: 10px; }
body.mgs-site .mgs-account-support-item > a { color: #222; text-decoration: underline; text-transform: uppercase; }
body.mgs-site .mgs-account-support-item .mgs-icon { display: inline-block; width: 18px; height: 18px; margin-right: 6px; color: #003087; vertical-align: -3px; }
body.mgs-site .mgs-account-support-item p { margin: 4px 0 0; font-size: 16px; line-height: 1.5; }
body.mgs-site .mgs-account-page #customer_login { display: block; }
body.mgs-site .mgs-account-page #customer_login > :is(.u-column1, .u-column2) { width: 100%; max-width: none; float: none; padding: 0; margin: 0 0 50px; }
body.mgs-site .mgs-account-page form.woocommerce-form-login,
body.mgs-site .mgs-account-page form.woocommerce-form-register,
body.mgs-site .mgs-account-page form.woocommerce-ResetPassword { width: 100%; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0; border-radius: 0; float: none !important; }
body.mgs-site .mgs-account-page .mgs-account-intro { margin: 0 0 24.0678px !important; }
body.mgs-site .mgs-account-page form .form-row { display: block; width: 100%; float: none; margin: 0 0 24.0678px; padding: 0; }
body.mgs-site .mgs-account-page form .form-row label { display: block; margin: 0 0 10px; font: 17px/1.618 Abel, Arial, sans-serif; }
body.mgs-site .mgs-account-page form .form-row :is(input.input-text, input[type="text"], input[type="email"], input[type="password"]) { display: block; width: 100%; max-width: 100%; height: 45.625px; min-height: 0; padding: 9.88875px; border: 0; border-top: 1px solid #d8d8d8; border-radius: 0; background: #f2f2f2; box-shadow: none; font: 16px/25.888px Oswald, Arial, sans-serif !important; }
body.mgs-site .mgs-account-page .password-input { display: block; width: 100%; }
body.mgs-site .mgs-account-page form label.woocommerce-form-login__rememberme { display: flex !important; align-items: center; gap: 5px; min-height: 48px; margin: 8px 0 40px !important; font-size: 16px; }
body.mgs-site .mgs-account-page .woocommerce-form-login input[type="checkbox"] { flex: 0 0 48px; width: 48px !important; height: 48px !important; margin: 0 !important; accent-color: #003087; }
body.mgs-site .mgs-account-page form .woocommerce-form-login__submit { display: block; width: 100%; min-height: 45.875px; margin: 10px 0 15px !important; padding: 10px 20px !important; border: 0; border-radius: 4px; background: #003087 !important; color: #fff !important; font: 600 16px/25.888px Oswald, Arial, sans-serif !important; }
body.mgs-site .mgs-account-page .lost_password { margin: 26px 0 50px !important; }
body.mgs-site .mgs-account-page .woocommerce-ResetPassword .form-row-first { width: 47.0588235294%; margin-bottom: 35px; }
body.mgs-site .mgs-account-page .woocommerce-ResetPassword .woocommerce-Button,
body.mgs-site .mgs-account-page .woocommerce-form-register .woocommerce-Button { min-height: 45.875px; padding: 10px 20px !important; border: 0; border-radius: 4px; background: #003087 !important; color: #fff !important; font: 600 16px/25.888px Oswald, Arial, sans-serif !important; }
body.mgs-site .mgs-account-page .woocommerce-ResetPassword .clear { clear: both; }
body.mgs-site .mgs-account-page .woocommerce-MyAccount-navigation,
body.mgs-site .mgs-account-page .woocommerce-MyAccount-content { min-width: 0; overflow-wrap: anywhere; }
body.mgs-site .mgs-account-page .woocommerce-MyAccount-content table { width: 100%; }

/* FAQ uses the site's existing answers, indexed by in-page links like the reference. */
body.mgs-site .mgs-faq-index { margin: 40px 0 50px; }
body.mgs-site .mgs-faq-index, body.mgs-site .mgs-faq-index li { text-align: left !important; }
body.mgs-site .mgs-faq-index ol { padding-left: 67px; margin: 0; font-size: 18px; }
body.mgs-site .mgs-faq-index li { padding: 0; margin-bottom: 16px; }
body.mgs-site .mgs-faq-index a { color: #111; text-decoration: underline; }
body.mgs-site .mgs-faq-page .entry-content > h2 { scroll-margin-top: 24px; }
body.mgs-site .mgs-faq-question-icon { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; margin-right: 9px; border-radius: 50%; background: #003087; color: #fff; vertical-align: 2px; font: 700 22px/1 Arial, sans-serif; }
body.mgs-site .mgs-faq-page .entry-content > :is(p, ul, ol, blockquote) { margin-left: 35px; margin-bottom: 50px; }

/* Articles retain their own text, images and genuine chronological navigation. */
body.mgs-site .mgs-single-article .mgs-article-header { display: flow-root; margin: 0; padding: 0 0 0; border-bottom: 1px solid #eee; }
body.mgs-site .mgs-single-article .mgs-breadcrumb { margin: 20px 0 !important; padding: 5px 10px; border-radius: 4px; background: #f5f5f5; color: #333; font: 17px/1.618 Abel, Arial, sans-serif; overflow-wrap: anywhere; }
body.mgs-site .mgs-single-article .mgs-breadcrumb a { color: #222; }
body.mgs-site .mgs-single-article .mgs-article-featured { width: 449px; max-width: 100%; margin: 26px 0 40px; }
body.mgs-site .mgs-single-article .mgs-article-featured img { display: block; width: 100%; height: auto; margin: 0; object-fit: contain; }
body.mgs-site .mgs-single-article .mgs-article-copy img { max-width: 100%; height: auto; }
body.mgs-site .mgs-single-article .mgs-article-bottom { margin: 30px 0 48px; }
body.mgs-site .mgs-single-article .mgs-article-date { margin: 0 0 16px; color: #666; font-size: 14px; }
body.mgs-site .mgs-single-article .mgs-article-bottom .button { margin: 0; padding: 5px 15px !important; border-radius: 4px; background: #003087 !important; color: #fff !important; text-transform: uppercase; font: 400 16px/24px Oswald, Arial, sans-serif !important; }
body.mgs-site .mgs-single-article .post-navigation { margin: 0; padding: 27.506px 0 0; border-top: 1px solid #eee; }
body.mgs-site .mgs-single-article .nav-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
body.mgs-site .mgs-single-article .nav-links > div { width: auto; float: none; }
body.mgs-site .mgs-single-article .nav-next { grid-column: 2; text-align: right; }
body.mgs-site .mgs-single-article .nav-links a { display: flex; flex-direction: column; color: #222; }
body.mgs-site .mgs-single-article .mgs-post-nav-label { color: #666; font-size: 14px; }

/* A missing URL still exposes the real finder, enquiry and current category data. */
body.mgs-site .mgs-not-found { padding-top: 30px; }
body.mgs-site .mgs-not-found .mgs-page-title { margin-top: 0 !important; }
body.mgs-site .mgs-not-found-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; padding: 40px 15px 38px; border-bottom: 1px solid #eee; }
body.mgs-site .mgs-not-found-actions .button { display: flex; align-items: center; justify-content: center; gap: 10px; justify-self: center; width: 200px; max-width: 100%; height: 42px; padding: 5px 10px !important; border: 0 !important; border-radius: 5px; outline: 2px solid #ccc; outline-offset: 6px; background: #003087 !important; color: #fff !important; font: 400 20px/32px Oswald, Arial, sans-serif !important; }
body.mgs-site .mgs-not-found-actions .mgs-icon { width: 20px; height: 20px; margin: 0; }
body.mgs-site .mgs-not-found-categories { margin: 44.5px 0 0; padding: 27.5px; background: #f8f8f8; }
body.mgs-site .mgs-not-found-categories h2 { margin: 0 0 16.2237px; padding: 0 0 8px !important; font: 400 30px/1.214 Oswald, Arial, sans-serif !important; }
body.mgs-site .mgs-not-found-categories h3 { margin: 0 0 5px; padding: 0 0 8px !important; border-bottom: 1px solid #eee; font: 400 20px/1.214 Oswald, Arial, sans-serif !important; }
body.mgs-site .mgs-not-found-categories ul { margin: 0; padding: 0; list-style: none; }
body.mgs-site .mgs-not-found-categories li { margin: 0 0 14px; padding: 0; }
body.mgs-site .mgs-not-found-categories li a { display: flex; align-items: baseline; gap: 10px; color: #111; text-decoration: none; }
body.mgs-site .mgs-not-found-categories li a:hover { color: #003087; text-decoration: underline; }
body.mgs-site .mgs-not-found-categories svg { flex: 0 0 18px; color: #a5a5a5; align-self: center; }
body.mgs-site .mgs-not-found-categories .mgs-category-count { margin-left: auto; white-space: nowrap; }

@media (max-width: 767px) {
  body.mgs-site .mgs-content-shell { padding-bottom: 50px; }
  body.mgs-site .mgs-content-shell .mgs-page-title { margin: 35px 0 12.979px !important; font-size: 24px !important; }
  body.mgs-site .mgs-content-shell .entry-content h2 { margin-bottom: 12.979px; font-size: 24px !important; }
  body.mgs-site .mgs-account-layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
  body.mgs-site .mgs-account-page .mgs-page-title { margin-top: 50px !important; }
  body.mgs-site .mgs-account-sidebar { display: none; }
  body.mgs-site .mgs-account-page .woocommerce-ResetPassword .form-row-first { width: 100%; }
  body.mgs-site .mgs-account-page form .form-row label { margin-bottom: 10px; }
  body.mgs-site .mgs-account-page form label.woocommerce-form-login__rememberme { margin-bottom: 40px !important; }
  body.mgs-site .mgs-account-page .woocommerce-MyAccount-navigation,
  body.mgs-site .mgs-account-page .woocommerce-MyAccount-content { width: 100%; float: none; }
  body.mgs-site .mgs-account-page .woocommerce-MyAccount-content { overflow-x: auto; }
  body.mgs-site .mgs-faq-index { margin-top: 30px; }
  body.mgs-site .mgs-faq-question-icon { vertical-align: 0; }
  body.mgs-site .mgs-single-article .mgs-page-title { margin-top: 0 !important; }
  body.mgs-site .mgs-single-article .mgs-breadcrumb { font-size: 14px; }
  body.mgs-site .mgs-single-article .mgs-article-featured { width: 100%; }
  body.mgs-site .mgs-single-article .nav-links { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.mgs-site .mgs-single-article .nav-next { grid-column: 1; }
  body.mgs-site .mgs-not-found { padding-top: 0; }
  body.mgs-site .mgs-not-found .mgs-page-title { margin-top: 0 !important; }
  body.mgs-site .mgs-not-found-actions { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.mgs-site .mgs-not-found-categories h2 { margin-bottom: 12.979px; font-size: 24px !important; }
}
@media (max-width: 568px) { body.mgs-site .mgs-content-shell { width: calc(100% - 2.8315em); } }
