/* ==========================================================================
   Cafe Bean Capital — WooCommerce con la paleta de la marca
   ========================================================================== */

.woocommerce-content{color:var(--cream);}

/* ---------- Rejilla de productos ---------- */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:1.6rem;
  margin:0 0 2.5rem !important;
  padding:0 !important;
  list-style:none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{display:none !important;}

.woocommerce ul.products li.product{
  width:100% !important;margin:0 !important;float:none !important;
  background:linear-gradient(165deg,var(--surface) 0%,var(--ink-2) 100%);
  border:1px solid var(--line-soft);border-radius:var(--radius);
  overflow:hidden;position:relative;display:flex;flex-direction:column;
  padding:0 !important;text-align:left;
  transition:border-color .4s var(--ease), transform .4s var(--ease), box-shadow .4s var(--ease);
}
.woocommerce ul.products li.product:hover{
  border-color:var(--line);transform:translateY(-6px);box-shadow:var(--shadow);
}

.woocommerce ul.products li.product a img{
  width:100%;aspect-ratio:1/1;object-fit:cover;margin:0 !important;
  border-radius:0;box-shadow:none;transition:transform .9s var(--ease);
}
.woocommerce ul.products li.product:hover a img{transform:scale(1.06);}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--font-display);font-size:1.08rem;font-weight:600;
  color:var(--cream);padding:1.2rem 1.35rem .3rem !important;margin:0;
}
.woocommerce ul.products li.product .woocommerce-loop-category__title{
  font-family:var(--font-display);color:var(--cream);padding:1.2rem 1.35rem !important;
}
.woocommerce ul.products li.product .price{
  font-family:var(--font-display);font-size:1.2rem;color:var(--gold);
  padding:0 1.35rem;margin:0 0 .9rem;display:block;
}
.woocommerce ul.products li.product .price del{color:var(--muted-2);font-size:.85em;opacity:.7;}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--gold-2);}

.woocommerce ul.products li.product .star-rating{
  color:var(--gold);margin:0 1.35rem .6rem;font-size:.8em;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
  margin:auto 1.35rem 1.35rem !important;
  display:inline-flex;align-items:center;justify-content:center;
  padding:.65rem 1.25rem;border-radius:999px;border:1px solid transparent;
  background:var(--gold);color:#170F04;font-weight:600;font-size:.85rem;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.woocommerce ul.products li.product .button:hover{
  background:var(--gold-2);color:#170F04;transform:translateY(-2px);
  box-shadow:0 14px 28px -12px rgba(212,169,74,.7);
}

/* Etiqueta de oferta */
.woocommerce span.onsale{
  background:var(--clay);color:#fff;border-radius:999px;
  font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;
  padding:.32rem .8rem;min-height:0;min-width:0;line-height:1.4;
  top:.85rem;right:.85rem;left:auto;margin:0;
}

/* ---------- Cabecera de la tienda ---------- */
.woocommerce .woocommerce-result-count{color:var(--muted);font-size:.88rem;}
.woocommerce .woocommerce-ordering select{
  padding:.6rem 1rem;border-radius:999px;
  background:rgba(246,241,231,.04);border:1px solid var(--line-soft);color:var(--cream);
}
.woocommerce .woocommerce-ordering select option{background:var(--surface);}

