/**
 * Minimalio Theme Styles for WooCommerce
 *
 * This stylesheet contains all the theme.json based styles for WooCommerce.
 * Includes CSS variables, block styles, and element styles.
 *
 * @package Minimalio_WooCommerce_Styling
 * @version 1.0.0
 */

/* ============================================
   CSS VARIABLES (from theme.json settings)
   ============================================ */

:root {
	/* Colors */
	--wp--preset--color--base: #ffffff;
	--wp--preset--color--contrast: #3b3b3b;
	--wp--preset--color--primary: #000000;
	--wp--preset--color--secondary: #000000;
	--wp--preset--color--tertiary: #c6c6c6;
	--wp--preset--color--foreground: #3b3b3b;

	/* Spacing */
	--wp--preset--spacing--30: 0.5rem;
	--wp--preset--spacing--40: 0.875rem;
	--wp--preset--spacing--50: 1.75rem;
	--wp--preset--spacing--60: 2.625rem;
	--wp--preset--spacing--70: 3.5rem;
	--wp--preset--spacing--80: 5.25rem;

	/* Font Sizes */
	--wp--preset--font-size--x-small: 0.781rem;
	--wp--preset--font-size--small: 0.938rem;
	--wp--preset--font-size--medium: 1.125rem;
	--wp--preset--font-size--large: 1.35rem;
	--wp--preset--font-size--x-large: 1.944rem;
	--wp--preset--font-size--xx-large: 2.333rem;
	--wp--preset--font-size--xxx-large: 4.031rem;

	/* Layout */
	--wp--style--global--content-size: 586px;
	--wp--style--global--wide-size: 1200px;
}

/* ============================================
   GLOBAL STYLES (from theme.json styles)
   ============================================ */

body {
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.555555556;
}

/* ============================================
   ELEMENTS (from theme.json)
   ============================================ */

/* Links */
a {
	color: var(--wp--preset--color--primary);
}

a:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
	font-style: normal;
	font-weight: 400;
	line-height: 1.125;
	text-transform: none;
}

h1 {
	font-size: var(--wp--preset--font-size--xxx-large);
	line-height: 0.992294215;
}

h2 {
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.081081081;
}

h3 {
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.157407407;
}

h4 {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.481481481;
}

h5 {
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.333333333;
}

h6 {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.333333333;
}

/* Buttons */
button,
.wp-block-button__link,
.wp-element-button {
	background-color: var(--wp--preset--color--primary);
	border-radius: 0.25rem;
	color: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1;
	padding: calc(0.667em + 2px) calc(1.334rem + 2px);
}

button:hover,
.wp-block-button__link:hover,
.wp-element-button:hover {
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

button:focus,
.wp-block-button__link:focus,
.wp-element-button:focus {
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

button:active,
.wp-block-button__link:active,
.wp-element-button:active {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

/* ============================================
   BLOCK STYLES (from theme.json blocks)
   ============================================ */

/* Avatar */
.wp-block-avatar {
	border-radius: 999px;
}

/* Buttons Block */
.wp-block-buttons {
	gap: var(--wp--preset--spacing--40);
}

/* Code Block */
.wp-block-code {
	border: 1px solid var(--wp--preset--color--tertiary);
	border-radius: 0.25rem;
	font-family: monospace;
	font-size: var(--wp--preset--font-size--small);
	padding: var(--wp--preset--spacing--40);
}

/* Comments */
.wp-block-comment-author-name {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.3;
}

.wp-block-comment-author-name a {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.wp-block-comment-author-name a:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
}

.wp-block-comment-content {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
}

.wp-block-comment-date {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.3;
}

.wp-block-comment-date a {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.wp-block-comment-date a:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
}

.wp-block-comment-edit-link a {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.3;
	text-decoration: none;
}

.wp-block-comment-edit-link a:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
}

.wp-block-comment-reply-link a {
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: 0.25rem;
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--x-small);
	padding: 4.25px 12px;
	text-decoration: none;
}

.wp-block-comment-reply-link a:hover {
	border-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--contrast);
}

.wp-block-comment-template {
	padding-left: 0;
}

.wp-block-comments-pagination {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.3;
}

.wp-block-comments-pagination a {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.wp-block-comments-pagination a:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
}

.wp-block-comments-title {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.481481481;
	margin-top: 0;
}

