/* ============================
   GLOBAL BUTTONS
============================ */
.vwfBtn {
  background: #0077ff;
  color: #fff;
  padding: 12px 26px;
  border-radius: 8px;
  border: none;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.25s ease;
}

.vwfBtn:hover {
  background: #005fcc;
}

/* ============================
   HEADINGS
============================ */
.vwfH1 {
  font-size: 42px;
  font-weight: 800;
  text-align: center;
  margin-bottom: 20px;
}

.vwfH2 {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 16px;
}

.vwfH3 {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 12px;
}

/* ============================
   TEXT BLOCKS
============================ */
.vwfText {
  font-size: 17px;
  line-height: 1.6;
  color: #444;
  margin-bottom: 16px;
}

/* ============================
   CARD BLOCKS
============================ */
.vwfCardBlock {
  background: #ffffff;
  border-radius: 12px;
  padding: 40px 30px;
  max-width: 900px;
  margin: 40px auto;
  box-shadow: 0 4px 14px rgba(0,0,0,0.08);
}

/* ============================
   FORM ELEMENTS
============================ */
.vwfInput {
  width: 100%;
  padding: 12px;
  border-radius: 8px;
  border: 1px solid #ccc;
  margin-bottom: 18px;
  font-size: 16px;
}

.vwfLabel {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
}

/* ============================
   SPACING UTILITIES
============================ */
.mt-20 { margin-top: 20px; }
.mt-30 { margin-top: 30px; }
.mt-40 { margin-top: 40px; }

.mb-20 { margin-bottom: 20px; }
.mb-30 { margin-bottom: 30px; }
.mb-40 { margin-bottom: 40px; }

/* ============================
   FLEX UTILITIES
============================ */
.flex {
  display: flex;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.flex-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* ============================
   RESPONSIVE
============================ */
@media (max-width: 768px) {
  .vwfCardBlock {
    padding: 30px 20px;
  }

  .vwfH1 {
    font-size: 34px;
  }

  .vwfH2 {
    font-size: 28px;
  }
}