/* ---------- Página de producto ---------- */
.woocommerce div.product .product_title{
  font-family:var(--font-display);color:var(--cream);
  font-size:clamp(1.9rem,4vw,2.8rem);margin-bottom:.4rem;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family:var(--font-display);color:var(--gold);font-size:1.9rem;
}
.woocommerce div.product .woocommerce-product-details__short-description{color:#C7BCAE;}
.woocommerce div.product div.images img{border-radius:var(--radius);border:1px solid var(--line);}

.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button{
  padding:.92rem 1.9rem;border-radius:999px;background:var(--gold);color:#170F04;
  font-weight:600;font-size:.95rem;border:0;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.woocommerce div.product form.cart .button:hover{
  background:var(--gold-2);transform:translateY(-2px);
  box-shadow:0 16px 34px -14px rgba(212,169,74,.75);
}
.woocommerce .quantity .qty{
  padding:.8rem .6rem;border-radius:var(--radius-sm);
  background:rgba(246,241,231,.04);border:1px solid var(--line-soft);color:var(--cream);
}

/* Pestañas */
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin-bottom:2rem;}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom-color:var(--line-soft);}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent;border:1px solid var(--line-soft);border-radius:999px 999px 0 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:#C4B9AB;font-weight:500;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:rgba(212,169,74,.10);border-color:var(--line);}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--gold);}
.woocommerce div.product .woocommerce-tabs .panel{color:#C7BCAE;}
.woocommerce div.product .woocommerce-tabs h2{font-size:1.5rem;}

/* Tabla de atributos */
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td{
  border-bottom:1px solid var(--line-soft);padding:.8rem 1rem;color:#D5CBBD;
}
.woocommerce table.shop_attributes th{color:var(--gold);font-weight:600;}

/* ---------- Carrito y pago ---------- */
.woocommerce table.shop_table{
  border:1px solid var(--line-soft);border-radius:var(--radius);
  background:var(--ink-2);border-collapse:separate;
}
.woocommerce table.shop_table th{
  color:var(--gold);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;
  border-bottom:1px solid var(--line-soft);padding:1rem;
}
.woocommerce table.shop_table td{border-top:1px solid var(--line-soft);padding:1rem;color:#D5CBBD;}
.woocommerce table.shop_table td.product-name a{color:var(--cream);}
.woocommerce table.shop_table td.product-name a:hover{color:var(--gold);}
.woocommerce a.remove{color:var(--clay) !important;}
.woocommerce a.remove:hover{background:var(--clay);color:#fff !important;}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order{
  background:linear-gradient(165deg,var(--surface) 0%,var(--ink-2) 100%);
  border:1px solid var(--line-soft);border-radius:var(--radius);padding:1.6rem;
}
.woocommerce .cart_totals h2,
.woocommerce-checkout h3{font-family:var(--font-display);color:var(--cream);}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #payment #place_order,
.woocommerce .checkout-button{
  background:var(--gold);color:#170F04;border-radius:999px;
  padding:.92rem 1.8rem;font-weight:600;font-size:.95rem;border:0;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .3s;
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #payment #place_order:hover,
.woocommerce .checkout-button:hover{
  background:var(--gold-2);color:#170F04;transform:translateY(-2px);
  box-shadow:0 16px 34px -14px rgba(212,169,74,.75);
}
.woocommerce a.button.alt,
.woocommerce button.button.alt{background:var(--gold);color:#170F04;}

/* Campos de formulario de Woo */
.woocommerce form .form-row label,
.woocommerce-page form .form-row label{
  color:var(--gold);font-size:.76rem;letter-spacing:.14em;
  text-transform:uppercase;font-weight:600;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single{
  padding:.9rem 1.05rem;border-radius:var(--radius-sm);
  background:rgba(246,241,231,.04);border:1px solid var(--line-soft);
  color:var(--cream);height:auto;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{
  outline:none;border-color:var(--gold);background:rgba(212,169,74,.06);
}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{
  color:var(--cream);line-height:1.6;
}
.select2-dropdown{background:var(--surface);border-color:var(--line);color:var(--cream);}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--gold);color:#170F04;}

/* Avisos */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments{
  background:var(--ink-2);border-top:3px solid var(--gold);color:#D5CBBD;
  border-radius:var(--radius-sm);padding:1.1rem 1.4rem 1.1rem 3.2rem;
}
.woocommerce-message::before,
.woocommerce-info::before{color:var(--gold);}
.woocommerce-error{border-top-color:var(--clay);}
.woocommerce-error::before{color:var(--clay);}

/* Migas y paginación de Woo */
.woocommerce .woocommerce-breadcrumb{color:var(--muted-2);font-size:.82rem;}
.woocommerce .woocommerce-breadcrumb a{color:var(--muted);}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--gold);}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:.5rem;justify-content:center;}
.woocommerce nav.woocommerce-pagination ul li{border:0;}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  padding:.6rem 1rem;border-radius:999px;border:1px solid var(--line-soft);color:#C4B9AB;
}
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--gold);color:#150E04;border-color:var(--gold);font-weight:600;
}

