/* FH9 - CSS Ajustements | generated.css */

/* Ne pas modifier directement : utiliser le BO du module. */

/* ===== FIGHOUSE / FH9 global tokens ===== */
:root {
  --fh9ca-gold: #c8942c;
  --fh9ca-gold-soft: rgba(200, 148, 44, 0.28);
  --fh9ca-bg: #07080d;
  --fh9ca-bg-soft: rgba(11, 13, 21, 0.92);
  --fh9ca-border: rgba(200, 148, 44, 0.26);
  --fh9ca-text: #efe7d6;
  --fh9ca-text-soft: rgba(239, 231, 214, 0.7);
  --fh9ca-panel-shadow: 0 18px 40px rgba(0, 0, 0, 0.38);
  --fh9ca-radius: 22px;
}



/* ===== Habillage FH9 du content wrapper / pages éditoriales ===== */
#content-wrapper.wrapper__content,
#content-wrapper.wrapper__content.wrapper__content-full-width {
  position: relative;
  padding: clamp(1.15rem, 2vw, 1.9rem);
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(200, 148, 44, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(20, 16, 9, 0.9) 0%, rgba(7, 8, 13, 0.96) 16%, rgba(7, 8, 13, 0.98) 100%);
  border: 1px solid var(--fh9ca-border);
  box-shadow: var(--fh9ca-panel-shadow);
  color: var(--fh9ca-text);
}

#content-wrapper.wrapper__content::before,
#content-wrapper.wrapper__content.wrapper__content-full-width::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  border-radius: 24px 24px 0 0;
  background: linear-gradient(90deg, rgba(200, 148, 44, 0.9), rgba(200, 148, 44, 0.18) 42%, rgba(200, 148, 44, 0));
  pointer-events: none;
}

#content-wrapper.wrapper__content > *,
#content-wrapper.wrapper__content.wrapper__content-full-width > * {
  position: relative;
  z-index: 1;
}

#content-wrapper.wrapper__content .page-header,
#content-wrapper.wrapper__content.wrapper__content-full-width .page-header {
  margin-bottom: 1.3rem;
  padding-bottom: .95rem;
  border-bottom: 1px solid rgba(200, 148, 44, 0.16);
}

#content-wrapper.wrapper__content .page-header .h4,
#content-wrapper.wrapper__content.wrapper__content-full-width .page-header .h4,
#content-wrapper.wrapper__content h1,
#content-wrapper.wrapper__content.wrapper__content-full-width h1,
#content-wrapper.wrapper__content h2,
#content-wrapper.wrapper__content.wrapper__content-full-width h2,
#content-wrapper.wrapper__content h3,
#content-wrapper.wrapper__content.wrapper__content-full-width h3 {
  color: var(--fh9ca-gold);
}

#content-wrapper.wrapper__content .page-header .h4,
#content-wrapper.wrapper__content.wrapper__content-full-width .page-header .h4 {
  margin: 0;
  font-size: clamp(1.2rem, 1.8vw, 1.6rem);
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

#content-wrapper.wrapper__content .page-content,
#content-wrapper.wrapper__content.wrapper__content-full-width .page-content {
  color: var(--fh9ca-text);
}

#content-wrapper.wrapper__content .page-content > :first-child,
#content-wrapper.wrapper__content.wrapper__content-full-width .page-content > :first-child {
  margin-top: 0;
}

#content-wrapper.wrapper__content .page-content h2,
#content-wrapper.wrapper__content.wrapper__content-full-width .page-content h2 {
  margin-top: 0;
  margin-bottom: .9rem;
  font-size: clamp(1.1rem, 1.6vw, 1.45rem);
  letter-spacing: .04em;
  text-transform: uppercase;
}

#content-wrapper.wrapper__content .page-content h3,
#content-wrapper.wrapper__content.wrapper__content-full-width .page-content h3 {
  margin-top: 1.45rem;
  margin-bottom: .75rem;
  font-size: 1rem;
  font-weight: 700;
}

#content-wrapper.wrapper__content .page-content p,
#content-wrapper.wrapper__content.wrapper__content-full-width .page-content p,
#content-wrapper.wrapper__content .page-content li,
#content-wrapper.wrapper__content.wrapper__content-full-width .page-content li {
  color: var(--fh9ca-text);
  line-height: 1.75;
}

#content-wrapper.wrapper__content .page-content p + p,
#content-wrapper.wrapper__content.wrapper__content-full-width .page-content p + p {
  margin-top: .95rem;
}

#content-wrapper.wrapper__content .page-content a,
#content-wrapper.wrapper__content.wrapper__content-full-width .page-content a {
  color: #f2b41b;
  text-decoration-thickness: 1px;
  text-underline-offset: .16em;
}

#content-wrapper.wrapper__content .page-content a:hover,
#content-wrapper.wrapper__content.wrapper__content-full-width .page-content a:hover {
  color: #ffd36a;
}

#content-wrapper.wrapper__content .page-footer,
#content-wrapper.wrapper__content.wrapper__content-full-width .page-footer {
  margin-top: 1.4rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(200, 148, 44, 0.12);
}

@media (max-width: 767.98px) {
  #content-wrapper.wrapper__content,
  #content-wrapper.wrapper__content.wrapper__content-full-width {
    padding: 1rem;
    border-radius: 20px;
  }

  #content-wrapper.wrapper__content::before,
  #content-wrapper.wrapper__content.wrapper__content-full-width::before {
    border-radius: 20px 20px 0 0;
  }
}

