/*
 * KKSET Visual System Upgrade v1.1.0
 * Presentation only. Every storefront rule is scoped to body.kkset-visual-v1.
 */

body.kkset-visual-v1 {
  --kkv-navy-950: #041027;
  --kkv-navy-900: #061a42;
  --kkv-navy-800: #071d49;
  --kkv-blue-600: #0b56f0;
  --kkv-blue-500: #2a72ff;
  --kkv-red-500: #ef3340;
  --kkv-ink: #0d203d;
  --kkv-muted: #65728a;
  --kkv-line: #dce5f0;
  --kkv-soft: #f5f8fd;
  --kkv-white: #fff;
  --kkv-radius-sm: 12px;
  --kkv-radius-md: 18px;
  --kkv-radius-lg: 28px;
  --kkv-shadow-sm: 0 10px 28px rgba(7, 29, 73, .07);
  --kkv-shadow-md: 0 18px 48px rgba(7, 29, 73, .12);
  --kkv-shadow-lg: 0 28px 80px rgba(2, 15, 39, .2);
  color: var(--kkv-ink);
  background: var(--kkv-white);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.kkset-visual-v1,
body.kkset-visual-v1 button,
body.kkset-visual-v1 input,
body.kkset-visual-v1 select,
body.kkset-visual-v1 textarea {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

body.kkset-visual-v1 img {
  max-width: 100%;
}

body.kkset-visual-v1 :focus-visible {
  outline: 3px solid rgba(42, 114, 255, .42);
  outline-offset: 3px;
}

body.kkset-visual-v1 h1,
body.kkset-visual-v1 h2,
body.kkset-visual-v1 h3 {
  color: var(--kkv-navy-800);
  text-wrap: balance;
}

body.kkset-visual-v1 .price,
body.kkset-visual-v1 .amount,
body.kkset-visual-v1 .woocommerce-Price-amount {
  font-variant-numeric: tabular-nums;
}

/* Header: fit the full navigation cleanly without changing its menu behavior. */
body.kkset-visual-v1 .kkset-announcement {
  background: linear-gradient(90deg, var(--kkv-navy-950), var(--kkv-navy-800));
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}

body.kkset-visual-v1 .kkset-announcement-inner {
  min-height: 36px;
}

body.kkset-visual-v1 .kkset-site-header {
  border-bottom-color: rgba(7, 29, 73, .1);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 6px 22px rgba(7, 29, 73, .05);
}

body.kkset-visual-v1 .kkset-header-main {
  min-height: 76px;
  grid-template-columns: 154px minmax(0, 1fr) auto;
  gap: 14px;
}

body.kkset-visual-v1 .kkset-logo img {
  width: 150px;
  max-height: 54px;
}

body.kkset-visual-v1 .kkset-nav-list {
  gap: clamp(9px, 1.25vw, 18px);
}

body.kkset-visual-v1 .kkset-nav-item > a,
body.kkset-visual-v1 .kkset-nav-trigger > a {
  font-size: clamp(10px, .78vw, 11.5px);
  letter-spacing: .035em;
}

body.kkset-visual-v1 .kkset-nav-item > a,
body.kkset-visual-v1 .kkset-nav-trigger,
body.kkset-visual-v1 .kkset-icon-button,
body.kkset-visual-v1 .kkset-whatsapp-mini {
  min-height: 44px;
}

body.kkset-visual-v1 .kkset-icon-button {
  width: 44px;
  height: 44px;
}

body.kkset-visual-v1 .kkset-icon-button:hover {
  color: var(--kkv-blue-600);
  background: #eef4ff;
}

body.kkset-visual-v1 .kkset-whatsapp-mini {
  display: inline-flex;
  align-items: center;
  padding-inline: 14px;
  box-shadow: 0 8px 18px rgba(22, 167, 101, .16);
}

body.kkset-visual-v1 .kkset-mega-inner {
  border-color: #d8e2ef;
  border-radius: 20px;
  box-shadow: 0 24px 70px rgba(4, 16, 39, .18);
}

body.kkset-visual-v1 .kkset-mega-column a {
  min-height: 36px;
  border-radius: 8px;
}

body.kkset-visual-v1 .kkset-mega-column a:hover {
  color: var(--kkv-blue-600);
  background: #f4f7fc;
}

/* Homepage: one strong matchday hero, then calm commerce sections. */
body.kkset-visual-v1 .kkv24-home,
body.kkset-visual-v1 .kkset-home {
  overflow: clip;
  background: var(--kkv-white);
}

body.kkset-visual-v1 .kkv24-shell,
body.kkset-visual-v1 .kkset-container {
  width: min(1380px, calc(100% - 40px));
  margin-inline: auto;
}

body.kkset-visual-v1 .kkv24-hero,
body.kkset-visual-v1 .kkset-hero {
  position: relative;
  min-height: 660px;
  isolation: isolate;
  overflow: hidden;
  color: var(--kkv-white);
  background:
    radial-gradient(circle at 82% 18%, rgba(42, 114, 255, .62), transparent 26%),
    radial-gradient(circle at 12% 88%, rgba(11, 86, 240, .28), transparent 34%),
    linear-gradient(122deg, var(--kkv-navy-950) 0%, var(--kkv-navy-900) 58%, #0a347f 100%);
}

body.kkset-visual-v1 .kkv24-hero::before,
body.kkset-visual-v1 .kkset-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .17;
  background-image:
    linear-gradient(rgba(255, 255, 255, .15) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .15) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: linear-gradient(90deg, #000, transparent 76%);
  mask-image: linear-gradient(90deg, #000, transparent 76%);
}

body.kkset-visual-v1 .kkv24-hero::after,
body.kkset-visual-v1 .kkset-hero::after {
  content: "";
  position: absolute;
  left: -4%;
  bottom: 0;
  z-index: 0;
  width: 58%;
  height: 8px;
  background: linear-gradient(90deg, var(--kkv-red-500) 0 34%, var(--kkv-white) 34% 38%, var(--kkv-blue-500) 38% 100%);
  transform: skewX(-28deg);
  transform-origin: left bottom;
}

body.kkset-visual-v1 .kkv24-hero-inner,
body.kkset-visual-v1 .kkset-hero-grid {
  min-height: 660px;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr);
  align-items: center;
  gap: clamp(34px, 5vw, 84px);
}

body.kkset-visual-v1 .kkv24-hero-copy,
body.kkset-visual-v1 .kkset-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 720px;
  padding-block: 78px;
}

body.kkset-visual-v1 .kkv24-eyebrow,
body.kkset-visual-v1 .kkset-hero .kkset-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 18px;
  color: #a9caff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

body.kkset-visual-v1 .kkv24-eyebrow::before,
body.kkset-visual-v1 .kkset-hero .kkset-eyebrow::before {
  content: "";
  width: 28px;
  height: 3px;
  border-radius: 999px;
  background: var(--kkv-red-500);
}

body.kkset-visual-v1 .kkv24-hero h1,
body.kkset-visual-v1 .kkset-hero h1 {
  max-width: 760px;
  margin: 0 0 24px;
  color: var(--kkv-white);
  font-size: clamp(48px, 5.7vw, 82px);
  line-height: .98;
  letter-spacing: -.052em;
}

body.kkset-visual-v1 .kkv24-hero-copy > p,
body.kkset-visual-v1 .kkset-hero-lead {
  max-width: 650px;
  margin-bottom: 30px;
  color: rgba(255, 255, 255, .76);
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.7;
}

body.kkset-visual-v1 .kkv24-actions,
body.kkset-visual-v1 .kkset-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

body.kkset-visual-v1 .kkv24-actions a,
body.kkset-visual-v1 .kkset-hero-actions a {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  color: var(--kkv-white);
  background: rgba(255, 255, 255, .08);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: .025em;
  text-decoration: none;
  box-shadow: none;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

body.kkset-visual-v1 .kkv24-actions a:first-child,
body.kkset-visual-v1 .kkset-hero-actions a:first-child {
  border-color: var(--kkv-blue-500);
  background: var(--kkv-blue-600);
  box-shadow: 0 14px 34px rgba(11, 86, 240, .34);
}

body.kkset-visual-v1 .kkv24-actions a:hover,
body.kkset-visual-v1 .kkset-hero-actions a:hover {
  border-color: rgba(255, 255, 255, .7);
  background: rgba(255, 255, 255, .14);
  transform: translateY(-2px);
}

body.kkset-visual-v1 .kkv24-actions a:first-child:hover,
body.kkset-visual-v1 .kkset-hero-actions a:first-child:hover {
  border-color: var(--kkv-blue-500);
  background: var(--kkv-blue-500);
}

body.kkset-visual-v1 .kkv24-hero-art,
body.kkset-visual-v1 .kkset-hero-art {
  position: relative;
  z-index: 1;
  min-height: 520px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .17);
  border-radius: var(--kkv-radius-lg);
  background:
    radial-gradient(circle at 50% 22%, rgba(42, 114, 255, .38), transparent 38%),
    #02050c;
  box-shadow: var(--kkv-shadow-lg), inset 0 0 70px rgba(42, 114, 255, .1);
  transform: none;
}

body.kkset-visual-v1 .kkv24-hero-art::after,
body.kkset-visual-v1 .kkset-hero-art::after {
  content: "MATCHDAY / KKSET";
  position: absolute;
  right: 20px;
  bottom: 18px;
  padding: 7px 10px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  color: rgba(255, 255, 255, .72);
  background: rgba(4, 16, 39, .72);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .16em;
}

body.kkset-visual-v1 .kkv24-hero-art img {
  width: 100%;
  height: 100%;
  max-height: 600px;
  display: block;
  object-fit: contain;
}

body.kkset-visual-v1 .kkset-section,
body.kkset-visual-v1 .kkv24-section {
  padding-block: clamp(68px, 7vw, 104px);
}

body.kkset-visual-v1 .kkset-section-head,
body.kkset-visual-v1 .kkv24-section-head {
  margin-bottom: 34px;
}

body.kkset-visual-v1 .kkset-section h2,
body.kkset-visual-v1 .kkv24-section h2,
body.kkset-visual-v1 .kkv24-home > section h2 {
  font-size: clamp(31px, 4vw, 54px);
  line-height: 1.04;
  letter-spacing: -.04em;
}

body.kkset-visual-v1 .kkset-eyebrow,
body.kkset-visual-v1 .kkv24-kicker {
  color: var(--kkv-blue-600);
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

/* Commerce cards used across homepage and archives. */
body.kkset-visual-v1 ul.products,
body.kkset-visual-v1 .kkv24-product-grid,
body.kkset-visual-v1 .kkset-product-grid {
  gap: clamp(18px, 2vw, 28px);
}

body.kkset-visual-v1 ul.products li.product,
body.kkset-visual-v1 .kkv24-product-card,
body.kkset-visual-v1 .kkset-product-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--kkv-line);
  border-radius: var(--kkv-radius-md);
  background: var(--kkv-white);
  box-shadow: var(--kkv-shadow-sm);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.kkset-visual-v1 ul.products li.product:hover,
body.kkset-visual-v1 .kkv24-product-card:hover,
body.kkset-visual-v1 .kkset-product-card:hover {
  border-color: #b8cbed;
  box-shadow: var(--kkv-shadow-md);
  transform: translateY(-4px);
}

body.kkset-visual-v1 ul.products li.product .ct-image-container,
body.kkset-visual-v1 ul.products li.product > a:first-child,
body.kkset-visual-v1 .kkv24-product-card .image,
body.kkset-visual-v1 .kkset-product-card .image {
  overflow: hidden;
  background: linear-gradient(145deg, #f8fbff, #edf3fb);
}

body.kkset-visual-v1 ul.products li.product img,
body.kkset-visual-v1 .kkv24-product-card img,
body.kkset-visual-v1 .kkset-product-card img {
  transition: transform .35s ease;
}

body.kkset-visual-v1 ul.products li.product:hover img,
body.kkset-visual-v1 .kkv24-product-card:hover img,
body.kkset-visual-v1 .kkset-product-card:hover img {
  transform: scale(1.025);
}

body.kkset-visual-v1 ul.products li.product .woocommerce-loop-product__title,
body.kkset-visual-v1 .kkv24-product-card h3,
body.kkset-visual-v1 .kkset-product-card h3 {
  display: -webkit-box;
  min-height: 2.8em;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  color: var(--kkv-navy-800);
  font-size: 15px;
  line-height: 1.4;
}

body.kkset-visual-v1 ul.products li.product .price {
  color: var(--kkv-blue-600);
  font-size: 16px;
  font-weight: 850;
}

/* Category pages: keep the approved tournament system and tighten the product journey. */
body.kkset-visual-v1.kkset-enhanced-category .kkset-commerce-hero,
body.kkset-visual-v1.kkset-category-club-jerseys .kkset-club-commerce-hero {
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--kkv-radius-lg);
  background: linear-gradient(118deg, var(--kkv-navy-950) 0%, #0a347f 62%, var(--kkset-commerce-accent, var(--kkv-blue-600)) 100%);
  box-shadow: var(--kkv-shadow-md);
}

body.kkset-visual-v1.kkset-enhanced-category .kkset-commerce-directory,
body.kkset-visual-v1.kkset-category-club-jerseys .kkset-club-commerce-directory {
  border-color: var(--kkv-line);
  box-shadow: var(--kkv-shadow-sm);
}

body.kkset-visual-v1.kkset-enhanced-category .kkset-commerce-links a,
body.kkset-visual-v1.kkset-category-club-jerseys .kkset-club-league-links a,
body.kkset-visual-v1.kkset-category-club-jerseys .kkset-club-team-links a {
  min-height: 44px;
}

body.kkset-visual-v1 .woocommerce-ordering select,
body.kkset-visual-v1 .ct-woo-card-actions select {
  min-height: 46px;
  border-color: var(--kkv-line);
  border-radius: 10px;
  background-color: var(--kkv-white);
}

/* Product detail: merchandise first, then clear pricing and customization steps. */
body.kkset-visual-v1.single-product .product-entry-wrapper,
body.kkset-visual-v1.single-product div.product {
  --theme-border-color: var(--kkv-line);
}

body.kkset-visual-v1.single-product .woocommerce-product-gallery {
  overflow: hidden;
  border: 1px solid var(--kkv-line);
  border-radius: var(--kkv-radius-md);
  background: linear-gradient(145deg, #fafcff, #f1f5fb);
  box-shadow: var(--kkv-shadow-sm);
}

body.kkset-visual-v1.single-product .entry-summary,
body.kkset-visual-v1.single-product .summary {
  color: var(--kkv-ink);
}

body.kkset-visual-v1.single-product .product_title {
  margin-bottom: 16px;
  color: var(--kkv-navy-800);
  font-size: clamp(30px, 3.5vw, 48px);
  line-height: 1.04;
  letter-spacing: -.036em;
}

body.kkset-visual-v1.single-product .summary > .price {
  margin-block: 10px 22px;
  color: var(--kkv-blue-600);
  font-size: clamp(25px, 3vw, 34px);
  font-weight: 900;
}

body.kkset-visual-v1.single-product .stock.in-stock {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 11px;
  border-radius: 999px;
  color: #075f41;
  background: #eaf8f2;
  font-size: 12px;
  font-weight: 800;
}

body.kkset-visual-v1 .kkset-tier-pricing,
body.kkset-visual-v1 .kkset-personalization,
body.kkset-visual-v1 .kkset-patch-options,
body.kkset-visual-v1 .kkset-bulk-buy {
  margin-block: 18px;
  padding: clamp(18px, 2.4vw, 26px);
  border: 1px solid var(--kkv-line);
  border-radius: var(--kkv-radius-md);
  background: var(--kkv-white);
  box-shadow: var(--kkv-shadow-sm);
}

body.kkset-visual-v1 .kkset-personalization__head,
body.kkset-visual-v1 .kkset-patch-options__head,
body.kkset-visual-v1 .kkset-bulk-size-head,
body.kkset-visual-v1 .kkset-tier-pricing > h3 {
  margin-bottom: 16px;
  color: var(--kkv-navy-800);
  font-size: 17px;
  font-weight: 900;
  letter-spacing: -.012em;
}

body.kkset-visual-v1 .kkset-tier-pricing__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

body.kkset-visual-v1 .kkset-tier-card {
  min-width: 0;
  padding: 16px 12px;
  border: 1px solid var(--kkv-line);
  border-radius: var(--kkv-radius-sm);
  background: var(--kkv-soft);
  text-align: center;
}

body.kkset-visual-v1 .kkset-tier-card strong,
body.kkset-visual-v1 .kkset-tier-card .price,
body.kkset-visual-v1 .kkset-tier-card .amount,
body.kkset-visual-v1 .kkset-tier-card .woocommerce-Price-amount,
body.kkset-visual-v1 .kkset-tier-card .woocommerce-Price-currencySymbol {
  display: inline-flex;
  align-items: baseline;
  white-space: nowrap;
}

body.kkset-visual-v1 .kkset-tier-card strong,
body.kkset-visual-v1 .kkset-tier-card .amount {
  color: var(--kkv-blue-600);
  font-size: 18px;
  font-weight: 900;
}

body.kkset-visual-v1 .kkset-personalization__modes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

body.kkset-visual-v1 .kkset-personalization__modes label,
body.kkset-visual-v1 .kkset-patch-options label {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 12px;
  border: 1px solid var(--kkv-line);
  border-radius: var(--kkv-radius-sm);
  color: var(--kkv-ink);
  background: #fbfcff;
  cursor: pointer;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

body.kkset-visual-v1 .kkset-personalization__modes label:hover,
body.kkset-visual-v1 .kkset-patch-options label:hover,
body.kkset-visual-v1 .kkset-personalization__modes label:has(input:checked),
body.kkset-visual-v1 .kkset-patch-options label:has(input:checked) {
  border-color: var(--kkv-blue-500);
  background: #eef4ff;
  box-shadow: inset 0 0 0 1px rgba(11, 86, 240, .15);
}

body.kkset-visual-v1.single-product input[type="text"],
body.kkset-visual-v1.single-product input[type="number"],
body.kkset-visual-v1.single-product select,
body.kkset-visual-v1.woocommerce-cart input,
body.kkset-visual-v1.woocommerce-checkout input,
body.kkset-visual-v1.woocommerce-checkout select,
body.kkset-visual-v1.woocommerce-checkout textarea {
  min-height: 48px;
  border: 1px solid #cbd6e4;
  border-radius: 10px;
  background: var(--kkv-white);
}

body.kkset-visual-v1.single-product input:focus,
body.kkset-visual-v1.single-product select:focus,
body.kkset-visual-v1.woocommerce-checkout input:focus,
body.kkset-visual-v1.woocommerce-checkout select:focus,
body.kkset-visual-v1.woocommerce-checkout textarea:focus {
  border-color: var(--kkv-blue-500);
  box-shadow: 0 0 0 4px rgba(42, 114, 255, .12);
}

body.kkset-visual-v1 .kkset-bulk-size-head,
body.kkset-visual-v1 .kkset-bulk-size-row {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) 120px;
  align-items: center;
  gap: 12px;
}

body.kkset-visual-v1 .kkset-bulk-size-row {
  min-height: 54px;
  border-top: 1px solid #e9eef5;
}

body.kkset-visual-v1.single-product .single_add_to_cart_button,
body.kkset-visual-v1.single-product button.single_add_to_cart_button {
  min-height: 56px;
  width: 100%;
  border: 0;
  border-radius: 999px;
  color: var(--kkv-white);
  background: linear-gradient(90deg, var(--kkv-blue-600), var(--kkv-blue-500));
  box-shadow: 0 16px 34px rgba(11, 86, 240, .28);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .03em;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

body.kkset-visual-v1.single-product .single_add_to_cart_button:hover {
  filter: brightness(1.04);
  transform: translateY(-2px);
  box-shadow: 0 19px 40px rgba(11, 86, 240, .34);
}

body.kkset-visual-v1.single-product .woocommerce-tabs,
body.kkset-visual-v1.single-product .related.products,
body.kkset-visual-v1.single-product .up-sells {
  margin-top: clamp(56px, 7vw, 92px);
}

body.kkset-visual-v1.single-product .woocommerce-tabs .tabs {
  gap: 8px;
  border-bottom: 1px solid var(--kkv-line);
}

body.kkset-visual-v1.single-product .woocommerce-tabs .tabs a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding-inline: 14px;
}

/* Cart and checkout: quieter surfaces and one clear next action. */
body.kkset-visual-v1.woocommerce-cart .woocommerce-cart-form,
body.kkset-visual-v1.woocommerce-cart .cart_totals,
body.kkset-visual-v1.woocommerce-checkout .woocommerce-checkout-review-order,
body.kkset-visual-v1.woocommerce-checkout .woocommerce-billing-fields,
body.kkset-visual-v1.woocommerce-checkout .woocommerce-shipping-fields,
body.kkset-visual-v1.woocommerce-checkout .woocommerce-additional-fields {
  padding: clamp(18px, 3vw, 30px);
  border: 1px solid var(--kkv-line);
  border-radius: var(--kkv-radius-md);
  background: var(--kkv-white);
  box-shadow: var(--kkv-shadow-sm);
}

body.kkset-visual-v1.woocommerce-cart .shop_table,
body.kkset-visual-v1.woocommerce-checkout .shop_table {
  border-color: var(--kkv-line);
}

body.kkset-visual-v1.woocommerce-cart .checkout-button,
body.kkset-visual-v1.woocommerce-checkout #place_order,
body.kkset-visual-v1 .woocommerce-form-login__submit,
body.kkset-visual-v1 .woocommerce-button {
  min-height: 52px;
  border-radius: 999px;
  color: var(--kkv-white);
  background: var(--kkv-blue-600);
  font-weight: 900;
}

body.kkset-visual-v1 .woocommerce-message,
body.kkset-visual-v1 .woocommerce-info {
  border-radius: var(--kkv-radius-sm);
  border-color: #bcd0f5;
  background: #eef4ff;
}

/* Footer: formal, readable and consistent with the matchday system. */
body.kkset-visual-v1 .kkset-site-footer {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 8%, rgba(42, 114, 255, .2), transparent 25%),
    var(--kkv-navy-950);
}

body.kkset-visual-v1 .kkset-site-footer::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: min(520px, 65vw);
  height: 4px;
  background: linear-gradient(90deg, var(--kkv-red-500) 0 34%, #fff 34% 38%, var(--kkv-blue-500) 38%);
}

body.kkset-visual-v1 .kkset-footer-grid {
  gap: clamp(30px, 4vw, 58px);
  padding-block: 72px 54px;
}

body.kkset-visual-v1 .kkset-footer-brand img {
  width: 188px;
  padding: 8px 10px;
  border-radius: 10px;
}

body.kkset-visual-v1 .kkset-footer-grid h2 {
  color: var(--kkv-white);
  font-size: 12px;
  letter-spacing: .13em;
}

body.kkset-visual-v1 .kkset-footer-grid a {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
}

body.kkset-visual-v1 .kkset-footer-grid a:hover {
  color: #9fc3ff;
}

/* Tablet and mobile. */
@media (max-width: 1240px) and (min-width: 1191px) {
  body.kkset-visual-v1 .kkset-header-main {
    grid-template-columns: 128px minmax(0, 1fr) auto;
    gap: 9px;
  }

  body.kkset-visual-v1 .kkset-logo img {
    width: 124px;
  }

  body.kkset-visual-v1 .kkset-whatsapp-mini {
    display: none;
  }

  body.kkset-visual-v1 .kkset-nav-list {
    gap: 8px;
  }

  body.kkset-visual-v1 .kkset-nav-item > a,
  body.kkset-visual-v1 .kkset-nav-trigger > a {
    font-size: 10.5px;
  }
}

@media (max-width: 1050px) {
  body.kkset-visual-v1 .kkv24-hero,
  body.kkset-visual-v1 .kkset-hero,
  body.kkset-visual-v1 .kkv24-hero-inner,
  body.kkset-visual-v1 .kkset-hero-grid {
    min-height: auto;
  }

  body.kkset-visual-v1 .kkv24-hero-inner,
  body.kkset-visual-v1 .kkset-hero-grid {
    grid-template-columns: 1fr;
    gap: 0;
    padding-block: 64px;
  }

  body.kkset-visual-v1 .kkv24-hero-copy,
  body.kkset-visual-v1 .kkset-hero-copy {
    padding-block: 20px 48px;
  }

  body.kkset-visual-v1 .kkv24-hero-art,
  body.kkset-visual-v1 .kkset-hero-art {
    min-height: 440px;
  }

  body.kkset-visual-v1 .kkset-tier-pricing__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body.kkset-visual-v1 .kkv24-shell,
  body.kkset-visual-v1 .kkset-container {
    width: min(100% - 24px, 1380px);
  }

  body.kkset-visual-v1 .kkset-header-main {
    min-height: 68px;
    grid-template-columns: 138px 42px minmax(0, 1fr);
    gap: 8px;
  }

  body.kkset-visual-v1 .kkset-logo img {
    width: 134px;
  }

  body.kkset-visual-v1 .kkv24-hero-inner,
  body.kkset-visual-v1 .kkset-hero-grid {
    padding-block: 48px;
  }

  body.kkset-visual-v1 .kkv24-hero h1,
  body.kkset-visual-v1 .kkset-hero h1 {
    font-size: clamp(40px, 12vw, 60px);
  }

  body.kkset-visual-v1 .kkv24-hero-art,
  body.kkset-visual-v1 .kkset-hero-art {
    min-height: 340px;
    border-radius: 20px;
  }

  body.kkset-visual-v1 .kkv24-actions a,
  body.kkset-visual-v1 .kkset-hero-actions a {
    flex: 1 1 180px;
  }

  body.kkset-visual-v1 .kkset-section,
  body.kkset-visual-v1 .kkv24-section {
    padding-block: 62px;
  }

  body.kkset-visual-v1 .kkset-personalization__modes {
    grid-template-columns: 1fr;
  }

  body.kkset-visual-v1.single-product .product_title {
    font-size: 32px;
  }

  body.kkset-visual-v1.woocommerce-cart .woocommerce-cart-form,
  body.kkset-visual-v1.woocommerce-cart .cart_totals,
  body.kkset-visual-v1.woocommerce-checkout .woocommerce-checkout-review-order,
  body.kkset-visual-v1.woocommerce-checkout .woocommerce-billing-fields,
  body.kkset-visual-v1.woocommerce-checkout .woocommerce-shipping-fields,
  body.kkset-visual-v1.woocommerce-checkout .woocommerce-additional-fields {
    padding: 16px;
    border-radius: 14px;
  }
}

@media (max-width: 480px) {
  body.kkset-visual-v1 .kkv24-hero-art,
  body.kkset-visual-v1 .kkset-hero-art {
    min-height: 290px;
  }

  body.kkset-visual-v1 .kkset-tier-pricing__grid {
    grid-template-columns: 1fr 1fr;
  }

  body.kkset-visual-v1 .kkset-tier-card {
    padding-inline: 8px;
  }

  body.kkset-visual-v1 .kkset-bulk-size-head,
  body.kkset-visual-v1 .kkset-bulk-size-row {
    grid-template-columns: minmax(80px, 1fr) 104px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.kkset-visual-v1 *,
  body.kkset-visual-v1 *::before,
  body.kkset-visual-v1 *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ========================================================================== */
/* KKSET V1.1 — live-structure refinement                                     */
/* Stadium editorial direction: strong hero, disciplined commerce below.      */
/* ========================================================================== */

body.kkset-visual-v1 {
  --kkv2-stadium: #020817;
  --kkv2-night: #06183a;
  --kkv2-navy: #08275f;
  --kkv2-blue: #1769ff;
  --kkv2-sky: #69a4ff;
  --kkv2-red: #f04455;
  --kkv2-ice: #f2f6fc;
  --kkv2-paper: #ffffff;
  --kkv2-ink: #0a1d3d;
  --kkv2-muted: #64748b;
  --kkv2-line: #d9e3f0;
  --kkv2-ease: cubic-bezier(.2, .75, .25, 1);
}

body.kkset-visual-v1 a,
body.kkset-visual-v1 button,
body.kkset-visual-v1 label,
body.kkset-visual-v1 select {
  touch-action: manipulation;
}

/* The preview badge proves that the administrator is seeing the new system. */
body.kkset-visual-v1 .kkset-visual-preview-badge {
  position: fixed;
  left: 50%;
  bottom: max(18px, env(safe-area-inset-bottom));
  z-index: 100050;
  width: min(620px, calc(100% - 28px));
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 12px 18px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  color: #fff;
  background: rgba(2, 8, 23, .94);
  box-shadow: 0 18px 50px rgba(2,8,23,.32);
  backdrop-filter: blur(12px);
  transform: translateX(-50%);
}

body.kkset-visual-v1 .kkset-visual-preview-badge strong {
  color: #fff;
  font-size: 13px;
}

body.kkset-visual-v1 .kkset-visual-preview-badge span {
  color: rgba(255,255,255,.7);
  font-size: 11px;
}

/* Header: eliminate the live logo/menu collision and add precision. */
body.kkset-visual-v1 .kkset-announcement {
  background: var(--kkv2-stadium) !important;
}

body.kkset-visual-v1 .kkset-announcement-inner {
  min-height: 36px !important;
  color: rgba(255,255,255,.76);
}

body.kkset-visual-v1 .kkset-site-header {
  border-bottom: 1px solid rgba(10,29,61,.11) !important;
  background: rgba(255,255,255,.97) !important;
  box-shadow: 0 8px 26px rgba(4,18,46,.07) !important;
}

body.kkset-visual-v1 .kkset-header-main {
  min-height: 78px !important;
  grid-template-columns: 148px minmax(0,1fr) auto !important;
  gap: 14px !important;
}

body.kkset-visual-v1 .kkset-logo img {
  width: 144px !important;
  max-height: 56px !important;
}

body.kkset-visual-v1 .kkset-nav-list {
  gap: clamp(8px, 1.1vw, 16px) !important;
}

body.kkset-visual-v1 .kkset-nav-item > a,
body.kkset-visual-v1 .kkset-nav-trigger > a {
  position: relative;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  color: var(--kkv2-ink) !important;
  font-size: clamp(10px, .76vw, 11.3px) !important;
  font-weight: 800 !important;
  letter-spacing: .045em !important;
}

body.kkset-visual-v1 .kkset-nav-item > a::after,
body.kkset-visual-v1 .kkset-nav-trigger > a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 7px;
  left: 0;
  height: 2px;
  border-radius: 99px;
  background: var(--kkv2-blue);
  opacity: 0;
  transform: scaleX(.25);
  transition: opacity .18s ease, transform .18s var(--kkv2-ease);
}

body.kkset-visual-v1 .kkset-nav-item > a:hover::after,
body.kkset-visual-v1 .kkset-has-mega:hover .kkset-nav-trigger > a::after {
  opacity: 1;
  transform: scaleX(1);
}

body.kkset-visual-v1 .kkset-mega-inner {
  border-color: rgba(10,29,61,.1) !important;
  border-radius: 22px !important;
  box-shadow: 0 32px 80px rgba(2,8,23,.2) !important;
}

/* Homepage hero: this is the signature moment. */
body.kkset-visual-v1.home .kkv24-hero {
  position: relative !important;
  min-height: 610px !important;
  overflow: hidden !important;
  color: #fff !important;
  background:
    linear-gradient(90deg, rgba(2,8,23,.97) 0%, rgba(2,8,23,.82) 42%, rgba(2,8,23,.36) 72%, rgba(2,8,23,.52) 100%),
    radial-gradient(circle at 76% 38%, rgba(23,105,255,.32), transparent 28%),
    url("kkset-stadium-hero.webp") center / cover no-repeat,
    #020817 !important;
}

body.kkset-visual-v1.home .kkv24-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(100deg, transparent 0 57%, rgba(255,255,255,.08) 57.1% 57.25%, transparent 57.4%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.055) 0 1px, transparent 1px 76px);
  -webkit-mask-image: linear-gradient(90deg, #000, rgba(0,0,0,.1));
  mask-image: linear-gradient(90deg, #000, rgba(0,0,0,.1));
}

body.kkset-visual-v1.home .kkv24-hero::after {
  content: "";
  position: absolute;
  right: -10%;
  bottom: -170px;
  width: 650px;
  height: 650px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  box-shadow:
    0 0 0 70px rgba(255,255,255,.025),
    0 0 0 140px rgba(255,255,255,.018);
  pointer-events: none;
}

body.kkset-visual-v1.home .kkv24-hero-inner {
  position: relative;
  z-index: 1;
  min-height: 610px !important;
  height: auto !important;
  grid-template-columns: minmax(0,1.05fr) minmax(430px,.95fr) !important;
  gap: clamp(38px,5vw,80px) !important;
}

body.kkset-visual-v1.home .kkv24-hero-copy {
  position: relative;
  padding: 80px 0 86px !important;
}

body.kkset-visual-v1.home .kkv24-hero-copy::after {
  content: "6,000+ STYLES  /  PLAYER PRINTING  /  WORLDWIDE DELIVERY";
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-top: 34px;
  padding-top: 17px;
  border-top: 1px solid rgba(255,255,255,.2);
  color: rgba(255,255,255,.6);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.6;
}

body.kkset-visual-v1.home .kkv24-eyebrow {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  color: #9dc2ff !important;
  font-size: 11px !important;
}

body.kkset-visual-v1.home .kkv24-eyebrow::before {
  content: "";
  width: 32px;
  height: 3px;
  border-radius: 99px;
  background: var(--kkv2-red);
}

body.kkset-visual-v1.home .kkv24-hero-copy h1 {
  max-width: 780px !important;
  margin: 18px 0 24px !important;
  color: #fff !important;
  font-size: clamp(50px,5.7vw,78px) !important;
  font-weight: 820 !important;
  line-height: .96 !important;
  letter-spacing: -.055em !important;
  text-wrap: balance;
}

body.kkset-visual-v1.home .kkv24-hero-copy > p {
  max-width: 620px !important;
  color: rgba(255,255,255,.72) !important;
  font-size: clamp(16px,1.35vw,18px) !important;
  line-height: 1.72 !important;
}

body.kkset-visual-v1.home .kkv24-actions {
  margin-top: 30px !important;
  gap: 12px !important;
}

body.kkset-visual-v1.home .kkv24-actions a {
  min-height: 52px !important;
  padding: 0 23px !important;
  border: 1px solid rgba(255,255,255,.3) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: rgba(255,255,255,.075) !important;
  font-size: 11px !important;
  transition: transform .18s var(--kkv2-ease), background-color .18s ease, border-color .18s ease !important;
}

body.kkset-visual-v1.home .kkv24-actions a.primary {
  border-color: var(--kkv2-blue) !important;
  background: var(--kkv2-blue) !important;
  box-shadow: 0 16px 34px rgba(23,105,255,.32);
}

body.kkset-visual-v1.home .kkv24-actions a:hover {
  border-color: rgba(255,255,255,.75) !important;
  background: rgba(255,255,255,.14) !important;
  transform: translateY(-2px);
}

body.kkset-visual-v1.home .kkv24-actions a.primary:hover {
  border-color: #3f83ff !important;
  background: #3f83ff !important;
}

body.kkset-visual-v1.home .kkv24-hero-art {
  position: relative !important;
  height: 530px !important;
  min-height: 0 !important;
  align-self: end;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: radial-gradient(ellipse at 50% 92%, rgba(23,105,255,.4), transparent 52%) !important;
  box-shadow: none !important;
}

body.kkset-visual-v1.home .kkv24-hero-art::before {
  content: "FEATURED / 26–27" !important;
  position: absolute !important;
  top: 22px !important;
  right: auto !important;
  left: 22px !important;
  z-index: 3;
  width: auto !important;
  height: auto !important;
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px !important;
  color: rgba(255,255,255,.76);
  background: rgba(2,8,23,.72) !important;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .14em;
}

body.kkset-visual-v1.home .kkv24-hero-art::after {
  content: "KKSET / MATCH EDIT" !important;
  position: absolute;
  right: 20px;
  bottom: 18px;
  z-index: 3;
  color: rgba(255,255,255,.52);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .16em;
}

body.kkset-visual-v1.home .kkv24-hero-art a {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  display: grid;
  place-items: center;
}

body.kkset-visual-v1.home .kkv24-hero-art img {
  width: 92% !important;
  height: 92% !important;
  object-fit: contain !important;
  mix-blend-mode: screen;
  filter: saturate(1.08) drop-shadow(0 28px 36px rgba(0,0,0,.38)) !important;
  transform: translateY(2%) scale(1.04);
}

/* Trust strip becomes part of the broadcast frame instead of a generic table. */
body.kkset-visual-v1.home .kkv24-trust {
  border: 0 !important;
  background: var(--kkv2-stadium) !important;
}

body.kkset-visual-v1.home .kkv24-trust .kkv24-shell {
  min-height: 72px !important;
  border-top: 1px solid rgba(255,255,255,.09);
}

body.kkset-visual-v1.home .kkv24-trust span,
body.kkset-visual-v1.home .kkv24-trust a {
  position: relative;
  min-height: 72px !important;
  padding: 0 10px;
  border-right-color: rgba(255,255,255,.1) !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 10px !important;
  letter-spacing: .025em;
}

body.kkset-visual-v1.home .kkv24-trust span::before,
body.kkset-visual-v1.home .kkv24-trust a::before {
  content: "";
  width: 5px;
  height: 5px;
  margin-right: 9px;
  border-radius: 50%;
  background: var(--kkv2-sky);
  box-shadow: 0 0 12px rgba(105,164,255,.85);
}

/* Quick shopping routes: an 8-card match board rather than pills. */
body.kkset-visual-v1.home .kkv24-quick {
  padding: 48px 0 46px !important;
  color: #fff;
  background:
    radial-gradient(circle at 92% 12%, rgba(23,105,255,.22), transparent 24%),
    var(--kkv2-night);
}

body.kkset-visual-v1.home .kkv24-quick > .kkv24-shell > .kkv24-eyebrow {
  display: flex !important;
  margin-bottom: 20px;
  color: #fff !important;
  font-size: clamp(24px,2.5vw,34px) !important;
  font-weight: 820 !important;
  letter-spacing: -.035em !important;
}

body.kkset-visual-v1.home .kkv24-quick-links {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px !important;
  margin-top: 18px !important;
  counter-reset: kkset-route;
}

body.kkset-visual-v1.home .kkv24-quick-links a {
  counter-increment: kkset-route;
  position: relative;
  min-width: 0;
  min-height: 78px !important;
  justify-content: space-between;
  padding: 18px 18px 18px 52px !important;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 14px !important;
  color: #fff !important;
  background: linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035)) !important;
  font-size: 12px !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.12);
  transition: transform .2s var(--kkv2-ease), border-color .2s ease, box-shadow .2s ease !important;
}

body.kkset-visual-v1.home .kkv24-quick-links a::before {
  content: counter(kkset-route, decimal-leading-zero);
  position: absolute;
  left: 17px;
  color: var(--kkv2-sky);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
}

body.kkset-visual-v1.home .kkv24-quick-links a::after {
  content: "";
  position: absolute;
  right: -28px;
  bottom: -45px;
  width: 90px;
  height: 90px;
  border: 1px solid rgba(105,164,255,.16);
  border-radius: 50%;
}

body.kkset-visual-v1.home .kkv24-quick-links a:hover {
  border-color: rgba(105,164,255,.7) !important;
  background: linear-gradient(145deg,rgba(23,105,255,.25),rgba(255,255,255,.06)) !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.18);
  transform: translateY(-3px);
}

