/* Contact & demande de devis */

/* Hero ------------------------------------------------------------------- */
.contact-hero { background: var(--ivoire); padding-block: clamp(32px, 4vw, 56px) clamp(64px, 6.5vw, 96px); }
.contact-hero .breadcrumb { margin-bottom: 40px; }
.contact-hero__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; margin-bottom: clamp(40px, 4.5vw, 64px); }
.contact-hero__title { max-width: 720px; }
.contact-hero__intro { max-width: 420px; }

/* Canaux ----------------------------------------------------------------- */
.channels { display: grid; grid-template-columns: 1.63fr 1fr; gap: 16px; }

.channel-phone { position: relative; display: grid; justify-items: start; gap: 28px; padding: 56px; background: var(--nuit); overflow: hidden; isolation: isolate; }
.channel-phone__mark { position: absolute; right: -90px; bottom: -110px; width: 420px; height: 390px; color: var(--laiton); opacity: .05; z-index: -1; transition: transform 1600ms var(--ease), opacity 900ms var(--ease); }
.channel-phone:hover .channel-phone__mark { transform: rotate(-6deg) scale(1.04); opacity: .08; }
.channel-phone__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; width: 100%; flex-wrap: wrap; }
.availability { display: inline-flex; align-items: center; gap: 10px; padding: 6px 12px; border: 1px solid var(--ligne-sombre); border-radius: var(--radius); color: var(--ivoire); }
.availability__dot { position: relative; width: 7px; height: 7px; border-radius: 50%; background: #3FA372; }
.availability__dot::after { content: ''; position: absolute; inset: 0; border-radius: 50%; background: inherit; animation: pulse 2.4s var(--ease) infinite; }
@keyframes pulse { 0% { transform: scale(1); opacity: .6; } 70%, 100% { transform: scale(3.2); opacity: 0; } }
.channel-phone__number { font-family: var(--font-titre); font-size: clamp(48px, 5.6vw, 80px); font-weight: 600; line-height: 1; letter-spacing: -.04em; color: var(--ivoire); white-space: nowrap; transition: color var(--t) var(--ease); }
.channel-phone__number:hover { color: var(--laiton-clair); }
.channel-phone__text { max-width: 560px; color: var(--texte-inverse-2); }

.channel-mail { display: flex; flex-direction: column; justify-content: space-between; gap: 40px; padding: 48px; background: var(--blanc); border: 1px solid var(--ligne); }
.channel-mail > div:first-child { display: grid; gap: 20px; }
.channel-mail__address { font-family: var(--font-titre); font-size: clamp(20px, 1.7vw, 24px); font-weight: 600; letter-spacing: -.02em; line-height: 1.2; overflow-wrap: anywhere; }
.channel-mail__actions { display: grid; justify-items: start; gap: 14px; }
.copy-btn { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--texte-2); transition: color var(--t) var(--ease); }
.copy-btn .icon { width: 14px; height: 14px; }
.copy-btn:hover { color: var(--nuit); }
.copy-btn.is-copied { color: var(--succes); }

.call-bar { display: none; }

@media (max-width: 1023px) {
  .channels { grid-template-columns: 1fr; }
  .channel-phone { padding: 40px 28px; }
  .channel-mail { padding: 36px 28px; }
}
@media (max-width: 767px) {
  .contact-hero { padding-block: 32px; border-bottom: 1px solid var(--ligne); }
  .contact-hero__kicker { margin-bottom: 14px; }
  .contact-hero__row { flex-direction: column; align-items: flex-start; gap: 14px; margin-bottom: 24px; }
  .contact-hero__title { font-size: 36px; }
  .contact-hero__intro { font-size: 16px; }
  .channel-phone { display: none; }
  .channels { gap: 12px; }
  .call-bar { display: flex; align-items: center; gap: 14px; padding: 14px 16px; background: var(--nuit); color: var(--ivoire); border-radius: var(--radius); transition: background var(--t) var(--ease); }
  .call-bar:active { background: var(--nuit-3); }
  .call-bar__icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--laiton); color: var(--nuit); flex: none; }
  .call-bar__icon .icon { width: 18px; height: 18px; }
  .call-bar__text { flex: 1; display: grid; gap: 2px; }
  .call-bar__text strong { font-family: var(--font-titre); font-size: 19px; font-weight: 600; letter-spacing: -.01em; }
  .call-bar__text span { font-size: 12px; color: var(--texte-inverse-2); }
  .call-bar__arrow { color: var(--laiton-clair); }
}

/* 03 — Guide --------------------------------------------------------------- */
.guide__title { font-size: clamp(30px, 3.4vw, 48px); }
.guide__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.guide__profile { display: grid; align-content: start; justify-items: start; gap: 16px; border-top: 2px solid var(--nuit); padding-top: 28px; }
.guide__profile-title { display: flex; align-items: center; gap: 14px; }
.guide__profile-title .icon { width: 24px; height: 24px; color: var(--laiton-encre); }
.guide__list { width: 100%; }
.guide__list li { display: flex; gap: 20px; padding-block: 20px; border-bottom: 1px solid var(--ligne); font-size: 16px; line-height: 1.5; }
.guide__index { flex: none; width: 18px; padding-top: 3px; font-family: var(--font-mono); font-size: 11px; letter-spacing: .1em; color: var(--laiton-encre); }
@media (max-width: 899px) { .guide__grid { grid-template-columns: 1fr; gap: 56px; } }

/* Et ensuite + infos ------------------------------------------------------------ */
.guide + .suite { padding-top: 0; }
.suite__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 360px); gap: 40px; align-items: start; }
.next { display: grid; grid-template-columns: 145px 1fr; gap: 32px; padding: 48px; background: var(--pierre); border-radius: var(--radius-lg); }
.next__title { font-size: 11px; font-weight: 400; padding-top: 8px; }
.next__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.next__steps li { display: grid; gap: 10px; align-content: start; font-size: 16px; line-height: 1.5; }
.next__num { font-family: var(--font-titre); font-size: 32px; font-weight: 600; letter-spacing: -.02em; line-height: 1; color: var(--laiton-encre); }
.infos__item { display: flex; gap: 16px; padding-block: 18px; border-bottom: 1px solid var(--ligne); }
.infos__item:first-child { padding-top: 0; }
.infos__item > .icon { width: 18px; height: 18px; color: var(--acier); margin-top: 1px; }
.infos__item div { display: grid; gap: 6px; justify-items: start; }
.infos dd { font-size: 15px; }
@media (max-width: 1023px) {
  .suite__grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .next { grid-template-columns: 1fr; gap: 20px; padding: 28px 20px; }
  .next__steps { grid-template-columns: 1fr; gap: 20px; }
  .next__steps li { grid-template-columns: 48px 1fr; align-items: baseline; }
  .next__num { font-size: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .availability__dot::after { display: none; }
}

@media (max-width: 1180px) {
  .next { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 32px; }
}
