/*
Theme Name: Solumini
Author: Solumini
Description: Tema de bloques para la tienda de Solumini: soluciones pequeñas para grandes problemas. Pensado para WooCommerce y productos digitales, con landings de producto y compra directa. Growth Business Lab
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: solumini
Tags: block-theme, e-commerce, full-site-editing, custom-colors, wide-blocks, translation-ready
*/

/* ---------- Base ---------- */
:root { --solumini-radius: 24px; --solumini-ring: 0 0 0 3px rgba(255, 107, 74, 0.45); }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
img { height: auto; }
:where(a):focus-visible, :where(button):focus-visible, :where(input, select, textarea):focus-visible {
	outline: 3px solid var(--wp--preset--color--coral);
	outline-offset: 2px;
}

/* Punto amarillo de marca al final de los títulos: <h2 class="solumini-dot"> */
.solumini-dot::after { content: "."; color: var(--wp--preset--color--sun); }

/* ---------- Cabecera ---------- */
.solumini-header { border-bottom: 1px solid rgba(27, 42, 65, 0.08); background: var(--wp--preset--color--cream); position: sticky; top: 0; z-index: 50; }
.admin-bar .solumini-header { top: 32px; }
.wp-block-site-title a { display: inline-flex; align-items: center; gap: 0.65rem; }
.wp-block-site-title a::before {
	content: "";
	width: 2.5rem;
	height: 2.5rem;
	background: url("assets/logo-mark.svg") center / contain no-repeat;
	flex: none;
}
.solumini-header .wp-block-navigation a { padding: 0.25rem 0; }
.wc-block-mini-cart__button { color: var(--wp--preset--color--navy); }

/* ---------- Componentes ---------- */
.solumini-eyebrow {
	display: inline-block;
	background: var(--wp--preset--color--sun);
	color: var(--wp--preset--color--navy);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 0.35rem 0.9rem;
	border-radius: 999px;
}
.solumini-hero { position: relative; overflow: hidden; text-align: center; background: var(--wp--preset--gradient--amanecer); }
.solumini-hero::after {
	content: "";
	position: absolute;
	width: min(60vw, 520px);
	aspect-ratio: 1;
	right: -12%;
	top: -18%;
	border-radius: 50%;
	background: var(--wp--preset--color--sun);
	opacity: 0.28;
	pointer-events: none;
}
.solumini-hero > * { position: relative; z-index: 1; }
.solumini-card {
	background: var(--wp--preset--color--white);
	border-radius: var(--solumini-radius);
	box-shadow: var(--wp--preset--shadow--card);
	padding: var(--wp--preset--spacing--40);
	height: 100%;
}
.solumini-step-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: var(--wp--preset--color--sun);
	color: var(--wp--preset--color--navy);
	font-weight: 700;
	font-size: 1.4rem;
	margin: 0;
}
.solumini-chip {
	display: inline-block;
	border: 2px dashed rgba(27, 42, 65, 0.35);
	border-radius: 999px;
	padding: 0.45rem 1.1rem;
	font-weight: 500;
	margin: 0;
}
.solumini-band { background: var(--wp--preset--color--navy); color: var(--wp--preset--color--cream); }
.solumini-band :where(h1, h2, h3, h4, p, li) { color: var(--wp--preset--color--cream); }
.solumini-band a:not(.wp-block-button__link) { color: var(--wp--preset--color--sun); }
.solumini-band .is-style-outline .wp-block-button__link { color: var(--wp--preset--color--cream); border-color: var(--wp--preset--color--cream); }
.solumini-band .wp-block-button__link:hover { background: var(--wp--preset--color--sun); color: var(--wp--preset--color--navy); }
.solumini-band .wp-block-site-title a { color: var(--wp--preset--color--cream); }
.solumini-band .wp-block-site-title a::before { background-image: url("assets/logo-mark-light.svg"); }
.solumini-footer a:not(.wp-block-button__link) { color: var(--wp--preset--color--cream); text-decoration: none; }
.solumini-footer a:not(.wp-block-button__link):hover { color: var(--wp--preset--color--sun); text-decoration: underline; }
.wp-block-button.is-style-accent .wp-block-button__link { background: var(--wp--preset--color--coral); color: var(--wp--preset--color--navy); }
.wp-block-button.is-style-accent .wp-block-button__link:hover { background: var(--wp--preset--color--navy); color: var(--wp--preset--color--cream); }
.wp-block-details { background: var(--wp--preset--color--white); border-radius: 18px; padding: 1rem 1.4rem; box-shadow: var(--wp--preset--shadow--card); }
.wp-block-details summary { font-weight: 700; cursor: pointer; }
.wp-block-details[open] summary { margin-bottom: 0.6rem; }

/* ---------- WooCommerce: catálogo ---------- */
.woocommerce ul.products, .wc-block-grid__products { gap: 1.5rem; }
.woocommerce ul.products li.product, .wc-block-grid__product {
	background: var(--wp--preset--color--white);
	border-radius: var(--solumini-radius);
	box-shadow: var(--wp--preset--shadow--card);
	padding: 1.1rem 1.1rem 1.4rem;
	text-align: left;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.woocommerce ul.products li.product:hover, .wc-block-grid__product:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--lift); }
