/* Favoris (BRW-413) : cœur à bascule, lien de l'en-tête, rubrique « Mes favoris » de Mon compte. */

.bw-fav { --bw-fav-rouge: #B42318; position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem; min-width: 2.75rem; min-height: 2.75rem; margin: 0; padding: 0; border: 0; border-radius: 999px; background: transparent; color: var(--bw-ink, #1E1E1C); font: inherit; font-size: var(--bw-fs-sm, 0.9375rem); font-weight: 600; line-height: 1; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.bw-fav:hover { background: rgb(30 30 28 / 0.06); color: var(--bw-ink, #1E1E1C); }
.bw-fav:focus-visible { outline: none; box-shadow: var(--bw-focus, 0 0 0 3px #1E1E1C); }
.bw-fav .bw-fav__coeur { flex: none; width: 1.5rem; height: 1.5rem; fill: none; stroke: currentColor; transition: fill 0.15s, transform 0.15s; }
.bw-fav[aria-pressed="true"] { color: var(--bw-fav-rouge); }
.bw-fav[aria-pressed="true"] .bw-fav__coeur { fill: currentColor; }
.bw-fav[aria-busy="true"] { cursor: progress; opacity: 0.7; }
@media (prefers-reduced-motion: reduce) { .bw-fav .bw-fav__coeur { transition: none; } }

/* Carte de la boutique : icône seule, au-dessus du lien qui couvre la carte (z-index 2). Vue grille : en haut à droite de la photo. */
.bw-fav--carte { position: absolute; z-index: 3; top: var(--bw-s2, 0.5rem); right: var(--bw-s2, 0.5rem); width: 2.75rem; height: 2.75rem; background: rgb(255 255 255 / 0.92); box-shadow: 0 1px 4px rgb(30 30 28 / 0.2); }
.bw-fav--carte:hover { background: #fff; }
/* Vue liste (par défaut) : sous le bouton « Ajouter » de la colonne de droite */
.bw-produits--liste .bw-fav--carte { top: calc(var(--bw-s2, 0.5rem) + var(--bw-tap, 3rem)); width: var(--bw-tap, 3rem); height: var(--bw-tap, 3rem); background: transparent; box-shadow: none; }
.bw-produits--liste .bw-fav--carte:hover { background: rgb(30 30 28 / 0.06); }

/* Fiche produit et page des variétés : bouton avec texte */
.bw-fav--fiche, .bw-fav--variete { min-height: var(--bw-tap, 3rem); padding: 0 var(--bw-s4, 1rem) 0 var(--bw-s3, 0.75rem); border: 1px solid var(--bw-line-strong, #8E8D87); background: var(--bw-white, #fff); }
.bw-fav--fiche:hover, .bw-fav--variete:hover { background: var(--bw-white, #fff); border-color: var(--bw-ink, #1E1E1C); }
.bw-fav--fiche { width: fit-content; max-width: 100%; justify-self: start; align-self: flex-start; margin-top: var(--bw-s3, 0.75rem); }
.bw-fav--fiche[aria-pressed="true"], .bw-fav--variete[aria-pressed="true"] { border-color: var(--bw-fav-rouge); }
.bw-ec-variete__actions .bw-fav--variete { margin: var(--bw-s2, 0.5rem) var(--bw-s2, 0.5rem) 0 0; }

/* Lien « Favoris (n) » à la fin du menu principal */
.bw-nav__favoris { display: flex; align-items: center; gap: var(--bw-s2, 0.5rem); min-height: var(--bw-tap, 3rem); padding-inline: var(--bw-gouttiere, 1rem); border-bottom: 1px solid var(--bw-line, #E4E1D8); color: var(--bw-ink, #1E1E1C); font-size: var(--bw-fs-md, 1rem); font-weight: 600; text-decoration: none; }
.bw-nav__favoris:hover { color: var(--bw-green-600, #037C63); }
.bw-nav__favoris .bw-nav__favoris-coeur { width: 1.25rem; height: 1.25rem; }
.bw-nav__favoris-n { font-variant-numeric: tabular-nums; }
@media (min-width: 900px) {
	.bw-nav__favoris { padding-inline: 0; border: 0; font-size: var(--bw-fs-sm, 0.9375rem); white-space: nowrap; }
}

/* Mon compte > Mes favoris */
.bw-fav-compte [hidden] { display: none !important; }
.bw-fav-liste { display: grid; gap: var(--bw-s3, 0.75rem); margin: var(--bw-s4, 1rem) 0 0; padding: 0; list-style: none; }
.bw-fav-ligne { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: var(--bw-s3, 0.75rem); align-items: start; padding: var(--bw-s3, 0.75rem); border: 1px solid var(--bw-line, #E4E1D8); border-radius: var(--bw-radius-m, 12px); background: var(--bw-white, #fff); }
.bw-fav-ligne__photo { display: block; width: 4.5rem; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--bw-radius-s, 6px); background: var(--bw-fond-photo, #F4F1E8); }
.bw-fav-ligne__photo img { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; mix-blend-mode: multiply; }
.bw-fav-ligne__sans-photo { display: block; width: 100%; height: 100%; }
.bw-fav-ligne__corps { display: grid; gap: 0.15rem; min-width: 0; }
.bw-fav-ligne__corps p, .bw-fav-ligne__titre { margin: 0; }
.bw-fav-ligne__titre { font-size: 1.125rem; }
.bw-fav-ligne__titre a { color: var(--bw-ink, #1E1E1C); text-decoration: none; }
.bw-fav-ligne__titre a:hover { text-decoration: underline; }
.bw-fav-ligne__producteur { color: var(--bw-text-soft, #62615C); font-size: var(--bw-fs-sm, 0.9375rem); }
.bw-fav-ligne__prix { font-weight: 700; font-variant-numeric: tabular-nums; }
.bw-fav-ligne__stock { font-size: var(--bw-fs-xs, 0.8125rem); font-weight: 700; color: var(--bw-green-700, #06634F); }
.bw-fav-ligne__stock--bas, .bw-fav-ligne__stock--differe { color: var(--bw-orange-700, #7C4D01); }
.bw-fav-ligne__stock--epuise { color: var(--bw-text-soft, #62615C); }
.bw-fav-ligne__actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: var(--bw-s2, 0.5rem); }
.bw-fav-ligne__actions .bw-btn { white-space: normal; text-align: center; }
.bw-fav-ligne .bw-btn--ajout { background: var(--bw-action-bg, #037C63); color: var(--bw-white, #fff); }
.bw-fav-ligne .bw-btn--ajout:hover { background: var(--bw-action-bg-hover, #06634F); color: var(--bw-white, #fff); }
@media (min-width: 700px) {
	.bw-fav-ligne { grid-template-columns: 5.5rem minmax(0, 1fr) auto; align-items: center; }
	.bw-fav-ligne__photo { width: 5.5rem; }
	.bw-fav-ligne__actions { grid-column: auto; flex-direction: column; align-items: stretch; }
}
.bw-fav-connexion { margin-bottom: var(--bw-s4, 1rem); padding: var(--bw-s3, 0.75rem) var(--bw-s4, 1rem); border: 1px solid var(--bw-line, #E4E1D8); border-left: 4px solid var(--bw-green-600, #037C63); border-radius: var(--bw-radius-s, 6px); background: var(--bw-white, #fff); }
