/** Shopify CDN: Minification failed

Line 10:20 Expected identifier but found ".55"
Line 2804:0 Unexpected "}"

**/
/* Badge system */

  /* Glow tuning (Level 1 = premium subtil) */
  --ks-glow-opacity:.55;
  --ks-glow-blur:8px;
  --ks-glow-hover-opacity:.72;
  --ks-glow-hover-blur:7px;
}

/* ======================================================
   GLOBAL HELPERS
====================================================== */

html{
  scroll-behavior:smooth;
}

[id^="ks-"]{
  scroll-margin-top:120px;
}

.ks .ks-container{
  width:min(1300px,calc(100% - 40px));
  margin:auto;
}

.ks-icon{
  width: var(--ks-icon-size, 20px);
  height: var(--ks-icon-size, 20px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  flex: 0 0 auto;
}

.ks-icon svg{
  width: 100%;
  height: 100%;
  display: block;
}

/* ======================================================
   WORLD CONTAINER
====================================================== */

.ks .ks-world{
  background: var(--ks-bg, #000);
  color: var(--ks-text, rgba(255,255,255,.92));
  padding:60px 0;
  scroll-margin-top:110px;
  position:relative;
  overflow:hidden;
  isolation:isolate;

  --ks-focus-scale:1.03;
  --ks-focus-inset:-18px;
  --ks-focus-strength:30%;
  --ks-focus-falloff:72%;
  --ks-focus-overlay:rgba(0,0,0,.05);
}

.ks .ks-world::before{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  z-index:0;
  opacity:1;
  background:
    radial-gradient(circle at 18% 12%, rgba(222,60,119,.18), transparent 60%),
    radial-gradient(circle at 75% 35%, rgba(222,60,119,.10), transparent 65%);
}

.ks .ks-world > *{
  position:relative;
  z-index:1;
}

/* ======================================================
   WORLD HEADER
====================================================== */

.ks .ks-header{
  display:grid;
  gap:12px;
  margin-bottom:32px;
}

.ks .ks-title{
  font-size:clamp(28px,3vw,42px);
  line-height:1.05;
  margin:0;
  letter-spacing:-0.02em;
}

.ks .ks-subtitle{
  margin:0;
  max-width:70ch;
  color:var(--ks-muted);
}

.ks .ks-divider{
  height:2px;
  width:140px;
  background:linear-gradient(90deg, transparent, var(--ks-accent), transparent);
}

/* ======================================================
   BADGE / PILL
====================================================== */

.ks .ks-pill,
.ks-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:28px;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.72);
  color:rgba(255,255,255,.96);
  font-size:11px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:700;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:0 8px 22px rgba(0,0,0,.28);
}

.ks .ks-pill span,
.ks-pill span{
  color:inherit;
}

.ks .ks-pill__dot,
.ks-pill__dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--ks-accent);
  box-shadow:0 0 10px color-mix(in srgb, var(--ks-accent) 60%, transparent);
  flex:0 0 auto;
}

/* zentrale Pill-Varianten */
.ks-pill--neutral{
  border-color:rgba(255,255,255,.14);
  background:rgba(0,0,0,.72);
  color:rgba(255,255,255,.96);
}

.ks-pill--sale{
  background:var(--ks-badge-sale-bg);
  border-color:var(--ks-badge-sale-border);
  color:var(--ks-badge-sale-text);
  box-shadow:var(--ks-badge-sale-shadow);
}

.ks-pill--bestseller{
  background:var(--ks-badge-bestseller-bg);
  border-color:var(--ks-badge-bestseller-border);
  color:var(--ks-badge-bestseller-text);
  box-shadow:var(--ks-badge-bestseller-shadow);
}

.ks-pill--premium{
  background:var(--ks-badge-premium-bg);
  border-color:var(--ks-badge-premium-border);
  color:var(--ks-badge-premium-text);
  box-shadow:var(--ks-badge-premium-shadow);
}

.ks-pill--hot{
  background:var(--ks-badge-hot-bg);
  border-color:var(--ks-badge-hot-border);
  color:var(--ks-badge-hot-text);
  box-shadow:var(--ks-badge-hot-shadow);
}

.ks-pill--feature{
  background:var(--ks-badge-feature-bg);
  border-color:var(--ks-badge-feature-border);
  color:var(--ks-badge-feature-text);
  box-shadow:var(--ks-badge-feature-shadow);
}

.ks-pill--editors{
  background:var(--ks-badge-editors-bg);
  border-color:var(--ks-badge-editors-border);
  color:var(--ks-badge-editors-text);
  box-shadow:var(--ks-badge-editors-shadow);
}

.ks-pill--world-dessous{
  background:rgba(222,60,119,.18);
  border-color:rgba(222,60,119,.42);
  color:#ffd7e6;
  box-shadow:0 0 16px rgba(222,60,119,.18);
}

.ks-pill--world-dom{
  background:rgba(140,20,20,.24);
  border-color:rgba(140,20,20,.50);
  color:#ffd2d2;
  box-shadow:0 0 16px rgba(140,20,20,.16);
}

.ks-pill--world-lust{
  background:rgba(255,0,120,.18);
  border-color:rgba(255,0,120,.42);
  color:#ffd2ea;
  box-shadow:0 0 16px rgba(255,0,120,.16);
}

.ks-pill--world-vip{
  background:rgba(212,175,55,.16);
  border-color:rgba(212,175,55,.40);
  color:#f6e7b0;
  box-shadow:0 0 16px rgba(212,175,55,.16);
}

/* ======================================================
   PRODUCT GRID
====================================================== */

.ks .ks-grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-flow:dense;
}

.ks .ks-world-item.ks-focus{
  grid-column:1 / -1;
}

@media(min-width:768px){
  .ks .ks-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-auto-flow:dense;
  }

  .ks .ks-world-item.ks-focus{
    order:-1;
    grid-column:1 / span 2;
    grid-row:1 / span 2;
  }
}

/* ======================================================
   PRODUCT CARD
====================================================== */

.ks .ks-card,
.ks-card{
  position:relative;
  display:flex;
  flex-direction:column;
  height:100%;
  overflow:hidden;
  border-radius:18px;
  background:#050505;
  border:1px solid rgba(255,255,255,.08);
  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease,
    background .25s ease;
}

.ks .ks-card:hover,
.ks-card:hover{
  transform:translateY(-4px);
  border-color:rgba(255,255,255,.14);
  box-shadow:0 12px 28px rgba(0,0,0,.45);
}

.ks .ks-card,
.ks .ks-card *,
.ks-card,
.ks-card *{
  color:rgba(255,255,255,.92);
}

.ks .ks-card a,
.ks-card a{
  text-decoration:none;
  color:inherit;
}

.ks .ks-card__link,
.ks-card__link{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  height:100%;
  color:inherit;
  text-decoration:none;
}

.ks .ks-card__footer,
.ks-card__footer{
  position:relative;
  z-index:5;
}

/* ======================================================
   CARD MEDIA
====================================================== */

.ks .ks-card__media,
.ks-card__media{
  position:relative;
  width:100%;
  aspect-ratio:4 / 5;
  overflow:hidden;
  background:#f4f4f4;
  border-radius:18px 18px 0 0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.ks .ks-card__media img,
.ks .ks-card__image,
.ks-card__media img,
.ks-card__image{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  display:block;
  filter:saturate(1.05) contrast(1.04);
  transition:transform .45s cubic-bezier(.22,.61,.36,1), opacity .25s ease;
}

.ks .ks-card:hover .ks-card__media img,
.ks .ks-card:hover .ks-card__image,
.ks-card:hover .ks-card__media img,
.ks-card:hover .ks-card__image{
  transform:scale(1.05);
}

.ks .ks-card__media::after,
.ks-card__media::after{
  content:"";
  position:absolute;
  inset:-8%;
  pointer-events:none;
  z-index:2;
  opacity:var(--ks-glow-opacity);
  mix-blend-mode:screen;
  filter:blur(var(--ks-glow-blur));
  transform:scale(1.03);
}

.ks .ks-card:hover .ks-card__media::after,
.ks-card:hover .ks-card__media::after{
  opacity:var(--ks-glow-hover-opacity);
  filter:blur(var(--ks-glow-hover-blur));
}

/* ======================================================
   CARD BADGES
====================================================== */

.ks .ks-card__badges,
.ks-card__badges{
  position:absolute;
  top:12px;
  left:12px;
  z-index:3;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  max-width:calc(100% - 24px);
}

.ks .ks-card__badge.is-sale,
.ks-card__badge.is-sale{
  background:var(--ks-badge-sale-bg);
  border-color:var(--ks-badge-sale-border);
  color:var(--ks-badge-sale-text);
  box-shadow:var(--ks-badge-sale-shadow);
}

.ks .ks-card__badge.is-new,
.ks-card__badge.is-new{
  background:var(--ks-badge-new-bg);
  border-color:var(--ks-badge-new-border);
  color:var(--ks-badge-new-text);
  box-shadow:var(--ks-badge-new-shadow);
}

.ks .ks-card__badge.is-bestseller,
.ks-card__badge.is-bestseller{
  background:var(--ks-badge-bestseller-bg);
  border-color:var(--ks-badge-bestseller-border);
  color:var(--ks-badge-bestseller-text);
  box-shadow:var(--ks-badge-bestseller-shadow);
}

.ks .ks-card__badge.is-premium,
.ks-card__badge.is-premium{
  background:var(--ks-badge-premium-bg);
  border-color:var(--ks-badge-premium-border);
  color:var(--ks-badge-premium-text);
  box-shadow:var(--ks-badge-premium-shadow);
}

.ks .ks-card__badge.is-hot,
.ks-card__badge.is-hot{
  background:var(--ks-badge-hot-bg);
  border-color:var(--ks-badge-hot-border);
  color:var(--ks-badge-hot-text);
  box-shadow:var(--ks-badge-hot-shadow);
}

.ks .ks-card__badge.is-editors-pick,
.ks-card__badge.is-editors-pick{
  background:var(--ks-badge-editors-bg);
  border-color:var(--ks-badge-editors-border);
  color:var(--ks-badge-editors-text);
  box-shadow:var(--ks-badge-editors-shadow);
}

.ks .ks-card__badge.is-feature,
.ks-card__badge.is-feature{
  background:var(--ks-badge-feature-bg);
  border-color:var(--ks-badge-feature-border);
  color:var(--ks-badge-feature-text);
  box-shadow:var(--ks-badge-feature-shadow);
}

.ks .ks-card__badge.is-limited,
.ks-card__badge.is-limited{
  background:var(--ks-badge-limited-bg);
  border-color:var(--ks-badge-limited-border);
  color:var(--ks-badge-limited-text);
  box-shadow:var(--ks-badge-limited-shadow);
}

/* ======================================================
   CARD BODY
====================================================== */

.ks .ks-card__body,
.ks-card__body{
  display:flex;
  flex-direction:column;
  gap:8px;
  flex:1 1 auto;
  padding:16px 16px 10px;
  background:transparent !important;
}

.ks .ks-card__eyebrow,
.ks-card__eyebrow{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:5px 10px;
  border-radius:999px;
  margin-bottom:4px;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.56) !important;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
}

.ks .ks-world-item.ks-focus .ks-card__eyebrow{
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--ks-accent) 18%, rgba(255,255,255,.04)),
    0 0 14px color-mix(in srgb, var(--ks-accent) 10%, transparent);
}

.ks .ks-card__vendor,
.ks-card__vendor{
  margin-bottom:2px;
  font-size:11px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:rgba(255,255,255,.55) !important;
}

.ks .ks-card__title,
.ks .ks-card__title a,
.ks-card__title,
.ks-card__title a{
  margin:0;
  color:rgba(255,255,255,.98) !important;
  font-size:15px;
  line-height:1.35;
  font-weight:600;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:2.7em;
}

.ks .ks-card__meta,
.ks-card__meta{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:6px;
  background:transparent !important;
}

.ks .ks-card__price-wrap,
.ks-card__price-wrap{
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
}

.ks .ks-price,
.ks-card .ks-price{
  font-size:18px;
  line-height:1.2;
  font-weight:700;
  color:rgba(255,255,255,.98) !important;
}

.ks .ks-price--compare,
.ks-card .ks-price--compare{
  font-size:13px;
  font-weight:500;
  color:rgba(255,255,255,.46) !important;
  text-decoration:line-through;
}

.ks .ks-card__variant-hint,
.ks-card__variant-hint{
  font-size:12px;
  line-height:1.35;
  color:rgba(255,255,255,.60) !important;
}

.ks .ks-card__trust-meta,
.ks-card__trust-meta{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:4px;
  font-size:12px;
  line-height:1.35;
  color:rgba(255,255,255,.62) !important;
}

/* ======================================================
   OOS CARD
====================================================== */

.ks .ks-card.is-oos,
.ks-card.is-oos{
  opacity:1 !important;
  filter:none !important;
}

.ks .ks-card.is-oos .ks-card__media,
.ks .ks-card.is-oos .ks-card__body,
.ks-card.is-oos .ks-card__media,
.ks-card.is-oos .ks-card__body{
  opacity:.45;
  filter:grayscale(.7);
}

.ks .ks-card.is-oos .ks-card__footer,
.ks .ks-card.is-oos .ks-notify-trigger,
.ks .ks-card.is-oos .ks-notify-btn,
.ks-card.is-oos .ks-card__footer,
.ks-card.is-oos .ks-notify-trigger,
.ks-card.is-oos .ks-notify-btn{
  opacity:1 !important;
  filter:none !important;
  pointer-events:auto !important;
}

.ks .ks-card__oos,
.ks-card__oos{
  position:absolute;
  inset:auto 12px 12px 12px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:8px 12px;
  border-radius:12px;
  background:rgba(0,0,0,.72);
  border:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.95) !important;
  font-size:13px;
  font-weight:600;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.ks .ks-card.is-oos .ks-card__image,
.ks-card.is-oos .ks-card__image{
  opacity:.72;
  filter:grayscale(.1);
}

/* Fremde Notify-Texte/Formulare in der Card ausblenden */
.ks-card.is-oos .product__notify-text,
.ks-card.is-oos .back-in-stock-text,
.ks-card.is-oos .notify-text,
.ks-card.is-oos .ks-notify-copy,
.ks-card.is-oos .shopify-cleanslate,
.ks-card.is-oos .form__label,
.ks-card.is-oos .note,
.ks-card.is-oos small,
.ks-card.is-oos form[action*="/contact"],
.ks-card.is-oos > p,
.ks-card.is-oos > small,
.ks-card.is-oos > form[action*="/contact"],
.ks-card.is-oos > .product__notify-text,
.ks-card.is-oos > .back-in-stock-text,
.ks-card.is-oos > .notify-text,
.ks-card.is-oos > .ks-notify-copy,
.ks-card.is-oos > .shopify-cleanslate{
  display:none !important;
}

/* OOS Footer: nur Benachrichtigen + Details */
.ks-card.is-oos .ks-card__footer{
  display:grid !important;
  grid-template-columns:1fr auto !important;
  gap:10px !important;
  align-items:center !important;
}

.ks-card.is-oos .ks-card__footer > *{
  display:none !important;
}

.ks-card.is-oos .ks-card__footer > .ks-notify-trigger,
.ks-card.is-oos .ks-card__footer > .ks-notify-btn,
.ks-card.is-oos .ks-card__footer > a.ks-btn{
  display:inline-flex !important;
}

.ks-card.is-oos .ks-card__footer > .ks-notify-trigger,
.ks-card.is-oos .ks-card__footer > .ks-notify-btn{
  width:100% !important;
  min-width:0 !important;
}

.ks-card.is-oos .ks-card__footer > a.ks-btn{
  width:auto !important;
  min-width:96px !important;
}

@media (max-width:640px){
  .ks-card.is-oos .ks-card__footer{
    grid-template-columns:1fr !important;
  }

  .ks-card.is-oos .ks-card__footer > .ks-notify-trigger,
  .ks-card.is-oos .ks-card__footer > .ks-notify-btn,
  .ks-card.is-oos .ks-card__footer > a.ks-btn{
    width:100% !important;
  }
}

/* ======================================================
   CTA
====================================================== */

.ks .ks-cta{
  margin-top:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 22px;
  min-height:48px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(0,0,0,.4);
  color:#ffffff !important;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  line-height:1;
  letter-spacing:.03em;
  white-space:nowrap;
  transition:
    border-color .25s ease,
    box-shadow .25s ease,
    background .25s ease,
    color .25s ease,
    transform .18s ease;
}

.ks .ks-cta:hover{
  border-color:var(--ks-accent);
  color:#ffffff !important;
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--ks-accent) 24%, rgba(255,255,255,.06)),
    0 0 16px color-mix(in srgb, var(--ks-accent) 18%, transparent);
  transform:translateY(-1px);
}

.ks .ks-cta span{
  color:#ffffff !important;
  opacity:1 !important;
  visibility:visible !important;
  display:inline-flex;
  align-items:center;
  line-height:1;
}

/* ======================================================
   EMPTY STATE
====================================================== */

.ks .ks-empty{
  padding:20px;
  border-radius:14px;
  border:1px dashed rgba(255,255,255,.3);
  color:var(--ks-muted);
}

/* ======================================================
   CARD FOOTER / BUTTONS
====================================================== */

.ks .ks-card__footer,
.ks-card__footer{
  margin-top:auto;
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  padding:0 16px 16px;
  background:transparent !important;
}

.ks .ks-card__footer > *,
.ks-card__footer > *{
  flex:1 1 0;
}

.ks .ks-card__footer .ks-btn,
.ks .ks-card__footer .ks-quickadd,
.ks-card__footer .ks-btn,
.ks-card__footer .ks-quickadd{
  width:100%;
}

.ks .ks-card__footer .ks-quickadd,
.ks-card__footer .ks-quickadd{
  display:flex;
  margin:0;
}

.ks .ks-btn,
.ks-btn{
  appearance:none;
  min-height:44px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.94) !important;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 14px;
  font-size:14px;
  font-weight:600;
  line-height:1;
  cursor:pointer;
  white-space:nowrap;
  transition:
    background .2s ease,
    border-color .2s ease,
    transform .2s ease,
    box-shadow .2s ease,
    opacity .25s ease;
}

.ks .ks-btn:hover,
.ks-btn:hover{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.18);
  transform:translateY(-1px);
}

.ks .ks-btn:disabled,
.ks-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.ks .ks-btn--primary,
.ks-btn--primary{
  width:100%;
  border-color:rgba(255,255,255,.14);
  background:linear-gradient(
    180deg,
    color-mix(in srgb, var(--ks-accent) 16%, rgba(0,0,0,.58)),
    rgba(0,0,0,.58)
  );
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--ks-accent) 24%, rgba(255,255,255,.06)),
    0 8px 22px rgba(0,0,0,.38);
  font-weight:700;
}

.ks .ks-btn--primary:hover,
.ks-btn--primary:hover{
  border-color:var(--ks-accent);
  background:linear-gradient(
    180deg,
    color-mix(in srgb, var(--ks-accent) 22%, rgba(0,0,0,.60)),
    rgba(0,0,0,.56)
  );
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--ks-accent) 42%, rgba(255,255,255,.06)),
    0 12px 30px rgba(0,0,0,.48),
    0 0 18px color-mix(in srgb, var(--ks-accent) 32%, transparent);
}

.ks .ks-btn--secondary,
.ks-btn--secondary{
  min-width:96px;
  width:auto;
  background:transparent;
  color:rgba(255,255,255,.78) !important;
}

.ks .ks-btn__dot,
.ks-btn__dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--ks-accent, #DE3C77);
  box-shadow:0 0 10px color-mix(in srgb, var(--ks-accent, #DE3C77) 60%, transparent);
  flex:0 0 auto;
}

/* World accents for dot */
.ks-card.world-dessous .ks-btn__dot{
  background:#DE3C77;
  box-shadow:0 0 12px rgba(222,60,119,.45);
}

.ks-card.world-vip .ks-btn__dot{
  background:#D4AF37;
  box-shadow:0 0 12px rgba(212,175,55,.42);
}

.ks-card.world-dom .ks-btn__dot{
  background:#8C1414;
  box-shadow:0 0 12px rgba(140,20,20,.45);
}

.ks-card.world-lust .ks-btn__dot{
  background:#FF0078;
  box-shadow:0 0 12px rgba(255,0,120,.45);
}

/* Optional subtle world accent on hover */
.ks-card.world-dessous:hover{
  box-shadow:
    0 10px 30px rgba(0,0,0,.25),
    0 0 18px rgba(222,60,119,.08);
}

.ks-card.world-vip:hover{
  box-shadow:
    0 10px 30px rgba(0,0,0,.25),
    0 0 18px rgba(212,175,55,.08);
}

.ks-card.world-dom:hover{
  box-shadow:
    0 10px 30px rgba(0,0,0,.25),
    0 0 18px rgba(140,20,20,.08);
}

.ks-card.world-lust:hover{
  box-shadow:
    0 10px 30px rgba(0,0,0,.25),
    0 0 18px rgba(255,0,120,.10);
}

/* =========================================================
   KS WORLD ACCENT ENGINE
========================================================= */

.ks .ks-world .ks-price{
  color:color-mix(in srgb, var(--ks-accent) 80%, #ffffff 20%) !important;
  font-weight:750;
  font-size:16px;
  line-height:1.2;
  letter-spacing:.01em;
  font-variant-numeric:tabular-nums;
  text-shadow:0 0 8px color-mix(in srgb, var(--ks-accent) 25%, transparent);
  transition:
    color .25s ease,
    text-shadow .25s ease,
    opacity .25s ease;
}

.ks .ks-world--dom .ks-price{
  color:#ff8f8f !important;
  text-shadow:0 0 10px rgba(255,80,80,.12);
}

.ks .ks-world-item.ks-focus .ks-price{
  font-size:16px;
  font-weight:750;
}

.ks .ks-world .ks-btn__dot{
  background:var(--ks-accent) !important;
  box-shadow:0 0 14px color-mix(in srgb, var(--ks-accent) 55%, transparent) !important;
}

.ks .ks-world .ks-btn--primary{
  border-color:color-mix(in srgb, var(--ks-accent) 60%, rgba(255,255,255,.12)) !important;
  background:color-mix(in srgb, var(--ks-accent) 10%, rgba(0,0,0,.55)) !important;
}

.ks .ks-world .ks-btn:hover{
  border-color:var(--ks-accent);
}

.ks .ks-world .ks-card:hover .ks-price{
  text-shadow:0 0 14px color-mix(in srgb, var(--ks-accent) 45%, transparent) !important;
}

.ks .ks-world .ks-card:hover{
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--ks-accent) 30%, rgba(255,255,255,.06)),
    0 14px 36px rgba(0,0,0,.40),
    0 0 22px color-mix(in srgb, var(--ks-accent) 16%, transparent);
}

