/*
Theme Name:   Diastole Child
Theme URI:    https://www.diastoleart.com
Description:  Child theme for Astra — Diastole Art Store
Author:       Diastole Art
Author URI:   https://www.diastoleart.com
Template:     astra
Version:      1.0.2
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  diastole-child
*/

/* ─── Fuentes de marca ─────────────────────────────────────────── */

@font-face {
	font-family: 'Segoe UI';
	src: url('fonts/segoeuil.ttf') format('truetype');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Segoe UI';
	src: url('fonts/segoeui.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Segoe UI';
	src: url('fonts/segoeuii.ttf') format('truetype');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Segoe UI';
	src: url('fonts/segoeuib.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Segoe UI';
	src: url('fonts/segoeuiz.ttf') format('truetype');
	font-weight: 700;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Arbutus Slab';
	src: url('fonts/arbutusslab-regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

/* ─── Variables de marca ───────────────────────────────────────── */

:root {
	--color-amarillo:  #FEFF5B;
	--color-negro:     #020200;
	--color-gris:      #A6A6A6;
	--color-blanco:    #ffffff;

	--font-body:       'Segoe UI', system-ui, sans-serif;
	--font-display:    'Arbutus Slab', Georgia, serif;

	--letter-spacing-wide:    0.12em;
	--letter-spacing-tagline: 0.28em;

	--border-radius: 0;

	/* Sobreescribir variables de Astra con los valores de marca */
	--ast-global-color-0: var(--color-amarillo);
	--ast-global-color-1: var(--color-negro);
	--ast-global-color-2: var(--color-gris);
	--ast-global-color-3: var(--color-blanco);
}

/* ─── Base ─────────────────────────────────────────────────────── */

body {
	font-family: var(--font-body);
	font-weight: 300;
	color: var(--color-negro);
	background-color: var(--color-blanco);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-display);
	color: var(--color-negro);
	letter-spacing: var(--letter-spacing-wide);
}

/* Páginas de contenido y legales — Segoe UI en encabezados (no Arbutus Slab) */
.page-id-15 h1, .page-id-15 h2, .page-id-15 h3,
.page-id-16 h1, .page-id-16 h2, .page-id-16 h3,
#nosotros h1, #nosotros h2, #nosotros h3,
#contacto h1, #contacto h2, #contacto h3,
.page-slug-politica-de-cookies h1,
.page-slug-politica-de-cookies h2,
.page-slug-politica-de-cookies h3,
.page-slug-politica-de-cookies h4,
.page-slug-politica-de-privacidad h1,
.page-slug-politica-de-privacidad h2,
.page-slug-politica-de-privacidad h3,
.page-slug-politica-de-privacidad h4 {
	font-family: var(--font-body) !important;
	font-weight: 600 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

/* ─── Páginas legales: tipografía, colores y espaciado ────────────── */

.page-slug-politica-de-cookies .entry-content,
.page-slug-politica-de-privacidad .entry-content {
	max-width: 740px;
	margin: 0 auto;
	padding: 2rem 1.5rem 4rem;
}

/* Encabezado h1 de la página */
.page-slug-politica-de-cookies .entry-content h1,
.page-slug-politica-de-privacidad .entry-content h1 {
	font-size: 1.6rem !important;
	font-weight: 700 !important;
	color: var(--color-negro) !important;
	margin-bottom: 2rem !important;
	padding-bottom: 0.8rem !important;
	border-bottom: 2px solid var(--color-negro) !important;
}

/* h2 — secciones principales */
.page-slug-politica-de-cookies .entry-content h2,
.page-slug-politica-de-privacidad .entry-content h2 {
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	color: var(--color-negro) !important;
	margin-top: 2rem !important;
	margin-bottom: 0.6rem !important;
	padding-bottom: 0.3rem !important;
	border-bottom: 1px solid #e0e0e0 !important;
}

/* h3 — subsecciones */
.page-slug-politica-de-cookies .entry-content h3,
.page-slug-politica-de-privacidad .entry-content h3 {
	font-size: 0.92rem !important;
	font-weight: 600 !important;
	color: #444444 !important;
	margin-top: 1.2rem !important;
	margin-bottom: 0.4rem !important;
}

/* Párrafos y listas */
.page-slug-politica-de-cookies .entry-content p,
.page-slug-politica-de-cookies .entry-content li,
.page-slug-politica-de-privacidad .entry-content p,
.page-slug-politica-de-privacidad .entry-content li {
	font-family: var(--font-body) !important;
	font-weight: 300 !important;
	font-size: 0.9rem !important;
	line-height: 1.8 !important;
	color: #333333 !important;
}

.page-slug-politica-de-cookies .entry-content ul,
.page-slug-politica-de-privacidad .entry-content ul {
	padding-left: 1.4rem !important;
	margin-bottom: 1rem !important;
}

.page-slug-politica-de-cookies .entry-content li,
.page-slug-politica-de-privacidad .entry-content li {
	margin-bottom: 0.4rem !important;
}

/* Links */
.page-slug-politica-de-cookies .entry-content a,
.page-slug-politica-de-privacidad .entry-content a {
	color: var(--color-negro) !important;
	text-decoration: underline !important;
	font-weight: 400 !important;
}

.page-slug-politica-de-cookies .entry-content a:hover,
.page-slug-politica-de-privacidad .entry-content a:hover {
	color: var(--color-gris) !important;
}

/* Taglines y subtítulos en mayúsculas espaceadas (estilo del manual) */
.site-description,
.diastole-tagline {
	font-family: var(--font-body);
	font-weight: 300;
	letter-spacing: var(--letter-spacing-tagline);
	text-transform: uppercase;
	color: var(--color-gris);
}

/* ─── Header ───────────────────────────────────────────────────── */

#masthead,
.site-header,
#ast-desktop-header,
.ast-desktop-header,
.main-header-bar,
.ast-main-header-wrap,
.main-header-bar-wrap {
	background-color: #333333 !important;
	border-bottom: none !important;
	box-shadow: none !important;
}

/* Ocultar logo en el header — el logo circular está en el contenido */
.site-header .ast-site-identity,
.site-header .site-branding,
.site-header .custom-logo-link,
#ast-desktop-header .ast-site-identity,
.ast-logo-img-text-wrap,
.ast-site-name-wrap {
	display: none !important;
}

.site-header .custom-logo {
	max-height: 70px;
	width: auto;
}

/* Header compacto en página de producto individual */
.single-product .ast-primary-header-bar,
.single-product .ast-primary-header-bar .site-primary-header-wrap {
	min-height: 34px !important;
}

.single-product .ast-primary-header-bar .main-header-menu > .menu-item {
	line-height: 34px !important;
}

.single-product .ast-primary-header-bar .main-header-menu .menu-item > .menu-link,
.single-product .ast-primary-header-bar .menu-item > a {
	padding-top: 6px !important;
	padding-bottom: 6px !important;
}

/* ─── Botones ──────────────────────────────────────────────────── */

.ast-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .cart .button,
.woocommerce .cart input.button,
.wp-block-button__link {
	background-color: var(--color-negro);
	color: var(--color-amarillo);
	font-family: var(--font-body);
	font-weight: 300;
	letter-spacing: var(--letter-spacing-wide);
	text-transform: uppercase;
	border-radius: var(--border-radius);
	border: 2px solid var(--color-negro);
	transition: background-color 0.2s ease, color 0.2s ease;
}

.ast-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .cart .button:hover,
.wp-block-button__link:hover {
	background-color: var(--color-amarillo);
	color: var(--color-negro);
	border-color: var(--color-amarillo);
}

/* Botón primario (agregar al carrito destacado) */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #respond input#submit.alt {
	background-color: var(--color-amarillo);
	color: var(--color-negro);
	border-color: var(--color-amarillo);
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #respond input#submit.alt:hover {
	background-color: var(--color-negro);
	color: var(--color-amarillo);
	border-color: var(--color-negro);
}

/* ─── Links ────────────────────────────────────────────────────── */

a {
	color: var(--color-negro);
}

a:hover {
	color: var(--color-gris);
}


/* ─── Navegación ───────────────────────────────────────────────── */

/* Nav links — blanco, sentence case, sin espaciado, suavizado (igual que original) */
#ast-desktop-header .main-header-menu .menu-item > a,
#ast-desktop-header .main-header-menu .menu-item > .menu-link,
.main-header-menu .menu-item > a,
.main-header-menu .menu-item > .menu-link {
	font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: #ffffff !important;
	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale !important;
}

/* Hover — gris claro */
#ast-desktop-header .main-header-menu .menu-item > a:hover,
#ast-desktop-header .main-header-menu .menu-item > .menu-link:hover,
.main-header-menu .menu-item > a:hover,
.main-header-menu .menu-item > .menu-link:hover {
	color: #cccccc !important;
}

/* Items alineados a la izquierda dentro del ul */
.main-header-menu.ast-justify-content-flex-end {
	justify-content: flex-start !important;
}

/* ─── WooCommerce — Tienda ─────────────────────────────────────── */

/* Heading de página tienda */
.woocommerce .page-title,
.woocommerce-page .page-title,
.woocommerce h1.page-title {
	font-family: var(--font-body) !important;
	font-weight: 300 !important;
	letter-spacing: var(--letter-spacing-wide) !important;
	text-transform: uppercase !important;
	font-size: 1.4rem !important;
}

/* Barra de resultados y orden */
.woocommerce-result-count,
.woocommerce-ordering select {
	font-family: var(--font-body);
	font-size: 0.8rem;
	color: var(--color-gris);
}

/* ─── Grilla de categorías ─────────────────────────────────────── */

.woocommerce ul.products li.product-category a {
	display: block;
}

.woocommerce ul.products li.product-category img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: opacity 0.25s ease;
}

.woocommerce ul.products li.product-category:hover img {
	opacity: 0.8;
}

/* El nombre ya viene impreso en la imagen — ocultar el h2 redundante */
.woocommerce ul.products li.product-category h2,
.woocommerce ul.products li.product-category .woocommerce-loop-category__title,
.woocommerce ul.products li.product-category .count,
.woocommerce ul.products li.product-category mark.count {
	display: none !important;
}

/* Flexbox: 5 por fila, fila inferior centrada automáticamente */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 14px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Cada tile ocupa exactamente 1/5 del ancho menos huecos */
.woocommerce ul.products li.product-category,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li {
	flex: 0 0 calc(20% - 12px) !important;
	width: calc(20% - 12px) !important;
	margin: 0 !important;
	float: none !important;
}

/* Productos Destacados y páginas de colección — 6 por fila */

.diastole-featured-products ul.products li.product,
.tax-product_cat ul.products li.product {
	flex: 0 0 calc((100% - 70px) / 6) !important;
	width: calc((100% - 70px) / 6) !important;
}

/* ─── Productos Destacados y Vistos Recientemente ─────────────── */

.diastole-featured-products,
.diastole-recently-viewed {
	margin-top: 3rem;
	clear: both;
	width: 100%;
	display: block;
}

.diastole-featured-title,
.diastole-section-title {
	font-family: var(--font-body) !important;
	font-weight: 400 !important;
	font-size: 1.65rem !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-align: center !important;
	margin-bottom: 1.2rem !important;
	color: var(--color-negro) !important;
}

/* Vistos recientemente — mismas dimensiones que productos destacados */
.diastole-recently-viewed ul.products li.product {
	flex: 0 0 calc((100% - 70px) / 6) !important;
	width: calc((100% - 70px) / 6) !important;
}

/* ─── Tarjetas de producto (template diastole-card) ───────────── */

.diastole-card {
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 !important;
}

/* Frame gris fino que unifica imagen + info */
.diastole-card__frame {
	border: 1px solid #cacaca;
	display: flex;
	flex-direction: column;
}

/* Imagen cuadrada */
.diastole-card__img-link {
	display: block;
	text-decoration: none;
}

.diastole-card__img-wrap {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	background: var(--color-negro);
}

.diastole-card__img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	position: relative;
	z-index: 1;
	transition: opacity 0.35s ease;
}

/* Segunda imagen en hover */
.diastole-card__img-hover {
	position: absolute;
	inset: 0;
	z-index: 2;
	background-size: cover;
	background-position: center;
	opacity: 0;
	transition: opacity 0.35s ease;
}

/* Overlay con nombre + REF (solo en hover) */
.diastole-card__overlay {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 7px;
	background: rgba(2, 2, 0, 0.52);
	opacity: 0;
	transition: opacity 0.3s ease;
	padding: 10px;
}

.diastole-card__overlay-name {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 0.72rem;
	letter-spacing: var(--letter-spacing-wide);
	text-transform: uppercase;
	color: #ffffff;
	text-align: center;
}

.diastole-card__overlay-sku {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 0.62rem;
	letter-spacing: 0.06em;
	color: rgba(255, 255, 255, 0.78);
	text-align: center;
}

/* Activar hover */
.diastole-card:hover .diastole-card__img-wrap img {
	opacity: 0.12;
}

.diastole-card:hover .diastole-card__img-hover {
	opacity: 1;
}

.diastole-card:hover .diastole-card__overlay {
	opacity: 1;
}

/* Área blanca inferior: precio + botón */
.diastole-card__info {
	padding: 8px 10px 0;
	text-align: center;
	background: #ffffff;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.diastole-card__price {
	font-family: var(--font-body);
	font-size: 0.88rem;
	font-weight: 400;
	color: var(--color-negro);
	margin-bottom: 7px;
}

.diastole-card__price ins {
	text-decoration: none;
}

.diastole-card__btn-wrap {
	text-align: center;
	padding-bottom: 10px;
}

.diastole-btn {
	display: inline-block !important;
	font-family: var(--font-body) !important;
	font-weight: 400 !important;
	font-size: 0.82rem !important;
	letter-spacing: 0.06em !important;
	text-transform: none !important;
	background: #ffffff !important;
	color: var(--color-negro) !important;
	border: 1px solid #b8b8b8 !important;
	padding: 5px 20px !important;
	border-radius: 0 !important;
	text-decoration: none !important;
	transition: background 0.2s, color 0.2s, border-color 0.2s !important;
	cursor: pointer !important;
}

.diastole-btn:hover {
	background: #f0f0f0 !important;
	color: var(--color-negro) !important;
	border-color: #b8b8b8 !important;
}

/* ─── Modo embebido (iframe de tienda) ─────────────────────────── */

.diastole-embedded #wpadminbar,
.diastole-embedded #masthead,
.diastole-embedded .site-header,
.diastole-embedded #colophon,
.diastole-embedded .site-footer,
.diastole-embedded .site-below-footer-wrap,
.diastole-embedded #ast-scroll-top,
.diastole-embedded .astra-cart-drawer,
.diastole-embedded #astra-mobile-cart-drawer,
.diastole-embedded .astra-mobile-cart-overlay,
.diastole-embedded .ast-mobile-header-wrap {
	display: none !important;
}

/* height:auto es crítico — evita que body.offsetHeight cambie
   cuando el parent agranda el iframe (cortocircuita el bucle) */
.diastole-embedded html,
.diastole-embedded body,
.diastole-embedded #page {
	height: auto !important;
	min-height: 0 !important;
	background: #ffffff !important;
	padding-top: 0 !important;
	margin-top: 0 !important;
	overflow-x: hidden !important;
}

