/* Fiche contact mobile — Yannick Michiels. Composant autonome, sans JavaScript. */
.ym-contact-dock { display: none; }

@media (max-width: 767px), (max-width: 1024px) and (max-height: 500px) and (hover: none) and (pointer: coarse) {
  html { scroll-padding-bottom: calc(7rem + env(safe-area-inset-bottom, 0px)); }
  body.ym-has-contact { padding-bottom: calc(6.5rem + env(safe-area-inset-bottom, 0px)); }
  .ym-has-contact .contact-page-grid dd { min-width: 0; overflow-wrap: anywhere; }
  .ym-has-contact .contact-page-grid dl > div { grid-template-columns: minmax(0, 7rem) minmax(0, 1fr); }
  .ym-contact-dock {
    position: fixed;
    z-index: 90;
    inset: auto max(1rem, env(safe-area-inset-right, 0px)) calc(.75rem + env(safe-area-inset-bottom, 0px)) max(1rem, env(safe-area-inset-left, 0px));
    display: flex;
    align-items: center;
    gap: .75rem;
    width: auto;
    max-width: 25rem;
    min-height: 4rem;
    margin-inline: auto;
    padding: .625rem 1rem .625rem .625rem;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 999px;
    color: var(--white, #fff);
    background: var(--orange-dark, #c2410c);
    box-shadow: 0 .5rem 1.75rem rgba(194, 65, 12, .32), 0 0 0 .25rem rgba(234, 88, 12, .10);
    font-family: var(--font, system-ui, sans-serif);
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
    animation: ym-contact-glow 2s ease-in-out 2;
    transition: background-color .2s ease, transform .2s ease;
  }
  .ym-contact-dock__icon {
    display: grid;
    place-items: center;
    flex: 0 0 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, .16);
  }
  .ym-contact-dock__icon svg { display: block; width: 1.5rem; height: 1.5rem; }
  .ym-contact-dock__copy { display: grid; gap: .125rem; min-width: 0; }
  .ym-contact-dock__title { font-size: .875rem; font-weight: 850; line-height: 1.35; }
  .ym-contact-dock__caption { font-size: .6875rem; font-weight: 500; line-height: 1.35; }
  .ym-contact-dock__arrow { flex: 0 0 auto; margin-left: auto; font-size: 1.25rem; line-height: 1; }
  .ym-contact-dock:hover { background: #9a3412; }
  .ym-contact-dock:active { transform: scale(.98); }
  .ym-contact-dock:focus-visible { outline: 3px solid var(--navy, #0f172a); outline-offset: 4px; }
  body.ym-has-contact:has(input:focus, textarea:focus, select:focus, [contenteditable="true"]:focus) .ym-contact-dock {
    visibility: hidden;
    pointer-events: none;
  }
}

@keyframes ym-contact-glow {
  0%, 100% { box-shadow: 0 .5rem 1.75rem rgba(194, 65, 12, .32), 0 0 0 .25rem rgba(234, 88, 12, .10); }
  50% { box-shadow: 0 .5rem 2rem rgba(194, 65, 12, .42), 0 0 0 .5rem rgba(234, 88, 12, .05); }
}
@media (prefers-reduced-motion: reduce) {
  .ym-contact-dock { animation: none; transition: none; }
  .ym-contact-dock:active { transform: none; }
}
@media (forced-colors: active) {
  .ym-contact-dock { border: 2px solid ButtonText; background: ButtonFace; color: ButtonText; box-shadow: none; animation: none; }
}
@media print {
  .ym-contact-dock { display: none !important; }
  body.ym-has-contact { padding-bottom: 0; }
}