.ks .ks-world .ks-card.is-oos{
  --ks-accent:color-mix(in srgb, var(--ks-accent) 55%, rgba(255,255,255,.18));
}

/* Details button */
.ks .ks-world .ks-card__footer a.ks-btn{
  border-color:rgba(255,255,255,.10);
  background:rgba(0,0,0,.14);
  color:rgba(255,255,255,.76);
  opacity:.72;
}

.ks .ks-world .ks-card__footer a.ks-btn:hover{
  opacity:.96;
  border-color:color-mix(in srgb, var(--ks-accent) 45%, rgba(255,255,255,.12));
  box-shadow:0 0 0 3px color-mix(in srgb, var(--ks-accent) 12%, transparent);
}

.ks .ks-world .ks-card__footer a.ks-btn span[aria-hidden="true"]{
  display:inline-block;
  transform:translateX(0);
  transition:transform .18s ease;
}

.ks .ks-world .ks-card__footer a.ks-btn:hover span[aria-hidden="true"]{
  transform:translateX(2px);
}

/* =========================================================
   KS WORLD ATMOSPHERE ENGINE
========================================================= */

/* VIP */
.ks .ks-world.ks-world--vip::before{
  background:
    radial-gradient(circle at 18% 10%, rgba(212,175,55,.22), transparent 42%),
    radial-gradient(circle at 82% 72%, rgba(212,175,55,.12), transparent 40%),
    linear-gradient(180deg, rgba(18,14,4,.18), rgba(0,0,0,0));
}

.ks .ks-world--vip .ks-card:hover{
  box-shadow:
    0 0 0 1px rgba(212,175,55,.24),
    0 12px 36px rgba(0,0,0,.38),
    0 0 24px rgba(212,175,55,.12);
}

.ks .ks-world--vip .ks-card__media::after{
  background:
    radial-gradient(circle at 20% 10%, rgba(212,175,55,.55), transparent 52%),
    radial-gradient(circle at 80% 90%, rgba(212,175,55,.18), transparent 48%);
}

/* DOM */
.ks .ks-world.ks-world--dom::before{
  background:
    radial-gradient(circle at 80% 12%, rgba(140,20,20,.55), transparent 48%),
    radial-gradient(circle at 14% 80%, rgba(90,10,10,.35), transparent 44%),
    linear-gradient(180deg, rgba(40,0,0,.35), rgba(0,0,0,0));
}

.ks .ks-world--dom .ks-card:hover{
  box-shadow:
    0 0 0 1px rgba(140,20,20,.40),
    0 16px 42px rgba(0,0,0,.48),
    0 0 32px rgba(140,20,20,.28);
}

.ks .ks-world--dom .ks-card__media::after{
  background:
    radial-gradient(circle at 78% 14%, rgba(140,20,20,.85), transparent 56%),
    radial-gradient(circle at 18% 86%, rgba(120,10,10,.40), transparent 50%);
}

/* DESSOUS */
.ks .ks-world.ks-world--dessous::before{
  background:
    radial-gradient(circle at 50% 0%, rgba(222,60,119,.20), transparent 46%),
    radial-gradient(circle at 16% 82%, rgba(222,60,119,.10), transparent 40%),
    linear-gradient(180deg, rgba(24,0,12,.14), rgba(0,0,0,0));
}

.ks .ks-world--dessous .ks-card:hover{
  box-shadow:
    0 0 0 1px rgba(222,60,119,.24),
    0 12px 36px rgba(0,0,0,.36),
    0 0 24px rgba(222,60,119,.14);
}

.ks .ks-world--dessous .ks-card__media::after{
  background:
    radial-gradient(circle at 50% 0%, rgba(222,60,119,.56), transparent 52%),
    radial-gradient(circle at 14% 86%, rgba(222,60,119,.18), transparent 48%);
}

/* LUST */
.ks .ks-world.ks-world--lust::before{
  background:
    radial-gradient(circle at 70% 28%, rgba(255,0,120,.30), transparent 44%),
    radial-gradient(circle at 18% 86%, rgba(255,0,120,.14), transparent 42%),
    linear-gradient(180deg, rgba(30,0,12,.18), rgba(0,0,0,0));
}

.ks .ks-world--lust .ks-card:hover{
  box-shadow:
    0 0 0 1px rgba(255,0,120,.24),
    0 12px 36px rgba(0,0,0,.38),
    0 0 26px rgba(255,0,120,.16);
}

.ks .ks-world--lust .ks-card__media::after{
  background:
    radial-gradient(circle at 70% 24%, rgba(255,0,120,.66), transparent 54%),
    radial-gradient(circle at 16% 86%, rgba(255,0,120,.22), transparent 48%);
}

/* ======================================================
   QUICK ADD OVERLAY + NOTIFY
====================================================== */

html.ks-qa-open{
  overflow:hidden;
}

#ks-quickadd-root{
  position:fixed;
  inset:0;
  z-index:9999;
  font-family:inherit;
}

.ks .ks-qa__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.62);
  backdrop-filter:blur(4px);
}

.ks .ks-qa__panel{
  position:absolute;
  right:0;
  top:0;
  height:100%;
  width:min(460px, 94vw);
  background:linear-gradient(180deg, rgba(15,15,15,.98), rgba(8,8,8,.98));
  border-left:1px solid rgba(255,255,255,.12);
  box-shadow:-30px 0 80px rgba(0,0,0,.55);
  padding:16px 16px 18px;
  display:flex;
  flex-direction:column;
}

.ks .ks-qa__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.10);
}

.ks .ks-qa__title{
  font-size:14px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
}

.ks .ks-qa__close{
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(0,0,0,.35);
  color:rgba(255,255,255,.9);
  cursor:pointer;
  transition:.25s ease;
}

.ks .ks-qa__close:hover{
  border-color:var(--ks-accent);
  box-shadow:0 0 0 4px rgba(222,60,119,.12);
}

.ks .ks-qa__body{
  padding-top:14px;
  display:grid;
  gap:14px;
  overflow:auto;
}

.ks .ks-qa__product{
  display:grid;
  grid-template-columns:78px 1fr;
  gap:12px;
  align-items:center;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
}

.ks .ks-qa__img{
  width:78px;
  height:98px;
  border-radius:14px;
  overflow:hidden;
  background:rgba(255,255,255,.06);
}

.ks .ks-qa__img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.ks .ks-qa__info{
  min-width:0;
}

.ks .ks-qa__name{
  font-size:14px;
  line-height:1.25;
  margin:0;
  color:rgba(255,255,255,.92);
}

.ks .ks-qa__price{
  color:rgba(255,255,255,.72);
  font-size:13px;
  margin-top:6px;
}

.ks .ks-qa__variants{
  display:grid;
  gap:10px;
}

.ks .ks-qa__vlist{
  display:grid;
  gap:10px;
}

.ks .ks-qa__vrow{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease, opacity .12s ease;
  cursor:pointer;
}

.ks .ks-qa__vrow:hover{
  transform:translateY(-1px);
  border-color:rgba(222,60,119,.55);
  background:rgba(222,60,119,.08);
  box-shadow:0 8px 22px rgba(0,0,0,.35);
}

.ks .ks-qa__vrow input[type="radio"]{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.ks .ks-qa__vname{
  font-size:13px;
  color:rgba(255,255,255,.88);
}

.ks .ks-qa__vprice{
  font-size:13px;
  color:rgba(255,255,255,.65);
  white-space:nowrap;
}

.ks .ks-qa__vrow:focus-within{
  border-color:rgba(222,60,119,.85);
  box-shadow:0 0 0 3px rgba(222,60,119,.18), 0 10px 26px rgba(0,0,0,.45);
  background:rgba(222,60,119,.10);
}

@supports selector(:has(*)){
  .ks .ks-qa__vrow:has(input[type="radio"]:checked){
    border-color:rgba(222,60,119,.90);
    box-shadow:0 0 0 3px rgba(222,60,119,.20), 0 10px 26px rgba(0,0,0,.45);
    background:rgba(222,60,119,.10);
  }
}

.ks .ks-qa__vrow.is-disabled{
  cursor:pointer !important;
  opacity:.72;
  background:rgba(255,255,255,.02);
  border-color:rgba(255,255,255,.06);
  box-shadow:none;
  transform:none;
}

.ks .ks-qa__vrow.is-disabled:hover{
  opacity:1;
  transform:translateY(-1px);
  border-color:rgba(222,60,119,.65) !important;
  background:rgba(222,60,119,.08) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.45);
}

.ks .ks-qa__actions{
  margin-top:4px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  align-items:center;
}

.ks .ks-qa__actions .ks-btn{
  width:100%;
  justify-content:center;
}

.ks .ks-qa__msg{
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.72);
  font-size:13px;
}

@media (max-width:420px){
  .ks .ks-qa__panel{
    width:100vw;
    border-left:none;
  }
}

.ks-qa-open #ks-quickadd-root .ks-qa__notify-pill{
  margin-left:auto;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(222,60,119,.85);
  background:rgba(222,60,119,.18);
  color:#fff !important;
  opacity:1 !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:11px;
  line-height:1;
  gap:6px;
}

.ks-qa-open #ks-quickadd-root .ks-qa__notify-pill::before{
  content:"🔔";
  font-size:12px;
  line-height:1;
  transform:translateY(-1px);
}

.ks-qa-open #ks-quickadd-root .ks-qa__hintline{
  margin-top:10px;
  font-size:12.5px;
  opacity:.85;
}

.ks-qa-open #ks-quickadd-root .ks-qa__notify-btn{
  width:100%;
  justify-content:center;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(222,60,119,.85);
  background:rgba(222,60,119,.20);
  box-shadow:0 10px 28px rgba(0,0,0,.45);
}

.ks-qa-open #ks-quickadd-root .ks-qa__notify-btn:hover{
  background:rgba(222,60,119,.30);
}

/* Contact Notify styling */
body.ks-notify-contact .main-content{
  padding-top:24px;
}

body.ks-notify-contact #ks-notify-contact-head{
  max-width:720px;
  margin:0 auto 14px auto;
}

body.ks-notify-contact .ks-notify-head{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.35);
  border-radius:18px;
  padding:16px 16px;
  box-shadow:0 16px 44px rgba(0,0,0,.55);
}

body.ks-notify-contact .ks-notify-head__title{
  font-weight:800;
  font-size:18px;
  line-height:1.2;
}

body.ks-notify-contact .ks-notify-head__sub{
  margin-top:6px;
  opacity:.85;
}

body.ks-notify-contact .ks-notify-card{
  margin-top:12px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(222,60,119,.35);
  background:rgba(222,60,119,.10);
}

body.ks-notify-contact .ks-notify-card__label{
  opacity:.85;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:6px;
}

body.ks-notify-contact .ks-notify-card__product{
  font-weight:750;
}

body.ks-notify-contact .ks-notify-card__variant{
  margin-top:4px;
  opacity:.9;
}

body.ks-notify-contact .ks-notify-card__link{
  display:inline-block;
  margin-top:8px;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.25);
  opacity:.9;
}

body.ks-notify-contact .ks-notify-bullets{
  margin-top:12px;
  display:grid;
  gap:6px;
  opacity:.9;
}

body.ks-notify-contact .ks-notify-bullets__item{
  font-size:14px;
}

body.ks-notify-contact form[action^="/contact"]{
  max-width:720px;
  margin:0 auto;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.25);
  border-radius:18px;
  padding:16px;
  box-shadow:0 16px 44px rgba(0,0,0,.45);
}

body.ks-notify-contact .ks-notify-hide-field{
  display:none !important;
}

body.ks-notify-contact form[action^="/contact"] button[type="submit"],
body.ks-notify-contact form[action^="/contact"] input[type="submit"]{
  width:100%;
  border-radius:16px !important;
  font-weight:900 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
}

/* ======================================================
   KS WORLD FOCUS ENGINE
====================================================== */

.ks .ks-world .ks-world-item{
  position:relative;
  transition:transform .45s cubic-bezier(.22,.61,.36,1);
}

.ks .ks-world .ks-world-item.ks-focus{
  transform:scale(var(--ks-focus-scale, 1.03));
  z-index:6;
}

.ks .ks-world .ks-world-item:hover{
  transform:scale(1.02);
}

.ks .ks-world .ks-world-item:not(.ks-focus) .ks-card{
  opacity:.93;
  filter:saturate(.95) contrast(.99) brightness(1.05);
}

.ks .ks-world .ks-world-item:not(.ks-focus) .ks-card::after{
  content:'';
  position:absolute;
  inset:0;
  background:var(--ks-focus-overlay, rgba(0,0,0,.05));
  backdrop-filter:blur(.6px);
  pointer-events:none;
  border-radius:inherit;
  transition:opacity .25s ease;
}

.ks .ks-world .ks-world-item:hover .ks-card{
  opacity:1;
  filter:none;
}

.ks .ks-world .ks-world-item:hover .ks-card::after{
  opacity:0;
}

.ks .ks-world .ks-grid:hover .ks-world-item .ks-card{
  opacity:.88;
  filter:saturate(.92) contrast(.98) brightness(1.02);
}

.ks .ks-world .ks-grid:hover .ks-world-item .ks-card::after{
  opacity:1;
}

.ks .ks-world .ks-grid:hover .ks-world-item:hover .ks-card{
  opacity:1;
  filter:none;
}

.ks .ks-world .ks-grid:hover .ks-world-item:hover .ks-card::after{
  opacity:0;
}

.ks .ks-world .ks-grid:hover .ks-world-item:hover{
  z-index:8;
}

.ks .ks-world .ks-world-item.ks-focus .ks-card{
  opacity:1;
  filter:none;
}

.ks .ks-world .ks-grid:hover .ks-world-item.ks-focus .ks-card{
  opacity:.94;
  filter:saturate(.97) contrast(1) brightness(1.03);
}

.ks .ks-world .ks-world-item.ks-focus .ks-card::before{
  content:'';
  position:absolute;
  inset:var(--ks-focus-inset, -18px);
  background:radial-gradient(
    circle,
    color-mix(in srgb, var(--ks-accent) var(--ks-focus-strength, 30%), transparent),
    transparent var(--ks-focus-falloff, 72%)
  );
  z-index:-1;
  pointer-events:none;
}

/* World boost */
.ks .ks-world--vip{
  --ks-focus-scale:1.02;
  --ks-focus-inset:-16px;
  --ks-focus-strength:24%;
  --ks-focus-falloff:74%;
  --ks-focus-overlay:rgba(0,0,0,.04);
}

.ks .ks-world--dom{
  --ks-focus-scale:1.035;
  --ks-focus-inset:-20px;
  --ks-focus-strength:34%;
  --ks-focus-falloff:70%;
  --ks-focus-overlay:rgba(0,0,0,.07);
}

.ks .ks-world--dessous{
  --ks-focus-scale:1.015;
  --ks-focus-inset:-18px;
  --ks-focus-strength:30%;
  --ks-focus-falloff:73%;
  --ks-focus-overlay:rgba(0,0,0,.05);
}

.ks .ks-world--lust{
  --ks-focus-scale:1.04;
  --ks-focus-inset:-22px;
  --ks-focus-strength:38%;
  --ks-focus-falloff:68%;
  --ks-focus-overlay:rgba(0,0,0,.06);
}

.ks .ks-world-item.ks-focus .ks-card{
  border-color:color-mix(in srgb, var(--ks-accent) 35%, rgba(255,255,255,.12));
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--ks-accent) 22%, rgba(255,255,255,.06)),
    0 16px 48px rgba(0,0,0,.55);
}

/* ======================================================
   KS WORLD TRUST STRIP
====================================================== */

.ks .ks-world-trust{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin:22px 0 36px 0;
  font-size:13px;
  color:var(--ks-muted);
}

.ks .ks-world-trust span{
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}

/* ======================================================
   KS FOCUS PRODUCT META BOOST
====================================================== */

.ks .ks-card__trust-meta{
  display:none;
}

.ks .ks-world-item.ks-focus .ks-card__trust-meta{
  display:grid;
  gap:6px;
  margin-top:10px;
}

.ks .ks-world-item.ks-focus .ks-card__trust-meta span{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  line-height:1.25;
  color:rgba(255,255,255,.74);
}

.ks .ks-world-item.ks-focus .ks-card__meta{
  display:flex;
  flex-direction:column;
  gap:8px;
}

/* ======================================================
   KS WORLD NAVIGATOR
====================================================== */

.ks .ks-world-nav{
  padding:56px 0 48px;
  background:
    radial-gradient(circle at 50% -10%, rgba(222,60,119,.12), transparent 55%),
    linear-gradient(180deg,#120008,#1a000c);
  position:relative;
  isolation:isolate;
}

.ks .ks-world-nav::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,0)),
    radial-gradient(circle at 20% 30%, rgba(222,60,119,.05), transparent 40%);
}

.ks .ks-world-nav > .ks-container{
  position:relative;
  z-index:1;
}

.ks .ks-world-nav__head{
  display:grid;
  gap:10px;
  margin-bottom:22px;
}

.ks .ks-world-nav__title{
  margin:0;
  font-size:clamp(26px,2.6vw,38px);
  line-height:1.05;
  letter-spacing:-0.02em;
  color:rgba(255,255,255,.96);
  text-shadow:0 0 14px rgba(222,60,119,.12);
}

.ks .ks-world-nav__subtitle{
  margin:0;
  max-width:70ch;
  color:rgba(255,255,255,.62);
}

.ks .ks-world-nav__grid{
  display:grid;
  gap:20px;
  grid-template-columns:repeat(1,minmax(0,1fr));
}

@media(min-width:768px){
  .ks .ks-world-nav__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(min-width:1100px){
  .ks .ks-world-nav__grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    align-items:stretch;
  }
}

.ks .ks-world-nav__card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  overflow:hidden;
  border-radius:22px;
  text-decoration:none;
  color:inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
    linear-gradient(180deg, rgba(0,0,0,.00), rgba(0,0,0,.08));
  border:1px solid rgba(255,255,255,.10);
  transition:
    transform .32s cubic-bezier(.22,.61,.36,1),
    border-color .28s ease,
    box-shadow .28s ease,
    background .28s ease;
  isolation:isolate;
  min-height:420px;
  transform:translateY(0);
}

.ks .ks-world-nav__card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 12% 14%, color-mix(in srgb, var(--ks-world-nav-accent) 14%, transparent), transparent 34%);
  opacity:.95;
}

.ks .ks-world-nav__card:hover{
  transform:translateY(-6px);
  border-color:color-mix(in srgb, var(--ks-world-nav-accent) 48%, rgba(255,255,255,.14));
  box-shadow:
    0 18px 40px rgba(0,0,0,.46),
    0 0 0 1px color-mix(in srgb, var(--ks-world-nav-accent) 28%, transparent),
    0 0 18px color-mix(in srgb, var(--ks-world-nav-accent) 10%, transparent);
}

.ks .ks-world-nav__media{
  position:relative;
  aspect-ratio:4 / 5;
  overflow:hidden;
  background:#111;
}

.ks .ks-world-nav__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.26)),
    radial-gradient(circle at 50% 8%, color-mix(in srgb, var(--ks-world-nav-accent) 24%, transparent), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
  pointer-events:none;
  z-index:1;
}

.ks .ks-world-nav__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.02);
  transition:transform .45s cubic-bezier(.22,.61,.36,1);
}

.ks .ks-world-nav__card:hover .ks-world-nav__media img{
  transform:scale(1.06);
}

.ks .ks-world-nav__fallback{
  width:100%;
  height:100%;
  background:
    radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--ks-world-nav-accent) 22%, transparent), transparent 50%),
    radial-gradient(circle at 80% 80%, color-mix(in srgb, var(--ks-world-nav-accent) 14%, transparent), transparent 50%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
}

.ks .ks-world-nav__badge{
  position:absolute;
  top:12px;
  left:12px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#fff;
  background:color-mix(in srgb, var(--ks-world-nav-accent) 46%, rgba(0,0,0,.48));
  border:1px solid color-mix(in srgb, var(--ks-world-nav-accent) 42%, rgba(255,255,255,.14));
  box-shadow:
    0 8px 22px rgba(0,0,0,.28),
    0 0 12px color-mix(in srgb, var(--ks-world-nav-accent) 14%, transparent);
  backdrop-filter:blur(4px);
}

.ks .ks-world-nav__body{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:18px 18px 20px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.00), rgba(255,255,255,.025)),
    linear-gradient(180deg, rgba(0,0,0,.00), rgba(0,0,0,.22));
  flex:1 1 auto;
  position:relative;
  z-index:1;
}

.ks .ks-world-nav__card-title{
  margin:0;
  font-size:22px;
  line-height:1.04;
  letter-spacing:-0.02em;
  color:rgba(255,255,255,.96);
}

.ks .ks-world-nav__text{
  margin:0;
  font-size:14px;
  line-height:1.5;
  color:rgba(255,255,255,.74);
}

.ks .ks-world-nav__cta{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 15px;
  border-radius:999px;
  border:1px solid color-mix(in srgb, var(--ks-world-nav-accent) 50%, rgba(255,255,255,.12));
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--ks-world-nav-accent) 16%, rgba(0,0,0,.36)),
      color-mix(in srgb, var(--ks-world-nav-accent) 9%, rgba(0,0,0,.32))
    );
  color:rgba(255,255,255,.95);
  font-size:13px;
  font-weight:800;
  transition:
    border-color .25s ease,
    box-shadow .25s ease,
    background .25s ease,
    transform .25s ease;
  animation:ksWorldNavCtaGlow 4.8s ease-in-out infinite;
}

.ks .ks-world-nav__card:hover .ks-world-nav__cta{
  border-color:var(--ks-world-nav-accent);
  background:color-mix(in srgb, var(--ks-world-nav-accent) 16%, rgba(0,0,0,.38));
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--ks-world-nav-accent) 26%, rgba(255,255,255,.06)),
    0 10px 24px rgba(0,0,0,.28);
  animation-play-state:paused;
  transform:translateY(-1px);
}

/* =========================================================
   KS HEADER → WORLD CINEMATIC FADE
========================================================= */

.ks .ks-world:first-of-type{
  position:relative;
  padding-top:110px;
}

.ks .ks-world:first-of-type::before{
  content:"";
  position:absolute;
  top:-140px;
  left:0;
  right:0;
  height:180px;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(
      to bottom,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,.95) 20%,
      rgba(0,0,0,.75) 40%,
      rgba(0,0,0,.35) 70%,
      rgba(0,0,0,0) 100%
    );
}

@keyframes ksWorldNavCtaGlow{
  0%{
    box-shadow:
      0 0 0 1px color-mix(in srgb, var(--ks-world-nav-accent) 18%, rgba(255,255,255,.04)),
      0 0 0 rgba(0,0,0,0);
  }
  50%{
    box-shadow:
      0 0 0 1px color-mix(in srgb, var(--ks-world-nav-accent) 26%, rgba(255,255,255,.06)),
      0 0 14px color-mix(in srgb, var(--ks-world-nav-accent) 14%, transparent);
  }
  100%{
    box-shadow:
      0 0 0 1px color-mix(in srgb, var(--ks-world-nav-accent) 18%, rgba(255,255,255,.04)),
      0 0 0 rgba(0,0,0,0);
  }
}

