/* Carrefour City Berck — Correctif Mobile Centrage */

@media (max-width: 700px) {
  body,
  .berck-theme {
    text-align: center;
  }

  .container,
  .section-heading,
  .section-heading--split,
  .section-heading--center,
  .hero__content,
  .about__content,
  .virtual-tour__content,
  .recruitment__content,
  .reviews__summary,
  .location__content,
  .club-card-section__content,
  .smart-hero__content,
  .smart-practical__content,
  .smart-services__content,
  .smart-local__content,
  .smart-contact__content,
  .smart-recruitment__content {
    text-align: center !important;
    align-items: center !important;
    justify-items: center;
  }

  h1, h2, h3,
  .section-title,
  .hero__title,
  .page-title,
  .entry-title,
  .smart-hero__title {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  p,
  .section-intro,
  .section-heading__description,
  .hero__description,
  .entry-content > p,
  .smart-hero__text,
  .smart-practical__text,
  .smart-services__text,
  .smart-contact__text {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .hero__actions,
  .section-actions,
  .map-card__actions,
  .footer-legal-links,
  .cookie-banner__actions,
  .cookie-modal__actions {
    justify-content: center !important;
    align-items: center !important;
  }

  .footer-legal-links {
    text-align: center !important;
  }

  .footer-legal-links a,
  .footer-legal-links button {
    justify-content: center !important;
    text-align: center !important;
  }

  /* Cards and text blocks */
  .service-card,
  .producer-card,
  .promotion-card,
  .review-card,
  .trust-strip__item,
  .hours-card,
  .map-card,
  .legal-hero,
  .legal-card,
  .cookie-management-card,
  .privacy-notice,
  .cta-card,
  .smart-card {
    text-align: center !important;
  }

  .service-card *,
  .producer-card *,
  .promotion-card__content,
  .review-card *,
  .hours-card *,
  .map-card *,
  .legal-card *,
  .cookie-management-card *,
  .privacy-notice * {
    text-align: inherit;
  }

  /* Buttons full-width or neatly centered on mobile */
  .btn,
  .button,
  button[type="submit"],
  input[type="submit"] {
    margin-left: auto;
    margin-right: auto;
  }

  .hero__actions .btn,
  .hero__actions .button,
  .map-card__actions .btn,
  .map-card__actions .button,
  .cookie-banner__actions .btn,
  .cookie-modal__actions .btn {
    min-width: min(100%, 300px);
  }

  /* Cookie banner */
  .cookie-banner {
    left: 8px !important;
    right: 8px !important;
    bottom: 8px !important;
  }

  .cookie-banner__content {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 22px 18px !important;
    border-radius: 22px !important;
    text-align: center !important;
  }

  .cookie-banner .eyebrow,
  .cookie-banner h2,
  .cookie-banner p,
  .cookie-banner a {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .cookie-banner__actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: 10px !important;
  }

  .cookie-banner__actions .btn {
    width: 100% !important;
  }

  /* Cookie modal */
  .cookie-modal__panel {
    width: min(100% - 16px, 720px) !important;
    margin: 8px auto !important;
    padding: 26px 16px !important;
    border-radius: 22px !important;
    text-align: center !important;
  }

  .cookie-modal__panel h2,
  .cookie-modal__panel > p {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .cookie-preference {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    justify-items: center !important;
  }

  .cookie-preference h3,
  .cookie-preference p,
  .cookie-switch {
    text-align: center !important;
    justify-content: center !important;
  }

  /* Keep forms readable: center titles, not every field text */
  form h2,
  form h3,
  form .privacy-notice,
  .form-intro {
    text-align: center !important;
  }

  input, textarea, select {
    text-align: left;
  }

  /* Shopping list and scanner remain readable */
  .shopping-list,
  .shopping-list *,
  .flashcode-app,
  .flashcode-app *,
  .scanner-shell,
  .scanner-shell * {
    text-align: initial;
  }
}
