/*
Theme Name: Depurarte — Kadence Child
Theme URI: https://depurarte.es
Author: Depurarte
Author URI: https://depurarte.es
Description: Tema hijo de Kadence con la identidad visual de Depurarte. Conserva los constructores y controles nativos de Kadence para cabeceras, pies, plantillas, entradas, páginas y WooCommerce.
Template: kadence
Version: 1.1.0
Requires at least: 6.3
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v3.0 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: depurarte
Tags: e-commerce, custom-logo, custom-menu, featured-images, translation-ready, block-patterns, wide-blocks
WC requires at least: 8.0
WC tested up to: 10.5
*/

/*
 * Los alias apuntan a la paleta y las tipografías globales de Kadence.
 * Al cambiarlas en Apariencia → Personalizar, los componentes también cambian.
 */
:root {
	--dp-primary: var(--global-palette1, #572760);
	--dp-accent: var(--global-palette2, #d0a761);
	--dp-ground: var(--global-palette3, #12031b);
	--dp-text: var(--global-palette4, #3a2a3f);
	--dp-muted: var(--global-palette5, #7a6a7e);
	--dp-border-strong: var(--global-palette6, #cdbfa6);
	--dp-sunken: var(--global-palette7, #efe7d6);
	--dp-paper: var(--global-palette8, #f8f3e8);
	--dp-card: var(--global-palette9, #fff);
	--dp-heading-font: var(--global-heading-font-family, "Cormorant Garamond", Georgia, serif);
	--dp-body-font: var(--global-body-font-family, "Montserrat", system-ui, sans-serif);
	--dp-border: color-mix(in srgb, var(--dp-border-strong) 62%, transparent);
	--dp-on-ground: var(--dp-paper);
	--dp-on-ground-muted: color-mix(in srgb, var(--dp-paper) 72%, transparent);
	--dp-focus: color-mix(in srgb, var(--dp-primary) 34%, transparent);
	--dp-radius-sm: 8px;
	--dp-radius-md: 12px;
	--dp-radius-lg: 18px;
	--dp-radius-xl: 28px;
	--dp-shadow-1: 0 1px 2px rgb(18 3 27 / 6%);
	--dp-shadow-2: 0 10px 24px rgb(18 3 27 / 14%);
	--dp-shadow-3: 0 18px 40px rgb(18 3 27 / 22%);
}

/* Compatibilidad para navegadores sin color-mix(). */
@supports not (color: color-mix(in srgb, #fff 50%, #000)) {
	:root {
		--dp-border: #e5dccb;
		--dp-on-ground-muted: rgb(248 243 232 / 72%);
		--dp-focus: rgb(87 39 96 / 35%);
	}
}

.dp-wrap {
	width: min(100% - 48px, var(--global-content-width, 1120px));
	margin-inline: auto;
}

.dp-eyebrow {
	display: block;
	color: var(--dp-primary);
	font-family: var(--dp-body-font);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.2em;
	line-height: 1.4;
	text-transform: uppercase;
}

.dp-eyebrow--gold {
	color: var(--dp-accent);
}

.dp-announce {
	width: 100%;
	padding: 9px 16px;
	background: var(--dp-accent);
	color: var(--dp-ground);
	font-family: var(--dp-body-font);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.14em;
	line-height: 1.35;
	text-align: center;
	text-transform: uppercase;
}

.dp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 44px;
	padding: 14px 30px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: var(--dp-primary);
	color: var(--dp-card);
	font-family: var(--dp-body-font);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1;
	text-decoration: none;
	transition: background-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 120ms ease;
}

.dp-btn:hover,
.dp-btn:focus {
	background: var(--dp-ground);
	color: var(--dp-card);
}

.dp-btn:active {
	transform: translateY(1px) scale(0.99);
}

.dp-btn--accent {
	background: var(--dp-accent);
	color: var(--dp-ground);
}

.dp-btn--accent:hover,
.dp-btn--accent:focus {
	background: var(--dp-accent);
	background: color-mix(in srgb, var(--dp-accent) 84%, var(--dp-ground));
	color: var(--dp-ground);
}

.dp-btn--large {
	padding: 16px 34px;
	font-size: 15px;
}

.dp-btn:focus-visible,
.dp-chip:focus-visible,
.dp-cat:focus-visible,
.dp-accordion__button:focus-visible {
	outline: 3px solid var(--dp-focus);
	outline-offset: 3px;
}

/* Hero y secciones modulares. */
.dp-hero,
.dp-band,
.dp-news {
	position: relative;
	left: 50%;
	width: 100vw;
	max-width: 100vw;
	margin-left: -50vw;
}

.dp-hero {
	display: flex;
	align-items: center;
	min-height: var(--dp-hero-min-height, 620px);
	overflow: hidden;
	background: var(--dp-ground);
	color: var(--dp-on-ground);
}

.dp-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 70% center;
}

.dp-hero__veil {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgb(18 3 27 / 96%) 0%, rgb(18 3 27 / 80%) 28%, rgb(18 3 27 / 20%) 55%, transparent 72%);
}

.dp-hero__inner {
	position: relative;
	width: min(100% - 48px, var(--global-content-width, 1120px));
	margin-inline: auto;
	padding-block: 96px;
}

.dp-hero__copy {
	max-width: 520px;
	animation: dp-rise 500ms ease both;
}

.dp-hero h1 {
	margin: 22px 0;
	color: var(--dp-on-ground);
	font-family: var(--dp-heading-font);
	font-size: clamp(38px, 5vw, 58px);
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.08;
	text-shadow: 0 2px 18px rgb(18 3 27 / 35%);
}

.dp-hero p {
	max-width: 42ch;
	margin-bottom: 0;
	color: var(--dp-on-ground-muted);
	font-family: var(--dp-body-font);
	font-size: 16px;
	line-height: 1.75;
}

.dp-hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 30px;
}

@keyframes dp-rise {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

.dp-section {
	padding-block: 60px;
}

.dp-section--compact {
	padding-block: 36px;
}

.dp-section__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 28px;
}

.dp-section__head h2 {
	margin: 10px 0 0;
}

.dp-section__head > a {
	color: var(--dp-primary);
	font-size: 13px;
	font-weight: 600;
	text-underline-offset: 4px;
}

.dp-grid {
	display: grid;
	gap: 22px;
}

.dp-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dp-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dp-cat {
	position: relative;
	display: block;
	height: 220px;
	overflow: hidden;
	border: 1px solid var(--dp-border);
	border-radius: var(--dp-radius-lg);
	background: var(--dp-sunken);
	text-decoration: none;
	transition: box-shadow 160ms ease, transform 160ms ease;
}

.dp-cat:hover {
	box-shadow: var(--dp-shadow-2);
	transform: translateY(-2px);
}

.dp-cat img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dp-cat::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 34%, rgb(18 3 27 / 82%) 100%);
	content: "";
}

.dp-cat__label {
	position: absolute;
	z-index: 2;
	right: 18px;
	bottom: 16px;
	left: 18px;
}

.dp-cat__name {
	display: block;
	color: var(--dp-paper);
	font-family: var(--dp-heading-font);
	font-size: 23px;
	font-weight: 600;
	line-height: 1.1;
}

.dp-cat__meta {
	display: block;
	margin-top: 5px;
	color: var(--dp-accent);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.dp-band {
	overflow: hidden;
	background: var(--dp-ground);
	color: var(--dp-on-ground);
}

.dp-band > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dp-band::after {
	position: absolute;
	inset: 0;
	background: rgb(18 3 27 / 82%);
	content: "";
}

.dp-band__inner {
	position: relative;
	z-index: 2;
	width: min(100% - 48px, var(--global-content-width, 1120px));
	margin-inline: auto;
	padding-block: 76px;
	text-align: center;
}

.dp-band h2 {
	margin: 14px 0 10px;
	color: var(--dp-on-ground);
}

.dp-band p {
	max-width: 52ch;
	margin: 0 auto 32px;
	color: var(--dp-on-ground-muted);
}

.dp-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.dp-band .dp-chips {
	justify-content: center;
}

.dp-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 24px;
	border: 1px solid var(--dp-border-strong);
	border-radius: 999px;
	background: var(--dp-card);
	color: var(--dp-text);
	font-size: 13px;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.dp-chip:hover,
.dp-chip:focus {
	border-color: var(--dp-primary);
	background: var(--dp-primary);
	color: var(--dp-card);
}

.dp-band .dp-chip {
	border-color: color-mix(in srgb, var(--dp-accent) 60%, transparent);
	background: transparent;
	color: var(--dp-accent);
}

.dp-band .dp-chip:hover,
.dp-band .dp-chip:focus {
	border-color: var(--dp-accent);
	background: var(--dp-accent);
	color: var(--dp-ground);
}

.dp-trust {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	padding: 26px 24px;
	border: 1px solid var(--dp-border);
	border-radius: var(--dp-radius-lg);
	background: var(--dp-paper);
	background: color-mix(in srgb, var(--dp-paper) 78%, var(--dp-card));
}

.dp-trust__item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.dp-trust svg {
	flex: none;
	width: 22px;
	height: 22px;
	color: var(--dp-primary);
}

.dp-trust__title,
.dp-trust__description {
	display: block;
}

.dp-trust__title {
	color: var(--dp-ground);
	font-size: 13px;
	font-weight: 600;
}

.dp-trust__description {
	color: var(--dp-muted);
	font-size: 12px;
	line-height: 1.5;
}

.dp-trust--ground {
	border-color: color-mix(in srgb, var(--dp-accent) 24%, transparent);
	background: transparent;
}

.dp-trust--ground svg,
.dp-trust--ground .dp-trust__title {
	color: var(--dp-accent);
}

.dp-trust--ground .dp-trust__description {
	color: var(--dp-on-ground-muted);
}

.dp-review {
	height: 100%;
	margin: 0;
	padding: 26px;
	border: 1px solid var(--dp-border);
	border-radius: var(--dp-radius-lg);
	background: var(--dp-card);
	background: color-mix(in srgb, var(--dp-paper) 54%, var(--dp-card));
}

.dp-stars {
	color: var(--dp-accent);
	font-size: 13px;
	letter-spacing: 0.18em;
}

.dp-review p {
	margin: 14px 0 18px;
	color: var(--dp-ground);
	font-family: var(--dp-heading-font);
	font-size: 20px;
	line-height: 1.5;
}

.dp-review__by {
	color: var(--dp-muted);
	font-size: 11px;
	font-style: normal;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.dp-review__by a {
	color: inherit;
}

.dp-news {
	background: var(--dp-sunken);
}

.dp-news__inner {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	align-items: center;
	gap: 48px;
	width: min(100% - 48px, var(--global-content-width, 1120px));
	margin-inline: auto;
	padding-block: 56px;
}

.dp-news h2 {
	margin: 0 0 10px;
}

.dp-news p:last-child {
	margin-bottom: 0;
}

.dp-news form {
	display: flex;
	align-items: flex-end;
	gap: 12px;
}

.dp-news form > * {
	margin-block: 0;
}

.dp-news input[type="email"],
.dp-news input[type="text"] {
	min-height: 46px;
	border: 1px solid var(--dp-border-strong);
	border-radius: var(--dp-radius-md);
	background: var(--dp-card);
}

.dp-news__hint {
	padding: 14px 16px;
	border: 1px dashed var(--dp-border-strong);
	border-radius: var(--dp-radius-md);
	color: var(--dp-muted);
	font-size: 13px;
}

/* Apariencia sobre el marcado nativo de Kadence/WooCommerce. */
.woocommerce ul.products li.product.product-loop-boxed,
.wc-block-grid__product.product-loop-boxed {
	overflow: hidden;
	border: 1px solid var(--dp-border);
	border-radius: var(--dp-radius-lg);
	box-shadow: var(--dp-shadow-1);
	transition: box-shadow 160ms ease, transform 160ms ease;
}

.woocommerce ul.products li.product.product-loop-boxed:hover,
.wc-block-grid__product.product-loop-boxed:hover {
	box-shadow: var(--dp-shadow-2);
	transform: translateY(-2px);
}

.woocommerce ul.products li.product .woocommerce-loop-image-link,
.wc-block-grid__product .wc-block-grid__product-link {
	overflow: hidden;
	background: var(--dp-sunken);
}

.woocommerce ul.products li.product .woocommerce-loop-image-link img,
.wc-block-grid__product .wc-block-grid__product-link img {
	transition: transform 300ms ease;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-image-link img,
.wc-block-grid__product:hover .wc-block-grid__product-link img {
	transform: scale(1.025);
}

.woocommerce ul.products li.product.product-loop-boxed .entry-content-wrap,
.wc-block-grid__product.product-loop-boxed .entry-content-wrap {
	margin: 0;
	padding: 18px;
	border-radius: 0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product .wc-block-grid__product-title {
	color: var(--dp-ground);
	font-family: var(--dp-heading-font);
	font-size: 21px;
	font-weight: 600;
	line-height: 1.2;
}

.woocommerce ul.products li.product .price,
.wc-block-grid__product .price {
	color: var(--dp-text);
	font-family: var(--dp-body-font);
	font-size: 16px;
	font-weight: 600;
}

.woocommerce ul.products li.product .price del,
.wc-block-grid__product .price del {
	color: var(--dp-muted);
	font-size: 13px;
	font-weight: 400;
}

.woocommerce span.onsale,
.wc-block-grid__product-onsale {
	min-width: auto;
	min-height: auto;
	padding: 6px 12px;
	border: 0;
	border-radius: 999px;
	background: var(--dp-accent);
	color: var(--dp-ground);
	font-family: var(--dp-body-font);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.woocommerce .star-rating {
	color: var(--dp-accent);
}

.woocommerce div.product div.images img {
	border: 1px solid var(--dp-border);
	border-radius: var(--dp-radius-lg);
}

.woocommerce div.product div.images .flex-control-thumbs img {
	border-radius: var(--dp-radius-md);
}

.woocommerce div.product .product_title {
	color: var(--dp-ground);
	font-family: var(--dp-heading-font);
	font-size: clamp(32px, 3.6vw, 44px);
	font-weight: 600;
	line-height: 1.12;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--dp-text);
	font-family: var(--dp-body-font);
	font-size: 26px;
	font-weight: 600;
}

.dp-price-note,
.dp-stock-note {
	color: var(--dp-muted);
	font-size: 12px;
}

.dp-price-note {
	margin: -4px 0 22px;
}

.dp-stock-note {
	margin: 14px 0 24px;
}

.dp-product-intentions {
	margin-block: 22px;
}

.dp-product-intentions .dp-eyebrow {
	margin-bottom: 10px;
}

.dp-accordion {
	margin-top: 12px;
	border-top: 1px solid var(--dp-border);
}

.dp-accordion__item {
	border-bottom: 1px solid var(--dp-border);
}

.dp-accordion__button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 18px 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--dp-ground);
	font-family: var(--dp-body-font);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-align: left;
}

.dp-accordion__button:hover,
.dp-accordion__button:focus {
	background: transparent;
	color: var(--dp-primary);
}

.dp-accordion__button span:last-child {
	color: var(--dp-accent);
	font-size: 18px;
	line-height: 1;
}

.dp-accordion__panel {
	display: none;
	padding: 0 0 18px;
	color: var(--dp-muted);
	font-size: 14px;
	line-height: 1.7;
}

.dp-accordion__panel p:last-child {
	margin-bottom: 0;
}

.dp-accordion__item.is-open .dp-accordion__panel {
	display: block;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom-color: var(--dp-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-size: 13px;
	font-weight: 600;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--dp-ground);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
	border-color: var(--dp-border);
	border-radius: var(--dp-radius-lg);
	background: var(--dp-card);
}

.woocommerce table.shop_table,
.woocommerce .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout #customer_details,
.woocommerce .woocommerce-order-details,
.woocommerce .woocommerce-customer-details {
	border-color: var(--dp-border);
	border-radius: var(--dp-radius-lg);
	background: var(--dp-card);
}

.woocommerce table.shop_table th {
	color: var(--dp-primary);
	font-family: var(--dp-body-font);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.woocommerce table.shop_table img {
	border-radius: var(--dp-radius-md);
}

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
	border-radius: var(--dp-radius-md);
}

.loop-entry.content-bg {
	overflow: hidden;
	border-radius: var(--dp-radius-lg);
	box-shadow: var(--dp-shadow-1);
}

/* Pequeños detalles para las áreas construidas por Kadence. */
#masthead .site-header-row-container-inner {
	border-bottom-color: color-mix(in srgb, var(--dp-accent) 30%, transparent);
}

#colophon a {
	text-underline-offset: 4px;
}

@media (max-width: 1024px) {
	.dp-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dp-trust {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dp-news__inner {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

@media (max-width: 767px) {
	.dp-wrap,
	.dp-hero__inner,
	.dp-band__inner,
	.dp-news__inner {
		width: min(100% - 40px, var(--global-content-width, 1120px));
	}

	.dp-hero {
		min-height: min(var(--dp-hero-min-height, 620px), 560px);
	}

	.dp-hero__inner {
		padding-block: 68px;
	}

	.dp-hero__veil {
		background: linear-gradient(180deg, rgb(18 3 27 / 40%) 0%, rgb(18 3 27 / 94%) 58%);
	}

	.dp-hero__copy {
		max-width: none;
	}

	.dp-band__inner {
		padding-block: 60px;
	}

	.dp-grid--3 {
		grid-template-columns: 1fr;
	}

	.dp-section__head {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 520px) {
	.dp-grid--4,
	.dp-trust {
		grid-template-columns: 1fr;
	}

	.dp-news form {
		align-items: stretch;
		flex-direction: column;
	}

	.dp-hero__cta,
	.dp-hero__cta .dp-btn {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dp-hero__copy {
		animation: none;
	}

	.dp-btn,
	.dp-cat,
	.woocommerce ul.products li.product,
	.wc-block-grid__product {
		transition-duration: 0.01ms !important;
	}
}
