/*
Theme Name: Atelier Blanc
Author: WordPress Telex
Description: A refined, gallery-inspired WordPress block theme for artisan leather goods. Warm bone tones, elegant serif typography, and museum-like presentation.
Version: 0.1.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: atelier-blanc
Tags: block-theme, full-site-editing, e-commerce

Atelier Blanc — Where craft meets quiet luxury.
*/

/* Gold decorative rule */
.ab-gold-rule {
	width: 4rem;
	height: 1px;
	background-color: #C4A882;
	border: none;
	margin: 0 auto;
}



/* Full-width hero cover */
.wp-block-cover.alignfull {
	position: relative;
}

.wp-block-cover .wp-block-cover__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 60vh;
}

/* Navigation bar styling */
.ab-nav-bar {
	border-top: 1px solid #EDE6DA;
	border-bottom: 1px solid #EDE6DA;
}

.ab-nav-bar .wp-block-navigation .wp-block-navigation-item a {
	font-family: 'Libre Baskerville', 'Baskerville', 'Palatino Linotype', Palatino, 'Book Antiqua', serif;
	font-size: 0.9375rem;
	text-transform: lowercase;
	letter-spacing: 0.12em;
	color: #1E1209;
	text-decoration: none;
	position: relative;
	padding-bottom: 0.25rem;
}

.ab-nav-bar .wp-block-navigation .wp-block-navigation-item a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 1px;
	background-color: #C4A882;
	transform: translateX(-50%);
	transition: width 0.3s ease;
}

.ab-nav-bar .wp-block-navigation .wp-block-navigation-item a:hover::after {
	width: 100%;
}

/* Hero CTA link style */
.ab-cta-link a {
	font-family: 'Libre Baskerville', 'Baskerville', 'Palatino Linotype', Palatino, 'Book Antiqua', serif;
	font-size: 0.85rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: #1E1209;
	text-decoration: none;
	border-bottom: 1px solid #C4A882;
	padding-bottom: 0.35rem;
	transition: opacity 0.3s ease;
}

.ab-cta-link a:hover {
	opacity: 0.7;
}

/* Craft section card styling */
.ab-craft-card {
	padding: 2.5rem 2rem 2.5rem 2.5rem;
	background-color: #FFFFFF;
	text-align: left;
	border-left: 2px solid #C4A882;
	transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.ab-craft-card:hover {
	box-shadow: 0 0.25rem 2rem rgba(30, 18, 9, 0.06);
	border-left-color: #1E1209;
}

/* Collection cards */
.ab-collection-card {
	overflow: hidden;
}

.ab-collection-card img {
	width: 100%;
	height: 20rem;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.ab-collection-card:hover img {
	transform: scale(1.03);
}

/* Equal cards layout */
.equal-cards > .wp-block-column {
	display: flex;
	flex-direction: column;
	flex-grow: 0;
}

.equal-cards > .wp-block-column > .wp-block-group {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.equal-cards .cta-bottom {
	margin-top: auto;
	justify-content: center;
}

/* Gallery images */
.ab-gallery-image .wp-block-image img {
	transition: transform 0.6s ease, filter 0.6s ease;
}

.ab-gallery-image .wp-block-image:hover img {
	transform: scale(1.02);
	filter: brightness(1.04);
}

/* Social icons hover animation */
.ab-social-icons .wp-social-link {
	transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
}

.ab-social-icons .wp-social-link:hover {
	transform: translateY(-3px);
	background-color: #C4A882 !important;
	box-shadow: 0 4px 12px rgba(30, 18, 9, 0.15);
}

/* Creative brand frame */
.ab-brand-frame {
	position: relative;
}

.ab-brand-frame::before {
	content: '';
	position: absolute;
	top: 0.4rem;
	left: 0.4rem;
	right: 0.4rem;
	bottom: 0.4rem;
	border: 1px solid #EDE6DA;
	pointer-events: none;
}

/* Header social icons */
.ab-header-social .wp-social-link {
	transition: color 0.3s ease, transform 0.3s ease;
}

.ab-header-social .wp-social-link:hover {
	transform: translateY(-2px);
	color: #C4A882 !important;
}

.ab-header-social .wp-social-link:hover svg {
	fill: #C4A882;
}

/* Pullquote testimonial styling */
.wp-block-pullquote {
	text-align: center;
}

.wp-block-pullquote blockquote {
	border: none;
	padding: 0;
	margin: 0;
}

.wp-block-pullquote blockquote p {
	font-family: 'Playfair Display', 'GFS Didot', 'Didot', Georgia, serif;
}

.wp-block-pullquote cite {
	font-family: 'Libre Baskerville', 'Baskerville', 'Palatino Linotype', Palatino, 'Book Antiqua', serif;
	font-size: 0.8125rem;
	font-style: normal;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: #C4A882;
	margin-top: 1.25rem;
	display: block;
}

/* Footer list indent reset */
footer .wp-block-list {
	padding-left: 0;
	list-style: none;
}

/* Footer margin reset */
.wp-site-blocks > footer {
	margin-block-start: 0;
}

/* CTA button hover */
.ab-cta-button .wp-block-button__link {
	transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}

.ab-cta-button .wp-block-button__link:hover {
	background-color: #FAF6EF !important;
	color: #1E1209 !important;
	box-shadow: 0 0.25rem 1.5rem rgba(196, 168, 130, 0.3);
}

/* Hero gold hover button */
.ab-hero-gold-hover .wp-block-button__link {
	transition: background-color 0.3s ease, color 0.3s ease;
}

.ab-hero-gold-hover .wp-block-button__link:hover {
	background-color: #C4A882 !important;
	color: #1E1209 !important;
}

/* Subscribe form styling */
.ab-subscribe-form input[type="email"]::placeholder {
	color: #8A7B6E;
	font-style: italic;
	opacity: 1;
}

.ab-subscribe-form input[type="email"]:focus {
	border-color: #FAF6EF;
}

.ab-subscribe-form button:hover {
	background-color: #FAF6EF !important;
	color: #1E1209 !important;
}

@media (max-width: 30rem) {
	.ab-subscribe-form {
		flex-direction: column !important;
		gap: 0.75rem !important;
	}

	.ab-subscribe-form input[type="email"] {
		border-right: 1px solid #C4A882 !important;
	}

	.ab-subscribe-form button {
		width: 100%;
	}
}

/* Fade in animation */
@keyframes abFadeUp {
	from {
		opacity: 0;
		transform: translateY(1.5rem);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.ab-fade-up {
	animation: abFadeUp 0.8s ease both;
}

.ab-fade-up-delay-1 {
	animation: abFadeUp 0.8s ease 0.15s both;
}

.ab-fade-up-delay-2 {
	animation: abFadeUp 0.8s ease 0.3s both;
}

.ab-fade-up-delay-3 {
	animation: abFadeUp 0.8s ease 0.45s both;
}