/* =========================================================================
   EMILIS — woo.css
   WooCommerce con la piel del tema: tarjetas de producto, ficha, carrito.
   ====================================================================== */

/* -------------------------------------------------------------------------
   1. Contenedor y cabecera de catálogo
   ---------------------------------------------------------------------- */

.woocommerce-page .e-site-main,
.woocommerce .e-site-main { background: var(--e-ivory); }

.woocommerce .site-main,
.woocommerce-page .site-main {
  width: min(100% - 2.5rem, var(--e-max));
  margin-inline: auto;
  padding-block: clamp(2.5rem, 5vw, 4.5rem);
}

.woocommerce-products-header__title,
.woocommerce .page-title {
  font-family: var(--e-font-display);
  font-size: var(--e-fs-h2);
  font-weight: 500;
  letter-spacing: -0.015em;
  margin-bottom: .4rem;
}

.woocommerce-result-count {
  font-size: .78rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--e-ink-soft);
}

.woocommerce-ordering select {
  padding: .6rem 1rem;
  border: 1px solid var(--e-line-light);
  border-radius: 999px;
  background: #fff;
  font-family: var(--e-font-body);
  font-size: .82rem;
}

/* -------------------------------------------------------------------------
   2. Rejilla de productos
   ---------------------------------------------------------------------- */

.woocommerce ul.products,
.wc-block-grid__products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
  gap: clamp(1rem, 2.2vw, 2rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none; }

.woocommerce ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 0;
  border: 1px solid var(--e-line-light);
  border-radius: var(--e-radius-lg);
  background: #fff;
  overflow: hidden;
  transition: transform .5s var(--e-ease), box-shadow .5s var(--e-ease), border-color .5s var(--e-ease-soft);
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-6px);
  border-color: rgba(201, 169, 97, .55);
  box-shadow: 0 22px 50px rgba(26, 26, 28, .12);
}

/* --- Imagen --- */

.woocommerce ul.products li.product a img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  margin: 0;
  background: var(--e-onyx-2);
  transition: transform .8s var(--e-ease), filter .6s var(--e-ease-soft);
}

.woocommerce ul.products li.product:hover a img {
  transform: scale(1.045);
  filter: brightness(1.06);
}

/* Velo dorado que aparece sobre la foto al pasar el ratón */
.woocommerce ul.products li.product > a:first-of-type {
  position: relative;
  display: block;
  overflow: hidden;
  text-decoration: none;
}

.woocommerce ul.products li.product > a:first-of-type::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(201, 169, 97, .22) 100%);
  opacity: 0;
  transition: opacity .5s var(--e-ease-soft);
  pointer-events: none;
}

.woocommerce ul.products li.product:hover > a:first-of-type::after { opacity: 1; }

/* --- Texto --- */

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--e-font-display) !important;
  font-size: 1.32rem !important;
  font-weight: 500;
  line-height: 1.18;
  color: var(--e-ink);
  padding: 1.1rem 1.2rem .3rem !important;
  margin: 0;
}

.woocommerce ul.products li.product .price {
  display: block;
  padding: 0 1.2rem;
  margin: 0 0 .2rem;
  font-family: var(--e-font-body);
  font-size: 1.02rem !important;
  font-weight: 500;
  color: var(--e-gold-deep) !important;
}

.woocommerce ul.products li.product .price del {
  color: var(--e-ink-soft);
  opacity: .6;
  font-weight: 300;
  margin-right: .4rem;
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none;
  font-weight: 600;
}

.woocommerce ul.products li.product .star-rating {
  margin: .3rem 1.2rem .2rem !important;
  font-size: .72rem;
  color: var(--e-gold);
}

/* --- Botón de la tarjeta --- */

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
  margin: auto 1.2rem 1.2rem !important;
  padding: .82rem 1.2rem !important;
  border: 1px solid var(--e-ink) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--e-ink) !important;
  font-family: var(--e-font-body);
  font-size: .74rem !important;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  transition: background .4s var(--e-ease-soft), color .4s var(--e-ease-soft), border-color .4s var(--e-ease-soft);
}

.woocommerce ul.products li.product .button:hover {
  background: var(--e-ink) !important;
  color: var(--e-ivory) !important;
  border-color: var(--e-ink) !important;
}

.woocommerce ul.products li.product .button.loading { opacity: .6; }

