/*
Theme Name: Confimarcas
Theme URI: https://confimarcas.com
Author: Jonathan Andres Pardo
Author URI: https://portfolio-d0b09.web.app/
Description: Tema de WordPress moderno con TailwindCSS y compatibilidad completa con WooCommerce. Diseñado para Confimarcas SAS, empresa dedicada a la comercialización de confitería nacional e importada.
Version: 2.0.9
Requires at least: 5.8
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: confimarcas
Tags: e-commerce, woocommerce, responsive, modern, tailwindcss, confiteria, dulces

Tema moderno y optimizado para tiendas online de confitería.
Desarrollado por Jonathan Andres Pardo - https://portfolio-d0b09.web.app/
*/

/* Importar fuentes de Google */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&display=swap");

/* Variables CSS - Colores del tema */
:root {
  --background: 0 0% 99%;
  --foreground: 270 35% 40%;

  --card: 0 0% 100%;
  --card-foreground: 270 35% 40%;

  --popover: 0 0% 100%;
  --popover-foreground: 270 35% 40%;

  --primary: 33 100% 50%;
  --primary-foreground: 0 0% 100%;

  --secondary: 270 35% 71%;
  --secondary-foreground: 0 0% 100%;

  --muted: 0 0% 95%;
  --muted-foreground: 270 35% 50%;

  --accent: 33 100% 50%;
  --accent-foreground: 0 0% 100%;

  --destructive: 0 84.2% 60.2%;
  --destructive-foreground: 210 40% 98%;

  --border: 0 0% 90%;
  --input: 0 0% 96%;
  --ring: 270 35% 71%;

  --radius: 0.5rem;

  --brand-mauve: 270 35% 71%; /* #b39ec8 */
  --brand-orange: 33 100% 50%; /* #ff9000 */

  --font-family: "Inter", Sans-serif;
}

/* Reset y estilos base */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--font-family);
  background: linear-gradient(to bottom, #ffffff, #f9fafb, #ffffff);
  color: hsl(var(--foreground));
  line-height: 1.6;
  overflow-x: hidden;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Asegurar que los enlaces de productos no usen colores azules del navegador */
.woocommerce ul.products li.product * {
  --link-color: #b39ec8;
  --link-hover-color: #ff9000;
}

.woocommerce ul.products li.product a {
  --link-color: #b39ec8 !important;
}

.woocommerce ul.products li.product a:link,
.woocommerce ul.products li.product a:visited {
  color: var(--link-color) !important;
}

/* Utilidades de Tailwind básicas */
.container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1rem;
}

@media (min-width: 640px) {
  .container {
    padding: 0 1.5rem;
  }
}

@media (min-width: 1024px) {
  .container {
    padding: 0 2rem;
  }
}

/* Grid y Flexbox utilities */
.grid {
  display: grid;
}

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