/* ===== Socle global des cartes FH9 réutilisées ===== */
#fh9-product-details,
.fh9pd,
.fh9-product-details,
.fh9-reassurance-card,
.fh9-faq-card,
.fh9-why-choose,
.fh9-dark-card,
.fh9-premium-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--fh9ca-radius);
  background:
    linear-gradient(180deg, rgba(20, 16, 9, 0.9) 0%, rgba(7, 8, 13, 0.96) 16%, rgba(7, 8, 13, 0.98) 100%);
  border: 1px solid var(--fh9ca-border);
  box-shadow: var(--fh9ca-panel-shadow);
}

#fh9-product-details::before,
.fh9pd::before,
.fh9-product-details::before,
.fh9-reassurance-card::before,
.fh9-faq-card::before,
.fh9-why-choose::before,
.fh9-dark-card::before,
.fh9-premium-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: linear-gradient(90deg, rgba(200, 148, 44, 0.8), rgba(200, 148, 44, 0.08) 45%, rgba(200, 148, 44, 0));
  pointer-events: none;
}

#fh9-product-details,
.fh9pd,
.fh9-product-details,
.fh9-reassurance-card,
.fh9-faq-card,
.fh9-why-choose,
.fh9-dark-card,
.fh9-premium-card,
#fh9-product-details p,
.fh9pd p,
.fh9-product-details p,
.fh9-reassurance-card p,
.fh9-faq-card p,
.fh9-why-choose p,
.fh9-dark-card p,
.fh9-premium-card p {
  color: var(--fh9ca-text);
}

#fh9-product-details [class*='__title'],
.fh9pd [class*='__title'],
.fh9-product-details [class*='__title'],
.fh9-reassurance-card .title,
.fh9-faq-card .title,
.fh9-why-choose .title,
.fh9-dark-card .title,
.fh9-premium-card .title {
  color: var(--fh9ca-gold);
  letter-spacing: .06em;
  text-transform: uppercase;
}

#fh9-product-details hr,
.fh9pd hr,
.fh9-product-details hr,
.fh9-reassurance-card hr,
.fh9-faq-card hr,
.fh9-why-choose hr,
.fh9-dark-card hr,
.fh9-premium-card hr {
  border-color: rgba(200, 148, 44, 0.14);
}

#fh9-product-details a,
.fh9pd a,
.fh9-product-details a,
.fh9-reassurance-card a,
.fh9-faq-card a,
.fh9-why-choose a,
.fh9-dark-card a,
.fh9-premium-card a {
  color: #f2b41b;
  transition: color .18s ease, opacity .18s ease;
}

#fh9-product-details a:hover,
.fh9pd a:hover,
.fh9-product-details a:hover,
.fh9-reassurance-card a:hover,
.fh9-faq-card a:hover,
.fh9-why-choose a:hover,
.fh9-dark-card a:hover,
.fh9-premium-card a:hover {
  color: #ffd36a;
}

#fh9-product-details .faq-item,
.fh9pd .faq-item,
.fh9-product-details .faq-item,
.fh9-reassurance-card .faq-item,
.fh9-faq-card .faq-item,
.fh9-why-choose .faq-item,
.fh9-dark-card .faq-item,
.fh9-premium-card .faq-item {
  background: rgba(8, 10, 16, 0.82);
  border: 1px solid rgba(200, 148, 44, 0.22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
}

#fh9-product-details .fh9pd__status,
.fh9pd .fh9pd__status,
.fh9-product-details .fh9pd__status,
.fh9-dark-card .fh9pd__status,
.fh9-premium-card .fh9pd__status {
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(17, 20, 29, 0.94), rgba(8, 10, 16, 0.94));
  box-shadow: inset 0 0 0 1px rgba(200, 148, 44, 0.42), 0 8px 20px rgba(0, 0, 0, 0.22);
}

#fh9-product-details .fh9pd__row,
.fh9pd .fh9pd__row,
.fh9-product-details .fh9pd__row,
.fh9-dark-card .fh9pd__row,
.fh9-premium-card .fh9pd__row {
  padding: 12px 0;
  border-bottom: 1px solid rgba(200, 148, 44, 0.14);
}

#fh9-product-details .fh9pd__row:last-child,
.fh9pd .fh9pd__row:last-child,
.fh9-product-details .fh9pd__row:last-child,
.fh9-dark-card .fh9pd__row:last-child,
.fh9-premium-card .fh9pd__row:last-child {
  border-bottom: 0;
}

#fh9-product-details .fh9pd__k,
.fh9pd .fh9pd__k,
.fh9-product-details .fh9pd__k,
.fh9-dark-card .fh9pd__k,
.fh9-premium-card .fh9pd__k {
  color: var(--fh9ca-text-soft);
  letter-spacing: .05em;
}

#fh9-product-details .fh9pd__v,
.fh9pd .fh9pd__v,
.fh9-product-details .fh9pd__v,
.fh9-dark-card .fh9pd__v,
.fh9-premium-card .fh9pd__v {
  font-weight: 600;
}

