/* SKAPOW / Unleashed — site stylesheet. Loaded only by Unleashed_Master.cshtml (website "Demo · Unleashed · custom templates").
   Everything is scoped to body.unleashed so nothing leaks into other Swift websites. Neo-brutalist: ink outlines, hard shadows,
   acid colours, giant grotesk type, stickers and motion. */
body.unleashed {
  --u-ink: #0e0e10; --u-paper: #fff3e3; --u-lime: #d4ff3a; --u-pink: #ff3c8e; --u-violet: #6b4bff;
  --u-sky: #3ad1ff; --u-yellow: #ffd60a; --u-orange: #ff6a1f; --u-white: #fff;
  --u-line: 3px; --u-r: 22px; --u-shadow: 6px 6px 0 var(--u-ink); --u-shadow-lg: 10px 10px 0 var(--u-ink);
  --u-display: "Bricolage Grotesque", "Arial Black", system-ui, sans-serif;
  --u-body: "Space Grotesk", system-ui, sans-serif;
  --u-mono: "Space Mono", ui-monospace, monospace;
  --u-ease: cubic-bezier(.2, .9, .25, 1.25);
  font-family: var(--u-body);
  background: var(--u-paper);
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}
body.unleashed ::selection { background: var(--u-lime); color: var(--u-ink); }
body.unleashed :where(h1, h2, h3, h4, .h1, .h2, .h3, .h4, .display-1, .display-2, .display-3, .display-4, .display-5, .display-6) {
  font-family: var(--u-display); font-weight: 800; text-transform: uppercase; letter-spacing: -.035em; line-height: .9;
  font-variation-settings: "opsz" 96;
}
body.unleashed :where(h5, h6, .h5, .h6) { font-family: var(--u-display); font-weight: 800; text-transform: uppercase; }
body.unleashed a { text-underline-offset: .2em; text-decoration-thickness: 2px; }
body.unleashed a:not(.btn):not(.nav-link):not(.stretched-link):hover { color: inherit; background: var(--u-lime); box-shadow: 0 0 0 2px var(--u-lime); }

/* ---------- colour scheme extras (the design-system schemes set bg/fg; these add the loud ones) ---------- */
body.unleashed [data-dw-colorscheme="lime"] { --u-accent: var(--u-pink); }
body.unleashed [data-dw-colorscheme="dark"] { --u-accent: var(--u-lime); }
body.unleashed [data-dw-colorscheme="primary"] { --u-accent: var(--u-lime); }

/* ---------- buttons: fat pills with hard shadows that squash when pressed ---------- */
body.unleashed .btn {
  font-family: var(--u-body); font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  border: var(--u-line) solid var(--u-ink) !important; border-radius: 999px;
  box-shadow: 4px 4px 0 var(--u-ink); transition: transform .15s var(--u-ease), box-shadow .15s var(--u-ease), background .2s;
}
body.unleashed .btn:hover { transform: translate(-2px, -2px) rotate(-1.5deg); box-shadow: 7px 7px 0 var(--u-ink); }
body.unleashed .btn:active { transform: translate(3px, 3px); box-shadow: 0 0 0 var(--u-ink); }
body.unleashed .btn-primary, body.unleashed .btn-primary:hover, body.unleashed .btn-primary:focus { background: var(--u-lime) !important; color: var(--u-ink) !important; }
body.unleashed .btn-secondary, body.unleashed .btn-secondary:hover { background: var(--u-pink) !important; color: var(--u-ink) !important; }
body.unleashed :is(.btn-outline-primary, .btn-outline-secondary, .btn-link) { background: var(--u-white) !important; color: var(--u-ink) !important; }
body.unleashed :is(.btn-outline-primary, .btn-outline-secondary):hover { background: var(--u-yellow) !important; }
body.unleashed [data-dw-colorscheme="dark"] .btn, body.unleashed [data-dw-colorscheme="primary"] .btn { box-shadow: 4px 4px 0 var(--u-paper); border-color: var(--u-paper) !important; }
body.unleashed [data-dw-colorscheme="dark"] .btn:hover, body.unleashed [data-dw-colorscheme="primary"] .btn:hover { box-shadow: 7px 7px 0 var(--u-paper); }
body.unleashed .btn-lg { padding: 1.05rem 2.1rem; font-size: 1.05rem; }
body.unleashed .btn-close { box-shadow: none !important; border: 0 !important; }

/* ---------- header ---------- */
body.unleashed header[data-swift-page-header] { position: sticky; top: 0; z-index: 1030; border-bottom: var(--u-line) solid var(--u-ink); }
body.unleashed header[data-swift-page-header] > section:first-child { border-bottom: var(--u-line) solid var(--u-ink); }
body.unleashed header[data-swift-page-header] section { --dw-row-space-top: .25rem; --dw-row-space-bottom: .25rem; }
body.unleashed header [data-dw-itemtype="swift-v2_logo"] img { max-height: 46px; width: auto; transition: transform .3s var(--u-ease); }
body.unleashed header [data-dw-itemtype="swift-v2_logo"] a:hover img { transform: rotate(-4deg) scale(1.06); }
body.unleashed header .nav-link {
  font-family: var(--u-display); font-weight: 800; text-transform: uppercase; letter-spacing: -.01em; font-size: 1.3rem;
  border: var(--u-line) solid transparent; border-radius: 999px; padding: .35rem .95rem !important; margin: 0 .1rem;
  transition: transform .15s var(--u-ease), background .15s;
}
body.unleashed header .nav-link:hover, body.unleashed header .nav-link.active, body.unleashed header .nav-link[aria-current] {
  background: var(--u-lime); border-color: var(--u-ink); color: var(--u-ink); transform: rotate(-3deg);
}
body.unleashed header .nav-item:nth-child(2n) .nav-link:hover { background: var(--u-pink); transform: rotate(3deg); }
body.unleashed header .nav-item:nth-child(3n) .nav-link:hover { background: var(--u-sky); }
body.unleashed header input[type="search"], body.unleashed header .form-control {
  border: var(--u-line) solid var(--u-ink); border-radius: 999px; background: var(--u-white); box-shadow: 3px 3px 0 var(--u-ink); font-weight: 500;
}
body.unleashed header [data-dw-itemtype="swift-v2_minicart"] a, body.unleashed header [data-dw-itemtype="swift-v2_minicart"] button {
  background: var(--u-yellow); border: var(--u-line) solid var(--u-ink); border-radius: 999px; box-shadow: 3px 3px 0 var(--u-ink); padding: .4rem .8rem; color: var(--u-ink);
}
body.unleashed header .badge, body.unleashed header [class*="minicart"] .badge { background: var(--u-pink) !important; color: var(--u-ink) !important; border: 2px solid var(--u-ink); font-family: var(--u-mono); }
body.unleashed .offcanvas { border-left: var(--u-line) solid var(--u-ink) !important; }
body.unleashed .offcanvas .nav-link { font-family: var(--u-display); font-weight: 800; font-size: 1.8rem; text-transform: uppercase; }