/* ======================================================
   KS CINEMATIC HERO
====================================================== */

.ks .ks-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:56px 0 72px;
  background:
    radial-gradient(circle at 15% 20%, color-mix(in srgb, var(--ks-hero-accent) 18%, transparent), transparent 38%),
    radial-gradient(circle at 85% 30%, color-mix(in srgb, var(--ks-hero-accent) 10%, transparent), transparent 40%),
    linear-gradient(180deg, rgba(0,0,0,.98), rgba(10,0,6,.98));
  color:rgba(255,255,255,.94);
}

.ks .ks-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)),
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--ks-hero-accent) 12%, transparent), transparent 55%);
}

.ks .ks-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:140px;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(
      to bottom,
      rgba(10,0,6,0) 0%,
      rgba(10,0,6,.38) 38%,
      rgba(10,0,6,.76) 72%,
      rgba(10,0,6,.98) 100%
    );
}

.ks .ks-hero > .ks-container{
  position:relative;
  z-index:1;
}

.ks .ks-hero__grid{
  display:grid;
  gap:24px;
  align-items:center;
}

@media(min-width:980px){
  .ks .ks-hero__grid{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:34px;
  }
}

.ks .ks-hero__content{
  display:grid;
  gap:18px;
}

.ks .ks-hero__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.86);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ks .ks-hero__eyebrow-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--ks-hero-accent);
  box-shadow:0 0 14px color-mix(in srgb, var(--ks-hero-accent) 60%, transparent);
}

.ks .ks-hero__title{
  margin:0;
  font-size:clamp(36px,5vw,64px);
  line-height:.96;
  letter-spacing:-0.04em;
  color:#fff;
  text-shadow:0 0 18px color-mix(in srgb, var(--ks-hero-accent) 12%, transparent);
  max-width:11ch;
}

.ks .ks-hero__text{
  margin:0;
  max-width:56ch;
  font-size:16px;
  line-height:1.6;
  color:rgba(255,255,255,.72);
}

.ks .ks-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.ks .ks-hero__btn{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:210px;
  padding:13px 16px;
  border-radius:999px;
  text-decoration:none;
  transition:
    transform .22s ease,
    border-color .25s ease,
    background .25s ease,
    box-shadow .25s ease;
}

.ks .ks-hero__btn:hover{
  transform:translateY(-1px);
}

.ks .ks-hero__btn--primary{
  color:#fff;
  border:1px solid color-mix(in srgb, var(--ks-hero-accent) 55%, rgba(255,255,255,.12));
  background:color-mix(in srgb, var(--ks-hero-accent) 12%, rgba(0,0,0,.38));
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--ks-hero-accent) 18%, rgba(255,255,255,.04)),
    0 10px 28px rgba(0,0,0,.35);
}

.ks .ks-hero__btn--primary:hover{
  border-color:var(--ks-hero-accent);
  background:color-mix(in srgb, var(--ks-hero-accent) 18%, rgba(0,0,0,.42));
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--ks-hero-accent) 28%, rgba(255,255,255,.06)),
    0 12px 32px rgba(0,0,0,.42),
    0 0 16px color-mix(in srgb, var(--ks-hero-accent) 18%, transparent);
}

.ks .ks-hero__btn--secondary{
  color:rgba(255,255,255,.9);
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
}

.ks .ks-hero__btn--secondary:hover{
  border-color:rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);
}

.ks .ks-hero__trust{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:2px;
}

.ks .ks-hero__trust span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.74);
  font-size:12px;
}

.ks .ks-hero__visual{
  position:relative;
}

.ks .ks-hero__media{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  min-height:420px;
  background:#111;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.02),
    0 26px 60px rgba(0,0,0,.45);
}

.ks .ks-hero__media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.18)),
    radial-gradient(circle at 50% 10%, color-mix(in srgb, var(--ks-hero-accent) 18%, transparent), transparent 60%);
}

.ks .ks-hero__media img{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  object-position:center;
  display:block;
  transform:scale(1.02);
}

.ks .ks-hero__media--fallback{
  background:
    radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--ks-hero-accent) 16%, transparent), transparent 45%),
    radial-gradient(circle at 80% 80%, color-mix(in srgb, var(--ks-hero-accent) 10%, transparent), transparent 45%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
}

@media(max-width:979px){
  .ks .ks-hero{
    padding:42px 0 52px;
  }

  .ks .ks-hero__title{
    max-width:none;
  }

  .ks .ks-hero__btn{
    min-width:unset;
    width:100%;
  }

  .ks .ks-hero__media,
  .ks .ks-hero__media img{
    min-height:340px;
  }

  .ks .ks-hero::after{
    height:100px;
  }
}

/* Hero entrance */
.ks .ks-hero__eyebrow,
.ks .ks-hero__title,
.ks .ks-hero__text,
.ks .ks-hero__actions,
.ks .ks-hero__trust{
  opacity:0;
  transform:translateY(12px);
  animation:ksHeroFadeUp .9s cubic-bezier(.22,.61,.36,1) forwards;
}

.ks .ks-hero__eyebrow{ animation-delay:.15s; }
.ks .ks-hero__title{ animation-delay:.25s; }
.ks .ks-hero__text{ animation-delay:.4s; }
.ks .ks-hero__actions{ animation-delay:.55s; }
.ks .ks-hero__trust{ animation-delay:.7s; }

.ks .ks-hero__media{
  opacity:0;
  transform:scale(1.04);
  animation:ksHeroVisual .9s cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay:.35s;
}

@keyframes ksHeroFadeUp{
  0%{ opacity:0; transform:translateY(14px); }
  100%{ opacity:1; transform:translateY(0); }
}

@keyframes ksHeroVisual{
  0%{ opacity:0; transform:scale(1.06); }
  100%{ opacity:1; transform:scale(1.02); }
}

/* ======================================================
   FLOATING WORLD NAV
====================================================== */

.ks-floating-nav{
  position:fixed;
  right:24px;
  top:50%;
  transform:translateY(-50%) translateX(8px);
  z-index:90;
  display:flex;
  flex-direction:column;
  gap:26px;
  opacity:0;
  pointer-events:none;
  transition:opacity .35s ease, transform .35s ease;
}

.ks-floating-nav.is-visible{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}

.ks-float-item{
  width:130px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  text-decoration:none;
  color:rgba(255,255,255,.82);
  font-size:15px;
  line-height:1;
  letter-spacing:.03em;
}

.ks-label{
  min-width:80px;
  text-align:left;
  opacity:.68;
  transform:translateX(0);
  transition:opacity .25s ease, color .25s ease, transform .25s ease;
  white-space:nowrap;
  font-size:14px;
  line-height:1;
  letter-spacing:.015em;
  font-weight:400;
}

.ks-dot{
  position:relative;
  width:14px;
  height:14px;
  border-radius:50%;
  background:rgba(255,255,255,.34);
  border:1px solid rgba(255,255,255,.15);
  box-shadow:
    0 0 0 2px rgba(255,255,255,.035),
    0 0 8px rgba(255,255,255,.07);
  transition:
    transform .25s ease,
    background .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
  flex:0 0 14px;
}

.ks-dot::before{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  top:-26px;
  width:2px;
  height:26px;
  background:rgba(255,255,255,.09);
}

.ks-float-item:first-child .ks-dot::before{
  display:none;
}

.ks-float-item:hover{
  color:#fff;
}

.ks-float-item:hover .ks-dot{
  transform:scale(1.12);
  background:rgba(255,255,255,.92);
  border-color:rgba(255,255,255,.34);
  box-shadow:
    0 0 0 3px rgba(255,255,255,.05),
    0 0 10px rgba(255,255,255,.14),
    0 0 18px rgba(255,255,255,.08);
}

.ks-float-item:hover .ks-label{
  opacity:1;
}

.ks-float-item.is-active{
  color:#fff;
  font-weight:500;
}

.ks-float-item.is-active .ks-label{
  opacity:1;
  color:#fff;
}

.ks-float-item.is-active .ks-dot{
  transform:scale(1.22);
}

.ks-float-item.is-active[data-world="dessous"] .ks-dot{
  background:#DE3C77;
  border-color:rgba(222,60,119,.65);
  box-shadow:
    0 0 0 4px rgba(222,60,119,.10),
    0 0 14px rgba(222,60,119,.45),
    0 0 28px rgba(222,60,119,.28);
}

.ks-float-item.is-active[data-world="dessous"] .ks-dot::before{
  background:rgba(222,60,119,.55);
}

.ks-float-item.is-active[data-world="dom"] .ks-dot{
  background:#8C1414;
  border-color:rgba(140,20,20,.68);
  box-shadow:
    0 0 0 4px rgba(140,20,20,.12),
    0 0 14px rgba(140,20,20,.42),
    0 0 28px rgba(140,20,20,.26);
}

.ks-float-item.is-active[data-world="dom"] .ks-dot::before{
  background:rgba(140,20,20,.55);
}

.ks-float-item.is-active[data-world="lust"] .ks-dot{
  background:#FF0078;
  border-color:rgba(255,0,120,.68);
  box-shadow:
    0 0 0 4px rgba(255,0,120,.12),
    0 0 14px rgba(255,0,120,.48),
    0 0 28px rgba(255,0,120,.30);
}

.ks-float-item.is-active[data-world="lust"] .ks-dot::before{
  background:rgba(255,0,120,.58);
}

.ks-float-item.is-active[data-world="vip"] .ks-dot{
  background:#D4AF37;
  border-color:rgba(212,175,55,.70);
  box-shadow:
    0 0 0 4px rgba(212,175,55,.12),
    0 0 14px rgba(212,175,55,.40),
    0 0 28px rgba(212,175,55,.24);
}

.ks-float-item.is-active[data-world="vip"] .ks-dot::before{
  background:rgba(212,175,55,.56);
}

.ks-float-item.is-past{
  color:rgba(255,255,255,.9);
}

.ks-float-item.is-past .ks-label{
  opacity:.78;
}

.ks-float-item.is-past .ks-dot{
  background:#ffffff;
  border-color:rgba(255,255,255,.45);
  box-shadow:
    0 0 0 4px rgba(255,255,255,.08),
    0 0 16px rgba(255,255,255,.20);
}

.ks-float-item.is-past .ks-dot::before{
  background:rgba(255,255,255,.22);
}

@media (max-width:900px){
  .ks-floating-nav{
    display:none;
  }
}

/* ======================================================
   MOBILE WORLD NAV
====================================================== */

.ks-mobile-world-nav{
  display:none;
  transition:transform .35s ease, opacity .35s ease;
}

.ks-mobile-world-nav.is-hidden{
  transform:translateY(120%);
  opacity:0;
}

@media (max-width:900px){
  .ks-mobile-world-nav{
    position:fixed;
    left:12px;
    right:12px;
    bottom:74px;
    z-index:95;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:8px;
    padding:8px;
    border-radius:18px;
    background:rgba(8,8,8,.88);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.08);
    box-shadow:
      0 10px 30px rgba(0,0,0,.35),
      0 0 0 1px rgba(255,255,255,.03) inset;
  }

  .ks-mobile-world-link{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    border-radius:12px;
    text-decoration:none;
    color:rgba(255,255,255,.78);
    font-size:13px;
    line-height:1;
    letter-spacing:.02em;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.05);
    transition:all .25s ease;
    white-space:nowrap;
  }

  .ks-mobile-world-link:active,
  .ks-mobile-world-link:hover{
    color:#fff;
    background:rgba(255,255,255,.06);
  }

  .ks-mobile-world-link.is-active{
    color:#fff;
    background:rgba(222,60,119,.14);
    border-color:rgba(222,60,119,.38);
    box-shadow:
      0 0 0 1px rgba(222,60,119,.10) inset,
      0 0 16px rgba(222,60,119,.18);
  }

  .ks-mobile-world-link.is-past{
    color:rgba(255,255,255,.92);
    background:rgba(255,255,255,.06);
    border-color:rgba(255,255,255,.10);
  }
}

/* ======================================================
   WORLD FILTER PILLS
====================================================== */

.ks .ks-world-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 22px 0;
}

.ks .ks-world-filter{
  appearance:none;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.78);
  border-radius:999px;
  padding:9px 14px;
  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:.04em;
  cursor:pointer;
  transition:
    border-color .25s ease,
    background .25s ease,
    color .25s ease,
    box-shadow .25s ease,
    transform .18s ease;
}

.ks .ks-world-filter:hover{
  color:#fff;
  border-color:color-mix(in srgb, var(--ks-accent) 45%, rgba(255,255,255,.14));
  background:color-mix(in srgb, var(--ks-accent) 10%, rgba(255,255,255,.04));
  box-shadow:0 0 0 3px color-mix(in srgb, var(--ks-accent) 10%, transparent);
  transform:translateY(-1px);
}

.ks .ks-world-filter.is-active{
  color:#fff;
  border-color:color-mix(in srgb, var(--ks-accent) 60%, rgba(255,255,255,.14));
  background:color-mix(in srgb, var(--ks-accent) 14%, rgba(255,255,255,.04));
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--ks-accent) 22%, rgba(255,255,255,.04)),
    0 0 16px color-mix(in srgb, var(--ks-accent) 12%, transparent);
}

/* ======================================================
   FILTERED FOCUS RE-APPLY
====================================================== */

.ks .ks-world-item{
  order:0;
}

.ks .ks-world-item.ks-focus{
  order:-1;
}

/* ======================================================
   BESTSELLER STRIP
====================================================== */

.ks .ks-bestseller{
  background:var(--ks-bg, #000);
  color:var(--ks-text, rgba(255,255,255,.92));
  padding:56px 0 42px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.ks .ks-bestseller::before{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 18% 12%, color-mix(in srgb, var(--ks-accent) 18%, transparent), transparent 60%),
    radial-gradient(circle at 75% 35%, color-mix(in srgb, var(--ks-accent) 10%, transparent), transparent 65%);
}

.ks .ks-bestseller > .ks-container{
  position:relative;
  z-index:1;
}

.ks .ks-bestseller-cta{
  display:flex;
  justify-content:center;
  align-items:center;
  margin-top:36px;
}

.ks .ks-bestseller-cta .ks-cta{
  margin-top:0;
  min-width:260px;
  padding:14px 28px;
}

.ks .ks-bestseller-cta .ks-cta span:first-child{
  flex:0 1 auto;
}

.ks .ks-bestseller-cta .ks-cta span[aria-hidden="true"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transform:translateX(0);
  transition:transform .18s ease;
}

.ks .ks-bestseller-cta .ks-cta:hover span[aria-hidden="true"]{
  transform:translateX(2px);
}

/* ======================================================
   DISCOVERY LAYER
====================================================== */

.ks-discovery{
  padding:96px 0;
  background:var(--ks-bg, #000);
  color:var(--ks-text, rgba(255,255,255,.92));
  position:relative;
}

.ks-discovery__header{
  text-align:center;
  margin-bottom:54px;
}

.ks-discovery__header h2{
  margin:0;
  font-size:clamp(30px, 3vw, 46px);
  line-height:1.02;
  font-weight:750;
  letter-spacing:-0.03em;
  color:#fff;
}

.ks-discovery__header p{
  margin:14px auto 0;
  max-width:760px;
  color:var(--ks-muted, rgba(255,255,255,.65));
  font-size:16px;
  line-height:1.6;
}

.ks-discovery__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:30px;
}

.ks-discovery__card{
  position:relative;
  display:block;
  overflow:visible;
  border-radius:22px;
  background:#000;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.08);
  transition:
    transform .35s ease,
    border-color .35s ease,
    box-shadow .35s ease;
  isolation:isolate;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.02),
    0 18px 42px rgba(0,0,0,.38);
}

.ks-discovery__card::before{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:28px;
  opacity:.55;
  filter:blur(18px);
  z-index:-1;
  pointer-events:none;
  transition:
    opacity .35s ease,
    filter .35s ease,
    transform .35s ease;
}

.ks-discovery__card > *{
  position:relative;
  z-index:1;
}

.ks-discovery__card.world-dessous::before{
  background:rgba(222,60,119,.28);
}

.ks-discovery__card.world-dom::before{
  background:rgba(180,40,40,.28);
}

.ks-discovery__card.world-lust::before{
  background:rgba(255,120,40,.28);
}

.ks-discovery__card:hover{
  transform:translateY(-6px);
}

.ks-discovery__card.world-dessous:hover{
  border-color:rgba(222,60,119,.30);
  box-shadow:
    0 0 0 1px rgba(222,60,119,.12),
    0 26px 54px rgba(0,0,0,.46);
}

.ks-discovery__card.world-dom:hover{
  border-color:rgba(180,40,40,.30);
  box-shadow:
    0 0 0 1px rgba(180,40,40,.12),
    0 26px 54px rgba(0,0,0,.46);
}

.ks-discovery__card.world-lust:hover{
  border-color:rgba(255,120,40,.30);
  box-shadow:
    0 0 0 1px rgba(255,120,40,.12),
    0 26px 54px rgba(0,0,0,.46);
}

.ks-discovery__card.world-dessous:hover::before{
  opacity:.95;
  filter:blur(26px);
  transform:scale(1.02);
  background:rgba(222,60,119,.42);
}

.ks-discovery__card.world-dom:hover::before{
  opacity:.95;
  filter:blur(26px);
  transform:scale(1.02);
  background:rgba(180,40,40,.42);
}

.ks-discovery__card.world-lust:hover::before{
  opacity:.95;
  filter:blur(26px);
  transform:scale(1.02);
  background:rgba(255,120,40,.42);
}

.ks-discovery__image{
  position:relative;
  width:100%;
  height:460px;
  overflow:hidden;
  border-radius:22px;
  background:#000;
}

.ks-discovery__image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  transition:transform .7s ease;
  filter:brightness(.66) contrast(1.05) saturate(1.02);
}

.ks-discovery__card.world-dessous .ks-discovery__image img{
  transform:scale(1.02);
}

.ks-discovery__card.world-dessous:hover .ks-discovery__image img{
  transform:scale(1.08);
}

.ks-discovery__card.world-dom .ks-discovery__image img{
  transform:scale(1.16);
}

.ks-discovery__card.world-dom:hover .ks-discovery__image img{
  transform:scale(1.22);
}

.ks-discovery__card.world-lust .ks-discovery__image img{
  transform:scale(1.02);
}

.ks-discovery__card.world-lust:hover .ks-discovery__image img{
  transform:scale(1.08);
}

.ks-discovery__image::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:54%;
  background:linear-gradient(
    to top,
    rgba(0,0,0,.98) 0%,
    rgba(0,0,0,.72) 36%,
    rgba(0,0,0,.22) 72%,
    rgba(0,0,0,0) 100%
  );
  pointer-events:none;
  z-index:1;
}

.ks-discovery__content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:36px 24px 22px;
  color:#fff;
}

.ks-discovery__content .ks-badge{
  margin-bottom:10px;
}

.ks-discovery__content .ks-badge + h3{
  margin-top:0;
}
}

.ks-discovery__content h3{
  margin:0 0 8px;
  font-size:clamp(24px, 2vw, 32px);
  line-height:1.02;
  letter-spacing:-0.03em;
  color:#fff;
}

.ks-discovery__content p{
  margin:0;
  max-width:28ch;
  font-size:14px;
  line-height:1.5;
  color:rgba(255,255,255,.78);
}

.ks-discovery__cta{
  margin-top:16px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.34);
  color:#fff;
  font-size:13px;
  font-weight:800;
  line-height:1;
  letter-spacing:.04em;
  transition:
    border-color .25s ease,
    background .25s ease,
    box-shadow .25s ease,
    transform .18s ease;
}

.ks-discovery__cta span[aria-hidden="true"]{
  display:inline-block;
  transform:translateX(0);
  transition:transform .18s ease;
}

.ks-discovery__card:hover .ks-discovery__cta{
  transform:translateY(-1px);
}

.ks-discovery__card.world-dessous:hover .ks-discovery__cta{
  border-color:rgba(222,60,119,.45);
  box-shadow:0 0 0 3px rgba(222,60,119,.10);
}

.ks-discovery__card.world-dom:hover .ks-discovery__cta{
  border-color:rgba(180,40,40,.45);
  box-shadow:0 0 0 3px rgba(180,40,40,.10);
}

.ks-discovery__card.world-lust:hover .ks-discovery__cta{
  border-color:rgba(255,120,40,.45);
  box-shadow:0 0 0 3px rgba(255,120,40,.10);
}

.ks-discovery__card:hover .ks-discovery__cta span[aria-hidden="true"]{
  transform:translateX(2px);
}

@media(max-width:990px){
  .ks-discovery{
    padding:74px 0;
  }

  .ks-discovery__grid{
    grid-template-columns:1fr;
    gap:20px;
  }

  .ks-discovery__image{
    height:340px;
  }

  .ks-discovery__content{
    padding:20px 18px 18px;
  }

  .ks-discovery__content h3{
    font-size:28px;
  }

  .ks-discovery__content p{
    max-width:none;
  }
}

/* ======================================================
   WORLD TRIGGER
====================================================== */

.ks .ks-world-trigger{
  padding:8px 0 28px;
  background:transparent;
}

.ks .ks-world-trigger__title{
  margin:0 0 16px;
  font-size:22px;
  line-height:1.08;
  color:#fff;
  letter-spacing:-0.02em;
}

.ks .ks-world-trigger__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  background:transparent;
}

.ks .ks-world-trigger__item{
  display:block;
  padding:20px 22px;
  border-radius:18px;
  text-decoration:none;
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01)),
    rgba(0,0,0,.72);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.02),
    0 12px 28px rgba(0,0,0,.30);
  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease,
    background .25s ease;
}

.ks .ks-world-trigger__item:hover{
  transform:translateY(-3px);
  border-color:color-mix(in srgb, var(--ks-accent) 46%, rgba(255,255,255,.12));
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--ks-accent) 20%, rgba(255,255,255,.04)),
    0 14px 34px rgba(0,0,0,.36);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--ks-accent) 8%, rgba(255,255,255,.03)), rgba(255,255,255,.015)),
    rgba(0,0,0,.30);
}

.ks .ks-world-trigger__eyebrow{
  display:block;
  margin-bottom:6px;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
}

.ks .ks-world-trigger__item h4{
  margin:0 0 6px;
  font-size:20px;
  line-height:1.06;
  letter-spacing:-0.02em;
  color:#fff;
}

.ks .ks-world-trigger__item p{
  margin:0;
  font-size:14px;
  line-height:1.5;
  color:rgba(255,255,255,.72);
}

/* ======================================================
   DESIRE ENGINE
====================================================== */

.ks .ks-desire{
  padding:6px 0 30px;
}

