/* Approved presentation: open store rows, restrained titles and contact-style actions. */
#services h4, #network h4, #stores .store-title { font-size: 16px; font-weight: 600; letter-spacing: normal; line-height: 1.35; }
#stores .store-grid { display: block; margin-top: 42px; }
#stores .store-column { display: block; width: 100%; }
#stores .store-card { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 38px; align-items: center; padding: 30px 0; margin: 0; border: 0; border-bottom: 1px solid #dce1e7; border-radius: 0; background: transparent; box-shadow: none; overflow: visible !important; height: auto !important; }
#stores .store-column:first-child .store-card { padding-top: 0; }
#stores .store-column:last-child .store-card { border-bottom: 0; padding-bottom: 0; }
#stores .store-photo { width: 240px; height: 164px; border-radius: 8px; object-fit: cover; object-position: center 42%; }
#stores .store-details { display: grid; grid-template-columns: minmax(0,1fr) 196px; grid-template-rows: auto auto auto; gap: 0 28px; align-content: center; align-items: start; padding: 0; min-height: 164px; }
#stores .store-title { grid-column: 1; grid-row: 1; margin: 0 0 10px; }
#stores .store-meta { display: contents; }
#stores .store-details address { grid-column: 1; grid-row: 2; font-size: .92rem; line-height: 1.6; margin: 0; }
#stores .store-actions { grid-column: 2; grid-row: 1 / 4; align-self: center; display: grid; grid-template-columns: minmax(0,1fr); gap: 9px; }
#stores .store-actions .btn { min-height: 0; padding: .45rem .9rem; font-size: .9rem; font-weight: 400; line-height: 1.5; border-radius: .15rem; box-shadow: none; }
#stores .store-footer { grid-column: 1; grid-row: 3; margin-top: 15px; display: block; }
#stores .store-opening { margin: 0; text-align: left; font-size: .76rem; }
#stores .store-google-rating { display: flex; justify-content: center; align-items: center; width: 100%; max-width: none; min-height: 32px; margin: 0 0 3px; padding: 2px 0; color: #343a40; text-decoration: none; border-radius: 3px; }
#stores .store-google-summary { display: flex; align-items: center; justify-content: center; flex-wrap: nowrap; gap: 7px; }
#stores .store-google-stars { width: 82px; height: 18px; }
#stores .store-google-stars-base { fill: #f0ece3; stroke: #b98022; stroke-width: .7; stroke-linejoin: round; }
#stores .store-google-stars-fill { stroke: #b98022; stroke-width: .7; stroke-linejoin: round; }
#stores .store-google-values { white-space: nowrap; gap: 4px; font-size: .75rem; }
#stores .store-google-score { font-size: .85rem; font-weight: 700; }
#stores .store-google-scale { font-size: .72rem; font-weight: 400; }
#stores .store-google-rating:is(:hover,:focus,:focus-visible) { color: #475dc4; text-decoration: none; }
#stores .store-google-rating:is(:hover,:focus,:focus-visible) :is(.store-google-score,.store-google-count) { color: inherit; }
#stores .store-google-rating:focus-visible { outline: 2px solid #475dc4; outline-offset: 3px; }
#about, #network, #stores, #contact, #services { scroll-margin-top: 100px; }
[id^="store-"] { scroll-margin-top: 110px; }
@media (max-width: 991.98px) {
  #stores .store-card { grid-template-columns: 200px minmax(0,1fr); gap: 28px; }
  #stores .store-photo { width: 200px; height: 166px; }
  #stores .store-details { grid-template-columns: minmax(0,1fr); }
  #stores .store-actions { grid-column: 1; grid-row: 4; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 16px; }
  #stores .store-google-rating { grid-column: 1 / -1; justify-content: flex-start; margin-bottom: 0; }
}
@media (max-width: 575.98px) {
  #stores .store-grid { margin-top: 30px; }
  #stores .store-card { grid-template-columns: minmax(0,1fr); gap: 20px; padding: 28px 0; }
  #stores .store-photo { width: 100%; height: auto; aspect-ratio: 1.9; }
  #stores .store-details { min-height: 0; }
  #stores .store-title { margin-bottom: 9px; }
  #stores .store-details address { font-size: .9rem; }
  #stores .store-actions .btn { padding: .45rem .55rem; }
  #stores .store-footer { margin-top: 14px; }
  #about, #network, #stores, #contact, #services, [id^="store-"] { scroll-margin-top: 120px; }
}
@media (forced-colors: active) {
  #stores .store-google-stars-fill { fill: LinkText !important; stroke: LinkText; }
  #stores .store-google-stars-base { fill: Canvas; stroke: GrayText; }
}

