/**
 * Platz K9 — Custom CSS (global)
 *
 * Cargado en todas las páginas del frontend.
 * Consolidado desde inline <style> blocks en functions.php.
 */

/* Prevenir overflow horizontal global */
html, body {
	overflow-x: hidden;
	max-width: 100vw;
}

/* ============================================================
   HEADER — Estilo MyProtein (2 filas)
   ============================================================ */

/* Ocultar toggle de búsqueda de Kadence (usamos nuestra barra) */
#masthead .search-toggle-open-container {
	display: none !important;
}

/* Fila principal: logo + búsqueda + cuenta/carrito */
#masthead .site-main-header-inner-wrap {
	padding-top: 10px;
	padding-bottom: 10px;
}
/* Header main row: logo left, búsqueda+iconos right (expandido) */
#masthead .site-main-header-inner-wrap.site-header-row-no-center,
#main-header .site-main-header-inner-wrap.site-header-row.site-header-row-no-center {
	grid-template-columns: auto 1fr !important;
}
#masthead .site-header-main-section-left {
	flex-shrink: 0;
}
#masthead .site-main-header-inner-wrap .site-header-main-section-right {
	flex: 1 !important;
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
}
/* Barra compacta, pegada a la izquierda del icono de cuenta */
#masthead .site-header-main-section-right .site-header-item.pk9-search-bar {
	flex: 0 0 280px !important;
	max-width: 320px;
	min-width: 200px;
}

/* Barra de búsqueda */
.pk9-search-bar {
	width: 280px;
}
.pk9-search-bar form {
	display: flex;
	align-items: center;
	border: 2px solid #e5e7eb;
	border-radius: 25px;
	overflow: hidden;
	background: #fff;
	transition: border-color 0.2s;
}
.pk9-search-bar form:focus-within {
	border-color: #0088cc;
}
.pk9-search-bar .pk9-search-field {
	border: none !important;
	padding: 10px 20px;
	font-size: 15px;
	flex: 1;
	outline: none;
	background: transparent;
	min-width: 0;
}
/* Ocultar X nativa del navegador */
.pk9-search-bar .pk9-search-field::-webkit-search-cancel-button,
.pk9-search-bar .pk9-search-field::-webkit-search-decoration {
	-webkit-appearance: none;
	display: none;
}
/* X custom */
.pk9-search-bar .pk9-search-clear {
	display: none;
	background: none;
	border: none;
	padding: 0 8px;
	cursor: pointer;
	color: #999;
	font-size: 16px;
	line-height: 1;
	flex-shrink: 0;
	transition: color 0.2s;
}
.pk9-search-bar .pk9-search-clear:hover {
	color: #333;
}
.pk9-search-bar .pk9-search-clear.pk9-visible {
	display: flex;
	align-items: center;
}
.pk9-search-bar .pk9-search-submit {
	background: none;
	border: none;
	padding: 8px 14px;
	cursor: pointer;
	color: #999;
	display: flex;
	align-items: center;
	transition: color 0.2s;
}
.pk9-search-bar .pk9-search-submit:hover {
	color: #0088cc;
}

/* Iconos cuenta y carrito más grandes */
#masthead .header-account-wrap .header-account-button,
#masthead .header-cart-wrap .header-cart-button {
	color: #212529;
}
#masthead .header-account-wrap .header-account-button:hover,
#masthead .header-cart-wrap .header-cart-button:hover {
	color: #0088cc;
}

/* Fila bottom: navegación centrada estilo MyProtein */
#masthead .site-bottom-header-wrap {
	border-top: 1px solid #e5e7eb;
}
#masthead .site-bottom-header-inner-wrap {
	min-height: auto;
	padding: 0;
}
#masthead .site-bottom-header-wrap .site-header-section-center {
	justify-content: center;
}
#masthead .site-bottom-header-wrap .header-navigation .primary-menu-container > ul {
	display: flex;
	justify-content: center;
	gap: 0;
}
#masthead .site-bottom-header-wrap .header-navigation .primary-menu-container > ul > li > a {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	color: #212529;
	padding: 10px 16px;
	letter-spacing: 0.3px;
	transition: color 0.2s;
}
#masthead .site-bottom-header-wrap .header-navigation .primary-menu-container > ul > li > a:hover {
	color: #0088cc;
}
#masthead .site-bottom-header-wrap .header-navigation .primary-menu-container > ul > li.current-menu-item > a,
#masthead .site-bottom-header-wrap .header-navigation .primary-menu-container > ul > li.current-menu-ancestor > a {
	color: #0088cc;
}

/* ============================================================
   NAVEGACIÓN — Dropdown menú fix
   ============================================================ */
#masthead .header-navigation .sub-menu li.current-menu-item > a,
#masthead .header-navigation .sub-menu li.current-menu-ancestor > a,
#masthead .header-navigation .sub-menu li.current_page_item > a,
#masthead .header-navigation ul ul li.current-menu-item > a,
.header-navigation .sub-menu li.current-menu-item > a,
.header-navigation ul ul li.current-menu-item > a {
	background: #f5f5f5 !important;
	color: #0088cc !important;
}
/* Dropdown base (consolidado desde Customizer CSS) */
#masthead {
	z-index: 10000 !important;
	position: relative;
}
#masthead .header-navigation .sub-menu {
	z-index: 10001 !important;
	background: #fff !important;
	box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}
