.intracom-form {
  --if-navy: #25134d;
  --if-orange: #ddbf3c;
  --if-text: #333333;
  --if-label: #444444;
  --if-placeholder: #9aa0a6;
  --if-border: #dcdcdc;
  --if-border-focus: #262f77;
  --if-radius: 8px;
  --if-gap-x: 15px;
  --if-gap-y: 15px;
  --if-field-h: 52px;

  max-width: 1280px;
  margin: 0 auto;
  padding: 34px 20px 40px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, .06);
  color: var(--if-text);
}

/* ---------- Tiêu đề ---------- */
.intracom-form .if-header {
  text-align: center;
  margin: 0 0 28px;
}
.intracom-form .if-header p{
	text-align: center;
}
.intracom-form .if-header .if-title-1{
	display: block;
}
.intracom-form .if-logo {
  display: block;
  margin: 0 auto 16px;
  max-height: 120px;
  max-width: 100%;
  width: auto;
  height: auto;
}
.intracom-form .if-form-title {
  margin: 0;
  line-height: 1.28;
}
.intracom-form .if-title-1,
.intracom-form .if-title-2 {
  display: block;
  font-size: 32px;
  font-weight: 800;
  letter-spacing: .5px;
  text-transform: uppercase;
}
.intracom-form .if-title-1 { color: var(--if-orange); }
.intracom-form .if-title-2 { color: var(--if-navy); }

.intracom-form .if-section-title {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--if-navy);
  font-size: 25px;
  font-weight: 800;
  text-transform: uppercase;
  margin: 30px 0 18px;
}
.intracom-form .if-section-title::before {
 content: "";
    width: 30px;
    height: 30px;
    background: url(/wp-content/uploads/2026/07/cropped-Logo-Intracom-University-1.png) no-repeat top left;
    background-size: contain;
    border-radius: 3px;
    flex: 0 0 auto;
}

.intracom-form .if-subtitle {
  color: #1f2540;
  font-size: 17px;
  font-weight: 700;
  margin: 20px 0 14px;
}

/* ---------- Lưới ---------- */
.intracom-form .if-grid {
  display: grid;
  gap: var(--if-gap-y) var(--if-gap-x);
  margin-bottom: 6px;
}
.intracom-form .if-grid-2 { grid-template-columns: repeat(2, 1fr); }
.intracom-form .if-grid-3 { grid-template-columns: repeat(3, 1fr); }
.intracom-form .if-grid-4 { grid-template-columns: repeat(4, 1fr); }

.intracom-form .if-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.intracom-form .if-item > label {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--if-label);
}
.intracom-form .if-req {
  color: #e04040;
  font-weight: 700;
  margin-left: 2px;
}

/* CF7 bọc control trong span -> ép full width */
.intracom-form .wpcf7-form-control-wrap { display: block; width: 100%; }

/* ---------- Input & Select ---------- */
.intracom-form input[type="text"],
.intracom-form input[type="email"],
.intracom-form input[type="tel"],
.intracom-form input[type="number"],
.intracom-form input[type="date"],
.intracom-form select {
  width: 100%;
  height: var(--if-field-h);
  padding: 0 16px;
  font-size: 16px;
  color: var(--if-text);
  background: #fff;
  border: 1px solid var(--if-border);
  border-radius: var(--if-radius);
  outline: none;
  box-shadow: none;
  transition: border-color .15s ease, box-shadow .15s ease;
  -webkit-appearance: none;
  appearance: none;
	margin-bottom: 5px;
}
.intracom-form select {
  padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  cursor: pointer;
}
.intracom-form input::placeholder { color: var(--if-placeholder); }
.intracom-form input:focus,
.intracom-form select:focus {
  border-color: var(--if-border-focus);
  box-shadow: 0 0 0 3px rgba(38, 47, 119, .12);
}

/* Cặp select cạnh nhau (nguyện vọng) */
.intracom-form .if-double {
  display: flex;
    gap: 14px;
}

/* ---------- Radio ---------- */
.intracom-form .wpcf7-radio { display: flex; flex-direction: column; gap: 12px; margin-top: 4px; }
.intracom-form .wpcf7-list-item { margin: 0 !important; }
.intracom-form .wpcf7-list-item label {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 15.5px;
  color: var(--if-text);
  cursor: pointer;
}
.intracom-form .wpcf7-list-item input[type="radio"]{
    margin-bottom: 0;
}
.intracom-form input[type="radio"],
.intracom-form input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--if-orange);
  cursor: pointer;
  flex: 0 0 auto;
}
.intracom-form .if-diachikhac { margin-top: 10px; display: none; }
.intracom-form .if-diachikhac.is-visible { display: block; }

/* ---------- Upload ---------- */
.intracom-form .if-upload { display: flex; flex-direction: column; gap: 10px; }
.intracom-form .if-upload-title {
  text-align: center;
  font-weight: 700;
  font-size: 15px;
  margin: 0;
  color: #1f2540;
}
.intracom-form .if-preview {
  position: relative;
  aspect-ratio: 16 / 10;
  border: 1px dashed #cfcfcf;
  border-radius: var(--if-radius);
  background: #fafafa;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.intracom-form .if-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: none;
}
.intracom-form .if-preview img[src] { display: block; }
.intracom-form .if-preview img[src] + .if-preview-ph { display: none; }
.intracom-form .if-preview-ph { color: #b0b0b0; font-size: 13px; }
.intracom-form .if-upload input[type="file"] { font-size: 13px; }

/* ---------- Cam kết ---------- */
.intracom-form .if-agree { margin: 26px 0 6px; }
.intracom-form .if-agree .wpcf7-list-item label {
  align-items: flex-start;
  gap: 10px;
  line-height: 1.55;
  text-align: justify;
}
.intracom-form .if-agree .wpcf7-list-item { display: block; margin-bottom: 12px !important; }
.intracom-form .if-agree input[type="checkbox"] { margin-top: 2px; }
.intracom-form .if-agree a { color: var(--if-orange); font-weight: 600; text-decoration: none; }

/* ---------- Nút gửi ---------- */
.intracom-form .wpcf7-submit {
  display: block;
  margin: 26px auto 0;
  min-width: 320px;
  height: 56px;
  padding: 0 34px;
  background: #111;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  border: none;
  border-radius: var(--if-radius);
  cursor: pointer;
  transition: background .18s ease, transform .05s ease;
}
.intracom-form .wpcf7-submit:hover { background: var(--if-orange); }
.intracom-form .wpcf7-submit:active { transform: translateY(1px); }

/* CF7 validation */
.intracom-form .wpcf7-not-valid { border-color: #e04040 !important; background: #fff6f6; }
.intracom-form .wpcf7-not-valid-tip { color: #e04040; font-size: 12.5px; margin-top: 4px; }

/* ---------- Responsive ---------- */
@media (max-width: 992px) {
  .intracom-form .if-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .intracom-form .if-grid-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .intracom-form { padding: 22px 16px 28px; border-radius: 10px; }
  .intracom-form .if-grid-2,
  .intracom-form .if-grid-3,
  .intracom-form .if-grid-4 { grid-template-columns: 1fr;gap: 2px; }
  .intracom-form .if-title-1,
  .intracom-form .if-title-2 { font-size: 20px; }
  .intracom-form .if-logo { max-height: 88px; }
  .intracom-form .if-section-title { font-size: 18px; }
  .intracom-form .wpcf7-submit { width: 100%; min-width: 0; }
}

/* Ẩn ô trống dùng để giữ cột lưới */
.intracom-form .if-item:empty { display: none; }
@media (min-width: 641px) {
  .intracom-form .if-item:empty { display: block; }
}