.ks .ks-desire__head{
  display:grid;
  gap:10px;
  margin-bottom:18px;
}

.ks .ks-desire__title{
  margin:0;
  font-size:clamp(24px,2.2vw,34px);
  line-height:1.04;
  letter-spacing:-0.02em;
  color:#fff;
}

.ks .ks-desire__subtitle{
  margin:0;
  max-width:70ch;
  font-size:14px;
  line-height:1.6;
  color:rgba(255,255,255,.68);
}

.ks .ks-desire__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:28px;
  margin-top:30px;
}

.ks .ks-desire__item{
  position:relative;
  display:block;
  background:#0a0a0a;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.05);
  transition:all .35s ease;
  transform:translateY(0);
  color:#fff;
  text-decoration:none;
}

.ks .ks-desire__item:hover{
  transform:translateY(-6px);
  border-color:color-mix(in srgb,var(--ks-accent) 50%,rgba(255,255,255,.12));
  box-shadow:
    0 0 0 1px rgba(222,60,119,.25),
    0 10px 40px rgba(222,60,119,.15);
}

.ks .ks-desire__media{
  position:relative;
  aspect-ratio:1 / 1;
  overflow:hidden;
  background:#ffffff;
  border-radius:16px;
}

.ks .ks-desire__media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
  padding:6px;
  background:linear-gradient(180deg,#f7f7f7,#efefef);
  filter:saturate(1.05) contrast(1.04);
  transition:transform .6s ease;
}

.ks .ks-desire__item:hover .ks-desire__media img{
  transform:scale(1.05);
}

.ks .ks-desire__eyebrow{
  position:absolute;
  top:14px;
  left:14px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  padding:6px 12px;
  border-radius:30px;
  font-size:12px;
  font-weight:800;
  background:rgba(0,0,0,.65);
  backdrop-filter:blur(8px);
  color:#fff;
  letter-spacing:.02em;
  animation:ksPulse 4s infinite;
}

@keyframes ksPulse{
  0%{ box-shadow:0 0 0 0 rgba(222,60,119,.4); }
  70%{ box-shadow:0 0 0 10px rgba(222,60,119,0); }
  100%{ box-shadow:0 0 0 0 rgba(222,60,119,0); }
}

.ks .ks-desire__body{
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
  padding:18px 20px 20px;
}

.ks .ks-desire__item h4{
  margin:0;
  font-size:15px;
  font-weight:600;
  line-height:1.35;
  color:#fff;
}

.ks .ks-desire__body p{
  margin:0 0 14px;
  font-size:13px;
  line-height:1.5;
  opacity:.7;
  color:rgba(255,255,255,.74);
  flex:1;
}

.ks .ks-desire__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:auto;
}

.ks .ks-desire__price{
  font-weight:600;
  color:#ff6b9a;
  font-size:15px;
}

.ks .ks-desire__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  padding:8px 14px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.15);
  transition:all .25s ease;
  color:#fff;
}

.ks .ks-desire__item:hover .ks-desire__cta{
  border-color:#DE3C77;
  color:#fff;
  background:#DE3C77;
}

@media(max-width:990px){
  .ks .ks-desire__grid{
    grid-template-columns:1fr;
  }
}

/* ======================================================
   MOBILE CARD FOOTER FIX
====================================================== */

@media (max-width:640px){
  .ks .ks-card__footer,
  .ks-card__footer{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    align-items:stretch;
    padding:0 12px 12px;
  }

  .ks .ks-card__footer > *,
  .ks-card__footer > *{
    flex:none;
    width:100%;
    min-width:0;
  }

  .ks .ks-card__footer .ks-btn,
  .ks .ks-card__footer .ks-quickadd,
  .ks .ks-card__footer .ks-quickadd .ks-btn,
  .ks-card__footer .ks-btn,
  .ks-card__footer .ks-quickadd,
  .ks-card__footer .ks-quickadd .ks-btn{
    width:100%;
    min-width:0;
  }

  .ks .ks-btn,
  .ks-btn{
    justify-content:center;
    text-align:center;
    white-space:nowrap;
    font-size:12px;
    padding:10px 12px;
    min-height:42px;
  }

  .ks .ks-card__footer a.ks-btn{
    opacity:.9;
  }
}

/* ======================================================
   MOBILE FOCUS CARD BOOST
====================================================== */

@media (max-width:640px){
  .ks .ks-world-item.ks-focus{
    margin-bottom:14px;
  }

  .ks .ks-world-item.ks-focus .ks-card{
    border-color:color-mix(in srgb, var(--ks-accent) 38%, rgba(255,255,255,.14));
    box-shadow:
      0 0 0 1px color-mix(in srgb, var(--ks-accent) 18%, rgba(255,255,255,.06)),
      0 18px 48px rgba(0,0,0,.55);
  }

  .ks .ks-world-item.ks-focus .ks-card__media{
    aspect-ratio:4 / 5;
  }

  .ks .ks-world-item.ks-focus .ks-card__title{
    font-size:16px;
  }

  .ks .ks-world-item.ks-focus .ks-price{
    font-size:18px;
    font-weight:800;
  }

  .ks .ks-world-item.ks-focus .ks-card__footer{
    margin-top:8px;
  }

  .ks .ks-world-item.ks-focus .ks-card::after{
    content:"";
    position:absolute;
    inset:-18px;
    background:
      radial-gradient(
        circle,
        color-mix(in srgb, var(--ks-accent) 22%, transparent),
        transparent 70%
      );
    z-index:-1;
    pointer-events:none;
    opacity:.9;
  }
}

/* ======================================================
   COLLECTION PAGE DARK FIX
====================================================== */

.template-collection .page-container,
.template-collection .main-content,
.template-collection .shopify-section,
.template-collection .collection-content,
.template-collection #CollectionAjaxContent,
.template-collection .collection-grid__wrapper,
.template-collection .collection-filter,
.template-collection .grid__item--content,
.template-collection .grid__item--sidebar,
.template-collection .collection-filter__item,
.template-collection .collection-filter__sort-container,
.template-collection .collection-filter select,
.template-collection .shopify-section-group-footer-group,
.template-collection .site-footer{
  background:#000 !important;
  color:rgba(255,255,255,.92);
}

.template-collection .collection-filter{
  border-top:0 !important;
  border-bottom:0 !important;
}

.template-collection .collection-filter select{
  border:1px solid rgba(255,255,255,.12) !important;
  color:rgba(255,255,255,.92) !important;
}

.template-product .page-container,
.template-product .main-content,
.template-product .shopify-section,
.template-page .page-container,
.template-page .main-content,
.template-page .shopify-section,
.template-page-contact .page-container,
.template-page-contact .main-content,
.template-page-contact .shopify-section{
  background:initial !important;
}

.template-collection .page-width,
.template-collection .grid{
  background:transparent;
}

/* ======================================================
   KS COLLECTION GRID
====================================================== */

.ks-collection-grid-wrap{
  width:100%;
}

.collection-grid__wrapper.ks-collection-grid-wrap{
  align-items:start;
}

.ks-collection-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:22px;
  align-items:start;
  align-content:start;
  margin-top:18px;
}

.ks-collection-item{
  min-width:0;
}

.ks-collection-item .ks-card{
  height:100%;
}

.ks-collection-item .ks-card__media{
  padding:20px;
}

.ks-collection-filter{
  margin-bottom:22px;
}

.ks-collection-grid--flush-mobile{
  margin-left:0;
  margin-right:0;
}

@media screen and (min-width:769px){
  .collection-grid__wrapper.ks-collection-grid-wrap{
    column-gap:24px;
  }

  .ks-collection-grid{
    padding-top:4px;
  }
}

@media screen and (max-width:1199px){
  .ks-collection-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:20px;
  }
}

@media screen and (max-width:767px){
  .ks-collection-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
    margin-top:14px;
    padding-top:0;
  }

  .ks-card__media{
    padding:14px;
    border-radius:14px 14px 0 0;
  }
}

@media screen and (max-width:479px){
  .ks-collection-grid{
    gap:12px;
  }
}

/* ======================================================
   FLOAT NAV WRAPPER FIX
====================================================== */

.ks-float-nav-section{
  position:relative;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  line-height:0 !important;
  background:transparent !important;
  overflow:visible !important;
}

.ks-floating-nav,
.ks-mobile-world-nav{
  background:transparent !important;
}

.shopify-section:has(.ks-float-nav-section),
.shopify-section[class*="ks-float"],
.shopify-section[class*="float-nav"],
.shopify-section[class*="floating-nav"]{
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  overflow:visible !important;
}

.main-content > .shopify-section:last-of-type{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

/* ======================================================
   KS × RESTOCK ROCKET OOS CLEANUP
====================================================== */

.ks-card.is-oos .restock-rocket-button-collection,
.ks-card.is-oos .restock-rocket-button,
.ks-card.is-oos button.restock-rocket-button-collection,
.ks-card.is-oos button.restock-rocket-button{
  display:none !important;
}

/* ======================================================
   KS COLLECTION FILTER SYSTEM
====================================================== */

.ks-collection-filter{
  position:sticky;
  top:0;
  z-index:20;
  background:#000;
  padding:12px 0 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

@supports (backdrop-filter: blur(10px)){
  .ks-collection-filter{
    backdrop-filter:blur(10px);
    background:rgba(0,0,0,.78);
  }
}

.ks-filter-header{
  display:grid;
  grid-template-columns:auto 180px 1fr;
  align-items:center;
  gap:14px;
}

.ks-filter-header-left{
  display:flex;
  align-items:center;
  min-width:0;
}

.ks-filter-header-right{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:16px;
  min-width:0;
}

.ks-product-count{
  font-size:14px;
  line-height:34px;
  letter-spacing:.04em;
  color:rgba(255,255,255,.92);
  white-space:nowrap;
}

.ks-collection-filter .collection-filter__item--sort{
  display:flex;
  align-items:center;
  width:180px;
  min-width:180px;
}

.ks-collection-filter .collection-filter__sort-container{
  position:relative;
  width:100%;
}

.ks-collection-filter .collection-filter__sort-container::after{
  content:"";
  position:absolute;
  right:12px;
  top:50%;
  width:8px;
  height:8px;
  margin-top:-6px;
  border-right:1.5px solid rgba(255,255,255,.82);
  border-bottom:1.5px solid rgba(255,255,255,.82);
  transform:rotate(45deg);
  pointer-events:none;
}

.ks-collection-filter .collection-filter__sort-container select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  width:100%;
  min-width:180px;
  height:36px;
  padding:0 34px 0 12px;
  background:#000;
  color:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.14);
  border-radius:0;
  font-size:12px;
  font-weight:500;
  letter-spacing:.06em;
  line-height:36px;
  box-shadow:none;
  outline:none;
}

.ks-collection-filter .collection-filter__sort-container select:hover{
  border-color:rgba(255,255,255,.28);
}

.ks-collection-filter .collection-filter__sort-container select:focus{
  border-color:#DE3C77;
  box-shadow:0 0 0 1px rgba(222,60,119,.25);
}

.ks-collection-filter .collection-filter__sort-container select option{
  background:#000;
  color:#fff;
}

.ks-active-filters{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin-top:6px;
}

.ks-active-filters.ks-filter-bar{
  margin-top:12px;
}

.ks-active-filters__list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  min-width:0;
}

.ks-filter-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  height:30px;
  padding:5px 12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.03);
  color:#fff;
  font-size:11px;
  font-weight:600;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.ks-filter-chip:hover{
  border-color:rgba(222,60,119,.7);
  box-shadow:0 0 10px rgba(222,60,119,.22);
  background:rgba(255,255,255,.05);
}

.ks-filter-chip__remove{
  font-size:13px;
  line-height:1;
  opacity:.8;
}

.ks-active-filters__reset{
  flex-shrink:0;
  margin-left:8px;
  padding-top:0;
}

.ks-filter-reset{
  color:rgba(255,255,255,.72);
  font-size:11px;
  line-height:30px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
}

.ks-filter-reset:hover{
  color:#DE3C77;
}

@media screen and (max-width:990px){
  .ks-filter-header{
    grid-template-columns:1fr;
    gap:14px;
  }

  .ks-collection-filter .collection-filter__item--sort{
    width:100%;
    min-width:0;
  }

  .ks-collection-filter .collection-filter__sort-container select{
    min-width:0;
    width:100%;
  }

  .ks-active-filters{
    flex-direction:column;
    align-items:flex-start;
  }

  .ks-active-filters__reset{
    margin-left:0;
  }
}

@media screen and (max-width:768px){
  .ks-filter-header{
    align-items:flex-start;
  }

  .ks-filter-header-right{
    gap:10px;
  }

  .ks-product-count{
    font-size:14px;
    line-height:34px;
  }

  .ks-filter-chip{
    font-size:10px;
    padding:7px 12px;
  }

  .ks-collection-filter .collection-filter__sort-container select{
    height:34px;
    line-height:34px;
    font-size:11px;
  }
}

/* ======================================================
   KS SIDEBAR FILTER REFINEMENT
====================================================== */

.collection-sidebar,
.collection-sidebar .collapsible-content,
.collection-sidebar .collapsible-content__inner{
  background:transparent;
}

.collection-sidebar .collapsible-trigger{
  padding:14px 0;
  border-bottom:1px solid rgba(222,60,119,.9);
  background:transparent;
}

.collection-sidebar .collapsible-trigger-btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  color:#fff;
  font-size:13px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  line-height:1.2;
}

.collection-sidebar .collapsible-trigger-btn:hover{
  color:#fff;
  opacity:.9;
}

.collection-sidebar .collapsible-content__inner{
  padding:14px 0 12px;
}

.collection-sidebar .tag-list,
.collection-sidebar .filter-list,
.collection-sidebar .filter-group{
  margin:0;
  padding:0;
}

.collection-sidebar li,
.collection-sidebar .filter-item{
  margin:0 0 10px 0;
  padding:0;
  list-style:none;
}

.collection-sidebar label,
.collection-sidebar .filter-item__title,
.collection-sidebar .tag-list a{
  color:rgba(255,255,255,.88);
  font-size:14px;
  line-height:1.35;
  text-decoration:none;
}

.collection-sidebar .count,
.collection-sidebar .tag-count{
  color:rgba(255,255,255,.72);
}

.collection-sidebar a:hover,
.collection-sidebar label:hover{
  color:#fff;
}

.collection-sidebar .collapsible-trigger__icon,
.collection-sidebar .icon-chevron-down,
.collection-sidebar .icon-chevron-up{
  color:#fff;
  opacity:.9;
}

.collection-sidebar .collapsible-trigger.is-open .collapsible-trigger-btn{
  color:#fff;
}

/* ======================================================
   KS SIDEBAR ACTIVE STATES
====================================================== */

.collection-sidebar input:checked + label,
.collection-sidebar label.is-active,
.collection-sidebar .active,
.collection-sidebar .tag--active,
.collection-sidebar a.current,
.collection-sidebar .collection-filter__active{
  color:#fff;
  font-weight:700;
}

.collection-sidebar input:checked + label,
.collection-sidebar label.is-active,
.collection-sidebar .tag--active,
.collection-sidebar a.current{
  position:relative;
  padding-left:14px;
}

.collection-sidebar input:checked + label::before,
.collection-sidebar label.is-active::before,
.collection-sidebar .tag--active::before,
.collection-sidebar a.current::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:6px;
  height:6px;
  border-radius:50%;
  background:#DE3C77;
  box-shadow:0 0 8px rgba(222,60,119,.55);
}

.collection-sidebar input:checked + label .count,
.collection-sidebar label.is-active .count,
.collection-sidebar .tag--active .tag-count,
.collection-sidebar a.current .count{
  color:#fff;
}

.collection-sidebar li:has(input:checked),
.collection-sidebar li:has(.tag--active),
.collection-sidebar li:has(a.current){
  background:rgba(255,255,255,.03);
  border-radius:8px;
  padding:4px 8px;
  margin-left:-8px;
  margin-right:-8px;
}

/* ======================================================
   KS ACTIVE FILTER TAGS (SIDEBAR)
====================================================== */

.collection-sidebar .tag--active,
.collection-sidebar a.current{
  background:#DE3C77;
  color:#fff;
  border-radius:6px;
  padding:6px 10px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-weight:600;
}

.collection-sidebar .tag--active:hover,
.collection-sidebar a.current:hover{
  background:#c43266;
}

.collection-sidebar .tag--active .icon,
.collection-sidebar a.current .icon{
  opacity:.85;
}

.collection-sidebar .tag--active::after,
.collection-sidebar a.current::after{
  content:"×";
  font-size:12px;
  margin-left:4px;
  opacity:.8;
}

/* ======================================================
   KS COLOR FILTER SWATCHES
====================================================== */

.collection-sidebar .filter-group--farbe label,
.collection-sidebar .filter-group--color label,
.collection-sidebar .filter-group--farbe .filter-item{
  display:flex;
  align-items:center;
  gap:10px;
}

.collection-sidebar .filter-group--farbe input[type="checkbox"],
.collection-sidebar .filter-group--color input[type="checkbox"]{
  appearance:none;
  -webkit-appearance:none;
  width:18px;
  height:18px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.35);
  background:#222;
  position:relative;
  cursor:pointer;
}

.collection-sidebar .filter-group--farbe input[type="checkbox"]:checked,
.collection-sidebar .filter-group--color input[type="checkbox"]:checked{
  border-color:#DE3C77;
  box-shadow:0 0 0 2px rgba(222,60,119,.25);
}

.collection-sidebar .filter-group--farbe input[type="checkbox"]::after,
.collection-sidebar .filter-group--color input[type="checkbox"]::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:50%;
  background:currentColor;
}