#fh9-product-details .fh9pd__link,
.fh9pd .fh9pd__link,
.fh9-product-details .fh9pd__link,
.fh9-dark-card .fh9pd__link,
.fh9-premium-card .fh9pd__link {
  text-decoration-thickness: 1px;
  text-underline-offset: .16em;
}

.fh9-reassurance-card,
.fh9-faq-card,
.fh9-why-choose,
.fh9-dark-card.fh9-reassurance-card,
.fh9-premium-card.fh9-reassurance-card {
  margin-top: 28px;
}

/* ===== Mon compte / menu latéral FH9 ===== */
.account-menu {
  position: relative;
  padding: 1.15rem 1rem;
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(200, 148, 44, 0.1), transparent 34%),
    linear-gradient(180deg, rgba(20, 16, 9, 0.92) 0%, rgba(7, 8, 13, 0.97) 18%, rgba(7, 8, 13, 0.99) 100%);
  border: 1px solid rgba(200, 148, 44, 0.22);
  box-shadow: var(--fh9ca-panel-shadow);
}

.account-menu::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  border-radius: 22px 22px 0 0;
  background: linear-gradient(90deg, rgba(200, 148, 44, 0.85), rgba(200, 148, 44, 0.18) 42%, rgba(200, 148, 44, 0));
  pointer-events: none;
}

.account-menu__title,
.account-menu .account-menu__title {
  margin: 0 0 1rem;
  color: var(--fh9ca-gold);
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.account-menu__line,
.account-menu a.col-md-6,
.account-menu a.col-lg-4,
.account-menu a.col-sm-6,
.account-menu a.col-xs-12,
.account-menu #wishlist-link,
.account-menu #psgdpr-link {
  display: block;
  width: 100%;
  margin: 0;
  padding: .78rem .9rem;
  border-radius: 14px;
  color: var(--fh9ca-text);
  text-decoration: none;
  border: 1px solid transparent;
  background: rgba(255, 255, 255, 0.015);
  transition: background .18s ease, border-color .18s ease, transform .18s ease, color .18s ease, box-shadow .18s ease;
}

.account-menu__line + .account-menu__line,
.account-menu__line + a,
.account-menu a + .account-menu__line,
.account-menu a + a {
  margin-top: .45rem;
}

.account-menu .link-item {
  display: flex;
  align-items: center;
  gap: .75rem;
  color: inherit;
  line-height: 1.35;
}

.account-menu .material-icons {
  flex: 0 0 auto;
  color: var(--fh9ca-gold);
  opacity: .96;
}

.account-menu__line:hover,
.account-menu a.col-md-6:hover,
.account-menu a.col-lg-4:hover,
.account-menu a.col-sm-6:hover,
.account-menu a.col-xs-12:hover,
.account-menu #wishlist-link:hover,
.account-menu #psgdpr-link:hover {
  color: #fff6e7;
  border-color: rgba(200, 148, 44, 0.28);
  background: rgba(200, 148, 44, 0.08);
  box-shadow: inset 0 0 0 1px rgba(200, 148, 44, 0.08);
  transform: translateY(-1px);
}

.account-menu__line.active,
.account-menu__line[aria-current='page'],
.account-menu a.active,
.account-menu #wishlist-link.active,
.account-menu #psgdpr-link.active {
  color: #fff7e8;
  border-color: rgba(200, 148, 44, 0.42);
  background: linear-gradient(180deg, rgba(200, 148, 44, 0.16), rgba(200, 148, 44, 0.07));
  box-shadow: inset 0 0 0 1px rgba(200, 148, 44, 0.16), 0 10px 24px rgba(0, 0, 0, 0.16);
}

.account-menu--signout,
.account-menu__line.account-menu--signout {
  margin-top: .8rem;
  border-top: 1px solid rgba(200, 148, 44, 0.14);
  padding-top: 1rem;
  border-radius: 0 0 14px 14px;
}

/* ===== Mon compte / cartes adresses FH9 ===== */
.addresses .address__wrapper {
  display: flex;
}

.addresses .address.card,
.addresses article.address.card {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid rgba(200, 148, 44, 0.22);
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(200, 148, 44, 0.1), transparent 34%),
    linear-gradient(180deg, rgba(20, 16, 9, 0.92) 0%, rgba(7, 8, 13, 0.97) 18%, rgba(7, 8, 13, 0.99) 100%);
  box-shadow: var(--fh9ca-panel-shadow);
}

.addresses .address.card::before,
.addresses article.address.card::before {
  content: '';
  display: block;
  height: 2px;
  background: linear-gradient(90deg, rgba(200, 148, 44, 0.85), rgba(200, 148, 44, 0.18) 42%, rgba(200, 148, 44, 0));
}

.addresses .address.card .card-body,
.addresses article.address.card .card-body {
  flex: 1 1 auto;
  padding: 1.1rem 1.15rem 1rem;
}

