/*
Theme Name: Client Theme
Theme URI: https://example.com/client-theme
Author: Your Name
Author URI: https://example.com
Description: A clean, minimal, Underscores-based starter theme for WordPress with WooCommerce template-override support. Intended as the base layer for client builds.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: client-theme
Tags: e-commerce, blog, one-column, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, block-styles, wide-blocks

Client Theme is distributed under the terms of the GNU GPL v2 or later.

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*
 * Design system
 * -------------
 * Shared brand tokens and layout primitives. `assets/css/main.css` keeps the
 * original `--ct-*` foundation layer; these `--color-*` / `--radius-*` tokens
 * are the brand palette layered on top. Both are defined, so nothing that
 * already relied on the old names breaks.
 */

:root {
	--color-primary: #d31e25;
	--color-primary-dark: #b7191f;
	--color-primary-light: #e94a4f;
	--color-primary-soft: #fce3e4;

	--color-accent-green: #72a032;
	--color-accent-green-dark: #5c8428;
	--color-accent-green-soft: #e5f0df;

	--color-swoosh-green: #009b42;
	--color-swoosh-green-dark: #007d35;

	--color-white: #ffffff;
	--color-background: #ffffff;
	--color-surface: #f8f9fa;
	--color-surface-dark: #f0f1f2;

	--color-text: #222222;
	--color-text-muted: #666666;
	--color-border: #e5e5e5;

	--radius-sm: 6px;
	--radius-md: 12px;
	--radius-lg: 18px;
	--radius-pill: 999px;

	--shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
	--shadow-md: 0 8px 24px rgba(0, 0, 0, 0.1);
	--shadow-hover: 0 12px 30px rgba(0, 0, 0, 0.13);

	--transition-fast: 180ms ease;
	--transition-normal: 280ms ease;

	--container-width: 1200px;

	/* Typography */
	--font-display: "Arvo", serif;
	--font-body: "Lato", sans-serif;

	--font-size-ui: clamp(0.875rem, 1vw, 0.95rem);
	--font-size-body: clamp(1rem, 1vw, 1.1rem);

	--font-size-heading-compact: clamp(1.125rem, 4vw, 1.8rem);
	--font-size-heading-standard: clamp(1.25rem, 5vw, 2.4rem);
	--font-size-heading-large: clamp(1.5rem, 6vw, 3rem);
	--font-size-display: clamp(1.75rem, 7vw, 4.5rem);

	--font-weight-regular: 400;
	--font-weight-bold: 700;
	--font-weight-black: 900;

	--line-height-tight: 1.05;
	--line-height-heading: 1.15;
	--line-height-body: 1.55;

	--letter-spacing-tight: -0.025em;
	--letter-spacing-normal: 0;
	--letter-spacing-wide: 0.04em;
}

/* =========================================
   TYPOGRAPHY
   ========================================= */

html {
	overflow-x: hidden;
	overflow-x: clip;
	max-width: 100%;
}

body {
	font-family: var(--font-body);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-body);
	color: var(--color-text);
	letter-spacing: var(--letter-spacing-normal);
	overflow-x: hidden;
	overflow-x: clip;
	max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-display);
	color: var(--color-text);
}

.section-heading {
	font-family: var(--font-display);
	line-height: var(--line-height-heading);
	font-weight: var(--font-weight-bold);
	margin-bottom: 1rem;
	color: var(--color-text);
	text-align: left;
}
.section-heading--display {
	font-size: var(--font-size-display);
	line-height: var(--line-height-tight);
}
.section-heading--large {
	font-size: var(--font-size-heading-large);
}
.section-heading--standard {
	font-size: var(--font-size-heading-standard);
}
.section-heading--compact {
	font-size: var(--font-size-heading-compact);
}
.section-heading--center {
	text-align: center;
}

p {
	max-width: 60ch;
}

/* Never constrain text inside cards, navs, or footer */
.product-card p,
.site-footer p,
.site-header p,
nav p {
	max-width: none;
}

/* Typography Utility Classes */
.text-accent-red {
	color: var(--color-primary);
}
.text-center {
	text-align: center;
	text-align: -webkit-center;
}

/* =========================================
   COMPONENT TYPOGRAPHY
   ========================================= */