.collection-sidebar label:has(input[value*="Blau"]) input{ color:#2b6cff; }
.collection-sidebar label:has(input[value*="Braun"]) input{ color:#8b5a3c; }
.collection-sidebar label:has(input[value*="Bronze"]) input{ color:#cd7f32; }
.collection-sidebar label:has(input[value*="Gelb"]) input{ color:#f2d400; }
.collection-sidebar label:has(input[value*="Gold"]) input{ color:#d4af37; }
.collection-sidebar label:has(input[value*="Grau"]) input{ color:#777; }
.collection-sidebar label:has(input[value*="Grün"]) input{ color:#2aa65a; }
.collection-sidebar label:has(input[value*="Lila"]) input{ color:#8c4fd9; }
.collection-sidebar label:has(input[value*="Orange"]) input{ color:#ff7a00; }
.collection-sidebar label:has(input[value*="Pink"]) input{ color:#ff3fa0; }
.collection-sidebar label:has(input[value*="Rot"]) input{ color:#d32626; }
.collection-sidebar label:has(input[value*="Schwarz"]) input{ color:#111; }
.collection-sidebar label:has(input[value*="Weiss"]) input{ color:#eee; border-color:#ccc; }

/* ======================================================
   KS QUICK FILTER STRIP
====================================================== */

.ks-quick-filters{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  margin-top:12px;
  margin-bottom:18px;
}

.ks-quick-filter-group{
  display:flex;
  align-items:center;
  gap:10px;
}

.ks-quick-filter-title{
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.6);
}

.ks-quick-filter-options{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.ks-quick-filter-option{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:20px;
  font-size:11px;
  letter-spacing:.05em;
  color:rgba(255,255,255,.9);
  text-decoration:none;
  transition:all .2s ease;
}

.ks-quick-filter-option:hover{
  border-color:#DE3C77;
  color:#fff;
}

.ks-quick-filter-option.is-active{
  border-color:#DE3C77;
  background:rgba(222,60,119,.18);
}

/* ======================================================
   KS QUICK PRICE FILTER
====================================================== */

.ks-quick-price{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.ks-quick-price-fields{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.ks-quick-price-field{
  display:flex;
  align-items:center;
}

.ks-quick-price-input{
  width:96px;
  height:34px;
  padding:0 10px;
  background:#000;
  color:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.14);
  border-radius:0;
  font-size:12px;
  letter-spacing:.05em;
  line-height:34px;
  box-shadow:none;
  outline:none;
}

.ks-quick-price-input:hover{
  border-color:rgba(255,255,255,.28);
}

.ks-quick-price-input:focus{
  border-color:#DE3C77;
  box-shadow:0 0 0 1px rgba(222,60,119,.25);
}

.ks-quick-price-sep{
  color:rgba(255,255,255,.55);
  font-size:12px;
  line-height:1;
}

.ks-quick-price-submit{
  height:34px;
  padding:0 12px;
  background:#000;
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  border-radius:0;
  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  transition:border-color .2s ease, color .2s ease;
}

.ks-quick-price-submit:hover{
  border-color:#DE3C77;
  color:#DE3C77;
}

@media screen and (max-width:768px){
  .ks-quick-price{
    width:100%;
  }

  .ks-quick-price-fields{
    width:100%;
  }

  .ks-quick-price-input{
    width:84px;
  }
}

/* ======================================================
   KS SIDEBAR PRICE FILTER
====================================================== */

.collection-sidebar .price-range,
.collection-sidebar .price-range__display-wrapper,
.collection-sidebar .price-range__fields,
.collection-sidebar .price-range__inputs{
  width:100%;
}

.collection-sidebar .price-range{
  padding-top:6px;
}

.collection-sidebar .price-range__display-wrapper,
.collection-sidebar .price-range__fields,
.collection-sidebar .price-range__inputs{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.collection-sidebar .price-range__display,
.collection-sidebar .price-range__field,
.collection-sidebar .price-range__input-group{
  flex:1 1 0;
  font-size:12px;
  letter-spacing:.04em;
  color:rgba(255,255,255,.9);
}

.collection-sidebar .price-range__slider,
.collection-sidebar .range-slider,
.collection-sidebar .noUi-target{
  width:100%;
  margin-top:6px;
  margin-bottom:8px;
}

.collection-sidebar .price-range__slider::before,
.collection-sidebar .range-slider::before{
  content:"Preisbereich";
  display:block;
  margin-bottom:8px;
  font-size:11px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.55);
  pointer-events:none;
}

.collection-sidebar .price-range input[type="range"],
.collection-sidebar input[type="range"][name*="filter.v.price"],
.collection-sidebar input[type="range"][name*="filter.p.price"]{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:5px;
  background:rgba(255,255,255,.18);
  border-radius:999px;
  outline:none;
  cursor:pointer;
}

.collection-sidebar .price-range input[type="range"]::-webkit-slider-thumb,
.collection-sidebar input[type="range"][name*="filter.v.price"]::-webkit-slider-thumb,
.collection-sidebar input[type="range"][name*="filter.p.price"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#DE3C77;
  border:2px solid #fff;
  box-shadow:0 0 0 4px rgba(222,60,119,.18);
  cursor:pointer;
}

.collection-sidebar .price-range input[type="range"]::-moz-range-thumb,
.collection-sidebar input[type="range"][name*="filter.v.price"]::-moz-range-thumb,
.collection-sidebar input[type="range"][name*="filter.p.price"]::-moz-range-thumb{
  width:18px;
  height:18px;
  border-radius:50%;
  background:#DE3C77;
  border:2px solid #fff;
  box-shadow:0 0 0 4px rgba(222,60,119,.18);
  cursor:pointer;
}

.collection-sidebar .price-range input[type="range"]::-moz-range-track,
.collection-sidebar input[type="range"][name*="filter.v.price"]::-moz-range-track,
.collection-sidebar input[type="range"][name*="filter.p.price"]::-moz-range-track{
  height:5px;
  background:rgba(255,255,255,.18);
  border-radius:999px;
}
/* ======================================================
   KS PRICE SLIDER FIX
====================================================== */

.collection-sidebar input[type="range"]{
  position:relative;
  z-index:5;
  pointer-events:auto;
}

/* Track */
.collection-sidebar input[type="range"]::-webkit-slider-runnable-track{
  height:6px;
  background:rgba(255,255,255,.18);
  border-radius:999px;
}

.collection-sidebar input[type="range"]::-moz-range-track{
  height:6px;
  background:rgba(255,255,255,.18);
  border-radius:999px;
}

/* Thumb */
.collection-sidebar input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#DE3C77;
  border:2px solid #fff;
  box-shadow:0 0 0 4px rgba(222,60,119,.18);
  margin-top:-6px;
  position:relative;
  z-index:10;
  cursor:pointer;
}

.collection-sidebar input[type="range"]::-moz-range-thumb{
  width:18px;
  height:18px;
  border-radius:50%;
  background:#DE3C77;
  border:2px solid #fff;
  box-shadow:0 0 0 4px rgba(222,60,119,.18);
  position:relative;
  z-index:10;
  cursor:pointer;
}
/* ======================================================
   KS PREMIUM PRICE FILTER
====================================================== */

.collection-sidebar .price-range{
  padding-top:8px;
}

.collection-sidebar .price-range__display-wrapper{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.collection-sidebar .price-range__display{
  font-size:12px;
  font-weight:700;
  letter-spacing:.03em;
  color:rgba(255,255,255,.94);
}

.collection-sidebar .price-range__slider,
.collection-sidebar .range-slider{
  position:relative;
  width:100%;
  margin-top:0;
  padding-top:18px;
  overflow:visible;
}

.collection-sidebar .price-range__slider::before,
.collection-sidebar .range-slider::before{
  content:"Preisbereich";
  position:absolute;
  top:0;
  left:0;
  display:block;
  margin:0;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
  pointer-events:none;
  z-index:1;
}

.collection-sidebar .price-range input[type="range"],
.collection-sidebar input[type="range"][name*="filter.v.price"],
.collection-sidebar input[type="range"][name*="filter.p.price"]{
  -webkit-appearance:none;
  appearance:none;
  position:relative;
  z-index:5;
  width:100%;
  height:6px;
  margin:0;
  border-radius:999px;
  outline:none;
  cursor:pointer;
  background:
    linear-gradient(90deg,
      rgba(222,60,119,.95) 0%,
      rgba(222,60,119,.95) var(--ks-range-progress, 0%),
      rgba(255,255,255,.18) var(--ks-range-progress, 0%),
      rgba(255,255,255,.18) 100%);
  pointer-events:auto;
}

.collection-sidebar .price-range input[type="range"]::-webkit-slider-runnable-track,
.collection-sidebar input[type="range"][name*="filter.v.price"]::-webkit-slider-runnable-track,
.collection-sidebar input[type="range"][name*="filter.p.price"]::-webkit-slider-runnable-track{
  height:6px;
  background:transparent;
  border-radius:999px;
}

.collection-sidebar .price-range input[type="range"]::-moz-range-track,
.collection-sidebar input[type="range"][name*="filter.v.price"]::-moz-range-track,
.collection-sidebar input[type="range"][name*="filter.p.price"]::-moz-range-track{
  height:6px;
  background:rgba(255,255,255,.18);
  border-radius:999px;
}

.collection-sidebar .price-range input[type="range"]::-webkit-slider-thumb,
.collection-sidebar input[type="range"][name*="filter.v.price"]::-webkit-slider-thumb,
.collection-sidebar input[type="range"][name*="filter.p.price"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#DE3C77;
  border:2px solid #fff;
  box-shadow:
    0 0 0 4px rgba(222,60,119,.16),
    0 0 14px rgba(222,60,119,.28);
  margin-top:-6px;
  position:relative;
  z-index:10;
  cursor:pointer;
}

.collection-sidebar .price-range input[type="range"]::-moz-range-thumb,
.collection-sidebar input[type="range"][name*="filter.v.price"]::-moz-range-thumb,
.collection-sidebar input[type="range"][name*="filter.p.price"]::-moz-range-thumb{
  width:18px;
  height:18px;
  border-radius:50%;
  background:#DE3C77;
  border:2px solid #fff;
  box-shadow:
    0 0 0 4px rgba(222,60,119,.16),
    0 0 14px rgba(222,60,119,.28);
  cursor:pointer;
}

.collection-sidebar .price-range input[type="range"]:hover::-webkit-slider-thumb,
.collection-sidebar input[type="range"][name*="filter.v.price"]:hover::-webkit-slider-thumb,
.collection-sidebar input[type="range"][name*="filter.p.price"]:hover::-webkit-slider-thumb{
  box-shadow:
    0 0 0 5px rgba(222,60,119,.18),
    0 0 18px rgba(222,60,119,.34);
}

.collection-sidebar .price-range input[type="range"]:focus,
.collection-sidebar input[type="range"][name*="filter.v.price"]:focus,
.collection-sidebar input[type="range"][name*="filter.p.price"]:focus{
  outline:none;
}

.collection-sidebar .price-range__display-wrapper span:first-child{
  text-align:left;
}

.collection-sidebar .price-range__display-wrapper span:last-child{
  text-align:right;
}
/* ======================================================
   KS PRICE FILTER CLEAN LUXURY OVERRIDE
====================================================== */

.collection-sidebar .price-range{
  padding-top:8px;
}

.collection-sidebar .price-range__display-wrapper{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

.collection-sidebar .price-range__display{
  font-size:13px;
  font-weight:600;
  letter-spacing:.01em;
  color:rgba(255,255,255,.92);
}

.collection-sidebar .price-range__slider,
.collection-sidebar .range-slider{
  position:relative;
  width:100%;
  padding-top:0;
  margin-top:0;
  overflow:visible;
}

.collection-sidebar .price-range__slider::before,
.collection-sidebar .range-slider::before{
  display:none !important;
}

.collection-sidebar .price-range input[type="range"],
.collection-sidebar input[type="range"][name*="filter.v.price"],
.collection-sidebar input[type="range"][name*="filter.p.price"]{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:4px;
  margin:0;
  border-radius:999px;
  background:rgba(255,255,255,.22);
  outline:none;
  cursor:pointer;
  position:relative;
  z-index:2;
  box-shadow:none;
}

.collection-sidebar .price-range input[type="range"]::-webkit-slider-runnable-track,
.collection-sidebar input[type="range"][name*="filter.v.price"]::-webkit-slider-runnable-track,
.collection-sidebar input[type="range"][name*="filter.p.price"]::-webkit-slider-runnable-track{
  height:4px;
  background:rgba(255,255,255,.22);
  border-radius:999px;
}

.collection-sidebar .price-range input[type="range"]::-moz-range-track,
.collection-sidebar input[type="range"][name*="filter.v.price"]::-moz-range-track,
.collection-sidebar input[type="range"][name*="filter.p.price"]::-moz-range-track{
  height:4px;
  background:rgba(255,255,255,.22);
  border-radius:999px;
}

.collection-sidebar .price-range input[type="range"]::-webkit-slider-thumb,
.collection-sidebar input[type="range"][name*="filter.v.price"]::-webkit-slider-thumb,
.collection-sidebar input[type="range"][name*="filter.p.price"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#000;
  border:2px solid #fff;
  box-shadow:0 0 0 2px rgba(222,60,119,.22);
  margin-top:-5px;
  cursor:pointer;
  transition:box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}

.collection-sidebar .price-range input[type="range"]::-moz-range-thumb,
.collection-sidebar input[type="range"][name*="filter.v.price"]::-moz-range-thumb,
.collection-sidebar input[type="range"][name*="filter.p.price"]::-moz-range-thumb{
  width:14px;
  height:14px;
  border-radius:50%;
  background:#000;
  border:2px solid #fff;
  box-shadow:0 0 0 2px rgba(222,60,119,.22);
  cursor:pointer;
  transition:box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}

.collection-sidebar .price-range input[type="range"]:hover::-webkit-slider-thumb,
.collection-sidebar input[type="range"][name*="filter.v.price"]:hover::-webkit-slider-thumb,
.collection-sidebar input[type="range"][name*="filter.p.price"]:hover::-webkit-slider-thumb{
  box-shadow:0 0 0 3px rgba(222,60,119,.30);
  transform:scale(1.04);
}

.collection-sidebar .price-range input[type="range"]:hover::-moz-range-thumb,
.collection-sidebar input[type="range"][name*="filter.v.price"]:hover::-moz-range-thumb,
.collection-sidebar input[type="range"][name*="filter.p.price"]:hover::-moz-range-thumb{
  box-shadow:0 0 0 3px rgba(222,60,119,.30);
  transform:scale(1.04);
}
/* ======================================================
   KS PRICE SLIDER TRACK FIX
====================================================== */

.collection-sidebar input[type="range"]{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:4px;
  background:rgba(255,255,255,.28) !important;
  border-radius:999px;
  outline:none;
  cursor:pointer;
}

/* Chrome / Safari */

.collection-sidebar input[type="range"]::-webkit-slider-runnable-track{
  height:4px;
  background:rgba(255,255,255,.28);
  border-radius:999px;
}

/* Firefox */

.collection-sidebar input[type="range"]::-moz-range-track{
  height:4px;
  background:rgba(255,255,255,.28);
  border-radius:999px;
}

/* Handles */

.collection-sidebar input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#000;
  border:2px solid #fff;
  box-shadow:0 0 0 2px rgba(222,60,119,.25);
  margin-top:-5px;
  cursor:pointer;
}

.collection-sidebar input[type="range"]::-moz-range-thumb{
  width:14px;
  height:14px;
  border-radius:50%;
  background:#000;
  border:2px solid #fff;
  box-shadow:0 0 0 2px rgba(222,60,119,.25);
  cursor:pointer;
}
/* ======================================================
   KS FILTER HEADER UPGRADE
====================================================== */

.ks-filter-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin:20px 0 10px;
  flex-wrap:wrap;
}

.ks-filter-header__left{
  display:flex;
  align-items:center;
}

.ks-product-count{
  font-size:13px;
  color:rgba(255,255,255,.6);
  letter-spacing:.08em;
}

/* RIGHT SIDE */

.ks-filter-header__right{
  display:flex;
  align-items:center;
  gap:12px;
}

/* FILTER BUTTON */

.ks-filter-toggle{
  display:flex;
  align-items:center;
  gap:8px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  padding:8px 14px;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  transition:.2s;
}

.ks-filter-toggle:hover{
  background:rgba(255,255,255,.1);
}

.ks-filter-toggle.is-active{
  border-color:#DE3C77;
  box-shadow:0 0 0 1px rgba(222,60,119,.4);
}

.ks-filter-toggle__icon svg{
  width:14px;
  height:14px;
  fill:currentColor;
}

.ks-filter-toggle__count{
  font-size:11px;
  opacity:.7;
}

/* SORT */

.ks-sort__select{
  background:transparent;
  border:1px solid rgba(255,255,255,.12);
  padding:8px 10px;
  font-size:12px;
  letter-spacing:.08em;
  color:rgba(255,255,255,.85);
  cursor:pointer;
}

.ks-sort__select:hover{
  border-color:rgba(255,255,255,.25);
}

/* ======================================================
   ACTIVE FILTER BAR REFINEMENT
====================================================== */

.ks-active-filters{
  margin:10px 0 20px;
}

.ks-active-filters__inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}

.ks-active-filters__label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:rgba(255,255,255,.5);
}

.ks-filter-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  font-size:12px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  text-decoration:none;
  color:rgba(255,255,255,.85);
  transition:.2s;
}

.ks-filter-chip:hover{
  background:rgba(255,255,255,.1);
}

.ks-filter-chip__remove{
  opacity:.6;
}

.ks-filter-reset{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#DE3C77;
  text-decoration:none;
}

.ks-filter-reset:hover{
  opacity:.7;
}
/* ======================================================
   KS QUICK FILTER PREMIUM UPGRADE
====================================================== */

.ks-quick-filters{
  align-items:flex-start;
  gap:18px 26px;
  margin-top:10px;
  margin-bottom:20px;
  padding-bottom:2px;
}

.ks-quick-filter-group{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.ks-quick-filter-title{
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.46);
  min-height:28px;
  display:inline-flex;
  align-items:center;
}

.ks-quick-filter-options{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.ks-quick-filter-option{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(255,255,255,.03);
  color:rgba(255,255,255,.84);
  font-size:11px;
  font-weight:500;
  letter-spacing:.03em;
  text-decoration:none;
  white-space:nowrap;
  transition:
    border-color .2s ease,
    background .2s ease,
    color .2s ease,
    box-shadow .2s ease,
    transform .18s ease;
}

.ks-quick-filter-option:hover{
  color:#fff;
  border-color:rgba(222,60,119,.58);
  background:rgba(222,60,119,.08);
  box-shadow:0 0 0 3px rgba(222,60,119,.08);
  transform:translateY(-1px);
}

.ks-quick-filter-option.is-active{
  color:#fff;
  border-color:rgba(222,60,119,.70);
  background:rgba(222,60,119,.16);
  box-shadow:
    0 0 0 1px rgba(222,60,119,.18),
    0 0 14px rgba(222,60,119,.14);
}

.ks-quick-price{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.ks-quick-price-fields{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.ks-quick-price-input{
  height:34px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.02);
  color:rgba(255,255,255,.92);
  transition:
    border-color .2s ease,
    box-shadow .2s ease,
    background .2s ease;
}

.ks-quick-price-input:hover{
  border-color:rgba(255,255,255,.22);
}

.ks-quick-price-input:focus{
  border-color:#DE3C77;
  background:rgba(255,255,255,.04);
  box-shadow:0 0 0 3px rgba(222,60,119,.10);
}

.ks-quick-price-submit{
  height:34px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  transition:
    border-color .2s ease,
    background .2s ease,
    box-shadow .2s ease,
    transform .18s ease;
}

.ks-quick-price-submit:hover{
  border-color:rgba(222,60,119,.65);
  background:rgba(222,60,119,.10);
  box-shadow:0 0 0 3px rgba(222,60,119,.08);
  transform:translateY(-1px);
}

@media screen and (max-width:990px){
  .ks-quick-filters{
    gap:14px;
  }
}

@media screen and (max-width:768px){
  .ks-quick-filters{
    gap:12px;
    margin-bottom:16px;
  }

  .ks-quick-filter-group{
    gap:8px;
  }

  .ks-quick-filter-option{
    font-size:10px;
    padding:5px 10px;
  }
}
/* ======================================================
   KS STICKY FILTER BAR PREMIUM UPGRADE
====================================================== */

.ks-collection-filter{
  position:sticky;
  top:0;
  z-index:30;

  background:rgba(0,0,0,.82);
  border-bottom:1px solid rgba(255,255,255,.06);

  box-shadow:
    0 10px 30px rgba(0,0,0,.35),
    0 1px 0 rgba(255,255,255,.04) inset;

  transition:
    background .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

/* subtiler Glow je nach World */
.world-dessous .ks-collection-filter{
  box-shadow:
    0 10px 30px rgba(0,0,0,.35),
    0 0 20px rgba(222,60,119,.08);
}

.world-vip .ks-collection-filter{
  box-shadow:
    0 10px 30px rgba(0,0,0,.35),
    0 0 20px rgba(212,175,55,.08);
}

.world-dom .ks-collection-filter{
  box-shadow:
    0 10px 30px rgba(0,0,0,.35),
    0 0 20px rgba(140,20,20,.10);
}

.world-lust .ks-collection-filter{
  box-shadow:
    0 10px 30px rgba(0,0,0,.35),
    0 0 20px rgba(255,0,120,.08);
}

/* leichte optische Trennung beim Scroll */
.ks-collection-filter::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;

  background:linear-gradient(
    to right,
    transparent,
    rgba(255,255,255,.08),
    transparent
  );

  opacity:.6;
}

/* Header Inhalte etwas luftiger */
.ks-filter-header{
  align-items:center;
  gap:12px;
}

.ks-filter-header-left,
.ks-filter-header-right{
  display:flex;
  align-items:center;
  gap:12px;
}

/* Sort Dropdown cleaner */
.collection-filter__sort-container select{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  color:#fff;

  transition:
    border-color .2s ease,
    box-shadow .2s ease;
}

.collection-filter__sort-container select:hover{
  border-color:rgba(255,255,255,.22);
}

.collection-filter__sort-container select:focus{
  border-color:#DE3C77;
  box-shadow:0 0 0 3px rgba(222,60,119,.10);
}

/* Produktanzahl ruhiger */
.ks-product-count{
  font-size:12px;
  letter-spacing:.06em;
  color:rgba(255,255,255,.55);
}
/* ======================================================
   KS PRODUCT CARD MICRO LUXURY TUNING
====================================================== */

/* Karte selbst */
.ks-card{
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background .22s ease;
}

/* Hover → subtiler Lift */
.ks-card:hover{
  transform:translateY(-3px);
  box-shadow:
    0 14px 34px rgba(0,0,0,.38),
    0 0 0 1px rgba(255,255,255,.04);
}

/* Bild wirkt hochwertiger */
.ks-card__image{
  transition:transform .35s ease, opacity .25s ease;
}

.ks-card:hover .ks-card__image{
  transform:scale(1.03);
}

/* Titel ruhiger */
.ks-card__title{
  letter-spacing:.01em;
}

/* Preis leicht betonen */
.ks-price{
  font-weight:600;
  letter-spacing:.02em;
}

/* Compare Price klarer getrennt */
.ks-price--compare{
  opacity:.55;
  margin-left:6px;
}

/* CTA ruhiger + präziser */
.ks-btn--primary{
  letter-spacing:.08em;
  font-weight:600;
}

/* Sekundär CTA eleganter */
.ks-btn--secondary{
  opacity:.8;
  transition:opacity .2s ease, transform .2s ease;
}

.ks-btn--secondary:hover{
  opacity:1;
  transform:translateX(2px);
}

/* Badge leicht hochwertiger */
.ks-card__badge{
  backdrop-filter:blur(4px);
  letter-spacing:.08em;
}
/* ======================================================
   KS PILL / BADGE HARD SAFETY FIX
====================================================== */

.ks .ks-pill,
.ks-pill,
.ks .ks-card__badge,
.ks-card__badge,
.ks-discovery__eyebrow{
  border-radius:999px !important;
  -webkit-border-radius:999px !important;
  overflow:hidden;
}

.ks .ks-pill,
.ks-pill{
  min-height:30px !important;
  padding:6px 12px !important;
  color:#ffffff !important;
}

.ks .ks-pill span,
.ks-pill span,
.ks .ks-card__badge,
.ks-card__badge,
.ks-discovery__eyebrow{
  color:inherit !important;
}
.ks-cart-progress{
  margin-bottom:20px;
}

.ks-cart-progress__text{
  font-size:12px;
  margin-bottom:6px;
  opacity:.8;
}

.ks-cart-progress__text.success{
  color:var(--ks-accent);
}

.ks-cart-progress__bar{
  height:4px;
  background:rgba(255,255,255,.08);
}

.ks-cart-progress__fill{
  height:100%;
  background:var(--ks-accent);
}

.ks-cart-upsell{
  margin-top:20px;
}

.ks-cart-upsell__item{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.ks-cart-bonus{
  margin:15px 0;
  font-size:12px;
  opacity:.7;
}
.ks-cart-bundle{
  margin:20px 0;
  padding:16px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:rgba(255,255,255,.02);
}

.ks-cart-bundle__header{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:10px;
  color:var(--ks-accent);
}

.ks-cart-bundle__items{
  display:flex;
  align-items:center;
  gap:10px;
}

.ks-cart-bundle__item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  font-size:11px;
}

.ks-cart-bundle__item img{
  width:60px;
  border-radius:8px;
}

.ks-cart-bundle__plus{
  font-size:16px;
  opacity:.5;
}

.ks-cart-bundle__btn{
  margin-top:12px;
  width:100%;
  padding:10px;
  background:var(--ks-accent);
  border:none;
  color:#000;
  font-weight:600;
}
#ks-upsell-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.85);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
}

#ks-upsell-overlay.active{
  display:flex;
}

.ks-upsell-box{
  width:360px;
  padding:20px;
  background:#000;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
}

.ks-upsell-header{
  font-size:12px;
  letter-spacing:.12em;
  margin-bottom:12px;
  text-transform:uppercase;
  color:var(--ks-accent);
}

.ks-upsell-items{
  display:flex;
  gap:10px;
  margin-bottom:14px;
}

.ks-upsell-item{
  text-align:center;
  font-size:11px;
}

.ks-upsell-item img{
  width:60px;
  border-radius:8px;
}

.ks-upsell-actions{
  display:flex;
  gap:8px;
}

.ks-upsell-add{
  flex:1;
  background:var(--ks-accent);
  border:none;
  padding:10px;
  color:#000;
  font-weight:600;
}

.ks-upsell-skip{
  flex:1;
  background:transparent;
  border:1px solid rgba(255,255,255,.2);
  color:#fff;
}
/* KS FIX – WHITE BAR REMOVE */

.shopify-section,
.section,
.page-width,
.content-wrapper {
  background-color: transparent !important;
}

/* falls ein spezifischer Block weiß ist */
.shopify-section:last-of-type {
  background-color: #000 !important;
}

/* Sicherheit für Body */
body {
  background-color: #000;
}
/* ================================
   KS PAGINATION FIX
================================ */

.pagination,
.pagination-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  margin: 40px 0 20px;
}

.pagination a,
.pagination span {
  color: rgba(255,255,255,0.7);
  font-size: 14px;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 6px 10px;
  border-radius: 6px;
  transition: all .2s ease;
}

.pagination a:hover {
  color: #fff;
  background: rgba(255,255,255,0.08);
}

.pagination .is-active,
.pagination span.current {
  color: #fff;
  border: 1px solid var(--ks-accent, #DE3C77);
  background: rgba(255,255,255,0.05);
}

.pagination .pagination-next,
.pagination .pagination-prev {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--ks-accent, #DE3C77);
  color: #000;
  border-radius: 6px;
}
/* ======================================================
   KS BRAND NAVIGATION
====================================================== */

.ks-brand-nav{
  position:relative;
  padding:56px 0;
  background:transparent;
}

.ks-brand-nav.is-dark{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.04), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0));
  border-top:1px solid rgba(255,255,255,0.06);
  border-bottom:1px solid rgba(255,255,255,0.06);
}

.ks-brand-nav__head{
  max-width:900px;
  margin:0 auto 34px;
  text-align:center;
}

.ks-brand-nav__eyebrow{
  display:inline-block;
  margin-bottom:12px;
  font-size:11px;
  line-height:1;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--ks-brand-accent);
}

.ks-brand-nav__title{
  margin:0 0 14px;
  font-size:clamp(28px, 4vw, 48px);
  line-height:1.05;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#fff;
}

.ks-brand-nav__intro{
  margin:0 auto;
  max-width:760px;
  color:rgba(255,255,255,.72);
  font-size:15px;
  line-height:1.7;
}

.ks-brand-nav__grid{
  display:grid;
  grid-template-columns:repeat(var(--ks-brand-columns-desktop), minmax(0, 1fr));
  gap:18px;
}

.ks-brand-nav__slider{
  overflow:hidden;
}

.ks-brand-nav__track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(260px, 320px);
  gap:18px;
  overflow-x:auto;
  padding-bottom:8px;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
}

.ks-brand-nav__track::-webkit-scrollbar{
  height:8px;
}

.ks-brand-nav__track::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,0.14);
  border-radius:999px;
}

.ks-brand-card{
  min-width:0;
}

.ks-brand-card__link{
  display:block;
  height:100%;
  text-decoration:none;
  color:inherit;
}

.ks-brand-card__inner{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:var(--ks-brand-card-min-height);
  height:100%;
  padding:24px;
  border-radius:var(--ks-brand-radius);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)),
    #070707;
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 0 0 1px rgba(255,255,255,0.02) inset;
  transition:
    transform .28s ease,
    border-color .28s ease,
    box-shadow .28s ease,
    background .28s ease;
  overflow:hidden;
}

.ks-brand-card__inner::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  transition:opacity .28s ease;
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--ks-brand-accent) 44%, transparent),
    0 0 28px color-mix(in srgb, var(--ks-brand-accent) 18%, transparent);
}