#masthead .header-navigation .sub-menu li a {
	color: #333 !important;
}
#masthead .header-navigation .sub-menu li a:hover {
	color: #0088cc !important;
	background: #f5f5f5 !important;
}

/* ============================================================
   SHOP — Reducir espacio superior en archivos de producto
   ============================================================ */
.archive.woocommerce .content-area,
.post-type-archive-product .content-area {
	margin-top: 1.5rem;
}

/* ============================================================
   SHOP — Tarjetas de producto (grid + card + imagen + detalles)
   ============================================================ */

/* Grid: mínimo 220px por columna, gap 20px */
.woocommerce ul.products {
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
	gap: 20px !important;
}

/* Tarjeta base */
ul.products li.product {
	position: relative;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}
ul.products li.product:hover {
	box-shadow: 0 8px 24px rgba(0,0,0,0.14);
	transform: translateY(-3px);
}

/* Imagen: aspect-ratio cuadrado, contain, zoom en hover */
ul.products li.product .woocommerce-loop-product-link img,
ul.products li.product .woocommerce-LoopProduct-link img {
	width: 100%;
	height: 220px;
	object-fit: contain !important;
	background: #f8f8f8;
	transition: transform 0.3s ease;
}
ul.products li.product:hover .woocommerce-loop-product-link img,
ul.products li.product:hover .woocommerce-LoopProduct-link img {
	transform: scale(1.05);
}

/* Detalles: fondo gris claro, padding generoso */
ul.products li.product .product-details.entry-content-wrap {
	padding: 16px 16px 20px;
	background: #f4f6f8;
	border-top: 1px solid #e5e7eb;
}

/* Ocultar descripción corta en listado para consistencia */
ul.products li.product .woocommerce-product-details__short-description,
ul.products li.product .product-excerpt {
	display: none !important;
}

/* Título: 2 líneas max */
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-category__title {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	color: #212529;
	margin-bottom: 8px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Precio */
ul.products li.product .price {
	font-size: 18px;
	font-weight: 700;
	color: #1d2127;
}
ul.products li.product .price del {
	font-size: 13px;
	color: #9ca3af;
	font-weight: 400;
}
ul.products li.product .price ins {
	text-decoration: none;
	color: #e63946;
	font-weight: 700;
}
ul.products li.product .price .woocommerce-price-suffix {
	font-size: 11px;
	color: #9ca3af;
	font-weight: 400;
}

/* Botón "Añadir al carrito" / "Seleccionar opciones" */
ul.products li.product .button,
ul.products li.product .add_to_cart_button {
	display: block !important;
	width: 100%;
	text-align: center;
	background: #0088cc !important;
	color: #fff !important;
	border: none;
	border-radius: 6px;
	padding: 10px 16px;
	font-weight: 600;
	font-size: 13px;
	margin-top: 12px;
	transition: background 0.2s, transform 0.15s;
}
ul.products li.product .button:hover,
ul.products li.product .add_to_cart_button:hover {
	background: #006fa6 !important;
	transform: scale(1.02);
}
ul.products li.product .added_to_cart {
	display: block;
	text-align: center;
	margin-top: 6px;
	color: #0088cc;
	font-weight: 600;
	font-size: 13px;
}

/* Fix: botón hover no se superpone al precio */
.woocommerce ul.products.woo-archive-action-on-hover li.product .product-action-wrap {
	position: static !important;
	bottom: auto !important;
	opacity: 0;
	transition: opacity 0.3s ease;
	margin-top: 0.5rem;
}
.woocommerce ul.products.woo-archive-action-on-hover li.product:hover .product-action-wrap,
.woocommerce ul.products.woo-archive-action-on-hover li.product:focus-within .product-action-wrap {
	opacity: 1;
}
.woocommerce ul.products.woo-archive-action-on-hover li.product:hover .entry-content-wrap,
.woocommerce ul.products.woo-archive-action-on-hover li.product:focus-within .entry-content-wrap {
	transform: none !important;
}

/* ============================================================
   BADGES — Descuento %, "Nuevo", "Más vendido"
   ============================================================ */
.pk9-badge-sale {
	background: #e63946 !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 700;
	padding: 4px 8px !important;
	border-radius: 4px;
	line-height: 1.4;
	min-width: auto !important;
	min-height: auto !important;
}
.pk9-badge-new {
	position: absolute;
	top: 10px;
	right: 10px;
	background: #2baab1;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 4px;
	z-index: 2;
	letter-spacing: 0.5px;
}
.pk9-badge-bestseller {
	position: absolute;
	top: 10px;
	left: 10px;
	background: #f5a524;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 4px;
	z-index: 2;
	letter-spacing: 0.5px;
}

/* ============================================================
   SIDEBAR — Ofertas Flash
   ============================================================ */
.pk9-ofertas-flash {
	margin-bottom: 1.5em;
	padding: 16px;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
}
.pk9-ofertas-title {
	font-size: 16px;
	font-weight: 700;
	color: #e36159;
	margin: 0 0 12px;
	padding-bottom: 8px;
	border-bottom: 2px solid #e36159;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.pk9-ofertas-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.pk9-oferta-item {
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #f0f0f0;
}
.pk9-oferta-item:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
.pk9-oferta-item a {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: inherit;
}
.pk9-oferta-item a:hover .pk9-oferta-name {
	color: #0088cc;
}
.pk9-oferta-thumb img {
	width: 50px;
	height: 50px;
	object-fit: contain;
	border-radius: 4px;
	border: 1px solid #e9ecef;
	flex-shrink: 0;
}
.pk9-oferta-info {
	flex: 1;
	min-width: 0;
}
.pk9-oferta-name {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: #333;
	line-height: 1.3;
	transition: color 0.2s;
}
.pk9-oferta-prices {
	display: block;
	font-size: 13px;
	margin-top: 2px;
}
.pk9-oferta-prices del {
	color: #999;
	font-size: 12px;
}
.pk9-oferta-prices ins {
	text-decoration: none;
	color: #e36159;
	font-weight: 700;
}
.pk9-oferta-pct {
	background: #e36159;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	padding: 1px 5px;
	border-radius: 3px;
}

/* ============================================================
   PRODUCTO — Trust signals, stock, guía de tallas
   ============================================================ */
.pk9-trust-signals {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-top: 16px;
	padding: 14px;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	background: #fafbfc;
}
.pk9-trust-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: #444;
}
.pk9-trust-item svg {
	flex-shrink: 0;
}
.pk9-low-stock {
	color: #e36159;
	font-size: 14px;
	margin: 8px 0;
	padding: 8px 12px;
	background: #fdf0ef;
	border-radius: 4px;
	border-left: 3px solid #e36159;
}
.pk9-size-guide a {
	color: #0088cc;
	font-size: 14px;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	padding: 6px 0;
	border-bottom: 1px dashed #0088cc;
	transition: color 0.2s;
}
.pk9-size-guide a:hover {
	color: #006da3;
}

