/**
 * -----------------------------------------------------------------------------
 * FILE:          footer.bundle.css
 * TARGET PATH:   /Portals/20/_engine/modules/footer/footer.bundle.css
 * MODULE:        Military Enterprise Footer & Resource Hub
 * SYSTEM:        AFPIMS / DNN Portal 20 Core Engine
 * GOVERNANCE:    KB_PLATFORM_02 / KB_DEV_01 / KB_DEV_02 Standard
 * ACCESSIBILITY: Section 508 Compliant (Leak-Proof + Slimmed Staging)
 * -----------------------------------------------------------------------------
 */

/* ==========================================================================
   # 0 STAGING SUPPRESSION (ZERO LIVE LEAK DEFENSE)
   ========================================================================== */
.custom-military-footer .mil-footer-config,
.custom-military-footer .config-panel {
  display: none !important;
}

/* Reveal staging panel ONLY when actively editing inside AFPIMS CKEditor */
body.cke_editable .custom-military-footer .mil-footer-config,
body.cke_editable .custom-military-footer .config-panel,
.cke_editable .custom-military-footer .mil-footer-config,
.cke_editable .custom-military-footer .config-panel {
  display: block !important;
}

/* Hide the live preview while actively editing in CKEditor */
body.cke_editable .custom-military-footer .mil-footer-live,
body.cke_editable .custom-military-footer .live-panel,
.cke_editable .custom-military-footer .mil-footer-live,
.cke_editable .custom-military-footer .live-panel {
  display: none !important;
}

/* ==========================================================================
   # 1 ROOT CONTAINER & DESIGN TOKEN HOOKS
   ========================================================================== */
.custom-military-footer * {
  box-sizing: border-box;
}

