/*
Theme Name: Artislife
Theme URI: https://artislife.fi
Author: Art Is Life
Author URI: https://artislife.fi
Description: Premium block theme for Art Is Life — Helsinki-based creative nonprofit. Swiss-style design with Bebas Neue display typography.
Requires at least: 6.4
Tested up to: 6.9
Requires PHP: 8.0
Version: 2.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: artislife
Tags: full-site-editing, block-patterns, custom-colors, custom-logo, custom-menu
*/

/* ═══════════════════════════════════════════════════
   GOOGLE FONTS IMPORT
══════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Serif+Display:ital@0;1&family=Inter:wght@300;400;500;600&display=swap');

/* ═══════════════════════════════════════════════════
   CSS CUSTOM PROPERTIES
══════════════════════════════════════════════════ */
:root {
	--ail-ink:      #000000;
	--ail-cream:    #ffffff;
	--ail-rust:     #ff4d00;
	--ail-lime:     #c5ff2d;
	--ail-sand:     #e9e5d9;
	--ail-charcoal: #111111;
	--ail-muted:    #666666;
	--ail-border:   #000000;

	--ail-font-display: 'Bebas Neue', sans-serif;
	--ail-font-accent:  'DM Serif Display', serif;
	--ail-font-body:    'Inter', sans-serif;

	--ail-max-w: 1280px;
	--ail-pad-x: clamp(1.5rem, 5vw, 5rem);
	--ail-pad-y: clamp(4rem, 8vw, 7rem);
}

/* ═══════════════════════════════════════════════════
   GLOBAL RESET & BASE
══════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
	font-family: var(--ail-font-body);
	background: var(--ail-cream);
	color: var(--ail-ink);
	line-height: 1.6;
	font-size: 1rem;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

/* WordPress admin bar fix */
.wp-admin-bar-showing { margin-top: 0 !important; }

/* Remove default WP block paddings on the wrapper */
.wp-site-blocks { padding: 0 !important; }
.is-root-container { padding: 0 !important; }
.entry-content { margin: 0 !important; padding: 0 !important; }

/* ═══════════════════════════════════════════════════
   TYPOGRAPHY BASE
══════════════════════════════════════════════════ */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--ail-font-display);
	font-weight: 400;
	text-transform: uppercase;
	line-height: 0.9;
	letter-spacing: -0.01em;
	color: var(--ail-ink);
}

p { font-family: var(--ail-font-body); line-height: 1.6; color: var(--ail-ink); }

/* Italic accent style — applied to "Is", "create", "creativity" */
.ail-italic-accent {
	font-family: var(--ail-font-accent);
	font-style: italic;
	color: var(--ail-rust);
	text-transform: none;
	font-weight: 400;
	letter-spacing: -0.02em;
}

/* ═══════════════════════════════════════════════════
   HEADER / NAVIGATION
══════════════════════════════════════════════════ */
.ail-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--ail-cream);
	border-bottom: 2px solid var(--ail-ink);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem var(--ail-pad-x);
}

.ail-logo {
	font-family: var(--ail-font-display);
	font-size: 1.6rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--ail-ink);
	text-decoration: none;
}

.ail-nav {
	display: flex;
	gap: 2rem;
	list-style: none;
	align-items: center;
}

.ail-nav a {
	font-family: var(--ail-font-display);
	font-size: 1rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ail-ink);
	text-decoration: none;
	transition: color 0.2s;
}
.ail-nav a:hover { color: var(--ail-rust); }

/* WP Navigation block override */
.wp-block-navigation {
	font-family: var(--ail-font-display) !important;
	font-size: 1rem !important;
	letter-spacing: 0.08em !important;
}
.wp-block-navigation-item__content {
	text-transform: uppercase;
	color: var(--ail-ink) !important;
}

/* ═══════════════════════════════════════════════════
   ARTISLIFE PAGE WRAPPER
══════════════════════════════════════════════════ */
.ail-page {
	width: 100%;
	overflow-x: hidden;
}

/* ═══════════════════════════════════════════════════
   HERO SECTION
══════════════════════════════════════════════════ */
.ail-hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 90vh;
	border-bottom: 2px solid var(--ail-ink);
}