/* ---------- marquee ---------- */
body.unleashed [data-swift-gridcolumn]:has(> .u-marquee), body.unleashed [data-swift-gridcolumn]:has(.u-marquee) { min-width: 0; max-width: 100%; overflow: hidden; }
body.unleashed [data-swift-container]:has(.u-marquee) { min-width: 0; max-width: 100%; }
body.unleashed header section:has(.u-marquee) [data-swift-container] { --dw-container-width: 100%; padding: 0; }
body.unleashed .u-marquee { overflow: hidden; white-space: nowrap; padding: .55rem 0; font-family: var(--u-display); font-weight: 800; text-transform: uppercase; }
body.unleashed .u-marquee__track { display: inline-flex; animation: u-scroll var(--u-speed, 28s) linear infinite; will-change: transform; }
body.unleashed .u-marquee--reverse .u-marquee__track { animation-direction: reverse; }
body.unleashed .u-marquee:hover .u-marquee__track { animation-play-state: paused; }
body.unleashed .u-marquee__group { display: inline-flex; align-items: center; }
body.unleashed .u-marquee__item { padding: 0 1.1rem; font-size: clamp(.9rem, 1.2vw, 1.1rem); letter-spacing: .02em; }
body.unleashed .u-marquee__sep { color: var(--u-accent, var(--u-pink)); font-size: 1.1em; }
body.unleashed main .u-marquee { padding: 1.2rem 0; border-block: var(--u-line) solid var(--u-ink); }
body.unleashed main .u-marquee .u-marquee__item { font-size: clamp(2rem, 5vw, 4.5rem); letter-spacing: -.03em; }
body.unleashed main .u-marquee .u-marquee__sep { font-size: clamp(1.8rem, 4vw, 3.5rem); -webkit-text-stroke: 2px var(--u-ink); }
body.unleashed main [data-swift-gridrow]:has(.u-marquee) { --dw-row-space-top: 0; --dw-row-space-bottom: 0; }
body.unleashed main [data-swift-gridrow]:has(.u-marquee) [data-swift-container] { --dw-container-width: 100%; max-width: none; padding: 0; }
body.unleashed main [data-swift-gridrow]:has(.u-marquee):nth-of-type(odd) .u-marquee { transform: rotate(-1.2deg) scale(1.03); }
@keyframes u-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- hero ---------- */
body.unleashed .u-hero { position: relative; overflow: hidden; padding: clamp(2.5rem, 6vw, 6rem) 0 clamp(3rem, 7vw, 7rem);
  background-image: radial-gradient(rgba(255,255,255,.18) 2.4px, transparent 2.6px); background-size: 22px 22px; }
body.unleashed [data-swift-gridrow]:has(.u-hero) { --dw-row-space-top: 0; --dw-row-space-bottom: 0; }
body.unleashed [data-swift-gridrow]:has(.u-hero) > [data-swift-container] { --dw-container-width: 100%; max-width: none; padding: 0; }
body.unleashed .u-hero__inner { display: grid; grid-template-columns: 1.15fr .85fr; gap: 2rem; align-items: center; position: relative; z-index: 2; }
body.unleashed .u-hero__title :is(h1, h2, p) { font-family: var(--u-display); font-weight: 800; text-transform: uppercase; margin: 0;
  font-size: clamp(3.6rem, 10.5vw, 10.5rem); line-height: .82; letter-spacing: -.055em; }
body.unleashed .u-hero__title em { font-style: normal; color: var(--u-lime); text-shadow: .045em .045em 0 var(--u-ink); }
body.unleashed :is([data-dw-colorscheme="lime"], [data-dw-colorscheme="yellow"], [data-dw-colorscheme="sky"]) .u-hero__title em { color: var(--u-white); }
body.unleashed [data-dw-colorscheme="pink"] .u-hero__title em { color: var(--u-yellow); }
body.unleashed .u-hero__title strong { display: inline-block; background: var(--u-lime); color: var(--u-ink); padding: 0 .12em; border: var(--u-line) solid var(--u-ink);
  box-shadow: var(--u-shadow); transform: rotate(-3deg); border-radius: .12em; }
body.unleashed .u-hero__text { font-size: clamp(1.1rem, 1.5vw, 1.35rem); max-width: 38ch; margin: 1.6rem 0 2rem; font-weight: 500; }
body.unleashed .u-hero__actions { display: flex; flex-wrap: wrap; gap: 1rem; }
body.unleashed .u-hero__art { position: relative; transition: transform .2s linear; }
body.unleashed .u-hero__img { width: 115%; max-width: none; margin-left: -6%; filter: drop-shadow(0 0 0 transparent); animation: u-float 6s ease-in-out infinite; }
body.unleashed .u-hero__badge { position: absolute; right: 2%; top: -2%; width: clamp(110px, 12vw, 170px); aspect-ratio: 1; display: grid; place-items: center; }
body.unleashed .u-hero__badge svg { position: absolute; inset: 0; animation: u-spin 14s linear infinite; overflow: visible; }
body.unleashed .u-hero__badge circle { fill: var(--u-yellow); stroke: var(--u-ink); stroke-width: 4; }
body.unleashed .u-hero__badge text { font-family: var(--u-mono); font-weight: 700; font-size: 16.5px; letter-spacing: 1.5px; fill: var(--u-ink); text-transform: uppercase; }
body.unleashed .u-hero__badge span { position: relative; font-size: 2.6rem; color: var(--u-pink); -webkit-text-stroke: 2px var(--u-ink); }
body.unleashed .u-hero__sticker { position: absolute; z-index: 1; stroke: var(--u-ink); stroke-width: 4; overflow: visible; }
body.unleashed .u-hero__sticker--star { width: 90px; left: 3%; bottom: 8%; fill: var(--u-pink); animation: u-spin 18s linear infinite; }
body.unleashed .u-hero__sticker--bolt { width: 54px; left: 46%; top: 7%; fill: var(--u-yellow); animation: u-wiggle 2.6s ease-in-out infinite; }
body.unleashed .u-hero__sticker--ring { width: 120px; right: -30px; bottom: 10%; fill: none; stroke: var(--u-lime); stroke-width: 14; }
@keyframes u-float { 0%, 100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-18px) rotate(1.5deg); } }
@keyframes u-spin { to { transform: rotate(360deg); } }
@keyframes u-wiggle { 0%, 100% { transform: rotate(-10deg) scale(1); } 50% { transform: rotate(12deg) scale(1.12); } }

/* ---------- section heads, tags ---------- */
body.unleashed .u-tag { display: inline-block; font-family: var(--u-mono); font-weight: 700; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase;
  background: var(--u-white); color: var(--u-ink); border: 2px solid var(--u-ink); border-radius: 999px; padding: .3rem .8rem; box-shadow: 3px 3px 0 var(--u-ink); }
body.unleashed .u-tag--lime { background: var(--u-lime); }
body.unleashed .u-sechead { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 1.5rem 3rem; }
body.unleashed .u-sechead__left { display: grid; gap: 1rem; justify-items: start; }
body.unleashed .u-sechead__title :is(h1, h2, h3, p), body.unleashed h2.u-sechead__title { font-size: clamp(2.8rem, 7vw, 6.5rem); margin: 0; line-height: .85; }
body.unleashed .u-sechead__title em { font-style: normal; color: var(--u-pink); -webkit-text-stroke: 3px var(--u-ink); paint-order: stroke fill; }
body.unleashed [data-dw-colorscheme="dark"] .u-sechead__title em { color: var(--u-lime); -webkit-text-stroke: 0; }
body.unleashed [data-dw-colorscheme="pink"] .u-sechead__title em { color: var(--u-yellow); }
body.unleashed .u-sechead__right { max-width: 34ch; display: grid; gap: 1rem; justify-items: start; font-size: 1.1rem; }
body.unleashed .u-sechead__text p:last-child { margin: 0; }

/* ---------- statement ---------- */
body.unleashed .u-statement__label { margin-bottom: 1.5rem; }
body.unleashed .u-statement__label :is(p, h2, h3) { display: inline-block; font-family: var(--u-mono); font-size: .9rem; letter-spacing: .1em; text-transform: uppercase;
  border: 2px solid currentColor; border-radius: 999px; padding: .3rem .9rem; margin: 0; }
body.unleashed .u-statement__text { font-family: var(--u-display); font-weight: 800; text-transform: uppercase; letter-spacing: -.04em;
  font-size: clamp(2.2rem, 5.6vw, 5.4rem); line-height: .95; }
