/* =====================================================================
   woocommerce.css — Surcharges des styles WooCommerce
   Adapte l'affichage WC aux tokens Bum@shop.
   Complété au fil des phases (Phase 4 en priorité).
   ===================================================================== */

/* --- Corps de page WooCommerce — fond crème --- */
.woocommerce,
.woocommerce-page {
  background-color: var(--buma-cream);
}

/* -----------------------------------------------------------------------
   Boutons WooCommerce → style Bum@shop
   ----------------------------------------------------------------------- */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  font-family:      var(--font-body);
  font-weight:      600;
  background-color: var(--buma-green);
  color:            var(--buma-cream);
  border-radius:    var(--radius-pill);
  border:           none;
  padding:          13px 28px;
  transition:       background-color 150ms ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background-color: var(--buma-green-dark);
  color:            var(--buma-cream);
}

/* Bouton alt (ex. : "Voir le panier") */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background-color: var(--buma-green);
  color:            var(--buma-cream);
}

/* -----------------------------------------------------------------------
   Formulaires WooCommerce → tokens Bum@shop
   ----------------------------------------------------------------------- */

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  border:        1.5px solid #E6DECE;
  border-radius: var(--radius-input);
  padding:       13px 16px;
  font-family:   var(--font-body);
  font-size:     0.9375rem;
  color:         var(--buma-ink);
  background:    #fff;
  transition:    border-color 150ms ease, box-shadow 150ms ease;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--buma-green);
  box-shadow:   0 0 0 3px rgba(30, 70, 54, 0.1);
  outline:      none;
}

/* -----------------------------------------------------------------------
   Prix WooCommerce
   ----------------------------------------------------------------------- */

.woocommerce .price,
.woocommerce-Price-amount {
  font-family: var(--font-body);
  font-weight: 700;
  color:       var(--buma-green);
}

.woocommerce del .woocommerce-Price-amount {
  color:       var(--buma-muted);
  font-weight: 400;
}

/* -----------------------------------------------------------------------
   Étoiles d'avis
   ----------------------------------------------------------------------- */

.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
  color: var(--buma-bronze);
}

/* -----------------------------------------------------------------------
   Messages de notification WooCommerce
   ----------------------------------------------------------------------- */

.woocommerce-message,
.woocommerce-info {
  border-top-color: var(--buma-green);
  background:       var(--buma-cream-warm);
  color:            var(--buma-ink);
}

.woocommerce-error {
  border-top-color: #c0392b;
}

/* -----------------------------------------------------------------------
   Page boutique / archive — breadcrumb
   ----------------------------------------------------------------------- */

.woocommerce .woocommerce-breadcrumb {
  font-family: var(--font-body);
  font-size:   0.85rem;
  color:       var(--buma-muted);
}

.woocommerce .woocommerce-breadcrumb a {
  color: var(--buma-green);
}

/* -----------------------------------------------------------------------
   Widget filtres (sidebar)
   ----------------------------------------------------------------------- */

.woocommerce .widget_layered_nav ul li a,
.woocommerce .widget_price_filter .price_slider_amount .button {
  color:      var(--buma-green);
  font-family: var(--font-body);
}

/* -----------------------------------------------------------------------
   Panier — tableau
   ----------------------------------------------------------------------- */

.woocommerce table.shop_table {
  border-collapse: separate;
  border-spacing:  0;
  border:          1px solid var(--buma-border);
  border-radius:   var(--radius-content);
  overflow:        hidden;
}

.woocommerce table.shop_table thead th {
  background-color: var(--buma-cream-warm);
  font-family:      var(--font-mono);
  font-size:        0.65rem;
  text-transform:   uppercase;
  letter-spacing:   0.08em;
  color:            var(--buma-muted);
  font-weight:      500;
  padding:          14px 16px;
}

.woocommerce table.shop_table td {
  padding:     16px;
  border-top:  1px solid var(--buma-border);
  font-family: var(--font-body);
  font-size:   0.9375rem;
  color:       var(--buma-ink);
  vertical-align: middle;
}

/* -----------------------------------------------------------------------
   Page Compte — onglets
   ----------------------------------------------------------------------- */

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style:  none;
  padding:     0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display:          block;
  padding:          12px 20px;
  border-radius:    var(--radius-pill);
  font-family:      var(--font-body);
  font-weight:      500;
  color:            var(--buma-ink);
  transition:       background-color 150ms ease, color 150ms ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background-color: var(--buma-green);
  color:            var(--buma-cream);
}

/* =====================================================================
   PHASE 4 — ARCHIVE BOUTIQUE
   ===================================================================== */

.buma-archive__hero {
  background-color: var(--buma-green-dark);
  color:            var(--buma-cream);
  padding:          60px 0 44px;
}

.buma-archive__hero--image {
  background-size:     cover;
  background-position: center;
  position:            relative;
}

.buma-archive__hero--image::before {
  content:    '';
  position:   absolute;
  inset:      0;
  background: rgba(22, 53, 40, 0.72);
}

.buma-archive__hero-inner {
  position: relative;
}

