/*
Theme Name: Katiuska Ultra Neon Store
Theme URI: https://www.katiuskamusic.com/
Author: Katiuska Music
Author URI: https://www.katiuskamusic.com/
Description: A high-energy cinematic artist theme combining hot pink, liquid chrome, purple neon, and electric cyan with an animated homepage, integrated soundtrack, WooCommerce storefront, policy links, and launch setup assistant.
Version: 3.2.0
Requires at least: 6.4
Tested up to: 6.9
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: katiuska-ultra-neon-store
Tags: entertainment, e-commerce, custom-logo, custom-menu, featured-images, full-width-template, threaded-comments, translation-ready
*/

:root {
	--km-bg: #05000c;
	--km-bg-soft: #0d0319;
	--km-panel: rgba(20, 6, 35, 0.78);
	--km-panel-solid: #120622;
	--km-white: #fff8ff;
	--km-muted: #c9afd8;
	--km-blue: #00f5ff;
	--km-blue-bright: #65fbff;
	--km-blue-deep: #8b2cff;
	--km-silver: #ecf3ff;
	--km-orange: #ff2bb8;
	--km-pink: #ff1bbf;
	--km-pink-hot: #ff3bd4;
	--km-purple: #9a36ff;
	--km-cyan: #00f5ff;
	--km-chrome: linear-gradient(135deg, #ffffff 0%, #a8b7d6 24%, #ffffff 48%, #7888aa 72%, #eef7ff 100%);
	--km-line: rgba(255, 59, 212, 0.28);
	--km-glow: 0 0 18px rgba(255, 27, 191, .42), 0 0 42px rgba(154, 54, 255, .28), 0 0 72px rgba(0, 245, 255, .18);
	--km-radius: 24px;
	--km-radius-sm: 14px;
	--km-shell: min(1240px, calc(100vw - 40px));
	--km-header: 76px;
	--km-display: "Arial Narrow", "Helvetica Neue Condensed", Impact, sans-serif;
	--km-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--km-bg); }
