/* V2 — Pixel-accurate styling */
:root{ --bg1:#f2fbf6; --bg2:#f7fbfd; --ink:#0e2238; --muted:#6b7a8c; --navy:#0e2e54; --border:#e7edf3; }

.EDF-wrapper{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  padding: 40px 16px;
}
.edf-hero{
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 56px;
  align-items: center;
  background: radial-gradient(1400px 700px at -10% -20%, var(--bg1) 0%, var(--bg2) 60%, #ffffff 100%);
  border-radius: 24px;
  padding: 64px 56px;
  box-shadow: 0 30px 60px rgba(0,0,0,.05);
}

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

.edf-title{
  font-weight: 800;
  font-size: clamp(36px, 5vw, 64px);
  letter-spacing: .2px;
  color: #0c2540;
  margin: 0 0 10px;
}
.edf-subtitle{ color: var(--muted); max-width: 560px; margin: 0 0 28px; }

/* Card like in mockup */
.edf-card{
  background:#fff;
  border-radius: 22px;
  padding: 28px;
  box-shadow: 0 20px 50px rgba(0,0,0,.06);
  border: 1px solid rgba(12,25,55,.06);
  width: 100%; max-width: 520px;
}

/* Minimal underline inputs */
.edf-grid-2{ display:grid; grid-template-columns: 1fr 1fr; gap: 22px; }
@media (max-width:640px){ .edf-grid-2{ grid-template-columns: 1fr; } }

.edf-line{ margin: 18px 0; border-bottom:1px solid var(--border); }
.edf-label{ font-size:14px; color:#1e2d3f; font-weight:600; margin-bottom:6px; }
.edf-minimal{
  width:100%;
  border:none;
  border-bottom:1px solid var(--border);
  padding: 10px 2px 12px;
  font-size: 15px;
  outline: none;
  background: transparent;
  color: var(--ink);
}
.edf-minimal:focus{ border-bottom-color:#9fb7ff; box-shadow: 0 1px 0 0 #9fb7ff; }

/* Select with custom chevron */
.edf-selectwrap{ position:relative; }
.edf-selectwrap:after{
  content:"\25BE"; /* ▼ */
  position:absolute; right:2px; bottom:10px; font-size:14px; color:#202b3a; pointer-events:none;
}
.edf-select{
  -webkit-appearance: none; -moz-appearance:none; appearance:none;
}
.edf-textarea{ min-height:84px; resize:vertical; }

/* PDPA */
.edf-consent{ display:flex; gap:12px; margin: 14px 0 20px; color:#7a8598; font-size:12.8px; line-height:1.5; }
.edf-consent input{ margin-top:3px; }

/* Button */
.edf-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width: 210px;
  height: 46px;
  border:none; cursor:pointer; font-weight:700;
  color:#fff; background:#123a6a; border-radius:999px;
  box-shadow: 0 12px 28px rgba(18,58,106,.25);
  transition: transform .06s ease, box-shadow .2s ease, background .2s;
}
.edf-btn:hover{ background:#0f335e; box-shadow: 0 16px 32px rgba(18,58,106,.28); }
.edf-btn:active{ transform: translateY(1px); }

/* Book side */
.edf-book{ position:relative; width:min(560px,92%); justify-self:center; }
.edf-book .cover{
  width:100%; border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  animation: floaty 6s ease-in-out infinite;
}
@keyframes floaty{ 0%,100%{ transform:translateY(0)} 50%{ transform:translateY(-10px)} }

/* Soft deco orbs */
.edf-book .orb{ position:absolute; width:88px; height:88px; border-radius:20px; filter: blur(10px); z-index:-1; opacity:.7; }
.edf-book .orb.a{ background:linear-gradient(135deg,#8bd8ff,#a4ffdf); right:-28px; bottom:-12px; animation: drift 10s ease-in-out infinite; }
.edf-book .orb.b{ background:linear-gradient(135deg,#ffe29a,#ff9bb4); left:-30px; top:-18px; animation: drift 12s ease-in-out infinite reverse; }
@keyframes drift{ 0%,100%{ transform:translateY(0)} 50%{ transform:translateY(-6px)} }

/* Messages */
#edf-msg{ margin-top:12px; font-size:14px; }
.edf-success{ background:#eaf7ef; border:1px solid #cdebd7; color:#1a7f3c; padding:12px 14px; border-radius:10px; }
.edf-error{ background:#ffefef; border:1px solid #ffd3d6; color:#b31f2a; padding:12px 14px; border-radius:10px; }