/* ============================================================
   PRODUCTO — "Comprados juntos frecuentemente" fix layout
   ============================================================ */

/* Contenedor principal */
.pk9-bought-together {
	clear: both;
	width: 100% !important;
	max-width: 100% !important;
	margin: 30px 0;
	padding: 25px;
	background: #f8f9fa;
	border: 1px solid #e9ecef;
	border-radius: 10px;
}
.pk9-bought-together h3 {
	font-size: 18px;
	margin: 0 0 20px;
	color: #212529;
}

/* --- Fila de imágenes con checkboxes --- */
.pk9-bt-products {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: nowrap;
	justify-content: center;
	overflow-x: auto;
}
.pk9-bt-item {
	text-align: center;
	min-width: 100px;
	max-width: 140px;
	flex-shrink: 0;
	position: relative;
}
.pk9-bt-check-label {
	display: flex;
	flex-direction: column;
	align-items: center;
	cursor: pointer;
	gap: 6px;
}
.pk9-bt-checkbox {
	width: 18px;
	height: 18px;
	accent-color: #0088cc;
	cursor: pointer;
}
.pk9-bt-item img {
	width: 100px;
	height: 100px;
	object-fit: contain;
	border-radius: 8px;
	border: 1px solid #e9ecef;
	background: #fff;
	padding: 5px;
	transition: opacity 0.2s;
}
.pk9-bt-item.pk9-bt-unchecked img {
	opacity: 0.4;
}
.pk9-bt-current img {
	border: 2px solid #0088cc;
}
.pk9-bt-plus {
	font-size: 28px;
	font-weight: 700;
	color: #aaa;
	flex-shrink: 0;
}

