/* WooCommerce UI — AlmacenesDescuenton */

.woocommerce .woocommerce-breadcrumb {
  margin: 0 0 20px;
  color: var(--ad-gray-600);
  font-size: .9rem;
}

.woocommerce .woocommerce-breadcrumb a:hover { color: var(--ad-orange); }

.ad-woocommerce-shell { padding-block: 40px 64px; }

/*
 * Ficha individual robusta. Algunos estilos de WooCommerce/optimización pueden
 * ocultar temporalmente el contenedor mientras inicializan galerías. Nuestra
 * plantilla directa no depende de esa inicialización, por lo que mantenemos
 * explícitamente visible su contenido.
 */
body.single-product main#primary.ad-woocommerce-shell,
body.single-product .ad-container.woocommerce,
body.single-product .ad-direct-product,
body.single-product .ad-direct-product__media,
body.single-product .ad-direct-product__summary {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  clip: auto !important;
  transform: none !important;
}

body.single-product .ad-direct-product {
  display: grid !important;
  grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr);
  gap: 42px;
  align-items: start;
  min-height: 360px;
  padding: 32px;
  border: 1px solid var(--ad-gray-100);
  border-radius: var(--ad-radius-md);
  background: #fff;
  box-shadow: 0 8px 28px rgba(34,34,34,.05);
}

body.single-product .ad-direct-product__placeholder {
  display: grid !important;
  place-items: center;
  min-height: 320px;
  border-radius: 18px;
  background: #f7f7f7;
  font-size: 5rem;
}

body.single-product .ad-direct-product__summary {
  color: var(--ad-charcoal) !important;
}

body.single-product .ad-direct-product__summary .product_title {
  display: block !important;
  margin: .35rem 0 1rem;
  color: var(--ad-charcoal) !important;
  font-size: clamp(1.8rem,3vw,2.7rem);
  line-height: 1.08;
}

body.single-product .ad-direct-product__summary .price {
  display: block !important;
  margin: 0 0 18px;
  color: var(--ad-orange) !important;
  font-size: 1.8rem;
  font-weight: 900;
}

body.single-product .ad-direct-product__summary form.cart,
body.single-product .ad-product-reassurance {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.woocommerce-products-header__title,
.woocommerce div.product .product_title,
.ad-page-cart .entry-title,
.ad-page-checkout .entry-title,
.ad-page-account .entry-title {
  margin-top: 0;
  letter-spacing: -.03em;
}

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin: 24px 0 0;
}

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

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  float: none;
  width: auto;
  margin: 0;
  padding: 14px;
  border: 1px solid var(--ad-gray-100);
  border-radius: var(--ad-radius-md);
  background: #fff;
  box-shadow: 0 6px 20px rgba(34,34,34,.04);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.woocommerce ul.products li.product:hover { transform: translateY(-3px); border-color: rgba(255,106,0,.3); box-shadow: var(--ad-shadow-soft); }
