/* Origen oscuro: tokens, breadcrumbs, notices, tabs, búsqueda. */

html:root {
	--theme-text-color: #e8e8e8;
	--theme-headings-color: #ffffff;
	--theme-link-initial-color: #e0e0e0;
	--theme-link-hover-color: #f59a57;
	--theme-border-color: #333333;
}

/* --- Breadcrumbs (ficha Blocksy + archivo custom) --- */
.ct-breadcrumbs,
.ct-breadcrumbs a,
.ct-breadcrumbs span,
.ct-breadcrumbs .last-item,
body.single-product .ct-breadcrumbs,
body.single-product .ct-breadcrumbs a,
body.single-product .ct-breadcrumbs span,
.tdl-cat-bc,
.tdl-cat-bc a,
.tdl-bc-sep,
.tdl-bc-current {
	color: #e8e8e8 !important;
}

.ct-breadcrumbs a:hover,
.tdl-cat-bc a:hover {
	color: #f59a57 !important;
}

.ct-breadcrumbs .last-item,
.tdl-bc-current {
	color: #f5f5f5 !important;
	font-weight: 600;
}

.ct-breadcrumbs a:focus-visible,
.tdl-cat-bc a:focus-visible {
	outline: 2px solid #f59a57;
	outline-offset: 2px;
}

.tdl-cat-h1 {
	color: #ffffff !important;
}

.tdl-cat-count {
	color: #c4c4c4 !important;
}

/* --- Notices Woo (empty, info, error) --- */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce-info[role="alert"],
ul.woocommerce-error {
	background: #1c1c1c !important;
	background-color: #1c1c1c !important;
	color: #f2f2f2 !important;
	border: 1px solid #333 !important;
	border-top: 1px solid #333 !important;
	border-radius: 6px;
	padding: 18px 22px 18px 22px !important;
	margin: 12px 0 28px !important;
	text-align: left;
	box-shadow: none;
}

.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before {
	display: none !important;
}

.woocommerce-info a,
.woocommerce-message a,
.woocommerce-error a {
	color: #f59a57 !important;
}

.tdl-empty-cat {
	margin: 16px 0 48px;
	padding: 28px 24px;
	background: #1c1c1c;
	border: 1px solid #2e2e2e;
	border-radius: 6px;
	color: #f2f2f2;
	box-sizing: border-box;
}
.tdl-empty-cat__title {
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	line-height: 1.3;
}
.tdl-empty-cat__hint {
	margin: 0 0 16px;
	color: #cfcfcf;
	font-size: 14px;
	line-height: 1.45;
}
.tdl-empty-cat__actions a {
	color: #f59a57;
	text-decoration: none;
	border-bottom: 1px solid #f59a57;
	padding-bottom: 1px;
}
.tdl-empty-cat__actions a:hover,
.tdl-empty-cat__actions a:focus-visible {
	color: #ffb07a;
	border-bottom-color: #ffb07a;
}

/* --- Ficha: tabs no pegados al borde --- */
body.single-product .woocommerce-tabs {
	width: calc(100% - 80px);
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
	padding: 28px 0 48px;
	box-sizing: border-box;
	background: #111;
	color: #e8e8e8;
}
body.single-product .woocommerce-Tabs-panel,
body.single-product .woocommerce-tabs .panel,
body.single-product #tab-description {
	padding: 20px 4px 0 !important;
	color: #f2f2f2;
	box-sizing: border-box;
}
body.single-product .woocommerce-Tabs-panel p,
body.single-product #tab-description p {
	margin: 0 0 0.65em;
	padding: 0;
}
body.single-product .woocommerce-tabs .tabs li a,
body.single-product .woocommerce-tabs li a {
	color: #cfcfcf;
}
body.single-product .woocommerce-tabs .tabs li.active a,
body.single-product .woocommerce-tabs li.active a {
	color: #f59a57;
}
body.single-product .product_meta,
body.single-product .product_meta a,
body.single-product .posted_in,
body.single-product .posted_in a {
	color: #d4d4d4 !important;
}
body.single-product .product_meta a:hover {
	color: #f59a57 !important;
}

@media (max-width: 999.98px) {
	body.single-product .woocommerce-tabs {
		width: 100%;
		padding: 24px max(16px, env(safe-area-inset-left, 0px)) 40px max(16px, env(safe-area-inset-right, 0px));
	}
}

/* Relacionados */
body.single-product .related.products,
body.single-product .up-sells,
body.single-product .ct-related-posts {
	width: calc(100% - 80px);
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 48px;
	padding-top: 8px;
	box-sizing: border-box;
	color: #f2f2f2;
}
body.single-product .related h2,
body.single-product .up-sells h2,
body.single-product .ct-related-posts .ct-module-title {
	color: #fff !important;
	padding: 0 0 16px;
}
@media (max-width: 999.98px) {
	body.single-product .related.products,
	body.single-product .up-sells,
	body.single-product .ct-related-posts {
		width: 100%;
		padding-left: max(16px, env(safe-area-inset-left, 0px));
		padding-right: max(16px, env(safe-area-inset-right, 0px));
	}
}

/* Overlay búsqueda: texto legible sobre #1a1a1a */
#search-modal,
#search-modal .ct-search-form,
#search-modal input,
#search-modal input[type="search"],
#search-modal .ct-search-form input {
	color: #f2f2f2;
}
#search-modal input::placeholder {
	color: #9a9a9a;
}
#search-modal .ct-search-results a,
#search-modal .ct-search-result a,
#search-modal [id^="ct-search-results"] a {
	color: #f2f2f2;
}
#search-modal .ct-search-results a:hover,
#search-modal .ct-search-result:hover {
	color: #f59a57;
}

/* Offcanvas menú */
#offcanvas,
#offcanvas .ct-panel-content,
#offcanvas .mobile-menu a {
	color: #f2f2f2;
}

/* Focus visible genérico en catálogo */
body.tdl-catalog a:focus-visible,
body.single-product a:focus-visible {
	outline: 2px solid #f59a57;
	outline-offset: 2px;
}