.buma-archive__hero .woocommerce-breadcrumb {
  color:     rgba(251, 249, 244, 0.7);
  font-size: 0.8125rem;
  margin:    0 0 14px;
}

.buma-archive__hero .woocommerce-breadcrumb a {
  color: rgba(251, 249, 244, 0.85);
}

.buma-archive__title {
  font-family: var(--font-display);
  font-size:   clamp(2rem, 4vw, 3rem);
  font-style:  italic;
  font-weight: 600;
  color:       var(--buma-cream);
  margin:      0 0 10px;
}

.buma-archive__desc {
  color:      rgba(251, 249, 244, 0.85);
  font-size:  1.0625rem;
  max-width:  560px;
  margin:     0 0 16px;
}

.buma-archive__count {
  color:     var(--buma-gold);
  font-size: 0.8125rem;
  margin:    0;
}

/* Layout sidebar + main */
.buma-archive__layout {
  display:               grid;
  grid-template-columns: 220px 1fr;
  gap:                   40px;
  padding-top:           44px;
  padding-bottom:        60px;
  align-items:           start;
}

/* Sidebar */
.buma-archive__sidebar {
  position: sticky;
  top:      90px;
}

.buma-filter-group {
  margin-bottom: 32px;
}

.buma-filter-group__title {
  font-size:     0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color:         var(--buma-muted);
  margin:        0 0 12px;
  font-weight:   500;
}

.buma-filter-group__list {
  list-style: none;
  padding:    0;
  margin:     0;
}

.buma-filter-group__item {
  margin-bottom: 2px;
}

.buma-filter-group__link {
  display:         flex;
  justify-content: space-between;
  align-items:     center;
  padding:         9px 14px;
  border-radius:   var(--radius-pill);
  font-size:       0.9375rem;
  color:           var(--buma-ink);
  transition:      background-color 130ms ease, color 130ms ease;
  text-decoration: none;
}

.buma-filter-group__link:hover,
.buma-filter-group__item.is-active .buma-filter-group__link {
  background-color: var(--buma-green);
  color:            var(--buma-cream);
}

.buma-filter-group__count {
  font-family: var(--font-mono);
  font-size:   0.6875rem;
  opacity:     0.6;
}

/* Toolbar */
.buma-archive__toolbar {
  display:         flex;
  justify-content: space-between;
  align-items:     center;
  margin-bottom:   24px;
  padding-bottom:  16px;
  border-bottom:   1px solid var(--buma-border);
}

.buma-archive__result-count {
  font-family: var(--font-mono);
  font-size:   0.8125rem;
  color:       var(--buma-muted);
}

.buma-archive__ordering select {
  border:        1.5px solid var(--buma-border);
  border-radius: var(--radius-pill);
  padding:       8px 16px;
  font-family:   var(--font-body);
  font-size:     0.875rem;
  color:         var(--buma-ink);
  background:    #fff;
  cursor:        pointer;
}

/* Grille produits — 3 col dans l'archive */
.woocommerce ul.products,
.buma-archive__main ul.products {
  display:               grid;
  grid-template-columns: repeat(3, 1fr);
  gap:                   24px;
  list-style:            none;
  padding:               0;
  margin:                0;
}

.woocommerce ul.products li.product {
  margin: 0;
}

/* État vide */
.buma-archive__empty {
  text-align:    center;
  padding:       80px 20px;
  display:       flex;
  flex-direction: column;
  align-items:   center;
  gap:           18px;
}

.buma-archive__empty h2 {
  font-family: var(--font-display);
  font-size:   1.75rem;
  font-style:  italic;
}

/* Pagination */
.buma-archive__pagination {
  margin-top: 40px;
  text-align: center;
}

.woocommerce nav.woocommerce-pagination ul {
  list-style:     none;
  display:        flex;
  justify-content: center;
  gap:            8px;
  padding:        0;
  margin:         0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display:       flex;
  align-items:   center;
  justify-content: center;
  width:         40px;
  height:        40px;
  border-radius: 50%;
  border:        1.5px solid var(--buma-border);
  font-family:   var(--font-body);
  font-weight:   500;
  font-size:     0.9375rem;
  color:         var(--buma-ink);
  text-decoration: none;
  transition:    background-color 130ms ease, color 130ms ease, border-color 130ms ease;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background-color: var(--buma-green);
  border-color:     var(--buma-green);
  color:            var(--buma-cream);
}

/* =====================================================================
   PHASE 4 — FICHE PRODUIT SINGLE
   ===================================================================== */

.buma-single-product {
  padding: 0 0 80px;
}

.buma-single-product__layout {
  display:               grid;
  grid-template-columns: 1.1fr 1fr;
  gap:                   48px;
  padding-top:           24px;
  align-items:           start;
}

/* Galerie */
.buma-gallery__main {
  border-radius: var(--radius-card);
  overflow:      hidden;
  background:    var(--buma-cream-warm);
  position:      relative;
}

.buma-gallery__item {
  display: none;
}

.buma-gallery__item.is-active {
  display: block;
}

.buma-gallery__item img {
  width:       100%;
  height:      auto;
  object-fit:  cover;
  aspect-ratio: 1 / 1;
  display:     block;
}