body.unleashed .u-statement__text p { margin: 0 0 .3em; }
body.unleashed .u-statement__text .u-w { opacity: .16; transition: opacity .35s, color .35s; }
body.unleashed .u-statement__text .u-w.is-lit { opacity: 1; }
body.unleashed .u-statement__text strong { font-weight: 800; }
body.unleashed .u-statement__text strong .u-w.is-lit { background: var(--u-accent, var(--u-pink)); color: var(--u-ink); padding: 0 .08em; box-shadow: 0 0 0 3px var(--u-ink); border-radius: .08em; }
body.unleashed .u-statement__actions { margin-top: 2.5rem; }

/* ---------- product rail (home) ---------- */
body.unleashed .u-rail__track { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(250px, 23vw, 330px); gap: 2rem;
  overflow-x: auto; scroll-snap-type: x mandatory; padding: 1.5rem .5rem 2.5rem; scrollbar-width: none; cursor: grab; }
body.unleashed .u-rail__track::-webkit-scrollbar { display: none; }
body.unleashed .u-rail__track.is-dragging { cursor: grabbing; scroll-snap-type: none; }
body.unleashed .u-rail__nav { display: flex; align-items: center; gap: 1rem; }
body.unleashed .u-rail__btn { width: 56px; height: 56px; border-radius: 50%; border: var(--u-line) solid var(--u-ink); background: var(--u-white); font-size: 1.5rem; font-weight: 700;
  box-shadow: 4px 4px 0 var(--u-ink); transition: transform .15s var(--u-ease); color: var(--u-ink); }
body.unleashed .u-rail__btn:hover { background: var(--u-lime); transform: rotate(-8deg) scale(1.06); }
body.unleashed .u-rail__bar { flex: 1; height: 10px; border: var(--u-line) solid var(--u-ink); border-radius: 99px; background: var(--u-white); overflow: hidden; }
body.unleashed .u-rail__bar span { display: block; height: 100%; width: 20%; background: var(--u-pink); border-right: var(--u-line) solid var(--u-ink); transition: width .2s; }

/* ---------- product cards (rail + product list) ---------- */
body.unleashed :is(.u-card, article.product) {
  position: relative; scroll-snap-align: start; background: var(--u-white); color: var(--u-ink); border: var(--u-line) solid var(--u-ink); border-radius: var(--u-r);
  box-shadow: var(--u-shadow); padding: .7rem .7rem 1rem; transition: transform .25s var(--u-ease), box-shadow .25s var(--u-ease);
}
body.unleashed .u-card { transform: rotate(calc((var(--i) - 2.5) * .6deg)); }
body.unleashed .u-card:nth-child(odd) { transform: rotate(-1.4deg); }
body.unleashed .u-card:nth-child(even) { transform: rotate(1.2deg) translateY(10px); }
body.unleashed :is(.u-card, article.product):hover { transform: rotate(0) translateY(-8px) scale(1.02); box-shadow: var(--u-shadow-lg); z-index: 3; }
body.unleashed .u-card__no { position: absolute; z-index: 4; top: -18px; left: -14px; font-family: var(--u-mono); font-weight: 700; font-size: .95rem;
  background: var(--u-ink); color: var(--u-lime); border-radius: 999px; padding: .35rem .7rem; transform: rotate(-8deg); pointer-events: none; }
body.unleashed :is(.u-card, article.product) [data-swift-gridrow] { --dw-row-space-top: .3rem; --dw-row-space-bottom: .3rem; }
body.unleashed :is(.u-card, article.product) [data-swift-container] { --dw-container-width: 100%; padding: 0; max-width: none; }
body.unleashed :is(.u-card, article.product) img { border-radius: calc(var(--u-r) - 8px); border: 2px solid var(--u-ink); }
body.unleashed :is(.u-card, article.product) :is(h2, h3, .h6, [itemprop="name"]) { font-family: var(--u-display) !important; font-weight: 800; text-transform: uppercase;
  font-size: 1.25rem !important; letter-spacing: -.02em; line-height: 1; }
body.unleashed :is(.u-card, article.product) .price, body.unleashed :is(.u-card, article.product) [itemprop="price"] { font-family: var(--u-mono); font-weight: 700; }
body.unleashed :is(.u-card, article.product) [data-dw-itemtype="swift-v2_productprice"] { font-family: var(--u-mono); font-weight: 700; font-size: 1.1rem; }
body.unleashed :is(.u-card, article.product) .btn { position: relative; z-index: 2; }
body.unleashed :is(.u-card, article.product) form .btn, body.unleashed :is(.u-card, article.product) button.btn { padding: .5rem .9rem; font-size: .85rem; }
body.unleashed article.product { margin-bottom: .6rem; }
body.unleashed .product-list .grid { gap: 2rem 1.6rem !important; }

/* ---------- bento categories ---------- */
body.unleashed .u-bento-wrap { display: grid; gap: 2rem; }
body.unleashed .u-bento { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: clamp(170px, 17vw, 250px); gap: 1.4rem; }
body.unleashed .u-bento__tile { position: relative; overflow: hidden; display: block; border: var(--u-line) solid var(--u-ink); border-radius: var(--u-r); box-shadow: var(--u-shadow);
  color: var(--u-ink); text-decoration: none; transition: transform .25s var(--u-ease), box-shadow .25s; }
body.unleashed .u-bento__tile:hover { transform: rotate(-1.5deg) scale(1.02); box-shadow: var(--u-shadow-lg); background: inherit; }
body.unleashed .u-bento__tile--hero { grid-column: span 2; grid-row: span 2; }
body.unleashed .u-bento__tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--u-ease); }
body.unleashed .u-bento__tile:hover img { transform: scale(1.08) rotate(2deg); }
body.unleashed .u-bento__name { position: absolute; left: .9rem; bottom: .7rem; font-family: var(--u-display); font-weight: 800; text-transform: uppercase; letter-spacing: -.04em;
  font-size: clamp(1.6rem, 2.8vw, 2.6rem); line-height: .9; background: var(--u-white); border: var(--u-line) solid var(--u-ink); border-radius: 14px; padding: .25rem .6rem .35rem; box-shadow: 4px 4px 0 var(--u-ink); }
body.unleashed .u-bento__tile--hero .u-bento__name { font-size: clamp(2.6rem, 5.5vw, 5rem); }
body.unleashed .u-bento__count { position: absolute; top: .8rem; left: .8rem; font-family: var(--u-mono); font-weight: 700; background: var(--u-ink); color: var(--u-lime); border-radius: 999px; padding: .2rem .6rem; }
body.unleashed .u-bento__go { position: absolute; right: .8rem; bottom: .8rem; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; font-size: 1.5rem; font-weight: 700;
  background: var(--u-lime); border: var(--u-line) solid var(--u-ink); transition: transform .3s var(--u-ease); }
body.unleashed .u-bento__tile:hover .u-bento__go { transform: rotate(-45deg) scale(1.15); }
body.unleashed .u-bento__tile--lime .u-bento__name { background: var(--u-lime); }
body.unleashed .u-bento__tile--pink .u-bento__name { background: var(--u-pink); }
body.unleashed .u-bento__tile--yellow .u-bento__name { background: var(--u-yellow); }
body.unleashed .u-bento__tile--sky .u-bento__name { background: var(--u-sky); }

/* ---------- sticker cards ---------- */
body.unleashed .u-sticker { position: relative; height: 100%; background: var(--u-white); color: var(--u-ink); border: var(--u-line) solid var(--u-ink); border-radius: 28px;
  box-shadow: var(--u-shadow); padding: 1.6rem 1.5rem 1.8rem; transform: rotate(-2deg); transition: transform .3s var(--u-ease); }