/* --- Lista de productos (checkbox + nombre + precio) --- */
.pk9-bt-list {
	margin-top: 20px;
	border-top: 1px solid #e5e7eb;
	padding-top: 16px;
}
.pk9-bt-list-item {
	padding: 8px 0;
	border-bottom: 1px solid #f0f0f0;
}
.pk9-bt-list-item:last-child {
	border-bottom: none;
}
.pk9-bt-list-label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	font-size: 13px;
	line-height: 1.4;
	color: #374151;
}
.pk9-bt-list-checkbox {
	width: 16px;
	height: 16px;
	accent-color: #0088cc;
	cursor: pointer;
	flex-shrink: 0;
	margin-top: 2px;
}
.pk9-bt-list-info {
	flex: 1;
}
.pk9-bt-list-info strong {
	display: block;
	font-size: 11px;
	color: #6b7280;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	margin-bottom: 2px;
}
.pk9-bt-list-info a {
	color: #0088cc;
	text-decoration: none;
}
.pk9-bt-list-info a:hover {
	text-decoration: underline;
}
.pk9-bt-list-item.pk9-bt-unchecked .pk9-bt-list-info {
	opacity: 0.5;
	text-decoration: line-through;
}
.pk9-bt-rating {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 2px;
	font-size: 12px;
}
.pk9-bt-stars {
	display: inline-block;
	width: 70px;
	height: 14px;
	background: linear-gradient(90deg, #f59e0b calc(var(--rating) / 5 * 100%), #d1d5db calc(var(--rating) / 5 * 100%));
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 14'%3E%3Ctext x='0' y='12' font-size='14'%3E★★★★★%3C/text%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 14'%3E%3Ctext x='0' y='12' font-size='14'%3E★★★★★%3C/text%3E%3C/svg%3E");
}
.pk9-bt-rating-count {
	color: #6b7280;
	font-size: 11px;
}
.pk9-bt-list-price {
	flex-shrink: 0;
	font-weight: 700;
	font-size: 14px;
	color: #212529;
	white-space: nowrap;
}

/* --- Footer: total + botón --- */
.pk9-bt-footer {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 2px solid #e0e0e0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
}
.pk9-bt-total {
	font-size: 14px;
	color: #777;
}
.pk9-bt-total strong {
	color: #212529;
	font-size: 18px;
}
.pk9-bt-free-ship {
	display: inline-block;
	background: #2baab1;
	color: #fff;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 700;
	margin-left: 8px;
}
.pk9-bt-add-all {
	background: #FFD814 !important;
	color: #0F1111 !important;
	border: 1px solid #FCD200 !important;
	border-radius: 20px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	padding: 10px 20px !important;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: background 0.2s;
	white-space: nowrap;
}
.pk9-bt-add-all:hover {
	background: #F7CA00 !important;
}
.pk9-bt-add-all.pk9-bt-adding {
	opacity: 0.7;
	pointer-events: none;
}

@media (max-width: 480px) {
	.pk9-bt-products { flex-wrap: wrap; justify-content: center; }
	.pk9-bt-item { min-width: 80px; max-width: 100px; }
	.pk9-bt-item img { width: 75px; height: 75px; }
	.pk9-bt-footer { flex-direction: column; text-align: center; }
	.pk9-bt-add-all { width: 100%; justify-content: center; }
}

/* ============================================================
   FAQ ACORDEÓN — Fichas de producto
   Especificidad alta para ganar a Kadence button{}
   ============================================================ */
.pk9-faq-accordion {
	max-width: 720px;
	margin: 0 0 24px 0;
	border-top: 1px solid #e8e8e8;
}
.pk9-faq-accordion .pk9-faq-item {
	border-bottom: 1px solid #e8e8e8;
}
.pk9-faq-accordion .pk9-faq-question,
.pk9-faq-accordion button.pk9-faq-question {
	background: transparent !important;
	background-color: transparent !important;
	color: #1a1a1a !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 18px 40px 18px 0 !important;
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	text-align: left;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	font-family: inherit;
	position: relative;
	transition: color 0.2s ease;
}
.pk9-faq-accordion .pk9-faq-question:hover {
	color: #f5a623 !important;
}
.pk9-faq-accordion .pk9-faq-question::after {
	content: '+';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 22px;
	font-weight: 400;
	color: #f5a623;
	line-height: 1;
	transition: transform 0.25s ease;
	width: 24px;
	text-align: center;
}
.pk9-faq-accordion .pk9-faq-question[aria-expanded="true"]::after {
	content: '\2212';
	transform: translateY(-50%);
}
.pk9-faq-accordion .pk9-faq-question[aria-expanded="true"] {
	color: #f5a623 !important;
}
.pk9-faq-accordion .pk9-faq-answer {
	padding: 0 40px 20px 0;
	color: #555;
	font-size: 14.5px;
	line-height: 1.75;
}
.pk9-faq-accordion .pk9-faq-answer p {
	margin: 0;
}
.pk9-faq-accordion .pk9-faq-answer:not([hidden]) {
	display: block;
	animation: pk9FaqOpen 0.2s ease-out;
}
@keyframes pk9FaqOpen {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   CATEGORÍAS SEO — Intro (top) y texto bottom
   ============================================================ */
.pk9-cat-seo-intro {
	margin-bottom: 1.5em;
	padding: 0;
	font-size: 15px;
	line-height: 1.6;
	color: #555;
}
.pk9-cat-seo-intro p {
	margin: 0;
}
.pk9-cat-seo-bottom {
	margin-top: 2.5em;
	padding: 30px;
	background: #f8f9fa;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	font-size: 15px;
	line-height: 1.7;
	color: #444;
}
.pk9-cat-seo-bottom h2 {
	font-size: 22px;
	font-weight: 700;
	color: #212529;
	margin: 0 0 12px;
}
.pk9-cat-seo-bottom h3 {
	font-size: 18px;
	font-weight: 600;
	color: #212529;
	margin: 20px 0 8px;
}
.pk9-cat-seo-bottom p {
	margin: 0 0 14px;
}
.pk9-cat-seo-bottom ul,
.pk9-cat-seo-bottom ol {
	margin: 0 0 14px 20px;
	padding: 0;
}
.pk9-cat-seo-bottom li {
	margin-bottom: 6px;
}

/* ============================================================
   RESPONSIVE — Shop grid por breakpoint
   ============================================================ */
/* Tablet: 3 columnas */
@media screen and (min-width: 601px) and (max-width: 900px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 16px !important;
	}
}
/* Mobile: 2 columnas */
@media screen and (max-width: 600px) {
	.woocommerce ul.products,
	.grid-ss-col-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}
	ul.products li.product .woocommerce-loop-product-link img,
	ul.products li.product .woocommerce-LoopProduct-link img {
		height: 160px;
	}
	ul.products li.product .product-details.entry-content-wrap {
		padding: 12px 12px 16px;
	}
	ul.products li.product .woocommerce-loop-product__title {
		font-size: 13px;
	}
	ul.products li.product .price {
		font-size: 15px;
	}
}

