{"product_id":"powerform-high-impact-sports-bra","title":"G.A.K SWOOP-BACK PERFORMANCE SPORTS BRA","description":"\u003c!-- FINAL 1 (GAK template) | Dawn-friendly | Mobile 100% | Desktop 567px | Single-open | Smooth open \u0026 close | +\/– always visible --\u003e\n\n\u003cstyle\u003e\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;500;700\u0026display=swap');\n\n:root{\n  --pa-gap:12px;\n  --pa-pad-x:16px;\n  --pa-pad-y-head:18px;\n  --pa-pad-y-panel-t:12px;\n  --pa-pad-y-panel-b:16px;\n}\n\n.product-accordion,\n.product-accordion *{\n  box-sizing:border-box;\n  max-width:100%;\n  word-break:break-word;\n  overflow-wrap:anywhere;\n}\n.product-accordion{\n  font-family:'Poppins',sans-serif;\n  width:100%;\n  margin:0;\n  padding:0;\n  overflow-x:hidden; \/* no horizontal scroll *\/\n}\n\n\/* Desktop cap to match ATC width *\/\n@media (min-width:1024px){\n  .product-accordion{ max-width:567px; }\n}\n\n\/* Each accordion item *\/\n.pa-item{\n  margin:var(--pa-gap) 0;\n  border:0;\n  border-radius:10px;\n  background:#fff;\n  overflow:hidden; \/* keeps corners rounded *\/\n}\n\n\/* Summary header — Final 1 look *\/\n.pa-summary{\n  list-style:none;\n  display:flex;\n  align-items:center;\n  justify-content:space-between; \/* title left, icon right *\/\n  gap:12px;\n  width:100%;\n  padding:var(--pa-pad-y-head) var(--pa-pad-x);\n  font-size:21px;\n  font-weight:500;  \/* medium *\/\n  line-height:1.25;\n  color:#111;\n  cursor:pointer;\n  border-radius:10px;\n  user-select:none;\n  -webkit-tap-highlight-color: transparent;\n}\n.pa-summary:hover,\n.pa-item[open] .pa-summary{ background:#f5f5f5; }\n\n\/* Hide default marker (Safari\/Chrome) *\/\n.pa-summary::-webkit-details-marker{ display:none; }\n\n.pa-title{ flex:1 1 auto; min-width:0; }\n\n\/* Robust icon: two chars, theme-safe *\/\n.pa-icon{\n  display:inline-flex !important;\n  align-items:center;\n  justify-content:center;\n  min-width:22px;\n  font-weight:700;\n  font-size:20px;\n  line-height:1;\n  color:#111 !important;\n}\n.pa-icon .icon-minus{ display:none; }\n.pa-item[open] .pa-icon .icon-plus{ display:none; }\n.pa-item[open] .pa-icon .icon-minus{ display:inline; }\n\n\/* Panel (animated via max-height) — side padding only here *\/\n.pa-panel{\n  overflow:hidden;\n  max-height:0;\n  opacity:0;\n  padding:0 var(--pa-pad-x);\n  transition:\n    max-height 280ms cubic-bezier(.2,.7,.3,1),\n    opacity   220ms linear;\n  will-change:max-height;\n}\n\/* Stable inner wrapper holds vertical padding ALWAYS (prevents close jitter) *\/\n.pa-panel-inner{\n  padding-top:var(--pa-pad-y-panel-t);\n  padding-bottom:var(--pa-pad-y-panel-b);\n}\n\n\/* Text *\/\n.pa-panel p,\n.pa-panel li,\n.pa-panel strong{\n  font-size:14px;\n  line-height:1.6;\n  color:#333;\n}\n.pa-panel p{ margin:0; }\n.pa-panel ul{ margin:8px 0 0 18px; padding:0; }\n.pa-panel li{ margin:4px 0; }\n\n\/* Mobile tweaks *\/\n@media (max-width:480px){\n  .pa-summary{ font-size:19px; padding:16px 14px; }\n  .pa-icon{ font-size:19px; min-width:20px; }\n  .pa-panel{ padding:0 14px; }\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"product-accordion\" id=\"pa-root\"\u003e\n  \u003cdetails class=\"pa-item\"\u003e\n    \u003csummary class=\"pa-summary\"\u003e\n      \u003cspan class=\"pa-title\"\u003eDescription\u003c\/span\u003e\n      \u003cspan class=\"pa-icon\" aria-hidden=\"true\"\u003e\n        \u003cspan class=\"icon-plus\"\u003e+\u003c\/span\u003e\n        \u003cspan class=\"icon-minus\"\u003e–\u003c\/span\u003e\n      \u003c\/span\u003e\n    \u003c\/summary\u003e\n    \u003cdiv class=\"pa-panel\"\u003e\n      \u003cdiv class=\"pa-panel-inner\"\u003e\n        \u003cp\u003eEngineered for performance and comfort, this high-impact sports bra is crafted from a double-layered Lycra blend that offers a nude-soft touch, high stretch, and lightweight breathability.\u003c\/p\u003e\n        \u003cp\u003eDesigned for both function and form, it delivers the support you need with a sleek, modern aesthetic.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/details\u003e\n\n  \u003cdetails class=\"pa-item\"\u003e\n    \u003csummary class=\"pa-summary\"\u003e\n      \u003cspan class=\"pa-title\"\u003eCare and Material\u003c\/span\u003e\n      \u003cspan class=\"pa-icon\" aria-hidden=\"true\"\u003e\n        \u003cspan class=\"icon-plus\"\u003e+\u003c\/span\u003e\n        \u003cspan class=\"icon-minus\"\u003e–\u003c\/span\u003e\n      \u003c\/span\u003e\n    \u003c\/summary\u003e\n    \u003cdiv class=\"pa-panel\"\u003e\n      \u003cdiv class=\"pa-panel-inner\"\u003e\n        \u003cp\u003e\u003cstrong\u003eFabric Composition:\u003c\/strong\u003e 78% Nylon, 22% Spandex (Lycra)\u003c\/p\u003e\n        \u003cul\u003e\n          \u003cli\u003eMachine wash cold (below 30°C)\u003c\/li\u003e\n          \u003cli\u003eDo not bleach\u003c\/li\u003e\n          \u003cli\u003eDo not tumble dry\u003c\/li\u003e\n          \u003cli\u003eIron at low temperature\u003c\/li\u003e\n          \u003cli\u003eDo not dry clean\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/details\u003e\n\n  \u003cdetails class=\"pa-item\"\u003e\n    \u003csummary class=\"pa-summary\"\u003e\n      \u003cspan class=\"pa-title\"\u003eProduct Details\u003c\/span\u003e\n      \u003cspan class=\"pa-icon\" aria-hidden=\"true\"\u003e\n        \u003cspan class=\"icon-plus\"\u003e+\u003c\/span\u003e\n        \u003cspan class=\"icon-minus\"\u003e–\u003c\/span\u003e\n      \u003c\/span\u003e\n    \u003c\/summary\u003e\n    \u003cdiv class=\"pa-panel\"\u003e\n      \u003cdiv class=\"pa-panel-inner\"\u003e\n        \u003cul\u003e\n          \u003cli\u003e\n\u003cstrong\u003eHigh-Impact Support:\u003c\/strong\u003e Ideal for intense workouts\u003c\/li\u003e\n          \u003cli\u003e\n\u003cstrong\u003ePadded Construction:\u003c\/strong\u003e Provides shape and added comfort\u003c\/li\u003e\n          \u003cli\u003e\n\u003cstrong\u003eBreathable \u0026amp; Sweat-Wicking:\u003c\/strong\u003e Keeps you cool and dry\u003c\/li\u003e\n          \u003cli\u003e\n\u003cstrong\u003eQuick-Dry, Lightweight Fabric:\u003c\/strong\u003e Perfect for all-day wear\u003c\/li\u003e\n          \u003cli\u003e\n\u003cstrong\u003eBack Hollow-Out Design:\u003c\/strong\u003e Enhances airflow and style\u003c\/li\u003e\n          \u003cli\u003e\n\u003cstrong\u003eFront Round Neckline:\u003c\/strong\u003e A classic, flattering fit\u003c\/li\u003e\n          \u003cli\u003e\n\u003cstrong\u003eDouble-Layered for Security:\u003c\/strong\u003e Ensures confidence with every move\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/details\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n\/* FINAL 1 behavior — smooth open\/close, single-open, no close jitter *\/\n(function(){\n  const items = document.querySelectorAll('#pa-root .pa-item');\n  const BUF   = 24;   \/\/ height buffer to avoid last-line clipping\n  const DUR   = 300;  \/\/ ms fallback if transitionend is missed\n\n  function measure(panel){ return panel.scrollHeight; }\n  function setMax(panel, h){ panel.style.maxHeight = h + 'px'; }\n\n  function smoothClose(d){\n    const p = d.querySelector('.pa-panel');\n    const start = measure(p);\n    setMax(p, start);\n    p.offsetHeight;            \/\/ reflow\n    setMax(p, 0);\n    p.style.opacity = 0;\n\n    let done = false;\n    const cleanup = ()=\u003e{\n      if(done) return;\n      done = true;\n      d.open = false;          \/\/ remove [open] AFTER animation ends\n      setMax(p, 0);            \/\/ lock at 0 to prevent bounce\n    };\n\n    \/\/ primary: transitionend\n    const onEnd = (e)=\u003e{\n      if(e.propertyName !== 'max-height') return;\n      p.removeEventListener('transitionend', onEnd);\n      cleanup();\n    };\n    p.addEventListener('transitionend', onEnd);\n\n    \/\/ fallback: just in case a browser drops the event\n    setTimeout(cleanup, DUR + 40);\n  }\n\n  function smoothOpen(d){\n    const p = d.querySelector('.pa-panel');\n    d.open = true;             \/\/ enable [open] styles (header hover etc.)\n    p.style.opacity = 1;\n    setMax(p, 0);\n    p.offsetHeight;            \/\/ reflow\n    setMax(p, measure(p) + BUF);\n  }\n\n  \/\/ Close all others\n  function closeOthers(keep){\n    items.forEach(x=\u003e{ if(x!==keep \u0026\u0026 x.open) smoothClose(x); });\n  }\n\n  \/\/ Init + listeners\n  items.forEach(d=\u003e{\n    const s = d.querySelector('.pa-summary');\n    const p = d.querySelector('.pa-panel');\n\n    if(!d.open){ setMax(p, 0); p.style.opacity = 0; }\n\n    s.addEventListener('click', (e)=\u003e{\n      e.preventDefault();      \/\/ stop native instant toggle\n      if(d.open){\n        smoothClose(d);\n      }else{\n        closeOthers(d);\n        smoothOpen(d);\n      }\n    }, { passive:false });\n  });\n\n  \/\/ Keep open heights correct on resize\/orientation\n  let raf=null;\n  window.addEventListener('resize', ()=\u003e{\n    if(raf) return;\n    raf = requestAnimationFrame(()=\u003e{\n      items.forEach(d=\u003e{\n        if(d.open){\n          const p = d.querySelector('.pa-panel');\n          setMax(p, measure(p) + BUF);\n        }\n      });\n      raf = null;\n    });\n  }, { passive:true });\n})();\n\u003c\/script\u003e\n","brand":"Grind Active Kinetics","offers":[{"title":"Onyx Black \/ S","offer_id":51408233824592,"sku":null,"price":23.0,"currency_code":"GBP","in_stock":true},{"title":"Onyx Black \/ M","offer_id":51408233857360,"sku":null,"price":23.0,"currency_code":"GBP","in_stock":true},{"title":"Onyx Black \/ L","offer_id":51408233890128,"sku":null,"price":23.0,"currency_code":"GBP","in_stock":true},{"title":"Sand Beige \/ S","offer_id":51408234086736,"sku":null,"price":23.0,"currency_code":"GBP","in_stock":true},{"title":"Sand Beige \/ M","offer_id":51408234119504,"sku":null,"price":23.0,"currency_code":"GBP","in_stock":true},{"title":"Sand Beige \/ L","offer_id":51408234152272,"sku":null,"price":23.0,"currency_code":"GBP","in_stock":true},{"title":"Sky Blue \/ S","offer_id":52008542437712,"sku":null,"price":23.0,"currency_code":"GBP","in_stock":false},{"title":"Sky Blue \/ M","offer_id":52008542470480,"sku":null,"price":23.0,"currency_code":"GBP","in_stock":false},{"title":"Sky Blue \/ L","offer_id":52008542503248,"sku":null,"price":23.0,"currency_code":"GBP","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0890\/4009\/3520\/files\/gak-swoop-back-performance-sports-bra-2258352.jpg?v=1758205145","url":"https:\/\/www.grindactivekinetics.com\/products\/powerform-high-impact-sports-bra","provider":"Grind Active Kinetics","version":"1.0","type":"link"}