/* Product discovery strips and section rhythm. */
body.kkset-visual-v1.home .kkv261-find-strip {
  padding: 8px 0 18px !important;
}

body.kkset-visual-v1.home .kkv261-find-strip .kkv24-shell {
  min-height: 82px !important;
  padding: 17px 20px !important;
  border: 0 !important;
  border-radius: 16px !important;
  color: #fff;
  background:
    linear-gradient(100deg,rgba(255,255,255,.03),transparent 58%),
    var(--kkv2-night) !important;
  box-shadow: 0 16px 36px rgba(4,24,58,.14);
}

body.kkset-visual-v1.home .kkv261-find-copy strong {
  color: #fff !important;
  font-size: 15px !important;
}

body.kkset-visual-v1.home .kkv261-find-copy span {
  color: rgba(255,255,255,.62) !important;
  font-size: 11px !important;
}

body.kkset-visual-v1.home .kkv261-find-button {
  min-height: 44px !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 24px rgba(32,199,100,.18);
}

body.kkset-visual-v1.home .kkv24-products-section,
body.kkset-visual-v1.home .kkv242-visual-block {
  padding: 58px 0 !important;
}

body.kkset-visual-v1.home .kkv24-products-section:nth-of-type(even),
body.kkset-visual-v1.home .kkv242-visual-block.soft {
  background: var(--kkv2-ice) !important;
}