/* Cover Block */
.wp-block-cover {
	padding: var(--wp--preset--spacing--50);
}

/* Gallery */
.wp-block-gallery {
	margin-bottom: var(--wp--preset--spacing--50);
}

/* Headings with links */
.wp-block-heading a {
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
}

.wp-block-heading a:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

/* Latest Comments */
.wp-block-latest-comments {
	padding-left: 0;
}

/* List */
.wp-block-list {
	padding-left: var(--wp--preset--spacing--50);
}

/* Navigation */
.wp-block-navigation {
	font-size: var(--wp--preset--font-size--small);
}

.wp-block-navigation a {
	text-decoration: none;
}

.wp-block-navigation a:hover {
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
}

/* Paragraph */
.wp-block-paragraph {
	line-height: calc(1em + 0.625rem);
}

.wp-block-paragraph a {
	color: var(--wp--preset--color--primary);
}

.wp-block-paragraph a:hover {
	color: var(--wp--preset--color--contrast);
}

/* Post Author */
.wp-block-post-author {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
}

.wp-block-post-author a {
	text-decoration: none;
}

.wp-block-post-author a:hover {
	text-decoration: underline;
}

.wp-block-post-author-biography {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
}

.wp-block-post-author-name {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
}

.wp-block-post-author-name a {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.wp-block-post-author-name a:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
}

/* Post Comments Form */
.wp-block-post-comments-form {
	font-size: var(--wp--preset--font-size--small);
}

/* Post Date */
.wp-block-post-date {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
}

.wp-block-post-date a {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.wp-block-post-date a:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
}

/* Post Navigation Link */
.wp-block-post-navigation-link {
	font-size: var(--wp--preset--font-size--small);
}

/* Post Terms */
.wp-block-post-terms {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
}

.wp-block-post-terms a {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.wp-block-post-terms a:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
}

/* Post Title */
.wp-block-post-title {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--x-large);
	font-style: normal;
	font-weight: 400;
	line-height: 1.157407407;
}

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

.wp-block-post-title a:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
}

/* Pullquote */
.wp-block-pullquote {
	border: 1px solid var(--wp--preset--color--tertiary);
	font-size: var(--wp--preset--font-size--medium);
	font-style: italic;
	padding: var(--wp--preset--spacing--50);
}

/* Query Pagination */
.wp-block-query-pagination {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);
}

.wp-block-query-pagination a {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.wp-block-query-pagination a:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
}

/* Query Title */
.wp-block-query-title {
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.157407407;
}

/* Quote */
.wp-block-quote {
	border-left: 1px solid var(--wp--preset--color--tertiary);
	font-style: normal;
	padding-left: var(--wp--preset--spacing--50);
}

/* Search */
.wp-block-search {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1;
}

/* Separator */
.wp-block-separator {
	background-color: var(--wp--preset--color--tertiary);
	border-bottom: 1px solid currentColor;
	color: var(--wp--preset--color--tertiary);
}

/* Site Tagline */
.wp-block-site-tagline {
	font-size: var(--wp--preset--font-size--medium);
}

/* Site Title */
.wp-block-site-title {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--large);
	font-style: normal;
	font-weight: 400;
	margin: 0;
	padding: 0;
	text-transform: uppercase;
}

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

.wp-block-site-title a:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
}

/* Term Description */
.wp-block-term-description {
	font-size: var(--wp--preset--font-size--small);
}

/* ============================================
   WOOCOMMERCE BLOCKS (from theme.json)
   ============================================ */

/* Customer Account Block */
.woocommerce .wp-block-woocommerce-customer-account,
.wp-block-woocommerce-customer-account {
	font-size: var(--wp--preset--font-size--medium);
}

/* Mini Cart Block */
.woocommerce .wp-block-woocommerce-mini-cart,
.wp-block-woocommerce-mini-cart {
	font-size: var(--wp--preset--font-size--x-small);
}

/* Product Button Block */
.woocommerce .wp-block-woocommerce-product-button .wp-block-button__link,
.wp-block-woocommerce-product-button .wp-block-button__link {
	font-size: var(--wp--preset--font-size--small);
	padding: calc(0.667em + 2px) calc(2rem + 2px);
}

/* ============================================
   LAYOUT & SPACING
   ============================================ */

.wp-block-group,
.wp-block-columns {
	gap: var(--wp--preset--spacing--50);
}