.buma-gallery__thumbs {
  display:   flex;
  gap:       8px;
  margin-top: 12px;
  flex-wrap: wrap;
}

.buma-gallery__thumb {
  width:         80px;
  height:        80px;
  border-radius: 10px;
  overflow:      hidden;
  border:        2px solid var(--buma-border);
  cursor:        pointer;
  padding:       0;
  background:    none;
  transition:    border-color 130ms ease;
}

.buma-gallery__thumb.is-active,
.buma-gallery__thumb:hover {
  border-color: var(--buma-green);
}

.buma-gallery__thumb img {
  width:      100%;
  height:     100%;
  object-fit: cover;
  display:    block;
}

.buma-gallery__placeholder {
  display:         flex;
  align-items:     center;
  justify-content: center;
  aspect-ratio:    1 / 1;
  background:      var(--buma-cream-warm);
  border-radius:   var(--radius-card);
}

/* Infos produit */
.buma-single-product__title {
  font-family: var(--font-display);
  font-size:   clamp(1.75rem, 3vw, 2.5rem);
  font-style:  italic;
  font-weight: 600;
  margin:      12px 0 20px;
  color:       var(--buma-ink);
}

.buma-single-product__price-wrap {
  display:     flex;
  align-items: center;
  gap:         12px;
  margin-bottom: 20px;
}

.buma-single-product__price-sale {
  font-family: var(--font-body);
  font-weight: 700;
  font-size:   1.75rem;
  color:       var(--buma-green);
}

.buma-single-product__price-regular {
  font-size:       1.125rem;
  color:           var(--buma-muted);
  text-decoration: line-through;
}

.buma-single-product__price {
  font-family: var(--font-body);
  font-weight: 700;
  font-size:   1.75rem;
  color:       var(--buma-green);
}

.buma-single-product__short-desc {
  font-size:     1rem;
  line-height:   1.6;
  color:         var(--buma-ink);
  margin-bottom: 24px;
}

/* Rapport d'état du hibou */
.buma-rapport-hibou {
  background:    var(--buma-cream-warm);
  border:        1.5px solid var(--buma-border);
  border-radius: var(--radius-card);
  padding:       20px 22px;
  margin-bottom: 24px;
}

.buma-rapport-hibou__header {
  display:     flex;
  align-items: center;
  gap:         10px;
  margin-bottom: 14px;
}

.buma-rapport-hibou__title {
  font-family: var(--font-display);
  font-size:   1.1875rem;
  font-style:  italic;
  font-weight: 600;
  margin:      0;
  color:       var(--buma-ink);
}

.buma-rapport-hibou__list {
  list-style:    none;
  padding:       0;
  margin:        0;
  display:       flex;
  flex-direction: column;
  gap:           8px;
}

.buma-rapport-hibou__item {
  display:     flex;
  align-items: center;
  gap:         8px;
  font-size:   0.9375rem;
  color:       var(--buma-ink);
}

.buma-rapport-hibou__check {
  flex-shrink: 0;
}

/* Actions add-to-cart */
.buma-single-product__actions {
  margin-bottom: 20px;
}

.buma-add-to-cart-form {
  display:    flex;
  gap:        12px;
  align-items: center;
  flex-wrap:  wrap;
}

.buma-add-to-cart-form .buma-btn {
  flex:      1 1 auto;
  min-width: 180px;
}

/* Meta SKU / catégories */
.buma-single-product__meta {
  font-size:  0.875rem;
  color:      var(--buma-muted);
  margin-top: 16px;
}

.buma-single-product__meta .sku_wrapper,
.buma-single-product__meta .posted_in {
  display:      block;
  margin-bottom: 4px;
}

/* Description complète */
.buma-single-product__description {
  padding:       48px 0;
  border-top:    1.5px solid var(--buma-border);
  margin-top:    48px;
}

.buma-single-product__description h2 {
  margin-bottom: 16px;
}

/* Produits similaires */
.buma-single-product__related {
  padding-top: 48px;
  border-top:  1.5px solid var(--buma-border);
}

.buma-single-product__related h2 {
  font-family:   var(--font-display);
  font-size:     1.75rem;
  font-style:    italic;
  font-weight:   600;
  margin-bottom: 24px;
}

.buma-product-grid--4col {
  display:               grid;
  grid-template-columns: repeat(4, 1fr);
  gap:                   20px;
}

/* =====================================================================
   FICHE PRODUIT — éléments maquette (eyebrow, note, 3×, badges, favori,
   réassurance, fil d'Ariane, accordéons « Tout savoir »)
   ===================================================================== */