body.unleashed [data-swift-gridcolumn]:nth-child(2) .u-sticker { transform: rotate(1.8deg) translateY(14px); background: var(--u-lime); }
body.unleashed [data-swift-gridcolumn]:nth-child(3) .u-sticker { transform: rotate(-1deg); background: var(--u-yellow); }
body.unleashed [data-swift-gridcolumn]:nth-child(4) .u-sticker { transform: rotate(2.4deg); background: var(--u-sky); }
body.unleashed .u-sticker:hover { transform: rotate(0) scale(1.03); animation: u-jelly .5s; }
body.unleashed .u-sticker__img { width: 96px; height: 96px; margin: -3.4rem 0 1rem; border-radius: 50%; overflow: hidden; border: var(--u-line) solid var(--u-ink); box-shadow: 4px 4px 0 var(--u-ink); background: var(--u-white); }
body.unleashed .u-sticker__img img { width: 100%; height: 100%; object-fit: cover; }
body.unleashed .u-sticker__body :is(h2, h3, h4) { font-size: 1.9rem; margin-bottom: .6rem; }
body.unleashed .u-sticker__body p:last-child { margin: 0; }
body.unleashed .u-sticker__link { display: inline-block; margin-top: 1rem; font-weight: 700; text-transform: uppercase; color: inherit; }
@keyframes u-jelly { 0% { transform: scale(1, 1); } 30% { transform: scale(1.06, .94); } 50% { transform: scale(.96, 1.04); } 75% { transform: scale(1.02, .98); } 100% { transform: scale(1.03); } }

/* ---------- accordion ---------- */
body.unleashed .u-acc { display: grid; gap: 1rem; }
body.unleashed .u-acc__item { background: var(--u-white); border: var(--u-line) solid var(--u-ink); border-radius: 20px; box-shadow: var(--u-shadow); overflow: hidden; transition: transform .2s var(--u-ease); }
body.unleashed .u-acc__item[open] { background: var(--u-lime); transform: rotate(-.6deg); }
body.unleashed .u-acc__q { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.4rem; font-family: var(--u-display); font-weight: 800;
  text-transform: uppercase; font-size: clamp(1.15rem, 2vw, 1.6rem); letter-spacing: -.02em; }
body.unleashed .u-acc__q::-webkit-details-marker { display: none; }
body.unleashed .u-acc__no { font-family: var(--u-mono); font-size: .9rem; background: var(--u-ink); color: var(--u-lime); border-radius: 999px; padding: .2rem .6rem; }
body.unleashed .u-acc__title { flex: 1; }
body.unleashed .u-acc__icon { width: 42px; height: 42px; flex: none; border-radius: 50%; border: var(--u-line) solid var(--u-ink); display: grid; place-items: center; font-size: 1.6rem; background: var(--u-yellow); transition: transform .3s var(--u-ease); }
body.unleashed .u-acc__item[open] .u-acc__icon { transform: rotate(135deg); background: var(--u-pink); }
body.unleashed .u-acc__a { padding: 0 1.4rem 1.4rem 5rem; font-size: 1.08rem; }
body.unleashed .u-acc__a p:last-child { margin: 0; }

/* ---------- product list head ---------- */
body.unleashed .u-plhead { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2rem; padding: 1rem 0 2rem; border-bottom: var(--u-line) solid var(--u-ink); margin-bottom: 1rem; }
body.unleashed .u-plhead__name { position: relative; font-size: clamp(3.4rem, 11vw, 10rem); line-height: .8; margin: 1rem 0 1.2rem; letter-spacing: -.06em; }
body.unleashed .u-plhead__name { text-shadow: .05em .05em 0 var(--u-pink); }
body.unleashed .u-plhead__desc { max-width: 52ch; font-size: 1.15rem; }
body.unleashed .u-plhead__disc { width: clamp(140px, 18vw, 250px); aspect-ratio: 1; border-radius: 50%; overflow: hidden; border: var(--u-line) solid var(--u-ink); box-shadow: var(--u-shadow-lg); animation: u-spin 30s linear infinite; }
body.unleashed .u-plhead__disc img { width: 100%; height: 100%; object-fit: cover; }

/* facets + sort + breadcrumbs */
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] :is(.accordion-item, .card, fieldset, .dropdown) { border: var(--u-line) solid var(--u-ink) !important; border-radius: 16px !important; box-shadow: 4px 4px 0 var(--u-ink); margin-bottom: 1rem; overflow: hidden; background: var(--u-white); }
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] :is(.accordion-button, legend, h3, .h6) { font-family: var(--u-display); font-weight: 800; text-transform: uppercase; }
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] .form-check-input { border: 2px solid var(--u-ink); width: 1.25em; height: 1.25em; }
body.unleashed .form-check-input:checked { background-color: var(--u-pink); border-color: var(--u-ink); }
body.unleashed .breadcrumb { font-family: var(--u-mono); font-size: .85rem; text-transform: uppercase; }
body.unleashed .form-select, body.unleashed .form-control { border: var(--u-line) solid var(--u-ink); border-radius: 14px; box-shadow: 3px 3px 0 var(--u-ink); }
body.unleashed .form-select:focus, body.unleashed .form-control:focus { border-color: var(--u-ink); box-shadow: 3px 3px 0 var(--u-pink); }

/* ---------- product detail ---------- */
body.unleashed .u-phead { display: grid; gap: 1rem; }
body.unleashed .u-phead__tags { display: flex; flex-wrap: wrap; gap: .6rem; }
body.unleashed .u-phead__name { font-size: clamp(2.8rem, 5.2vw, 5.2rem); line-height: .86; margin: .2rem 0 0; letter-spacing: -.05em; }
body.unleashed .u-phead__no { font-family: var(--u-mono); font-size: .9rem; opacity: .7; }
body.unleashed [data-dw-itemtype="swift-v2_productmedia"] img { border: var(--u-line) solid var(--u-ink); border-radius: var(--u-r); box-shadow: var(--u-shadow-lg); }
body.unleashed [data-dw-itemtype="swift-v2_productmedia"] .swiffy-slider, body.unleashed [data-dw-itemtype="swift-v2_productmedia"] .slider-container { overflow: visible; }
body.unleashed [data-dw-itemtype="swift-v2_productcomponentselector"] { position: relative; }
body.unleashed [data-swift-gridcolumn][data-dw-itemtype="swift-v2_productcomponentselector"] { background: var(--u-white); border: var(--u-line) solid var(--u-ink); border-radius: 28px; box-shadow: var(--u-shadow-lg); padding: 1.4rem 1.5rem 1.8rem; align-self: start; }
body.unleashed [data-dw-itemtype="swift-v2_productprice"] .fs-4, body.unleashed [data-dw-itemtype="swift-v2_productprice"] .h3, body.unleashed .u-pdp-price { font-family: var(--u-mono); font-weight: 700; }
body.unleashed [data-dw-itemtype="swift-v2_productcomponentselector"] [data-dw-itemtype="swift-v2_productprice"] { font-size: 2.2rem; font-family: var(--u-mono); font-weight: 700; }
body.unleashed [data-dw-itemtype="swift-v2_productcomponentselector"] [data-dw-itemtype="swift-v2_productprice"] * { font-family: var(--u-mono) !important; }
body.unleashed [data-dw-itemtype="swift-v2_productcomponentselector"] [data-dw-itemtype="swift-v2_productprice"] .text-decoration-line-through { font-size: .55em; opacity: .6; }
body.unleashed [data-dw-itemtype="swift-v2_productvariantselector"] :is(.btn, label.btn, input + label) { border-radius: 14px !important; min-width: 64px; box-shadow: 3px 3px 0 var(--u-ink); font-family: var(--u-mono); background: var(--u-white); color: var(--u-ink); }
body.unleashed [data-dw-itemtype="swift-v2_productvariantselector"] :is(.btn-check:checked + .btn, .btn.active, input:checked + label) { background: var(--u-ink) !important; color: var(--u-lime) !important; transform: rotate(-3deg); }
body.unleashed [data-dw-itemtype="swift-v2_productaddtocart"] .btn-primary, body.unleashed [data-dw-itemtype="swift-v2_productaddtocart"] button[type="submit"] {
  font-size: 1.1rem; padding: 1rem 1.6rem; background: var(--u-pink) !important; color: var(--u-ink) !important; }
