/* Floating cart button (inc/floating-cart.php). Sits below the sticky header (z 100), so the
   mobile menu, search panel and lightboxes cover it; above normal page content. */
.ap-fcart{
  --fc-gap:max(1rem,env(safe-area-inset-right,0px) + .75rem);
  --fc-offset:var(--ap26-fcart-offset,0px); /* raise above a bottom banner (e.g. cookie notice) if one is added */
  position:fixed;right:var(--fc-gap);bottom:calc(max(1rem,env(safe-area-inset-bottom,0px) + .75rem) + var(--fc-offset));
  z-index:90;display:inline-flex;align-items:center;gap:.75rem;
  min-height:56px;padding:.5rem 1.15rem .5rem .55rem;border-radius:var(--r-pill);
  background:var(--c-navy-900);color:#fff;text-decoration:none;
  border:1px solid rgba(255,255,255,.14);box-shadow:var(--sh-2),0 2px 6px rgba(6,17,26,.18);
  font-family:var(--f-body);line-height:1.15;
  transition:background-color var(--dur-1),transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),opacity var(--dur-2);
  --focus:var(--c-red-600);
}
.ap-fcart[hidden]{display:none}
.ap-fcart:hover{background:var(--c-navy-700);box-shadow:var(--sh-3)}
.ap-fcart:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px var(--c-navy-900),var(--sh-2)}
.ap-fcart__icon{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);flex-shrink:0}
.ap-fcart__svg{width:22px;height:22px}
.ap-fcart__badge{position:absolute;top:-5px;right:-7px;min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-pill);
  display:grid;place-items:center;background:var(--c-red-600);color:#fff;border:2px solid var(--c-navy-900);
  font-family:var(--f-mono);font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}
.ap-fcart__text{display:grid;gap:.1rem}
.ap-fcart__label{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c-steel-300)}
.ap-fcart__total{font-size:.98rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.ap-fcart.is-bump .ap-fcart__badge{animation:ap-fcart-bump .45s var(--ease-out)}
@keyframes ap-fcart-bump{0%{transform:scale(1)}40%{transform:scale(1.28)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:no-preference){
  .ap-fcart.is-entering{animation:ap-fcart-in .35s var(--ease-out) both}
  @keyframes ap-fcart-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){.ap-fcart,.ap-fcart.is-bump .ap-fcart__badge{transition:none;animation:none}}

/* Compact circular button on small screens. */
@media (max-width:640px){
  .ap-fcart{width:58px;height:58px;min-height:0;padding:0;justify-content:center;gap:0}
  .ap-fcart__icon{background:none;width:58px;height:58px}
  .ap-fcart__svg{width:24px;height:24px}
  .ap-fcart__badge{top:4px;right:2px}
  .ap-fcart__text{display:none}
}

/* Keep the end of the page readable: room under the footer's last line for the button. */
body.has-fcart .site-footer__bottom{padding-bottom:calc(var(--sp-7) + 64px)}

/* Print: never show. */
@media print{.ap-fcart{display:none!important}}
