/*
  Develancer Mobile Unified Fix v94
  Corrective mobile-only layer after v91/v92.
  Desktop untouched.
*/

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

  body {
    min-width: 0 !important;
    padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)) !important;
  }

  main {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  /*
    Mobile app shell:
    desktop header should not reserve useless vertical space.
  */
  body:not(.dv-loading-lock) header,
  body:not(.dv-loading-lock) .site-header,
  body:not(.dv-loading-lock) header.site-header {
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  body:not(.dv-loading-lock) header .nav,
  body:not(.dv-loading-lock) .site-header .nav,
  body:not(.dv-loading-lock) .nav {
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  /*
    Bottom dock: keep it stable, not too tall, readable.
  */
  .dv-mobile-dock-v91,
  .dv-mobile-dock-v92 {
    display: grid !important;
    height: 62px !important;
    left: 9px !important;
    right: 9px !important;
    bottom: calc(7px + env(safe-area-inset-bottom, 0px)) !important;
    padding: 6px 7px !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 4px !important;
    border-radius: 22px !important;
    z-index: 9994 !important;
  }

  .dv-mobile-dock-v91-item {
    height: 48px !important;
    min-width: 0 !important;
    padding: 4px 2px !important;
    gap: 2px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    border-radius: 16px !important;
  }

  .dv-mobile-dock-v91-item span:last-child {
    display: block !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .dv-mobile-dock-v91-ico,
  .dv-mobile-login-ico {
    width: 23px !important;
    height: 23px !important;
    display: grid !important;
    place-items: center !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .dv-mobile-dock-v91-ico svg,
  .dv-mobile-login-ico svg {
    width: 21px !important;
    height: 21px !important;
    display: block !important;
    fill: currentColor !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .dv-mobile-dock-v91-item.is-primary {
    height: 54px !important;
    margin-top: -14px !important;
    border-radius: 18px !important;
  }

  /*
    SUPPORT WIDGET FIX:
    Previous mobile layer scaled the whole support root.
    That made the opened panel distorted. Now only FAB is compact;
    the panel itself opens as a clean bottom sheet.
  */
  #dv45Support,
  .dv45-support {
    position: fixed !important;
    right: auto !important;
    left: 12px !important;
    bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    transform: none !important;
    scale: 1 !important;
    transform-origin: left bottom !important;
    z-index: 9996 !important;
  }

  #dv45Support > button,
  #dv45Support .dv45-fab,
  #dv45Support .dv45-button,
  #dv45Support [class*="fab"],
  #dv45Support [class*="trigger"],
  .dv45-support .dv45-fab,
  .dv45-support [class*="fab"],
  .dv45-support [class*="trigger"] {
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
    min-height: 60px !important;
    max-width: 60px !important;
    max-height: 60px !important;
    border-radius: 20px !important;
  }

  #dv45Support img,
  .dv45-support img {
    max-width: 100% !important;
    height: auto !important;
  }

  #dv45Panel,
  #dv45Support .dv45-panel,
  #dv45Support [class*="panel"],
  #dv45Support [class*="chat"],
  .dv45-support .dv45-panel,
  .dv45-support [class*="panel"] {
    position: fixed !important;
    top: auto !important;
    left: 10px !important;
    right: 10px !important;
    bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    max-height: min(74dvh, 620px) !important;
    transform: none !important;
    scale: 1 !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    z-index: 9999 !important;
  }

  #dv45Support .dv45-body,
  #dv45Support .dv45-content,
  #dv45Support .dv45-log,
  #dv45Support [class*="body"],
  #dv45Support [class*="content"],
  #dv45Support [class*="log"],
  .dv45-support .dv45-body,
  .dv45-support .dv45-content,
  .dv45-support .dv45-log {
    max-height: calc(74dvh - 170px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  #dv45Support input,
  #dv45Support textarea,
  #dv45Support button,
  .dv45-support input,
  .dv45-support textarea,
  .dv45-support button {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /*
    Campaign popup/teaser: no full viewport takeover on mobile.
  */
  .dv-launch-home-teaser {
    left: 10px !important;
    right: 10px !important;
    bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important;
    width: auto !important;
    max-width: none !important;
    max-height: 32dvh !important;
    overflow: auto !important;
    border-radius: 20px !important;
    box-sizing: border-box !important;
    z-index: 9992 !important;
  }

  .dv-launch-popup,
  .dv-launch-campaign-popup,
  .dv-launch-modal,
  .dv-launch-card,
  .dv-launch-popup-card,
  .dv-launch-campaign-card,
  [class*="dv-launch-popup"],
  [class*="launch-campaign-card"],
  [class*="launch"][class*="modal"],
  [class*="launch"][class*="popup"] {
    width: auto !important;
    max-width: calc(100vw - 20px) !important;
    max-height: 66dvh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    border-radius: 24px !important;
    box-sizing: border-box !important;
  }

  /*
    Home hero: less endless vertical feel.
  */
  .dv3-home {
    padding-top: 0 !important;
    overflow-x: hidden !important;
  }

  .dv3-home .dv3-hero {
    margin-top: 0 !important;
    padding-top: 8px !important;
    padding-bottom: 14px !important;
    min-height: auto !important;
    border-radius: 0 0 26px 26px !important;
  }

  .dv3-home .dv3-visual {
    max-width: 230px !important;
    min-height: 110px !important;
    max-height: 145px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .dv3-home .dv3-orbit {
    width: min(48vw, 188px) !important;
    height: min(48vw, 188px) !important;
    max-width: 188px !important;
    max-height: 188px !important;
  }

  .dv3-home .dv3-copy h1,
  .dv3-home h1 {
    font-size: clamp(20px, 5.6vw, 27px) !important;
    line-height: 1.48 !important;
    margin-top: 4px !important;
    margin-bottom: 7px !important;
  }

  .dv3-home .dv3-copy p,
  .dv3-home .dv3-copy .lead,
  .dv3-home p {
    font-size: 12.8px !important;
    line-height: 1.85 !important;
  }

  .dv3-home .dv3-actions,
  .dv3-home .actions,
  .dv3-home .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  /*
    Public pages: compact mobile cards instead of endless desktop stacking.
  */
  .container,
  .wrap,
  .page-wrap,
  .content-wrap,
  [class*="container"],
  [class*="wrapper"] {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  main section,
  main .card,
  main [class*="card"],
  main [class*="box"],
  main [class*="panel"] {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  main [style*="grid-template-columns"],
  main [style*="display:grid"],
  main [style*="display: grid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  main a[class*="btn"],
  main button[class*="btn"],
  main .btn,
  main a[style*="border-radius"],
  main button[style*="border-radius"] {
    max-width: 100% !important;
    box-sizing: border-box !important;
    min-height: 42px !important;
    padding: 10px 12px !important;
    font-size: 12.5px !important;
    line-height: 1.55 !important;
    border-radius: 15px !important;
  }

  /*
    Auth pages: make the form the primary mobile content.
    Reduce accidental marketing/header content above forms.
  */
  body:has(input[name="phone"]) main,
  body:has(input[type="password"]) main,
  body:has(form[action*="login"]) main,
  body:has(form[action*="register"]) main {
    padding-top: 10px !important;
  }

  body:has(input[name="phone"]) main > section:first-child,
  body:has(form[action*="login"]) main > section:first-child,
  body:has(form[action*="register"]) main > section:first-child {
    margin-top: 0 !important;
  }

  body:has(input[name="phone"]) .dv3-home,
  body:has(form[action*="login"]) .dv3-home,
  body:has(form[action*="register"]) .dv3-home {
    display: none !important;
  }

  /*
    Footer: compact mobile footer.
    Keep links accessible but avoid a huge vertical directory.
  */
  .dv-footer,
  footer {
    padding: 24px 16px calc(98px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: auto !important;
    overflow-x: hidden !important;
  }

  .dv-footer [style*="grid-template-columns"],
  footer [style*="grid-template-columns"],
  .dv-footer [style*="display:grid"],
  footer [style*="display:grid"],
  .dv-footer [style*="display: grid"],
  footer [style*="display: grid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .dv-footer p,
  footer p {
    font-size: 12.5px !important;
    line-height: 1.85 !important;
    margin: 0 0 10px !important;
  }

  .dv-footer p:first-of-type,
  footer p:first-of-type {
    max-height: 5.8em !important;
    overflow: hidden !important;
  }

  .dv-footer h3,
  .dv-footer h4,
  footer h3,
  footer h4 {
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 0 0 7px !important;
  }

  .dv-footer a,
  footer a {
    font-size: 12.5px !important;
    line-height: 1.8 !important;
    padding: 3px 0 !important;
  }

  .dv-footer ul,
  footer ul {
    margin: 0 !important;
    padding: 0 !important;
  }

  .dv-footer li,
  footer li {
    margin: 0 !important;
    padding: 0 !important;
  }

  .dv-footer img[src*="enamad"],
  footer img[src*="enamad"],
  img[src*="trustseal.enamad"] {
    max-width: 90px !important;
    max-height: 90px !important;
    object-fit: contain !important;
  }

  /*
    Avoid dock covering final footer text.
  */
  body > *:last-child {
    margin-bottom: 0 !important;
  }
}

@media (max-width: 430px) {
  main [style*="grid-template-columns"],
  main [style*="display:grid"],
  main [style*="display: grid"] {
    grid-template-columns: 1fr !important;
  }

  .dv-footer [style*="grid-template-columns"],
  footer [style*="grid-template-columns"],
  .dv-footer [style*="display:grid"],
  footer [style*="display:grid"],
  .dv-footer [style*="display: grid"],
  footer [style*="display: grid"] {
    grid-template-columns: 1fr 1fr !important;
  }

  #dv45Support,
  .dv45-support {
    left: 10px !important;
  }

  #dv45Support > button,
  #dv45Support .dv45-fab,
  #dv45Support .dv45-button,
  #dv45Support [class*="fab"],
  #dv45Support [class*="trigger"] {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    max-width: 56px !important;
    max-height: 56px !important;
  }

  .dv3-home .dv3-visual {
    max-width: 210px !important;
    min-height: 102px !important;
  }

  .dv3-home .dv3-orbit {
    width: min(46vw, 172px) !important;
    height: min(46vw, 172px) !important;
  }
}
