/**
 * ACS Lumi Atelier - block and pattern fine-tuning.
 */

/* --------------- Base --------------- */
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img {
	max-width: 100%;
}

.wp-site-blocks {
	overflow-x: clip;
}

a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible,
.wp-block-search__input:focus-visible {
	outline: 2px solid var(--wp--preset--color--brand-pink);
	outline-offset: 2px;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* --------------- Site Header --------------- */
.site-header .wp-block-site-title a {
	text-decoration: none;
	color: var(--wp--preset--color--text);
}

.site-header .header-actions {
	gap: 8px;
}

.site-header .header-search .wp-block-search__inside-wrapper {
	border: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--paper);
	border-radius: 999px;
}

.site-header .header-search .wp-block-search__input {
	background: transparent;
}

.site-header .header-favorite {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	color: var(--wp--preset--color--text-sub);
	text-decoration: none;
	transition: color .2s ease, background .2s ease;
}

.site-header .header-favorite:hover,
.site-header .header-favorite:focus-visible {
	color: var(--wp--preset--color--brand-pink);
	background: var(--wp--preset--color--pale-pink);
}

.site-header .primary-navigation a {
	color: var(--wp--preset--color--text);
	text-decoration: none;
}

.site-header .primary-navigation a:hover {
	color: var(--wp--preset--color--brand-pink);
}

@media (max-width: 920px) {
	.site-header > .wp-block-group {
		gap: 16px;
	}

	.site-header .header-actions {
		margin-left: auto;
	}

	.site-header .header-search {
		max-width: 44px;
	}
}

/* --------------- Section heading --------------- */
.acs-section__title .acs-section__star {
	color: var(--wp--preset--color--gold);
	margin-right: 8px;
}

.acs-section__more .wp-block-button__link.is-style-outline,
.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--brand-pink);
	border: 1px solid var(--wp--preset--color--brand-pink);
}

.acs-section__more .wp-block-button__link.is-style-outline:hover,
.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--brand-pink);
	color: #fff;
}

/* --------------- Hero --------------- */
.acs-hero {
	overflow: hidden;
	position: relative;
}

.acs-hero::before,
.acs-hero::after {
	content: "";
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
}

.acs-hero::before {
	width: 220px;
	height: 220px;
	right: -60px;
	top: -70px;
	background: rgba(255, 255, 255, 0.52);
}

.acs-hero::after {
	width: 180px;
	height: 180px;
	left: -80px;
	bottom: -80px;
	background: rgba(207, 163, 156, 0.2);
}

.acs-hero > * {
	position: relative;
	z-index: 1;
}

.acs-hero__title {
	font-family: var(--wp--preset--font-family--serif);
}

.acs-hero__image img {
	width: 100%;
	height: auto;
	box-shadow: 0 10px 30px rgba(63, 52, 49, 0.08);
}

@media (max-width: 781px) {
	.acs-hero .wp-block-columns {
		flex-direction: column-reverse;
	}
}

/* --------------- Product cards --------------- */
.acs-product-grid.wp-block-columns {
	flex-wrap: nowrap;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	padding-bottom: 8px;
}

.acs-product-grid > .wp-block-column {
	scroll-snap-align: start;
	flex: 0 0 calc((100% - 5 * var(--wp--preset--spacing--20)) / 6);
	min-width: 180px;
}

.acs-product-card {
	transition: transform .25s ease, box-shadow .25s ease;
	height: 100%;
}

.acs-product-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--wp--preset--shadow--card-hover);
}

.acs-product-card__image img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.acs-product-card__title {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 500;
	line-height: 1.55;
}

@media (max-width: 781px) {
	.acs-product-grid > .wp-block-column {
		flex-basis: 60%;
		min-width: 220px;
	}
}

/* --------------- Ranking --------------- */
.acs-ranking-item {
	transition: box-shadow .25s ease;
}

.acs-ranking-item:hover {
	box-shadow: var(--wp--preset--shadow--card);
}

