/*
Theme Name: KaartKoorts V12 Shop
Theme URI: https://kaartkoorts.com
Author: KaartKoorts
Description: Custom neon WooCommerce theme for KaartKoorts.
Version: 12.0.0
Text Domain: kaartkoorts
*/

:root {
  --bg: #05030b;
  --bg-2: #0a0714;
  --panel: rgba(10, 8, 18, 0.82);
  --panel-strong: rgba(11, 8, 20, 0.95);
  --text: #ffffff;
  --muted: #d8d4e8;
  --line: rgba(186, 110, 255, 0.32);
  --purple: #b92bff;
  --purple-2: #7b26ff;
  --pink: #ff4de0;
  --orange: #ff8800;
  --orange-2: #ffc24a;
  --shadow-purple: 0 0 22px rgba(185, 43, 255, 0.35);
  --shadow-orange: 0 0 22px rgba(255, 136, 0, 0.35);
  --container: 1360px;
  --radius-xl: 26px;
  --radius-lg: 22px;
  --radius-md: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

/* Anchor offsets for the sticky header */
#concept, #automaten, #shop, #suppliers-preview { scroll-margin-top: 120px; }
#concept { scroll-margin-top: 136px; }
#locaties { scroll-margin-top: 128px; }
#contact { scroll-margin-top: 115px; }

body.admin-bar #concept,
body.admin-bar #automaten,
body.admin-bar #shop,
body.admin-bar #suppliers-preview { scroll-margin-top: 168px; }
body.admin-bar #locaties { scroll-margin-top: 160px; }
body.admin-bar #contact { scroll-margin-top: 147px; }
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 20% 0%, rgba(138, 42, 255, 0.18), transparent 28%),
    radial-gradient(circle at 82% 10%, rgba(255, 124, 0, 0.18), transparent 25%),
    radial-gradient(circle at 50% 70%, rgba(255, 57, 200, 0.11), transparent 30%),
    linear-gradient(180deg, #04020a 0%, #080511 42%, #05030b 100%);
  min-height: 100vh;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: linear-gradient(180deg, rgba(255,255,255,0.55), rgba(255,255,255,0));
  opacity: .35;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.container { width: min(var(--container), calc(100% - 32px)); margin: 0 auto; }
.section { padding: 30px 0; }
.section-title {
  margin: 0 0 10px;
  font-size: clamp(1.9rem, 2.5vw, 3.2rem);
  line-height: 1.05;
  font-weight: 900;
}
.section-title .accent {
  background: linear-gradient(90deg, #ffb13a 0%, #ff8a00 38%, #ff56d7 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.section-lead {
  margin: 0;
  max-width: 760px;
  color: var(--muted);
  font-size: 1.06rem;
  line-height: 1.7;
}
.kicker {
  display: inline-block;
  margin-bottom: 12px;
  font-size: .95rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #f15bff;
}
.glow-card, .panel {
  position: relative;
  background: linear-gradient(180deg, rgba(15, 11, 25, 0.92), rgba(7, 5, 14, 0.93));
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: 0 18px 46px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.04);
  overflow: hidden;
}
.glow-card::before, .panel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255,255,255,.04), transparent 35%, transparent 65%, rgba(255,255,255,.03));
}
.btn-row { display: flex; flex-wrap: wrap; gap: 14px; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 22px;
  border-radius: 16px;
  font-weight: 800;
  font-size: 1rem;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary {
  color: #fff;
  background: linear-gradient(90deg, #8e23ff, #d140ff);
  box-shadow: 0 10px 30px rgba(173, 40, 255, 0.34), inset 0 0 0 1px rgba(255,255,255,.12);
}
.btn-secondary {
  color: #fff;
  background: linear-gradient(90deg, rgba(255, 136, 0, 0.92), rgba(255, 94, 0, 0.92));
  box-shadow: 0 10px 30px rgba(255, 120, 0, 0.28), inset 0 0 0 1px rgba(255,255,255,.12);
}
.btn-ghost {
  color: #fff;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: blur(14px);
  background: rgba(5, 3, 11, 0.82);
  border-bottom: 1px solid rgba(186, 110, 255, 0.18);
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 92px;
}
.brand img {
  width: min(260px, 40vw);
  filter: drop-shadow(0 0 18px rgba(185, 43, 255, .2));
}
.nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 28px;
}
.nav a {
  position: relative;
  font-weight: 800;
  font-size: 1.15rem;
  letter-spacing: .01em;
  color: #fff;
  text-shadow: 0 0 16px rgba(203, 67, 255, .18);
}
.nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 100%;
  height: 2px;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, var(--purple), var(--orange));
  transition: transform .18s ease;
}
.nav a:hover::after, .nav a:focus-visible::after { transform: scaleX(1); }

