/* PaezAI · ficha de producto, independiente del tema y fácil de sobreescribir. */
.single-product {
  --pzp-primary: var(--pz-color-primario, var(--pa-marca, #0B1020));
  --pzp-accent: var(--pz-color-acento, var(--pa-acento, #C6FF3D));
  --pzp-on-primary: var(--pz-color-sobre-primario, var(--pa-sobre-marca, #FFFFFF));
  --pzp-ink: #0B1020;
  --pzp-line: #E2DFD7;
  --pzp-soft: #FAF8F3;
  font-family: inherit;
}

.single-product :where(.variations) { display:block; width:100%; margin:0 0 16px; }
.single-product :where(.variations tbody) { display:grid; gap:16px; }
.single-product :where(.variations tr.pzp-variante) { display:grid; grid-template-columns:1fr; gap:6px; }
.single-product :where(.variations th, .variations td) { display:block; padding:0; text-align:left; }
.single-product :where(.variations th label) { color:var(--pzp-ink); font-size:14px; font-weight:700; }
.single-product :where(.reset_variations) { display:inline-block; margin-top:7px; color:#5B6475; font-size:13px; text-underline-offset:3px; }

.pzp-variantes { display:flex; flex-wrap:wrap; gap:8px; margin:0; }
.pzp-variantes .pzsw-btn { min-width:44px; min-height:44px; padding:8px 13px; border:2px solid var(--pzp-line); border-radius:10px; background:#FFF; color:var(--pzp-ink); font-family:inherit; font-size:14px; font-weight:600; line-height:1.2; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:8px; transition:border-color .16s ease, background-color .16s ease, transform .16s ease; }
.pzp-variantes .pzsw-btn:hover { border-color:var(--pzp-primary); }
.pzp-variantes .pzsw-btn:focus-visible { outline:3px solid var(--pzp-accent); outline-offset:2px; }
.pzp-variantes .pzsw-btn.pzsw-activo { border-color:var(--pzp-primary); background:#FAF8F3; background:color-mix(in srgb, var(--pzp-primary) 9%, #FFF); box-shadow:0 0 0 1px var(--pzp-primary); }
.pzp-variantes .pzsw-btn.pzsw-agotado { color:#7B8494; border-color:#D8DCE2; background:linear-gradient(135deg, transparent 47%, #A6ADB8 48%, #A6ADB8 52%, transparent 53%), #F2F3F5; opacity:.75; cursor:not-allowed; text-decoration:line-through; }
.pzp-variantes .pzsw-color { width:44px; padding:3px; border-radius:50%; }
.pzp-variantes .pzsw-color .pzsw-punto { width:36px; height:36px; border:2px solid #FFF; border-radius:50%; box-shadow:0 0 0 1px #CFCBC0; flex:0 0 auto; }
.pzp-variantes .pzsw-color .pzsw-nom { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.pzp-variantes .pzsw-miniatura { width:36px; height:36px; object-fit:cover; border-radius:7px; }

.single-product :where(.single_variation_wrap) { display:grid; gap:12px; }
.single-product :where(.woocommerce-variation-add-to-cart, form.cart:not(.variations_form)) { display:flex; align-items:stretch; flex-wrap:wrap; gap:10px; }
.single-product :where(.quantity) { flex:0 0 auto; }
.single-product :where(.quantity .qty) { width:72px; min-height:48px; padding:8px; border:1px solid var(--pzp-line); border-radius:10px; color:var(--pzp-ink); background:#FFF; font-family:inherit; font-size:15px; font-weight:600; line-height:1; text-align:center; }
.single-product :where(.single_add_to_cart_button) { flex:1 1 220px; min-height:48px; padding:10px 22px; border:2px solid var(--pzp-primary); border-radius:10px; background:var(--pzp-primary); color:var(--pzp-on-primary); font-family:inherit; font-size:15px; font-weight:700; line-height:1.2; cursor:pointer; transition:filter .16s ease, transform .16s ease; }
.single-product :where(.single_add_to_cart_button:hover) { filter:brightness(.88); }
.single-product :where(.single_add_to_cart_button:focus-visible, .quantity .qty:focus-visible) { outline:3px solid var(--pzp-accent); outline-offset:2px; }
.single-product :where(.single_add_to_cart_button.disabled, .single_add_to_cart_button:disabled) { border-color:#A6ADB8; background:#A6ADB8; color:#FFF; cursor:not-allowed; }

@media (max-width: 600px) {
  .pzp-variantes .pzsw-btn { min-width:48px; min-height:48px; }
  .pzp-variantes .pzsw-color { width:48px; }
  .single-product :where(.woocommerce-variation-add-to-cart, form.cart:not(.variations_form)) { display:grid; grid-template-columns:1fr; width:100%; }
  .single-product :where(.quantity, .quantity .qty) { width:100%; }
  .single-product :where(.single_add_to_cart_button) { width:100%; }
}

@media (max-width: 600px) and (min-height: 37.5rem) {
  .single-product :where(.single_add_to_cart_button:not(.disabled):not(:disabled)) { position:sticky; bottom:12px; z-index:20; width:calc(100% - 72px); justify-self:start; box-shadow:0 8px 22px rgba(11,16,32,.22); }
}

@media (prefers-reduced-motion: reduce) {
  .single-product *, .single-product *::before, .single-product *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
}
