/* Lightweight confirmation; layout and focus stay with the current product. */
.fs25-cart-control { position:relative; transition:background-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.fs25-cart-busy { cursor:wait!important; }
.fs25-cart-busy:not(input)>*, .fs25-cart-added:not(input)>* { visibility:hidden; }
.fs25-cart-busy:not(input)>input, .fs25-cart-added:not(input)>input { visibility:visible; opacity:0; }
.fs25-cart-busy:not(input), .fs25-cart-added:not(input) { color:transparent!important; }
.fs25-cart-busy:not(input)::after, .fs25-cart-added:not(input)::after {
  content:attr(data-fs25-label); position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:13px; line-height:1.2; font-weight:600; white-space:nowrap; pointer-events:none;
  border-radius:inherit; background:#762a39; padding:0 9px;
}
.fs25-cart-added:not(input)::after { background:#286444; }
.fs25-cart-busy { opacity:.85; }
.fs25-cart-busy:not(input)::before {
  content:""; position:absolute; left:7px; top:calc(50% - 5px); width:8px; height:8px;
  border:2px solid #ffffff60; border-top-color:#fff; border-radius:50%; z-index:2; pointer-events:none;
  animation:fs25-cart-spin .7s linear infinite;
}
.fs25-cart-toast {
  position:fixed; top:calc(12px + env(safe-area-inset-top, 0px)); left:50%; bottom:auto; right:auto;
  z-index:12000; box-sizing:border-box; transform:translateX(-50%);
  display:flex; align-items:center; flex-wrap:wrap; gap:8px 24px;
  width:min(1280px, calc(100vw - 40px)); margin:0; padding:16px 58px 16px 20px;
  border:1px solid #bdcdb7; border-left:4px solid #396756; border-radius:8px;
  background:#f0f6ed; color:#284e3e; box-shadow:0 6px 24px #284e3e14;
  font:500 15px/1.65 Arial,Helvetica,sans-serif;
}
.fs25-cart-toast.fs25-header-notice {
  opacity:0; visibility:hidden; translate:0 -8px;
  transition:opacity .2s ease, translate .2s ease, visibility .2s;
}
.fs25-cart-toast.fs25-header-notice.is-visible { opacity:1; visibility:visible; translate:0 0; }
.fs25-cart-toast[hidden] { display:none!important; }
.fs25-cart-toast p { flex:1 1 300px; margin:0; font-size:15px; line-height:1.65; white-space:pre-line; overflow-wrap:anywhere; }
.fs25-cart-toast-warning { border-color:#e6cfb1; border-left-color:#a66b26; color:#573e20; background:#fff8ed; }
.fs25-cart-toast-links { display:flex; flex-wrap:wrap; gap:8px 18px; }
.fs25-cart-toast-links a { color:#792a3b; text-decoration:underline; text-underline-offset:3px; font-size:13px; font-weight:600; }
.fs25-cart-toast-close { position:absolute; top:8px; right:8px; min-width:40px; min-height:40px; padding:0; border:0; border-radius:7px; background:transparent; color:#526356; font:24px/40px Arial,sans-serif; cursor:pointer; }
.fs25-cart-toast-close:hover { background:#284e3e0d; }
.fs25-cart-toast :focus-visible { outline:2px solid #792a3b; outline-offset:3px; }
.fs25-cart-flight { position:fixed; width:10px; height:10px; background:#8b3448; box-shadow:0 0 0 4px #8b34481a; border-radius:50%; z-index:11999; pointer-events:none; }
@keyframes fs25-cart-spin { to { transform:rotate(360deg); } }
@media(max-width:767px) {
  .fs25-cart-toast { top:calc(8px + env(safe-area-inset-top, 0px)); width:calc(100vw - 20px); padding:13px 48px 13px 14px; gap:6px 14px; }
  .fs25-cart-toast p { flex-basis:100%; font-size:14px; line-height:1.55; }
  .fs25-cart-toast-close { top:4px; right:3px; }
}
@media(prefers-reduced-motion:reduce) {
  .fs25-cart-control, .fs25-cart-toast, .fs25-cart-busy::before { animation:none!important; transition:none!important; }
  .fs25-cart-flight { display:none; }
}
@media print { .fs25-cart-toast, .fs25-cart-flight { display:none!important; } }