/* Productos relacionados */
.woocommerce .related > h2,
.woocommerce .upsells > h2,
.woocommerce .cross-sells > h2{
  font-family:var(--font-display);color:var(--cream);margin-bottom:1.6rem;
}

/* Widgets de la tienda */
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{background:var(--gold);}
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content{background:rgba(246,241,231,.09);}

@media (max-width:620px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));}
}


/* ==========================================================================
   BLOQUES DE WOOCOMMERCE (carrito y pago nuevos, basados en Gutenberg)
   Estas clases empiezan por .wc-block- y son las que usa WooCommerce moderno.
   ========================================================================== */

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-components-sidebar-layout{color:var(--cream);}

/* ---------- Carrito vacío ---------- */
.wp-block-woocommerce-empty-cart-block{text-align:center;padding:2rem 0 1rem;}
.wp-block-woocommerce-empty-cart-block h2,
.wc-block-cart__empty-cart__title{
  font-family:var(--font-display);color:var(--cream);
  font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:1rem;
}
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before{color:var(--gold);opacity:.75;}
.wp-block-woocommerce-empty-cart-block .wp-block-separator{
  border:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);
  max-width:220px;margin:2rem auto;opacity:.6;
}

/* ---------- Tabla de artículos ---------- */
.wc-block-cart-items{border:0;}
.wc-block-cart-items__header{
  color:var(--gold);font-family:var(--font-body);font-size:.74rem;
  letter-spacing:.16em;text-transform:uppercase;font-weight:700;
  border-bottom:1px solid var(--line-soft);
}
.wc-block-cart-items__row,
.wc-block-cart-items__row td{border-top:1px solid var(--line-soft);}
.wc-block-cart-item__image img{
  border-radius:var(--radius-sm);border:1px solid var(--line-soft);
}
.wc-block-components-product-name{
  font-family:var(--font-display);color:var(--cream) !important;
  font-size:1.05rem;text-decoration:none;
}
.wc-block-components-product-name:hover{color:var(--gold) !important;}
.wc-block-components-product-metadata{color:var(--muted);font-size:.85rem;}
.wc-block-cart-item__prices,
.wc-block-components-product-price{color:var(--gold);font-family:var(--font-display);}
.wc-block-components-product-price__value{color:var(--gold);}
.wc-block-cart-item__remove-link,
.wc-block-components-product-metadata__description a{color:var(--muted-2) !important;}
.wc-block-cart-item__remove-link:hover{color:var(--clay) !important;}

/* Selector de cantidad */
.wc-block-components-quantity-selector{
  border-radius:999px;border:1px solid var(--line-soft);
  background:rgba(246,241,231,.04);overflow:hidden;
}
.wc-block-components-quantity-selector::after{display:none;}
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input{
  background:transparent;color:var(--cream);border:0;
}
.wc-block-components-quantity-selector__button{
  color:var(--gold) !important;background:transparent;border:0;
}
.wc-block-components-quantity-selector__button:hover{background:rgba(212,169,74,.14);}

/* ---------- Panel lateral de totales ---------- */
.wc-block-components-sidebar .wc-block-components-panel,
.wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.wp-block-woocommerce-checkout-order-summary-block{
  background:linear-gradient(165deg,var(--surface) 0%,var(--ink-2) 100%);
  border:1px solid var(--line-soft);border-radius:var(--radius);
}
.wc-block-components-totals-wrapper{border-top-color:var(--line-soft) !important;}
.wc-block-components-totals-item__label{color:#C7BCAE;}
.wc-block-components-totals-item__value{color:var(--cream);}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  color:var(--gold);font-family:var(--font-display);font-size:1.25rem;
}
.wc-block-components-panel__button{color:var(--gold) !important;}
.wc-block-components-panel__button svg{fill:var(--gold);}
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__individual-prices{color:var(--muted);}

/* ---------- Botones de bloque ---------- */
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{
  background:var(--gold) !important;color:#170F04 !important;
  border-radius:999px !important;border:0 !important;
  padding:.95rem 1.9rem !important;font-weight:600 !important;font-size:.95rem !important;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .3s;
}
.wc-block-components-button:not(.is-link):hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover{
  background:var(--gold-2) !important;transform:translateY(-2px);
  box-shadow:0 16px 34px -14px rgba(212,169,74,.75);
}
.wc-block-components-button.is-link,
.wc-block-cart__submit-container a{color:var(--gold) !important;}

