/* GFAYT · Cart experience v3.0 | 16.10.2026
   Compact non-modal confirmation, actual product data, polished restrained motion.
   Replace the entire old gfayt-cart-premium.css (do NOT append). */

:root {
  --gf-cart-ink: #212529;
  --gf-cart-bronze: #907455;
  --gf-cart-bronze-pale: #f4efe8;
  --gf-cart-muted: #687078;
  --gf-cart-stroke: #e5e5e3;
}
/* Drop v1 overlay only after v2 loads; old markup/classes must not be reused. */
.gf-cart-backdrop, .gf-cart-drawer { display: none !important; }
body.gf-cart-panel-open { overflow: auto !important; }

/* InSales owns add-to-cart and quantity controls; this layer animates feedback. */
[data-item-add], [data-add-cart-counter-btn],
[data-add-cart-counter-plus], [data-add-cart-counter-minus] {
  -webkit-tap-highlight-color: transparent;
  transform-origin: center center;
}
[data-item-add].gf-cart-action--pending,
[data-add-cart-counter-btn].gf-cart-action--pending { position: relative; cursor: progress; opacity: .86; }
[data-item-add].gf-cart-action--done,
[data-add-cart-counter-btn].gf-cart-action--done { position: relative; }
[data-item-add].gf-cart-action--done::after,
[data-add-cart-counter-btn].gf-cart-action--done::after {
  content: '✓'; position: absolute; right: -5px; top: -8px;
  z-index: 3; width: 20px; height: 20px; border-radius: 50%;
  display: grid; place-items: center; line-height: 20px; text-align: center;
  color: #fff; background: var(--gf-cart-bronze); font-size: 12px; font-weight: 800;
  box-shadow: 0 2px 8px rgba(45,42,37,.2);
  pointer-events: none; animation: gf-cart-check-pop .32s cubic-bezier(.2,.9,.18,1.2) both;
}
[data-add-cart-counter-plus].gf-cart-step--tap,
[data-add-cart-counter-minus].gf-cart-step--tap { animation: gf-cart-step-tap .21s ease-out both; }
[data-add-cart-counter-count].gf-cart-counter--changed { animation: gf-cart-count-soft .34s ease-out both; }
a[href="/cart_items"].gf-cart-link--pulse svg { animation: gf-cart-link-pop .42s ease-out both; transform-origin: 50% 65%; }
[data-item-add]:focus-visible, [data-add-cart-counter-btn]:focus-visible,
[data-add-cart-counter-plus]:focus-visible, [data-add-cart-counter-minus]:focus-visible {
  outline: 2px solid var(--gf-cart-bronze) !important; outline-offset: 3px;
}