.woocommerce ul.products li.product .added_to_cart {
  background: var(--e-grad-gold) !important;
  border-color: transparent !important;
  color: #14110A !important;
}

/* Las etiquetas de oferta nativas (WooCommerce y Astra) las sustituye
   nuestro .e-badge--sale dorado. */
.woocommerce span.onsale,
.ast-onsale-card,
.ast-on-card-button.ast-onsale-card { display: none !important; }

/* -------------------------------------------------------------------------
   3. Ficha de producto
   ---------------------------------------------------------------------- */

.woocommerce div.product .product_title {
  font-family: var(--e-font-display);
  font-size: clamp(2rem, 1.5rem + 1.8vw, 3.1rem);
  font-weight: 500;
  letter-spacing: -0.018em;
  margin-bottom: .5rem;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--e-font-body);
  font-size: 1.6rem !important;
  font-weight: 500;
  color: var(--e-gold-deep) !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: 1.02rem;
  font-weight: 300;
  color: var(--e-ink-soft);
  max-width: 52ch;
}

.woocommerce div.product div.images img { border-radius: var(--e-radius-lg); }

/* Aviso de plazo de envío (inyectado desde functions.php) */
.e-shipping-note {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  margin: 1.4rem 0;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(201, 169, 97, .38);
  border-radius: var(--e-radius);
  background: rgba(201, 169, 97, .07);
  font-size: .86rem;
  font-weight: 300;
  line-height: 1.55;
  color: var(--e-ink);
}

.e-shipping-note svg { flex: none; margin-top: 2px; color: var(--e-gold-deep); }
.e-shipping-note strong { font-weight: 600; }

/* Botón principal de compra */
.woocommerce div.product form.cart .button,
.woocommerce .single_add_to_cart_button {
  position: relative;
  padding: 1.05rem 2.4rem !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--e-grad-gold) !important;
  background-size: 220% 100% !important;
  color: #14110A !important;
  font-family: var(--e-font-body);
  font-size: .82rem !important;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  box-shadow: 0 10px 30px rgba(201, 169, 97, .3);
  transition: transform .35s var(--e-ease), box-shadow .35s var(--e-ease);
  animation: e-gold-pan 7s var(--e-ease-soft) infinite;
}

.woocommerce div.product form.cart .button:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 44px rgba(201, 169, 97, .45);
}

.woocommerce div.product form.cart div.quantity input {
  height: 100%;
  padding: .9rem .6rem;
  border: 1px solid var(--e-line-light);
  border-radius: 999px;
  font-family: var(--e-font-body);
  text-align: center;
}

/* Pestañas */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--e-line-light);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before { border: 0; }

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 1.8rem 0 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  padding: .9rem 0 !important;
  font-family: var(--e-font-body);
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--e-ink-soft) !important;
  border-bottom: 2px solid transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--e-ink) !important;
  border-bottom-color: var(--e-gold);
}

/* Tabla de atributos */
.woocommerce table.shop_attributes {
  border: 0;
  border-collapse: collapse;
}

.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
  padding: .85rem 0;
  border: 0;
  border-bottom: 1px solid var(--e-line-light);
  font-style: normal;
  text-align: left;
}

.woocommerce table.shop_attributes th {
  width: 34%;
  font-family: var(--e-font-body);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--e-gold-deep);
}

.woocommerce table.shop_attributes td { font-weight: 300; }

/* -------------------------------------------------------------------------
   4. Carrito y checkout
   ---------------------------------------------------------------------- */

.woocommerce table.shop_table {
  border: 1px solid var(--e-line-light);
  border-radius: var(--e-radius-lg);
  border-collapse: separate;
  overflow: hidden;
  background: #fff;
}

.woocommerce table.shop_table th {
  font-family: var(--e-font-body);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--e-ink-soft);
}

.woocommerce .cart_totals h2,
.woocommerce-checkout h3,
.woocommerce-billing-fields h3 {
  font-family: var(--e-font-display);
  font-size: 1.7rem;
  font-weight: 500;
}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #payment #place_order {
  padding: .95rem 2rem;
  border: 0;
  border-radius: 999px;
  background: var(--e-ink);
  color: var(--e-ivory);
  font-family: var(--e-font-body);
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  transition: background .35s var(--e-ease-soft), transform .35s var(--e-ease);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: #000; transform: translateY(-2px); }

