/* ============================================================
   ARTEMIS – Formulaire de contact
   À coller dans : Système → Styles de template → onglet "CSS personnalisé"
   (ou dans votre fichier custom.css / user.css selon votre template)
   ============================================================ */

/* Import des polices – si votre template ne le fait pas déjà */


:root {
  --art-forest:  #7B9237;
  --art-sage:    #3d6b52;
  --art-gold:    #FAF8F4;
  --art-cream:   #FCFCFA;
  --art-paper:   #ffffff;
  --art-muted:   #7a8a80;
  --art-border:  #d5cec3;
  --art-radius:  26px;
  --art-shadow:  0 4px 28px rgba(26,58,42,.10);
}

/* ── Conteneur carte ── */
.artemis-card {
  background: var(--art-paper);
  border-radius: 16px;
  box-shadow: var(--art-shadow);
  max-width: 820px;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  animation: artFadeUp .6s ease both;
}

@keyframes artFadeUp {
  from { opacity:0; transform: translateY(24px); }
  to   { opacity:1; transform: translateY(0); }
}

/* ── En-tête ── */
.artemis-header {
  background: var(--art-forest);
  padding: 20px 48px 10px;
  position: relative;
  overflow: hidden;
}
.artemis-header::after {
  content: '';
  position: absolute;
  right: -30px; top: -30px;
  width: 220px; height: 220px;
  border-radius: 50%;
  border: 1px solid rgba(184,151,90,.20);
}
.artemis-header::before {
  content: '';
  position: absolute;
  right: 20px; top: 20px;
  width: 120px; height: 120px;
  border-radius: 50%;
  border: 1px solid rgba(184,151,90,.15);
}

.artemis-sub {
  font-family: 'Jost', sans-serif;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--art-gold);
  margin-bottom: 10px;
}

.artemis-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 42px;
  font-weight: 300;
  color: #fff;
  line-height: 1;
  letter-spacing: 3px;
}

.artemis-desc {
  margin-top: 12px;
  font-size: 13px;
  color: rgba(255,255,255,.55);
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  line-height: 1.6;
}

.artemis-line {
  width: 48px; height: 1px;
  background: var(--art-gold);
  margin: 18px 0;
  opacity: .7;
}

/* ── Corps du formulaire ── */
.artemis-body {
  padding: 10px 48px 44px;
}

.artemis-section {
  font-family: 'Jost', sans-serif;
  font-size: 16px;
  font-weight: 505;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #7B9237;);
  margin: 28px 0 16px;
}
.artemis-section:first-child { margin-top: 0; }

/* ── Grille de champs ── */
.art-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
.art-row.full  { grid-template-columns: 1fr; }

.art-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* ── Labels ── */
.artemis-body label {
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--art-sage);
}
.artemis-body label .req {
  color: var(--art-gold);
  margin-left: 2px;
  font-size: 12px;
}

/* ── Inputs, selects, textarea ── */
.artemis-body input[type=text],
.artemis-body select,
.artemis-body textarea {
  font-family: 'Jost', sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  color: #282A25  !important;
  background: var(--art-cream) !important;
  border: 1px solid var(--art-border) !important;
  border-radius: var(--art-radius) !important;
  padding: 11px 14px !important;
  width: 100% !important;
  transition: border-color .2s, box-shadow .2s, background .2s;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none !important;
}
.artemis-body input[type=text]:focus,
.artemis-body select:focus,
.artemis-body textarea:focus {
  border-color: var(--art-sage) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(61,107,82,.10) !important;
}

.artemis-body select {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%233d6b52' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 36px !important;
}

.artemis-body textarea {
  resize: vertical;
  min-height: 110px;
  line-height: 1.6;
}

/* ── Séparateur ── */
.art-sep {
  border: none;
  border-top: 1px solid var(--art-border);
  margin: 28px 0;
  opacity: .6;
}

/* ── Boutons ── */
.art-btn-row {
  display: flex;
  gap: 12px;
  margin-top: 32px;
  align-items: center;
}

.art-btn-submit {
  flex: 1;
  background: var(--art-forest) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--art-radius) !important;
  padding: 14px 28px !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s, transform .15s, box-shadow .2s;
}
.art-btn-submit:hover {
  background: var(--art-sage) !important;
  box-shadow: 0 6px 20px rgba(26,58,42,.25) !important;
  transform: translateY(-1px);
}
.art-btn-submit:disabled { opacity: .55; cursor: not-allowed; transform: none; }

.art-btn-reset {
  background: transparent !important;
  border: 1px solid var(--art-border) !important;
  border-radius: var(--art-radius) !important;
  padding: 14px 20px !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--art-muted) !important;
  cursor: pointer;
  transition: border-color .2s, color .2s;
}
.art-btn-reset:hover {
  border-color: var(--art-sage) !important;
  color: var(--art-sage) !important;
}

/* ── Toast Zoho ── */
.wf_customMessageBox {
  font-family: 'Jost', sans-serif;
  font-size: 13px;
  color: var(--art-forest);
  background: #fff;
  box-shadow: 0 8px 32px rgba(26,58,42,.18);
  max-width: 90%;
  width: max-content;
  z-index: 11000;
  border-radius: 10px;
  border: 1px solid rgba(61,107,82,.25);
  min-width: 160px;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  position: fixed;
  top: 24px;
  left: 50%;
  transform: translate(-50%, 0);
}
.wf_customCircle {
  background: #12AA67;
  border-radius: 50%;
  width: 22px; height: 22px;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wf_customCheckMark {
  box-sizing: unset !important;
  transform: rotate(45deg);
  height: 9px; width: 4px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  margin-bottom: 2px;
}

/* ── Responsive ── */
@media (max-width: 600px) {
  .artemis-header, .artemis-body { padding: 28px 24px; }
  .artemis-title { font-size: 32px; }
  .art-row { grid-template-columns: 1fr; }
}
