/* Wallcraft Guarantee Registration */

.registration-hero{
  padding:150px 0 74px;
  background:#F4F1EB;
  border-bottom:1px solid var(--line);
}
.registration-hero-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:80px;
  align-items:end;
}
.registration-hero h1{
  margin:14px 0 0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(4.2rem,7.7vw,8rem);
  font-weight:400;
  line-height:.86;
  letter-spacing:-.055em;
}
.registration-intro{
  padding-bottom:12px;
}
.registration-intro>p{
  max-width:620px;
  margin:0 0 28px;
  font-size:1.12rem;
  color:var(--muted);
}
.registration-points{
  display:grid;
  gap:8px;
}
.registration-points span{
  display:grid;
  grid-template-columns:38px 1fr;
  align-items:center;
  min-height:42px;
  padding:7px 0;
  border-top:1px solid var(--line);
  font-size:.82rem;
}
.registration-points b{
  font-size:.63rem;
  letter-spacing:.12em;
  color:var(--muted);
}

.registration-section{
  padding:70px 0 115px;
  background:#ebe7de;
}
.guarantee-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:18px;
  align-items:start;
}
.guarantee-form-main{
  display:grid;
  gap:14px;
}
.form-section-card{
  min-width:0;
  margin:0;
  padding:30px;
  border:1px solid rgba(21,21,19,.11);
  border-radius:28px;
  background:#fbf9f5;
}
.form-section-heading{
  display:grid;
  grid-template-columns:55px 1fr;
  gap:14px;
  margin-bottom:32px;
}
.form-step{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--ink);
  color:#fff;
  font-size:.67rem;
  letter-spacing:.11em;
}
.form-section-heading .eyebrow{
  display:block;
  margin-top:2px;
}
.form-section-heading h2{
  margin:5px 0 0;
  font-family:Georgia,serif;
  font-size:clamp(1.75rem,3vw,2.8rem);
  line-height:1;
  font-weight:400;
}