body.kkset-visual-v1.home .kkv24-heading,
body.kkset-visual-v1.home .kkv24-nav-head {
  margin-bottom: 24px !important;
}

body.kkset-visual-v1.home .kkv24-heading h2,
body.kkset-visual-v1.home .kkv24-nav-head h2 {
  color: var(--kkv2-ink) !important;
  font-size: clamp(28px,3vw,42px) !important;
  font-weight: 820 !important;
  letter-spacing: -.04em !important;
  text-wrap: balance;
}

body.kkset-visual-v1.home .kkv24-heading > a,
body.kkset-visual-v1.home .kkv24-viewall {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding: 0 15px;
  border: 1px solid var(--kkv2-line);
  border-radius: 999px;
  color: var(--kkv2-ink) !important;
  background: #fff;
  font-size: 10px !important;
}

/* Real live product class names. */
body.kkset-visual-v1.home .kkv24-product {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--kkv2-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(4,24,58,.065);
  transition: transform .22s var(--kkv2-ease), border-color .22s ease, box-shadow .22s ease;
}

body.kkset-visual-v1.home .kkv24-product:hover {
  border-color: #a9c3ed;
  box-shadow: 0 22px 45px rgba(4,24,58,.13);
  transform: translateY(-5px);
}

body.kkset-visual-v1.home .kkv24-product-media,
body.kkset-visual-v1.home .kkv24-img-stage {
  height: 338px !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 50% 34%,rgba(23,105,255,.18),transparent 34%),
    #020817 !important;
}