.hero {
  padding-top: 18px;
}
.hero-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid rgba(240, 104, 255, 0.28);
  background:
    linear-gradient(90deg, rgba(7,5,16,0.95) 0%, rgba(7,5,16,0.75) 34%, rgba(7,5,16,0.24) 64%, rgba(7,5,16,0.62) 100%),
    url('assets/hero-bg.png') center center / cover no-repeat;
  box-shadow: 0 22px 60px rgba(0,0,0,.48), 0 0 0 1px rgba(255,255,255,.03) inset;
}
.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  align-items: center;
  gap: 16px;
  min-height: 560px;
  padding: 36px 34px 34px;
}
.hero-copy { position: relative; z-index: 2; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  padding: 10px 16px;
  border-radius: 999px;
  font-size: .88rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: rgba(20, 11, 40, .55);
  border: 1px solid rgba(255,255,255,.09);
}
.hero h1 {
  margin: 0 0 18px;
  max-width: 660px;
  font-size: clamp(2.7rem, 4.7vw, 5rem);
  line-height: .98;
  font-weight: 900;
  letter-spacing: -.03em;
  text-wrap: balance;
}
.hero h1 .accent {
  display: inline-block;
  background: linear-gradient(90deg, #ffd76a 0%, #ff8a00 42%, #ff5ec6 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 0 28px rgba(255, 128, 0, .15);
}
.hero p {
  margin: 0 0 24px;
  max-width: 620px;
  color: #f0ecff;
  font-size: 1.18rem;
  line-height: 1.65;
}
.hero-visual {
  position: relative;
  min-height: 100%;
  display: grid;
  align-items: end;
  justify-items: end;
  padding-right: 6px;
}
.hero-machine {
  width: min(360px, 42vw);
  justify-self: end;
  filter: drop-shadow(0 28px 40px rgba(0,0,0,.45)) drop-shadow(0 0 25px rgba(255, 136, 0, .16));
  transform: translateY(18px);
}
.hero-sticker {
  position: absolute;
  right: 8px;
  top: 42px;
  width: min(220px, 18vw);
  filter: drop-shadow(0 0 20px rgba(255, 91, 222, .22));
}
.hero-badges {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 0;
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(4, 3, 10, .56);
}
.hero-badge {
  padding: 18px 16px;
  display: grid;
  gap: 6px;
}
.hero-badge + .hero-badge { border-left: 1px solid rgba(255,255,255,.06); }
.hero-badge strong { font-size: 1rem; }
.hero-badge span { font-size: .96rem; color: var(--muted); line-height: 1.45; }

.grid-3 {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr;
  gap: 18px;
}
.concept-copy { padding: 26px; }
.feature-card {
  padding: 24px;
  min-height: 100%;
}
.icon-badge {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  font-size: 1.6rem;
  margin-bottom: 18px;
  background: linear-gradient(135deg, rgba(187, 44, 255, .22), rgba(255, 126, 0, .18));
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--shadow-purple);
}
.feature-card h3, .machine-text h3, .product-card h3, .contact-card h3 { margin: 0 0 10px; font-size: 1.45rem; }
.feature-card p, .machine-text p, .product-card p, .contact-card p, .list-text { margin: 0; color: var(--muted); line-height: 1.65; }
.machine-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.machine-card {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(240px, .95fr);
  gap: 18px;
  align-items: center;
  padding: 24px;
}
.machine-text ul {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.machine-text li {
  position: relative;
  padding-left: 28px;
  color: var(--muted);
}
.machine-text li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #ffb13a;
  font-weight: 900;
}
.machine-art {
  padding: 14px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
  border: 1px solid rgba(255,255,255,.08);
}
.machine-art img { width: 100%; height: auto; }
.product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.product-card {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 18px;
  padding: 20px;
}
.product-card img {
  width: 140px;
  height: auto;
  align-self: start;
}
.product-meta {
  display: grid;
  align-content: start;
  gap: 10px;
}
.product-label { color: #f5b0ff; font-weight: 700; font-size: .98rem; }
.product-price {
  font-size: 2rem;
  font-weight: 900;
  margin-top: 4px;
}
.stock-tag {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-radius: 12px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.09);
  font-weight: 800;
  color: #e3dff1;
}
.location-card {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(320px, .9fr);
  gap: 18px;
  align-items: center;
  padding: 0;
  overflow: hidden;
}
.location-copy {
  padding: 30px;
}
.location-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
  margin: 22px 0 24px;
}
.location-point {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.location-visual {
  position: relative;
  min-height: 100%;
  padding: 24px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.35)),
    radial-gradient(circle at top left, rgba(185, 43, 255, .2), transparent 35%),
    radial-gradient(circle at bottom right, rgba(255, 129, 0, .22), transparent 38%),
    url('assets/hero-bg.png') center/cover no-repeat;
}
.location-visual img {
  width: 260px;
  margin-left: auto;
  filter: drop-shadow(0 18px 40px rgba(0,0,0,.55));
}
.location-note {
  position: absolute;
  right: 20px;
  bottom: 22px;
  width: min(210px, 38%);
}
.suppliers-grid, .contact-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 18px;
}
.text-list {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}
.text-list li {
  padding-left: 28px;
  position: relative;
  color: var(--muted);
  line-height: 1.55;
}
.text-list li::before {
  content: "✦";
  position: absolute;
  left: 0;
  top: 0;
  color: #ffaf2d;
}
.contact-card { padding: 24px; }
.contact-lines { display: grid; gap: 12px; margin-top: 16px; }
.contact-line {
  display: flex;
  gap: 12px;
  color: var(--muted);
  line-height: 1.55;
}
.site-footer {
  margin-top: 30px;
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(4,2,9,.75);
}
.footer-inner {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 20px;
  align-items: center;
  padding: 24px 0 30px;
}
.footer-brand img { width: 200px; }
.footer-meta { color: var(--muted); line-height: 1.7; }
.social-pills { display: flex; gap: 12px; flex-wrap: wrap; }
.pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.09);
  color: #fff;
  font-weight: 700;
}
.small-note { color: var(--muted); font-size: .95rem; }