.ail-hero__left {
	background: var(--ail-cream);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: clamp(2rem, 5vw, 5rem) var(--ail-pad-x) clamp(2rem, 5vw, 4rem);
	border-right: 2px solid var(--ail-ink);
}

.ail-hero__eyebrow {
	font-family: var(--ail-font-body);
	font-size: 0.875rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ail-muted);
	margin-bottom: 1rem;
}

.ail-hero__h1 {
	font-family: var(--ail-font-display);
	font-size: clamp(5.5rem, 14vw, 11rem);
	line-height: 0.85;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	color: var(--ail-ink);
	margin-bottom: 2rem;
}

.ail-hero__subtitle {
	font-size: 1rem;
	line-height: 1.6;
	color: var(--ail-muted);
	max-width: 38ch;
	margin-bottom: 2.5rem;
}

.ail-hero__actions {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}

.ail-hero__right {
	position: relative;
	overflow: hidden;
	background: var(--ail-charcoal);
}

.ail-hero__right img,
.ail-hero__right-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(20%) contrast(1.05);
	display: block;
}

/* ═══════════════════════════════════════════════════
   BUTTONS
══════════════════════════════════════════════════ */
.ail-btn {
	display: inline-block;
	font-family: var(--ail-font-display);
	font-size: 1.1rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 0.65rem 2rem;
	border: 2px solid var(--ail-ink);
	transition: background 0.2s, color 0.2s;
	cursor: pointer;
	line-height: 1;
}

.ail-btn--primary {
	background: var(--ail-ink);
	color: var(--ail-cream);
}
.ail-btn--primary:hover {
	background: var(--ail-rust);
	border-color: var(--ail-rust);
	color: var(--ail-cream);
}

.ail-btn--outline {
	background: transparent;
	color: var(--ail-ink);
}
.ail-btn--outline:hover {
	background: var(--ail-ink);
	color: var(--ail-cream);
}

.ail-btn--outline-white {
	background: transparent;
	color: var(--ail-cream);
	border-color: var(--ail-cream);
}
.ail-btn--outline-white:hover {
	background: var(--ail-cream);
	color: var(--ail-rust);
}

/* ═══════════════════════════════════════════════════
   MARQUEE TICKER
══════════════════════════════════════════════════ */
.ail-marquee {
	background: var(--ail-lime);
	border-top: 2px solid var(--ail-ink);
	border-bottom: 2px solid var(--ail-ink);
	overflow: hidden;
	padding: 0.6rem 0;
	white-space: nowrap;
}

.ail-marquee__track {
	display: inline-flex;
	gap: 0;
	animation: ail-scroll 22s linear infinite;
	will-change: transform;
}

.ail-marquee__track span {
	font-family: var(--ail-font-display);
	font-size: clamp(1.4rem, 3vw, 2rem);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ail-ink);
	padding: 0 1.5rem;
}

.ail-marquee__track .ail-dot {
	color: var(--ail-rust);
	padding: 0;
}

@keyframes ail-scroll {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

/* ═══════════════════════════════════════════════════
   SECTION COMMON
══════════════════════════════════════════════════ */
.ail-section {
	padding: var(--ail-pad-y) var(--ail-pad-x);
	max-width: var(--ail-max-w);
	margin-left: auto;
	margin-right: auto;
}

.ail-section--full {
	padding: var(--ail-pad-y) var(--ail-pad-x);
	width: 100%;
}

.ail-section--dark {
	background: var(--ail-charcoal);
	color: var(--ail-cream);
}
.ail-section--dark h1,
.ail-section--dark h2,
.ail-section--dark h3 { color: var(--ail-cream); }

.ail-section-label {
	font-family: var(--ail-font-body);
	font-size: 0.8rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--ail-muted);
	margin-bottom: 2.5rem;
	display: block;
}
.ail-section--dark .ail-section-label { color: rgba(255,255,255,0.45); }

