/* ==========================================================================
   ARKATE CORE — formulaire de qualification & blocs affichés par le plugin
   Reprend les jetons du thème ; les redéfinit si le thème n'est pas actif.
   ========================================================================== */

.arkform,
.ark-projects,
.ark-rows,
.ark-acc{
  --ark-ink:#121212;
  --ark-paper:#EFECE3;
  --ark-white:#FFFFFF;
  --ark-ink-soft:#4A483F;
  --ark-muted:#6D6A62;
  --ark-line-num:#9A978D;
  --ark-rule-light:rgba(18,18,18,.16);
  --ark-rule-dark:rgba(255,255,255,.16);
  --ark-font-display:"Anton","Oswald","Arial Narrow",Impact,sans-serif;
  --ark-font-text:"Oswald","Helvetica Neue",Arial,sans-serif;
  --ark-ease:cubic-bezier(.22,.61,.36,1);
  --ark-ease-out:cubic-bezier(.16,1,.3,1);
}

/* 1. STRUCTURE
   ------------------------------------------------------------------ */
.arkform{
  position:relative;
  font-family:var(--ark-font-text);
  font-weight:300;
  border:1px solid var(--ark-rule-light);
  padding:clamp(20px,3vw,50px);
  background:transparent;
}
.ark-dark .arkform{border-color:var(--ark-rule-dark);}

.arkform__head{margin-bottom:clamp(24px,3vw,42px);}
.arkform__steps{display:flex;flex-wrap:wrap;gap:clamp(12px,2.4vw,38px);}
.arkform__tab{
  display:inline-flex;align-items:baseline;gap:9px;background:none;border:0;padding:0 0 12px;cursor:pointer;
  font-family:var(--ark-font-text);font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ark-muted);transition:color .3s var(--ark-ease);
}
.ark-dark .arkform__tab{color:var(--ark-line-num);}
.arkform__tab span{font-size:10px;opacity:.7;}
.arkform__tab.is-active,.arkform__tab.is-done{color:inherit;}
.arkform__tab.is-done span::after{content:" ✓";}
.arkform__gauge{position:relative;height:8px;border:1px solid currentColor;opacity:.5;}
.arkform__gauge i{position:absolute;inset:1px;background:currentColor;transform-origin:left;transition:transform .6s var(--ark-ease-out);}

.arkform__step{border:0;margin:0;padding:0;min-inline-size:0;}
.arkform__step[hidden]{display:none;}
.arkform__step.is-current{animation:arkform-in .5s var(--ark-ease-out);}
@keyframes arkform-in{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.arkform__step.is-current{animation:none;}}

.arkform__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(16px,2vw,30px);}
.arkform__field{margin-bottom:clamp(20px,2.4vw,32px);}
.arkform__grid .arkform__field{margin-bottom:0;}
.arkform__grid + .arkform__field{margin-top:clamp(20px,2.4vw,32px);}

.arkform__label{
  display:block;margin-bottom:12px;
  font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
}
.arkform__label b{color:inherit;opacity:.5;font-weight:400;margin-left:4px;}
.arkform__hint{margin:-6px 0 14px;font-size:13px;line-height:1.5;color:var(--ark-muted);}
.ark-dark .arkform__hint{color:var(--ark-line-num);}

/* 2. CHAMPS
   ------------------------------------------------------------------ */
.arkform input[type="text"],
.arkform input[type="email"],
.arkform input[type="tel"],
.arkform select,
.arkform textarea{
  width:100%;border:0;border-bottom:1px solid var(--ark-rule-light);background:transparent;color:inherit;
  padding:12px 2px;font-family:var(--ark-font-text);font-size:16px;font-weight:300;border-radius:0;
  transition:border-color .3s var(--ark-ease);
  -webkit-appearance:none;appearance:none;
}
.ark-dark .arkform input,
.ark-dark .arkform select,
.ark-dark .arkform textarea{border-bottom-color:var(--ark-rule-dark);}
.arkform select{
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:28px;
}
.arkform textarea{resize:vertical;min-height:120px;line-height:1.5;}
.arkform input::placeholder,.arkform textarea::placeholder{color:var(--ark-muted);opacity:.75;}
.arkform input:focus,.arkform select:focus,.arkform textarea:focus{outline:none;border-bottom-color:currentColor;}
.arkform .has-error input,.arkform .has-error select,.arkform .has-error textarea{border-bottom-color:currentColor;}