/* Button-only review: restrained charcoal tones and a smaller visible silhouette. */
#stores .store-actions .btn {
  position: relative; justify-self: center; width: 144px; max-width: 100%;
  min-width: 0; min-height: 0; padding: 4px 10px;
  font-size: .8rem; font-weight: 400; line-height: 20px;
  border: 1px solid #cbd3de; border-radius: 3px;
  box-shadow: none; color: #394655; background: transparent;
}
#stores .store-actions .btn-dark { color: #344151; background: #e9edf2; border-color: #d4dce5; }
#stores .store-actions .btn-dark:hover { color: #25313c; background: #dfe5ec; border-color: #bdc8d5; }
#stores .store-actions .btn-outline-dark:hover { color: #25313c; background: #edf0f4; border-color: #b8c4d2; }
#stores .store-actions .btn:focus-visible { outline: 2px solid #475dc4; outline-offset: 3px; box-shadow: none; }
#stores .store-actions .btn::after { content: ""; position: absolute; inset: -7px 0; }
#stores .store-actions .btn i { font-size: .8rem; }
@media (max-width: 991.98px) {
  #stores .store-actions .btn { justify-self: start; }
}

/* Colour-only review: blue call button and green outline directions, approved slim geometry unchanged. */
#stores .store-actions .btn-dark { color: #fff; background: #475dc4; border-color: #475dc4; }
#stores .store-actions .btn-outline-dark { color: #087b42; background: transparent; border-color: #10c469; }
#stores .store-actions .btn-dark:hover { color: #fff; background: #394cac; border-color: #394cac; }
#stores .store-actions .btn-outline-dark:hover { color: #056434; background: transparent; border-color: #087b42; }

/* Match the visible section rhythm and right-align store contact actions. */
#stores .store-grid { margin-top: 60px; }
#stores .store-actions .btn { justify-self: end; }
#stores .store-google-rating { justify-content: flex-end; }
@media (max-width: 991.98px) {
  #stores .store-actions { grid-template-columns: repeat(2,minmax(0,144px)); justify-content: end; }
}
@media (max-width: 575.98px) {
  #stores .store-grid { margin-top: 48px; }
}

/* Mobile review: centre store information below the photograph. */
@media (max-width: 575.98px) {
  #stores .store-details,
  #stores .store-title,
  #stores .store-details address,
  #stores .store-opening { text-align: center; }
  #stores .store-actions { justify-content: center; }
  #stores .store-actions .btn { justify-self: center; }
  #stores .store-google-rating { justify-content: center; }
}
/* Only the narrowest header uses the existing Instagram mark without text. */
@media (max-width: 320px) {
  .navbar-tools .instagram-badge {
    width: 24px; min-width: 24px; height: 24px; padding: 0; gap: 0;
    align-items: center; justify-content: center;
  }
  .navbar-tools .instagram-badge > span { display: none; }
}

/* Narrowest footer: match the compact header badge and split the French motto. */
@media (max-width: 320px) {
  .footer-brand .instagram-badge {
    width: 24px; min-width: 24px; height: 24px; padding: 0; gap: 0;
    align-items: center; justify-content: center;
  }
  .footer-brand .instagram-badge > span { display: none; }
  .footer-motto .footer-motto-tail { display: block; }
}