.diastole-embedded #content,
.diastole-embedded .site-content,
.diastole-embedded #primary,
.diastole-embedded .entry-content {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

.diastole-embedded .woocommerce-breadcrumb {
	display: none !important;
}

.diastole-embedded .single-product #content {
	padding-top: 1rem !important;
}

/* ─── Tienda inline en homepage ────────────────────────────────── */

/* Subir la sección tienda — menos padding superior/inferior */
#tienda.wp-block-group {
	padding-top: 18px !important;
	padding-bottom: 0 !important;
}

/* Ocultar título "Tienda" que genera WooCommerce dentro del iframe */
.diastole-embedded h1.page-title,
.diastole-embedded .woocommerce-products-header,
.diastole-embedded .woocommerce-products-header__title {
	display: none !important;
}

/* Separador gris claro entre secciones */
.home .wp-block-separator.alignfull,
.page-id-68 .wp-block-separator.alignfull {
	border: none !important;
	height: 1px !important;
	background-color: #d8d8d8 !important;
	margin: 0 !important;
}

/* ─── Cabecera de colección (páginas de categoría) ─────────────── */

/* Espacio entre el nav de colecciones y el título */
.tax-product_cat .diastole-collections-nav {
	margin-bottom: 1.4rem;
}

/* Título h1 de la colección — 28px, semibold, igual que el original */
.diastole-cat-title {
	font-family: var(--font-body) !important;
	font-size: 28px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
	text-transform: uppercase !important;
	color: var(--color-negro) !important;
	margin: 0 0 5px !important;
}

.woocommerce-product-category__description,
.term-description {
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 300;
	line-height: 1.4;
	color: #191919;
	margin: 0 0 10px;
	padding-top: 10px;
	padding-bottom: 10px;
}

.woocommerce-product-category__description p,
.term-description p {
	margin: 0 0 0.7em;
}

.woocommerce-product-category__description p:last-child,
.term-description p:last-child {
	margin-bottom: 0;
}

/* Texto en inglés — gris medio, igual que original */
.woocommerce-product-category__description .diastole-cat-en,
.term-description .diastole-cat-en {
	color: #7f7f7f;
}

/* Tagline — solo cursiva centrada, sin negrita */
.woocommerce-product-category__description .diastole-cat-tagline,
.term-description .diastole-cat-tagline {
	font-size: 14px;
	font-style: italic;
	font-weight: 300;
	color: #191919;
	text-align: center;
}

.woocommerce-product-category__description .diastole-cat-tagline.diastole-cat-en,
.term-description .diastole-cat-tagline.diastole-cat-en {
	color: #7f7f7f;
}

/* Logo + Instagram debajo de la descripción */
.diastole-cat-branding {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	margin: 0.6rem 0 0;
	padding-bottom: 10px;
}

/* Logo 330px ancho — ratio original 330×126 (2.6:1) */
.diastole-cat-logo {
	width: 330px;
	height: auto;
	display: block;
}

/* Instagram: 12px, monospace, bold, #595959 — exacto del original */
.diastole-cat-instagram {
	font-family: monospace;
	font-size: 12px;
	font-weight: 700;
	color: #595959;
	text-decoration: none;
}

.diastole-cat-instagram:hover {
	color: var(--color-negro);
	text-decoration: underline;
}

/* ─── Footer ───────────────────────────────────────────────────── */

/* Ocultar footer en carrito y checkout */
body.woocommerce-cart .site-footer,
body.woocommerce-cart .site-below-footer-wrap,
body.woocommerce-cart .site-primary-footer-wrap,
body.woocommerce-checkout .site-footer,
body.woocommerce-checkout .site-below-footer-wrap,
body.woocommerce-checkout .site-primary-footer-wrap {
	display: none !important;
}

.site-footer#colophon,
.site-below-footer-wrap[data-section="section-below-footer-builder"],
.site-primary-footer-wrap[data-section="section-footer-builder"] {
	background-color: var(--color-negro) !important;
	color: var(--color-blanco) !important;
}

.site-footer#colophon {
	border-top: 4px solid var(--color-amarillo) !important;
}

.site-footer#colophon a,
.site-below-footer-wrap[data-section="section-below-footer-builder"] a {
	color: var(--color-amarillo) !important;
}

.site-footer#colophon a:hover,
.site-below-footer-wrap[data-section="section-below-footer-builder"] a:hover {
	color: var(--color-gris) !important;
}

/* ─── Fondo del body / área de contenido ──────────────────────── */

body,
.ast-site-content-wrap,
#page,
.entry-content,
.site-content {
	background-color: var(--color-blanco) !important;
}

/* Quitar el fondo gris que Astra aplica fuera del contenido */
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single,
.ast-separate-container #primary {
	background-color: var(--color-blanco);
}

/* ─── Homepage — wordmark en una sola línea ───────────────────── */

.home .diastole-hero h1,
.page-id-68 .diastole-hero h1 {
	font-family: 'Segoe UI', system-ui, sans-serif !important;
	font-weight: 700 !important;
	white-space: nowrap !important;
	font-size: clamp(2.5rem, 9vw, 7rem) !important;
}

/* ─── Ocultar título auto-generado de Astra en todas las páginas ── */

/* Astra genera un .entry-header separado del contenido — el h1 real
   está dentro del bloque de contenido, así que este es redundante */
.entry-header,
.ast-container > .entry-header {
	display: none !important;
}