@media (min-width: 640px) {
  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  
  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.flex {
  display: flex;
}

.items-center {
  align-items: center;
}

.justify-between {
  justify-content: space-between;
}

.justify-center {
  justify-content: center;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-8 {
  gap: 2rem;
}

/* Espaciado */
.mb-4 {
  margin-bottom: 1rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.mb-12 {
  margin-bottom: 3rem;
}

.mt-16 {
  margin-top: 4rem;
}

.p-6 {
  padding: 1.5rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}

/* Tipografía */
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.font-bold {
  font-weight: 700;
}

.font-semibold {
  font-weight: 600;
}

/* Colores - Valores exactos del diseño */
.text-brand-mauve {
  color: #b39ec8; /* Mauve exacto */
}

.text-brand-orange {
  color: #ff9000; /* Naranja exacto */
}

.bg-brand-orange {
  background-color: #ff9000; /* Naranja exacto */
}

.bg-white {
  background-color: #ffffff;
}

.text-white {
  color: #ffffff;
}

/* Colores con opacidad */
.text-brand-mauve\/70 {
  color: rgba(179, 158, 200, 0.7); /* #b39ec8 con 70% opacidad */
}

.text-brand-mauve\/60 {
  color: rgba(179, 158, 200, 0.6); /* #b39ec8 con 60% opacidad */
}

.text-brand-mauve\/50 {
  color: rgba(179, 158, 200, 0.5); /* #b39ec8 con 50% opacidad */
}

.border-brand-mauve\/20 {
  border-color: rgba(179, 158, 200, 0.2); /* #b39ec8 con 20% opacidad */
}

.border-brand-orange\/30 {
  border-color: rgba(255, 144, 0, 0.3); /* #ff9000 con 30% opacidad */
}

.border-brand-mauve\/30 {
  border-color: rgba(179, 158, 200, 0.3); /* #b39ec8 con 30% opacidad */
}

/* Bordes y sombras */
.rounded-full {
  border-radius: 9999px;
}

.rounded-2xl {
  border-radius: 1rem;
}

.rounded-3xl {
  border-radius: 1.5rem;
}

.rounded-xl {
  border-radius: 0.75rem;
}

.rounded-lg {
  border-radius: 0.5rem;
}

.border-2 {
  border-width: 2px;
  border-style: solid;
}

.shadow-md {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.shadow-lg {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.shadow-2xl {
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

/* Transiciones */
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.transition-colors {
  transition-property: color, background-color, border-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.duration-200 {
  transition-duration: 200ms;
}

.duration-300 {
  transition-duration: 300ms;
}

.duration-1000 {
  transition-duration: 1000ms;
}

.hover\:scale-110:hover {
  transform: scale(1.1);
}

.hover\:scale-105:hover {
  transform: scale(1.05);
}

.hover\:shadow-lg:hover {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.hover\:shadow-2xl:hover {
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.hover\:text-brand-orange:hover {
  color: #ff9000; /* Naranja exacto */
}

.hover\:bg-brand-orange\/10:hover {
  background-color: rgba(255, 144, 0, 0.1); /* #ff9000 con 10% opacidad */
}

.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}

.group:hover .group-hover\:rotate-90 {
  transform: rotate(90deg);
}

/* ============================================
   HEADER RESPONSIVE - Optimizaciones
   ============================================ */

/* Logo container - previene cortes */
nav .flex-shrink-0 img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: center;
}

/* Título del sitio - previene overflow */
nav h1 {
	word-break: break-word;
	overflow-wrap: break-word;
	hyphens: auto;
}

/* Menú desktop - espaciado consistente */
nav .header-menu {
	gap: clamp(0.75rem, 2vw, 1.5rem);
}

nav .header-menu > li {
	flex-shrink: 0;
}

/* Menú móvil - mejorado */
#mobile-menu {
	animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.header-menu-mobile > li {
	width: 100%;
}

.header-menu-mobile > li > a {
	min-height: 44px; /* Touch target mínimo */
	display: flex;
	align-items: center;
	justify-content: space-between;
}

/* Botón hamburguesa mejorado */
#mobile-menu-toggle {
	min-width: 44px;
	min-height: 44px;
}

/* Submenús móviles */
.header-menu-mobile .sub-menu {
	background-color: rgba(255, 144, 0, 0.05);
	border-left: 2px solid rgba(255, 144, 0, 0.2);
	border-radius: 0.375rem;
	margin-top: 0.5rem;
	padding: 0.5rem 0;
}

.header-menu-mobile .sub-menu li a {
	padding-left: 1.5rem;
}

/* ============================================
   FOOTER RESPONSIVE - Optimizaciones
   ============================================ */

/* Grid responsive mejorado */
footer .grid {
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

@media (min-width: 640px) {
	footer .grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	footer .grid {
		grid-template-columns: repeat(5, 1fr);
	}
}

/* Columnas del footer - previene saltos */
footer > div > div > div {
	min-width: 0; /* Permite que el contenido se ajuste */
}

/* Listas del footer */
footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

footer ul li {
	margin-bottom: 0.5rem;
}

footer ul li:last-child {
	margin-bottom: 0;
}

/* Enlaces del footer - mejor legibilidad */
footer a {
	display: inline-block;
	word-break: break-word;
	overflow-wrap: break-word;
}

/* Información de contacto - mejor alineación */
footer .flex.items-start,
footer .flex.items-center {
	align-items: flex-start;
}

footer .flex.items-start svg,
footer .flex.items-center svg {
	flex-shrink: 0;
	margin-top: 0.125rem;
}

/* Iconos sociales - mejor espaciado */
footer .flex.gap-3,
footer .flex.gap-4 {
	gap: clamp(0.75rem, 2vw, 1rem);
}

/* Copyright - mejor responsive */
footer .text-center {
	word-break: break-word;
}

/* ============================================
   Navegación sticky
   ============================================ */
.sticky {
  position: sticky;
}

.top-0 {
  top: 0;
}

.z-40 {
  z-index: 40;
}

/* Altura del nav */
.h-20 {
  height: 5rem;
}

/* Padding y margin adicionales */
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.pt-8 {
  padding-top: 2rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mb-3 {
  margin-bottom: 0.75rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.mb-6 {
  margin-bottom: 1.5rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.mb-12 {
  margin-bottom: 3rem;
}

.mt-16 {
  margin-top: 4rem;
}

.p-2 {
  padding: 0.5rem;
}

.p-3 {
  padding: 0.75rem;
}

.p-6 {
  padding: 1.5rem;
}

.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

/* Tamaños de texto */
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}

.text-5xl {
  font-size: 3rem;
  line-height: 1;
}

.text-6xl {
  font-size: 3.75rem;
  line-height: 1;
}

/* Tamaños responsive */
@media (min-width: 640px) {
  .sm\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
  
  .sm\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }
  
  .sm\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  
  .sm\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }
  
  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  
  .sm\:mb-16 {
    margin-bottom: 4rem;
  }
  
  .sm\:gap-8 {
    gap: 2rem;
  }
}

@media (min-width: 768px) {
  .md\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }
}

@media (min-width: 1024px) {
  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* Responsive */
@media (max-width: 767px) {
  .hidden {
    display: none;
  }
  
  .sm\:mb-16 {
    margin-bottom: 3rem;
  }
}

@media (min-width: 768px) {
  .md\:flex {
    display: flex;
  }
  
  .md\:hidden {
    display: none;
  }
}

/* Utilidades adicionales */
.inline-block {
  display: inline-block;
}

.cursor-pointer {
  cursor: pointer;
}

.items-end {
  align-items: flex-end;
}

.items-start {
  align-items: flex-start;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

/* Opacidad */
.opacity-0 {
  opacity: 0;
}

.opacity-100 {
  opacity: 1;
}

/* Posicionamiento absoluto */
.absolute {
  position: absolute;
}

.top-4 {
  top: 1rem;
}

.right-4 {
  right: 1rem;
}

/* Background con opacidad */
.bg-red-400\/80 {
  background-color: rgba(248, 113, 113, 0.8);
}

.hover\:bg-red-500:hover {
  background-color: #ef4444;
}

.bg-white\/70 {
  background-color: rgba(255, 255, 255, 0.7);
}

.hover\:bg-white:hover {
  background-color: #ffffff;
}

.bg-white\/60 {
  background-color: rgba(255, 255, 255, 0.6);
}

/* Tamaños de iconos */
.w-3 {
  width: 0.75rem;
}

.h-3 {
  height: 0.75rem;
}

.w-7 {
  width: 1.75rem;
}

.h-7 {
  height: 1.75rem;
}

.w-8 {
  width: 2rem;
}

.w-12 {
  width: 3rem;
}

.h-12 {
  height: 3rem;
}

/* Altura del carousel */
.h-96 {
  height: 24rem;
}

@media (min-width: 640px) {
  .sm\:h-\[500px\] {
    height: 500px;
  }
}

/* Espaciado adicional */
.space-y-2 > * + * {
  margin-top: 0.5rem;
}

.space-y-3 > * + * {
  margin-top: 0.75rem;
}

/* Utilidades adicionales */
.min-h-screen {
  min-height: 100vh;
}

.flex-1 {
  flex: 1 1 0%;
}

.max-w-7xl {
  max-width: 80rem;
}

.w-full {
  width: 100%;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.text-center {
  text-align: center;
}

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Opacidad */
.opacity-100 {
  opacity: 1;
}

.opacity-0 {
  opacity: 0;
}

/* Transformaciones */
.-translate-y-1\/2 {
  transform: translateY(-50%);
}

.-translate-x-1\/2 {
  transform: translateX(-50%);
}

/* Posicionamiento */
.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.inset-0 {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.left-4 {
  left: 1rem;
}

.right-4 {
  right: 1rem;
}

.bottom-4 {
  bottom: 1rem;
}

.top-1\/2 {
  top: 50%;
}

.z-20 {
  z-index: 20;
}

/* Overflow */
.overflow-hidden {
  overflow: hidden;
}

/* Objeto fit */
.object-cover {
  object-fit: cover;
}

/* Drop shadow */
.drop-shadow-lg {
  filter: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
}

/* Gradientes */
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}

.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}

.from-white {
  background-image: linear-gradient(to right, #ffffff, var(--tw-gradient-to, transparent));
}

.via-brand-orange\/5 {
  background-image: linear-gradient(to right, #ffffff, rgba(255, 144, 0, 0.05), #ffffff);
}

.to-white {
  --tw-gradient-to: #ffffff;
}

.to-gray-50 {
  background-image: linear-gradient(to bottom, #ffffff, #f9fafb);
}

/* Gradientes para tarjetas de productos */
.from-pink-100 {
  background: linear-gradient(to bottom right, #fce7f3, #fdf2f8);
}

.to-pink-50 {
  background: linear-gradient(to bottom right, #fce7f3, #fdf2f8);
}

.from-blue-100 {
  background: linear-gradient(to bottom right, #dbeafe, #eff6ff);
}

.to-blue-50 {
  background: linear-gradient(to bottom right, #dbeafe, #eff6ff);
}

.from-purple-100 {
  background: linear-gradient(to bottom right, #f3e8ff, #faf5ff);
}

.to-purple-50 {
  background: linear-gradient(to bottom right, #f3e8ff, #faf5ff);
}

.from-emerald-100 {
  background: linear-gradient(to bottom right, #d1fae5, #ecfdf5);
}

.to-emerald-50 {
  background: linear-gradient(to bottom right, #d1fae5, #ecfdf5);
}

.from-orange-100 {
  background: linear-gradient(to bottom right, #ffedd5, #fff7ed);
}

.to-orange-50 {
  background: linear-gradient(to bottom right, #ffedd5, #fff7ed);
}

.from-yellow-100 {
  background: linear-gradient(to bottom right, #fef3c7, #fefce8);
}

.to-yellow-50 {
  background: linear-gradient(to bottom right, #fef3c7, #fefce8);
}

.border-pink-300 {
  border-color: #f9a8d4;
}

.hover\:border-pink-400:hover {
  border-color: #f472b6;
}

.border-blue-300 {
  border-color: #93c5fd;
}

.hover\:border-blue-400:hover {
  border-color: #60a5fa;
}

.border-purple-300 {
  border-color: #c4b5fd;
}

.hover\:border-purple-400:hover {
  border-color: #a78bfa;
}

.border-emerald-300 {
  border-color: #6ee7b7;
}

.hover\:border-emerald-400:hover {
  border-color: #34d399;
}

.border-orange-300 {
  border-color: #fdba74;
}

.hover\:border-orange-400:hover {
  border-color: #fb923c;
}

.border-yellow-300 {
  border-color: #fde047;
}

.hover\:border-yellow-400:hover {
  border-color: #facc15;
}

.from-black\/10 {
  background: linear-gradient(to right, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1));
}

.to-black\/10 {
  background: linear-gradient(to right, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1));
}

/* WooCommerce styles */
/* Ocultar elementos de producto vacíos o sin contenido */
.woocommerce ul.products li.product:empty,
.woocommerce ul.products li.product:not(:has(> *)),
.woocommerce ul.products li.product:not(:has(img)):not(:has(.text-6xl)) {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
}

/* Ocultar elementos li vacíos en el grid */
.woocommerce ul.products > li:empty {
	display: none !important;
}

/* Asegurar que el grid no tenga espacios vacíos */
.woocommerce ul.products {
	grid-auto-flow: dense;
}

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Asegurar que las cards no se desborden */
.woocommerce ul.products li.product {
  overflow: hidden !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce ul.products li.product .catalog-product-card {
  overflow: hidden !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.woocommerce ul.products li.product .catalog-product-card > * {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (min-width: 640px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
  }
}

@media (min-width: 1024px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Botón de WhatsApp - EXCLUIR del catálogo (los del catálogo usan colores específicos) */
.woocommerce .btn-whatsapp:not(.woocommerce ul.products li.product .btn-whatsapp):not(.catalog-product-card .btn-whatsapp):not(.product-card .btn-whatsapp),
a.btn-whatsapp:not(.woocommerce ul.products li.product a.btn-whatsapp):not(.catalog-product-card a.btn-whatsapp):not(.product-card a.btn-whatsapp),
.btn-whatsapp:not(.woocommerce ul.products li.product .btn-whatsapp):not(.catalog-product-card .btn-whatsapp):not(.product-card .btn-whatsapp) {
  background-color: #ff9000 !important;
  background: #ff9000 !important;
  color: var(--button-primary-text, #ffffff) !important;
  padding: 0.625rem 0.375rem !important;
  border-radius: 8px !important;
  border: none !important;
  font-weight: 600 !important;
  font-size: 0.75rem !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.25rem !important;
  font-family: var(--font-family) !important;
  line-height: 1.2 !important;
  box-shadow: 0 2px 4px rgba(255, 144, 0, 0.3) !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
}

.btn-whatsapp .whatsapp-text {
  flex: 1 !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.btn-whatsapp .whatsapp-line-1,
.btn-whatsapp .whatsapp-line-2 {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
}

.woocommerce .btn-whatsapp:hover,
a.btn-whatsapp:hover,
.btn-whatsapp:hover {
  background-color: #e67e00 !important;
  background: #e67e00 !important;
  box-shadow: 0 4px 8px rgba(255, 144, 0, 0.4) !important;
  transform: translateY(-1px) !important;
  color: var(--button-primary-text, #ffffff) !important;
  text-decoration: none !important;
}

.woocommerce .btn-whatsapp:active,
a.btn-whatsapp:active,
.btn-whatsapp:active {
  transform: translateY(0) !important;
  opacity: 0.9 !important;
}

/* Botones WhatsApp generales - EXCLUIR del catálogo */
.woocommerce .btn-whatsapp:not(.woocommerce ul.products li.product .btn-whatsapp):not(.catalog-product-card .btn-whatsapp):not(.product-card .btn-whatsapp),
.woocommerce .btn-whatsapp:not(.woocommerce ul.products li.product .btn-whatsapp):not(.catalog-product-card .btn-whatsapp):not(.product-card .btn-whatsapp) *,
a.btn-whatsapp:not(.woocommerce ul.products li.product a.btn-whatsapp):not(.catalog-product-card a.btn-whatsapp):not(.product-card a.btn-whatsapp),
a.btn-whatsapp:not(.woocommerce ul.products li.product a.btn-whatsapp):not(.catalog-product-card a.btn-whatsapp):not(.product-card a.btn-whatsapp) *,
.btn-whatsapp:not(.woocommerce ul.products li.product .btn-whatsapp):not(.catalog-product-card .btn-whatsapp):not(.product-card .btn-whatsapp),
.btn-whatsapp:not(.woocommerce ul.products li.product .btn-whatsapp):not(.catalog-product-card .btn-whatsapp):not(.product-card .btn-whatsapp) * {
  color: var(--button-primary-text, #ffffff) !important;
}

.woocommerce .btn-whatsapp .whatsapp-icon,
a.btn-whatsapp .whatsapp-icon,
.btn-whatsapp .whatsapp-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
}

/* Iconos de WhatsApp - Usar color específico del catálogo si está en catálogo */
.woocommerce ul.products li.product .btn-whatsapp .whatsapp-icon svg,
.woocommerce ul.products li.product a.btn-whatsapp .whatsapp-icon svg,
.catalog-product-card .btn-whatsapp .whatsapp-icon svg,
.product-card .btn-whatsapp .whatsapp-icon svg {
  fill: var(--catalog-button-primary-icon, #ffffff) !important;
}

/* Iconos de WhatsApp - Usar color específico del catálogo si está en catálogo */
.woocommerce ul.products li.product .btn-whatsapp .whatsapp-icon svg,
.woocommerce ul.products li.product a.btn-whatsapp .whatsapp-icon svg,
.catalog-product-card .btn-whatsapp .whatsapp-icon svg,
.product-card .btn-whatsapp .whatsapp-icon svg {
  fill: var(--catalog-button-primary-icon, #ffffff) !important;
}

.woocommerce .btn-whatsapp .whatsapp-icon svg,
a.btn-whatsapp .whatsapp-icon svg,
.btn-whatsapp .whatsapp-icon svg {
  width: 16px !important;
  height: 16px !important;
  display: block !important;
  fill: var(--button-primary-icon, #ffffff) !important;
  flex-shrink: 0 !important;
}

/* Texto de WhatsApp - Usar color específico del catálogo si está en catálogo */
.woocommerce ul.products li.product .btn-whatsapp .whatsapp-text,
.woocommerce ul.products li.product .btn-whatsapp .whatsapp-line-1,
.woocommerce ul.products li.product .btn-whatsapp .whatsapp-line-2,
.catalog-product-card .btn-whatsapp .whatsapp-text,
.catalog-product-card .btn-whatsapp .whatsapp-line-1,
.catalog-product-card .btn-whatsapp .whatsapp-line-2 {
  color: var(--catalog-button-primary-text, #ffffff) !important;
  font-size: 0.75rem !important;
}

.woocommerce .btn-whatsapp .whatsapp-text,
a.btn-whatsapp .whatsapp-text,
.btn-whatsapp .whatsapp-text {
  display: flex !important;
  flex-direction: column !important;
  line-height: 1.3 !important;
  color: var(--button-primary-text, #ffffff) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  gap: 0.125rem !important;
}

.woocommerce .btn-whatsapp .whatsapp-line-1,
.woocommerce .btn-whatsapp .whatsapp-line-2,
a.btn-whatsapp .whatsapp-line-1,
a.btn-whatsapp .whatsapp-line-2,
.btn-whatsapp .whatsapp-line-1,
.btn-whatsapp .whatsapp-line-2 {
  display: block !important;
  color: var(--button-primary-text, #ffffff) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

/* Contenedor de acciones del producto (precio + botones) */
.product-actions-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Fila del precio */
.product-price-row {
  width: 100% !important;
  text-align: left !important;
  box-sizing: border-box !important;
}

.product-price-row .price,
.product-price-row .woocommerce-Price-amount {
  color: hsl(var(--brand-orange)) !important;
  font-weight: 700 !important;
  font-size: 1.25rem !important;
  font-family: var(--font-family) !important;
}

/* Botón Ver Detalle - Botón secundario */
.woocommerce .btn-view-detail,
a.btn-view-detail,
.btn-view-detail {
  background-color: var(--color-wc-catalog-button-secondary-bg, var(--catalog-button-secondary-bg, hsl(var(--brand-mauve)))) !important;
  background: var(--color-wc-catalog-button-secondary-bg, var(--catalog-button-secondary-bg, hsl(var(--brand-mauve)))) !important;
  color: var(--color-wc-catalog-button-secondary-text, var(--catalog-button-secondary-text, #ffffff)) !important;
  padding: 0.75rem 1rem !important;
  border-radius: 8px !important;
  border: none !important;
  font-weight: 600 !important;
  font-size: 0.75rem !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--font-family) !important;
  line-height: 1.4 !important;
  box-shadow: 0 2px 4px rgba(179, 158, 200, 0.3) !important;
  white-space: nowrap !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

.woocommerce .btn-view-detail:hover,
a.btn-view-detail:hover,
.btn-view-detail:hover {
  background-color: hsl(270, 35%, 60%) !important;
  background: hsl(270, 35%, 60%) !important;
  box-shadow: 0 4px 8px rgba(179, 158, 200, 0.4) !important;
  transform: translateY(-1px) !important;
  color: var(--color-wc-catalog-button-secondary-text, var(--catalog-button-secondary-text, #ffffff)) !important;
  text-decoration: none !important;
}

.woocommerce .btn-view-detail:active,
a.btn-view-detail:active,
.btn-view-detail:active {
  transform: translateY(0) !important;
  opacity: 0.9 !important;
}

.woocommerce .btn-view-detail,
.woocommerce .btn-view-detail *,
a.btn-view-detail,
a.btn-view-detail *,
.btn-view-detail,
.btn-view-detail * {
  color: var(--color-wc-catalog-button-secondary-text, var(--catalog-button-secondary-text, #ffffff)) !important;
}

/* Fila de botones (dos columnas) */
.product-buttons-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.5rem !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
}

/* Normalizar tamaño de fuente de todos los botones del catálogo */
.woocommerce ul.products li.product .btn-whatsapp,
.woocommerce ul.products li.product .btn-add-to-quote,
.woocommerce ul.products li.product .btn-view-detail,
.woocommerce ul.products li.product .add_to_cart_button,
.catalog-product-card .btn-whatsapp,
.catalog-product-card .btn-add-to-quote,
.catalog-product-card .btn-view-detail,
.product-buttons-row .btn-whatsapp,
.product-buttons-row .btn-add-to-quote,
.product-buttons-row .btn-view-detail,
.woocommerce ul.products li.product .btn-whatsapp *,
.woocommerce ul.products li.product .btn-add-to-quote *,
.woocommerce ul.products li.product .btn-view-detail *,
.woocommerce ul.products li.product .add_to_cart_button *,
.catalog-product-card .btn-whatsapp *,
.catalog-product-card .btn-add-to-quote *,
.catalog-product-card .btn-view-detail *,
.product-buttons-row .btn-whatsapp *,
.product-buttons-row .btn-add-to-quote *,
.product-buttons-row .btn-view-detail * {
  font-size: 0.75rem !important;
}

/* Botón Agregar a Cotización */
.woocommerce .btn-add-to-quote,
a.btn-add-to-quote,
.btn-add-to-quote {
  background-color: var(--color-wc-catalog-button-secondary-bg, var(--catalog-button-secondary-bg, hsl(var(--brand-mauve)))) !important;
  background: var(--color-wc-catalog-button-secondary-bg, var(--catalog-button-secondary-bg, hsl(var(--brand-mauve)))) !important;
  color: var(--color-wc-catalog-button-secondary-text, var(--catalog-button-secondary-text, #ffffff)) !important;
  padding: 0.625rem 0.375rem !important;
  border-radius: 8px !important;
  border: none !important;
  font-weight: 600 !important;
  font-size: 0.75rem !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--font-family) !important;
  line-height: 1.2 !important;
  box-shadow: 0 2px 4px rgba(179, 158, 200, 0.3) !important;
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
  min-width: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
}

.woocommerce .btn-add-to-quote:hover,
a.btn-add-to-quote:hover,
.btn-add-to-quote:hover {
  background-color: hsl(270, 35%, 60%) !important;
  background: hsl(270, 35%, 60%) !important;
  box-shadow: 0 4px 8px rgba(179, 158, 200, 0.4) !important;
  transform: translateY(-1px) !important;
  color: var(--color-wc-catalog-button-secondary-text, var(--catalog-button-secondary-text, #ffffff)) !important;
  text-decoration: none !important;
}

.woocommerce .btn-add-to-quote:active,
a.btn-add-to-quote:active,
.btn-add-to-quote:active {
  transform: translateY(0) !important;
  opacity: 0.9 !important;
}

/* Botones secundarios - Usar color de texto configurable del catálogo */
.woocommerce .btn-add-to-quote,
.woocommerce .btn-add-to-quote *,
a.btn-add-to-quote,
a.btn-add-to-quote *,
.btn-add-to-quote,
.btn-add-to-quote * {
  color: var(--color-wc-catalog-button-secondary-text, var(--catalog-button-secondary-text, #ffffff)) !important;
}

/* Botones primarios del catálogo - Usar colores específicos y normalizar tamaño de fuente */
.woocommerce ul.products li.product .btn-whatsapp,
.woocommerce ul.products li.product a.btn-whatsapp,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .btn-whatsapp *,
.woocommerce ul.products li.product a.btn-whatsapp *,
.woocommerce ul.products li.product .add_to_cart_button * {
  color: var(--catalog-button-primary-text, #ffffff) !important;
  font-size: 0.75rem !important;
}

/* Botones secundarios del catálogo - Usar colores específicos y normalizar tamaño de fuente */
.woocommerce ul.products li.product .btn-add-to-quote,
.woocommerce ul.products li.product a.btn-add-to-quote,
.woocommerce ul.products li.product .btn-view-detail,
.woocommerce ul.products li.product .btn-add-to-quote *,
.woocommerce ul.products li.product a.btn-add-to-quote *,
.woocommerce ul.products li.product .btn-view-detail * {
  color: var(--catalog-button-secondary-text, #ffffff) !important;
  font-size: 0.75rem !important;
}

/* Botones del catálogo - Usar colores específicos del catálogo */
.woocommerce ul.products li.product .btn-whatsapp,
.woocommerce ul.products li.product .add_to_cart_button {
  background-color: var(--catalog-button-primary-bg, #ff9000) !important;
  background: var(--catalog-button-primary-bg, #ff9000) !important;
}

.woocommerce ul.products li.product .btn-add-to-quote,
.woocommerce ul.products li.product .btn-view-detail {
  background-color: var(--catalog-button-secondary-bg, hsl(var(--brand-mauve))) !important;
  background: var(--catalog-button-secondary-bg, hsl(var(--brand-mauve))) !important;
}

.woocommerce ul.products li.product .btn-whatsapp:hover,
.woocommerce ul.products li.product a.btn-whatsapp:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
  color: var(--catalog-button-primary-text, #ffffff) !important;
  background-color: #e67e00 !important;
  background: #e67e00 !important;
  text-decoration: none !important;
}

.woocommerce ul.products li.product .btn-add-to-quote:hover,
.woocommerce ul.products li.product a.btn-add-to-quote:hover,
.woocommerce ul.products li.product .btn-view-detail:hover {
  color: var(--catalog-button-secondary-text, #ffffff) !important;
  background-color: hsl(270, 35%, 60%) !important;
  background: hsl(270, 35%, 60%) !important;
  text-decoration: none !important;
}

/* Botones de WooCommerce - Usar variables CSS del tema */
.woocommerce .add_to_cart_button:not(.catalog-product-card .add_to_cart_button),
.woocommerce a.button:not(.catalog-product-card .button):not(.btn-whatsapp):not(.btn-view-detail):not(.btn-add-to-quote),
.woocommerce button.button:not(.catalog-product-card .button):not(.btn-whatsapp):not(.btn-view-detail):not(.btn-add-to-quote) {
  background-color: var(--color-wc-add-to-cart-bg, var(--color-button-primary-bg, #ff9500)) !important;
  color: var(--color-wc-add-to-cart-text, var(--color-button-primary-text, #ffffff)) !important;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-weight: 600;
  font-size: 0.875rem;
  transition: all 0.2s;
  border: none;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
}

/* Iconos dentro de botones de WooCommerce - Usar variables CSS */
.woocommerce .add_to_cart_button:not(.catalog-product-card .add_to_cart_button) svg,
.woocommerce a.button:not(.catalog-product-card .button):not(.btn-whatsapp):not(.btn-view-detail):not(.btn-add-to-quote) svg,
.woocommerce button.button:not(.catalog-product-card .button):not(.btn-whatsapp):not(.btn-view-detail):not(.btn-add-to-quote) svg {
  color: var(--color-wc-add-to-cart-text, var(--color-button-primary-text, #ffffff)) !important;
  fill: var(--color-wc-add-to-cart-text, var(--color-button-primary-text, #ffffff)) !important;
  stroke: var(--color-wc-add-to-cart-text, var(--color-button-primary-text, #ffffff)) !important;
}
/* Texto dentro de botones de WooCommerce - Usar variables CSS */
.woocommerce .add_to_cart_button:not(.catalog-product-card .add_to_cart_button) span,
.woocommerce .add_to_cart_button:not(.catalog-product-card .add_to_cart_button) *,
.woocommerce a.button:not(.catalog-product-card .button):not(.btn-whatsapp):not(.btn-view-detail):not(.btn-add-to-quote) span,
.woocommerce button.button:not(.catalog-product-card .button):not(.btn-whatsapp):not(.btn-view-detail):not(.btn-add-to-quote) span {
  color: var(--color-wc-add-to-cart-text, var(--color-button-primary-text, #ffffff)) !important;
}

/* Estilos para el enlace "Ver carrito" después de agregar producto - Usar variables CSS */
.woocommerce a.added_to_cart,
.woocommerce a.wc-forward,
.woocommerce a.added_to_cart.wc-forward,
a.added_to_cart,
a.wc-forward,
a.added_to_cart.wc-forward {
  color: var(--color-links, var(--color-secondary, #ff9500)) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  transition: color 0.2s !important;
}

.woocommerce a.added_to_cart:hover,
.woocommerce a.wc-forward:hover,
.woocommerce a.added_to_cart.wc-forward:hover,
a.added_to_cart:hover,
a.wc-forward:hover,
a.added_to_cart.wc-forward:hover {
  color: var(--color-links-hover, var(--color-primary, #c6b3e6)) !important;
  text-decoration: underline !important;
}

.woocommerce a.added_to_cart:link,
.woocommerce a.wc-forward:link,
.woocommerce a.added_to_cart.wc-forward:link,
a.added_to_cart:link,
a.wc-forward:link,
a.added_to_cart.wc-forward:link {
  color: var(--color-links, var(--color-secondary, #ff9500)) !important;
}

.woocommerce a.added_to_cart:visited,
.woocommerce a.wc-forward:visited,
.woocommerce a.added_to_cart.wc-forward:visited,
a.added_to_cart:visited,
a.wc-forward:visited,
a.added_to_cart.wc-forward:visited {
  color: var(--color-links, var(--color-secondary, #ff9500)) !important;
}

/* Hover en botones de WooCommerce - Usar variables CSS */
.woocommerce .add_to_cart_button:not(.catalog-product-card .add_to_cart_button):hover,
.woocommerce a.button:not(.catalog-product-card .button):not(.btn-whatsapp):not(.btn-view-detail):not(.btn-add-to-quote):hover,
.woocommerce button.button:not(.catalog-product-card .button):not(.btn-whatsapp):not(.btn-view-detail):not(.btn-add-to-quote):hover {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  transform: scale(1.1);
  color: var(--color-wc-add-to-cart-text, var(--color-button-primary-text, #ffffff)) !important;
  background-color: var(--color-wc-add-to-cart-bg, var(--color-button-primary-bg, #ff9500)) !important;
  opacity: 0.9 !important;
}

/* Iconos dentro de botones de WooCommerce en hover - Usar variables CSS */
.woocommerce .add_to_cart_button:not(.catalog-product-card .add_to_cart_button):hover svg,
.woocommerce a.button:not(.catalog-product-card .button):not(.btn-whatsapp):not(.btn-view-detail):not(.btn-add-to-quote):hover svg,
.woocommerce button.button:not(.catalog-product-card .button):not(.btn-whatsapp):not(.btn-view-detail):not(.btn-add-to-quote):hover svg {
  color: var(--color-wc-add-to-cart-text, var(--color-button-primary-text, #ffffff)) !important;
  fill: var(--color-wc-add-to-cart-text, var(--color-button-primary-text, #ffffff)) !important;
  stroke: var(--color-wc-add-to-cart-text, var(--color-button-primary-text, #ffffff)) !important;
}
/* Texto dentro de botones de WooCommerce en hover - Usar variables CSS */
.woocommerce .add_to_cart_button:not(.catalog-product-card .add_to_cart_button):hover span,
.woocommerce .add_to_cart_button:not(.catalog-product-card .add_to_cart_button):hover *,
.woocommerce a.button:not(.catalog-product-card .button):not(.btn-whatsapp):not(.btn-view-detail):not(.btn-add-to-quote):hover span,
.woocommerce button.button:not(.catalog-product-card .button):not(.btn-whatsapp):not(.btn-view-detail):not(.btn-add-to-quote):hover span {
  color: var(--color-wc-add-to-cart-text, var(--color-button-primary-text, #ffffff)) !important;
}

/* Precios de WooCommerce - Usar variables CSS del tema (incluyendo símbolo de moneda) */
.woocommerce .price:not(.catalog-product-card .price):not(.product-card .price),
.woocommerce .price:not(.catalog-product-card .price):not(.product-card .price) *,
.woocommerce .woocommerce-Price-amount:not(.catalog-product-card .woocommerce-Price-amount):not(.product-card .woocommerce-Price-amount),
.woocommerce .woocommerce-Price-amount:not(.catalog-product-card .woocommerce-Price-amount):not(.product-card .woocommerce-Price-amount) *,
.woocommerce .price .woocommerce-Price-amount:not(.catalog-product-card .price .woocommerce-Price-amount),
.woocommerce .price .woocommerce-Price-currencySymbol:not(.catalog-product-card .price .woocommerce-Price-currencySymbol),
.woocommerce .price .woocommerce-Price-currencySymbol:not(.catalog-product-card .price .woocommerce-Price-currencySymbol) *,
.woocommerce .woocommerce-Price-currencySymbol:not(.catalog-product-card .woocommerce-Price-currencySymbol),
.woocommerce .woocommerce-Price-currencySymbol:not(.catalog-product-card .woocommerce-Price-currencySymbol) *,
.woocommerce span.woocommerce-Price-currencySymbol:not(.catalog-product-card span.woocommerce-Price-currencySymbol),
.woocommerce span.woocommerce-Price-currencySymbol:not(.catalog-product-card span.woocommerce-Price-currencySymbol) *,
.woocommerce .woocommerce-Price-amount .woocommerce-Price-currencySymbol:not(.catalog-product-card .woocommerce-Price-amount .woocommerce-Price-currencySymbol),
.woocommerce .woocommerce-Price-amount .woocommerce-Price-currencySymbol:not(.catalog-product-card .woocommerce-Price-amount .woocommerce-Price-currencySymbol) *,
.product-price-row .woocommerce-Price-currencySymbol,
.product-price-row .woocommerce-Price-currencySymbol *,
.product-price-row .price .woocommerce-Price-currencySymbol,
.product-price-row .price .woocommerce-Price-currencySymbol *,
.product-price-row .woocommerce-Price-amount .woocommerce-Price-currencySymbol,
.product-price-row .woocommerce-Price-amount .woocommerce-Price-currencySymbol *,
.product-price-row span.woocommerce-Price-currencySymbol,
.product-price-row span.woocommerce-Price-currencySymbol * {
  font-size: 1.875rem !important;
  font-weight: 700 !important;
  color: var(--color-wc-price, var(--color-secondary, #ff9500)) !important;
}

.woocommerce .price del:not(.catalog-product-card .price del),
.woocommerce .price del .woocommerce-Price-amount:not(.catalog-product-card .price del .woocommerce-Price-amount) {
  opacity: 0.6 !important;
  font-size: 1.25rem !important;
  color: var(--color-primary, #c6b3e6) !important;
}

.woocommerce .price ins:not(.catalog-product-card .price ins) {
  color: var(--color-secondary, #ff9500) !important;
  text-decoration: none !important;
}

/* Estilos para tarjetas de productos */
.woocommerce ul.products li.product {
  position: relative;
  background: linear-gradient(to bottom right, #fce7f3, #fdf2f8);
  border-radius: 1rem;
  padding: 1.5rem;
  border: 2px solid #f9a8d4;
  transition: all 0.3s;
  cursor: pointer;
  min-height: 200px;
}

/* Ocultar productos vacíos o sin contenido visible */
.woocommerce ul.products li.product:empty,
.woocommerce ul.products li.product[style*="display: none"] {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	visibility: hidden !important;
}

/* Estilos de productos aplicados en otras reglas */

.woocommerce ul.products li.product:hover {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  transform: scale(1.05);
  border-color: #f472b6;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title,
.woocommerce ul.products li.product h3.woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title a,
.woocommerce ul.products li.product h2 a,
.woocommerce ul.products li.product h3 a,
.woocommerce ul.products li.product a.woocommerce-loop-product__link,
.woocommerce ul.products li.product .woocommerce-loop-product__link a {
  font-weight: 700 !important;
  font-size: 1.125rem !important;
  text-align: center !important;
  color: #b39ec8 !important; /* Mauve exacto */
  margin-bottom: 0.5rem !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title a,
.woocommerce ul.products li.product h2 a,
.woocommerce ul.products li.product h3 a,
.woocommerce ul.products li.product a.woocommerce-loop-product__link,
.woocommerce ul.products li.product .woocommerce-loop-product__link a,
.woocommerce ul.products li.product a {
  color: #b39ec8 !important;
  text-decoration: none !important;
  border-bottom: none !important;
  text-decoration-line: none !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover,
.woocommerce ul.products li.product h2 a:hover,
.woocommerce ul.products li.product h3 a:hover,
.woocommerce ul.products li.product a.woocommerce-loop-product__link:hover,
.woocommerce ul.products li.product .woocommerce-loop-product__link a:hover,
.woocommerce ul.products li.product a:hover {
  color: #ff9000 !important;
  text-decoration: none !important;
  border-bottom: none !important;
  text-decoration-line: none !important;
}

@media (min-width: 640px) {
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product h2.woocommerce-loop-product__title,
  .woocommerce ul.products li.product h3.woocommerce-loop-product__title {
    font-size: 1.25rem !important;
  }
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
  text-decoration: none !important;
  display: block;
  color: #b39ec8 !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link:hover {
  color: #ff9000 !important;
}

/* Asegurar que todos los enlaces dentro de productos usen los colores del tema */
.woocommerce ul.products li.product a:not(.button):not(.add_to_cart_button),
.woocommerce ul.products li.product a:not(.button):not(.add_to_cart_button):link,
.woocommerce ul.products li.product a:not(.button):not(.add_to_cart_button):visited {
  color: #b39ec8 !important;
  text-decoration: none !important;
  border-bottom: none !important;
  text-decoration-line: none !important;
  text-underline-offset: none !important;
  text-decoration-thickness: none !important;
}

.woocommerce ul.products li.product a:not(.button):not(.add_to_cart_button):hover,
.woocommerce ul.products li.product a:not(.button):not(.add_to_cart_button):active,
.woocommerce ul.products li.product a:not(.button):not(.add_to_cart_button):focus {
  color: #ff9000 !important;
  text-decoration: none !important;
  border-bottom: none !important;
  text-decoration-line: none !important;
  text-underline-offset: none !important;
  text-decoration-thickness: none !important;
}

/* Eliminar subrayado de todos los enlaces de productos */
.woocommerce ul.products li.product * {
  text-decoration: none !important;
}

.woocommerce ul.products li.product a,
.woocommerce ul.products li.product a:link,
.woocommerce ul.products li.product a:visited,
.woocommerce ul.products li.product a:hover,
.woocommerce ul.products li.product a:active,
.woocommerce ul.products li.product a:focus,
.woocommerce-loop-product__title,
.woocommerce-loop-product__title:link,
.woocommerce-loop-product__title:visited,
.woocommerce-loop-product__title:hover,
.woocommerce-loop-product__title:active,
.woocommerce-loop-product__title:focus {
  text-decoration: none !important;
  border-bottom: none !important;
  text-decoration-line: none !important;
  text-underline-offset: 0 !important;
  text-decoration-thickness: 0 !important;
  color: #b39ec8 !important;
}

.woocommerce-loop-product__title:hover {
  color: #ff9000 !important;
}

/* Estilos específicos para el título del producto */
.woocommerce ul.products li.product h2 a,
.woocommerce ul.products li.product h3 a,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: #b39ec8 !important;
  text-decoration: none !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

.woocommerce ul.products li.product h2 a:hover,
.woocommerce ul.products li.product h3 a:hover,
.woocommerce ul.products li.product .woocommerce-loop-product__title:hover {
  color: #ff9000 !important;
  text-decoration: none !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

.woocommerce ul.products li.product img {
  width: 100%;
  height: auto;
  border-radius: 0.5rem;
  margin-bottom: 1rem;
}

.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .woocommerce-Price-amount,
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
  font-size: 1.875rem !important;
  font-weight: 700 !important;
  color: #ff9000 !important; /* Naranja exacto */
}

.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del .woocommerce-Price-amount {
  color: rgba(179, 158, 200, 0.6) !important;
  font-size: 1.25rem !important;
}

.woocommerce ul.products li.product .price ins {
  color: #ff9000 !important;
  text-decoration: none !important;
}

@media (min-width: 640px) {
  .woocommerce ul.products li.product .price,
  .woocommerce ul.products li.product .woocommerce-Price-amount {
    font-size: 1.875rem !important;
  }
}

/* Estilos para el catálogo - Colores de fuente mejorados */
.woocommerce-breadcrumb {
  color: #b39ec8 !important; /* brand-mauve */
}

.woocommerce-breadcrumb a {
  color: #b39ec8 !important;
  text-decoration: none;
  transition: color 0.2s;
}

.woocommerce-breadcrumb a:hover {
  color: #ff9000 !important; /* brand-orange */
}

.woocommerce-result-count {
  color: #b39ec8 !important;
  font-size: 0.875rem;
}

.woocommerce-ordering select {
  color: #b39ec8 !important;
  border-color: #b39ec8 !important;
  padding: 0.5rem;
  border-radius: 0.5rem;
}

/* Estilos para paginación */
.woocommerce-pagination {
  margin-top: 2rem;
  text-align: center;
}

.woocommerce-pagination .page-numbers {
  display: inline-flex;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce-pagination .page-numbers li {
  display: inline-block;
}

.woocommerce-pagination .page-numbers a,
.woocommerce-pagination .page-numbers span {
  display: inline-block;
  padding: 0.5rem 1rem;
  color: #ff9000 !important;
  background-color: white;
  border: 2px solid #ff9000;
  border-radius: 0.5rem;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.2s;
  min-width: 2.5rem;
  text-align: center;
}

.woocommerce-pagination .page-numbers a:hover {
  background-color: #ff9000 !important;
  border-color: #ff9000 !important;
  color: white !important;
}

.woocommerce-pagination .page-numbers .current {
  background-color: #ff9000 !important;
  border-color: #ff9000 !important;
  color: white !important;
}

.woocommerce-pagination .page-numbers .dots {
  color: #ff9000 !important;
  border-color: #ff9000 !important;
}

.woocommerce-pagination .page-numbers .prev,
.woocommerce-pagination .page-numbers .next {
  padding: 0.5rem 1.5rem;
}

/* Estilos para sidebar de categorías */
.widget_product_categories ul.product-categories {
  list-style: none;
  padding: 0;
  margin: 0;
}

.widget_product_categories ul.product-categories li {
  margin-bottom: 0.25rem;
}

.widget_product_categories ul.product-categories li a {
  color: #b39ec8 !important;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;
  transition: all 0.2s;
  font-size: 0.875rem;
}

.widget_product_categories ul.product-categories li a:hover {
  background-color: rgba(255, 144, 0, 0.1);
  color: #ff9000 !important;
}

.widget_product_categories ul.product-categories li.current-cat > a {
  background-color: rgba(179, 158, 200, 0.1);
  color: #b39ec8 !important;
  font-weight: 600;
}

/* Estilos para buscador de productos */
.woocommerce-product-search {
  margin-bottom: 1rem;
}

.woocommerce-product-search .search-field {
  width: 100%;
  padding: 0.5rem 0.75rem;
  border: 1px solid rgba(179, 158, 200, 0.3);
  border-radius: 0.5rem;
  font-size: 0.875rem;
  color: #b39ec8;
  transition: all 0.2s;
}

.woocommerce-product-search .search-field:focus {
  outline: none;
  border-color: #ff9000;
  box-shadow: 0 0 0 2px rgba(255, 144, 0, 0.2);
}

.woocommerce-product-search .search-field::placeholder {
  color: rgba(179, 158, 200, 0.6);
}

.woocommerce-product-search button[type="submit"],
.woocommerce-product-search input[type="submit"] {
  margin-top: 0.5rem;
  width: 100%;
  background-color: #ff9000;
  color: white;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
}

.woocommerce-product-search button[type="submit"]:hover,
.woocommerce-product-search input[type="submit"]:hover {
  background-color: rgba(255, 144, 0, 0.9);
}

/* Ocultar filtros móviles en desktop */
@media (min-width: 1024px) {
	#mobile-filters-toggle,
	#mobile-filters-panel {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		height: 0 !important;
		overflow: hidden !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	
	/* Ocultar el contenedor del botón móvil */
	.lg\:hidden {
		display: none !important;
	}
}

/* Estilos para sidebar de filtros - Forzar ancho delgado */
.woocommerce-products-header + div aside,
.woocommerce-products-header + div > aside {
  width: 100% !important;
  max-width: 100% !important;
}

@media (min-width: 1024px) {
  .woocommerce-products-header + div aside,
  .woocommerce-products-header + div > aside {
    width: 12rem !important; /* 192px - más delgado */
    max-width: 12rem !important;
    flex-shrink: 0 !important;
  }
}

/* Estilos para widgets de filtros */
.woocommerce .widget {
  margin-bottom: 0.75rem;
}

.woocommerce .widget h3 {
  color: #b39ec8 !important;
  font-size: 0.75rem;
  font-weight: 600;
  margin-bottom: 0.375rem;
}

.woocommerce .widget ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce .widget ul li {
  margin-bottom: 0.125rem;
}

.woocommerce .widget ul li a {
  color: #b39ec8 !important;
  text-decoration: none;
  transition: color 0.2s;
  font-size: 0.75rem;
  padding: 0.125rem 0.375rem;
  display: block;
  border-radius: 0.25rem;
}

.woocommerce .widget ul li a:hover {
  color: #ff9000 !important;
  background-color: rgba(255, 144, 0, 0.1);
}

/* Contenedor de notificaciones de WooCommerce */
.woocommerce-notices-wrapper {
  position: fixed !important;
  top: 100px !important;
  right: 20px !important;
  z-index: 9999 !important;
  max-width: 400px !important;
  pointer-events: none !important;
}

.woocommerce-notices-wrapper > * {
  pointer-events: auto !important;
}

/* Estilos para notificaciones de WooCommerce */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  position: relative !important;
  z-index: 9999 !important;
  max-width: 400px !important;
  padding: 1rem 1.5rem !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition: opacity 0.3s ease-in, transform 0.3s ease-in !important;
  transform: translateY(0) !important;
  animation: slideInRight 0.3s ease-out !important;
  margin-bottom: 1rem !important;
  font-family: var(--font-family) !important;
}

/* Forzar visibilidad de mensajes ocultos */
.woocommerce-message[style*="display: none"],
.woocommerce-info[style*="display: none"],
.woocommerce-error[style*="display: none"] {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.woocommerce-message {
  background-color: #4caf50 !important;
  color: white !important;
  border-left: 4px solid #2e7d32 !important;
  font-size: 0.9375rem !important;
  line-height: 1.5 !important;
}

.woocommerce-info {
  background-color: #2196f3 !important;
  color: white !important;
  border-left: 4px solid #1565c0 !important;
}

.woocommerce-error {
  background-color: #f44336 !important;
  color: white !important;
  border-left: 4px solid #c62828 !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  content: '✓' !important;
  margin-right: 0.5rem !important;
  font-weight: bold !important;
}

.woocommerce-error::before {
  content: '✕' !important;
}

/* Estilos para enlaces en mensajes de WooCommerce */
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a,
.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce-error a:not(.button),
.woocommerce-message a:link,
.woocommerce-info a:link,
.woocommerce-error a:link,
.woocommerce-message a:visited,
.woocommerce-info a:visited,
.woocommerce-error a:visited {
	color: #ff9000 !important;
	text-decoration: none !important;
}

.woocommerce-message a:hover,
.woocommerce-info a:hover,
.woocommerce-error a:hover,
.woocommerce-message a:not(.button):hover,
.woocommerce-info a:not(.button):hover,
.woocommerce-error a:not(.button):hover {
	color: #b39ec8 !important;
	text-decoration: underline !important;
}

.woocommerce-message a.button,
.woocommerce-info a.button,
.woocommerce-error a.button {
  background-color: rgba(255, 255, 255, 0.2) !important;
  color: white !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 0.375rem 0.75rem !important;
  border-radius: 0.375rem !important;
  font-size: 0.875rem !important;
  margin-left: 0.5rem !important;
  text-decoration: none !important;
  transition: all 0.2s !important;
}

.woocommerce-message a.button:hover,
.woocommerce-info a.button:hover,
.woocommerce-error a.button:hover {
  background-color: rgba(255, 255, 255, 0.3) !important;
  color: white !important;
}

@keyframes slideInRight {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@media (max-width: 640px) {
  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error {
    right: 10px !important;
    left: 10px !important;
    max-width: calc(100% - 20px) !important;
    top: 80px !important;
  }
}

/* Estilos para página de producto individual */
.single-product .woocommerce-breadcrumb {
  color: #b39ec8 !important;
  margin-bottom: 1.5rem;
}

.single-product .woocommerce-breadcrumb a {
  color: #b39ec8 !important;
  text-decoration: none;
  transition: color 0.2s;
}

.single-product .woocommerce-breadcrumb a:hover {
  color: #ff9000 !important;
}

/* Título del producto */
.single-product .product_title {
  color: #b39ec8 !important;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

@media (min-width: 640px) {
  .single-product .product_title {
    font-size: 2.5rem;
  }
}

/* Precio del producto */
.single-product .price {
  color: #ff9000 !important;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.single-product .price del {
  color: rgba(179, 158, 200, 0.6) !important;
  font-size: 1.5rem;
  margin-right: 0.5rem;
}

.single-product .price ins {
  color: #ff9000 !important;
  text-decoration: none;
}

/* Descripción del producto */
.single-product .woocommerce-product-details__short-description {
  color: rgba(179, 158, 200, 0.8) !important;
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

.single-product .woocommerce-product-details__short-description p {
  color: rgba(179, 158, 200, 0.8) !important;
}

/* Botón agregar al carrito */
.single-product .single_add_to_cart_button {
  background-color: #ff9000 !important;
  color: white !important;
  padding: 0.75rem 2rem;
  border-radius: 9999px;
  font-weight: 600;
  font-size: 1rem;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
  text-transform: none;
}

.single-product .single_add_to_cart_button:hover {
  background-color: #e67e00 !important;
  box-shadow: 0 10px 15px -3px rgba(255, 144, 0, 0.3);
  transform: scale(1.05);
  color: white !important;
}

/* Cantidad input */
.single-product .quantity input[type="number"] {
  color: #b39ec8 !important;
  border-color: #b39ec8 !important;
  border-radius: 0.5rem;
  padding: 0.5rem;
  width: 80px;
  text-align: center;
}

.single-product .quantity input[type="number"]:focus {
  border-color: #ff9000 !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 144, 0, 0.1);
}

/* Meta del producto (SKU, categorías, tags) */
.single-product .product_meta {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(179, 158, 200, 0.2);
}

.single-product .product_meta span {
  display: block;
  margin-bottom: 0.5rem;
  color: rgba(179, 158, 200, 0.8) !important;
  font-size: 0.875rem;
}

.single-product .product_meta span a {
  color: #b39ec8 !important;
  text-decoration: none;
  transition: color 0.2s;
}

.single-product .product_meta span a:hover {
  color: #ff9000 !important;
}

.single-product .product_meta .sku {
  color: rgba(179, 158, 200, 0.8) !important;
}

.single-product .product_meta .sku .sku-value {
  color: #b39ec8 !important;
  font-weight: 600;
}

/* Tabs del producto */
.single-product .woocommerce-tabs {
  margin-top: 3rem;
  border-top: 1px solid rgba(179, 158, 200, 0.2);
  padding-top: 2rem;
}

.single-product .woocommerce-tabs ul.tabs {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem 0;
  display: flex;
  gap: 1rem;
  border-bottom: 2px solid rgba(179, 158, 200, 0.2);
}

.single-product .woocommerce-tabs ul.tabs li {
  margin: 0;
}

.single-product .woocommerce-tabs ul.tabs li a {
  color: #b39ec8 !important;
  text-decoration: none;
  padding: 0.75rem 1.5rem;
  display: block;
  border-bottom: 3px solid transparent;
  transition: all 0.2s;
  font-weight: 600;
}

.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover {
  color: #ff9000 !important;
  border-bottom-color: #ff9000;
}

.single-product .woocommerce-tabs .panel {
  color: rgba(179, 158, 200, 0.8) !important;
  line-height: 1.6;
}

.single-product .woocommerce-tabs .panel h2 {
  color: #b39ec8 !important;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.single-product .woocommerce-tabs .panel p {
  color: rgba(179, 158, 200, 0.8) !important;
}

/* Galería de imágenes */
.single-product .woocommerce-product-gallery {
  margin-bottom: 2rem;
}

.single-product .woocommerce-product-gallery__image img {
  border-radius: 0.5rem;
  border: 2px solid rgba(179, 158, 200, 0.2);
}

.single-product .woocommerce-product-gallery__trigger {
  background-color: rgba(179, 158, 200, 0.1);
  border-color: #b39ec8;
  color: #b39ec8;
}

.single-product .woocommerce-product-gallery__trigger:hover {
  background-color: #ff9000;
  border-color: #ff9000;
  color: white;
}

/* Productos relacionados */
.single-product .related.products {
  margin-top: 4rem;
  padding-top: 3rem;
  border-top: 1px solid rgba(179, 158, 200, 0.2);
}

.single-product .related.products h2 {
  color: #b39ec8 !important;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 2rem;
  text-align: center;
}

/* Rating/Estrellas */
.single-product .woocommerce-product-rating {
  margin-bottom: 1rem;
}

.single-product .star-rating {
  color: #ff9000 !important;
}

.single-product .star-rating span {
  color: #ff9000 !important;
}

.single-product .woocommerce-review-link {
  color: #b39ec8 !important;
  text-decoration: none;
  margin-left: 0.5rem;
  font-size: 0.875rem;
}

.single-product .woocommerce-review-link:hover {
  color: #ff9000 !important;
}

/* Stock status */
.single-product .stock {
  color: #b39ec8 !important;
  font-weight: 600;
  margin-bottom: 1rem;
}

.single-product .stock.in-stock {
  color: #4caf50 !important;
}

.single-product .stock.out-of-stock {
  color: #f44336 !important;
}

/* Mejoras de accesibilidad */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* Estilos para el botón "Agregar Nuevo Dulce" */
button.bg-brand-orange,
a.bg-brand-orange {
  background-color: #ff9000; /* Naranja exacto */
  color: white;
  font-weight: 700;
  padding: 1rem 2rem;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  transition: all 0.2s;
  border: none;
  cursor: pointer;
  font-size: 1.125rem;
  text-decoration: none;
}

button.bg-brand-orange:hover,
a.bg-brand-orange:hover {
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  transform: scale(1.1);
}

/* Estilos para navegación - Reglas básicas (serán sobrescritas por CSS inline de functions.php) */
nav a {
  text-decoration: none;
}

nav .menu-item a,
nav a:not(.menu-item) {
  color: #b39ec8; /* Mauve exacto */
  font-weight: 600;
  transition: color 0.2s;
}

nav .menu-item a:hover,
nav a:not(.menu-item):hover {
  color: #ff9000; /* Naranja exacto */
}

/* Asegurar que todos los elementos del nav usen el color configurado - MÁXIMA ESPECIFICIDAD */
nav, nav *, nav a, nav nav *,
nav .site-header, nav .site-header *, nav .site-header a,
nav .main-navigation, nav .main-navigation *, nav .main-navigation a,
nav .menu, nav .menu *, nav .menu a, nav .menu-item, nav .menu-item *,
nav h1, nav h2, nav h3, nav h4, nav h5, nav h6,
nav p, nav span, nav li, nav div,
nav .text-brand-mauve, nav .text-brand-mauve *,
nav a.text-brand-mauve, nav a.text-brand-mauve *,
nav .text-brand-mauve\/70, nav .text-brand-mauve\/50,
nav .text-brand-mauve\/60,
nav .header-menu, nav .header-menu *, nav .header-menu a,
nav .header-menu a.text-brand-mauve,
nav .header-menu-mobile, nav .header-menu-mobile *, nav .header-menu-mobile a,
nav .header-menu-mobile a.text-brand-mauve,
nav .menu-item, nav .menu-item *, nav .menu-item a,
nav .menu-item a.text-brand-mauve,
nav .sub-menu, nav .sub-menu *, nav .sub-menu a,
nav .sub-menu a.text-brand-mauve,
nav .container, nav .container *,
nav button, nav button *,
nav button.text-brand-mauve,
/* Selectores adicionales para nav sticky */
nav.sticky, nav.sticky *, nav.sticky a,
nav.sticky .text-brand-mauve, nav.sticky .text-brand-mauve *,
nav.sticky a.text-brand-mauve,
nav.sticky .header-menu a.text-brand-mauve,
nav.sticky .menu-item a.text-brand-mauve,
nav[class*="sticky"], nav[class*="sticky"] *, nav[class*="sticky"] a,
nav[class*="sticky"] .text-brand-mauve, nav[class*="sticky"] .text-brand-mauve *,
nav[class*="sticky"] a.text-brand-mauve,
nav[class*="sticky"] .header-menu a.text-brand-mauve,
nav[class*="sticky"] .menu-item a.text-brand-mauve {
  color: hsl(var(--header-text-color, 270 35% 40%)) !important;
}

/* Hover en enlaces del nav */
nav a:hover, nav .text-brand-mauve:hover, nav a.text-brand-mauve:hover,
nav .header-menu a:hover, nav .header-menu-mobile a:hover,
nav .menu-item a:hover, nav .sub-menu a:hover {
  color: hsl(var(--brand-orange, 33 100% 50%)) !important;
}

/* Mantener iconos naranjas en el nav si los hay */
nav .text-brand-orange, nav svg.text-brand-orange {
  color: hsl(var(--brand-orange, 33 100% 50%)) !important;
  fill: hsl(var(--brand-orange, 33 100% 50%)) !important;
}

/* Estilos para footer - Reglas básicas (serán sobrescritas por CSS inline de functions.php) */
footer a {
  color: #b39ec8; /* Mauve exacto */
  text-decoration: none;
  transition: color 0.2s;
}

footer a:hover {
  color: #ff9000; /* Naranja exacto */
}

/* Asegurar que todos los elementos del footer usen el color configurado */
footer, footer *, footer a, footer nav, footer nav *,
footer .widget, footer .widget *, footer .widget-title,
footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
footer p, footer span, footer li, footer div, footer ul, footer ul li,
footer .text-brand-mauve, footer .text-brand-mauve *,
footer .text-brand-mauve\/70, footer .text-brand-mauve\/50,
footer .text-brand-mauve\/60, footer .text-brand-mauve\/80,
footer .space-y-2, footer .space-y-2 *, footer .space-y-3, footer .space-y-3 *,
footer .flex-1, footer .flex-1 *, footer .flex, footer .flex *,
footer .container, footer .container *,
footer .text-sm, footer .text-xs, footer .text-lg {
  color: hsl(var(--footer-text-color, 270 35% 40%)) !important;
}
/* Elementos con opacidad específica en el footer */
footer .text-brand-mauve\/70, footer .text-brand-mauve\/70 * {
  color: hsl(var(--footer-text-color, 270 35% 40%)) !important;
  opacity: 0.7 !important;
}
footer .text-brand-mauve\/50, footer .text-brand-mauve\/50 * {
  color: hsl(var(--footer-text-color, 270 35% 40%)) !important;
  opacity: 0.5 !important;
}
footer .text-brand-mauve\/60, footer .text-brand-mauve\/60 * {
  color: hsl(var(--footer-text-color, 270 35% 40%)) !important;
  opacity: 0.6 !important;
}

/* Hover en enlaces del footer */
footer a:hover, footer .text-brand-mauve:hover, footer a.text-brand-mauve:hover {
  color: hsl(var(--brand-orange, 33 100% 50%)) !important;
}

/* Mantener iconos naranjas en el footer (ubicación, teléfono, reloj) */
footer .text-brand-orange, footer svg.text-brand-orange,
footer .text-brand-orange * {
  color: hsl(var(--brand-orange, 33 100% 50%)) !important;
  fill: hsl(var(--brand-orange, 33 100% 50%)) !important;
}

/* Mantener iconos blancos en botones naranjas del footer */
footer .bg-brand-orange, footer .bg-brand-orange *,
footer .bg-brand-orange svg, footer .bg-brand-orange svg * {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* Ajustes de layout */
main {
  flex: 1;
  width: 100%;
  max-width: 80rem;
  margin: 0 auto;
  padding: 2rem 1rem;
}

@media (min-width: 640px) {
  main {
    padding: 3rem 1.5rem;
  }
}

@media (min-width: 1024px) {
  main {
    padding: 3rem 2rem;
  }
}

/* Estilos para el wrapper principal */
.site-wrapper {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: linear-gradient(to bottom, #ffffff, #f9fafb, #ffffff);
}

/* Asegurar que el header tenga fondo sólido */
nav.sticky,
nav[class*="sticky"] {
  background-color: #ffffff !important;
  background: #ffffff !important;
}

/* Asegurar que el logo tenga el mismo tamaño en todas las páginas */
nav img[alt*="Confimarcas"],
nav img[alt*="logo"],
nav a img.h-12 {
  height: 3rem !important; /* 48px - h-12 */
  width: auto !important;
  object-fit: contain !important;
}

/* Estilos para página de contacto - Forzar layout de dos columnas */
.contact-page-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2rem !important;
  width: 100% !important;
  max-width: 100% !important;
}

.contact-page-grid > * {
  width: 100% !important;
  max-width: 100% !important;
}

@media screen and (min-width: 1024px) {
  .contact-page-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 3rem !important;
    align-items: start !important;
    display: grid !important;
  }
  
  .contact-page-grid > * {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ============================================
   ESTILOS MODERNOS PARA EL CARRITO DE COMPRAS
   Diseño limpio, profesional y completamente responsive
   ============================================ */

/* Variables CSS para el carrito - Usar colores del sistema "Estilos del Sitio" */
:root {
  --cart-purple: var(--color-primary, #c6b3e6);
  --cart-purple-dark: var(--color-primary, #c6b3e6);
  --cart-orange: var(--color-secondary, #ff9500);
  --cart-orange-hover: var(--color-accent, #ff9000);
  --cart-gray-bg: var(--color-background-sections, #fafafa);
  --cart-white: var(--color-background, #ffffff);
  --cart-text: var(--color-text, #6b5b7d);
  --cart-text-light: var(--color-text, #6b5b7d);
  --cart-text-muted: var(--color-text, #6b5b7d);
  --cart-border: var(--color-borders, #e0e0e0);
  --cart-border-hover: var(--color-primary, #c6b3e6);
  --cart-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
  --cart-shadow-md: 0 4px 8px rgba(0, 0, 0, 0.06);
  --cart-shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.08);
  --cart-radius: 12px;
  --cart-spacing: 24px;
  --cart-spacing-sm: 16px;
  --cart-spacing-lg: 32px;
}

/* ============================================
   CONTENEDOR PRINCIPAL Y LAYOUT
   ============================================ */

/* Contenedor principal del carrito */
.woocommerce-cart .woocommerce {
  max-width: 100% !important;
  width: 100% !important;
}

/* Grid principal del carrito - Responsive */
.cart-page-container {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: var(--cart-spacing) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

@media (min-width: 768px) {
  .cart-page-container {
    grid-template-columns: 1fr 1fr !important;
    gap: var(--cart-spacing) !important;
  }
}

@media (min-width: 1024px) {
  .cart-page-container {
    grid-template-columns: 2fr 1fr !important;
    gap: var(--cart-spacing-lg) !important;
  }
}

/* Sección de items del carrito */
.cart-items-section {
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

/* Wrapper de items del carrito */
.cart-items-wrapper {
  background: var(--cart-white) !important;
  border-radius: var(--cart-radius) !important;
  box-shadow: var(--cart-shadow) !important;
  padding: var(--cart-spacing) !important;
  margin-bottom: var(--cart-spacing) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Sección de resumen */
.cart-summary-section {
  width: 100% !important;
  min-width: 0 !important;
}

/* Enlace continuar comprando arriba del resumen */
.cart-continue-shopping-top {
  margin-bottom: var(--cart-spacing-sm) !important;
}

.continue-shopping-link-top {
  color: var(--cart-purple) !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  text-decoration: underline !important;
  transition: color 0.2s ease !important;
  display: inline-block !important;
}

.continue-shopping-link-top:hover {
  color: var(--cart-orange) !important;
}

/* Tarjeta de resumen */
.cart-summary-card {
  background: var(--cart-white) !important;
  border-radius: var(--cart-radius) !important;
  box-shadow: var(--cart-shadow) !important;
  padding: var(--cart-spacing) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  position: sticky !important;
  top: 100px !important;
}

@media (max-width: 1023px) {
  .cart-summary-card {
    position: static !important;
  }
}

.cart-summary-title {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--cart-purple) !important;
  margin: 0 0 var(--cart-spacing) 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* ============================================
   TABLA DEL CARRITO
   ============================================ */

/* Tabla del carrito - Diseño moderno y limpio */
.woocommerce-cart table.cart {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 0 0 var(--cart-spacing) 0 !important;
  background: transparent !important;
  font-size: 1rem !important;
  table-layout: auto !important;
  font-family: var(--font-family) !important;
  color: hsl(var(--foreground)) !important;
}

.woocommerce-cart table.cart * {
  color: inherit !important;
}

/* Encabezado de la tabla */
.woocommerce-cart table.cart thead {
  display: table-header-group !important;
  background: var(--cart-gray-bg) !important;
  border-radius: var(--cart-radius) var(--cart-radius) 0 0 !important;
}

.woocommerce-cart table.cart thead th {
  padding: var(--cart-spacing-sm) var(--cart-spacing-sm) !important;
  text-align: left !important;
  font-weight: 600 !important;
  color: hsl(var(--foreground)) !important;
  border-bottom: 2px solid var(--cart-border) !important;
  font-size: 0.875rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-family: var(--font-family) !important;
  white-space: nowrap !important;
}

.woocommerce-cart table.cart thead th,
.woocommerce-cart table.cart thead th * {
  color: hsl(var(--foreground)) !important;
}

.woocommerce-cart table.cart thead th.product-thumbnail {
  width: 100px !important;
  min-width: 100px !important;
}

.woocommerce-cart table.cart thead th.product-name {
  width: auto !important;
  min-width: 200px !important;
}

.woocommerce-cart table.cart thead th.product-price {
  width: 120px !important;
  min-width: 120px !important;
  text-align: right !important;
}

.woocommerce-cart table.cart thead th.product-quantity {
  width: 160px !important;
  min-width: 160px !important;
  text-align: center !important;
}

.woocommerce-cart table.cart thead th.product-subtotal {
  width: 130px !important;
  min-width: 130px !important;
  text-align: right !important;
}

.woocommerce-cart table.cart thead th.product-remove {
  width: 60px !important;
  min-width: 60px !important;
  text-align: center !important;
}

/* Filas de productos */
.woocommerce-cart table.cart tbody tr {
  display: table-row !important;
  border-bottom: 1px solid var(--cart-border) !important;
  transition: background-color 0.2s ease !important;
  background: var(--cart-white) !important;
}

.woocommerce-cart table.cart tbody tr:hover {
  background-color: var(--cart-gray-bg) !important;
}

.woocommerce-cart table.cart tbody tr:last-child {
  border-bottom: none !important;
}

.woocommerce-cart table.cart tbody td {
  display: table-cell !important;
  padding: var(--cart-spacing) var(--cart-spacing-sm) !important;
  vertical-align: middle !important;
  border: none !important;
  line-height: 1.6 !important;
  font-family: var(--font-family) !important;
  color: hsl(var(--foreground)) !important;
}

.woocommerce-cart table.cart tbody td,
.woocommerce-cart table.cart tbody td * {
  color: hsl(var(--foreground)) !important;
}

/* Imagen del producto */
.woocommerce-cart table.cart .product-thumbnail {
  width: 100px !important;
  padding-right: var(--cart-spacing-sm) !important;
}

.woocommerce-cart table.cart .product-thumbnail img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  border: 2px solid var(--cart-border) !important;
  transition: all 0.2s ease !important;
  display: block !important;
}

.woocommerce-cart table.cart .product-thumbnail img:hover {
  border-color: var(--cart-orange) !important;
  box-shadow: var(--cart-shadow) !important;
}

/* Nombre del producto */
.woocommerce-cart table.cart .product-name {
  min-width: 200px !important;
  max-width: 400px !important;
}

.woocommerce-cart table.cart .product-name,
.woocommerce-cart table.cart .product-name * {
  color: hsl(var(--foreground)) !important;
  font-family: var(--font-family) !important;
}

.woocommerce-cart table.cart .product-name a {
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: hsl(var(--foreground)) !important;
  text-decoration: none !important;
  display: block !important;
  margin-bottom: 0.5rem !important;
  line-height: 1.5 !important;
  transition: color 0.2s ease !important;
  font-family: var(--font-family) !important;
}

.woocommerce-cart table.cart .product-name a:hover {
  color: var(--cart-orange) !important;
}

.woocommerce-cart table.cart .product-name .product-description,
.woocommerce-cart table.cart .product-name .variation {
  font-size: 0.875rem !important;
  color: hsl(var(--muted-foreground)) !important;
  margin-top: 0.25rem !important;
  line-height: 1.5 !important;
  font-family: var(--font-family) !important;
}

.woocommerce-cart table.cart .product-name .variation dt,
.woocommerce-cart table.cart .product-name .variation dd {
  display: inline !important;
  margin: 0 !important;
  font-size: 0.875rem !important;
  color: hsl(var(--muted-foreground)) !important;
  font-family: var(--font-family) !important;
}

/* Precio del producto */
.woocommerce-cart table.cart .product-price {
  text-align: right !important;
  white-space: nowrap !important;
}

.woocommerce-cart table.cart .product-price .amount {
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: hsl(var(--brand-mauve)) !important;
  font-family: var(--font-family) !important;
}

.woocommerce-cart table.cart .product-quantity {
  text-align: center !important;
}

/* Subtotal del producto */
.woocommerce-cart table.cart .product-subtotal {
  text-align: right !important;
  white-space: nowrap !important;
}

.woocommerce-cart table.cart .product-subtotal .amount {
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  color: hsl(var(--brand-orange)) !important;
  font-family: var(--font-family) !important;
}

/* Botón eliminar producto */
.woocommerce-cart table.cart .product-remove {
  text-align: center !important;
}

.woocommerce-cart table.cart .product-remove a {
  color: #ef4444 !important;
  padding: 0.5rem !important;
  border-radius: 8px !important;
  transition: all 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  font-size: 1.125rem !important;
  line-height: 1 !important;
  min-width: 40px !important;
  min-height: 40px !important;
  background: rgba(239, 68, 68, 0.05) !important;
}

.woocommerce-cart table.cart .product-remove a:hover {
  background-color: rgba(239, 68, 68, 0.1) !important;
  transform: scale(1.05) !important;
  color: #dc2626 !important;
}

.woocommerce-cart table.cart .product-remove a:focus {
  outline: 2px solid #ef4444 !important;
  outline-offset: 2px !important;
}

/* Controles de cantidad - Diseño moderno */
.woocommerce-cart table.cart .product-quantity {
  text-align: center !important;
}

.woocommerce-cart table.cart .quantity {
  display: inline-flex !important;
  align-items: center !important;
  border: 2px solid var(--cart-border) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: var(--cart-white) !important;
  transition: all 0.2s ease !important;
}

.woocommerce-cart table.cart .quantity:hover {
  border-color: var(--cart-purple) !important;
  box-shadow: var(--cart-shadow) !important;
}

.woocommerce-cart table.cart .quantity .qty {
  border: none !important;
  padding: 0.625rem 0.75rem !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  color: hsl(var(--foreground)) !important;
  width: 60px !important;
  min-width: 60px !important;
  text-align: center !important;
  background: transparent !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
  font-family: var(--font-family) !important;
}

.woocommerce-cart table.cart .quantity .qty:focus {
  outline: none !important;
  background: var(--cart-gray-bg) !important;
}

.woocommerce-cart table.cart .quantity .qty::-webkit-outer-spin-button,
.woocommerce-cart table.cart .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.woocommerce-cart table.cart .quantity input[type="button"],
.woocommerce-cart table.cart .quantity button {
  padding: 0.625rem 0.875rem !important;
  background: transparent !important;
  border: none !important;
  color: var(--cart-purple) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  min-width: 40px !important;
  min-height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 600 !important;
}

.woocommerce-cart table.cart .quantity input[type="button"]:hover,
.woocommerce-cart table.cart .quantity button:hover {
  background-color: var(--cart-gray-bg) !important;
  color: var(--cart-orange) !important;
}

.woocommerce-cart table.cart .quantity input[type="button"]:active,
.woocommerce-cart table.cart .quantity button:active {
  transform: scale(0.95) !important;
}


/* ============================================
   BOTONES Y ACCIONES
   ============================================ */

.cart-summary-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--cart-spacing-sm) !important;
  margin-bottom: 0 !important;
}

.btn-checkout {
  width: 100% !important;
  background: var(--color-wc-checkout-bg, var(--color-secondary, #ff9500)) !important;
  color: var(--color-wc-checkout-text, var(--color-button-primary-text, #ffffff)) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  padding: 1rem 1.5rem !important;
  border-radius: var(--cart-radius) !important;
  text-align: center !important;
  text-decoration: none !important;
  display: block !important;
  transition: all 0.2s ease !important;
  box-shadow: var(--cart-shadow) !important;
  border: none !important;
  cursor: pointer !important;
  min-height: 48px !important;
  line-height: 1.5 !important;
}

.btn-checkout:hover {
  background: var(--color-wc-checkout-bg, var(--color-secondary, #ff9500)) !important;
  opacity: 0.9 !important;
  box-shadow: var(--cart-shadow-md) !important;
  transform: translateY(-2px) !important;
}

.btn-checkout:active {
  transform: translateY(0) !important;
}

.btn-checkout:focus {
  outline: 3px solid rgba(255, 149, 0, 0.3) !important;
  outline-offset: 2px !important;
}

.btn-continue-shopping {
  width: 100% !important;
  border: 2px solid var(--cart-orange) !important;
  color: var(--cart-orange) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  padding: 0.875rem 1.5rem !important;
  border-radius: var(--cart-radius) !important;
  text-align: center !important;
  text-decoration: none !important;
  display: block !important;
  transition: all 0.2s ease !important;
  background: transparent !important;
  min-height: 48px !important;
  line-height: 1.5 !important;
}

.btn-continue-shopping:hover {
  background: rgba(255, 149, 0, 0.05) !important;
  border-color: var(--cart-orange-hover) !important;
  color: var(--cart-orange-hover) !important;
}

.btn-continue-shopping:focus {
  outline: 3px solid rgba(255, 149, 0, 0.3) !important;
  outline-offset: 2px !important;
}

.continue-shopping-link {
  color: var(--cart-orange) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  padding: 0.5rem 0 !important;
}

.continue-shopping-link:hover {
  color: var(--cart-purple) !important;
  text-decoration: underline !important;
}

.cart-continue-shopping {
  margin-top: var(--cart-spacing) !important;
}

/* ============================================
   RESUMEN DE COMPRA
   ============================================ */

/* Ocultar el resumen duplicado de WooCommerce - Se usa el resumen personalizado */
.woocommerce-cart .cart-collaterals {
  display: none !important;
}

.woocommerce-cart .cart_totals {
  display: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout {
  display: none !important;
}

/* Total arriba del resumen */
.cart-total-row-top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: var(--cart-spacing) !important;
  padding: 0 !important;
}

.total-label-top {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: var(--cart-purple) !important;
}

.total-value-top {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--cart-orange) !important;
  font-family: var(--font-family) !important;
}

/* Separador antes de la información */
.cart-summary-divider {
  height: 1px !important;
  background: var(--cart-border) !important;
  margin: var(--cart-spacing) 0 !important;
}

.woocommerce-cart .cart_totals table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: var(--cart-spacing) !important;
}

.woocommerce-cart .cart_totals table tbody tr {
  display: table-row !important;
  padding: 1rem 0 !important;
  border-bottom: 1px solid var(--cart-border) !important;
  background: transparent !important;
}

.woocommerce-cart .cart_totals table tbody tr:last-child {
  border-bottom: none !important;
}

.woocommerce-cart .cart_totals table tbody th,
.woocommerce-cart .cart_totals table tbody td {
  padding: 1rem 0 !important;
  border: none !important;
  background: transparent !important;
  font-size: 1rem !important;
  color: var(--cart-text) !important;
  vertical-align: middle !important;
  line-height: 1.6 !important;
}

.woocommerce-cart .cart_totals table tbody th {
  font-weight: 500 !important;
  text-align: left !important;
  width: 60% !important;
  color: var(--cart-text-light) !important;
}

.woocommerce-cart .cart_totals table tbody td {
  font-weight: 600 !important;
  text-align: right !important;
  width: 40% !important;
  color: var(--cart-primary) !important;
  font-family: var(--font-family) !important;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
  border-top: 2px solid var(--cart-border) !important;
  color: var(--cart-text) !important;
}

.woocommerce-cart .cart_totals .order-total .amount {
  color: var(--cart-accent) !important;
  font-size: 1.75rem !important;
  font-weight: 700 !important;
}

/* Estilos para envío gratis */
.woocommerce-cart .cart_totals .shipping th {
  position: relative !important;
}

.woocommerce-cart .cart_totals .shipping .woocommerce-shipping-totals {
  display: block !important;
}

.woocommerce-cart .cart_totals .shipping .woocommerce-shipping-totals td {
  text-align: right !important;
}

.woocommerce-cart .cart_totals .shipping .woocommerce-shipping-totals .amount {
  color: #ff9000 !important;
  font-weight: 700 !important;
}

/* Ocultar elementos innecesarios */
.woocommerce-cart .cart_totals .shipping-calculator-button {
  display: none !important;
}

.woocommerce-cart .cart_totals .shipping-calculator-form {
  display: none !important;
}


/* ============================================
   BOTÓN ACTUALIZAR CARRITO
   ============================================ */

.woocommerce-cart .actions {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin-top: var(--cart-spacing) !important;
  padding-top: var(--cart-spacing) !important;
  border-top: 2px solid var(--cart-border) !important;
  gap: var(--cart-spacing-sm) !important;
}

.woocommerce-cart .actions .button {
  padding: 0.875rem 1.5rem !important;
  background: var(--cart-purple) !important;
  color: white !important;
  border: none !important;
  border-radius: var(--cart-radius) !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  display: inline-block !important;
  min-height: 48px !important;
  box-shadow: var(--cart-shadow) !important;
}

.woocommerce-cart .actions .button:hover {
  background: var(--cart-orange) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--cart-shadow-md) !important;
}

.woocommerce-cart .actions .button:active {
  transform: translateY(0) !important;
}

.woocommerce-cart .actions .button:focus {
  outline: 3px solid rgba(198, 179, 230, 0.3) !important;
  outline-offset: 2px !important;
}


/* ============================================
   INFORMACIÓN ADICIONAL
   ============================================ */

.cart-info-section {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border: none !important;
}

.info-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.75rem !important;
  margin-bottom: 1rem !important;
  font-size: 0.9375rem !important;
  color: var(--cart-purple) !important;
  line-height: 1.6 !important;
}

.info-item:last-child {
  margin-bottom: 0 !important;
}

.info-icon {
  font-size: 1.25rem !important;
  line-height: 1.2 !important;
  flex-shrink: 0 !important;
}

.info-item p {
  margin: 0 !important;
  color: var(--cart-purple) !important;
}

/* Responsive para tablets y móviles */
@media screen and (max-width: 1024px) {
  .woocommerce-cart-items-wrapper {
    padding: var(--cart-spacing) !important;
  }

  .woocommerce-cart table.cart tbody td {
    padding: 1rem 0.75rem !important;
  }

  .woocommerce-cart .cart_totals {
    padding: var(--cart-spacing) !important;
  }
}

@media screen and (max-width: 768px) {
  :root {
    --cart-spacing: 1rem;
    --cart-spacing-sm: 0.75rem;
    --cart-spacing-lg: 1.5rem;
  }

  .woocommerce-cart-items-wrapper {
    padding: var(--cart-spacing) !important;
    border-radius: var(--cart-radius-sm) !important;
  }

  .woocommerce-cart table.cart {
    display: block !important;
    overflow-x: visible !important;
  }

  .woocommerce-cart table.cart thead {
    display: none !important;
  }

  .woocommerce-cart table.cart tbody {
    display: block !important;
  }

  .woocommerce-cart table.cart tbody tr {
    display: block !important;
    margin-bottom: var(--cart-spacing) !important;
    border: 2px solid var(--cart-border) !important;
    border-radius: var(--cart-radius-sm) !important;
    padding: var(--cart-spacing) !important;
    background: var(--cart-bg) !important;
    box-shadow: var(--cart-shadow) !important;
  }

  .woocommerce-cart table.cart tbody tr:hover {
    transform: none !important;
    box-shadow: var(--cart-shadow-md) !important;
  }

  .woocommerce-cart table.cart tbody td {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0.75rem 0 !important;
    text-align: left !important;
    border: none !important;
    border-bottom: 1px solid var(--cart-border) !important;
  }

  .woocommerce-cart table.cart tbody td:last-child {
    border-bottom: none !important;
  }

  .woocommerce-cart table.cart tbody td::before {
    content: attr(data-title) !important;
    font-weight: 700 !important;
    color: var(--cart-purple) !important;
    display: block !important;
    margin-right: var(--cart-spacing-sm) !important;
    flex-shrink: 0 !important;
    min-width: 100px !important;
  }

  .woocommerce-cart table.cart .product-thumbnail {
    width: 100% !important;
    text-align: center !important;
    margin-bottom: var(--cart-spacing-sm) !important;
    padding: 0 !important;
  }

  .woocommerce-cart table.cart .product-thumbnail::before {
    display: none !important;
  }

  .woocommerce-cart table.cart .product-thumbnail img {
    width: 100px !important;
    height: 100px !important;
  }

  .woocommerce-cart table.cart .product-name {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
  }

  .woocommerce-cart table.cart .product-name::before {
    display: none !important;
  }

  .woocommerce-cart table.cart .product-price,
  .woocommerce-cart table.cart .product-subtotal {
    text-align: right !important;
    justify-content: flex-end !important;
  }

  .woocommerce-cart table.cart .product-quantity {
    justify-content: center !important;
    margin: var(--cart-spacing-sm) 0 !important;
  }

  .woocommerce-cart table.cart .product-remove {
    justify-content: center !important;
    margin-top: var(--cart-spacing-sm) !important;
  }

  .woocommerce-cart .coupon {
    flex-direction: column !important;
  }

  .woocommerce-cart .coupon input[type="text"] {
    width: 100% !important;
  }

  .woocommerce-cart .coupon button {
    width: 100% !important;
  }

  .woocommerce-cart .actions {
    flex-direction: column !important;
  }

  .woocommerce-cart .actions .button {
    width: 100% !important;
  }

  .woocommerce-cart .cart_totals {
    position: static !important;
    margin-top: var(--cart-spacing-lg) !important;
  }
}

/* ============================================
   ACCESIBILIDAD Y MEJORAS FINALES
   ============================================ */

/* Mejoras de accesibilidad */
.woocommerce-cart table.cart .quantity input[type="button"]:focus,
.woocommerce-cart table.cart .quantity button:focus {
  outline: 2px solid var(--cart-orange) !important;
  outline-offset: 2px !important;
  border-radius: 4px !important;
}

.woocommerce-cart table.cart .product-name a:focus {
  outline: 2px solid var(--cart-orange) !important;
  outline-offset: 4px !important;
  border-radius: 4px !important;
}

/* Animaciones suaves */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.woocommerce-cart table.cart tbody tr {
  animation: fadeIn 0.3s ease-out !important;
}

/* Mejora de contraste para accesibilidad */
.woocommerce-cart table.cart thead th {
  color: var(--cart-text) !important;
  background: var(--cart-gray-bg) !important;
}


/* ============================================
   PÁGINA 404 - DISEÑO MODERNO Y ACCESIBLE
   ============================================ */

.error-404-container {
  width: 100% !important;
  max-width: 800px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.error-404-content {
  text-align: center !important;
  padding: 3rem 2rem !important;
  background: var(--cart-white) !important;
  border-radius: var(--cart-radius) !important;
  box-shadow: var(--cart-shadow-md) !important;
}

@media (max-width: 768px) {
  .error-404-content {
    padding: 2rem 1.5rem !important;
  }
}

/* Número 404 */
.error-404-number {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin-bottom: var(--cart-spacing) !important;
  font-family: var(--font-family) !important;
}

.error-404-digit {
  font-size: 6rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  color: hsl(var(--foreground)) !important;
  font-family: var(--font-family) !important;
}

@media (max-width: 768px) {
  .error-404-digit {
    font-size: 4rem !important;
  }
}

.error-404-zero {
  color: hsl(var(--brand-orange)) !important;
}

/* Título */
.error-404-title {
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: hsl(var(--brand-mauve)) !important;
  margin: 0 0 var(--cart-spacing-sm) 0 !important;
  padding: 0 !important;
  font-family: var(--font-family) !important;
  line-height: 1.3 !important;
}

@media (max-width: 768px) {
  .error-404-title {
    font-size: 1.5rem !important;
  }
}

/* Descripción */
.error-404-description {
  font-size: 1.125rem !important;
  color: hsl(var(--foreground)) !important;
  margin: 0 0 var(--cart-spacing) 0 !important;
  padding: 0 !important;
  font-family: var(--font-family) !important;
  line-height: 1.6 !important;
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 768px) {
  .error-404-description {
    font-size: 1rem !important;
  }
}

/* Formulario de búsqueda */
.error-404-search {
  margin: 0 0 var(--cart-spacing) 0 !important;
  max-width: 500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.error-404-search form,
.error-404-search .search-form {
  display: flex !important;
  gap: 0.75rem !important;
  align-items: stretch !important;
  width: 100% !important;
  flex-wrap: nowrap !important;
}

.error-404-search input[type="search"],
.error-404-search .search-field,
.error-404-search input.search-field {
  flex: 1 !important;
  padding: 0.875rem 1rem !important;
  border: 2px solid hsl(var(--border)) !important;
  border-radius: var(--cart-radius) !important;
  font-size: 1rem !important;
  color: hsl(var(--foreground)) !important;
  background: var(--cart-white) !important;
  font-family: var(--font-family) !important;
  transition: all 0.2s ease !important;
  min-width: 0 !important;
}

.error-404-search input[type="search"]:focus,
.error-404-search .search-field:focus,
.error-404-search input.search-field:focus {
  outline: none !important;
  border-color: hsl(var(--brand-orange)) !important;
  box-shadow: 0 0 0 3px rgba(255, 144, 0, 0.1) !important;
}

.error-404-search input[type="search"]::placeholder,
.error-404-search .search-field::placeholder,
.error-404-search input.search-field::placeholder {
  color: hsl(var(--muted-foreground)) !important;
}

.error-404-search .search-submit,
.error-404-search button[type="submit"],
.error-404-search input[type="submit"],
.error-404-search button.search-submit {
  padding: 0.875rem 1.5rem !important;
  background: hsl(var(--brand-orange)) !important;
  color: white !important;
  border: none !important;
  border-radius: var(--cart-radius) !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  font-family: var(--font-family) !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.error-404-search .search-submit:hover,
.error-404-search button[type="submit"]:hover,
.error-404-search input[type="submit"]:hover,
.error-404-search button.search-submit:hover {
  background: hsl(33, 100%, 45%) !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--cart-shadow-md) !important;
}

.error-404-search .search-submit:focus,
.error-404-search button[type="submit"]:focus,
.error-404-search input[type="submit"]:focus,
.error-404-search button.search-submit:focus {
  outline: 3px solid rgba(255, 144, 0, 0.3) !important;
  outline-offset: 2px !important;
}

/* Enlace volver al inicio */
.error-404-actions {
  margin-top: var(--cart-spacing) !important;
}

.error-404-home-link {
  display: inline-block !important;
  color: hsl(var(--brand-mauve)) !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  text-decoration: underline !important;
  transition: all 0.2s ease !important;
  font-family: var(--font-family) !important;
  padding: 0.5rem 0 !important;
}

.error-404-home-link:hover {
  color: hsl(var(--brand-orange)) !important;
  text-decoration: underline !important;
}

.error-404-home-link:focus {
  outline: 3px solid rgba(198, 179, 230, 0.3) !important;
  outline-offset: 4px !important;
  border-radius: 4px !important;
}

/* Responsive adicional para móviles */
@media (max-width: 480px) {
  .error-404-search form,
  .error-404-search .search-form {
    flex-direction: column !important;
    gap: 0.75rem !important;
  }

  .error-404-search .search-submit,
  .error-404-search button[type="submit"],
  .error-404-search input[type="submit"],
  .error-404-search button.search-submit {
    width: 100% !important;
  }

  .error-404-digit {
    font-size: 3rem !important;
  }

  .error-404-title {
    font-size: 1.25rem !important;
  }

  .error-404-description {
    font-size: 0.9375rem !important;
  }
}

/* Mejoras de accesibilidad */
.error-404-content {
  /* Asegurar contraste adecuado */
  color: hsl(var(--foreground)) !important;
}

.error-404-title {
  /* Tamaño mínimo para legibilidad */
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.error-404-search input[type="search"],
.error-404-search .search-field,
.error-404-search input.search-field {
  /* Tamaño mínimo táctil */
  min-height: 44px !important;
}

.error-404-search .search-submit,
.error-404-search button[type="submit"],
.error-404-search input[type="submit"],
.error-404-search button.search-submit {
  /* Tamaño mínimo táctil */
  min-height: 44px !important;
  min-width: 120px !important;
}

.error-404-home-link {
  /* Tamaño mínimo táctil */
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Estilos para la galería de productos horizontal */
.products-gallery-container {
  scrollbar-width: thin;
  scrollbar-color: #b39ec8 #f3f4f6;
}

.products-gallery-container::-webkit-scrollbar {
  height: 8px;
}

.products-gallery-container::-webkit-scrollbar-track {
  background: #f3f4f6;
  border-radius: 4px;
}

.products-gallery-container::-webkit-scrollbar-thumb {
  background: #b39ec8;
  border-radius: 4px;
}

.products-gallery-container::-webkit-scrollbar-thumb:hover {
  background: #ff9000;
}

/* Estilos para el carousel de productos */
.products-carousel-wrapper {
  position: relative;
}

.products-carousel-viewport {
  overflow: hidden !important;
  position: relative;
}

.products-carousel-container {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
}

.products-carousel-item {
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  flex-basis: auto !important;
  width: auto !important;
}

/* Estilos para la sección Nuestras Marcas */
.brands-section a,
.brands-section a:hover,
.brands-section a:focus,
.brands-section a:visited {
  text-decoration: none !important;
}

.brands-section h3,
.brands-section h3 a {
  text-decoration: none !important;
}

.brands-section a h3 {
  text-decoration: none !important;
}

.brands-section .grid > div {
  display: flex;
  flex-direction: column;
}

.brands-section .grid > div > a {
  display: flex !important;
  flex-direction: column !important;
  width: 100%;
}

.brands-section .grid > div > a > div {
  width: 100%;
  box-sizing: border-box;
}

.brands-section h3 {
  word-wrap: break-word;
  overflow-wrap: break-word;
  max-width: 100%;
}

/* Estilos para el menú de navegación - Sin puntos */
.header-menu,
.header-menu-mobile,
.header-menu ul,
.header-menu-mobile ul,
.header-menu li,
.header-menu-mobile li,
.header-menu .sub-menu,
.header-menu-mobile .sub-menu,
.header-menu .sub-menu li,
.header-menu-mobile .sub-menu li {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

.header-menu li::before,
.header-menu-mobile li::before,
.header-menu li::marker,
.header-menu-mobile li::marker,
.header-menu .sub-menu li::before,
.header-menu-mobile .sub-menu li::before,
.header-menu .sub-menu li::marker,
.header-menu-mobile .sub-menu li::marker {
  display: none !important;
  content: none !important;
}

/* Estilos para submenús dropdown en desktop */
.header-menu .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: white;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  border-radius: 0.5rem;
  padding: 0.25rem 0;
  min-width: 180px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
  z-index: 50;
}

.header-menu .menu-item-has-children:hover > .sub-menu {
  opacity: 1;
  visibility: visible;
}

.header-menu .sub-menu li {
  width: 100%;
}

.header-menu .sub-menu a {
  display: block;
  padding: 0.375rem 0.75rem;
  color: #b39ec8; /* brand-mauve */
  transition: background-color 0.2s, color 0.2s;
  font-size: 0.9rem;
}

.header-menu .sub-menu a:hover {
  background-color: rgba(255, 144, 0, 0.1);
  color: #ff9000; /* brand-orange */
}

/* Menú móvil con submenús */
.header-menu-mobile .sub-menu {
  margin-left: 1rem;
  margin-top: 0.25rem;
}

.header-menu-mobile .sub-menu a {
  padding-left: 0.75rem;
  font-size: 0.875rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

/* ============================================
   CHECKOUT - DISEÑO MODERNO Y COMPLETO
   ============================================ */

/* Variables específicas para checkout - Usar colores del sistema "Estilos del Sitio" */
:root {
  --checkout-bg: var(--color-background-sections, #f7f7f7);
  --checkout-white: var(--color-background, #ffffff);
  --checkout-border: var(--color-borders, #e0e0e0);
  --checkout-text: var(--color-text, #6b5b7d);
  --checkout-text-light: var(--color-text, #6b5b7d);
  --checkout-radius: 12px;
  --checkout-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  --checkout-shadow-hover: 0 4px 12px rgba(0, 0, 0, 0.12);
  --checkout-spacing: 1.5rem;
  --checkout-spacing-sm: 1rem;
  --checkout-spacing-lg: 2rem;
}

/* Contenedor principal del checkout */
.checkout-page-container {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: var(--checkout-spacing-lg) !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: var(--checkout-spacing-lg) var(--checkout-spacing) !important;
  background: var(--checkout-bg) !important;
  min-height: 60vh !important;
}

@media (min-width: 992px) {
  .checkout-page-container {
    grid-template-columns: 1.5fr 1fr !important;
  }
}

/* Columna del formulario */
.checkout-form-column {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--checkout-spacing) !important;
}

/* Columna del resumen del pedido */
.checkout-order-review-column {
  display: flex !important;
  flex-direction: column !important;
}

.checkout-order-review-wrapper {
  position: sticky !important;
  top: 100px !important;
  height: fit-content !important;
}

/* Cards de sección */
.checkout-customer-details,
.checkout-shipping-details {
  background: var(--checkout-white) !important;
  border-radius: var(--checkout-radius) !important;
  padding: var(--checkout-spacing-lg) !important;
  box-shadow: var(--checkout-shadow) !important;
  border: 1px solid var(--checkout-border) !important;
}

/* Títulos de sección */
.checkout-customer-details h3,
.checkout-shipping-details h3,
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
#order_review_heading {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--color-titles, var(--color-primary, #6b5b7d)) !important;
  margin: 0 0 var(--checkout-spacing) 0 !important;
  padding-bottom: var(--checkout-spacing-sm) !important;
  border-bottom: 2px solid var(--color-primary, #c6b3e6) !important;
  font-family: var(--font-family) !important;
}

/* Campos del formulario */
.woocommerce-billing-fields .form-row,
.woocommerce-shipping-fields .form-row,
.woocommerce-additional-fields .form-row {
  margin-bottom: var(--checkout-spacing) !important;
  padding: 0 !important;
}

.woocommerce-billing-fields label,
.woocommerce-shipping-fields label,
.woocommerce-additional-fields label {
  display: block !important;
  font-weight: 600 !important;
  color: hsl(var(--foreground)) !important;
  margin-bottom: 0.5rem !important;
  font-size: 0.9375rem !important;
  font-family: var(--font-family) !important;
}

.woocommerce-billing-fields label .required,
.woocommerce-shipping-fields label .required,
.woocommerce-additional-fields label .required {
  color: hsl(var(--brand-orange)) !important;
  text-decoration: none !important;
}

/* Inputs, selects y textareas */
.woocommerce-billing-fields input[type="text"],
.woocommerce-billing-fields input[type="email"],
.woocommerce-billing-fields input[type="tel"],
.woocommerce-billing-fields input[type="number"],
.woocommerce-billing-fields input[type="password"],
.woocommerce-billing-fields select,
.woocommerce-billing-fields textarea,
.woocommerce-shipping-fields input[type="text"],
.woocommerce-shipping-fields input[type="email"],
.woocommerce-shipping-fields input[type="tel"],
.woocommerce-shipping-fields input[type="number"],
.woocommerce-shipping-fields select,
.woocommerce-shipping-fields textarea,
.woocommerce-additional-fields input[type="text"],
.woocommerce-additional-fields input[type="email"],
.woocommerce-additional-fields input[type="tel"],
.woocommerce-additional-fields textarea {
  width: 100% !important;
  padding: 0.875rem 1rem !important;
  border: 2px solid var(--checkout-border) !important;
  border-radius: var(--checkout-radius) !important;
  font-size: 1rem !important;
  color: hsl(var(--foreground)) !important;
  background: var(--checkout-white) !important;
  font-family: var(--font-family) !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.woocommerce-billing-fields input:focus,
.woocommerce-billing-fields select:focus,
.woocommerce-billing-fields textarea:focus,
.woocommerce-shipping-fields input:focus,
.woocommerce-shipping-fields select:focus,
.woocommerce-shipping-fields textarea:focus,
.woocommerce-additional-fields input:focus,
.woocommerce-additional-fields textarea:focus {
  outline: none !important;
  border-color: hsl(var(--brand-mauve)) !important;
  box-shadow: 0 0 0 3px rgba(198, 179, 230, 0.1) !important;
}

.woocommerce-billing-fields input::placeholder,
.woocommerce-billing-fields textarea::placeholder,
.woocommerce-shipping-fields input::placeholder,
.woocommerce-shipping-fields textarea::placeholder,
.woocommerce-additional-fields input::placeholder,
.woocommerce-additional-fields textarea::placeholder {
  color: hsl(var(--muted-foreground)) !important;
}

/* Checkbox y radio buttons */
.woocommerce-billing-fields input[type="checkbox"],
.woocommerce-billing-fields input[type="radio"],
.woocommerce-shipping-fields input[type="checkbox"],
.woocommerce-shipping-fields input[type="radio"] {
  width: auto !important;
  margin-right: 0.5rem !important;
  accent-color: hsl(var(--brand-orange)) !important;
  cursor: pointer !important;
}

.woocommerce-billing-fields .form-row label.checkbox,
.woocommerce-shipping-fields .form-row label.checkbox {
  display: flex !important;
  align-items: center !important;
  font-weight: 500 !important;
  cursor: pointer !important;
}

/* Checkbox de crear cuenta - "¿Ya eres cliente?" */
.woocommerce-account-fields {
  width: 100% !important;
}

.woocommerce-account-fields .form-row {
  width: 100% !important;
  margin-bottom: var(--checkout-spacing) !important;
  padding: 0 !important;
}

.woocommerce-form__label-for-checkbox,
.woocommerce-account-fields .form-row label.checkbox,
.woocommerce-account-fields .form-row label.woocommerce-form__label-for-checkbox,
.woocommerce-account-fields label {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  width: 100% !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  font-family: var(--font-family) !important;
  color: hsl(var(--foreground)) !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

.woocommerce-account-fields .form-row input[type="checkbox"]#createaccount,
.woocommerce-account-fields .form-row input[type="checkbox"].woocommerce-form__input-checkbox,
.woocommerce-account-fields input[type="checkbox"] {
  width: auto !important;
  min-width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  margin-right: 0 !important;
  flex-shrink: 0 !important;
  accent-color: hsl(var(--brand-orange)) !important;
  cursor: pointer !important;
}

/* Resumen del pedido */
#order_review {
  background: var(--checkout-white) !important;
  border-radius: var(--checkout-radius) !important;
  padding: var(--checkout-spacing-lg) !important;
  box-shadow: var(--checkout-shadow) !important;
  border: 1px solid var(--checkout-border) !important;
}

#order_review_heading {
  margin-top: 0 !important;
}

/* Tabla del resumen */
.woocommerce-checkout-review-order-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: var(--checkout-spacing) !important;
}

.woocommerce-checkout-review-order-table thead {
  display: table-header-group !important;
}

.woocommerce-checkout-review-order-table thead th {
  padding: var(--checkout-spacing-sm) 0 !important;
  text-align: left !important;
  font-weight: 600 !important;
  color: hsl(var(--foreground)) !important;
  font-size: 0.875rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  border-bottom: 2px solid var(--checkout-border) !important;
  font-family: var(--font-family) !important;
}

.woocommerce-checkout-review-order-table tbody td {
  padding: var(--checkout-spacing-sm) 0 !important;
  border-bottom: 1px solid var(--checkout-border) !important;
  font-family: var(--font-family) !important;
}

.woocommerce-checkout-review-order-table tbody tr:last-child td {
  border-bottom: none !important;
}

.woocommerce-checkout-review-order-table .product-name {
  font-weight: 500 !important;
  color: hsl(var(--foreground)) !important;
}

.woocommerce-checkout-review-order-table .product-total {
  text-align: right !important;
  font-weight: 600 !important;
  color: hsl(var(--brand-mauve)) !important;
}

/* Totales */
.woocommerce-checkout-review-order-table tfoot {
  border-top: 2px solid var(--checkout-border) !important;
  margin-top: var(--checkout-spacing-sm) !important;
}

.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
  padding: var(--checkout-spacing-sm) 0 !important;
  font-family: var(--font-family) !important;
}

.woocommerce-checkout-review-order-table tfoot th {
  text-align: left !important;
  font-weight: 600 !important;
  color: hsl(var(--foreground)) !important;
}

.woocommerce-checkout-review-order-table tfoot td {
  text-align: right !important;
  font-weight: 500 !important;
  color: hsl(var(--foreground)) !important;
}

.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  padding-top: var(--checkout-spacing) !important;
  border-top: 2px solid hsl(var(--brand-mauve)) !important;
}

.woocommerce-checkout-review-order-table tfoot .order-total th {
  color: hsl(var(--brand-mauve)) !important;
}

.woocommerce-checkout-review-order-table tfoot .order-total td {
  color: hsl(var(--brand-orange)) !important;
}

/* Métodos de pago */
#payment {
  margin-top: var(--checkout-spacing) !important;
  padding-top: var(--checkout-spacing) !important;
  border-top: 2px solid var(--checkout-border) !important;
}

#payment .payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 var(--checkout-spacing) 0 !important;
}

#payment .payment_methods li {
  margin-bottom: var(--checkout-spacing-sm) !important;
  padding: var(--checkout-spacing-sm) !important;
  background: hsl(var(--muted)) !important;
  border-radius: var(--checkout-radius) !important;
  border: 2px solid transparent !important;
  transition: all 0.2s ease !important;
}

#payment .payment_methods li:hover {
  border-color: hsl(var(--brand-mauve)) !important;
}

#payment .payment_methods li input[type="radio"] {
  margin-right: 0.75rem !important;
}

#payment .payment_methods li label {
  font-weight: 600 !important;
  color: hsl(var(--foreground)) !important;
  cursor: pointer !important;
  font-family: var(--font-family) !important;
}

#payment .payment_box {
  margin-top: var(--checkout-spacing-sm) !important;
  padding: var(--checkout-spacing-sm) !important;
  background: var(--checkout-white) !important;
  border-radius: calc(var(--checkout-radius) / 2) !important;
  border: 1px solid var(--checkout-border) !important;
  font-size: 0.9375rem !important;
  color: hsl(var(--foreground)) !important;
  font-family: var(--font-family) !important;
}

/* Botón de finalizar compra */
#place_order {
  width: 100% !important;
  padding: 1rem 2rem !important;
  background: hsl(var(--brand-orange)) !important;
  color: var(--button-primary-text, #ffffff) !important;
  border: none !important;
  border-radius: var(--checkout-radius) !important;
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  font-family: var(--font-family) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  box-shadow: var(--checkout-shadow) !important;
}

#place_order:hover {
  background: hsl(33, 100%, 45%) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--checkout-shadow-hover) !important;
}

#place_order:focus {
  outline: 3px solid rgba(255, 149, 0, 0.3) !important;
  outline-offset: 2px !important;
}

#place_order:active {
  transform: translateY(0) !important;
}

/* Términos y condiciones */
.woocommerce-terms-and-conditions-wrapper {
  margin-bottom: var(--checkout-spacing) !important;
}

.woocommerce-terms-and-conditions-wrapper label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.5rem !important;
  font-weight: 500 !important;
  color: hsl(var(--foreground)) !important;
  cursor: pointer !important;
  font-family: var(--font-family) !important;
}

.woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
  margin-top: 0.25rem !important;
  flex-shrink: 0 !important;
}

/* Mensajes de error y validación */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  padding: var(--checkout-spacing-sm) var(--checkout-spacing) !important;
  margin-bottom: var(--checkout-spacing) !important;
  border-radius: var(--checkout-radius) !important;
  font-family: var(--font-family) !important;
}

/* Ocultar mensajes de confirmación de cotización en el checkout - Solo elementos específicos de confirmación */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-order-confirmation,
body.woocommerce-checkout:not(.woocommerce-order-received) .order-confirmation-success,
body.woocommerce-checkout:not(.woocommerce-order-received) .order-confirmation-pending,
body.woocommerce-checkout:not(.woocommerce-order-received) .order-confirmation-failed {
  display: none !important;
}

.woocommerce-error {
  background: #fee !important;
  border-left: 4px solid #dc3545 !important;
  color: #721c24 !important;
}

.woocommerce-info {
  background: #e7f3ff !important;
  border-left: 4px solid #007bff !important;
  color: #004085 !important;
}

.woocommerce-message {
  background: #d4edda !important;
  border-left: 4px solid #28a745 !important;
  color: #155724 !important;
}

/* Campos con error */
.woocommerce-invalid input,
.woocommerce-invalid select,
.woocommerce-invalid textarea {
  border-color: #dc3545 !important;
}

.woocommerce-invalid label {
  color: #dc3545 !important;
}

/* Responsive */
@media (max-width: 991px) {
  .checkout-page-container {
    grid-template-columns: 1fr !important;
    padding: var(--checkout-spacing) 1rem !important;
  }

  .checkout-order-review-wrapper {
    position: static !important;
  }

  .checkout-customer-details,
  .checkout-shipping-details,
  #order_review {
    padding: var(--checkout-spacing) !important;
  }
}

@media (max-width: 768px) {
  .checkout-page-container {
    padding: var(--checkout-spacing-sm) 0.75rem !important;
    gap: var(--checkout-spacing) !important;
  }

  .checkout-customer-details h3,
  .checkout-shipping-details h3,
  #order_review_heading {
    font-size: 1.25rem !important;
  }

  .woocommerce-checkout-review-order-table {
    font-size: 0.875rem !important;
  }

  .woocommerce-checkout-review-order-table tfoot .order-total th,
  .woocommerce-checkout-review-order-table tfoot .order-total td {
    font-size: 1.125rem !important;
  }

  #place_order {
    padding: 0.875rem 1.5rem !important;
    font-size: 1rem !important;
  }
}

/* Campos de dos columnas en desktop */
@media (min-width: 768px) {
  .woocommerce-billing-fields .form-row-first,
  .woocommerce-shipping-fields .form-row-first {
    width: 48% !important;
    float: left !important;
    margin-right: 4% !important;
  }

  .woocommerce-billing-fields .form-row-last,
  .woocommerce-shipping-fields .form-row-last {
    width: 48% !important;
    float: right !important;
    margin-right: 0 !important;
  }

  .woocommerce-billing-fields .form-row-wide,
  .woocommerce-shipping-fields .form-row-wide {
    width: 100% !important;
    clear: both !important;
  }
}

/* Limpiar floats */
.woocommerce-billing-fields::after,
.woocommerce-shipping-fields::after,
.woocommerce-additional-fields::after {
  content: "" !important;
  display: table !important;
  clear: both !important;
}

/* Campos adicionales (notas del pedido) */
.woocommerce-additional-fields {
  background: var(--checkout-white) !important;
  border-radius: var(--checkout-radius) !important;
  padding: var(--checkout-spacing-lg) !important;
  box-shadow: var(--checkout-shadow) !important;
  border: 1px solid var(--checkout-border) !important;
  margin-top: var(--checkout-spacing) !important;
}

.woocommerce-additional-fields h3 {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: hsl(var(--brand-mauve)) !important;
  margin: 0 0 var(--checkout-spacing) 0 !important;
  padding-bottom: var(--checkout-spacing-sm) !important;
  border-bottom: 2px solid hsl(var(--brand-mauve)) !important;
  font-family: var(--font-family) !important;
}

/* Select2 dropdowns (si se usa) */
.select2-container--default .select2-selection--single {
  height: auto !important;
  padding: 0.875rem 1rem !important;
  border: 2px solid var(--checkout-border) !important;
  border-radius: var(--checkout-radius) !important;
  font-family: var(--font-family) !important;
}

.select2-container--default .select2-selection--single:focus {
  border-color: hsl(var(--brand-mauve)) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(198, 179, 230, 0.1) !important;
}

.select2-dropdown {
  border: 2px solid var(--checkout-border) !important;
  border-radius: var(--checkout-radius) !important;
  box-shadow: var(--checkout-shadow) !important;
}

/* Spinner de carga */
.woocommerce-checkout .blockUI.blockOverlay {
  background: rgba(255, 255, 255, 0.8) !important;
  border-radius: var(--checkout-radius) !important;
}

/* Mejoras de accesibilidad */
.woocommerce-billing-fields input:required,
.woocommerce-shipping-fields input:required,
.woocommerce-additional-fields input:required,
.woocommerce-billing-fields select:required,
.woocommerce-shipping-fields select:required {
  border-left: 3px solid hsl(var(--brand-orange)) !important;
}

/* Estados de validación */
.woocommerce-billing-fields input.woocommerce-invalid,
.woocommerce-shipping-fields input.woocommerce-invalid,
.woocommerce-additional-fields input.woocommerce-invalid {
  border-color: #dc3545 !important;
  border-left-width: 3px !important;
}

.woocommerce-billing-fields input.woocommerce-validated:valid,
.woocommerce-shipping-fields input.woocommerce-validated:valid,
.woocommerce-additional-fields input.woocommerce-validated:valid {
  border-color: #28a745 !important;
  border-left-width: 3px !important;
}

/* Mejoras para campos de país y estado */
.woocommerce-billing-fields .select2-container,
.woocommerce-shipping-fields .select2-container {
  width: 100% !important;
}

/* Ocultar sección de cupones en checkout */
.woocommerce-form-coupon-toggle,
.woocommerce-form-coupon,
.checkout_coupon,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-coupon {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Ocultar mensaje de login "¿Ya eres cliente?" */
.woocommerce-form__login,
.woocommerce-form-login,
.woocommerce-info.woocommerce-info--returning-customer,
.woocommerce-checkout .woocommerce-info.woocommerce-info--returning-customer,
.woocommerce-checkout .woocommerce-form__login,
.woocommerce-checkout .woocommerce-form-login {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Ajustes para el wrapper principal del checkout */
.woocommerce-checkout {
  background: var(--checkout-bg) !important;
  padding: 0 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Asegurar que el contenedor principal tenga el fondo correcto */
body.woocommerce-checkout .site-wrapper {
  background: var(--checkout-bg) !important;
}

/* Asegurar que el formulario de checkout sea visible */
form.checkout.woocommerce-checkout {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Títulos de sección de facturación y envío dentro de los cards */
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3 {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: hsl(var(--brand-mauve)) !important;
  margin: 0 0 var(--checkout-spacing) 0 !important;
  padding-bottom: var(--checkout-spacing-sm) !important;
  border-bottom: 2px solid hsl(var(--brand-mauve)) !important;
  font-family: var(--font-family) !important;
}

/* Ajustes para cuando no hay campos de envío */
.woocommerce-shipping-fields:empty {
  display: none !important;
}

/* Mejoras para el resumen en móvil */
@media (max-width: 991px) {
  .checkout-order-review-wrapper {
    margin-top: var(--checkout-spacing) !important;
  }
}

/* ============================================
   PÁGINA DE CONFIRMACIÓN DE COMPRA (THANK YOU)
   ============================================ */

.woocommerce-order-confirmation {
  max-width: 800px !important;
  margin: 0 auto !important;
  padding: var(--checkout-spacing-lg) var(--checkout-spacing) !important;
  background: var(--checkout-bg) !important;
  min-height: 60vh !important;
}

/* Contenedor de confirmación exitosa */
.order-confirmation-success {
  text-align: center !important;
  background: var(--checkout-white) !important;
  border-radius: var(--checkout-radius) !important;
  padding: var(--checkout-spacing-lg) var(--checkout-spacing) !important;
  box-shadow: var(--checkout-shadow) !important;
  border: 1px solid var(--checkout-border) !important;
  margin-bottom: var(--checkout-spacing-lg) !important;
}

/* Icono de confirmación */
.confirmation-icon {
  margin: 0 auto var(--checkout-spacing) auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 80px !important;
  height: 80px !important;
  border-radius: 50% !important;
  background: hsl(var(--brand-mauve)) !important;
  color: white !important;
}

.confirmation-icon.success-icon {
  background: hsl(var(--brand-orange)) !important;
}

.confirmation-icon.failed-icon {
  background: #dc3545 !important;
}

.confirmation-icon.pending-icon {
  background: hsl(var(--brand-mauve)) !important;
}

.confirmation-icon svg {
  width: 100% !important;
  height: 100% !important;
  padding: 20% !important;
}

/* Título de confirmación */
.confirmation-title {
  font-size: 2rem !important;
  font-weight: 700 !important;
  margin: 0 0 var(--checkout-spacing-sm) 0 !important;
  font-family: var(--font-family) !important;
  line-height: 1.3 !important;
}

.confirmation-title.success-title {
  color: hsl(var(--brand-orange)) !important;
}

.confirmation-title.failed-title {
  color: #dc3545 !important;
}

.confirmation-title.pending-title {
  color: hsl(var(--brand-mauve)) !important;
}

/* Mensaje de confirmación */
.confirmation-message {
  font-size: 1.125rem !important;
  color: hsl(var(--foreground)) !important;
  margin: 0 0 var(--checkout-spacing-lg) 0 !important;
  line-height: 1.6 !important;
  font-family: var(--font-family) !important;
}

/* Card de detalles del pedido */
.order-details-card {
  background: hsl(var(--muted)) !important;
  border-radius: var(--checkout-radius) !important;
  padding: var(--checkout-spacing) !important;
  margin: var(--checkout-spacing) 0 !important;
  text-align: left !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: var(--checkout-spacing) !important;
}

.order-number-section,
.order-date-section,
.order-payment-section,
.order-total-section {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}

.order-label {
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: hsl(var(--muted-foreground)) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin: 0 !important;
  font-family: var(--font-family) !important;
}

.order-number,
.order-date,
.order-payment,
.order-total {
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  color: hsl(var(--foreground)) !important;
  margin: 0 !important;
  font-family: var(--font-family) !important;
}

.order-number {
  color: hsl(var(--brand-mauve)) !important;
  font-size: 1.5rem !important;
}

.order-total {
  color: hsl(var(--brand-orange)) !important;
  font-size: 1.5rem !important;
}

/* Acciones de confirmación */
.confirmation-actions {
  display: flex !important;
  gap: var(--checkout-spacing-sm) !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  margin-top: var(--checkout-spacing-lg) !important;
}

.btn-retry-payment,
.btn-continue-shopping {
  padding: 0.875rem 1.5rem !important;
  border-radius: var(--checkout-radius) !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  font-family: var(--font-family) !important;
  display: inline-block !important;
  cursor: pointer !important;
  border: 2px solid transparent !important;
}

.btn-retry-payment {
  background: hsl(var(--brand-orange)) !important;
  color: white !important;
}

.btn-retry-payment:hover {
  background: hsl(33, 100%, 45%) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--checkout-shadow-hover) !important;
}

.btn-continue-shopping {
  background: transparent !important;
  color: hsl(var(--brand-mauve)) !important;
  border-color: hsl(var(--brand-mauve)) !important;
}

.btn-continue-shopping:hover {
  background: hsl(var(--brand-mauve)) !important;
  color: white !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--checkout-shadow-hover) !important;
}

/* Contenedor de confirmación fallida */
.order-confirmation-failed {
  text-align: center !important;
  background: var(--checkout-white) !important;
  border-radius: var(--checkout-radius) !important;
  padding: var(--checkout-spacing-lg) var(--checkout-spacing) !important;
  box-shadow: var(--checkout-shadow) !important;
  border: 1px solid #dc3545 !important;
  margin-bottom: var(--checkout-spacing-lg) !important;
}

/* Contenedor de confirmación pendiente */
.order-confirmation-pending {
  text-align: center !important;
  background: var(--checkout-white) !important;
  border-radius: var(--checkout-radius) !important;
  padding: var(--checkout-spacing-lg) var(--checkout-spacing) !important;
  box-shadow: var(--checkout-shadow) !important;
  border: 1px solid var(--checkout-border) !important;
  margin-bottom: var(--checkout-spacing-lg) !important;
}

/* Detalles completos del pedido */
.order-details-full {
  background: var(--checkout-white) !important;
  border-radius: var(--checkout-radius) !important;
  padding: var(--checkout-spacing-lg) !important;
  box-shadow: var(--checkout-shadow) !important;
  border: 1px solid var(--checkout-border) !important;
  margin-top: var(--checkout-spacing-lg) !important;
}

.order-details-full h2 {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: hsl(var(--brand-mauve)) !important;
  margin: 0 0 var(--checkout-spacing) 0 !important;
  padding-bottom: var(--checkout-spacing-sm) !important;
  border-bottom: 2px solid hsl(var(--brand-mauve)) !important;
  font-family: var(--font-family) !important;
}

.order-details-full .woocommerce-order-details {
  margin: 0 !important;
}

.order-details-full .woocommerce-order-details__title {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: hsl(var(--brand-mauve)) !important;
  margin: 0 0 var(--checkout-spacing) 0 !important;
  padding-bottom: var(--checkout-spacing-sm) !important;
  border-bottom: 2px solid hsl(var(--brand-mauve)) !important;
  font-family: var(--font-family) !important;
}

/* Tabla de detalles del pedido */
.order-details-full table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: var(--checkout-spacing) !important;
}

.order-details-full table thead th {
  padding: var(--checkout-spacing-sm) 0 !important;
  text-align: left !important;
  font-weight: 600 !important;
  color: hsl(var(--foreground)) !important;
  font-size: 0.875rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  border-bottom: 2px solid var(--checkout-border) !important;
  font-family: var(--font-family) !important;
}

.order-details-full table tbody td {
  padding: var(--checkout-spacing-sm) 0 !important;
  border-bottom: 1px solid var(--checkout-border) !important;
  font-family: var(--font-family) !important;
}

.order-details-full table tbody tr:last-child td {
  border-bottom: none !important;
}

.order-details-full table .product-name {
  font-weight: 500 !important;
  color: hsl(var(--foreground)) !important;
}

.order-details-full table .product-total {
  text-align: right !important;
  font-weight: 600 !important;
  color: hsl(var(--brand-mauve)) !important;
}

/* Direcciones de facturación y envío */
.order-details-full .woocommerce-customer-details {
  margin-top: var(--checkout-spacing-lg) !important;
}

.order-details-full .woocommerce-customer-details h2 {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: hsl(var(--brand-mauve)) !important;
  margin: 0 0 var(--checkout-spacing) 0 !important;
  padding-bottom: var(--checkout-spacing-sm) !important;
  border-bottom: 2px solid hsl(var(--brand-mauve)) !important;
  font-family: var(--font-family) !important;
}

/* Estilos para página de Política de Privacidad - Prevenir desbordamiento de texto */
main.max-w-7xl .max-w-4xl {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

main.max-w-7xl .max-w-4xl .bg-white,
main.max-w-7xl .max-w-3xl .bg-white {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  word-break: break-word !important;
  padding-left: 4rem !important;
  padding-right: 3rem !important;
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

@media (max-width: 768px) {
  main.max-w-7xl .max-w-4xl .bg-white,
  main.max-w-7xl .max-w-3xl .bg-white {
    padding-left: 2rem !important;
    padding-right: 1.5rem !important;
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
}

/* Espaciado adicional para secciones dentro de las cards */
main.max-w-7xl .max-w-4xl .bg-white section,
main.max-w-7xl .max-w-3xl .bg-white section {
  padding-left: 1.5rem !important;
  padding-right: 0 !important;
  margin-bottom: 2rem !important;
}

@media (max-width: 768px) {
  main.max-w-7xl .max-w-4xl .bg-white section,
  main.max-w-7xl .max-w-3xl .bg-white section {
    padding-left: 1rem !important;
  }
}

main.max-w-7xl .max-w-4xl section,
main.max-w-7xl .max-w-3xl section {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

main.max-w-7xl .max-w-4xl h1,
main.max-w-7xl .max-w-4xl h2,
main.max-w-7xl .max-w-4xl h3,
main.max-w-7xl .max-w-4xl h4,
main.max-w-7xl .max-w-4xl h5,
main.max-w-7xl .max-w-4xl h6 {
  max-width: 100% !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  word-break: break-word !important;
}

main.max-w-7xl .max-w-4xl p,
main.max-w-7xl .max-w-4xl li,
main.max-w-7xl .max-w-4xl span,
main.max-w-7xl .max-w-4xl div {
  max-width: 100% !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  word-break: break-word !important;
  box-sizing: border-box !important;
}

main.max-w-7xl .max-w-4xl ul {
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
}

main.max-w-7xl .max-w-4xl ul li {
  max-width: 100% !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  word-break: break-word !important;
}

/* Justificar texto en páginas de contenido (Quiénes Somos, Política de Privacidad, Cultura, etc.) */
main.max-w-7xl .max-w-4xl .bg-white p,
main.max-w-7xl .max-w-3xl .bg-white p,
main.max-w-7xl .max-w-4xl section p,
main.max-w-7xl .max-w-3xl section p,
main.max-w-7xl .max-w-4xl .prose p,
main.max-w-7xl .max-w-3xl .prose p,
main.max-w-7xl .max-w-4xl .bg-white p.text-brand-mauve,
main.max-w-7xl .max-w-3xl .bg-white p.text-brand-mauve,
main.max-w-7xl .max-w-4xl section p.text-brand-mauve,
main.max-w-7xl .max-w-3xl section p.text-brand-mauve,
main.max-w-7xl .max-w-4xl .bg-white p.leading-relaxed,
main.max-w-7xl .max-w-3xl .bg-white p.leading-relaxed,
main.max-w-7xl .max-w-4xl .bg-white p[class*="text-brand"],
main.max-w-7xl .max-w-3xl .bg-white p[class*="text-brand"],
main.max-w-7xl .max-w-4xl section p[class*="text-brand"],
main.max-w-7xl .max-w-3xl section p[class*="text-brand"] {
  text-align: justify !important;
  text-justify: inter-word !important;
  -webkit-text-align: justify !important;
  -moz-text-align: justify !important;
  line-height: 1.9 !important;
  margin-bottom: 1.5rem !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Justificar texto en listas */
main.max-w-7xl .max-w-4xl .bg-white ul li,
main.max-w-7xl .max-w-3xl .bg-white ul li,
main.max-w-7xl .max-w-4xl section ul li,
main.max-w-7xl .max-w-3xl section ul li,
main.max-w-7xl .max-w-4xl .bg-white ul.list-disc li,
main.max-w-7xl .max-w-3xl .bg-white ul.list-disc li,
main.max-w-7xl .max-w-4xl section ul.list-disc li,
main.max-w-7xl .max-w-3xl section ul.list-disc li,
main.max-w-7xl .max-w-4xl .bg-white ul[class*="list-"] li,
main.max-w-7xl .max-w-3xl .bg-white ul[class*="list-"] li,
main.max-w-7xl .max-w-4xl section ul[class*="list-"] li,
main.max-w-7xl .max-w-3xl section ul[class*="list-"] li {
  text-align: justify !important;
  text-justify: inter-word !important;
  -webkit-text-align: justify !important;
  -moz-text-align: justify !important;
}

/* Justificar texto en divs de contenido */
main.max-w-7xl .max-w-4xl .bg-white div,
main.max-w-7xl .max-w-3xl .bg-white div,
main.max-w-7xl .max-w-4xl .prose,
main.max-w-7xl .max-w-3xl .prose,
main.max-w-7xl .max-w-4xl .bg-white div.prose,
main.max-w-7xl .max-w-3xl .bg-white div.prose {
  text-align: justify !important;
  text-justify: inter-word !important;
}

/* Asegurar que los títulos no se justifiquen (deben estar alineados a la izquierda) */
main.max-w-7xl .max-w-4xl h1,
main.max-w-7xl .max-w-4xl h2,
main.max-w-7xl .max-w-4xl h3,
main.max-w-7xl .max-w-4xl h4,
main.max-w-7xl .max-w-4xl h5,
main.max-w-7xl .max-w-4xl h6,
main.max-w-7xl .max-w-3xl h1,
main.max-w-7xl .max-w-3xl h2,
main.max-w-7xl .max-w-3xl h3,
main.max-w-7xl .max-w-3xl h4,
main.max-w-7xl .max-w-3xl h5,
main.max-w-7xl .max-w-3xl h6 {
  text-align: left !important;
}

/* Justificar texto en template genérico de páginas */
.page-container .page-content p,
.page-container .page-content div,
.page-container .page-content li {
  text-align: justify !important;
  text-justify: inter-word !important;
}

.page-container .page-content h1,
.page-container .page-content h2,
.page-container .page-content h3,
.page-container .page-content h4,
.page-container .page-content h5,
.page-container .page-content h6 {
  text-align: left !important;
}

.order-details-full .woocommerce-customer-details address {
  background: hsl(var(--muted)) !important;
  border-radius: var(--checkout-radius) !important;
  padding: var(--checkout-spacing) !important;
  font-style: normal !important;
  line-height: 1.8 !important;
  color: hsl(var(--foreground)) !important;
  font-family: var(--font-family) !important;
}

/* Responsive */
@media (max-width: 768px) {
  .woocommerce-order-confirmation {
    padding: var(--checkout-spacing) 1rem !important;
  }

  .confirmation-title {
    font-size: 1.5rem !important;
  }

  .confirmation-message {
    font-size: 1rem !important;
  }

  .order-details-card {
    grid-template-columns: 1fr !important;
    gap: var(--checkout-spacing-sm) !important;
  }

  .confirmation-actions {
    flex-direction: column !important;
  }

  .btn-retry-payment,
  .btn-continue-shopping {
    width: 100% !important;
  }

  .order-details-full {
    padding: var(--checkout-spacing) !important;
  }

  .order-details-full table {
    font-size: 0.875rem !important;
  }
}

/* ============================================
   ESTILOS PARA PÁGINA "QUIÉNES SOMOS"
   ============================================ */

/* Clases de opacidad adicionales */
.text-brand-mauve\/80 {
  color: rgba(179, 158, 200, 0.8);
}

.text-white\/90 {
  color: rgba(255, 255, 255, 0.9);
}

/* Bordes con colores */
.border-l-4 {
  border-left-width: 4px;
}

.border-t-4 {
  border-top-width: 4px;
}

.border-brand-orange {
  border-color: #ff9000;
}

.border-brand-mauve {
  border-color: #b39ec8;
}

/* Gradientes */
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.from-brand-orange {
  --tw-gradient-from: #ff9000;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 144, 0, 0));
}

.to-brand-orange\/80 {
  --tw-gradient-to: rgba(255, 144, 0, 0.8);
}

.from-brand-mauve {
  --tw-gradient-from: #b39ec8;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(179, 158, 200, 0));
}

.to-brand-mauve\/80 {
  --tw-gradient-to: rgba(179, 158, 200, 0.8);
}

.bg-brand-orange\/20 {
  background-color: rgba(255, 144, 0, 0.2);
}

/* Bordes redondeados */
.rounded-xl {
  border-radius: 0.75rem;
}

/* Sombras */
.shadow-lg {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.shadow-2xl {
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

/* Efectos hover */
.hover\:shadow-2xl:hover {
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.hover\:shadow-lg:hover {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.hover\:scale-105:hover {
  transform: scale(1.05);
}

/* Transiciones */
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.duration-200 {
  transition-duration: 200ms;
}

/* Opacidad */
.opacity-0 {
  opacity: 0;
}

.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}

/* Blur */
.blur-xl {
  filter: blur(24px);
}

/* Espaciado vertical */
.space-y-3 > * + * {
  margin-top: 0.75rem;
}

.space-y-6 > * + * {
  margin-top: 1.5rem;
}

/* Alineación */
.items-start {
  align-items: flex-start;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

/* Altura */
.h-full {
  height: 100%;
}

.h-1 {
  height: 0.25rem;
}

.h-7 {
  height: 1.75rem;
}

.h-10 {
  height: 2.5rem;
}

/* Ancho */
.w-full {
  width: 100%;
}

.w-7 {
  width: 1.75rem;
}

.w-10 {
  width: 2.5rem;
}

.w-16 {
  width: 4rem;
}

.w-20 {
  width: 5rem;
}

/* Márgenes */
.mb-1 {
  margin-bottom: 0.25rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mb-3 {
  margin-bottom: 0.75rem;
}

.mb-6 {
  margin-bottom: 1.5rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.mb-16 {
  margin-bottom: 4rem;
}

/* Padding */
.p-8 {
  padding: 2rem;
}

.p-12 {
  padding: 3rem;
}

.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.px-12 {
  padding-left: 3rem;
  padding-right: 3rem;
}

/* Tamaños de fuente personalizados */
.text-\[48px\] {
  font-size: 48px;
  line-height: 1.2;
}

.text-\[36px\] {
  font-size: 36px;
  line-height: 1.2;
}

.text-\[24px\] {
  font-size: 24px;
  line-height: 1.3;
}

.text-\[20px\] {
  font-size: 20px;
  line-height: 1.4;
}

.text-\[18px\] {
  font-size: 18px;
  line-height: 1.5;
}

.text-\[16px\] {
  font-size: 16px;
  line-height: 1.5;
}

.text-\[14px\] {
  font-size: 14px;
  line-height: 1.5;
}

/* Max width */
.max-w-2xl {
  max-width: 42rem;
}

.max-w-3xl {
  max-width: 48rem;
}

.max-w-4xl {
  max-width: 56rem;
}

/* Centrado */
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.text-center {
  text-align: center;
}

/* Display */
.inline-block {
  display: inline-block;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.inset-0 {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

/* Group para efectos hover */
.group {
  position: relative;
}

/* Responsive */
@media (min-width: 768px) {
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  
  .sm\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

@media (min-width: 1024px) {
  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* Estilos para texto itálico */
.italic {
  font-style: italic;
}

/* Leading relajado */
.leading-relaxed {
  line-height: 1.625;
}

/* ============================================
   REGLAS GLOBALES PARA BOTONES PRIMARIOS
   Asegurar que TODOS los botones con fondo naranja tengan texto blanco
   ============================================ */

/* Cualquier botón o enlace con fondo naranja/primario debe usar color de texto configurable - EXCLUIR del catálogo */
button[style*='background-color: var(--button-primary)']:not(.woocommerce ul.products li.product button):not(.catalog-product-card button):not(.product-card button),
button[style*='background-color: #ff9000']:not(.woocommerce ul.products li.product button):not(.catalog-product-card button):not(.product-card button),
button[style*='background-color: #ff9500']:not(.woocommerce ul.products li.product button):not(.catalog-product-card button):not(.product-card button),
button[style*='background-color: hsl(33']:not(.woocommerce ul.products li.product button):not(.catalog-product-card button):not(.product-card button),
a[style*='background-color: var(--button-primary)']:not(.woocommerce ul.products li.product a):not(.catalog-product-card a):not(.product-card a),
a[style*='background-color: #ff9000']:not(.woocommerce ul.products li.product a):not(.catalog-product-card a):not(.product-card a),
a[style*='background-color: #ff9500']:not(.woocommerce ul.products li.product a):not(.catalog-product-card a):not(.product-card a),
a[style*='background-color: hsl(33']:not(.woocommerce ul.products li.product a):not(.catalog-product-card a):not(.product-card a),
button.bg-brand-orange:not(.woocommerce ul.products li.product button):not(.catalog-product-card button):not(.product-card button),
a.bg-brand-orange:not(.woocommerce ul.products li.product a):not(.catalog-product-card a):not(.product-card a),
button[class*='orange'][class*='bg']:not(.woocommerce ul.products li.product button):not(.catalog-product-card button):not(.product-card button),
a[class*='orange'][class*='bg']:not(.woocommerce ul.products li.product a):not(.catalog-product-card a):not(.product-card a),
/* Botones con clase primaria - EXCLUIR del catálogo */
button.primary:not(.woocommerce ul.products li.product button):not(.catalog-product-card button):not(.product-card button),
.button.primary:not(.woocommerce ul.products li.product .button):not(.catalog-product-card .button):not(.product-card .button),
.btn-primary:not(.woocommerce ul.products li.product .btn-primary):not(.catalog-product-card .btn-primary):not(.product-card .btn-primary),
.woocommerce .button.primary:not(.woocommerce ul.products li.product .button):not(.catalog-product-card .button):not(.product-card .button),
.woocommerce button.button.primary:not(.woocommerce ul.products li.product button):not(.catalog-product-card button):not(.product-card button),
.woocommerce .add_to_cart_button:not(.woocommerce ul.products li.product .add_to_cart_button):not(.catalog-product-card .add_to_cart_button):not(.product-card .add_to_cart_button),
#place_order,
/* Cualquier elemento con fondo naranja configurado - EXCLUIR del catálogo */
[style*='background-color: var(--button-primary)']:not(.woocommerce ul.products li.product):not(.catalog-product-card):not(.product-card),
[style*='background-color: #ff9000']:not(.woocommerce ul.products li.product):not(.catalog-product-card):not(.product-card),
[style*='background-color: #ff9500']:not(.woocommerce ul.products li.product):not(.catalog-product-card):not(.product-card) {
  color: var(--button-primary-text, #ffffff) !important;
}

/* Iconos dentro de botones primarios - Usar color de iconos - EXCLUIR del catálogo */
button[style*='background-color: var(--button-primary)'] svg:not(.woocommerce ul.products li.product button svg):not(.catalog-product-card button svg):not(.product-card button svg),
button[style*='background-color: #ff9000'] svg:not(.woocommerce ul.products li.product button svg):not(.catalog-product-card button svg):not(.product-card button svg),
button[style*='background-color: #ff9500'] svg:not(.woocommerce ul.products li.product button svg):not(.catalog-product-card button svg):not(.product-card button svg),
a[style*='background-color: var(--button-primary)'] svg:not(.woocommerce ul.products li.product a svg):not(.catalog-product-card a svg):not(.product-card a svg),
a[style*='background-color: #ff9000'] svg:not(.woocommerce ul.products li.product a svg):not(.catalog-product-card a svg):not(.product-card a svg),
a[style*='background-color: #ff9500'] svg:not(.woocommerce ul.products li.product a svg):not(.catalog-product-card a svg):not(.product-card a svg),
button.bg-brand-orange svg:not(.woocommerce ul.products li.product button svg):not(.catalog-product-card button svg):not(.product-card button svg),
a.bg-brand-orange svg:not(.woocommerce ul.products li.product a svg):not(.catalog-product-card a svg):not(.product-card a svg),
button.primary svg:not(.woocommerce ul.products li.product button svg):not(.catalog-product-card button svg):not(.product-card button svg),
.button.primary svg:not(.woocommerce ul.products li.product .button svg):not(.catalog-product-card .button svg):not(.product-card .button svg),
.btn-primary svg:not(.woocommerce ul.products li.product .btn-primary svg):not(.catalog-product-card .btn-primary svg):not(.product-card .btn-primary svg),
.woocommerce .button.primary svg:not(.woocommerce ul.products li.product .button svg):not(.catalog-product-card .button svg):not(.product-card .button svg),
.woocommerce button.button.primary svg:not(.woocommerce ul.products li.product button svg):not(.catalog-product-card button svg):not(.product-card button svg),
.woocommerce .add_to_cart_button svg:not(.woocommerce ul.products li.product .add_to_cart_button svg):not(.catalog-product-card .add_to_cart_button svg):not(.product-card .add_to_cart_button svg),
#place_order svg,
[style*='background-color: var(--button-primary)'] svg:not(.woocommerce ul.products li.product svg):not(.catalog-product-card svg):not(.product-card svg),
[style*='background-color: #ff9000'] svg:not(.woocommerce ul.products li.product svg):not(.catalog-product-card svg):not(.product-card svg),
[style*='background-color: #ff9500'] svg:not(.woocommerce ul.products li.product svg):not(.catalog-product-card svg):not(.product-card svg) {
  color: var(--button-primary-icon, #ffffff) !important;
  fill: var(--button-primary-icon, #ffffff) !important;
  stroke: var(--button-primary-icon, #ffffff) !important;
}
/* Texto dentro de botones primarios - Usar color de texto - EXCLUIR del catálogo */
button[style*='background-color: var(--button-primary)'] span:not(.woocommerce ul.products li.product button span):not(.catalog-product-card button span):not(.product-card button span),
button[style*='background-color: #ff9000'] span:not(.woocommerce ul.products li.product button span):not(.catalog-product-card button span):not(.product-card button span),
button[style*='background-color: #ff9500'] span:not(.woocommerce ul.products li.product button span):not(.catalog-product-card button span):not(.product-card button span),
a[style*='background-color: var(--button-primary)'] span:not(.woocommerce ul.products li.product a span):not(.catalog-product-card a span):not(.product-card a span),
a[style*='background-color: #ff9000'] span:not(.woocommerce ul.products li.product a span):not(.catalog-product-card a span):not(.product-card a span),
a[style*='background-color: #ff9500'] span:not(.woocommerce ul.products li.product a span):not(.catalog-product-card a span):not(.product-card a span),
button.bg-brand-orange span:not(.woocommerce ul.products li.product button span):not(.catalog-product-card button span):not(.product-card button span),
a.bg-brand-orange span:not(.woocommerce ul.products li.product a span):not(.catalog-product-card a span):not(.product-card a span),
button.primary span:not(.woocommerce ul.products li.product button span):not(.catalog-product-card button span):not(.product-card button span),
.button.primary span:not(.woocommerce ul.products li.product .button span):not(.catalog-product-card .button span):not(.product-card .button span),
.btn-primary span:not(.woocommerce ul.products li.product .btn-primary span):not(.catalog-product-card .btn-primary span):not(.product-card .btn-primary span),
.woocommerce .button.primary span:not(.woocommerce ul.products li.product .button span):not(.catalog-product-card .button span):not(.product-card .button span),
.woocommerce button.button.primary span:not(.woocommerce ul.products li.product button span):not(.catalog-product-card button span):not(.product-card button span),
.woocommerce .add_to_cart_button span:not(.woocommerce ul.products li.product .add_to_cart_button span):not(.catalog-product-card .add_to_cart_button span):not(.product-card .add_to_cart_button span),
#place_order span,
[style*='background-color: var(--button-primary)'] span:not(.woocommerce ul.products li.product span):not(.catalog-product-card span):not(.product-card span),
[style*='background-color: #ff9000'] span:not(.woocommerce ul.products li.product span):not(.catalog-product-card span):not(.product-card span),
[style*='background-color: #ff9500'] span:not(.woocommerce ul.products li.product span):not(.catalog-product-card span):not(.product-card span) {
  color: var(--button-primary-text, #ffffff) !important;
}

/* ============================================
   ESTILOS PARA CATÁLOGO - COLORES GLOBALES
   ============================================ */

/* Títulos y textos del catálogo */
.catalogo-page, .catalogo-page *,
.catalogo-header, .catalogo-header *,
.catalogo-content, .catalogo-content * {
  color: hsl(var(--text-color, 270 35% 40%)) !important;
}

.catalogo-title, .catalogo-title *,
.catalogo-page h1, .catalogo-page h2, .catalogo-page h3 {
  color: hsl(var(--title-color, 270 35% 40%)) !important;
}

.catalogo-subtitle, .catalogo-subtitle * {
  color: hsl(var(--text-color, 270 35% 40%)) !important;
}

/* Títulos de productos en catálogo - Sobrescribir estilos inline */
.woocommerce ul.products li.product h3,
.woocommerce ul.products li.product h3 *,
.catalog-product-card h3,
.catalog-product-card h3 *,
.catalog-product-card .product-title-catalog,
.catalog-product-card .product-title-catalog * {
  color: hsl(var(--title-color, 270 35% 40%)) !important;
}

/* Descripciones de productos en catálogo - Sobrescribir estilos inline */
.woocommerce ul.products li.product p,
.woocommerce ul.products li.product p *,
.catalog-product-card p,
.catalog-product-card p *,
.catalog-product-card .product-description-catalog,
.catalog-product-card .product-description-catalog * {
  color: hsl(var(--text-color, 270 35% 40%)) !important;
}

/* Precios de productos en catálogo */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price *,
.catalog-product-card .price,
.catalog-product-card .price *,
.product-price-row,
.product-price-row * {
  color: hsl(var(--brand-mauve, 270 35% 71%)) !important;
}