.ks-brand-card__link:hover .ks-brand-card__inner,
.ks-brand-card__link:focus-visible .ks-brand-card__inner{
  transform:translateY(-4px);
  border-color:color-mix(in srgb, var(--ks-brand-accent) 40%, rgba(255,255,255,0.08));
  box-shadow:
    0 12px 28px rgba(0,0,0,.28),
    0 0 26px color-mix(in srgb, var(--ks-brand-accent) 10%, transparent);
}

.ks-brand-card__link:hover .ks-brand-card__inner::before,
.ks-brand-card__link:focus-visible .ks-brand-card__inner::before{
  opacity:1;
}

.ks-brand-card__badge{
  display:inline-flex;
  align-self:flex-start;
  margin-bottom:18px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.8);
  font-size:10px;
  font-weight:600;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.ks-brand-card__logo-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:92px;
  margin-bottom:18px;
}

.ks-brand-card__logo{
  display:block;
  width:auto;
  max-width:var(--ks-brand-logo-max-width);
  max-height:72px;
  height:auto;
  object-fit:contain;
  filter:grayscale(0) brightness(1);
}

.ks-brand-card__name--fallback,
.ks-brand-card__title{
  margin:0 0 10px;
  color:#fff;
  font-size:20px;
  line-height:1.2;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.ks-brand-card__hook{
  margin-top:auto;
  color:rgba(255,255,255,.76);
  font-size:14px;
  line-height:1.6;
}

.ks-brand-card__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.08);
}

.ks-brand-card__world{
  color:rgba(255,255,255,.54);
  font-size:11px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.ks-brand-card__cta{
  color:var(--ks-brand-accent);
  font-size:11px;
  font-weight:700;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.ks-brand-nav__empty{
  padding:28px;
  text-align:center;
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  color:rgba(255,255,255,.64);
  background:rgba(255,255,255,.02);
}

/* Mobile */
@media screen and (max-width: 989px){
  .ks-brand-nav{
    padding:42px 0;
  }

  .ks-brand-nav__grid{
    grid-template-columns:repeat(var(--ks-brand-columns-mobile), minmax(0, 1fr));
    gap:14px;
  }

  .ks-brand-card__inner{
    min-height:220px;
    padding:20px;
  }

  .ks-brand-card__logo{
    max-height:58px;
  }

  .ks-brand-card__hook{
    font-size:13px;
    line-height:1.5;
  }

  .ks-brand-nav__track{
    grid-auto-columns:minmax(240px, 84vw);
    gap:14px;
  }
}
/* ======================================================
   KS BRAND HERO
====================================================== */

.ks-brand-hero{
  position:relative;
  width:100%;
  height:var(--ks-hero-height);
  min-height:420px;
  overflow:hidden;
}

.ks-brand-hero__media{
  position:absolute;
  inset:0;
}

.ks-brand-hero__image{
  width:100%;
  height:100%;
  object-fit:cover;
}

.ks-brand-hero__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      to bottom,
      rgba(0,0,0, calc(var(--ks-hero-overlay) / 100)),
      rgba(0,0,0, calc(var(--ks-hero-overlay) / 100 + 0.2))
    );
}

.ks-brand-hero__content{
  position:relative;
  z-index:2;
  height:100%;
  display:flex;
  align-items:center;
}

.ks-brand-hero--center .ks-brand-hero__inner{
  margin:0 auto;
  text-align:center;
}

.ks-brand-hero--left .ks-brand-hero__inner{
  margin-left:0;
  text-align:left;
}

.ks-brand-hero__inner{
  max-width:760px;
  padding:0 24px;
}

.ks-brand-hero__eyebrow{
  color:#DE3C77;
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  margin-bottom:14px;
}

.ks-brand-hero__title{
  color:#fff;
  font-size:clamp(32px, 5vw, 64px);
  line-height:1.05;
  margin-bottom:16px;
  text-transform:uppercase;
}

.ks-brand-hero__text{
  color:rgba(255,255,255,.75);
  font-size:16px;
  line-height:1.6;
  margin-bottom:24px;
}

.ks-brand-hero__cta{
  display:inline-block;
  padding:12px 22px;
  border:1px solid #DE3C77;
  color:#DE3C77;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.18em;
  text-decoration:none;
  transition:.25s;
}

.ks-brand-hero__cta:hover{
  background:#DE3C77;
  color:#000;
}
/* ======================================================
   KS BRAND NAVIGATION – GROUPS EXTENSION
====================================================== */

.ks-brand-nav__group + .ks-brand-nav__group{
  margin-top:48px;
  padding-top:32px;
  border-top:1px solid rgba(255,255,255,0.06);
}

.ks-brand-nav__group-head{
  max-width:860px;
  margin:0 0 22px;
}

.ks-brand-nav__group-title{
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(20px, 2.2vw, 30px);
  line-height:1.12;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.ks-brand-nav__group-intro{
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.65;
}

.ks-brand-nav__grid--featured{
  grid-template-columns:repeat(var(--ks-brand-featured-columns-desktop), minmax(0, 1fr));
}

.ks-brand-nav__grid--more{
  grid-template-columns:repeat(var(--ks-brand-more-columns-desktop), minmax(0, 1fr));
}

.ks-brand-card--featured .ks-brand-card__inner{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.025)),
    #050505;
  border-color:color-mix(in srgb, var(--ks-brand-accent) 22%, rgba(255,255,255,0.08));
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.02) inset,
    0 0 22px color-mix(in srgb, var(--ks-brand-accent) 8%, transparent);
}

.ks-brand-card--featured .ks-brand-card__badge{
  background:color-mix(in srgb, var(--ks-brand-accent) 14%, rgba(255,255,255,0.04));
  border-color:color-mix(in srgb, var(--ks-brand-accent) 28%, rgba(255,255,255,.1));
}

@media screen and (max-width: 989px){
  .ks-brand-nav__group + .ks-brand-nav__group{
    margin-top:34px;
    padding-top:24px;
  }

  .ks-brand-nav__grid--featured,
  .ks-brand-nav__grid--more{
    grid-template-columns:repeat(var(--ks-brand-columns-mobile), minmax(0, 1fr));
  }
}
.ks-brand-nav__grid--emerging{
  grid-template-columns:repeat(var(--ks-brand-emerging-columns-desktop), minmax(0, 1fr));
}
/* ======================================================
   KS BRAND NAVIGATION – GROUPS EXTENSION
====================================================== */

.ks-brand-nav__group + .ks-brand-nav__group{
  margin-top:48px;
  padding-top:32px;
  border-top:1px solid rgba(255,255,255,0.06);
}

.ks-brand-nav__group-head{
  max-width:860px;
  margin:0 0 22px;
}

.ks-brand-nav__group-title{
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(20px, 2.2vw, 30px);
  line-height:1.12;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.ks-brand-nav__group-intro{
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.65;
}

.ks-brand-nav__grid--featured{
  grid-template-columns:repeat(var(--ks-brand-featured-columns-desktop), minmax(0, 1fr));
}

.ks-brand-nav__grid--more{
  grid-template-columns:repeat(var(--ks-brand-more-columns-desktop), minmax(0, 1fr));
}

.ks-brand-nav__grid--trend{
  grid-template-columns:repeat(var(--ks-brand-trend-columns-desktop), minmax(0, 1fr));
}

.ks-brand-nav__grid--own{
  grid-template-columns:repeat(var(--ks-brand-own-columns-desktop), minmax(0, 1fr));
}

.ks-brand-card--featured .ks-brand-card__inner{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.025)),
    #050505;
  border-color:color-mix(in srgb, var(--ks-brand-accent) 22%, rgba(255,255,255,0.08));
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.02) inset,
    0 0 22px color-mix(in srgb, var(--ks-brand-accent) 8%, transparent);
}

.ks-brand-card--featured .ks-brand-card__badge{
  background:color-mix(in srgb, var(--ks-brand-accent) 14%, rgba(255,255,255,0.04));
  border-color:color-mix(in srgb, var(--ks-brand-accent) 28%, rgba(255,255,255,.1));
}

.ks-brand-nav__group--trend{
  opacity:.94;
}

.ks-brand-card--trend .ks-brand-card__inner{
  background:#050505;
  border:1px solid rgba(255,255,255,0.07);
}

.ks-brand-card--trend .ks-brand-card__badge{
  opacity:.86;
}

.ks-brand-nav__group--own{
  opacity:.84;
}

.ks-brand-card--own .ks-brand-card__inner{
  background:#040404;
  border:1px solid rgba(255,255,255,0.06);
  box-shadow:none;
}

.ks-brand-card--own .ks-brand-card__badge{
  opacity:.72;
}

.ks-brand-card--own .ks-brand-card__link:hover .ks-brand-card__inner,
.ks-brand-card--own .ks-brand-card__link:focus-visible .ks-brand-card__inner{
  border-color:rgba(255,255,255,0.12);
  box-shadow:none;
}

@media screen and (max-width: 989px){
  .ks-brand-nav__group + .ks-brand-nav__group{
    margin-top:34px;
    padding-top:24px;
  }

  .ks-brand-nav__grid--featured,
  .ks-brand-nav__grid--more,
  .ks-brand-nav__grid--trend,
  .ks-brand-nav__grid--own{
    grid-template-columns:repeat(var(--ks-brand-columns-mobile), minmax(0, 1fr));
  }
}
/* ======================================================
   KS BRAND NAV – FEATURED LOGO BOOST
====================================================== */

.ks-brand-card--featured .ks-brand-card__logo{
  max-width: calc(var(--ks-brand-logo-max-width) * 1.35);
}

.ks-brand-card--featured .ks-brand-card__logo-wrap{
  transform: scale(1.05);
}
/* ======================================================
   KS BRAND NAV – FEATURED LOGO BOOST
====================================================== */

.ks-brand-card--featured .ks-brand-card__logo-wrap{
  height:110px;
}

.ks-brand-card--featured .ks-brand-card__logo{
  max-width:180px;
  max-height:90px;
}
/* ======================================================
   KS BRAND BADGES – LOCAL SAFE FIX
====================================================== */

.ks-brand-card__badge{
  display:inline-flex;
  align-self:flex-start;
  margin-bottom:18px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.10);
  color:#ffffff;
  font-size:10px;
  font-weight:700;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
  box-shadow:0 0 0 1px rgba(255,255,255,.03) inset;
}

/* SALE / AKTION */
.ks-brand-card__badge--sale,
.ks-brand-card__badge--aktion{
  background:rgba(255,95,95,.18);
  border-color:rgba(255,120,120,.52);
  color:#ffd7d7;
  box-shadow:0 0 14px rgba(255,95,95,.16);
}

/* NEU / TOP-SELLER / PREMIUM / TOP BRAND / EDITOR'S PICK / FEATURE */
.ks-brand-card__badge--neu,
.ks-brand-card__badge--top-seller,
.ks-brand-card__badge--premium,
.ks-brand-card__badge--top-brand,
.ks-brand-card__badge--editors-pick,
.ks-brand-card__badge--feature{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.30);
  color:#ffffff;
}

/* LUXURY / VIP */
.ks-brand-card__badge--luxury,
.ks-brand-card__badge--vip-only{
  background:rgba(212,175,55,.18);
  border-color:rgba(212,175,55,.58);
  color:#ffe7a3;
  box-shadow:0 0 16px rgba(212,175,55,.18);
}

/* TREND / KS ORIGINAL */
.ks-brand-card__badge--trend,
.ks-brand-card__badge--ks-original{
  background:rgba(222,60,119,.18);
  border-color:rgba(222,60,119,.58);
  color:#ffd0e3;
  box-shadow:0 0 16px rgba(222,60,119,.16);
}

/* HOT */
.ks-brand-card__badge--hot{
  background:rgba(255,110,70,.20);
  border-color:rgba(255,130,90,.55);
  color:#ffe0d4;
  box-shadow:0 0 16px rgba(255,110,70,.16);
}

/* LIMITED */
.ks-brand-card__badge--limited{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.24);
  color:rgba(255,255,255,.94);
}

/* DEMNÄCHST */
.ks-brand-card__badge--coming-soon{
  background:rgba(255,255,255,.10);
  border:1px dashed rgba(255,255,255,.34);
  color:rgba(255,255,255,.92);
}

/* PREORDER */
.ks-brand-card__badge--preorder{
  background:rgba(255,180,0,.20);
  border-color:rgba(255,190,40,.56);
  color:#fff0bf;
  box-shadow:0 0 16px rgba(255,180,0,.16);
}
/* ======================================================
   KS BRAND NAVIGATION – CORE
====================================================== */

.ks-brand-nav{
  position:relative;
  padding:56px 0;
  background:transparent;
}

.ks-brand-nav.is-dark{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.04), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0));
  border-top:1px solid rgba(255,255,255,0.06);
  border-bottom:1px solid rgba(255,255,255,0.06);
}

.ks-brand-nav__head{
  max-width:900px;
  margin:0 auto 34px;
  text-align:center;
}

.ks-brand-nav__eyebrow{
  display:inline-block;
  margin-bottom:12px;
  font-size:11px;
  line-height:1;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--ks-brand-accent);
}

.ks-brand-nav__title{
  margin:0 0 14px;
  font-size:clamp(28px, 4vw, 48px);
  line-height:1.05;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#fff;
}

.ks-brand-nav__intro{
  margin:0 auto;
  max-width:760px;
  color:rgba(255,255,255,.72);
  font-size:15px;
  line-height:1.7;
}

.ks-brand-nav__slider{
  overflow:hidden;
}

.ks-brand-nav__track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(260px, 320px);
  gap:18px;
  overflow-x:auto;
  padding-bottom:8px;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
}

.ks-brand-nav__track::-webkit-scrollbar{
  height:8px;
}

.ks-brand-nav__track::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,0.14);
  border-radius:999px;
}

.ks-brand-nav__grid{
  display:grid;
  grid-template-columns:repeat(var(--ks-brand-columns-desktop), minmax(0, 1fr));
  gap:18px;
}

.ks-brand-nav__empty{
  padding:28px;
  text-align:center;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:20px;
  color:rgba(255,255,255,.64);
  background:rgba(255,255,255,.02);
}

/* ======================================================
   KS BRAND NAVIGATION – GROUPS
====================================================== */

.ks-brand-nav__group + .ks-brand-nav__group{
  margin-top:48px;
  padding-top:32px;
  border-top:1px solid rgba(255,255,255,0.06);
}

.ks-brand-nav__group-head{
  max-width:860px;
  margin:0 0 22px;
}

.ks-brand-nav__group-title{
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(20px, 2.2vw, 30px);
  line-height:1.12;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.ks-brand-nav__group-intro{
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.65;
}

.ks-brand-nav__grid--featured{
  grid-template-columns:repeat(var(--ks-brand-featured-columns-desktop), minmax(0, 1fr));
}

.ks-brand-nav__grid--more{
  grid-template-columns:repeat(var(--ks-brand-more-columns-desktop), minmax(0, 1fr));
}

.ks-brand-nav__grid--trend{
  grid-template-columns:repeat(var(--ks-brand-trend-columns-desktop), minmax(0, 1fr));
}

.ks-brand-nav__grid--own{
  grid-template-columns:repeat(var(--ks-brand-own-columns-desktop), minmax(0, 1fr));
}

.ks-brand-nav__group--trend{
  opacity:.96;
}

.ks-brand-nav__group--own{
  opacity:.9;
}

/* ======================================================
   KS BRAND CARD
====================================================== */

.ks-brand-card{
  min-width:0;
}

.ks-brand-card__link{
  display:block;
  height:100%;
  text-decoration:none;
  color:inherit;
}

.ks-brand-card__inner{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:var(--ks-brand-card-min-height);
  height:100%;
  padding:24px;
  border-radius:var(--ks-brand-radius);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)),
    #070707;
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 0 0 1px rgba(255,255,255,0.02) inset;
  transition:
    transform .28s ease,
    border-color .28s ease,
    box-shadow .28s ease,
    background .28s ease;
  overflow:hidden;
}

.ks-brand-card__inner::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  transition:opacity .28s ease;
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--ks-brand-accent) 44%, transparent),
    0 0 28px color-mix(in srgb, var(--ks-brand-accent) 18%, transparent);
}

.ks-brand-card__link:hover .ks-brand-card__inner,
.ks-brand-card__link:focus-visible .ks-brand-card__inner{
  transform:translateY(-4px);
  border-color:color-mix(in srgb, var(--ks-brand-accent) 40%, rgba(255,255,255,0.08));
  box-shadow:
    0 12px 28px rgba(0,0,0,.28),
    0 0 26px color-mix(in srgb, var(--ks-brand-accent) 10%, transparent);
}

.ks-brand-card__link:hover .ks-brand-card__inner::before,
.ks-brand-card__link:focus-visible .ks-brand-card__inner::before{
  opacity:1;
}

.ks-brand-card--featured .ks-brand-card__inner{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.025)),
    #050505;
  border-color:color-mix(in srgb, var(--ks-brand-accent) 22%, rgba(255,255,255,0.08));
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.02) inset,
    0 0 22px color-mix(in srgb, var(--ks-brand-accent) 8%, transparent);
}

.ks-brand-card--trend .ks-brand-card__inner{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.018)),
    #060606;
  border-color:rgba(255,255,255,0.08);
}

.ks-brand-card--own .ks-brand-card__inner{
  background:#040404;
  border:1px solid rgba(255,255,255,0.06);
  box-shadow:none;
}

.ks-brand-card--own .ks-brand-card__link:hover .ks-brand-card__inner,
.ks-brand-card--own .ks-brand-card__link:focus-visible .ks-brand-card__inner{
  border-color:rgba(255,255,255,0.12);
  box-shadow:none;
}

/* ======================================================
   KS BRAND LOGO
====================================================== */

.ks-brand-card__logo-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:92px;
  height:92px;
  margin-bottom:18px;
}

.ks-brand-card__logo{
  display:block;
  width:auto;
  max-width:var(--ks-brand-logo-max-width);
  max-height:72px;
  height:auto;
  object-fit:contain;
  filter:grayscale(0) brightness(1);
}

.ks-brand-card--featured .ks-brand-card__logo-wrap{
  height:100px;
  min-height:100px;
}

.ks-brand-card--featured .ks-brand-card__logo{
  max-width:160px;
  max-height:82px;
}

.ks-brand-card__name--fallback,
.ks-brand-card__title{
  margin:0 0 10px;
  color:#fff;
  font-size:20px;
  line-height:1.2;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.ks-brand-card__hook{
  margin-top:auto;
  color:rgba(255,255,255,.76);
  font-size:14px;
  line-height:1.6;
}

.ks-brand-card__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.08);
}

.ks-brand-card__world{
  color:rgba(255,255,255,.54);
  font-size:11px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.ks-brand-card__cta{
  color:var(--ks-brand-accent);
  font-size:11px;
  font-weight:700;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
}

/* ======================================================
   KS BRAND BADGES – LOCAL SAFE FIX
====================================================== */

.ks-brand-card__badge{
  display:inline-flex;
  align-self:flex-start;
  margin-bottom:18px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.10);
  color:#ffffff;
  font-size:10px;
  font-weight:700;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
  box-shadow:0 0 0 1px rgba(255,255,255,.03) inset;
}

/* Gruppenbezogene Grundfarben aus Section Settings */
.ks-brand-card--featured .ks-brand-card__badge{
  background:var(--ks-brand-badge-featured-bg);
  border-color:var(--ks-brand-badge-featured-border);
  color:var(--ks-brand-badge-featured-text);
  box-shadow:0 0 16px color-mix(in srgb, var(--ks-brand-badge-featured-border) 20%, transparent);
}

.ks-brand-card:not(.ks-brand-card--featured):not(.ks-brand-card--trend):not(.ks-brand-card--own) .ks-brand-card__badge{
  background:var(--ks-brand-badge-standard-bg);
  border-color:var(--ks-brand-badge-standard-border);
  color:var(--ks-brand-badge-standard-text);
}

.ks-brand-card--trend .ks-brand-card__badge{
  background:var(--ks-brand-badge-trend-bg);
  border-color:var(--ks-brand-badge-trend-border);
  color:var(--ks-brand-badge-trend-text);
  box-shadow:0 0 16px color-mix(in srgb, var(--ks-brand-badge-trend-border) 18%, transparent);
}

.ks-brand-card--own .ks-brand-card__badge{
  background:var(--ks-brand-badge-own-bg);
  border-color:var(--ks-brand-badge-own-border);
  color:var(--ks-brand-badge-own-text);
  box-shadow:0 0 14px color-mix(in srgb, var(--ks-brand-badge-own-border) 14%, transparent);
  opacity:.92;
}

/* Typ-spezifische Intensitäten */
.ks-brand-card__badge--sale,
.ks-brand-card__badge--aktion{
  filter:saturate(1.15) brightness(1.08);
}

