/* Polices locales (licence SIL OFL 1.1), jeu latin, fichiers issus de Google Fonts. Inter est variable : un seul fichier pour 400, 500 et 600. */
@font-face {
  font-family: "Barlow Condensed";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/barlow-condensed-700-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/inter-variable-latin.woff2") format("woff2");
}

/* Force Atlantis Premium : surcouche de Hummingbird.
   Style « équipementier sportif » : un seul accent, pas de dégradé, pas d'ombre lourde. */

:root {
  --fa-bg: #F5F6F8;
  --fa-surface: #FFFFFF;
  --fa-border: #E3E6EC;
  --fa-text: #12151B;
  --fa-text-2: #5A6170;
  --fa-text-3: #444B58;
  --fa-accent: #2F5BEA;
  --fa-accent-dark: #2549C4;
  --fa-radius: 5px;
  --fa-title: "Barlow Condensed", "Arial Narrow", Arial, sans-serif;
  --fa-body: "Inter", Arial, sans-serif;

  --bs-primary: #2F5BEA;
  --bs-primary-rgb: 47, 91, 234;
  --bs-link-color: #2F5BEA;
  --bs-link-color-rgb: 47, 91, 234;
  --bs-link-hover-color: #2549C4;
  --bs-link-hover-color-rgb: 37, 73, 196;
  --bs-body-bg: #F5F6F8;
  --bs-body-bg-rgb: 245, 246, 248;
  --bs-body-color: #12151B;
  --bs-body-color-rgb: 18, 21, 27;
  --bs-body-font-family: "Inter", Arial, sans-serif;
  --bs-border-color: #E3E6EC;
  --bs-border-radius: 5px;
  --bs-border-radius-sm: 4px;
  --bs-border-radius-lg: 6px;
}

html { overflow-x: hidden; }

body {
  background: var(--fa-bg);
  color: var(--fa-text);
  font-family: var(--fa-body);
  overflow-x: hidden;
}

/* Typographie */
h1, .h1, h2, .h2, .section-title, .page-title, .product__name {
  font-family: var(--fa-title);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .01em;
  color: var(--fa-text);
}
h1, .h1 { font-size: 72px; line-height: 1; }
h2, .h2, .section-title { font-size: 40px; line-height: 1.1; }
.section-title { margin: 0 0 28px; text-align: left; }
.section-title::after, .section-title::before { display: none; }

/* Boutons */
.btn {
  min-height: 44px;
  border-radius: var(--fa-radius);
  font-weight: 600;
  box-shadow: none;
}
.btn-primary {
  --bs-btn-bg: #2F5BEA;
  --bs-btn-border-color: #2F5BEA;
  --bs-btn-hover-bg: #2549C4;
  --bs-btn-hover-border-color: #2549C4;
  --bs-btn-active-bg: #2549C4;
  --bs-btn-active-border-color: #2549C4;
  --bs-btn-disabled-bg: #2F5BEA;
  --bs-btn-disabled-border-color: #2F5BEA;
}
.btn-outline-primary {
  --bs-btn-color: #12151B;
  --bs-btn-border-color: #12151B;
  --bs-btn-hover-bg: #12151B;
  --bs-btn-hover-border-color: #12151B;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-active-bg: #12151B;
  --bs-btn-active-border-color: #12151B;
}

