/* MADEALS registration reconstruction v0.8b
   Reference: ma_registration.png, ma_registration2a.png, ma_registration2b.png.
   v0.5 frozen components are consumed, never edited. */
html,body{margin:0;padding:0;background:#fff;color:#000;}
body.registration-v08b{min-width:1200px;font-family:Arial,Helvetica,sans-serif;}

/* Public registration hero — screenshot-proven 400px variant. */
.registration-public-hero{height:400px;position:relative;overflow:hidden;background:#fff url('assets/recovered-from-screenshot/registration-hero-background-recovered.png') center top/1920px 400px no-repeat;}
.registration-public-hero .container{height:400px;position:relative;}
.registration-logo{position:absolute;left:15px;top:38px;width:291px;height:64px;display:block;}
.registration-logo img{display:block;width:291px;height:64px;}
.registration-language{position:absolute;left:15px;top:140px;width:130px;height:30px;border:1px solid #dbd4b8;background:#fff;box-sizing:border-box;color:#000;font-size:12px;font-weight:700;line-height:28px;letter-spacing:2px;text-transform:uppercase;text-align:center;padding:0;}
.registration-language:after{content:'';display:inline-block;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid #000;margin:0 0 2px 5px;}
.registration-title{position:absolute;left:15px;top:232px;margin:0;font-family:Georgia,'Times New Roman',serif;font-size:40px;line-height:49px;font-weight:700;color:#000;letter-spacing:-1.1px;}
.registration-nav a{position:absolute;top:61px;color:#fff;text-decoration:none;text-transform:uppercase;font-size:15px;line-height:20px;font-weight:700;letter-spacing:3.6px;white-space:nowrap;}
.registration-nav .nav-advisor{left:450px;}
.registration-nav .nav-support{left:578px;}
.registration-nav .nav-signup{right:112px;}
.registration-nav .nav-login{right:15px;}

/* The screenshot fixes the main white area to 690px: y=400..1089. */
.registration-main{height:690px;min-height:690px;background:#fff;position:relative;}
.registration-main .container{height:690px;position:relative;}
.registration-form{margin:0;padding:0;}
.registration-row{display:flex;align-items:center;height:40px;margin-bottom:20px;}
.registration-row label{display:block;color:#000;font-size:15px;line-height:18px;font-weight:400;margin:0;}
.registration-row label .req{color:#c80000;}
.registration-input,.registration-select{box-sizing:border-box;width:450px;height:40px;border:1px solid #ccc;border-radius:0;background:#fff;color:#000;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:38px;padding:0 10px;outline:none;box-shadow:none;}
.registration-select{-webkit-appearance:none;appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,#000 50%),linear-gradient(135deg,#000 50%,transparent 50%);background-position:calc(100% - 13px) 17px,calc(100% - 9px) 17px;background-size:4px 4px,4px 4px;background-repeat:no-repeat;}
.registration-check{display:flex;align-items:center;font-size:15px;line-height:20px;color:#000;}
.registration-check input{appearance:none;-webkit-appearance:none;width:20px;height:20px;border:1px solid #ccc;background:#fff;border-radius:0;margin:0 20px 0 0;}
.registration-check a{color:#999;text-decoration:none;}
.registration-button{box-sizing:border-box;width:220px;height:50px;border:2px solid #dbd4b8;background:#fff;color:#000;text-transform:uppercase;font-size:16px;line-height:46px;font-weight:700;letter-spacing:4px;text-align:center;padding:0;margin:0;}
.registration-note{color:#999;font-size:14px;line-height:18px;margin:8px 0 0 100px;}
.registration-section-title{font-family:Georgia,'Times New Roman',serif;font-size:24px;line-height:30px;font-weight:700;margin:0;color:#000;}

/* registration2a — first/basic step */
.registration-step1{position:absolute;left:305px;top:84px;width:580px;}
.registration-step1 .registration-row label{width:130px;padding-right:30px;box-sizing:border-box;}
.registration-step1 .registration-check{margin-left:130px;margin-top:12px;}
.registration-step1 .registration-button{display:block;margin:53px 0 0 185px;}

/* registration2b — second/contact step */
.registration-two-column{position:absolute;left:15px;top:84px;width:1170px;display:grid;grid-template-columns:550px 550px;column-gap:70px;}
.registration-two-column .column{width:550px;}
.registration-two-column .registration-row label{width:100px;padding-right:10px;box-sizing:border-box;}
.registration-two-column .registration-section-title{margin:0 0 23px 0;}
.registration-two-column .membership-title{margin-top:33px;margin-bottom:23px;}
.registration-step2-button{position:absolute;left:490px;top:474px;}

/* registration.png — all-in-one prototype revision */
.registration-full-left{position:absolute;left:15px;top:84px;width:550px;}
.registration-full-right{position:absolute;left:635px;top:84px;width:550px;}
.registration-full-left .registration-row label,.registration-full-right .registration-row label{width:100px;padding-right:10px;box-sizing:border-box;}
.registration-full-left .registration-check{margin-left:100px;margin-top:12px;}
.registration-full-button{position:absolute;left:490px;top:534px;}

/* v0.5 footer is authoritative. Registration references place it at y=1090. */
.registration-v08b footer{margin:0;}

@media(max-width:1199px){
 body.registration-v08b{min-width:0;}
 .registration-public-hero{background-position:center top;}
 .registration-nav{display:none;}
 .registration-main{height:auto;min-height:650px;padding:50px 20px;}
 .registration-main .container{height:auto;}
 .registration-step1,.registration-two-column,.registration-full-left,.registration-full-right,.registration-step2-button,.registration-full-button{position:static;width:100%;display:block;}
 .registration-two-column{display:block;}
 .registration-two-column .column{width:100%;margin-bottom:30px;}
 .registration-row label{width:130px!important;}
}

/* WeasyPrint/checkpoint renderer compatibility for the frozen footer only. */
@media print{
  @page{size:1920px 1370px;margin:0;}
  body.registration-v08b{width:1920px;height:1370px;min-width:1920px;position:relative;}
  .registration-public-hero{position:absolute;left:0;top:0;width:1920px;height:400px;}
  .registration-main{position:absolute;left:0;top:400px;width:1920px;height:690px;}
  .registration-v08b footer{position:absolute;left:0;top:1090px;width:1920px;height:280px;margin:0;}
  .registration-v08b footer:before{clip-path:none;background:#46423e url('assets/recovered-from-screenshot/footer-upper-shape-v05.svg') left top/1920px 210px no-repeat;}
  .registration-v08b footer>.container>.row{display:grid!important;grid-template-columns:300px 170px 250px 250px;column-gap:30px;margin-left:0;margin-right:0;}
  .registration-v08b footer>.container>.row>[class*='col-']{width:auto!important;max-width:none!important;flex:none!important;padding-left:0;padding-right:0;}
}

/* Explicit print canvas serialization: WeasyPrint does not apply Bootstrap's
   desktop container breakpoint consistently. This affects checkpoint previews only. */
@media print{
  .registration-v08b .container{width:1200px!important;max-width:1200px!important;margin-left:auto!important;margin-right:auto!important;padding-left:15px!important;padding-right:15px!important;box-sizing:border-box!important;}
}

.registration-money-wrap{position:relative;width:450px;height:40px}.registration-money-wrap .registration-input{width:450px;padding-right:42px}.registration-money-suffix{position:absolute;right:10px;top:0;height:40px;line-height:40px;color:#999;font-size:14px}

/* v0.8b pixel reconciliation -------------------------------------------------
   Screenshot is authoritative; archived CSS is used where it confirms intent.
   These overrides do not mutate the frozen v0.5 design system. */
body.registration-v08b{font-family:'Open Sans',Arial,Helvetica,sans-serif;}

/* Kepler is missing from the archive. Noto Serif/Georgia-compatible fallback is
   compensated against the screenshot geometry. */
.registration-title{
  top:229px;
  font-family:Georgia,'Noto Serif','Times New Roman',serif;
  font-size:43px;
  line-height:51px;
  font-weight:700;
  letter-spacing:-1.1px;
}
.registration-section-title{
  font-family:Georgia,'Noto Serif','Times New Roman',serif;
  font-size:24px;
  line-height:20px;
  font-weight:400;
}

/* The archived input rule is 43px, while this screenshot revision measures
   exactly 40px. Higher specificity is required because main.min.css contains
   type-qualified input selectors. */
.registration-v08b .registration-row>.registration-input,
.registration-v08b .registration-money-wrap>.registration-input{
  box-sizing:border-box!important;
  width:450px!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0 10px!important;
  border:1px solid #ccc!important;
  border-radius:0!important;
  background:#fff!important;
  color:#333!important;
  font-family:'Open Sans',Arial,Helvetica,sans-serif!important;
  font-size:14px!important;
  line-height:38px!important;
  box-shadow:none!important;
}
.registration-v08b .registration-select{
  box-sizing:border-box!important;
  width:450px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 28px 0 10px!important;
  border:1px solid #ccc!important;
  border-radius:0!important;
  background-color:#fff!important;
  color:#000!important;
  font-family:'Open Sans',Arial,Helvetica,sans-serif!important;
  font-size:14px!important;
  line-height:38px!important;
  font-weight:400!important;
  letter-spacing:.6px!important;
  text-transform:none!important;
}
.registration-v08b .registration-select option{text-transform:none!important;}
.registration-v08b .registration-row label,
.registration-v08b .registration-check{
  font-family:'Open Sans',Arial,Helvetica,sans-serif;
  font-weight:400;
}

/* Screenshot-specific vertical reconciliation. */
.registration-step1 .registration-check{margin-top:24px;}
.registration-step1 .registration-button{margin-top:48px;}
.registration-two-column{top:81px;}
.registration-full-left .registration-check{margin-top:26px;}

/* Annual turnover suffix is inside the 450px field in ma_registration.png. */
.registration-money-wrap{display:block;flex:0 0 450px;box-sizing:border-box;}
.registration-money-wrap .registration-money-suffix{
  right:10px;top:0;height:40px;line-height:40px;
  font-family:'Open Sans',Arial,Helvetica,sans-serif;font-size:14px;color:#999;
}

/* Renderer-compatible serialization of the already-frozen v0.5 footer.
   Same geometry as v0.7b; runtime/browser component remains frozen. */
@media print{
  .registration-v08b footer:before{
    clip-path:none;
    background-color:transparent;
    background-image:url('assets/recovered-from-screenshot/footer-upper-shape-v05.svg');
    background-repeat:no-repeat;
    background-position:top center;
    background-size:1920px 210px;
  }
  .registration-v08b footer>.container>.row{
    display:grid!important;
    grid-template-columns:400px 200px 300px 300px!important;
    gap:0!important;
    margin-left:-15px!important;
    margin-right:-15px!important;
    width:1200px!important;
  }
  .registration-v08b footer>.container>.row>[class*='col-']{
    width:auto!important;max-width:none!important;flex:none!important;
    padding-left:15px!important;padding-right:15px!important;
  }
}

/* v0.8b reconciliation pass 2 */
.registration-title{
  top:231px;
  font-family:'Liberation Serif','Nimbus Roman','Times New Roman',serif;
  font-size:42px;
  line-height:49px;
  font-weight:700;
}
.registration-section-title{
  font-family:'Liberation Serif','Nimbus Roman','Times New Roman',serif;
  font-size:24px;
  line-height:30px;
  font-weight:400;
}
.registration-step1 .registration-check{margin-top:32px;}
.registration-footer-shape-render{display:none;}
@media print{
  .registration-v08b footer:before{display:none!important;}
  .registration-footer-shape-render{
    display:block!important;position:absolute;left:0;top:0;width:1920px;height:210px;
    z-index:0;margin:0;padding:0;border:0;
  }
}

/* v0.8b reconciliation pass 3 — final measured offsets */
.registration-title{
  top:228px;
  font-family:'Liberation Serif','Nimbus Roman','Times New Roman',serif;
  font-size:43px;
  line-height:52px;
  font-weight:400;
}
.registration-two-column .membership-title{margin-top:38px;margin-bottom:22px;}
.registration-check input{margin-right:10px;}
.registration-full-left .registration-note{margin-top:-1px;}
.registration-full-left .registration-check{margin-top:35px;}
@media print{
  .registration-v08b footer .footer_title{
    font-family:'Liberation Serif','Nimbus Roman','Times New Roman',serif!important;
    font-weight:700!important;
  }
}

/* v0.8b reconciliation pass 4 — final geometry */
.registration-title{left:14px;top:227px;line-height:53px;}
.registration-full-left .registration-note{
  position:absolute;left:100px;top:292px;margin:0;
}
.registration-full-left .registration-check{
  position:absolute;left:100px;top:362px;margin:0;
}
@media print{
  .registration-v08b footer>.container>.row>div:nth-child(n+2){position:relative;top:-9px;}
  .registration-v08b footer .footer_title{letter-spacing:-1.8px!important;}
  .registration-v08b .footer_bottom_line{top:186px!important;}
}