/* Mobile: botón ATC como icono flotante sobre la imagen */
@media (max-width: 768px) {
	/* El contenedor de la imagen necesita position relative */
	ul.products li.product .woocommerce-loop-product-link,
	ul.products li.product .woocommerce-LoopProduct-link {
		position: relative;
	}
	ul.products li.product .button,
	ul.products li.product .add_to_cart_button {
		position: absolute !important;
		top: 8px !important;
		right: 8px !important;
		left: auto !important;
		bottom: auto !important;
		width: 36px !important;
		height: 36px !important;
		min-height: 36px !important;
		padding: 0 !important;
		margin: 0 !important;
		border-radius: 50% !important;
		font-size: 0 !important;
		display: flex !important;
		align-items: center;
		justify-content: center;
		background: #fff !important;
		color: #0F1111 !important;
		box-shadow: 0 1px 4px rgba(0,0,0,0.2);
		z-index: 5;
	}
	ul.products li.product .button::before,
	ul.products li.product .add_to_cart_button::before {
		content: '';
		display: block;
		width: 18px;
		height: 18px;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F1111' stroke-width='2'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
		background-size: contain;
		background-repeat: no-repeat;
	}
	ul.products li.product .button:active,
	ul.products li.product .add_to_cart_button:active {
		background: #f0f0f0 !important;
		transform: scale(0.95);
	}
	/* Variables: icono flecha derecha */
	ul.products li.product .button.product_type_variable::before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F1111' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5l7 7-7 7'/%3E%3C/svg%3E");
	}
	/* Check verde tras añadir */
	ul.products li.product .added_to_cart {
		position: absolute !important;
		top: 8px !important;
		right: 8px !important;
		width: 36px !important;
		height: 36px !important;
		padding: 0 !important;
		margin: 0 !important;
		border-radius: 50% !important;
		font-size: 0 !important;
		display: flex !important;
		align-items: center;
		justify-content: center;
		background: #22c55e !important;
		box-shadow: 0 1px 4px rgba(0,0,0,0.2);
		z-index: 6;
	}
	ul.products li.product .added_to_cart::before {
		content: '';
		display: block;
		width: 18px;
		height: 18px;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
		background-size: contain;
		background-repeat: no-repeat;
	}
}

/* ============================================================
   STOCK URGENCY — Indicador de stock bajo
   ============================================================ */
.pk9-stock-urgency {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 4px;
	font-size: 13px;
	font-weight: 600;
	margin: 8px 0 12px;
}
.pk9-stock-low {
	background: #fff8e6;
	color: #b45309;
	border: 1px solid #f5a623;
}
.pk9-stock-critical {
	background: #fff0f0;
	color: #c0392b;
	border: 1px solid #e74c3c;
}

/* ============================================================
   DELIVERY TIMER — Contador envío mismo día
   ============================================================ */
.pk9-delivery-timer {
	margin: 4px 0 12px;
}
.pk9-timer {
	display: inline-block;
	padding: 7px 14px;
	border-radius: 4px;
	font-size: 13px;
}
.pk9-timer-urgent {
	background: #f0fff4;
	color: #166534;
	border: 1px solid #22c55e;
}
.pk9-timer-urgent strong {
	font-variant-numeric: tabular-nums;
	font-feature-settings: "tnum";
}
.pk9-timer-tomorrow {
	background: #eff6ff;
	color: #1d4ed8;
	border: 1px solid #93c5fd;
}
.pk9-timer-weekend {
	background: #f9fafb;
	color: #6b7280;
	border: 1px solid #d1d5db;
}

/* ============================================================
   PRODUCTO — Botón AÑADIR AL CARRITO rediseñado
   ============================================================ */