/* Bandeau du haut */
.fa-topbar { background: #000; color: #fff; font-size: 13px; }
.fa-topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 36px;
}
.fa-topbar__text { color: #C9CDD6; }
.fa-topbar__phone {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
.fa-topbar__phone:hover { color: #fff; text-decoration: underline; }
.fa-topbar__phone .material-icons { font-size: 16px; }

/* Header */
.header, .header-bottom { background: var(--fa-surface); }
.header { border-bottom: 1px solid var(--fa-border); box-shadow: none; }
.header-bottom__row { min-height: 76px; }
.fa-logo__link {
  font-family: var(--fa-title);
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .02em;
  color: var(--fa-text);
  text-decoration: none;
  white-space: nowrap;
}
.fa-logo__link:hover { color: var(--fa-text); }

.ps-mainmenu__tree { display: flex; flex-wrap: nowrap; justify-content: center; gap: 0; margin: 0; padding: 0; }
.ps-mainmenu__tree-item { flex: 0 0 auto; }
.ps-mainmenu__tree-link {
  color: var(--fa-text);
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
}
.ps-mainmenu__tree-link:hover,
.ps-mainmenu__tree-item.current .ps-mainmenu__tree-link { color: var(--fa-accent); }

#_desktop_ps_searchbar { width: 210px; flex: 0 0 210px; }
#_desktop_ps_searchbar .ps-searchbar, #_desktop_ps_searchbar .ps-searchbar__form { width: 100%; min-width: 0; max-width: 100%; }
#_desktop_ps_searchbar .ps-searchbar__input { width: 100%; min-width: 0; }
.ps-searchbar__form { min-width: 0; }
.ps-searchbar__input {
  height: 44px;
  background: var(--fa-bg);
  border: 1px solid var(--fa-border);
  border-radius: var(--fa-radius);
}

.fa-header__actions { gap: 8px; }
.header-block__action-btn { color: var(--fa-text); text-decoration: none; }
.fa-header__actions .ps-shoppingcart .header-block__action-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 0 14px;
  background: var(--fa-text);
  border-radius: var(--fa-radius);
  color: #fff;
}
.fa-header__actions .ps-shoppingcart .header-block__icon,
.fa-header__actions .ps-shoppingcart .header-block__title { color: #fff; }
.header-block__badge { background: var(--fa-accent); color: #fff; }

/* Accueil : le contenu pleine largeur est géré section par section */
.page-content--home { display: block; padding: 0; margin: 0; }
.page-content--home > section, .page-content--home > div, .page-content--home section { margin-top: 0; margin-bottom: 0; }
body#index .columns-container { max-width: none; padding: 0; margin: 0; }
body#index .wrapper { padding: 0; margin: 0; }

.fa-hero { background: var(--fa-surface); margin: 0 !important; }
.fa-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px;
  align-items: center;
  padding-top: 56px;
  padding-bottom: 56px;
}
.fa-eyebrow {
  margin: 0 0 16px;
  color: var(--fa-accent);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
}
.fa-hero__title { margin: 0 0 20px; }
.fa-hero__lead {
  margin: 0 0 28px;
  max-width: 520px;
  color: var(--fa-text-3);
  font-size: 18px;
  line-height: 1.55;
}
.fa-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.fa-hero__actions .btn { display: inline-flex; align-items: center; padding: 0 24px; }
.fa-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}

.fa-reassurance {
  margin: 0 !important;
  background: var(--fa-surface);
  border-top: 1px solid var(--fa-border);
  border-bottom: 1px solid var(--fa-border);
}
.fa-reassurance__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding-top: 20px;
  padding-bottom: 20px;
}
.fa-reassurance__item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: var(--fa-text);
  font-weight: 600;
}
.fa-reassurance__item .material-icons { color: var(--fa-accent); }

.fa-section { padding: 64px 0; scroll-margin-top: 0; }
.fa-section--white { background: var(--fa-surface); }

.fa-disciplines {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.fa-discipline {
  position: relative;
  display: block;
  height: 280px;
  overflow: hidden;
  background: #12151B;
  border-radius: 6px;
}
.fa-discipline img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
  opacity: .48;
  transition: opacity .2s ease;
}
.fa-discipline:hover img { opacity: .66; }
.fa-discipline__name {
  position: absolute;
  left: 20px;
  bottom: 16px;
  color: #fff;
  font-family: var(--fa-title);
  font-size: 34px;
  font-weight: 700;
  line-height: 1.05;
  text-transform: uppercase;
}

.fa-equipements {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}
.fa-equipement {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--fa-surface);
  border: 1px solid var(--fa-border);
  border-radius: 6px;
  color: var(--fa-text);
  text-decoration: none;
  transition: border-color .2s ease;
}
.fa-equipement:hover { border-color: var(--fa-accent); color: var(--fa-text); }
.fa-equipement__media {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  background: #fff;
}
.fa-equipement__media img { width: 100%; height: 100%; object-fit: contain; padding: 12px; }
.fa-equipement__name {
  padding: 12px;
  border-top: 1px solid var(--fa-border);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
}

/* Cartes produit */
.fa-home-products { padding: 64px 0; }
.fa-home-products .module-products { margin-top: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0; }
.product-miniature__inner { display: flex; flex-direction: column; height: 100%; }
.product-miniature__image-container {
  aspect-ratio: 1;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--fa-border);
  border-radius: 6px;
}
.product-miniature__image-link, .product-miniature__image-container picture { display: block; width: 100%; height: 100%; }
.product-miniature__image { display: block; width: 100%; height: 100%; object-fit: contain; }
.product-miniature__title, .product-miniature__title a { color: var(--fa-text); font-weight: 500; text-decoration: none; }
.product-miniature__title a:hover { color: var(--fa-accent); }
.product-miniature__bottom { margin-top: auto; }

/* Noms de produits uniformisés : minuscules + première lettre en capitale */
.product-miniature__title { display: block; text-transform: lowercase; }
.product-miniature__title::first-letter { text-transform: uppercase; }

/* Cartes produit sans quantité : un seul bouton pleine largeur */
.product-miniature__form { display: block; width: 100%; }
.product-miniature__add, .product-miniature__details {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
}
.product-miniature__add-text { display: inline !important; }

/* Sélecteur de langue discret */
.ps-languageselector .form-select {
  width: auto;
  min-height: 44px;
  padding: 0 24px 0 6px;
  border: 0;
  background-color: transparent;
  background-position: right 4px center;
  color: var(--fa-text-2);
  font-size: 13px;
  font-weight: 600;
  box-shadow: none;
  cursor: pointer;
}

/* Fil d'Ariane : retour à la ligne plutôt que débordement */
.breadcrumb { flex-wrap: wrap; }
.breadcrumb-item { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }

/* Footer */
.fa-footer { background: #000; color: #C9CDD6; padding: 56px 0 24px; }
.fa-footer a { color: #C9CDD6; text-decoration: none; }
.fa-footer a:hover { color: #fff; }
.fa-footer .footer-block__title { color: #fff; font-weight: 600; }
.fa-footer__logo {
  margin: 0 0 12px;
  color: #fff;
  font-family: var(--fa-title);
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
}
.fa-footer__baseline { margin: 0 0 24px; font-size: 14px; line-height: 1.55; }
.fa-footer__copyright {
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid #2A2E36;
  color: #8D93A0;
  font-size: 13px;
  text-align: left;
}

/* Bandeau cookies : même charte que le site */
#tarteaucitronRoot #tarteaucitronAlertBig { background: #12151B !important; color: #fff !important; box-shadow: none !important; }
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert { color: #fff !important; font-family: var(--fa-body) !important; }
#tarteaucitronRoot #tarteaucitronAlertBig button {
  min-height: 44px; border-radius: 5px !important; font-family: var(--fa-body) !important; font-weight: 600 !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronDeny { background: #2F5BEA !important; color: #fff !important; }
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTAButton span,
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTAButton { color: #fff !important; }
#tarteaucitronRoot #tarteaucitronCloseAlert { background: transparent !important; color: #fff !important; border: 1px solid #5A6170 !important; }

/* Desktop étroit : menu, recherche et actions sur une seule ligne */
@media (min-width: 1200px) {
  .header-bottom__row { flex-wrap: nowrap; }
  .fa-header__actions { flex: 0 0 auto; }
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
  #_desktop_ps_searchbar { width: 140px; flex: 0 0 140px; }
  .fa-logo__link { font-size: 26px; }
  .ps-mainmenu__tree-link { padding-left: 6px; padding-right: 6px; font-size: 13px; }
  .fa-header__actions .ps-customersignin .header-block__title { display: none !important; }
}

/* Tablette et en dessous */
@media (max-width: 1199.98px) {
  .ps-mainmenu--desktop { order: -1; }
  .fa-equipements { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  h1, .h1 { font-size: 56px; }
}

@media (max-width: 991.98px) {
  .fa-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-top: 40px; padding-bottom: 40px; }
  .fa-disciplines { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Mobile */
@media (max-width: 767.98px) {
  h1, .h1 { font-size: 44px; }
  h2, .h2, .section-title { font-size: 32px; }
  .fa-topbar__text { display: none; }
  .fa-topbar__inner { justify-content: center; }
  .fa-logo__link { font-size: 24px; }
  .header-bottom__row { min-height: 64px; }
  .fa-section, .fa-home-products { padding: 44px 0; }
  .fa-reassurance__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .fa-reassurance__item { justify-content: flex-start; }
  .fa-discipline { height: 200px; }
  .fa-discipline__name { font-size: 26px; left: 14px; bottom: 12px; }
  .fa-equipements { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .fa-hero__actions .btn { flex: 1 1 100%; justify-content: center; }
  .product-miniature__add-text { font-size: 14px; }
}

/* Logo d'origine (fichier inchangé), fond transparent. Le texte du lien reste pour les lecteurs d'écran via aria-label. */
.fa-logo__link,
.fa-logo__link:hover {
  display: block;
  box-sizing: border-box;
  width: 124px;
  height: 72px;
  padding: 4px 8px;
  overflow: hidden;
  font-size: 0;
  color: transparent;
  background: transparent url("/img/force-atlantis-logo-1628082008.jpg") center / contain no-repeat;
  background-origin: content-box;
  background-clip: border-box;
}
@media (max-width: 767.98px) {
  .fa-logo__link,
  .fa-logo__link:hover { width: 104px; height: 60px; padding: 3px 6px; }
}

/* Lien Contact dans le bandeau */
.fa-topbar__links { display: flex; align-items: center; gap: 20px; }
.fa-topbar__contact { color: #fff; font-weight: 600; text-decoration: none; white-space: nowrap; }
.fa-topbar__contact:hover { color: #fff; text-decoration: underline; }

/* Header sur une ligne en tablette */
@media (min-width: 768px) and (max-width: 991.98px) {
  #_desktop_ps_searchbar { width: 140px; flex: 0 0 140px; }
}

/* Réserve la place du hero avant chargement */
.fa-hero__media img { aspect-ratio: 1024 / 701; }

/* Tablette : loupe seule, le texte d'aide ne tient pas dans 140 px */
@media (min-width: 768px) and (max-width: 991.98px) {
  #_desktop_ps_searchbar input::placeholder { color: transparent; opacity: 0; }
}

/* 05/11 : colonne filtres qui suit le défilement (ordinateur uniquement) */
@media (min-width: 992px) {
  #left-column { position: sticky; top: var(--scroll-padding-top, 138px); align-self: flex-start; max-height: calc(100vh - var(--scroll-padding-top, 138px) - 1.5rem); overflow-y: auto; }
}

/* Le sticky de #left-column exige que html et body ne soient pas des conteneurs de défilement */
@media (min-width: 992px) {
  html:has(#left-column), body:has(#left-column) { overflow: visible; overflow-x: clip; }
}
