/*
Theme Name: Exxxotica
Description: Tema de bloques minimalista para una sexshop con WooCommerce.
Version: 1.1.0
Requires at least: 7.0
Requires PHP: 7.4
Requires Plugins: woocommerce
Text Domain: exxxotica
*/

* {
	box-sizing: border-box;
}

body {
	margin: 0 auto;
	max-width: 1900px;
	width: 100%;
	-webkit-font-smoothing: antialiased;
}

a {
	text-underline-offset: .2em;
}

/* Navegación secundaria y selectores de WooCommerce. */
.woocommerce .woocommerce-breadcrumb,
.wp-block-woocommerce-breadcrumbs .woocommerce-breadcrumb {
	align-items: center;
	background: #F8F8F8;
	border: 1px solid #E6E1DB;
	border-radius: 999px;
	color: #5A5653;
	display: flex;
	flex-wrap: wrap;
	font-size: .72rem;
	gap: .35rem;
	letter-spacing: .06em;
	margin: 1.5rem 0 2rem;
	padding: .65rem 1rem;
	text-transform: uppercase;
	width: fit-content;
}

.woocommerce .woocommerce-breadcrumb a,
.wp-block-woocommerce-breadcrumbs .woocommerce-breadcrumb a {
	color: #0A0A0A;
	font-weight: 600;
	text-decoration: none;
	transition: color .2s ease;
}

.woocommerce .woocommerce-breadcrumb a:hover,
.wp-block-woocommerce-breadcrumbs .woocommerce-breadcrumb a:hover {
	color: #A90F2D;
}

.woocommerce .woocommerce-ordering,
.wc-block-catalog-sorting {
	margin: 0;
	position: relative;
}

.woocommerce .woocommerce-ordering::after,
.wc-block-catalog-sorting::after {
	color: #A90F2D;
	content: "⌄";
	font-size: 1rem;
	pointer-events: none;
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-58%);
}

