
/* =========================================================
   ELCHPOWER V5.3.3 — TRUE MOBILE LAYOUT
   ========================================================= */

@media (max-width: 979px) {
  html, body { overflow-x:hidden !important; }

  /* Header */
  .site-header {
    min-height:110px !important;
    height:auto !important;
    padding:16px 22px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
  }
  .site-header .brand img {
    width:82px !important;
    height:74px !important;
  }
  .menu-button {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:94px !important;
    min-height:52px !important;
    font-size:1rem !important;
    border-radius:999px !important;
  }
  .main-nav {
    position:absolute !important;
    top:100% !important;
    left:16px !important;
    right:16px !important;
    width:auto !important;
    display:none !important;
    flex-direction:column !important;
    gap:0 !important;
    padding:12px !important;
    border:1px solid rgba(213,170,80,.14) !important;
    border-radius:18px !important;
    background:rgba(7,20,13,.98) !important;
    box-shadow:0 24px 60px rgba(0,0,0,.34) !important;
    z-index:999 !important;
  }
  .main-nav.open { display:flex !important; }
  .main-nav a {
    width:100% !important;
    min-height:48px !important;
    display:flex !important;
    align-items:center !important;
    padding:0 14px !important;
    font-size:.95rem !important;
    border-radius:12px !important;
  }
  .main-nav .nav-contact { justify-content:flex-start !important; }

  /* HOME */
  body:has(.v5-home-main) { overflow-y:auto !important; height:auto !important; }
  body:has(.v5-home-main) .v5-home-screen { min-height:auto !important; height:auto !important; overflow:visible !important; }
  body:has(.v5-home-main) .v5-home-shell {
    width:min(100% - 36px, 720px) !important;
    margin:0 auto !important;
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    padding:38px 0 34px !important;
  }
  .v5-home-left { max-width:none !important; width:100% !important; }
  .v5-home-left h1 {
    font-size:clamp(3.2rem,14vw,5.2rem) !important;
    line-height:.95 !important;
    max-width:7.8ch !important;
    margin:18px 0 28px !important;
  }
  .v5-home-lead {
    max-width:none !important;
    font-size:1.1rem !important;
    line-height:1.72 !important;
  }
  .v5-values {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    margin-top:28px !important;
  }
  .v5-values button {
    width:100% !important;
    min-height:48px !important;
    font-size:.88rem !important;
    padding:0 12px !important;
  }
  .v5-value-copy {
    min-height:auto !important;
    max-width:none !important;
    font-size:.95rem !important;
    line-height:1.62 !important;
    margin-top:16px !important;
  }
  .v5-home-actions {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:28px !important;
  }
  .v5-primary,.v5-secondary {
    width:100% !important;
    min-height:54px !important;
    font-size:.96rem !important;
  }

  .v5-home-right {
    width:100% !important;
    min-height:0 !important;
    height:auto !important;
    display:block !important;
    margin-top:38px !important;
    transform:none !important;
  }
  .v5-home-orbit { display:none !important; }
  .v5-home-nav {
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:none !important;
    gap:10px !important;
  }
  .v5-home-card {
    min-height:112px !important;
    padding:18px !important;
    grid-template-columns:34px 1fr 24px !important;
  }
  .v5-home-card small { font-size:.68rem !important; }
  .v5-home-card strong { font-size:1.05rem !important; line-height:1.28 !important; }
  .v5-focus {
    min-height:0 !important;
    margin-top:12px !important;
    padding:24px !important;
  }
  .v5-focus-panel h2 { font-size:2rem !important; max-width:none !important; }
  .v5-focus-panel p { font-size:1rem !important; max-width:none !important; }
  .v5-elchi-anchor {
    margin-top:18px !important;
    padding:18px 0 0 !important;
  }
  .v5-elchi-anchor span { font-size:.74rem !important; }
  .v5-elchi-anchor p { font-size:.9rem !important; }

  .v5-home-bottom-inner {
    width:min(100% - 36px,720px) !important;
    min-height:auto !important;
    padding:16px 0 !important;
    display:grid !important;
    gap:7px !important;
    font-size:.82rem !important;
  }

  /* SERVICE OVERVIEW + DETAILS */
  body.services-overview-page,
  body:has(.ep-detail-main) {
    display:block !important;
    height:auto !important;
    min-height:100vh !important;
    overflow-y:auto !important;
  }
  body.services-overview-page .lp-main,
  body:has(.ep-detail-main) .ep-detail-main {
    display:block !important;
    height:auto !important;
    overflow:visible !important;
  }
  body.services-overview-page .service-hub-v47-grid,
  body:has(.ep-detail-main) .ep-detail-grid {
    width:min(100% - 36px,720px) !important;
    display:block !important;
    height:auto !important;
    padding:36px 0 !important;
  }
  .service-hub-v47-copy,
  .ep-detail-left { max-width:none !important; }
  .service-hub-v47-copy h1,
  .ep-detail-left h1 {
    font-size:clamp(3rem,13vw,5rem) !important;
    max-width:8ch !important;
  }
  .service-hub-v47-lead,
  .ep-detail-lead { font-size:1rem !important; line-height:1.7 !important; }
  .service-hub-v47-panel { grid-template-columns:1fr !important; gap:10px !important; margin-top:32px !important; }
  .hub-card-v47 { min-height:126px !important; padding:18px !important; transform:none !important; }
  .hub-card-v47:nth-of-type(2), .hub-card-v47:nth-of-type(5) { transform:none !important; }

  .ep-detail-right {
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    margin-top:32px !important;
  }
  .ep-detail-points { display:grid !important; gap:10px !important; }
  .ep-detail-point { min-height:88px !important; }
  .ep-detail-focus { margin-top:12px !important; min-height:240px !important; }

  /* Mobile service nav is its own horizontal scroller, below the content */
  .ep-master-service-nav {
    height:auto !important;
    min-height:68px !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
  }
  .ep-master-service-nav .ep-master-shell {
    width:max-content !important;
    min-width:100% !important;
    grid-template-columns:repeat(4,190px) !important;
    gap:0 !important;
  }
  .ep-master-service-link {
    min-height:68px !important;
    padding:0 18px !important;
  }
  .ep-master-service-link span { font-size:.76rem !important; }
  .ep-master-service-link strong { font-size:.9rem !important; white-space:normal !important; text-align:center; }

  /* Footer: controlled two-row mobile layout */
  .ep-master-footer {
    height:auto !important;
    min-height:0 !important;
    padding:18px 0 20px !important;
  }
  .ep-master-footer .ep-master-shell {
    width:min(100% - 36px,720px) !important;
    display:grid !important;
    gap:16px !important;
  }
  .ep-master-footer-left,
  .ep-master-footer-right {
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px 16px !important;
    margin:0 !important;
  }
  .ep-master-footer-left span,
  .ep-master-footer-left a,
  .ep-master-partner-trigger { font-size:.86rem !important; }
  .ep-master-footer-right>span { font-size:.72rem !important; }
  .ep-master-partner-popover {
    left:18px !important;
    right:18px !important;
    bottom:92px !important;
    width:auto !important;
  }
}

@media (max-width: 520px) {
  .v5-values { grid-template-columns:1fr !important; }
  .v5-home-left h1,
  .service-hub-v47-copy h1,
  .ep-detail-left h1 { font-size:clamp(2.8rem,15vw,4.5rem) !important; }
}
