/* ============================================================
   YEAAH COLOMBIA — WooCommerce Custom Styles
   Aplica el diseño YEAAH a todas las páginas de tienda,
   catálogo y producto individual.
   ============================================================ */

:root {
  --red: #D50000;
  --red-dk: #9B0000;
  --black: #0d0d0d;
  --dark: #161616;
  --surface: #f6f6f6;
  --border: #e5e5e5;
  --white: #fff;
  --text: #111;
  --text-dim: #555;
  --text-fade: #999;
  --fd: 'Oswald', sans-serif;
  --fb: 'Lato', sans-serif;
  --sh-sm: 0 2px 12px rgba(0,0,0,.06);
  --sh-md: 0 8px 32px rgba(0,0,0,.11);
  --sh-lg: 0 24px 64px rgba(0,0,0,.15);
  --sh-red: 0 6px 28px rgba(213,0,0,.3);
}

/* ── RESET GLOBAL ── */
body.woocommerce,
body.woocommerce-page,
body.tax-product_cat,
body.archive {
  background: #fff;
  color: var(--text);
  font-family: var(--fb);
}

/* ── CONTENEDOR PRINCIPAL ── */
.woocommerce,
.woocommerce-page {
  max-width: 100% !important;
}

.woocommerce .yc-woo-wrap,
.woocommerce-page .yc-woo-wrap {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 5vw;
}

/* Wrapper general de WooCommerce */
.woocommerce [class*="woocommerce-"] {
  font-family: var(--fb);
}

/* ── HERO DE CATEGORÍA ── */
.yc-cat-hero {
  background: var(--black);
  padding: 4rem 5vw 3rem;
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
}
.yc-cat-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 42px 42px;
  pointer-events: none;
}
.yc-cat-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 1400px;
  margin: 0 auto;
}
.yc-cat-label {
  font-family: var(--fd);
  font-size: .65rem;
  letter-spacing: .25em;
  color: var(--red);
  text-transform: uppercase;
  font-weight: 700;
  display: block;
  margin-bottom: .6rem;
}
.yc-cat-title {
  font-family: var(--fd);
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  letter-spacing: .04em;
  color: #fff;
  line-height: .95;
  margin: 0 0 .8rem;
}
.yc-cat-title em {
  font-style: normal;
  color: var(--red);
}
.yc-cat-desc {
  font-size: 1.1rem;
  color: rgba(255,255,255,.55);
  max-width: 580px;
  line-height: 1.6;
  margin: 0;
}

/* ── ELIMINAR DESCRIPCIÓN SEO FEA ── */
.term-description {
  display: none !important;
}

/* ── BARRA SUPERIOR DEL CATÁLOGO ── */
.woocommerce-notices-wrapper { display: none; }

.woocommerce-result-count {
  font-family: var(--fb);
  font-size: .9rem;
  color: var(--text-fade);
  letter-spacing: .05em;
  text-transform: uppercase;
  font-weight: 700;
  padding: 2rem 5vw 0;
  display: block;
  max-width: 1400px;
  margin: 0 auto;
}

.woocommerce-ordering {
  padding: 2rem 5vw 0;
  float: right;
  max-width: 1400px;
}
.woocommerce-ordering select {
  border: 1.5px solid var(--border);
  background: #fff;
  font-family: var(--fb);
  font-size: .9rem;
  padding: .6rem 1.2rem;
  color: var(--text);
  cursor: pointer;
  outline: none;
  border-radius: 0;
}
.woocommerce-ordering select:focus {
  border-color: var(--red);
}

/* ── GRID DE PRODUCTOS ── */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.25rem !important;
  padding: 1.5rem 5vw 4rem !important;
  max-width: 1400px;
  margin: 0 auto !important;
  list-style: none !important;
  clear: both;
}

@media (max-width: 1200px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 768px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    padding: 1rem 4vw 3rem !important;
  }
}
@media (max-width: 480px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* ── CARD DE PRODUCTO ── */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--sh-sm) !important;
  transition: all .35s !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce ul.products li.product::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: var(--red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--sh-lg) !important;
  border-color: rgba(213,0,0,.2) !important;
}