/* 3. OPTIONS (radio / cases)
   ------------------------------------------------------------------ */
.arkform__options{display:flex;flex-wrap:wrap;gap:10px;}
.arkform__opt{
  position:relative;display:inline-flex;align-items:center;gap:10px;
  border:1px solid var(--ark-rule-light);padding:13px 18px;cursor:pointer;
  font-size:14px;line-height:1.25;transition:border-color .3s var(--ark-ease),background .3s var(--ark-ease),color .3s;
}
.ark-dark .arkform__opt{border-color:var(--ark-rule-dark);}
.arkform__opt input{position:absolute;opacity:0;width:0;height:0;}
.arkform__opt::before{
  content:"";width:11px;height:11px;flex:none;border:1px solid currentColor;
  transform:rotate(45deg);transition:background .3s var(--ark-ease);
}
.arkform__opt:hover{border-color:currentColor;}
.arkform__opt:has(input:checked){background:var(--ark-ink);color:var(--ark-paper);border-color:var(--ark-ink);}
.arkform__opt:has(input:checked)::before{background:currentColor;}
.ark-dark .arkform__opt:has(input:checked){background:var(--ark-paper);color:var(--ark-ink);border-color:var(--ark-paper);}
.arkform__opt:has(input:focus-visible){outline:2px solid currentColor;outline-offset:2px;}

.arkform__consent .arkform__opt{align-items:flex-start;border:0;padding:0;font-size:14px;color:var(--ark-muted);}
.ark-dark .arkform__consent .arkform__opt{color:var(--ark-line-num);}
.arkform__consent .arkform__opt::before{margin-top:3px;}
.arkform__consent .arkform__opt:has(input:checked){background:none;color:inherit;}

