/* ===================================================
   CONTAINER
   =================================================== */
.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .container {
    padding: 0 15px;
  }
}

/* ===================================================
   BUTTONS
   =================================================== */
.btn {
  border: none;
  border-radius: 50px;
  padding: 14px 32px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: all var(--transition-normal);
  white-space: nowrap;
}

/* BUTTON */

.btn-primary {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 32px;
  border: none;
  border-radius: 12px;
  color: white;
  background: linear-gradient(to right, #2563eb, #7c3aed);
  cursor: pointer;
  transition: 0.3s;
  box-shadow: 0 10px 25px rgba(37, 99, 235, 0.25);
}

.btn-primary:hover {
  box-shadow: 0 15px 30px rgba(37, 99, 235, 0.35);
}

.btn-secondary {
  padding: 16px 32px;
  border-radius: 12px;
  border: 1px solid #e5e5e5;
  background: white;
  cursor: pointer;
  transition: 0.3s;
}

.btn-secondary:hover {
  background: #f7f7f7;
}
.btn-primary i {
  transition: 0.25s;
}

.btn-primary:hover i {
  transform: translateX(4px);
}

/* ===================================================
   LENIS SMOOTH SCROLL
   =================================================== */
html.lenis,
html.lenis body {
  height: auto !important;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-stopped {
  overflow: hidden;
}


/* ===================================================
   SPIN FORM CONTACT 7
   =================================================== */
/* Ẩn spinner mặc định CF7 */
.wpcf7-spinner {
    display: none !important;
}

/* Custom loading state trên button */
.ne-btn-submit.wpcf7-submit {
    position: relative;
    transition: opacity 0.3s ease;
}

/* Khi đang submit */
.wpcf7-form.submitting .ne-btn-submit {
    opacity: 0.7;
    pointer-events: none;
}

.wpcf7-form.submitting .ne-btn-submit::after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid var(--blue-600);
    border-top-color: transparent;
    border-radius: 50%;
    margin-left: 10px;
    animation: ne-spin 0.7s linear infinite;
    vertical-align: middle;
}

@keyframes ne-spin {
    to { transform: rotate(360deg); }
}

.wpcf7-turnstile {
  margin-bottom: 15px;
}