/* ============================================================
   WOOCOMMERCE — Argenpastry v5
   Tienda alineada al estilo full-bleed + glass del theme.
   ============================================================ */

.ap-woo-main { padding-block: var(--gap-lg); background: var(--ap-paper); min-height: 60vh; }

/* ─── TÍTULOS ─── */
.woocommerce-products-header { text-align: center; margin-bottom: var(--gap-lg); }
.woocommerce-products-header__title,
.woocommerce div.product .product_title {
  font-family: var(--font-display);
  font-weight: 900;
  color: var(--ap-navy);
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
}

/* ─── NOTICES ─── */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-top-color: var(--ap-azul);
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--ap-azul); }

/* ─── BUSCADOR ─── */
.ap-buscador { max-width: 520px; margin: 0 auto var(--gap-md); }
.ap-buscador__form {
  display: flex; align-items: center;
  background: var(--ap-white);
  border: 1.5px solid rgba(26,58,92,0.15);
  border-radius: var(--radius-pill);
  overflow: hidden;
  transition: border-color var(--transition), box-shadow var(--transition);
}
.ap-buscador__form:focus-within { border-color: var(--ap-azul); box-shadow: 0 0 0 3px rgba(42,119,192,0.1); }
.ap-buscador__input {
  flex: 1; border: none; outline: none;
  padding: 0.85rem 1.35rem;
  font-family: var(--font-body); font-size: 0.95rem;
  color: var(--ap-text); background: transparent;
}
.ap-buscador__input::placeholder { color: var(--ap-text-mute); }
.ap-buscador__btn {
  background: var(--ap-azul); color: var(--ap-white);
  border: none; padding: 0.85rem 1.35rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background var(--transition);
}
.ap-buscador__btn:hover { background: var(--ap-navy); }

/* ─── GRILLA DE PRODUCTOS ─── */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: var(--gap-md);
  margin: 0;
}
.woocommerce ul.products li.product {
  background: var(--ap-white);
  border-radius: var(--radius-md);
  border: 1px solid rgba(26,58,92,0.06);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  margin: 0 !important;
  width: auto !important;
  float: none !important;
  transition: transform var(--transition), box-shadow var(--transition);
  will-change: transform;
  text-align: left;
  padding: 0;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-float);
}
.woocommerce ul.products li.product a img {
  margin: 0; border-radius: 0;
  aspect-ratio: 1/1; object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.22,1,0.36,1);
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.05); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--ap-navy);
  font-size: 1.05rem;
  padding: 1rem 1.2rem 0.3rem;
  line-height: 1.3;
}
.woocommerce ul.products li.product .price {
  display: block;
  color: var(--ap-navy);
  font-weight: 900;
  font-size: 1.3rem;
  padding: 0 1.2rem;
  margin-bottom: 0.3rem;
}
.woocommerce ul.products li.product .price del { color: var(--ap-text-mute); font-weight: 400; font-size: 0.9rem; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button { margin: 0.8rem 1.2rem 1.2rem; }

/* ─── CATEGORÍAS COMO TARJETAS ─── */
.woocommerce ul.products li.product-category a img { aspect-ratio: 4/3; object-fit: cover; }
.woocommerce ul.products li.product-category h2.woocommerce-loop-category__title {
  font-family: var(--font-display);
  font-weight: 700; color: var(--ap-navy);
  font-size: 1.1rem; padding: 1rem; text-align: center;
}

/* ─── BOTONES ─── */
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background-color: var(--ap-azul) !important;
  color: var(--ap-white) !important;
  border-radius: var(--radius-pill) !important;
  font-weight: 800 !important;
  font-family: var(--font-body) !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.02em;
  border: none !important;
  padding: 0.75rem 1.6rem !important;
  text-transform: none;
  transition: all var(--transition) !important;
}
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover {
  background-color: var(--ap-navy) !important;
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}
.woocommerce .button.alt, .woocommerce button.button.alt { background-color: var(--ap-navy) !important; }
.woocommerce .button.alt:hover { background-color: var(--ap-navy-deep) !important; }

/* ─── FICHA DE PRODUCTO ─── */
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-lg); }
.woocommerce div.product .woocommerce-product-gallery { margin-bottom: 0; }
.woocommerce div.product .woocommerce-product-gallery img { border-radius: var(--radius-md); }
.woocommerce div.product .product_title { margin-bottom: 0.5rem; }
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--ap-navy); font-weight: 900; font-size: 1.8rem;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: 1rem; line-height: 1.7; color: var(--ap-text-soft); margin-block: 1.2rem;
}
.woocommerce div.product form.cart { margin-block: 1.5rem; }
.woocommerce div.product .quantity input.qty {
  border: 1px solid rgba(26,58,92,0.18);
  border-radius: var(--radius-sm);
  padding: 0.65rem;
  font-family: var(--font-body);
}
.woocommerce-tabs { grid-column: 1 / -1; margin-top: var(--gap-md); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent; border-radius: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--ap-white); border-bottom-color: var(--ap-azul); }

/* ─── CARRITO ─── */
.woocommerce-cart table.cart {
  border: 1px solid rgba(26,58,92,0.08);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.woocommerce-cart table.cart thead { background: var(--ap-navy); }
.woocommerce-cart table.cart thead th { color: var(--ap-white); font-family: var(--font-body); font-weight: 700; padding: 1rem; }
.woocommerce-cart .cart-collaterals .cart_totals h2 { font-family: var(--font-display); color: var(--ap-navy); }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  background-color: var(--ap-navy) !important;
  font-size: 1.05rem !important;
  padding: 1rem !important;
  text-align: center;
}

/* ─── CHECKOUT ─── */
.woocommerce-checkout #payment {
  background: var(--ap-white);
  border-radius: var(--radius-md);
  border: 1px solid rgba(26,58,92,0.08);
}
.woocommerce-checkout h3 { font-family: var(--font-display); color: var(--ap-navy); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1px solid rgba(26,58,92,0.18);
  border-radius: var(--radius-sm);
  padding: 0.7rem;
  font-family: var(--font-body);
}
.woocommerce-checkout #place_order {
  background-color: var(--ap-navy) !important;
  width: 100%;
  font-size: 1.05rem !important;
  padding: 1rem !important;
}

/* ─── MI CUENTA ─── */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid rgba(26,58,92,0.08); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 0.8rem 0; color: var(--ap-navy); font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--ap-azul); }

/* ─── Mensaje precio solo registrados ─── */
.notice-woocommerce {
  background: var(--ap-paper);
  border: 1px solid rgba(26,58,92,0.12);
  border-radius: var(--radius-sm);
  margin: 15px 0;
  padding: 12px;
}
.notice-woocommerce a { color: var(--ap-azul); text-decoration: underline; }

/* ─── RESPONSIVE ─── */
@media (max-width: 768px) {
  .woocommerce div.product { grid-template-columns: 1fr; gap: var(--gap-md); }
  .woocommerce ul.products { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 1rem; }
}
