/* Ebook Download Form – matches the provided design */
.EDF-wrapper{
  width:100%;
  max-width:1200px;
  margin:40px auto;
  padding:40px 24px;
}
.edf-hero{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap:48px;
  align-items:center;
  background: radial-gradient(1200px 600px at -10% -10%, #e7f5ee 0%, #f6fbff 55%, #f2f7f9 100%);
  border-radius:24px;
  padding:56px;
  box-shadow: 0 30px 60px rgba(0,0,0,.06);
}

@media (max-width: 960px){
  .edf-hero{ grid-template-columns: 1fr; padding:36px; }
}

.edf-title{
  font-size: clamp(32px, 4.6vw, 56px);
  line-height:1.05;
  margin:0 0 14px 0;
  font-weight:800;
  color:#0c2540;
  letter-spacing:.2px;
}
.edf-subtitle{
  color:#6b7a8c;
  font-size:16px;
  max-width:560px;
  margin-bottom:28px;
}

/* Form card */
.edf-card{
  background:#fff;
  border-radius:18px;
  box-shadow: 0 18px 40px rgba(15,30,60,.08);
  padding:28px;
  width:100%;
  max-width:520px;
  border:1px solid rgba(10,20,40,.06);
}

.edf-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
}
@media (max-width:640px){
  .edf-row{ grid-template-columns:1fr; }
}
.edf-field{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.edf-field label{
  font-size:13px; color:#7f8ba0;
}
.edf-input, .edf-select, .edf-textarea{
  appearance:none;
  width:100%;
  border:1px solid #dbe3ea;
  background:#fff;
  color:#0e2238;
  border-radius:10px;
  padding:12px 14px;
  outline:none;
  transition:.2s border-color, .2s box-shadow;
  font-size:15px;
}
.edf-input:focus, .edf-select:focus, .edf-textarea:focus{
  border-color:#3464ff;
  box-shadow: 0 0 0 4px rgba(52,100,255,.1);
}
.edf-textarea{ min-height:96px; resize:vertical; }

.edf-consent{
  display:flex; align-items:flex-start; gap:12px;
  font-size:13px; color:#6b7a8c; margin:8px 0 16px;
}
.edf-consent input{ margin-top:3px; }

.edf-button{
  width:100%;
  border:none; cursor:pointer;
  background:#0e2e54; color:#fff;
  border-radius:12px; padding:14px 18px;
  font-weight:700; font-size:15px;
  box-shadow: 0 10px 20px rgba(14,46,84,.25);
  transition: transform .06s ease, box-shadow .2s ease, background .2s ease;
}
.edf-button:hover{ background:#113764; box-shadow: 0 14px 24px rgba(14,46,84,.28); }
.edf-button:active{ transform: translateY(1px); }

/* Right book preview */
.edf-book{
  position:relative;
  width:min(540px, 90%);
  justify-self:center;
}
.edf-book .cover{
  width:100%;
  border-radius:14px;
  box-shadow: 0 18px 50px rgba(0,0,0,.25);
  animation: edfFloat 6s ease-in-out infinite;
  transform-origin:center;
}
@keyframes edfFloat {
  0%, 100% { transform: translateY(0) }
  50% { transform: translateY(-10px) }
}

/* Decorative side shapes (soft and subtle) */
.edf-book::before, .edf-book::after{
  content:""; position:absolute; inset:auto;
  width:120px; height:120px; border-radius:18px;
  filter: blur(12px);
  z-index:-1; opacity:.6;
}
.edf-book::before{
  right:-30px; bottom:-20px;
  background: linear-gradient(135deg, #8bd8ff, #a4ffdf);
  transform: rotate(6deg);
  animation: edfDrift 10s ease-in-out infinite;
}
.edf-book::after{
  left:-36px; top:-24px;
  background: linear-gradient(135deg, #ffe29a, #ff9bb4);
  transform: rotate(-8deg);
  animation: edfDrift 12s ease-in-out infinite reverse;
}
@keyframes edfDrift{
  0%,100%{ transform: translate(0,0) rotate(8deg)}
  50%{ transform: translate(0,-6px) rotate(2deg)}
}

/* Small helper states */
.edf-note{ font-size:13px; color:#6b7a8c; margin-top:10px; }
.edf-success, .edf-error{
  margin-top:12px; padding:12px 14px; border-radius:10px;
  font-size:14px;
}
.edf-success{ background:#eaf7ef; color:#1a7f3c; border:1px solid #cdebd7;}
.edf-error{ background:#ffefef; color:#b31f2a; border:1px solid #ffd3d6;}