/* ═══════════════════════════════════════════════════
   EVENTS SECTION
══════════════════════════════════════════════════ */
.ail-events-wrap {
	background: var(--ail-cream);
	border-top: 2px solid var(--ail-ink);
	border-bottom: 2px solid var(--ail-ink);
}

.ail-events-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
}

.ail-event-card {
	background: var(--ail-sand);
	border-right: 2px solid var(--ail-ink);
	padding: 2.5rem 2rem;
	transition: background 0.2s;
}
.ail-event-card:last-child { border-right: none; }
.ail-event-card:hover { background: var(--ail-lime); }

.ail-event-date {
	font-family: var(--ail-font-display);
	font-size: 3rem;
	line-height: 0.9;
	color: var(--ail-muted);
	margin-bottom: 1rem;
	letter-spacing: -0.02em;
}

.ail-event-tag {
	font-family: var(--ail-font-body);
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ail-rust);
	margin-bottom: 0.5rem;
}

.ail-event-card h3 {
	font-size: clamp(1.1rem, 2vw, 1.6rem);
	margin-bottom: 0.75rem;
}

.ail-event-card p {
	font-size: 0.875rem;
	color: var(--ail-muted);
	line-height: 1.5;
}

/* ═══════════════════════════════════════════════════
   WORKS SECTION (DARK)
══════════════════════════════════════════════════ */
.ail-works-wrap {
	background: var(--ail-charcoal);
	border-top: 2px solid var(--ail-ink);
}

.ail-works-inner {
	padding: var(--ail-pad-y) var(--ail-pad-x);
	max-width: var(--ail-max-w);
	margin: 0 auto;
}

.ail-works-heading {
	margin-bottom: 2.5rem;
}

.ail-works-heading h2 {
	font-family: var(--ail-font-display);
	font-size: clamp(4rem, 10vw, 8rem);
	text-transform: uppercase;
	line-height: 0.88;
	color: var(--ail-cream);
}

.ail-works-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	grid-template-rows: auto auto;
	gap: 0.3rem;
}

.ail-work-item {
	position: relative;
	overflow: hidden;
	cursor: pointer;
	aspect-ratio: 4/3;
}

.ail-work-item:first-child {
	grid-row: 1 / 3;
	aspect-ratio: auto;
}

.ail-work-bg {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	transition: transform 0.5s ease;
}
.ail-work-item:hover .ail-work-bg { transform: scale(1.04); }

.ail-work-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 50%);
}

.ail-work-info {
	position: absolute;
	bottom: 1.5rem;
	left: 1.5rem;
	right: 1.5rem;
}

.ail-work-cat {
	font-family: var(--ail-font-body);
	font-size: 0.7rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--ail-lime);
	margin-bottom: 0.25rem;
}

.ail-work-info h3 {
	color: var(--ail-cream);
	font-size: clamp(1rem, 2vw, 1.4rem);
	line-height: 1;
}

/* ═══════════════════════════════════════════════════
   COMMUNITY + STATS
══════════════════════════════════════════════════ */
.ail-community-wrap {
	border-top: 2px solid var(--ail-ink);
	border-bottom: 2px solid var(--ail-ink);
}

.ail-community-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	max-width: var(--ail-max-w);
	margin: 0 auto;
}

.ail-community-left {
	padding: var(--ail-pad-y) var(--ail-pad-x) var(--ail-pad-y) var(--ail-pad-x);
	border-right: 2px solid var(--ail-ink);
}

.ail-community-left h2 {
	font-size: clamp(3.5rem, 8vw, 6.5rem);
	margin-bottom: 2rem;
}

.ail-community-left p {
	font-size: 1rem;
	color: var(--ail-muted);
	max-width: 45ch;
	line-height: 1.7;
	margin-bottom: 1.2rem;
}

.ail-community-right {
	padding: var(--ail-pad-y) var(--ail-pad-x);
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2rem;
}

.ail-stat {
	border-bottom: 1px solid rgba(0,0,0,0.15);
	padding-bottom: 1.5rem;
}
.ail-stat:last-child { border-bottom: none; }

.ail-stat__num {
	font-family: var(--ail-font-display);
	font-size: clamp(3rem, 6vw, 5rem);
	line-height: 1;
	color: var(--ail-rust);
	letter-spacing: -0.02em;
}