body.unleashed [data-dw-itemtype="swift-v2_productaddtocart"] .btn-primary:hover { background: var(--u-lime) !important; }
body.unleashed [data-dw-itemtype="swift-v2_productaddtocart"] input[type="number"], body.unleashed .js-input-qty, body.unleashed input[name^="Quantity"] { border: var(--u-line) solid var(--u-ink); border-radius: 14px; font-family: var(--u-mono); font-weight: 700; }

/* ---------- cart / checkout / modals ---------- */
body.unleashed :is(.modal-content, .offcanvas, .dropdown-menu, .toast) { border: var(--u-line) solid var(--u-ink); border-radius: 22px; box-shadow: var(--u-shadow-lg); }
body.unleashed .offcanvas { border-radius: 0; }
body.unleashed :is(.card, .list-group) { border: var(--u-line) solid var(--u-ink); border-radius: 20px; }
body.unleashed .table { --bs-table-border-color: var(--u-ink); }
body.unleashed :is([data-dw-itemtype="swift-v2_cartapp"], [data-dw-itemtype="swift-v2_checkoutapp"]) h1 { font-size: clamp(3rem, 8vw, 7rem); }

/* ---------- footer + giant wordmark ---------- */
body.unleashed footer[data-swift-page-footer] { border-top: var(--u-line) solid var(--u-ink); }
body.unleashed footer[data-swift-page-footer] .nav-link { font-family: var(--u-display); font-weight: 800; text-transform: uppercase; font-size: 1.3rem; padding: .2rem 0; }
body.unleashed footer[data-swift-page-footer] .nav-link:hover { color: var(--u-lime); transform: translateX(6px); transition: transform .2s var(--u-ease); }
body.unleashed footer [data-dw-itemtype="swift-v2_logo"] img { max-height: 70px; width: auto; }
body.unleashed .u-bigmark { overflow: hidden; white-space: nowrap; background: var(--u-ink); color: var(--u-lime); border-top: var(--u-line) solid var(--u-ink); padding: 1rem 0 0; line-height: .78; }
body.unleashed .u-bigmark__track { display: inline-flex; animation: u-scroll 22s linear infinite; }
body.unleashed .u-bigmark span { font-family: var(--u-display); font-weight: 800; font-size: clamp(6rem, 22vw, 22rem); letter-spacing: -.06em; padding-right: .2em; }
body.unleashed .u-bigmark span:nth-child(even) { color: var(--u-pink); }

/* ---------- chrome extras: progress bar, grain, back-to-top ---------- */
body.unleashed .u-progress { position: fixed; z-index: 2000; top: 0; left: 0; right: 0; height: 6px; pointer-events: none; }
body.unleashed .u-progress span { display: block; height: 100%; width: 100%; transform-origin: 0 50%; transform: scaleX(var(--u-p, 0));
  background: linear-gradient(90deg, var(--u-lime), var(--u-pink), var(--u-violet)); }
body.unleashed .u-grain { position: fixed; inset: -60px; width: calc(100vw + 120px); height: calc(100vh + 120px); z-index: 1999; pointer-events: none; opacity: .07; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation: u-grain 1.2s steps(6) infinite; }
@keyframes u-grain { 0% { transform: translate(0, 0); } 25% { transform: translate(-3%, 2%); } 50% { transform: translate(2%, -3%); } 75% { transform: translate(-2%, -1%); } 100% { transform: translate(1%, 3%); } }
body.unleashed .u-totop { position: fixed; z-index: 1040; right: 18px; bottom: 18px; width: 92px; height: 92px; display: grid; place-items: center; border-radius: 50%;
  background: var(--u-lime); border: var(--u-line) solid var(--u-ink); box-shadow: 4px 4px 0 var(--u-ink); color: var(--u-ink); text-decoration: none;
  opacity: 0; transform: scale(.5) rotate(-90deg); transition: opacity .3s, transform .4s var(--u-ease); pointer-events: none; }
body.unleashed .u-totop.is-on { opacity: 1; transform: none; pointer-events: auto; }
body.unleashed .u-totop svg { position: absolute; inset: 4px; animation: u-spin 10s linear infinite; }
body.unleashed .u-totop text { font-family: var(--u-mono); font-weight: 700; font-size: 11.5px; letter-spacing: 1px; fill: var(--u-ink); }
body.unleashed .u-totop span { font-size: 1.6rem; font-weight: 800; }
body.unleashed .u-totop:hover { background: var(--u-pink) !important; box-shadow: 4px 4px 0 var(--u-ink) !important; }

/* ---------- reveal on scroll ---------- */
body.unleashed.u-js main section[data-swift-gridrow] > [data-swift-container] > [data-swift-gridcolumn] { opacity: 0; transform: translateY(40px) rotate(1deg); transition: opacity .7s ease, transform .8s var(--u-ease); }
body.unleashed.u-js main section[data-swift-gridrow] > [data-swift-container] > [data-swift-gridcolumn]:nth-child(2) { transition-delay: .08s; }
body.unleashed.u-js main section[data-swift-gridrow] > [data-swift-container] > [data-swift-gridcolumn]:nth-child(3) { transition-delay: .16s; }
body.unleashed.u-js main section[data-swift-gridrow] > [data-swift-container] > [data-swift-gridcolumn]:nth-child(4) { transition-delay: .24s; }
body.unleashed.u-js main section[data-swift-gridrow].is-in > [data-swift-container] > [data-swift-gridcolumn] { opacity: 1; transform: none; }