/* Centrar verticalmente el contenido del bloque cover/hero */
.home .wp-block-cover,
.page-id-68 .wp-block-cover {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.home .wp-block-cover .wp-block-cover__inner-container,
.page-id-68 .wp-block-cover .wp-block-cover__inner-container {
	width: 100% !important;
	margin: auto !important;
	padding-top: 0 !important;
}

/* Quitar el gap superior en todas las páginas */
.entry-content,
#content,
.site-content,
#primary,
.site-content #primary,
.primary-content-area,
.ast-article-single,
.ast-article-single--normal,
.ast-page-builder-template,
.ast-container {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* ─── Logo — ocultar título de texto junto al logo ────────────── */

.ast-header-break-point .site-title,
.site-title {
	display: none !important;
}

.custom-logo-link img,
.ast-site-identity img.custom-logo,
header .custom-logo-link img {
	max-height: 60px !important;
	width: auto !important;
	max-width: none !important;
}

/* ─── Homepage — wordmark sans-serif (no Arbutus Slab) ────────── */

.home h1.diastole-wordmark,
.page-id-68 h1.diastole-wordmark {
	font-family: 'Segoe UI', system-ui, sans-serif !important;
	font-weight: 700 !important;
	white-space: nowrap !important;
}

/* ─── Bloques full-width — romper el contenedor de Astra ─────── */

.home .entry-content .alignfull,
.page-id-68 .entry-content .alignfull {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

/* ─── Fondo oscuro — solo homepage ──── */

.home body,
.page-id-68 body,
.home #page,
.page-id-68 #page,
.home .site-content,
.page-id-68 .site-content,
.home #primary,
.page-id-68 #primary,
.home .entry-content,
.page-id-68 .entry-content,
.home .ast-site-content-wrap,
.page-id-68 .ast-site-content-wrap {
	background-color: #333333 !important;
}

/* ─── Página de producto individual ───────────────────────────────────── */

/* ── Flechas prev/next de producto ─────────────────────────────────── */

.diastole-product-nav {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 0.8rem;
}

/* Un solo contorno continuo en píldora que envuelve ambas flechas */
.diastole-product-nav__group {
	display: inline-flex;
	border: 1.5px solid #b8b8b8;
	border-radius: 100px;
	overflow: hidden;
}

.diastole-product-nav__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 28px;
	background: transparent;
	border: none;
	text-decoration: none;
	transition: background 0.18s;
}

.diastole-product-nav__arrow:hover {
	background: rgba(0, 0, 0, 0.07);
}

.diastole-product-nav__disabled {
	opacity: 0.28;
	cursor: default;
}

/* ── Nav de colecciones ────────────────────────────────────────────── */

.diastole-collections-nav {
	display: flex;
	flex-wrap: wrap;
	padding: 0.5rem 0 0.5rem;
	margin-bottom: 0;
	border-bottom: 1px solid #e0e0e0;
	clear: both;
}

.diastole-collections-nav a {
	font-family: var(--font-body);
	font-size: 0.7rem;
	font-weight: 300;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-gris);
	text-decoration: none;
	padding: 0.25rem 0.9rem;
	transition: color 0.2s;
	white-space: nowrap;
}

.diastole-collections-nav a:hover,
.diastole-collections-nav a[aria-current] {
	color: var(--color-negro);
}

/* ── Espacio blanco entre header gris y contenido del producto ─────── */

.single-product .site-content,
.single-product #primary,
.single-product .ast-container.entry-content-wrap {
	padding-top: 1.8rem !important;
}

/* ── Galería y layout de columnas ──────────────────────────────────── */

/* Dejar que WooCommerce controle la opacidad — evita el flash al navegar entre productos */
.woocommerce-product-gallery {
	transition: opacity 0.25s ease-in-out;
}

/* Imagen más grande */
.woocommerce div.product div.images,
.woocommerce div.product .woocommerce-product-gallery {
	width: 56% !important;
	float: left !important;
}

.woocommerce div.product div.summary {
	width: 40% !important;
	float: right !important;
}

.woocommerce div.product .woocommerce-product-gallery__image img,
.woocommerce div.product div.images img {
	width: 100% !important;
	height: auto !important;
}


.woocommerce div.product .product_title {
	font-family: var(--font-body) !important;
	font-weight: 300 !important;
	letter-spacing: var(--letter-spacing-wide) !important;
	text-transform: uppercase !important;
	font-size: 1.3rem !important;
	margin-bottom: 0.25em !important;
}

.diastole-product-ref {
	font-family: var(--font-body);
	font-size: 0.75rem;
	font-weight: 300;
	letter-spacing: 0.1em;
	color: var(--color-gris);
	margin: 0 0 1.2em;
	text-transform: uppercase;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-family: var(--font-body) !important;
	font-size: 1.15rem !important;
	font-weight: 400 !important;
	color: var(--color-negro) !important;
	margin-bottom: 0.2em !important;
}

.diastole-product-vat {
	font-family: var(--font-body);
	font-size: 0.75rem;
	font-weight: 300;
	color: var(--color-gris);
	margin: 0 0 0.4em;
}

.diastole-product-stock {
	font-family: var(--font-body);
	font-size: 0.8rem;
	font-weight: 300;
	margin: 0 0 1.4em;
}

.diastole-product-stock--in { color: #3a7c3a; }
.diastole-product-stock--out { color: #c00000; }

/* Formulario — centrar botón */
.woocommerce div.product form.cart {
	width: 100% !important;
	text-align: center !important;
}

/* Botón Añadir a la cesta */
.woocommerce div.product form.cart .single_add_to_cart_button.button {
	font-family: var(--font-body) !important;
	font-weight: 400 !important;
	font-size: 0.92rem !important;
	letter-spacing: 0.06em !important;
	text-transform: none !important;
	background: #333333 !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 11px 2.4rem !important;
	width: auto !important;
	display: inline-block !important;
	text-align: center !important;
	transition: background 0.2s, color 0.2s !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button.button:hover {
	background: var(--color-negro) !important;
	color: #ffffff !important;
}

/* ── Descripción del producto ───────────────────────────────────────── */

.diastole-product-info {
	margin: 1.6rem 0 0;
	padding: 0;
	font-family: var(--font-body);
	max-width: 270px;
}

.diastole-product-info__title {
	font-family: var(--font-body) !important;
	font-weight: 400 !important;
	font-size: 0.95rem !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: #444444 !important;
	margin-bottom: 0.9em !important;
	padding-bottom: 0.5em;
	border-bottom: 1px solid #e5e5e5;
}

/* Castellano — gris oscuro */
.diastole-desc-es {
	font-weight: 300;
	font-size: 0.96rem;
	line-height: 1.75;
	color: #444444;
}

.diastole-desc-es p {
	margin: 0 0 0.6em;
}

/* Inglés — gris más claro */
.diastole-desc-en {
	font-weight: 300;
	font-size: 0.96rem;
	line-height: 1.75;
	color: #888888;
	margin-top: 0.6em;
}

.diastole-desc-en p {
	margin: 0 0 0.6em;
}


/* ── Sección guardar / compartir ────────────────────────────────────── */

.diastole-product-social {
	margin-top: 1rem;
	padding-top: 0.9em;
	border-top: 1px solid #e5e5e5;
	font-family: var(--font-body);
}

/* Guardar para más tarde */
.diastole-product-save {
	display: block;
	color: var(--color-negro);
	text-decoration: none;
	font-weight: 300;
	font-size: 0.88rem;
	margin-bottom: 0.7em;
}

.diastole-product-save:hover {
	color: var(--color-gris);
}

/* Favorito — recuadro fino con corazón */
.diastole-product-favorite {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--color-negro);
	text-decoration: none;
	font-weight: 300;
	font-size: 0.82rem;
	letter-spacing: 0.04em;
	border: 1px solid #c0c0c0;
	padding: 5px 14px 5px 10px;
	margin-bottom: 1.1em;
	background: transparent;
	transition: background 0.2s, color 0.2s;
}

.diastole-product-favorite svg {
	flex-shrink: 0;
}

.diastole-product-favorite:hover {
	background: var(--color-negro);
	color: #ffffff;
	border-color: var(--color-negro);
}

/* Compartir — label más grande */
.diastole-product-share-label {
	margin: 0 0 0.5em;
	color: var(--color-negro);
	font-weight: 300;
	font-size: 0.88rem;
}

/* Iconos de redes sociales */
.diastole-product-share-links {
	display: flex;
	align-items: center;
	gap: 1.4rem;
}

.diastole-share-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: #555555;
	text-decoration: none;
	font-size: 0.78rem;
	font-weight: 300;
	letter-spacing: 0.03em;
	transition: color 0.2s;
}

.diastole-share-link:hover {
	color: var(--color-negro);
}

/* ─── Icono de carrito en header ───────────────────────────────── */

.ast-header-woo-cart .ast-cart-menu-wrap .count {
	background: var(--color-negro) !important;
	color: #ffffff !important;
	font-family: var(--font-body) !important;
	font-size: 10px !important;
}

.ast-header-woo-cart .ast-cart-menu-wrap svg,
.ast-header-woo-cart .ast-cart-menu-wrap .astra-icon {
	color: #ffffff !important;
	fill: #ffffff !important;
}

/* ─── Carrito (cart) ────────────────────────────────────────────── */

.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content {
	max-width: 980px;
	margin: 0 auto;
	padding: 2rem 1.5rem 4rem;
}

/* Tabla del carrito */
.woocommerce-cart table.shop_table {
	border: none !important;
	border-collapse: collapse;
	width: 100%;
}

.woocommerce-cart table.shop_table th {
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-gris);
	border: none !important;
	padding: 0 0 0.8rem;
	border-bottom: 1px solid #e0e0e0 !important;
}

.woocommerce-cart table.shop_table td {
	border: none !important;
	border-bottom: 1px solid #f0f0f0 !important;
	padding: 1.2rem 0.5rem;
	vertical-align: middle;
}

/* Imagen en el carrito */
.woocommerce-cart table.shop_table td.product-thumbnail img {
	width: 72px !important;
	height: 72px !important;
	object-fit: cover;
	border: 1px solid #e8e8e8;
}

/* Nombre del producto */
.woocommerce-cart table.shop_table td.product-name a {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 0.9rem;
	letter-spacing: 0.04em;
	color: var(--color-negro);
	text-decoration: none;
}

.woocommerce-cart table.shop_table td.product-name a:hover {
	color: var(--color-gris);
}

/* Precio y subtotal */
.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.shop_table td.product-subtotal {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 0.92rem;
	color: var(--color-negro);
}

/* Cantidad */
.woocommerce-cart .quantity input.qty {
	font-family: var(--font-body);
	font-size: 0.9rem;
	border: 1px solid #d0d0d0;
	border-radius: 0;
	padding: 4px 8px;
	width: 56px;
	text-align: center;
}

/* Botón eliminar producto */
.woocommerce-cart table.shop_table td.product-remove a.remove {
	color: #aaaaaa !important;
	font-size: 1.1rem;
}

.woocommerce-cart table.shop_table td.product-remove a.remove:hover {
	color: var(--color-negro) !important;
	background: transparent !important;
}

/* Totales del carrito */
.woocommerce-cart .cart-collaterals {
	margin-top: 1.5rem;
}

.woocommerce-cart .cart_totals h2 {
	font-family: var(--font-body) !important;
	font-weight: 400 !important;
	font-size: 0.85rem !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--color-gris) !important;
	margin-bottom: 1rem !important;
}