.ail-stat__label {
	font-family: var(--ail-font-body);
	font-size: 0.875rem;
	letter-spacing: 0.06em;
	color: var(--ail-muted);
	margin-top: 0.25rem;
}

/* ═══════════════════════════════════════════════════
   BLOG / LATEST POSTS
══════════════════════════════════════════════════ */
.ail-blog-wrap {
	border-top: 2px solid var(--ail-ink);
}

.ail-blog-inner {
	padding: var(--ail-pad-y) var(--ail-pad-x);
	max-width: var(--ail-max-w);
	margin: 0 auto;
}

.ail-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	border: 2px solid var(--ail-ink);
}

.ail-blog-card {
	border-right: 2px solid var(--ail-ink);
	display: flex;
	flex-direction: column;
}
.ail-blog-card:last-child { border-right: none; }

.ail-blog-card__img {
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
	display: block;
	border-bottom: 2px solid var(--ail-ink);
	filter: grayscale(10%);
}

.ail-blog-card__body {
	padding: 1.5rem;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.ail-blog-card__meta {
	font-family: var(--ail-font-body);
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ail-rust);
	margin-bottom: 0.5rem;
}

.ail-blog-card h3 {
	font-size: clamp(1rem, 2vw, 1.5rem);
	margin-bottom: 0.75rem;
	flex: 1;
}

.ail-blog-card p {
	font-size: 0.875rem;
	color: var(--ail-muted);
	line-height: 1.5;
	margin-bottom: 1.25rem;
}

.ail-read-more {
	font-family: var(--ail-font-display);
	font-size: 0.95rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ail-ink);
	text-decoration: none;
	border-bottom: 2px solid var(--ail-ink);
	display: inline-block;
	transition: color 0.2s, border-color 0.2s;
}
.ail-read-more:hover { color: var(--ail-rust); border-color: var(--ail-rust); }

/* ═══════════════════════════════════════════════════
   CTA BANNER
══════════════════════════════════════════════════ */
.ail-cta {
	background: var(--ail-rust);
	border-top: 2px solid var(--ail-ink);
	padding: clamp(3rem, 7vw, 6rem) var(--ail-pad-x);
}

.ail-cta__inner {
	max-width: var(--ail-max-w);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 3rem;
	flex-wrap: wrap;
}

.ail-cta h2 {
	font-family: var(--ail-font-display);
	font-size: clamp(2.5rem, 6vw, 5rem);
	color: var(--ail-cream);
	text-transform: uppercase;
	line-height: 0.9;
}

/* ═══════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════ */
.ail-footer {
	background: var(--ail-charcoal);
	border-top: 2px solid var(--ail-ink);
	color: var(--ail-cream);
}

.ail-footer__top {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 0;
	padding: 4rem var(--ail-pad-x) 3rem;
	max-width: var(--ail-max-w);
	margin: 0 auto;
	border-bottom: 1px solid rgba(255,255,255,0.1);
}

.ail-footer__brand {
	font-family: var(--ail-font-display);
	font-size: 2rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ail-cream);
}

.ail-sitemap-label {
	font-family: var(--ail-font-body);
	font-size: 0.7rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.4);
	margin-bottom: 1.5rem;
	display: block;
}

.ail-footer__links {
	display: flex;
	gap: 2.5rem;
	flex-wrap: wrap;
}

.ail-footer__links a {
	font-family: var(--ail-font-display);
	font-size: 1rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.7);
	text-decoration: none;
	transition: color 0.2s;
}
.ail-footer__links a:hover { color: var(--ail-lime); }

.ail-footer__bottom {
	padding: 1.5rem var(--ail-pad-x);
	max-width: var(--ail-max-w);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem;
}

.ail-footer__copy {
	font-size: 0.8rem;
	color: rgba(255,255,255,0.35);
}

.ail-footer__social {
	display: flex;
	gap: 1rem;
}

.ail-footer__social a {
	font-family: var(--ail-font-display);
	font-size: 0.9rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.5);
	text-decoration: none;
	transition: color 0.2s;
}
.ail-footer__social a:hover { color: var(--ail-lime); }