.single-product .single_add_to_cart_button {
	background: #FFD814 !important;
	color: #0F1111 !important;
	border: none !important;
	border-radius: 8px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	padding: 10px 20px !important;
	width: 100%;
	cursor: pointer;
	transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	line-height: 1.3;
}
.single-product .single_add_to_cart_button:hover {
	background: #F7CA00 !important;
	transform: scale(1.02);
	box-shadow: 0 4px 12px rgba(255, 216, 20, 0.4);
}
.single-product .single_add_to_cart_button.added {
	animation: pk9AtcFlash 0.6s ease;
}
@keyframes pk9AtcFlash {
	0%   { background-color: #FFD814; }
	40%  { background-color: #22c55e; }
	100% { background-color: #FFD814; }
}

/* ============================================================
   PRODUCTO — Botón COMPRAR YA (Buy Now)
   ============================================================ */
.pk9-buy-now-btn {
	background: #FFA41C !important;
	color: #0F1111 !important;
	border: none !important;
	border-radius: 8px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	padding: 10px 20px !important;
	cursor: pointer;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	line-height: 1.3;
	min-height: 48px;
	flex: 1.2;
	width: auto;
	transition: background 0.2s, transform 0.15s, opacity 0.2s;
}
.pk9-buy-now-btn:hover {
	background: #E89600 !important;
	transform: scale(1.02);
	box-shadow: 0 4px 12px rgba(255, 164, 28, 0.4);
}
.pk9-buy-now-btn:active {
	transform: scale(0.98);
}
.pk9-buy-now-btn svg {
	flex-shrink: 0;
}
/* Disabled state: misma apariencia que ATC disabled */
.pk9-buy-now-btn.pk9-buy-now--disabled,
.pk9-buy-now-btn:disabled {
	opacity: 0.5 !important;
	cursor: not-allowed !important;
	pointer-events: none;
}
.pk9-buy-now-btn.pk9-buy-now--loading {
	opacity: 0.7;
	pointer-events: none;
}
/* Mobile: stack buttons */
@media (max-width: 480px) {
	.single-product form.cart:not(.grouped_form) {
		flex-wrap: wrap;
	}
	.pk9-buy-now-btn {
		width: 100% !important;
		flex: unset;
	}
}

/* Quitar margen inferior del wrapper de swatches de variaciones */
.single-product .woo-variation-items-wrapper {
	margin-bottom: 0 !important;
}
/* Espacio entre filas de variaciones (Tamaño, Color, etc.) */
.single-product .variations tr + tr {
	border-top: none;
}
.single-product .variations td {
	padding-bottom: 12px;
}
/* Ocultar link "Limpiar" de variaciones */
.single-product .reset_variations {
	display: none !important;
}

/* Ocultar tabla de precios PPOM (redundante, ya se muestra el precio del producto) */
#ppom-price-container {
	display: none !important;
}

/* ============================================================
   PRODUCTO — PPOM toggle (<details> wrapper)
   ============================================================ */
.pk9-ppom-toggle {
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	margin: 12px 0;
	background: #f9fafb;
	flex-basis: 100% !important;
}
.pk9-ppom-toggle > summary {
	padding: 12px 16px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: #333;
}
.pk9-ppom-toggle > summary::-webkit-details-marker {
	display: none;
}
.pk9-ppom-toggle > summary::after {
	content: '+';
	font-size: 18px;
	font-weight: 400;
	color: #999;
	transition: transform 0.2s;
}
.pk9-ppom-toggle[open] > summary::after {
	content: '\2212';
}
.pk9-ppom-toggle .ppom-wrapper,
.pk9-ppom-toggle > .ppom-box {
	padding: 12px 16px 16px;
	border-top: 1px solid #e5e7eb;
}
/* Badge obligatorio/opcional en el summary */
.pk9-ppom-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 3px;
	margin-left: 6px;
	vertical-align: middle;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}
.pk9-ppom-badge--required {
	background: #fff0f0;
	color: #c0392b;
	border: 1px solid #e74c3c;
}
.pk9-ppom-badge--optional {
	background: #f0f7fc;
	color: #0088cc;
	border: 1px solid #b3d9f2;
}
/* Borde rojo en toggle cuando tiene campos obligatorios pendientes */
.pk9-ppom-required {
	border-color: #f5a623;
}
/* Help text bajo el summary */
.pk9-ppom-help {
	font-size: 13px;
	color: #666;
	margin: 0;
	padding: 8px 16px 4px;
	line-height: 1.4;
	font-style: italic;
}
/* Validation: campo con error */
.pk9-ppom-input-error {
	border: 2px solid #e74c3c !important;
	background: #fff8f8 !important;
	outline: none;
}
.pk9-ppom-input-error:focus {
	border-color: #c0392b !important;
	box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.15);
}
/* Validation: mensaje inline bajo el campo */
.pk9-ppom-field-error {
	display: block;
	color: #c0392b;
	font-size: 12px;
	margin-top: 4px;
	margin-bottom: 8px;
	line-height: 1.4;
}

/* ============================================================
   PRODUCTO — Benefit bullets (reemplaza excerpt)
   ============================================================ */
.pk9-benefit-bullets {
	list-style: none;
	margin: 12px 0 16px;
	padding: 0;
}
.pk9-benefit-bullets li {
	position: relative;
	padding-left: 22px;
	margin-bottom: 6px;
	font-size: 14px;
	line-height: 1.5;
	color: #444;
}
.pk9-benefit-bullets li::before {
	content: '\2713';
	position: absolute;
	left: 0;
	color: #22c55e;
	font-weight: 700;
	font-size: 14px;
}

/* ============================================================
   PRODUCTO — Vídeo embebido (YouTube/Vimeo desde short desc)
   ============================================================ */
.pk9-product-video {
	position: relative;
	width: 100%;
	max-width: 560px;
	padding-bottom: 56.25%;
	margin: 16px 0;
	border-radius: 8px;
	overflow: hidden;
	background: #000;
}
.pk9-product-video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}

/* ============================================================
   PRODUCTO — Size guide inline (dentro form.cart)
   ============================================================ */
.pk9-size-guide-inline {
	display: inline;
	margin: 0 0 0 8px;
}
.pk9-size-guide-inline a {
	font-size: 12px;
	color: #0088cc;
	white-space: nowrap;
}
.pk9-size-guide-inline a {
	font-size: 13px;
	padding: 2px 0;
}

