/* ==========================================================================
   En Balance · Materia Clara — ficha de producto.
   Solo se decide DÓNDE va cada pieza en celular (base), tableta (≥ 768 px)
   y escritorio (≥ 1024 px), y se viste el formulario de WooCommerce.
   Materiales en materia-clara.css; migas y cielo en eb-tienda.css.
   ========================================================================== */

.mc-ficha { --mc-alto-amanecer: 560px; }

/* ---- Foto y compra: migas → galería → información (celular) ---- */
.mc-ficha-arriba { display: grid; grid-template-areas: "migas" "galeria" "info"; gap: var(--mc-e4); padding-top: var(--mc-e4); }
.mc-ficha-arriba > .mc-migas { grid-area: migas; }
.mc-ficha-galeria { grid-area: galeria; min-width: 0; }
.mc-ficha-info { grid-area: info; min-width: 0; display: flex; flex-direction: column; gap: var(--mc-e4); }

/* ---- Galería: vitrinas que se deslizan; puntos (celular) o miniaturas ---- */
.mc-galeria {
  display: flex; gap: var(--mc-e3); overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none;
  scroll-snap-type: x mandatory; border-radius: var(--mc-r-pieza);
}
.mc-galeria::-webkit-scrollbar { display: none; }
.mc-vitrina--ficha { flex: none; width: 100%; aspect-ratio: 1; margin: 0; scroll-snap-align: start; }
.mc-vitrina--ficha img { width: 84%; height: 84%; }
.mc-galeria-control { margin-top: var(--mc-e3); }
.mc-miniaturas { display: none; }
@media (hover: hover) and (pointer: fine) { .mc-galeria { scroll-snap-type: none; } }

/* ---- Nombre, precio y resumen ---- */
.mc-ficha-cabeza { display: flex; flex-direction: column; gap: var(--mc-e3); }
.mc-ficha-titulo { margin: 0; display: flex; flex-direction: column; gap: var(--mc-e2); }
.mc-ficha-nombre { font-size: clamp(32px, 1.2rem + 2vw, 48px); font-weight: 700; line-height: 1.05; letter-spacing: -.04em; text-wrap: balance; }
.mc-ficha-subtitulo { font-size: clamp(16px, .9rem + .35vw, 19px); font-weight: 400; line-height: 1.45; letter-spacing: 0; color: var(--mc-texto-2); text-wrap: pretty; }
.mc-ficha-precio { margin: 0; font-size: 26px; }
.mc-mundo .mc-ficha-precio *, .mc-mundo .mc-compra-fija .mc-precio * {
  margin: 0 !important; padding: 0 !important; font-size: inherit !important; font-weight: inherit !important; line-height: 1.2 !important; color: inherit !important;
}
/* "Quitar selección" solo ocupa lugar cuando hay algo que quitar. */
.mc-compra .reset_variations[style*="hidden"] { display: none !important; }
.mc-compra .reset_variations { margin-top: var(--mc-e3) !important; }
.mc-compra .select-box::before, .mc-compra .select-box::after { content: none !important; display: none !important; }
.mc-mundo .mc-compra .shopengine_swatches .swatch { width: 100%; box-sizing: border-box; }
.mc-ficha-corta { display: flex; flex-direction: column; gap: var(--mc-e2); font-size: 16px; line-height: 1.6; color: var(--mc-texto-2); }
.mc-mundo .mc-ficha-corta p { margin: 0; }