.addresses .address__alias,
.addresses .address.card .card-title {
  margin: 0 0 .9rem;
  color: var(--fh9ca-gold);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.addresses .address__content,
.addresses .address address {
  margin: 0;
  color: var(--fh9ca-text);
  font-style: normal;
  line-height: 1.7;
  word-break: break-word;
}

.addresses .address__actions.card-footer,
.addresses .address .card-footer {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: center;
  padding: .9rem 1.15rem 1.05rem;
  border-top: 1px solid rgba(200, 148, 44, 0.14);
  background: rgba(255, 255, 255, 0.02);
}

.addresses .address__actions a,
.addresses .address .card-footer a {
  color: #f2b41b;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: .02em;
}

.addresses .address__actions a:hover,
.addresses .address .card-footer a:hover {
  color: #ffd36a;
}

.addresses__new-address {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 100%;
  padding: 1.15rem 1.2rem;
  border-radius: 22px;
  border: 1px dashed rgba(200, 148, 44, 0.32);
  background: linear-gradient(180deg, rgba(20, 16, 9, 0.78), rgba(7, 8, 13, 0.94));
  color: var(--fh9ca-text);
  text-decoration: none;
  box-shadow: var(--fh9ca-panel-shadow);
  transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.addresses__new-address:hover {
  color: #fff7e8;
  border-color: rgba(200, 148, 44, 0.5);
  background: linear-gradient(180deg, rgba(33, 26, 14, 0.88), rgba(7, 8, 13, 0.98));
  transform: translateY(-1px);
}

.new-address__text {
  color: inherit;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.new-address__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  background: rgba(200, 148, 44, 0.12);
  color: var(--fh9ca-gold);
}

/* ===== Espacement structurel FH9 avant footer ===== */
#main,
main#main {
  margin-bottom: clamp(2.2rem, 4vw, 3.75rem);
}

#main #content-wrapper,
main#main #content-wrapper,
#main .account,
main#main .account,
#main .addresses,
#main .orders,
main#main .orders {
  margin-bottom: clamp(1.6rem, 3vw, 2.4rem);
}

#footer,
.footer-container,
main#main + footer,
#main + footer {
  margin-top: clamp(1.2rem, 2.5vw, 2rem);
}

/* ===== Mon compte / historique de commandes mobile FH9 ===== */
.orders.d-block.d-xl-none {
  gap: 1rem;
}

.orders.d-block.d-xl-none .order {
  margin-bottom: 1rem;
  padding: 1rem 1rem 1.05rem;
  border: 1px solid rgba(200, 148, 44, 0.22);
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(200, 148, 44, 0.1), transparent 34%),
    linear-gradient(180deg, rgba(20, 16, 9, 0.92) 0%, rgba(7, 8, 13, 0.97) 18%, rgba(7, 8, 13, 0.99) 100%);
  box-shadow: var(--fh9ca-panel-shadow);
  color: var(--fh9ca-text);
}

.orders.d-block.d-xl-none .order::before {
  content: '';
  display: block;
  height: 2px;
  margin: -1rem -1rem 1rem;
  border-radius: 22px 22px 0 0;
  background: linear-gradient(90deg, rgba(200, 148, 44, 0.85), rgba(200, 148, 44, 0.18) 42%, rgba(200, 148, 44, 0));
}

.orders.d-block.d-xl-none .order > div + div {
  margin-top: .8rem;
  padding-top: .8rem;
  border-top: 1px solid rgba(200, 148, 44, 0.12);
}

.orders.d-block.d-xl-none .order__label {
  margin: 0 0 .22rem;
  color: var(--fh9ca-text-soft);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.orders.d-block.d-xl-none .order__value,
.orders.d-block.d-xl-none .order__value a,
.orders.d-block.d-xl-none .order__payment .order__value,
.orders.d-block.d-xl-none .order__total .order__value,
.orders.d-block.d-xl-none .order__date .order__value {
  margin: 0;
  color: var(--fh9ca-text);
  font-weight: 600;
  line-height: 1.45;
}

.orders.d-block.d-xl-none .order__reference .order__value a,
.orders.d-block.d-xl-none .order__actions a,
.orders.d-block.d-xl-none .order__invoice a {
  color: #f2b41b;
  text-decoration: none;
}

.orders.d-block.d-xl-none .order__reference .order__value a:hover,
.orders.d-block.d-xl-none .order__actions a:hover,
.orders.d-block.d-xl-none .order__invoice a:hover {
  color: #ffd36a;
}

.orders.d-block.d-xl-none .order__status .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: .35rem .8rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 8px 20px rgba(0, 0, 0, 0.22);
  color: #fff7e8;
  font-weight: 700;
  letter-spacing: .02em;
}

.orders.d-block.d-xl-none .order__invoice .material-icons {
  color: #f2b41b;
  vertical-align: middle;
}

.orders.d-block.d-xl-none .order__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}

.orders.d-block.d-xl-none .order__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.2rem;
  padding: .5rem .85rem;
  border-radius: 12px;
  border: 1px solid rgba(200, 148, 44, 0.2);
  background: rgba(200, 148, 44, 0.06);
  font-weight: 700;
}

.orders.d-block.d-xl-none .order__actions a:hover {
  border-color: rgba(200, 148, 44, 0.34);
  background: rgba(200, 148, 44, 0.1);
}

/* ===== Mon compte / historiques et états de commande desktop/tablette FH9 ===== */
.table-wrapper {
  position: relative;
  margin-bottom: 1.5rem;
  padding: 1rem;
  border: 1px solid rgba(200, 148, 44, 0.22);
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(200, 148, 44, 0.1), transparent 34%),
    linear-gradient(180deg, rgba(20, 16, 9, 0.92) 0%, rgba(7, 8, 13, 0.97) 18%, rgba(7, 8, 13, 0.99) 100%);
  box-shadow: var(--fh9ca-panel-shadow);
  color: var(--fh9ca-text);
}

