/* Owner 2026-11-05: the shared Metal header (sticky, shrinks on scroll, Services mega menu, account,
   full-screen mobile panel) and the footer link columns. Loaded after navigation.css by the /industries
   shell and the portal/login chrome. Logical properties only (RTL in Arabic); no min()/max(). */

/* Closed menus take no room at all (their content would otherwise be laid out off-screen; in RTL that
   widens the page). */
.ai-site details:not([open]) > .ai-nav-dropdown, .ai-site details:not([open]) > .ai-mobile-panel { display: none; }

/* ---- sticky header that shrinks on scroll ---- */
.ai-site .ai-nav { position: sticky; top: 0; z-index: 1025; transition: padding .2s ease, box-shadow .2s ease; }
.ai-metal-chrome-top .ai-nav { position: relative; }
.ai-site .ai-nav .ai-logo-viewport { transition: width .2s ease; }
.ai-site .ai-nav.is-scrolled { padding-block: 7px; box-shadow: 0 8px 26px #1724511a; }
@media (min-width: 901px) { .ai-site .ai-nav.is-scrolled .ai-logo-viewport { width: 168px; } }
@media (max-width: 900px) { .ai-site .ai-nav.is-scrolled .ai-logo-viewport { width: 118px; } }

/* ---- Services mega menu (child menus with a description and an icon) ---- */
.ai-site .ai-mega-panel { width: 600px; padding: 12px; }
.ai-site .ai-mega-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; margin: 0; padding: 0; list-style: none; }
.ai-site .ai-nav-dropdown a.ai-mega-item { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; padding: 12px; border-radius: 10px; color: #172451; text-decoration: none; }
.ai-site .ai-nav-dropdown a.ai-mega-item:hover, .ai-site .ai-nav-dropdown a.ai-mega-item:focus-visible { background: #f3f5ff; }
.ai-site .ai-nav-dropdown a.ai-mega-item[aria-current] { background: #f0f3ff; }
.ai-site .ai-mega-icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 10px; background: #f0f3ff; color: #4054eb; }
.ai-site .ai-mega-text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ai-site .ai-mega-text .ai-menu-label { font-size: 14px; font-weight: 600; line-height: 1.35; }
.ai-site .ai-mega-desc { font-size: 12.5px; font-weight: 400; line-height: 1.45; color: #667085; }
.ai-site .ai-nav-dropdown a.ai-mega-cta { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-block-start: 8px; padding: 12px 14px; border-block-start: 1px solid #eef1f6; border-radius: 0 0 8px 8px; font-size: 13px; font-weight: 600; color: #4054eb; }
.ai-site[dir=rtl] .ai-mega-cta > span[aria-hidden], .ai-site[dir=rtl] .ai-mobile-plain > span[aria-hidden] { transform: scaleX(-1); }
.ai-site[dir=rtl] .ai-launch-arrow { display: inline-block; transform: scaleX(-1); } /* 288f: forward arrows point left in Arabic */
.ai-site .ai-caret { font-size: 12px; transition: transform .16s; }
.ai-site .ai-nav-menu[open] > summary .ai-caret { transform: rotate(180deg); }

/* ---- sign in, account menu, open-request count ---- */
.ai-site .ai-signin { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 12px; border: 1px solid #e5eaf1; border-radius: 9px; color: #485369; font-size: 13px; font-weight: 600; text-decoration: none; }
.ai-site .ai-signin:hover { background: #f5f7fb; border-color: #c8d0e6; color: #172451; }
.ai-site .ai-account-menu > summary { display: flex; align-items: center; gap: 7px; min-height: 44px; padding: 0 12px; border: 1px solid #e5eaf1; border-radius: 9px; color: #485369; font-size: 12px; font-weight: 600; cursor: pointer; list-style: none; }
.ai-site .ai-account-menu > summary::-webkit-details-marker { display: none; }
.ai-site .ai-account-name { max-width: 18ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ai-site .ai-account-menu .ai-nav-dropdown { inset-inline-start: auto; inset-inline-end: 0; width: 240px; }
.ai-site a.ai-account-link { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.ai-site .ai-count { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: #4054eb; color: #fff; font-size: 11px; font-weight: 700; line-height: 1; }
.ai-site .ai-dot-count { width: 8px; height: 8px; border-radius: 50%; background: #4054eb; }

/* ---- full-screen mobile panel with big touch targets ---- */
@media (max-width: 900px) {
    .ai-site .ai-nav-actions .ai-signin, .ai-site .ai-nav-actions .ai-account-menu { display: none; }
    .ai-site .ai-mobile-panel { position: fixed; inset-inline: 0; inset-block-end: 0; inset-block-start: var(--ai-header-h, 70px); z-index: 1030; max-height: none; padding: 12px 16px 32px; border: 0; border-block-start: 1px solid #e5eaf2; border-radius: 0; box-shadow: none; overflow-y: auto; overscroll-behavior: contain; background: #fff; }
    .ai-site .ai-mobile-panel > p.ai-mobile-heading { margin: 18px 12px 6px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #8993a7; }
    .ai-site[dir=rtl] .ai-mobile-panel > p.ai-mobile-heading { letter-spacing: 0; text-transform: none; }
    .ai-site .ai-mobile-panel > a.ai-mobile-item { justify-content: flex-start; gap: 14px; min-height: 56px; padding: 10px 12px; border-radius: 10px; font-size: 16px; color: #172451; }
    .ai-site .ai-mobile-panel > a.ai-mobile-plain { justify-content: space-between; font-weight: 600; }
    .ai-site .ai-mobile-panel > a.ai-mobile-item[aria-current] { background: #f0f3ff; color: #4054eb; }
    .ai-site .ai-mobile-panel .ai-mega-text .ai-menu-label { font-size: 16px; }
    .ai-site .ai-mobile-panel .ai-mega-desc { font-size: 13px; }
    .ai-site .ai-mobile-account a { min-height: 56px; padding: 10px 12px; border-radius: 10px; font-size: 16px; color: #172451; text-decoration: none; }
    .ai-site .ai-mobile-account a:hover { background: #f5f7fd; }
    .ai-site .ai-mobile-actions { display: grid; gap: 10px; margin-block-start: 22px; }
    .ai-site .ai-mobile-actions .ai-button { min-height: 52px; width: 100%; font-size: 15px; }
    html.ai-menu-open, html.ai-menu-open body, html.ai-menu-open #wrapwrap { overflow: hidden; }
}

/* ---- footer: link columns (editable "Metal footer" menu) + company contact ---- */
.ai-site .ai-footer-columns { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1.3fr); gap: 32px; margin-inline: 4.5%; padding-block: 30px 34px; border-block-start: 1px solid #e0e6ef; }
.ai-site .ai-footer-menus { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.ai-site .ai-footer-heading { margin: 0 0 12px; font-size: 12px; font-weight: 700; letter-spacing: .08em; line-height: 1.4; text-transform: uppercase; color: #8a94a8; }
.ai-site[dir=rtl] .ai-footer-heading { letter-spacing: 0; text-transform: none; font-size: 13px; }
.ai-site .ai-footer-col ul { margin: 0; padding: 0; list-style: none; }
.ai-site .ai-footer-col li { margin-block-end: 2px; }
.ai-site .ai-footer-col a { display: inline-flex; align-items: center; min-height: 34px; color: #243149; font-size: 14px; text-decoration: none; }
.ai-site .ai-footer-col a:hover, .ai-site .ai-footer-col a[aria-current] { color: #4054eb; }
.ai-site .ai-footer-contact, .ai-site .ai-footer-contact address { font-style: normal; margin: 0; }
.ai-site .ai-footer-contact li { display: flex; flex-direction: column; margin-block-end: 10px; }
.ai-site .ai-contact-label { font-size: 11px; color: #8a94a8; }
.ai-site .ai-footer-contact a, .ai-site .ai-footer-contact span[data-contact] { min-height: 28px; font-size: 14px; color: #243149; overflow-wrap: anywhere; }
.ai-site[dir=rtl] .ai-footer-contact a[dir=ltr] { justify-content: flex-end; }
@media (max-width: 900px) {
    .ai-site .ai-footer-columns { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-inline: 6%; }
    .ai-site .ai-footer-menus { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
    .ai-site .ai-footer-col a { min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
    .ai-site .ai-nav, .ai-site .ai-nav .ai-logo-viewport, .ai-site .ai-caret { transition: none; }
}