/* ============================================================
   PRODUCTO — Tabs → Acordeón mobile (≤768px)
   ============================================================ */
.pk9-accordion-tab {
	border-bottom: 1px solid #e5e7eb;
}
.pk9-accordion-tab > summary {
	padding: 14px 0;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: #212529;
}
.pk9-accordion-tab > summary::-webkit-details-marker {
	display: none;
}
.pk9-accordion-tab > summary::after {
	content: '+';
	font-size: 20px;
	font-weight: 400;
	color: #999;
}
.pk9-accordion-tab[open] > summary::after {
	content: '\2212';
}
.pk9-accordion-tab > .pk9-accordion-content {
	padding: 0 0 16px;
	font-size: 14px;
	line-height: 1.7;
	color: #555;
}

/* ============================================================
   MOBILE — Touch targets
   ============================================================ */
@media (max-width: 768px) {
	.quantity .qty { min-height: 44px; min-width: 44px; font-size: 16px; }
	.quantity .minus, .quantity .plus { min-height: 44px; min-width: 44px; }
	.woocommerce-checkout input[type="text"],
	.woocommerce-checkout input[type="email"],
	.woocommerce-checkout input[type="tel"],
	.woocommerce-checkout select,
	.woocommerce-checkout textarea { min-height: 44px; font-size: 16px; }
	.woocommerce .button,
	.woocommerce a.button,
	.woocommerce button.button { min-height: 44px; padding: 10px 16px; }
	.woocommerce a.remove { font-size: 22px; width: 44px; height: 44px; line-height: 44px; }
	.woocommerce-pagination a,
	.woocommerce-pagination span { min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; justify-content: center; }
	.pk9-trust-signals { grid-template-columns: 1fr; }
	ul.products li.product .button,
	ul.products li.product .add_to_cart_button {
		min-height: 44px;
		font-size: 14px;
		padding: 10px 12px;
		margin-top: 10px;
	}
	/* Producto: botones ATC + Comprar ya iguales en mobile */
	.single-product .single_add_to_cart_button {
		min-height: 48px;
		line-height: 1.3 !important;
	}
	.single-product .pk9-buy-now-btn {
		min-height: 48px;
	}
	/* Tabs → Acordeón mobile */
	.woocommerce-tabs .wc-tabs,
	.woocommerce-tabs ul.tabs {
		display: none !important;
	}
	.woocommerce-tabs .wc-tab {
		display: none !important;
	}
	.woocommerce-tabs .pk9-accordion-tab {
		display: block !important;
	}
}

/* =============================================
   PLATZ K9 - MEJORAS UI PÁGINA DE PRODUCTO
   Fecha: 2026-02-28
   ============================================= */

/* --- 1. Reducir espacio entre header/trust bar y producto --- */
.single-product .content-area {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
.single-product .entry-content-wrap {
	padding-top: 12px !important;
}
/* Fix breadcrumb solapado con benefits bar (.kadence-breadcrumbs, no .woocommerce-breadcrumb) */
.single-product .kadence-breadcrumbs {
	margin-top: 0 !important;
}
.single-product .kadence-breadcrumb-container {
	padding-top: 6px;
}

/* --- 2. form.cart layout: todo flex-wrap, PPOM/guía arriba, botones abajo --- */
.single-product form.cart:not(.grouped_form) {
	display: flex !important;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
}
/* Quantity + ATC inline */
.single-product form.cart .quantity {
	width: 80px;
	min-width: 80px;
	flex-shrink: 0;
	margin-right: 0 !important;
	margin-bottom: 0 !important;
}
.single-product form.cart .quantity .qty {
	width: 100%;
	text-align: center;
	height: 48px;
	border: 1px solid #d1d5db;
	border-radius: 6px;
	font-size: 16px;
}
.single-product form.cart:not(.grouped_form) > .quantity,
.single-product form.cart:not(.grouped_form) > .single_add_to_cart_button {
	display: inline-flex;
	vertical-align: middle;
}
.single-product form.cart:not(.grouped_form) > .single_add_to_cart_button {
	flex: 1;
	width: auto;
}
.single-product form.cart:not(.grouped_form) > .pk9-buy-now-btn {
	flex: 1.3 !important;
}
/* Variaciones: wrapper qty+ATC */
.single-product .woocommerce-variation-add-to-cart {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	flex-basis: 100% !important;
}
.single-product .woocommerce-variation-add-to-cart .quantity {
	width: 80px;
	min-width: 80px;
	flex-shrink: 0;
	margin-right: 0 !important;
}
.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button {
	flex: 1;
	width: auto;
}
/* Buy Now dentro del wrapper de variaciones: más grande que ATC */
.single-product .woocommerce-variation-add-to-cart .pk9-buy-now-btn {
	flex: 1.3 !important;
}
}