.woocommerce ul.products li.product:hover::after {
  transform: scaleX(1);
}

/* Imagen del producto */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
  background: var(--surface) !important;
  padding: 1.5rem !important;
  height: 240px !important;
  width: 100% !important;
  object-fit: contain !important;
  mix-blend-mode: multiply !important;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,.1)) !important;
  transition: transform .5s !important;
  display: block !important;
  border-bottom: 1px solid var(--border) !important;
}

.woocommerce ul.products li.product:hover a img {
  transform: scale(1.06) translateY(-4px) !important;
}

/* Badge de oferta */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
  background: var(--red) !important;
  color: #fff !important;
  font-family: var(--fd) !important;
  font-size: .55rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  padding: .35rem .8rem !important;
  clip-path: polygon(6px 0%, 100% 0%, calc(100% - 6px) 100%, 0% 100%) !important;
  border-radius: 0 !important;
  min-height: unset !important;
  min-width: unset !important;
  line-height: 1.4 !important;
  top: .75rem !important;
  left: .75rem !important;
}

/* Contenido de la card */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--fd) !important;
  font-size: 1.35rem !important;
  letter-spacing: .04em !important;
  color: var(--text) !important;
  text-transform: uppercase !important;
  padding: 1.2rem 1.2rem .3rem !important;
  line-height: 1.2 !important;
}

/* Precio */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
  font-family: var(--fd) !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: var(--red) !important;
  padding: 0 1.2rem .5rem !important;
  display: block !important;
}

.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del {
  color: var(--text-fade) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  margin-right: .4rem !important;
}

/* Estrellas */
.woocommerce ul.products li.product .star-rating {
  padding: 0 1.2rem .8rem !important;
  color: var(--red) !important;
  font-size: .9rem !important;
}
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
  color: var(--red) !important;
}

/* Botón Añadir al carrito en el catálogo */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce-page .button {
  background: var(--red) !important;
  color: #fff !important;
  font-family: var(--fb) !important;
  font-weight: 700 !important;
  font-size: .85rem !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  padding: .9rem 1.2rem !important;
  width: calc(100% - 2.4rem) !important;
  margin: auto 1.2rem 1.2rem !important;
  display: block !important;
  text-align: center !important;
  clip-path: polygon(8px 0%, 100% 0%, calc(100% - 8px) 100%, 0% 100%) !important;
  transition: background .2s !important;
  cursor: pointer !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .button.alt:hover {
  background: var(--red-dk) !important;
  color: #fff !important;
  transform: none !important;
}

/* ── PAGINACIÓN ── */
.woocommerce nav.woocommerce-pagination {
  text-align: center;
  padding: 0 5vw 4rem;
  clear: both;
}
.woocommerce nav.woocommerce-pagination ul {
  display: inline-flex;
  gap: .4rem;
  list-style: none;
  padding: 0;
  border: none !important;
}
.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul li a {
  font-family: var(--fd) !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  padding: .65rem 1rem !important;
  border: 1.5px solid var(--border) !important;
  color: var(--text) !important;
  background: #fff !important;
  text-decoration: none !important;
  display: block !important;
  transition: all .2s !important;
  border-radius: 0 !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--red) !important;
  border-color: var(--red) !important;
  color: #fff !important;
}

/* ═══════════════════════════════════════════════
   PÁGINA DE PRODUCTO INDIVIDUAL
   ═══════════════════════════════════════════════ */

.single-product .woocommerce-notices-wrapper { display: none !important; }

