/* AOM Traders V58.17 - Free EA One-Screen Desktop
   Desktop goal:
   [compact intro] [primary form] [compact program info]
   All core Free EA information visible without scrolling on a normal desktop.
   Scoped only to .partner-page. No backend/OTP/Direct Auth changes. */

@media (min-width:1250px) and (min-height:760px){

  /* Back row: keep it, but remove wasted vertical space. */
  body.page-partner #main > .aom-page-back-wrap,
  #main > .aom-page-back-wrap:has(+ .partner-page){
    width:min(1480px,calc(100% - 48px)) !important;
    max-width:1480px !important;
    height:58px !important;
    padding-top:12px !important;
    padding-bottom:0 !important;
    margin:0 auto !important;
  }

  /* Turn the whole public Free EA area into one desktop row. */
  #main > .aom-page-back-wrap + .partner-page,
  #main > .partner-page{
    width:min(1480px,calc(100% - 48px)) !important;
    max-width:1480px !important;
    margin:0 auto !important;
    padding:10px 0 34px !important;

    display:grid !important;
    grid-template-columns:minmax(240px,280px) minmax(640px,760px) minmax(250px,300px) !important;
    grid-template-rows:auto !important;
    gap:16px !important;
    align-items:start !important;

    min-height:0 !important;
    height:auto !important;
    overflow:visible !important;
  }

  /* Flatten the old two-section wrappers so the three real cards
     become direct grid items without changing the HTML or JS. */
  .partner-page .partner-main-section,
  .partner-page .partner-main-grid{
    display:contents !important;
  }

  /* -------------------------------------------------------
     LEFT: compact intro/CTA
     ------------------------------------------------------- */
  .partner-page .partner-hero.section-first{
    grid-column:1 !important;
    grid-row:1 !important;

    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:20px !important;

    border:1px solid rgba(39,215,242,.12) !important;
    border-radius:18px !important;
    background:rgba(6,22,32,.74) !important;
    box-shadow:none !important;
  }

  .partner-page .partner-hero .partner-wide{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  .partner-page .partner-hero-copy{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    text-align:left !important;
  }

  .partner-page .partner-hero .eyebrow{
    font-size:9px !important;
  }

  .partner-page .partner-hero h1{
    max-width:none !important;
    margin:8px 0 10px !important;
    font-size:clamp(27px,2.15vw,34px) !important;
    line-height:1.04 !important;
    letter-spacing:-.04em !important;
    text-align:left !important;
  }

  .partner-page .partner-hero .lead{
    max-width:none !important;
    margin:0 !important;
    font-size:10.5px !important;
    line-height:1.52 !important;
    text-align:left !important;
  }

  .partner-page .partner-hero-actions{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:8px !important;
    margin-top:14px !important;
  }

  .partner-page .partner-hero-actions .btn{
    width:100% !important;
    min-height:38px !important;
    padding:0 12px !important;
    justify-content:center !important;
    font-size:10px !important;
  }

  .partner-page .partner-text-link{
    width:100% !important;
    padding:8px 0 0 !important;
    text-align:center !important;
    font-size:9.5px !important;
  }

  /* -------------------------------------------------------
     CENTER: primary form
     ------------------------------------------------------- */
  .partner-page .partner-application-card{
    grid-column:2 !important;
    grid-row:1 !important;
    order:initial !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:20px !important;

    row-gap:8px !important;
    column-gap:12px !important;

    border-color:rgba(39,215,242,.22) !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,rgba(7,24,35,.98),rgba(5,19,29,.98)) !important;
    box-shadow:0 24px 64px rgba(0,0,0,.16) !important;
  }

  .partner-page .partner-form-head{
    max-width:none !important;
    margin:0 !important;
  }

  .partner-page .partner-form-head .tiny-label{
    font-size:8.5px !important;
  }

  .partner-page .partner-form-head h2{
    margin:4px 0 4px !important;
    font-size:28px !important;
    line-height:1.05 !important;
  }

  .partner-page .partner-form-head p{
    max-width:none !important;
    margin:0 !important;
    font-size:9.5px !important;
    line-height:1.4 !important;
  }

  .partner-page [data-partner-form] > label{
    gap:4px !important;
  }

  .partner-page [data-partner-form] > label > span{
    font-size:8.5px !important;
  }

  .partner-page [data-partner-form] input,
  .partner-page [data-partner-form] select{
    height:39px !important;
    min-height:39px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    font-size:9.5px !important;
  }

  .partner-page [data-partner-form]
  label:has(input[name="trading_account_server"]) .partner-field-help{
    margin-top:0 !important;
    font-size:7.8px !important;
    line-height:1.25 !important;
  }

  /* Contact verification is a strip, not a large section. */
  .partner-page .v5814-contact-panel{
    min-height:0 !important;
    height:auto !important;
    padding:9px 11px !important;
    margin:1px 0 !important;
    border-radius:12px !important;
    gap:4px !important;
  }

  .partner-page .v5814-contact-panel h2,
  .partner-page .v5814-contact-panel h3,
  .partner-page .v5814-contact-panel h4{
    margin:0 0 2px !important;
    font-size:12.5px !important;
    line-height:1.15 !important;
  }

  .partner-page .v5814-contact-panel p,
  .partner-page .v5814-contact-panel small,
  .partner-page .v5814-contact-panel span{
    font-size:8.5px !important;
    line-height:1.3 !important;
  }

  .partner-page .v5814-contact-panel button{
    height:31px !important;
    min-height:31px !important;
    padding:0 11px !important;
    font-size:9px !important;
  }

  .partner-page .v5814-contact-panel input{
    height:33px !important;
    min-height:33px !important;
  }

  .partner-page .partner-manual-review{
    padding:4px 0 0 !important;
    margin:0 !important;
  }

  .partner-page .partner-manual-review > span{
    font-size:7.8px !important;
    line-height:1.3 !important;
  }

  .partner-page .partner-submit-row{
    margin:0 !important;
    gap:4px !important;
  }

  .partner-page .partner-submit-row .btn{
    min-height:37px !important;
    height:37px !important;
    font-size:10px !important;
  }

  /* -------------------------------------------------------
     RIGHT: compact 4-step program explanation
     ------------------------------------------------------- */
  .partner-page .partner-program-card{
    grid-column:3 !important;
    grid-row:1 !important;
    order:initial !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:18px !important;

    border-color:rgba(39,215,242,.12) !important;
    border-radius:18px !important;
    background:rgba(6,22,32,.74) !important;
    box-shadow:none !important;
  }

  .partner-page .partner-program-head{
    max-width:none !important;
    margin:0 !important;
    text-align:left !important;
  }

  .partner-page .partner-program-head .tiny-label,
  .partner-page .partner-program-head .eyebrow{
    font-size:8.5px !important;
  }

  .partner-page .partner-program-head h2{
    margin:5px 0 6px !important;
    font-size:22px !important;
    line-height:1.08 !important;
  }

  .partner-page .partner-program-head p{
    max-width:none !important;
    margin:0 !important;
    font-size:9px !important;
    line-height:1.42 !important;
    text-align:left !important;
  }

  .partner-page .partner-steps{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
    margin-top:12px !important;
  }

  .partner-page .partner-steps > *{
    min-height:88px !important;
    padding:10px !important;
    border-radius:11px !important;
  }

  .partner-page .partner-steps > * > span:first-child{
    font-size:21px !important;
    line-height:1 !important;
    margin-bottom:6px !important;
  }

  .partner-page .partner-steps h3{
    margin:2px 0 4px !important;
    font-size:10.5px !important;
    line-height:1.18 !important;
  }

  .partner-page .partner-steps p{
    margin:0 !important;
    font-size:7.8px !important;
    line-height:1.34 !important;
  }

  .partner-page .partner-exness-bottom{
    width:100% !important;
    min-height:34px !important;
    height:34px !important;
    margin:10px 0 0 !important;
    font-size:9px !important;
  }

  .partner-page .partner-program-card > p:last-child{
    margin:8px 0 0 !important;
    max-width:none !important;
    text-align:left !important;
    font-size:7.2px !important;
    line-height:1.3 !important;
  }

  /* Duplicate lower explainer is unnecessary on desktop.
     Keep it on smaller screens where stacking is expected. */
  .partner-page .partner-ecosystem{
    display:none !important;
  }

  /* Remove V58.12 global bottom padding for this single-screen page. */
  body.page-partner main#main{
    padding-bottom:20px !important;
  }
}