.table-wrapper::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  border-radius: 22px 22px 0 0;
  background: linear-gradient(90deg, rgba(200, 148, 44, 0.85), rgba(200, 148, 44, 0.18) 42%, rgba(200, 148, 44, 0));
  pointer-events: none;
}

.table-wrapper > .table {
  margin-bottom: 0;
  color: var(--fh9ca-text);
  --bs-table-color: var(--fh9ca-text);
  --bs-table-bg: transparent;
  --bs-table-border-color: rgba(200, 148, 44, 0.14);
  --bs-table-striped-color: var(--fh9ca-text);
  --bs-table-striped-bg: rgba(255, 255, 255, 0.02);
  --bs-table-hover-color: var(--fh9ca-text);
  --bs-table-hover-bg: rgba(200, 148, 44, 0.05);
}

.table-wrapper > .table thead.thead-default,
.table-wrapper > .table thead,
.table-wrapper > .table thead tr,
.table-wrapper > .table thead th {
  background: rgba(200, 148, 44, 0.08) !important;
  color: var(--fh9ca-gold) !important;
}

.table-wrapper > .table thead th {
  padding: .9rem .85rem;
  border-bottom: 1px solid rgba(200, 148, 44, 0.18);
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.table-wrapper > .table tbody tr {
  background: transparent;
}

.table-wrapper > .table tbody tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.015);
}

.table-wrapper > .table tbody tr:hover {
  background: rgba(200, 148, 44, 0.05);
}

.table-wrapper > .table tbody th,
.table-wrapper > .table tbody td {
  padding: .9rem .85rem;
  border-color: rgba(200, 148, 44, 0.12);
  color: var(--fh9ca-text);
  vertical-align: middle;
}

.table-wrapper > .table tbody th[scope="row"] {
  color: #fff7e8;
  font-weight: 800;
}

.table-wrapper > .table a {
  color: #f2b41b;
  text-decoration: none;
  font-weight: 700;
}

.table-wrapper > .table a:hover {
  color: #ffd36a;
}

.table-wrapper > .table .material-icons {
  color: #f2b41b;
  vertical-align: middle;
}

.table-wrapper > .table .order__actions {
  white-space: nowrap;
}

.table-wrapper > .table .order__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.15rem;
  margin: .15rem .25rem .15rem 0;
  padding: .42rem .72rem;
  border-radius: 12px;
  border: 1px solid rgba(200, 148, 44, 0.2);
  background: rgba(200, 148, 44, 0.06);
}

.table-wrapper > .table .order__actions a:hover {
  border-color: rgba(200, 148, 44, 0.34);
  background: rgba(200, 148, 44, 0.1);
}

.table-wrapper > .table .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: .35rem .8rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 8px 20px rgba(0, 0, 0, 0.22);
  color: #fff7e8;
  font-weight: 700;
  letter-spacing: .02em;
  white-space: normal;
  text-align: center;
}

.table-wrapper.overflow-auto {
  overflow: auto;
}

@media (max-width: 1199.98px) {
  .table-wrapper {
    padding: .8rem;
  }

  .table-wrapper > .table thead th,
  .table-wrapper > .table tbody th,
  .table-wrapper > .table tbody td {
    padding: .75rem .7rem;
  }
}

/* ===== Mon compte / formulaire identité FH9 ===== */
#content-wrapper .page-content.page-customer,
.page-content.page-customer {
  color: var(--fh9ca-text);
}

.page-content.page-customer #customer-form,
#customer-form.form-validation.js-customer-form {
  position: relative;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid rgba(200, 148, 44, 0.22);
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(200, 148, 44, 0.08), transparent 34%),
    linear-gradient(180deg, rgba(20, 16, 9, 0.78) 0%, rgba(7, 8, 13, 0.92) 18%, rgba(7, 8, 13, 0.96) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}

.page-content.page-customer #customer-form::before,
#customer-form.form-validation.js-customer-form::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  border-radius: 22px 22px 0 0;
  background: linear-gradient(90deg, rgba(200, 148, 44, 0.85), rgba(200, 148, 44, 0.18) 42%, rgba(200, 148, 44, 0));
  pointer-events: none;
}

.page-content.page-customer .mb-3 {
  margin-bottom: 1rem !important;
}

.page-content.page-customer .form-label,
.page-content.page-customer .form-check-label,
.page-content.page-customer .order__label {
  color: var(--fh9ca-text);
  font-weight: 700;
}

.page-content.page-customer .form-label.required::after {
  color: #f2b41b;
}

.page-content.page-customer .form-text,
.page-content.page-customer .field-password-policy .form-text,
.page-content.page-customer .password-strength-text,
.page-content.page-customer .password-requirements,
.page-content.page-customer .password-requirements span,
.page-content.page-customer .form-check-label em {
  color: var(--fh9ca-text-soft) !important;
}

.page-content.page-customer .form-control {
  color: #fff7e8;
  background: rgba(255,255,255,.04);
  border-color: rgba(200, 148, 44, 0.24);
}

.page-content.page-customer .form-control::placeholder {
  color: rgba(239, 231, 214, 0.42);
}

