/*
Theme Name: Kingston's NeuroVerse
Template: kadence
Description: Child theme for Kingston's NeuroVerse. Calm, low-sensory styling on top of Kadence.
Version: 1.2.0
Author: PHS Design
*/

@font-face {
	font-family: "Lexend";
	src: url("fonts/lexend-latin-wght-normal.woff2") format("woff2");
	font-weight: 100 900;
	font-display: swap;
}
@font-face {
	font-family: "Inter";
	src: url("fonts/inter-latin-wght-normal.woff2") format("woff2");
	font-weight: 100 900;
	font-display: swap;
}

:root {
	--kn-space: #14163c;
	--kn-slate: #2c3e50;
	--kn-blue: #4a90e2;
	--kn-purple: #7b4dff;
	--kn-gold: #d4af37;
	--kn-soft: #f2f5f9;
	--kn-radius: 22px;
}

body {
	font-family: "Inter", system-ui, sans-serif;
	color: var(--kn-slate);
	line-height: 1.7;
}
h1, h2, h3, h4, h5, h6, .site-title, .wp-block-button__link, .main-navigation a {
	font-family: "Lexend", "Inter", system-ui, sans-serif;
	letter-spacing: 0;
}
h1, h2, h3 { line-height: 1.15; font-weight: 700; }

/* Buttons: soft pills, gold primary */
.wp-block-button__link,
.button, button[type="submit"] {
	border-radius: 999px;
	font-weight: 600;
	padding: 0.85em 1.8em;
	transition: background-color .25s ease, transform .25s ease;
}
.wp-block-button.is-style-fill .wp-block-button__link:hover { transform: translateY(-2px); }

/* Big poster cards (episodes, news, merch) */
.kn-cards .wp-block-post,
.kn-cards li.product {
	background: #fff;
	border-radius: var(--kn-radius);
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(20, 22, 60, .10);
	transition: transform .3s ease, box-shadow .3s ease;
}
.kn-cards .wp-block-post:hover,
.kn-cards li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(20, 22, 60, .16);
}
.kn-cards .wp-block-post-featured-image { margin: 0; }
.kn-cards .wp-block-post-featured-image img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.kn-cards .wp-block-post-title,
.kn-cards .wp-block-post-excerpt,
.kn-cards .wp-block-post-terms,
.kn-cards .wp-block-buttons { padding-left: 1.5rem; padding-right: 1.5rem; }
.kn-cards .wp-block-post-title { margin-top: 1rem; font-size: clamp(1.15rem, 1.6vw, 1.5rem); }
.kn-cards .wp-block-post-title a { text-decoration: none; color: var(--kn-space); }
.kn-cards .wp-block-post > :last-child { margin-bottom: 1.5rem; }

