/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
@font-face {
  font-family: "FontAwesome";
  src: url("../fonts/fontawesome-webfont.eot?v=4.7.0");
  src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0")
      format("embedded-opentype"),
    url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"),
    url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"),
    url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"),
    url("../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular")
      format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* The legacy cart drawer is superseded by .jc-cart-drawer and must never enter page flow. */
#jerseycore-cart-drawer,
.cart-drawer-overlay:not(.jc-cart-overlay) {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.fa-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}
.fa-2x {
  font-size: 2em;
}
.fa-3x {
  font-size: 3em;
}
.fa-4x {
  font-size: 4em;
}
.fa-5x {
  font-size: 5em;
}
.fa-fw {
  width: 1.28571429em;
  text-align: center;
}
.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none;
}
.fa-ul > li {
  position: relative;
}
.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: 0.14285714em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.85714286em;
}
.fa-border {
  padding: 0.2em 0.25em 0.15em;
  border: solid 0.08em #eee;
  border-radius: 0.1em;
}
.fa-pull-left {
  float: left;
}
.fa-pull-right {
  float: right;
}
.fa.fa-pull-left {
  margin-right: 0.3em;
}
.fa.fa-pull-right {
  margin-left: 0.3em;
}
.pull-right {
  float: right;
}
.pull-left {
  float: left;
}
.fa.pull-left {
  margin-right: 0.3em;
}
.fa.pull-right {
  margin-left: 0.3em;
}
.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}
.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8);
}
@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}
.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}
.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}
:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}
.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}
.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}
.fa-stack-1x {
  line-height: inherit;
}
.fa-stack-2x {
  font-size: 2em;
}
.fa-inverse {
  color: #fff;
}
.fa-glass:before {
  content: "\f000";
}
.fa-music:before {
  content: "\f001";
}
.fa-search:before {
  content: "\f002";
}
.fa-envelope-o:before {
  content: "\f003";
}
.fa-heart:before {
  content: "\f004";
}
.fa-star:before {
  content: "\f005";
}
.fa-star-o:before {
  content: "\f006";
}
.fa-user:before {
  content: "\f007";
}
.fa-film:before {
  content: "\f008";
}
.fa-th-large:before {
  content: "\f009";
}
.fa-th:before {
  content: "\f00a";
}
.fa-th-list:before {
  content: "\f00b";
}
.fa-check:before {
  content: "\f00c";
}
.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "\f00d";
}
.fa-search-plus:before {
  content: "\f00e";
}
.fa-search-minus:before {
  content: "\f010";
}
.fa-power-off:before {
  content: "\f011";
}
.fa-signal:before {
  content: "\f012";
}
.fa-gear:before,
.fa-cog:before {
  content: "\f013";
}
.fa-trash-o:before {
  content: "\f014";
}
.fa-home:before {
  content: "\f015";
}
.fa-file-o:before {
  content: "\f016";
}
.fa-clock-o:before {
  content: "\f017";
}
.fa-road:before {
  content: "\f018";
}
.fa-download:before {
  content: "\f019";
}
.fa-arrow-circle-o-down:before {
  content: "\f01a";
}
.fa-arrow-circle-o-up:before {
  content: "\f01b";
}
.fa-inbox:before {
  content: "\f01c";
}
.fa-play-circle-o:before {
  content: "\f01d";
}
.fa-rotate-right:before,
.fa-repeat:before {
  content: "\f01e";
}
.fa-refresh:before {
  content: "\f021";
}
.fa-list-alt:before {
  content: "\f022";
}
.fa-lock:before {
  content: "\f023";
}
.fa-flag:before {
  content: "\f024";
}
.fa-headphones:before {
  content: "\f025";
}
.fa-volume-off:before {
  content: "\f026";
}
.fa-volume-down:before {
  content: "\f027";
}
.fa-volume-up:before {
  content: "\f028";
}
.fa-qrcode:before {
  content: "\f029";
}
.fa-barcode:before {
  content: "\f02a";
}
.fa-tag:before {
  content: "\f02b";
}
.fa-tags:before {
  content: "\f02c";
}
.fa-book:before {
  content: "\f02d";
}
.fa-bookmark:before {
  content: "\f02e";
}
.fa-print:before {
  content: "\f02f";
}
.fa-camera:before {
  content: "\f030";
}
.fa-font:before {
  content: "\f031";
}
.fa-bold:before {
  content: "\f032";
}
.fa-italic:before {
  content: "\f033";
}
.fa-text-height:before {
  content: "\f034";
}
.fa-text-width:before {
  content: "\f035";
}
.fa-align-left:before {
  content: "\f036";
}
.fa-align-center:before {
  content: "\f037";
}
.fa-align-right:before {
  content: "\f038";
}
.fa-align-justify:before {
  content: "\f039";
}
.fa-list:before {
  content: "\f03a";
}
.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b";
}
.fa-indent:before {
  content: "\f03c";
}
.fa-video-camera:before {
  content: "\f03d";
}
.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\f03e";
}
.fa-pencil:before {
  content: "\f040";
}
.fa-map-marker:before {
  content: "\f041";
}
.fa-adjust:before {
  content: "\f042";
}
.fa-tint:before {
  content: "\f043";
}
.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\f044";
}
.fa-share-square-o:before {
  content: "\f045";
}
.fa-check-square-o:before {
  content: "\f046";
}
.fa-arrows:before {
  content: "\f047";
}
.fa-step-backward:before {
  content: "\f048";
}
.fa-fast-backward:before {
  content: "\f049";
}
.fa-backward:before {
  content: "\f04a";
}
.fa-play:before {
  content: "\f04b";
}
.fa-pause:before {
  content: "\f04c";
}
.fa-stop:before {
  content: "\f04d";
}
.fa-forward:before {
  content: "\f04e";
}
.fa-fast-forward:before {
  content: "\f050";
}
.fa-step-forward:before {
  content: "\f051";
}
.fa-eject:before {
  content: "\f052";
}
.fa-chevron-left:before {
  content: "\f053";
}
.fa-chevron-right:before {
  content: "\f054";
}
.fa-plus-circle:before {
  content: "\f055";
}
.fa-minus-circle:before {
  content: "\f056";
}
.fa-times-circle:before {
  content: "\f057";
}
.fa-check-circle:before {
  content: "\f058";
}
.fa-question-circle:before {
  content: "\f059";
}
.fa-info-circle:before {
  content: "\f05a";
}
.fa-crosshairs:before {
  content: "\f05b";
}
.fa-times-circle-o:before {
  content: "\f05c";
}
.fa-check-circle-o:before {
  content: "\f05d";
}
.fa-ban:before {
  content: "\f05e";
}
.fa-arrow-left:before {
  content: "\f060";
}
.fa-arrow-right:before {
  content: "\f061";
}
.fa-arrow-up:before {
  content: "\f062";
}
.fa-arrow-down:before {
  content: "\f063";
}
.fa-mail-forward:before,
.fa-share:before {
  content: "\f064";
}
.fa-expand:before {
  content: "\f065";
}
.fa-compress:before {
  content: "\f066";
}
.fa-plus:before {
  content: "\f067";
}
.fa-minus:before {
  content: "\f068";
}
.fa-asterisk:before {
  content: "\f069";
}
.fa-exclamation-circle:before {
  content: "\f06a";
}
.fa-gift:before {
  content: "\f06b";
}
.fa-leaf:before {
  content: "\f06c";
}
.fa-fire:before {
  content: "\f06d";
}
.fa-eye:before {
  content: "\f06e";
}
.fa-eye-slash:before {
  content: "\f070";
}
.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\f071";
}
.fa-plane:before {
  content: "\f072";
}
.fa-calendar:before {
  content: "\f073";
}
.fa-random:before {
  content: "\f074";
}
.fa-comment:before {
  content: "\f075";
}
.fa-magnet:before {
  content: "\f076";
}
.fa-chevron-up:before {
  content: "\f077";
}
.fa-chevron-down:before {
  content: "\f078";
}
.fa-retweet:before {
  content: "\f079";
}
.fa-shopping-cart:before {
  content: "\f07a";
}
.fa-folder:before {
  content: "\f07b";
}
.fa-folder-open:before {
  content: "\f07c";
}
.fa-arrows-v:before {
  content: "\f07d";
}
.fa-arrows-h:before {
  content: "\f07e";
}
.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "\f080";
}
.fa-twitter-square:before {
  content: "\f081";
}
.fa-facebook-square:before {
  content: "\f082";
}
.fa-camera-retro:before {
  content: "\f083";
}
.fa-key:before {
  content: "\f084";
}
.fa-gears:before,
.fa-cogs:before {
  content: "\f085";
}
.fa-comments:before {
  content: "\f086";
}
.fa-thumbs-o-up:before {
  content: "\f087";
}
.fa-thumbs-o-down:before {
  content: "\f088";
}
.fa-star-half:before {
  content: "\f089";
}
.fa-heart-o:before {
  content: "\f08a";
}
.fa-sign-out:before {
  content: "\f08b";
}
.fa-linkedin-square:before {
  content: "\f08c";
}
.fa-thumb-tack:before {
  content: "\f08d";
}
.fa-external-link:before {
  content: "\f08e";
}
.fa-sign-in:before {
  content: "\f090";
}
.fa-trophy:before {
  content: "\f091";
}
.fa-github-square:before {
  content: "\f092";
}
.fa-upload:before {
  content: "\f093";
}
.fa-lemon-o:before {
  content: "\f094";
}
.fa-phone:before {
  content: "\f095";
}
.fa-square-o:before {
  content: "\f096";
}
.fa-bookmark-o:before {
  content: "\f097";
}
.fa-phone-square:before {
  content: "\f098";
}
.fa-twitter:before {
  content: "\f099";
}
.fa-facebook-f:before,
.fa-facebook:before {
  content: "\f09a";
}
.fa-github:before {
  content: "\f09b";
}
.fa-unlock:before {
  content: "\f09c";
}
.fa-credit-card:before {
  content: "\f09d";
}
.fa-feed:before,
.fa-rss:before {
  content: "\f09e";
}
.fa-hdd-o:before {
  content: "\f0a0";
}
.fa-bullhorn:before {
  content: "\f0a1";
}
.fa-bell:before {
  content: "\f0f3";
}
.fa-certificate:before {
  content: "\f0a3";
}
.fa-hand-o-right:before {
  content: "\f0a4";
}
.fa-hand-o-left:before {
  content: "\f0a5";
}
.fa-hand-o-up:before {
  content: "\f0a6";
}
.fa-hand-o-down:before {
  content: "\f0a7";
}
.fa-arrow-circle-left:before {
  content: "\f0a8";
}
.fa-arrow-circle-right:before {
  content: "\f0a9";
}
.fa-arrow-circle-up:before {
  content: "\f0aa";
}
.fa-arrow-circle-down:before {
  content: "\f0ab";
}
.fa-globe:before {
  content: "\f0ac";
}
.fa-wrench:before {
  content: "\f0ad";
}
.fa-tasks:before {
  content: "\f0ae";
}
.fa-filter:before {
  content: "\f0b0";
}
.fa-briefcase:before {
  content: "\f0b1";
}
.fa-arrows-alt:before {
  content: "\f0b2";
}
.fa-group:before,
.fa-users:before {
  content: "\f0c0";
}
.fa-chain:before,
.fa-link:before {
  content: "\f0c1";
}
.fa-cloud:before {
  content: "\f0c2";
}
.fa-flask:before {
  content: "\f0c3";
}
.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4";
}
.fa-copy:before,
.fa-files-o:before {
  content: "\f0c5";
}
.fa-paperclip:before {
  content: "\f0c6";
}
.fa-save:before,
.fa-floppy-o:before {
  content: "\f0c7";
}
.fa-square:before {
  content: "\f0c8";
}
.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\f0c9";
}
.fa-list-ul:before {
  content: "\f0ca";
}
.fa-list-ol:before {
  content: "\f0cb";
}
.fa-strikethrough:before {
  content: "\f0cc";
}
.fa-underline:before {
  content: "\f0cd";
}
.fa-table:before {
  content: "\f0ce";
}
.fa-magic:before {
  content: "\f0d0";
}
.fa-truck:before {
  content: "\f0d1";
}
.fa-pinterest:before {
  content: "\f0d2";
}
.fa-pinterest-square:before {
  content: "\f0d3";
}
.fa-google-plus-square:before {
  content: "\f0d4";
}
.fa-google-plus:before {
  content: "\f0d5";
}
.fa-money:before {
  content: "\f0d6";
}
.fa-caret-down:before {
  content: "\f0d7";
}
.fa-caret-up:before {
  content: "\f0d8";
}
.fa-caret-left:before {
  content: "\f0d9";
}
.fa-caret-right:before {
  content: "\f0da";
}
.fa-columns:before {
  content: "\f0db";
}
.fa-unsorted:before,
.fa-sort:before {
  content: "\f0dc";
}
.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\f0dd";
}
.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\f0de";
}
.fa-envelope:before {
  content: "\f0e0";
}
.fa-linkedin:before {
  content: "\f0e1";
}
.fa-rotate-left:before,
.fa-undo:before {
  content: "\f0e2";
}
.fa-legal:before,
.fa-gavel:before {
  content: "\f0e3";
}
.fa-dashboard:before,
.fa-tachometer:before {
  content: "\f0e4";
}
.fa-comment-o:before {
  content: "\f0e5";
}
.fa-comments-o:before {
  content: "\f0e6";
}
.fa-flash:before,
.fa-bolt:before {
  content: "\f0e7";
}
.fa-sitemap:before {
  content: "\f0e8";
}
.fa-umbrella:before {
  content: "\f0e9";
}
.fa-paste:before,
.fa-clipboard:before {
  content: "\f0ea";
}
.fa-lightbulb-o:before {
  content: "\f0eb";
}
.fa-exchange:before {
  content: "\f0ec";
}
.fa-cloud-download:before {
  content: "\f0ed";
}
.fa-cloud-upload:before {
  content: "\f0ee";
}
.fa-user-md:before {
  content: "\f0f0";
}
.fa-stethoscope:before {
  content: "\f0f1";
}
.fa-suitcase:before {
  content: "\f0f2";
}
.fa-bell-o:before {
  content: "\f0a2";
}
.fa-coffee:before {
  content: "\f0f4";
}
.fa-cutlery:before {
  content: "\f0f5";
}
.fa-file-text-o:before {
  content: "\f0f6";
}
.fa-building-o:before {
  content: "\f0f7";
}
.fa-hospital-o:before {
  content: "\f0f8";
}
.fa-ambulance:before {
  content: "\f0f9";
}
.fa-medkit:before {
  content: "\f0fa";
}
.fa-fighter-jet:before {
  content: "\f0fb";
}
.fa-beer:before {
  content: "\f0fc";
}
.fa-h-square:before {
  content: "\f0fd";
}
.fa-plus-square:before {
  content: "\f0fe";
}
.fa-angle-double-left:before {
  content: "\f100";
}
.fa-angle-double-right:before {
  content: "\f101";
}
.fa-angle-double-up:before {
  content: "\f102";
}
.fa-angle-double-down:before {
  content: "\f103";
}
.fa-angle-left:before {
  content: "\f104";
}
.fa-angle-right:before {
  content: "\f105";
}
.fa-angle-up:before {
  content: "\f106";
}
.fa-angle-down:before {
  content: "\f107";
}
.fa-desktop:before {
  content: "\f108";
}
.fa-laptop:before {
  content: "\f109";
}
.fa-tablet:before {
  content: "\f10a";
}
.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\f10b";
}
.fa-circle-o:before {
  content: "\f10c";
}
.fa-quote-left:before {
  content: "\f10d";
}
.fa-quote-right:before {
  content: "\f10e";
}
.fa-spinner:before {
  content: "\f110";
}
.fa-circle:before {
  content: "\f111";
}
.fa-mail-reply:before,
.fa-reply:before {
  content: "\f112";
}
.fa-github-alt:before {
  content: "\f113";
}
.fa-folder-o:before {
  content: "\f114";
}
.fa-folder-open-o:before {
  content: "\f115";
}
.fa-smile-o:before {
  content: "\f118";
}
.fa-frown-o:before {
  content: "\f119";
}
.fa-meh-o:before {
  content: "\f11a";
}
.fa-gamepad:before {
  content: "\f11b";
}
.fa-keyboard-o:before {
  content: "\f11c";
}
.fa-flag-o:before {
  content: "\f11d";
}
.fa-flag-checkered:before {
  content: "\f11e";
}
.fa-terminal:before {
  content: "\f120";
}
.fa-code:before {
  content: "\f121";
}
.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\f122";
}
.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\f123";
}
.fa-location-arrow:before {
  content: "\f124";
}
.fa-crop:before {
  content: "\f125";
}
.fa-code-fork:before {
  content: "\f126";
}
.fa-unlink:before,
.fa-chain-broken:before {
  content: "\f127";
}
.fa-question:before {
  content: "\f128";
}
.fa-info:before {
  content: "\f129";
}
.fa-exclamation:before {
  content: "\f12a";
}
.fa-superscript:before {
  content: "\f12b";
}
.fa-subscript:before {
  content: "\f12c";
}
.fa-eraser:before {
  content: "\f12d";
}
.fa-puzzle-piece:before {
  content: "\f12e";
}
.fa-microphone:before {
  content: "\f130";
}
.fa-microphone-slash:before {
  content: "\f131";
}
.fa-shield:before {
  content: "\f132";
}
.fa-calendar-o:before {
  content: "\f133";
}
.fa-fire-extinguisher:before {
  content: "\f134";
}
.fa-rocket:before {
  content: "\f135";
}
.fa-maxcdn:before {
  content: "\f136";
}
.fa-chevron-circle-left:before {
  content: "\f137";
}
.fa-chevron-circle-right:before {
  content: "\f138";
}
.fa-chevron-circle-up:before {
  content: "\f139";
}
.fa-chevron-circle-down:before {
  content: "\f13a";
}
.fa-html5:before {
  content: "\f13b";
}
.fa-css3:before {
  content: "\f13c";
}
.fa-anchor:before {
  content: "\f13d";
}
.fa-unlock-alt:before {
  content: "\f13e";
}
.fa-bullseye:before {
  content: "\f140";
}
.fa-ellipsis-h:before {
  content: "\f141";
}
.fa-ellipsis-v:before {
  content: "\f142";
}
.fa-rss-square:before {
  content: "\f143";
}
.fa-play-circle:before {
  content: "\f144";
}
.fa-ticket:before {
  content: "\f145";
}
.fa-minus-square:before {
  content: "\f146";
}
.fa-minus-square-o:before {
  content: "\f147";
}
.fa-level-up:before {
  content: "\f148";
}
.fa-level-down:before {
  content: "\f149";
}
.fa-check-square:before {
  content: "\f14a";
}
.fa-pencil-square:before {
  content: "\f14b";
}
.fa-external-link-square:before {
  content: "\f14c";
}
.fa-share-square:before {
  content: "\f14d";
}
.fa-compass:before {
  content: "\f14e";
}
.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\f150";
}
.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\f151";
}
.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\f152";
}
.fa-euro:before,
.fa-eur:before {
  content: "\f153";
}
.fa-gbp:before {
  content: "\f154";
}
.fa-dollar:before,
.fa-usd:before {
  content: "\f155";
}
.fa-rupee:before,
.fa-inr:before {
  content: "\f156";
}
.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\f157";
}
.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\f158";
}
.fa-won:before,
.fa-krw:before {
  content: "\f159";
}
.fa-bitcoin:before,
.fa-btc:before {
  content: "\f15a";
}
.fa-file:before {
  content: "\f15b";
}
.fa-file-text:before {
  content: "\f15c";
}
.fa-sort-alpha-asc:before {
  content: "\f15d";
}
.fa-sort-alpha-desc:before {
  content: "\f15e";
}
.fa-sort-amount-asc:before {
  content: "\f160";
}
.fa-sort-amount-desc:before {
  content: "\f161";
}
.fa-sort-numeric-asc:before {
  content: "\f162";
}
.fa-sort-numeric-desc:before {
  content: "\f163";
}
.fa-thumbs-up:before {
  content: "\f164";
}
.fa-thumbs-down:before {
  content: "\f165";
}
.fa-youtube-square:before {
  content: "\f166";
}
.fa-youtube:before {
  content: "\f167";
}
.fa-xing:before {
  content: "\f168";
}
.fa-xing-square:before {
  content: "\f169";
}
.fa-youtube-play:before {
  content: "\f16a";
}
.fa-dropbox:before {
  content: "\f16b";
}
.fa-stack-overflow:before {
  content: "\f16c";
}
.fa-instagram:before {
  content: "\f16d";
}
.fa-flickr:before {
  content: "\f16e";
}
.fa-adn:before {
  content: "\f170";
}
.fa-bitbucket:before {
  content: "\f171";
}
.fa-bitbucket-square:before {
  content: "\f172";
}
.fa-tumblr:before {
  content: "\f173";
}
.fa-tumblr-square:before {
  content: "\f174";
}
.fa-long-arrow-down:before {
  content: "\f175";
}
.fa-long-arrow-up:before {
  content: "\f176";
}
.fa-long-arrow-left:before {
  content: "\f177";
}
.fa-long-arrow-right:before {
  content: "\f178";
}
.fa-apple:before {
  content: "\f179";
}
.fa-windows:before {
  content: "\f17a";
}
.fa-android:before {
  content: "\f17b";
}
.fa-linux:before {
  content: "\f17c";
}
.fa-dribbble:before {
  content: "\f17d";
}
.fa-skype:before {
  content: "\f17e";
}
.fa-foursquare:before {
  content: "\f180";
}
.fa-trello:before {
  content: "\f181";
}
.fa-female:before {
  content: "\f182";
}
.fa-male:before {
  content: "\f183";
}
.fa-gittip:before,
.fa-gratipay:before {
  content: "\f184";
}
.fa-sun-o:before {
  content: "\f185";
}
.fa-moon-o:before {
  content: "\f186";
}
.fa-archive:before {
  content: "\f187";
}
.fa-bug:before {
  content: "\f188";
}
.fa-vk:before {
  content: "\f189";
}
.fa-weibo:before {
  content: "\f18a";
}
.fa-renren:before {
  content: "\f18b";
}
.fa-pagelines:before {
  content: "\f18c";
}
.fa-stack-exchange:before {
  content: "\f18d";
}
.fa-arrow-circle-o-right:before {
  content: "\f18e";
}
.fa-arrow-circle-o-left:before {
  content: "\f190";
}
.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\f191";
}
.fa-dot-circle-o:before {
  content: "\f192";
}
.fa-wheelchair:before {
  content: "\f193";
}
.fa-vimeo-square:before {
  content: "\f194";
}
.fa-turkish-lira:before,
.fa-try:before {
  content: "\f195";
}
.fa-plus-square-o:before {
  content: "\f196";
}
.fa-space-shuttle:before {
  content: "\f197";
}
.fa-slack:before {
  content: "\f198";
}
.fa-envelope-square:before {
  content: "\f199";
}
.fa-wordpress:before {
  content: "\f19a";
}
.fa-openid:before {
  content: "\f19b";
}
.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\f19c";
}
.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\f19d";
}
.fa-yahoo:before {
  content: "\f19e";
}
.fa-google:before {
  content: "\f1a0";
}
.fa-reddit:before {
  content: "\f1a1";
}
.fa-reddit-square:before {
  content: "\f1a2";
}
.fa-stumbleupon-circle:before {
  content: "\f1a3";
}
.fa-stumbleupon:before {
  content: "\f1a4";
}
.fa-delicious:before {
  content: "\f1a5";
}
.fa-digg:before {
  content: "\f1a6";
}
.fa-pied-piper-pp:before {
  content: "\f1a7";
}
.fa-pied-piper-alt:before {
  content: "\f1a8";
}
.fa-drupal:before {
  content: "\f1a9";
}
.fa-joomla:before {
  content: "\f1aa";
}
.fa-language:before {
  content: "\f1ab";
}
.fa-fax:before {
  content: "\f1ac";
}
.fa-building:before {
  content: "\f1ad";
}
.fa-child:before {
  content: "\f1ae";
}
.fa-paw:before {
  content: "\f1b0";
}
.fa-spoon:before {
  content: "\f1b1";
}
.fa-cube:before {
  content: "\f1b2";
}
.fa-cubes:before {
  content: "\f1b3";
}
.fa-behance:before {
  content: "\f1b4";
}
.fa-behance-square:before {
  content: "\f1b5";
}
.fa-steam:before {
  content: "\f1b6";
}
.fa-steam-square:before {
  content: "\f1b7";
}
.fa-recycle:before {
  content: "\f1b8";
}
.fa-automobile:before,
.fa-car:before {
  content: "\f1b9";
}
.fa-cab:before,
.fa-taxi:before {
  content: "\f1ba";
}
.fa-tree:before {
  content: "\f1bb";
}
.fa-spotify:before {
  content: "\f1bc";
}
.fa-deviantart:before {
  content: "\f1bd";
}
.fa-soundcloud:before {
  content: "\f1be";
}
.fa-database:before {
  content: "\f1c0";
}
.fa-file-pdf-o:before {
  content: "\f1c1";
}
.fa-file-word-o:before {
  content: "\f1c2";
}
.fa-file-excel-o:before {
  content: "\f1c3";
}
.fa-file-powerpoint-o:before {
  content: "\f1c4";
}
.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\f1c5";
}
.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\f1c6";
}
.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\f1c7";
}
.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\f1c8";
}
.fa-file-code-o:before {
  content: "\f1c9";
}
.fa-vine:before {
  content: "\f1ca";
}
.fa-codepen:before {
  content: "\f1cb";
}
.fa-jsfiddle:before {
  content: "\f1cc";
}
.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\f1cd";
}
.fa-circle-o-notch:before {
  content: "\f1ce";
}
.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
  content: "\f1d0";
}
.fa-ge:before,
.fa-empire:before {
  content: "\f1d1";
}
.fa-git-square:before {
  content: "\f1d2";
}
.fa-git:before {
  content: "\f1d3";
}
.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: "\f1d4";
}
.fa-tencent-weibo:before {
  content: "\f1d5";
}
.fa-qq:before {
  content: "\f1d6";
}
.fa-wechat:before,
.fa-weixin:before {
  content: "\f1d7";
}
.fa-send:before,
.fa-paper-plane:before {
  content: "\f1d8";
}
.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "\f1d9";
}
.fa-history:before {
  content: "\f1da";
}
.fa-circle-thin:before {
  content: "\f1db";
}
.fa-header:before {
  content: "\f1dc";
}
.fa-paragraph:before {
  content: "\f1dd";
}
.fa-sliders:before {
  content: "\f1de";
}
.fa-share-alt:before {
  content: "\f1e0";
}
.fa-share-alt-square:before {
  content: "\f1e1";
}
.fa-bomb:before {
  content: "\f1e2";
}
.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "\f1e3";
}
.fa-tty:before {
  content: "\f1e4";
}
.fa-binoculars:before {
  content: "\f1e5";
}
.fa-plug:before {
  content: "\f1e6";
}
.fa-slideshare:before {
  content: "\f1e7";
}
.fa-twitch:before {
  content: "\f1e8";
}
.fa-yelp:before {
  content: "\f1e9";
}
.fa-newspaper-o:before {
  content: "\f1ea";
}
.fa-wifi:before {
  content: "\f1eb";
}
.fa-calculator:before {
  content: "\f1ec";
}
.fa-paypal:before {
  content: "\f1ed";
}
.fa-google-wallet:before {
  content: "\f1ee";
}
.fa-cc-visa:before {
  content: "\f1f0";
}
.fa-cc-mastercard:before {
  content: "\f1f1";
}
.fa-cc-discover:before {
  content: "\f1f2";
}
.fa-cc-amex:before {
  content: "\f1f3";
}
.fa-cc-paypal:before {
  content: "\f1f4";
}
.fa-cc-stripe:before {
  content: "\f1f5";
}
.fa-bell-slash:before {
  content: "\f1f6";
}
.fa-bell-slash-o:before {
  content: "\f1f7";
}
.fa-trash:before {
  content: "\f1f8";
}
.fa-copyright:before {
  content: "\f1f9";
}
.fa-at:before {
  content: "\f1fa";
}
.fa-eyedropper:before {
  content: "\f1fb";
}
.fa-paint-brush:before {
  content: "\f1fc";
}
.fa-birthday-cake:before {
  content: "\f1fd";
}
.fa-area-chart:before {
  content: "\f1fe";
}
.fa-pie-chart:before {
  content: "\f200";
}
.fa-line-chart:before {
  content: "\f201";
}
.fa-lastfm:before {
  content: "\f202";
}
.fa-lastfm-square:before {
  content: "\f203";
}
.fa-toggle-off:before {
  content: "\f204";
}
.fa-toggle-on:before {
  content: "\f205";
}
.fa-bicycle:before {
  content: "\f206";
}
.fa-bus:before {
  content: "\f207";
}
.fa-ioxhost:before {
  content: "\f208";
}
.fa-angellist:before {
  content: "\f209";
}
.fa-cc:before {
  content: "\f20a";
}
.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "\f20b";
}
.fa-meanpath:before {
  content: "\f20c";
}
.fa-buysellads:before {
  content: "\f20d";
}
.fa-connectdevelop:before {
  content: "\f20e";
}
.fa-dashcube:before {
  content: "\f210";
}
.fa-forumbee:before {
  content: "\f211";
}
.fa-leanpub:before {
  content: "\f212";
}
.fa-sellsy:before {
  content: "\f213";
}
.fa-shirtsinbulk:before {
  content: "\f214";
}
.fa-simplybuilt:before {
  content: "\f215";
}
.fa-skyatlas:before {
  content: "\f216";
}
.fa-cart-plus:before {
  content: "\f217";
}
.fa-cart-arrow-down:before {
  content: "\f218";
}
.fa-diamond:before {
  content: "\f219";
}
.fa-ship:before {
  content: "\f21a";
}
.fa-user-secret:before {
  content: "\f21b";
}
.fa-motorcycle:before {
  content: "\f21c";
}
.fa-street-view:before {
  content: "\f21d";
}
.fa-heartbeat:before {
  content: "\f21e";
}
.fa-venus:before {
  content: "\f221";
}
.fa-mars:before {
  content: "\f222";
}
.fa-mercury:before {
  content: "\f223";
}
.fa-intersex:before,
.fa-transgender:before {
  content: "\f224";
}
.fa-transgender-alt:before {
  content: "\f225";
}
.fa-venus-double:before {
  content: "\f226";
}
.fa-mars-double:before {
  content: "\f227";
}
.fa-venus-mars:before {
  content: "\f228";
}
.fa-mars-stroke:before {
  content: "\f229";
}
.fa-mars-stroke-v:before {
  content: "\f22a";
}
.fa-mars-stroke-h:before {
  content: "\f22b";
}
.fa-neuter:before {
  content: "\f22c";
}
.fa-genderless:before {
  content: "\f22d";
}
.fa-facebook-official:before {
  content: "\f230";
}
.fa-pinterest-p:before {
  content: "\f231";
}
.fa-whatsapp:before {
  content: "\f232";
}
.fa-server:before {
  content: "\f233";
}
.fa-user-plus:before {
  content: "\f234";
}
.fa-user-times:before {
  content: "\f235";
}
.fa-hotel:before,
.fa-bed:before {
  content: "\f236";
}
.fa-viacoin:before {
  content: "\f237";
}
.fa-train:before {
  content: "\f238";
}
.fa-subway:before {
  content: "\f239";
}
.fa-medium:before {
  content: "\f23a";
}
.fa-yc:before,
.fa-y-combinator:before {
  content: "\f23b";
}
.fa-optin-monster:before {
  content: "\f23c";
}
.fa-opencart:before {
  content: "\f23d";
}
.fa-expeditedssl:before {
  content: "\f23e";
}
.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
  content: "\f240";
}
.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: "\f241";
}
.fa-battery-2:before,
.fa-battery-half:before {
  content: "\f242";
}
.fa-battery-1:before,
.fa-battery-quarter:before {
  content: "\f243";
}
.fa-battery-0:before,
.fa-battery-empty:before {
  content: "\f244";
}
.fa-mouse-pointer:before {
  content: "\f245";
}
.fa-i-cursor:before {
  content: "\f246";
}
.fa-object-group:before {
  content: "\f247";
}
.fa-object-ungroup:before {
  content: "\f248";
}
.fa-sticky-note:before {
  content: "\f249";
}
.fa-sticky-note-o:before {
  content: "\f24a";
}
.fa-cc-jcb:before {
  content: "\f24b";
}
.fa-cc-diners-club:before {
  content: "\f24c";
}
.fa-clone:before {
  content: "\f24d";
}
.fa-balance-scale:before {
  content: "\f24e";
}
.fa-hourglass-o:before {
  content: "\f250";
}
.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: "\f251";
}
.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: "\f252";
}
.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: "\f253";
}
.fa-hourglass:before {
  content: "\f254";
}
.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: "\f255";
}
.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: "\f256";
}
.fa-hand-scissors-o:before {
  content: "\f257";
}
.fa-hand-lizard-o:before {
  content: "\f258";
}
.fa-hand-spock-o:before {
  content: "\f259";
}
.fa-hand-pointer-o:before {
  content: "\f25a";
}
.fa-hand-peace-o:before {
  content: "\f25b";
}
.fa-trademark:before {
  content: "\f25c";
}
.fa-registered:before {
  content: "\f25d";
}
.fa-creative-commons:before {
  content: "\f25e";
}
.fa-gg:before {
  content: "\f260";
}
.fa-gg-circle:before {
  content: "\f261";
}
.fa-tripadvisor:before {
  content: "\f262";
}
.fa-odnoklassniki:before {
  content: "\f263";
}
.fa-odnoklassniki-square:before {
  content: "\f264";
}
.fa-get-pocket:before {
  content: "\f265";
}
.fa-wikipedia-w:before {
  content: "\f266";
}
.fa-safari:before {
  content: "\f267";
}
.fa-chrome:before {
  content: "\f268";
}
.fa-firefox:before {
  content: "\f269";
}
.fa-opera:before {
  content: "\f26a";
}
.fa-internet-explorer:before {
  content: "\f26b";
}
.fa-tv:before,
.fa-television:before {
  content: "\f26c";
}
.fa-contao:before {
  content: "\f26d";
}
.fa-500px:before {
  content: "\f26e";
}
.fa-amazon:before {
  content: "\f270";
}
.fa-calendar-plus-o:before {
  content: "\f271";
}
.fa-calendar-minus-o:before {
  content: "\f272";
}
.fa-calendar-times-o:before {
  content: "\f273";
}
.fa-calendar-check-o:before {
  content: "\f274";
}
.fa-industry:before {
  content: "\f275";
}
.fa-map-pin:before {
  content: "\f276";
}
.fa-map-signs:before {
  content: "\f277";
}
.fa-map-o:before {
  content: "\f278";
}
.fa-map:before {
  content: "\f279";
}
.fa-commenting:before {
  content: "\f27a";
}
.fa-commenting-o:before {
  content: "\f27b";
}
.fa-houzz:before {
  content: "\f27c";
}
.fa-vimeo:before {
  content: "\f27d";
}
.fa-black-tie:before {
  content: "\f27e";
}
.fa-fonticons:before {
  content: "\f280";
}
.fa-reddit-alien:before {
  content: "\f281";
}
.fa-edge:before {
  content: "\f282";
}
.fa-credit-card-alt:before {
  content: "\f283";
}
.fa-codiepie:before {
  content: "\f284";
}
.fa-modx:before {
  content: "\f285";
}
.fa-fort-awesome:before {
  content: "\f286";
}
.fa-usb:before {
  content: "\f287";
}
.fa-product-hunt:before {
  content: "\f288";
}
.fa-mixcloud:before {
  content: "\f289";
}
.fa-scribd:before {
  content: "\f28a";
}
.fa-pause-circle:before {
  content: "\f28b";
}
.fa-pause-circle-o:before {
  content: "\f28c";
}
.fa-stop-circle:before {
  content: "\f28d";
}
.fa-stop-circle-o:before {
  content: "\f28e";
}
.fa-shopping-bag:before {
  content: "\f290";
}
.fa-shopping-basket:before {
  content: "\f291";
}
.fa-hashtag:before {
  content: "\f292";
}
.fa-bluetooth:before {
  content: "\f293";
}
.fa-bluetooth-b:before {
  content: "\f294";
}
.fa-percent:before {
  content: "\f295";
}
.fa-gitlab:before {
  content: "\f296";
}
.fa-wpbeginner:before {
  content: "\f297";
}
.fa-wpforms:before {
  content: "\f298";
}
.fa-envira:before {
  content: "\f299";
}
.fa-universal-access:before {
  content: "\f29a";
}
.fa-wheelchair-alt:before {
  content: "\f29b";
}
.fa-question-circle-o:before {
  content: "\f29c";
}
.fa-blind:before {
  content: "\f29d";
}
.fa-audio-description:before {
  content: "\f29e";
}
.fa-volume-control-phone:before {
  content: "\f2a0";
}
.fa-braille:before {
  content: "\f2a1";
}
.fa-assistive-listening-systems:before {
  content: "\f2a2";
}
.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
  content: "\f2a3";
}
.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
  content: "\f2a4";
}
.fa-glide:before {
  content: "\f2a5";
}
.fa-glide-g:before {
  content: "\f2a6";
}
.fa-signing:before,
.fa-sign-language:before {
  content: "\f2a7";
}
.fa-low-vision:before {
  content: "\f2a8";
}
.fa-viadeo:before {
  content: "\f2a9";
}
.fa-viadeo-square:before {
  content: "\f2aa";
}
.fa-snapchat:before {
  content: "\f2ab";
}
.fa-snapchat-ghost:before {
  content: "\f2ac";
}
.fa-snapchat-square:before {
  content: "\f2ad";
}
.fa-pied-piper:before {
  content: "\f2ae";
}
.fa-first-order:before {
  content: "\f2b0";
}
.fa-yoast:before {
  content: "\f2b1";
}
.fa-themeisle:before {
  content: "\f2b2";
}
.fa-google-plus-circle:before,
.fa-google-plus-official:before {
  content: "\f2b3";
}
.fa-fa:before,
.fa-font-awesome:before {
  content: "\f2b4";
}
.fa-handshake-o:before {
  content: "\f2b5";
}
.fa-envelope-open:before {
  content: "\f2b6";
}
.fa-envelope-open-o:before {
  content: "\f2b7";
}
.fa-linode:before {
  content: "\f2b8";
}
.fa-address-book:before {
  content: "\f2b9";
}
.fa-address-book-o:before {
  content: "\f2ba";
}
.fa-vcard:before,
.fa-address-card:before {
  content: "\f2bb";
}
.fa-vcard-o:before,
.fa-address-card-o:before {
  content: "\f2bc";
}
.fa-user-circle:before {
  content: "\f2bd";
}
.fa-user-circle-o:before {
  content: "\f2be";
}
.fa-user-o:before {
  content: "\f2c0";
}
.fa-id-badge:before {
  content: "\f2c1";
}
.fa-drivers-license:before,
.fa-id-card:before {
  content: "\f2c2";
}
.fa-drivers-license-o:before,
.fa-id-card-o:before {
  content: "\f2c3";
}
.fa-quora:before {
  content: "\f2c4";
}
.fa-free-code-camp:before {
  content: "\f2c5";
}
.fa-telegram:before {
  content: "\f2c6";
}
.fa-thermometer-4:before,
.fa-thermometer:before,
.fa-thermometer-full:before {
  content: "\f2c7";
}
.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
  content: "\f2c8";
}
.fa-thermometer-2:before,
.fa-thermometer-half:before {
  content: "\f2c9";
}
.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
  content: "\f2ca";
}
.fa-thermometer-0:before,
.fa-thermometer-empty:before {
  content: "\f2cb";
}
.fa-shower:before {
  content: "\f2cc";
}
.fa-bathtub:before,
.fa-s15:before,
.fa-bath:before {
  content: "\f2cd";
}
.fa-podcast:before {
  content: "\f2ce";
}
.fa-window-maximize:before {
  content: "\f2d0";
}
.fa-window-minimize:before {
  content: "\f2d1";
}
.fa-window-restore:before {
  content: "\f2d2";
}
.fa-times-rectangle:before,
.fa-window-close:before {
  content: "\f2d3";
}
.fa-times-rectangle-o:before,
.fa-window-close-o:before {
  content: "\f2d4";
}
.fa-bandcamp:before {
  content: "\f2d5";
}
.fa-grav:before {
  content: "\f2d6";
}
.fa-etsy:before {
  content: "\f2d7";
}
.fa-imdb:before {
  content: "\f2d8";
}
.fa-ravelry:before {
  content: "\f2d9";
}
.fa-eercast:before {
  content: "\f2da";
}
.fa-microchip:before {
  content: "\f2db";
}
.fa-snowflake-o:before {
  content: "\f2dc";
}
.fa-superpowers:before {
  content: "\f2dd";
}
.fa-wpexplorer:before {
  content: "\f2de";
}
.fa-meetup:before {
  content: "\f2e0";
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}