body.kkset-visual-v1.home .kkv24-product-media::after {
  content: "VIEW KIT";
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 2;
  padding: 7px 9px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  color: rgba(255,255,255,.72);
  background: rgba(2,8,23,.72);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .11em;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .18s ease, transform .18s var(--kkv2-ease);
}

body.kkset-visual-v1.home .kkv24-product:hover .kkv24-product-media::after {
  opacity: 1;
  transform: translateY(0);
}

body.kkset-visual-v1.home .kkv24-product-media img {
  transform: scale(1.04) !important;
  transition: transform .28s var(--kkv2-ease) !important;
}

body.kkset-visual-v1.home .kkv24-product:hover .kkv24-product-media img {
  transform: scale(1.075) !important;
}

body.kkset-visual-v1.home .kkv24-product-name {
  min-height: 58px !important;
  margin: 0 !important;
  padding: 17px 18px 0;
  color: var(--kkv2-ink) !important;
  font-size: 13.5px !important;
  font-weight: 680 !important;
  line-height: 1.45 !important;
}

body.kkset-visual-v1.home .kkv24-product-price {
  width: fit-content;
  margin: 12px 18px 18px !important;
  padding: 8px 11px;
  border-radius: 999px;
  color: var(--kkv2-blue) !important;
  background: #edf4ff;
  font-size: 16px !important;
  font-weight: 900 !important;
}