/* Fil d'Ariane */
.buma-breadcrumb {
  font-size:     0.8rem;
  color:         var(--buma-muted);
  padding:       18px 0 4px;
}
.buma-breadcrumb a { color: var(--buma-muted); text-decoration: none; }
.buma-breadcrumb a:hover { color: var(--buma-green); }
.buma-breadcrumb__sep { margin: 0 8px; color: #C9C0AC; }

/* Badges superposés sur l'image */
.buma-gallery__badges {
  position:       absolute;
  left:           18px;
  top:            18px;
  display:        flex;
  flex-direction: column;
  align-items:    flex-start;
  gap:            8px;
  z-index:        2;
}
.buma-gallery__badges .buma-badge { font-size: 0.7rem; padding: 6px 12px; }

/* Bouton favori (cœur) — couleur du cœur découplée du style bouton Kadence */
.buma-fav {
  display:          inline-flex;
  align-items:      center;
  justify-content:  center;
  border:           1.5px solid var(--buma-border);
  background-color: #fff;
  cursor:           pointer;
  -webkit-appearance: none;
  appearance:       none;
  box-shadow:       none;
  transition:       background-color 140ms ease, border-color 140ms ease;
}
/* Le cœur est toujours vert (or si actif), peu importe l'état du bouton */
.buma-fav svg { stroke: var(--buma-green); fill: none; transition: stroke 140ms ease, fill 140ms ease; }
.buma-fav:hover,
.buma-fav:focus,
.buma-fav:focus-visible {
  background-color: var(--buma-cream-warm);
  border-color:     var(--buma-green);
  box-shadow:       none;
  outline:          none;
}
.buma-fav:hover svg,
.buma-fav:focus svg { stroke: var(--buma-green); }

.buma-fav.is-active {
  background-color: var(--buma-green);
  border-color:     var(--buma-green);
}
.buma-fav.is-active svg { stroke: var(--buma-gold); fill: var(--buma-gold); }

.buma-fav--gallery {
  position:      absolute;
  right:         18px;
  top:           18px;
  width:         42px;
  height:        42px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.92);
  border:        none;
  z-index:       2;
}
.buma-fav--gallery:hover,
.buma-fav--gallery:focus { background-color: #fff; }
.buma-fav--inline {
  width:         56px;
  border-radius: var(--radius-input);
  flex:          0 0 auto;
}

/* Eyebrow mono */
.buma-single-product__eyebrow {
  font-family:    var(--font-mono);
  font-size:      0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color:          #8A7F68;
  margin-bottom:  10px;
}

/* Réécriture du titre (suit l'eyebrow) */
.buma-single-product__title { margin: 0 0 12px; }

/* Note / étoiles */
.buma-single-product__rating {
  display:       flex;
  align-items:   center;
  gap:           8px;
  font-size:     0.82rem;
  color:         var(--buma-muted);
  margin-bottom: 16px;
}
.buma-stars { color: var(--buma-bronze); letter-spacing: 2px; }

.buma-single-product__short-desc { margin: 0 0 22px; color: var(--buma-muted); }

/* Paiement en 3× */
.buma-pay3x {
  display:       flex;
  align-items:   center;
  gap:           10px;
  background:    var(--buma-cream-warm);
  border:        1px solid var(--buma-border);
  border-radius: 12px;
  padding:       11px 14px;
  margin-bottom: 22px;
}
.buma-pay3x__tag {
  font-family: var(--font-mono);
  font-weight: 500;
  font-size:   0.82rem;
  color:       var(--buma-green);
}
.buma-pay3x__text { font-size: 0.82rem; color: var(--buma-muted); }
.buma-pay3x__text strong { color: var(--buma-green); }
.buma-pay3x__text .amount { font-weight: 700; }

/* Détail du rapport hibou (label gras + texte) */
.buma-rapport-hibou__item { align-items: flex-start; line-height: 1.45; }
.buma-rapport-hibou__item strong { color: var(--buma-green); }

/* Barre d'achat : bouton plein + favori */
.buma-add-to-cart-form .single_add_to_cart_button { flex: 1 1 auto; }

/* Réassurance */
.buma-single-product__trust {
  display:       flex;
  align-items:   center;
  justify-content: center;
  gap:           8px;
  font-size:     0.8rem;
  color:         var(--buma-muted);
  margin-top:    14px;
}

/* « Tout savoir sur la pièce » */
.buma-product-details {
  max-width:  760px;
  margin:     56px auto 0;
}
.buma-product-details__heading {
  font-family: var(--font-display);
  font-style:  italic;
  font-weight: 600;
  font-size:   clamp(1.6rem, 3vw, 1.9rem);
  color:       var(--buma-green);
  text-align:  center;
  margin:      0 0 18px;
}

/* Accordéon variante produit : épuré, séparateurs simples */
.buma-accordion--product {
  border:        none;
  border-radius: 0;
}
.buma-accordion--product .buma-accordion__item {
  border-top: none;
  border-bottom: 1px solid var(--buma-border);
}
.buma-accordion--product .buma-accordion__item + .buma-accordion__item { border-top: none; }
.buma-accordion--product .buma-accordion__trigger {
  background:  transparent;
  padding:     18px 4px;
  font-family: var(--font-display);
  font-style:  italic;
  font-weight: 600;
  font-size:   1.3rem;
  color:       var(--buma-green);
}
.buma-accordion--product .buma-accordion__trigger[aria-expanded="true"] {
  background: transparent;
  color:      var(--buma-green);
}
.buma-accordion--product .buma-accordion__icon { color: var(--buma-muted); }
.buma-accordion--product .buma-accordion__content.is-open { max-height: 1200px; }
.buma-accordion--product .buma-accordion__body {
  padding:   0 4px 20px;
  font-size: 0.92rem;
  color:     var(--buma-muted);
}
.buma-accordion--product .buma-accordion__body p { margin: 0 0 10px; }
.buma-accordion--product .buma-accordion__body table { width: 100%; border-collapse: collapse; }
.buma-accordion--product .buma-accordion__body th,
.buma-accordion--product .buma-accordion__body td {
  text-align: left;
  padding:    6px 0;
  border-bottom: 1px solid var(--buma-border);
  font-size:  0.88rem;
}

/* =====================================================================
   PHASE 4 — PANIER
   ===================================================================== */

.buma-cart-page {
  padding: 48px 0 80px;
}

.buma-cart-page__title {
  font-family:   var(--font-display);
  font-size:     clamp(2rem, 4vw, 3rem);
  font-style:    italic;
  font-weight:   600;
  margin-bottom: 36px;
}

.buma-cart-page__empty {
  text-align:    center;
  padding:       80px 20px;
  display:       flex;
  flex-direction: column;
  align-items:   center;
  gap:           18px;
}

.buma-cart-page__empty-text {
  font-size: 1.125rem;
  color:     var(--buma-muted);
}

/* Layout panier 2 col */
.buma-cart-page__layout {
  display:               grid;
  grid-template-columns: 1fr 360px;
  gap:                   40px;
  align-items:           start;
}

/* Liste articles */
.buma-cart-items__header {
  display:               grid;
  grid-template-columns: 3fr 1fr 1fr 1fr;
  gap:                   12px;
  padding:               12px 16px;
  background:            var(--buma-cream-warm);
  border-radius:         var(--radius-card) var(--radius-card) 0 0;
  font-size:             0.6875rem;
  text-transform:        uppercase;
  letter-spacing:        0.08em;
  color:                 var(--buma-muted);
}

.buma-cart-item {
  display:       grid;
  grid-template-columns: 3fr 1fr 1fr 1fr 32px;
  gap:           12px;
  align-items:   center;
  padding:       18px 16px;
  border:        1px solid var(--buma-border);
  border-top:    none;
  background:    #fff;
}

.buma-cart-item:last-of-type {
  border-radius: 0 0 var(--radius-card) var(--radius-card);
}

.buma-cart-item__product {
  display:     flex;
  gap:         14px;
  align-items: center;
}

.buma-cart-item__img-link img {
  width:         96px;
  height:        96px;
  object-fit:    cover;
  border-radius: 10px;
  display:       block;
}

.buma-cart-item__details {
  display:       flex;
  flex-direction: column;
  gap:           4px;
}

.buma-cart-item__name {
  font-weight:     600;
  color:           var(--buma-ink);
  text-decoration: none;
  font-size:       0.9375rem;
}

.buma-cart-item__sku {
  font-size: 0.75rem;
  color:     var(--buma-muted);
}

.buma-cart-item__price,
.buma-cart-item__total {
  font-family: var(--font-body);
  font-weight: 600;
  font-size:   0.9375rem;
  color:       var(--buma-green);
}

.buma-cart-item__remove-btn {
  display:         flex;
  align-items:     center;
  justify-content: center;
  color:           var(--buma-muted);
  transition:      color 130ms ease;
}

.buma-cart-item__remove-btn:hover {
  color: #c0392b;
}

/* Actions (coupon + update) */
.buma-cart-page__cart-actions {
  display:         flex;
  justify-content: space-between;
  align-items:     center;
  padding-top:     20px;
  gap:             12px;
}

.buma-cart-page__coupon {
  display:     flex;
  gap:         10px;
  align-items: center;
}

.buma-cart-page__coupon .buma-input {
  width: 200px;
}

/* Récapitulatif panier */
.buma-cart-page__summary {
  position: sticky;
  top:      90px;
}

.buma-cart-totals {
  background:    var(--buma-green);
  border-radius: 20px;
  padding:       28px 24px;
  color:         var(--buma-cream);
}

.buma-cart-totals__title {
  font-family:   var(--font-display);
  font-size:     1.375rem;
  font-style:    italic;
  font-weight:   600;
  color:         var(--buma-cream);
  margin:        0 0 20px;
}

.buma-cart-totals__table {
  width:           100%;
  border-collapse: collapse;
}

.buma-cart-totals__row th,
.buma-cart-totals__row td {
  padding:   9px 0;
  font-size: 0.9375rem;
  color:     rgba(251, 249, 244, 0.9);
}

.buma-cart-totals__row th {
  text-align: left;
  font-weight: 500;
}

.buma-cart-totals__row td {
  text-align:  right;
  font-weight: 600;
}

.buma-cart-totals__row--total th,
.buma-cart-totals__row--total td {
  font-size:     1.125rem;
  font-weight:   700;
  color:         var(--buma-cream);
  border-top:    1px solid rgba(255, 255, 255, 0.2);
  padding-top:   14px;
  margin-top:    8px;
}

.buma-cart-totals__remove-coupon {
  color:       rgba(251, 249, 244, 0.6);
  margin-left: 6px;
  font-size:   1.1rem;
  text-decoration: none;
}

.buma-cart-page__checkout {
  margin-top: 14px;
}

.buma-btn--full {
  width:      100%;
  text-align: center;
}

/* =====================================================================
   PHASE 4 — CHECKOUT
   ===================================================================== */

.buma-checkout-page {
  padding: 48px 0 80px;
}

.buma-checkout-page__title {
  font-family:   var(--font-display);
  font-size:     clamp(2rem, 4vw, 3rem);
  font-style:    italic;
  font-weight:   600;
  margin-bottom: 28px;
}

.buma-checkout-page__guest-banner {
  background:    var(--buma-cream-warm);
  border:        1.5px solid var(--buma-border);
  border-radius: var(--radius-card);
  padding:       20px 24px;
  margin-bottom: 32px;
  display:       flex;
  align-items:   center;
  justify-content: space-between;
  gap:           20px;
}

.buma-checkout-page__guest-inner {
  display:     flex;
  align-items: center;
  gap:         12px;
}

.buma-checkout-page__guest-text {
  font-size: 0.9375rem;
  color:     var(--buma-ink);
  margin:    0;
}

.buma-checkout-page__login-link {
  font-size:   0.875rem;
  color:       var(--buma-muted);
  margin:      0;
  white-space: nowrap;
}

.buma-checkout-page__login-link a {
  color:       var(--buma-green);
  font-weight: 600;
}

/* Layout checkout 2 col */
.buma-checkout-page__layout {
  display:               grid;
  grid-template-columns: 1fr 400px;
  gap:                   44px;
  align-items:           start;
}

.buma-checkout-page__section {
  margin-bottom: 32px;
}

.buma-checkout-page__section-title {
  font-size:     0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color:         var(--buma-muted);
  font-weight:   500;
  margin:        0 0 20px;
}

.buma-checkout-page__fields-grid .form-row {
  margin-bottom: 14px;
}

.buma-checkout-page__fields-grid .form-row-first,
.buma-checkout-page__fields-grid .form-row-last {
  display:        inline-block;
  width:          calc(50% - 7px);
  vertical-align: top;
}

.buma-checkout-page__ship-to-diff {
  display:       flex;
  align-items:   center;
  gap:           8px;
  margin-bottom: 16px;
  font-size:     0.9375rem;
  cursor:        pointer;
}

/* Colonne droite — récapitulatif commande */
.buma-checkout-page__order-wrap {
  background:    var(--buma-cream-warm);
  border:        1.5px solid var(--buma-border);
  border-radius: var(--radius-card);
  padding:       24px;
  position:      sticky;
  top:           90px;
}

/* =====================================================================
   PHASE 4 — CONFIRMATION
   ===================================================================== */

.buma-thankyou-page {
  padding: 60px 0 80px;
}

.buma-thankyou-page__hero {
  text-align:    center;
  padding:       40px 20px;
  max-width:     560px;
  margin:        0 auto 48px;
}

.buma-thankyou-page__owl-wrap {
  position:       relative;
  display:        inline-block;
  margin-bottom:  24px;
}

.buma-thankyou-page__checkmark {
  position:   absolute;
  bottom:     -4px;
  right:      -4px;
  background: #fff;
  border-radius: 50%;
  display:    flex;
  align-items: center;
  justify-content: center;
  width:      30px;
  height:     30px;
}

.buma-thankyou-page__title {
  font-family: var(--font-display);
  font-size:   clamp(2rem, 4vw, 3rem);
  font-style:  italic;
  font-weight: 600;
  color:       var(--buma-green);
  margin:      0 0 12px;
}

.buma-thankyou-page__subtitle {
  font-size:     1.0625rem;
  color:         var(--buma-ink);
  margin-bottom: 8px;
}

.buma-thankyou-page__order-num {
  color:         var(--buma-bronze);
  font-size:     1rem;
  margin-bottom: 8px;
}

.buma-thankyou-page__email {
  font-size:     0.9375rem;
  color:         var(--buma-muted);
  margin-bottom: 28px;
}

.buma-thankyou-page__actions {
  display:   flex;
  gap:       12px;
  justify-content: center;
  flex-wrap: wrap;
}

.buma-thankyou-page__details {
  max-width: 680px;
  margin:    0 auto;
}

.buma-thankyou-page__overview {
  display:               grid;
  grid-template-columns: repeat(4, 1fr);
  gap:                   1px;
  background:            var(--buma-border);
  border:                1px solid var(--buma-border);
  border-radius:         var(--radius-card);
  overflow:              hidden;
  margin-bottom:         36px;
}

.buma-thankyou-page__overview-item {
  background:    #fff;
  padding:       18px 16px;
  display:       flex;
  flex-direction: column;
  gap:           4px;
}

.buma-thankyou-page__overview-label {
  font-size:   0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color:       var(--buma-muted);
}

.buma-thankyou-page__items {
  display:       flex;
  flex-direction: column;
  gap:           12px;
  margin-bottom: 32px;
}

.buma-thankyou-page__item {
  display:     flex;
  align-items: center;
  gap:         14px;
  padding:     14px;
  background:  #fff;
  border:      1px solid var(--buma-border);
  border-radius: 12px;
}

.buma-thankyou-page__item img {
  border-radius: 8px;
  object-fit:   cover;
  flex-shrink:  0;
}

.buma-thankyou-page__item-info {
  flex:          1;
  display:       flex;
  flex-direction: column;
  gap:           2px;
}

.buma-thankyou-page__item-name {
  font-weight: 600;
  font-size:   0.9375rem;
}

.buma-thankyou-page__item-total {
  font-weight: 700;
  color:       var(--buma-green);
}

.buma-thankyou-page__address {
  margin-top: 28px;
}

.buma-thankyou-page__address address {
  font-style:  normal;
  font-size:   0.9375rem;
  color:       var(--buma-ink);
  line-height: 1.6;
}

.buma-thankyou-page__address h2 {
  margin-bottom: 8px;
}

/* =====================================================================
   PHASE 4 — CONNEXION / INSCRIPTION
   ===================================================================== */

.buma-login-page {
  padding: 60px 0 80px;
}

.buma-login-page__layout {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  gap:                   40px;
  align-items:           start;
}

.buma-login-page__panel {
  background:    #fff;
  border:        1.5px solid var(--buma-border);
  border-radius: var(--radius-card);
  padding:       32px 28px;
}

.buma-login-page__panel--register {
  background: var(--buma-cream-warm);
}

.buma-login-page__panel-head {
  display:       flex;
  align-items:   center;
  gap:           14px;
  margin-bottom: 24px;
}

.buma-login-page__panel-title {
  font-family: var(--font-display);
  font-size:   1.5rem;
  font-style:  italic;
  font-weight: 600;
  margin:      0;
}

.buma-login-page__panel-sub {
  font-size:   0.9375rem;
  color:       var(--buma-muted);
  margin:      4px 0 0;
}

.buma-form-field {
  margin-bottom: 16px;
}

.buma-label {
  display:       block;
  font-size:     0.875rem;
  font-weight:   500;
  color:         var(--buma-ink);
  margin-bottom: 6px;
}

.buma-form-field--actions {
  display:         flex;
  justify-content: space-between;
  align-items:     center;
}

.buma-login-page__auto-pwd {
  font-size: 0.875rem;
  color:     var(--buma-muted);
  margin:    0 0 16px;
}

/* =====================================================================
   PHASE 4 — ESPACE COMPTE
   ===================================================================== */

.buma-account-page {
  padding: 48px 0 80px;
}

.buma-account-page__layout {
  display:               grid;
  grid-template-columns: 240px 1fr;
  gap:                   40px;
  align-items:           start;
}

.buma-account-page__nav {
  background:    #fff;
  border:        1.5px solid var(--buma-border);
  border-radius: var(--radius-card);
  padding:       24px 16px;
  position:      sticky;
  top:           90px;
}

.buma-account-page__nav-user {
  display:     flex;
  align-items: center;
  gap:         12px;
  padding:     0 8px 18px;
  border-bottom: 1px solid var(--buma-border);
  margin-bottom: 14px;
}

.buma-account-page__nav-name {
  font-weight: 600;
  font-size:   0.9375rem;
  margin:      0;
}

.buma-account-page__nav-email {
  font-size: 0.75rem;
  color:     var(--buma-muted);
  margin:    0;
}

.buma-account-page__nav-list {
  list-style: none;
  padding:    0;
  margin:     0;
}

.buma-account-page__nav-item {
  margin-bottom: 2px;
}

.buma-account-page__nav-link {
  display:         block;
  padding:         10px 14px;
  border-radius:   var(--radius-pill);
  font-size:       0.9375rem;
  color:           var(--buma-ink);
  text-decoration: none;
  transition:      background-color 130ms ease, color 130ms ease;
}

.buma-account-page__nav-link:hover,
.buma-account-page__nav-link.is-active {
  background-color: var(--buma-green);
  color:            var(--buma-cream);
}

/* Dashboard */
.buma-account-dashboard__title {
  font-family: var(--font-display);
  font-size:   clamp(1.75rem, 3vw, 2.5rem);
  font-style:  italic;
  font-weight: 600;
  margin-bottom: 8px;
}

.buma-account-dashboard__intro {
  color:         var(--buma-muted);
  margin-bottom: 36px;
}

.buma-account-dashboard__section {
  margin-bottom: 36px;
}

.buma-account-dashboard__section h2 {
  font-size:     0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color:         var(--buma-muted);
  margin-bottom: 16px;
}

.buma-account-dashboard__orders {
  display:       flex;
  flex-direction: column;
  gap:           8px;
  margin-bottom: 14px;
}

.buma-account-dashboard__order {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             12px;
  padding:         14px 18px;
  background:      #fff;
  border:          1px solid var(--buma-border);
  border-radius:   12px;
}

.buma-account-dashboard__order p {
  margin: 0;
}

.buma-account-dashboard__order-date {
  font-size: 0.8125rem;
  color:     var(--buma-muted);
}

.buma-account-dashboard__order-total {
  font-weight: 700;
  color:       var(--buma-green);
}

.buma-account-dashboard__links {
  display:   flex;
  gap:       20px;
  font-size: 0.8125rem;
}

.buma-account-dashboard__links a {
  color: var(--buma-green);
}

/* Order details */
.buma-order-details__overview {
  display:               grid;
  grid-template-columns: repeat(4, 1fr);
  gap:                   1px;
  background:            var(--buma-border);
  border:                1px solid var(--buma-border);
  border-radius:         var(--radius-card);
  overflow:              hidden;
  margin-bottom:         32px;
}

.buma-order-details__overview > div {
  background:    var(--buma-cream-warm);
  padding:       16px;
  display:       flex;
  flex-direction: column;
  gap:           4px;
}

.buma-order-details__items {
  display:       flex;
  flex-direction: column;
  gap:           10px;
  margin-bottom: 28px;
}

.buma-order-details__item {
  display:     flex;
  align-items: center;
  gap:         14px;
  padding:     12px;
  background:  #fff;
  border:      1px solid var(--buma-border);
  border-radius: 12px;
}

.buma-order-details__item img {
  border-radius: 8px;
  object-fit:   cover;
  flex-shrink:  0;
}

.buma-order-details__item-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 0.9375rem;
}

