/* ==========================================================================
   CSS OFICIAL MAESTRO — VELLAPERFUMERIA.COM
   SOLUCIÓN INTEGRAL DE CONTRASTE, TEXTO COMPLETO Y FOOTER CON LETRAS BLANCAS
   
   OBJETIVOS RESUELTOS:
   1) TEXTO COMPLETO SIN RECORTES EN PRODUCTOS POR ATRIBUTO (cero line-clamp).
   2) SECCIÓN TIENDA CON FONDO NEGRO (#000000): Nombres y precios 100% blancos.
   3) FOOTER: Todas las letras, enlaces y textos en blanco puro (#FFFFFF).
   4) SECCIÓN FONDO BLANCO (#FFFFFF): Nombres, precios, modo de empleo e ingredientes en negro puro (#000000).
   5) ELIMINACIÓN DE CONFIGURACIÓN GENERAL CONFLICTIVA.
   ========================================================================== */

/* --------------------------------------------------------------------------
   BLOQUE 1: FOOTER — TODAS LAS LETRAS EN BLANCO PURO (#FFFFFF)
   Garantiza que el pie de página sea legible al 100% contra el fondo negro.
   -------------------------------------------------------------------------- */
footer,
footer.bg-black,
.site-footer,
#colophon,
.vella-footer,
.footer-grid-container,
div[class*="footer"],
section[class*="footer"] {
  background-color: #000000 !important;
  color: #ffffff !important;
}

