/* =========================================================================
   garantie-legale.css · notice harmonisée sur la garantie légale de
   conformité, règlement d'exécution (UE) 2025/1960.
   La notice est affichée telle quelle, à ses proportions d'origine.
   ========================================================================= */

.glc-wrap { width: min(100% - 3rem, var(--container-narrow)); margin-inline: auto; }

/* --- Tête de page Garanties --- */
.glc-head { padding-block: calc(var(--header-h) + 2.5rem) 0; }
.glc-head__crumb { font-size: 0.8rem; color: var(--text-muted); margin-bottom: 1rem; }
.glc-head__crumb strong { color: var(--text); font-weight: var(--fw-bold); }
.glc-head h1 { font-size: clamp(2rem, 4vw, 2.6rem); line-height: 1.12; margin: 0 0 1rem; }
.glc-intro { font-size: 1.0625rem; line-height: 1.7; color: var(--grey-700); max-width: 78ch; margin: 0; text-wrap: pretty; }

.glc-tabs { display: flex; flex-wrap: wrap; gap: 0.25rem; margin-top: 1.75rem; border-bottom: 1px solid var(--border); }
.glc-tabs a { padding: 0.9rem 1.25rem; font-size: 0.95rem; font-weight: var(--fw-medium); color: var(--text-muted); text-decoration: none; border-bottom: 3px solid transparent; margin-bottom: -1px; transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease); }
.glc-tabs a:hover { color: var(--emerald-900); }
.glc-tabs a.is-active { color: var(--emerald-900); font-weight: var(--fw-bold); border-bottom-color: var(--emerald-900); }

/* --- Section légale, volontairement sobre --- */
.glc-sec { padding-block: 2.75rem 3.5rem; scroll-margin-top: var(--header-h); }
.glc-sec__head { display: flex; align-items: center; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 0.9rem; }
.glc-sec__head h2 { font-size: clamp(1.4rem, 2.6vw, 1.75rem); margin: 0; }
.glc-badge { display: inline-flex; align-items: center; height: 24px; padding: 0 0.625rem; border-radius: 4px; background: var(--grey-100); color: var(--grey-700); font-size: 0.72rem; font-weight: var(--fw-bold); letter-spacing: 0.04em; text-transform: uppercase; }
.glc-sec > .glc-wrap > p { font-size: 1rem; line-height: 1.7; color: var(--grey-700); max-width: 72ch; margin: 0 0 1.75rem; }
.glc-sec__note { font-size: 0.8125rem; line-height: 1.65; color: var(--text-muted); max-width: 80ch; margin: 1.5rem 0 0; }

/* --- La notice --- */
.glc-notice { margin: 0; width: 100%; max-width: 800px; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 1.5rem; display: flex; flex-direction: column; align-items: center; gap: 1.35rem; }
.glc-notice__img { display: block; width: 100%; max-width: 688px; height: auto; }
.glc-notice__actions { width: 100%; display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; }

.glc-dl { display: inline-flex; align-items: center; gap: 0.55rem; min-height: 48px; padding: 0 1.4rem; border-radius: var(--radius-pill); background: var(--emerald-900); color: var(--white); font-size: 0.875rem; font-weight: var(--fw-bold); text-decoration: none; transition: background var(--dur) var(--ease); }
.glc-dl:hover { background: var(--emerald-700); color: var(--white); }
.glc-dl svg { flex: 0 0 16px; }
.glc-notice__actions .glc-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 0.875rem; color: var(--emerald-900); text-decoration: underline; text-underline-offset: 3px; }

/* --- Mention sur fiche véhicule --- */
.glc-vehicle { display: flex; align-items: flex-start; gap: 0.6rem; margin-top: 1rem; padding-top: 0.95rem; border-top: 1px solid var(--border); }
.glc-vehicle svg { flex: 0 0 18px; margin-top: 0.15rem; color: var(--text-muted); }
.glc-vehicle p { margin: 0; font-size: 0.8125rem; line-height: 1.55; color: var(--grey-700); }
.glc-vehicle a { color: var(--emerald-900); text-decoration: underline; text-underline-offset: 2px; }

/* --- Modale réutilisable --- */
.glc-modal { width: min(100% - 2rem, 880px); max-height: min(92vh, 900px); padding: 0; border: 0; border-radius: var(--radius-md); background: var(--white); color: var(--text); overflow: hidden; }
.glc-modal[open] { display: flex; flex-direction: column; }
.glc-modal::backdrop { background: rgba(11, 26, 21, 0.62); }
.glc-modal__head { display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.35rem; border-bottom: 1px solid var(--grey-100); }
.glc-modal__title { margin: 0; font-size: 1.125rem; font-weight: var(--fw-bold); }
.glc-modal__sub { margin: 0.15rem 0 0; font-size: 0.8rem; color: var(--text-muted); }
.glc-modal__close { flex: 0 0 44px; width: 44px; height: 44px; margin-left: auto; border: 0; border-radius: 50%; background: var(--off-white); color: var(--text); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.glc-modal__close:hover { background: var(--grey-100); }
.glc-modal__body { flex: 1; min-height: 0; overflow-y: auto; background: var(--off-white); padding: 1.35rem; display: flex; align-items: flex-start; justify-content: center; }
.glc-modal__body img { display: block; width: 100%; max-width: 688px; height: auto; background: var(--white); border: 1px solid var(--border); }
.glc-modal__foot { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; padding: 1.1rem 1.35rem; border-top: 1px solid var(--grey-100); }
.glc-modal__foot .glc-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 0.8125rem; color: var(--emerald-900); text-decoration: underline; text-underline-offset: 3px; }
.glc-modal__foot .glc-dl { margin-left: auto; }
.glc-modal__btn { min-height: 48px; padding: 0 1.4rem; border-radius: var(--radius-pill); border: 1.5px solid var(--emerald-900); background: transparent; color: var(--emerald-900); font-family: var(--font-body); font-size: 0.875rem; font-weight: var(--fw-bold); cursor: pointer; }
.glc-modal__btn:hover { background: var(--emerald-900); color: var(--white); }

@media (max-width: 720px) {
  .glc-head { padding-top: calc(var(--header-h) + 1.5rem); }
  .glc-notice { padding: 0.75rem; }
  .glc-notice__actions { flex-direction: column; align-items: stretch; }
  .glc-dl { justify-content: center; }
  .glc-modal { width: 100%; max-width: none; max-height: 100vh; height: 100vh; border-radius: 0; }
  .glc-modal__foot { flex-direction: column; align-items: stretch; }
  .glc-modal__foot .glc-dl { margin-left: 0; justify-content: center; }
}