/* Dark sections */
.kn-dark { background: var(--kn-space); color: #e8ecff; }
.kn-dark h1, .kn-dark h2, .kn-dark h3, .kn-dark h4 { color: #fff; }
.kn-dark a:not(.wp-block-button__link) { color: #ffd966; }
.kn-eyebrow {
	text-transform: uppercase; letter-spacing: .16em; font-size: .8rem; font-weight: 600;
	font-family: "Lexend", sans-serif; color: var(--kn-gold); margin-bottom: .4rem;
}

/* Rounded media */
.kn-round img, .kn-round video, .kn-round iframe { border-radius: var(--kn-radius); }

/* Calm motion: nothing moves for people who ask for less */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Header over the 3D hero: white nav text until the page scrolls */
.transparent-header .site-header .main-navigation .primary-menu-container > ul > li.menu-item > a,
.transparent-header .site-header .site-title a { color: #fff; font-weight: 600; text-shadow: 0 1px 12px rgba(0, 0, 0, .35); }
.transparent-header .site-header .main-navigation .primary-menu-container > ul > li.menu-item > a:hover { color: #ffd966; }
.site-branding .custom-logo { max-height: none; width: 130px; height: auto; }
.site-branding { justify-content: center; }
.site-header-section-center, .site-header-section-center .site-branding, .header-navigation .header-menu-container { justify-content: center; }

/* WooCommerce product cards use the same big, soft look */
.woocommerce ul.products li.product {
	background: #fff; border-radius: var(--kn-radius); overflow: hidden; padding-bottom: 1.25rem;
	box-shadow: 0 10px 30px rgba(20, 22, 60, .10); transition: transform .3s ease, box-shadow .3s ease;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(20, 22, 60, .16); }
.woocommerce ul.products li.product img { aspect-ratio: 1 / 1; object-fit: contain; background: var(--kn-soft); margin: 0 0 1rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 1.25rem; font-family: "Lexend", sans-serif; font-size: 1.1rem; color: var(--kn-space); }
.woocommerce ul.products li.product .woocommerce-loop-product__link { text-decoration: none; }

/* Episode and news grids */
.kn-cards .wp-block-post-terms a {
	display: inline-block; margin-top: 1rem; padding: .2em .8em; border-radius: 999px;
	background: var(--kn-gold); color: var(--kn-space); font: 600 .75rem/1.6 "Lexend", sans-serif; text-decoration: none; text-transform: uppercase; letter-spacing: .06em;
}
.kn-dark .wp-block-button__link { font-size: 1rem; }
.alignfull.wp-block-group { margin-block-start: 0; }

/* Logo only in the header (the logo image carries the name) */
.site-branding .site-title-wrap, .site-branding .site-description { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Keep wide content off the screen edges */
.entry-content .wp-block-group.alignfull > .alignwide,
.entry-content .wp-block-group.alignfull > .wp-block-group.alignwide { padding-left: clamp(1.25rem, 4vw, 2.5rem); padding-right: clamp(1.25rem, 4vw, 2.5rem); box-sizing: border-box; }

/* Sections sit flush against each other */
.entry-content > .wp-block-group.alignfull,
.entry-content > .wp-block-kn-hero-3d,
.entry-content > .wp-block-block { margin-block-start: 0; margin-block-end: 0; }
.kn-cards { margin-bottom: 2.5rem; }
.entry-content .wp-block-columns { gap: 2rem; }



/* Translucent gold bar behind the menu so the letters stay readable over the 3D scene */
.header-navigation .primary-menu-container > ul.menu {
	background: rgba(232, 196, 76, .82);
	border-radius: 999px;
	padding: .15rem .9rem;
	box-shadow: 0 4px 18px rgba(20, 22, 60, .18);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.header-navigation .primary-menu-container > ul.menu > li.menu-item > a { color: #14163c; text-shadow: none; font-weight: 600; }
.transparent-header .site-header .main-navigation .primary-menu-container > ul > li.menu-item > a { color: #14163c; text-shadow: none; }
.transparent-header .site-header .main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
.header-navigation .primary-menu-container > ul.menu > li.menu-item > a:hover { color: #000; text-decoration: underline; }
.mobile-toggle-open-container .menu-toggle-open { background: rgba(212, 175, 55, .75); border-radius: 999px; color: #14163c; padding: .5rem .8rem; }


/* Contact page */
.kn-contact-card {
	background: #fff; border: 3px solid #ffd23f; border-radius: var(--kn-radius);
	padding: 1.1rem 1.4rem; margin-bottom: 1rem; box-shadow: 0 6px 20px rgba(20, 22, 60, .1);
	transition: transform .18s ease, box-shadow .18s ease;
}
.kn-contact-card:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(20, 22, 60, .18); }
.kn-contact-card h3 { margin: 0 0 .2rem; }
.kn-contact-card h3 a { color: var(--kn-purple); text-decoration: none; }
.kn-contact-card p { margin: 0; }
.kn-form-card {
	background: linear-gradient(160deg, #14163c, #262d70); color: #fff; border: 3px solid #ffd23f;
	border-radius: var(--kn-radius); padding: 2rem 2rem 2.25rem; box-shadow: 0 10px 34px rgba(20, 22, 60, .25);
}
.kn-form-card h2 { color: #fff; margin-top: 0; }
.kn-form-card label { display: block; font-weight: 600; margin-bottom: 1rem; }
.kn-form-card input[type="text"], .kn-form-card input[type="email"], .kn-form-card textarea {
	width: 100%; margin-top: .35rem; padding: .75rem 1rem; font: inherit; color: #14163c;
	background: #fff; border: 3px solid transparent; border-radius: 14px;
}
.kn-form-card input:focus, .kn-form-card textarea:focus { outline: none; border-color: #2ad0e6; }
.kn-form-card input[type="submit"] {
	background: #ffd23f; color: #14163c; font: inherit; font-weight: 700; border: 0; border-radius: 999px;
	padding: .8rem 2rem; cursor: pointer; box-shadow: 0 4px 0 #ff9a1f; transition: transform .12s ease;
}
.kn-form-card input[type="submit"]:hover { transform: translateY(-2px); }
.kn-form-card .wpcf7-response-output { border-color: #ffd23f; color: #fff; border-radius: 14px; }
.kn-form-card .wpcf7-not-valid-tip { color: #ffd23f; }
@media (prefers-reduced-motion: reduce) { .kn-contact-card, .kn-form-card input[type="submit"] { transition: none; } .kn-contact-card:hover { transform: none; } }
.kn-form-card textarea { height: 150px; resize: vertical; }

/* Starfield sections (Episodes, Songs). Stars, planets and a moon are all CSS, no images. */
.kn-starfield {
	position: relative; overflow: hidden; color: #e8ecff;
	background:
		radial-gradient(ellipse at 15% 0%, #2d3390 0%, transparent 55%),
		radial-gradient(ellipse at 95% 100%, #43309a 0%, transparent 50%),
		linear-gradient(180deg, #14163c, #1b1f55 55%, #14163c);
}
.kn-starfield::before, .kn-starfield::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.kn-starfield::before {
	background-image:
		radial-gradient(1.6px 1.6px at 30px 40px, #fff, transparent),
		radial-gradient(1.2px 1.2px at 120px 90px, #cfe9ff, transparent),
		radial-gradient(2px 2px at 200px 30px, #ffe9a6, transparent),
		radial-gradient(1.2px 1.2px at 70px 160px, #fff, transparent),
		radial-gradient(1.6px 1.6px at 250px 140px, #d9d0ff, transparent);
	background-size: 280px 200px; opacity: .85;
}
.kn-starfield::after {
	background:
		radial-gradient(circle 120px at 94% 9%, #9a78ff 0, #5a38d0 62%, #2f1f86 72%, transparent 73%),
		radial-gradient(circle 46px at 5% 88%, #ffe27a 0, #ffb21f 68%, transparent 70%),
		radial-gradient(circle 26px at 82% 78%, #2ad0e6 0, #1a8fb8 70%, transparent 72%);
	opacity: .55;
}
.kn-starfield > * { position: relative; z-index: 1; }
.kn-starfield h1, .kn-starfield h2, .kn-starfield h3 { color: #fff; }
.kn-starfield a:not(.wp-block-button__link) { color: #ffd966; }
.kn-starfield .kn-cards .wp-block-post { color: #2c3e50; }
.kn-starfield .kn-cards .wp-block-post-title a,
.kn-starfield .kn-cards .wp-block-post-title { color: #14163c; }
.kn-starfield .kn-cards .wp-block-post-terms a { color: inherit; }
.kn-player-card, .kn-lyric-card {
	background: rgba(255, 255, 255, .08); border: 3px solid #ffd23f; border-radius: var(--kn-radius);
	padding: 1.25rem 1.6rem; margin-bottom: 1.25rem; backdrop-filter: blur(3px);
}
.kn-lyric-card h3 { margin-top: 0; color: #ffd23f; }
.kn-lyric-card p { margin: 0; font-size: 1.1rem; line-height: 1.8; color: #fff; }
.kn-player-card audio { width: 100%; display: block; }
.kn-player-card { box-shadow: 0 10px 34px rgba(0, 0, 0, .3); }

/* Header My Account button */
.header-button, .mobile-header-button { white-space: nowrap; font-weight: 700; }
.mobile-header-button-wrap .mobile-header-button { padding: .5rem .85rem; font-size: .8rem; line-height: 1.1; }
.mobile-header-button-wrap { flex: 0 0 auto; }