.registration-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.registration-field{
  display:grid;
  gap:7px;
  min-width:0;
}
.registration-field.field-wide{
  grid-column:1/-1;
}
.registration-field>span:first-child{
  font-size:.73rem;
  font-weight:750;
  color:#5e5b55;
}
.registration-field em,
.registration-submit-row em{
  color:#b84432;
  font-style:normal;
}
.registration-field input,
.registration-field select,
.registration-field textarea{
  width:100%;
  min-height:52px;
  padding:13px 15px;
  border:1px solid rgba(21,21,19,.15);
  border-radius:14px;
  background:#fff;
  outline:none;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.registration-field textarea{
  resize:vertical;
}
.registration-field input:focus,
.registration-field select:focus,
.registration-field textarea:focus{
  border-color:#58554e;
  box-shadow:0 0 0 3px rgba(21,21,19,.06);
}

.guarantee-period-card{
  min-height:52px;
  padding:9px 14px;
  border-radius:14px;
  background:var(--ink);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.guarantee-period-card[hidden]{display:none!important}
.guarantee-period-card span{
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:rgba(255,255,255,.65);
}
.guarantee-period-card strong{
  font-family:Georgia,serif;
  font-size:1.5rem;
  font-weight:400;
}

.file-field{
  position:relative;
  overflow:hidden;
  min-height:76px;
  padding:12px 14px;
  border:1px dashed rgba(21,21,19,.25);
  border-radius:16px;
  background:#fff;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:20px;
}
.file-field input{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
}
.file-field-copy{
  display:grid;
  gap:3px;
}
.file-field-copy strong{
  font-size:.82rem;
}
.file-field-copy small{
  font-size:.68rem;
  color:var(--muted);
}
.file-field>b{
  padding:8px 12px;
  border-radius:999px;
  background:#efebe3;
  font-size:.7rem;
}

.registration-check{
  display:grid;
  grid-template-columns:22px 1fr;
  gap:12px;
  align-items:start;
  padding:15px 0;
  border-top:1px solid var(--line);
  font-size:.83rem;
  color:#55524d;
}
.registration-check input{
  width:18px;
  height:18px;
  margin-top:2px;
  accent-color:var(--ink);
}
.registration-submit-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:22px;
}
.registration-submit-row p{
  margin:0;
  color:var(--muted);
  font-size:.72rem;
}
.registration-submit{
  min-width:220px;
}

.registration-side{
  position:sticky;
  top:105px;
}
.registration-summary{
  overflow:hidden;
  padding:28px;
  border-radius:28px;
  background:var(--ink);
  color:#fff;
}
.registration-summary h2{
  margin:10px 0 28px;
  font-family:Georgia,serif;
  font-size:2.7rem;
  line-height:.96;
  font-weight:400;
}
.registration-summary ul{
  list-style:none;
  padding:0;
  margin:0;
  border-top:1px solid rgba(255,255,255,.16);
}
.registration-summary li{
  display:grid;
  grid-template-columns:35px 1fr;
  gap:10px;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.registration-summary li span{
  color:var(--lime);
  font-size:.65rem;
  letter-spacing:.1em;
}
.registration-summary li p{
  margin:0;
  color:rgba(255,255,255,.75);
  font-size:.82rem;
}
.registration-help{
  margin:26px -12px -12px;
  padding:20px;
  border-radius:20px;
  background:#F4F1EB;
  color:var(--ink);
}
.registration-help>span{
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:850;
}
.registration-help p{
  margin:7px 0 12px;
  font-size:.8rem;
  color:var(--muted);
}
.registration-help a{
  font-size:.78rem;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}

.form-status{
  margin-bottom:14px;
  padding:16px 20px;
  border-radius:16px;
  display:flex;
  gap:10px;
  align-items:baseline;
}
.form-status[hidden]{display:none!important}
.form-status-success{
  background:#e0ecd7;
  border:1px solid #b6cda9;
}
.form-status-error{
  background:#f4dfda;
  border:1px solid #dcb8ae;
}
.form-status span{
  color:var(--muted);
  font-size:.82rem;
}

.registration-note{
  padding:56px 0;
  background:#fff;
  border-top:1px solid var(--line);
}
.registration-note-grid{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:50px;
}
.registration-note p{
  max-width:900px;
  margin:0;
  font-family:Georgia,serif;
  font-size:clamp(1.25rem,2vw,1.8rem);
  line-height:1.38;
}

@media(max-width:1000px){
  .registration-hero-grid{grid-template-columns:1fr;gap:35px}
  .guarantee-form{grid-template-columns:1fr}
  .registration-side{position:static}
  .registration-summary{display:grid;grid-template-columns:.7fr 1.3fr;gap:30px}
  .registration-summary h2{margin-bottom:0}
  .registration-summary ul{border-top:0}
  .registration-help{grid-column:1/-1;margin:0}
}
@media(max-width:720px){
  .registration-hero{padding-top:120px}
  .registration-hero h1{font-size:clamp(3.5rem,16vw,5.6rem)}
  .registration-fields{grid-template-columns:1fr}
  .registration-field.field-wide{grid-column:auto}
  .form-section-card{padding:22px}
  .form-section-heading{grid-template-columns:45px 1fr}
  .registration-submit-row{align-items:stretch;flex-direction:column}
  .registration-submit{width:100%}
  .registration-summary{grid-template-columns:1fr}
  .registration-note-grid{grid-template-columns:1fr;gap:16px}
}


/* Secure guarantee registration additions */
.form-honeypot{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;
}

.field-help{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:.68rem;
  line-height:1.45;
}

.registration-warning{
  padding:13px 15px;
  border:1px solid #d6b873;
  border-radius:14px;
  background:#fff4d8;
  color:#6f5721;
  font-size:.78rem;
}
.registration-warning[hidden],
.conditional-applicator[hidden]{
  display:none!important;
}

.guarantee-terms-card{
  background:#F4F1EB;
}

.terms-important{
  margin-bottom:20px;
  padding:22px;
  border:2px solid var(--ink);
  border-radius:20px;
  background:#fff;
}
.terms-important>strong{
  display:block;
  font-family:Georgia,serif;
  font-size:1.45rem;
  font-weight:400;
  margin-bottom:12px;
}
.terms-important ul{
  margin:0;
  padding-left:20px;
  display:grid;
  gap:8px;
  color:#4f4c46;
  font-size:.82rem;
}

.terms-accordion{
  display:grid;
  gap:8px;
}
.terms-accordion details{
  border:1px solid rgba(21,21,19,.13);
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}
.terms-accordion summary{
  cursor:pointer;
  list-style:none;
  padding:17px 19px;
  font-weight:800;
  font-size:.82rem;
}
.terms-accordion summary::-webkit-details-marker{display:none}
.terms-accordion summary:after{
  content:"+";
  float:right;
  font-family:Georgia,serif;
  font-size:1.25rem;
  font-weight:400;
}
.terms-accordion details[open] summary:after{content:"−"}
.terms-copy{
  padding:0 19px 18px;
  color:#55524d;
  font-size:.78rem;
  line-height:1.65;
}
.terms-copy p{margin:0 0 9px}
.terms-version{
  margin:14px 0 0;
  color:var(--muted);
  font-size:.67rem;
}

.privacy-notice{
  padding:18px 20px;
  margin-bottom:12px;
  border-radius:16px;
  background:#ebe7de;
}
.privacy-notice strong{
  display:block;
  margin-bottom:7px;
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.privacy-notice p{
  margin:0;
  color:#55524d;
  font-size:.76rem;
  line-height:1.58;
}

.captcha-block{
  margin-top:18px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.captcha-block p{
  margin:5px 0 14px;
  color:var(--muted);
  font-size:.78rem;
}

.registration-field select:disabled{
  opacity:.65;
  cursor:not-allowed;
}

@media(max-width:720px){
  .terms-important{padding:18px}
}