.woocommerce-cart .cart_totals table {
	border: none !important;
	width: 100%;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
	border: none !important;
	border-bottom: 1px solid #f0f0f0 !important;
	padding: 0.7rem 0;
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 0.9rem;
}

.woocommerce-cart .cart_totals table .order-total th,
.woocommerce-cart .cart_totals table .order-total td {
	font-weight: 400;
	font-size: 1rem;
	border-bottom: none !important;
	padding-top: 1rem;
}

/* Botón actualizar carrito */
.woocommerce-cart .actions .button[name="update_cart"] {
	background: transparent !important;
	color: var(--color-gris) !important;
	border: 1px solid #d0d0d0 !important;
	font-size: 0.78rem !important;
	letter-spacing: 0.08em !important;
	padding: 8px 18px !important;
}

/* Botón proceder al pago */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: block;
	background: var(--color-negro) !important;
	color: #ffffff !important;
	font-family: var(--font-body) !important;
	font-weight: 400 !important;
	font-size: 0.9rem !important;
	letter-spacing: 0.06em !important;
	text-transform: none !important;
	text-align: center;
	padding: 14px 24px !important;
	border: none !important;
	border-radius: 0 !important;
	transition: background 0.2s !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background: #222222 !important;
}

/* ─── Checkout ──────────────────────────────────────────────────── */

/* Títulos de sección */
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
	font-family: var(--font-body) !important;
	font-weight: 400 !important;
	font-size: 0.85rem !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--color-gris) !important;
	margin-bottom: 1.2rem !important;
}

/* Campos del formulario */
.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .woocommerce-input-wrapper textarea,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
	font-family: var(--font-body) !important;
	font-weight: 300 !important;
	font-size: 0.88rem !important;
	border: 1px solid #d8d8d8 !important;
	border-radius: 0 !important;
	padding: 10px 12px !important;
	color: var(--color-negro) !important;
	background: #ffffff !important;
}

.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
	border-color: var(--color-negro) !important;
	outline: none !important;
	box-shadow: none !important;
}

/* Labels */
.woocommerce-checkout .form-row label {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 0.8rem;
	letter-spacing: 0.04em;
	color: #555555;
	margin-bottom: 4px;
}

/* Métodos de pago */
.woocommerce-checkout #payment {
	background: #f9f9f9 !important;
	border-radius: 0 !important;
	border: 1px solid #ebebeb !important;
}

.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid #e8e8e8 !important;
	padding: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
	padding: 1rem 1.2rem !important;
	border-bottom: 1px solid #ebebeb !important;
}

.woocommerce-checkout #payment ul.payment_methods li:last-child {
	border-bottom: none !important;
}

.woocommerce-checkout #payment ul.payment_methods label {
	font-family: var(--font-body) !important;
	font-weight: 400 !important;
	font-size: 0.92rem !important;
	color: var(--color-negro) !important;
}

.woocommerce-checkout #payment .payment_box {
	background: #f0f0f0 !important;
	border-radius: 0 !important;
}

.woocommerce-checkout #payment .payment_box p {
	font-family: var(--font-body) !important;
	font-weight: 300 !important;
	font-size: 0.83rem !important;
	color: #555555 !important;
	line-height: 1.6 !important;
}

/* Tabla resumen del pedido */
.woocommerce-checkout table.shop_table {
	border: none !important;
}

.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
	border: none !important;
	border-bottom: 1px solid #f0f0f0 !important;
	padding: 0.7rem 0 !important;
	font-family: var(--font-body) !important;
	font-weight: 300 !important;
	font-size: 0.88rem !important;
}

.woocommerce-checkout table.shop_table tfoot tr:last-child th,
.woocommerce-checkout table.shop_table tfoot tr:last-child td {
	font-weight: 400 !important;
	font-size: 1rem !important;
	border-bottom: none !important;
}

/* Botón realizar pedido */
.woocommerce-checkout #place_order {
	display: block !important;
	width: 100% !important;
	background: var(--color-negro) !important;
	color: #ffffff !important;
	font-family: var(--font-body) !important;
	font-weight: 400 !important;
	font-size: 0.9rem !important;
	letter-spacing: 0.06em !important;
	text-transform: none !important;
	padding: 16px 24px !important;
	border: none !important;
	border-radius: 0 !important;
	cursor: pointer !important;
	transition: background 0.2s !important;
}

.woocommerce-checkout #place_order:hover {
	background: #222222 !important;
}

/* Nota del pedido */
.woocommerce-checkout .woocommerce-additional-fields h3 {
	margin-top: 1.5rem !important;
}

/* ─── Página de confirmación de pedido ─────────────────────────── */

.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details {
	font-family: var(--font-body);
	font-weight: 300;
}

.woocommerce-order h2 {
	font-family: var(--font-body) !important;
	font-weight: 400 !important;
	font-size: 0.85rem !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--color-gris) !important;
}

.woocommerce-order .woocommerce-notice {
	font-family: var(--font-body);
	font-size: 0.9rem;
	font-weight: 300;
}

/* ─── Footer legal ─────────────────────────────────────────────── */

#diastole-footer-legal {
	text-align: center;
	padding: 16px 20px 20px;
	font-family: var(--font-body);
	font-size: 0.72rem;
	font-weight: 300;
	letter-spacing: 0.06em;
	color: #555555;
}

#diastole-footer-legal a {
	color: #555555;
	text-decoration: none;
	transition: color 0.2s;
}

#diastole-footer-legal a:hover {
	color: #aaaaaa;
}

.diastole-footer-sep {
	margin: 0 10px;
	color: #333333;
}

/* ─── Íconos flotantes carrito + lupa ──────────────────────────── */

#diastole-floating-icons {
	position: fixed;
	right: 22px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 9999;
	display: flex;
	flex-direction: column;
	gap: 10px;
	transition: opacity 0.3s, visibility 0.3s;
}

#diastole-floating-icons.hidden-on-load {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.diastole-float-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	border-radius: 50%;
	background: #ffffff;
	box-shadow: 0 2px 12px rgba(0,0,0,0.22);
	color: #111111;
	text-decoration: none;
	border: none;
	cursor: pointer;
	position: relative;
	transition: box-shadow 0.2s;
	flex-shrink: 0;
}

.diastole-float-btn:hover {
	box-shadow: 0 4px 18px rgba(0,0,0,0.3);
	color: #111111;
}

.diastole-float-btn svg {
	width: 28px;
	height: 28px;
	display: block;
	flex-shrink: 0;
	color: #111111;
	stroke: #111111;
	fill: none;
}

.diastole-float-count {
	position: absolute;
	top: -4px;
	right: -4px;
	background: #111111;
	color: #ffffff;
	font-size: 10px;
	font-family: var(--font-body);
	font-weight: 400;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

/* Overlay de búsqueda — caja flotante blanca */
#diastole-search-overlay {
	display: none;
	position: fixed;
	top: 90px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10000;
	background: #ffffff;
	border-radius: 6px;
	box-shadow: 0 8px 32px rgba(0,0,0,0.18);
	width: min(560px, 90vw);
	padding: 0 16px;
	align-items: center;
	gap: 10px;
}

#diastole-search-overlay.active {
	display: flex;
}

#diastole-search-overlay form {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 10px;
}

#diastole-search-overlay .diastole-search-icon svg {
	stroke: #999999;
	display: block;
}

#diastole-search-overlay input[type="search"] {
	flex: 1;
	background: transparent;
	border: none;
	color: #111111;
	font-family: var(--font-body);
	font-size: 1rem;
	font-weight: 300;
	padding: 16px 4px;
	outline: none;
	-webkit-appearance: none;
}

#diastole-search-overlay input[type="search"]::placeholder {
	color: #aaaaaa;
}

#diastole-search-overlay button[type="submit"] {
	display: none;
}

.diastole-search-close {
	background: transparent;
	border: none;
	color: #aaaaaa;
	font-size: 1rem;
	cursor: pointer;
	padding: 4px;
	line-height: 1;
	flex-shrink: 0;
}

.diastole-search-close:hover {
	color: #111111;
}

/* ─── Sticky header ─────────────────────────────────────────────── */

#masthead.ast-sticky-active,
#masthead.stuck,
.ast-sticky-shrunk #masthead,
#ast-fixed-header {
	background: #111111 !important;
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	z-index: 9999 !important;
	box-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
}

/* ─── Lupa de búsqueda en header ───────────────────────────────── */

/* Alinear verticalmente con el carrito */
#ast-desktop-header .ast-header-search {
	display: flex !important;
	align-items: center !important;
}

#ast-desktop-header .ast-header-search .ast-search-icon,
#ast-desktop-header .ast-header-search .astra-search-icon,
#ast-desktop-header .ast-header-search svg,
#ast-desktop-header .ast-header-search .astra-icon,
#ast-desktop-header .ast-header-search button {
	color: #ffffff !important;
	fill: #ffffff !important;
	background: transparent !important;
	border: none !important;
	cursor: pointer !important;
	width: 20px !important;
	height: 20px !important;
	padding: 0 !important;
}

.ast-header-search .search-form input[type="search"],
.ast-header-search input[type="search"] {
	background: #ffffff !important;
	color: #111111 !important;
	border: none !important;
	font-family: var(--font-body) !important;
	font-weight: 300 !important;
}

/* ─── Mini cart dropdown ────────────────────────────────────────── */

