/* Bel'épices : habillage du panier et de la commande (boutique.belepices.fr, thème Twenty Twenty-Four).
   Chargé par le mu-plugin belepices-parcours.php, uniquement sur le panier, la commande et le compte.
   Reprend la charte « La Maison » de la vitrine (src/styles/global.css). */

@font-face { font-family: 'League Spartan'; font-weight: 600; font-display: swap; src: url('polices/league-spartan-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'League Spartan'; font-weight: 700; font-display: swap; src: url('polices/league-spartan-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-weight: 400; font-display: swap; src: url('polices/montserrat-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-weight: 500; font-display: swap; src: url('polices/montserrat-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-weight: 600; font-display: swap; src: url('polices/montserrat-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-weight: 700; font-display: swap; src: url('polices/montserrat-latin-700-normal.woff2') format('woff2'); }

body.bp-boutique {
  --cacao: #382318;
  --vert: #295224;
  --vert-survol: #1f4119;
  --vanille: #fdba01;
  --piment: #b9202d;
  --creme: #eae6dd;
  --creme-clair: #f3f0e9;
  --texte-2: #4a3427;
  --texte-3: #6b5a4e;
  --filet: rgba(56, 35, 24, 0.16);
  --titre: 'League Spartan', system-ui, sans-serif;
  --texte: 'Montserrat', system-ui, sans-serif;

  /* Palette et polices du thème, remplacées par celles de la marque. */
  --wp--preset--color--base: var(--creme);
  --wp--preset--color--base-2: var(--creme-clair);
  --wp--preset--color--contrast: var(--cacao);
  --wp--preset--color--contrast-2: var(--texte-2);
  --wp--preset--color--contrast-3: var(--texte-3);
  --wp--preset--color--accent: var(--vert);
  --wp--preset--font-family--body: var(--texte);
  --wp--preset--font-family--heading: var(--titre);

  background: var(--creme);
  color: var(--cacao);
  font-family: var(--texte);
}

.bp-boutique h1, .bp-boutique h2, .bp-boutique h3,
.bp-boutique .wp-block-post-title,
.bp-boutique .wc-block-components-title {
  font-family: var(--titre);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--cacao);
}
.bp-boutique h1, .bp-boutique .wp-block-post-title { font-size: clamp(30px, 2vw + 20px, 44px); line-height: 1.05; }

.bp-boutique a { color: var(--vert); }
.bp-boutique a:hover { color: var(--cacao); }

/* Boutons : vert, en pilule, comme sur la vitrine. */
.bp-boutique .wp-element-button,
.bp-boutique .wc-block-components-button:not(.is-link),
.bp-boutique .wc-block-cart__submit-button,
.bp-boutique .wc-block-components-checkout-place-order-button {
  min-height: 52px;
  border: 0;
  border-radius: 999px;
  background: var(--vert);
  color: var(--creme);
  font: 700 15px/1 var(--texte);
  text-decoration: none;
}
.bp-boutique .wp-element-button:hover,
.bp-boutique .wc-block-components-button:not(.is-link):hover,
.bp-boutique .wc-block-cart__submit-button:hover,
.bp-boutique .wc-block-components-checkout-place-order-button:hover {
  background: var(--vert-survol);
  color: var(--creme);
}

/* Champs */
.bp-boutique .wc-block-components-text-input input,
.bp-boutique .wc-block-components-combobox .components-form-token-field__input,
.bp-boutique .wc-blocks-components-select select,
.bp-boutique .wc-block-components-textarea,
.bp-boutique .wc-block-components-select-input select {
  border-color: rgba(56, 35, 24, 0.28);
  border-radius: 8px;
  background: #fff;
  color: var(--cacao);
}
.bp-boutique input:focus,
.bp-boutique select:focus,
.bp-boutique textarea:focus { outline: 2px solid var(--vanille); outline-offset: 1px; }

/* Choix de livraison et de paiement sélectionnés */
.bp-boutique .wc-block-components-radio-control__option-checked,
.bp-boutique .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.bp-boutique .wc-block-checkout__shipping-method-option--selected {
  box-shadow: inset 0 0 0 2px var(--vert);
}
.bp-boutique .wc-block-components-radio-control__input:checked { border-color: var(--vert); }
.bp-boutique .wc-block-components-radio-control__input:checked::before { background: var(--vert); }
.bp-boutique .wc-block-components-checkbox__input:checked { background: var(--vert); border-color: var(--vert); }

/* Récapitulatif de la commande : carte crème clair. Le « Total panier » reprend exactement
   sa mise en forme (filet, marges de 16 px, titre en 22 px sans capitales). */
.bp-boutique .wp-block-woocommerce-checkout-order-summary-block,
.bp-boutique .wp-block-woocommerce-cart-totals-block {
  border: 1px solid var(--filet);
  border-radius: 12px;
  background: var(--creme-clair);
}
.bp-boutique .wp-block-woocommerce-cart-totals-block { padding: 0 16px 16px; }
.bp-boutique .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-wrapper,
.bp-boutique .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-item {
  padding-left: 0;
  padding-right: 0;
}
.bp-boutique .wc-block-cart__totals-title {
  padding: 20px 0 8px;
  font-size: var(--wp--preset--font-size--medium, 22px);
  font-weight: 500;
  line-height: 1.4;
  text-transform: none;
}
.bp-boutique .wc-block-components-totals-wrapper { border-color: var(--filet); }
.bp-boutique .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.bp-boutique .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-family: var(--titre);
  font-size: 20px;
}

/* Paiements express et séparateur « ou » */
.bp-boutique .wc-block-components-express-payment__event-buttons { gap: 10px; }
.bp-boutique .wc-block-components-express-payment__event-buttons > li { margin: 0; }
.bp-boutique .wc-block-components-express-payment-continue-rule { color: var(--texte-3); }

/* Bouton « Valider la commande » : pleine largeur, même hauteur que les boutons express. */
.bp-boutique .wc-block-cart__submit-button {
  width: 100%;
  min-height: 48px;
}
.bp-boutique .wc-block-components-product-badge { border-color: var(--vert); color: var(--vert); }
.bp-boutique .wc-block-components-notice-banner.is-error { border-color: var(--piment); }

/* En-tête de la boutique */
.bp-entete {
  background: var(--creme);
  border-bottom: 1px solid var(--filet);
}
.bp-entete__barre {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 14px 16px;
}
.bp-entete__retour {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 600 13px/1 var(--texte);
  text-decoration: none;
  color: var(--cacao) !important;
}
.bp-entete__retour span { display: none; }
.bp-entete__logo img { display: block; height: 36px; width: auto; }
.bp-entete__securise {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 600 11px/1 var(--texte);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--vert);
}
.bp-entete__securise span { display: none; }
@media (min-width: 768px) {
  .bp-entete__barre { padding: 18px 40px; }
  .bp-entete__retour span, .bp-entete__securise span { display: inline; }
  .bp-entete__logo img { height: 44px; }
}

/* Pied de page de la boutique */
.bp-pied {
  margin-top: 64px;
  background: var(--cacao);
  color: #d9cfc4;
  font: 400 13px/1.5 var(--texte);
}
.bp-pied__contenu {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 28px 16px;
}
.bp-pied nav { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.bp-pied a { color: var(--creme) !important; text-decoration: none; }
.bp-pied a:hover { color: var(--vanille) !important; }
.bp-pied p { margin: 0; color: #bfb3a6; }
@media (min-width: 768px) {
  .bp-pied__contenu { flex-direction: row; justify-content: space-between; align-items: center; padding: 28px 40px; }
}