/* ---------- Campos de formulario en bloques ---------- */
.wc-block-components-text-input input[type=text],
.wc-block-components-text-input input[type=email],
.wc-block-components-text-input input[type=tel],
.wc-block-components-text-input input[type=number],
.wc-block-components-textarea,
.wc-block-components-combobox-control input.components-combobox-control__input,
.wc-blocks-components-select__container{
  background:rgba(246,241,231,.04) !important;
  border:1px solid var(--line-soft) !important;
  border-radius:var(--radius-sm) !important;
  color:var(--cream) !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus{
  outline:none !important;border-color:var(--gold) !important;
  background:rgba(212,169,74,.06) !important;box-shadow:none !important;
}
.wc-block-components-text-input label,
.wc-block-components-checkout-step__title,
.wc-blocks-components-select__label{color:var(--gold) !important;}
.wc-block-components-checkout-step__title{
  font-family:var(--font-display);font-size:1.25rem;
}
.wc-block-components-checkout-step__description,
.wc-block-components-address-card{color:var(--muted);}
.wc-block-components-address-card{
  background:rgba(246,241,231,.03);border:1px solid var(--line-soft);border-radius:var(--radius-sm);
}

/* Métodos de envío y pago */
.wc-block-components-radio-control__option{
  border-bottom:1px solid var(--line-soft);color:#D5CBBD;
}
.wc-block-components-radio-control__label{color:var(--cream);}
.wc-block-components-radio-control__secondary-label,
.wc-block-components-radio-control__description{color:var(--muted);}
.wc-block-components-radio-control__input:checked{border-color:var(--gold);}
.wc-block-components-radio-control__input{border-color:var(--line-soft);}

/* Cupón */
.wc-block-components-totals-coupon__form .wc-block-components-text-input input{background:rgba(246,241,231,.04) !important;}
.wc-block-components-totals-coupon-link{color:var(--gold) !important;}

/* Avisos de bloque */
.wc-block-components-notice-banner{
  background:var(--ink-2) !important;color:#D5CBBD !important;
  border-radius:var(--radius-sm);border-color:var(--gold) !important;
}
.wc-block-components-notice-banner.is-error{border-color:var(--clay) !important;}

/* ---------- Rejilla de productos en bloques ---------- */
.wc-block-grid__products,
.wp-block-woocommerce-product-template{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1.6rem;list-style:none;margin:0;padding:0;
}
.wc-block-grid__product,
.wc-block-product{
  background:linear-gradient(165deg,var(--surface) 0%,var(--ink-2) 100%);
  border:1px solid var(--line-soft);border-radius:var(--radius);
  overflow:hidden;padding:0 0 1.3rem;text-align:left;
  transition:border-color .4s var(--ease), transform .4s var(--ease), box-shadow .4s var(--ease);
}
.wc-block-grid__product:hover,
.wc-block-product:hover{
  border-color:var(--line);transform:translateY(-6px);box-shadow:var(--shadow);
}
.wc-block-grid__product-image img{aspect-ratio:1/1;object-fit:cover;width:100%;}
.wc-block-grid__product-title,
.wc-block-components-product-title{
  font-family:var(--font-display);color:var(--cream);
  font-size:1.05rem;padding:1.1rem 1.3rem .3rem;margin:0;
}
.wc-block-grid__product-price{color:var(--gold);font-family:var(--font-display);padding:0 1.3rem;}
.wc-block-grid__product-add-to-cart{padding:.9rem 1.3rem 0;}

/* Miniatura del carrito (widget) */
.wc-block-mini-cart__badge{background:var(--gold);color:#170F04;}
.wc-block-mini-cart__drawer .wc-block-components-drawer{background:var(--ink-2);}

@media (max-width:782px){
  .wc-block-components-sidebar-layout{display:block;}
  .wc-block-components-sidebar-layout .wc-block-components-main,
  .wc-block-components-sidebar-layout .wc-block-components-sidebar{width:100%;padding:0;}
}
