/* Reset & typography */
* { box-sizing: border-box; font-family: "Segoe UI", Roboto, system-ui; }
body {
  background: #f6f8fb;
  margin: 0;
  padding: 20px;
  color: #222;
  overflow-x: hidden;
}

/* Registration container */
.container {
  max-width: 1050px;
  margin: 0 auto;
  background: #fff;
  padding: 20px 24px;
  border-radius: 10px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.08);
}

h2 {
  text-align: center;
  margin: 10px 0 16px;
  font-size: 1.4rem;
}

/* Grid layout */
.grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 18px;
}

.column { display:flex; flex-direction:column; gap:8px; }
.field-label { font-weight:600; font-size:0.9rem; }
.dim { color:#666; font-size:0.8rem; margin-left:4px; }

/* Inputs */
input[type="text"], input[type="password"], textarea {
  padding:8px 10px;
  border:1px solid #d6dbe6;
  border-radius:6px;
  font-size:13px;
  outline:none;
}
input:focus, textarea:focus { border-color:#7b9cff; box-shadow:0 2px 8px rgba(74,110,255,0.08); }
textarea { min-height:80px; resize:vertical; }

/* Buttons */
button.btn {
  padding:8px 10px;
  border-radius:6px;
  border:none;
  background:#2d6cdf;
  color:#fff;
  font-weight:600;
  cursor:pointer;
}
button.btn:hover { filter:brightness(0.95); }
button.primary[disabled] { background:#c8cfe9; cursor:not-allowed; }

/* Preview frames */
.preview-frame {
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed #cfd8e6;
  border-radius:6px;
  overflow:hidden;
  background:#fafbff;
}

.passport-frame { width:4.5cm; height:4.7cm; }
.full-frame { width:5cm; height:9cm; }

.preview { width:100%; height:100%; object-fit:cover; }

/* Aadhar spacing */
#aadhar { letter-spacing:1px; }

/* Advertisement box */
.ad-section {
  width: 28cm;      /* slightly narrower to fit screen */
  height: 4.2cm;    /* proportionally reduced */
  background: linear-gradient(90deg, #e6f0ff, #fafdff);
  border: 2px dashed #99bbff;
  margin: 25px auto 0 auto;
  border-radius: 8px;
  display:flex;
  justify-content:center;
  align-items:center;
  color:#0043a9;
  font-size: 1rem;
  font-weight:600;
  letter-spacing: 1px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.08);
}

/* Responsive layout */
@media (max-width: 1024px) {
  .grid { grid-template-columns: 1fr; }
  .ad-section {
    width: 95%;
    height: auto;
    padding: 20px;
    font-size: 0.95rem;
  }
}
