.hmb-welcome { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; padding: 16px; }
.hmb-welcome[hidden] { display: none; }
.hmb-welcome__backdrop { position: absolute; inset: 0; background: var(--hm-veil, rgba(63,47,37,0.38)); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); opacity: 0; transition: opacity 0.3s; }
.hmb-welcome.is-open .hmb-welcome__backdrop { opacity: 1; }
.hmb-welcome__box { position: relative; width: 100%; max-width: 440px; background: #fff; border-radius: 22px; overflow: hidden; box-shadow: var(--hm-shadow-3, 0 30px 80px -20px rgba(63,47,37,0.35)); transform: translateY(16px) scale(0.98); opacity: 0; transition: transform 0.35s cubic-bezier(0.2,0.7,0.2,1), opacity 0.3s; }
.hmb-welcome.is-open .hmb-welcome__box { transform: none; opacity: 1; }
/* 44 px : c’est la seule commande qui referme la fenêtre, et elle ne mesurait que 36 px. */
.hmb-welcome__close { position: absolute; top: 10px; right: 10px; z-index: 2; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255,255,255,0.9); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: background 0.15s; }
.hmb-welcome__close:hover { background: var(--hm-surface-2, #f6efe6); }
.hmb-welcome__media img { width: 100%; height: 180px; object-fit: cover; }
.hmb-welcome__body { padding: 26px 26px 24px; text-align: center; }
.hmb-welcome__badge { display: inline-block; padding: 6px 14px; border-radius: 999px; background: var(--hm-rasp, #c94f5c); color: #fff; font-weight: 800; font-size: 1.05rem; margin-bottom: 10px; letter-spacing: 0.02em; }
.hmb-welcome__body h2 { margin: 0 0 8px; font-size: 1.55rem; }
.hmb-welcome__body > p { color: var(--hm-brown-soft, #6b5a4b); margin: 0 0 16px; }
.hmb-welcome__form .hm-newsletter__text { display: none; }
.hmb-welcome__form .hm-newsletter__row { flex-direction: column; }
.hmb-welcome__code { margin-top: 12px; animation: hm-fade-in 0.3s ease; }
.hmb-welcome__code p { margin: 0 0 8px; font-size: 0.9rem; }
.hmb-welcome__copy { display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px; border: 2px dashed var(--hm-rasp, #c94f5c); border-radius: 12px; background: var(--hm-rasp-bg, #fbe9eb); cursor: pointer; font-size: 1.1rem; letter-spacing: 0.08em; }
.hmb-welcome__copy span { font-size: 0.75rem; letter-spacing: 0; color: var(--hm-rasp, #c94f5c); text-decoration: underline; }
/* Ancrée à DROITE : à gauche, elle se posait sur les boutons pleine largeur des cartes
   et sur les CTA du contenu, jusqu'à intercepter le clic. */
.hmb-welcome-pill { position: fixed; right: 12px; left: auto; bottom: calc(var(--hm-bottombar-h, 0px) + 12px + env(safe-area-inset-bottom, 0px)); z-index: 64; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 0; border-radius: 999px; background: var(--hm-brown, #3f2f25); color: #fff; font-weight: 700; box-shadow: var(--hm-shadow-2, 0 14px 34px -10px rgba(63,47,37,0.18)); cursor: pointer; transition: transform 0.2s cubic-bezier(0.2,0.7,0.2,1), opacity 0.2s, visibility 0s; }
.hmb-welcome-pill:hover { transform: translateY(-2px); }
.hmb-welcome-pill .hm-icon { color: var(--hm-peach-strong, #f3c9a6); }
.hmb-welcome-pill[hidden] { display: none; }
/* Effacée tant qu'elle recouvre un bouton ou passe sous la barre d'achat (garde dans bienvenue.js). */
.hmb-welcome-pill.is-masked { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.2s, visibility 0s 0.2s; }
.hmb-welcome-pill__short { display: none; }
@media (max-width: 699px) { .hmb-welcome-pill { min-height: 44px; padding: 0 14px; font-size: 0.9rem; } .hmb-welcome-pill__long { display: none; } .hmb-welcome-pill__short { display: inline; } }
.hmb-welcome__form .hm-newsletter__row input[type="email"] { flex: 0 0 auto; width: 100%; }
