/*
Theme Name: Liberty Web Kits
Theme URI: https://kits.libertymstudio.com
Description: Premium dark marketplace child theme for Liberty Web Kits. Built on Astra. Provides the header, footer, WooCommerce presentation and design system for the template marketplace.
Author: Liberty M Studio
Author URI: https://libertymstudio.com
Template: astra
Version: 0.1.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: liberty-web-kits
*/

/* -------------------------------------------------------------------------
 * Base
 *
 * Design tokens live in assets/css/tokens.css and are loaded first.
 * This file holds component styling only.
 * ---------------------------------------------------------------------- */

body {
	background: var(--lwk-bg);
	color: var(--lwk-text-2);
	font-family: var(--lwk-font-body);
	font-size: var(--lwk-fs-body);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--lwk-font-display);
	color: var(--lwk-text);
	letter-spacing: -0.02em;
	line-height: 1.12;
	text-wrap: balance;
}

a {
	color: var(--lwk-cyan);
	text-decoration: none;
}

a:hover {
	color: var(--lwk-violet);
}

/* Visible focus for every interactive element - never removed. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
	outline: 2px solid var(--lwk-cyan);
	outline-offset: 3px;
	border-radius: 4px;
}

/* Skip link for keyboard users. */
.lwk-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 999999;
	padding: 12px 20px;
	background: var(--lwk-surface);
	color: var(--lwk-text);
	border: 1px solid var(--lwk-border);
	border-radius: 0 0 var(--lwk-radius-sm) 0;
}

.lwk-skip-link:focus {
	left: 0;
}

/* Shared content container - one measure across every section so the hero
   and body align on the same left edge. */
.lwk-container {
	width: 100%;
	max-width: var(--lwk-container);
	margin-inline: auto;
	padding-inline: var(--lwk-gutter);
}

/* Section rhythm */
.lwk-section {
	padding-block: var(--lwk-section-y);
}

/* -------------------------------------------------------------------------
 * Reduced motion
 * ---------------------------------------------------------------------- */

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

/* No-JS safety: scroll-reveal elements must render visible if JS never runs. */
.lwk-reveal {
	opacity: 1;
	transform: none;
}

.js .lwk-reveal {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.js .lwk-reveal.is-visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.js .lwk-reveal {
		opacity: 1;
		transform: none;
	}
}
