/* ===== Bloopin Toasts ===== */
.bloopin-toast-wrap{
  position:fixed; left:50%; bottom:70px; transform:translateX(-50%);
  display:flex; flex-direction:column; gap:10px;
  z-index:9999; pointer-events:none;
}
.bloopin-toast{
  pointer-events:auto;
  min-width:260px; max-width:min(92vw, 520px);
  padding:14px 16px; border-radius:14px;
  background:#111; color:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.18), 0 1px 0 rgba(255,255,255,.08) inset;
  font-size:14.5px; line-height:1.35;
  display:flex; align-items:center; gap:12px;
  opacity:0; transform:translateY(8px) scale(.98);
  transition:opacity .24s ease, transform .24s ease;
}
.bloopin-toast.is-visible{ opacity:1; transform:translateY(0) scale(1); }
.bloopin-toast.is-leaving{ opacity:0; transform:translateY(8px) scale(.98); }

.bloopin-toast__icon{ flex:0 0 auto; width:20px; height:20px; opacity:.9 }
.bloopin-toast__close{
  margin-left:auto; border:0; background:transparent; color:inherit;
  cursor:pointer; font-size:18px; line-height:1; opacity:.7;
}
.bloopin-toast__close:hover{ opacity:1 }

/* Variantes */
.bloopin-toast--success{ background:#0f5132; }
.bloopin-toast--error{ background:#842029; }
.bloopin-toast--info{ background:#0b5ed7; }

/* Progress (optionnel) */
.bloopin-toast__bar{
  position:absolute; left:0; bottom:0; height:3px; width:100%;
  background:rgba(255,255,255,.35);
  transform-origin:left; transform:scaleX(1);
  transition:transform linear;
  border-bottom-left-radius:14px; border-bottom-right-radius:14px;
}

/* Mobile full-width */
@media (max-width: 600px) {
  .bloopin-toast-wrap {
    left: 0;
    right: 0;
    transform: none;
    padding: 0 8px;
  }
  .bloopin-toast {
    width: 100%;
    max-width: none;
    border-radius: 10px;
  }
}

/* ==========================================================
   PATCH V4 — bouton de fermeture totalement isolé du thème
========================================================== */
.bloopin-toast__close{
  all:unset !important;
  box-sizing:border-box !important;

  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  max-width:40px !important;
  max-height:40px !important;

  margin:0 0 0 auto !important;
  padding:0 !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 40px !important;

  border:0 !important;
  outline:0 !important;
  border-radius:12px !important;
  background:transparent !important;
  color:inherit !important;
  box-shadow:none !important;

  font:inherit !important;
  font-size:18px !important;
  font-weight:700 !important;
  line-height:1 !important;

  cursor:pointer !important;
  opacity:.78 !important;
  -webkit-tap-highlight-color:transparent !important;
}

.bloopin-toast__close:hover,
.bloopin-toast__close:active,
.bloopin-toast__close:focus{
  border:0 !important;
  outline:0 !important;
  background:rgba(255,255,255,.08) !important;
  color:inherit !important;
  box-shadow:none !important;
  opacity:1 !important;
}

/* Aucun cadre de focus visuel sur la croix : le thème ne doit jamais
   lui réinjecter la couleur --accent après un clic/tap. */
html body .bloopin-toast button.bloopin-toast__close:focus,
html body .bloopin-toast button.bloopin-toast__close:focus-visible,
html body .bloopin-toast button.bloopin-toast__close:active{
  border:0 !important;
  border-color:transparent !important;
  outline:0 !important;
  outline-offset:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  color:inherit !important;
  -webkit-tap-highlight-color:transparent !important;
}

@media (max-width:600px){
  .bloopin-toast__close{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    max-width:38px !important;
    max-height:38px !important;
    flex-basis:38px !important;
  }
}

/* ==========================================================
   PATCH V6 — croix toujours transparente, même avec Astra
========================================================== */
html body .bloopin-toast-wrap .bloopin-toast button.bloopin-toast__close,
html body .bloopin-toast-wrap .bloopin-toast button.bloopin-toast__close:hover,
html body .bloopin-toast-wrap .bloopin-toast button.bloopin-toast__close:focus,
html body .bloopin-toast-wrap .bloopin-toast button.bloopin-toast__close:focus-visible,
html body .bloopin-toast-wrap .bloopin-toast button.bloopin-toast__close:active{
  appearance:none !important;
  -webkit-appearance:none !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-color:transparent !important;
  outline:0 !important;
  outline-color:transparent !important;
  outline-offset:0 !important;
  box-shadow:none !important;
  color:inherit !important;
  filter:none !important;
  transform:none !important;
  text-shadow:none !important;
  -webkit-tap-highlight-color:transparent !important;
}

html body .bloopin-toast-wrap .bloopin-toast button.bloopin-toast__close::before,
html body .bloopin-toast-wrap .bloopin-toast button.bloopin-toast__close::after{
  content:none !important;
  display:none !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