.acs-ranking-item__badge {
	color: var(--wp--preset--color--gold);
	font-family: var(--wp--preset--font-family--serif);
}

.acs-ranking-item__image img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
}

@media (max-width: 781px) {
	.acs-ranking-item.wp-block-columns {
		flex-wrap: wrap;
	}
}

/* --------------- Review grid --------------- */
.acs-review-card {
	transition: transform .25s ease, box-shadow .25s ease;
	height: 100%;
}

.acs-review-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--wp--preset--shadow--card-hover);
}

.acs-review-card__cat {
	background: var(--wp--preset--color--pale-pink);
	color: var(--wp--preset--color--brand-pink);
	display: inline-block;
	padding: 2px 10px;
	border-radius: 999px;
	margin-bottom: 4px;
}

.acs-review-card__cat a {
	color: inherit;
	text-decoration: none;
}

.acs-review-card__title a {
	color: var(--wp--preset--color--text);
	text-decoration: none;
}

.acs-review-card__title a:hover {
	color: var(--wp--preset--color--brand-pink);
}

/* --------------- Category tiles --------------- */
.acs-category-grid.wp-block-columns {
	flex-wrap: wrap;
}

.acs-category-grid > .wp-block-column {
	flex: 1 0 calc((100% - 5 * var(--wp--preset--spacing--20)) / 6);
	min-width: 140px;
}

.acs-category-tile__image img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: transform .25s ease;
}

.acs-category-tile__image:hover img {
	transform: scale(1.03);
}

.acs-category-tile__label a {
	color: var(--wp--preset--color--text);
	text-decoration: none;
}

.acs-category-tile__label a:hover {
	color: var(--wp--preset--color--brand-pink);
}

@media (max-width: 781px) {
	.acs-category-grid > .wp-block-column {
		flex-basis: calc(50% - var(--wp--preset--spacing--20));
	}
}

/* --------------- Profile --------------- */
.acs-profile-card__image img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.acs-profile-card__name {
	font-family: var(--wp--preset--font-family--serif);
	letter-spacing: 0.08em;
}

@media (max-width: 781px) {
	.acs-profile-card.wp-block-columns {
		flex-wrap: wrap;
	}
}

/* --------------- Newsletter --------------- */
.acs-newsletter__title {
	font-family: var(--wp--preset--font-family--serif);
}

.acs-newsletter .wp-block-buttons {
	gap: 12px;
}

/* --------------- Disclosure --------------- */
.acs-disclosure p {
	margin: 0;
	line-height: 1.7;
}

/* --------------- Card (generic for index/archive) --------------- */
.acs-card {
	transition: box-shadow .25s ease, transform .25s ease;
	height: 100%;
}

.acs-card:hover {
	box-shadow: var(--wp--preset--shadow--card-hover);
	transform: translateY(-2px);
}

.acs-card .wp-block-post-title a {
	color: var(--wp--preset--color--text);
	text-decoration: none;
}

.acs-card .wp-block-post-title a:hover {
	color: var(--wp--preset--color--brand-pink);
}

/* --------------- Footer --------------- */
.site-footer a {
	color: var(--wp--preset--color--text-sub);
	text-decoration: none;
}

.site-footer a:hover {
	color: var(--wp--preset--color--brand-pink);
}

@media (max-width: 781px) {
	body {
		--wp--style--root--padding-left: 20px;
		--wp--style--root--padding-right: 20px;
	}

	.acs-section {
		padding-top: var(--wp--preset--spacing--50) !important;
		padding-bottom: var(--wp--preset--spacing--50) !important;
	}

	.acs-review-grid {
		grid-template-columns: 1fr !important;
	}

	.site-footer .wp-block-group,
	.acs-newsletter .wp-block-columns {
		gap: 24px;
	}

	.acs-newsletter .wp-block-buttons {
		justify-content: flex-start !important;
	}
}