.woocommerce #payment #place_order,
.woocommerce button.button.alt {
  background: var(--e-grad-gold);
  background-size: 220% 100%;
  color: #14110A;
  font-weight: 600;
  animation: e-gold-pan 7s var(--e-ease-soft) infinite;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single {
  padding: .85rem 1rem !important;
  height: auto !important;
  border: 1px solid var(--e-line-light) !important;
  border-radius: 10px !important;
  background: #fff;
  font-family: var(--e-font-body);
  font-size: .95rem;
}

.woocommerce form .form-row label {
  font-size: .74rem;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--e-ink-soft);
}

/* Mensajes */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top: 0;
  border-left: 3px solid var(--e-gold);
  border-radius: 0 var(--e-radius) var(--e-radius) 0;
  background: rgba(201, 169, 97, .09);
  font-size: .92rem;
}

.woocommerce-message::before,
.woocommerce-info::before { color: var(--e-gold-deep); }
.woocommerce-error { border-left-color: #9C3B3B; background: rgba(156, 59, 59, .07); }

/* -------------------------------------------------------------------------
   4b. Página de categoría (taxonomy-product_cat.php)
   ---------------------------------------------------------------------- */

.e-cat__head {
  position: relative;
  padding-block: clamp(6.5rem, 5rem + 8vw, 9rem) clamp(2.5rem, 4vw, 4rem);
  background: var(--e-onyx);
  color: var(--e-on-dark);
  overflow: hidden;
  isolation: isolate;
}

.e-cat__head-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(60% 90% at 50% 0%, rgba(201, 169, 97, .20) 0%, transparent 60%),
    radial-gradient(50% 60% at 50% 100%, rgba(168, 135, 63, .12) 0%, transparent 65%);
  animation: e-breathe 16s var(--e-ease-soft) infinite;
}

.e-cat__title {
  font-size: clamp(2.4rem, 1.7rem + 3vw, 4.4rem);
  margin: .6rem 0 1.1rem;
}

.e-cat__intro {
  margin-inline: auto;
  color: var(--e-on-dark-mut);
}

.e-cat__intro strong { color: var(--e-gold-light); font-weight: 500; }

.e-cat__count {
  margin-top: 1.4rem;
  font-size: .74rem;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--e-gold);
}

/* La rejilla de productos hereda de la sección 2, solo ajustamos el fondo. */
.e-cat__products { background: var(--e-ivory); }

.woocommerce .e-cat__products .site-main,
.e-cat__products .e-container { padding-block: 0; }

/* Ordenación y contador nativos de Woo dentro de la categoría */
.e-cat__products .woocommerce-ordering { margin-bottom: 2rem; }

.e-cat__empty { padding-block: clamp(2rem, 5vw, 4rem); }
.e-cat__empty .e-cta-ring { margin-top: 1.5rem; display: inline-block; }

/* Paginación */
.woocommerce nav.woocommerce-pagination ul {
  border: 0;
  display: flex;
  gap: .5rem;
  justify-content: center;
  margin-top: 3rem;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: grid;
  place-items: center;
  min-width: 44px;
  height: 44px;
  padding: 0 .6rem;
  border: 1px solid var(--e-line-light);
  border-radius: 999px;
  background: #fff;
  font-family: var(--e-font-body);
  font-size: .9rem;
  color: var(--e-ink);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--e-grad-gold);
  border-color: transparent;
  color: #14110A;
  font-weight: 600;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
  border-color: var(--e-gold);
}

/* FAQ de categoría reutiliza .e-faq de home.css */
.e-cat__faq { border-top: 1px solid rgba(201, 169, 97, .12); }

/* -------------------------------------------------------------------------
   5. Móvil
   ---------------------------------------------------------------------- */

@media (max-width: 640px) {
  .woocommerce ul.products,
  .wc-block-grid__products {
    grid-template-columns: repeat(2, 1fr);
    gap: .8rem;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 1.05rem !important;
    padding: .8rem .8rem .2rem !important;
  }

  .woocommerce ul.products li.product .price { padding-inline: .8rem; font-size: .92rem !important; }

  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product .added_to_cart {
    margin: auto .8rem .8rem !important;
    padding: .7rem .8rem !important;
    font-size: .64rem !important;
    letter-spacing: .1em;
  }
}