body {
	margin: 0;
	background:
		radial-gradient(circle at 12% 12%, rgba(7, 88, 255, 0.12), transparent 32rem),
		radial-gradient(circle at 88% 28%, rgba(47, 199, 255, 0.08), transparent 28rem),
		var(--km-bg);
	color: var(--km-white);
	font-family: var(--km-body);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body.admin-bar .km-site-header { top: 32px; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
::selection { background: var(--km-blue); color: #001018; }

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.screen-reader-text:focus,
.km-skip-link:focus {
	clip: auto !important;
	width: auto;
	height: auto;
	left: 14px;
	top: 14px;
	padding: 12px 18px;
	background: #fff;
	color: #000;
	z-index: 100000;
}

.km-shell { width: var(--km-shell); margin-inline: auto; }
.km-kicker {
	margin: 0 0 20px;
	color: var(--km-blue-bright);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}
.km-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 800ms ease, transform 800ms cubic-bezier(.2,.75,.2,1);
}
.km-reveal.is-visible { opacity: 1; transform: none; }

/* Header */
.km-site-header {
	position: fixed;
	inset: 0 0 auto;
	height: var(--km-header);
	z-index: 900;
	border-bottom: 1px solid transparent;
	transition: background 250ms ease, border-color 250ms ease, backdrop-filter 250ms ease;
}
.km-site-header.is-scrolled,
body:not(.home) .km-site-header {
	background: rgba(3, 5, 8, 0.86);
	border-bottom-color: var(--km-line);
	backdrop-filter: blur(18px) saturate(140%);
}
.km-header-inner {
	width: min(1460px, calc(100vw - 32px));
	height: 100%;
	margin-inline: auto;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 28px;
}
.km-brand { display: inline-flex; align-items: center; gap: 11px; min-width: max-content; }
.km-brand-mark {
	width: 36px;
	height: 36px;
	display: grid;
	place-items: center;
	border: 1px solid var(--km-blue-bright);
	border-radius: 50%;
	font-family: var(--km-display);
	font-size: 1.15rem;
	box-shadow: inset 0 0 16px rgba(47,199,255,.2), 0 0 18px rgba(47,199,255,.18);
}
.km-brand-copy { display: grid; line-height: 1; }
.km-brand-copy strong { font-family: var(--km-display); font-size: 1.2rem; letter-spacing: .16em; }
.km-brand-copy small { margin-top: 4px; color: var(--km-blue); font-size: .56rem; letter-spacing: .38em; }
.km-custom-logo .custom-logo-link { display: block; }
.km-custom-logo img { max-height: 50px; width: auto; }
.km-primary-nav { justify-self: center; }
.km-menu,
.km-primary-nav ul { display: flex; align-items: center; gap: 28px; margin: 0; padding: 0; list-style: none; }
.km-primary-nav a {
	position: relative;
	padding: 28px 0 24px;
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: rgba(247,251,255,.82);
}
.km-primary-nav a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: 18px;
	height: 1px;
	background: var(--km-blue);
	box-shadow: 0 0 10px var(--km-blue);
	transition: right 220ms ease;
}
.km-primary-nav a:hover::after,
.km-primary-nav a:focus-visible::after,
.km-primary-nav .current-menu-item > a::after { right: 0; }
.km-primary-nav .sub-menu {
	position: absolute;
	top: calc(100% - 8px);
	display: none;
	min-width: 200px;
	padding: 12px;
	background: rgba(5, 10, 18, .96);
	border: 1px solid var(--km-line);
	border-radius: 12px;
}
.km-primary-nav li { position: relative; }
.km-primary-nav li:hover > .sub-menu,
.km-primary-nav li:focus-within > .sub-menu { display: grid; gap: 4px; }
.km-primary-nav .sub-menu a { display: block; padding: 10px 12px; }
.km-primary-nav .sub-menu a::after { display: none; }
.km-header-actions { display: flex; align-items: center; gap: 10px; }
.km-icon-link,
.km-cart-link {
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--km-line);
	background: rgba(8,17,28,.55);
	transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.km-icon-link { width: 40px; border-radius: 50%; font-size: 1.2rem; }
.km-cart-link { gap: 8px; padding: 0 8px 0 14px; border-radius: 999px; font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; }
.km-cart-count { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; background: var(--km-blue); color: #001018; font-weight: 900; }
.km-icon-link:hover,
.km-cart-link:hover { border-color: var(--km-blue); box-shadow: var(--km-glow); }
.km-menu-toggle { display: none; border: 0; background: none; padding: 8px; cursor: pointer; }
.km-menu-toggle > span:not(.screen-reader-text) { display: block; width: 26px; height: 1px; margin: 6px 0; background: #fff; transition: transform .2s ease, opacity .2s ease; }

/* Intro */
.km-intro {
	position: fixed;
	inset: 0;
	z-index: 5000;
	display: grid;
	place-items: center;
	background: #000;
	overflow: hidden;
	transition: opacity 700ms ease, visibility 700ms ease;
}
.km-intro.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.km-intro-image { position: absolute; inset: 0; background-size: cover; background-position: center 30%; opacity: 0; filter: saturate(.85) contrast(1.08); animation: kmIntroImage 2.8s ease forwards; }
.km-intro-image::after { content:""; position:absolute; inset:0; background: linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.48),rgba(0,0,0,.72)); }
.km-intro-grid,
.km-grid-lines { position: absolute; inset: 0; background-image: linear-gradient(rgba(80,220,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(80,220,255,.06) 1px,transparent 1px); background-size: 70px 70px; mask-image: linear-gradient(to bottom,transparent,black 35%,black 80%,transparent); }
.km-intro-content { position: relative; z-index: 2; width: min(780px, calc(100vw - 50px)); text-align: center; }
.km-intro-content p { margin: 0 0 30px; font-size: .65rem; letter-spacing: .35em; color: var(--km-blue-bright); }
.km-neon-line { width: 0; height: 2px; margin: 0 auto 24px; background: var(--km-blue); box-shadow: 0 0 12px var(--km-blue),0 0 34px var(--km-blue); animation: kmLine 1.1s .2s ease forwards; }
.km-intro h1 { margin: 0; font-family: var(--km-display); font-size: clamp(4rem,12vw,9.5rem); line-height: .8; letter-spacing: .08em; opacity: 0; text-shadow: 0 0 35px rgba(47,199,255,.45); animation: kmTitle .9s .75s ease forwards; }
.km-intro-content > span { display:block; margin-top: 22px; font-size: clamp(.9rem,2vw,1.3rem); letter-spacing:.28em; text-transform:uppercase; opacity:0; animation: kmTitle .7s 1.25s ease forwards; }
.km-intro-enter { margin-top: 38px; padding: 14px 24px; border: 1px solid var(--km-blue); border-radius: 999px; background: rgba(3,13,22,.55); color:#fff; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; opacity:0; animation: kmTitle .7s 1.65s ease forwards; box-shadow:var(--km-glow); }
.km-intro-skip { position:absolute; right:24px; bottom:22px; border:0; background:none; color:rgba(255,255,255,.65); font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; cursor:pointer; }
@keyframes kmLine { to { width: min(540px,70vw); } }
@keyframes kmTitle { to { opacity:1; transform:none; } }
@keyframes kmIntroImage { 0%,24%{opacity:0;transform:scale(1.08)} 100%{opacity:.9;transform:scale(1)} }

/* Hero */
.km-hero { position:relative; min-height:100svh; display:grid; align-items:center; overflow:hidden; isolation:isolate; }
.km-hero-background { position:absolute; inset:-7%; z-index:-3; background-image:var(--km-hero-image); background-size:cover; background-position:center 25%; transform:scale(1.03); will-change:transform; }
.km-hero-overlay { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(2,4,7,.98) 0%,rgba(2,5,9,.83) 35%,rgba(3,6,10,.34) 68%,rgba(2,4,7,.78) 100%),linear-gradient(0deg,var(--km-bg) 0%,transparent 25%,rgba(0,0,0,.25) 100%); }
.km-hero-content { padding-top: calc(var(--km-header) + 70px); padding-bottom: 110px; }
.km-hero-copy { max-width: 720px; }
.km-hero h1 { margin:0; font-family:var(--km-display); font-size:clamp(5rem,13vw,12rem); line-height:.73; letter-spacing:.035em; text-transform:uppercase; text-shadow:0 0 40px rgba(47,199,255,.22); }
.km-hero h2 { margin:30px 0 22px; color:var(--km-blue-bright); font-family:var(--km-display); font-size:clamp(1.35rem,3vw,2.6rem); letter-spacing:.16em; text-transform:uppercase; }
.km-hero-points { display:flex; flex-wrap:wrap; gap:8px 22px; margin:0 0 32px; padding:0; list-style:none; color:var(--km-silver); }
.km-hero-points li::before { content:"+"; margin-right:8px; color:var(--km-blue); }
.km-button-row { display:flex; flex-wrap:wrap; gap:12px; }
.km-button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:22px; padding:0 22px; border:1px solid var(--km-blue); border-radius:999px; font-size:.76rem; font-weight:900; letter-spacing:.15em; text-transform:uppercase; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.km-button:hover { transform:translateY(-2px); box-shadow:var(--km-glow); }
.km-button-primary { background:linear-gradient(110deg,var(--km-blue),var(--km-blue-deep)); color:#001018; }
.km-button-ghost { background:rgba(4,11,18,.55); color:#fff; backdrop-filter:blur(10px); }
.km-sound-control { position:absolute; left:24px; bottom:24px; z-index:4; }
.km-sound-control button { display:flex; align-items:center; gap:12px; padding:10px 15px; border:1px solid var(--km-line); border-radius:999px; background:rgba(3,8,14,.72); color:#fff; cursor:pointer; backdrop-filter:blur(10px); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; }
.km-sound-bars { height:16px; display:flex; align-items:center; gap:2px; }
.km-sound-bars i { width:2px; height:5px; background:var(--km-blue); }
.km-sound-control button[aria-pressed="true"] .km-sound-bars i { animation:kmBar .7s ease-in-out infinite alternate; }
.km-sound-control button[aria-pressed="true"] .km-sound-bars i:nth-child(2){animation-delay:.15s}.km-sound-control button[aria-pressed="true"] .km-sound-bars i:nth-child(3){animation-delay:.3s}.km-sound-control button[aria-pressed="true"] .km-sound-bars i:nth-child(4){animation-delay:.45s}
@keyframes kmBar{to{height:15px}}
.km-scroll-cue { position:absolute; right:28px; bottom:24px; display:flex; align-items:center; gap:12px; color:rgba(255,255,255,.7); font-size:.65rem; letter-spacing:.15em; text-transform:uppercase; writing-mode:vertical-rl; }
.km-scroll-cue i { display:block; width:1px; height:56px; background:linear-gradient(var(--km-blue),transparent); }

/* Chapter nav */
.km-chapter-nav { position:sticky; top:var(--km-header); z-index:500; background:rgba(3,5,8,.9); border-block:1px solid var(--km-line); backdrop-filter:blur(16px); overflow:auto; }
.km-chapter-nav .km-shell { display:flex; min-width:max-content; }
.km-chapter-nav a { padding:13px 22px; border-right:1px solid var(--km-line); color:var(--km-blue-bright); font-size:.66rem; font-weight:900; letter-spacing:.12em; }
.km-chapter-nav a span { margin-left:5px; color:rgba(255,255,255,.62); }
.km-chapter-nav a:hover { background:rgba(47,199,255,.08); }

/* Scenes */
.km-scene { position:relative; padding:130px 0; overflow:hidden; }
.km-scene::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 10% 30%,rgba(7,88,255,.09),transparent 30rem); }
.km-two-column { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:clamp(50px,8vw,110px); align-items:center; }
.km-portrait-card { position:relative; min-height:680px; border:1px solid var(--km-line); border-radius:var(--km-radius); overflow:hidden; box-shadow:var(--km-glow); }
.km-portrait-card img { width:100%; height:100%; position:absolute; object-fit:cover; object-position:center 20%; transition:transform 1.2s ease; }
.km-portrait-card:hover img { transform:scale(1.035); }
.km-card-scan { position:absolute; inset:0; background:linear-gradient(transparent,rgba(47,199,255,.13),transparent); transform:translateY(-100%); animation:kmScan 5s linear infinite; }
@keyframes kmScan{to{transform:translateY(100%)}}
.km-card-index { position:absolute; right:18px; bottom:14px; font-family:var(--km-display); font-size:5rem; color:rgba(255,255,255,.14); }
.km-scene-copy { position:relative; z-index:1; }
.km-scene-copy h2,
.km-section-heading h2 { margin:0 0 32px; font-family:var(--km-display); font-size:clamp(3rem,6.5vw,6.6rem); line-height:.88; letter-spacing:.01em; text-transform:uppercase; }
.km-scene-copy h2 span { color:var(--km-blue); font-size:.35em; vertical-align:top; }
.km-scene-copy h3 { margin:0 0 24px; max-width:560px; font-size:clamp(1.5rem,3vw,2.4rem); line-height:1.2; }
.km-scene-copy > p:not(.km-kicker) { max-width:650px; color:var(--km-muted); font-size:1.05rem; }
.km-tags { display:flex; flex-wrap:wrap; gap:9px; margin:30px 0; }
.km-tags span { padding:8px 12px; border:1px solid var(--km-line); border-radius:999px; color:var(--km-blue-bright); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }
.km-scene-copy blockquote { margin:38px 0 0; padding:20px 0 20px 25px; border-left:1px solid var(--km-blue); color:var(--km-silver); font-size:1.3rem; font-style:italic; }

/* Release */
.km-release { background:linear-gradient(180deg,#030508,#070b13 45%,#030508); }
.km-release-grid { display:grid; grid-template-columns:minmax(320px,.85fr) minmax(0,1fr); gap:clamp(50px,9vw,130px); align-items:center; }
.km-release-visual { max-width:590px; }
.km-release-art { position:relative; max-width:590px; aspect-ratio:1; isolation:isolate; }
.km-release-art::before { content:""; position:absolute; inset:7%; z-index:0; border:1px solid rgba(255,88,44,.7); box-shadow:0 0 18px rgba(255,72,28,.75),0 0 55px rgba(255,42,16,.4),inset 0 0 28px rgba(255,98,46,.18); opacity:.9; animation:kmReleaseGlow 3.8s ease-in-out infinite alternate; }
.km-release-art img { position:relative; z-index:2; width:82%; height:82%; margin:9%; object-fit:cover; border:1px solid rgba(255,190,150,.45); box-shadow:0 30px 90px rgba(0,0,0,.78),0 0 30px rgba(255,75,30,.55),0 0 70px rgba(255,38,20,.28); transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .65s ease,box-shadow .65s ease; }
.km-release-art:hover img { transform:scale(1.035); filter:saturate(1.08) contrast(1.04); box-shadow:0 36px 100px rgba(0,0,0,.82),0 0 38px rgba(255,90,38,.72),0 0 95px rgba(255,40,18,.38); }
.km-vinyl { position:absolute; top:11%; right:-3%; z-index:1; width:72%; aspect-ratio:1; border-radius:50%; background:repeating-radial-gradient(circle,#111 0 5px,#1d1d1d 6px 8px); box-shadow:0 0 0 8px #050505,0 20px 60px #000,0 0 45px rgba(47,199,255,.16); animation:kmSpin 22s linear infinite; }
@keyframes kmReleaseGlow{to{opacity:1;box-shadow:0 0 26px rgba(255,88,44,.9),0 0 80px rgba(255,42,16,.52),inset 0 0 35px rgba(255,98,46,.24)}}
.km-cover-stream-buttons { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:18px 9% 0; }
.km-cover-stream-buttons a { min-height:46px; display:flex; align-items:center; justify-content:center; gap:9px; padding:0 12px; border:1px solid rgba(255,92,45,.6); border-radius:999px; background:linear-gradient(120deg,rgba(255,73,28,.16),rgba(47,199,255,.08)); color:#fff; font-size:.68rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; box-shadow:0 0 22px rgba(255,62,24,.14); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.km-cover-stream-buttons a:hover { transform:translateY(-3px); border-color:#ff713f; background:linear-gradient(120deg,rgba(255,73,28,.28),rgba(47,199,255,.13)); box-shadow:0 0 26px rgba(255,67,26,.35); }
.km-cover-stream-buttons span { color:#ff9a72; }
.km-vinyl::after { content:"K"; position:absolute; inset:36%; display:grid; place-items:center; border-radius:50%; background:var(--km-blue); color:#001018; font-family:var(--km-display); font-size:2.4rem; }
@keyframes kmSpin{to{transform:rotate(360deg)}}
.km-release-stamp { position:absolute; z-index:3; right:2%; bottom:5%; width:92px; aspect-ratio:1; display:grid; place-items:center; text-align:center; border:1px solid var(--km-blue); border-radius:50%; background:#02070c; color:var(--km-blue-bright); font-size:.65rem; font-weight:900; letter-spacing:.13em; box-shadow:var(--km-glow); transform:rotate(-10deg); }
.km-release-title { white-space:pre-line; font-size:clamp(4rem,9vw,9rem)!important; color:#fff; text-shadow:0 0 40px rgba(47,199,255,.16); }
.km-stream-list { margin-top:36px; border-top:1px solid var(--km-line); }
.km-stream-list a { display:grid; grid-template-columns:52px 1fr auto; align-items:center; gap:18px; padding:18px 0; border-bottom:1px solid var(--km-line); transition:padding .2s ease,background .2s ease; }
.km-stream-list a:hover { padding-inline:12px; background:rgba(47,199,255,.05); }
.km-stream-list span { color:var(--km-blue); font-size:.7rem; }
.km-stream-list strong { font-size:1.05rem; }
.km-stream-list em { color:var(--km-muted); font-size:.78rem; font-style:normal; }

/* Video */
.km-video { background:#010204; }
.km-section-heading { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:50px; }
.km-section-heading h2 { margin:0; max-width:850px; }
.km-video-frame { position:relative; z-index:1; border:1px solid var(--km-line); border-radius:var(--km-radius); overflow:hidden; box-shadow:0 40px 100px rgba(0,0,0,.8),var(--km-glow); background:#000; }
.km-video-frame iframe { width:100%; aspect-ratio:16/9; display:block; border:0; }
.km-video-placeholder { min-height:600px; display:grid; place-items:center; gap:20px; background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.8)),var(--km-hero-image); font-size:1.2rem; }
.km-video-placeholder span { width:100px; aspect-ratio:1; display:grid; place-items:center; border:1px solid var(--km-blue); border-radius:50%; box-shadow:var(--km-glow); font-size:2rem; }
.km-video-link { text-align:right; font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; color:var(--km-blue-bright); }

/* Gallery */
.km-gallery-grid { display:grid; grid-template-columns:1fr 1.1fr 1fr; gap:18px; align-items:center; }
.km-gallery-card { position:relative; margin:0; min-height:520px; overflow:hidden; border:1px solid var(--km-line); border-radius:var(--km-radius-sm); transform-style:preserve-3d; transition:transform .35s ease,box-shadow .35s ease; }
.km-gallery-card:hover { transform:translateY(-8px) perspective(900px) rotateY(2deg); box-shadow:var(--km-glow); }
.km-gallery-card img { width:100%; height:100%; position:absolute; object-fit:cover; object-position:center; transition:transform .8s ease; }
.km-gallery-card:hover img { transform:scale(1.05); }
.km-gallery-card::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 50%,rgba(0,0,0,.88)); }
.km-gallery-card figcaption { position:absolute; z-index:2; left:18px; right:18px; bottom:16px; display:flex; gap:13px; align-items:center; font-family:var(--km-display); font-size:1.35rem; letter-spacing:.08em; text-transform:uppercase; }
.km-gallery-card figcaption span { color:var(--km-blue); font-size:.65rem; }
.km-gallery-tall { min-height:650px; }
.km-gallery-collage { margin:0; overflow:hidden; border:1px solid var(--km-line); border-radius:var(--km-radius); background:#030508; box-shadow:0 28px 80px rgba(0,0,0,.45); cursor:default; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; }
.km-gallery-collage img { display:block; width:100%; height:auto; pointer-events:none; user-select:none; -webkit-user-select:none; -webkit-user-drag:none; transition:transform .8s ease,filter .8s ease; }
.km-gallery-collage:hover img { transform:scale(1.015); filter:contrast(1.03) saturate(1.05); }

/* Music cards */
.km-music { background:linear-gradient(180deg,#030508,#08101b,#030508); }
.km-frequency-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.km-frequency-card { position:relative; min-height:350px; display:flex; flex-direction:column; justify-content:flex-end; padding:28px; border:1px solid var(--km-line); border-radius:var(--km-radius); overflow:hidden; background:linear-gradient(155deg,rgba(17,32,50,.76),rgba(4,8,14,.96)); transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease; }
.km-frequency-card::before { content:""; position:absolute; inset:-40% -20% auto; height:75%; background:radial-gradient(circle,rgba(47,199,255,.24),transparent 60%); transition:transform .6s ease; }
.km-frequency-card:hover { transform:translateY(-8px); border-color:var(--km-blue); box-shadow:var(--km-glow); }
.km-frequency-card:hover::before { transform:translateY(30px) scale(1.1); }
.km-frequency-icon { position:absolute; top:24px; left:24px; width:82px; aspect-ratio:1; display:grid; place-items:center; border:1px solid var(--km-line); border-radius:50%; color:var(--km-blue-bright); font-family:var(--km-display); font-size:2rem; box-shadow:inset 0 0 20px rgba(47,199,255,.09); }
.km-frequency-card small { position:relative; color:var(--km-blue); letter-spacing:.14em; text-transform:uppercase; }
.km-frequency-card strong { position:relative; margin:7px 0 30px; font-family:var(--km-display); font-size:2.2rem; text-transform:uppercase; }
.km-frequency-card em { position:relative; color:var(--km-muted); font-size:.76rem; font-style:normal; letter-spacing:.12em; text-transform:uppercase; }

/* Featured shop */
.km-shop { background:#030508; }
.km-text-link { color:var(--km-blue-bright); font-size:.76rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.km-featured-products { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.km-product-card { border:1px solid var(--km-line); border-radius:var(--km-radius-sm); overflow:hidden; background:var(--km-panel-solid); transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease; }
.km-product-card:hover { transform:translateY(-7px); border-color:var(--km-blue); box-shadow:var(--km-glow); }
.km-product-image { position:relative; display:block; aspect-ratio:4/5; overflow:hidden; background:#fff; }
.km-product-image img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.km-product-card:hover .km-product-image img { transform:scale(1.045); }
.km-product-image span { position:absolute; left:14px; right:14px; bottom:14px; padding:11px; border-radius:999px; background:rgba(3,8,14,.88); color:#fff; text-align:center; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; opacity:0; transform:translateY(8px); transition:.25s ease; }
.km-product-card:hover .km-product-image span { opacity:1; transform:none; }
.km-product-copy { padding:20px; }
.km-product-copy small { color:var(--km-blue); font-size:.62rem; letter-spacing:.13em; text-transform:uppercase; }
.km-product-copy h3 { margin:8px 0 13px; font-size:1rem; line-height:1.35; }
.km-price { color:var(--km-white); font-weight:800; }
.km-price del { color:var(--km-muted); font-weight:400; }
.km-price ins { text-decoration:none; }

/* Booking and newsletter */
.km-book { min-height:700px; display:grid; place-items:center; text-align:center; border-block:1px solid var(--km-line); background:radial-gradient(circle at center,rgba(7,88,255,.18),transparent 44%),#020407; }
.km-book-glow { position:absolute; width:min(760px,85vw); aspect-ratio:1; border:1px solid rgba(47,199,255,.2); border-radius:50%; box-shadow:inset 0 0 130px rgba(47,199,255,.06),0 0 130px rgba(47,199,255,.05); }
.km-book-inner { position:relative; z-index:1; }
.km-book h2 { margin:0 0 38px; font-family:var(--km-display); font-size:clamp(4rem,9vw,9rem); line-height:.82; text-transform:uppercase; }
.km-book-button { min-width:230px; }
.km-book-email { display:block; margin-top:25px; color:var(--km-muted); font-size:.85rem; letter-spacing:.1em; }
.km-newsletter { padding:80px 0; background:var(--km-blue); color:#001018; }
.km-newsletter-inner { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:60px; }
.km-newsletter .km-kicker { color:#001018; }
.km-newsletter h2 { margin:0; font-family:var(--km-display); font-size:clamp(2.5rem,5vw,5rem); line-height:.9; text-transform:uppercase; }
.km-newsletter-form { display:grid; grid-template-columns:1fr auto; gap:10px; }
.km-newsletter-form input { min-width:0; height:58px; padding:0 20px; border:1px solid rgba(0,16,24,.35); border-radius:999px; background:rgba(255,255,255,.72); color:#001018; outline:none; }
.km-newsletter-form input:focus { border-color:#001018; box-shadow:0 0 0 3px rgba(0,16,24,.15); }
.km-newsletter-form button { height:58px; padding:0 22px; border:1px solid #001018; border-radius:999px; background:#001018; color:#fff; font-weight:900; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }
.km-newsletter-form p { grid-column:1/-1; margin:0; font-size:.7rem; opacity:.75; }

/* Content pages */
.km-content-main,
.km-commerce-main { min-height:70vh; padding-top:calc(var(--km-header) + 70px); }
.km-content-shell { max-width:940px; padding-bottom:100px; }
.km-content-card { padding:clamp(28px,5vw,65px); border:1px solid var(--km-line); border-radius:var(--km-radius); background:linear-gradient(160deg,rgba(12,23,38,.75),rgba(3,6,10,.94)); box-shadow:0 30px 100px rgba(0,0,0,.35); }
.km-content-header { margin-bottom:45px; }
.km-content-header h1 { margin:0; font-family:var(--km-display); font-size:clamp(3.4rem,8vw,7.5rem); line-height:.86; text-transform:uppercase; }
.km-entry-content { color:#ced9e4; }
.km-entry-content h2 { margin:45px 0 14px; color:#fff; font-family:var(--km-display); font-size:2rem; text-transform:uppercase; }
.km-entry-content h3 { margin-top:32px; color:#fff; }
.km-entry-content a { color:var(--km-blue-bright); text-decoration:underline; text-underline-offset:3px; }
.km-entry-content ul,
.km-entry-content ol { padding-left:1.4rem; }
.km-entry-content blockquote { margin:35px 0; padding:20px 25px; border-left:2px solid var(--km-blue); background:rgba(47,199,255,.05); }
.km-entry-content table { width:100%; border-collapse:collapse; }
.km-entry-content th,.km-entry-content td { padding:12px; border:1px solid var(--km-line); text-align:left; }
.km-post-image { margin:0 0 38px; overflow:hidden; border-radius:var(--km-radius-sm); }
.km-post-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.km-post-card { border:1px solid var(--km-line); border-radius:var(--km-radius-sm); overflow:hidden; background:var(--km-panel-solid); }
.km-post-card > div { padding:24px; }
.km-post-card small { color:var(--km-blue); }
.km-post-card h2 { font-family:var(--km-display); font-size:2rem; text-transform:uppercase; }
.km-error-page { min-height:70vh; display:grid; align-content:center; padding-bottom:80px; }
.km-error-page h1 { max-width:900px; margin:0 0 22px; font-family:var(--km-display); font-size:clamp(4rem,10vw,9rem); line-height:.85; text-transform:uppercase; }
.km-error-page .search-form { display:flex; }
.km-error-page .search-field { min-height:52px; padding:0 16px; border:1px solid var(--km-line); background:#fff; color:#000; }
.km-error-page .search-submit { min-height:52px; border:0; background:var(--km-blue); color:#001018; font-weight:800; }

/* Footer */
.km-site-footer { position:relative; padding:85px 0 25px; border-top:1px solid var(--km-line); background:#010204; overflow:hidden; }
.km-stars { position:absolute; inset:0; opacity:.3; background-image:radial-gradient(circle,#fff 1px,transparent 1px); background-size:70px 70px; animation:kmStars 20s linear infinite; }
@keyframes kmStars{to{background-position:70px 140px}}
.km-footer-grid { position:relative; display:grid; grid-template-columns:1.4fr .8fr .9fr 1fr; gap:50px; }
.km-footer-grid h2 { margin:0 0 18px; color:var(--km-blue-bright); font-size:.75rem; letter-spacing:.16em; text-transform:uppercase; }
.km-footer-grid p { max-width:330px; color:var(--km-muted); }
.km-footer-menu { margin:0; padding:0; list-style:none; display:grid; gap:9px; }
.km-footer-menu a,.km-socials a { color:var(--km-silver); font-size:.86rem; }
.km-footer-menu a:hover,.km-socials a:hover { color:var(--km-blue-bright); }
.km-socials { display:flex; flex-wrap:wrap; gap:10px 16px; }
.km-footer-bottom { position:relative; display:flex; justify-content:space-between; gap:20px; margin-top:70px; padding-top:20px; border-top:1px solid var(--km-line); color:rgba(255,255,255,.45); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }

/* WooCommerce */
.km-commerce-hero { padding:75px 0 55px; border-bottom:1px solid var(--km-line); background:radial-gradient(circle at 30% 20%,rgba(7,88,255,.18),transparent 35rem),linear-gradient(180deg,#070d17,#030508); }
.km-commerce-hero h1 { margin:0; font-family:var(--km-display); font-size:clamp(4rem,8vw,8rem); line-height:.82; text-transform:uppercase; }
.km-commerce-shell { padding-block:70px 110px; }
.woocommerce .woocommerce-breadcrumb { margin:0 0 32px; color:var(--km-muted); font-size:.78rem; }
.woocommerce .woocommerce-breadcrumb a { color:var(--km-blue-bright); }
.woocommerce .woocommerce-result-count { color:var(--km-muted); }
.woocommerce .woocommerce-ordering select { min-height:46px; padding:0 40px 0 14px; border:1px solid var(--km-line); border-radius:999px; background:#08111d; color:#fff; }
.woocommerce ul.products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:40px 0; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { width:auto!important; float:none!important; margin:0!important; padding:0 0 22px; border:1px solid var(--km-line); border-radius:var(--km-radius-sm); overflow:hidden; background:var(--km-panel-solid); transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease; }
.woocommerce ul.products li.product:hover { transform:translateY(-7px); border-color:var(--km-blue); box-shadow:var(--km-glow); }
.woocommerce ul.products li.product a img { width:100%; margin:0 0 20px; aspect-ratio:4/5; object-fit:cover; background:#fff; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding:0 20px; color:#fff; font-size:1rem; line-height:1.35; }
.woocommerce ul.products li.product .price { padding:0 20px; color:var(--km-blue-bright); font-size:1rem; font-weight:800; }
.woocommerce ul.products li.product .button { margin:12px 20px 0; }
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.wc-block-components-button {
	min-height:46px;
	padding:12px 19px!important;
	border:1px solid var(--km-blue)!important;
	border-radius:999px!important;
	background:linear-gradient(110deg,var(--km-blue),var(--km-blue-deep))!important;
	color:#001018!important;
	font-size:.72rem!important;
	font-weight:900!important;
	letter-spacing:.09em;
	text-transform:uppercase;
	box-shadow:none!important;
	transition:transform .2s ease,box-shadow .2s ease!important;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.wc-block-components-button:hover { transform:translateY(-2px); box-shadow:var(--km-glow)!important; }
.woocommerce span.onsale { min-width:54px; min-height:54px; display:grid; place-items:center; top:12px; left:12px; padding:0; border-radius:50%; background:var(--km-orange); color:#160800; font-size:.65rem; letter-spacing:.06em; }
.woocommerce nav.woocommerce-pagination ul { border:0; display:flex; gap:8px; }
.woocommerce nav.woocommerce-pagination ul li { border:0; }
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span { min-width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--km-line); border-radius:50%; background:#07101a; color:#fff; }
.woocommerce nav.woocommerce-pagination ul li span.current { background:var(--km-blue); color:#001018; }

/* Single product */
.woocommerce div.product { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.85fr); gap:clamp(38px,7vw,90px); }
.woocommerce div.product .woocommerce-product-gallery { width:auto!important; float:none!important; }
.woocommerce div.product div.summary { width:auto!important; float:none!important; margin:0!important; }
.woocommerce div.product .product_title { margin:0 0 18px; font-family:var(--km-display); font-size:clamp(2.8rem,5vw,5rem); line-height:.9; text-transform:uppercase; }
.woocommerce div.product p.price,.woocommerce div.product span.price { color:var(--km-blue-bright); font-size:1.45rem; }
.woocommerce-product-details__short-description { color:var(--km-muted); }
.woocommerce div.product form.cart { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.woocommerce .quantity .qty { min-height:46px; border:1px solid var(--km-line); border-radius:999px; background:#08111d; color:#fff; }
.woocommerce div.product form.cart .variations { width:100%; }
.woocommerce div.product form.cart .variations th { text-align:left; color:var(--km-silver); }
.woocommerce div.product form.cart .variations select { min-height:46px; padding:0 14px; border:1px solid var(--km-line); border-radius:999px; background:#08111d; color:#fff; }
.woocommerce div.product .woocommerce-tabs { grid-column:1/-1; padding-top:50px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding:0; border-bottom:1px solid var(--km-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border:0; background:none; margin:0; padding:0 25px 14px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color:var(--km-muted); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color:var(--km-blue-bright); }
.woocommerce div.product .woocommerce-tabs .panel { color:var(--km-muted); }
.woocommerce .related.products { grid-column:1/-1; }
.woocommerce .related.products > h2 { font-family:var(--km-display); font-size:3rem; text-transform:uppercase; }

/* Cart, checkout, account */
.woocommerce table.shop_table { border-color:var(--km-line); border-radius:var(--km-radius-sm); background:rgba(8,17,29,.72); }
.woocommerce table.shop_table th,.woocommerce table.shop_table td { padding:16px; border-color:var(--km-line); }
.woocommerce table.shop_table a { color:var(--km-blue-bright); }
.woocommerce-cart table.cart img { width:88px; border-radius:9px; }
.woocommerce .cart-collaterals .cart_totals { width:min(100%,520px); }
.woocommerce .cart-collaterals .cart_totals h2,.woocommerce-checkout h3,.woocommerce-account h2 { font-family:var(--km-display); font-size:2.2rem; text-transform:uppercase; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection--single {
	min-height:50px;
	padding:12px 15px;
	border:1px solid var(--km-line);
	border-radius:12px;
	background:#07101a;
	color:#fff;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { color:#fff; line-height:48px; }
.select2-dropdown { background:#07101a; color:#fff; border-color:var(--km-line); }
.woocommerce-checkout #payment { background:#08111d; border:1px solid var(--km-line); border-radius:var(--km-radius-sm); }
.woocommerce-checkout #payment ul.payment_methods { border-color:var(--km-line); }
.woocommerce .woocommerce-customer-details address { border-color:var(--km-line); border-radius:var(--km-radius-sm); }
.woocommerce-MyAccount-navigation ul { margin:0; padding:0; list-style:none; display:grid; gap:8px; }
.woocommerce-MyAccount-navigation a { display:block; padding:12px 16px; border:1px solid var(--km-line); border-radius:999px; background:#07101a; }
.woocommerce-MyAccount-navigation .is-active a { background:var(--km-blue); color:#001018; }
.woocommerce-info,.woocommerce-message,.woocommerce-error { border-top-color:var(--km-blue); background:#091522; color:#fff; }
.woocommerce-info::before,.woocommerce-message::before { color:var(--km-blue); }
.woocommerce-error { border-top-color:#ff6b6b; }
.woocommerce-error::before { color:#ff6b6b; }
.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register { border-color:var(--km-line); border-radius:var(--km-radius-sm); background:#07101a; }
.wc-block-components-sidebar-layout { gap:40px; }
.wc-block-components-sidebar,.wc-block-components-main { color:#fff; }
.wc-block-components-order-summary,.wc-block-components-totals-wrapper,.wc-block-components-address-card { border-color:var(--km-line)!important; }

/* WordPress helpers */
.alignwide { width:min(1120px,calc(100vw - 40px)); max-width:none; margin-left:50%; transform:translateX(-50%); }
.alignfull { width:100vw; max-width:none; margin-left:50%; transform:translateX(-50%); }
.wp-caption,.gallery-caption { color:var(--km-muted); }
.bypostauthor { outline:1px solid var(--km-line); }
.pagination,.nav-links { display:flex; gap:8px; margin-top:35px; }
.page-numbers { min-width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--km-line); border-radius:50%; }
.page-numbers.current { background:var(--km-blue); color:#001018; }

/* Responsive */
@media (max-width: 1100px) {
	.km-primary-nav { position:fixed; inset:var(--km-header) 0 auto; display:none; padding:25px 20px 35px; background:rgba(3,5,8,.97); border-bottom:1px solid var(--km-line); backdrop-filter:blur(18px); }
	.km-primary-nav.is-open { display:block; }
	.km-primary-nav .km-menu,.km-primary-nav ul { display:grid; gap:0; }
	.km-primary-nav a { display:block; padding:13px 0; }
	.km-primary-nav a::after { bottom:6px; }
	.km-primary-nav .sub-menu { position:static; display:grid; padding-left:18px; background:none; border:0; }
	.km-menu-toggle { display:block; justify-self:end; }
	.km-header-inner { grid-template-columns:auto 1fr auto; }
	.km-header-actions { grid-column:3; }
	.km-menu-toggle { grid-column:2; grid-row:1; }
	.km-two-column,.km-release-grid { grid-template-columns:1fr; }
	.km-portrait-card { min-height:640px; max-width:700px; }
	.km-release-art { width:min(620px,100%); }
	.km-featured-products { grid-template-columns:repeat(2,1fr); }
	.km-footer-grid { grid-template-columns:1.3fr 1fr 1fr; }
	.km-footer-grid > div:last-child { grid-column:1/-1; }
	.woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 782px) {
	body.admin-bar .km-site-header { top:46px; }
	:root { --km-shell:min(100% - 28px,1240px); --km-header:68px; }
	.km-header-inner { width:calc(100vw - 20px); gap:12px; }
	.km-brand-copy strong { font-size:1rem; }
	.km-brand-mark { width:32px; height:32px; }
	.km-account-link { display:none; }
	.km-cart-link span:first-child { display:none; }
	.km-cart-link { padding:0 7px; border:0; background:none; }
	.km-hero-content { padding-top:130px; }
	.km-hero h1 { font-size:clamp(4rem,22vw,7rem); }
	.km-hero h2 { max-width:350px; line-height:1.15; }
	.km-hero-points { display:grid; }
	.km-sound-control { left:14px; bottom:14px; }
	.km-scroll-cue { display:none; }
	.km-chapter-nav { top:var(--km-header); }
	.km-chapter-nav .km-shell { width:max-content; }
	.km-chapter-nav a { padding:12px 15px; }
	.km-scene { padding:88px 0; }
	.km-portrait-card { min-height:520px; }
	.km-section-heading { display:block; }
	.km-section-heading .km-text-link { display:inline-block; margin-top:20px; }
	.km-gallery-grid { grid-template-columns:1fr; }
	.km-gallery-card,.km-gallery-tall { min-height:520px; }
	.km-cover-stream-buttons { grid-template-columns:1fr; margin-inline:9%; }
	.km-cover-stream-buttons a { min-height:50px; }
	.km-frequency-grid { grid-template-columns:1fr; }
	.km-featured-products { grid-template-columns:1fr 1fr; gap:12px; }
	.km-newsletter-inner { grid-template-columns:1fr; gap:25px; }
	.km-newsletter-form { grid-template-columns:1fr; }
	.km-newsletter-form p { grid-column:auto; }
	.km-footer-grid { grid-template-columns:1fr 1fr; }
	.km-footer-grid > div:last-child { grid-column:auto; }
	.km-footer-bottom { display:block; }
	.km-content-main,.km-commerce-main { padding-top:calc(var(--km-header) + 45px); }
	.km-content-card { padding:25px; }
	.km-post-grid { grid-template-columns:1fr; }
	.woocommerce div.product { grid-template-columns:1fr; }
	.woocommerce div.product .woocommerce-tabs,.woocommerce .related.products { grid-column:auto; }
	.woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product .price { padding-inline:13px; }
	.woocommerce ul.products li.product .button { margin-inline:13px; }
}

@media (max-width: 520px) {
	.km-hero h1 { letter-spacing:0; }
	.km-button-row { display:grid; }
	.km-button { width:100%; }
	.km-featured-products { grid-template-columns:1fr; }
	.km-footer-grid { grid-template-columns:1fr; }
	.woocommerce ul.products { grid-template-columns:1fr; }
	.km-newsletter { padding:60px 0; }
	.km-intro h1 { font-size:3.9rem; }
	.km-intro-content > span { font-size:.75rem; letter-spacing:.2em; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior:auto; }
	*,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
	.km-reveal { opacity:1; transform:none; }
	.km-intro { display:none; }
}


/* =========================================================
   KATIUSKA ULTRA NEON — HOT PINK + CHROME + PURPLE + CYAN
   ========================================================= */
body {
	background:
		radial-gradient(circle at 8% 10%, rgba(255,27,191,.20), transparent 34rem),
		radial-gradient(circle at 88% 18%, rgba(0,245,255,.16), transparent 30rem),
		radial-gradient(circle at 52% 72%, rgba(154,54,255,.17), transparent 38rem),
		linear-gradient(145deg, #05000c 0%, #090015 46%, #02080e 100%);
}
body::before {
	content:"";
	position:fixed;
	inset:0;
	pointer-events:none;
	z-index:-1;
	background:
		linear-gradient(115deg, transparent 0 24%, rgba(255,255,255,.025) 25%, transparent 27% 63%, rgba(0,245,255,.025) 64%, transparent 66%),
		repeating-linear-gradient(90deg, transparent 0 79px, rgba(255,59,212,.025) 80px);
}
::selection { background: var(--km-pink-hot); color:#120018; }
.km-site-header.is-scrolled,
body:not(.home) .km-site-header {
	background: rgba(7,0,15,.88);
	border-bottom-color: rgba(255,59,212,.34);
	box-shadow: 0 12px 44px rgba(154,54,255,.12);
}
.km-brand-mark {
	border-color: var(--km-pink-hot);
	background: radial-gradient(circle at 30% 25%, rgba(255,255,255,.3), transparent 26%), linear-gradient(145deg, rgba(255,27,191,.24), rgba(154,54,255,.18), rgba(0,245,255,.16));
	box-shadow: inset 0 0 18px rgba(255,255,255,.14), 0 0 18px rgba(255,27,191,.55), 0 0 38px rgba(0,245,255,.22);
}
.km-brand-copy strong,
.km-hero h1,
.km-section-heading h2,
.km-booking h2,
.km-commerce-hero h1,
.km-content-header h1 {
	background: linear-gradient(105deg, #fff 0%, #f4eaff 18%, #ff56dd 38%, #b968ff 58%, #5ffaff 78%, #fff 100%);
	-webkit-background-clip:text;
	background-clip:text;
	color:transparent;
	text-shadow: 0 0 30px rgba(255,27,191,.13), 0 0 44px rgba(0,245,255,.08);
}
.km-brand-copy small,
.km-kicker { color: var(--km-pink-hot); text-shadow: 0 0 12px rgba(255,27,191,.62); }
.km-primary-nav a::after {
	background: linear-gradient(90deg, var(--km-pink-hot), var(--km-purple), var(--km-cyan));
	box-shadow: 0 0 12px var(--km-pink-hot), 0 0 24px rgba(0,245,255,.55);
}
.km-intro-grid,
.km-grid-lines {
	background-image: linear-gradient(rgba(255,59,212,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(0,245,255,.08) 1px,transparent 1px);
}
.km-neon-line {
	background: linear-gradient(90deg,var(--km-pink-hot),var(--km-purple),var(--km-cyan));
	box-shadow: 0 0 14px var(--km-pink-hot),0 0 32px var(--km-purple),0 0 52px var(--km-cyan);
}
.km-button-primary,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.km-newsletter button {
	background: linear-gradient(105deg, var(--km-pink-hot) 0%, #ff1bbf 26%, var(--km-purple) 62%, var(--km-cyan) 100%);
	color:#100014;
	border-color: rgba(255,255,255,.48);
	box-shadow: 0 0 18px rgba(255,27,191,.48), 0 0 38px rgba(154,54,255,.26), inset 0 1px 0 rgba(255,255,255,.58);
}
.km-button-primary:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.km-newsletter button:hover {
	filter: brightness(1.12) saturate(1.2);
	box-shadow: 0 0 24px rgba(255,27,191,.65), 0 0 52px rgba(0,245,255,.32), inset 0 1px 0 rgba(255,255,255,.8);
}
.km-button-secondary,
.km-icon-link,
.km-cart-link,
.km-frequency-card,
.km-gallery-card,
.km-merch-card,
.km-post-card,
.woocommerce ul.products li.product,
.woocommerce div.product,
.woocommerce-cart-form,
.cart_totals,
.woocommerce-checkout-review-order,
.woocommerce form.checkout,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	border-color: rgba(255,59,212,.24);
	background:
		linear-gradient(145deg, rgba(255,255,255,.035), rgba(255,255,255,0) 32%),
		linear-gradient(135deg, rgba(255,27,191,.075), rgba(154,54,255,.07) 50%, rgba(0,245,255,.055)),
		rgba(12,3,24,.82);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 55px rgba(0,0,0,.34);
}
.km-frequency-card:hover,
.km-gallery-card:hover,
.km-merch-card:hover,
.woocommerce ul.products li.product:hover {
	border-color: rgba(0,245,255,.58);
	box-shadow: 0 0 0 1px rgba(255,27,191,.22), 0 0 26px rgba(255,27,191,.24), 0 0 46px rgba(0,245,255,.16), 0 24px 60px rgba(0,0,0,.45);
}
.km-cart-count,
.woocommerce span.onsale {
	background: linear-gradient(135deg,var(--km-pink-hot),var(--km-purple) 58%,var(--km-cyan));
	color:#0b0011;
	box-shadow: 0 0 16px rgba(255,27,191,.55),0 0 28px rgba(0,245,255,.24);
}
.km-frequency-icon,
.km-soundtrack-button,
.km-video-play {
	background: radial-gradient(circle at 30% 25%, rgba(255,255,255,.36), transparent 24%), linear-gradient(135deg, rgba(255,27,191,.84), rgba(154,54,255,.76) 54%, rgba(0,245,255,.78));
	border-color: rgba(255,255,255,.64);
	box-shadow: inset 0 0 20px rgba(255,255,255,.16), 0 0 22px rgba(255,27,191,.48), 0 0 44px rgba(0,245,255,.22);
}
.km-soundtrack-button[aria-pressed="true"] { animation: kmUltraPulse 1.35s ease-in-out infinite alternate; }
@keyframes kmUltraPulse {
	to { box-shadow: inset 0 0 24px rgba(255,255,255,.2), 0 0 30px rgba(255,27,191,.74), 0 0 64px rgba(0,245,255,.44); transform: translateY(-1px) scale(1.02); }
}
.km-hero::after,
.km-booking::before {
	background: radial-gradient(circle at 24% 40%, rgba(255,27,191,.24), transparent 38%), radial-gradient(circle at 78% 32%, rgba(0,245,255,.18), transparent 34%), linear-gradient(125deg, rgba(154,54,255,.1), transparent 58%);
}
.km-section-number,
.km-frequency-card em,
.km-merch-info span,
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--km-cyan); text-shadow: 0 0 12px rgba(0,245,255,.42); }
.km-text-link,
.woocommerce-message::before,
.woocommerce-info::before { color: var(--km-pink-hot); }
.km-gallery-card::after,
.km-merch-image::after {
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background: linear-gradient(135deg, rgba(255,27,191,.08), transparent 38%, rgba(0,245,255,.09));
	mix-blend-mode:screen;
}
.km-commerce-hero {
	background: radial-gradient(circle at 18% 20%, rgba(255,27,191,.24), transparent 32rem), radial-gradient(circle at 82% 18%, rgba(0,245,255,.18), transparent 28rem), linear-gradient(145deg,#090014,#040911);
	border-bottom-color: rgba(255,59,212,.28);
}
.woocommerce .quantity .qty,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.km-newsletter input {
	border-color: rgba(255,59,212,.28);
	background: rgba(5,0,14,.78);
}
.woocommerce .quantity .qty:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.km-newsletter input:focus {
	border-color: var(--km-cyan);
	box-shadow: 0 0 0 3px rgba(0,245,255,.11),0 0 20px rgba(255,27,191,.12);
}
.km-footer-policy a:hover,
.km-footer-social a:hover { color:var(--km-cyan); text-shadow:0 0 12px rgba(0,245,255,.55); }
@media (prefers-reduced-motion: reduce) {
	.km-soundtrack-button[aria-pressed="true"] { animation:none; }
}
