/* ==========================================================================
   Method Arch - Elementor utilities
   Applied through Elementor > Advanced > CSS Classes. Colours and type live in
   Elementor > Site Settings (Global Colours / Global Fonts).
   ========================================================================== */
.elementor p, .elementor ul, .elementor ol { max-width: none; }
.elementor-widget-text-editor p { margin: 0 0 1em; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
::selection { background: #ff6e42; color: #212121; }

/* Eyebrow label: Method Arch mark (class: ma-eyebrow on a Heading) */
.ma-eyebrow .elementor-heading-title { display: flex; align-items: center; gap: .75rem; }
.ma-eyebrow .elementor-heading-title::before { content: ""; width: .875rem; height: .875rem; background-image: url('https://methodarch.com.au/wp-content/uploads/2026/10/method-arch-mark.png'); background-repeat: no-repeat; background-position: center; background-size: contain; flex-shrink: 0; }

/* Phase rows (class: ma-phase on the row container, ma-phase-title on its title) */
.ma-phase .ma-phase-title .elementor-heading-title { transition: color .15s ease; }
a.ma-phase:hover .ma-phase-title .elementor-heading-title { color: #a8401e; }

/* Partner tags (class: ma-tags on an inline Icon List) */
.ma-tags .elementor-icon-list-items.elementor-inline-items { margin: 0 !important; gap: .4rem; }
.ma-tags .elementor-icon-list-item { margin: 0 !important; padding: .35rem .625rem; box-shadow: inset 0 0 0 1px #e0dee0; }
.ma-tags .elementor-icon-list-item::after { display: none; }

/* Sector chips (class: ma-chips on an inline Icon List with links) */
.ma-chips .elementor-icon-list-items.elementor-inline-items { margin: 0 !important; gap: .625rem; }
.ma-chips .elementor-icon-list-item { margin: 0 !important; }
.ma-chips .elementor-icon-list-item::after { display: none; }
.ma-chips .elementor-icon-list-item > a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .5rem 1.125rem; background: #fff; border: 1px solid #807c70; border-radius: 999px; transition: background-color .15s ease, border-color .15s ease; }
.ma-chips .elementor-icon-list-item > a:hover { background: #21403d; border-color: #21403d; }

/* Image crops (class on an Image widget) */
.ma-ratio-3x2 img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.ma-ratio-portrait img { width: 100%; aspect-ratio: 691 / 799; object-fit: cover; background: #e0dee0; }

/* Check list rows (class: ma-checks on an Icon List) */
.ma-checks .elementor-icon-list-item { padding: .8rem 0 !important; border-bottom: 1px solid #b5b0a1; align-items: flex-start !important; }
.ma-checks .elementor-icon-list-icon { padding-top: .45rem; }

/* Contact form (class: ma-form on the WPForms widget) */
.ma-form .wpforms-container { --wpforms-field-border-radius: 2px; --wpforms-field-border-color: #807c70; --wpforms-field-text-color: #212121; --wpforms-field-background-color: #ffffff; --wpforms-label-color: #3f5147; --wpforms-label-sublabel-color: #3f5147; --wpforms-label-error-color: #b3261e; --wpforms-button-background-color: #ff6e42; --wpforms-button-text-color: #212121; --wpforms-button-border-radius: 2px; --wpforms-field-size-input-height: 46px; --wpforms-field-size-font-size: 16px; --wpforms-label-size-font-size: 12px; --wpforms-label-size-sublabel-font-size: 13px; --wpforms-button-size-font-size: 15px; --wpforms-button-size-height: 52px; --wpforms-button-size-padding-h: 32px; margin: 0; }
.ma-form .wpforms-container .wpforms-field-label { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #3f5147; }
.ma-form .wpforms-container .wpforms-field-label-inline { text-transform: none; letter-spacing: 0; font-weight: 400; font-size: .94rem; color: #212121; }
.ma-form .wpforms-container .wpforms-required-label { color: #b3261e; }
.ma-form .wpforms-container input[type=text], .ma-form .wpforms-container input[type=email], .ma-form .wpforms-container select, .ma-form .wpforms-container textarea { border-radius: 2px; border-color: #807c70; font-family: inherit; }
.ma-form .wpforms-container input:focus, .ma-form .wpforms-container select:focus, .ma-form .wpforms-container textarea:focus { border-color: #21403d; box-shadow: 0 0 0 2px #21403d; outline: none; }
.ma-form .wpforms-container .wpforms-field-description { font-size: .8125rem; color: #3f5147; }
.ma-form .wpforms-container button.wpforms-submit { font-family: inherit; font-weight: 600; letter-spacing: .03em; background: #ff6e42; color: #212121; border: 0; border-radius: 2px; transition: background-color .15s ease, color .15s ease; }
.ma-form .wpforms-container button.wpforms-submit:hover { background: #21403d !important; color: #ffffff !important; }

/* Header / footer (XPRO) */
.xpro-theme-builder-header .xpro-elementor-horizontal-menu-list > li > a { letter-spacing: .03em; }
.xtb-header-sticky { position: sticky; top: 0; z-index: 100; }
@media (max-width: 1024px) { .xtb-header-sticky { position: relative; } }
body.admin-bar .xtb-header-sticky { top: 32px; }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }
/* XPRO menus */
.xpro-theme-builder-header .xpro-elementor-horizontal-navbar-nav > li > a.xpro-elementor-nav-link { position: relative; }
@media (min-width: 1025px) {
  .xpro-theme-builder-header .xpro-elementor-horizontal-navbar-nav > li.current-menu-item > a.xpro-elementor-nav-link::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 2px; height: 2px; background: #ff6e42; }
}
.ma-footer-menu--stack .xpro-elementor-horizontal-navbar-nav { display: flex; flex-direction: column; align-items: flex-start; }
.ma-footer-menu--inline .xpro-elementor-horizontal-navbar-nav { display: flex; flex-wrap: wrap; }
.ma-footer-menu--inline .xpro-elementor-horizontal-navbar-nav > li:first-child > a { padding-left: 0 !important; }
.ma-footer-menu .xpro-elementor-horizontal-navbar-nav > li.current-menu-item > a { text-decoration: underline; text-decoration-color: #ff6e42; text-underline-offset: 4px; }

/* Anchor targets sit clear of the sticky header */
.elementor [id] { scroll-margin-top: 96px; }
.ma-phase:target { background: #faf9f6; box-shadow: inset 3px 0 0 #ff6e42; }
@media (min-width: 820px) {
  .site-header,
  .site-header .container,
  header .container,
  header nav,
  .main-navigation {
    flex-wrap: nowrap !important;
  }
  header nav ul,
  .main-navigation ul,
  .nav-menu,
  ul.menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: clamp(10px, 1.4vw, 26px) !important;
  }
  header nav ul li,
  .main-navigation ul li {
    white-space: nowrap !important;
  }
  header nav ul li a,
  .main-navigation a {
    font-size: clamp(12px, 1vw, 14px) !important;
    white-space: nowrap !important;
  }
  header .button,
  header .btn,
  header a.button,
  .site-header .cta {
    white-space: nowrap !important;
    padding: 10px 16px !important;
    font-size: clamp(12px, 1vw, 14px) !important;
  }
}

/* Header CTA button: keep label on one line */
.xpro-theme-builder-header .xpro-elementor-button,
.xpro-theme-builder-header .xpro-elementor-button-inner,
.xpro-theme-builder-header .xpro-button-text { white-space: nowrap; }
.xpro-theme-builder-header .elementor-widget-xpro-button { flex-shrink: 0; }
.xpro-theme-builder-header .elementor-widget-xpro-horizontal-menu { min-width: 0; }


/* MA: Header CTA alignment (desktop) */
@media (min-width: 1025px) {
  .xpro-theme-builder-header .elementor-widget-xpro-horizontal-menu,
  .xpro-theme-builder-header .elementor-widget-xpro-button {
    align-self: center;
  }
  .xpro-theme-builder-header .xpro-elementor-horizontal-navbar-nav {
    align-items: center;
  }
}