/* Smaller desktop/laptop: keep one-screen concept but narrow columns. */
@media (min-width:1250px) and (max-width:1450px) and (min-height:760px){
  #main > .aom-page-back-wrap + .partner-page,
  #main > .partner-page{
    grid-template-columns:230px minmax(600px,1fr) 245px !important;
    gap:12px !important;
  }

  .partner-page .partner-application-card{
    padding:17px !important;
  }

  .partner-page .partner-program-card,
  .partner-page .partner-hero.section-first{
    padding:16px !important;
  }
}

/* Short desktop viewport: make the cards even denser. */
@media (min-width:1250px) and (max-height:820px){
  body.page-partner #main > .aom-page-back-wrap,
  #main > .aom-page-back-wrap:has(+ .partner-page){
    height:50px !important;
    padding-top:8px !important;
  }

  #main > .aom-page-back-wrap + .partner-page,
  #main > .partner-page{
    padding-top:6px !important;
    gap:12px !important;
  }

  .partner-page .partner-application-card{
    padding:16px !important;
    row-gap:6px !important;
  }

  .partner-page .partner-program-card,
  .partner-page .partner-hero.section-first{
    padding:14px !important;
  }

  .partner-page [data-partner-form] input,
  .partner-page [data-partner-form] select{
    height:36px !important;
    min-height:36px !important;
  }

  .partner-page .partner-form-head h2{
    font-size:25px !important;
  }

  .partner-page .v5814-contact-panel{
    padding:7px 9px !important;
  }

  .partner-page .partner-submit-row .btn{
    height:34px !important;
    min-height:34px !important;
  }

  .partner-page .partner-steps > *{
    min-height:80px !important;
    padding:8px !important;
  }
}

/* Below desktop breakpoint, V58.16 responsive stacking remains in control. */