.ast-header-woo-cart .widget_shopping_cart_content,
.ast-header-woo-cart .woocommerce-mini-cart__empty-message,
.astra-cart-drawer .widget_shopping_cart_content {
	background: #ffffff !important;
	color: #111111 !important;
}

/* Contenedor del dropdown */
.ast-site-header-cart .widget_shopping_cart,
.ast-header-woo-cart .ast-woo-header-cart-info-wrap,
div.ast-header-woo-cart-float {
	background: #ffffff !important;
	border: 1px solid #e5e5e5 !important;
	box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
}

/* Items dentro del mini cart */
.woocommerce-mini-cart__empty-message,
.woocommerce-mini-cart .mini_cart_item a,
.woocommerce-mini-cart .mini_cart_item .quantity,
.woocommerce-mini-cart .mini_cart_item .amount,
.woocommerce-mini-cart__total .label,
.woocommerce-mini-cart__total .amount,
ul.cart_list li a,
ul.product_list_widget li a {
	color: #111111 !important;
	font-family: var(--font-body) !important;
	font-weight: 300 !important;
}

/* Precio */
.woocommerce-mini-cart .mini_cart_item .woocommerce-Price-amount,
.woocommerce-mini-cart__total .woocommerce-Price-amount {
	color: #111111 !important;
	font-weight: 400 !important;
}

/* Separador total */
.woocommerce-mini-cart__total {
	border-top: 1px solid #e5e5e5 !important;
	background: #f8f8f8 !important;
}

/* Botones Ver carrito / Finalizar compra */
.woocommerce-mini-cart__buttons .button,
.woocommerce-mini-cart__buttons a.checkout,
.woocommerce-mini-cart__buttons a.wc-forward {
	background: #020200 !important;
	color: #ffffff !important;
	font-family: var(--font-body) !important;
	font-weight: 300 !important;
	font-size: 0.8rem !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 10px 18px !important;
}

.woocommerce-mini-cart__buttons .button:hover,
.woocommerce-mini-cart__buttons a.checkout:hover,
.woocommerce-mini-cart__buttons a.wc-forward:hover {
	background: #333333 !important;
	color: #ffffff !important;
}

/* Botón eliminar item */
.woocommerce-mini-cart .mini_cart_item .remove_from_cart_button {
	color: #999999 !important;
}
.woocommerce-mini-cart .mini_cart_item .remove_from_cart_button:hover {
	color: #111111 !important;
}

/* ─── Carrito (Blocks) ──────────────────────────────────────────── */

/* Ocultar express checkout (Amazon Pay, Link, etc.) */
.wc-block-components-express-payment,
.wc-block-components-express-payment-continue-rule,
.wc-block-cart__payment-options {
	display: none !important;
}

/* Botón "Pasar al pago" — gris oscuro */
.wc-block-cart__submit-button,
.wc-block-cart__submit .wc-block-components-button,
a.checkout-button,
.wc-proceed-to-checkout .checkout-button,
.wc-block-components-checkout-return-to-cart-button {
	background: #555555 !important;
	color: #ffffff !important;
	font-family: var(--font-body) !important;
	font-weight: 300 !important;
	font-size: 0.85rem !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	border: none !important;
	border-radius: 0 !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-cart__submit .wc-block-components-button:hover,
a.checkout-button:hover,
.wc-proceed-to-checkout .checkout-button:hover {
	background: #444444 !important;
	color: #ffffff !important;
}

/* Encabezados de tabla del carrito */
.wc-block-cart-items__header span,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
	font-family: var(--font-body) !important;
	font-weight: 300 !important;
	color: #111111 !important;
}

/* Título "PRODUCTO" y "TOTAL" en rojo de Astra → negro */
.wc-block-cart-items__header .wc-block-cart-items__header-image,
.wc-block-cart-items__header .wc-block-cart-items__header-product,
.wc-block-cart-items__header .wc-block-cart-items__header-total {
	color: #111111 !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.08em !important;
}

/* Precio en rojo → negro */
.wc-block-components-product-price,
.wc-block-components-product-price .woocommerce-Price-amount {
	color: #111111 !important;
}

/* Nombre del producto en azul → negro */
.wc-block-components-product-name,
.wc-block-components-product-name a {
	color: #111111 !important;
	font-weight: 300 !important;
}

/* Botón "Realizar pedido" / "Continuar" — gris oscuro */
.wc-block-components-button:not(.is-link),
.wc-block-components-button.wc-block-components-checkout-place-order-button,
#place_order,
button[type="submit"].wc-block-components-button,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-button,
.wc-block-checkout__place-order .wc-block-components-button {
	background: #555555 !important;
	color: #ffffff !important;
	font-family: var(--font-body) !important;
	font-weight: 300 !important;
	font-size: 0.85rem !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	border: none !important;
	border-radius: 0 !important;
}

.wc-block-components-button:not(.is-link):hover {
	background: #444444 !important;
	color: #ffffff !important;
}

/* Botón "Canjear" cupón */
.wc-block-components-totals-coupon__button,
.wc-block-components-totals-coupon .wc-block-components-button {
	background: transparent !important;
	color: #555555 !important;
	border: none !important;
	border-radius: 0 !important;
	font-family: var(--font-body) !important;
	font-weight: 400 !important;
	font-size: 0.85rem !important;
	padding: 0 !important;
	text-decoration: underline !important;
}

.wc-block-components-totals-coupon__button:hover,
.wc-block-components-totals-coupon .wc-block-components-button:hover {
	background: transparent !important;
	color: #111111 !important;
}

/* Link "Cupón promocional" (trigger) */
.wc-block-components-totals-coupon__link {
	color: #555555 !important;
	text-decoration: none !important;
	font-weight: 300 !important;
}

/* Etiqueta "Aplique un cupón promocional" inyectada por JS */
.diastole-coupon-label {
	font-family: var(--font-body) !important;
	font-size: 0.85rem !important;
	font-weight: 400 !important;
	color: #111111 !important;
	margin: 0 0 8px !important;
	display: flex !important;
	align-items: center !important;
	gap: 4px !important;
}

/* "¿Falta un producto? Seguir comprando" */
.diastole-continue-shopping {
	font-family: var(--font-body) !important;
	font-size: 0.85rem !important;
	font-weight: 300 !important;
	color: #555555 !important;
	margin: 16px 0 0 !important;
}

.diastole-continue-shopping a {
	color: #555555 !important;
	text-decoration: underline !important;
}

.diastole-continue-shopping a:hover {
	color: #111111 !important;
}

/* Ocultar express checkout también en checkout */
.wc-block-components-express-payment-continue-rule--with-express-payment,
.wc-block-checkout__payment-options {
	display: none !important;
}

/* ─── Packlink PRO — opciones de envío ─────────────────────────── */

/* Botón "Seleccionar lugar de entrega" — quitar amarillo */
#packlink-drop-off-picker button,
#packlink-drop-off-picker .button,
.lp-location-wrapper button,
.lp-location-wrapper .button,
[id*="packlink"] button,
[id*="pl-"] button,
.wc-block-components-shipping-rates-control button {
	background: #555555 !important;
	color: #ffffff !important;
	font-family: var(--font-body) !important;
	font-weight: 300 !important;
	font-size: 0.8rem !important;
	letter-spacing: 0.04em !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 8px 14px !important;
	cursor: pointer !important;
	white-space: nowrap !important;
}

#packlink-drop-off-picker button:hover,
.lp-location-wrapper button:hover {
	background: #444444 !important;
}

/* Métodos de envío — fuente y color */
.wc-block-components-shipping-rates-control .wc-block-components-radio-control__label,
.wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label {
	font-family: var(--font-body) !important;
	font-weight: 300 !important;
	font-size: 0.85rem !important;
	color: #111111 !important;
}

/* Logo */
.pl-image-wrapper {
	width: 70px !important;
	border: 1px solid #e5e5e5 !important;
	border-radius: 0 !important;
	padding: 3px 6px !important;
}

.pl-checkout-carrier-image,
.pl-image-wrapper img {
	height: 22px !important;
	width: auto !important;
}

/* Botón pickup — gris, texto original legible */
#packlink-drop-off-picker.button,
#packlink-drop-off button {
	background: #666666 !important;
	background-color: #666666 !important;
	color: #ffffff !important;
	font-family: var(--font-body) !important;
	font-weight: 300 !important;
	font-size: 0.75rem !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 4px 10px !important;
	cursor: pointer !important;
	box-shadow: none !important;
	text-transform: none !important;
}

/* Mover botón de pickup a fila propia, sin romper el flex del label-group */
.wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group {
	flex-wrap: wrap;
}

/* El div vacío no ocupa espacio */
#packlink-drop-off:empty {
	display: none !important;
}

/* El div con el botón baja a una segunda fila */
#packlink-drop-off:not(:empty) {
	width: 100%;
	order: 10;
	padding-top: 8px;
	padding-left: 78px;
}

/* El precio se queda en la primera fila, a la derecha */
.wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label {
	order: 5;
}

/* Descripción del producto en resumen — ocultar */
.wp-block-woocommerce-checkout-order-summary-cart-items-block .wc-block-components-product-metadata {
	display: none !important;
}

/* Precio sin IVA en resumen también ocultar (muestra 25,61€ duplicado) */
.wp-block-woocommerce-checkout-order-summary-cart-items-block .wc-block-components-product-price:not(.wc-block-components-totals-item__value) {
	display: none !important;
}

/* ─── Checkout WC Blocks: tipografía global ─────────────────────── */

/* Reset general — todo Segoe UI, sin letter-spacing de Astra */
.wc-block-checkout,
.wc-block-checkout * {
	font-family: var(--font-body) !important;
	letter-spacing: normal !important;
}

/* ── Títulos de sección (Información de contacto, Dirección de envío…) */
.wc-block-components-checkout-step__title,
.wc-block-components-title {
	font-size: 1.25rem !important;
	font-weight: 400 !important;
	color: #111111 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	margin-bottom: 16px !important;
}

/* ── Labels de campos */
.wc-block-checkout label,
.wc-block-components-text-input label,
.wc-block-components-address-form label,
.wc-block-components-checkbox label {
	font-size: 0.8rem !important;
	font-weight: 300 !important;
	color: #555555 !important;
	letter-spacing: normal !important;
}

/* ── Inputs, selects, textareas */
.wc-block-checkout input:not([type="checkbox"]):not([type="radio"]),
.wc-block-checkout select,
.wc-block-checkout textarea {
	font-size: 0.85rem !important;
	font-weight: 300 !important;
	color: #111111 !important;
}