/* Navigation */
.site-header__nav a,
.site-header__menu a {
	font-family: var(--font-body);
	font-weight: var(--font-weight-bold);
}

/* Buttons */
.homepage-button,
button,
.button,
input[type="submit"] {
	font-family: var(--font-body);
	font-size: var(--font-size-ui);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.01em;
}

/* Forms */
input,
select,
textarea {
	font-family: var(--font-body);
	font-size: var(--font-size-ui);
	font-weight: var(--font-weight-regular);
}
label {
	font-size: var(--font-size-ui);
	font-weight: var(--font-weight-bold);
}

/* Category Strip */
.homepage-category-card__title {
	font-family: var(--font-body);
	font-size: var(--font-size-ui);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.01em;
}

/* Trust / About Section */
.homepage-about__feature-title,
.homepage-trust-card__title {
	font-family: var(--font-body);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-bold);
}
.homepage-about__feature-description {
	font-family: var(--font-body);
	font-size: var(--font-size-ui);
}

/* Marquee */
.homepage-marquee {
	font-family: var(--font-display);
	font-size: var(--font-size-heading-compact);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.02em;
	color: var(--color-white);
}

/* Product Cards */
.product-card__title {
	font-family: var(--font-body);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
}
.product-card__price,
.price {
	font-family: var(--font-body);
	font-size: clamp(1rem, 2vw, 1.125rem);
	font-weight: var(--font-weight-black);
}
.price ins {
	color: var(--color-primary);
	text-decoration: none;
}
.price del {
	color: var(--color-text-muted);
	font-size: var(--font-size-ui);
	font-weight: var(--font-weight-bold);
}
.product-card .add_to_cart_button {
	font-family: var(--font-body);
	font-size: var(--font-size-ui);
	font-weight: var(--font-weight-bold);
}

/* Blog Cards */
.blog-card__date {
	font-family: var(--font-body);
	font-size: var(--font-size-ui);
	font-weight: var(--font-weight-regular);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-text-muted);
}
.blog-card__title {
	font-family: var(--font-body);
	font-size: var(--font-size-heading-compact);
	font-weight: var(--font-weight-bold);
	line-height: 1.35;
}

/* Footer Typography */
.site-footer__group-title {
	font-family: var(--font-display);
	font-size: var(--font-size-heading-compact);
	font-weight: var(--font-weight-bold);
}
.site-footer__links a,
.site-footer__text,
.site-footer__newsletter-desc {
	font-family: var(--font-body);
	font-size: var(--font-size-ui);
	line-height: 1.5;
}
.site-footer__copy {
	font-family: var(--font-body);
	font-size: clamp(0.75rem, 2vw, 0.8125rem);
}

/* Layout primitives. */
.container {
	width: 100%;
	max-width: var(--container-width);
	margin-inline: auto;
	padding-inline: 20px;
}

.section {
	padding-block: 56px;
}

.section-header {
	max-width: 680px;
	margin: 0 auto 36px;
	/* text-align: center; */
}

.section-title {
	margin: 0 0 10px;
	font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2.125rem);
	line-height: 1.2;
	font-weight: 700;
	color: var(--color-text);
}

.section-description {
	margin: 0;
	color: var(--color-text-muted);
	font-size: 1rem;
	line-height: 1.6;
}

@media (max-width: 47.99em) {
	.section {
		padding-block: 40px;
	}

	.section-header {
		margin-bottom: 26px;
	}
}

/* --------------------------------------------------- Site Footer ------------- */

.site-footer {
	background-color: var(--color-ink, #1f2933);
	color: var(--color-white);
	max-width: none;
	padding-inline: 0;
}

.site-footer a {
	color: var(--color-white);
	text-decoration: none;
	transition:
		color var(--transition-fast),
		opacity var(--transition-fast);
}

.site-footer a:hover,
.site-footer a:focus-visible {
	color: var(--color-accent-green-soft, #e5f0df);
}

/* Main Footer */
.site-footer__main {
	padding-top: 64px;
	padding-bottom: 56px;
}

.site-footer__main-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.5fr);
	gap: 60px;
}

/* Left Brand */
.site-footer__logo {
	margin-bottom: 24px;
}

.site-footer__logo img,
.site-footer__logo .custom-logo {
	max-width: 160px;
	height: auto;
	/* Uncomment if logo needs to be forced white against red background:
	filter: brightness(0) invert(1); */
}