@font-face{font-family:"AdihausDIN";src:url("../fonts/AdihausDIN-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:"AdihausDIN";src:url("../fonts/AdihausDIN-Bold.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}:root{--ink:#111;--muted:#6b6b6b;--line:#e7e7e7;--paper:#fff;--soft:#f6f6f6;--accent:#c7ff00;--danger:#e31b23;--shell:min(1440px,calc(100% - 40px));--radius:2px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.5 Arial,Helvetica,sans-serif}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{width:var(--shell);margin-inline:auto}.screen-reader-text,.skip-link{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.skip-link:focus{clip:auto;width:auto;height:auto;left:12px;top:12px;background:#fff;padding:12px;z-index:999}.icon{width:22px;height:22px}.promo-bar{height:34px;display:grid;place-items:center;background:#111;color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.site-header{position:relative;z-index:50;background:#fff;border-bottom:1px solid var(--line)}.header-main{height:76px;display:grid;grid-template-columns:auto minmax(280px,640px) auto;gap:42px;align-items:center}.brand{font-size:27px;font-weight:900;letter-spacing:-.05em}.header-search{height:44px;display:flex;border:1px solid #d8d8d8}.header-search input{min-width:0;flex:1;border:0;padding:0 15px;outline:0}.header-search button{width:48px;border:0;background:#fff;display:grid;place-items:center}.utility-nav{display:flex;gap:22px}.utility-nav a{position:relative;display:flex;gap:7px;align-items:center;font-size:13px}.cart-count{position:absolute;right:-9px;top:-9px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#111;color:#fff;font-size:10px}.category-nav{border-top:1px solid var(--line)}.category-nav-inner{height:54px;display:flex;align-items:center}.shop-trigger{align-self:stretch;display:flex;align-items:center;gap:10px;border:0;background:#111;color:#fff;padding:0 24px;font-weight:800;text-transform:uppercase}.primary-links{flex:1}.primary-links ul{display:flex;list-style:none;margin:0;padding:0}.primary-links a{display:block;padding:17px 20px;font-size:13px;font-weight:800;text-transform:uppercase}.mega-categories{display:none;position:absolute;top:54px;left:0;width:min(1180px,calc(100vw - 40px));min-height:380px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 50px #0002}.shop-open .mega-categories{display:block}.drawer-head{display:none}.category-level{list-style:none;margin:0;padding:0}.mega-categories>.category-level{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;padding:30px}.mega-categories>.category-level>.category-item>a{font-weight:900;text-transform:uppercase;border-bottom:2px solid #111}.category-item>a{display:flex;align-items:center;justify-content:space-between;padding:9px 0}.category-item .icon{width:14px}.category-level .category-level{font-size:13px}.category-level .category-level .category-level{display:none}.mobile-menu-toggle{display:none;border:0;background:none}.page-content{padding-block:48px}.hero{position:relative;min-height:520px;display:grid;align-items:center;background:#111;color:#fff;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;opacity:.66}.hero-copy{position:relative;z-index:1;max-width:620px;padding:72px}.hero h1{font-size:clamp(48px,7vw,94px);line-height:.92;letter-spacing:-.06em;margin:0 0 24px}.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:0 26px;border:0;border-radius:0;background:#111;color:#fff;font-weight:900;text-transform:uppercase}.button-accent{background:var(--accent);color:#111}.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.trust-item{display:flex;align-items:center;gap:14px;padding:24px;border-right:1px solid var(--line)}.trust-item:last-child{border-right:0}.section{padding:64px 0}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px}.section-head h2{margin:0;font-size:30px;letter-spacing:-.04em;text-transform:uppercase}.product-grid,.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px 14px}.product-card{position:relative}.product-card-media{display:block;aspect-ratio:4/5;background:#f4f4f4;overflow:hidden}.product-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.product-card:hover img{transform:scale(1.025)}.product-card h2,.woocommerce-loop-product__title{font-size:14px;line-height:1.35;margin:13px 0 7px}.price{font-weight:800}.price del{color:#999;font-weight:400;margin-left:5px}.price ins{text-decoration:none}.onsale{position:absolute;z-index:2;top:8px;left:8px;background:var(--danger);color:#fff;padding:4px 7px;font-size:10px;font-weight:800}.archive-hero{padding:52px 0 28px;border-bottom:1px solid var(--line)}.archive-hero h1{font-size:clamp(34px,4vw,62px);margin:0;text-transform:uppercase;letter-spacing:-.05em}.archive-description{max-width:850px;color:var(--muted)}.subcategories{display:flex;gap:12px;overflow:auto;padding:22px 0}.subcategory{min-width:150px;border:1px solid var(--line);padding:16px;font-weight:800}.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-block:1px solid var(--line);margin-bottom:30px}.catalog-toolbar .woocommerce-ordering,.catalog-toolbar .woocommerce-result-count{margin:0}.site-footer{margin-top:70px;background:#111;color:#fff}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:60px;padding:62px 0}.site-footer h2{font-size:13px;text-transform:uppercase}.site-footer p{color:#aaa}.site-footer a:not(.brand){display:block;color:#ccc;margin:7px 0}.footer-bottom{border-top:1px solid #333;padding:18px 0;color:#888;font-size:12px}
@media(max-width:900px){:root{--shell:calc(100% - 28px)}.promo-bar{height:29px;font-size:10px}.header-main{height:60px;grid-template-columns:auto 1fr auto;gap:12px}.mobile-menu-toggle{display:grid;place-items:center}.brand{font-size:21px}.header-search{display:none}.utility-nav a span{display:none}.category-nav{border-top:0}.category-nav-inner{height:0}.shop-trigger,.primary-links{display:none}.mega-categories{position:fixed;display:block;visibility:hidden;transform:translateX(-100%);transition:.25s;top:0;left:0;width:min(90vw,420px);height:100dvh;overflow:auto;border:0}.shop-open .mega-categories{visibility:visible;transform:none}.drawer-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:18px;background:#fff;border-bottom:1px solid var(--line)}.drawer-close{border:0;background:none}.mega-categories>.category-level{display:block;padding:14px 18px}.mega-categories>.category-level>.category-item>a{border-bottom:1px solid var(--line)}.category-level .category-level{display:none;padding-left:18px}.category-item.is-open>.category-level{display:block}.hero{min-height:500px}.hero-copy{padding:44px 24px;align-self:end}.trust-strip{grid-template-columns:repeat(2,1fr)}.product-grid,.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 10px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.utility-nav{gap:12px}}
.home-hero{position:relative;min-height:590px;display:flex;align-items:center;background:#191919;color:#fff;overflow:hidden}.home-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72}.home-hero-copy{position:relative;z-index:1}.home-hero-copy h1{max-width:700px;margin:0 0 18px;font-size:clamp(48px,6.6vw,96px);line-height:.91;letter-spacing:-.065em;text-transform:uppercase}.home-hero-copy p{max-width:550px;font-size:18px}.home-service-strip{border-bottom:1px solid var(--line)}.trust-item b,.trust-item small{display:block}.trust-item small{color:var(--muted)}.home-category-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:14px}.home-category{text-align:center}.home-category-image{display:block;aspect-ratio:1;background:var(--soft);overflow:hidden;margin-bottom:10px}.home-category-image img{width:100%;height:100%;object-fit:cover}.home-category strong{text-transform:uppercase;font-size:12px}.product-section{overflow:hidden}.home-review-band{background:#111;color:#fff;padding:60px 0}.home-review-inner{display:grid;grid-template-columns:1fr 1fr 1fr;gap:60px}.home-review-inner strong{display:block;font-size:50px;line-height:1}.home-review-inner span{color:#ffbf00}.home-review-inner blockquote{margin:0;border-left:1px solid #555;padding-left:30px;font-size:18px}.content-document{max-width:900px;margin:auto}.content-document>h1{font-size:clamp(38px,5vw,68px);letter-spacing:-.05em}.woocommerce-cart-form,.cart-collaterals,.woocommerce-checkout,.woocommerce-account .woocommerce{margin-block:35px}.shop_table{width:100%;border-collapse:collapse}.shop_table th,.shop_table td{padding:14px;border-bottom:1px solid var(--line);text-align:left}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{width:100%;padding:12px;border:1px solid #bbb}.woocommerce form .form-row{margin:0 0 15px}.woocommerce-error,.woocommerce-info,.woocommerce-message{list-style:none;padding:14px 18px;border-left:4px solid var(--accent);background:var(--soft)}.woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 30px;padding:0;display:flex;gap:18px;flex-wrap:wrap}
@media(max-width:900px){.home-hero{min-height:510px;align-items:end}.home-hero-copy{padding-bottom:42px}.home-hero-copy h1{font-size:46px}.home-category-grid{grid-template-columns:repeat(4,1fr)}.home-review-inner{grid-template-columns:1fr;gap:30px}.trust-item{padding:16px 10px}.trust-item small{display:none}.shop_table_responsive tr{display:block;border-bottom:1px solid var(--line)}.shop_table_responsive td{display:flex;justify-content:space-between}.footer-grid{grid-template-columns:1fr 1fr}}
.directory-tree{padding-block:50px}.directory-tree>.category-level{display:grid;grid-template-columns:repeat(4,1fr);gap:38px}.directory-tree>.category-level>.category-item>a{font-size:20px;font-weight:900;border-bottom:2px solid #111}.directory-tree .category-level .category-level{padding-left:14px}.directory-tree .category-level .category-level .category-level{display:block}
@media(max-width:900px){.directory-tree>.category-level{grid-template-columns:1fr 1fr;gap:24px}}

.archive-item-count,.archive-filter-trigger{display:none}
@media(max-width:900px){
  .archive-hero{padding:13px 0 10px;border-bottom:1px solid var(--line)}
  .archive-hero .woocommerce-breadcrumb{display:none}
  .archive-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
  .archive-heading-copy{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}
  .archive-hero h1{margin:0;font-size:20px;line-height:1.15;font-style:italic;font-weight:500;letter-spacing:-.02em;text-transform:none}
  .archive-item-count{display:inline;color:#777;font-size:13px;white-space:nowrap}
  .archive-filter-trigger{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:transparent;color:#111;font:inherit;font-size:13px}
  .archive-description{max-width:none;margin-top:7px;color:#555;font-size:12px;line-height:1.35}
  .archive-description p{margin:0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  .catalog-products{padding-top:0}
  .catalog-products>.subcategories{padding:8px 0}
  .catalog-toolbar{display:none}
  .catalog-products>.products{margin-top:0}
  .catalog-products>.products .product-card-media{aspect-ratio:1/1}
  .catalog-products>.products .product-card h2{margin:8px 0 4px;font-size:13px;line-height:1.25}
  .catalog-products>.products .price{font-size:13px}
}

/* Reference category archive alignment: shared by non-directory product categories. */
.archive-filter-mobile {
  display: none;
}

body.tax-product_cat:not(.term-clubs) .archive-hero {
  padding: 24px 0 22px;
  border-bottom: 0;
}

body.tax-product_cat:not(.term-clubs) .archive-hero .woocommerce-breadcrumb,
body.tax-product_cat:not(.term-clubs) .catalog-toolbar {
  display: none;
}

body.tax-product_cat:not(.term-clubs) .archive-heading-row {
  align-items: end;
}

body.tax-product_cat:not(.term-clubs) .archive-heading-copy h1 {
  margin: 0;
  font-size: 26px;
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  text-align: left;
}

body.tax-product_cat:not(.term-clubs) .archive-item-count {
  display: block;
  margin-top: 9px;
  color: #777;
  font-size: 11px;
  text-transform: uppercase;
}

body.tax-product_cat:not(.term-clubs) .archive-filter-trigger {
  display: inline-flex;
  min-width: 126px;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  border: 1px solid #111;
  background: #fff;
  color: #111;
  font-size: 13px;
}

body.tax-product_cat:not(.term-clubs) .archive-description {
  max-width: 760px;
  margin-top: 34px;
  color: #666;
  font-size: 13px;
  line-height: 1.55;
}

body.tax-product_cat:not(.term-clubs) .catalog-products.shell {
  width: 100%;
  max-width: none;
  padding-inline: 10px;
}

body.tax-product_cat:not(.term-clubs) .products {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 42px 14px;
}

body.tax-product_cat:not(.term-clubs) .product-card {
  position: relative;
}

body.tax-product_cat:not(.term-clubs) .product-card .onsale {
  display: none;
}

body.tax-product_cat:not(.term-clubs) .product-card-media {
  aspect-ratio: 1;
  background: #fff;
}

body.tax-product_cat:not(.term-clubs) .product-card-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

body.tax-product_cat:not(.term-clubs) .product-card h2 {
  min-height: 0;
  font-weight: 400;
  line-height: 1.45;
}

body.tax-product_cat:not(.term-clubs) .product-card .price {
  display: flex;
  gap: 7px;
  align-items: baseline;
}

body.tax-product_cat:not(.term-clubs) .product-card .price ins {
  order: -1;
  text-decoration: none;
}

body.tax-product_cat:not(.term-clubs) .card-wishlist {
  position: absolute;
  top: 12px;
  right: 10px;
  z-index: 2;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid #999;
  background: #fff;
}

body.tax-product_cat:not(.term-clubs) .card-wishlist svg {
  width: 22px;
  height: 22px;
}

body.tax-product_cat:not(.term-clubs) .card-wishlist[aria-pressed="true"] svg {
  fill: #111;
}

@media (max-width: 700px) {
  .archive-filter-desktop {
    display: none;
  }

  .archive-filter-mobile {
    display: inline;
  }

  body.tax-product_cat:not(.term-clubs) .archive-hero {
    padding: 0 0 14px;
  }

  body.tax-product_cat:not(.term-clubs) .archive-heading-row {
    min-height: 66px;
    margin-inline: -10px;
    padding: 11px 18px;
    align-items: center;
    border-bottom: 1px solid #ededed;
    box-shadow: 0 5px 12px rgba(0,0,0,.08);
  }

  body.tax-product_cat:not(.term-clubs) .archive-heading-copy h1 {
    font-size: 20px;
  }

  body.tax-product_cat:not(.term-clubs) .archive-item-count {
    margin-top: 6px;
    font-size: 10px;
  }

  body.tax-product_cat:not(.term-clubs) .archive-filter-trigger {
    min-width: 68px;
    min-height: 34px;
    border: 0;
    justify-content: end;
    text-transform: uppercase;
  }

  body.tax-product_cat:not(.term-clubs) .archive-description {
    max-width: 350px;
    margin: 17px auto 0;
    padding-inline: 8px;
    font-size: 11px;
    line-height: 1.45;
    text-align: center;
  }

  body.tax-product_cat:not(.term-clubs) .catalog-products.shell {
    padding-inline: 10px;
  }

  body.tax-product_cat:not(.term-clubs) .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 10px;
  }

  body.tax-product_cat:not(.term-clubs) .product-card-media {
    aspect-ratio: 1;
  }

  body.tax-product_cat:not(.term-clubs) .product-card h2 {
    font-size: 12px;
    line-height: 1.35;
  }

  body.tax-product_cat:not(.term-clubs) .card-wishlist {
    top: 50%;
    right: 0;
    width: 36px;
    height: 36px;
    transform: translateY(-50%);
  }
}
.top-utility{height:40px;background:#f4f4f4;color:#555;font-size:12px}.top-utility-inner{height:100%;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center}.top-utility-inner>div{display:flex;gap:22px}.top-utility-inner>div:nth-child(2){justify-content:center}.top-utility-inner>div:last-child{justify-content:flex-end}.header-main{height:104px;grid-template-columns:auto minmax(520px,1fr) 220px auto;gap:28px}.header-main>.primary-links{display:block}.header-main>.primary-links ul{justify-content:center}.header-main>.primary-links a{padding:40px 12px;letter-spacing:.08em}.header-search{height:34px;background:#eee;border:0}.header-search input,.header-search button{background:#eee}.category-nav{border:0}.category-nav-inner{height:0}.shop-trigger{display:none}.mega-categories{top:104px}.utility-nav a span{display:none}
@media(max-width:1100px) and (min-width:901px){.header-main{grid-template-columns:auto 1fr 180px auto;gap:16px}.header-main>.primary-links a{padding-inline:7px;font-size:11px}}
@media(max-width:900px){.top-utility{display:none}.header-main{height:68px;grid-template-columns:auto 1fr auto;gap:14px}.header-main>.primary-links{display:none}.utility-nav a:first-child,.utility-nav a:nth-child(2){display:flex}.header-search{display:none}.category-nav-inner{height:0}.mega-categories{top:0}.brand{text-align:left}}
.filter-trigger{height:42px;padding:0 22px;border:1px solid #111;background:#fff;font-weight:900}.filter-dialog{width:min(92vw,520px);height:100dvh;max-height:none;margin:0 0 0 auto;border:0;padding:0}.filter-dialog::backdrop{background:#0008}.filter-dialog>header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#fff;border-bottom:1px solid var(--line)}.filter-dialog h2{margin:0;text-transform:uppercase}.filter-close{border:0;background:none}.filter-dialog form{padding:10px 24px 40px}.filter-dialog fieldset{border:0;border-bottom:1px solid var(--line);padding:18px 0}.filter-dialog legend{font-weight:900;text-transform:uppercase}.filter-dialog fieldset label{display:block;padding:7px 0}.filter-dialog fieldset input[type=checkbox]{margin-right:9px}.price-filter{display:grid;grid-template-columns:1fr 1fr;gap:10px}.price-filter input{width:100%;height:42px;border:1px solid #bbb;padding:0 10px}
@media(max-width:900px){.home-hero-copy h1{font-size:40px;overflow-wrap:anywhere}}

/* Real per-section navigation panels. Keep this block last so it wins over legacy header rules. */
.mega-mobile-tree {
  display: none;
}

.currency-switcher {
  display: inline-flex;
  margin: 0;
}

.currency-switcher select {
  width: auto;
  min-height: 24px;
  padding: 0 18px 0 0;
  border: 0;
  background-color: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

/* Club, player and collection landing pages. */
.editorial-directory,
.editorial-landing .shell {
  width: min(1320px, calc(100% - 48px));
  margin-inline: auto;
}

.editorial-directory {
  padding-bottom: 72px;
}

.editorial-directory-head {
  padding: 58px 0 38px;
  text-align: center;
}

.editorial-directory-head p:first-child,
.editorial-hero > div > p {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
}

.editorial-directory-head h1,
.editorial-hero h1 {
  margin: 0;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: clamp(38px, 5vw, 72px);
  font-stretch: condensed;
  line-height: .95;
}

.editorial-directory-head p:last-child {
  max-width: 620px;
  margin: 18px auto 0;
  color: #666;
}

.editorial-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 34px 18px;
}

.editorial-directory-card {
  display: grid;
  gap: 8px;
  color: #111;
  text-decoration: none;
}

.editorial-directory-media {
  display: block;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #f3f3f3;
}

.editorial-directory-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.editorial-directory-card strong {
  font-size: 18px;
  text-transform: uppercase;
}

.editorial-directory-card > span:last-child {
  color: #666;
  font-size: 13px;
}

.editorial-hero {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(320px, 1.15fr);
  min-height: 460px;
  align-items: center;
  gap: 64px;
  padding-block: 52px;
}

.editorial-hero.no-media {
  grid-template-columns: 1fr;
  min-height: 280px;
  padding-block: 42px;
}

.editorial-lead {
  max-width: 620px;
  margin-top: 22px;
  color: #555;
  font-size: 17px;
  line-height: 1.65;
}

.editorial-hero-media {
  height: 420px;
  overflow: hidden;
  background: #f2f2f2;
}

.editorial-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.editorial-player-media {
  display: grid;
  place-items: center;
  background: #f2f2f2;
}

.editorial-player-media img {
  width: min(76%, 360px);
  height: min(76%, 360px);
  border-radius: 50%;
  object-fit: cover;
}

.player-directory-media {
  display: grid;
  place-items: center;
}

.player-directory-media img {
  width: 76%;
  height: 76%;
  border-radius: 50%;
  object-fit: cover;
}

.player-directory-media img[src*="/uploads/"] {
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: contain;
}

.editorial-product-section {
  padding: 54px 0;
  border-top: 1px solid #ddd;
  overflow: hidden;
}

.editorial-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 26px;
}

.editorial-section-head h2 {
  margin: 0;
  font-size: 27px;
  text-transform: uppercase;
}

.editorial-section-head a {
  color: #111;
  font-weight: 700;
}

.editorial-product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.editorial-product-grid .product-card {
  min-width: 0;
  list-style: none;
}

.editorial-story {
  max-width: 900px;
  margin: 28px auto 90px;
  font-size: 16px;
  line-height: 1.8;
}

.editorial-story h2 {
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.05;
}

.player-benchmark-hero {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(250px, 1fr);
  width: calc(100% - 48px);
  max-width: 1392px;
  margin: 44px auto 0;
}

.player-benchmark-hero-media {
  min-width: 0;
  aspect-ratio: 1300 / 456;
  overflow: hidden;
  background: #f5a400;
}

.player-benchmark-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.player-benchmark-intro {
  padding: 0 16px;
}

.player-benchmark-intro h1 {
  margin: 0 0 4px;
  font-size: 27px;
  line-height: 1.15;
}

.player-benchmark-biography {
  font-size: 12px;
  line-height: 1.55;
}

.player-benchmark-biography p {
  margin: 0;
}

.player-biography-toggle {
  display: none;
}

.player-club-history {
  padding: 34px 0 46px;
}

.player-club-history h2 {
  margin: 0 0 34px;
  font-size: 19px;
}

.player-club-history-list {
  display: flex;
  gap: 18px;
  padding-left: min(34%, 440px);
}

.player-club-history-list a {
  display: grid;
  width: 104px;
  justify-items: center;
  gap: 8px;
  text-align: center;
}

.player-club-history-list img {
  width: 85px;
  height: 85px;
  border-radius: 50%;
  object-fit: contain;
}

@media (max-width: 900px) {
  .editorial-directory,
  .editorial-landing .shell {
    width: calc(100% - 32px);
  }

  .editorial-card-grid,
  .editorial-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .editorial-product-grid {
    display: flex;
    gap: 12px;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .editorial-product-grid .product-card {
    flex: 0 0 min(66vw, 280px);
    width: min(66vw, 280px);
    max-width: min(66vw, 280px);
    scroll-snap-align: start;
  }

  .editorial-product-grid .product-card .card-container,
  .editorial-product-grid .product-card .card-cover,
  .editorial-product-grid .product-card .card-cover > a,
  .editorial-product-grid .product-card .card-cover img {
    width: 100%;
    max-width: 100%;
  }

  .editorial-product-grid .quick-view-btn {
    display: none !important;
  }

  .editorial-hero {
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 24px;
    padding-block: 34px;
  }

  .editorial-hero.no-media {
    min-height: 0;
    padding-block: 30px 42px;
  }

  .editorial-hero-media {
    height: min(92vw, 460px);
  }

  .player-benchmark-hero {
    display: flex;
    width: 100%;
    max-width: none;
    margin-top: 0;
    flex-direction: column;
  }

  .player-benchmark-hero-media {
    width: 100%;
    aspect-ratio: 390 / 164;
  }

  .player-benchmark-intro {
    padding: 10px 10px 0;
  }

  .player-benchmark-intro h1 {
    margin-bottom: 4px;
    font-size: 16px;
  }

  .player-benchmark-biography {
    max-height: 30px;
    overflow: hidden;
    font-size: 11px;
    line-height: 15px;
  }

  .player-benchmark-biography.is-expanded {
    max-height: none;
  }

  .player-biography-toggle {
    display: flex;
    min-height: 24px;
    align-items: center;
    gap: 8px;
    margin: 0 auto;
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    font-size: 11px;
  }

  .player-biography-toggle::before {
    content: "\2304";
    font-size: 18px;
    line-height: 1;
  }

  .player-biography-toggle[aria-expanded="true"]::before {
    transform: rotate(180deg);
  }

  .player-club-history {
    width: 100% !important;
    padding: 17px 16px 52px;
  }

  .player-club-history h2 {
    margin-bottom: 20px;
    font-size: 17px;
  }

  .player-club-history-list {
    justify-content: flex-start;
    gap: 10px;
    padding-left: 0;
  }

  .player-club-history-list a {
    width: 65px;
    gap: 5px;
    font-size: 11px;
    line-height: 13px;
  }

  .player-club-history-list img {
    width: 52px;
    height: 52px;
  }

  .player-benchmark-hero + .player-club-history + .shell {
    width: 100%;
    padding: 0 16px;
  }

  .player-benchmark-hero + .player-club-history + .shell .editorial-product-grid .product-card {
    flex: 0 0 calc(50% - 6px);
    width: calc(50% - 6px);
    max-width: calc(50% - 6px);
  }

  .player-benchmark-hero + .player-club-history + .shell .editorial-product-section {
    padding-top: 0;
    border-top: 0;
  }

  .player-benchmark-hero + .player-club-history + .shell .editorial-section-head {
    gap: 8px;
    margin-bottom: 10px;
  }

  .player-benchmark-hero + .player-club-history + .shell .editorial-section-head h2 {
    font-size: 16px;
    line-height: 20px;
    letter-spacing: -.02em;
    white-space: nowrap;
  }

  .player-benchmark-hero + .player-club-history + .shell .editorial-section-head a {
    font-size: 11px;
    white-space: nowrap;
  }
}

/* Benchmark global navigation: measured at 1440x900 and 402x847. */
@media (min-width: 901px) {
  .header-main {
    height: 125px !important;
  }

  .header-main > .primary-links,
  .header-search,
  .utility-nav {
    transform: none !important;
  }

  .header-main > .primary-links a {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }

  .primary-links .primary-menu-item::after {
    bottom: 0 !important;
  }

  .mega-categories {
    top: 125px !important;
    left: 50% !important;
    width: 100vw !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    transform: translateX(-50%) !important;
    border: 0 !important;
    border-top: 1px solid #ececec !important;
    box-shadow: 0 10px 18px rgb(0 0 0 / 8%) !important;
  }

  .mega-panel.benchmark-mega-panel {
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    background: #fff;
  }

  .mega-panel.benchmark-mega-panel.is-active {
    display: grid;
    grid-template-columns: minmax(0, 760px) 230px;
    justify-content: center;
    gap: 0;
  }

  .benchmark-mega-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 48px;
    padding: 32px 28px 34px 0;
  }

  .benchmark-mega-column,
  .benchmark-mega-group {
    display: grid;
    align-content: start;
    gap: 0;
  }

  .benchmark-mega-link {
    display: flex;
    min-height: 27px;
    align-items: center;
    gap: 8px;
    color: #4e4e4e;
    font-size: 14px;
    line-height: 1.2;
    white-space: nowrap;
  }

  .benchmark-mega-link img {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    object-fit: contain;
  }

  .benchmark-mega-link:hover,
  .benchmark-mega-link:focus-visible {
    color: #111;
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  .benchmark-mega-feature {
    min-height: 100%;
    padding: 31px 22px;
    background: #f4f5f6;
  }

  .benchmark-mega-feature > strong,
  .benchmark-mega-group > strong {
    display: block;
    margin: 0 0 7px;
    color: #111;
    font-size: 14px;
    line-height: 1.35;
  }

  .benchmark-mega-groups {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, 280px);
    justify-content: center;
    gap: 48px;
    min-height: 320px;
    padding: 31px 0 38px;
  }

  .benchmark-mega-groups .benchmark-mega-group + .benchmark-mega-group {
    padding-left: 46px;
    border-left: 1px solid #e7e7e7;
  }

  .benchmark-mega-soccer-shop .benchmark-mega-columns {
    padding-block: 37px 40px;
  }

  .benchmark-mega-players .benchmark-mega-columns {
    padding-block: 31px 36px;
  }

  .benchmark-mega-f1 .benchmark-mega-columns {
    padding-top: 31px;
    padding-bottom: 31px;
  }

  .benchmark-mega-f1 .benchmark-mega-feature {
    padding-top: 24px;
  }

  .benchmark-mega-clubs,
  .benchmark-mega-national-teams,
  .benchmark-mega-nations,
  .benchmark-mega-kids {
    min-height: 210px !important;
  }

  .benchmark-mega-soccer-shop .benchmark-mega-columns {
    padding-block: 24px !important;
  }

  .benchmark-mega-soccer-shop .benchmark-mega-feature {
    padding-top: 24px;
  }

  .benchmark-mega-players .benchmark-mega-columns {
    padding-block: 20px !important;
  }

  .benchmark-mega-players .benchmark-mega-feature {
    padding-top: 20px;
  }

  .benchmark-mega-f1 .benchmark-mega-columns,
  .benchmark-mega-f1 .benchmark-mega-feature {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }

  .benchmark-mega-f1 {
    min-height: 126px !important;
  }

  .benchmark-mega-f1 .benchmark-mega-columns,
  .benchmark-mega-f1 .benchmark-mega-feature {
    min-height: 126px !important;
    box-sizing: border-box;
  }
}

/* Search navigation joins directly to the benchmark signup/footer band. */
.search-navigation-page + .site-footer {
  margin-top: 0 !important;
}

@media (max-width: 900px) {
  .site-header {
    position: sticky;
    top: 0;
    z-index: 1250;
    background: #fff;
  }

  .mega-categories {
    width: 70vw !important;
    max-width: 304px !important;
  }
}

.footer-mobile-trust {
  display: none;
}

.footer-security-badges {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
}

.footer-security-badges img {
  display: block;
  width: auto;
  height: 33px;
  object-fit: contain;
}

/* Must remain last: compact mobile footer order and density. */
@media (max-width: 900px) {
  .site-footer {
    margin-top: 32px !important;
  }

  .footer-offer-inner {
    min-height: 111px !important;
    align-items: center !important;
    padding: 18px 16px !important;
  }

  .footer-offer h2 {
    max-width: 235px !important;
    font-size: 20px !important;
    line-height: 1.35 !important;
  }

  .footer-offer a {
    min-height: 41px !important;
    margin-top: 0 !important;
    padding: 0 15px !important;
  }

  .footer-main {
    padding: 20px 16px 0 !important;
  }

  .footer-newsletter {
    margin-bottom: 17px !important;
  }

  .footer-newsletter label {
    display: block !important;
    margin: 0 0 12px !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 400 !important;
  }

  .footer-column summary {
    min-height: 44px !important;
    padding-block: 14px 12px !important;
  }

  .footer-assurance {
    position: relative;
    min-height: 78px;
    margin: 18px 0 12px !important;
    padding: 10px 16px !important;
    border-radius: 2px;
    background: #fff !important;
    color: #111 !important;
  }

  .footer-assurance h2 {
    margin: 0 0 12px !important;
    color: #111 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    text-transform: none;
  }

  .footer-social span {
    width: 24px !important;
    height: 24px !important;
    background: #000 !important;
    color: #fff !important;
    font-size: 11px !important;
  }

  .footer-assurance p {
    display: none !important;
  }

  .footer-security-badges {
    position: absolute;
    top: 19px;
    right: 16px;
    gap: 10px;
    margin: 0;
  }

  .footer-security-badges img {
    height: 33px;
  }

  .footer-legal {
    padding: 0 16px 18px !important;
  }

  .footer-payment-row {
    min-height: 44px !important;
    margin-bottom: 0 !important;
  }

  .site-footer .footer-bottom {
    display: none !important;
  }

  .footer-mobile-trust {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0;
    color: #fff;
    font-size: 12px;
  }

  .footer-mobile-trust img {
    display: block;
    width: 219px;
    height: 20px;
    object-fit: contain;
  }
}

/* Final measured mobile footer density pass against the live reference. */
@media (max-width: 900px) {
  .site-footer {
    margin-top: 32px;
  }

  .footer-offer-inner {
    min-height: 111px;
    align-items: center;
    padding: 18px 16px;
  }

  .footer-offer h2 {
    max-width: 235px;
    font-size: 20px;
    line-height: 1.35;
  }

  .footer-offer a {
    min-height: 41px;
    margin-top: 0;
    padding: 0 15px;
  }

  .footer-main {
    padding: 20px 16px 0;
  }

  .footer-newsletter {
    margin-bottom: 17px;
  }

  .footer-newsletter label {
    display: block;
    margin: 0 0 12px;
    color: #fff;
    font-size: 14px;
    font-weight: 400;
  }

  .footer-column summary {
    min-height: 44px;
    padding-block: 14px 12px;
  }

  .footer-assurance {
    margin: 18px 0 12px;
    padding: 10px 16px;
    border-radius: 2px;
    background: #fff;
    color: #111;
  }

  .footer-assurance h2 {
    margin: 0 0 12px;
    color: #111;
    font-size: 12px;
    font-weight: 400;
    text-transform: none;
  }

  .footer-social span {
    width: 24px;
    height: 24px;
    background: #000;
    color: #fff;
    font-size: 11px;
  }

  .footer-assurance p {
    margin-top: 12px;
    color: #111;
    font-size: 12px;
  }

  .footer-secure {
    padding: 8px 10px;
  }

  .footer-legal {
    padding: 0 16px 18px;
  }

  .footer-payment-row {
    min-height: 44px;
    margin-bottom: 10px;
  }

  .site-footer .footer-bottom {
    padding-top: 10px;
  }
}

@media (min-width: 901px) {
  .benchmark-mega-clubs,
  .benchmark-mega-national-teams,
  .benchmark-mega-nations,
  .benchmark-mega-kids {
    min-height: 210px !important;
  }

  .benchmark-mega-soccer-shop .benchmark-mega-columns {
    padding-block: 24px !important;
  }

  .benchmark-mega-soccer-shop .benchmark-mega-feature {
    padding-top: 24px;
  }

  .benchmark-mega-players .benchmark-mega-columns {
    padding-block: 20px !important;
  }

  .benchmark-mega-players .benchmark-mega-feature {
    padding-top: 20px;
  }

  .benchmark-mega-f1 .benchmark-mega-columns,
  .benchmark-mega-f1 .benchmark-mega-feature {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
}

@media (max-width: 520px) {
  .editorial-directory-head {
    padding: 34px 0 26px;
  }

  .editorial-card-grid {
    gap: 24px 12px;
  }

  .editorial-product-section {
    padding: 38px 0;
  }

  .editorial-section-head h2 {
    font-size: 20px;
  }
}

@media (min-width: 901px) {
  .primary-links .primary-menu-item {
    position: relative;
  }

  .primary-links .primary-menu-item::after {
    position: absolute;
    right: 12px;
    bottom: 25px;
    left: 12px;
    height: 2px;
    background: #111;
    content: "";
    opacity: 0;
    transform: scaleX(.55);
    transition: opacity .16s ease, transform .16s ease;
  }

  .primary-links .primary-menu-item.is-active::after,
  .primary-links .primary-menu-item:hover::after {
    opacity: 1;
    transform: scaleX(1);
  }

  .mega-categories {
    min-height: 0;
    overflow: visible;
    border: 0;
    box-shadow: 0 18px 44px rgb(0 0 0 / 16%);
  }

  .mega-desktop-panels {
    display: block;
  }

  .mega-panel {
    display: none;
    min-height: 268px;
    padding: 30px 36px 38px;
    background: #fff;
  }

  .mega-panel.is-active {
    display: grid;
    grid-template-columns: 178px 1fr;
    gap: 32px;
  }

  .mega-panel-title {
    display: flex;
    height: max-content;
    align-items: center;
    justify-content: space-between;
    padding: 0 0 13px;
    border-bottom: 2px solid #111;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: .04em;
  }

  .mega-panel-title .icon {
    width: 15px;
    height: 15px;
  }

  .mega-panel > .category-level {
    display: grid;
    grid-template-columns: repeat(4, minmax(135px, 1fr));
    gap: 22px 32px;
    padding: 0;
  }

  .mega-panel > .category-level > .category-item > a {
    padding: 0 0 11px;
    border-bottom: 2px solid #111;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .03em;
    text-transform: uppercase;
  }

  .mega-panel > .category-level > .category-item > .category-level {
    position: static;
    display: block;
    width: auto;
    margin-top: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    font-size: 13px;
  }

  .mega-panel .category-level .category-level .category-level {
    position: static;
    display: block;
    width: auto;
    margin: 0;
    padding: 0 0 0 12px;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .mega-panel .category-level .category-level .category-item {
    position: relative;
  }

  .mega-panel .category-level-2 a {
    padding: 7px 0;
    color: #272727;
    font-size: 12px;
  }
}

@media (max-width: 900px) {
  .mega-desktop-panels {
    display: none;
  }

  .mega-mobile-tree {
    display: block;
    padding: 8px 18px 32px;
  }

  .mobile-root-group {
    border-bottom: 1px solid #dedede;
  }

  .mobile-root-link {
    display: block;
    padding: 15px 0;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .035em;
  }

  .mobile-root-group > .category-level {
    display: block;
    padding: 0 0 10px 12px;
  }

  .mobile-root-group > .category-level > .category-item > a {
    min-height: 42px;
    border-bottom: 0;
    font-size: 13px;
    font-weight: 700;
  }

  .mega-mobile-tree .category-level .category-level {
    display: none;
    padding-left: 16px;
  }

  .mega-mobile-tree .category-item.is-open > .category-level {
    display: block;
  }

  .site-footer .brand {
    position: static;
    display: inline-flex;
    width: auto;
    max-width: none;
    height: auto;
    color: #fff;
    font-size: 20px;
    transform: none;
  }
}

/* GogoalShop-aligned global header and homepage. */
@media (min-width: 901px) {
  .top-utility {
    height: 60px;
  }

  .header-main {
    height: 125px;
  }

  .header-main > .primary-links a {
    padding-block: 50px;
  }

  .mega-categories {
    top: 125px;
  }
}

.mobile-support-strip,
.mobile-header-wishlist,
.mobile-search-link {
  display: none;
}

.brand-logo {
  width: auto;
  max-width: 245px;
  max-height: 76px;
  object-fit: contain;
}

.home-promise-strip {
  min-height: 44px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  place-items: center;
  background: #000;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}

.gogoal-home {
  overflow: hidden;
}

.home-mobile-campaign {
  display: block;
  width: 100%;
  height: 375px;
  overflow: hidden;
  background: #080808;
}

.home-mobile-campaign picture {
  display: block;
  width: 100%;
  height: 100%;
}

.home-mobile-campaign img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.campaign-fallback {
  min-height: 375px;
}

.home-favorites {
  padding: 36px 0 58px;
}

.home-favorites h1,
.home-collection h2,
.home-fan-reviews h2 {
  margin: 0;
  font-size: 28px;
  line-height: 1.1;
  letter-spacing: -.04em;
}

.favorite-rail {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 18px;
  margin-top: 42px;
}

.favorite-entry {
  min-width: 0;
  text-align: center;
  font-size: 14px;
  text-transform: uppercase;
}

.home-favorite-pagination {
  display: none;
}

.favorite-image {
  width: min(106px, 100%);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  margin: 0 auto 12px;
  overflow: hidden;
  border: 9px solid #efefef;
  border-radius: 50%;
  background: #fff;
}

.favorite-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.favorite-image b {
  font-size: 24px;
}

.home-collection {
  padding: 26px 0 66px;
}

.home-collection > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 32px;
}

.home-collection > header a {
  font-size: 16px;
}

.home-product-rail {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.home-product-rail .product-card:nth-child(n+5) {
  display: none;
}

.home-product-rail .product-card-media {
  aspect-ratio: 1;
  background: #f2f2f2;
}

.home-product-rail .product-card-media img {
  object-fit: contain;
}

.home-product-rail h2 {
  min-height: 38px;
  color: #666;
  font-size: 14px;
  font-weight: 400;
}

.home-product-rail .price {
  font-size: 20px;
}

.home-fan-reviews {
  padding: 64px 0;
  background: #f5f5f5;
}

.fan-review-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 40px) / 3);
  grid-template-columns: none;
  gap: 20px;
  margin-top: 28px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.fan-review-rail::-webkit-scrollbar { display: none; }

.fan-review-rail blockquote {
  margin: 0;
  padding: 28px;
  background: #fff;
  scroll-snap-align: start;
}

.fan-review-rail span {
  color: #f5a400;
  letter-spacing: .16em;
}

.fan-review-rail cite {
  font-style: normal;
  font-weight: 700;
}

.home-empty {
  padding: 50px;
  text-align: center;
  background: #f5f5f5;
}

@media (min-width: 901px) {
  .utility-nav > a:first-child {
    display: none;
  }
  .utility-nav .mobile-search-link {
    display: none;
  }
}

@media (max-width: 900px) {
  .mobile-support-strip {
    min-height: 44px;
    display: grid;
    place-items: center;
    background: #000;
    color: #fff;
    font-weight: 700;
  }

  .header-main {
    width: 100%;
    height: 68px;
    padding: 0 20px;
    position: relative;
    display: block;
  }

  .mobile-menu-toggle,
  .mobile-header-wishlist {
    position: absolute;
    top: 50%;
    display: grid;
    place-items: center;
    transform: translateY(-50%);
  }

  .mobile-menu-toggle {
    left: 20px;
  }

  .mobile-header-wishlist {
    left: 78px;
  }

  .brand {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    place-items: center;
    text-align: center;
    font-size: 14px;
    transform: translate(-50%, -50%);
  }

  .brand-logo {
    max-width: 74px;
    max-height: 48px;
  }

  .utility-nav {
    position: absolute;
    top: 50%;
    right: 20px;
    gap: 20px;
    transform: translateY(-50%);
  }

  .utility-nav > a:nth-child(2),
  .utility-nav > a:nth-child(3) {
    display: none;
  }

  .utility-nav > a:first-child,
  .utility-nav .mobile-search-link {
    display: grid;
    place-items: center;
  }

  .home-promise-strip {
    display: none;
  }

  .home-mobile-campaign {
    height: 390px;
    min-height: 390px;
    display: grid;
    place-items: stretch;
    background: #080808;
    color: #fff;
  }

  .home-mobile-campaign picture,
  .home-mobile-campaign picture > img {
    width: 100%;
    height: 390px;
    object-fit: cover;
  }

  .campaign-fallback {
    min-height: 390px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px;
    text-align: center;
    background:
      radial-gradient(circle at 75% 78%, #ff6a00 0 1%, transparent 24%),
      linear-gradient(135deg, #050505 0 48%, #2a0500 100%);
  }

  .campaign-fallback strong {
    color: #ff5a00;
    font-size: 88px;
    line-height: .85;
    font-style: italic;
  }

  .campaign-fallback b {
    font-size: 42px;
    line-height: 1;
  }

  .campaign-fallback span {
    margin-top: 22px;
    font-size: 13px;
  }

  .home-favorites {
    width: 100%;
    padding: 14px 16px 3px;
  }

  .home-favorites h1,
  .home-collection h2,
  .home-fan-reviews h2 {
    font-size: 18px;
    line-height: 21px;
  }

  .favorite-rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 52px;
    grid-template-columns: none;
    gap: 24px;
    margin-top: 15px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .favorite-rail::-webkit-scrollbar {
    display: none;
  }

  .home-favorite-pagination {
    display: flex;
    justify-content: center;
    gap: 7px;
    min-height: 4px;
    margin-top: 14px;
  }

  .home-favorite-pagination i {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #ececec;
  }

  .home-favorite-pagination i.is-active {
    background: #000;
  }

  .favorite-entry {
    width: 52px;
    scroll-snap-align: start;
    font-size: 12px;
    line-height: 16px;
  }

  .favorite-image {
    width: 52px;
    margin-bottom: 10px;
    border-width: 3px;
  }

  .home-collection {
    width: 100%;
    padding: 18px 16px 42px;
  }

  .home-collection > header {
    margin-bottom: 15px;
  }

  .home-collection > header a {
    display: inline;
    font-size: 12px;
    line-height: 21px;
  }

  .home-product-rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 173px;
    grid-template-columns: none;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .home-product-rail::-webkit-scrollbar {
    display: none;
  }

  .home-product-rail .product-card,
  .home-product-rail .product-card:nth-child(n+5) {
    display: block;
    min-width: 0;
    overflow: hidden;
    scroll-snap-align: start;
  }

  .home-product-rail .product-card-media {
    aspect-ratio: 4 / 5;
  }

  .home-product-rail h2 {
    min-height: 42px;
    margin-top: 10px;
    overflow-wrap: anywhere;
  }

  .home-product-rail .price {
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
    column-gap: 5px;
    min-height: 20px;
    min-width: 0;
    font-size: 13px;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
  }

  .home-product-rail .price del,
  .home-product-rail .price ins {
    display: inline-block;
    min-width: 0;
    margin: 0;
    white-space: nowrap;
  }

  .home-product-rail .price del {
    flex: 0 1 auto;
    font-size: 12px;
  }

  .home-product-rail .price ins {
    flex: 0 0 auto;
  }

  .home-product-rail .price del {
    color: #999;
    font-weight: 400;
  }

  .home-product-rail .price ins {
    font-weight: 700;
    text-decoration: none;
  }

  .home-fan-reviews {
    padding: 40px 20px;
  }

  .fan-review-rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 86%;
    grid-template-columns: none;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .fan-review-rail blockquote {
    scroll-snap-align: start;
  }
}

/* Cart and checkout aligned to the GogoalShop commerce flow. */
.commerce-page {
  padding-top: 52px;
}

.commerce-document {
  width: 100%;
}

.gogoal-cart {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(330px, 1fr);
  gap: 58px;
  align-items: start;
}

.gogoal-cart h1,
.gogoal-cart h2,
.gogoal-checkout h1,
.gogoal-checkout h2 {
  margin: 0;
  letter-spacing: -.04em;
}

.gogoal-cart h1 {
  margin-bottom: 32px;
  font-size: 32px;
}

.cart-promotion {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 32px;
  padding: 0 18px;
  background: #fffbe1;
}

.gogoal-cart .woocommerce-cart-form {
  margin: 0;
}

.gogoal-cart-items {
  display: grid;
  gap: 28px;
}

.gogoal-cart-item {
  min-height: 260px;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr) 156px;
  gap: 20px;
}

.cart-item-image {
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #f1f2f2;
}

.cart-item-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cart-item-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.cart-item-name {
  margin: 14px 0 22px;
  color: #666;
  font-size: 17px;
}

.cart-item-meta {
  font-size: 16px;
}

.cart-item-meta dl {
  margin: 0;
}

.cart-item-meta dt,
.cart-item-meta dd {
  display: inline;
  margin: 0 5px 0 0;
}

.cart-item-price {
  margin-top: auto;
  font-size: 24px;
  font-weight: 800;
}

.cart-item-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto 1fr auto;
  align-items: start;
  justify-items: end;
  gap: 14px;
  padding-top: 14px;
}

.cart-item-actions .remove {
  color: #000;
  font-size: 32px;
  font-weight: 300;
  line-height: 1;
}

.cart-save {
  border: 0;
  background: transparent;
}

.cart-quantity {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 44px 54px 44px;
  align-self: end;
  border: 1px solid #ddd;
}

.cart-quantity button,
.cart-quantity input {
  width: 100%;
  height: 42px;
  border: 0;
  background: #fff;
  text-align: center;
}

.cart-quantity .quantity {
  margin: 0;
}

.update-cart-button {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.cart-cross-sells {
  margin-top: 46px;
}

.cart-cross-sells h2 {
  margin-bottom: 30px;
  font-size: 28px;
}

.cart-cross-sells .products {
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.cart-cross-sells .product-card-media {
  aspect-ratio: 1;
}

.gogoal-cart-summary {
  position: sticky;
  top: 24px;
}

.gogoal-cart-summary > h2 {
  margin: 18px 0 28px;
  font-size: 21px;
}

.summary-box {
  padding: 22px 18px;
  background: #f4f4f4;
}

.summary-box p {
  display: flex;
  justify-content: space-between;
  margin: 0 0 12px;
}

.summary-box p:last-child {
  margin-bottom: 0;
}

.gogoal-cart-summary .checkout-button {
  width: 100%;
  min-height: 56px;
  justify-content: center;
  gap: 30px;
  margin-top: 30px;
  font-size: 19px;
}

.cart-login {
  display: inline-block;
  margin: 24px 0 48px;
  text-decoration: underline;
}

.cart-help,
.cart-payments {
  margin-top: 28px;
}

.cart-help h3,
.cart-payments h3 {
  margin: 0 0 14px;
  font-size: 13px;
  letter-spacing: .08em;
}

.cart-help a {
  display: block;
  margin: 10px 0;
  font-size: 17px;
  text-decoration: underline;
}

.cart-payments p {
  font-size: 13px;
}

.cart-payment-logos,
.cart-security-logos {
  display: flex;
  align-items: center;
}

.cart-payment-logos {
  gap: 12px;
  margin: 0 0 24px;
}

.cart-payment-logos img {
  width: 36px;
  height: 18px;
  object-fit: contain;
}

.cart-security-logos {
  gap: 20px;
}

.cart-security-logos img {
  display: block;
  object-fit: contain;
}

.cart-security-logos img:first-child {
  width: 144px;
  height: 60px;
}

.cart-security-logos img:last-child {
  width: 108px;
  height: 60px;
}

.secure-badges {
  padding: 14px;
  border: 1px solid #ddd;
}

.woocommerce-cart .footer-grid,
.woocommerce-checkout .footer-grid {
  display: none;
}

.checkout-header {
  min-height: 80px;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 40px;
  align-items: center;
  border-bottom: 1px solid #e4e4e4;
}

.checkout-brand {
  font-size: 24px;
}

.checkout-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 0;
  padding: 0;
  list-style: none;
}

.checkout-steps li {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #555;
  font-weight: 700;
}

.checkout-steps b {
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #777;
  color: #fff;
}

.checkout-steps .is-active {
  color: #000;
}

.checkout-steps .is-active b {
  background: #000;
}

.checkout-login-link {
  display: block;
  margin-bottom: 14px;
  text-align: center;
  text-decoration: underline;
}

.gogoal-checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(330px, .95fr);
  gap: 64px;
  align-items: start;
}

.checkout-customer-column > h1 {
  margin-bottom: 18px;
  font-size: 24px;
}

.gogoal-checkout .woocommerce-billing-fields > h3,
.gogoal-checkout .woocommerce-shipping-fields > h3 {
  display: none;
}

.gogoal-checkout .woocommerce-billing-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 14px;
}

.gogoal-checkout .form-row {
  width: 100%;
  margin: 0;
}

.gogoal-checkout .form-row-wide,
.gogoal-checkout #billing_address_1_field,
.gogoal-checkout #billing_address_2_field {
  grid-column: 1 / -1;
}

.gogoal-checkout .form-row label {
  font-size: 14px;
}

.gogoal-checkout .form-row input.input-text,
.gogoal-checkout .form-row textarea,
.gogoal-checkout .select2-container .select2-selection {
  min-height: 46px;
  border: 1px solid #777;
  border-radius: 0;
  background: #fff;
}

.gogoal-checkout .select2-container .select2-selection__rendered {
  line-height: 44px;
}

.checkout-next-step {
  width: 200px;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 34px;
  margin-top: 30px;
  background: #000;
  color: #fff;
  font-weight: 800;
}

.checkout-stage-list {
  margin-top: 40px;
}

.checkout-stage-list h2 {
  padding: 26px 0;
  border-bottom: 1px solid #ddd;
  color: #666;
  font-size: 24px;
}

.checkout-summary-column {
  position: sticky;
  top: 20px;
}

.checkout-summary-column > h2 {
  margin: 0 0 24px;
  font-size: 21px;
}

.checkout-summary-column .shop_table {
  background: #f4f4f4;
}

.checkout-summary-column .shop_table th,
.checkout-summary-column .shop_table td {
  padding: 13px 16px;
  border: 0;
}

.checkout-summary-column .shop_table thead {
  display: none;
}

.checkout-summary-column .cart_item {
  background: #fff;
}

.checkout-summary-column #payment {
  margin-top: 26px;
  padding: 18px;
  background: #fff;
  border: 1px solid #ddd;
}

.checkout-summary-column #place_order {
  width: 100%;
  margin-top: 14px;
}

.checkout-address-map {
  margin-top: 28px;
  padding: 20px;
  border: 1px solid #ddd;
  background: #fff;
}

.checkout-address-map-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.checkout-address-map h2,
.checkout-address-map p {
  margin: 0;
}

.checkout-address-map h2 {
  font-size: 18px;
}

.checkout-address-map-head p {
  margin-top: 5px;
  color: #666;
  font-size: 13px;
}

.checkout-address-map button {
  min-width: 112px;
  min-height: 42px;
  border: 1px solid #111;
  background: #111;
  color: #fff;
  font-weight: 700;
}

.checkout-address-map-frame {
  margin-top: 18px;
}

.checkout-address-map-frame iframe {
  width: 100%;
  height: 260px;
  border: 0;
}

.checkout-address-map-frame a {
  display: inline-block;
  margin-top: 8px;
  text-decoration: underline;
  font-size: 12px;
}

.checkout-address-map-status {
  margin-top: 8px !important;
  color: #b00020;
  font-size: 12px;
}

@media (max-width: 900px) {
  .commerce-page {
    width: 100%;
    padding: 24px 16px 0;
  }

  .gogoal-cart,
  .gogoal-checkout {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .gogoal-cart-item {
    min-height: 190px;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 14px;
  }

  .cart-item-image {
    grid-column: 1;
    grid-row: 1;
    height: 190px;
  }

  .cart-item-copy {
    grid-column: 2;
    grid-row: 1;
    align-items: stretch;
    padding-right: 0;
  }

  .cart-item-name {
    width: calc(100% - 82px);
    margin: 0 0 12px;
    font-size: 15px;
    line-height: 1.45;
  }

  .cart-item-actions {
    grid-column: 2;
    grid-row: 1;
    position: static;
    display: block;
    width: 0;
    height: 0;
    padding: 0;
    pointer-events: none;
  }

  .cart-item-actions .remove,
  .cart-item-actions .cart-save,
  .cart-item-actions .cart-quantity {
    pointer-events: auto;
  }

  .cart-item-actions .remove {
    position: absolute;
    top: 0;
    right: 44px;
    font-size: 28px;
  }

  .cart-item-actions .cart-save {
    position: absolute;
    top: 2px;
    right: 0;
    width: 30px;
    height: 30px;
    padding: 0;
  }

  .cart-item-price {
    margin-top: auto;
    max-width: calc(100% - 116px);
    font-size: 20px;
    line-height: 1.2;
    white-space: nowrap;
  }

  .cart-quantity {
    position: absolute;
    right: 0;
    bottom: 0;
    grid-template-columns: 34px 42px 34px;
  }

  .gogoal-cart-item {
    position: relative;
  }

  .gogoal-cart-summary,
  .checkout-summary-column {
    position: static;
  }

  .cart-cross-sells .products {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 72%;
    grid-template-columns: none;
    overflow-x: auto;
  }

  .checkout-header {
    width: 100%;
    min-height: 72px;
    padding: 0 16px;
    grid-template-columns: 78px 1fr;
  }

  .checkout-steps li {
    justify-content: center;
  }

  .checkout-steps li span {
    display: none;
  }

  .checkout-steps b {
    width: 26px;
    height: 26px;
  }

  .gogoal-checkout .woocommerce-billing-fields__field-wrapper {
    grid-template-columns: 1fr;
  }

  .gogoal-checkout .form-row-wide,
  .gogoal-checkout #billing_address_1_field,
  .gogoal-checkout #billing_address_2_field {
    grid-column: auto;
  }

  .checkout-address-map {
    padding: 16px;
  }

  .checkout-address-map-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .checkout-address-map button {
    width: 100%;
  }

  .checkout-address-map-frame iframe {
    height: 220px;
  }
}

@media (max-width: 900px) {
  .header-main {
    height: 53px;
  }
}

/* Exact two-tier header geometry shared by every storefront page. */
@media (min-width: 901px) {
  .top-utility-inner,
  .header-main {
    width: min(1320px, calc(100% - 80px));
  }

  .top-utility {
    height: 60px;
    background: #f6f6f6;
    color: #343434;
    font-size: 12px;
  }

  .top-utility-inner {
    grid-template-columns: 320px 1fr auto;
  }

  .top-utility-inner > div {
    gap: 25px;
  }

  .top-utility-left {
    gap: 43px !important;
  }

  .top-utility-center {
    justify-content: flex-start !important;
    gap: 48px !important;
  }

  .top-utility-center a,
  .top-utility-center strong {
    display: flex;
    align-items: center;
    gap: 9px;
    font-weight: 400;
    text-transform: none;
  }

  .top-utility-center strong {
    font-weight: 800;
  }

  .top-utility-center .icon {
    width: 13px;
    height: 13px;
    stroke-width: 2.2;
  }

  .top-utility-right {
    gap: 0 !important;
  }

  .top-utility-right a {
    display: flex;
    align-items: center;
    white-space: nowrap;
  }

  .top-utility-right a + a::before {
    content: "|";
    margin: 0 11px;
    color: #888;
  }

  .header-main {
    height: 125px;
    grid-template-columns: 240px minmax(610px, 1fr) 216px 65px;
    gap: 20px;
  }

  .brand {
    width: 240px;
    min-width: 0;
    height: 65px;
    display: flex;
    align-items: center;
  }

  .brand-wordmark {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1;
  }

  .brand-wordmark strong {
    font-size: 29px;
    line-height: 1;
    letter-spacing: -.045em;
  }

  .brand-wordmark small {
    margin-top: 7px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .19em;
  }

  .brand-logo {
    width: 240px;
    height: 65px;
    max-width: 240px;
    max-height: 65px;
    object-fit: contain;
    object-position: left center;
  }

  .header-main > .primary-links {
    min-width: 0;
  }

  .header-main > .primary-links ul {
    justify-content: flex-start;
  }

  .header-main > .primary-links a {
    padding: 52px 8px;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: .12em;
    white-space: nowrap;
  }

  .header-main > .primary-links,
  .header-search,
  .utility-nav {
    transform: translateY(11px);
  }

  .header-search {
    width: 216px;
    height: 32px;
    background: #ebedee;
  }

  .header-search input {
    padding: 0 14px;
    background: transparent;
    font-size: 13px;
  }

  .header-search button {
    width: 38px;
    background: transparent;
  }

  .header-search .icon {
    width: 21px;
    height: 21px;
    stroke-width: 2;
  }

  .utility-nav {
    justify-content: flex-end;
    gap: 20px;
  }

  .utility-nav .icon {
    width: 24px;
    height: 24px;
    stroke-width: 1.9;
  }

  .cart-count {
    right: -7px;
    top: -8px;
  }

  .mega-categories {
    top: 125px;
    left: 50%;
    width: min(1320px, calc(100vw - 80px));
    min-height: 360px;
    max-height: calc(100vh - 185px);
    overflow-y: auto;
    transform: translateX(-50%);
    border: 1px solid #e2e2e2;
    border-top-color: #111;
    box-shadow: 0 20px 45px rgb(0 0 0 / 14%);
  }

  .mega-categories > .category-level {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 28px;
    padding: 34px 38px 42px;
  }

  .mega-categories > .category-level > .category-item > a {
    padding-bottom: 12px;
    font-size: 15px;
    letter-spacing: .045em;
  }

  .mega-categories > .category-level > .category-item > .category-level {
    display: block;
    margin-top: 7px;
    font-size: 12px;
  }

  .mega-categories .category-level-1 .category-item {
    position: relative;
  }

  .mega-categories .category-level-1 .category-level {
    position: absolute;
    z-index: 4;
    top: -13px;
    left: calc(100% + 10px);
    display: none;
    width: 230px;
    max-height: 390px;
    margin: 0;
    padding: 13px 17px;
    overflow-y: auto;
    border: 1px solid #ddd;
    background: #fff;
    box-shadow: 0 12px 32px rgb(0 0 0 / 15%);
  }

  .mega-categories .category-level-1 .category-item:hover > .category-level,
  .mega-categories .category-level-1 .category-item:focus-within > .category-level {
    display: block;
  }

  .mega-categories .category-item > a {
    transition: color .16s ease, transform .16s ease;
  }

  .mega-categories .category-item > a:hover,
  .mega-categories .category-item > a:focus-visible {
    color: #b31313;
    transform: translateX(2px);
  }
}

@media (max-width: 900px) {
  html,
  body {
    overflow-x: clip;
  }

  .site-header {
    height: 53px;
  }

  .header-main {
    height: 53px;
    padding: 0 12px;
    border-bottom: 1px solid #ececec;
  }

  .mobile-menu-toggle {
    left: 14px;
  }

  .mobile-header-wishlist {
    left: 72px;
  }

  .mobile-menu-toggle .icon,
  .mobile-header-wishlist .icon,
  .utility-nav .icon {
    width: 22px;
    height: 22px;
    stroke-width: 2;
  }

  .brand {
    width: auto;
    max-width: 52px;
    height: 45px;
  }

  .brand-logo {
    width: auto;
    max-width: 40px;
    max-height: 34px;
  }

  .brand-wordmark {
    display: block;
    overflow: hidden;
    max-width: 92px;
    font-size: 0;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .brand-wordmark strong {
    display: block;
    overflow: hidden;
    font-size: 12px;
    letter-spacing: -.035em;
    text-overflow: ellipsis;
  }

  .brand-wordmark small {
    display: none;
  }

  .utility-nav {
    right: 25px;
    gap: 24px;
  }

  .utility-nav > a:first-child {
    order: 1;
  }

  .utility-nav .mobile-search-link {
    order: 2;
  }

  .utility-nav > a:nth-child(3) {
    display: grid;
    place-items: center;
    order: 3;
  }

  .cart-count {
    right: -7px;
    top: -8px;
  }

  .mega-categories {
    width: min(90vw, 420px);
    max-width: calc(100vw - 36px);
    transform: translateX(-105%);
    box-shadow: 18px 0 45px rgb(0 0 0 / 22%);
  }

  .shop-open .mega-categories {
    transform: translateX(0);
  }
}

/* Product category directory: shared, real taxonomy links at every depth. */
.catalog-crumbs {
  width: min(1400px, calc(100% - 40px));
  height: 55px;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-inline: auto;
  font-size: 15px;
}

.catalog-crumbs a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.catalog-crumbs .catalog-back {
  margin-right: 10px;
  text-decoration: none;
}

.catalog-directory-head {
  height: 68px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-top: 4px;
}

.catalog-directory-head h1 {
  margin: 0;
  font-size: 30px;
  line-height: 36px;
  letter-spacing: -.025em;
}

.catalog-directory-head a {
  margin-top: 8px;
  font-size: 15px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.catalog-directory-layout {
  display: grid;
  grid-template-columns: 315px minmax(0, 1fr);
  gap: 53px;
  align-items: start;
}

.catalog-leagues {
  border-left: 2px solid #111;
}

.catalog-leagues a {
  min-height: 84px;
  display: flex;
  align-items: center;
  padding: 16px 25px;
  border-bottom: 1px solid #ddd;
  background: #f6f6f6;
  font-size: 16px;
  letter-spacing: .04em;
}

.catalog-leagues a.is-active {
  background: #fff;
  font-weight: 700;
}

.catalog-team-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  column-gap: 32px;
  row-gap: 40px;
}

.catalog-team-card {
  min-width: 0;
  display: block;
  text-align: center;
  font-size: 14px;
  line-height: 20px;
}

.catalog-team-image {
  width: 100%;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #f4f4f4;
}

.catalog-team-image img {
  width: 56%;
  height: 56%;
  object-fit: contain;
}

.catalog-team-card > span:last-child {
  display: block;
  margin-top: 9px;
}

.catalog-directory-page .catalog-team-card:nth-child(n + 25) {
  display: none;
}

.catalog-directory-page .catalog-products {
  margin-top: 64px;
}

.team-landing-head .catalog-crumbs {
  height: 42px;
}

.team-landing-head h1 {
  margin: 4px 0 18px;
  font-size: 27px;
  font-style: italic;
  line-height: 32px;
}

.team-landing-head h1 small {
  margin-left: 8px;
  color: #777;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
}

.team-landing-description {
  margin: 0;
  overflow: hidden;
  color: #888;
  font-size: 12px;
  line-height: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.team-identity-mark {
  display: flex;
  justify-content: center;
  min-height: 92px;
  padding-top: 12px;
}

.team-identity-mark img {
  width: 72px;
  height: 72px;
  object-fit: contain;
}

.team-featured-players {
  display: flex;
  justify-content: center;
  gap: 22px;
  min-height: 82px;
  padding-top: 12px;
}

.team-featured-players a {
  display: grid;
  justify-items: center;
  gap: 4px;
  font-size: 11px;
}

.team-featured-players img {
  width: 52px;
  height: 52px;
  border: 3px solid #f4c24f;
  border-radius: 50%;
  object-fit: cover;
}

@media (min-width: 701px) {
  .team-landing-head h1 {
    margin-top: 42px;
    margin-bottom: 46px;
  }

  .team-landing-description {
    margin-bottom: 38px;
  }

  .team-identity-mark {
    min-height: 142px;
    padding-top: 8px;
  }

  .team-identity-mark img {
    width: 108px;
    height: 108px;
  }

  .team-featured-players {
    min-height: 177px;
    padding-top: 8px;
  }

  .team-featured-players img {
    width: 108px;
    height: 108px;
  }

  .team-collection-links {
    padding-bottom: 24px;
  }

  .team-landing-head + .catalog-products {
    padding-top: 27px;
  }
}

.team-collection-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid #ddd;
}

.team-collection-links a {
  min-width: 0;
  padding: 8px 0;
  overflow: hidden;
  color: #777;
  font-size: 12px;
  line-height: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.team-products-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 52px;
}

.team-products-heading h2 {
  margin: 0;
  font-size: 18px;
}

.team-products-heading a {
  color: #666;
  font-size: 12px;
}

.team-landing-head + .catalog-products {
  margin-top: 0;
}

/* Split-screen/tablet widths must not inherit the desktop rail spacer. */
@media (min-width: 701px) and (max-width: 900px) {
  .team-landing-head + .catalog-products > .products {
    min-height: 0 !important;
    margin-bottom: 30px !important;
  }
}

.search-navigation {
  min-height: 250px;
  padding-top: 17px;
}

.search-navigation-form {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 104px;
  align-items: center;
  width: 100%;
  max-width: none;
  margin: 0;
}

.search-navigation-form > a {
  font-size: 24px;
}

.search-navigation-form input {
  height: 52px;
  padding: 0 16px;
  border: 0;
  background: #f2f3f4;
  font: inherit;
}

.search-navigation-form button {
  height: 52px;
  border: 0;
  background: #050505;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}

.search-navigation h1 {
  max-width: none;
  margin: 35px 0 9px;
  font-size: 28px;
  line-height: 37px;
}

.popular-searches {
  max-width: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
}

.popular-searches a {
  padding: 10px 12px;
  background: #f3f3f3;
  font-size: 20px;
  font-weight: 700;
  text-transform: lowercase;
}

.search-navigation-page + .site-footer {
  margin-top: 0;
}

.search-desktop-extras {
  padding-top: 8px;
  padding-bottom: 48px;
}

.search-history-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}

.search-history-heading h2,
.search-recommend-heading {
  margin: 0;
  font-size: 26px;
}

.search-history-heading button {
  border: 0;
  background: transparent;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}

.search-history-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 36px;
}

.search-history-list a {
  padding: 8px 12px;
  background: #f3f3f3;
  color: #111;
  font-weight: 700;
}

.search-recommend-heading {
  margin-bottom: 24px;
}

.policy-crumbs {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  font-size: 12px;
  text-transform: uppercase;
}

.policy-page .content-document > h1 {
  margin-top: 0;
  padding-bottom: 16px;
  border-bottom: 1px solid #ddd;
}

.policy-page .content-document > h2,
.policy-page .content-document > h3 {
  font-weight: 700;
}

.policy-page .policy-topics {
  font-weight: 700;
}

.woocommerce-account:not(.logged-in) .content-document > h1 {
  display: none;
}

.woocommerce-account:not(.logged-in) .page-content {
  max-width: 760px;
  padding-top: 0;
}

.woocommerce-account:not(.logged-in) .woocommerce {
  margin-top: 0;
}

.account-entry-tabs {
  display: flex;
  gap: 44px;
  min-height: 48px;
  align-items: center;
}

.account-entry-tabs button {
  align-self: stretch;
  padding: 0;
  border: 0;
  border-bottom: 1px solid transparent;
  background: transparent;
  color: #555;
  font: inherit;
  font-size: 16px;
  cursor: pointer;
}

.account-entry-tabs button.is-active {
  border-bottom-color: #111;
  color: #111;
  font-weight: 700;
}

.account-entry-panel {
  padding-top: 16px;
}

.account-entry-panel form.login,
.account-entry-panel form.register {
  margin: 0;
  padding: 0;
  border: 0;
}

.account-entry-panel .form-row {
  margin: 0 0 17px;
  padding: 0;
}

.account-entry-panel .input-text {
  width: 100%;
  height: 50px;
  padding: 0 16px;
  border: 1px solid #ccc;
  border-radius: 0;
}

.account-login-action {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
}

.account-entry-panel .button {
  min-width: 150px;
  min-height: 42px;
  border: 0;
  border-radius: 0;
  background: #050505;
  color: #fff;
  font-weight: 700;
}

.account-entry-consent,
.account-entry-safety,
.account-club-benefits {
  font-size: 14px;
  line-height: 20px;
}

.account-entry-safety {
  margin: 28px 0 22px;
  font-weight: 700;
}

.account-entry-safety .icon {
  width: 16px;
  height: 16px;
  margin-right: 4px;
  color: #f0d900;
  vertical-align: -3px;
}

.account-club-benefits p {
  color: #687080;
}

.account-club-benefits h2 {
  max-width: 360px;
  margin: 0 0 24px;
  font-size: 19px;
  line-height: 30px;
}

.account-club-benefits ul {
  padding: 0;
  list-style: none;
}

.account-club-benefits li {
  margin: 0 0 14px;
  color: #687080;
}

.account-club-benefits li::before {
  content: "✓";
  margin-right: 5px;
}

@media (max-width: 900px) {
  .catalog-crumbs {
    width: 100%;
    height: 51px;
    gap: 10px;
    padding-inline: 0;
    overflow: hidden;
    border-bottom: 1px solid #f2f2f2;
    font-size: 15px;
    white-space: nowrap;
  }

  .catalog-crumbs .catalog-back {
    flex: 0 0 78px;
    margin-right: 0;
  }

  .catalog-directory {
    width: 100%;
  }

  .catalog-directory-head {
    display: none;
  }

  .catalog-directory-layout {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 18px;
  }

  .catalog-leagues a {
    min-height: 57px;
    padding: 8px 9px;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: .04em;
  }

  .catalog-team-grid {
    grid-template-columns: repeat(3, 73px);
    gap: 10px 13px;
    padding-top: 18px;
    overflow: hidden;
  }

  .catalog-team-card {
    width: 73px;
    font-size: 12px;
    line-height: 18px;
  }

  .catalog-directory-page .catalog-team-card:nth-child(n + 16) {
    display: none;
  }

  .catalog-team-image {
    width: 73px;
    height: 73px;
  }

  .catalog-team-image img {
    width: 55%;
    height: 55%;
  }

  .catalog-team-card > span:last-child {
    margin-top: 8px;
  }

  .catalog-directory-page .catalog-products {
    width: calc(100% - 32px);
    margin-top: 40px;
  }

  .team-landing-head .catalog-crumbs {
    height: 67px;
    padding-inline: 16px;
    white-space: normal;
  }

  .team-landing-head > .shell {
    width: 100%;
    padding: 0 16px;
  }

  .team-landing-head h1 {
    margin: 14px 0 25px;
    font-size: 18px;
    line-height: 22px;
    white-space: nowrap;
  }

  .team-landing-head h1 small {
    margin-left: 4px;
    font-size: 11px;
  }

  .team-landing-description {
    margin-bottom: 24px;
    font-size: 11px;
    line-height: 16px;
  }

  .team-featured-players {
    justify-content: flex-start;
    min-height: 104px;
    padding-top: 0;
  }

  .team-featured-players img {
    width: 42px;
    height: 42px;
  }

  .team-collection-links {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
    border-bottom: 0;
  }

  .team-collection-links a {
    display: none;
  }

  .team-collection-links a:nth-child(-n + 2) {
    display: block;
    min-width: 0;
    padding: 11px 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .team-collection-links a:first-child {
    width: 100%;
    display: block;
    border-bottom: 3px solid #111;
    color: #111;
    font-size: 13px;
    font-weight: 700;
  }

  .team-collection-links a:nth-child(2) {
    padding-left: 16px;
    color: #777;
    font-size: 13px;
  }

  .team-products-heading {
    min-height: 52px;
  }

  .team-products-heading h2 {
    font-size: 16px;
  }

  .search-navigation {
    width: 100%;
    height: 265px;
    min-height: 265px;
    box-sizing: border-box;
    padding: 14px 16px 28px;
  }

  .search-navigation-form {
    grid-template-columns: 38px minmax(0, 1fr) 74px;
  }

  .search-navigation-form > a {
    font-size: 22px;
  }

  .search-navigation-form input,
  .search-navigation-form button {
    height: 37px;
    font-size: 12px;
  }

  .search-navigation h1 {
    margin: 20px 0 12px;
    font-size: 20px;
  }

  .popular-searches {
    gap: 10px 8px;
  }

  .popular-searches a {
    padding: 7px 9px;
    font-size: 13px;
  }

  .search-desktop-extras {
    display: none;
  }

  .policy-page {
    width: calc(100% - 24px);
    padding: 12px 0 28px;
  }

  .policy-page .content-document > h1 {
    margin: 8px 0 18px;
    padding-bottom: 14px;
    font-size: 24px;
    line-height: 31px;
    letter-spacing: 0;
  }

  .policy-page .content-document {
    font-size: 14px;
    line-height: 19px;
  }

  .policy-page .content-document > h2,
  .policy-page .content-document > h3 {
    margin: 18px 10px 6px;
    font-size: 14px;
    line-height: 19px;
    letter-spacing: 0;
  }

  .policy-page .content-document > h1 + h2 {
    margin-top: 29px;
  }

  .policy-page .content-document > p,
  .policy-page .content-document > ol,
  .policy-page .content-document > ul {
    margin: 4px 10px 10px;
  }

  .policy-page .content-document > ol,
  .policy-page .content-document > ul {
    padding-left: 18px;
  }

  .woocommerce-account:not(.logged-in) .page-content {
    width: 100%;
    padding-inline: 16px;
  }

  .account-entry-tabs {
    gap: 47px;
  }

  .account-entry-panel {
    padding-top: 16px;
  }

  .account-login-action {
    display: block;
    margin-bottom: 8px;
  }

  .account-entry-panel .button {
    width: 100%;
    margin-top: 0;
  }

  .account-entry-panel .woocommerce-form-login__rememberme {
    display: none;
  }

  .account-entry-panel .lost_password {
    margin: 0 0 19px;
  }

  .account-entry-consent {
    margin-bottom: 29px;
  }

  .account-entry-safety {
    margin: 0 0 22px;
  }
}

.woocommerce-account .password-input {
  position: relative;
  display: block;
}

.woocommerce-account .password-input input {
  padding-right: 48px !important;
}

.woocommerce-account .show-password-input {
  position: absolute;
  top: 50%;
  right: 14px;
  display: grid;
  width: 26px;
  height: 26px;
  padding: 0;
  border: 0;
  background: transparent;
  place-items: center;
  transform: translateY(-50%);
  color: #111;
  cursor: pointer;
}

.woocommerce-account .show-password-input::before {
  content: "\f070";
  font-family: FontAwesome, sans-serif;
  font-size: 16px;
  line-height: 1;
}

.woocommerce-account .show-password-input.display-password::before {
  content: "\f06e";
}

.wishlist-products .price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 8px;
  color: #111;
  font-size: 15px;
}

.wishlist-products .price del {
  color: #777;
  font-size: 12px;
  order: 2;
}

.wishlist-products .wishlist-remove {
  margin-top: 14px;
  padding: 0 0 3px;
  border: 0;
  border-bottom: 1px solid #111;
  background: transparent;
  color: #111;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.site-footer {
  margin-top: 72px;
  background: #fff;
  color: #111;
}

.footer-offer {
  background: #f5e922;
}

.footer-offer-inner {
  min-height: 136px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
}

.footer-offer h2 {
  max-width: 900px;
  margin: 0;
  font-size: 31px;
  line-height: 1.12;
  letter-spacing: -.035em;
}

.footer-offer a {
  display: flex;
  min-width: 282px;
  min-height: 65px;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 0 34px;
  background: #050505;
  color: #fff;
  font-size: 20px;
  font-weight: 800;
}

.footer-signup-short {
  display: none;
}

.footer-main {
  padding: 66px 0 80px;
  background: #fff;
}

.footer-newsletter {
  display: none;
}

.footer-newsletter-status {
  margin: 8px 0 0;
  color: #b9f7c8;
  font-size: 12px;
}

.footer-newsletter-status.is-error {
  color: #ffb4b4;
}

.footer-columns {
  display: grid;
  grid-template-columns: repeat(4, minmax(145px, 1fr)) minmax(220px, 1.2fr);
  gap: 42px;
}

.footer-column {
  border: 0;
}

.footer-column summary,
.footer-assurance h2 {
  margin: 0 0 24px;
  list-style: none;
  font-size: 16px;
  font-weight: 800;
}

.footer-column summary::-webkit-details-marker {
  display: none;
}

.footer-column > a {
  display: block;
  margin: 0 0 14px;
  color: #111 !important;
  font-size: 13px;
}

.contact-chat {
  position: fixed;
  right: 0;
  bottom: 34px;
  z-index: 1200;
}

.contact-chat-tab {
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  width: 50px;
  min-height: 151px;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 8px;
  border: 0;
  background: #ffb451;
  color: #111;
  font-weight: 800;
  cursor: pointer;
  writing-mode: vertical-rl;
}

.contact-chat-panel {
  position: absolute;
  right: 50px;
  bottom: 0;
  width: 350px;
  overflow: hidden;
  border: 1px solid #ddd;
  background: #fff;
  box-shadow: 0 12px 38px rgba(0, 0, 0, .22);
}

.contact-chat-panel[hidden] {
  display: none;
}

.contact-chat-panel header {
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  background: #111;
  color: #fff;
}

.contact-chat-panel header strong,
.contact-chat-panel header small {
  display: block;
}

.contact-chat-panel header small {
  margin-top: 3px;
  color: #ccc;
  font-size: 11px;
}

.contact-chat-panel header button {
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 25px;
  cursor: pointer;
}

.contact-chat-messages {
  max-height: 260px;
  min-height: 120px;
  overflow-y: auto;
  padding: 15px;
  background: #f5f5f5;
}

.chat-message {
  width: fit-content;
  max-width: 84%;
  margin: 0 0 10px;
  padding: 9px 11px;
  background: #fff;
  font-size: 13px;
  line-height: 1.4;
}

.chat-message.is-customer {
  margin-left: auto;
  background: #111;
  color: #fff;
}

.contact-chat-form {
  padding: 12px 15px;
}

.contact-chat-form label span {
  display: block;
  margin: 7px 0 4px;
  font-size: 11px;
  font-weight: 700;
}

.contact-chat-form input,
.contact-chat-form textarea {
  width: 100%;
  padding: 9px;
  border: 1px solid #ccc;
  border-radius: 0;
  font: inherit;
  resize: vertical;
}

.contact-chat-form button {
  width: 100%;
  min-height: 42px;
  margin-top: 9px;
  border: 0;
  background: #111;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.contact-chat-links {
  display: flex;
  justify-content: space-between;
  padding: 0 15px 14px;
  font-size: 12px;
}

@media (max-width: 768px) {
  .contact-chat {
    right: 0;
    bottom: 35px;
  }

  .contact-chat-tab {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 50px;
    min-height: 151px;
    padding: 12px 8px;
    border-radius: 0;
    writing-mode: vertical-rl;
  }

  .contact-chat-tab span {
    display: inline;
    font-size: 12px;
    white-space: nowrap;
    writing-mode: vertical-rl;
  }

  .contact-chat-tab i {
    font-size: 15px;
  }

  .contact-chat-panel {
    position: fixed;
    right: 50px;
    bottom: 35px;
    width: calc(100vw - 96px);
    max-width: 306px;
    max-height: calc(100dvh - 150px);
    overflow-y: auto;
  }

  .contact-chat-panel header {
    min-height: 58px;
    padding: 10px 12px;
  }

  .contact-chat-messages {
    min-height: 72px;
    max-height: 120px;
    padding: 10px;
  }

  .contact-chat-form {
    padding: 8px 12px;
  }

  .contact-chat-form label span {
    margin: 4px 0 3px;
  }

  .contact-chat-form input,
  .contact-chat-form textarea {
    padding: 7px;
  }

  .contact-chat-form textarea {
    max-height: 70px;
  }

  .contact-chat-form button {
    min-height: 38px;
  }

  .contact-chat-links {
    padding: 0 12px 10px;
  }

  body.footer-in-view .contact-chat {
    display: none;
  }
}

.footer-assurance p {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 22px 0 0;
}

.footer-social {
  display: flex;
  gap: 9px;
}

.footer-social span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: #000;
  color: #fff;
}

.footer-stars {
  padding: 3px 5px;
  background: #08af76;
  color: #fff;
  letter-spacing: .08em;
}

.footer-secure {
  width: max-content;
  padding: 10px 14px;
  border: 1px solid #d6d6d6;
}

.footer-legal {
  padding: 22px 0 20px;
  background: #050505;
  color: #fff;
}

.footer-payment-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin-bottom: 22px;
}

.footer-payment-row img {
  display: block;
  width: auto;
  height: 18px;
  max-width: 48px;
  object-fit: contain;
}

.site-footer .footer-bottom {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  color: #ddd;
  font-size: 11px;
}

.site-footer .footer-bottom a {
  color: #fff;
}

@media (max-width: 900px) {
  .site-footer {
    margin-top: 54px;
  }

  .footer-offer-inner {
    min-height: 190px;
    align-items: flex-start;
    padding: 28px 16px;
  }

  .footer-offer h2 {
    max-width: 220px;
    font-size: 21px;
    line-height: 1.35;
  }

  .footer-offer a {
    min-width: 0;
    min-height: 48px;
    margin-top: 46px;
    padding: 0 18px;
    font-size: 14px;
    white-space: nowrap;
  }

  .footer-signup-long,
  .footer-signup-arrow {
    display: none;
  }

  .footer-signup-short {
    display: inline;
  }

  .footer-main {
    padding: 14px 10px 26px;
    background: #050505;
    color: #fff;
  }

  .footer-newsletter {
    display: block;
    margin-bottom: 14px;
  }

  .footer-newsletter label {
    display: none;
    font-size: 14px;
  }

  .footer-newsletter > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .footer-newsletter input,
  .footer-newsletter button {
    min-height: 42px;
    border: 0;
    border-radius: 0;
  }

  .footer-newsletter input {
    min-width: 0;
    padding: 0 12px;
    background: #242424;
    color: #fff;
  }

  .footer-newsletter button {
    padding: 0 17px;
    background: #fff;
    color: #111;
    font-weight: 700;
  }

  .footer-columns {
    display: block;
  }

  .footer-column {
    border-bottom: 1px solid #505050;
  }

  .footer-column summary {
    position: relative;
    margin: 0;
    min-height: 44px;
    padding: 14px 28px 12px 2px;
    color: #fff;
    font-size: 12px;
  }

  .footer-column summary::after {
    content: "\f107";
    position: absolute;
    top: 50%;
    right: 3px;
    transform: translateY(-50%);
    font-family: FontAwesome, sans-serif;
  }

  .footer-column[open] summary::after {
    content: "\f106";
  }

  .footer-column > a {
    margin: 0;
    padding: 7px 2px;
    color: #ddd !important;
    font-size: 13px;
  }

  .footer-column > a:last-child {
    padding-bottom: 13px;
  }

  .footer-assurance {
    padding-top: 30px;
  }

  .footer-assurance h2 {
    font-size: 13px;
  }

  .footer-social span {
    background: #fff;
    color: #111;
  }

  .footer-assurance p {
    color: #fff;
    font-size: 13px;
  }

  .footer-legal {
    padding: 14px 16px 24px;
  }

  .footer-payment-row {
    display: flex;
    width: 100%;
    min-height: 44px;
    align-items: center;
    justify-content: space-around;
    gap: 0;
    margin-bottom: 16px;
    padding: 7px 8px;
    border-radius: 3px;
    background: #fff;
    overflow: hidden;
  }

  .footer-payment-row img {
    width: auto;
    height: 17px;
    max-width: 37px;
    flex: 0 1 auto;
  }

  .site-footer .footer-bottom {
    flex-wrap: wrap;
    gap: 8px 14px;
    padding: 18px 0 0;
    border-top: 1px solid #444;
    line-height: 1.5;
  }
}

/* Tablet header uses the same compact control set as mobile so the page never
   becomes wider than the viewport between the desktop and phone layouts. */
@media (min-width: 901px) and (max-width: 1100px) {
  html,
  body {
    overflow-x: clip;
  }

  .top-utility {
    display: none;
  }

  .site-header,
  .header-main {
    height: 68px;
  }

  .header-main {
    width: calc(100% - 32px);
    grid-template-columns: 44px 44px minmax(0, 1fr) auto;
    gap: 12px;
    padding: 0;
  }

  .mobile-menu-toggle,
  .mobile-header-wishlist {
    position: static;
    display: grid;
    place-items: center;
  }

  .header-main > .primary-links,
  .header-search {
    display: none;
  }

  .brand {
    width: 190px;
    max-width: 190px;
    height: 54px;
    justify-self: center;
  }

  .brand-logo {
    width: 190px;
    height: 54px;
    object-fit: contain;
  }

  .utility-nav {
    position: static;
    display: flex;
    gap: 18px;
    transform: none;
  }

  .utility-nav > a:first-child,
  .utility-nav > a:nth-child(2) {
    display: none;
  }

  .utility-nav .mobile-search-link {
    display: flex;
  }
}

/* Current benchmark mobile navigation: each taxonomy depth is its own panel. */
@media (max-width: 900px) {
  .mega-categories {
    width: min(76vw, 340px);
    max-width: calc(100vw - 28px);
    overflow-x: hidden;
    overflow-y: auto;
    background: #fff;
  }

  .drawer-head {
    min-height: 70px;
    padding: 0 16px;
  }

  .drawer-head > a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
  }

  .drawer-head > a .icon {
    width: 34px;
    height: 34px;
    padding: 6px;
    border-radius: 50%;
    background: #f0f0f0;
    color: #bbb;
  }

  .drawer-close {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    color: #111;
  }

  .mega-mobile-tree {
    min-height: calc(100dvh - 70px);
    padding: 0;
  }

  .mobile-nav-panel {
    display: none;
    min-height: calc(100dvh - 70px);
    background: #fff;
  }

  .mobile-nav-panel.is-active {
    display: block;
  }

  .mobile-benefit-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 46px;
    margin: 0 16px 6px;
    padding: 0 14px;
    background: #ef3f20;
    color: #fff;
    font-size: 12px;
    font-style: italic;
  }

  .mobile-nav-list {
    display: grid;
  }

  .mobile-nav-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 49px;
    padding: 0 28px 0 32px;
    border: 0;
    border-bottom: 0;
    background: #fff;
    color: #111;
    text-align: left;
    font-size: 16px;
    font-weight: 700;
    text-transform: none;
  }

  .mobile-nav-row .icon {
    width: 17px;
    height: 17px;
  }

  .mobile-nav-section-label {
    display: block;
    padding: 18px 15px 7px;
    border-bottom: 1px solid #e6e6e6;
    color: #777;
    font-size: 12px;
    line-height: 1.2;
    letter-spacing: .08em;
  }

  .mobile-panel-head {
    position: sticky;
    top: 70px;
    z-index: 2;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: stretch;
    min-height: 58px;
    border-bottom: 1px solid #ddd;
    background: #fff;
  }

  .mobile-panel-head button,
  .mobile-panel-head a {
    display: flex;
    align-items: center;
    min-height: 58px;
    padding: 0 15px;
    background: #fff;
    color: #111;
    font-size: 14px;
    font-weight: 700;
    text-transform: none;
  }

  .mobile-panel-head button {
    gap: 5px;
    border: 0;
    border-right: 1px solid #ddd;
  }

  .mobile-panel-head button .icon {
    width: 15px;
    transform: rotate(180deg);
  }

  .mobile-panel-head a {
    justify-content: flex-end;
  }

  .mobile-drawer-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 8px;
    padding: 22px 28px;
    border-top: 1px solid #ddd;
  }

  .mobile-drawer-meta span,
  .mobile-drawer-meta small,
  .mobile-drawer-meta strong {
    display: block;
  }

  .mobile-drawer-meta small {
    margin-bottom: 7px;
    font-size: 12px;
    font-weight: 700;
  }

  .mobile-drawer-meta strong {
    color: #1d56a3;
    font-size: 13px;
  }

  .mobile-download-link {
    display: block;
    min-height: 52px;
    padding: 15px 28px;
    border-top: 1px solid #ddd;
    font-weight: 700;
  }
}