.custom-military-footer {
  /* Font Stacks */
  --font-base: var(--lgui-font-sans, 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);
  --font-ui: var(--lgui-font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);

  /* Surfaces & Colorings with Fallbacks */
  --footer-bg: var(--lgui-surface-ground, #081326);
  --footer-text: var(--lgui-text-primary, #f8fafc);
  --footer-muted: var(--lgui-text-secondary, #cbd5e1);
  --footer-muted-2: var(--lgui-text-muted, #94a3b8);

  --accent: var(--lgui-brand-primary, #ffcc00);
  --accent-hover: var(--lgui-brand-hover, #ffde59);
  --topbar-bg: var(--lgui-surface-well, #040914);
  --topbar-text: var(--lgui-brand-primary, #ffcc00);
  --topbar-hover: var(--lgui-brand-hover, #ffde59);
  --legal-bg: var(--lgui-surface-well, #040914);

  /* Fluid Responsive Typography Sizing */
  --size-command-title: clamp(1.65rem, 4.3cqi, 2.15rem);
  --size-tagline: clamp(1.14rem, 2.8cqi, 1.30rem);
  --size-command-desc: clamp(1.08rem, 2.45cqi, 1.22rem);
  --size-group-title: clamp(1.32rem, 3.8cqi, 1.60rem);
  --size-item: clamp(1.08rem, 2.8cqi, 1.22rem);
  --size-topbar: clamp(1.12rem, 2.7cqi, 1.40rem);
  --size-legal-link: clamp(1.00rem, 2.15cqi, 1.10rem);
  --size-legal-copy: clamp(1.00rem, 2.05cqi, 1.08rem);

  --content-max-width: var(--lgui-content-max, 1200px);

  position: relative;
  width: 100%;
  margin: 0 auto;
  font-family: var(--font-base);
  isolation: isolate;
  container-type: inline-size;
}

/* ==========================================================================
   # 2 LIVE FOOTER SHELL, NAVIGATION, AND COMMAND GRID
   ========================================================================== */
.custom-military-footer .mil-footer-live {
  position: relative;
  width: 100%;
  background: var(--footer-bg);
  color: var(--footer-text);
  font-family: var(--font-base);
  transition: background-color 0.25s ease, color 0.25s ease;
}

/* Full Bleed Breakout */
.custom-military-footer.has-bleed {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  margin: -1px 0 !important;
  padding: 0 !important;
}

/* Return to Top Bar */
.custom-military-footer .mil-return-top-bar {
  background: var(--topbar-bg);
  border-bottom: 1px solid var(--lgui-border-default, rgba(255, 255, 255, 0.15));
  padding: 0 24px;
}

.custom-military-footer .mil-return-top-inner,
.custom-military-footer .mil-footer-main,
.custom-military-footer .mil-statutory-inner {
  max-width: var(--content-max-width);
  margin: 0 auto;
  width: 100%;
}

.custom-military-footer .mil-return-top-inner {
  display: flex;
  justify-content: center;
}

.custom-military-footer .mil-return-top-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 64px;
  text-decoration: none;
  color: var(--topbar-text);
  background: transparent;
  border: 0;
  padding: 14px 0;
  font-size: var(--size-topbar);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color 0.2s ease;
}

.custom-military-footer .mil-return-top-btn:before,
.custom-military-footer .mil-return-top-btn:after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--accent);
  opacity: 0.55;
  min-width: 24px;
  transition: opacity 0.2s ease;
}

.custom-military-footer .mil-return-top-btn:hover {
  color: var(--topbar-hover);
}

.custom-military-footer .mil-return-top-btn:hover:before,
.custom-military-footer .mil-return-top-btn:hover:after {
  opacity: 0.85;
}

.custom-military-footer .mil-return-top-btn:focus-visible,
.custom-military-footer .mil-social-btn:focus-visible,
.custom-military-footer .mil-item a:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.custom-military-footer .mil-top-label-text {
  white-space: nowrap;
  line-height: 1.1;
}

/* Main Grid Layout */
.custom-military-footer .mil-footer-main {
  padding: 54px 24px 42px;
}

.custom-military-footer .mil-main-grid {
  display: grid;
  grid-template-columns: 2.65fr 1.35fr;
  gap: 50px;
  align-items: start;
}

/* Command Identity Block (Right Column) */
.custom-military-footer .mil-command-block {
  display: flex;
  flex-direction: column;
  gap: 16px;
  border-left: 1px solid var(--lgui-border-default, rgba(255, 255, 255, 0.15));
  padding-left: 40px;
}

.custom-military-footer .mil-command-title,
.custom-military-footer .mil-group-title {
  margin: 0 0 6px;
  font-weight: 800;
  color: var(--footer-text);
  border-bottom: 2px solid var(--accent);
  padding-bottom: 8px;
  display: inline-block;
}

.custom-military-footer .mil-command-title {
  font-size: var(--size-command-title);
  letter-spacing: 0.5px;
  line-height: 1.2;
}

.custom-military-footer .mil-command-tagline {
  font-size: var(--size-tagline);
  color: var(--accent);
  font-weight: 700;
  margin: 0;
  line-height: 1.35;
}

.custom-military-footer .mil-command-desc {
  font-size: var(--size-command-desc);
  color: var(--footer-muted);
  line-height: 1.65;
  margin: 0;
}

/* Social Icon Channels */
.custom-military-footer .mil-social-wrap {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 8px;
}

.custom-military-footer .mil-social-label {
  font-size: 1rem;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.75px;
  color: var(--footer-text);
}

.custom-military-footer .mil-social-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.custom-military-footer .mil-social-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 46px;
  padding: 0 11px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid var(--lgui-border-strong, rgba(255, 255, 255, 0.18));
  border-radius: var(--lgui-radius-md, 8px);
  color: var(--footer-text);
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 700;
  transition: all 0.2s ease;
}

.custom-military-footer .mil-social-btn img {
  width: 22px;
  height: 22px;
  object-fit: contain;
  display: block;
}

.custom-military-footer .mil-social-btn:hover {
  background: var(--accent);
  color: var(--footer-bg);
  border-color: var(--accent);
  transform: translateY(-2px);
}

/* Left Navigation Pillars */
.custom-military-footer .mil-nav-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.custom-military-footer .mil-group {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.custom-military-footer .mil-group-title {
  font-size: var(--size-group-title);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.75px;
}

.custom-military-footer .mil-ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.custom-military-footer .mil-item {
  display: flex;
  align-items: center;
  font-size: var(--size-item);
  line-height: 1.5;
}

.custom-military-footer .mil-item:before {
  content: "›";
  font-size: 1.3em;
  font-weight: bold;
  color: var(--accent);
  margin-right: 0.55em;
}

.custom-military-footer .mil-item a {
  color: var(--footer-muted);
  font-weight: 500;
  text-decoration: none;
  transition: color 0.18s ease, transform 0.18s ease;
}

.custom-military-footer .mil-item a:hover {
  color: var(--accent);
  text-decoration: underline;
  transform: translateX(4px);
}

/* Statutory Legal Strip */
.custom-military-footer .mil-statutory-strip {
  background: var(--legal-bg);
  border-top: 1px solid var(--lgui-border-default, rgba(255, 255, 255, 0.15));
  padding: 28px 24px;
}

.custom-military-footer .mil-statutory-inner {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.custom-military-footer .mil-legal-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.custom-military-footer .mil-mandatory-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.custom-military-footer .mil-mandatory-links a {
  color: var(--footer-muted);
  text-decoration: none;
  font-size: var(--size-legal-link);
  font-weight: 500;
  line-height: 1.5;
  transition: color 0.18s ease;
}

.custom-military-footer .mil-mandatory-links a:hover {
  color: var(--footer-text);
  text-decoration: underline;
}

.custom-military-footer .mil-disclaimer-copy {
  font-size: var(--size-legal-copy);
  color: var(--footer-muted-2);
  line-height: 1.6;
  margin: 0;
}

/* Integrated Footer Theme Switcher Button */
.custom-military-footer .mil-footer-theme-wrap {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.custom-military-footer .mil-footer-theme-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: var(--lgui-radius-pill, 9999px);
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid var(--lgui-border-default, rgba(255, 255, 255, 0.15));
  color: var(--footer-text);
  font-family: var(--font-base);
  font-size: 0.85rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
}

.custom-military-footer .mil-footer-theme-btn:hover {
  border-color: var(--accent);
  background: var(--lgui-gold-alpha, rgba(205, 168, 81, 0.14));
  transform: translateY(-1px);
}

.custom-military-footer .mil-footer-theme-btn:focus-visible {
  outline: 2px solid var(--focus-outline, #38bdf8);
  outline-offset: 2px;
}

/* ==========================================================================
   # 3 RESPONSIVE BREAKPOINTS (PRESERVED ORIGINAL RULES)
   ========================================================================== */
@media (max-width: 992px) {
  .custom-military-footer .mil-main-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .custom-military-footer .mil-command-block {
    border-left: 0;
    border-top: 1px solid var(--lgui-border-default, rgba(255, 255, 255, 0.15));
    padding: 30px 0 0;
    order: 2;
  }
  .custom-military-footer .mil-nav-grid {
    order: 1;
  }
}

@media (max-width: 900px) {
  .custom-military-footer .mil-footer-config .config-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .custom-military-footer .mil-footer-config .config-header-row {
    align-items: flex-start;
  }
  .custom-military-footer .mil-footer-main {
    padding: 42px 16px 34px;
  }
  .custom-military-footer .mil-statutory-strip {
    padding: 24px 16px;
  }
  .custom-military-footer .mil-return-top-bar {
    padding: 0 16px;
  }
  .custom-military-footer .mil-return-top-btn {
    min-height: 58px;
    font-size: clamp(1rem, 4vw, 1.2rem);
    gap: 10px;
  }
  .custom-military-footer .mil-return-top-btn:before,
  .custom-military-footer .mil-return-top-btn:after {
    min-width: 12px;
  }
  .custom-military-footer .mil-nav-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

/* Reduced Motion Safeguard */
@media (prefers-reduced-motion: reduce) {
  .custom-military-footer * {
    transition: none !important;
    transform: none !important;
  }
}