/* ═══════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════ */
@media (max-width: 900px) {
	.ail-hero {
		grid-template-columns: 1fr;
		min-height: auto;
	}
	.ail-hero__right {
		height: 50vw;
		min-height: 300px;
		border-right: none;
		border-top: 2px solid var(--ail-ink);
	}
	.ail-hero__left { border-right: none; }

	.ail-events-grid { grid-template-columns: 1fr; }
	.ail-event-card { border-right: none; border-bottom: 2px solid var(--ail-ink); }
	.ail-event-card:last-child { border-bottom: none; }

	.ail-works-grid { grid-template-columns: 1fr; }
	.ail-work-item:first-child { grid-row: auto; }

	.ail-community-inner { grid-template-columns: 1fr; }
	.ail-community-left { border-right: none; border-bottom: 2px solid var(--ail-ink); }

	.ail-blog-grid { grid-template-columns: 1fr; }
	.ail-blog-card { border-right: none; border-bottom: 2px solid var(--ail-ink); }
	.ail-blog-card:last-child { border-bottom: none; }

	.ail-cta__inner { flex-direction: column; align-items: flex-start; }

	.ail-footer__top { grid-template-columns: 1fr; gap: 2rem; }
}

@media (max-width: 600px) {
	.ail-hero__h1 { font-size: clamp(4rem, 20vw, 6rem); }
	.ail-community-left h2 { font-size: clamp(3rem, 15vw, 4.5rem); }
}

/* ═══════════════════════════════════════════════════
   UTILITY — HIDE WP DEFAULT WRAPPER PADDING
══════════════════════════════════════════════════ */
body .wp-block-group.is-layout-constrained > *,
body .wp-block-group.is-layout-flow > * {
	max-width: none !important;
}

/* Remove Gutenberg layout constraints on raw HTML blocks */
.wp-block-html { margin: 0 !important; }


/* Fix inline SVG icon sizes in contact list */
.wp-block-list li svg, ul li svg {
	width: 1.2em;
	height: 1.2em;
	vertical-align: middle;
	flex-shrink: 0;
	display: inline-block;
}
.wp-block-list li, ul li {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}


