/* =========================================================================
   CLEAN CAR PREMIUM — Page « Contact »
   Habille le formulaire de l'extension AMD Connect ([kltr_contact] → Klinter) sans toucher à son fonctionnement.
   ========================================================================= */
.ct-hero .hero__poster img { object-position: 50% 58%; }

.ct { position: relative; overflow: hidden; }
.ct__glow { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.ct__glow i { position: absolute; border-radius: 50%; aspect-ratio: 1; background: radial-gradient(closest-side, rgba(242,140,24,.32), rgba(242,140,24,.08) 50%, transparent 72%);
  animation: ct-float 14s var(--e-soft) infinite alternate; }
.ct__glow i:nth-child(1) { width: 50vw; max-width: 760px; right: -14%; top: -10%; }
.ct__glow i:nth-child(2) { width: 34vw; max-width: 520px; left: -10%; bottom: -16%; animation-duration: 11s; animation-direction: alternate-reverse; }
.ct__glow i:nth-child(3) { width: 22vw; max-width: 340px; left: 40%; top: 30%; opacity: .6; animation-duration: 9s; }
@keyframes ct-float { from { translate: 0 0; scale: 1; } to { translate: -6% 8%; scale: 1.15; } }
.ct__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(36px, 5vw, 90px); align-items: start; }
.ct__info { display: grid; gap: 22px; position: sticky; top: calc(var(--hdr-h) + 30px); }
.ct__info .display { font-size: var(--fs-d1); }

/* Coordonnées */
.ct__cards { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 12px; }
.ct__cards li { position: relative; isolation: isolate; overflow: hidden; border-radius: var(--radius-s); border: 1px solid var(--line); background: rgba(10,10,10,.7);
  transition: border-color .4s var(--e-soft), translate .5s var(--e-out) !important; }
.ct__cards li::after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .4s; background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%), rgba(242,140,24,.18), transparent 70%); }
.ct__cards li:hover { border-color: rgba(242,140,24,.55); translate: 6px 0; }
.ct__cards li:hover::after { opacity: 1; }
.ct__cards li, .ct__cards a { display: grid; grid-template-columns: 46px 1fr auto; grid-template-rows: auto auto; column-gap: 16px; align-items: center; padding: 16px 18px; color: inherit; }
.ct__cards a { padding: 0; grid-column: 1 / -1; grid-row: 1 / -1; }
.ct__ico { grid-row: 1 / span 2; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(242,140,24,.45); transition: background .35s, rotate .5s var(--e-spring); }
.ct__ico svg { width: 20px; height: 20px; fill: none; stroke: var(--orange); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: stroke .3s; }
.ct__cards li:hover .ct__ico { background: var(--orange); rotate: -8deg; }
.ct__cards li:hover .ct__ico svg { stroke: #000; }
.ct__k { font-size: var(--fs-xs); font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--fg-4); }
.ct__v { grid-column: 2; font-family: var(--f-display); font-size: clamp(1.05rem, .95rem + .4vw, 1.3rem); font-weight: 500; letter-spacing: -.01em; color: var(--fg); overflow-wrap: anywhere; }
.ct__go { grid-column: 3; grid-row: 1 / span 2; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line-2); transition: background .35s, border-color .35s, rotate .5s var(--e-out); }
.ct__go svg { width: 15px; height: 15px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; }
.ct__cards li:hover .ct__go { background: var(--orange); border-color: var(--orange); rotate: 45deg; }
.ct__cards li:hover .ct__go svg { stroke: #000; }

/* Carte du formulaire */
.ct__form { position: relative; isolation: isolate; overflow: hidden; padding: clamp(26px, 3.4vw, 50px); border-radius: var(--radius-l); background: linear-gradient(160deg, rgba(242,140,24,.1), transparent 40%), var(--card);
  border: 1px solid rgba(242,140,24,.28); box-shadow: 0 50px 100px -50px rgba(0,0,0,.9); }
.ct__form::after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .5s; pointer-events: none; background: radial-gradient(520px circle at var(--mx, 50%) var(--my, 50%), rgba(242,140,24,.1), transparent 70%); }
.ct__form:hover::after { opacity: 1; }