/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb {
  font-family: var(--fb) !important;
  font-size: .85rem !important;
  color: var(--text-fade) !important;
  padding: 1.5rem 5vw !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.woocommerce .woocommerce-breadcrumb a {
  color: var(--text-fade) !important;
  text-decoration: none !important;
}
.woocommerce .woocommerce-breadcrumb a:hover {
  color: var(--red) !important;
}

/* Contenedor del producto */
.woocommerce div.product {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 5vw 4rem !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-areas:
    "gallery summary"
    "tabs tabs"
    "related related" !important;
  gap: 3rem !important;
}

@media (max-width: 768px) {
  .woocommerce div.product {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "gallery"
      "summary"
      "tabs"
      "related" !important;
    gap: 2rem !important;
  }
}

/* Galería */
.woocommerce div.product div.images {
  grid-area: gallery !important;
}
.woocommerce div.product div.images img {
  border: 1px solid var(--border) !important;
  background: var(--surface) !important;
  padding: 1.5rem !important;
  width: 100% !important;
  object-fit: contain !important;
  mix-blend-mode: multiply !important;
}
.woocommerce div.product div.images .flex-control-thumbs {
  display: flex !important;
  gap: .5rem !important;
  margin-top: .75rem !important;
  flex-wrap: wrap !important;
}
.woocommerce div.product div.images .flex-control-thumbs li {
  width: 70px !important;
  height: 70px !important;
  list-style: none !important;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
  border: 1.5px solid var(--border) !important;
  padding: .4rem !important;
  height: 100% !important;
  cursor: pointer !important;
  transition: border-color .2s !important;
}
.woocommerce div.product div.images .flex-control-thumbs li img:hover,
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
  border-color: var(--red) !important;
}

/* Summary */
.woocommerce div.product div.summary {
  grid-area: summary !important;
  padding: 0 !important;
}

/* Título del producto */
.woocommerce div.product .product_title {
  font-family: var(--fd) !important;
  font-size: clamp(2rem, 3.5vw, 3rem) !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color: var(--text) !important;
  line-height: 1 !important;
  margin-bottom: .75rem !important;
}

/* Badge de oferta en producto */
.single-product .onsale {
  background: var(--red) !important;
  color: #fff !important;
  font-family: var(--fd) !important;
  font-size: .6rem !important;
  letter-spacing: .12em !important;
  padding: .4rem 1rem !important;
  border-radius: 0 !important;
  clip-path: polygon(6px 0%, 100% 0%, calc(100% - 6px) 100%, 0% 100%) !important;
}

/* Precio del producto */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--fd) !important;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  color: var(--red) !important;
  margin-bottom: 1.2rem !important;
  display: block !important;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  color: var(--text-fade) !important;
  font-size: 1.4rem !important;
  font-weight: 400 !important;
  margin-right: .5rem !important;
}

/* Descripción corta */
.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: 1.05rem !important;
  color: var(--text-dim) !important;
  line-height: 1.7 !important;
  margin-bottom: 1.5rem !important;
  padding-bottom: 1.5rem !important;
  border-bottom: 1px solid var(--border) !important;
}

/* Estrellas producto */
.woocommerce div.product .woocommerce-product-rating {
  margin-bottom: 1rem !important;
}
.woocommerce div.product .star-rating {
  color: var(--red) !important;
}

/* Cantidad */
.woocommerce div.product form.cart .qty {
  border: 1.5px solid var(--border) !important;
  font-family: var(--fd) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  padding: .8rem 1rem !important;
  width: 70px !important;
  text-align: center !important;
  border-radius: 0 !important;
  outline: none !important;
}
.woocommerce div.product form.cart .qty:focus {
  border-color: var(--red) !important;
}

/* Botón Añadir al carrito — producto individual */
.woocommerce div.product form.cart .single_add_to_cart_button {
  background: var(--red) !important;
  color: #fff !important;
  font-family: var(--fb) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  padding: 1rem 2.5rem !important;
  border: none !important;
  border-radius: 0 !important;
  clip-path: polygon(10px 0%, 100% 0%, calc(100% - 10px) 100%, 0% 100%) !important;
  box-shadow: var(--sh-red) !important;
  cursor: pointer !important;
  transition: background .2s !important;
  width: auto !important;
  margin: 0 !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background: var(--red-dk) !important;
}