.page-content.page-customer .form-control:focus,
.page-content.page-customer .form-check-input:focus {
  color: #fff7e8;
  background: rgba(255,255,255,.06);
  border-color: rgba(200, 148, 44, 0.44);
  box-shadow: 0 0 0 .2rem rgba(200, 148, 44, 0.14);
}

.page-content.page-customer .form-check-input {
  background-color: rgba(255,255,255,.05);
  border-color: rgba(200, 148, 44, 0.26);
}

.page-content.page-customer .form-check-input:checked {
  background-color: #c8942c;
  border-color: #c8942c;
}

.page-content.page-customer .input-group.password-field .btn,
.page-content.page-customer .input-group .btn {
  border-color: rgba(200, 148, 44, 0.26);
}

.page-content.page-customer .password-strength-feedback {
  margin-top: .85rem;
  padding: .9rem 1rem;
  border-radius: 16px;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(200, 148, 44, 0.14);
}

.page-content.page-customer .progress {
  background: rgba(255,255,255,.06);
}

.page-content.page-customer .password-requirements .material-icons {
  color: #f2b41b;
}

.page-content.page-customer .form-footer {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(200, 148, 44, 0.14);
}

.page-content.page-customer .form-footer .btn,
.page-content.page-customer .form-footer .form-control-submit {
  width: auto;
  min-width: 12rem;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ===== Espacement structurel FH9 avant footer (renforcé) ===== */
#main,
main#main {
  margin-bottom: clamp(2rem, 4vw, 3.25rem);
  padding-bottom: clamp(1rem, 2vw, 1.75rem);
}

#main > .container,
main#main > .container,
#main .container,
main#main .container {
  padding-bottom: clamp(.75rem, 1.5vw, 1.25rem);
}

#footer,
footer#footer,
.footer-container,
.page-footer {
  margin-top: clamp(1.25rem, 3vw, 2.25rem);
}

@media (max-width: 991.98px) {
  .addresses .address.card,
  .addresses article.address.card,
  .addresses__new-address {
    border-radius: 20px;
  }
}

@media (max-width: 575.98px) {
  .orders.d-block.d-xl-none .order {
    padding: .95rem .9rem 1rem;
  }

  .orders.d-block.d-xl-none .order::before {
    margin: -.95rem -.9rem .9rem;
  }
}

\n\n/* ===== Listing produits FH9 / catégories + nouveautés ===== */
body#category .products.row,
body.page-category .products.row,
body#new-products .products.row,
body.page-new-products .products.row,
body.page-product-listing .products.row {
  --fh9ca-grid-gap: clamp(0.7rem, 1.2vw, 1.2rem);
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--fh9ca-grid-gap) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body#category .products.row > .product-miniature,
body.page-category .products.row > .product-miniature,
body#new-products .products.row > .product-miniature,
body.page-new-products .products.row > .product-miniature,
body.page-product-listing .products.row > .product-miniature {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-bottom: 0 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
}

body#category .product-miniature,
body.page-category .product-miniature,
body#new-products .product-miniature,
body.page-new-products .product-miniature,
body.page-product-listing .product-miniature {
  min-width: 0;
}

body#category .product-miniature .card,
body.page-category .product-miniature .card,
body#new-products .product-miniature .card,
body.page-new-products .product-miniature .card,
body.page-product-listing .product-miniature .card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(200, 148, 44, 0.42);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(17, 19, 28, 0.98) 0%, rgba(11, 13, 21, 0.98) 100%);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28), inset 0 0 0 1px rgba(255, 255, 255, 0.04);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body#category .product-miniature:hover .card,
body.page-category .product-miniature:hover .card,
body#new-products .product-miniature:hover .card,
body.page-new-products .product-miniature:hover .card,
body.page-product-listing .product-miniature:hover .card {
  transform: translateY(-2px);
  border-color: rgba(200, 148, 44, 0.62);
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.36), 0 0 0 1px rgba(200, 148, 44, 0.22);
}

body#category .product-miniature__image-container,
body.page-category .product-miniature__image-container,
body#new-products .product-miniature__image-container,
body.page-new-products .product-miniature__image-container,
body.page-product-listing .product-miniature__image-container {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 18px 18px 0 0;
  background: radial-gradient(circle at center, rgba(255, 255, 255, 0.04), rgba(0, 0, 0, 0.18));
}

body#category .product-miniature__image,
body.page-category .product-miniature__image,
body#new-products .product-miniature__image,
body.page-new-products .product-miniature__image,
body.page-product-listing .product-miniature__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: clamp(0.08rem, 0.3vw, 0.25rem);
}

body#category .product-miniature__infos,
body.page-category .product-miniature__infos,
body#new-products .product-miniature__infos,
body.page-new-products .product-miniature__infos,
body.page-product-listing .product-miniature__infos {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 0.8rem 0.8rem 0.95rem;
}

body#category .product-miniature__quickview,
body.page-category .product-miniature__quickview,
body#new-products .product-miniature__quickview,
body.page-new-products .product-miniature__quickview,
body.page-product-listing .product-miniature__quickview {
  margin: -1.55rem 0 0.65rem;
  padding: 0 0.45rem;
  position: relative;
  z-index: 3;
}