/* Compact immediate confirmation; catalogue flight runs independently. */
.gf-cart-toast[hidden] { display:none!important; }
.gf-cart-toast {position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:max(20px,env(safe-area-inset-bottom,0px));z-index:100040;display:grid;grid-template-columns:minmax(0,1fr) auto 30px;grid-template-rows:auto auto;align-items:center;gap:4px 12px;width:min(410px,calc(100vw - 32px));box-sizing:border-box;padding:14px 12px 14px 16px;border:1px solid #dce1e5;border-radius:11px;background:#fff;color:#242629;box-shadow:0 8px 30px #24262924;font:400 13px/1.4 'VI Sans','PT Root UI',Arial,sans-serif;opacity:0;transform:none;transition:opacity .16s ease;pointer-events:none;}
.gf-cart-toast--show {opacity:1;pointer-events:auto;transform:none;}
.gf-cart-toast *,.gf-cart-toast *::before,.gf-cart-toast *::after {box-sizing:border-box;}
.gf-cart-toast__top {display:contents;}
.gf-cart-toast__mark,.gf-cart-toast__photo,.gf-cart-toast__price,.gf-cart-toast__keep {display:none!important;}
.gf-cart-toast__status {grid-column:1;grid-row:1;min-width:0;display:flex;align-items:center;gap:7px;color:#242629;font-size:13px;line-height:18px;font-weight:600;}
.gf-cart-toast__status::before {content:'✓';color:#447752;font-size:15px;}
.gf-cart-toast__close {grid-column:3;grid-row:1/3;display:grid;place-items:center;width:30px;height:36px;padding:0;border:0;border-radius:6px;background:transparent;color:#687078;cursor:pointer;}
.gf-cart-toast__close:hover {background:#f1f3f5;color:#242629;}
.gf-cart-toast__close svg {width:16px;height:16px;}
.gf-cart-toast__product {grid-column:1;grid-row:2;display:block;min-width:0;padding:0;}
.gf-cart-toast__details {display:block;min-width:0;}
.gf-cart-toast__name {display:block;min-width:0;max-height:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#646b75;font-size:12px;line-height:17px;font-weight:400;}
.gf-cart-toast__meta {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#646b75;font-size:11px;line-height:16px;}
.gf-cart-toast__actions {grid-column:2;grid-row:1/3;display:block;border:0;padding:0;}
.gf-cart-toast__to-cart {display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:9px 11px;border:0;border-radius:7px;background:#242629;color:#fff!important;font:500 12px/18px 'VI Sans','PT Root UI',Arial,sans-serif;white-space:nowrap;text-decoration:none;}
.gf-cart-toast__to-cart:hover {background:#41474e;color:#fff!important;}
.gf-cart-toast :is(a,button):focus-visible {outline:2px solid #667887;outline-offset:3px;}
@media(max-width:720px) {.gf-cart-toast {left:auto;right:max(12px,env(safe-area-inset-right,0px));bottom:max(76px,calc(env(safe-area-inset-bottom,0px) + 70px));width:min(410px,calc(100vw - 24px - env(safe-area-inset-right,0px)));padding:12px;gap:3px 8px;grid-template-columns:minmax(0,1fr) auto 28px;}.gf-cart-toast__to-cart {padding:8px 10px;}.gf-cart-toast__close {width:28px;}.gf-cart-toast__meta {font-size:10px;}}
a[href="/cart_items"].gf-cart-link--pulse svg,[data-add-cart-counter-count].gf-cart-counter--changed {animation:none!important;}
@media (prefers-reduced-motion: reduce) {
  .gf-cart-toast { transition: none !important; transform: none !important; }
  .gf-cart-toast--show { opacity: 1; }
  [data-item-add].gf-cart-action--done::after,
  [data-add-cart-counter-btn].gf-cart-action--done::after,
  [data-add-cart-counter-plus].gf-cart-step--tap,
  [data-add-cart-counter-minus].gf-cart-step--tap,
  [data-add-cart-counter-count].gf-cart-counter--changed,
  a[href="/cart_items"].gf-cart-link--pulse svg { animation: none !important; }
}
@keyframes gf-cart-check-pop { from { opacity: 0; transform: translateY(4px) scale(.8); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes gf-cart-step-tap { 0%,100% { transform: scale(1); } 50% { transform: scale(.92); } }
@keyframes gf-cart-count-soft { 0%,100% { transform: scale(1); } 50% { transform: scale(1.14); } }
@keyframes gf-cart-link-pop { 0%,100% { transform: scale(1); } 45% { transform: scale(1.09); } }

/* Native theme success flash only: dynamically tagged following an add action. */
.gf-cart-native-hidden { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }

/* Direct catalogue photo-to-confirmation flight. PDP adds create no nodes. */
.gf-cart-flight-v4 {position:fixed!important;z-index:100070!important;display:block!important;pointer-events:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;max-width:none!important;max-height:none!important;object-fit:contain!important;transform-origin:50% 50%!important;will-change:transform,opacity!important;opacity:1;}
.gf-cart-flight-v4--cutout {filter:drop-shadow(0 8px 7px rgba(30,27,23,.21));}
.gf-cart-flight-v4--blend {mix-blend-mode:multiply!important;filter:none!important;}
.gf-cart-flight-impact-v4 {position:fixed;z-index:100068;pointer-events:none;width:16px;height:16px;border:2px solid rgba(144,116,85,.72);border-radius:50%;transform:translate(-50%,-50%) scale(.35);opacity:.8;animation:gf-cart-impact-v4 .4s cubic-bezier(.12,.7,.22,1) forwards;}
@keyframes gf-cart-impact-v4 {to {opacity:0;transform:translate(-50%,-50%) scale(2.9);}}
@media (prefers-reduced-motion:reduce) {.gf-cart-flight-v4,.gf-cart-flight-impact-v4 {display:none!important;}}