/* ---------- add-to-cart burst ---------- */
.u-burst { position: fixed; z-index: 3000; pointer-events: none; width: 0; height: 0; }
.u-burst i { position: absolute; left: -9px; top: -9px; width: 18px; height: 18px; border: 2px solid #0e0e10; border-radius: 4px; animation: u-burst .8s cubic-bezier(.1, .8, .3, 1) forwards; }
@keyframes u-burst { to { transform: translate(var(--x), var(--y)) rotate(var(--r)); opacity: 0; } }

/* ---------- content pages ---------- */
body.unleashed main [data-swift-text] :is(h1, .display-1, .display-2, .display-3, .display-4) { font-size: clamp(3rem, 8vw, 7.5rem); }
body.unleashed main [data-swift-text] :is(h2) { font-size: clamp(2.2rem, 4.6vw, 4.2rem); }
body.unleashed main [data-dw-itemtype="swift-v2_image"] img { border: var(--u-line) solid var(--u-ink); border-radius: 28px; box-shadow: var(--u-shadow-lg); transform: rotate(-1.5deg); }
body.unleashed main [data-swift-gridcolumn]:nth-child(2) [data-dw-itemtype="swift-v2_image"] img, body.unleashed main [data-swift-gridcolumn]:nth-child(2)[data-dw-itemtype="swift-v2_image"] img { transform: rotate(1.5deg); }

/* ---------- small screens ---------- */
@media (max-width: 991.98px) {
  body.unleashed .u-hero__inner { grid-template-columns: 1fr; }
  body.unleashed .u-hero__art { order: -1; max-width: 520px; margin: 0 auto -1rem; }
  body.unleashed .u-hero__img { width: 100%; margin: 0; }
  body.unleashed .u-hero__badge { width: 96px; right: 0; top: 0; }
  body.unleashed .u-hero__badge text { font-size: 17px; }
  body.unleashed .u-hero__sticker--bolt { left: 80%; top: 3%; }
  body.unleashed .u-bento { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 170px; gap: 1rem; }
  body.unleashed .u-plhead { grid-template-columns: 1fr; }
  body.unleashed .u-plhead__disc { position: absolute; right: 0; top: 0; width: 96px; }
  body.unleashed .u-acc__a { padding-left: 1.4rem; }
  body.unleashed .u-rail__track { grid-auto-columns: 74%; gap: 1.2rem; }
  body.unleashed .u-sticker { margin-top: 2.4rem; }
  body.unleashed .u-totop { width: 72px; height: 72px; right: 12px; bottom: 12px; }
  body.unleashed .u-totop text { font-size: 10px; }
  body.unleashed .u-grain { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  body.unleashed *, body.unleashed *::before, body.unleashed *::after { animation-duration: .001s !important; animation-iteration-count: 1 !important; transition-duration: .001s !important; }
  body.unleashed .u-marquee__track, body.unleashed .u-bigmark__track { animation: none; }
}

/* ---------- overflow guard: marquees, tilted cards and spinning discs must never widen the page ---------- */
html:has(> body.unleashed) { overflow-x: clip; }
body.unleashed section[data-swift-gridrow], body.unleashed .u-plhead { overflow-x: clip; overflow-clip-margin: 0; }
body.unleashed main section[data-swift-gridrow]:has(.u-rail, .u-bento, .u-sticker, .u-card) { overflow-x: clip; overflow-y: visible; }


/* ---------- round 2 ---------- */
body.unleashed .u-hero__inner { width: min(100% - 32px, 1360px); margin-inline: auto; padding: 0; --dw-container-width: 100%; }
body.unleashed .u-sechead__left { min-width: 0; }
/* add to cart: a disabled button must not look broken: say what to do */
body.unleashed [data-dw-itemtype="swift-v2_productaddtocart"] .js-add-to-cart-button:disabled { opacity: 1; background: var(--u-white) !important; border-style: dashed !important; box-shadow: none; color: rgba(14,14,16,.55) !important; }
body.unleashed [data-swift-gridcolumn][data-dw-itemtype="swift-v2_productaddtocart"]:has(.js-add-to-cart-button:disabled)::before {
  content: "\2191  Pick a size first"; display: inline-block; margin-bottom: .7rem; font-family: var(--u-mono); font-weight: 700; font-size: .85rem; text-transform: uppercase;
  background: var(--u-yellow); border: 2px solid var(--u-ink); border-radius: 999px; padding: .25rem .8rem; transform: rotate(-2deg); }
body.unleashed :is(.u-card, article.product) [data-swift-gridrow]:has([data-dw-itemtype="swift-v2_productaddtocart"] .js-add-to-cart-button:disabled) { display: none; }
/* variant chips */
body.unleashed .js-variant-option { border: var(--u-line) solid var(--u-ink) !important; border-radius: 14px !important; min-width: 70px; font-family: var(--u-mono); font-weight: 700; background: var(--u-white); box-shadow: 3px 3px 0 var(--u-ink); }
body.unleashed .js-variant-option:is(.active, .checked, [aria-pressed="true"]) { background: var(--u-ink) !important; color: var(--u-lime) !important; transform: rotate(-3deg); }
body.unleashed [data-dw-itemtype="swift-v2_productvariantselector"] h3 { font-family: var(--u-mono) !important; text-transform: uppercase; font-size: .85rem !important; letter-spacing: .08em; }
/* facets + sort as sticker chips */
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] .border-bottom { border: var(--u-line) solid var(--u-ink) !important; border-radius: 18px; background: var(--u-white); box-shadow: 4px 4px 0 var(--u-ink); padding: .9rem 1rem !important; margin-bottom: 1.1rem; }
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] h2.h6 { font-family: var(--u-display); font-weight: 800; text-transform: uppercase; font-size: 1.2rem; opacity: 1 !important; }
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] .d-flex.flex-column.gap-2 { flex-direction: row !important; flex-wrap: wrap; gap: .45rem !important; margin-top: .6rem; }
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] .form-check { padding: 0; margin: 0; }
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] .form-check-input { position: absolute; opacity: 0; pointer-events: none; }
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] .form-check-label { display: inline-block; cursor: pointer; font-weight: 700; font-size: .85rem; text-transform: uppercase; border: 2px solid var(--u-ink); border-radius: 999px; padding: .3rem .75rem; background: var(--u-paper); transition: transform .15s var(--u-ease); }
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] .form-check-label:hover { background: var(--u-lime); transform: rotate(-3deg); }
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] .form-check-input:checked + .form-check-label { background: var(--u-ink); color: var(--u-lime); }
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] .form-check-input:focus-visible + .form-check-label { outline: 3px solid var(--u-pink); outline-offset: 2px; }
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] .navbar .nav-link { font-family: var(--u-display); font-weight: 800; text-transform: uppercase; font-size: 1.15rem; padding: .15rem .6rem !important; border-radius: 999px; }
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] .nav-item.active .nav-link { background: var(--u-lime); border: 2px solid var(--u-ink); }
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] .navbar .nav-link:hover { background: var(--u-pink); }
body.unleashed #ProductListLoadMore .opacity-85 { display: inline-block; font-family: var(--u-mono); font-weight: 700; text-transform: uppercase; font-size: .8rem; border: 2px solid var(--u-ink); border-radius: 999px; padding: .25rem .8rem; background: var(--u-yellow); opacity: 1 !important; }
body.unleashed .breadcrumb { background: var(--u-white); display: inline-flex; border: 2px solid var(--u-ink); border-radius: 999px; padding: .3rem .9rem; box-shadow: 3px 3px 0 var(--u-ink); }
/* bento: the sixth tile becomes a wide banner instead of an orphan */
body.unleashed .u-bento__tile:nth-child(6):last-child { grid-column: 1 / -1; }
body.unleashed .u-bento__tile:nth-child(6):last-child img { object-position: center 40%; }
/* PDP extras */
body.unleashed [data-swift-gridcolumn][data-dw-itemtype="swift-v2_productcomponentselector"] [data-dw-itemtype="swift-v2_productshortdescription"] { font-size: 1.1rem; }
/* footer extras */
body.unleashed footer .u-sechead__title :is(h2, p) { font-size: clamp(2.4rem, 5vw, 4.4rem); }
body.unleashed footer form .form-control { background: var(--u-paper); color: var(--u-ink); }
body.unleashed footer :is(label, .form-label) { font-family: var(--u-mono); text-transform: uppercase; font-size: .8rem; }
@media (max-width: 991.98px) {
  body.unleashed [data-swift-gridcolumn]:has(> .u-sticker) { grid-column: 1 / -1 !important; }
  body.unleashed .u-sticker { transform: rotate(-1.5deg) !important; }
  body.unleashed .u-bento__go { display: none; }
  body.unleashed .u-bento__name { font-size: 1.35rem; left: .6rem; bottom: .6rem; }
  body.unleashed .u-bento__tile--hero .u-bento__name { font-size: 2.4rem; }
  body.unleashed .u-bento__tile--hero { grid-column: 1 / -1; }
  body.unleashed main [data-dw-itemtype="swift-v2_image"] img { max-height: 46vh; width: 100%; object-fit: cover; }
  body.unleashed header[data-swift-page-header] [data-swift-container] { padding-inline: 12px; }
  body.unleashed header [data-dw-itemtype="swift-v2_minicart"] { margin-right: 6px; }
  body.unleashed header [data-dw-itemtype="swift-v2_logo"] img { max-height: 34px; }
  body.unleashed .u-hero__title :is(h1, h2, p) { font-size: clamp(3.2rem, 17vw, 5rem); }
  body.unleashed .u-sechead__title :is(h1, h2, h3, p), body.unleashed h2.u-sechead__title { font-size: clamp(2.6rem, 13vw, 4rem); }
  body.unleashed .u-statement__text { font-size: clamp(2rem, 9.5vw, 3rem); }
  body.unleashed .u-plhead__name { font-size: clamp(3rem, 16vw, 5rem); }
}