/* Meta (SKU, categorías) */
.woocommerce div.product .product_meta {
  margin-top: 1.5rem !important;
  padding-top: 1.2rem !important;
  border-top: 1px solid var(--border) !important;
  font-size: .85rem !important;
  color: var(--text-fade) !important;
}
.woocommerce div.product .product_meta a {
  color: var(--red) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

/* ── TABS (Descripción / Valoraciones) ── */
.woocommerce div.product .woocommerce-tabs {
  grid-area: tabs !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex !important;
  gap: 0 !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 -1px !important;
  border: none !important;
  background: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  display: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-bottom: none !important;
  border-radius: 0 !important;
  margin: 0 .3rem 0 0 !important;
  padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--fd) !important;
  font-size: .9rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--text-dim) !important;
  padding: .85rem 1.8rem !important;
  display: block !important;
  text-decoration: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: #fff !important;
  border-bottom-color: #fff !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--red) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--red) !important;
  background: none !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  padding: 2rem !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* Tabla de specs en la descripción */
.woocommerce div.product .woocommerce-tabs .panel table {
  width: 100% !important;
  border-collapse: collapse !important;
}
.woocommerce div.product .woocommerce-tabs .panel table th {
  background: var(--black) !important;
  color: #fff !important;
  font-family: var(--fd) !important;
  font-size: .75rem !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  padding: .85rem 1.2rem !important;
  font-weight: 700 !important;
  text-align: left !important;
  border: none !important;
}
.woocommerce div.product .woocommerce-tabs .panel table td {
  padding: .85rem 1.2rem !important;
  border-bottom: 1px solid var(--border) !important;
  font-size: 1rem !important;
  color: var(--text-dim) !important;
}
.woocommerce div.product .woocommerce-tabs .panel table tr:last-child td {
  border-bottom: none !important;
}
.woocommerce div.product .woocommerce-tabs .panel table tr:nth-child(even) td {
  background: var(--surface) !important;
}

/* ── PRODUCTOS RELACIONADOS ── */
.woocommerce div.product .related.products {
  grid-area: related !important;
}
.woocommerce div.product .related.products h2 {
  font-family: var(--fd) !important;
  font-size: 2rem !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: var(--text) !important;
  margin-bottom: 1.5rem !important;
}

/* ── CARRITO / CHECKOUT ── */
.woocommerce table.shop_table {
  font-family: var(--fb) !important;
  border-collapse: collapse !important;
  width: 100% !important;
  border: none !important;
}
.woocommerce table.shop_table th {
  font-family: var(--fd) !important;
  font-size: .75rem !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  padding: 1rem 1.2rem !important;
  background: var(--black) !important;
  color: #fff !important;
  border: none !important;
}
.woocommerce table.shop_table td {
  padding: 1rem 1.2rem !important;
  border-bottom: 1px solid var(--border) !important;
  vertical-align: middle !important;
  border-color: var(--border) !important;
}

/* ── MENSAJES DE WC ── */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info {
  border-top-color: var(--red) !important;
  font-family: var(--fb) !important;
}
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before {
  color: var(--red) !important;
}

/* ── FILTROS YITH WCAN ── */
.yith-wcan-filter .filter-name {
  font-family: var(--fd) !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: var(--text) !important;
}


/* ── OCULTAR texto azul y contador en subcategorías ── */
.woocommerce ul.products li.product-category .woocommerce-loop-category__title mark,
.woocommerce ul.products li.product-category h2 mark,
.woocommerce ul.products li.product-category .count,
.woocommerce-page ul.products li.product-category .count,
.woocommerce ul.products li.product-category h2 .count {
  display: none !important;
}

.woocommerce ul.products li.product-category .woocommerce-loop-category__title,
.woocommerce ul.products li.product-category h2 {
  font-family: var(--fd) !important;
  font-size: 1.2rem !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: var(--text) !important;
  padding: 1rem 1.2rem !important;
  text-align: center !important;
  border-top: 1px solid var(--border) !important;
  margin: 0 !important;
}

.woocommerce ul.products li.product-category a {
  color: var(--text) !important;
  text-decoration: none !important;
}

.woocommerce ul.products li.product-category a:hover h2 {
  color: var(--red) !important;
}

.woocommerce ul.products li.product-category img {
  margin: 0 !important;
  border-bottom: none !important;
  padding: 1.5rem !important;
  height: 200px !important;
  object-fit: contain !important;
}