.woocommerce ul.products li.product a img { margin: 0 0 14px; border-radius: 12px; aspect-ratio:1/1; object-fit:contain; background:#fafafa; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding:0; margin:6px 0 8px; color:var(--ad-charcoal); font-size:1rem; line-height:1.35; }
.woocommerce ul.products li.product .price { color:var(--ad-charcoal); font-size:1.05rem; font-weight:800; }
.woocommerce ul.products li.product .price del { color:var(--ad-gray-600); font-weight:500; }
.woocommerce span.onsale { min-height:auto; min-width:auto; padding:6px 9px; line-height:1; border-radius:999px; background:var(--ad-orange); font-size:.75rem; font-weight:800; }

.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt {
  padding:12px 16px; border-radius:9px; background:var(--ad-orange); color:#fff; font-weight:800; transition:transform .15s ease,filter .15s ease;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover { background:var(--ad-orange); color:#fff; filter:brightness(.94); transform:translateY(-1px); }
.woocommerce .quantity .qty { min-height:44px; border:1px solid #ddd; border-radius:8px; }
.woocommerce div.product { padding-top:8px; }
.woocommerce div.product div.images img { border-radius:var(--ad-radius-md); background:#fafafa; }
.woocommerce div.product div.summary { padding:4px 0 0 20px; }
.woocommerce div.product p.price,.woocommerce div.product span.price { color:var(--ad-orange); font-size:1.7rem; font-weight:900; }
.woocommerce div.product .woocommerce-product-details__short-description { color:#505050; font-size:1rem; }
.woocommerce div.product form.cart { display:flex; gap:10px; align-items:center; flex-wrap:wrap; padding-top:6px; }
.woocommerce div.product form.cart .button { min-height:46px; padding-inline:24px; }

.ad-product-reassurance { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 20px; }
.ad-product-reassurance span { padding:8px 10px; border:1px solid var(--ad-gray-100); border-radius:999px; background:#fafafa; font-size:.82rem; font-weight:700; }

.woocommerce div.product .woocommerce-tabs { clear:both; padding-top:30px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border:0; background:#f7f7f7; border-radius:8px 8px 0 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background:var(--ad-charcoal); color:#fff; }
.woocommerce div.product .related.products,.woocommerce div.product .upsells.products { padding-top:34px; }

.woocommerce table.shop_table { border:1px solid var(--ad-gray-100); border-radius:12px; background:#fff; overflow:hidden; }
.woocommerce table.shop_table th,.woocommerce table.shop_table td { padding:14px; }
.woocommerce-cart table.cart img { width:76px; border-radius:8px; }
.woocommerce-cart .cart-collaterals .cart_totals { padding:20px; border:1px solid var(--ad-gray-100); border-radius:var(--ad-radius-md); background:#fff; box-shadow:0 8px 24px rgba(34,34,34,.05); }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { width:100%; margin-bottom:0; text-align:center; font-size:1rem; }

.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection--single { min-height:46px; padding:10px 12px; border:1px solid #d9d9d9; border-radius:9px; background:#fff; }
.woocommerce form .form-row textarea { min-height:110px; }
.woocommerce form .form-row label { margin-bottom:5px; font-weight:700; }
.ad-checkout-trust { display:grid; gap:3px; margin:0 0 22px; padding:14px 16px; border:1px solid rgba(255,106,0,.2); border-radius:10px; background:#fff7f0; }
.ad-checkout-trust strong { color:var(--ad-charcoal); }
.ad-checkout-trust span { color:#555; font-size:.92rem; }
.woocommerce-checkout #customer_details,.woocommerce-checkout-review-order { padding:20px; border:1px solid var(--ad-gray-100); border-radius:var(--ad-radius-md); background:#fff; }
.woocommerce-checkout #payment { border-radius:12px; background:#f7f7f7; }
.woocommerce-checkout #payment div.payment_box { background:#fff; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color:#fff; }
.woocommerce-checkout #place_order { width:100%; min-height:50px; font-size:1rem; }
.woocommerce-info,.woocommerce-message,.woocommerce-error { border-top-color:var(--ad-orange); border-radius:10px; background:#fff; box-shadow:0 6px 20px rgba(34,34,34,.04); }
.woocommerce-message::before,.woocommerce-info::before { color:var(--ad-orange); }
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content { float:none; width:auto; }
.woocommerce-account .woocommerce { display:grid; grid-template-columns:250px 1fr; gap:28px; }
.woocommerce-MyAccount-navigation ul { margin:0; padding:10px; list-style:none; border:1px solid var(--ad-gray-100); border-radius:12px; background:#fff; }
.woocommerce-MyAccount-navigation li a { display:block; padding:11px 12px; border-radius:8px; font-weight:700; }
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li a:hover { background:#fff4ec; color:var(--ad-orange); }

@media (max-width:980px) {
  body.single-product .ad-direct-product { grid-template-columns:1fr; gap:24px; padding:22px; }
  body.single-product .ad-direct-product__placeholder { min-height:240px; }
  .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .woocommerce div.product div.summary { padding-left:0; }
  .woocommerce-account .woocommerce { grid-template-columns:1fr; }
}

@media (max-width:640px) {
  .ad-woocommerce-shell { padding-block:26px 44px; }
  .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .woocommerce ul.products li.product,.woocommerce-page ul.products li.product { padding:10px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:.9rem; }
  .woocommerce div.product p.price,.woocommerce div.product span.price { font-size:1.4rem; }
  .woocommerce-cart table.cart .product-thumbnail { display:none; }
  .woocommerce table.shop_table_responsive tr td,.woocommerce-page table.shop_table_responsive tr td { padding:10px; }
  .woocommerce-checkout #customer_details,.woocommerce-checkout-review-order { padding:14px; }
}