body.kkset-visual-v1.home .kkv165-carousel-arrow {
  width: 44px !important;
  height: 44px !important;
  border: 1px solid var(--kkv2-line) !important;
  border-radius: 50% !important;
  color: var(--kkv2-ink) !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 12px 28px rgba(4,24,58,.12) !important;
}

/* Teams, countries and players become branded showcase cards. */
body.kkset-visual-v1.home .kkv242-visual-row {
  gap: 14px !important;
  padding: 4px 0 12px !important;
}

body.kkset-visual-v1.home .kkv242-visual-chip {
  flex: 0 0 118px !important;
  min-height: 145px;
  justify-content: center;
  gap: 12px !important;
  padding: 14px 10px;
  border: 1px solid var(--kkv2-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(4,24,58,.05);
  transition: transform .2s var(--kkv2-ease), border-color .2s ease, box-shadow .2s ease;
}

body.kkset-visual-v1.home .kkv242-visual-chip:hover {
  border-color: #abc5ef;
  box-shadow: 0 18px 36px rgba(4,24,58,.1);
  transform: translateY(-4px);
}

body.kkset-visual-v1.home .kkv242-visual-media {
  width: 82px !important;
  height: 82px !important;
  border: 0 !important;
  background: linear-gradient(145deg,#f8fbff,#edf3fb) !important;
  box-shadow: inset 0 0 0 1px rgba(8,39,95,.07) !important;
}

body.kkset-visual-v1.home .kkv242-visual-label {
  min-height: 30px !important;
  color: var(--kkv2-ink) !important;
  font-size: 11px !important;
  font-weight: 780 !important;
}

/* Product and archive pages: premium merchandise frame, not a template form. */
body.kkset-visual-v1.single-product .hero-section,
body.kkset-visual-v1.kkset-enhanced-category .hero-section {
  border-bottom-color: var(--kkv2-line);
  background: #f8fafd;
}

body.kkset-visual-v1.single-product .product-entry-wrapper {
  gap: clamp(36px,5vw,74px) !important;
  align-items: start !important;
}

body.kkset-visual-v1.single-product .woocommerce-product-gallery {
  overflow: hidden !important;
  border: 1px solid var(--kkv2-line) !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 50% 28%,rgba(23,105,255,.1),transparent 34%),
    #f4f7fb !important;
  box-shadow: 0 22px 55px rgba(4,24,58,.09) !important;
}

body.kkset-visual-v1.single-product .summary.entry-summary {
  position: relative;
  padding-top: 4px;
}

body.kkset-visual-v1.single-product .summary.entry-summary::before {
  content: "MATCH KIT / READY TO CUSTOMIZE";
  display: block;
  width: fit-content;
  margin-bottom: 15px;
  padding: 7px 10px;
  border-radius: 999px;
  color: var(--kkv2-blue);
  background: #edf4ff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .13em;
}

body.kkset-visual-v1.single-product .product_title {
  color: var(--kkv2-ink) !important;
  font-size: clamp(35px,3.4vw,50px) !important;
  font-weight: 820 !important;
  line-height: 1.04 !important;
  letter-spacing: -.045em !important;
}

body.kkset-visual-v1.single-product .summary > .price {
  display: inline-flex;
  margin: 4px 0 22px !important;
  padding: 9px 13px;
  border-radius: 10px;
  color: #fff !important;
  background: var(--kkv2-night);
  font-size: 22px !important;
  font-weight: 900 !important;
}

body.kkset-visual-v1.single-product .woocommerce-product-details__short-description {
  color: var(--kkv2-muted);
  font-size: 15px;
  line-height: 1.72;
}

body.kkset-visual-v1.single-product .kkset-product-facts {
  gap: 9px !important;
}

body.kkset-visual-v1.single-product .kkset-product-fact {
  min-height: 66px;
  padding: 14px !important;
  border: 1px solid var(--kkv2-line) !important;
  border-radius: 12px !important;
  background: linear-gradient(145deg,#fff,#f8fafd) !important;
}

body.kkset-visual-v1.single-product .kkset-size-help {
  border: 1px solid #d3e1f4 !important;
  border-radius: 14px !important;
  background: #f2f7ff !important;
}

body.kkset-visual-v1.single-product .kkset-bulk-buy,
body.kkset-visual-v1.single-product .kkset-personalization,
body.kkset-visual-v1.single-product .kkset-patch-options {
  overflow: hidden;
  border: 1px solid var(--kkv2-line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 14px 36px rgba(4,24,58,.065) !important;
}

body.kkset-visual-v1.single-product .kkset-tier-pricing {
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.kkset-visual-v1.single-product .kkset-tier-pricing__title,
body.kkset-visual-v1.single-product .kkset-bulk-size-head,
body.kkset-visual-v1.single-product .kkset-personalization__head,
body.kkset-visual-v1.single-product .kkset-patch-options__head {
  color: var(--kkv2-ink) !important;
  font-weight: 850 !important;
}

body.kkset-visual-v1.single-product .kkset-tier-pricing__grid {
  gap: 8px !important;
}

body.kkset-visual-v1.single-product .kkset-tier-card {
  min-height: 96px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--kkv2-line) !important;
  border-radius: 12px !important;
  background: #f8fafd !important;
}

body.kkset-visual-v1.single-product .kkset-tier-card:first-child {
  border-color: var(--kkv2-night) !important;
  color: #fff;
  background: var(--kkv2-night) !important;
}

body.kkset-visual-v1.single-product .kkset-tier-card:first-child,
body.kkset-visual-v1.single-product .kkset-tier-card:first-child * {
  color: #fff !important;
}

body.kkset-visual-v1.single-product .kkset-size-quantity-row {
  min-height: 58px !important;
  padding-inline: 4px;
  border-top-color: #e5ebf3 !important;
}

body.kkset-visual-v1.single-product .kkset-stepper {
  min-height: 44px;
  border: 1px solid #ccd8e7 !important;
  border-radius: 10px !important;
  background: #fff;
}

body.kkset-visual-v1.single-product .kkset-stepper button {
  min-width: 42px;
  min-height: 42px;
  color: var(--kkv2-ink);
}

body.kkset-visual-v1.single-product .kkset-personalization,
body.kkset-visual-v1.single-product .kkset-patch-options {
  position: relative;
  padding: 22px !important;
}

body.kkset-visual-v1.single-product .kkset-personalization::before,
body.kkset-visual-v1.single-product .kkset-patch-options::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg,var(--kkv2-blue),var(--kkv2-sky));
}

body.kkset-visual-v1.single-product .kkset-personalization__modes {
  gap: 9px !important;
}

body.kkset-visual-v1.single-product .kkset-personalization__modes label {
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--kkv2-line);
  border-radius: 10px;
  background: #f8fafd;
}