.arkform__error{margin:8px 0 0;font-size:12.5px;letter-spacing:.04em;color:#8a1f1f;min-height:1em;}
.ark-dark .arkform__error{color:#e8a3a3;}

.arkform__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* 4. NAVIGATION
   ------------------------------------------------------------------ */
.arkform__nav{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin-top:clamp(24px,3vw,40px);padding-top:22px;border-top:1px solid var(--ark-rule-light);
}
.ark-dark .arkform__nav{border-color:var(--ark-rule-dark);}
.arkform__count{margin-left:auto;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ark-muted);}
.ark-dark .arkform__count{color:var(--ark-line-num);}
.arkform__nav .ark-btn:last-child{margin-left:0;}
.arkform.is-sending{opacity:.6;pointer-events:none;}
.arkform__status{margin:18px 0 0;font-size:14px;color:var(--ark-muted);}
.arkform__status.is-error{color:#8a1f1f;}
.ark-dark .arkform__status.is-error{color:#e8a3a3;}

/* Bouton (si le thème n'est pas actif) */
.arkform .ark-btn{
  position:relative;display:inline-flex;align-items:center;gap:12px;
  padding:16px 26px;border:1px solid currentColor;background:transparent;color:inherit;
  font-family:var(--ark-font-text);font-weight:500;font-size:13px;text-transform:uppercase;letter-spacing:.2em;
  line-height:1;cursor:pointer;border-radius:0;transition:background .35s var(--ark-ease),color .35s var(--ark-ease);
}
.arkform .ark-btn:hover{background:currentColor;}
.arkform .ark-btn:hover span{color:var(--ark-paper);}
.ark-dark .arkform .ark-btn:hover span{color:var(--ark-ink);}
.arkform .ark-btn--solid{background:var(--ark-ink);color:var(--ark-paper);border-color:var(--ark-ink);}
.arkform .ark-btn--solid:hover{background:transparent;color:var(--ark-ink);}
.arkform .ark-btn--solid:hover span{color:inherit;}
.ark-dark .arkform .ark-btn--solid{background:var(--ark-paper);color:var(--ark-ink);border-color:var(--ark-paper);}
.ark-dark .arkform .ark-btn--solid:hover{background:transparent;color:var(--ark-paper);}
.arkform .ark-btn[disabled]{opacity:.5;cursor:progress;}

/* 5. CONFIRMATION
   ------------------------------------------------------------------ */
.arkform__done{padding:clamp(20px,3vw,40px) 0;}
.arkform__done .ark-num{
  font-family:var(--ark-font-display);font-size:clamp(30px,4vw,56px);line-height:1;
  color:transparent;-webkit-text-stroke:1.5px currentColor;display:block;margin-bottom:20px;
}
.arkform__done-title{
  font-family:var(--ark-font-display);text-transform:uppercase;font-weight:400;
  font-size:clamp(24px,3vw,44px);line-height:1;letter-spacing:-.01em;margin:0 0 16px;
}
.arkform__done-text{font-size:17px;line-height:1.6;max-width:58ch;color:var(--ark-ink-soft);}
.ark-dark .arkform__done-text{color:rgba(239,236,227,.74);}

/* 6. REPLI SANS LE THÈME ARKATE
   ------------------------------------------------------------------ */
body:not(.ark-site) .ark-projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px;}
body:not(.ark-site) .ark-project{display:block;color:inherit;text-decoration:none;}
body:not(.ark-site) .ark-project__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#121212;}
body:not(.ark-site) .ark-project__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);}
body:not(.ark-site) .ark-project__meta{display:flex;justify-content:space-between;gap:14px;margin-top:14px;padding-bottom:10px;border-bottom:1px solid var(--ark-rule-light);}
body:not(.ark-site) .ark-project__title{font-family:var(--ark-font-display);text-transform:uppercase;font-size:22px;margin:0;}
body:not(.ark-site) .ark-project__tag{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ark-muted);}
body:not(.ark-site) .ark-row{display:grid;grid-template-columns:60px 1fr 1.2fr auto;gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid var(--ark-rule-light);color:inherit;text-decoration:none;}
body:not(.ark-site) .ark-row__title{font-family:var(--ark-font-display);text-transform:uppercase;font-size:24px;}
body:not(.ark-site) .ark-acc__btn{width:100%;display:flex;gap:20px;align-items:center;padding:20px 0;background:none;border:0;border-bottom:1px solid var(--ark-rule-light);cursor:pointer;text-align:left;}
body:not(.ark-site) .ark-acc__q{font-family:var(--ark-font-display);text-transform:uppercase;font-size:20px;flex:1;}
body:not(.ark-site) .ark-acc__panel{overflow:hidden;height:0;transition:height .45s ease;}
body:not(.ark-site) .ark-acc__inner{padding:16px 0 26px;}
body:not(.ark-site) .ark-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px;}
body:not(.ark-site) .ark-filter{border:1px solid var(--ark-rule-light);background:none;padding:10px 18px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;}
body:not(.ark-site) .ark-filter.is-active{background:#121212;color:#EFECE3;}
body:not(.ark-site) .ark-contactline{display:flex;flex-direction:column;gap:4px;padding-bottom:14px;border-bottom:1px solid var(--ark-rule-light);margin-bottom:16px;}
body:not(.ark-site) .ark-contactline span{font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:.6;}
body:not(.ark-site) .ark-contactline a,body:not(.ark-site) .ark-contactline b{font-family:var(--ark-font-display);text-transform:uppercase;font-size:20px;text-decoration:none;color:inherit;}

/* Repli pour les navigateurs sans :has() */
@supports not selector(:has(*)){
  .arkform__opt input:checked + span{text-decoration:underline;font-weight:500;}
}