.woocommerce ul.products li.product img, .wc-block-grid__product-image img { border-radius: 16px; }
.woocommerce-loop-product__title, .wc-block-grid__product-title, .wp-block-post-title { font-weight: 700; line-height: 1.25; }
.woocommerce-loop-product__title, .wc-block-grid__product-title { font-size: 1.15rem !important; padding: 0.6rem 0 0.2rem !important; }
.woocommerce .price, .wc-block-grid__product-price, .wc-block-components-product-price { color: var(--wp--preset--color--navy); font-weight: 700; }
.woocommerce .price del, .wc-block-components-product-price del { opacity: 0.55; font-weight: 500; }
.woocommerce .price ins { text-decoration: none; }
.woocommerce span.onsale, .wc-block-components-product-sale-badge {
	background: var(--wp--preset--color--sun);
	color: var(--wp--preset--color--navy);
	border: 0;
	border-radius: 999px;
	font-weight: 700;
	min-height: 0;
	min-width: 0;
	line-height: 1;
	padding: 0.5rem 0.9rem;
}

/* ---------- WooCommerce: botones ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.wc-block-components-button:not(.is-link), .wc-block-grid__product .wp-block-button__link, .wc-block-grid__product-add-to-cart .wp-block-button__link {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--cream);
	border-radius: 999px;
	font-weight: 700;
	padding: 0.85rem 1.7rem;
	border: 0;
	transition: background 0.15s ease, color 0.15s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.wc-block-components-button:not(.is-link):hover, .wc-block-grid__product .wp-block-button__link:hover {
	background: var(--wp--preset--color--coral);
	color: var(--wp--preset--color--navy);
}
/* Botón principal de compra: coral con texto azul noche (contraste 5,1:1) */
.single_add_to_cart_button, .woocommerce button.single_add_to_cart_button.alt,
.wc-block-components-checkout-place-order-button, .wc-block-cart__submit-button {
	background: var(--wp--preset--color--coral) !important;
	color: var(--wp--preset--color--navy) !important;
	font-size: 1.1rem;
	padding: 1rem 2.2rem !important;
}
.single_add_to_cart_button:hover, .wc-block-components-checkout-place-order-button:hover, .wc-block-cart__submit-button:hover {
	background: var(--wp--preset--color--navy) !important;
	color: var(--wp--preset--color--cream) !important;
}

/* ---------- WooCommerce: ficha, carrito y pago ---------- */
.woocommerce div.product .product_title { font-size: var(--wp--preset--font-size--x-large); }
.woocommerce div.product p.price, .woocommerce div.product span.price { font-size: 1.6rem; color: var(--wp--preset--color--navy); }
.woocommerce div.product div.images img, .wp-block-woocommerce-product-image-gallery img { border-radius: var(--solumini-radius); }
.woocommerce-tabs ul.tabs li, .woocommerce div.product .woocommerce-tabs ul.tabs li { border-radius: 999px 999px 0 0; background: var(--wp--preset--color--sand); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--wp--preset--color--white); }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
	border-radius: 16px;
	border-top-color: var(--wp--preset--color--coral);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy);
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--wp--preset--color--coral-deep); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.wc-block-components-text-input input, .wc-block-components-form .wc-block-components-text-input input[type="text"],
.wc-block-components-select .wc-blocks-components-select__select {
	border: 2px solid rgba(27, 42, 65, 0.25);
	border-radius: 14px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy);
	padding: 0.7rem 0.9rem;
}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus,
.wc-block-components-text-input input:focus { border-color: var(--wp--preset--color--coral); box-shadow: var(--solumini-ring); outline: 0; }
.wc-block-components-order-summary, .wc-block-cart__sidebar, .wc-block-checkout__sidebar,
.woocommerce-checkout #order_review, .woocommerce-cart .cart_totals {
	background: var(--wp--preset--color--white);
	border-radius: var(--solumini-radius);
	padding: var(--wp--preset--spacing--40);
	box-shadow: var(--wp--preset--shadow--card);
}
.woocommerce table.shop_table { border-radius: 16px; border-color: rgba(27, 42, 65, 0.12); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 0.55rem 1rem; border-radius: 999px; text-decoration: none; font-weight: 500; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--wp--preset--color--sun); color: var(--wp--preset--color--navy); font-weight: 700; }
.woocommerce-breadcrumb { font-size: var(--wp--preset--font-size--small); opacity: 0.8; }

/* ---------- Móvil ---------- */
@media (max-width: 782px) {
	.admin-bar .solumini-header { top: 46px; }
	.solumini-hero::after { right: -30%; top: -8%; }
	.woocommerce ul.products[class*="columns-"] li.product { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.woocommerce ul.products li.product, .wc-block-grid__product { transition: none; }
	.woocommerce ul.products li.product:hover, .wc-block-grid__product:hover { transform: none; }
}
