/**
 * Grimages UI – footer (tmpl/footer.php).
 */

.gri-v2 .gri-footer {
  margin-top: var(--space-8);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  background: var(--violet-900);
  color: rgba(255, 255, 255, .82);
  font: 400 15px/24px var(--font-body);
}

.gri-v2 .gri-footer a:not(#gri-none) { color: #fff !important; text-decoration: none; }
.gri-v2 .gri-footer a:not(#gri-none):hover { color: var(--yellow-400) !important; }
.gri-v2 .gri-footer a:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(255, 255, 255, .5); border-radius: 4px; }
.gri-v2 .gri-footer ul { margin: 0; padding: 0; list-style: none; }
.gri-v2 .gri-footer li { margin: 0; }
.gri-v2 .gri-footer li::before { content: none !important; }

.gri-v2 .gri-footer__main {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .9fr) minmax(0, 1.3fr) minmax(0, 1.1fr);
  gap: var(--space-6);
  padding-top: var(--space-7);
  padding-bottom: var(--space-7);
}

/* Brand */
.gri-v2 .gri-footer__logo img { display: block; width: 154px; height: auto; filter: brightness(0) invert(1); }
.gri-v2 .gri-footer__tagline { max-width: 30ch; margin: var(--space-4) 0 var(--space-5); color: rgba(255, 255, 255, .82); }
.gri-v2 .gri-footer__label { margin: 0 0 var(--space-2); font: 700 12px/16px var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.gri-v2 .gri-footer__social { display: flex; gap: var(--space-2); }
.gri-v2 .gri-footer__social a:not(#gri-none) { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: rgba(255, 255, 255, .1); transition: background var(--dur-fast), transform var(--dur-fast) var(--ease-out); }
.gri-v2 .gri-footer__social a:not(#gri-none):hover { background: var(--magenta-500); color: #fff !important; transform: translateY(-2px); }
.gri-v2 .gri-footer__social .gri-icon,
.gri-v2 .gri-footer__social .gri-icon svg { width: 20px; height: 20px; }

/* Columns (accordions on phones) */
.gri-v2 .gri-footer__col summary { display: flex; align-items: center; justify-content: space-between; list-style: none; cursor: default; }
.gri-v2 .gri-footer__col summary::-webkit-details-marker { display: none; }
.gri-v2 .gri-footer__col summary > .gri-icon { display: none; }
.gri-v2 .gri-footer__title:not(#gri-none) { margin: 0 0 var(--space-4); font: 800 19px/1.2 var(--font-display) !important; text-transform: none !important; letter-spacing: 0; color: #fff !important; }

.gri-v2 .gri-footer__links { display: grid; gap: var(--space-2); }

/* Shop */
.gri-v2 .gri-footer__shop { display: grid; gap: var(--space-3); justify-items: start; }
.gri-v2 .gri-footer__address { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: var(--space-2); margin: 0; color: #fff; }
.gri-v2 .gri-footer__address .gri-icon,
.gri-v2 .gri-footer__address .gri-icon svg { width: 20px; height: 20px; color: var(--yellow-400); }
.gri-v2 .gri-footer__address small { display: block; font-size: 13px; color: rgba(255, 255, 255, .65); }
.gri-v2 .gri-footer__hours { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px var(--space-4); width: 100%; margin: 0; font-size: 14px; }
.gri-v2 .gri-footer__hours dt { margin: 0; font-weight: 700; color: #fff; }
.gri-v2 .gri-footer__hours dd { margin: 0; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.gri-v2 .gri-footer__note { margin: 0; font-size: 13px; color: rgba(255, 255, 255, .65); }
.gri-v2 .gri-footer a.gri-footer__book:not(#gri-none) { --btn-bg: var(--yellow-400); --btn-fg: var(--violet-900); --btn-edge: #c99a00; color: var(--violet-900) !important; }
.gri-v2 .gri-footer a.gri-footer__book:not(#gri-none):hover { color: var(--violet-900) !important; }
.gri-v2 .gri-footer__book .gri-icon,
.gri-v2 .gri-footer__book .gri-icon svg { width: 16px; height: 16px; }

/* Payment and carriers: logos on white chips */
.gri-v2 .gri-footer__logos { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: var(--space-4) !important; }
.gri-v2 .gri-footer__logos li { display: flex; align-items: center; justify-content: center; width: 52px; height: 34px; padding: 3px; overflow: hidden; border-radius: 6px; background: #fff; }
.gri-v2 .gri-footer__logos img { display: block; width: 100%; height: 28px; object-fit: contain; }
.gri-v2 .gri-footer__logos--ship li { width: 55px; height: 35px; padding: 0; background: none; }
.gri-v2 .gri-footer__logos--ship img { width: 55px; height: 35px; object-fit: cover; border-radius: 6px; }
.gri-v2 .gri-footer__hours dd a:not(#gri-none) { text-decoration: underline !important; text-underline-offset: 3px; text-decoration-color: var(--yellow-400) !important; text-decoration-thickness: 2px; }

/* Bottom bar */
.gri-v2 .gri-footer__bar { border-top: 1px solid rgba(255, 255, 255, .12); font-size: 13px; color: rgba(255, 255, 255, .65); }
.gri-v2 .gri-footer__barin { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2) var(--space-5); padding-top: var(--space-4); padding-bottom: var(--space-4); }
.gri-v2 .gri-footer__bar p { margin: 0; }
.gri-v2 .gri-footer__contact { display: flex; flex-wrap: wrap; gap: var(--space-4); }
.gri-v2 .gri-footer__contact a:not(#gri-none) { display: inline-flex; align-items: center; gap: 6px; }
.gri-v2 .gri-footer__contact .gri-icon,
.gri-v2 .gri-footer__contact .gri-icon svg { width: 16px; height: 16px; }

@media (max-width: 1199.98px) {
  .gri-v2 .gri-footer__main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Phones: brand on top, the three columns as accordions; room for the mobile bar */
@media (max-width: 991.98px) {
  .gri-v2 .gri-footer { margin-top: var(--space-7); }
  .gri-v2 .gri-footer__main { grid-template-columns: minmax(0, 1fr); gap: 0; padding-top: var(--space-6); padding-bottom: var(--space-3); }
  .gri-v2 .gri-footer__brand { padding-bottom: var(--space-5); }
  .gri-v2 .gri-footer__col { border-top: 1px solid rgba(255, 255, 255, .12); }
  .gri-v2 .gri-footer__col summary { min-height: 56px; cursor: pointer; }
  .gri-v2 .gri-footer__col summary > .gri-icon { display: block; width: 20px; height: 20px; transition: transform var(--dur-base) var(--ease-out); }
  .gri-v2 .gri-footer__col[open] summary > .gri-icon { transform: rotate(180deg); }
  .gri-v2 .gri-footer__title:not(#gri-none) { margin: 0; font-size: 17px !important; }
  .gri-v2 .gri-footer__col > :not(summary) { padding-bottom: var(--space-5); }
  .gri-v2 .gri-footer__links a { display: block; padding: 6px 0; }
  .gri-v2 .gri-footer__barin { flex-direction: column; align-items: flex-start; }
}

/* « Gérer les cookies » (CookieConsent) */
.gri-v2 .gri-footer__cookies { padding: 0; border: 0; background: none; font: inherit; color: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.gri-v2 .gri-footer__cookies:hover { color: #fff; }

/* Reviews badge (Trustindex figures, design system): a white tile like the payment logos */
.gri-v2 a.gri-footer__rating:not(#gri-none),
.gri-v2 .gri-footer__rating { display: inline-grid; grid-template-columns: auto auto; align-items: baseline; gap: 2px var(--space-2); margin-top: var(--space-5); padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--surface); color: var(--ink) !important; text-decoration: none; transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base); }
.gri-v2 a.gri-footer__rating:not(#gri-none):hover { transform: translateY(-2px); box-shadow: var(--shadow-raised); }
.gri-v2 .gri-footer__stars { font-size: 18px; line-height: 1; letter-spacing: 1px; color: var(--yellow-400); }
.gri-v2 .gri-footer__score { font: 700 15px/20px var(--font-body); color: var(--violet-900); }
.gri-v2 .gri-footer__score strong { font: 800 17px/20px var(--font-display); }
.gri-v2 .gri-footer__count { grid-column: 1 / -1; font-size: 12px; line-height: 16px; color: var(--ink-muted); }