/* --- 3. Botón wishlist (YITH) — más sutil, no protagonista --- */
.single-product .yith-wcwl-add-to-wishlist,
.single-product .yith-add-to-wishlist-button-block {
	margin-top: 8px !important;
}
.single-product .yith-wcwl-add-to-wishlist .yith-wcwl-add-to-wishlist-button,
.single-product .yith-wcwl-add-to-wishlist .add_to_wishlist,
.single-product .yith-wcwl-add-to-wishlist a,
.single-product .yith-add-to-wishlist-button-block .yith-wcwl-add-to-wishlist-button {
	font-size: 0.85rem !important;
	background: transparent !important;
	color: #666 !important;
	border: none !important;
	box-shadow: none !important;
	padding: 4px 0 !important;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	transition: color 0.2s;
}
.single-product .yith-wcwl-add-to-wishlist a:hover,
.single-product .yith-wcwl-add-to-wishlist .add_to_wishlist:hover,
.single-product .yith-add-to-wishlist-button-block .yith-wcwl-add-to-wishlist-button:hover {
	color: #e63946 !important;
}

/* --- 4. Imagen principal: borde en el CONTENEDOR (no en img) --- */
/* Reset: quitar borde/padding del img si se aplicó antes */
.woocommerce-product-gallery .woocommerce-product-gallery__image img,
.woocommerce-product-gallery .wp-post-image {
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}
/* Borde en el div contenedor — lupa queda dentro */
.woocommerce-product-gallery .woocommerce-product-gallery__image:first-child {
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	overflow: hidden;
	background: #fafafa;
}
/* Reposicionar lupa dentro del borde visual */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	top: calc(0.5rem + 1px);
	right: calc(0.5rem + 1px);
	z-index: 10;
}

/* --- 5. Miniaturas de galería: espaciado + borde activo rojo --- */
.woocommerce-product-gallery .flex-control-thumbs {
	gap: 8px;
}
.woocommerce-product-gallery .flex-control-thumbs li {
	margin: 4px !important;
	border-radius: 6px;
	overflow: hidden;
}
.woocommerce-product-gallery .flex-control-thumbs li img {
	border: 2px solid #e5e7eb;
	border-radius: 6px;
	transition: border-color 0.2s ease;
}
.woocommerce-product-gallery .flex-control-thumbs li img:hover,
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
	border-color: #c8102e;
}

/* =============================================
   Ronda 2 — 2026-02-28
   ============================================= */

/* === 1. PRECIO: mayor jerarquía visual === */
.single-product .price .woocommerce-Price-amount.amount {
	font-size: 32px;
	font-weight: 700;
	color: #1d2127;
	letter-spacing: -0.5px;
}
.single-product .price {
	line-height: 1.2;
	margin-bottom: 4px;
}
.single-product .price small.woocommerce-price-suffix {
	font-size: 13px;
	font-weight: 400;
	color: #6b7280;
	margin-left: 4px;
}

/* === 2. RATING: posición entre título y precio === */
.single-product .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 6px 0 10px;
}
.single-product .woocommerce-product-rating .star-rating {
	font-size: 16px;
	color: #ff9a00;
}
.single-product .woocommerce-product-rating a {
	font-size: 13px;
	color: #6b7280;
	text-decoration: none;
}
.single-product .woocommerce-product-rating a:hover {
	color: #1d2127;
	text-decoration: underline;
}

/* === 3. BOTÓN CTA: altura consistente con input qty === */
.single-product .single_add_to_cart_button.button {
	min-height: 48px;
	height: auto !important;
	overflow: visible !important;
	padding: 10px 20px !important;
	line-height: 1.3 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 15px;
}

/* === 4. TÍTULO: separación del resto de elementos === */
.single-product h1.product_title {
	margin-bottom: 8px;
}

/* === 5. PRE block en descripción: normalizar tipografía === */
.woocommerce-Tabs-panel--description pre,
#tab-description pre {
	font-family: inherit;
	font-size: 15px;
	background: #f8f9fa;
	border-left: 3px solid #e63946;
	border-radius: 4px;
	padding: 16px 20px;
	white-space: pre-wrap;
	color: #1d2127;
	line-height: 1.7;
}

/* ============================================================
   MOBILE — Sticky bottom bar (ATC + Comprar ya)
   ============================================================ */
.pk9-sticky-mobile-bar {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	background: #fff;
	padding: 10px 16px;
	box-shadow: 0 -2px 10px rgba(0,0,0,0.12);
	gap: 10px;
	transform: translateY(100%);
	transition: transform 0.3s ease;
}
.pk9-sticky-mobile-bar.pk9-sticky-visible {
	transform: translateY(0);
}
@media (max-width: 768px) {
	.pk9-sticky-mobile-bar {
		display: flex;
	}
}
.pk9-sticky-atc-btn {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	background: #FFD814;
	color: #0F1111;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 700;
	padding: 12px 10px;
	cursor: pointer;
	min-height: 48px;
}
.pk9-sticky-atc-btn:active {
	background: #F7CA00;
}
.pk9-sticky-buy-btn {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	background: #FFA41C;
	color: #0F1111;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 700;
	padding: 12px 10px;
	cursor: pointer;
	min-height: 48px;
}
.pk9-sticky-buy-btn:active {
	background: #E89600;
}
/* Evitar que el contenido quede tapado por la barra sticky */
@media (max-width: 768px) {
	.single-product .site-footer {
		padding-bottom: 70px;
	}
}