.ks-brand-card__badge--luxury,
.ks-brand-card__badge--vip-only{
  filter:saturate(1.08) brightness(1.08);
}

.ks-brand-card__badge--trend,
.ks-brand-card__badge--hot,
.ks-brand-card__badge--ks-original{
  filter:saturate(1.12) brightness(1.08);
}

.ks-brand-card__badge--coming-soon{
  border-style:dashed;
}

.ks-brand-card__badge--preorder{
  filter:saturate(1.1) brightness(1.1);
}

/* ======================================================
   MOBILE
====================================================== */

@media screen and (max-width: 989px){
  .ks-brand-nav{
    padding:42px 0;
  }

  .ks-brand-nav__group + .ks-brand-nav__group{
    margin-top:34px;
    padding-top:24px;
  }

  .ks-brand-nav__grid{
    grid-template-columns:repeat(var(--ks-brand-columns-mobile), minmax(0, 1fr));
    gap:14px;
  }

  .ks-brand-nav__grid--featured,
  .ks-brand-nav__grid--more,
  .ks-brand-nav__grid--trend,
  .ks-brand-nav__grid--own{
    grid-template-columns:repeat(var(--ks-brand-columns-mobile), minmax(0, 1fr));
  }

  .ks-brand-card__inner{
    min-height:220px;
    padding:20px;
  }

  .ks-brand-card__logo-wrap{
    height:84px;
    min-height:84px;
  }

  .ks-brand-card__logo{
    max-height:58px;
  }

  .ks-brand-card--featured .ks-brand-card__logo-wrap{
    height:92px;
    min-height:92px;
  }

  .ks-brand-card--featured .ks-brand-card__logo{
    max-width:150px;
    max-height:76px;
  }

  .ks-brand-card__hook{
    font-size:13px;
    line-height:1.5;
  }

  .ks-brand-nav__track{
    grid-auto-columns:minmax(240px, 84vw);
    gap:14px;
  }
}
/* ======================================================
   KS WORLD BRANDS
====================================================== */

.ks-world-brands{
  margin-top:44px;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.06);
}

.ks-world-brands__head{
  max-width:860px;
  margin:0 0 22px;
}

.ks-world-brands__title{
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(20px, 2.2vw, 30px);
  line-height:1.12;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.ks-world-brands__intro{
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.65;
}

.ks-world-brands__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
}

.ks-world-brands__grid--2{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.ks-world-brands__grid--3{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.ks-world-brands__grid--4{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

.ks-world-brands__grid--5{
  grid-template-columns:repeat(5, minmax(0, 1fr));
}

.ks-world-brands__grid--6{
  grid-template-columns:repeat(6, minmax(0, 1fr));
}

.ks-world-brand-card__link{
  display:block;
  height:100%;
  text-decoration:none;
  color:inherit;
}

.ks-world-brand-card__inner{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:220px;
  height:100%;
  padding:22px;
  border-radius:22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)),
    #070707;
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 0 0 1px rgba(255,255,255,0.02) inset;
  transition:
    transform .28s ease,
    border-color .28s ease,
    box-shadow .28s ease;
  overflow:hidden;
}

.ks-world-brand-card__inner::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  transition:opacity .28s ease;
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--ks-world-accent) 44%, transparent),
    0 0 28px color-mix(in srgb, var(--ks-world-accent) 18%, transparent);
}

.ks-world-brand-card__link:hover .ks-world-brand-card__inner,
.ks-world-brand-card__link:focus-visible .ks-world-brand-card__inner{
  transform:translateY(-4px);
  border-color:color-mix(in srgb, var(--ks-world-accent) 40%, rgba(255,255,255,0.08));
  box-shadow:
    0 12px 28px rgba(0,0,0,.28),
    0 0 24px color-mix(in srgb, var(--ks-world-accent) 10%, transparent);
}

.ks-world-brand-card__link:hover .ks-world-brand-card__inner::before,
.ks-world-brand-card__link:focus-visible .ks-world-brand-card__inner::before{
  opacity:1;
}

.ks-world-brand-card__badge{
  display:inline-flex;
  align-self:flex-start;
  margin-bottom:16px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid color-mix(in srgb, var(--ks-world-accent) 36%, rgba(255,255,255,0.12));
  background:color-mix(in srgb, var(--ks-world-accent) 14%, rgba(255,255,255,0.04));
  color:#fff;
  font-size:10px;
  font-weight:700;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
}

.ks-world-brand-card__logo-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:86px;
  height:86px;
  margin-bottom:16px;
}

.ks-world-brand-card__logo{
  display:block;
  width:auto;
  max-width:150px;
  max-height:68px;
  height:auto;
  object-fit:contain;
}

.ks-world-brand-card__fallback{
  margin:0 0 10px;
  color:#fff;
  font-size:18px;
  line-height:1.2;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.ks-world-brand-card__title{
  margin:0 0 10px;
  color:#fff;
  font-size:18px;
  line-height:1.2;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.ks-world-brand-card__hook{
  margin-top:auto;
  color:rgba(255,255,255,.76);
  font-size:14px;
  line-height:1.55;
}

.ks-world-brand-card__cta{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.08);
  color:var(--ks-world-accent);
  font-size:11px;
  font-weight:700;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
}

@media screen and (max-width: 989px){
  .ks-world-brands{
    margin-top:34px;
    padding-top:22px;
  }

  .ks-world-brands__grid,
  .ks-world-brands__grid--2,
  .ks-world-brands__grid--3,
  .ks-world-brands__grid--4,
  .ks-world-brands__grid--5,
  .ks-world-brands__grid--6{
    grid-template-columns:1fr;
    gap:14px;
  }

  .ks-world-brand-card__inner{
    min-height:200px;
    padding:20px;
  }

  .ks-world-brand-card__logo{
    max-width:140px;
    max-height:60px;
  }
}
/* ======================================================
   KS SALE ENTRY
====================================================== */

.ks-sale-entry{
  background:var(--ks-sale-bg);
  color:var(--ks-sale-text);
  position:relative;
  overflow:hidden;
}

.ks-sale-entry__hero{
  position:relative;
  min-height:clamp(420px, 62vw, 760px);
  display:flex;
  align-items:flex-end;
  isolation:isolate;
  background:#080808;
}

.ks-sale-entry__hero-media{
  position:absolute;
  inset:0;
  z-index:-2;
}

.ks-sale-entry__hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}

.ks-sale-entry__hero-image--mobile{
  display:none;
}

.ks-sale-entry__hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(to bottom, rgba(0,0,0,0.10), rgba(0,0,0,0.55) 52%, rgba(0,0,0,0.88) 100%),
    linear-gradient(135deg, rgba(0,0,0,calc(var(--ks-sale-overlay) * 0.7)) 0%, rgba(0,0,0,var(--ks-sale-overlay)) 100%);
}

.ks-sale-entry__hero-inner{
  position:relative;
  z-index:3;
  max-width:860px;
  padding:110px 0 64px;
}

.ks-sale-entry__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
  font-size:12px;
  line-height:1;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--ks-sale-accent);
}

.ks-sale-entry__title{
  margin:0;
  font-size:clamp(34px, 6vw, 74px);
  line-height:.96;
  letter-spacing:.01em;
  color:var(--ks-sale-text);
  max-width:900px;
}

.ks-sale-entry__lead{
  margin-top:20px;
  max-width:720px;
  font-size:clamp(15px, 1.5vw, 18px);
  line-height:1.7;
  color:var(--ks-sale-muted);
}

.ks-sale-entry__nav{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:28px;
  margin-top:-48px;
  position:relative;
  z-index:5;
}

.ks-sale-entry__panel{
  position:relative;
  min-height:580px;
  border-radius:28px;
  overflow:hidden;
  background:#0b0b0b;
  border:1px solid rgba(255,255,255,0.08);
  text-decoration:none;
  color:inherit;
  display:flex;
  align-items:flex-end;
  transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
  box-shadow:0 20px 60px rgba(0,0,0,.32);
}

.ks-sale-entry__panel:hover{
  transform:translateY(-4px);
  border-color:rgba(255,255,255,0.14);
  box-shadow:0 26px 80px rgba(0,0,0,.42);
}

.ks-sale-entry__panel-media{
  position:absolute;
  inset:0;
  z-index:0;
}

.ks-sale-entry__panel-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transform:scale(1.01);
  transition:transform .6s ease;
}

.ks-sale-entry__panel:hover .ks-sale-entry__panel-image{
  transform:scale(1.045);
}

.ks-sale-entry__panel-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to top, rgba(0,0,0,.90) 0%, rgba(0,0,0,.56) 42%, rgba(0,0,0,.18) 100%);
}

.ks-sale-entry__panel--sale .ks-sale-entry__panel-overlay{
  background:
    linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.60) 44%, rgba(0,0,0,.18) 100%),
    radial-gradient(circle at 82% 18%, rgba(212,175,55,.16), transparent 36%);
}

.ks-sale-entry__panel--action .ks-sale-entry__panel-overlay{
  background:
    linear-gradient(to top, rgba(0,0,0,.94) 0%, rgba(0,0,0,.64) 44%, rgba(0,0,0,.16) 100%),
    radial-gradient(circle at 84% 18%, rgba(222,60,119,.18), transparent 34%);
}

.ks-sale-entry__panel-content{
  position:relative;
  z-index:2;
  width:100%;
  padding:34px 30px 30px;
}

.ks-sale-entry__panel-label{
  display:inline-flex;
  margin-bottom:14px;
  font-size:11px;
  line-height:1;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--ks-sale-accent);
}

.ks-sale-entry__panel-title{
  margin:0;
  font-size:clamp(28px, 3vw, 46px);
  line-height:1.02;
  letter-spacing:.01em;
  color:var(--ks-sale-text);
}

.ks-sale-entry__panel-text{
  margin:14px 0 0;
  max-width:560px;
  font-size:15px;
  line-height:1.7;
  color:var(--ks-sale-muted);
}

.ks-sale-entry__panel-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}

.ks-sale-entry__panel-points span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.08);
  font-size:11px;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.92);
}

.ks-sale-entry__panel-cta{
  margin-top:24px;
}

.ks-sale-entry__panel-cta span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.05);
  color:var(--ks-sale-text);
  font-size:12px;
  line-height:1;
  letter-spacing:.22em;
  text-transform:uppercase;
  transition:transform .25s ease, border-color .25s ease, background .25s ease;
}

.ks-sale-entry__panel:hover .ks-sale-entry__panel-cta span{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,0.20);
  background:rgba(255,255,255,0.08);
}

.ks-sale-entry__trust{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin-top:30px;
  margin-bottom:24px;
}

.ks-sale-entry__trust-item{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:14px 18px;
  border-radius:18px;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.07);
  font-size:12px;
  line-height:1.45;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.88);
}

.ks-sale-entry__editorial{
  padding:28px 0 72px;
  max-width:900px;
}

.ks-sale-entry__editorial-title{
  margin:0 0 14px;
  font-size:clamp(26px, 3vw, 42px);
  line-height:1.08;
  color:var(--ks-sale-text);
}

.ks-sale-entry__editorial-text{
  font-size:16px;
  line-height:1.75;
  color:var(--ks-sale-muted);
}

@media screen and (max-width: 989px){
  .ks-sale-entry__hero{
    min-height:500px;
  }

  .ks-sale-entry__hero-inner{
    padding:92px 0 42px;
  }

  .ks-sale-entry__nav{
    grid-template-columns:1fr;
    margin-top:-24px;
  }

  .ks-sale-entry__panel{
    min-height:480px;
  }

  .ks-sale-entry__trust{
    grid-template-columns:1fr;
  }
}

@media screen and (max-width: 749px){
  .ks-sale-entry__hero{
    min-height:540px;
  }

  .ks-sale-entry__hero-image--desktop{
    display:none;
  }

  .ks-sale-entry__hero-image--mobile{
    display:block;
  }

  .ks-sale-entry__hero-inner{
    padding:88px 0 34px;
  }

  .ks-sale-entry__eyebrow{
    margin-bottom:14px;
    font-size:11px;
    letter-spacing:.22em;
  }

  .ks-sale-entry__lead{
    margin-top:16px;
    font-size:14px;
    line-height:1.65;
  }

  .ks-sale-entry__nav{
    gap:18px;
  }

  .ks-sale-entry__panel{
    min-height:420px;
    border-radius:22px;
  }

  .ks-sale-entry__panel-content{
    padding:24px 20px 20px;
  }

  .ks-sale-entry__panel-points{
    gap:8px;
    margin-top:18px;
  }

  .ks-sale-entry__panel-points span{
    min-height:30px;
    padding:7px 11px;
    font-size:10px;
    letter-spacing:.12em;
  }

  .ks-sale-entry__panel-cta{
    margin-top:18px;
  }

  .ks-sale-entry__panel-cta span{
    min-height:42px;
    padding:11px 14px;
    font-size:11px;
    letter-spacing:.18em;
  }

  .ks-sale-entry__trust{
    margin-top:20px;
  }

  .ks-sale-entry__trust-item{
    min-height:52px;
    padding:12px 14px;
    font-size:11px;
    letter-spacing:.10em;
  }

  .ks-sale-entry__editorial{
    padding:18px 0 52px;
  }

  .ks-sale-entry__editorial-text{
    font-size:15px;
    line-height:1.7;
  }
}
/* ======================================================
   KS BLOG NAVIGATION
====================================================== */

.ks-blog-nav{
  background:var(--ks-blog-bg);
  color:var(--ks-blog-text);
  position:relative;
  overflow:hidden;
}

.ks-blog-nav__hero{
  position:relative;
  min-height:clamp(420px, 58vw, 700px);
  display:flex;
  align-items:flex-end;
  isolation:isolate;
  background:#080808;
}

.ks-blog-nav__hero-media{
  position:absolute;
  inset:0;
  z-index:-2;
}

.ks-blog-nav__hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}

.ks-blog-nav__hero-image--mobile{
  display:none;
}

.ks-blog-nav__hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(to bottom, rgba(0,0,0,0.10), rgba(0,0,0,0.55) 52%, rgba(0,0,0,0.88) 100%),
    linear-gradient(135deg, rgba(0,0,0,calc(var(--ks-blog-overlay) * 0.7)) 0%, rgba(0,0,0,var(--ks-blog-overlay)) 100%);
}

.ks-blog-nav__hero-inner{
  position:relative;
  z-index:3;
  max-width:840px;
  padding:104px 0 62px;
}

.ks-blog-nav__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
  font-size:12px;
  line-height:1;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--ks-blog-accent);
}

.ks-blog-nav__title{
  margin:0;
  font-size:clamp(34px, 6vw, 74px);
  line-height:.96;
  letter-spacing:.01em;
  color:var(--ks-blog-text);
  max-width:900px;
}

.ks-blog-nav__lead{
  margin-top:20px;
  max-width:720px;
  font-size:clamp(15px, 1.5vw, 18px);
  line-height:1.7;
  color:var(--ks-blog-muted);
}

.ks-blog-nav__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:28px;
  margin-top:-44px;
  position:relative;
  z-index:5;
}

.ks-blog-nav__panel{
  position:relative;
  min-height:460px;
  border-radius:28px;
  overflow:hidden;
  background:#0b0b0b;
  border:1px solid rgba(255,255,255,0.08);
  text-decoration:none;
  color:inherit;
  display:flex;
  align-items:flex-end;
  transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
  box-shadow:0 20px 60px rgba(0,0,0,.32);
}

.ks-blog-nav__panel:hover{
  transform:translateY(-4px);
  border-color:rgba(255,255,255,0.14);
  box-shadow:0 26px 80px rgba(0,0,0,.42);
}

.ks-blog-nav__panel-media{
  position:absolute;
  inset:0;
  z-index:0;
}

.ks-blog-nav__panel-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transform:scale(1.01);
  transition:transform .6s ease;
}

.ks-blog-nav__panel:hover .ks-blog-nav__panel-image{
  transform:scale(1.045);
}

.ks-blog-nav__panel-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.60) 42%, rgba(0,0,0,.18) 100%);
}

.ks-blog-nav__panel-content{
  position:relative;
  z-index:2;
  width:100%;
  padding:30px 28px 28px;
}

.ks-blog-nav__panel-label{
  display:inline-flex;
  margin-bottom:14px;
  font-size:11px;
  line-height:1;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--ks-blog-accent);
}

.ks-blog-nav__panel-title{
  margin:0;
  font-size:clamp(26px, 2.4vw, 42px);
  line-height:1.03;
  letter-spacing:.01em;
  color:var(--ks-blog-text);
  max-width:540px;
}

.ks-blog-nav__panel-text{
  margin:14px 0 0;
  max-width:520px;
  font-size:15px;
  line-height:1.7;
  color:var(--ks-blog-muted);
}

.ks-blog-nav__panel-cta{
  margin-top:22px;
}

.ks-blog-nav__panel-cta span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.05);
  color:var(--ks-blog-text);
  font-size:12px;
  line-height:1;
  letter-spacing:.22em;
  text-transform:uppercase;
  transition:transform .25s ease, border-color .25s ease, background .25s ease;
}

.ks-blog-nav__panel:hover .ks-blog-nav__panel-cta span{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,0.20);
  background:rgba(255,255,255,0.08);
}

.ks-blog-nav__bottom{
  padding:28px 0 72px;
  max-width:860px;
}

.ks-blog-nav__bottom-text{
  font-size:16px;
  line-height:1.75;
  color:var(--ks-blog-muted);
}

@media screen and (max-width: 989px){
  .ks-blog-nav__hero{
    min-height:500px;
  }

  .ks-blog-nav__hero-inner{
    padding:92px 0 42px;
  }

  .ks-blog-nav__grid{
    grid-template-columns:1fr;
    margin-top:-24px;
  }

  .ks-blog-nav__panel{
    min-height:420px;
  }
}

@media screen and (max-width: 749px){
  .ks-blog-nav__hero{
    min-height:520px;
  }

  .ks-blog-nav__hero-image--desktop{
    display:none;
  }

  .ks-blog-nav__hero-image--mobile{
    display:block;
  }

  .ks-blog-nav__hero-inner{
    padding:86px 0 34px;
  }

  .ks-blog-nav__eyebrow{
    margin-bottom:14px;
    font-size:11px;
    letter-spacing:.22em;
  }

  .ks-blog-nav__lead{
    margin-top:16px;
    font-size:14px;
    line-height:1.65;
  }

  .ks-blog-nav__grid{
    gap:18px;
  }

  .ks-blog-nav__panel{
    min-height:360px;
    border-radius:22px;
  }

  .ks-blog-nav__panel-content{
    padding:22px 20px 20px;
  }

  .ks-blog-nav__panel-title{
    font-size:28px;
  }

  .ks-blog-nav__panel-text{
    font-size:14px;
    line-height:1.65;
  }

  .ks-blog-nav__panel-cta{
    margin-top:18px;
  }

  .ks-blog-nav__panel-cta span{
    min-height:42px;
    padding:11px 14px;
    font-size:11px;
    letter-spacing:.18em;
  }

  .ks-blog-nav__bottom{
    padding:18px 0 52px;
  }

  .ks-blog-nav__bottom-text{
    font-size:15px;
    line-height:1.7;
  }
}
/* ======================================================
   KS BLOG CATEGORY
====================================================== */

.ks-blog-category{
  background:var(--ks-bc-bg);
  color:var(--ks-bc-text);
  position:relative;
  overflow:hidden;
}

.ks-blog-category__intro{
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) minmax(320px, .8fr);
  gap:36px;
  align-items:end;
  padding:56px 0 34px;
}

.ks-blog-category__intro-copy{
  max-width:900px;
}

.ks-blog-category__eyebrow{
  display:inline-flex;
  align-items:center;
  margin-bottom:16px;
  font-size:12px;
  line-height:1;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--ks-bc-accent);
}

.ks-blog-category__title{
  margin:0;
  font-size:clamp(30px, 4vw, 56px);
  line-height:1;
  letter-spacing:.01em;
  color:var(--ks-bc-text);
}

.ks-blog-category__lead{
  margin-top:18px;
  max-width:760px;
  font-size:16px;
  line-height:1.75;
  color:var(--ks-bc-muted);
}

.ks-blog-category__intro-media{
  position:relative;
  min-height:280px;
  border-radius:24px;
  overflow:hidden;
  background:#0b0b0b;
  border:1px solid rgba(255,255,255,.08);
}

.ks-blog-category__intro-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

.ks-blog-category__section-label{
  margin-bottom:16px;
  font-size:11px;
  line-height:1;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--ks-bc-accent);
}

.ks-blog-category__featured{
  padding:8px 0 28px;
}

.ks-blog-category__featured-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) minmax(0, .8fr);
  gap:24px;
}

.ks-blog-category__featured-stack{
  display:grid;
  gap:24px;
}

.ks-blog-category__featured-card{
  position:relative;
  display:flex;
  align-items:flex-end;
  min-height:520px;
  border-radius:28px;
  overflow:hidden;
  background:#0a0a0a;
  border:1px solid rgba(255,255,255,.08);
  text-decoration:none;
  color:inherit;
  box-shadow:0 20px 60px rgba(0,0,0,.32);
  transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.ks-blog-category__featured-card--secondary{
  min-height:248px;
}

.ks-blog-category__featured-card:hover{
  transform:translateY(-4px);
  border-color:rgba(255,255,255,.14);
  box-shadow:0 26px 80px rgba(0,0,0,.42);
}

.ks-blog-category__featured-media{
  position:absolute;
  inset:0;
  z-index:0;
}

.ks-blog-category__featured-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transform:scale(1.01);
  transition:transform .6s ease;
}

.ks-blog-category__featured-card:hover .ks-blog-category__featured-image{
  transform:scale(1.045);
}

.ks-blog-category__featured-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.62) 42%, rgba(0,0,0,.18) 100%);
}

.ks-blog-category__featured-content{
  position:relative;
  z-index:2;
  width:100%;
  padding:30px 28px 28px;
}

.ks-blog-category__featured-title{
  margin:0;
  font-size:clamp(24px, 2.6vw, 42px);
  line-height:1.04;
  color:var(--ks-bc-text);
}

.ks-blog-category__featured-text{
  margin:14px 0 0;
  max-width:560px;
  font-size:15px;
  line-height:1.72;
  color:var(--ks-bc-muted);
}

.ks-blog-category__featured-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 16px;
  margin-top:22px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:var(--ks-bc-text);
  font-size:12px;
  line-height:1;
  letter-spacing:.2em;
  text-transform:uppercase;
}

.ks-blog-category__articles{
  padding:8px 0 72px;
}

.ks-blog-category__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
}

.ks-blog-category__card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:460px;
  border-radius:26px;
  overflow:hidden;
  background:#0b0b0b;
  border:1px solid rgba(255,255,255,.08);
  text-decoration:none;
  color:inherit;
  box-shadow:0 18px 52px rgba(0,0,0,.28);
  transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.ks-blog-category__card:hover{
  transform:translateY(-4px);
  border-color:rgba(255,255,255,.14);
  box-shadow:0 24px 72px rgba(0,0,0,.38);
}