@media (max-width: 1120px) {
  .hero-grid, .location-card, .suppliers-grid, .contact-grid { grid-template-columns: 1fr; }
  .hero-visual { justify-items: center; padding-top: 8px; }
  .hero-machine { width: min(320px, 60vw); justify-self: center; }
  .hero-sticker {
    position: static;
    width: min(240px, 46vw);
    justify-self: center;
    margin: 0 auto 8px;
  }
  .grid-3 { grid-template-columns: 1fr; }
  .machine-grid, .product-grid { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .header-inner { flex-direction: column; align-items: flex-start; padding: 14px 0; }
  .nav { gap: 14px 18px; justify-content: flex-start; }
  .nav a { font-size: 1rem; }
  .hero-grid { min-height: auto; padding: 26px 20px 22px; }
  .hero h1 { font-size: clamp(2.25rem, 10vw, 3.25rem); }
  .hero p { font-size: 1.02rem; }
  .hero-badges { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .hero-badge:nth-child(3) { border-left: none; }
  .machine-card, .product-card { grid-template-columns: 1fr; }
  .product-card img { width: 160px; }
  .location-points { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .container { width: min(100% - 20px, var(--container)); }
  .section { padding: 22px 0; }
  .hero-wrap { border-radius: 22px; }
  .hero-badges { grid-template-columns: 1fr; }
  .hero-badge + .hero-badge { border-left: none; border-top: 1px solid rgba(255,255,255,.06); }
  .btn-row { flex-direction: column; align-items: stretch; }
  .btn { width: 100%; }
  .section-title { font-size: 1.95rem; }
}


/* WordPress / WooCommerce integration */
body.admin-bar .site-header{top:32px}
.woocommerce-page main,.woocommerce main{max-width:1200px;margin:0 auto;padding:48px 24px}
.woocommerce ul.products li.product,.woocommerce div.product{color:#fff}
.woocommerce ul.products li.product .price,.woocommerce div.product p.price{color:#ff8a00}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:linear-gradient(90deg,#a621ff,#ef3cff)!important;color:#fff!important;border-radius:12px!important}
.woocommerce-message,.woocommerce-info{background:#15101f;color:#fff;border-top-color:#c62cff}
.woocommerce-message::before,.woocommerce-info::before{color:#d949ff}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce select{background:#120d19;color:#fff;border:1px solid #553066;border-radius:8px;padding:10px}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}

.product-shop-btn{display:inline-flex;margin-top:14px;align-items:center;justify-content:center;text-decoration:none;}


@media (max-width: 820px) {
  #concept, #automaten, #shop, #locaties, #suppliers-preview, #contact { scroll-margin-top: 205px; }
  body.admin-bar #concept, body.admin-bar #automaten, body.admin-bar #shop, body.admin-bar #locaties, body.admin-bar #suppliers-preview, body.admin-bar #contact { scroll-margin-top: 250px; }
}


/* ===== Automaten detail page ===== */
.automaten-page-hero { padding: 155px 0 34px; }
.automaten-page-hero .glow-card { padding: 38px; }
.automaten-page-hero .section-lead { max-width: 900px; }
.automaten-model-section { padding: 32px 0; }
.automaten-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
  gap: 24px;
  align-items: stretch;
}
.automaten-detail-grid.reverse { grid-template-columns: minmax(340px, .92fr) minmax(0, 1.08fr); }
.automaten-detail-copy { padding: 32px; }
.automaten-detail-copy h2 { margin-top: 0; }
.automaten-detail-copy .section-lead { max-width: none; }
.automaten-gallery {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.automaten-gallery-card {
  min-height: 520px;
  padding: 24px;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 30% 20%, rgba(185,43,255,.17), transparent 34%),
    radial-gradient(circle at 78% 78%, rgba(255,136,0,.16), transparent 35%),
    linear-gradient(180deg, rgba(15,11,25,.94), rgba(7,5,14,.95));
}
.automaten-gallery-card img {
  width: 100%;
  max-height: 600px;
  object-fit: contain;
  filter: drop-shadow(0 24px 34px rgba(0,0,0,.46));
}
.automaten-gallery-card.single img { max-width: 390px; }
.automaten-specs {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  margin-top: 24px;
}
.automaten-spec {
  padding: 15px 16px;
  border-radius: 14px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
}
.automaten-spec span { display:block; color:#cfc9df; font-size:.88rem; margin-bottom:4px; }
.automaten-spec strong { font-size:1rem; }
.automaten-feature-list {
  list-style:none;
  padding:0;
  margin:24px 0 0;
  display:grid;
  gap:12px;
}
.automaten-feature-list li {
  color:var(--muted);
  line-height:1.55;
  position:relative;
  padding-left:28px;
}
.automaten-feature-list li::before {
  content:'✓';
  position:absolute;
  left:0;
  color:#ffb13a;
  font-weight:900;
}
.automaten-page-cta { padding: 22px 0 70px; }
.automaten-page-cta .glow-card { padding: 34px; display:flex; justify-content:space-between; gap:24px; align-items:center; }
.automaten-page-cta .section-title { margin-bottom:8px; }
#wandmodel, #vrijstaand-model { scroll-margin-top: 135px; }
body.admin-bar #wandmodel, body.admin-bar #vrijstaand-model { scroll-margin-top: 168px; }

@media (max-width: 920px) {
  .automaten-page-hero { padding-top: 125px; }
  .automaten-detail-grid,
  .automaten-detail-grid.reverse { grid-template-columns: 1fr; }
  .automaten-detail-grid.reverse .automaten-gallery { order: 2; }
  .automaten-gallery-card { min-height: 390px; }
  .automaten-page-cta .glow-card { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 620px) {
  .automaten-page-hero .glow-card,
  .automaten-detail-copy { padding: 24px; }
  .automaten-specs { grid-template-columns: 1fr; }
  .automaten-gallery-card { min-height: 320px; padding:18px; }
}

.concept-extra { margin-top: 14px; }


/* ===== WooCommerce shop category navigation ===== */
.woocommerce main.kk-shop-shell,.woocommerce-page main.kk-shop-shell{max-width:none;margin:0;padding:132px 0 0;min-height:72vh}
.kk-shop-menu-wrap{
  position:relative;
  z-index:25;
  background:rgba(7,4,13,.97);
  border-top:1px solid rgba(255,255,255,.05);
  border-bottom:1px solid rgba(186,110,255,.26);
  box-shadow:0 14px 34px rgba(0,0,0,.24);
}
.kk-shop-menu{
  width:min(100% - 32px,var(--container));
  margin:0 auto;
  display:flex;
  gap:8px;
  align-items:stretch;
}
.kk-shop-menu-item{position:relative}
.kk-shop-menu-link{
  display:flex;
  align-items:center;
  min-height:58px;
  padding:0 24px;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
  font-size:.95rem;
  transition:.18s ease;
}
.kk-shop-menu-item:hover>.kk-shop-menu-link,
.kk-shop-menu-item:focus-within>.kk-shop-menu-link{
  color:#ffb13a;
  background:rgba(255,255,255,.035);
}
.kk-shop-menu-item:not(.kk-shop-menu-direct)>.kk-shop-menu-link::after{
  content:'▾';
  margin-left:9px;
  font-size:.72em;
  color:#e65bff;
}
.kk-shop-dropdown{
  position:absolute;
  left:0;
  top:100%;
  min-width:250px;
  padding:10px;
  margin:0;
  list-style:none;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s;
  border:1px solid rgba(186,110,255,.34);
  border-radius:0 0 16px 16px;
  background:rgba(11,7,18,.985);
  box-shadow:0 22px 46px rgba(0,0,0,.48),0 0 30px rgba(185,43,255,.10);
}
.kk-shop-menu-item:hover>.kk-shop-dropdown,
.kk-shop-menu-item:focus-within>.kk-shop-dropdown{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.kk-shop-dropdown a{
  display:block;
  padding:11px 13px;
  border-radius:9px;
  color:#eeeaf8;
  font-weight:700;
}
.kk-shop-dropdown a:hover,.kk-shop-dropdown a:focus{
  background:linear-gradient(90deg,rgba(166,33,255,.18),rgba(255,136,0,.11));
  color:#fff;
}
.kk-shop-dropdown li+li{border-top:1px solid rgba(255,255,255,.055)}
.kk-shop-content{max-width:1200px;margin:0 auto;padding:38px 24px 70px}
body.admin-bar.woocommerce main.kk-shop-shell,body.admin-bar.woocommerce-page main.kk-shop-shell{padding-top:164px}
@media(max-width:820px){
  .woocommerce main.kk-shop-shell,.woocommerce-page main.kk-shop-shell{padding-top:198px}
  body.admin-bar.woocommerce main.kk-shop-shell,body.admin-bar.woocommerce-page main.kk-shop-shell{padding-top:244px}
  .kk-shop-menu{flex-wrap:wrap;gap:0;width:100%;padding:0 10px}
  .kk-shop-menu-link{padding:0 17px;min-height:54px;white-space:nowrap}
  .kk-shop-dropdown{left:0;min-width:min(280px,calc(100vw - 24px))}
}

/* V11: active categories, touch navigation and empty product lists. */
.kk-shop-menu-item.is-active>.kk-shop-menu-link,
.kk-shop-dropdown a[aria-current="page"]{color:#ffb13a;background:rgba(166,33,255,.14)}
.kk-shop-menu-item.has-submenu{padding-right:30px}
.kk-shop-menu-toggle{position:absolute;right:0;top:9px;width:30px;height:40px;border:0;border-radius:7px;background:rgba(166,33,255,.15);color:#fff;cursor:pointer}
.kk-shop-menu-item.has-submenu>.kk-shop-menu-link::after{content:none}
.kk-shop-menu-item.is-open>.kk-shop-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.kk-shop-empty{padding:30px;border:1px solid rgba(186,110,255,.26);border-radius:16px;background:rgba(166,33,255,.06)}
.kk-shop-empty h2{margin:0 0 10px}
.kk-shop-empty p{margin:0 0 20px}

/* V12 shop: native WooCommerce products, cart and checkout. */
.site-header{z-index:100}
.header-inner{gap:20px}
.nav{gap:20px}
.nav a{font-size:1rem}
.kk-cart-link{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:#fff;font-weight:800;font-size:.8rem;padding:10px 12px;border:1px solid #5d3674;border-radius:12px}
.kk-cart-count{background:#bd39eb;border-radius:50%;min-width:22px;height:22px;display:grid;place-items:center}
.woocommerce main.kk-shop-shell,.woocommerce-page main.kk-shop-shell,
body.admin-bar.woocommerce main.kk-shop-shell,body.admin-bar.woocommerce-page main.kk-shop-shell{padding:0;max-width:none}
.kk-shop-menu{width:min(100% - 32px,1200px);gap:4px;flex-wrap:wrap}
.kk-shop-menu-link{font-size:.86rem;padding:0 18px;min-height:64px}
.kk-shop-menu-toggle{top:12px}
.kk-shop-all{display:flex;align-items:center;padding:0 18px;font-weight:800;font-size:.86rem;text-transform:uppercase}
.kk-shop-all.is-active{color:#ffb13a}
.kk-shop-menu-item:hover>.kk-shop-dropdown,.kk-shop-menu-item:focus-within>.kk-shop-dropdown{opacity:0;visibility:hidden;transform:translateY(8px)}
.kk-shop-menu-item.is-open>.kk-shop-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.kk-shop-content{padding-top:30px}
.woocommerce .woocommerce-products-header__title{font-size:clamp(2rem,5vw,3.1rem);margin:20px 0 24px;line-height:1.1}
.kk-product-search{display:flex;max-width:420px;margin:0 0 24px auto;border:1px solid #50325f;border-radius:12px;overflow:hidden;background:#120c1c}
.kk-product-search input{width:100%;min-width:0;border:0;background:transparent;padding:13px;color:#fff;font:inherit}
.kk-product-search button{border:0;background:#31203f;color:#fff;font-weight:700;padding:0 17px;cursor:pointer}
.woocommerce .woocommerce-result-count{color:#bcb1ce}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:24px 0 40px;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{float:none;width:auto;margin:0;padding:14px;display:flex;flex-direction:column;position:relative;border:1px solid #3c284a;border-radius:18px;background:linear-gradient(145deg,#1b1225,#100b18);overflow:hidden;transition:border-color .2s,transform .2s}
.woocommerce ul.products li.product:hover{border-color:#a954c7;transform:translateY(-3px)}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:block;flex:1;min-width:0}
.kk-product-image{height:230px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:11px;overflow:hidden;margin-bottom:16px}
.woocommerce ul.products li.product .kk-product-image img{width:100%;height:100%;object-fit:contain;margin:0}
.kk-stock-badge{position:absolute;z-index:2;top:24px;left:24px;padding:6px 10px;border-radius:30px;background:#231830;color:#fff;font-size:.68rem;font-weight:800;border:1px solid #775a89;letter-spacing:.03em}
.kk-product-language{color:#c38fd6;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.97rem;line-height:1.4;color:#fff;padding:8px 0 12px;overflow-wrap:anywhere}
.woocommerce ul.products li.product .button{display:block;text-align:center;margin-top:10px;padding:13px 8px;font-size:.84rem;line-height:1.3}
.woocommerce ul.products li.product .price{font-size:1.15rem;font-weight:800}
.woocommerce nav.woocommerce-pagination ul{border:0;display:inline-flex;gap:7px}
.woocommerce nav.woocommerce-pagination ul li{border:1px solid #58356d;border-radius:8px;overflow:hidden}
.woocommerce nav.woocommerce-pagination ul li span.current{background:#693082;color:#fff}
.woocommerce div.product div.images{background:#fff;border-radius:18px;overflow:hidden;padding:16px;box-sizing:border-box}
.woocommerce div.product div.images img{max-height:550px;object-fit:contain}
.woocommerce div.product .product_title{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.2}
.woocommerce div.product p.price{font-size:1.8rem}
.woocommerce div.product .stock.out-of-stock{display:inline-block;padding:9px 16px;border:1px solid #8c5c9a;border-radius:25px;color:#e2c9e8;background:#301c38;font-weight:800}
.kk-stock-note{color:#bcb1ce}
.woocommerce .quantity .qty{min-height:42px;color:#fff;background:#24172e;border:1px solid #704a81;border-radius:8px}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:#26182f;border-color:#563866}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#41214e;color:#fff}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:#ddd}
.woocommerce .woocommerce-breadcrumb,.woocommerce .woocommerce-breadcrumb a{color:#c4b4d1}
.kk-coming-soon{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px 22px;border-radius:24px;border:1px solid #643676;background:linear-gradient(105deg,rgba(8,4,17,.9),rgba(19,7,28,.8)),url('assets/hero-bg.png') center/cover}
.kk-coming-label{color:#eda442;font-size:.8rem;letter-spacing:.18em;font-weight:900}
.kk-coming-soon h2{font-size:clamp(2rem,5vw,3.5rem);line-height:1.1;margin:18px 0}
.kk-coming-soon p{max-width:520px;color:#d1bfdc;margin:0 0 26px}
.woocommerce-cart main.container,.woocommerce-checkout main.container,.woocommerce-account main.container{padding-top:40px!important}
.woocommerce table.shop_table{border-color:#513260;background:#130c1c;border-radius:14px}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-color:#3c2748}
.woocommerce-cart .cart-collaterals .cart_totals{background:#1d1027;border:1px solid #513260;padding:24px;border-radius:16px}
.woocommerce-checkout #payment{background:#21122e;border-radius:16px}
.woocommerce-checkout #payment div.payment_box{background:#392147;color:#fff}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#392147}
.woocommerce-checkout .select2-container .select2-selection--single{background:#120d19;border-color:#553066;min-height:42px}
.woocommerce-checkout .select2-container .select2-selection__rendered{color:#fff;line-height:40px}
.select2-dropdown{background:#21122e;color:#fff}
.woocommerce input.input-text{color:#fff}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){.kk-cart-label{display:none}.nav{gap:13px}.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}.brand img{max-width:220px}}
@media(max-width:700px){
 .header-inner{flex-wrap:wrap;justify-content:space-between;padding-top:10px;padding-bottom:10px;gap:8px}
 .header-inner .brand img{width:180px;max-width:48vw}
 .header-inner .nav{order:3;width:100%;justify-content:center;gap:16px}
 .header-inner .nav a{font-size:.8rem}
 .kk-cart-link{margin-left:auto}
 .kk-shop-menu{width:100%;padding:0 10px;gap:0}
 .kk-shop-menu-link,.kk-shop-all{font-size:.72rem;padding:0 10px;min-height:50px}
 .kk-shop-menu-toggle{top:5px}
 .kk-shop-menu-item.has-submenu{position:static;padding-right:28px}
 .kk-shop-menu-item.has-submenu>.kk-shop-menu-link{padding-right:5px}
 .kk-shop-menu-toggle{position:relative;right:auto;top:0;margin-left:-2px;width:25px}
 .kk-shop-menu-item.has-submenu{display:flex;align-items:center;padding-right:5px}
 .kk-shop-dropdown{left:10px;right:10px;top:100%;min-width:0}
 .kk-shop-content{padding:22px 14px 45px}
 .kk-product-search{max-width:none;margin-bottom:22px}
 .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .woocommerce ul.products li.product{padding:9px;border-radius:13px}
 .kk-product-image{height:175px;margin-bottom:11px}
 .kk-stock-badge{top:16px;left:15px;font-size:.59rem;padding:4px 7px}
 .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.83rem}
 .woocommerce .woocommerce-ordering{float:none;display:block;margin:10px 0;width:100%}
 .woocommerce .woocommerce-ordering select{width:100%}
 .woocommerce .woocommerce-result-count{float:none;font-size:.85rem}
 .woocommerce div.product div.images,.woocommerce div.product div.summary{float:none;width:100%}
 .woocommerce table.shop_table_responsive tr td{background:#180e20}
}
@media(max-width:360px){.kk-product-image{height:145px}.header-inner .nav{gap:10px}.kk-shop-menu-link,.kk-shop-all{font-size:.66rem}}
/* Match the existing footer markup and keep the shop footer compact. */
.footer{border-top:1px solid #392344;padding:38px 0;background:#09050f}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;align-items:start}
.footer-logo{width:240px;max-width:100%;height:auto}
.footer-grid p{color:#b9a9c7;font-size:.86rem;line-height:1.7;margin:12px 0 0}
.footer-grid strong{font-size:.9rem;color:#eee}
@media(max-width:700px){.footer-grid{grid-template-columns:1fr;gap:24px}.footer-logo{width:210px}}
/* Native WooCommerce cart/checkout blocks, when existing pages use them. */
.wc-block-cart,.wc-block-checkout{color:#eee}
.wc-block-cart .wc-block-components-product-name{color:#df99ef}
.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input{background:#160d20!important;color:#fff!important;border-color:#664477!important}
.wc-block-components-text-input label,.wc-block-components-form .wc-block-components-text-input label{color:#bca3c9!important}
.wc-block-components-quantity-selector{border-color:#785687!important}
.wc-block-components-quantity-selector input,.wc-block-components-quantity-selector button{background:transparent;color:#fff}
.wc-block-components-button:not(.is-link){background:linear-gradient(90deg,#a621ff,#ef3cff);color:#fff;border:0;border-radius:12px}
.wc-block-components-checkout-step__description,.wc-block-components-product-metadata{color:#bba9c6}
/* Native WooCommerce block select labels stay readable on their white control. */
.wc-block-components-address-form .wc-block-components-combobox .wc-block-components-combobox-control label,
.wc-block-components-address-form .wc-block-components-country-input label,
.wc-block-components-address-form .wc-block-components-state-input label{color:#59505f!important}
/* Override WooCommerce's floated column widths inside the theme's responsive grid. */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{float:none!important;width:auto!important;margin:0!important;min-width:0}
.woocommerce ul.products li.product .button{white-space:normal;overflow-wrap:anywhere}