/* ---- Vidrio de compra ---- */
/* Presentaciones y sabores de los paquetes (E52). */
.mc-mundo .mc-presentaciones { margin: var(--mc-e4) 0; }
.mc-mundo .mc-presentaciones-rotulo { margin: 0 0 var(--mc-e2); font-weight: 600; }
.mc-mundo .mc-presentaciones-fila { display: grid; grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); gap: var(--mc-e2); }
.mc-mundo .mc-presentacion {
  display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px;
  min-height: var(--mc-toque); padding: var(--mc-e3) var(--mc-e4); border-radius: 20px;
  color: var(--mc-tinta); text-decoration: none; text-align: left; font-size: 14px; line-height: 1.3;
  background: rgba(255,255,255,.55) !important; box-shadow: inset 0 0 0 1px rgba(30,50,70,.14) !important;
  transition: background .2s, box-shadow .2s;
}
.mc-mundo a.mc-presentacion:hover { background: rgba(255,255,255,.85) !important; box-shadow: inset 0 0 0 1px rgba(30,50,70,.28) !important; }
.mc-mundo .mc-presentacion-etiqueta { font-size: 13px; font-weight: 500; color: var(--mc-texto-2, inherit); }
.mc-mundo .mc-presentacion-precio { font-size: 16px; font-weight: 600; }
.mc-mundo .mc-presentacion-precio, .mc-mundo .mc-presentacion-precio *, .mc-mundo .mc-presentacion small, .mc-mundo .mc-presentacion small * { color: inherit !important; }
.mc-mundo .mc-presentacion-precio > div { display: inline; }
.mc-mundo .mc-presentacion-precio del { opacity: .6; font-size: 13px; font-weight: 400; margin-right: 4px; }
.mc-mundo .mc-presentacion-precio ins { text-decoration: none; }
.mc-mundo .mc-presentacion small { font-size: 12px; opacity: .75; }
.mc-mundo .mc-presentacion[aria-current="page"] { background: var(--mc-acento) !important; box-shadow: 0 10px 22px -14px color-mix(in oklab, var(--mc-acento) 80%, transparent) !important; color: #fff; }
.mc-mundo .mc-presentacion[aria-current="page"] :is(.mc-presentacion-precio, small) :is(span, bdi, ins, del, .woocommerce-Price-amount, .woocommerce-Price-currencySymbol) { color: #fff !important; }
.mc-mundo .mc-presentacion[aria-current="page"] .mc-presentacion-etiqueta { color: rgba(255,255,255,.85); }
.mc-mundo .mc-presentacion--agotada { opacity: .55; }
.mc-mundo .mc-compra form.cart:has([data-eb-sabores]),
.mc-mundo .mc-compra form.cart :has(> [data-eb-sabores]) { flex-wrap: wrap !important; }
.mc-mundo .mc-paquete-sabores {
  flex: 0 0 100%; min-width: 0; width: 100%; margin: 0 0 var(--mc-e3); padding: 0; border: 0;
}
.mc-mundo .mc-paquete-sabores legend { padding: 0; margin-bottom: var(--mc-e3); font-size: 16px; font-weight: 600; color: var(--mc-tinta); }
.mc-mundo .mc-paquete-sabor { display: flex; justify-content: space-between; align-items: center; gap: var(--mc-e2); margin-bottom: var(--mc-e2); }
.mc-mundo .mc-paquete-sabor label { margin: 0; font-size: 15px; color: var(--mc-tinta); }
.mc-mundo .mc-paquete-contador { flex: none; display: flex; align-items: center; border-radius: var(--mc-r-pildora); }
.mc-mundo .mc-paquete-contador button {
  display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: var(--mc-r-pildora);
  background: transparent; color: var(--mc-tinta); font: 600 18px/1 var(--mc-fuente); cursor: pointer;
}
.mc-mundo .mc-paquete-contador button[hidden] { display: none; }
.mc-mundo .mc-paquete-contador input {
  width: 44px; height: 44px; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none;
  text-align: center; color: var(--mc-tinta); font: 600 16px/1 var(--mc-fuente); appearance: textfield;
}
.mc-mundo .mc-paquete-contador input::-webkit-inner-spin-button,
.mc-mundo .mc-paquete-contador input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.mc-mundo .mc-paquete-sabores p { margin: var(--mc-e2) 0 0; }
.mc-mundo .mc-paquete-contador button:disabled,
.mc-mundo .mc-compra .single_add_to_cart_button:disabled,
.mc-mundo [data-mc-comprar]:disabled { opacity: .45 !important; cursor: not-allowed; box-shadow: none !important; }
.mc-mundo .mc-paquete-sabores-bajada { margin: calc(-1 * var(--mc-e2)) 0 var(--mc-e3) !important; }

.mc-compra { padding: var(--mc-e4); display: flex; flex-direction: column; gap: var(--mc-e3); }
.mc-compra > .mc-boton { align-self: flex-start; }
.mc-compra-confianza { margin: 0; text-align: center; }
.mc-mundo .mc-compra form.cart { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.mc-compra form.cart:not(.variations_form),
.mc-compra .variations_button { display: flex !important; flex-wrap: nowrap; align-items: center; gap: var(--mc-e2); }
.mc-compra .variations_form { display: flex; flex-direction: column; gap: var(--mc-e3); }
.mc-compra .single_variation_wrap, .mc-compra .detail-attr.qty-cart { display: flex; flex-direction: column; gap: var(--mc-e3); margin: 0 !important; }

/* Cantidad: una píldora con − y + */
.mc-mundo .mc-compra .detail-qty {
  flex: none; display: inline-flex !important; align-items: center; height: 52px; margin: 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: var(--mc-r-pildora); background: rgba(255,255,255,.55) !important; box-shadow: inset 0 0 0 1px rgba(22,21,20,.1) !important;
}
.mc-mundo .mc-compra .detail-qty a {
  width: 44px; height: 52px; display: grid !important; place-items: center; margin: 0 !important; padding: 0 !important;
  border: 0 !important; background: none !important; color: var(--mc-tinta) !important; font-size: 16px !important; line-height: 1 !important;
}
.mc-mundo .mc-compra .detail-qty input.qty {
  width: 32px !important; height: 52px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important;
  text-align: center; font: 600 16px/52px var(--mc-fuente) !important; color: var(--mc-tinta) !important; -moz-appearance: textfield;
}

/* El botón de compra es EL botón principal de la ficha */
.mc-mundo .mc-compra .single_add_to_cart_button {
  flex: 1 1 auto; min-width: 0; height: 52px; margin: 0 !important; padding: 0 var(--mc-e4) !important;
  border: 0 !important; border-radius: var(--mc-r-pildora) !important; background: var(--mc-acento) !important; color: #fff !important;
  font: 600 16px/52px var(--mc-fuente) !important; letter-spacing: 0 !important; text-transform: none !important; box-shadow: none !important; cursor: pointer;
  transition: background .2s ease, transform .16s ease-out;
}
.mc-mundo .mc-compra .single_add_to_cart_button:hover { background: var(--mc-acento-hover) !important; }
.mc-mundo .mc-compra .single_add_to_cart_button:active { transform: scale(.97); }
.mc-mundo .mc-compra .single_add_to_cart_button.disabled { opacity: .45; cursor: not-allowed; }
.mc-mundo .mc-compra .single_add_to_cart_button.eb-ocupado { opacity: .7; cursor: progress; }
.mc-aviso-compra { margin: 0; font-size: 14px; font-weight: 600; color: var(--mc-tinta); }

/* Sabores: muestras en fila; la elegida se marca en tinta, como las categorías */
.mc-compra .variations { margin: 0 !important; }
.mc-compra .variations .detail-attr { margin: 0 !important; }
.mc-mundo .mc-compra .variations .title-atttr { margin: 0 0 var(--mc-e3); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mc-texto-3); }
.mc-compra .shopengine_swatches { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--mc-e2); }
.mc-mundo .mc-compra .shopengine_swatches .swatch {
  min-width: 0; padding: var(--mc-e3) var(--mc-e2); gap: var(--mc-e2); border: 0; border-radius: var(--mc-r-campo);
  background: rgba(255,255,255,.55); box-shadow: inset 0 0 0 1px rgba(22,21,20,.1);
  -webkit-backdrop-filter: none; backdrop-filter: none; font-size: 13px; color: var(--mc-tinta);
}
.mc-mundo .mc-compra .shopengine_swatches .swatch:hover { transform: none; background: rgba(255,255,255,.8); }
.mc-mundo .mc-compra .shopengine_swatches .swatch.eb-activo { background: #fff; color: var(--mc-tinta); box-shadow: inset 0 0 0 2px var(--mc-tinta); }
.mc-mundo .mc-compra .shopengine_swatches .swatch img { width: 44px; height: 44px; }
.mc-mundo .mc-compra .mc-con-guia .swatch.eb-activo { box-shadow: inset 0 0 0 1px rgba(22,21,20,.1); }   /* el aro lo pone la pieza que se desliza */
.mc-compra .reset_variations { font-size: 13px; color: var(--mc-texto-2) !important; text-decoration: underline; text-underline-offset: 3px; }
.mc-compra .woocommerce-variation-price .price { font-size: 20px !important; font-weight: 700; color: var(--mc-tinta) !important; }
.mc-compra .woocommerce-variation:empty { display: none; }
.mc-compra .eb-sabor-aviso { margin: 0 !important; font-size: 14px; color: var(--mc-tinta) !important; }
.mc-compra .stock { margin: 0; font-size: 14px; color: var(--mc-texto-2); }

/* Avisos de WooCommerce junto a la compra ("no hay suficientes", etc.) */
.mc-ficha .woocommerce-notices-wrapper:empty { display: none; }
.mc-mundo .mc-ficha-info .woocommerce-error, .mc-mundo .mc-ficha-info .woocommerce-info, .mc-mundo .mc-ficha-info .woocommerce-message {
  margin: 0 !important; padding: var(--mc-e3) var(--mc-e4) !important; list-style: none; border: 0 !important; border-radius: var(--mc-r-campo);
  background: rgba(255,255,255,.7) !important; box-shadow: inset 0 0 0 1px rgba(22,21,20,.12); color: var(--mc-tinta) !important; font-size: 15px;
}
.mc-mundo .mc-ficha-info .woocommerce-error::before, .mc-mundo .mc-ficha-info .woocommerce-info::before, .mc-mundo .mc-ficha-info .woocommerce-message::before { content: none !important; }

/* ---- Para decidir: descripción y preguntas ---- */
.mc-ficha-descripcion .mc-h2, .mc-ficha-mas .mc-preguntas .mc-h2 { margin-bottom: var(--mc-e3); }
.mc-prosa { display: flex; flex-direction: column; gap: var(--mc-e3); max-width: 65ch; font-size: 16px; line-height: 1.65; color: var(--mc-texto-2); }
.mc-mundo .mc-prosa p, .mc-mundo .mc-prosa ul, .mc-mundo .mc-prosa ol { margin: 0; }
.mc-prosa ul, .mc-prosa ol { padding-left: 1.2em; display: flex; flex-direction: column; gap: var(--mc-e1); }
.mc-prosa strong, .mc-prosa b { color: var(--mc-tinta); font-weight: 600; }
.mc-mundo .mc-prosa h2, .mc-mundo .mc-prosa h3, .mc-mundo .mc-prosa h4 { margin: var(--mc-e2) 0 0; font-size: 18px; font-weight: 700; color: var(--mc-tinta); }
.mc-datos { display: grid; grid-template-columns: auto 1fr; gap: var(--mc-e2) var(--mc-e4); margin: 0; }
.mc-datos dt { font-weight: 600; color: var(--mc-tinta); }
.mc-datos dd { margin: 0; }
.mc-estrellas { font-size: 14px; letter-spacing: .12em; color: var(--mc-tinta); }

/* La barra fija de compra vive en eb-inicio.css (la usan ficha y carrito). */
.mc-ficha-pagina .mc-pie { padding-bottom: var(--mc-e7); }

/* ---- Tableta: foto y compra lado a lado ---- */
@media (min-width: 768px) {
  .mc-ficha-arriba {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "migas migas" "galeria info";
    column-gap: var(--mc-e5); align-items: start;
  }
}

/* ---- Escritorio: la foto acompaña mientras se lee ---- */
@media (min-width: 1024px) {
  .mc-ficha { --mc-alto-amanecer: 640px; --mc-halo-ancho: 760px; --mc-halo-alto: 560px; --mc-luz-radio: 420px; }
  .mc-ficha-arriba { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); column-gap: var(--mc-e6); padding-top: var(--mc-e5); }
  .mc-ficha-galeria { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 89px); }
  .mc-galeria-control { justify-content: flex-start; padding-left: 0; margin-top: var(--mc-e3); }
  .mc-miniaturas { display: flex; flex-wrap: wrap; gap: var(--mc-e2); }
  .mc-mundo .mc-miniatura {
    width: 72px; height: 72px; padding: 0 !important; margin: 0 !important; border: 0 !important; cursor: pointer;
    border-radius: var(--mc-r-campo) !important; background: #fff !important; box-shadow: inset 0 0 0 1px rgba(22,21,20,.08) !important;
  }
  .mc-mundo .mc-miniatura.mc-activo { box-shadow: inset 0 0 0 2px var(--mc-tinta) !important; }
  .mc-compra { padding: var(--mc-e5); }
  .mc-ficha-pagina .mc-pie { padding-bottom: var(--mc-e5); }
}

/* Acercarte al producto (con ratón): la foto se acerca donde está la mano, como una lupa */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .mc-vitrina--ficha { cursor: zoom-in; }
  .mc-vitrina--ficha img { transition: transform .45s var(--mc-curva-layout); transform-origin: var(--mc-lupa-x, 50%) var(--mc-lupa-y, 50%); }
  .mc-vitrina--ficha.mc-lupa img { transform: scale(1.6); }
}