.buma-order-details__item-total {
  font-weight: 700;
  color:       var(--buma-green);
}

.buma-order-details__totals {
  width:           100%;
  border-collapse: collapse;
  margin-bottom:   28px;
}

.buma-order-details__totals th,
.buma-order-details__totals td {
  padding:     10px 0;
  font-size:   0.9375rem;
  border-top:  1px solid var(--buma-border);
}

.buma-order-details__totals th {
  text-align: left;
  color:      var(--buma-muted);
  font-weight: 400;
}

.buma-order-details__totals td {
  text-align:  right;
  font-weight: 600;
  color:       var(--buma-ink);
}

.buma-order-details__addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.buma-order-details__addresses h2 {
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--buma-muted);
  margin-bottom: 8px;
}

.buma-order-details__addresses address {
  font-style:  normal;
  font-size:   0.9375rem;
  color:       var(--buma-ink);
  line-height: 1.6;
}

/* =====================================================================
   PHASE 4 — BREAKPOINTS MOBILE
   ===================================================================== */

@media (max-width: 1024px) {
  .buma-archive__layout {
    grid-template-columns: 180px 1fr;
    gap:                   28px;
  }
  .woocommerce ul.products,
  .buma-archive__main ul.products {
    grid-template-columns: repeat(2, 1fr);
  }
  .buma-product-grid--4col {
    grid-template-columns: repeat(2, 1fr);
  }
  .buma-cart-page__layout {
    grid-template-columns: 1fr 300px;
  }
  .buma-single-product__layout {
    gap: 36px;
  }
  .buma-checkout-page__layout {
    grid-template-columns: 1fr 340px;
  }
  .buma-thankyou-page__overview {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .buma-archive__layout {
    grid-template-columns: 1fr;
  }
  .buma-archive__sidebar {
    position: static;
    display:  grid;
    grid-template-columns: 1fr 1fr;
    gap:      20px;
  }
  .woocommerce ul.products,
  .buma-archive__main ul.products {
    grid-template-columns: repeat(2, 1fr);
    gap:                   16px;
  }
  .buma-single-product__layout {
    grid-template-columns: 1fr;
  }
  .buma-cart-page__layout {
    grid-template-columns: 1fr;
  }
  .buma-cart-totals {
    position: static;
  }
  .buma-cart-items__header {
    display: none;
  }
  .buma-cart-item {
    grid-template-columns: 1fr 1fr;
    grid-template-rows:    auto auto auto;
  }
  .buma-cart-item [data-label]::before {
    content:       attr(data-label) ' : ';
    font-family:   var(--font-mono);
    font-size:     0.6875rem;
    text-transform: uppercase;
    color:         var(--buma-muted);
    display:       block;
    margin-bottom: 2px;
  }
  .buma-checkout-page__layout {
    grid-template-columns: 1fr;
  }
  .buma-checkout-page__order-wrap {
    position: static;
  }
  .buma-login-page__layout {
    grid-template-columns: 1fr;
  }
  .buma-account-page__layout {
    grid-template-columns: 1fr;
  }
  .buma-account-page__nav {
    position: static;
  }
  .buma-thankyou-page__overview {
    grid-template-columns: 1fr 1fr;
  }
  .buma-order-details__overview {
    grid-template-columns: 1fr 1fr;
  }
  .buma-order-details__addresses {
    grid-template-columns: 1fr;
  }
  .buma-checkout-page__guest-banner {
    flex-direction: column;
    align-items:    flex-start;
  }
  .buma-product-grid--4col {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .woocommerce ul.products,
  .buma-archive__main ul.products {
    grid-template-columns: 1fr;
  }
  .buma-product-grid--4col {
    grid-template-columns: 1fr;
  }
  .buma-thankyou-page__overview {
    grid-template-columns: 1fr;
  }
  .buma-archive__sidebar {
    grid-template-columns: 1fr;
  }
}