.ks-blog-category__card-media{
  position:relative;
  min-height:250px;
  overflow:hidden;
}

.ks-blog-category__card-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  position:absolute;
  inset:0;
  transform:scale(1.01);
  transition:transform .6s ease;
}

.ks-blog-category__card:hover .ks-blog-category__card-image{
  transform:scale(1.045);
}

.ks-blog-category__card-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to top, rgba(0,0,0,.16) 0%, rgba(0,0,0,0) 100%);
}

.ks-blog-category__card-content{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  padding:22px 22px 24px;
}

.ks-blog-category__card-label{
  display:inline-flex;
  align-self:flex-start;
  margin-bottom:12px;
  font-size:10px;
  line-height:1;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ks-bc-accent);
}

.ks-blog-category__card-title{
  margin:0;
  font-size:24px;
  line-height:1.08;
  color:var(--ks-bc-text);
}

.ks-blog-category__card-text{
  margin:14px 0 0;
  font-size:14px;
  line-height:1.72;
  color:var(--ks-bc-muted);
}

.ks-blog-category__card-cta{
  display:inline-flex;
  align-items:center;
  margin-top:auto;
  padding-top:20px;
  font-size:11px;
  line-height:1;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--ks-bc-text);
}

.ks-blog-category__empty{
  min-height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  border-radius:24px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  color:var(--ks-bc-muted);
  text-align:center;
  font-size:15px;
  line-height:1.7;
}

@media screen and (max-width: 989px){
  .ks-blog-category__intro{
    grid-template-columns:1fr;
    gap:22px;
    padding:44px 0 28px;
  }

  .ks-blog-category__featured-grid{
    grid-template-columns:1fr;
  }

  .ks-blog-category__featured-stack{
    grid-template-columns:1fr 1fr;
  }

  .ks-blog-category__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 749px){
  .ks-blog-category__intro{
    padding:34px 0 24px;
  }

  .ks-blog-category__eyebrow{
    margin-bottom:12px;
    font-size:11px;
    letter-spacing:.22em;
  }

  .ks-blog-category__lead{
    margin-top:14px;
    font-size:14px;
    line-height:1.68;
  }

  .ks-blog-category__intro-media{
    min-height:220px;
    border-radius:20px;
  }

  .ks-blog-category__featured{
    padding:2px 0 22px;
  }

  .ks-blog-category__featured-grid,
  .ks-blog-category__featured-stack,
  .ks-blog-category__grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .ks-blog-category__featured-card{
    min-height:380px;
    border-radius:22px;
  }

  .ks-blog-category__featured-card--secondary{
    min-height:240px;
  }

  .ks-blog-category__featured-content{
    padding:22px 20px 20px;
  }

  .ks-blog-category__articles{
    padding:6px 0 52px;
  }

  .ks-blog-category__card{
    min-height:400px;
    border-radius:22px;
  }

  .ks-blog-category__card-media{
    min-height:220px;
  }

  .ks-blog-category__card-content{
    padding:20px 18px 20px;
  }

  .ks-blog-category__card-title{
    font-size:22px;
  }

  .ks-blog-category__card-text{
    font-size:14px;
    line-height:1.66;
  }
}
/* ======================================================
   KS INVISIBLE SEO LAYER
====================================================== */

.ks-seo-invisible{
  width:min(100%, 1320px);
  margin:56px auto 0;
  padding:0 24px;
  color:rgba(255,255,255,.72);
}

.ks-seo-invisible__title,
.ks-seo-invisible__subtitle{
  margin:0 0 16px;
  color:#fff;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1.2;
}

.ks-seo-invisible__title{
  font-size:clamp(18px, 2vw, 24px);
}

.ks-seo-invisible__subtitle{
  font-size:13px;
  margin-top:28px;
}

.ks-seo-invisible__intro,
.ks-seo-invisible__body,
.ks-seo-invisible__faq-items,
.ks-seo-invisible__link-list{
  font-size:14px;
  line-height:1.8;
}

.ks-seo-invisible__intro p,
.ks-seo-invisible__body p,
.ks-seo-invisible__faq-items p{
  margin:0 0 14px;
}

.ks-seo-invisible__body h2,
.ks-seo-invisible__body h3,
.ks-seo-invisible__body h4,
.ks-seo-invisible__faq-items h2,
.ks-seo-invisible__faq-items h3,
.ks-seo-invisible__faq-items h4{
  margin:24px 0 10px;
  color:#fff;
  font-size:15px;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.ks-seo-invisible__body ul,
.ks-seo-invisible__body ol,
.ks-seo-invisible__faq-items ul,
.ks-seo-invisible__faq-items ol{
  margin:0 0 16px 20px;
}

.ks-seo-invisible__links{
  margin-top:28px;
}

.ks-seo-invisible__link-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
}

.ks-seo-invisible__link-list a{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  transition:border-color .22s ease, background .22s ease, opacity .22s ease;
  background:rgba(255,255,255,.03);
}

.ks-seo-invisible__link-list a:hover{
  border-color:var(--ks-accent, #DE3C77);
  background:rgba(255,255,255,.06);
}

@media (max-width: 767px){
  .ks-seo-invisible{
    margin-top:40px;
    padding:0 16px;
  }

  .ks-seo-invisible__intro,
  .ks-seo-invisible__body,
  .ks-seo-invisible__faq-items,
  .ks-seo-invisible__link-list{
    font-size:13px;
    line-height:1.75;
  }

  .ks-seo-invisible__link-list{
    gap:8px;
  }

  .ks-seo-invisible__link-list a{
    min-height:34px;
    padding:7px 12px;
    font-size:12px;
  }
}
/* ======================================================
   KS INFO / POLICY SAFE FIX
====================================================== */

.shopify-policy__container,
.shopify-policy__container * {
  color: #ffffff !important;
}

.shopify-policy__container a {
  color: #DE3C77 !important;
}

.main-page,
.main-page *,
.page-content,
.page-content *,
.rte,
.rte * {
  color: #ffffff;
}

.main-page a,
.page-content a,
.rte a {
  color: #DE3C77;
}
/* ======================================================
   KS INFO PAGES / TRACKING FORM FIX
====================================================== */

.main-page,
.main-page .rte,
.main-page .page-content,
.main-page .spr-container,
.main-page .shopify-section {
  color: #ffffff;
}

.main-page p,
.main-page li,
.main-page span,
.main-page strong,
.main-page em,
.main-page label,
.main-page legend,
.main-page h1,
.main-page h2,
.main-page h3,
.main-page h4,
.main-page h5,
.main-page h6 {
  color: #ffffff;
}

.main-page a {
  color: #DE3C77;
}

/* Formulare auf Inhaltsseiten */
.main-page input,
.main-page textarea,
.main-page select {
  color: #ffffff !important;
  background: transparent;
  border-color: rgba(255,255,255,0.22);
}

.main-page input::placeholder,
.main-page textarea::placeholder {
  color: rgba(255,255,255,0.55) !important;
}

/* Eingebettete Tracking-/Kontakt-/Info-Widgets */
.main-page form,
.main-page form * {
  color: #ffffff;
}

/* Tabellen / Sonderlayouts */
.main-page td,
.main-page th {
  color: #ffffff;
  border-color: rgba(255,255,255,0.14);
}
/* ======================================================
   KS EMBED / WIDGET DARK TEXT FIX
====================================================== */

.main-page iframe {
  color-scheme: dark;
}

.main-page [class*="track"],
.main-page [class*="Track"],
.main-page [class*="parcel"],
.main-page [class*="Parcel"],
.main-page [class*="shipment"],
.main-page [class*="Shipment"],
.main-page [class*="order"],
.main-page [class*="Order"] {
  color: #ffffff !important;
}
/* ======================================================
   KS CONTACT / TRACKING FORM SAFE FIX
====================================================== */

/* Kontakt- und Inhaltsseiten-Formulare */
.main-page form,
.main-page .form-vertical,
.main-page .contact-form,
.main-page .rte form {
  color: #ffffff;
}

/* Labels, Hinweise, Formulartext */
.main-page form label,
.main-page form legend,
.main-page form p,
.main-page form span,
.main-page form strong,
.main-page form em,
.main-page .form-vertical label,
.main-page .contact-form label {
  color: #ffffff !important;
}

/* Eingabefelder */
.main-page form input,
.main-page form textarea,
.main-page form select,
.main-page .form-vertical input,
.main-page .form-vertical textarea,
.main-page .form-vertical select,
.main-page .contact-form input,
.main-page .contact-form textarea,
.main-page .contact-form select {
  color: #ffffff !important;
  background: rgba(255,255,255,0.02) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
}

/* Placeholder */
.main-page form input::placeholder,
.main-page form textarea::placeholder,
.main-page .form-vertical input::placeholder,
.main-page .form-vertical textarea::placeholder,
.main-page .contact-form input::placeholder,
.main-page .contact-form textarea::placeholder {
  color: rgba(255,255,255,0.5) !important;
}

/* Fokus */
.main-page form input:focus,
.main-page form textarea:focus,
.main-page form select:focus,
.main-page .form-vertical input:focus,
.main-page .form-vertical textarea:focus,
.main-page .form-vertical select:focus,
.main-page .contact-form input:focus,
.main-page .contact-form textarea:focus,
.main-page .contact-form select:focus {
  color: #ffffff !important;
  border-color: rgba(222,60,119,0.75) !important;
  box-shadow: 0 0 0 1px rgba(222,60,119,0.35) !important;
  outline: none;
}

/* Textarea-Hintergrund sicher dunkel */
.main-page form textarea,
.main-page .form-vertical textarea,
.main-page .contact-form textarea {
  min-height: 160px;
}

/* Buttons nicht kaputtstylen */
.main-page form .btn,
.main-page form button,
.main-page .form-vertical .btn,
.main-page .form-vertical button,
.main-page .contact-form .btn,
.main-page .contact-form button {
  color: #ffffff !important;
}
/* ======================================================
   KS TRACKING PAGE SAFE FIX
====================================================== */

.main-page iframe {
  color-scheme: dark;
}

.main-page [class*="track"],
.main-page [class*="Track"],
.main-page [class*="tracking"],
.main-page [class*="Tracking"],
.main-page [class*="parcel"],
.main-page [class*="Parcel"],
.main-page [class*="shipment"],
.main-page [class*="Shipment"] {
  color: #ffffff !important;
}

.main-page [class*="track"] input,
.main-page [class*="Track"] input,
.main-page [class*="tracking"] input,
.main-page [class*="Tracking"] input,
.main-page [class*="parcel"] input,
.main-page [class*="Parcel"] input,
.main-page [class*="shipment"] input,
.main-page [class*="Shipment"] input {
  color: #ffffff !important;
  background: rgba(255,255,255,0.02) !important;
  border-color: rgba(255,255,255,0.18) !important;
}

.main-page [class*="track"] input::placeholder,
.main-page [class*="Track"] input::placeholder,
.main-page [class*="tracking"] input::placeholder,
.main-page [class*="Tracking"] input::placeholder,
.main-page [class*="parcel"] input::placeholder,
.main-page [class*="Parcel"] input::placeholder,
.main-page [class*="shipment"] input::placeholder,
.main-page [class*="Shipment"] input::placeholder {
  color: rgba(255,255,255,0.5) !important;
}
/* ======================================================
   KS CONTACT & TRACKING HARD FIX
   (Impulse + externe Forms)
====================================================== */

/* ===== GLOBAL PAGE FORM WRAPPER ===== */
.template-page form,
.template-page .form-vertical,
.template-page .contact-form,
.template-page .rte form {
  color: #fff !important;
}

/* ===== TEXT / LABELS ===== */
.template-page form *,
.template-page .form-vertical *,
.template-page .contact-form * {
  color: #fff !important;
}

/* ===== INPUTS ===== */
.template-page input,
.template-page textarea,
.template-page select {
  color: #fff !important;
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
}

/* ===== PLACEHOLDER ===== */
.template-page input::placeholder,
.template-page textarea::placeholder {
  color: rgba(255,255,255,0.5) !important;
}

/* ===== FOCUS ===== */
.template-page input:focus,
.template-page textarea:focus,
.template-page select:focus {
  border-color: #DE3C77 !important;
  box-shadow: 0 0 0 1px rgba(222,60,119,0.4) !important;
  outline: none !important;
}

/* ===== TEXTAREA ===== */
.template-page textarea {
  min-height: 160px;
}

/* ======================================================
   TRACKING / EMBED WIDGET (aggressiv)
====================================================== */

.template-page iframe {
  color-scheme: dark;
}

/* typische Tracking-Wrapper */
.template-page [class*="track"],
.template-page [class*="Track"],
.template-page [class*="tracking"],
.template-page [class*="Tracking"],
.template-page [class*="parcel"],
.template-page [class*="Parcel"],
.template-page [class*="shipment"],
.template-page [class*="Shipment"],
.template-page [id*="track"],
.template-page [id*="Track"],
.template-page [id*="tracking"],
.template-page [id*="Tracking"] {
  color: #fff !important;
}

/* Inputs in Tracking */
.template-page [class*="track"] input,
.template-page [class*="tracking"] input,
.template-page [class*="parcel"] input,
.template-page [class*="shipment"] input {
  color: #fff !important;
  background: rgba(255,255,255,0.03) !important;
  border-color: rgba(255,255,255,0.25) !important;
}
/* ======================================================
   KS CONTACT FORM FIX - CLEAN SCOPED VERSION
====================================================== */

/* Nur Formularbereich auf Page-Templates */
.template-page .form-vertical,
.template-page .contact-form,
.template-page form.contact-form,
.template-page .rte .form-vertical,
.template-page .rte .contact-form {
  color: #ffffff !important;
}

/* Nur Labels und Hilfstexte im Formular */
.template-page .form-vertical label,
.template-page .form-vertical legend,
.template-page .form-vertical .form__label,
.template-page .form-vertical .input-label,
.template-page .contact-form label,
.template-page .contact-form legend,
.template-page .contact-form .form__label,
.template-page .contact-form .input-label,
.template-page form.contact-form label,
.template-page form.contact-form legend,
.template-page .shopify-challenge__container label,
.template-page .shopify-challenge__container p,
.template-page .shopify-challenge__container span {
  color: rgba(255,255,255,0.92) !important;
}

/* Inputs / Textarea / Select deutlich sichtbarer */
.template-page .form-vertical input,
.template-page .form-vertical textarea,
.template-page .form-vertical select,
.template-page .contact-form input,
.template-page .contact-form textarea,
.template-page .contact-form select,
.template-page form.contact-form input,
.template-page form.contact-form textarea,
.template-page form.contact-form select {
  color: #ffffff !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.32) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04);
}

/* Placeholder */
.template-page .form-vertical input::placeholder,
.template-page .form-vertical textarea::placeholder,
.template-page .contact-form input::placeholder,
.template-page .contact-form textarea::placeholder,
.template-page form.contact-form input::placeholder,
.template-page form.contact-form textarea::placeholder {
  color: rgba(255,255,255,0.58) !important;
}

/* Fokuszustand klarer sichtbar */
.template-page .form-vertical input:focus,
.template-page .form-vertical textarea:focus,
.template-page .form-vertical select:focus,
.template-page .contact-form input:focus,
.template-page .contact-form textarea:focus,
.template-page .contact-form select:focus,
.template-page form.contact-form input:focus,
.template-page form.contact-form textarea:focus,
.template-page form.contact-form select:focus {
  color: #ffffff !important;
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(222,60,119,0.9) !important;
  box-shadow:
    0 0 0 1px rgba(222,60,119,0.45),
    0 0 18px rgba(222,60,119,0.12) !important;
  outline: none !important;
}

/* Textarea etwas präsenter */
.template-page .form-vertical textarea,
.template-page .contact-form textarea,
.template-page form.contact-form textarea {
  min-height: 180px;
}

/* hCaptcha / Rechtshinweis im Formular */
.template-page .contact-form .rte,
.template-page .form-vertical .rte,
.template-page form.contact-form .rte,
.template-page .shopify-challenge__container,
.template-page .shopify-challenge__container * {
  color: rgba(255,255,255,0.78) !important;
}

/* Links nur innerhalb des Formular-/Captcha-Hinweises */
.template-page .contact-form .rte a,
.template-page .form-vertical .rte a,
.template-page form.contact-form .rte a,
.template-page .shopify-challenge__container a {
  color: #ffffff !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Buttons im Formular */
.template-page .form-vertical .btn,
.template-page .form-vertical button,
.template-page .contact-form .btn,
.template-page .contact-form button,
.template-page form.contact-form .btn,
.template-page form.contact-form button {
  color: #ffffff !important;
}
/* ======================================================
   KS PARCELPANEL TRACKING DARK FIX
====================================================== */

/* Hauptcontainer */
#pp-tracking-page-app,
.pp_tracking_content,
.pp_tracking_inner_div {
  color: #ffffff !important;
}

/* ALLE Texte im Widget */
#pp-tracking-page-app *,
.pp_tracking_content *,
.pp_tracking_inner_div * {
  color: #ffffff !important;
}

/* Inputs */
.pp_tracking_content input,
.pp_tracking_content textarea,
.pp_tracking_content select {
  color: #ffffff !important;
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
}

/* Placeholder */
.pp_tracking_content input::placeholder,
.pp_tracking_content textarea::placeholder {
  color: rgba(255,255,255,0.5) !important;
}

/* Fokus */
.pp_tracking_content input:focus,
.pp_tracking_content textarea:focus,
.pp_tracking_content select:focus {
  border-color: #DE3C77 !important;
  box-shadow: 0 0 0 1px rgba(222,60,119,0.4) !important;
  outline: none !important;
}

/* Überschrift */
.pp_tracking_title,
.pp_tracking_title * {
  color: #ffffff !important;
}

/* Linien / Divider */
.pp_tracking_form_line,
.pp_tracking_line_center {
  border-color: rgba(255,255,255,0.15) !important;
}

/* Button (falls überschrieben wird) */
.pp_tracking_content button {
  color: #ffffff !important;
}

/* "Powered by" / Footer im Widget */
[id*="pp"] div[style*="color: rgb(17, 17, 17)"] {
  color: rgba(255,255,255,0.4) !important;
}
.pp_tracking_content {
  background: #000 !important;
}

.pp_tracking_form_inner {
  border: 1px solid rgba(255,255,255,0.08);
  padding: 20px;
  border-radius: 8px;
}
/* ======================================================
   KS PARCELPANEL PREMIUM LOOK
====================================================== */

/* Container */
#pp-tracking-page-app {
  max-width: 900px;
  margin: 0 auto;
}

/* Innerer Bereich */
.pp_tracking_inner_div {
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  padding: 30px;
  backdrop-filter: blur(6px);
}

/* Titel */
.pp_tracking_title {
  text-align: center;
  margin-bottom: 25px;
}

.pp_tracking_title h1 {
  font-size: 20px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #ffffff;
}

/* Form Layout */
.pp_tracking_form_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

/* Divider Linie */
.pp_tracking_line_center {
  width: 1px;
  height: 40px;
  background: rgba(255,255,255,0.12);
}

/* Input Wrapper */
.pp_tracking_form_order,
.pp_tracking_form_number {
  flex: 1;
}

/* Inputs */
.pp_tracking_content input {
  width: 100%;
  padding: 12px 14px;

  font-size: 13px;
  letter-spacing: 0.05em;

  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 6px;

  transition: all 0.2s ease;
}

/* Fokus = KS Glow */
.pp_tracking_content input:focus {
  border-color: #DE3C77;
  background: rgba(255,255,255,0.06);

  box-shadow:
    0 0 0 1px rgba(222,60,119,0.45),
    0 0 16px rgba(222,60,119,0.15);
}

/* Placeholder */
.pp_tracking_content input::placeholder {
  color: rgba(255,255,255,0.45);
  letter-spacing: 0.08em;
}

/* Button */
.pp_tracking_content button {
  background: #DE3C77;
  color: #ffffff;
  border: none;
  padding: 12px 26px;

  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;

  border-radius: 4px;

  transition: all 0.25s ease;
}

/* Button Hover */
.pp_tracking_content button:hover {
  background: #ff4f94;

  box-shadow:
    0 0 12px rgba(222,60,119,0.35),
    0 0 28px rgba(222,60,119,0.15);
}

/* Mobile Fix */
@media (max-width: 768px) {

  .pp_tracking_form_inner {
    flex-direction: column;
    gap: 12px;
  }

  .pp_tracking_line_center {
    display: none;
  }

  .pp_tracking_content button {
    width: 100%;
  }
}
/* ======================================================
   KS TRACKING OVERLAY
====================================================== */

.ks-tracking-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}

.ks-tracking-overlay.active {
  display: block;
}

.ks-tracking-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.85);
  backdrop-filter: blur(10px);
}

.ks-tracking-modal {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  width: 90%;
  max-width: 900px;

  background: #000;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 10px;

  padding: 30px;
}

.ks-tracking-header {
  text-align: center;
  margin-bottom: 20px;
}

.ks-tracking-header h2 {
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ks-tracking-close {
  position: absolute;
  top: 10px;
  right: 14px;
  background: none;
  border: none;
  color: #fff;
  font-size: 22px;
  cursor: pointer;
}
/* ======================================================
   KS MOBILE FOOTER ACCORDION FIX
====================================================== */

@media (max-width: 989px) {
  .site-footer .footer__title,
  .site-footer .footer__heading,
  .site-footer .h4,
  .site-footer [data-footer-toggle] {
    cursor: pointer;
    user-select: none;
  }

  .site-footer .footer__collapsible,
  .site-footer .footer__menu,
  .site-footer .footer-block__content,
  .site-footer .footer__linklist {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition:
      max-height 0.28s ease,
      opacity 0.2s ease;
  }

  .site-footer .is-open > .footer__collapsible,
  .site-footer .is-open > .footer__menu,
  .site-footer .is-open > .footer-block__content,
  .site-footer .is-open > .footer__linklist {
    max-height: 800px;
    opacity: 1;
  }

  .site-footer .footer__title,
  .site-footer .footer__heading,
  .site-footer .h4 {
    position: relative;
  }

  .site-footer .footer__title[aria-expanded="true"],
  .site-footer .footer__heading[aria-expanded="true"],
  .site-footer .h4[aria-expanded="true"] {
    color: #ffffff;
  }
}
/* ======================================================
   KS MOBILE FOOTER ACCORDION HARD FIX
====================================================== */

@media (max-width: 989px) {
  .site-footer summary,
  .site-footer .footer__title,
  .site-footer .footer__heading,
  .site-footer .footer-block__heading,
  .site-footer .collapsible-trigger,
  .site-footer [data-collapsible-trigger] {
    cursor: pointer;
  }

  .site-footer [data-ks-footer-content="true"] {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.28s ease, opacity 0.2s ease;
  }
}