/* ---------- round 3 ---------- */
/* phones: Swift's big column gaps (gap 5-6) would push 12-track grids wider than the screen */
@media (max-width: 991.98px) {
  body.unleashed section[data-swift-gridrow] { --dw-row-gap-column: .9rem !important; }
  body.unleashed [data-swift-gridcolumn]:has(.u-sticker) { grid-column: 1 / -1 !important; }
  body.unleashed header [data-swift-container] { min-width: 0; }
  body.unleashed header [data-swift-gridcolumn] { min-width: 0; }
  body.unleashed .u-sechead__title { max-width: 100%; }
  body.unleashed :is(.u-sechead, .u-statement, .u-hero__copy) { overflow-wrap: anywhere; }
}
/* cards: equal heights, the action row always sits at the bottom */
body.unleashed :is(.u-card, article.product) { display: flex; flex-direction: column; }
body.unleashed :is(.u-card, article.product) > section:last-of-type { margin-top: auto; }
body.unleashed :is(.u-card, article.product) [data-dw-itemtype="swift-v2_productprice"] small { display: none; }
body.unleashed :is(.u-card, article.product) [data-dw-itemtype="swift-v2_productprice"] .text-price { white-space: nowrap; }
body.unleashed :is(.u-card, article.product) [data-swift-gridrow]:has([data-dw-itemtype="swift-v2_productaddtocart"] .js-add-to-cart-button:disabled) { display: block; }
body.unleashed :is(.u-card, article.product) .js-add-to-cart-button:disabled { pointer-events: none; }
/* a disabled add-to-cart becomes a clear instruction instead of a dead button */
body.unleashed .js-add-to-cart-button:disabled { opacity: 1 !important; background: var(--u-yellow) !important; border-style: solid !important; color: var(--u-ink) !important; box-shadow: 4px 4px 0 var(--u-ink) !important; font-size: 0 !important; }
body.unleashed .js-add-to-cart-button:disabled > * { display: none !important; }
body.unleashed .js-add-to-cart-button:disabled::after { content: "Pick a size \2192"; font-size: .85rem; letter-spacing: .04em; }
body.unleashed [data-dw-itemtype="swift-v2_productaddtocart"] .js-add-to-cart-button:disabled::after { content: "Pick a size above \2191"; font-size: 1rem; }
body.unleashed [data-swift-gridcolumn][data-dw-itemtype="swift-v2_productaddtocart"]:has(.js-add-to-cart-button:disabled)::before { content: none; display: none; }
/* product detail: sticky, bigger buy box */
@media (min-width: 992px) {
  body.unleashed [data-swift-gridcolumn][data-dw-itemtype="swift-v2_productcomponentselector"] { position: sticky; top: 140px; padding: 2rem 2rem 2.2rem; }
  body.unleashed .u-phead__name { font-size: clamp(3.2rem, 5.6vw, 6rem); }
}
body.unleashed [data-dw-itemtype="swift-v2_productvariantselector"] { margin-top: 1.2rem; }
body.unleashed [data-dw-itemtype="swift-v2_productaddtocart"] .js-add-to-cart-button { min-width: 260px; justify-content: center; }
/* product list: group navigation as chips, so the sidebar stays short */
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] nav.navbar .navbar-nav { flex-direction: row; flex-wrap: wrap; gap: .35rem; }
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] .nav-link .icon-3 { display: none; }
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] .navbar .nav-link { border: 2px solid var(--u-ink); background: var(--u-paper); font-size: 1rem; }
@media (min-width: 992px) { body.unleashed [data-swift-gridcolumn][data-dw-itemtype="swift-v2_productlistfacets"] { position: sticky; top: 140px; align-self: start; } }
/* header: bigger wordmark, sticker cart */
@media (min-width: 992px) { body.unleashed header [data-dw-itemtype="swift-v2_logo"] img { max-height: 64px; } }
body.unleashed header [data-dw-itemtype="swift-v2_minicart"] :is(a, button) { transform: rotate(-4deg); font-weight: 800; }
body.unleashed header [data-dw-itemtype="swift-v2_minicart"] :is(a, button):hover { transform: rotate(4deg) scale(1.08); background: var(--u-lime); }
body.unleashed header [data-dw-itemtype="swift-v2_minicart"] .badge { font-size: .85rem; transform: rotate(10deg); }
/* footer form on one row, readable label */
body.unleashed footer .form-floating > label { color: var(--u-ink); opacity: .7; }
body.unleashed footer form .grid { display: grid; grid-template-columns: 1fr auto; gap: .8rem; align-items: center; }
body.unleashed footer form .grid > * { grid-column: auto !important; margin: 0 !important; }
body.unleashed footer form .btn { white-space: nowrap; }
@media (max-width: 575.98px) { body.unleashed footer form .grid { grid-template-columns: 1fr; } }
body.unleashed :is(.u-card, article.product) .js-add-to-cart-button { min-width: 0 !important; max-width: 100%; white-space: normal !important; }
body.unleashed :is(.u-card, article.product) [data-dw-itemtype="swift-v2_productaddtocart"] :is(form, .d-flex) { max-width: 100%; min-width: 0; }