.woocommerce .woocommerce-ordering select,
.wc-block-catalog-sorting select,
.woocommerce select.orderby {
	-webkit-appearance: none;
	appearance: none;
	background: #fff;
	border: 1px solid #E6E1DB;
	border-radius: 6px;
	color: #0A0A0A;
	cursor: pointer;
	font-family: var(--wp--preset--font-family--body);
	font-size: .75rem;
	font-weight: 500;
	letter-spacing: .04em;
	min-height: 44px;
	outline: none;
	padding: .7rem 3rem .7rem 1rem;
	text-transform: uppercase;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.woocommerce .woocommerce-ordering select:hover,
.wc-block-catalog-sorting select:hover,
.woocommerce select.orderby:hover {
	border-color: #A90F2D;
}

.woocommerce .woocommerce-ordering select:focus,
.wc-block-catalog-sorting select:focus,
.woocommerce select.orderby:focus {
	border-color: #A90F2D;
	box-shadow: 0 0 0 3px rgba(169, 15, 45, .12);
}

.wp-site-blocks {
	overflow: hidden;
}

.exx-topbar {
	letter-spacing: .03em;
}

.exx-nav {
	border-bottom: 1px solid #222;
}

.exx-nav .wp-block-navigation-item__content {
	text-transform: uppercase;
	letter-spacing: .1em;
}

.exx-hero {
	min-height: 590px;
	position: relative;
}

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

.exx-accent {
	color: #A90F2D;
	font-style: italic;
}

.exx-category {
	border: 1px solid #E6E1DB;
	border-radius: 8px;
	min-height: 145px;
	transition: border-color .2s ease, transform .2s ease;
}

.exx-category:hover {
	border-color: #A90F2D;
	transform: translateY(-3px);
}

.exx-category-icon {
	color: #A90F2D;
	font-family: Georgia, serif;
	font-size: 2.2rem;
}

.exx-products .wc-block-grid__product,
.exx-products .wc-block-product {
	background: #fff;
	border: 1px solid #E6E1DB;
	border-radius: 8px;
	padding: 12px;
}

.woocommerce span.onsale {
	background: #A90F2D;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: #A90F2D;
}

.woocommerce ul.products,
.wp-block-woocommerce-product-collection .wc-block-product-template {
	padding-top: 2rem;
}

/* Paginador de la tienda. */
.woocommerce nav.woocommerce-pagination,
.wp-block-query-pagination {
	margin: 0.5rem 0 2rem;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers,
.wp-block-query-pagination-numbers {
	align-items: center;
	border: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	justify-content: center;
	margin: 0;
	padding: 0;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li {
	border: 0;
	float: none;
	margin: 0;
	padding-top: .5rem;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li a,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span,
.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
	align-items: center;
	background: #fff;
	border: 1px solid #E6E1DB;
	border-radius: 8px;
	color: #5A5653;
	display: inline-flex;
	font-size: .78rem;
	font-weight: 600;
	height: 44px;
	justify-content: center;
	line-height: 1;
	min-width: 44px;
	padding: 0 .8rem;
	text-decoration: none;
	transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease, transform .2s ease;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li a:hover,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a:focus-visible,
.wp-block-query-pagination a.page-numbers:hover,
.wp-block-query-pagination a.page-numbers:focus-visible,
.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-previous:focus-visible,
.wp-block-query-pagination-next:hover,
.wp-block-query-pagination-next:focus-visible {
	background: #F8F8F8;
	border-color: #A90F2D;
	box-shadow: 0 5px 15px rgba(169, 15, 45, .1);
	color: #A90F2D;
	outline: none;
	transform: translateY(-2px);
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li span.current,
.wp-block-query-pagination .page-numbers.current {
	background: #A90F2D;
	border-color: #A90F2D;
	box-shadow: 0 6px 16px rgba(169, 15, 45, .22);
	color: #fff;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li span.dots,
.wp-block-query-pagination .page-numbers.dots {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	min-width: 28px;
	padding: 0;
}

.woocommerce nav.woocommerce-pagination .prev,
.woocommerce nav.woocommerce-pagination .next,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
	padding-inline: 1rem;
}

footer.wp-block-template-part {
	margin-top: 0;
}

footer a {
	color: #fff;
}

@media (max-width: 781px) {
	.exx-topbar .wp-block-group {
		justify-content: center !important;
	}

	.exx-topbar-right {
		display: none !important;
	}

	.exx-hero {
		min-height: 520px;
	}
}

.wp-block-search__button.has-icon.wp-element-button {
	background-color: transparent;
}

.wp-block-icon.rojo svg {
	color: var(--wp--preset--color--brand, #000);
}

.exx-product-carousel:not(.block-editor-block-list__block) .wc-block-next-previous-buttons__button {
	border-radius: 50%;
	box-shadow: 5px 5px 15px 0px rgba(0, 0, 0, 0.20);
}

@media (min-width: 782px) {
	.wp-block-columns.with-dividers {
		gap: var(--wp--preset--spacing--30, 0.67rem);
	}

	.wp-block-columns.with-dividers .wp-block-column {
		border-right: 1px solid #000;
	}

	.wp-block-columns.with-dividers .wp-block-column:last-child {
		border-right: none;
	}

	.exx-product-carousel:not(.block-editor-block-list__block) {
		position: relative;
	}

	.exx-product-carousel:not(.block-editor-block-list__block) .wc-block-next-previous-buttons__button {
		position: absolute;
		top: 50%;
	}

	.exx-product-carousel:not(.block-editor-block-list__block) .wc-block-next-previous-buttons__button:first-child {
		left: -20px;
		transform: translate(0px, -50%);
	}

	.exx-product-carousel:not(.block-editor-block-list__block) .wc-block-next-previous-buttons__button:last-child {
		right: -20px;
		transform: translate(0px, -50%);
	}
}

/* Productos nuevos que aparecen cuando el carrito está vacío. */
.wp-block-woocommerce-empty-cart-block #nuevo-en-la-tienda {
	align-items: center;
	display: flex;
	font-size: clamp(2rem, 4vw, 3rem);
	gap: 1.25rem;
	justify-content: center;
	margin: clamp(3rem, 7vw, 5rem) 0 2rem;
}

.wp-block-woocommerce-empty-cart-block #nuevo-en-la-tienda::before,
.wp-block-woocommerce-empty-cart-block #nuevo-en-la-tienda::after {
	background: #A90F2D;
	content: "";
	display: block;
	height: 1px;
	max-width: 90px;
	width: 8vw;
}

.wp-block-woocommerce-empty-cart-block .wp-block-product-new {
	background: #F8F8F8;
	border: 1px solid #E6E1DB;
	border-radius: 12px;
	padding: clamp(1rem, 3vw, 2rem);
}

.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__products {
	gap: clamp(1rem, 2vw, 1.5rem);
}

.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product {
	background: #fff;
	border: 1px solid #E6E1DB;
	border-radius: 8px;
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	overflow: hidden;
	padding: 12px 12px 16px;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product:hover {
	border-color: rgba(169, 15, 45, .45);
	box-shadow: 0 14px 35px rgba(10, 10, 10, .09);
	transform: translateY(-4px);
}

.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-image {
	background: #F8F8F8;
	border-radius: 6px;
	overflow: hidden;
}

.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-image img {
	display: block;
	height: clamp(180px, 20vw, 260px);
	max-height: 260px;
	object-fit: contain;
	transition: transform .35s ease;
	width: 100%;
}

.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product:hover img {
	transform: scale(1.035);
}

.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-link {
	color: #0A0A0A;
	text-decoration: none;
}

.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-title {
	font-size: .88rem;
	font-weight: 500;
	line-height: 1.45;
	margin: 1rem 0 .5rem;
}

.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-price {
	color: #A90F2D;
	font-size: 1rem;
	font-weight: 600;
	margin-bottom: 1rem;
}

.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-add-to-cart {
	margin-top: auto;
	width: 100%;
}

.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-add-to-cart a {
	border-radius: 4px;
	display: block;
	font-size: .72rem;
	padding: .8rem 1rem;
	width: 100%;
}

.wc-block-components-product-name {
	color: var(--wp--preset--color--brand);
	text-decoration: none;
}

.woocommerce-loop-product__title {
	color: var(--wp--preset--color--brand);
}

.woocommerce-loop-product__link .price {
	color: var(--wp--preset--color--black);
}

.product .button {
	border-radius: 8px;
}

.product .added_to_cart {
	margin-left: 8px;
	color: var(--wp--preset--color--brand);
}

@media (max-width: 781px) {
	.wp-block-woocommerce-empty-cart-block #nuevo-en-la-tienda {
		gap: .75rem;
	}

	.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__products {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product {
		margin: 0;
		max-width: none;
		width: auto;
	}
}

@media (max-width: 480px) {
	.woocommerce nav.woocommerce-pagination ul.page-numbers,
	.wp-block-query-pagination-numbers {
		gap: .35rem;
	}

	.woocommerce nav.woocommerce-pagination ul.page-numbers li a,
	.woocommerce nav.woocommerce-pagination ul.page-numbers li span,
	.wp-block-query-pagination .page-numbers {
		height: 40px;
		min-width: 40px;
		padding: 0 .6rem;
	}

	.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__products {
		grid-template-columns: 1fr;
	}
}