body#category .product-miniature__quickview_button,
body.page-category .product-miniature__quickview_button,
body#new-products .product-miniature__quickview_button,
body.page-new-products .product-miniature__quickview_button,
body.page-product-listing .product-miniature__quickview_button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  width: 100%;
  min-height: 30px;
  height: clamp(30px, 11vw, 36px);
  max-height: 15%;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  background: rgba(7, 8, 13, 0.88);
  border: 1px solid rgba(200, 148, 44, 0.28);
  color: var(--fh9ca-text);
  font-size: 0.78rem;
  line-height: 1.1;
  text-decoration: none;
}

body#category .product-miniature__infos__top,
body.page-category .product-miniature__infos__top,
body#new-products .product-miniature__infos__top,
body.page-new-products .product-miniature__infos__top,
body.page-product-listing .product-miniature__infos__top {
  margin-top: 0;
}

body#category .product-miniature__title,
body.page-category .product-miniature__title,
body#new-products .product-miniature__title,
body.page-new-products .product-miniature__title,
body.page-product-listing .product-miniature__title {
  min-height: 3.1em;
  margin-bottom: 0.6rem;
}

body#category .product-miniature__infos__bottom,
body.page-category .product-miniature__infos__bottom,
body#new-products .product-miniature__infos__bottom,
body.page-new-products .product-miniature__infos__bottom,
body.page-product-listing .product-miniature__infos__bottom {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: flex-end;
}

body#category .products-selection,
body.page-category .products-selection,
body#new-products .products-selection,
body.page-new-products .products-selection,
body.page-product-listing .products-selection {
  gap: 0.9rem;
}

@media (max-width: 575.98px) {
  body#category .products-selection,
  body.page-category .products-selection,
  body#new-products .products-selection,
  body.page-new-products .products-selection,
  body.page-product-listing .products-selection {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }

  body#category .products-selection .sort-by-row,
  body.page-category .products-selection .sort-by-row,
  body#new-products .products-selection .sort-by-row,
  body.page-new-products .products-selection .sort-by-row,
  body.page-product-listing .products-selection .sort-by-row {
    width: 100%;
  }
}