/* Habillage du formulaire AMD Connect (classes de l'extension) */
.ccp .ct__form .amdc { --amdc-accent: #F28C18 !important; --amdc-on-accent: #000 !important; font-family: var(--f-text); color: var(--fg); background: none; padding: 0; margin: 0; max-width: none; }
.ccp .ct__form .amdc-contact-title, .ccp .ct__form .amdc-contact-intro { display: none; }
.ccp .ct__form .amdc-form { margin: 0; }
.ccp .ct__form .amdc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.ccp .ct__form .amdc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 18px; }
.ccp .ct__form .amdc-span { grid-column: 1 / -1; }
.ccp .ct__form .amdc-field { display: grid; gap: 8px; margin: 0; }
.ccp .ct__form .amdc-field label { font-size: var(--fs-xs); font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--fg-3); }
.ccp .ct__form .amdc-field label span { color: var(--orange); }
.ccp .ct__form .amdc-field input:not([type="checkbox"]), .ccp .ct__form .amdc-field select, .ccp .ct__form .amdc-field textarea {
  width: 100%; box-sizing: border-box; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--line-2); background: rgba(0,0,0,.55); color: #fff;
  font: inherit; font-size: 1rem; line-height: 1.4; outline: none; transition: border-color .3s, box-shadow .3s, background .3s; -webkit-appearance: none; appearance: none; }
.ccp .ct__form .amdc-field select { background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F28C18' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; background-size: 18px; padding-right: 44px; }
.ccp .ct__form .amdc-field select option { background: #181818; color: #fff; }
.ccp .ct__form .amdc-field textarea { min-height: 130px; resize: vertical; }
.ccp .ct__form .amdc-field input::placeholder, .ccp .ct__form .amdc-field textarea::placeholder { color: rgba(255,255,255,.32); }
.ccp .ct__form .amdc-field input:hover, .ccp .ct__form .amdc-field select:hover, .ccp .ct__form .amdc-field textarea:hover { border-color: rgba(255,255,255,.32); }
.ccp .ct__form .amdc-field input:focus, .ccp .ct__form .amdc-field select:focus, .ccp .ct__form .amdc-field textarea:focus { border-color: var(--orange); background: rgba(0,0,0,.75); box-shadow: 0 0 0 4px rgba(242,140,24,.18); }
.ccp .ct__form .amdc-hint { margin: -4px 0 0; font-size: var(--fs-sm); color: var(--fg-4); }
.ccp .ct__form .amdc-consent { display: flex; align-items: flex-start; gap: 12px; }
.ccp .ct__form .amdc-consent input { flex: none; width: 20px; height: 20px; margin: 2px 0 0; accent-color: #F28C18; cursor: pointer; }
.ccp .ct__form .amdc-consent label { font-size: var(--fs-sm); font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--fg-3); line-height: 1.5; cursor: pointer; }
.ccp .ct__form .amdc-submit { display: inline-flex; align-items: center; justify-content: center; gap: 12px; margin-top: 26px; padding: 16px 30px; border: 0; border-radius: 999px; cursor: pointer;
  background: var(--orange); color: #000; font: inherit; font-weight: 600; font-size: 1rem; box-shadow: 0 14px 40px -12px rgba(242,140,24,.7); transition: translate .4s var(--e-out), box-shadow .4s, background .3s; }
.ccp .ct__form .amdc-submit::after { content: "→"; font-size: 1.1em; transition: translate .4s var(--e-out); }
.ccp .ct__form .amdc-submit:hover { translate: 0 -3px; background: var(--orange-hi); box-shadow: 0 20px 50px -12px rgba(242,140,24,.85); }
.ccp .ct__form .amdc-submit:hover::after { translate: 4px 0; }
.ccp .ct__form .amdc-submit:disabled { opacity: .6; cursor: wait; }
.ccp .ct__form .amdc-status { margin: 0 0 18px; padding: 14px 16px; border-radius: 12px; font-size: var(--fs-sm); line-height: 1.5; }
.ccp .ct__form .amdc-status.is-ok { background: rgba(242,140,24,.14); border: 1px solid rgba(242,140,24,.5); color: #fff; }
.ccp .ct__form .amdc-status.is-error { background: rgba(255,80,60,.12); border: 1px solid rgba(255,90,70,.45); color: #fff; }

@media (max-width: 1023.98px) {
  .ct__grid { grid-template-columns: 1fr; }
  .ct__info { position: static; }
}
@media (max-width: 599.98px) {
  .ccp .ct__form .amdc-grid { grid-template-columns: 1fr; }
  .ccp .ct__form .amdc-submit { width: 100%; }
  .ct__form { border-radius: var(--radius-s); }
}
@media (prefers-reduced-motion: reduce) { .ct__glow i { animation: none; } }