/* ── Texto secundario / privacidad / notas */
.wc-block-checkout__privacy-policy,
.wc-block-components-checkout-step__description,
.wc-block-checkout .wc-block-components-checkout-step__description {
	font-size: 0.78rem !important;
	font-weight: 300 !important;
	color: #888888 !important;
}

/* ── Métodos de pago */
.wc-block-components-payment-method-label,
.wc-block-components-payment-method-label__label,
.wc-block-components-radio-control__label {
	font-size: 0.85rem !important;
	font-weight: 300 !important;
	color: #111111 !important;
}

/* ── Resumen lateral: filas de totales */
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
	font-size: 0.85rem !important;
	font-weight: 300 !important;
	color: #111111 !important;
}

/* ── Fila Total (footer) — ligeramente más grande y peso normal */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 0.95rem !important;
	font-weight: 400 !important;
	color: #111111 !important;
}

/* ── Item del resumen: centrar texto con imagen */
.wc-block-components-order-summary-item {
	align-items: center !important;
}

.wc-block-components-order-summary-item__image {
	align-self: center !important;
	flex-shrink: 0 !important;
}

/* ── Nombres de producto en resumen lateral */
.wc-block-components-order-summary-item__name,
.wc-block-components-order-summary-item__name a,
.wc-block-components-order-summary-item .wc-block-components-product-name,
.wc-block-components-order-summary-item .wc-block-components-product-name a,
.wc-block-checkout .wc-block-components-order-summary-item__name,
.wc-block-checkout .wc-block-components-order-summary-item__name a {
	font-size: 0.9rem !important;
	font-weight: 400 !important;
	color: #191919 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
}

.wc-block-components-order-summary-item__individual-price,
.wc-block-components-order-summary-item__total-price,
.wc-block-components-order-summary-item__individual-price .woocommerce-Price-amount,
.wc-block-components-order-summary-item__total-price .woocommerce-Price-amount {
	font-size: 0.85rem !important;
	font-weight: 300 !important;
	color: #191919 !important;
	letter-spacing: normal !important;
}

/* ─── Checkout: email desc + newsletter ─────────────────────────── */

.diastole-email-desc {
	font-family: var(--font-body) !important;
	font-size: 0.82rem !important;
	font-weight: 300 !important;
	color: #555555 !important;
	margin: 8px 0 12px !important;
	line-height: 1.5 !important;
}

.diastole-newsletter {
	display: flex !important;
	align-items: flex-start !important;
	gap: 8px !important;
	font-family: var(--font-body) !important;
	font-size: 0.82rem !important;
	font-weight: 300 !important;
	color: #555555 !important;
	cursor: pointer !important;
	margin-bottom: 16px !important;
}

.diastole-newsletter input[type="checkbox"] {
	margin-top: 2px !important;
	flex-shrink: 0 !important;
	accent-color: #555555 !important;
}

/* ─── Sección "Siguiente" en checkout ───────────────────────────── */

.diastole-next-steps {
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid #e5e5e5;
}

.diastole-next-steps h3 {
	font-size: 1.25rem !important;
	font-weight: 400 !important;
	color: #111111 !important;
	margin: 0 0 16px !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

.diastole-step {
	display: flex;
	flex-direction: column;
	padding: 10px 0;
	border-bottom: 1px solid #f0f0f0;
}

.diastole-step:last-child {
	border-bottom: none;
}

.diastole-step strong {
	font-size: 0.85rem;
	font-weight: 400;
	color: #333333;
}

.diastole-step span {
	font-size: 0.78rem;
	font-weight: 300;
	color: #888888;
	margin-top: 2px;
}

.diastole-sin-iva {
	font-size: 0.8em;
	color: #888;
	font-weight: 300;
}

/* ─── Carrito vacío ─────────────────────────────────────────────── */

/* Título "Tu cesta está vacía" */
.wc-block-cart__empty-cart__title {
	font-family: var(--font-body) !important;
	font-size: 1rem !important;
	font-weight: 300 !important;
	letter-spacing: 0.06em !important;
	color: #444 !important;
	text-transform: none !important;
	margin-bottom: 10px !important;
}

/* Ocultar separador de puntos "• • •" */
.wp-block-woocommerce-empty-cart-block .wp-block-separator {
	display: none !important;
}

/* Título "También te puede gustar" */
.wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title) {
	font-family: var(--font-body) !important;
	font-size: 0.75rem !important;
	font-weight: 300 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: #999 !important;
	margin: 40px 0 24px !important;
}

/* Grid de sugerencias en carrito vacío — usa nuestras diastole-card */
.diastole-empty-cart-suggestions {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	list-style: none;
	padding: 0;
	margin: 0;
}

@media (max-width: 768px) {
	.diastole-empty-cart-suggestions {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ─── Notices / mensajes WooCommerce ─────────────────────────────── */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.wc-block-components-notice-banner,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info {
	font-family: var(--font-body) !important;
	font-size: 0.85rem !important;
	font-weight: 300 !important;
	color: #333333 !important;
	background-color: #f7f7f7 !important;
	border-top: none !important;
	border-bottom: none !important;
	border-right: none !important;
	border-left: 3px solid #333333 !important;
	border-radius: 0 !important;
	padding: 14px 20px 14px 3em !important;
	margin-bottom: 16px !important;
	box-shadow: none !important;
	letter-spacing: normal !important;
}

.woocommerce-error {
	border-left-color: #888888 !important;
}

.woocommerce-info {
	border-left-color: #aaaaaa !important;
}

/* Ícono de error/aviso */
.woocommerce-message::before,
.woocommerce-error li::before,
.woocommerce-info::before {
	color: #888888 !important;
}

/* Botón dentro del notice (ej: "VER CARRITO") */
.woocommerce-message a.button,
.woocommerce-error a.button,
.woocommerce-info a.button,
.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button {
	font-family: var(--font-body) !important;
	font-size: 0.78rem !important;
	font-weight: 300 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: #ffffff !important;
	background-color: #333333 !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 8px 18px !important;
	box-shadow: none !important;
}

.woocommerce-message a.button:hover,
.woocommerce-error a.button:hover,
.woocommerce-info a.button:hover,
.woocommerce-message .button:hover,
.woocommerce-error .button:hover,
.woocommerce-info .button:hover {
	background-color: #111111 !important;
	color: #ffffff !important;
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE — MÓVIL
   ═══════════════════════════════════════════════════════════════ */

/* ── Tablet (≤ 1024px) — 3 columnas ──────────────────────────── */

@media (max-width: 1024px) {
	.woocommerce ul.products li.product-category,
	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li {
		flex: 0 0 calc(33.333% - 10px) !important;
		width: calc(33.333% - 10px) !important;
	}

	.diastole-featured-products ul.products li.product,
	.tax-product_cat ul.products li.product,
	.diastole-recently-viewed ul.products li.product {
		flex: 0 0 calc(33.333% - 10px) !important;
		width: calc(33.333% - 10px) !important;
	}
}

/* ── Menú móvil: fondo oscuro sin dependencias de JS ni breakpoint ─── */
/* #ast-mobile-header solo se muestra cuando Astra activa el header móvil */

#ast-mobile-header .ast-mobile-header-content {
	background-color: #2a2a2a !important;
}

#ast-mobile-header .main-header-bar-navigation {
	background-color: #2a2a2a !important;
}

/* Astra (main.min.css) pone fondo gris en .main-header-menu en móvil.
   Astra (customizer inline @media max-width:921px) pone --ast-global-color-4 (#FFFFFF)
   en .menu-link y .sub-menu. Todo debe ser transparente para heredar el fondo oscuro. */
body.ast-header-break-point #ast-mobile-header .main-header-menu,
body.ast-header-break-point #ast-mobile-header .main-header-menu .sub-menu,
body.ast-header-break-point #ast-mobile-header .main-header-menu .menu-link,
body.ast-header-break-point #ast-mobile-header .main-header-menu .menu-item > a,
body.ast-header-break-point #ast-mobile-header .ast-menu-toggle {
	background-color: transparent !important;
	background: transparent !important;
}

#ast-mobile-header .main-header-menu .menu-item > a,
#ast-mobile-header .main-header-menu .menu-item > .menu-link {
	color: #ffffff !important;
}

#ast-mobile-header .main-header-menu .menu-item > a:hover,
#ast-mobile-header .main-header-menu .menu-item > .menu-link:hover {
	color: #cccccc !important;
	background-color: transparent !important;
}

/* ── Menú móvil off-canvas/popup (Astra popup drawer) ───────────── */

/* Overlay semitransparente de fondo */
.ast-mobile-popup-overlay,
.ast-mobile-overlay {
	background: rgba(0, 0, 0, 0.6) !important;
}

/* Panel/drawer del off-canvas */
.ast-mobile-popup-drawer,
.ast-mobile-popup-content,
.ast-mobile-popup-inner {
	background-color: #333333 !important;
}

/* Links en el popup off-canvas */
.ast-mobile-popup-drawer .menu-item > a,
.ast-mobile-popup-drawer .menu-item > .menu-link,
.ast-mobile-popup-content .menu-item > a,
.ast-mobile-popup-content .menu-item > .menu-link,
.ast-mobile-popup-inner .menu-item > a,
.ast-mobile-popup-inner .menu-item > .menu-link {
	color: #ffffff !important;
}

.ast-mobile-popup-drawer .menu-item > a:hover,
.ast-mobile-popup-drawer .menu-item > .menu-link:hover,
.ast-mobile-popup-content .menu-item > a:hover,
.ast-mobile-popup-content .menu-item > .menu-link:hover {
	color: #cccccc !important;
	background-color: transparent !important;
}

/* ── Dropdown inline del nav móvil (alternativa al off-canvas) ───── */

body.ast-header-break-point .main-header-bar-navigation {
	background-color: #2a2a2a !important;
}

body.ast-header-break-point .main-header-bar-navigation .menu-item > a,
body.ast-header-break-point .main-header-bar-navigation .menu-item > .menu-link {
	color: #ffffff !important;
}

/* ── Móvil (≤ 767px) ─────────────────────────────────────────── */