/* FORCE fix SVG icon sizes */
svg { max-width: 2rem !important; max-height: 2rem !important; }
li svg { width: 1.5rem !important; height: 1.5rem !important; }
\n\n/* ===== CONTACT PAGE COLOR ===== */\nbody.page-id-468 { background: #e9e5d9 !important; }\n.page-id-468 .wp-site-blocks { background: #e9e5d9 !important; }\n.page-id-468 h2 { background: #000; color: #fff !important; padding: 2rem 3rem; border-bottom: 4px solid #ff4d00; font-size: clamp(3rem, 8vw, 6rem); }\n.page-id-468 h3 { color: #ff4d00 !important; }\n.page-id-468 p { background: #fff; padding: 1.25rem 1.75rem; border-left: 5px solid #c5ff2d; color: #666 !important; margin-bottom: 1.25rem; }\n.page-id-468 ul li { background: #fff; border: 2px solid #000; border-left: 6px solid #ff4d00; padding: 1rem 1.5rem; margin-bottom: 0.5rem; }\n.page-id-468 ul li:hover { background: #c5ff2d; }\n.page-id-468 ul li a { color: #000; text-decoration: none; }\n.page-id-468 ul li svg path { fill: #ff4d00; }\n.page-id-468 h6 { font-size: 0.75rem; letter-spacing: 0.18em; text-transform: uppercase; color: #666 !important; margin: 2rem 0 0.75rem; }\n.page-id-468 img { border: 4px solid #000; box-shadow: 8px 8px 0 #ff4d00; display: block; max-width: 100%; margin-top: 1.5rem; }\n

/* ===== WOOCOMMERCE SKIN ===== */
.woocommerce-page .woocommerce,
.woocommerce { font-family: DM Sans, sans-serif !important; }

/* Shop hero band */
.page-id-1141 .wp-site-blocks::before,
.page-id-1142 .wp-site-blocks::before,
.page-id-1143 .wp-site-blocks::before {
  content: "";
  display: block;
  background: #0e0d0b;
  height: 12px;
  border-bottom: 2px solid #d94f2b;
}

/* WooCommerce headings */
.woocommerce h1.page-title,
.woocommerce-page h1 {
  font-family: Bebas Neue, sans-serif !important;
  font-size: clamp(3rem, 8vw, 6rem) !important;
  line-height: 0.9 !important;
  color: #0e0d0b !important;
  background: none !important;
  padding: 3rem clamp(1.5rem,5vw,4rem) 1.5rem !important;
  border: none !important;
  letter-spacing: 0.02em !important;
  border-bottom: 1.5px solid #0e0d0b !important;
}

/* Product cards */
.woocommerce ul.products li.product a img { border: 1.5px solid #0e0d0b !important; box-shadow: none !important; filter: saturate(0.8); transition: filter 0.3s; }
.woocommerce ul.products li.product:hover a img { filter: saturate(1); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: Bebas Neue, sans-serif !important; font-size: 1.3rem !important; color: #0e0d0b !important; letter-spacing: 0.04em !important; }
.woocommerce ul.products li.product .price { color: #d94f2b !important; font-weight: 500 !important; }
.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background: #0e0d0b !important;
  color: #f5f0e8 !important;
  font-family: DM Sans, sans-serif !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  border: none !important;
  padding: 0.75rem 1.5rem !important;
  transition: background 0.2s !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover { background: #d94f2b !important; }

/* Cart & checkout tables */
.woocommerce table.shop_table { border: 1.5px solid #0e0d0b !important; border-radius: 0 !important; }
.woocommerce table.shop_table th { background: #0e0d0b !important; color: #f5f0e8 !important; font-family: Bebas Neue, sans-serif !important; letter-spacing: 0.08em !important; font-weight: 400 !important; }
.woocommerce-cart .cart-collaterals h2,
.woocommerce-checkout h3 { font-family: Bebas Neue, sans-serif !important; letter-spacing: 0.04em !important; color: #0e0d0b !important; font-size: 1.8rem !important; }

/* Notices */
.woocommerce-message, .woocommerce-info { border-top-color: #d94f2b !important; background: #f5f0e8 !important; }
.woocommerce-message::before, .woocommerce-info::before { color: #d94f2b !important; }

/* ═══════════════════════════════════════════════════
   SINGLE PRODUCT PAGE ENHANCEMENTS
   ══════════════════════════════════════════════════ */

/* Fix Image Zoom Gallery position */
.single-product .woocommerce-product-gallery {
	position: relative;
}

/* Typography Hierarchy */
.single-product .product_title {
	font-size: clamp(2.5rem, 6vw, 4.5rem) !important;
	line-height: 1 !important;
	margin-bottom: 0.5rem !important;
	color: var(--ail-ink) !important;
}

/* Price Styling: Bold, Green, DM Serif Display */
.single-product .price {
	font-family: var(--ail-font-accent) !important;
	font-weight: 700 !important;
	color: #1b5e20 !important; /* Forest Green */
	font-size: 1.8rem !important;
	margin-bottom: 1.5rem !important;
	display: block !important;
}

/* Handle price ranges and sales */
.single-product .price ins {
	text-decoration: none;
	color: #1b5e20 !important;
}

.single-product .price del {
	font-size: 0.8em;
	opacity: 0.5;
	margin-right: 0.5rem;
}

/* Description Hierarchy */
.single-product .woocommerce-product-details__short-description {
	font-size: 1.1rem;
	line-height: 1.6;
	color: var(--ail-muted);
	margin-bottom: 2rem;
	max-width: 50ch;
}

/* Variation Labels & Form Hierarchy */
.single-product table.variations label {
	font-family: var(--ail-font-body);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--ail-muted);
	font-weight: 600;
}

/* Metadata */
.single-product .product_meta {
	margin-top: 2rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(0,0,0,0.05);
	font-size: 0.8rem;
	color: var(--ail-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.single-product .product_meta span {
	display: block;
	margin-bottom: 0.25rem;
}