body.kkset-visual-v1.single-product .kkset-player-select,
body.kkset-visual-v1.single-product .kkset-patch-select {
  min-height: 50px !important;
  border-color: #cbd8e7 !important;
  border-radius: 10px !important;
  background-color: #fff !important;
}

body.kkset-visual-v1.single-product .kkset-patch-preview {
  border-radius: 12px;
  background: #f8fafd;
}

body.kkset-visual-v1.single-product .kkset-bulk-summary {
  overflow: hidden;
  border: 0 !important;
  border-radius: 16px !important;
  color: #fff !important;
  background: var(--kkv2-night) !important;
  box-shadow: 0 18px 42px rgba(4,24,58,.18);
}

body.kkset-visual-v1.single-product .kkset-bulk-summary * {
  color: inherit;
}

body.kkset-visual-v1.single-product .kkset-bulk-add-button,
body.kkset-visual-v1.single-product .single_add_to_cart_button {
  min-height: 56px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(90deg,var(--kkv2-blue),#4385ff) !important;
  box-shadow: 0 16px 34px rgba(23,105,255,.3) !important;
  font-weight: 900 !important;
}

/* WooCommerce archives: match homepage product polish. */
body.kkset-visual-v1.kkset-enhanced-category .kkset-commerce-hero,
body.kkset-visual-v1.kkset-category-club-jerseys .kkset-club-commerce-hero {
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 84% 15%,rgba(105,164,255,.34),transparent 22%),
    linear-gradient(118deg,var(--kkv2-stadium),#0a347f 62%,var(--kkset-commerce-accent,var(--kkv2-blue))) !important;
  box-shadow: 0 24px 58px rgba(4,24,58,.18) !important;
}

body.kkset-visual-v1.kkset-enhanced-category ul.products li.product {
  overflow: hidden;
  border: 1px solid var(--kkv2-line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(4,24,58,.065) !important;
}

body.kkset-visual-v1.kkset-enhanced-category ul.products li.product .ct-image-container,
body.kkset-visual-v1.kkset-enhanced-category ul.products li.product .ct-media-container {
  background: var(--kkv2-stadium) !important;
}

/* Formal finishing layer. */
body.kkset-visual-v1 .kkset-site-footer {
  background:
    radial-gradient(circle at 86% 10%,rgba(23,105,255,.22),transparent 24%),
    var(--kkv2-stadium) !important;
}

body.kkset-visual-v1 .kkset-site-footer::before {
  height: 5px !important;
  background: linear-gradient(90deg,var(--kkv2-red) 0 28%,#fff 28% 31%,var(--kkv2-blue) 31%) !important;
}

@media (max-width: 1240px) and (min-width: 1191px) {
  body.kkset-visual-v1 .kkset-header-main {
    grid-template-columns: 122px minmax(0,1fr) auto !important;
    gap: 8px !important;
  }

  body.kkset-visual-v1 .kkset-logo img {
    width: 118px !important;
  }

  body.kkset-visual-v1 .kkset-nav-list {
    gap: 7px !important;
  }

  body.kkset-visual-v1 .kkset-whatsapp-mini {
    display: none !important;
  }
}

@media (max-width: 1000px) {
  body.kkset-visual-v1.home .kkv24-hero,
  body.kkset-visual-v1.home .kkv24-hero-inner {
    min-height: 560px !important;
  }

  body.kkset-visual-v1.home .kkv24-hero-inner {
    grid-template-columns: minmax(0,1fr) minmax(350px,.82fr) !important;
  }

  body.kkset-visual-v1.home .kkv24-hero-copy h1 {
    font-size: 52px !important;
  }

  body.kkset-visual-v1.home .kkv24-hero-art {
    height: 470px !important;
  }

  body.kkset-visual-v1.home .kkv24-quick-links {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 760px) {
  body.kkset-visual-v1 .kkset-visual-preview-badge {
    align-items: flex-start;
    border-radius: 16px;
  }

  body.kkset-visual-v1 .kkset-visual-preview-badge span {
    display: none;
  }

  body.kkset-visual-v1.home .kkv24-hero {
    min-height: auto !important;
    background:
      radial-gradient(circle at 70% 66%,rgba(23,105,255,.42),transparent 30%),
      linear-gradient(155deg,#020817,#08275f) !important;
  }

  body.kkset-visual-v1.home .kkv24-hero-inner {
    min-height: auto !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 0 18px 28px;
  }

  body.kkset-visual-v1.home .kkv24-hero-copy {
    padding: 46px 0 34px !important;
  }

  body.kkset-visual-v1.home .kkv24-hero-copy h1 {
    font-size: clamp(42px,12vw,58px) !important;
  }

  body.kkset-visual-v1.home .kkv24-hero-copy > p {
    font-size: 16px !important;
  }

  body.kkset-visual-v1.home .kkv24-hero-copy::after {
    margin-top: 26px;
    font-size: 8px;
  }

  body.kkset-visual-v1.home .kkv24-actions a {
    flex: 1 1 100%;
  }

  body.kkset-visual-v1.home .kkv24-hero-art {
    width: 100%;
    height: 380px !important;
    border-radius: 22px !important;
  }

  body.kkset-visual-v1.home .kkv24-trust .kkv24-shell {
    grid-template-columns: repeat(2,1fr) !important;
  }

  body.kkset-visual-v1.home .kkv24-trust span,
  body.kkset-visual-v1.home .kkv24-trust a {
    min-height: 60px !important;
  }

  body.kkset-visual-v1.home .kkv24-quick-links {
    grid-template-columns: 1fr 1fr;
    gap: 9px !important;
  }

  body.kkset-visual-v1.home .kkv24-quick-links a {
    min-height: 72px !important;
    padding: 14px 12px 14px 42px !important;
    font-size: 11px !important;
  }

  body.kkset-visual-v1.home .kkv24-quick-links a::before {
    left: 12px;
  }

  body.kkset-visual-v1.home .kkv261-find-strip .kkv24-shell {
    display: block !important;
  }

  body.kkset-visual-v1.home .kkv261-find-copy {
    display: block !important;
  }

  body.kkset-visual-v1.home .kkv261-find-button {
    width: 100%;
    margin-top: 13px !important;
  }

  body.kkset-visual-v1.home .kkv24-products-section,
  body.kkset-visual-v1.home .kkv242-visual-block {
    padding: 44px 0 !important;
  }

  body.kkset-visual-v1.home .kkv24-product-media,
  body.kkset-visual-v1.home .kkv24-img-stage {
    height: 285px !important;
  }

  body.kkset-visual-v1.home .kkv242-visual-chip {
    flex-basis: 104px !important;
    min-height: 132px;
  }

  body.kkset-visual-v1.single-product .product-entry-wrapper {
    gap: 28px !important;
  }

  body.kkset-visual-v1.single-product .woocommerce-product-gallery {
    border-radius: 18px !important;
  }

  body.kkset-visual-v1.single-product .product_title {
    font-size: 34px !important;
  }

  body.kkset-visual-v1.single-product .kkset-tier-pricing__grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width: 520px) {
  body.kkset-visual-v1.home .kkv24-hero-art {
    height: 320px !important;
  }

  body.kkset-visual-v1.home .kkv24-quick-links {
    grid-template-columns: 1fr;
  }

  body.kkset-visual-v1.home .kkv24-product-media,
  body.kkset-visual-v1.home .kkv24-img-stage {
    height: 245px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.kkset-visual-v1.home .kkv24-product,
  body.kkset-visual-v1.home .kkv24-product-media img,
  body.kkset-visual-v1.home .kkv242-visual-chip,
  body.kkset-visual-v1.home .kkv24-quick-links a,
  body.kkset-visual-v1 .kkset-nav-item > a::after,
  body.kkset-visual-v1 .kkset-nav-trigger > a::after {
    transition: none !important;
  }
}

/* v1.2 final cascade: shorter full-bleed championship hero. */
body.kkset-visual-v1.home .kkv24-hero {
  min-height: 440px !important;
  background:
    linear-gradient(90deg, rgba(3,11,28,.98) 0%, rgba(3,11,28,.94) 28%, rgba(3,11,28,.79) 49%, rgba(3,11,28,.25) 76%, rgba(3,11,28,.12) 100%),
    linear-gradient(180deg, rgba(3,11,28,.05) 58%, rgba(3,11,28,.48) 100%),
    url("kkset-world-champions-hero.webp") center / cover no-repeat,
    #050b18 !important;
}

body.kkset-visual-v1.home .kkv24-hero::before,
body.kkset-visual-v1.home .kkv24-hero::after,
body.kkset-visual-v1.home .kkv24-hero-art {
  display: none !important;
}

body.kkset-visual-v1.home .kkv24-hero-inner {
  min-height: 440px !important;
  height: auto !important;
  display: block !important;
}

body.kkset-visual-v1.home .kkv24-hero-copy {
  width: min(690px,58%);
  padding: 54px 0 50px !important;
}

body.kkset-visual-v1.home .kkv24-hero-copy h1 {
  max-width: 690px !important;
  margin: 14px 0 18px !important;
  font-size: clamp(44px,4.35vw,60px) !important;
  line-height: .98 !important;
}

body.kkset-visual-v1.home .kkv24-hero-copy > p {
  max-width: 590px !important;
  font-size: clamp(15px,1.15vw,17px) !important;
  line-height: 1.58 !important;
}

body.kkset-visual-v1.home .kkv24-actions {
  margin-top: 22px !important;
}

body.kkset-visual-v1.home .kkv24-hero-copy::after {
  display: none;
}

body.kkset-visual-v1.home .kkv24-trust .kkv24-shell,
body.kkset-visual-v1.home .kkv24-trust span,
body.kkset-visual-v1.home .kkv24-trust a {
  min-height: 60px !important;
}

@media (max-width: 1000px) {
  body.kkset-visual-v1.home .kkv24-hero,
  body.kkset-visual-v1.home .kkv24-hero-inner {
    min-height: 420px !important;
  }

  body.kkset-visual-v1.home .kkv24-hero {
    background-position: 61% center !important;
  }

  body.kkset-visual-v1.home .kkv24-hero-copy {
    width: min(630px,68%);
    padding: 48px 0 44px !important;
  }

  body.kkset-visual-v1.home .kkv24-hero-copy h1 {
    font-size: clamp(42px,5.4vw,54px) !important;
  }
}

@media (max-width: 760px) {
  body.kkset-visual-v1.home .kkv24-hero {
    min-height: 500px !important;
    background:
      linear-gradient(90deg, rgba(3,11,28,.97) 0%, rgba(3,11,28,.92) 56%, rgba(3,11,28,.62) 100%),
      linear-gradient(180deg, rgba(3,11,28,.08) 45%, rgba(3,11,28,.66) 100%),
      url("kkset-world-champions-hero.webp") 72% center / auto 100% no-repeat,
      #050b18 !important;
  }

  body.kkset-visual-v1.home .kkv24-hero-inner {
    min-height: 500px !important;
    padding: 0 18px !important;
  }

  body.kkset-visual-v1.home .kkv24-hero-copy {
    width: 100%;
    max-width: 520px;
    padding: 40px 0 36px !important;
  }

  body.kkset-visual-v1.home .kkv24-hero-copy h1 {
    max-width: 500px !important;
    margin: 12px 0 17px !important;
    font-size: clamp(38px,10.5vw,48px) !important;
  }

  body.kkset-visual-v1.home .kkv24-actions {
    margin-top: 20px !important;
  }

}

@media (max-width: 520px) {
  body.kkset-visual-v1.home .kkv24-hero,
  body.kkset-visual-v1.home .kkv24-hero-inner {
    min-height: 510px !important;
  }

  body.kkset-visual-v1.home .kkv24-hero-copy h1 {
    font-size: clamp(36px,10.8vw,43px) !important;
  }
}

/* v1.3 final cascade: compact, visually separate category navigation. */
body.kkset-visual-v1.home .kkv24-quick {
  padding: 20px 0 22px !important;
  color: var(--kkv2-ink) !important;
  border-top: 8px solid #fff;
  border-bottom: 1px solid var(--kkv2-line);
  background: #f3f6fb !important;
}

body.kkset-visual-v1.home .kkv24-quick > .kkv24-shell > .kkv24-eyebrow {
  margin-bottom: 6px !important;
  color: var(--kkv2-ink) !important;
  font-size: clamp(20px,1.6vw,24px) !important;
  letter-spacing: -.025em !important;
}

body.kkset-visual-v1.home .kkv24-quick-links {
  grid-template-columns: repeat(8,minmax(0,1fr)) !important;
  gap: 8px !important;
  margin-top: 6px !important;
}

body.kkset-visual-v1.home .kkv24-quick-links a {
  min-height: 54px !important;
  padding: 10px 24px 10px 34px !important;
  border-color: #d7e1ee !important;
  border-radius: 10px !important;
  color: var(--kkv2-ink) !important;
  background: #fff !important;
  box-shadow: 0 5px 16px rgba(4,24,58,.05) !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
}

body.kkset-visual-v1.home .kkv24-quick-links a::before {
  left: 11px !important;
  color: var(--kkv2-blue) !important;
  font-size: 8px !important;
}

body.kkset-visual-v1.home .kkv24-quick-links a::after {
  border-color: rgba(23,105,255,.1) !important;
}

body.kkset-visual-v1.home .kkv24-quick-links a:hover,
body.kkset-visual-v1.home .kkv24-quick-links a:focus-visible {
  border-color: rgba(23,105,255,.58) !important;
  color: #063d9d !important;
  background: #f8fbff !important;
  box-shadow: 0 10px 22px rgba(23,105,255,.12) !important;
  transform: translateY(-2px);
}

@media (max-width: 1100px) {
  body.kkset-visual-v1.home .kkv24-quick-links {
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  }
}

@media (max-width: 760px) {
  body.kkset-visual-v1.home .kkv24-quick {
    padding: 20px 0 22px !important;
    border-top-width: 8px;
  }

  body.kkset-visual-v1.home .kkv24-quick-links {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  body.kkset-visual-v1.home .kkv24-quick-links a {
    min-height: 56px !important;
    padding: 10px 22px 10px 34px !important;
    font-size: 11px !important;
  }
}

@media (max-width: 520px) {
  body.kkset-visual-v1.home .kkv24-quick-links {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
}