@media (max-width: 767px) {

	/* Padding lateral uniforme en móvil — homepage #tienda y páginas WooCommerce */
	#tienda {
		padding-left: 8px !important;
		padding-right: 8px !important;
	}

	.site-content .ast-container {
		padding-left: 8px !important;
		padding-right: 8px !important;
	}

	/* Header móvil */
	#ast-mobile-header,
	.ast-mobile-header-wrap,
	body.ast-header-break-point .main-header-bar,
	body.ast-header-break-point .ast-primary-header-bar,
	body.ast-header-break-point .ast-main-header-wrap,
	body.ast-header-break-point #masthead {
		background-color: #333333 !important;
	}

	/* Hamburguesa e íconos del header en blanco */
	body.ast-header-break-point button.menu-toggle,
	body.ast-header-break-point .ast-mobile-menu-trigger-btn,
	body.ast-header-break-point .ast-mobile-menu-trigger-btn span,
	body.ast-header-break-point .ast-button-wrap button {
		color: #ffffff !important;
	}

	body.ast-header-break-point .ast-header-woo-cart .ast-cart-menu-wrap svg,
	body.ast-header-break-point .ast-header-woo-cart .ast-cart-menu-wrap .astra-icon {
		color: #ffffff !important;
		fill: #ffffff !important;
	}

	/* Menú móvil — links y textos en el menú desplegado */
	body.ast-header-break-point .main-header-bar-navigation .menu-item > a,
	body.ast-header-break-point .main-header-bar-navigation .menu-item > .menu-link,
	.ast-mobile-popup-content .menu-item > a,
	.ast-mobile-popup-content .menu-item > .menu-link,
	.ast-mobile-popup-drawer .menu-item > a,
	.ast-mobile-popup-drawer .menu-item > .menu-link {
		color: #ffffff !important;
	}

	body.ast-header-break-point .main-header-bar-navigation .menu-item > a:hover,
	.ast-mobile-popup-content .menu-item > a:hover {
		color: #cccccc !important;
	}

	/* Botón cerrar (X) del off-canvas */
	.ast-mobile-popup-drawer .menu-toggle-close,
	.ast-mobile-popup-header .menu-toggle-close {
		color: #ffffff !important;
		fill: #ffffff !important;
	}

	/* ── Grilla de productos: 2 columnas ────────────────────────── */

	.woocommerce ul.products,
	.woocommerce-page ul.products {
		gap: 10px !important;
	}

	.woocommerce ul.products li.product-category,
	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li {
		flex: 0 0 calc(50% - 5px) !important;
		width: calc(50% - 5px) !important;
	}

	.diastole-featured-products ul.products li.product,
	.tax-product_cat ul.products li.product,
	.diastole-recently-viewed ul.products li.product {
		flex: 0 0 calc(50% - 5px) !important;
		width: calc(50% - 5px) !important;
	}

	/* ── Página de producto: apilar imagen y resumen ─────────────── */

	.woocommerce div.product div.images,
	.woocommerce div.product .woocommerce-product-gallery {
		width: 100% !important;
		float: none !important;
		margin-bottom: 1.5rem !important;
	}

	.woocommerce div.product div.summary {
		width: 100% !important;
		float: none !important;
		clear: both !important;
	}

	/* Descripción sin ancho máximo fijo */
	.diastole-product-info {
		max-width: 100% !important;
	}

	/* Centrar botón añadir a la cesta */
	.woocommerce div.product form.cart .single_add_to_cart_button.button {
		width: 100% !important;
		box-sizing: border-box !important;
	}

	/* ── Nav de colecciones: scroll horizontal ───────────────────── */

	.diastole-collections-nav {
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		scrollbar-width: none !important;
		padding-bottom: 0.6rem !important;
	}

	.diastole-collections-nav::-webkit-scrollbar {
		display: none;
	}

	/* ── Íconos flotantes: esquina inferior derecha ──────────────── */

	#diastole-floating-icons {
		right: 14px !important;
		bottom: 24px !important;
		top: auto !important;
		transform: none !important;
	}

	.diastole-float-btn {
		width: 52px !important;
		height: 52px !important;
	}

	.diastole-float-btn svg {
		width: 24px !important;
		height: 24px !important;
	}

	/* ── Overlay de búsqueda ─────────────────────────────────────── */

	#diastole-search-overlay {
		top: 64px !important;
		width: min(340px, 92vw) !important;
	}

	/* ── Hero — wordmark flexible ────────────────────────────────── */

	.home .diastole-hero h1,
	.page-id-68 .diastole-hero h1,
	.home h1.diastole-wordmark,
	.page-id-68 h1.diastole-wordmark {
		white-space: normal !important;
		font-size: clamp(2.2rem, 11vw, 5rem) !important;
	}

	/* ── Cabecera de colección ───────────────────────────────────── */

	.diastole-cat-title {
		font-size: 20px !important;
	}

	.diastole-cat-logo {
		width: min(260px, 80vw) !important;
	}

	/* ── Página de producto: espaciado reducido ──────────────────── */

	.single-product .site-content,
	.single-product #primary,
	.single-product .ast-container.entry-content-wrap {
		padding-top: 0.6rem !important;
	}

	.diastole-product-nav {
		justify-content: flex-start !important;
		margin-bottom: 0.4rem !important;
	}

	/* ── Carrito y checkout: padding lateral ────────────────────── */

	.woocommerce-cart .entry-content,
	.woocommerce-checkout .entry-content {
		padding: 1rem 0.75rem 2rem !important;
	}

	/* WC Blocks: asegurar padding lateral en los contenedores internos */
	.woocommerce-cart .wp-block-woocommerce-cart,
	.woocommerce-cart .wc-block-cart {
		padding-left: 0.5rem !important;
		padding-right: 0.5rem !important;
	}

	/* Ocultar columna de precio unitario en la tabla del carrito */
	.woocommerce-cart table.shop_table th.product-price,
	.woocommerce-cart table.shop_table td.product-price {
		display: none !important;
	}

	/* Imagen de producto en carrito — más pequeña */
	.woocommerce-cart table.shop_table td.product-thumbnail img {
		width: 56px !important;
		height: 56px !important;
	}

	/* Texto del producto en carrito — tamaño legible */
	.woocommerce-cart table.shop_table td.product-name a {
		font-size: 0.82rem !important;
	}

	/* Totales del carrito — ancho completo */
	.woocommerce-cart .cart_totals {
		width: 100% !important;
		float: none !important;
	}

	/* Checkout Blocks — evitar overflow horizontal */
	.wc-block-checkout,
	.wc-block-cart {
		overflow-x: hidden !important;
	}

	/* ── WC Blocks carrito: nombre de producto y thumbnail ─────── */

	/* Evitar corte a mitad de palabra (LAZAD/A, GEOME/TRICA) */
	.wc-block-components-product-name {
		word-break: normal !important;
		overflow-wrap: normal !important;
		max-width: 100% !important;
	}

	/* Thumbnail del carrito: cuadrado adaptado al contenedor, sin overflow */
	.wc-block-cart-item__image a {
		display: block !important;
	}
	.wc-block-cart-item__image img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 1 / 1 !important;
		object-fit: cover !important;
		display: block !important;
	}

	/* ── Producto compartir: alinear en columna ──────────────────── */

	.diastole-product-share-links {
		gap: 1rem !important;
	}
}

/* ── Pantallas muy pequeñas (≤ 400px) ───────────────────────── */

@media (max-width: 400px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products {
		gap: 8px !important;
	}

	.diastole-card__price {
		font-size: 0.78rem !important;
	}

	.diastole-btn {
		font-size: 0.7rem !important;
		padding: 4px 10px !important;
	}

	.diastole-card__info {
		padding: 6px 6px 0 !important;
	}
}

/* ── Tienda mobile: colecciones + destacados inline en homepage ── */

.diastole-mobile-shop {
	padding: 0 0 32px;
}

/* Accordion de colecciones */
.diastole-mob-collections {
	margin: 0 0 16px;
	text-align: center;
	position: relative;
}

.diastole-mob-collections__toggle {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 7px 16px !important;
	background: transparent !important;
	background-color: transparent !important;
	border: 1px solid #bbb !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	cursor: pointer !important;
	font-family: var(--font-body, inherit) !important;
	font-size: 0.72rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: #555 !important;
	width: auto !important;
	min-width: 0 !important;
	text-decoration: none !important;
}

.diastole-mob-collections__toggle:hover,
.diastole-mob-collections__toggle:focus,
.diastole-mob-collections__toggle:active {
	background: transparent !important;
	background-color: transparent !important;
	color: #111 !important;
	border-color: #888 !important;
	box-shadow: none !important;
	outline: none !important;
}

.diastole-mob-collections__links {
	display: none;
	flex-direction: column;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: max-content;
	min-width: 160px;
	z-index: 200;
	background: #fff;
	padding: 8px 0 12px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.10);
	text-align: left;
}

.diastole-mob-collections__links a {
	display: block !important;
	padding: 9px 16px !important;
	font-size: 0.78rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	color: #555 !important;
	text-decoration: none !important;
	background: transparent !important;
	border: none !important;
}

.diastole-mob-collections__links a:hover {
	color: #111 !important;
	background: #f7f7f7 !important;
	text-decoration: none !important;
}

/* Grid de categorías (tiles) y productos destacados */
.diastole-mobile-shop ul.products,
.diastole-mobile-shop ul.products.columns-2 {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 2px !important;
	margin: 0 0 16px !important;
	padding: 0 !important;
	list-style: none !important;
	width: 100% !important;
}

.diastole-mobile-shop ul.products li,
.diastole-mobile-shop ul.products.columns-2 li {
	margin: 0 !important;
	width: auto !important;
	float: none !important;
	flex: none !important;
}

/* Imágenes de tiles de categoría — necesitan reglas propias sin .woocommerce */
.diastole-mobile-shop ul.products li.product-category a {
	display: block;
}

.diastole-mobile-shop ul.products li.product-category img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
}

.diastole-mobile-shop ul.products li.product-category h2,
.diastole-mobile-shop ul.products li.product-category .woocommerce-loop-category__title,
.diastole-mobile-shop ul.products li.product-category .count {
	display: none !important;
}

/* Featured products dentro del mobile shop */
.diastole-mobile-shop .diastole-featured-products {
	margin-top: 28px;
}

/* ── YITH Wishlist — botón discreto ─────────────────────────── */

.yith-wcwl-add-to-wishlist {
	margin: 8px 0 4px !important;
}