footer *,
footer.bg-black *,
.site-footer *,
#colophon *,
.vella-footer * {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
footer .widget-title,
footer strong,
footer b {
  color: #ffffff !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  opacity: 1 !important;
}

footer a,
footer a *,
footer button,
footer button *,
footer p,
footer span,
footer li,
footer div,
footer small,
footer .copyright,
footer .footer-link-btn,
footer .text-gray-300,
footer .text-gray-400,
footer .text-gray-500,
footer .text-stone-300,
footer .text-stone-400,
footer .text-stone-500 {
  color: #ffffff !important;
  font-size: 13px !important;
  opacity: 1 !important;
  line-height: 1.6 !important;
}

footer a:hover,
footer a:hover *,
footer button:hover,
footer .footer-link-btn:hover {
  color: #fbbf24 !important;
  text-decoration: underline !important;
}

footer svg,
footer svg path {
  fill: currentColor !important;
  opacity: 1 !important;
}

/* --------------------------------------------------------------------------
   BLOQUE 2: ELIMINAR CUALQUIER RECORTE — TEXTO ÍNTEGRO VISIBLE SIEMPRE
   (Nombre, Precio, Descripción Larga, Modo de Empleo, Ingredientes)
   -------------------------------------------------------------------------- */
.product_title,
.woocommerce div.product .product_title,
.woocommerce-loop-product__title,
.vella-product-card-title,
.vella-product-title,
.product-name,
.entry-title,
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-product-details__short-description *,
.woocommerce div.product #tab-description,
.woocommerce div.product #tab-description *,
.woocommerce div.product .woocommerce-Tabs-panel--description,
.woocommerce div.product .woocommerce-Tabs-panel--description *,
.woocommerce div.product table.variations,
.woocommerce div.product table.variations *,
.woocommerce div.product table.shop_attributes,
.woocommerce div.product table.shop_attributes *,
.vella-product-usage,
.vella-product-usage *,
.vella-product-ingredients,
.vella-product-ingredients *,
.vella-ecommerce-detailed-view,
.vella-ecommerce-detailed-view *,
.vella-product-rich-info,
.vella-product-rich-info *,
.vella-product-card-desc,
.product-description {
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  display: block !important;
}

/* --------------------------------------------------------------------------
   BLOQUE 3: SECCIÓN FONDO NEGRO (#000000)
   NOMBRES, PRECIOS, DESCRIPCIONES EN BLANCO PURO (#FFFFFF)
   -------------------------------------------------------------------------- */
.bg-black,
.bg-stone-950,
.bg-stone-900,
.fondo-negro,
.tienda-negra,
.vella-dark-section,
[data-theme="dark"],
.dark,
.woocommerce-dark,
.section-dark {
  background-color: #000000 !important;
  color: #ffffff !important;
}

.bg-black .product_title,
.bg-black .woocommerce-loop-product__title,
.bg-black .woocommerce ul.products li.product .woocommerce-loop-product__title,
.bg-black .woocommerce ul.products li.product h2,
.bg-black .woocommerce ul.products li.product h3,
.bg-black h1,
.bg-black h2,
.bg-black h3,
.bg-black h4,
.bg-black .product-title,
.bg-black .product-title a,
.bg-black .vella-product-card-title,
.bg-black .vella-product-title,
.bg-black a,
.bg-black strong,
.fondo-negro .product_title,
.fondo-negro .woocommerce-loop-product__title,
.fondo-negro h1,
.fondo-negro h2,
.fondo-negro h3,
.fondo-negro a,
.fondo-negro .vella-product-card-title,
.tienda-negra .product_title,
.tienda-negra .woocommerce-loop-product__title,
.tienda-negra a,
.dark .product_title,
.dark .woocommerce-loop-product__title {
  color: #ffffff !important;
  opacity: 1 !important;
  font-weight: 800 !important;
  text-shadow: none !important;
}

.bg-black .price,
.bg-black .price *,
.bg-black .amount,
.bg-black .woocommerce-Price-amount,
.bg-black .vella-product-card-price,
.bg-black .woocommerce-variation-price,
.bg-black .woocommerce-variation-price *,
.fondo-negro .price,
.fondo-negro .price *,
.fondo-negro .amount,
.fondo-negro .woocommerce-Price-amount,
.tienda-negra .price,
.tienda-negra .price *,
.dark .price,
.dark .price * {
  color: #ffffff !important;
  opacity: 1 !important;
  font-weight: 900 !important;
}

.bg-black del,
.bg-black del *,
.fondo-negro del,
.fondo-negro del * {
  color: #d1d5db !important;
  opacity: 0.8 !important;
  text-decoration: line-through !important;
}

.bg-black p,
.bg-black span,
.bg-black li,
.bg-black div,
.bg-black small,
.bg-black .vella-product-card-desc,
.bg-black .vella-product-usage,
.bg-black .vella-product-usage *,
.bg-black .vella-product-ingredients,
.bg-black .vella-product-ingredients *,
.fondo-negro p,
.fondo-negro span,
.fondo-negro li,
.tienda-negra p {
  color: #f4f4f5 !important;
  opacity: 1 !important;
}

/* --------------------------------------------------------------------------
   BLOQUE 4: SECCIÓN FONDO BLANCO / PÁGINA DE PRODUCTO POR ATRIBUTO (#FFFFFF)
   NOMBRES, PRECIOS, MODO DE EMPLEO E INGREDIENTES EN NEGRO PURO (#000000)
   -------------------------------------------------------------------------- */
.single-product .summary,
.single-product form.cart,
.single-product .woocommerce-Tabs-panel,
.woocommerce div.product form.variations_form,
.seccion-blanca,
.bg-white {
  background-color: #ffffff !important;
  color: #000000 !important;
}

.single-product .product_title,
.woocommerce div.product .product_title,
.woocommerce div.product h1.entry-title,
.bg-white .product_title,
.seccion-blanca .product_title {
  color: #000000 !important;
  font-weight: 800 !important;
  font-size: 28px !important;
  line-height: 1.25 !important;
}

.single-product .summary .price,
.woocommerce div.product p.price,
.bg-white .price,
.seccion-blanca .price {
  color: #000000 !important;
  font-size: 24px !important;
  font-weight: 800 !important;
}

.single-product .summary .price del,
.woocommerce div.product p.price del {
  color: #71717a !important;
  font-size: 16px !important;
  text-decoration: line-through !important;
}

.single-product .summary .price ins,
.woocommerce div.product p.price ins {
  color: #000000 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-product-details__short-description p,
.woocommerce div.product #tab-description p,
.woocommerce div.product .woocommerce-Tabs-panel--description p {
  color: #18181b !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  opacity: 1 !important;
}

/* Modo de Empleo e Ingredientes en fondo blanco: Encabezados y textos negros legibles */
.vella-product-usage,
.vella-product-ingredients,
.woocommerce div.product .panel {
  color: #18181b !important;
  background: #ffffff !important;
}

.vella-product-usage h3,
.vella-product-ingredients h3,
.woocommerce div.product .panel h2,
.woocommerce div.product .panel h3,
.woocommerce div.product .panel h4 {
  color: #000000 !important;
  font-weight: 800 !important;
  font-size: 18px !important;
  margin: 18px 0 8px !important;
  border-bottom: 2px solid #000000 !important;
  padding-bottom: 4px !important;
  display: inline-block !important;
}

.vella-product-usage p,
.vella-product-ingredients p,
.vella-product-ingredients small {
  color: #18181b !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  opacity: 1 !important;
  display: block !important;
}

.vella-product-ingredients strong {
  color: #000000 !important;
  font-weight: 800 !important;
}

/* --------------------------------------------------------------------------
   BLOQUE 5: SELECTORES, DESPLEGABLES Y SWATCHES DE ATRIBUTOS
   -------------------------------------------------------------------------- */
.woocommerce div.product form.variations_form {
  background: #ffffff !important;
  border: 2px solid #000000 !important;
  border-radius: 14px !important;
  padding: 22px !important;
  margin: 20px 0 24px !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.05) !important;
}

.woocommerce div.product table.variations th.label,
.woocommerce div.product table.variations td.label,
.woocommerce div.product table.variations label {
  color: #000000 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  display: block !important;
  margin-bottom: 8px !important;
  text-align: left !important;
}

.woocommerce div.product table.variations select,
.woocommerce div.product .variations select,
.single-product select.form-control,
.single-product select {
  width: 100% !important;
  height: 50px !important;
  background-color: #ffffff !important;
  color: #000000 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  border: 2px solid #000000 !important;
  border-radius: 8px !important;
  padding: 0 16px !important;
  box-shadow: none !important;
  outline: none !important;
  cursor: pointer !important;
}

.woocommerce div.product table.variations select option,
.single-product select option {
  background-color: #ffffff !important;
  color: #000000 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 10px !important;
}

.variable-item,
.cfvsw-swatches-option,
.swatch-color,
.tawcvs-swatch {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  border: 2px solid #ffffff !important;
  box-shadow: 0 0 0 1.5px #000000 !important;
  cursor: pointer !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}

.variable-item.selected,
.cfvsw-swatches-option.selected,
.swatch-color.selected {
  box-shadow: 0 0 0 3.5px #000000 !important;
  transform: scale(1.12) !important;
}

.woocommerce-variation-price,
.woocommerce-variation-price .price,
.single_variation .price,
.single_variation .woocommerce-Price-amount {
  color: #000000 !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  display: block !important;
  margin: 12px 0 !important;
}

.woocommerce div.product form.cart input.qty,
.woocommerce .quantity input.qty {
  width: 70px !important;
  height: 50px !important;
  background: #ffffff !important;
  color: #000000 !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  text-align: center !important;
  border: 2px solid #000000 !important;
  border-radius: 8px !important;
}

.woocommerce div.product form.cart button.single_add_to_cart_button,
.woocommerce div.product button.single_add_to_cart_button.button,
.single-product .single_add_to_cart_button {
  background-color: #000000 !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  height: 50px !important;
  line-height: 50px !important;
  padding: 0 32px !important;
  border-radius: 8px !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.woocommerce div.product form.cart button.single_add_to_cart_button:hover {
  background-color: #27272a !important;
  transform: translateY(-1px) !important;
}

.woocommerce div.product table.shop_attributes {
  width: 100% !important;
  border: 2px solid #000000 !important;
  border-collapse: collapse !important;
  margin-top: 20px !important;
  background: #ffffff !important;
}

.woocommerce div.product table.shop_attributes th {
  background: #000000 !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  padding: 14px 18px !important;
  text-align: left !important;
  width: 25% !important;
}

.woocommerce div.product table.shop_attributes td,
.woocommerce div.product table.shop_attributes td p {
  color: #000000 !important;
  font-weight: 700 !important;
  padding: 14px 18px !important;
  font-size: 14px !important;
}