/* ---------- round 4 ---------- */
/* disabled add-to-cart: solid instruction everywhere (selectors carry the same weight as the round-2 rule they replace) */
body.unleashed [data-dw-itemtype="swift-v2_productaddtocart"] .js-add-to-cart-button.btn:disabled { opacity: 1 !important; background: var(--u-yellow) !important; border-style: solid !important; color: var(--u-ink) !important; box-shadow: 4px 4px 0 var(--u-ink) !important; font-size: 0 !important; }
body.unleashed :is(.u-card, article.product) [data-dw-itemtype="swift-v2_productaddtocart"] .js-add-to-cart-button.btn:disabled::after { content: "Choose size \2192"; font-size: .85rem; }
@media (max-width: 575.98px) { body.unleashed :is(.u-card, article.product) [data-dw-itemtype="swift-v2_productaddtocart"] .js-add-to-cart-button.btn:disabled::after { content: "Size \2192"; } }
/* PDP: description + stock inside the sticky buy box */
body.unleashed [data-dw-itemtype="swift-v2_productlongdescription"] { font-size: 1rem; border-top: 2px dashed var(--u-ink); padding-top: 1rem; }
body.unleashed [data-dw-itemtype="swift-v2_productlongdescription"] p:last-child { margin: 0; }
body.unleashed [data-dw-itemtype="swift-v2_productstock"] { font-family: var(--u-mono); font-weight: 700; text-transform: uppercase; font-size: .85rem; }
/* product list sidebar: drop the "< Shop" up-link box, bigger chips */
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] .navbar.ms-n2 { display: none !important; }
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] .form-check-label { font-size: .95rem; padding: .4rem .9rem; }
/* footer */
body.unleashed footer [data-dw-itemtype="swift-v2_text"] :is(h3, h4) { font-size: 1.3rem; color: var(--u-lime); margin-bottom: .8rem; }
body.unleashed footer [data-dw-itemtype="swift-v2_text"] ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .35rem; }
body.unleashed footer [data-dw-itemtype="swift-v2_text"] a { color: inherit; font-weight: 700; text-decoration: none; }
body.unleashed footer [data-dw-itemtype="swift-v2_text"] a:hover { color: var(--u-ink); }
body.unleashed footer .form-floating > label { font-family: var(--u-body); font-size: 1rem; text-transform: none; opacity: 1; color: #3a3a40; }
body.unleashed footer section { --dw-row-gap-row: 1.2rem; }
body.unleashed .u-bigmark { padding-left: 0; }
/* deck fan reacts to scroll */
body.unleashed .u-hero__img { transform-origin: 50% 60%; }


/* ---------- round 5 ---------- */
/* one container gutter everywhere; nested component grids just fill their parent */
body.unleashed :is(main, header, footer) > section[data-swift-gridrow]:not(:has(> [data-swift-container] > [data-swift-gridcolumn] > :is(.u-marquee, .u-hero))) > [data-swift-container] { width: min(100% - 2 * clamp(16px, 3.4vw, 56px), 1380px); margin-inline: auto; padding-inline: 0; }
body.unleashed :is(main, header, footer) section[data-swift-gridrow] section[data-swift-gridrow] > [data-swift-container] { width: 100%; margin-inline: 0; }
body.unleashed .u-hero__inner { width: min(100% - 2 * clamp(16px, 3.4vw, 56px), 1380px); }
body.unleashed .u-rail { margin-inline: 0; }
/* footer: wraps on small screens, consistent link sizes, no duplicate disclaimer */
body.unleashed footer [data-swift-container].d-flex { flex-wrap: wrap; row-gap: 1.6rem; }
@media (max-width: 991.98px) { body.unleashed footer [data-swift-container].d-flex > [data-swift-gridcolumn] { flex: 1 1 100%; min-width: 0; } }
@media (min-width: 576px) and (max-width: 991.98px) { body.unleashed footer [data-swift-container].d-flex > [data-swift-gridcolumn] { flex-basis: calc(50% - 1rem); } }
body.unleashed footer[data-swift-page-footer] .nav-link { font-size: 1.05rem; }
body.unleashed footer [data-dw-itemtype="swift-v2_text"] a { font-size: 1.05rem; }
/* product page */
body.unleashed .u-phead__no { display: none; }
body.unleashed [data-swift-gridcolumn][data-dw-itemtype="swift-v2_productcomponentselector"] [data-dw-itemtype="swift-v2_productaddtocart"] { padding-top: 1rem; }
body.unleashed [data-dw-itemtype="swift-v2_productmedia"] img { width: 100%; max-height: 82vh; object-fit: contain; }
body.unleashed [data-dw-itemtype="swift-v2_productstock"] > * { display: inline-block; background: var(--u-lime); color: var(--u-ink) !important; border: 2px solid var(--u-ink); border-radius: 999px; padding: .2rem .7rem; }
body.unleashed [data-dw-itemtype="swift-v2_productstock"] * { color: var(--u-ink) !important; }
/* one button language: pink = buy, white outline = go choose */
body.unleashed :is(.u-card, article.product) [data-dw-itemtype="swift-v2_productaddtocart"] .js-add-to-cart-button.btn:disabled { background: var(--u-white) !important; box-shadow: 3px 3px 0 var(--u-ink) !important; }
/* header: the current section gets a lime sticker */
body.unleashed header .nav-link.u-current { background: var(--u-lime); border-color: var(--u-ink); color: var(--u-ink); transform: rotate(-3deg); }
/* phones: decoration stays out of the copy, tighter sections */
@media (max-width: 767.98px) {
  body.unleashed .u-hero__sticker--star, body.unleashed .u-hero__sticker--ring { display: none; }
  body.unleashed .u-hero__sticker--bolt { width: 34px; top: 2%; left: 86%; }
}
@media (max-width: 991.98px) {
  body.unleashed section[data-swift-gridrow]:is([data-dw-row-space-top="5"], [data-dw-row-space-top="6"], [data-dw-row-space-top="7"], [data-dw-row-space-top="8"]) { --dw-row-space-top: 2.75rem; }
  body.unleashed section[data-swift-gridrow]:is([data-dw-row-space-bottom="5"], [data-dw-row-space-bottom="6"], [data-dw-row-space-bottom="7"], [data-dw-row-space-bottom="8"]) { --dw-row-space-bottom: 2.75rem; }
  body.unleashed .u-rail__track { padding-bottom: 1.5rem; }
}



/* ---------- round 6 ---------- */
/* header: a single loud row */
@media (min-width: 992px) {
  body.unleashed header [data-dw-itemtype="swift-v2_navigation"] { display: flex; justify-content: center; }
  body.unleashed header [data-dw-itemtype="swift-v2_searchfield"] { max-width: 260px; }
  body.unleashed header section[data-swift-gridrow] > [data-swift-container] { align-items: center; }
}
body.unleashed header [data-dw-itemtype="swift-v2_minicart"] :is(a, button) { background: var(--u-lime); font-size: 1rem; padding: .5rem 1rem; }
/* product page */
body.unleashed [data-swift-gridcolumn][data-dw-itemtype="swift-v2_productcomponentselector"] [data-dw-itemtype="swift-v2_productnumber"] { display: none; }
@media (min-width: 992px) { body.unleashed .u-phead__name { font-size: clamp(3rem, 4.6vw, 5rem); } }
/* product list: no duplicate "Navigation" box (the header and the chips above already navigate) */
body.unleashed [data-dw-itemtype="swift-v2_productlistfacets"] .border-bottom:has(.navbar) { display: none; }
/* cards: one button shape and colour, only the label changes */
body.unleashed :is(.u-card, article.product) [data-dw-itemtype="swift-v2_productaddtocart"] .js-add-to-cart-button.btn:disabled { background: var(--u-pink) !important; box-shadow: 3px 3px 0 var(--u-ink) !important; }
body.unleashed :is(.u-card, article.product) [data-dw-itemtype="swift-v2_productaddtocart"] .js-add-to-cart-button.btn:disabled::after { content: "Pick size \2192"; }
/* footer: headed columns */
body.unleashed footer [data-dw-itemtype="swift-v2_navigation"]::before { content: "Explore"; display: block; font-family: var(--u-display); font-weight: 800; text-transform: uppercase; font-size: 1.3rem; color: var(--u-lime); margin-bottom: .8rem; }
/* bento label never runs under the arrow */
body.unleashed .u-bento__name { max-width: calc(100% - 84px); overflow-wrap: anywhere; }
@media (max-width: 991.98px) { body.unleashed .u-bento__name { max-width: calc(100% - 1.2rem); } }
/* hero body copy: bigger and heavier on colour */
body.unleashed .u-hero__text { font-size: clamp(1.15rem, 1.6vw, 1.45rem); font-weight: 700; }

/* ---------- round 6b: single-row header must fit ---------- */
@media (min-width: 992px) {
  body.unleashed header section[data-swift-gridrow] { --dw-row-gap-column: 1rem; }
  body.unleashed header [data-swift-gridcolumn]:empty { display: none; }
  body.unleashed header [data-swift-gridcolumn][data-dw-itemtype="swift-v2_navigation"] { flex: 1 1 auto; min-width: 0; }
  body.unleashed header [data-swift-gridcolumn]:is([data-dw-itemtype="swift-v2_logo"], [data-dw-itemtype="swift-v2_minicart"], [data-dw-itemtype="swift-v2_searchfield"]) { flex: 0 0 auto; }
  body.unleashed header .nav-link { font-size: 1.08rem; padding: .3rem .62rem !important; margin: 0; }
  body.unleashed header [data-dw-itemtype="swift-v2_searchfield"] { width: 210px; }
}
@media (min-width: 992px) and (max-width: 1299.98px) {
  body.unleashed header [data-dw-itemtype="swift-v2_searchfield"] { width: 150px; }
  body.unleashed header .nav-link { font-size: .95rem; padding: .25rem .45rem !important; }
}

/* ---------- final polish ---------- */
body.unleashed .u-bento__name { overflow-wrap: normal; word-break: keep-all; hyphens: none; font-size: clamp(1.3rem, 2.1vw, 2.2rem); }
body.unleashed .u-bento__tile--hero .u-bento__name { font-size: clamp(2.4rem, 5vw, 4.6rem); }
@media (max-width: 991.98px) { body.unleashed .u-bento__name { font-size: clamp(1rem, 5.2vw, 1.35rem); } }
body.unleashed [data-dw-colorscheme="yellow"] .u-sechead__title em, body.unleashed [data-dw-colorscheme="lime"] .u-sechead__title em { color: var(--u-white); }
body.unleashed [data-dw-itemtype="swift-v2_productstock"] { display: flex; }
body.unleashed [data-dw-itemtype="swift-v2_productstock"] > * { width: auto !important; flex: 0 0 auto; }
@media (min-width: 992px) { body.unleashed .u-hero__title :is(h1, h2, p) { font-size: clamp(5rem, 12.5vw, 12.5rem); } }