.yith-wcwl-add-to-wishlist-button {
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	color: #888 !important;
	font-size: 0.78rem !important;
	font-weight: 400 !important;
	padding: 0 !important;
	width: auto !important;
	box-shadow: none !important;
	text-decoration: none !important;
	cursor: pointer !important;
}

.yith-wcwl-add-to-wishlist-button:hover {
	color: #333 !important;
	background: transparent !important;
	text-decoration: underline !important;
}

.yith-wcwl-add-to-wishlist-button .yith-wcwl-icon {
	width: 13px !important;
	height: 13px !important;
	stroke: currentColor !important;
}

/* Ocultar stock nativo de WooCommerce/Astra — lo reemplaza .diastole-stock-qty */
.ast-stock-avail,
p.stock,
span.stock {
	display: none !important;
}

/* ── Stock e indicador de cesta en producto individual ──────── */

.diastole-stock-info {
	margin: 6px 0 10px;
}

.diastole-stock-qty {
	font-size: 0.78rem;
	color: #888;
	margin: 0 0 3px;
	font-weight: 400;
}

.diastole-in-cart-notice {
	font-size: 0.78rem;
	color: #666;
	font-style: italic;
	margin: 0;
}

/* ─── CookieYes — estilo de marca Diastole ─────────────────────── */

/* Contenedor principal del banner — sin bordes amarillos */
.cky-consent-container,
.cky-consent-bar,
.cky-consent-container *,
[class*="cky-consent"] {
	border-color: #333333 !important;
	outline: none !important;
}

.cky-consent-container,
.cky-consent-bar {
	background-color: var(--color-negro) !important;
	border: 1px solid #333333 !important;
	border-top: 2px solid #555555 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: var(--font-body) !important;
}

/* Título */
.cky-title,
.cky-consent-bar .cky-title {
	font-family: var(--font-body) !important;
	font-weight: 400 !important;
	font-size: 0.9rem !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: #ffffff !important;
}

/* Texto del mensaje */
.cky-notice-des,
.cky-consent-bar .cky-notice-des,
.cky-notice-des p,
.cky-notice-des a {
	font-family: var(--font-body) !important;
	font-weight: 300 !important;
	font-size: 0.82rem !important;
	line-height: 1.6 !important;
	color: #cccccc !important;
}

.cky-notice-des a {
	color: var(--color-amarillo) !important;
	text-decoration: underline !important;
}

.cky-notice-des a:hover {
	color: #ffffff !important;
}

/* ── Botones del BANNER inicial ───────────────────────────────── */

/* Fila de botones — todos en línea, sin wrapping */
.cky-consent-bar .cky-notice-btn-wrapper {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 20px !important;
	justify-content: flex-end !important;
	margin-top: 14px !important;
}

/* Base: todos los botones del banner son texto puro */
.cky-consent-bar .cky-btn,
.cky-consent-bar [class*="cky-btn"] {
	font-family: var(--font-body) !important;
	font-weight: 400 !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	border-radius: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	transition: color 0.2s !important;
	width: auto !important;
	flex: 0 0 auto !important;
}

/* Personalizar — gris medio, sin subrayado */
.cky-consent-bar .cky-btn-customize {
	color: #777777 !important;
	text-decoration: none !important;
}

.cky-consent-bar .cky-btn-customize:hover {
	color: #aaaaaa !important;
}

/* Rechazar todo — el más apagado, apenas visible */
.cky-consent-bar .cky-btn-reject {
	color: #4a4a4a !important;
	text-decoration: none !important;
}

.cky-consent-bar .cky-btn-reject:hover {
	color: #888888 !important;
}

/* Aceptar todo — blanco, el más prominente */
.cky-consent-bar .cky-btn-accept {
	color: #ffffff !important;
	font-weight: 500 !important;
}

.cky-consent-bar .cky-btn-accept:hover {
	color: #aaaaaa !important;
}

/* ── Botones del PANEL de preferencias ───────────────────────── */
.cky-preference-center .cky-btn,
.cky-preference-center [class*="cky-btn"]:not(.cky-btn-close) {
	font-family: var(--font-body) !important;
	font-weight: 400 !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	border-radius: 0 !important;
	padding: 8px 20px !important;
	border: 1px solid #555555 !important;
	background: transparent !important;
	color: #aaaaaa !important;
	transition: background 0.2s, color 0.2s !important;
	outline: none !important;
	box-shadow: none !important;
}

.cky-preference-center .cky-btn-accept-all {
	background-color: #ffffff !important;
	color: var(--color-negro) !important;
	border-color: #ffffff !important;
}

.cky-preference-center .cky-btn-accept-all:hover {
	background-color: #dddddd !important;
	border-color: #dddddd !important;
}

.cky-preference-center .cky-btn-reject-all:hover {
	background-color: #1a1a1a !important;
	color: #ffffff !important;
}

/* Panel de preferencias */
.cky-modal-open .cky-preference-center,
.cky-preference-center {
	background-color: var(--color-negro) !important;
	border: 1px solid #333333 !important;
	border-radius: 0 !important;
	font-family: var(--font-body) !important;
}

.cky-preference-title,
.cky-preference-center .cky-title {
	font-family: var(--font-body) !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: #ffffff !important;
}

.cky-preference-content-wrapper,
.cky-preference-center p,
.cky-preference-center span,
.cky-preference-center label {
	font-family: var(--font-body) !important;
	font-weight: 300 !important;
	font-size: 0.82rem !important;
	color: #cccccc !important;
}

/* Categorías de cookies — headers */
.cky-accordion-header,
.cky-accordion-item .cky-accordion-header {
	background-color: #1a1a1a !important;
	border: none !important;
	border-bottom: 1px solid #2a2a2a !important;
}

/* Nombre de cada categoría — blanco, peso normal */
.cky-accordion-header-des,
.cky-accordion-header .cky-accordion-header-des,
.cky-accordion-item .cky-accordion-header-des,
.cky-accordion-title,
.cky-accordion-header span,
.cky-accordion-header p,
.cky-accordion-header label {
	font-family: var(--font-body) !important;
	font-weight: 300 !important;
	font-size: 0.85rem !important;
	color: #ffffff !important;
	letter-spacing: 0.04em !important;
	-webkit-text-fill-color: #ffffff !important;
}

/* Cuerpo de cada categoría */
.cky-accordion-body,
.cky-accordion-item .cky-accordion-body {
	background-color: #0d0d0d !important;
	border: none !important;
	border-bottom: 1px solid #2a2a2a !important;
}

/* TODO el texto dentro del panel — resetear colores de link azul */
.cky-preference-center *,
.cky-accordion-body *,
.cky-accordion-item * {
	color: #aaaaaa !important;
	-webkit-text-fill-color: #aaaaaa !important;
	text-decoration: none !important;
	border-color: #333333 !important;
	outline: none !important;
	box-shadow: none !important;
}

/* Excepción: nombres de categoría y título del panel — blancos, peso normal */
.cky-accordion-header-des,
.cky-accordion-header .cky-accordion-header-des,
.cky-preference-title,
.cky-preference-center .cky-title,
.cky-accordion-header span,
.cky-accordion-header p,
.cky-accordion-header label {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	font-weight: 300 !important;
}

/* "Siempre activa" badge */
.cky-always-active {
	color: #777777 !important;
	-webkit-text-fill-color: #777777 !important;
	font-size: 0.72rem !important;
	font-weight: 300 !important;
}

/* Footer del panel — eliminar banda blanca / sombra */
.cky-preference-footer,
[class*="cky-preference-footer"],
[class*="cky-footer"],
.cky-preference-center > div:last-child,
.cky-preference-content-wrapper + div {
	background-color: var(--color-negro) !important;
	background-image: none !important;
	box-shadow: none !important;
	border-top: 1px solid #2a2a2a !important;
}

/* Eliminar cualquier pseudo-elemento con gradiente blanco */
.cky-preference-center::after,
.cky-preference-content-wrapper::after,
[class*="cky-shadow"]::after,
[class*="cky-shadow"] {
	display: none !important;
	background: none !important;
	background-image: none !important;
}

/* Botones del panel — sin borde azul de Astra */
.cky-preference-center button,
.cky-preference-center .cky-btn,
[class*="cky-btn"] {
	outline: none !important;
	box-shadow: none !important;
	border-color: #555555 !important;
}

/* Botón cerrar (X) del panel — dibujado con CSS */
.cky-btn-close,
.cky-modal-close {
	position: relative !important;
	background: transparent !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	width: 28px !important;
	height: 28px !important;
	min-width: 28px !important;
	min-height: 28px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	padding: 0 !important;
	flex-shrink: 0 !important;
}

/* Ocultar el icono original (SVG o img) y reemplazar con CSS */
.cky-btn-close > *,
.cky-modal-close > * {
	opacity: 0 !important;
	width: 0 !important;
	height: 0 !important;
	position: absolute !important;
}

.cky-btn-close::before,
.cky-modal-close::before {
	content: "×" !important;
	display: block !important;
	position: absolute !important;
	color: #888888 !important;
	-webkit-text-fill-color: #888888 !important;
	font-size: 1.4rem !important;
	line-height: 1 !important;
	font-weight: 300 !important;
	font-family: var(--font-body) !important;
}

.cky-btn-close:hover::before,
.cky-modal-close:hover::before {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

/* Flecha del acordeón */
.cky-accordion-chevron path,
.cky-chevron path,
.cky-accordion svg path {
	stroke: #888888 !important;
	fill: none !important;
}

/* Toggle switches — blanco cuando activos */
.cky-switch input:checked + .cky-slider {
	background-color: #ffffff !important;
}

.cky-switch .cky-slider {
	background-color: #444444 !important;
	border-radius: 0 !important;
}

.cky-switch .cky-slider:before {
	border-radius: 0 !important;
}

/* Botón flotante "Preferencias de cookies" — oculto */
.cky-revisit-bottom-left,
.cky-revisit-bottom-right,
#cky-btn-revisit-wrapper,
[id*="cky-btn-revisit"],
[class*="cky-revisit"] {
	display: none !important;
	visibility: hidden !important;
}


/* ─── Carrito y checkout — ancho completo ─────────────────────────── */
/* El iframe de la tienda va de borde a borde; aquí eliminamos el padding
   lateral de Astra para que el bloque de WC Blocks haga lo mismo. */
body.woocommerce-cart .ast-container,
body.woocommerce-checkout .ast-container {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout {
	padding-left: 16px !important;
	padding-right: 16px !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}