/* Complete benchmark homepage modules. */
.home-kids-campaign {
  position: relative;
  display: block;
  aspect-ratio: 1920 / 350;
  margin-top: 10px;
  overflow: hidden;
  background: #f3aa00;
}

.home-kids-campaign > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-club-campaign {
  display: block;
  width: 100%;
  aspect-ratio: 1920 / 88;
  overflow: hidden;
}

.home-club-campaign img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-team-directory,
.home-player-directory,
.home-blog {
  padding: 30px 0 64px;
}

.home-team-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.home-team-tabs button {
  min-height: 44px;
  border: 0;
  background: #111;
  color: #fff;
  font-size: 14px;
  text-transform: none;
}

.home-team-tabs button.is-active {
  background: #a9140d;
}

.home-team-rail {
  display: none;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  border: 1px solid #ddd;
}

.home-team-rail.is-active {
  display: grid;
}

.home-team-rail a {
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 120px;
  padding: 12px 6px;
  border-right: 1px solid #ddd;
  text-align: center;
}

.home-team-rail a:last-child {
  border-right: 0;
}

.home-team-rail img {
  width: 52px;
  height: 52px;
  object-fit: contain;
}

.home-team-rail b {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #f0f0f0;
}

.home-team-rail span {
  margin-top: 7px;
  font-size: 11px;
}

