:root {
  --idnet-purple: #7b5cff;
  --idnet-purple-dark: #6f4bff;
  --idnet-gray: #f5f5fb;
  --idnet-text: #1a1a1a;
}
body {
  font-family: 'Poppins', sans-serif;
  color: var(--idnet-text);
  line-height: 1.6;
}

h1 {
  font-size: 52px;
  font-weight: 700;
}

h2 {
  font-size: 36px;
  font-weight: 600;
}

h3 {
  font-size: 20px;
  font-weight: 600;
}

.idnet-topbar {
  background: var(--idnet-purple);
  color: #fff;
  font-size: 14px;
}

.idnet-header {
  background: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
}

.idnet-header .elementor-nav-menu a {
  color: #000;
  font-weight: 500;
  padding: 12px 18px;
}

.idnet-header .elementor-nav-menu a:hover {
  color: var(--idnet-purple);
}

.idnet-hero {
  background: linear-gradient(
    rgba(255,255,255,0.9),
    rgba(255,255,255,0.9)
  );
  padding: 120px 0;
}

.idnet-hero-icons .elementor-icon {
  font-size: 42px;
  color: #000;
}

.idnet-expertise {
  background: #fff;
  padding: 80px 0;
}

.idnet-expertise-box {
  border: 1px solid #eee;
  padding: 35px;
  border-radius: 10px;
  transition: all .3s ease;
}

.idnet-expertise-box:hover {
  box-shadow: 0 15px 40px rgba(0,0,0,.08);
  transform: translateY(-5px);
}
.idnet-footer {
  background: var(--idnet-purple-dark);
  color: #fff;
  padding: 60px 0;
}

.idnet-footer a {
  color: #fff;
  opacity: .85;
}

.idnet-footer a:hover {
  opacity: 1;
}
@media (max-width: 768px) {
  h1 {
    font-size: 36px;
  }

  .idnet-hero {
    padding: 60px 0;
  }
}
/* Wrapper */
.cf7-premium-grid {
  max-width: 520px;
  margin: 0 auto;
}

/* Grille */
.cf7-premium-grid {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.cf7-row {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

.cf7-col-1-2 { flex: 0 0 calc(50% - 9px); }
.cf7-col-1-1 { flex: 0 0 100%; }

/* Labels */
.cf7-premium-grid label {
  display: block;
  font-size: 16px;
  font-weight: 500;
  color: #4b5563;
}

/* Champs */
.cf7-premium-input,
.cf7-premium-textarea {
  width: 100% !important;
    margin-top: 6px;
    padding: 12px 14px !important;
    border-radius: 10px !important;
    border: 1px solid #e5e7eb !important;
    background-color: #f9fafb;
    font-size: 14px;
    transition: all 0.2s ease !important;
}

.cf7-premium-textarea {
  min-height: 140px;
  resize: vertical;
  height: 140px;
}

/* Focus */
.cf7-premium-input:focus,
.cf7-premium-textarea:focus {
  outline: none;
  border-color: #8b5cf6;
  box-shadow: 0 0 0 1px #8b5cf6;
  background-color: #ffffff;
}

/* Bouton */
.cf7-row-submit {
  margin-top: 8px;
}
.wpcf7-form label{
	display: block;
}
.cf7-premium-submit {
    display: inline-block !important;
    padding: 12px 28px !important;
    border-radius: 999px !important;
    border: none !important;
    background: linear-gradient(135deg, #8b5cf6, #7c3aed);
    color: #ffffff !important;
    font-family: "Poppins", system-ui, sans-serif;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em;
    cursor: pointer !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease !important;
}

.cf7-premium-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 25px rgba(139, 92, 246, 0.35);
  opacity: 0.96;
}

/* Select premium (CF7) */
.cf7-premium-grid select.cf7-premium-input{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  width: 100%;
  margin-top: 6px;
  padding: 12px 44px 12px 14px; /* espace à droite pour la flèche */
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  background-color: #f9fafb;
  color: #111827;
  font-size: 14px;
  cursor: pointer;

  /* flèche (SVG inline) */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%238b5cf6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 16px 16px;
}

.cf7-premium-grid select.cf7-premium-input:focus{
  outline: none;
  border-color: #8b5cf6;
  box-shadow: 0 0 0 1px #8b5cf6;
  background-color: #ffffff;
}


/* Responsive */
@media (max-width: 767px) {
  .cf7-col-1-2 {
    flex: 0 0 100%;
  }

  .cf7-premium-grid {
    max-width: 100%;
  }
}