.site-footer__logo-text {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.site-footer__description {
	font-size: 15px;
	line-height: 1.5;
	margin: 0 0 32px 0;
	color: rgba(255, 255, 255, 0.9);
}

.site-footer__newsletter {
	margin-bottom: 32px;
}

.site-footer__newsletter-title {
	font-size: 16px;
	font-weight: 600;
	margin: 0 0 12px 0;
	color: var(--color-white);
}

.site-footer__newsletter-input-group {
	display: flex;
	align-items: center;
	background: var(--color-white);
	border-radius: var(--radius-pill);
	overflow: hidden;
	padding: 4px;
}

.site-footer__newsletter-input-group input[type="email"] {
	flex: 1;
	min-width: 0;
	border: none;
	background: transparent;
	padding: 8px 16px;
	color: var(--color-text);
	font-size: 14px;
	outline: none;
}

.site-footer__newsletter-input-group input[type="email"]::placeholder {
	color: var(--color-text-muted);
}

.site-footer__newsletter-input-group button {
	background: var(--color-primary-dark);
	color: var(--color-white);
	border: none;
	padding: 10px 24px;
	border-radius: var(--radius-pill);
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
	transition: background var(--transition-fast);
}

.site-footer__newsletter-input-group button:hover {
	background: var(--color-text);
}

.site-footer__address {
	font-size: 14px;
	line-height: 1.6;
	font-style: normal;
	color: rgba(255, 255, 255, 0.85);
}

.site-footer__address strong {
	color: var(--color-white);
}

/* Right Navigation */
.site-footer__navigation {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.site-footer__group-title {
	font-size: 16px;
	font-weight: 600;
	margin: 0 0 20px 0;
	color: var(--color-white);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.site-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.site-footer__links--inline {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 16px 24px;
}

.site-footer__links a {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.85);
}

.site-footer__links a:hover,
.site-footer__links a:focus-visible {
	color: var(--color-white);
}

/* Social Links */
.site-footer__social-links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.site-footer__social-links a {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-white);
}

.site-footer__social-links a:hover,
.site-footer__social-links a:focus-visible {
	color: var(--color-accent-green-soft, #e5f0df);
}

/* Bottom Footer */
.site-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	padding-top: 24px;
	padding-bottom: 24px;
}

.site-footer__bottom-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
}

.site-footer__legal {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 24px;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.7);
}

.site-footer__copyright {
	margin: 0;
}

.site-footer__legal-links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.site-footer__legal-links a {
	color: rgba(255, 255, 255, 0.7);
}

.site-footer__legal-links a:hover {
	color: var(--color-white);
}

/* Responsive */
@media (max-width: 62em) {
	/* 992px */
	.site-footer__main-grid {
		gap: 40px;
	}

	.site-footer__navigation {
		gap: 24px;
	}
}

@media (max-width: 48em) {
	/* 768px */
	.site-footer__main {
		padding-top: 48px;
		padding-bottom: 40px;
	}

	.site-footer__main-grid {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.site-footer__navigation {
		gap: 32px;
	}

	.site-footer__bottom-inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* Added for new footer layout */
.site-footer__group-row {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: clamp(24px, 5vw, 80px);
}

.site-footer__social-row {
	display: flex;
	align-items: center;
	gap: 20px;
}

.site-footer__social-row .site-footer__group-title {
	margin: 0;
}

.site-footer__newsletter-form button {
	background-color: #ff0000;
	color: white;
	border-radius: 20px;
	padding: 8px 24px;
	font-weight: 700;
}

.site-footer__newsletter-input-group {
	background: white;
	border-radius: 25px;
	padding: 4px;
	display: flex;
	max-width: 350px;
}

.site-footer__newsletter-input-group input[type="email"] {
	flex: 1;
	min-width: 0;
	border: none;
	background: transparent;
	padding: 8px 16px;
	color: var(--color-ink, #333);
	font-size: 14px;
	outline: none;
}

.site-footer__marketplaces {
	display: flex;
	align-items: center;
	gap: 12px;
}

.site-footer__marketplaces-text {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.85);
}

@media (max-width: 48em) {
	.site-footer__group-row {
		flex-direction: column;
		gap: 32px;
	}

	.site-footer__social-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}
}