.home-player-directory h2,
.home-blog > h2 {
  margin: 0 0 24px;
  font-size: 24px;
}

.home-player-rail {
  display: grid;
  grid-template-columns: repeat(11, minmax(0, 1fr));
  gap: 16px;
}

.home-player-rail a {
  min-width: 0;
  text-align: center;
}

.home-player-rail a > span {
  display: grid;
  place-items: center;
  width: 78px;
  max-width: 100%;
  aspect-ratio: 1;
  margin: 0 auto 8px;
  overflow: hidden;
  border-radius: 50%;
  background: #f2f2f2;
  color: #aaa;
  font-size: 24px;
}

.home-player-rail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-player-rail small {
  display: block;
  overflow: hidden;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-blog-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.home-blog-image {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #eee;
}

.home-blog-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-blog h3 {
  margin: 13px 0 7px;
  font-size: 15px;
  line-height: 1.3;
}

.home-blog p {
  margin: 0;
  color: #666;
  font-size: 12px;
}

.home-seo-copy {
  padding: 42px 0;
  background: #f2f0df;
}

.home-seo-copy > .shell {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 58px;
}

.home-seo-copy summary {
  margin: 0 0 16px;
  font-size: 19px;
  font-weight: 700;
  cursor: pointer;
}

.home-seo-copy p {
  color: #555;
  font-size: 13px;
}

.gogoal-home > .home-collection:nth-of-type(n+5),
.gogoal-home > .home-team-directory,
.gogoal-home > .home-player-directory,
.gogoal-home > .home-blog,
.gogoal-home > .home-seo-copy {
  content-visibility: auto;
  contain-intrinsic-size: auto 560px;
}

@media (max-width: 900px) {
  .home-kids-campaign {
    width: 100%;
    min-height: 0;
  }

  .home-team-directory,
  .home-player-directory,
  .home-blog {
    width: 100%;
    padding: 20px 16px 42px;
    overflow: hidden;
  }

  .home-team-rail.is-active,
  .home-player-rail {
    display: flex;
    gap: 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .home-team-rail a {
    flex: 0 0 104px;
    scroll-snap-align: start;
  }

  .home-player-rail {
    gap: 14px;
  }

  .home-player-rail a {
    flex: 0 0 70px;
    scroll-snap-align: start;
  }

  .home-blog-grid {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }

  .home-blog-grid article {
    flex: 0 0 78vw;
    scroll-snap-align: start;
  }

  .home-seo-copy {
    padding: 0 16px;
  }

  .home-seo-copy > .shell {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 0;
  }

  .home-seo-copy details {
    border-bottom: 1px solid #ddd;
  }

  .home-seo-copy summary {
    position: relative;
    min-height: 48px;
    display: flex;
    align-items: center;
    margin: 0;
    padding-right: 28px;
    font-size: 12px;
    line-height: 16px;
    list-style: none;
  }

  .home-seo-copy summary::-webkit-details-marker {
    display: none;
  }

  .home-seo-copy summary::after {
    content: "⌄";
    position: absolute;
    right: 4px;
    top: 14px;
    font-size: 16px;
  }

  .home-seo-copy details[open] summary::after {
    transform: rotate(180deg);
  }

  .home-seo-copy details > div {
    padding: 0 0 16px;
  }

  .gogoal-home > .home-collection:nth-of-type(n+5),
  .gogoal-home > .home-team-directory,
  .gogoal-home > .home-player-directory,
  .gogoal-home > .home-blog,
  .gogoal-home > .home-seo-copy {
    contain-intrinsic-size: auto 380px;
  }
}

/* Final global-navigation overrides. Keep this block last. */
@media (min-width: 901px) {
  .header-main {
    height: 125px !important;
  }

  .header-main > .primary-links,
  .header-search,
  .utility-nav {
    transform: none !important;
  }

  .header-main > .primary-links a {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }

  .primary-links .primary-menu-item::after {
    bottom: 0 !important;
  }

  .mega-categories {
    top: 125px !important;
    left: 50% !important;
    width: 100vw !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    transform: translateX(-50%) !important;
    border: 0 !important;
    border-top: 1px solid #ececec !important;
    box-shadow: 0 10px 18px rgb(0 0 0 / 8%) !important;
  }

  .mega-panel.benchmark-mega-panel {
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    background: #fff;
  }

  .mega-panel.benchmark-mega-panel.is-active {
    display: grid;
    grid-template-columns: minmax(0, 760px) 230px;
    justify-content: center;
    gap: 0;
  }

  .benchmark-mega-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 48px;
    padding: 32px 28px 34px 0;
  }

  .benchmark-mega-column,
  .benchmark-mega-group {
    display: grid;
    align-content: start;
    gap: 0;
  }

  .benchmark-mega-link {
    display: flex;
    min-height: 27px;
    align-items: center;
    gap: 8px;
    color: #4e4e4e;
    font-size: 14px;
    line-height: 1.2;
    white-space: nowrap;
  }

  .benchmark-mega-link img {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    object-fit: contain;
  }

  .benchmark-mega-link:hover,
  .benchmark-mega-link:focus-visible {
    color: #111;
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  .benchmark-mega-feature {
    min-height: 100%;
    padding: 31px 22px;
    background: #f4f5f6;
  }

  .benchmark-mega-feature > strong,
  .benchmark-mega-group > strong {
    display: block;
    margin: 0 0 7px;
    color: #111;
    font-size: 14px;
    line-height: 1.35;
  }

  .benchmark-mega-groups {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, 280px);
    justify-content: center;
    gap: 48px;
    min-height: 320px;
    padding: 31px 0 38px;
  }

  .benchmark-mega-groups .benchmark-mega-group + .benchmark-mega-group {
    padding-left: 46px;
    border-left: 1px solid #e7e7e7;
  }

  .benchmark-mega-soccer-shop .benchmark-mega-columns {
    padding-block: 37px 40px;
  }

  .benchmark-mega-players .benchmark-mega-columns {
    padding-block: 31px 36px;
  }

  .benchmark-mega-f1 .benchmark-mega-columns {
    padding-top: 31px;
    padding-bottom: 31px;
  }

  .benchmark-mega-f1 .benchmark-mega-feature {
    padding-top: 24px;
  }

  .benchmark-mega-clubs,
  .benchmark-mega-national-teams,
  .benchmark-mega-nations,
  .benchmark-mega-kids {
    min-height: 210px !important;
  }

  .benchmark-mega-soccer-shop .benchmark-mega-columns {
    padding-block: 24px !important;
  }

  .benchmark-mega-soccer-shop .benchmark-mega-feature {
    padding-top: 24px;
  }

  .benchmark-mega-players .benchmark-mega-columns {
    padding-block: 20px !important;
  }

  .benchmark-mega-players .benchmark-mega-feature {
    padding-top: 20px;
  }

  .benchmark-mega-f1 .benchmark-mega-columns,
  .benchmark-mega-f1 .benchmark-mega-feature {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }

  .benchmark-mega-f1 {
    min-height: 126px !important;
  }
}

@media (max-width: 900px) {
  .mega-categories {
    width: 70vw !important;
    max-width: 304px !important;
  }
}

/* Footer structure measured against the benchmark desktop and mobile footer. */
@media (min-width: 901px) {
  .site-footer {
    border-top: 1px solid #e6e6e6;
  }

  /* The benchmark keeps the yellow sign-up treatment for the compact/mobile
     footer only. On desktop the footer starts directly with its link columns,
     while retaining the same overall white-space rhythm before the legal bar. */
  .site-footer .footer-offer {
    display: none;
  }

  .site-footer .footer-main {
    min-height: 0;
    height: 551.22px;
    padding: 69.11px 0;
    box-sizing: border-box;
  }

  .site-footer .footer-columns {
    width: 1198px;
    min-height: 277px;
    margin: 0 auto;
    grid-template-columns: repeat(4, 190px) 253px 120px;
    gap: 13px;
    align-items: start;
  }

  .site-footer .footer-products {
    grid-column: 1;
    grid-row: 1;
  }

  .site-footer .footer-company {
    grid-column: 4;
    grid-row: 1;
    margin-top: 0;
  }

  .site-footer .footer-assurance {
    grid-column: 5;
    grid-row: 1;
  }

  .site-footer .footer-download {
    grid-column: 6;
    grid-row: 1;
  }

  .site-footer .footer-column summary,
  .site-footer .footer-assurance h2,
  .site-footer .footer-download h2 {
    margin: 0 0 24px;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 800;
  }

  .site-footer .footer-download {
    display: grid;
    justify-items: start;
  }

  .site-footer .footer-android {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: 5px;
    margin-bottom: 12px;
    padding: 0 10px;
    border-radius: 3px;
    background: #050505;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
  }

  .site-footer .footer-android img {
    width: 20px;
    height: 20px;
    object-fit: contain;
  }

  .site-footer .footer-qr {
    width: 100px;
    height: 100px;
    object-fit: contain;
  }

  .site-footer .footer-assurance .footer-security-badges {
    display: flex;
    gap: 12px;
    margin-top: 23px;
  }

  .site-footer .footer-legal {
    height: 102px;
    padding: 15px 0;
    box-sizing: border-box;
  }

  .site-footer .footer-payment-row,
  .site-footer .footer-bottom {
    width: 617px;
    max-width: calc(100% - 40px);
    margin-right: auto;
    margin-left: auto;
  }

  .site-footer .footer-payment-row {
    height: 30px;
    margin-bottom: 24px;
  }

  .site-footer .footer-payment-row img {
    height: 30px;
    max-width: 80px;
  }

  .site-footer .footer-bottom {
    height: 18px;
    min-height: 18px;
    line-height: 18px;
  }
}

@media (max-width: 900px) {
  .site-footer .footer-offer-inner,
  .site-footer .footer-main > .shell,
  .site-footer .footer-legal > .shell {
    width: 100%;
  }

  .site-footer .footer-offer-inner {
    min-height: 110px;
    align-items: center;
    padding: 18px 16px;
  }

  .site-footer .footer-offer a {
    margin-top: 0;
  }

  .site-footer .footer-main {
    padding-inline: 16px;
  }

  .site-footer .footer-download {
    display: none;
  }

  .site-footer .footer-assurance {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0 12px;
    padding: 10px 16px;
    background: #fff;
    color: #111;
  }

  .site-footer .footer-assurance h2 {
    grid-column: 1;
    margin: 0 0 4px;
    color: #111;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    text-transform: none;
  }

  .site-footer .footer-social {
    grid-column: 1;
  }

  .site-footer .footer-security-badges {
    position: static;
    top: auto;
    right: auto;
    grid-column: 2;
    grid-row: 1 / span 2;
    display: flex;
    align-self: center;
    gap: 9px;
  }

  .site-footer .footer-assurance .footer-security-badges img {
    width: auto;
    height: 32px;
  }

  .site-footer .footer-assurance p {
    display: none;
  }

  .site-footer .footer-column summary {
    font-weight: 400;
  }
}

/* Final mobile footer flow: recommendation list hands directly into the footer. */
@media (max-width: 900px) {
  body.single-product .site-footer {
    margin-top: 0 !important;
  }

  body.single-product .site-footer .footer-legal {
    display: flow-root;
    height: 193px;
    padding: 3px 16px 4px !important;
    box-sizing: border-box;
  }

  body.single-product .site-footer .footer-payment-row {
    height: 44px;
    margin-bottom: 24px !important;
  }

  body.single-product .site-footer .footer-assurance {
    margin-bottom: 0 !important;
  }

  body.single-product .site-footer .footer-mobile-trust {
    height: 44px;
    margin: 0 0 18px !important;
  }

  body.single-product .site-footer .footer-bottom {
    display: flex !important;
    width: 100%;
    height: 56px;
    min-height: 56px;
    padding: 0 !important;
    flex-wrap: wrap;
    align-content: space-between;
    justify-content: center;
    gap: 0 18px;
    line-height: 16px;
  }

body.single-product .site-footer .footer-bottom span {
    flex: 0 0 100%;
    text-align: center;
  }
}

/* Complete, useful commerce empty states. */
.cart-empty-state,
.wishlist-status {
  width: min(720px, 100%);
  margin: 56px auto 72px;
  padding: 54px 42px;
  border: 1px solid #dedede;
  text-align: center;
}

.cart-empty-icon,
.wishlist-status-icon {
  width: 58px;
  height: 58px;
  margin: 0 auto 22px;
  display: grid;
  place-items: center;
  border: 1px solid #111;
  border-radius: 50%;
}

.cart-empty-icon svg,
.wishlist-status-icon svg {
  width: 25px;
  height: 25px;
}

.cart-empty-eyebrow {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .16em;
}

.cart-empty-state h1 {
  margin: 0 0 14px;
  font-size: clamp(28px, 3vw, 42px);
}

.cart-empty-state > p:not(.cart-empty-eyebrow),
.wishlist-status > span:not(.wishlist-status-icon) {
  display: block;
  max-width: 520px;
  margin: 0 auto 26px;
  color: #666;
  line-height: 1.6;
}

.wishlist-status strong {
  display: block;
  margin-bottom: 10px;
  font-size: 28px;
}

.cart-empty-primary,
.wishlist-status .button {
  min-width: 230px;
  min-height: 52px;
  justify-content: center;
}

.cart-empty-links,
.wishlist-discovery {
  display: flex;
  justify-content: center;
  gap: 28px;
}

.cart-empty-links {
  margin-top: 28px;
}

.cart-empty-links a,
.wishlist-discovery a {
  color: #111;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.cart-empty-assurance {
  margin-top: 42px;
  padding-top: 22px;
  border-top: 1px solid #e5e5e5;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  color: #555;
  font-size: 13px;
}

.wishlist-discovery {
  margin: -42px auto 72px;
}

@media (max-width: 600px) {
  .cart-empty-state,
  .wishlist-status {
    margin: 26px auto 46px;
    padding: 38px 22px;
  }

  .wishlist-status strong {
    font-size: 24px;
  }

  .cart-empty-links,
  .wishlist-discovery {
    gap: 16px;
    flex-wrap: wrap;
  }

  .cart-empty-assurance {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .wishlist-discovery {
    margin: -22px auto 0;
  }

  body.page-template-template-wishlist .section {
    padding-bottom: 24px;
  }

  body.page-template-template-wishlist .site-footer {
    margin-top: 24px;
  }
}

/* Final category parity overrides must remain last. */
body.tax-product_cat:not(.term-clubs) .archive-hero,
body.tax-product_cat:not(.term-clubs) .catalog-products{font-family:"AdihausDIN",Helvetica,Arial,sans-serif}
body.tax-product_cat:not(.term-clubs) .archive-hero{padding:24px 0 22px;border-bottom:0}
body.tax-product_cat:not(.term-clubs) .archive-hero .woocommerce-breadcrumb,
body.tax-product_cat:not(.term-clubs) .catalog-toolbar{display:none}
body.tax-product_cat:not(.term-clubs) .archive-heading-row{align-items:end}
body.tax-product_cat:not(.term-clubs) .archive-heading-copy h1{margin:0;font-size:26px;font-style:italic;font-weight:500;line-height:1;text-align:left}
body.tax-product_cat:not(.term-clubs) .archive-item-count{display:block;margin-top:9px;color:#777;font-size:11px;text-transform:uppercase}
body.tax-product_cat:not(.term-clubs) .archive-filter-trigger{display:inline-flex;min-width:126px;min-height:38px;align-items:center;justify-content:center;border:1px solid #111;background:#fff;color:#111;font-size:13px}
body.tax-product_cat:not(.term-clubs) .archive-description{max-width:760px;margin-top:34px;color:#666;font-size:13px;line-height:1.55}
body.tax-product_cat:not(.term-clubs) .catalog-products.shell{width:100%;max-width:none;padding-inline:0}
body.tax-product_cat:not(.term-clubs) .products{grid-template-columns:repeat(4,minmax(0,1fr));gap:42px 3px}
body.tax-product_cat:not(.term-clubs) .product-card{position:relative}
body.tax-product_cat:not(.term-clubs) .product-card .onsale{display:none}
body.tax-product_cat:not(.term-clubs) .product-card-media{aspect-ratio:1;background:#f3f3f3}
body.tax-product_cat.term-f1 .product-card-media{background:#fff}
body.tax-product_cat:not(.term-clubs) .product-card-media img{width:100%;height:100%;object-fit:contain}
body.tax-product_cat:not(.term-clubs) .product-card h2{min-height:0;margin-right:17px;margin-left:17px;font-weight:400;line-height:1.45}
body.tax-product_cat:not(.term-clubs) .product-card .price{display:flex;gap:7px;align-items:baseline;padding-inline:17px}
body.tax-product_cat:not(.term-clubs) .product-card .price ins{order:-1;text-decoration:none}
body.tax-product_cat:not(.term-clubs) .card-wishlist{position:absolute;top:12px;right:10px;z-index:2;width:38px;height:38px;display:grid;place-items:center;border:1px solid #999;background:#fff}
body.tax-product_cat:not(.term-clubs) .card-wishlist svg{width:22px;height:22px}
body.tax-product_cat:not(.term-clubs) .card-wishlist[aria-pressed="true"] svg{fill:#111}

@media(min-width:701px){
  body.tax-product_cat:not(.term-clubs) .archive-hero{padding:4px 0 0}
  body.tax-product_cat:not(.term-clubs) .archive-hero .shell{position:relative;min-height:188px;padding-inline:12px}
  body.tax-product_cat:not(.term-clubs) .archive-heading-row{display:block}
  body.tax-product_cat:not(.term-clubs) .archive-description{margin-top:42px}
  body.tax-product_cat:not(.term-clubs) .archive-item-count{display:inline-block;width:max-content;font-size:16px;line-height:1;text-transform:uppercase}
  body.tax-product_cat.term-kids .archive-item-count::before,
  body.tax-product_cat.term-players .archive-item-count::before,
  body.tax-product_cat.term-retro .archive-item-count::before{content:"("}
  body.tax-product_cat.term-kids .archive-item-count::after,
  body.tax-product_cat.term-players .archive-item-count::after,
  body.tax-product_cat.term-retro .archive-item-count::after{content:")"}
  body.tax-product_cat:not(.term-clubs) .archive-filter-trigger{position:absolute;right:12px;bottom:4px;font-size:16px}
  body.tax-product_cat:not(.term-clubs) .card-wishlist{display:none}

  /* F1's public listing uses a shorter intro and white image stages. */
  body.term-f1 .archive-hero .shell{height:158px;min-height:158px}
  body.term-f1 .archive-description{max-width:none}
  body.term-f1 .archive-description p{max-width:none;white-space:nowrap}
  body.term-f1 .product-card-media{background:#fff}
  body.term-f1 .product-card h2{color:#666}

  body.tax-product_cat.term-kids .archive-hero,
  body.tax-product_cat.term-players .archive-hero,
  body.tax-product_cat.term-retro .archive-hero{padding-top:2px}
  body.tax-product_cat.term-kids .archive-hero .shell,
  body.tax-product_cat.term-players .archive-hero .shell,
  body.tax-product_cat.term-retro .archive-hero .shell{width:100%;min-height:192px;margin-inline:0;padding-inline:0}
  body.tax-product_cat.term-kids .archive-heading-copy h1,
  body.tax-product_cat.term-players .archive-heading-copy h1,
  body.tax-product_cat.term-retro .archive-heading-copy h1{display:inline-block;width:max-content;text-transform:none}
  body.tax-product_cat.term-kids .archive-item-count,
  body.tax-product_cat.term-players .archive-item-count,
  body.tax-product_cat.term-retro .archive-item-count{display:block;margin-top:6px;margin-left:12px}
  body.tax-product_cat.term-kids .archive-description,
  body.tax-product_cat.term-players .archive-description,
  body.tax-product_cat.term-retro .archive-description{max-width:none;font-size:16px;line-height:1.3125}
  body.tax-product_cat.term-kids .archive-description p,
  body.tax-product_cat.term-players .archive-description p,
  body.tax-product_cat.term-retro .archive-description p{padding-left:10px}
  body.tax-product_cat.term-kids .archive-filter-trigger,
  body.tax-product_cat.term-players .archive-filter-trigger,
  body.tax-product_cat.term-retro .archive-filter-trigger{right:23px;bottom:14px}
}

@media(max-width:700px){
  .archive-filter-desktop{display:none}
  .archive-filter-mobile{display:inline}
  body.tax-product_cat:not(.term-clubs) .archive-hero{padding:0 0 14px}
  body.tax-product_cat:not(.term-clubs) .archive-heading-row{min-height:66px;margin-inline:-10px;padding:11px 18px;align-items:center;border-bottom:1px solid #ededed;box-shadow:0 5px 12px rgba(0,0,0,.08)}
  body.tax-product_cat:not(.term-clubs) .archive-heading-copy h1{font-size:20px}
  body.tax-product_cat:not(.term-clubs) .archive-item-count{width:max-content;margin-top:6px;font-size:14px;line-height:1}
  body.tax-product_cat:not(.term-clubs) .archive-filter-trigger{min-width:68px;min-height:34px;border:0;justify-content:end;text-transform:uppercase}
body.tax-product_cat:not(.term-clubs) .archive-description{max-width:380px;margin:9px auto 0;padding-inline:4px;font-size:11px;line-height:1.45;text-align:left}
body.tax-product_cat:not(.term-clubs) .archive-description p{display:block;overflow:visible;-webkit-line-clamp:unset}
  body.tax-product_cat:not(.term-clubs) .archive-hero{padding-bottom:0}
  body.tax-product_cat:not(.term-clubs) .catalog-products.shell{padding-inline:16px}
  body.tax-product_cat:not(.term-clubs) .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 8px;margin-top:-15px}
  body.tax-product_cat:not(.term-clubs) .product-card-media{aspect-ratio:1}
  body.tax-product_cat:not(.term-clubs) .product-card h2{display:-webkit-box;min-height:32px;margin-right:0;margin-left:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:12px;line-height:1.35}
  body.tax-product_cat:not(.term-clubs) .product-card .price{
    flex-wrap:wrap;
    column-gap:7px;
    row-gap:1px;
    min-width:0;
    padding-inline:0;
    font-size:13px;
    line-height:1.25;
    white-space:normal;
  }
  body.tax-product_cat:not(.term-clubs) .product-card .price del,
  body.tax-product_cat:not(.term-clubs) .product-card .price ins{
    margin:0;
    white-space:nowrap;
  }
  body.tax-product_cat:not(.term-clubs) .card-wishlist{top:12px;right:13px;width:28px;height:28px;border:0;background:transparent;transform:none}
  body.tax-product_cat:not(.term-clubs) .card-wishlist svg{width:19px;height:19px}

  body.tax-product_cat.term-kids .archive-heading-row,
  body.tax-product_cat.term-players .archive-heading-row,
  body.tax-product_cat.term-retro .archive-heading-row{padding-inline:12px;transform:translateY(4px)}
  body.tax-product_cat.term-kids .archive-heading-copy h1,
  body.tax-product_cat.term-players .archive-heading-copy h1,
  body.tax-product_cat.term-retro .archive-heading-copy h1{font-size:18px;font-weight:700;transform:translateY(-2px)}
  body.tax-product_cat.term-kids .archive-item-count,
  body.tax-product_cat.term-players .archive-item-count,
  body.tax-product_cat.term-retro .archive-item-count{margin-top:1px;margin-left:5px;font-size:13.832px;transform:translateY(.7px)}
  body.tax-product_cat.term-kids .archive-filter-trigger,
  body.tax-product_cat.term-players .archive-filter-trigger,
  body.tax-product_cat.term-retro .archive-filter-trigger{font-size:13.832px;transform:translateX(-3.4px)}
  body.tax-product_cat.term-kids .archive-description,
  body.tax-product_cat.term-players .archive-description,
  body.tax-product_cat.term-retro .archive-description{height:40px;margin-top:0;padding-inline:2px;font-size:11.856px;line-height:15px;letter-spacing:normal;overflow:hidden}
  body.tax-product_cat.term-kids .archive-description p,
  body.tax-product_cat.term-players .archive-description p,
  body.tax-product_cat.term-retro .archive-description p{display:block;height:40px;padding:10px 10px 0;overflow:hidden;-webkit-line-clamp:unset}
  body.tax-product_cat.term-kids .products,
  body.tax-product_cat.term-players .products,
  body.tax-product_cat.term-retro .products{gap:2px;margin-top:0}
}

@media(max-width:700px){
  body.term-kids .archive-description p,
  body.term-players .archive-description p,
  body.term-retro .archive-description p{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
}

body.tax-product_cat.term-kids .archive-item-count,
body.tax-product_cat.term-players .archive-item-count,
body.tax-product_cat.term-retro .archive-item-count,
body.tax-product_cat.term-kids .archive-filter-trigger,
body.tax-product_cat.term-players .archive-filter-trigger,
body.tax-product_cat.term-retro .archive-filter-trigger {
  text-transform: none;
}

/* The reference homepage product rails keep imagery unobstructed. */
body.home .home-product-rail .card-wishlist,
body.home .home-product-rail .onsale{
  display:none;
}

@media(max-width:700px){
  body.tax-product_cat.term-f1 .archive-item-count,
  body.tax-product_cat.term-f1 .archive-filter-trigger{
    text-transform:none;
  }

  body.term-f1 .products{
    margin-top:-18px !important;
  }
}

/* Keep all three mobile account controls inside the viewport.  Explicit width
   avoids Edge laying the ordered flex items beyond the right edge while the
   compact logo is centred independently. */
@media (max-width: 900px) {
  .header-main .utility-nav {
    right: 12px;
    width: 112px;
    min-width: 112px;
    display: flex;
    justify-content: space-between;
    gap: 0;
  }

  .header-main .utility-nav > a {
    flex: 0 0 24px;
    width: 24px;
    height: 32px;
    justify-content: center;
  }
}

@media (min-width: 901px) {
  .policy-page {
    width:calc(100% - 72px);
    max-width:none;
    padding:12px 0 28px;
  }

  .policy-page .content-document {
    max-width:none;
    font-size:14px;
    line-height:19px;
  }

  .policy-page .content-document > h1 {
    margin:8px 0 18px;
    padding-bottom:14px;
    font-size:24px;
    line-height:31px;
    letter-spacing:0;
  }

  .policy-page .content-document > h2,
  .policy-page .content-document > h3 {
    margin:18px 14px 6px;
    font-size:14px;
    line-height:19px;
    letter-spacing:0;
  }

  .policy-page .content-document > h1 + h2 {
    margin-top:18px;
  }

  .policy-page .content-document > p,
  .policy-page .content-document > ol,
  .policy-page .content-document > ul {
    margin:4px 14px 10px;
  }

  .woocommerce-account:not(.logged-in) .content-document {
    max-width: 1250px;
  }

  .woocommerce-account:not(.logged-in) .page-content {
    position:relative;
    width:min(1250px,calc(100% - 40px));
    max-width:1250px;
    min-height:619px;
    padding-top:72px;
  }

  .woocommerce-account:not(.logged-in) .page-content::before {
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:503px;
    width:1px;
    background:#ddd;
    pointer-events:none;
  }

  .account-entry-panel[data-account-panel="login"] {
    display: grid;
    grid-template-columns: 424px minmax(0, 665px);
    gap:161px;
    padding-top:35px;
  }

  .account-entry-panel[data-account-panel="login"] form.login {
    grid-column: 1;
  }

  .account-entry-panel[data-account-panel="login"] .account-club-benefits {
    grid-column: 2;
    grid-row: 1;
    transform:translateY(-74px);
  }

  .account-login-action {
    display: block;
  }

  .account-entry-panel .woocommerce-form-login__rememberme {
    display: none;
  }

  .account-entry-panel .button {
    width: 100%;
    min-height: 50px;
  }

  .account-club-benefits h2 {
    max-width: 665px;
    margin-bottom: 12px;
    font-size: 32px;
    line-height: 44px;
  }

  .account-club-image {
    display: block;
    width: 665px;
    max-width: 100%;
    height: auto;
    margin-top:-10px;
  }
}

/* Team landing product rails: compact mobile carousel rhythm. */
.team-slider-pagination {
  display: none;
}

@media (max-width: 700px) {
  .term-real-madrid-la-liga-2 .catalog-products {
    transform: translateY(-26px);
  }

  .term-real-madrid-la-liga-2 .site-footer {
    min-height: 695px;
  }

  .term-real-madrid-la-liga-2 .team-landing-head + .catalog-products > .products {
    margin-bottom: 0;
  }

  .term-real-madrid-la-liga-2 .team-slider-pagination {
    min-height: 61px;
  }

  .team-landing-head + .catalog-products > .products {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .team-landing-head + .catalog-products > .products::-webkit-scrollbar {
    display: none;
  }

  .team-landing-head + .catalog-products > .products > li {
    flex: 0 0 calc(50% - 5px);
    scroll-snap-align: start;
  }

  .team-slider-pagination {
    display: flex;
    min-height: 70px;
    align-items: center;
    justify-content: center;
    gap: 6px;
  }

  .team-slider-pagination button {
    width: 6px;
    height: 6px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #e4e4e4;
  }

  .team-slider-pagination button.is-active {
    width: 7px;
    height: 7px;
    background: #111;
  }
}

/* Current public desktop header: the visible controls occupy the first 95px,
   while the 125px header keeps product/category content at the reference y.
   Mega menus intentionally overlay the final 30px and start at y=155. */
@media (min-width: 901px) {
  .header-main {
    height: 125px !important;
  }

  .header-main > .brand {
    transform: none !important;
  }

  .header-main > .primary-links,
  .header-search,
  .utility-nav {
    transform: translateY(11.5px) !important;
  }

  .header-main > .primary-links a {
    padding-top: 37px !important;
    padding-bottom: 37px !important;
  }

  .mega-categories {
    top: 95px !important;
  }

}

@font-face {
  font-family: "AdihausDIN";
  src: url("../fonts/AdihausDIN-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "AdihausDIN";
  src: url("../fonts/AdihausDIN-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "AdineuePRO";
  src: url("../fonts/AdineuePRO-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "AdineuePRO";
  src: url("../fonts/AdineuePRO-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "AdihausDIN Cn";
  src: url("../fonts/AdihausDIN-CnMediumItalic.woff2") format("woff2");
  font-style: italic;
  font-weight: 500;
  font-display: swap;
}

.custom-product-template {
  width: 100%;
  font-family: "AdihausDIN", Arial, Helvetica, sans-serif;
}

.main-page-wrapper {
  padding-top: 0 !important;
}
.custom-product-container {
  padding: 0px !important;
}
.site-content {
  padding: 0;
  margin: 0;
}
/* 基础样式 */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
}
.flex-start {
  display: flex;
  justify-content: flex-start;
}
.flex-between {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.align-center {
  align-items: center;
}
.align-end {
  align-items: flex-end;
}
.relative {
  position: relative;
}
.pointer {
  cursor: pointer;
}

/* 布局 */
.layout-main {
  width: 100%;
  min-height: 100vh;
}

.custom-swiper-wrapper {
  display: none;
}

.product-wrapper {
  margin: 0 auto;
  padding: 0 1rem;
  position: relative;
  min-height: 100vh;
  overflow: visible;
}

.product-container {
  display: grid;
  grid-template-columns: minmax(10%, 1fr) minmax(300px, 500px);
  padding-left: 10px;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.product-left {
  position: relative;
}

/* 面包屑导航 */
.breadcrumb-navigation {
  margin: 15px 0;
  padding: 15px 0;
  border-bottom: 1px solid #eee;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.back-button {
  cursor: pointer;
  margin-right: 15px;
}

.back-button i {
  margin-right: 5px;
}

.navigation-list {
  flex: 1;
  list-style: none;
  display: flex;
  padding: 0;
  margin: 0;
}

.navigation-list li {
  font-size: 16px;
  margin: 0px;
  cursor: pointer;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 16px;
}

.navigation-list li:not(:last-child)::after {
  content: "/";
  margin: 0 5px;
  color: #999;
}

.navigation-list li:nth-last-child(2)::after {
  content: "·";
}

.nav-title {
  position: relative;
  display: flex;
  align-items: center;
  margin: 0;
}

.nav-title a {
  color: #333;
  text-decoration: none;
}

.nav-title a span {
  padding: 0;
}

.nav-title .team-child {
  display: flex;
  align-items: center;
}

/* 分隔点样式 */
.team-child span {
  color: #999;
}

/* 响应式显示 */
@media (max-width: 768px) {
  .pc-show {
    display: none;
  }

  .h5-show {
    display: block;
  }
}

/*
 * Measured product-detail alignment.
 * Reference viewport: 1440x1000 desktop and 402x847 mobile.
 */
@media (min-width: 1025px) {
  .custom-product-template .product-container {
    grid-template-columns: minmax(0, calc(100% - 500px)) 500px !important;
    align-items: start;
    padding-bottom: 90px;
  }

  body.product-header-collapsed .custom-product-template .product-wrapper {
    margin-top: -186px;
  }

  .custom-product-template .product-right {
    grid-column: 2;
    grid-row: 1 / span 2;
    position: sticky !important;
    top: 0 !important;
    align-self: start;
    width: 500px !important;
    height: 100dvh;
    overflow: hidden;
    background: #fff;
  }

  .custom-product-template .product-right .sticky-wrapper {
    position: static !important;
    top: auto !important;
    width: 500px !important;
    height: 100dvh;
    max-height: 100dvh;
    padding: 46px 30px 96px !important;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: none;
  }

  .custom-product-template .product-right .action-buttons {
    right: 0;
    width: 499px;
    padding: 12px 30px 14px;
  }

  .custom-product-template .gallery-main {
    gap: 36px;
    padding: 0 40px 0 50px;
  }

  .custom-product-template .gallery-item {
    aspect-ratio: 1 / 1;
    background: #fff;
  }

  .custom-product-template .gallery-img {
    transform: none;
    object-fit: contain;
  }
}

@media (max-width: 768px) {
  .custom-product-template .product-gallery.h5-show .cover-item {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    background: #f1f1f1;
  }

  .custom-product-template .product-gallery.h5-show .cover-item img {
    object-fit: contain;
  }

  .custom-product-template .product-right .action-buttons {
    min-height: 80px;
    padding: 14px 16px !important;
    gap: 10px;
  }

  .custom-product-template .product-right .action-buttons .add-cart {
    height: 52px;
  }

  .custom-product-template .product-right .action-buttons .wishlist {
    flex: 0 0 64px;
    width: 64px;
    height: 52px;
  }

  body.single-product {
    padding-bottom: 80px;
  }
}

/* Benchmark purchase rail: the gallery/recommendations scroll while checkout remains reachable. */
@media (min-width: 1025px) {
  .custom-product-template .product-bottom {
    grid-column: 1;
  }

  .custom-product-template .product-right {
    grid-row: 1 / span 2;
    position: sticky;
    top: 0;
    align-self: start;
    height: 100vh;
    overflow: hidden;
    background: #fff;
    z-index: 20;
  }

  .custom-product-template .product-right .sticky-wrapper {
    position: static;
    top: auto;
    height: 100vh;
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
  }

  .custom-product-template .product-right .action-buttons {
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 40;
    width: 515px;
    margin-top: 18px;
    padding: 12px 20px 14px;
    background: #fff;
    box-shadow: 0 -6px 18px rgba(0, 0, 0, .08);
  }

  .custom-product-template .product-right .sticky-wrapper {
    padding-bottom: 92px;
  }
}

/* Benchmark reviews: compact score/attribute rail and media-first review feed. */
.jerseycore-reviews {
  color: #111;
}

.benchmark-reviews-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 20px 28px;
  border-top: 1px solid #ddd;
}

.benchmark-reviews-head > strong {
  font-size: 16px;
}

.benchmark-reviews-head > span {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 22px;
}

.benchmark-reviews-head i,
.review-card-rating {
  color: #28d678;
  font-style: normal;
  letter-spacing: 2px;
}

.benchmark-reviews-layout {
  display: grid;
  grid-template-columns: 275px minmax(0, 1fr);
  gap: 50px;
  padding: 0 20px;
}

.review-score-tile {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  height: 80px;
  margin-bottom: 30px;
  background: #28d678;
}

.review-score-tile strong {
  font-size: 31px;
  line-height: 1;
}

.review-score-tile span {
  letter-spacing: 3px;
}

.benchmark-review-stars,
.review-score-stars {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  letter-spacing: 0;
}

.benchmark-reviews-head .benchmark-review-stars span {
  color: #ddd;
}

.benchmark-reviews-head .benchmark-review-stars .is-filled {
  color: #28d678;
}

.review-score-stars i {
  color: rgba(255, 255, 255, .7);
  font-style: normal;
}

.review-score-stars i.is-filled {
  color: #111;
}

.review-insight-scale {
  margin: 0 0 26px;
}

.review-insight-scale > strong {
  display: block;
  margin-bottom: 10px;
  font-size: 20px;
}

.review-scale-track {
  position: relative;
  height: 4px;
  background: #e4e4e4;
}

.review-scale-track i {
  position: absolute;
  top: -1px;
  width: 0;
  height: 0;
  border-top: 14px solid #111;
  border-right: 8px solid transparent;
  border-left: 8px solid transparent;
  transform: translateX(-50%);
}

.review-scale-labels {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-top: 8px;
  color: #766c67;
  font-size: 13px;
}

.review-media-tabs {
  display: flex;
  margin-bottom: 26px;
}

.review-media-tabs button {
  min-width: 145px;
  height: 48px;
  padding: 0 22px;
  border: 1px solid #111;
  background: #fff;
  color: #111;
  font: inherit;
  cursor: pointer;
}

.review-media-tabs button.is-active {
  background: #000;
  color: #fff;
}

.review-feed .commentlist {
  margin: 0;
  padding: 0;
  list-style: none;
}

.review-feed .jerseycore-review-card {
  margin: 0;
  padding: 0 0 26px;
  border-bottom: 1px solid #ddd;
}

.review-feed .review-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.review-feed .review-card-head strong {
  font-size: 16px;
}

.review-feed .verified-review {
  margin-left: 8px;
  padding: 4px 7px;
  background: #f1f1f1;
  color: #555;
  font-size: 11px;
}

.review-feed .review-card-rating {
  flex: none;
  font-size: 17px;
}

.review-feed .jerseycore-review-card h4 {
  margin: 16px 0 7px;
  font-size: 17px;
}

.review-feed .review-card-copy {
  max-width: 620px;
  margin-top: 18px;
  color: #766c67;
  font-size: 16px;
  line-height: 1.25;
}

.review-feed .review-gallery {
  display: flex;
  gap: 14px;
  margin: 22px 0;
}

.review-feed .review-gallery img {
  width: 152px;
  height: 162px;
  object-fit: cover;
}

.review-feed .review-user-profile {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 16px 0;
}

.review-feed .review-user-profile div {
  display: flex;
  gap: 5px;
  padding: 6px 9px;
  background: #f5f5f5;
}

.review-feed .review-user-profile dt {
  color: #777;
  font-size: 11px;
  text-transform: uppercase;
}

.review-feed .review-user-profile dd {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
}

.review-feed .review-recommendation {
  margin: 10px 0;
  font-size: 13px;
}

.review-feed .jerseycore-review-card > time {
  display: block;
  margin-top: 20px;
  color: #aaa;
  font-size: 12px;
}

.mobile-review-actions {
  display: none;
}

@media (max-width: 768px) {
  .custom-product-template .product-right .action-buttons {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 999;
    margin: 0;
    padding: 10px 16px;
    background: #fff;
    box-shadow: 0 -4px 18px rgba(0, 0, 0, .12);
  }

  body.single-product {
    padding-bottom: 78px;
  }

body.footer-in-view.single-product .custom-product-template .product-right .action-buttons {
    transform: none;
    pointer-events: auto;
  }

  .benchmark-reviews-head {
    padding: 20px 0;
  }

  .benchmark-reviews-layout {
    display: block;
    padding: 0;
  }

  .review-insights {
    margin-bottom: 34px;
  }

  .review-media-tabs button {
    flex: 1;
    min-width: 0;
  }

  .review-feed .review-card-head {
    align-items: center;
    min-height: 24px;
  }

  .review-feed .verified-review,
  .review-feed .jerseycore-review-card h4,
  .review-feed .review-user-profile,
  .review-feed .review-recommendation {
    display: none;
  }

  .review-feed .jerseycore-review-card {
    padding: 19px 0 18px;
  }

  .review-feed .jerseycore-review-card:nth-child(n+5) {
    display: none;
  }

  .review-feed .commentlist.is-expanded .jerseycore-review-card {
    display: list-item;
  }

  .review-feed .review-card-head strong {
    display: block;
    max-width: 220px;
    overflow: hidden;
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .review-feed .review-card-rating {
    color: #28d678;
    font-size: 15px;
    letter-spacing: 2px;
    white-space: nowrap;
  }

  .review-feed .review-card-copy {
    margin-top: 17px;
    color: #766c67;
    font-size: 14px;
    line-height: 1.35;
  }

  .review-feed .review-gallery {
    gap: 8px;
    margin: 17px 0 8px;
    overflow-x: auto;
  }

  .review-feed .review-gallery img {
    flex: 0 0 118px;
    width: 118px;
    height: 160px;
    object-fit: cover;
  }

  .review-feed .jerseycore-review-card > time {
    margin-top: 10px;
    color: #aaa;
    font-size: 12px;
  }

  .mobile-review-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 18px 0 5px;
    font-size: 11px;
  }

  .mobile-review-actions button,
  .mobile-review-actions a {
    padding: 0;
    border: 0;
    background: transparent;
    color: #444;
    font: inherit;
    text-decoration: none;
    cursor: pointer;
  }

  .mobile-review-actions span {
    margin-left: 5px;
  }

  .jerseycore-reviews > .review-write-link {
    display: none;
  }
}

/* Size selector integrity: one source size per button, aligned on both breakpoints. */
.custom-product-template .size-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
}

.custom-product-template .size-btn {
  width: 100%;
  min-width: 0;
  height: 42px;
  margin: 0;
  padding: 0 5px;
  justify-content: center;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .custom-product-template .size-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
  }

  .custom-product-template .size-btn {
    height: 44px;
    font-size: 14px;
  }
}

@media (min-width: 769px) {
  .pc-show {
    display: block;
  }

  .h5-show {
    display: none;
  }

  /* PC端导航项之间的分隔符 */
  .nav-title:not(:last-child)::after {
    content: "/";
    margin: 0 8px;
    color: #999;
  }
}

/* 图片展示 */
.product-gallery {
  margin-top: 0;
}

.gallery-main {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
}

.gallery-item {
  aspect-ratio: 1;
  background: #f5f5f5;
  border-radius: 4px;
  overflow: hidden;
}

.gallery-item.hidden {
  display: none;
}

.gallery-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  height: auto;
  cursor: url("../images/zoom.svg") 24 24, auto;
  transition: transform 0.3s ease;
  cursor: zoom-in;
}

.gallery-img.zoomed {
  cursor: zoom-out;
}

.thumb-list {
  display: flex;
  gap: 0.5rem;
  margin-top: 1rem;
  overflow-x: auto;
  scrollbar-width: none;
}

.thumb-item {
  width: 60px;
  height: 60px;
  border-radius: 4px;
  overflow: hidden;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.2s;
}

.thumb-item.active {
  opacity: 1;
  border: 2px solid #000;
}

.thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.show-more-btn {
  position: absolute;
  bottom: -23px;
  left: 50%;
  transform: translate(-50%);
  background-color: #fff;
  height: 56px;
  padding: 0 50px;
  font-size: 20px;
  background: #fff;
  color: #212121;
  border: 0.01333rem solid #000;
  font-family: OpenSans;
  font-weight: 700;
}

.show-more-text {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 14px;
}

.show-more-text span {
  font-size: 20px;
  color: #000;
  font-family: Arial;
  font-weight: 700;
}

.show-more-text i {
  font-size: 24px;
  margin-left: 12px;
}

.sticky-wrapper {
  position: sticky;
  top: 80px; /* header height */
  width: 500px;
  max-height: calc(100vh - 80px);
  padding: 46px 30px;
  background: #fff;
  border-left: 0.01333rem solid #ebedee;
  z-index: 10;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.sticky-wrapper::-webkit-scrollbar {
  display: none;
}

/* 右侧产品信息 */
.product-right {
  grid-column-start: 2;
  grid-row: 1 / 3;
  position: relative;
  height: 100%;
  width: 500px;
}

.product-right .sticky-wrapper {
  border-left: 0.01333rem solid #ebedee;
  scrollbar-width: none;
  -ms-overflow-style: none;
  top: 0px;
  /* max-height: 100%; */
  overflow-y: auto;
  
  max-width: 100%;
}

@media screen and (max-width: 768px) {
  .product-right .sticky-wrapper {
    z-index: 399;
  }
}



.product-right .sticky-wrapper::-webkit-scrollbar {
  display: none;
}

.product-title {
  margin-bottom: 1rem;
  font-weight: 500;
  font-family: AdihausDIN Cn, Helvetica, Arial, sans-serif;
  font-size: 36px;
  line-height: 36px;
  letter-spacing: 1.5px;
}

.product-options {
  color: #000;
  font-size: 14px;
  line-height: 14px;
  margin-top: 16px;
  margin-bottom: 22px;
}

/* 优惠券 */
.coupon-box {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: fit-content;
  background-color: #ff5367;
  padding: 15px;
  margin-bottom: 40px;
  line-height: 14px;
  color: #fff;
}

.coupon-box :before {
  left: 0;
  transform: translate(-50%, -50%);
  content: "";
  position: absolute;
  top: 50%;
  background: #fff;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.coupon-box :after {
  right: 0;
  transform: translate(50%, -50%);
  content: "";
  position: absolute;
  top: 50%;
  background: #fff;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.coupon-box a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.coupon-box a p {
  font-size: 14px;
  line-height: 14px;
  word-break: break-word;
  color: #fff;
  margin: 0;
  padding: 0;
}

.get-btn {
  margin-left: 0.5rem;
  background: #fff;
  color: #ef4444;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}

/* 价格 */
.price-box {
  margin-bottom: 1rem;
}

.price-box .price-current {
  font-size: 28px;
  font-family: AdihausDIN-Bold, Arial, Helvetica, sans-serif;
  white-space: nowrap;
  color: #111;
  line-height: 28px;
  font-weight: 700;
}

.price-box .price-original {
  color: #767677;
  font-size: 16px;
  text-decoration: line-through;
  margin-left: 5px;
  line-height: 20px;
}

/* Flash Deals */
.flash-deals {
  background: url("../images/product_sale_bg.png") 50% no-repeat;
  background-size: 100% 100%;
  color: #fff;
  border-radius: 4px;
  margin-bottom: 1rem;
  width: 100%;
  height: 50px;
  height: auto;
  min-height: 50px;
  padding: 0 10px;
  display: flex;
  align-items: center;
}

.flash-deals a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.flash-header {
}

.flash-title {
  font-size: 16px;
  font-weight: 600;
  font-style: italic;
  font-weight: 700;
  color: #fff;
  margin: 0;
  padding: 0;
}

.flash-time {
  color: #fff;
  text-align: right;
  font-size: 12px;
  font-weight: 700;
  margin-left: 20px;
}

.time-item {
  position: relative;
  color: #fff;
  background: #000;
  padding: 10px 12px 8px 10px;
  letter-spacing: 2px;
  display: inline-block;
  line-height: 1;
  width: 35px;
}

.time-unit {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%);
  font-size: 10px;
  color: #000;
  letter-spacing: 0;
  padding: 10px 5px;
  font-weight: 700;
  font-family: AdihausDIN, Helvetica, Arial, sans-serif;
  box-sizing: border-box;
}

.flash-tips {
  font-size: 12px;
  opacity: 0.8;
}

/* 促销信息 */
.promotions {
  margin-bottom: 1rem;
}

.promotions-mobile,
.delivery-info-mobile {
  display: none;
}

.promo-link {
  line-height: 1.8;
  font-size: 14px;
  color: #000;
  text-decoration: underline;
}

/* 尺码选择 */
.size-section {
  margin-bottom: 1.5rem;
}

.size-header {
  margin-bottom: 1rem;
}

.size-guide {
  display: flex;
  align-items: center;
}

.size-guide:hover {
  background-color: #000;
  color: #fff;
}

.size-grid {
  margin-bottom: 0.5rem;
  display: flex;
  flex-wrap: wrap;
}

.size-btn {
  padding: 8px 16px;
  transition: all 0.3s;
  width: 92px;
  height: 40px;
  border: 1px solid #ebedee;
  font-size: 13px;
  color: #000;
  background: #fff;
  margin: 0 -1px -1px 0;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.size-btn.active {
  background: #000;
  color: white;
}

.size-btn:hover {
  background: #000;
  color: white;
}

.size-btn:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.size-guide svg {
  font-size: 24px;
  font-weight: 400;
  margin-right: 8px;
}

.size-guide .guide-text {
  font-size: 16px;
  cursor: pointer;
  font-weight: 400;
  text-decoration: underline;
  color: #000;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.size-tip {
  font-size: 12px;
  color: #666;
}

/* 定制选项 */
.customize-form {
  margin-bottom: 1.5rem;
}

.custom-group {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 10px;
}

.custom-selection {
  margin-right: 20px;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.group-item {
  margin-right: 20px;
  display: flex;
  align-items: center;
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 0;
  border: 0;
  background: transparent;
  color: #111;
  font: inherit;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
}

.custom-product-template .custom-name-number[hidden],
.custom-product-template .squad-list-wrapper[hidden] {
  display: none !important;
}

/* Keep the patch control inside one row; never let its text input protrude below. */
.custom-product-template .select-box.select-have-img {
  position: relative;
  overflow: visible;
}

.custom-product-template .select-box.select-have-img > img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 48px;
  height: 100%;
  margin: 0;
  padding: 5px 9px;
  border-right: 1px solid #d7d7d7;
  object-fit: contain;
}

.custom-product-template .select-box.select-have-img > .patch-list {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 48px;
  display: block;
  width: calc(100% - 48px) !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 58px 0 10px !important;
  border: 0 !important;
  background: transparent;
  box-shadow: none;
}

.custom-product-template .select-box.select-have-img > .cancel-select,
.custom-product-template .select-box.select-have-img > .fa-chevron-down {
  z-index: 4;
}

.custom-product-template .squad-list-wrapper .select-box {
  position: relative;
}

.custom-product-template .squad-list-wrapper .squad-list {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 58px 0 10px !important;
  border: 0 !important;
  background: transparent;
  box-shadow: none;
}

.custom-product-template .squad-list-wrapper .cancel-select,
.custom-product-template .squad-list-wrapper .fa-chevron-down {
  z-index: 4;
}

.customize-title {
  font-weight: 600;
}

.custom-more {
  font-size: 16px;
  font-weight: 400;
  text-decoration: underline;
  color: #000;
}

.custom-more:hover {
  background-color: #000;
  color: #fff;
}

.radio-box {
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #ddd;
  border-radius: 50%;
  margin-right: 8px;
  transition: all 0.3s ease;
}

.radio-box.active {
  border-color: #000;
}

.radio-box.active .radio-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  background: #000;
  border-radius: 50%;
}

.custom-form {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 10px;
  font-size: 14px;
  flex-wrap: wrap;
}

.custom-form ul {
  padding: 0;
  flex: 0 0 100%;
  margin: 0;
  list-style: none;
}

.custom-form ul li {
  margin-bottom: 10px;
}

.custom-form ul li .widget-item {
  width: 49%;
}

.custom-form ul li .widget-item input {
  width: 100%;
  border-radius: 0;
}

.custom-form ul li .widget-item input::placeholder {
  color: #999;
}

.custom-form li {
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 10px;
}

/* 当显示时使用flex布局 */
.custom-form li[style*="display: flex"] {
  display: flex !important;
}

.custom-form li.active {
  color: #000;
}

.custom-form li.active .radio-box {
  border-color: #000;
}

.custom-form li.active .radio-box .radio-inner {
  background-color: #000;
}

/* 数量选择器 */
.select-box {
  position: relative;
  width: 100%;
  cursor: pointer;
  height: 40px;
  border: 1px solid #ccc;
}

.select-box .list {
  width: 100%;
  max-height: 216px;
  z-index: 999;
  background-color: #fff;
  overflow-y: scroll;
  padding-top: 4px;
  padding-bottom: 10px;
  box-shadow: 0 0 0.13333rem rgba(0, 0, 0, 0.3);
  position: absolute;
  display: none;
  top: 103%;
  border: 1px solid #ddd;
  z-index: 1000;
  margin-top: 2px;
  border-radius: 0;
}

.select-box .list.active {
  display: block;
}

.select-box .list li {
  width: 100%;
  height: 42px;
  line-height: 42px;
  text-align: left;
  background-color: #fff;
  border: 6px;
  font-size: 14px;
  padding-left: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.custom-product-template .patch-list-wrapper .list li {
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.25;
}

.custom-product-template .patch-list-wrapper .list .patch-option-image {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  margin: 0;
  object-fit: contain;
}

.select-box .list li:hover {
  background-color: #ededed;
  height: 54px;
  line-height: 54px;
}

.select-box input[type="select"] {
  padding-left: 10px;
  height: 100%;
  border: none;
  position: absolute;
  right: 0;
  width: 100%;
  border-radius: 0 6px 6px 0;
  white-space: nowrap;
  padding-right: 48px;
  text-overflow: ellipsis;
}

.select-box input[type="select"]::placeholder {
  color: #999;
}

.select-box input[type="select"]:focus {
  outline: none;
  border-color: #000;
}

.select-box img {
  width: auto;
  height: 35px;
  margin: 2px;
}

.select-box .patch-list {
  width: 80% !important;
  border-left: 1px solid #ccc !important;
  padding-left: 10px !important;
  height: 100% !important;
}

.select-box.select-have-img img {
  color: transparent;
  object-fit: contain;
  width: auto;
  height: 35px;
}

.select-box .fa-chevron-down {
  transition: transform 0.2s;
  font-size: 14px;
  color: #212121;
  z-index: 1;
  position: absolute;
  top: 51%;
  right: 0.13333rem;
  right: 10px;
  transform: translateY(-50%);
}

.select-box .cancel-select {
  display: block;
  color: #212121;
  z-index: 1;
  position: absolute;
  top: 51%;
  right: 10px;
  transform: translateY(-50%);
  margin-right: 18px;
  font-size: 14px;
}

.select-box .cancel-select:hover {
  opacity: 1;
}

/* 贺卡选项 */
.greeting-cards {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.card-item {
  flex: 1;
  padding: 0.75rem;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* 服务特性 */
.service-features {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 30px;
  margin-bottom: 30px;
}

.feature-item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  color: #000;
}

.feature-item-line {
  content: "";
  display: block;
  width: 1px;
  height: 26px;
  background: #ccc;
}

.feature-title {
  font-size: 12px;
  color: #666;
  margin: 0;
}

.feature-value {
  font-weight: 600;
}

/* 操作按钮 */
.action-buttons {
  display: flex;
  gap: 1rem;
}

.action-buttons span {
  font-size: 20px;
}

.add-cart {
  font-family: OpenSans;
  font-weight: 700;
  text-align: center;
  line-height: 100%;
  border: none;
  cursor: pointer;
  padding: 0 32px;
  font-size: 16px;
  flex: 1;
  height: 64px;
  background: #000;
  color: #fff;
}

.wishlist {
  height: 64px;
  border: 1px solid #fff;
  width: 74px;
  border: 0.01333rem solid #000;
}
.wishlist i {
  font-size: 24px;
  color: #000;
}

/* 配送信息 */
.delivery-info {
  color: #666;
  display: flex;
  flex-direction: column;
  gap: 28px;
  padding: 28px 0;
}

.delivery-item {
  padding: 0.5rem 0;
}

.delivery-item i {
  margin-right: 5px;
}

.delivery-item .delivery-text {
  text-decoration: underline;
  font-size: 16px;
  line-height: 16px !important;
  color: #666;
}

/* 响应式 */
@media (max-width: 1024px) {
  .product-container {
    display: flex;
    flex-direction: column;
    padding: 0;
    width: 100%;
  }

  .product-right {
    width: 100%;
    border-left: none;
    margin-top: 20px;
  }

  .sticky-wrapper {
    position: relative;
    top: 0;
    height: auto;
  }

  .product-left {
    width: 100%;
  }

  .gallery-main {
    width: 100%;
  }

  .service-features {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .custom-swiper-wrapper {
    display: block;
  }

  .product-wrapper {
    padding: 0;
    width: 100%;
    overflow-x: hidden;
  }

  .product-container {
    width: 100%;
    margin: 0;
  }

  .product-right {
    margin-top: 0 !important;
  }

  .sticky-wrapper {
    padding: 0 15px !important;
  }

  /* 确保所有内容区域不会超出屏幕 */
  .product-gallery,
  .gallery-main,
  .gallery-item,
  .product-right,
  .custom-form,
  .size-section,
  .price-box,
  .action-buttons {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* 图片容器适应 */
  .gallery-item img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  /* 表单元素适应 */
  .custom-form ul li .widget-item {
    width: 100%;
  }

  /* 确保按钮组不会超出 */
  .action-buttons {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 10px;
    background: #fff;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    z-index: 999;
    display: flex;
    gap: 10px;
    width: 100%;
    box-sizing: border-box;
  }

  .gallery-main {
    grid-template-columns: 1fr;
  }

  .size-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    justify-content: flex-start;
  }

  .size-btn {
    width: 100%;
    height: 36px;
    padding: 0;
    font-size: 12px;
  }

  .thumb-list {
    padding: 10px;
    gap: 8px;
  }

  .thumb-item {
    width: 48px;
    height: 48px;
  }

  /* 产品信息 */
  .product-title {
    font-size: 24px;
    line-height: 28px;
  }

  /* 尺码选择 */
  .size-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0px;
  }

  .size-btn {
    width: 100%;
    height: 36px;
    padding: 0;
    font-size: 12px;
  }

  /* 定制选项 */
  .custom-form ul li .widget-item {
    width: 100%;
  }

  /* 操作按钮 */
  .action-buttons {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 10px;
    background: #fff;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    z-index: 999;
    gap: 10px;
  }

  .add-cart {
    height: 48px;
    font-size: 14px;
  }

  .wishlist {
    height: 48px;
    width: 48px;
  }

  /* 优惠券 */
  .coupon-box {
    margin: 15px 0;
    padding: 10px;
    width: 100%;
  }

  /* Flash Deals */
  .flash-deals {
    padding: 8px;
    min-height: 40px;
  }

  .flash-title {
    font-size: 14px;
  }

  /* 服务特性 */
  .service-features {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.26667rem;
    gap: 5px;
    flex-wrap: nowrap;
  }

  .feature-item {
    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    color: #000;
    font-size: 12px;
  }

  /* 总价区域 */
  .total-price-section {
    margin-bottom: 70px; /* 为固定的操作按钮留出空间 */
  }

  /* 推荐商品 */
  .product-bottom {
    padding: 40px 15px;
  }
}

/* 小屏幕设备优化 */
@media (max-width: 480px) {
  .product-wrapper {
    padding: 0;
  }

  .sticky-wrapper {
    padding: 10px !important;
  }

  .size-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0px;
  }

  .custom-group {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .product-bottom {
    padding: 20px 10px;
    margin-bottom: 60px; /* 为固定底部按钮留出空间 */
  }
}

/* 通用容器控制 */
.product-wrapper {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}

/* 确保所有容器都使用border-box */
* {
  box-sizing: border-box;
}

/* 工具类 */
.pc-show {
  display: block;
  padding: 10px;
}

.h5-show {
  display: none;
}

@media (max-width: 768px) {
  .pc-show {
    display: none;
  }

  .h5-show {
    display: block;
  }
}

/* 推荐商品区域 */
.product-bottom {
  max-width: 850px;
  margin: 0 auto;
  padding: 80px 0;
  width: 100%;
}

.product-bottom .details-accordion {
  padding: 0;
}

.product-bottom .details-accordion .accordion-item {
  border-top: 1px solid #dedede;
  font-size: 16px;
  position: relative;
}

.product-bottom .details-accordion .accordion-item .show-more-content-btn {
  height: 56px;
  padding: 0 50px;
  font-size: 20px;
  display: block;
  margin: 40px auto;
  background: #fff;
  color: #212121;
  border: 0.01333rem solid #000;
  font-weight: 700;
  text-align: center;
  line-height: 100%;
  cursor: pointer;
}

.product-bottom .details-accordion .accordion-title {
  padding: 30px 20px;
  font-size: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.product-bottom .details-accordion .accordion-title h2 {
  margin: 0;
  padding: 0;
  font-family: AdihausDIN, Helvetica, Arial, sans-serif;
  box-sizing: border-box;
  font-weight: 700;
  font-size: 16px;
}

.product-bottom .details-accordion .accordion-content {
  display: none;
  padding: 0 20px;
  margin-top: 5px;
}

.product-bottom .details-accordion .accordion-item.active .accordion-content {
  display: block;
}

.product-bottom
  .details-accordion
  .accordion-item.active
  .accordion-content
  .care-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-start;
}

.product-bottom
  .details-accordion
  .accordion-item.active
  .accordion-content
  .care-list
  ul {
  flex: 1;
  min-width: 275px;
  font-size: 14px;
}

.product-bottom
  .details-accordion
  .accordion-item.active
  .accordion-content
  .care-list
  ul
  li {
  margin-left: 5px;
  white-space: normal;
  margin-bottom: 5px;
  width: 100%;
  font-size: 14px;
  line-height: 20px;
  padding-left: 6px;
  letter-spacing: 0.5px;
  color: #000;
}

.product-bottom .details-accordion .accordion-item .right-icon {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.product-bottom .details-accordion .accordion-item .right-icon .review-grade {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.product-bottom
  .details-accordion
  .accordion-item
  .right-icon
  .review-grade
  .review-score {
  margin: 0;
  padding: 0;
  margin-right: 10px;
  font-size: 23px;
  color: #000;
}

.product-bottom .details-accordion .accordion-item .right-icon .star-rating {
  font-size: 16px;
  margin-right: 10px;
}

.recommendations {
  margin: 40px auto;
  max-width: 1200px;
  padding: 0 20px;
  overflow: hidden;
}

.section-title {
  font-weight: 600;
  margin-bottom: 1rem;
  line-height: 1;
  font-size: 28px;
  padding-bottom: 20px;
}

.product-carousel {
  /* 删除这些属性
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem; 
  */
}

/* 产品卡片 */
.product-card {
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid transparent;
}

.product-card:hover {
  border: 1px solid #000;
}

.card-container:hover .quick-view-btn,
.card-container:hover i {
  display: block;
}

.card-container .card-cover {
  position: relative;
  aspect-ratio: 1;
  background: #f5f5f5;
}

.card-container .card-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card-container .quick-view-btn {
  display: none;
  position: absolute;
  z-index: 1;
  bottom: 12%;
  bottom: 20px;
  right: 0;
  left: 0;
  margin: auto;
  width: fit-content;
  height: auto;
  aspect-ratio: 3.2916;
  background: rgba(0, 0, 0, 0.6);
  font-size: 16px;
  color: #fff;
  font-weight: 700;
}

.card-container i {
  z-index: 1;
  font-size: 20px;
  color: #000;
  font-weight: bolder;
  right: 15px;
  top: 15px;
  position: absolute;
  display: none;
  user-select: none;
}

.card-details {
  padding: 1rem;
}

.card-title {
  font-size: 14px;
  margin-bottom: 0.5rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.card-title a {
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  word-break: break-word;
  overflow: hidden;
  color: #000;
  font-size: 16px;
  line-height: 20px;
  color: #666;
  height: 40px;
}

.card-details .card-price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  font-size: 14px;
  line-height: 18px;
  color: #000;
  font-weight: 700;
  margin: 0;
  white-space: nowrap;
}

.card-details .card-price .price-current {
  display: contents;
}

.card-details .card-price ins {
  order: 1;
  color: #111;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.card-details .card-price del {
  order: 2;
  color: #8c8c8c;
  font-size: 11px;
  font-weight: 400;
  text-decoration: line-through;
}

.card-details .card-price bdi,
.card-details .card-price .woocommerce-Price-amount {
  text-decoration: inherit;
}

/* Draw sale-price deletion exactly once. WooCommerce nests the amount inside
   <del>; inheriting line-through on the nested amount produces a visibly
   doubled stroke in Edge at small mobile sizes. */
.card-details .card-price del .woocommerce-Price-amount,
.card-details .card-price del bdi,
.card-details .card-price del .woocommerce-Price-currencySymbol {
  text-decoration: none;
}

/* 响应式调整 */
@media (max-width: 1024px) {
  .product-carousel {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .product-carousel {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .product-carousel {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* Swiper容器样式 */
.product-carousel.swiper {
  width: 100%;
  position: relative;
  margin: 0 auto;
}

/* Swiper包装器样式 */
.swiper-wrapper {
  display: flex;
  width: 100%;
  height: 100%;
  box-sizing: content-box;
  transition-property: transform;
}

/* 滑动项样式 */
.product-card.swiper-slide {
  width: 280px;
  margin-right: 20px;
  flex-shrink: 0;
}

/* 导航按钮样式 */
.swiper-button-prev,
.swiper-button-next {
  z-index: 10;
  font-size: 24px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: #000;
  background: #fff;
  font-weight: 700;
  border: none;
  margin-top: -10px;
  width: 50px;
  height: 52px;
}

.swiper-button-prev {
  left: 0;
}

.swiper-button-next {
  right: 0;
}

.swiper-button-prev i,
.swiper-button-next i {
  font-size: 20px;
  color: #000;
  display: block; /* 确保图标显示 */
}

.swiper-button-next:after,
.swiper-button-prev:after {
  display: none;
}

/* 分页器样式 */
.swiper-pagination {
  position: relative;
  width: 100%;
  margin-top: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 50%;
  background: #000;
  opacity: 0.2;
  margin: 0 4px;
  cursor: pointer;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #000;
}

/* 禁用态 */
.swiper-button-disabled {
  opacity: 0.3;
  cursor: not-allowed;
  display: none;
}

@media (max-width: 1024px) {
  .swiper-button-prev,
  .swiper-button-next {
    display: none !important;
  }
}

/* 确保产品卡片内容正确显示 */
.card-container {
  width: 100%;
  height: 100%;
}

.card-cover {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
}

.card-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 图片放大相关样式 */
.gallery-main img {
  cursor: url(../images/zoom.svg) 24 24, auto;
  transition: transform 0.3s ease, opacity 0.2s ease;
}

.gallery-main img.zoomed {
  cursor: url(../images/zoomed.svg) 24 24, auto;
  z-index: 1000;
}

/* 图片列表开/收起效果 */
.gallery-images {
  max-height: 500px;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.gallery-images.expanded {
  max-height: none;
}

/* 缩略图效果 */
.thumb-item {
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.2s ease;
}

.thumb-item.active {
  opacity: 1;
  border: 2px solid #000;
}

/* 视频播放按钮 */
.video-play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.7);
  color: white;
  border: none;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  cursor: pointer;
  z-index: 2;
}

.video-play-btn i {
  font-size: 24px;
}

/* 手风琴内容样式 */
.accordion-content {
  display: none;
}

.accordion-content .content-wrapper {
  transition: max-height 0.3s ease-out;
}

/* Show More 按钮样式 */
.show-more-btn {
  background: #fff;
  color: #212121;
  border: 0.01333rem solid #000;
  height: 56px;
  padding: 0 50px;
  font-size: 20px;
  bottom: -23px;
  left: 50%;
  transform: translate(-50%);
  background-color: #fff;
}

.show-more-btn:hover {
  background: #f5f5f5;
}

.show-more-text {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.show-more-btn .fa {
  transition: transform 0.3s ease;
}

/* 手风琴标题样式 */
.accordion-title {
  cursor: pointer;
}

.accordion-title .fa {
  transition: transform 0.3s ease;
}

.customize-total-price {
  margin-top: 20px;
  padding: 15px;
  border-top: 1px solid #eee;
  font-size: 16px;
  color: #333;
}

.customize-total-price[hidden] {
  display: none !important;
}

.customize-total-price .clear-customization {
  flex: none;
  padding: 0;
  border: 0;
  background: transparent;
  color: #222;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}

.clear-all-button {
  color: #666;
  text-decoration: underline;
  transition: color 0.2s;
}

.clear-all-button:hover {
  color: #000;
}

/* 总价区域样式 */
.total-price-section {
  margin-top: 20px;
  padding: 15px;
  border-top: 1px solid #eee;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.total-price-text {
  font-size: 14px;
  color: #333;
}

.clear-button {
  color: #666;
  text-decoration: underline;
  cursor: pointer;
  font-size: 14px;
  transition: color 0.3s;
}

.clear-button:hover {
  color: #000;
}

/* 确保flex布局正确 */
.flex-x-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* 基础响应式布局 */
@media (max-width: 1024px) {
  .product-container {
    grid-template-columns: 1fr;
    padding: 0;
  }

  .product-right {
    grid-column: 1;
    grid-row: auto;
    border-left: none;
    margin-top: 20px;
  }

  .sticky-wrapper {
    position: relative;
    top: 0;
    height: auto;
  }

  .service-features {
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    margin-top: 10px;
  }

  .service-features .feature-value {
    margin: 0;
  }
}

@media (max-width: 768px) {
  /* 导航和面包屑 */
  .breadcrumb-navigation {
    margin: 0px;
    padding: 0 15px;
    font-size: 14px;
  }

  /* 图片展示 */
  .gallery-main {
    grid-template-columns: 1fr;
    gap: 2px;
  }

  .gallery-item {
    border-radius: 0;
  }

  .thumb-list {
    padding: 10px;
    gap: 8px;
  }

  .thumb-item {
    width: 48px;
    height: 48px;
  }

  /* 产品信息 */
  .product-title {
    font-size: 24px;
    line-height: 28px;
  }

  /* 尺码选择 */
  .size-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 0px;
  }

  .size-btn {
    width: 100%;
    height: 36px;
    padding: 0;
    font-size: 12px;
  }

  /* 定制选项 */
  .custom-form ul li .widget-item {
    width: 100%;
  }

  /* 操作按钮 */
  .action-buttons {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 10px;
    background: #fff;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    z-index: 999;
    gap: 10px;
  }

  .add-cart {
    height: 48px;
    font-size: 14px;
  }

  .wishlist {
    height: 48px;
    width: 48px;
  }

  /* 优惠券 */
  .coupon-box {
    margin: 15px 0;
    padding: 10px;
  }

  /* Flash Deals */
  .flash-deals {
    padding: 8px;
    min-height: 40px;
  }

  .flash-title {
    font-size: 14px;
  }

  /* 总价区域 */
  .total-price-section {
    margin-bottom: 70px; /* 为固定的操作按钮留出空间 */
  }

  /* 推荐商品 */
  .product-bottom {
    padding: 40px 15px;
  }
}

/* 小屏幕设备优化 */
@media (max-width: 480px) {
  .product-wrapper {
    padding: 0;
  }

  .sticky-wrapper {
    padding: 15px !important;
  }

  .size-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .custom-group {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}

/* 移动端轮播图和价格显示 */
.product-cover-mobile {
  display: none;
}

@media (max-width: 768px) {
  .product-cover-mobile {
    display: block;
    width: 100%;
    position: relative;
  }

  .cover-list {
    width: 100%;
    height: 100%; /* 保持正方形 */
    position: relative;
  }

  .swiper-container {
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  .cover-item {
    width: 100%;
    height: 100%;
    position: relative;
  }

  .cover-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .video-wrapper {
    width: 100%;
    height: 100%;
    position: relative;
  }

  .video-wrapper video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .video-play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 48px;
    height: 48px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 24px;
  }

  /* 分页器样式 */
  .swiper-pagination {
    position: absolute;
    bottom: 20px;
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 8px;
  }

  .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: rgba(255, 255, 255, 0.6);
    border-radius: 50%;
    opacity: 0.6;
    cursor: pointer;
  }

  .swiper-pagination-bullet-active {
    background: #fff;
    opacity: 1;
  }

  /* 价格显示 */
  .product-price-mobile {
    bottom: 0;
    left: 0;
    right: 0;
    padding: 15px;
    color: #000;
  }

  .price-info {
    gap: 10px;
  }

  .product-info .product-title {
    display: none;
  }

  .product-info .product-options {
    display: none;
  }

  .product-info .price-box {
    display: none;
  }

  .price-current {
    font-size: 20px;
    font-weight: bold;
  }

  .price-original {
    font-size: 14px;
    text-decoration: line-through;
    opacity: 0.8;
  }

  .product-bottom {
    padding: 0px 15px;
  }

  .product-details {
    border-bottom: 1px solid #dedede;
  }

  .section-title {
    line-height: 1;
    font-size: 0.24rem;
    padding-bottom: 0.24rem;
    font-weight: bolder;
  }

  .delivery-info {
    padding: 0;
    margin: 0;
    gap: 0px;
  }

  .product-bottom
    .details-accordion
    .accordion-item
    .right-icon
    .review-grade
    .review-score {
    font-size: 16px;
  }

  .product-bottom .details-accordion .accordion-title {
    padding: 0.13333rem 0;
  }

  .product-bottom
    .details-accordion
    .accordion-item
    .right-icon
    .review-grade
    .review-score {
    font-size: 10px;
  }

  .recommendations {
    margin: 10px auto;
    padding: 0;
  }

  .recommendations .section-title {
    line-height: 1;
    font-size: 0.24rem;
    padding-bottom: 0;
    margin-bottom: 0;
    font-weight: bolder;
    padding: 0.24rem 0;
  }

  .recommendations .card-details {
    padding: 0 0 1rem 0;
  }

  .recommendations .card-details .card-title {
    padding: 0;
    margin: 0;
  }

  .recommendations .card-details .amount {
    font-size: 14px;
  }

  .delivery-item i {
    margin-right: 5px;
    font-size: 0.18667rem;
    line-height: 0.24rem;
    color: #666;
  }

  .delivery-item .delivery-text {
    text-decoration: underline;
    line-height: 12px; !important;
    font-size: 12px;
    color: #666;
  }

  .custom-swiper-wrapper {
    padding: 0 15px;
    background-color: #fff;
  }

  .gg-product-info .title {
    font-size: 20px;
    text-align: left;
    font-weight: 700;
    margin: 0;
  }

  .gg-product-info .sub-title {
    font-size: 14px;
    text-align: left;
    margin: 0;
  }

  .breadcrumb-navigation .back-button {
    margin: 15px 0;
    padding: 15px 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }

  .breadcrumb-navigation ul li p {
    margin: 0;
  }

  .breadcrumb-navigation ul li p span {
    font-size: 14px;
  }

  .product-bottom .details-accordion .accordion-item .show-more-content-btn {
    height: 35px;
    padding: 0 10px;
    font-size: 14px;
    margin: 20px auto;
  }

  .product-bottom
    .details-accordion
    .accordion-item
    .show-more-content-btn
    .show-more-text
    span {
    font-size: 14px;
  }

  .product-bottom
    .details-accordion
    .accordion-item
    .show-more-content-btn
    .show-more-text
    i {
    font-size: 18px;
    margin-left: 8px;
  }

  .elementor-element {
    /* display: none; */
  }
}

/* 响应式显示类 */
.pc-show {
  display: none;
}

.h5-show {
  display: none;
}

@media (min-width: 769px) {
  .pc-show {
    display: block;
  }
}

@media (max-width: 768px) {
  .h5-show {
    display: block;
  }
}

/* 移动端分页器样式 */
@media (max-width: 768px) {
  .swiper-pagination {
    position: absolute;
    bottom: 15px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .custom-bullet {
    width: 40px;
    height: 3px;
    border-radius: 0;
    background: #ccc;
    margin-right: 0.04rem;
    transition: all 0.3s;
    cursor: pointer;
    opacity: 1;
  }

  .custom-bullet:last-child {
    margin-right: 0;
  }

  .custom-bullet-active {
    background: #000;
    width: 40px;
    height: 3px;
    border-radius: 0;
  }
}

.quantity-section {
  margin: 20px 0;
}

.quantity-section .select-box {
  position: relative;
  width: 100%;
}

.quantity-section .select-box input {
  width: 100%;
  height: 44px;
  padding: 0 15px;
  border: 1px solid #ddd;
  border-radius: 4px;
  cursor: pointer;
  background: #fff;
}

.quantity-section .fa-chevron-down {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}

.quantity-dropdown {
  display: none;
  left: 0;
  background: #fff;
  border: 1px solid #ddd;
  border-top: none;
  border-radius: 0 0 4px 4px;
  z-index: 1000;
  overflow-y: auto;
  width: 100%;
  max-height: 216px;
  z-index: 999;
  background-color: #fff;
  overflow-y: scroll;
  padding-top: 4px;
  padding-bottom: 10px;
  box-shadow: 0 0 0.13333rem rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 103%;
  padding: 0;
}

.quantity-dropdown li {
  width: 100%;
  height: 42px;
  line-height: 42px;
  text-align: left;
  background-color: #fff;
  border: 6px;
  font-size: 14px;
  padding-left: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-left: 10px;
}

.quantity-dropdown li:hover {
  background-color: #ededed;
  height: 54px;
  line-height: 54px;
}

.customization-summary {
  padding: 10px 0;
  border-top: 1px solid #eee;
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
  color: #000;
  font-size: 14px;
  flex-wrap: wrap;
  width: 100%;
}

.price-calculation {
  flex: 1;
}

.clear-customization {
  color: #666;
  text-decoration: underline;
}

.clear-customization:hover {
  color: #333;
}

/* 主图滑动样式 */
#product-cover .swiper {
  width: 100%;
  height: auto;
}

#product-cover .swiper-slide {
  width: 100% !important; /* 强制宽度为100% */
  height: auto;
}

#product-cover .cover-item {
  width: 100%;
  height: auto;
}

#product-cover .cover-img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* 推荐产品滑动样式 */
.product-carousel .swiper-slide {
  width: auto;
  height: auto;
}

@media (max-width: 768px) {
  .product-carousel .swiper-slide {
    width: 48%; /* 移动端两列显示 */
  }
  .wd-toolba.wd-toolbar-label-show {
    display: none;
  }
}

.size-guide-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.added-to-cart-notice {
  position: fixed;
  top: 20px;
  right: 20px;
  background: #4caf50;
  color: white;
  padding: 15px 25px;
  border-radius: 4px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  z-index: 9999;
  animation: slideIn 0.3s ease-out;
  display: flex;
  align-items: center;
  gap: 10px;
}

.added-to-cart-notice i {
  font-size: 18px;
}

/* Dependency-free replacements for the supplied child theme's Swiper rules. */
@media (max-width: 768px) {
  .product-gallery.h5-show {
    width: 100%;
    margin: 0;
    overflow: hidden;
  }

  .product-gallery.h5-show .cover-list,
  .product-gallery.h5-show .swiper {
    width: 100%;
  }

  .product-gallery.h5-show .swiper {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .product-gallery.h5-show .swiper::-webkit-scrollbar {
    display: none;
  }

  .product-gallery.h5-show .swiper-wrapper {
    display: flex;
    width: auto;
    height: auto;
    transform: none !important;
  }

  .product-gallery.h5-show .swiper-slide {
    flex: 0 0 100%;
    width: 100% !important;
    min-width: 100%;
    scroll-snap-align: start;
  }

  .product-gallery.h5-show .cover-item {
    display: grid;
    place-items: center;
    width: 100%;
    aspect-ratio: 1 / 1.12;
    overflow: hidden;
    background: #f5f5f5;
  }

  .product-gallery.h5-show .cover-img,
  .product-gallery.h5-show video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .product-gallery.h5-show .swiper-pagination {
    min-height: 24px;
    margin: 6px 0 12px;
  }

  .product-gallery.h5-show .swiper-pagination-bullet {
    border: 0;
    padding: 0;
  }

  .product-carousel .swiper-wrapper {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 78%;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .product-carousel .product-card.swiper-slide {
    width: auto;
    margin: 0;
    scroll-snap-align: start;
  }
}

/* Reviews: preserves the supplied product accordion while removing WoodMart classes. */
.custom-product-template .fa {
  display: inline-grid;
  place-items: center;
  width: 1em;
  height: 1em;
  font-family: Arial, sans-serif;
  font-style: normal;
  line-height: 1;
}

.custom-product-template .fa-chevron-down::before { content: "⌄"; }
.custom-product-template .fa-chevron-right::before { content: "›"; }
.custom-product-template .fa-arrow-left::before { content: "←"; }
.custom-product-template .fa-arrow-right::before { content: "→"; }
.custom-product-template .fa-heart-o::before { content: "♡"; font-size: 1.35em; }
.custom-product-template .fa-star::before { content: "★"; }
.custom-product-template .fa-shield::before { content: "◆"; }
.custom-product-template .fa-plane::before { content: "✈"; }
.custom-product-template .fa-undo::before { content: "↶"; }
.custom-product-template .fa-times::before { content: "×"; }

.jerseycore-reviews {
  width: 100%;
  padding: 6px 0 24px;
  color: #111;
  font-size: 14px;
}

.jerseycore-reviews .reviews-summary {
  display: grid;
  grid-template-columns: 180px minmax(260px, 1fr);
  gap: 36px;
  align-items: center;
  padding: 24px 0 28px;
  border-bottom: 1px solid #ddd;
}

.jerseycore-reviews .review-score {
  display: grid;
  gap: 7px;
  margin: 0;
}

.jerseycore-reviews .review-score strong {
  font-size: 42px;
  line-height: 1;
}

.jerseycore-reviews .review-score > span {
  color: #666;
  font-size: 13px;
}

.jerseycore-reviews .star-rating {
  position: relative;
  float: none;
  display: inline-block;
  width: 5em;
  height: 1em;
  overflow: hidden;
  margin: 0;
  color: #111;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0;
}

.jerseycore-reviews .star-rating::before {
  content: "★★★★★";
  color: #d5d5d5;
}

.jerseycore-reviews .star-rating > span {
  position: absolute;
  top: 0;
  left: 0;
  height: 1em;
  overflow: hidden;
  color: transparent !important;
  font-size: 0 !important;
  white-space: nowrap;
}

.jerseycore-reviews .star-rating > span::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "★★★★★";
  color: #111;
  font-size: 16px;
}

.jerseycore-reviews .star-rating > span strong {
  font-size: 0 !important;
}

.jerseycore-reviews .rating-bars {
  display: grid;
  gap: 8px;
}

.jerseycore-reviews .rating-bar {
  display: grid;
  grid-template-columns: 34px minmax(120px, 1fr) 28px;
  gap: 9px;
  align-items: center;
}

.jerseycore-reviews .rating-bar i {
  display: block;
  height: 4px;
  overflow: hidden;
  background: #e4e4e4;
}

.jerseycore-reviews .rating-bar i b {
  display: block;
  height: 100%;
  background: #111;
}

.jerseycore-reviews .rating-bar small {
  text-align: right;
}

.jerseycore-reviews .review-list {
  padding: 28px 0 8px;
}

.jerseycore-reviews .review-list > h3 {
  margin: 0 0 24px;
  font-size: 20px;
  letter-spacing: -.02em;
}

.jerseycore-reviews .commentlist {
  margin: 0;
  padding: 0;
  list-style: none;
}

.jerseycore-reviews .commentlist > li {
  padding: 22px 0;
  border-top: 1px solid #e1e1e1;
}

.jerseycore-reviews .comment_container {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 16px;
}

.jerseycore-reviews .comment_container > img.avatar {
  width: 48px;
  height: 48px;
  margin: 0;
  border: 0;
  border-radius: 50%;
}

.jerseycore-reviews .comment-text {
  margin: 0;
  padding: 0;
  border: 0;
}

.jerseycore-reviews .meta {
  margin: 5px 0 10px;
  color: #666;
}

.jerseycore-reviews .description p {
  margin: 0;
  line-height: 1.6;
}

.jerseycore-reviews .review-form-panel {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

.jerseycore-reviews .review-form-panel > summary {
  display: flex;
  min-height: 68px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  cursor: pointer;
  list-style: none;
  letter-spacing: .04em;
}

.jerseycore-reviews .review-form-panel > summary::-webkit-details-marker {
  display: none;
}

.jerseycore-reviews .review-form-panel[open] > summary span {
  transform: rotate(180deg);
}

.jerseycore-reviews .review-summary-stars,
.jerseycore-reviews .review-card-rating {
  color: #111;
  letter-spacing: .08em;
}

.jerseycore-reviews .jerseycore-review-card {
  padding: 18px 0 20px;
  border-top: 1px solid #ddd;
}

.jerseycore-reviews .review-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.jerseycore-reviews .review-card-head > div {
  display: flex;
  align-items: center;
  gap: 10px;
}

.jerseycore-reviews .verified-review {
  padding: 3px 7px;
  background: #f0f0f0;
  color: #555;
  font-size: 11px;
}

.jerseycore-reviews .review-card-head time {
  color: #777;
  font-size: 12px;
}

.jerseycore-reviews .review-card-rating {
  margin-top: 8px;
}

.jerseycore-reviews .jerseycore-review-card h4 {
  margin: 9px 0 5px;
  font-size: 16px;
}

.jerseycore-reviews .review-card-copy {
  line-height: 1.5;
}

.jerseycore-reviews .review-card-copy .wsd-review-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(112px, 148px));
  gap: 8px;
  margin: 12px 0 7px;
}

.jerseycore-reviews .review-card-copy .wsd-review-photo {
  display: block;
  min-width: 0;
  overflow: hidden;
  background: #f5f5f5;
}

.jerseycore-reviews .review-card-copy .wsd-review-photo img {
  display: block;
  width: 100%;
  height: 160px;
  margin: 0;
  object-fit: cover;
}

.jerseycore-reviews .review-user-profile {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 12px 0 0;
  background: #d8d8d8;
  border: 1px solid #d8d8d8;
}

.jerseycore-reviews .review-user-profile > div {
  min-height: 52px;
  padding: 8px 10px;
  background: #fff;
}

.jerseycore-reviews .review-user-profile dt {
  color: #777;
  font-size: 11px;
  text-transform: uppercase;
}

.jerseycore-reviews .review-user-profile dd {
  margin: 3px 0 0;
  font-size: 14px;
  font-weight: 700;
}

.jerseycore-reviews .review-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  margin: 10px 0 0;
  background: #e5e5e5;
}

.jerseycore-reviews .review-metrics > div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  min-height: 36px;
  padding: 7px 8px;
  background: #f6f6f6;
  font-size: 12px;
}

.jerseycore-reviews .review-metrics dt {
  color: #666;
}

.jerseycore-reviews .review-metrics dd {
  margin: 0;
  font-weight: 700;
}

.jerseycore-reviews .review-gallery {
  display: flex;
  gap: 10px;
  margin-top: 16px;
}

.jerseycore-reviews .review-gallery img {
  width: 88px;
  height: 88px;
  object-fit: cover;
}

.jerseycore-reviews .review-write-link {
  display: flex;
  min-height: 68px;
  align-items: center;
  justify-content: center;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

.jerseycore-reviews .review-write-link a {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  color: #111;
  letter-spacing: .04em;
  text-decoration: none;
}

.jerseycore-reviews .review-form-wrap {
  max-width: 680px;
  margin: 0 auto;
  padding: 8px 0 32px;
}

.jerseycore-reviews .comment-reply-title {
  display: block;
  margin: 0 0 20px;
  font-size: 20px;
}

.jerseycore-reviews .comment-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.jerseycore-reviews .comment-form > p,
.jerseycore-reviews .comment-form-rating {
  margin: 0;
}

.jerseycore-reviews .comment-form-rating,
.jerseycore-reviews .comment-form-comment,
.jerseycore-reviews .form-submit {
  grid-column: 1 / -1;
}

.jerseycore-reviews label {
  display: block;
  margin-bottom: 7px;
}

.jerseycore-reviews input,
.jerseycore-reviews select,
.jerseycore-reviews textarea {
  width: 100%;
  border: 1px solid #cfcfcf;
  border-radius: 0;
  background: #fff;
}

.jerseycore-reviews input,
.jerseycore-reviews select {
  min-height: 46px;
}

.jerseycore-reviews textarea {
  min-height: 130px;
  padding: 12px;
  resize: vertical;
}

.jerseycore-reviews .submit {
  min-width: 190px;
  min-height: 48px;
  border: 0;
  background: #111;
  color: #fff;
  font-weight: 800;
}

@media (max-width: 768px) {
  .jerseycore-reviews .reviews-summary {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .jerseycore-reviews .review-score {
    justify-items: center;
    text-align: center;
  }

  .jerseycore-reviews .comment-form {
    grid-template-columns: 1fr;
  }

  .jerseycore-reviews .comment-form > * {
    grid-column: 1;
  }

  .jerseycore-reviews .review-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    background: transparent;
  }

  .jerseycore-reviews .review-user-profile {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jerseycore-reviews .review-metrics > div {
    min-height: 34px;
    padding: 6px 8px;
  }

  .jerseycore-reviews .review-metrics > div:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .jerseycore-reviews .jerseycore-review-card {
    padding: 16px 0 18px;
  }

  .jerseycore-reviews .review-card-head {
    gap: 10px;
  }

  .jerseycore-reviews .review-user-profile > div {
    min-height: 48px;
    padding: 7px 9px;
  }
}

@keyframes slideIn {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

/*
 * Mobile review feed fidelity guard.
 * Keep this after the shared WooCommerce review rules so the compact
 * benchmark card cannot be expanded again by later generic selectors.
 */
@media (max-width: 768px) {
  .custom-product-template .product-bottom {
    padding-right: 16px;
    padding-left: 16px;
  }

  .custom-product-template .product-bottom .details-accordion .accordion-content {
    padding-right: 0;
    padding-left: 0;
  }

  .jerseycore-reviews .benchmark-reviews-head {
    display: none;
  }

  .jerseycore-reviews .benchmark-reviews-head > strong {
    font-size: 14px;
  }

  .jerseycore-reviews .benchmark-reviews-head > span {
    gap: 6px;
    font-size: 16px;
  }

  .jerseycore-reviews .benchmark-reviews-layout {
    display: block;
    padding: 0;
  }

  /* The benchmark's mobile review feed starts with media tabs and review
     cards. The score/fit/quality rail remains a desktop-only summary. */
  .jerseycore-reviews .review-insights {
    display: none;
    margin: 0;
  }

  .jerseycore-reviews .review-score-tile {
    width: 100%;
    height: 80px;
    margin: 0 0 28px;
  }

  .jerseycore-reviews .review-score-tile strong {
    font-size: 31px;
  }

  .jerseycore-reviews .review-insight-scale {
    margin: 0 0 25px;
  }

  .jerseycore-reviews .review-insight-scale > strong {
    margin-bottom: 10px;
    font-size: 18px;
    line-height: 22px;
  }

  .jerseycore-reviews .review-scale-labels {
    margin-top: 8px;
    font-size: 12px;
  }

  .jerseycore-reviews .review-media-tabs {
    width: 223px;
    max-width: 100%;
    margin: 0 0 8px;
  }

  .jerseycore-reviews .review-media-tabs button {
    flex: 0 0 50%;
    min-width: 0;
    height: 40px;
    padding: 0 12px;
    font-size: 13px;
  }

  .jerseycore-reviews .review-feed .review-card-head {
    align-items: center;
    min-height: 24px;
  }

  .jerseycore-reviews .review-feed .review-card-head strong {
    display: block;
    max-width: 235px;
    overflow: hidden;
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .jerseycore-reviews .review-feed .review-card-rating {
    margin-top: 0;
    color: #28d678;
    font-size: 15px;
    letter-spacing: 2px;
    white-space: nowrap;
  }

  .jerseycore-reviews .review-feed .verified-review,
  .jerseycore-reviews .review-feed .jerseycore-review-card h4,
  .jerseycore-reviews .review-feed .review-user-profile,
  .jerseycore-reviews .review-feed .review-recommendation {
    display: none;
  }

  .jerseycore-reviews .review-feed .jerseycore-review-card {
    padding: 15px 0 14px;
  }

  .jerseycore-reviews .review-feed .review-card-copy {
    margin-top: 11px;
    color: #766c67;
    font-size: 14px;
    line-height: 1.35;
  }

  .jerseycore-reviews .review-feed .review-gallery {
    display: grid;
    grid-template-columns: repeat(2, 118px);
    gap: 8px;
    margin: 12px 0 7px;
    overflow: visible;
  }

  .jerseycore-reviews .review-feed .review-gallery img {
    width: 118px;
    height: 160px;
    object-fit: cover;
  }

  .jerseycore-reviews .review-feed .review-card-copy .wsd-review-gallery {
    grid-template-columns: repeat(2, minmax(0, 118px));
    gap: 8px;
    margin: 12px 0 7px;
  }

  .jerseycore-reviews .review-feed .review-card-copy .wsd-review-photo img {
    width: 100%;
    height: 160px;
    object-fit: cover;
  }

  .jerseycore-reviews .review-feed .jerseycore-review-card > time {
    margin-top: 10px;
    color: #aaa;
    font-size: 12px;
  }
}

/* Final product-detail alignment pass against the captured desktop/mobile source. */
@media (min-width: 1025px) {
  .custom-product-template .product-wrapper {
    padding: 0;
  }

  .custom-product-template .product-container {
    grid-template-columns: minmax(0, calc(100% - 515px)) 515px;
    padding-left: 0;
  }

  .custom-product-template .product-right,
  .custom-product-template .product-right .sticky-wrapper {
    width: 515px;
  }

  .custom-product-template .product-right .sticky-wrapper {
    padding: 46px 54px 46px 31px;
  }

  .custom-product-template .breadcrumb-navigation {
    margin: 15px 0 26px;
    padding: 15px 0 15px 52px;
  }

  .custom-product-template .gallery-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px;
    margin-left: 0;
    padding-left: 42px;
  }

  .custom-product-template .gallery-item {
    background: #fff;
    border-radius: 0;
  }

  .custom-product-template .gallery-img {
    transform: translateX(-16px) scale(1.09);
  }

  .custom-product-template .product-title {
    margin: 0 0 16px;
    font-family: "AdihausDIN Cn", "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
    font-size: 36px;
    font-stretch: condensed;
    font-style: italic;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
  }

  .custom-product-template .promotions {
    margin-bottom: 41px;
  }

  .custom-product-template .size-section {
    margin-bottom: 40px;
  }

  .custom-product-template .size-guide .guide-text {
    font-size: 14px;
  }

  .custom-product-template .select-have-img .patch-list {
    top: 0;
  }

  .custom-product-template .feature-value {
    margin: 8px 0 0;
    line-height: 1;
  }
}

.greeting-card-option {
  margin: 28px 0 0;
  border: 1px solid #222;
  background: #fff;
}

.greeting-card-option > summary {
  display: grid;
  grid-template-columns: 24px 1fr auto;
  min-height: 56px;
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  cursor: pointer;
  list-style: none;
}

.greeting-card-option > summary::-webkit-details-marker {
  display: none;
}

.greeting-card-option > summary strong {
  text-align: right;
}

.greeting-card-option[open] > summary > span:last-child {
  transform: rotate(90deg);
}

.greeting-card-option label {
  display: grid;
  gap: 8px;
  padding: 14px 18px 18px;
  border-top: 1px solid #ddd;
  font-size: 13px;
}

.greeting-card-option textarea {
  min-height: 76px;
  padding: 10px;
  border: 1px solid #aaa;
  resize: vertical;
}

@media (max-width: 1024px) {
  .custom-product-template .product-wrapper {
    padding: 0;
  }
}

@media (max-width: 768px) {
  .custom-product-template .breadcrumb-navigation {
    min-height: 55px;
    padding: 0 16px;
    border-bottom: 0;
  }

  .custom-product-template .breadcrumb-navigation .navigation-list {
    display: none;
  }

  .custom-product-template .breadcrumb-navigation .back-button {
    height: auto;
    margin: 0;
    padding: 0;
  }

  .custom-product-template .custom-swiper-wrapper {
    padding: 0;
  }

  .custom-product-template .product-gallery.h5-show .cover-item {
    aspect-ratio: 390 / 392;
    border-radius: 0;
  }

  .custom-product-template .promotions {
    display: none;
  }

  .custom-product-template .size-section {
    margin-top: 30px;
    margin-bottom: 14px;
  }

  .custom-product-template .gg-product-info {
    padding: 16px 16px 14px;
  }

  .custom-product-template .gg-product-info .title {
    font-family: "AdihausDIN Cn", "Arial Narrow", Arial, Helvetica, sans-serif;
    font-size: 16px;
    font-stretch: condensed;
    line-height: 21px;
  }

  .custom-product-template .product-info {
    padding-inline: 0;
  }

  .greeting-card-option {
    margin-top: 18px;
  }

  .custom-product-template .product-gallery.h5-show .swiper-pagination {
    bottom: 11px !important;
    gap: 7px;
  }

  .custom-product-template .product-gallery.h5-show .swiper-pagination-bullet {
    width: 24px;
    height: 3px;
    border-radius: 0;
    background: #ddd;
    opacity: 1;
  }

  .custom-product-template .product-gallery.h5-show .swiper-pagination-bullet-active {
    background: #000;
  }

  .custom-product-template .size-guide .guide-text {
    font-size: 14px;
  }

  .custom-product-template .mobile-option-rows {
    display: block;
  }

  .custom-product-template .mobile-option-row {
    width: 100%;
    height: 50px;
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    border: 0;
    border-bottom: 1px solid #e5e5e5;
    background: #fff;
    color: #111;
    font-size: 14px;
    font-weight: 400;
    text-transform: none;
  }

  .custom-product-template .mobile-option-row strong {
    font-size: 14px;
  }

  .custom-product-template .mobile-option-name strong {
    color: #f00000;
  }

  .custom-product-template .mobile-option-row span {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #999;
  }

  .custom-product-template .mobile-option-row .fa {
    color: #bbb;
    font-size: 12px;
  }

  .custom-product-template .action-buttons {
    position: static;
    inset: auto;
    padding: 0;
    background: transparent;
    box-shadow: none;
    z-index: auto;
  }
}

/* Functional, dependency-free product option and carousel behavior. */
.custom-product-template,
.custom-product-template .layout-main,
.custom-product-template .product-wrapper {
  max-width: 100%;
}

.custom-product-template .size-guide,
.custom-product-template .custom-more {
  cursor: pointer;
}

.custom-product-template .custom-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
  border: 0;
  background: transparent;
  color: #111;
  text-decoration: underline;
}

.custom-product-template .custom-form,
.custom-product-template .custom-form ul,
.custom-product-template .custom-name-number,
.custom-product-template .patch-list-wrapper,
.custom-product-template .select-box {
  min-width: 0;
  max-width: 100%;
}

.custom-product-template .custom-name-number {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.custom-product-template .custom-name-number .widget-item,
.custom-product-template .custom-name-number input,
.custom-product-template .patch-list-wrapper .select-box {
  width: 100%;
  min-width: 0;
}

.custom-product-template .select-box .list {
  z-index: 40;
  max-height: 260px;
  overflow-y: auto;
  background: #fff;
}

.custom-product-template .select-box .list li {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 9px 12px;
  cursor: pointer;
}

.custom-product-template .select-box .list li:hover,
.custom-product-template .select-box .list li:focus-visible {
  background: #f2f2f2;
}

.customize-total-price {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 14px 0 0;
  padding-top: 12px;
  border-top: 1px solid #e3e3e3;
  font-size: 13px;
}

.customize-total-price strong {
  font-size: 15px;
}

.custom-product-template .quantity-section .select-box {
  height: 46px;
}

.custom-product-template .quantity-section input[type="number"],
.custom-product-template .quantity-section input[type="select"] {
  width: 100%;
  height: 100%;
  padding: 0 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #111;
  cursor: pointer;
}

.custom-product-template .quantity-section .quantity-select {
  border: 1px solid #cfcfcf;
}

.custom-product-template .quantity-section .quantity-select .fa-chevron-down {
  right: 13px;
  z-index: 2;
  pointer-events: none;
  transition: transform .15s ease;
}

.custom-product-template .quantity-section .quantity-select.is-open .fa-chevron-down {
  transform: translateY(-50%) rotate(180deg);
}

.custom-product-template .quantity-section input[type="select"]:focus {
  outline: 1px solid #111;
  outline-offset: -1px;
}

.custom-product-template .quantity-section .quantity-list {
  top: calc(100% + 1px);
  left: -1px;
  width: calc(100% + 2px);
  max-height: 220px;
  margin: 0;
  padding: 0;
  border: 1px solid #111;
  box-shadow: none;
}

.custom-product-template .quantity-section .quantity-list li {
  min-height: 36px;
  height: 36px;
  padding: 0 14px;
  line-height: 36px;
}

.custom-product-template .quantity-section .quantity-list li:hover,
.custom-product-template .quantity-section .quantity-list li:focus-visible,
.custom-product-template .quantity-section .quantity-list li[aria-selected="true"] {
  height: 36px;
  line-height: 36px;
  background: #f1f1f1;
  outline: 0;
}

@media (max-width: 900px) {
  .custom-product-template .quantity-section {
    margin: 22px 0 20px;
  }

  .custom-product-template .quantity-section .select-box {
    height: 36px;
  }

  .custom-product-template .quantity-section input[type="select"] {
    padding-inline: 10px 38px;
    font-size: 13px;
  }
}

.custom-product-template .recommendations {
  max-width: 1240px;
  overflow: hidden;
}

.custom-product-template .product-carousel {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.custom-product-template .product-carousel .swiper-wrapper {
  width: 100%;
  max-width: 100%;
  display: flex;
  gap: 16px;
  padding: 0 0 8px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  box-sizing: border-box;
}

.custom-product-template .product-carousel .product-card.swiper-slide {
  flex: 0 0 calc((100% - 48px) / 4);
  width: auto;
  min-width: 0;
  margin: 0;
  scroll-snap-align: start;
}

.custom-product-template .product-carousel .swiper-button-prev,
.custom-product-template .product-carousel .swiper-button-next {
  cursor: pointer;
}

.custom-product-template button.size-guide,
.custom-product-template button.customization-more {
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.custom-product-template .product-carousel .swiper-button-prev.is-disabled,
.custom-product-template .product-carousel .swiper-button-next.is-disabled {
  opacity: .25;
  pointer-events: none;
}

/* Recommendation-card wishlist control: the reference uses a small, unboxed
   outline heart pinned to the image edge, never a native square button. */
.custom-product-template .recommendations .card-cover {
  position: relative;
}

/* Unsupported originality claim removed from recommendation cards. */

.custom-product-template .recommendations .card-cover img {
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

.custom-product-template .recommendations .card-wishlist {
  position: absolute;
  top: 50%;
  right: 8px;
  z-index: 3;
  width: 26px;
  height: 32px;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 0;
  transform: translateY(-50%);
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #111;
  cursor: pointer;
  appearance: none;
}

.custom-product-template .recommendations .card-wishlist .icon {
  width: 20px;
  height: 20px;
  fill: transparent;
  stroke: currentColor;
  stroke-width: 1.8;
}

.custom-product-template .recommendations .card-wishlist:focus-visible {
  outline: 1px solid #111;
  outline-offset: 2px;
}

@media (min-width: 769px) {
  .custom-product-template .product-details {
    margin-top: 13px;
    border-bottom: 1px solid #dedede;
  }

  .custom-product-template .product-bottom .details-accordion .accordion-title {
    height: 81px;
    padding: 0 20px;
  }

  .custom-product-template .recommendations {
    margin: 80px auto;
    padding: 0 0 20px;
  }

  .custom-product-template .recommendations .section-title {
    margin: 20px 0 0;
  }

  .custom-product-template .product-carousel .swiper-wrapper {
    gap: 15px;
    padding-bottom: 0;
  }

  .custom-product-template .product-carousel .product-card.swiper-slide {
    flex-basis: calc((100% - 45px) / 4);
  }

  .custom-product-template .recommendations .card-details {
    padding: 16px 16px 7px;
  }

  .custom-product-template .recommendations .swiper-pagination {
    margin-top: 12px;
  }
}

.size-guide-modal .modal-content {
  width: min(860px, calc(100vw - 32px));
  max-height: calc(100dvh - 48px);
  overflow: auto;
  background: #fff;
  box-shadow: 0 20px 70px rgb(0 0 0 / 24%);
}

.size-guide-modal .modal-header {
  position: sticky;
  top: 0;
  z-index: 3;
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 22px;
  border-bottom: 1px solid #ddd;
  background: #fff;
}

.size-guide-modal .modal-header h5 {
  margin: 0;
  font-size: 18px;
}

.size-guide-modal .close-modal {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 30px;
  cursor: pointer;
}

.size-guide-modal .modal-body {
  padding: 24px;
}

.size-table-wrap {
  overflow-x: auto;
}

.size-guide-table {
  width: 100%;
  min-width: 690px;
  border-collapse: collapse;
  margin-top: 18px;
}

.size-guide-table th,
.size-guide-table td {
  padding: 12px 10px;
  border: 1px solid #d9d9d9;
  text-align: center;
}

.size-guide-table thead th {
  background: #111;
  color: #fff;
}

.size-guide-note {
  margin: 16px 0 0;
  color: #666;
  font-size: 12px;
}

.customization-guide-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: guide-step;
}

.customization-guide-list li {
  position: relative;
  display: grid;
  gap: 4px;
  min-height: 68px;
  padding: 14px 12px 14px 54px;
  border-bottom: 1px solid #e4e4e4;
  counter-increment: guide-step;
}

.customization-guide-list li::before {
  content: counter(guide-step);
  position: absolute;
  left: 10px;
  top: 15px;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #111;
  color: #fff;
  font-weight: 700;
}

.customization-guide-list span {
  color: #666;
  font-size: 13px;
}

@media (max-width: 1100px) {
  .custom-product-template .product-carousel .product-card.swiper-slide {
    flex-basis: calc((100% - 32px) / 3);
  }
}

@media (min-width: 769px) and (max-width: 1100px) {
  .custom-product-template .product-carousel .swiper-button-prev,
  .custom-product-template .product-carousel .swiper-button-next {
    display: grid !important;
  }
}

@media (max-width: 768px) {
  .custom-product-template .customize-form {
    margin: 0;
  }

  .custom-product-template .customize-form .form-title {
    min-height: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: 0;
  }

  .custom-product-template .customize-form .customize-title {
    font-size: 18px;
    font-weight: 700;
  }

  .custom-product-template .customize-form .custom-more {
    min-height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 14px;
  }

  .custom-product-template .custom-group {
    margin: 0 0 10px;
  }

  .custom-product-template .custom-selection {
    width: 100%;
    margin: 0;
    gap: 24px;
  }

  .custom-product-template .custom-selection .group-item {
    width: auto;
    min-height: 28px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #111;
    font-size: 14px;
    line-height: 1.2;
    justify-content: flex-start;
  }

  .custom-product-template .custom-form {
    display: block;
    margin: 0;
  }

  .custom-product-template .custom-form ul,
  .custom-product-template .custom-form li {
    margin: 0;
  }

  .custom-product-template .custom-name-number {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
  }

  .custom-product-template .custom-name-number input {
    height: 40px;
    padding: 0 10px;
    border: 1px solid #bcbcbc;
    font-size: 13px;
  }

  .custom-product-template .custom-name-number .widget-item + .widget-item input {
    border-left: 0;
  }

  .custom-product-template .squad-list-wrapper,
  .custom-product-template .patch-list-wrapper {
    width: 100%;
    margin-top: 8px;
  }

  .custom-product-template .squad-list-wrapper .select-box,
  .custom-product-template .patch-list-wrapper .select-box {
    height: 40px;
    border-color: #bcbcbc;
  }

  .custom-product-template .select-have-img img {
    width: 48px;
    height: 38px;
    margin: 0;
    padding: 5px 9px;
    border-right: 1px solid #d7d7d7;
  }

  .custom-product-template .select-box .patch-list {
    position: absolute;
    top: 0;
    left: 48px;
    display: block;
    width: calc(100% - 48px) !important;
    height: 38px !important;
    padding: 0 34px 0 10px !important;
    border: 0 !important;
    box-sizing: border-box;
  }

  .custom-product-template .select-box .squad-list {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 38px;
    padding: 0 34px 0 10px;
    border: 0;
    box-sizing: border-box;
  }

  .custom-product-template .customize-total-price {
    min-height: 42px;
    align-items: center;
    margin: 10px 0 0;
    padding: 10px 0 0;
    font-size: 13px;
    line-height: 1.2;
  }

  .custom-product-template .customize-total-price strong {
    font-size: 14px;
    white-space: nowrap;
  }

  .custom-product-template .product-carousel .swiper-wrapper {
    grid-auto-columns: auto;
    display: flex;
    gap: 12px;
  }

  .custom-product-template .product-carousel .product-card.swiper-slide {
    flex-basis: calc((100% - 12px) / 2);
  }

  .size-guide-modal .modal-content {
    width: calc(100vw - 20px);
    max-height: calc(100dvh - 20px);
  }

  .size-guide-modal .modal-body {
    padding: 16px;
  }
}

/* Preserve the complete benchmark page while delaying below-the-fold paint. */
.custom-product-template .product-bottom {
  content-visibility: auto;
  contain-intrinsic-size: auto 760px;
}

.custom-product-template .recommendations {
  content-visibility: auto;
  contain-intrinsic-size: auto 520px;
}

.deferred-product-recommendations .recommendation-loading {
  width: 100%;
  margin: 0;
  padding: 48px 0;
  color: #777;
  text-align: center;
}

/* Product recommendation rails: swipe without exposing native scroll chrome. */
.custom-product-template .product-carousel .swiper-wrapper {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.custom-product-template .product-carousel .swiper-wrapper::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

@media (max-width: 768px) {
  /* The fixed purchase rail overlays the document in the benchmark; it does
     not reserve an extra blank page at the end of the footer. */
  body.single-product {
    padding-bottom: 0;
  }

  .custom-product-template .product-details {
    margin-top: 4px;
  }

  .custom-product-template .product-bottom {
    margin-top: -21.5px;
  }

  .custom-product-template .product-more-row,
  .custom-product-template .review-write-row {
    width: 100%;
    height: 26.5px;
    min-height: 26.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin: 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid #ddd;
    border-radius: 0;
    background: #fff;
    color: #111;
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .02em;
    text-decoration: none;
    appearance: none;
  }

  .custom-product-template .product-more-row .fa,
  .custom-product-template .review-write-row .fa {
    font-size: 10px;
  }

  .custom-product-template .deferred-product-recommendations {
    padding-bottom: 0;
    margin-bottom: 43px;
  }

  .custom-product-template .recommendations {
    margin: 0 auto;
    padding: 0;
  }

  .custom-product-template .recommendations .section-title {
    min-height: 55px;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    font-size: 16px;
    line-height: 1.25;
    letter-spacing: .02em;
  }

  .custom-product-template .product-carousel .swiper-wrapper {
    gap: 10px;
    padding-bottom: 0;
    overscroll-behavior-inline: contain;
  }

  .custom-product-template .recommendations .product-carousel {
    padding-bottom: 16px;
  }

  .custom-product-template .recommendations .swiper-pagination {
    position: absolute;
    bottom: 0 !important;
    left: 50% !important;
    width: auto;
    height: 6px;
    gap: 6px;
    margin: 0;
    transform: translateX(-50%) !important;
  }

  .custom-product-template .recommendations .swiper-pagination-bullet {
    width: 5px;
    height: 5px;
    margin: 0;
    border: 0;
    background: #d9d9d9;
    opacity: 1;
  }

  .custom-product-template .recommendations .swiper-pagination-bullet-active {
    background: #111;
  }

  .custom-product-template .product-carousel .product-card.swiper-slide {
    flex: 0 0 calc((100% - 10px) / 2);
  }

  .custom-product-template .recommendations .card-container .card-cover {
    aspect-ratio: 1 / 1;
  }

  .custom-product-template .recommendations .card-container .card-cover img {
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
  }

  .custom-product-template .recommendations .card-details {
    padding: 8px 0 0;
  }

  .custom-product-template .recommendations .card-title,
  .custom-product-template .recommendations .card-title a {
    height: 36px;
    margin: 0;
    font-size: 12px;
    line-height: 18px;
  }

  .custom-product-template .recommendations .card-price {
    margin-top: 7px;
    font-size: 14px;
    line-height: 18px;
  }
}

/* Measured pass: valid Sweden benchmark, 1440 desktop and 402 mobile. */
.custom-product-template .custom-form input,
.custom-product-template .select-box,
.custom-product-template .quantity-section input[type="number"] {
  border-color: #d9d9d9;
}

.custom-product-template .delivery-info {
  gap: 0;
  padding: 18px 0 0;
}

.custom-product-template .delivery-item {
  padding: 7px 0;
}

.custom-product-template .delivery-item i {
  width: 18px;
  color: #8a8a8a;
}

.custom-product-template .delivery-item .delivery-text {
  color: #777;
  font-size: 13px;
  line-height: 18px !important;
}

@media (min-width: 1025px) {
  .custom-product-template .show-more-btn {
    bottom: -27px;
    height: 54px;
    min-width: 188px;
    padding: 0 28px;
  }

  .custom-product-template .show-more-text span {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    letter-spacing: 0;
  }

  .custom-product-template .show-more-text i {
    margin-left: 10px;
    font-size: 16px;
  }

  .custom-product-template .custom-name-number input {
    height: 36px;
    border: 1px solid #d9d9d9;
  }

  .custom-product-template .select-box {
    height: 40px;
  }

  .custom-product-template .action-buttons {
    gap: 10px;
  }

  .custom-product-template .add-cart,
  .custom-product-template .wishlist {
    height: 58px;
  }

  .custom-product-template .product-bottom {
    padding-top: 58px;
  }
}

@media (max-width: 1024px) {
  .custom-product-template .sticky-wrapper,
  .custom-product-template .product-right,
  .custom-product-template .product-right .sticky-wrapper {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .custom-product-template .gg-product-info {
    min-height: 126px;
    padding: 24px 20px 22px;
  }

  .custom-product-template .gg-product-info .title {
    margin: 0 0 3px;
    font-size: 20px;
    line-height: 24px;
    font-weight: 600;
  }

  .custom-product-template .gg-product-info .sub-title {
    margin: 0 0 5px;
    font-size: 16px;
    line-height: 20px;
  }

  .custom-product-template .gg-product-info .price {
    font-size: 24px;
    line-height: 28px;
  }

  .custom-product-template .product-gallery.h5-show .cover-item {
    width: 100%;
    aspect-ratio: 402 / 478;
    background: #f4f4f4;
  }

  .custom-product-template .product-gallery.h5-show .cover-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .custom-product-template .sticky-wrapper {
    padding: 26px 16px 0 !important;
  }

  .custom-product-template .size-section {
    width: 100%;
    margin: 0 0 18px;
  }

  .custom-product-template .size-header {
    margin-bottom: 16px;
  }

  .custom-product-template .size-grid {
    width: 100%;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
  }

  .custom-product-template .size-btn {
    min-width: 0;
  }
}

/* Final measured overrides must stay last so legacy port rules cannot undo them. */
@media (min-width: 1025px) {
  .custom-product-template .product-wrapper,
  .custom-product-template .product-container {
    overflow: visible !important;
  }

  .custom-product-template .product-container {
    width: min(1430px, 100%) !important;
    margin-inline: auto !important;
    grid-template-columns: minmax(0, 930px) 500px !important;
    align-items: start;
    padding-bottom: 0 !important;
  }

  .custom-product-template .product-right {
    grid-column: 2;
    grid-row: 1 / span 2;
    position: sticky !important;
    top: 0 !important;
    align-self: start;
    width: 500px !important;
    height: 100dvh !important;
    overflow: hidden !important;
    background: #fff;
    z-index: 20;
  }

  .custom-product-template .product-right .sticky-wrapper {
    position: static !important;
    top: auto !important;
    width: 500px !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding: 46px 30px 96px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .custom-product-template .product-right .sticky-wrapper::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
  }

  .custom-product-template .product-right .action-buttons {
    position: fixed !important;
    right: max(0px, calc((100vw - 1430px) / 2)) !important;
    bottom: 0 !important;
    width: 499px;
    margin: 0 !important;
    padding: 12px 30px 14px !important;
    background: #fff;
    box-shadow: 0 -1px 0 #e5e5e5 !important;
    z-index: 40;
  }

  /* Measured against the 940px target gallery: two 463px tiles with a 4px gap. */
  .custom-product-template .gallery-main {
    grid-template-columns: repeat(2, 463px) !important;
    gap: 4px !important;
    padding-left: 0 !important;
  }

  .custom-product-template .gallery-item,
  .custom-product-template .gallery-img {
    width: 463px !important;
    height: 463px !important;
  }

  .custom-product-template .gallery-img {
    transform: none !important;
    object-fit: contain !important;
  }

  /* A single product medium must fill the desktop gallery instead of leaving an empty second tile. */
  .custom-product-template .gallery-main:has(> .gallery-item:only-child) {
    grid-template-columns: 930px !important;
  }

  .custom-product-template .gallery-main > .gallery-item:only-child,
  .custom-product-template .gallery-main > .gallery-item:only-child .gallery-img {
    width: 930px !important;
    height: 930px !important;
  }

  .custom-product-template .size-title,
  .custom-product-template .customize-title,
  .custom-product-template .quantity-title {
    font-size: 20px !important;
    line-height: 26px !important;
  }

  .custom-product-template .quantity-title {
    margin: 10px 0 !important;
  }

  .custom-product-template .breadcrumb-navigation {
    margin-bottom: 4px !important;
  }

  .custom-product-template .quantity-section {
    margin-top: -6px !important;
  }

  .custom-product-template .size-section {
    margin-bottom: 34px !important;
  }

  .custom-product-template .customize-form .form-title {
    min-height: 26px;
    margin: 0 0 9px !important;
  }

  .custom-product-template .service-features {
    margin-bottom: 18px !important;
  }

  .custom-product-template .product-bottom {
    padding-bottom: 0 !important;
  }

  body.single-product .site-footer {
    margin-top: 0 !important;
  }
}

@media (max-width: 768px) {
  .custom-product-template .gg-product-info {
    min-height: 100px !important;
    padding: 13px 16px 10px !important;
  }

  .custom-product-template .gg-product-info .title {
    margin-bottom: 2px !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 18px !important;
    line-height: 22px !important;
    font-style: normal;
    font-weight: 600;
  }

  .custom-product-template .gg-product-info .sub-title {
    margin-bottom: 3px !important;
    font-size: 14px !important;
    line-height: 18px !important;
  }

  .custom-product-template .gg-product-info .price {
    font-size: 24px !important;
    line-height: 27px !important;
  }

  .custom-product-template .product-gallery.h5-show .cover-item {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
  }

  .custom-product-template .product-right .action-buttons {
    min-height: 80px !important;
    padding: 14px 16px !important;
  }

  .custom-product-template .product-right .action-buttons .add-cart {
    height: 52px !important;
  }

  .custom-product-template .product-right .action-buttons .wishlist {
    flex: 0 0 48px !important;
    width: 48px !important;
    height: 52px !important;
    order: 2;
    flex-direction: column;
    gap: 2px;
    border: 0 !important;
    background: #fff !important;
  }

  .custom-product-template .product-right .action-buttons .add-cart {
    order: 1;
  }

  .custom-product-template .product-right .action-buttons .wishlist-label {
    display: block;
    font-size: 11px;
    line-height: 12px;
  }

  .custom-product-template .product-right .action-buttons .wishlist i {
    font-size: 21px;
  }

  /* Touch screens must not retain desktop hover/quick-view states. */
  .custom-product-template .product-card,
  .custom-product-template .product-card:hover,
  .custom-product-template .product-card:focus,
  .custom-product-template .product-card:focus-within {
    border-color: transparent !important;
    outline: 0 !important;
  }

  .custom-product-template .card-container .quick-view-btn,
  .custom-product-template .card-container:hover .quick-view-btn,
  .custom-product-template .card-container:focus .quick-view-btn,
  .custom-product-template .card-container:focus-within .quick-view-btn {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .custom-product-template .product-card:hover img {
    transform: none !important;
  }

  .custom-product-template .promotions-desktop,
  .custom-product-template .delivery-info-desktop {
    display: none !important;
  }

  .custom-product-template .promotions-mobile {
    display: block !important;
    margin: 14px 0 0 !important;
  }

  .custom-product-template .delivery-info-mobile {
    display: flex !important;
    padding: 0 0 15px !important;
  }

  .custom-product-template .delivery-info-mobile .delivery-item {
    padding: 5px 0 !important;
  }

  .custom-product-template .delivery-info-mobile .delivery-item:first-child {
    margin-bottom: 2px;
  }

  .custom-product-template .quantity-section {
    margin: 0 0 13px !important;
  }

  .custom-product-template .quantity-title {
    margin: 0 0 17.5px !important;
  }

  .custom-product-template .greeting-card-option {
    margin-top: 2px !important;
  }

  .custom-product-template .product-more-row,
  .custom-product-template .review-write-row {
    display: none !important;
  }

  .custom-product-template .product-bottom .details-accordion .accordion-title {
    height: 41.35px !important;
    padding: 0 !important;
  }

  .custom-product-template .product-bottom .details-accordion .accordion-title h2 {
    font-size: 16px !important;
    line-height: 21px !important;
  }

  .custom-product-template .product-bottom {
    margin-top: -8.5px !important;
  }
}

@media (min-width: 769px) {
  .custom-product-template .product-right .action-buttons .wishlist-label {
    display: none;
  }

  /*
   * Keep optional reviewer profile data available without turning each
   * desktop review into a tall four-column table. The benchmark feed is
   * media-first and uses compact metadata around the review copy.
   */
  .custom-product-template .jerseycore-reviews .review-feed .review-user-profile {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin: 16px 0;
    border: 0;
    background: transparent;
  }

  .custom-product-template .jerseycore-reviews .review-feed .review-user-profile > div {
    display: flex;
    min-height: 0;
    align-items: center;
    gap: 5px;
    padding: 6px 9px;
    background: #f5f5f5;
  }

  .custom-product-template .jerseycore-reviews .review-feed .review-user-profile dt {
    color: #777;
    font-size: 11px;
    text-transform: uppercase;
  }

  .custom-product-template .jerseycore-reviews .review-feed .review-user-profile dd {
    margin: 0;
    font-size: 12px;
    font-weight: 700;
  }
}

/*
 * Product review density measured against the 402px benchmark.
 * The reference keeps the score and four fit scales visible without
 * turning the review introduction into a full viewport.
 */
@media (max-width: 768px) {
  .custom-product-template .jerseycore-reviews .review-insights {
    display: block !important;
    width: 100%;
    margin-bottom: 21px !important;
  }

  .custom-product-template .jerseycore-reviews .review-score-tile {
    width: 100% !important;
    height: 56px !important;
    margin-bottom: 20px !important;
    gap: 15px !important;
  }

  .custom-product-template .jerseycore-reviews .review-score-tile strong {
    font-size: 29px !important;
    line-height: 1 !important;
  }

  .custom-product-template .jerseycore-reviews .review-score-tile span {
    font-size: 14px !important;
    letter-spacing: 0 !important;
  }

  .custom-product-template .jerseycore-reviews .review-insight-scale {
    margin-bottom: 31px !important;
  }

  .custom-product-template .jerseycore-reviews .review-insight-scale > strong {
    margin-bottom: 8px !important;
    font-size: 16px !important;
    line-height: 20px !important;
  }

  .custom-product-template .jerseycore-reviews .review-scale-track {
    height: 4px !important;
  }

  .custom-product-template .jerseycore-reviews .review-scale-track i {
    top: -1px !important;
    border-top-width: 13px !important;
    border-right-width: 7px !important;
    border-left-width: 7px !important;
  }

  .custom-product-template .jerseycore-reviews .review-scale-labels {
    margin-top: 6px !important;
    font-size: 12px !important;
    line-height: 16px !important;
  }

  .custom-product-template .jerseycore-reviews .review-media-tabs {
    width: 223px !important;
    margin: 2px 0 8px !important;
  }

  .custom-product-template .jerseycore-reviews .review-feed .commentlist > .jerseycore-review-card:first-child {
    padding-top: 2px !important;
  }

  .custom-product-template .jerseycore-reviews .review-feed .verified-review,
  .custom-product-template .jerseycore-reviews .review-feed .jerseycore-review-card h4,
  .custom-product-template .jerseycore-reviews .review-feed .review-user-profile,
  .custom-product-template .jerseycore-reviews .review-feed .review-recommendation {
    display: none !important;
  }

  .custom-product-template .jerseycore-reviews .review-feed .review-gallery {
    display: grid !important;
    grid-template-columns: repeat(2, 118px) !important;
    gap: 8px !important;
    margin: 12px 0 8px !important;
  }

  .custom-product-template .jerseycore-reviews .review-feed .review-gallery img {
    width: 118px !important;
    height: 165px !important;
    object-fit: cover !important;
  }

  .custom-product-template .jerseycore-reviews .review-feed .review-card-copy .wsd-review-gallery {
    display: grid !important;
    grid-template-columns: repeat(2, 118px) !important;
    gap: 8px !important;
    margin: 12px 0 8px !important;
  }

  .custom-product-template .jerseycore-reviews .review-feed .review-card-copy .wsd-review-photo img {
    width: 118px !important;
    height: 165px !important;
    object-fit: cover !important;
  }

  .custom-product-template .deferred-product-recommendations {
    margin-bottom: 0 !important;
  }
}

/* Single-image product gallery hotfix 2026-08-04. */
@media (min-width: 1025px) {
  .custom-product-template .gallery-main > .gallery-item:only-child { grid-column: 1 / -1; }
  .custom-product-template .gallery-main > .gallery-item:only-child .gallery-img { transform: none; max-height: 720px; object-fit: contain; }
}

/* Complete single-image expansion 2026-08-04. */
@media (min-width: 1025px) {
  .custom-product-template .gallery-main > .gallery-item:only-child {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
  }
}

/* Desktop product CTA stops at the product grid boundary instead of covering the footer. */
@media (min-width: 1024px) {
  body.footer-in-view.single-product .custom-product-template .product-right .action-buttons {
    position: absolute !important;
    right: 0 !important;
    left: auto !important;
    bottom: 0 !important;
    width: 499px !important;
    transform: none !important;
  }
}

/* Final size-selector override after legacy product rules. */
.custom-product-template .size-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
}

.custom-product-template .size-btn {
  width: 100% !important;
  min-width: 0 !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 5px !important;
  justify-content: center !important;
  white-space: nowrap !important;
}

@media (max-width: 767px) {
  .custom-product-template .size-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  .custom-product-template .size-btn {
    height: 44px !important;
    font-size: 14px !important;
  }
}
/* Cart badge: no dot for an empty cart; populated carts show the numeric count. */
.cart-count:empty {
  display: none !important;
}
.wsd-source-video-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  padding: 18px 0;
}
.wsd-source-video-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #000;
}
.wsd-source-video-frame iframe,
.wsd-source-video-frame video {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  object-fit: contain;
}
.wsd-source-video-meta { padding: 10px 0 2px; }
.wsd-source-video-meta h3 { margin: 0 0 6px; font-size: 15px; line-height: 1.4; }
.wsd-source-video-meta time { display: block; margin-top: 4px; color: #666; font-size: 12px; }
@media (max-width: 767px) {
  .wsd-source-video-grid { grid-template-columns: 1fr; gap: 14px; }
}

.term-arsenal-premier-league-2 .team-editorial-media img {
  width: min(100%, 1205px);
}

@media (max-width: 700px) {
  .term-arsenal-premier-league-2 .catalog-products {
    transform: translateY(-26px);
  }

  .term-arsenal-premier-league-2 .team-landing-head + .catalog-products > .products {
    margin-bottom: 0;
  }

  .term-arsenal-premier-league-2 .team-slider-pagination {
    min-height: 61px;
  }

  .term-arsenal-premier-league-2 .team-seo-content {
    min-height: 2373px;
    margin-top: 34px;
    margin-bottom: -31px;
  }

  .term-arsenal-premier-league-2 .site-footer {
    min-height: 693px;
  }
}
/* Source team banner used only by profiles whose reference page contains one. */
.team-source-banner {
  margin: 24px calc(50% - 50vw) 18px;
}

.team-source-banner img {
  display: block;
  width: 100%;
  height: auto;
}

.term-germany-uefa .team-seo-content {
  min-height: 4333px;
}

.term-france-uefa .team-seo-content {
  min-height: 5453px;
}

.term-brazil-conmebol .team-seo-content {
  min-height: 1788px;
}

.term-portugal-uefa .team-seo-content {
  min-height: 4083px;
}

.term-spain-uefa .team-seo-content {
  min-height: 3880px;
}

.term-mexico-concacaf .team-seo-content {
  min-height: 3553px;
}

.term-netherlands-uefa .team-seo-content {
  min-height: 3106px;
}

.term-belgium-uefa .team-seo-content {
  min-height: 1968px;
}

.term-usa-concacaf .team-seo-content {
  min-height: 1777px;
}

/* Chelsea reference editorial uses the full content width and compact 13px copy. */
.term-chelsea-premier-league-2 .team-seo-editorial {
  max-width: none;
  font-size: 13px;
  line-height: normal;
}
.term-chelsea-premier-league-2 .team-seo-editorial h3,
.term-chelsea-premier-league-2 .team-seo-editorial h3 span {
  font-size: 16.38px !important;
  line-height: normal !important;
}
.term-chelsea-premier-league-2 .team-seo-editorial img {
  max-width: 100%;
  height: auto !important;
}

.term-bayern-munich-bundesliga-2 .team-seo-editorial {
  max-width: none;
  font-size: 13px;
  line-height: normal;
}
.term-bayern-munich-bundesliga-2 .team-seo-editorial h3,
.term-bayern-munich-bundesliga-2 .team-seo-editorial h3 span {
  font-size: 16.38px !important;
  line-height: normal !important;
}
.term-bayern-munich-bundesliga-2 .team-seo-editorial img {
  max-width: 100%;
  height: auto !important;
}

.term-inter-milan-serie-a-2 .team-seo-editorial {
  max-width: none;
  font-size: 13px;
  line-height: normal;
}
.term-inter-milan-serie-a-2 .team-seo-editorial h3,
.term-inter-milan-serie-a-2 .team-seo-editorial h3 span {
  line-height: normal !important;
}
.term-inter-milan-serie-a-2 .team-seo-editorial h3 {
  margin: 0;
  font-size: 16.38px;
}
.term-inter-milan-serie-a-2 .team-seo-editorial h3 span {
  font-size: 18px !important;
}
.term-inter-milan-serie-a-2 .team-seo-editorial p {
  margin: 0;
}
.term-inter-milan-serie-a-2 .team-seo-editorial img {
  max-width: 100%;
  height: auto !important;
}

@media (max-width: 700px) {
  .term-chelsea-premier-league-2 .team-seo-editorial {
    font-size: 13px;
    line-height: normal;
  }
  .term-chelsea-premier-league-2 .team-seo-editorial h3,
  .term-chelsea-premier-league-2 .team-seo-editorial h3 span {
    font-size: 14.3px !important;
  }
  .term-chelsea-premier-league-2 .team-slider-pagination {
    min-height: 0;
    height: 0;
    position: relative;
    z-index: 1;
    overflow: visible;
  }
  .term-liverpool-premier-league-2 .team-slider-pagination {
    min-height: 0;
    height: 0;
    position: relative;
    z-index: 1;
    overflow: visible;
  }
  .term-manchester-city-premier-league-2 .team-slider-pagination {
    min-height: 0;
    height: 0;
    position: relative;
    z-index: 1;
    overflow: visible;
  }
  .term-tottenham-hotspur-premier-league-2 .team-slider-pagination {
    min-height: 0;
    height: 0;
    position: relative;
    z-index: 1;
    overflow: visible;
  }
  .term-bayern-munich-bundesliga-2 .team-seo-editorial h3,
  .term-bayern-munich-bundesliga-2 .team-seo-editorial h3 span {
    font-size: 14.3px !important;
  }
  .term-bayern-munich-bundesliga-2 .team-slider-pagination {
    min-height: 0;
    height: 0;
    position: relative;
    z-index: 1;
    overflow: visible;
  }
  .term-borussia-dortmund-bundesliga-2 .team-slider-pagination {
    min-height: 0;
    height: 0;
    position: relative;
    z-index: 1;
    overflow: visible;
  }
  .term-juventus-serie-a-2 .team-slider-pagination {
    min-height: 0;
    height: 0;
    position: relative;
    z-index: 1;
    overflow: visible;
  }
  .term-inter-milan-serie-a-2 .team-seo-editorial h3,
  .term-inter-milan-serie-a-2 .team-seo-editorial h3 span {
    line-height: normal !important;
  }
  .term-inter-milan-serie-a-2 .team-slider-pagination {
    min-height: 0;
    height: 0;
    position: relative;
    z-index: 1;
    overflow: visible;
  }
  .term-psg .team-slider-pagination {
    min-height: 0;
    height: 0;
    position: relative;
    z-index: 1;
    overflow: visible;
  }
  .term-germany-uefa .team-seo-content {
    min-height: 4794px;
  }
  .term-france-uefa .team-seo-content {
    min-height: 5988px;
  }
  .term-brazil-conmebol .team-seo-content {
    min-height: 1809px;
  }
  .term-portugal-uefa .team-seo-content {
    min-height: 3534px;
  }
  .term-spain-uefa .team-seo-content {
    min-height: 3535px;
  }
  .term-mexico-concacaf .team-seo-content {
    min-height: 2867px;
  }
  .term-netherlands-uefa .team-seo-content {
    min-height: 4166px;
  }
  .term-belgium-uefa .team-seo-content {
    min-height: 2408px;
  }
  .term-usa-concacaf .team-seo-content {
    min-height: 2080px;
  }
}


/* 0.3.83.449: readable long kids size labels on desktop. */
@media (min-width: 768px) {
  .single-product .size-grid,
  .single-product .variation-buttons {
    display: flex !important;
    grid-template-columns: none !important;
    flex-wrap: wrap !important;
    align-items: stretch;
    gap: 8px;
  }
  .single-product .size-grid .size-btn,
  .single-product .variation-buttons button {
    flex: 0 0 auto;
    width: auto !important;
    min-width: max-content !important;
    padding-inline: 10px !important;
  }
}


/* 0.3.83.477: keep third-party video players out of the initial product render. */
.wsd-youtube-facade {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: #000;
  cursor: pointer;
}
.wsd-youtube-facade img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .86;
}
.wsd-youtube-play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 68px;
  height: 48px;
  border-radius: 12px;
  background: #e62117;
  transform: translate(-50%, -50%);
  box-shadow: 0 3px 18px rgba(0,0,0,.35);
}
.wsd-youtube-play::after {
  content: '';
  position: absolute;
  top: 13px;
  left: 28px;
  border-top: 11px solid transparent;
  border-bottom: 11px solid transparent;
  border-left: 17px solid #fff;
}
.wsd-youtube-facade:focus-visible { outline: 3px solid #fff; outline-offset: -5px; }

/* Keep the language dropdown arrow inside its own control. */
body .top-utility .currency-switcher {position:relative;display:inline-flex;flex:0 0 auto;width:110px;margin:0;}
body .top-utility .language-switcher {width:166px;}
body .top-utility .currency-switcher select {
 box-sizing:border-box;width:100% !important;min-width:0;max-width:100%;height:30px;
 padding:0 24px 0 0 !important;appearance:none;-webkit-appearance:none;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m2 2 4 4 4-4' fill='none' stroke='%23333' stroke-width='1.5'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:right 4px center;background-size:12px 8px;
}
body .top-utility .currency-switcher::after {content:none;}
body .home-promise-strip {grid-template-columns:minmax(0,1fr);text-align:center;}
body .home-promise-strip > span {width:100%;text-align:center;}
@media(min-width:1025px){
 body .top-utility-inner {grid-template-columns:auto minmax(0,1fr) auto;column-gap:32px;}
 body .top-utility-left {gap:24px !important;}
}

/* Product pages load this bundle independently of the main storefront CSS. */
@media(min-width:769px) {
 .custom-product-template .delivery-info-mobile {display:none!important;}
 .custom-product-template .delivery-info-desktop {display:flex!important;}
}
@media(max-width:768px) {
 .custom-product-template .delivery-info-desktop {display:none!important;}
 .custom-product-template .delivery-info-mobile {display:flex!important;}
}