@media (min-width: 420px) {
  body#category .products.row,
  body.page-category .products.row,
  body#new-products .products.row,
  body.page-new-products .products.row,
  body.page-product-listing .products.row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 768px) {
  body#category .products.row,
  body.page-category .products.row,
  body#new-products .products.row,
  body.page-new-products .products.row,
  body.page-product-listing .products.row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1100px) {
  body#category .products.row,
  body.page-category .products.row,
  body#new-products .products.row,
  body.page-new-products .products.row,
  body.page-product-listing .products.row {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1500px) {
  body#category .products.row,
  body.page-category .products.row,
  body#new-products .products.row,
  body.page-new-products .products.row,
  body.page-product-listing .products.row {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

/* ===== FH9 v1.0.21 – Product grid + quickview override fix ===== */
body#category .products.row,
body.page-category .products.row,
body#new-products .products.row,
body.page-new-products .products.row,
body.page-product-listing .products.row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: clamp(0.8rem, 1.25vw, 1.15rem) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  --bs-gutter-x: 0 !important;
  --bs-gutter-y: 0 !important;
}

@media (min-width: 420px) and (max-width: 899.98px) {
  body#category .products.row,
  body.page-category .products.row,
  body#new-products .products.row,
  body.page-new-products .products.row,
  body.page-product-listing .products.row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 900px) and (max-width: 1379.98px) {
  body#category .products.row,
  body.page-category .products.row,
  body#new-products .products.row,
  body.page-new-products .products.row,
  body.page-product-listing .products.row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1380px) {
  body#category .products.row,
  body.page-category .products.row,
  body#new-products .products.row,
  body.page-new-products .products.row,
  body.page-product-listing .products.row {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* Neutralize Bootstrap/flex column sizing that can recreate 5 cards */
body#category .products.row > *,
body.page-category .products.row > *,
body#new-products .products.row > *,
body.page-new-products .products.row > *,
body.page-product-listing .products.row > * {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  flex: 0 0 auto !important;
}

body#category .products.row > .product-miniature,
body.page-category .products.row > .product-miniature,
body#new-products .products.row > .product-miniature,
body.page-new-products .products.row > .product-miniature,
body.page-product-listing .products.row > .product-miniature {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
}

body#category .product-miniature,
body.page-category .product-miniature,
body#new-products .product-miniature,
body.page-new-products .product-miniature,
body.page-product-listing .product-miniature {
  display: flex !important;
  min-width: 0 !important;
  height: 100% !important;
}

body#category .product-miniature .card,
body.page-category .product-miniature .card,
body#new-products .product-miniature .card,
body.page-new-products .product-miniature .card,
body.page-product-listing .product-miniature .card {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
}

/* Quickview: kill bar overlay everywhere */
body#category .product-miniature__quickview,
body.page-category .product-miniature__quickview,
body#new-products .product-miniature__quickview,
body.page-new-products .product-miniature__quickview,
body.page-product-listing .product-miniature__quickview {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Quickview touch: convert previous centered pill to round floating icon */
body#category .product-miniature__image-container,
body.page-category .product-miniature__image-container,
body#new-products .product-miniature__image-container,
body.page-new-products .product-miniature__image-container,
body.page-product-listing .product-miniature__image-container {
  position: relative !important;
  overflow: hidden !important;
}

body#category .product-miniature__quickview_touch,
body.page-category .product-miniature__quickview_touch,
body#new-products .product-miniature__quickview_touch,
body.page-new-products .product-miniature__quickview_touch,
body.page-product-listing .product-miniature__quickview_touch {
  position: absolute !important;
  right: 0.7rem !important;
  bottom: 0.7rem !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2.35rem !important;
  min-width: 2.35rem !important;
  max-width: 2.35rem !important;
  height: 2.35rem !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(200, 148, 44, 0.44) !important;
  background: rgba(7, 8, 13, 0.88) !important;
  color: var(--fh9ca-text) !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.32) !important;
  backdrop-filter: blur(4px);
  z-index: 6 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

body#category .product-miniature__quickview_touch::before,
body.page-category .product-miniature__quickview_touch::before,
body#new-products .product-miniature__quickview_touch::before,
body.page-new-products .product-miniature__quickview_touch::before,
body.page-product-listing .product-miniature__quickview_touch::before {
  content: '' !important;
  display: none !important;
}

body#category .product-miniature__quickview_touch .material-icons,
body.page-category .product-miniature__quickview_touch .material-icons,
body#new-products .product-miniature__quickview_touch .material-icons,
body.page-new-products .product-miniature__quickview_touch .material-icons,
body.page-product-listing .product-miniature__quickview_touch .material-icons,
body#category .product-miniature__quickview_touch i,
body.page-category .product-miniature__quickview_touch i,
body#new-products .product-miniature__quickview_touch i,
body.page-new-products .product-miniature__quickview_touch i,
body.page-product-listing .product-miniature__quickview_touch i {
  font-size: 1.1rem !important;
  line-height: 1 !important;
  margin: 0 !important;
}

/* Desktop only: show on hover */
@media (hover: hover) and (pointer: fine) {
  body#category .product-miniature__quickview_touch,
  body.page-category .product-miniature__quickview_touch,
  body#new-products .product-miniature__quickview_touch,
  body.page-new-products .product-miniature__quickview_touch,
  body.page-product-listing .product-miniature__quickview_touch {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(6px) !important;
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease !important;
  }

  body#category .product-miniature:hover .product-miniature__quickview_touch,
  body.page-category .product-miniature:hover .product-miniature__quickview_touch,
  body#new-products .product-miniature:hover .product-miniature__quickview_touch,
  body.page-new-products .product-miniature:hover .product-miniature__quickview_touch,
  body.page-product-listing .product-miniature:hover .product-miniature__quickview_touch,
  body#category .product-miniature__image-container:hover .product-miniature__quickview_touch,
  body.page-category .product-miniature__image-container:hover .product-miniature__quickview_touch,
  body#new-products .product-miniature__image-container:hover .product-miniature__quickview_touch,
  body.page-new-products .product-miniature__image-container:hover .product-miniature__quickview_touch,
  body.page-product-listing .product-miniature__image-container:hover .product-miniature__quickview_touch {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
}

/* Touch devices: always visible */
@media (hover: none), (pointer: coarse) {
  body#category .product-miniature__quickview_touch,
  body.page-category .product-miniature__quickview_touch,
  body#new-products .product-miniature__quickview_touch,
  body.page-new-products .product-miniature__quickview_touch,
  body.page-product-listing .product-miniature__quickview_touch {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }
}

body#category .product-miniature__infos,
body.page-category .product-miniature__infos,
body#new-products .product-miniature__infos,
body.page-new-products .product-miniature__infos,
body.page-product-listing .product-miniature__infos {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}

body#category .product-miniature__infos__bottom,
body.page-category .product-miniature__infos__bottom,
body#new-products .product-miniature__infos__bottom,
body.page-new-products .product-miniature__infos__bottom,
body.page-product-listing .product-miniature__infos__bottom {
  margin-top: auto !important;
}


/* Scope: body#product, body.page-product */
body#product, body.page-product { }
/* ===== FH9 - CSS Ajustements | Fiche produit ===== */
.product-prices,
.product-price,
.current-price {
  margin-bottom: .35rem;
}

.current-price .price,
.product-price .price {
  font-size: clamp(2rem, 2.8vw, 2.6rem);
  line-height: 1;
  font-weight: 800;
  letter-spacing: -.02em;
}

.product-price .tax-shipping-delivery-label,
.current-price .tax-shipping-delivery-label,
.product-prices .tax-shipping-delivery-label {
  color: var(--fh9ca-text-soft);
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.product-description-short,
.product-description {
  max-width: 60ch;
}

.product-description-short p,
.product-description p {
  line-height: 1.55;
}

.product-add-to-cart .input-group,
.product-actions .input-group {
  align-items: stretch;
}

.product-add-to-cart .input-group-btn-vertical .btn,
.product-add-to-cart .bootstrap-touchspin .btn,
.product-actions .bootstrap-touchspin .btn,
.product-actions .input-group-btn-vertical .btn {
  min-width: 2.5rem;
}

.product-add-to-cart .btn-primary,
.product-actions .btn-primary,
.add-to-cart,
button.add-to-cart {
  border: none;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.product-add-to-cart .btn-primary:hover,
.product-actions .btn-primary:hover,
.add-to-cart:hover,
button.add-to-cart:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
  filter: brightness(1.03);
}

@media (max-width: 767.98px) {
  .current-price .price,
  .product-price .price {
    font-size: 2rem;
  }

  .product-description-short,
  .product-description {
    max-width: none;
  }
}
