/* ============================================================
   PONTI — Ficha de producto
   Galería fija a la izquierda, información a la derecha.
   ============================================================ */

.single-product .pt-product-wrap{
  padding:clamp(1.25rem,2.5vw,1.75rem) var(--pt-gut) 0;
}
.single-product .woocommerce-breadcrumb{ margin-bottom:1.25rem; }

/* ------------------------------------------------------------
   ESTRUCTURA EN DOS COLUMNAS
   ------------------------------------------------------------ */
.woocommerce div.product{
  display:grid;
  grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);
  gap:clamp(1.75rem,4vw,4.5rem);
  align-items:start;
  padding:0 var(--pt-gut);
  margin:0;
  max-width:none;
}

/* La galería propia vive en inc/gallery.php y se estiliza en gallery.css */

/* La información se queda fija mientras la galería desplaza */
.woocommerce div.product .summary.entry-summary{
  grid-column:2;
  width:100% !important;
  float:none !important;
  margin:0 !important;
  position:sticky;
  top:calc(var(--pt-header-h, 7rem) + 1.5rem);
  align-self:start;
  padding-bottom:clamp(2.25rem,4.4vw,3.5rem);
}

/* Bloques que ocupan el ancho completo, debajo de las dos columnas */
.woocommerce div.product .pt-fullwidth,
.woocommerce div.product .related,
.woocommerce div.product .upsells,
.woocommerce div.product .pt-reviews{
  grid-column:1 / -1;
}

/* ------------------------------------------------------------
   COLUMNA DE INFORMACIÓN
   ------------------------------------------------------------ */
.woocommerce div.product .product_title{
  font-family:var(--pt-sans);
  font-size:clamp(1.5rem,3vw,2rem);
  font-weight:600;
  letter-spacing:-.025em;
  line-height:1.1;
  margin:.6rem 0 .5rem;
  padding:0;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family:var(--pt-sans);
  font-size:1.05rem;
  font-weight:600;
  color:var(--pt-ink);
  font-variant-numeric:tabular-nums;
  margin:0 0 1.5rem;
}
.woocommerce div.product p.price del{
  color:var(--pt-ash);
  font-weight:400;
  font-size:.9rem;
  opacity:1;
  margin-left:.5rem;
}
.woocommerce div.product p.price ins{
  text-decoration:none;
  background:none;
  color:var(--pt-ink);
  font-weight:600;
}

/* Distintivo en la ficha */
.single-product .pt-badge--single{
  display:inline-block;
  position:static;
  font-size:.56rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  line-height:1;
  padding:.45rem .7rem;
  background:var(--pt-paper);
  color:var(--pt-ink);
  box-shadow:inset 0 0 0 1px var(--pt-rule);
  margin-bottom:.25rem;
}

/* ------------------------------------------------------------
   VARIACIONES — cuero y talla
   ------------------------------------------------------------ */
.woocommerce div.product form.cart{ margin:0; }

.woocommerce div.product table.variations{
  margin:0 0 1.25rem;
  border:none;
  width:100%;
}
.woocommerce div.product table.variations tbody,
.woocommerce div.product table.variations tr,
.woocommerce div.product table.variations th,
.woocommerce div.product table.variations td{
  display:block;
  width:100%;
  border:none;
  padding:0;
  background:none;
}
.woocommerce div.product table.variations tr{ margin-bottom:1.35rem; }
.woocommerce div.product table.variations th.label{ margin-bottom:.6rem; }
.woocommerce div.product table.variations th.label label{
  font-size:.66rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--pt-ash);
  margin:0;
}

/* Nombre del cuero seleccionado, junto a la etiqueta */
.pt-variation-value{
  color:var(--pt-ink);
  font-weight:600;
}

/* Pie del selector de tallas: equivalencia a la izquierda, guía a la derecha */
.pt-size-foot{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:1rem;
  flex-wrap:wrap;
  margin:.85rem 0 1.5rem;
}
.pt-size-guide{
  font-size:.66rem;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--pt-slate);
  text-decoration:none;
  border-bottom:1px solid var(--pt-rule);
  padding-bottom:.15rem;
}
.pt-size-guide:hover{ color:var(--pt-ink); border-bottom-color:var(--pt-ink); }

/* Equivalencia EC/US bajo el selector */
.pt-size-echo{
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--pt-ash);
  margin:0;
  font-variant-numeric:tabular-nums;
  min-height:1.1em;
}
.pt-size-echo:empty::before{
  content:"Elige tu talla";
  color:var(--pt-ash);
}
.pt-size-echo strong{ color:var(--pt-ink); font-weight:600; }

/* Enlace de limpiar variación */
.woocommerce div.product .reset_variations{
  font-size:.66rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--pt-ash);
}

/* --- Muestras del plugin Variation Swatches --- */
.woo-variation-swatches .variable-items-wrapper{
  gap:.5rem;
  margin:0;
}
/* Cueros: círculos */
.woo-variation-swatches .variable-item.color-variable-item{
  width:2rem !important;
  height:2rem !important;
  border-radius:50% !important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.16) !important;
  padding:0 !important;
  margin:0 !important;
  transition:box-shadow .16s ease;
}
.woo-variation-swatches .variable-item.color-variable-item .variable-item-span{
  border-radius:50% !important;
  margin:0 !important;
}
.woo-variation-swatches .variable-item.color-variable-item:hover,
.woo-variation-swatches .variable-item.color-variable-item.selected{
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.16),
             0 0 0 2px var(--pt-paper),
             0 0 0 3.5px var(--pt-ink) !important;
}

/* Tallas: botones cuadrados */
.woo-variation-swatches .variable-item.button-variable-item{
  min-width:2.9rem !important;
  height:2.9rem !important;
  border-radius:0 !important;
  border:1px solid var(--pt-rule) !important;
  background:var(--pt-paper) !important;
  box-shadow:none !important;
  padding:0 .3rem !important;
  margin:0 !important;
  transition:border-color .16s ease, background .16s ease, color .16s ease;
}
.woo-variation-swatches .variable-item.button-variable-item .variable-item-span{
  font-family:var(--pt-sans) !important;
  font-size:.85rem !important;
  font-weight:500 !important;
  color:var(--pt-ink);
  font-variant-numeric:tabular-nums;
  line-height:1;
}
.woo-variation-swatches .variable-item.button-variable-item:hover{
  border-color:var(--pt-ink) !important;
}
.woo-variation-swatches .variable-item.button-variable-item.selected{
  background:var(--pt-ink) !important;
  border-color:var(--pt-ink) !important;
}
.woo-variation-swatches .variable-item.button-variable-item.selected .variable-item-span{
  color:var(--pt-paper);
}
/* Agotada: tachada, no oculta */
.woo-variation-swatches .variable-item.button-variable-item.disabled,
.woo-variation-swatches .variable-item.button-variable-item[disabled]{
  opacity:1 !important;
  border-color:var(--pt-rule) !important;
  cursor:not-allowed;
}
.woo-variation-swatches .variable-item.button-variable-item.disabled .variable-item-span{
  color:var(--pt-rule);
  text-decoration:line-through;
}

/* ------------------------------------------------------------
   AÑADIR A LA BOLSA
   ------------------------------------------------------------ */
.woocommerce div.product form.cart .quantity{ display:none; }

.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button{
  width:100%;
  font-family:var(--pt-sans);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  line-height:1;
  padding:1.15rem 1.5rem;
  border-radius:0;
  border:1px solid var(--pt-ink);
  background:var(--pt-ink);
  color:var(--pt-paper);
  transition:background .2s ease, border-color .2s ease;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce div.product .single_add_to_cart_button:hover{
  background:var(--pt-slate);
  border-color:var(--pt-slate);
}
.woocommerce div.product .single_add_to_cart_button.disabled,
.woocommerce div.product .single_add_to_cart_button:disabled{
  background:var(--pt-rule);
  border-color:var(--pt-rule);
  color:var(--pt-paper);
  opacity:1;
  cursor:not-allowed;
}

.woocommerce div.product .woocommerce-variation-price{ margin-bottom:1rem; }
.woocommerce div.product .woocommerce-variation-availability p{
  font-size:.78rem;
  color:var(--pt-slate);
  margin:0 0 .75rem;
}

/* ------------------------------------------------------------
   ACORDEÓN (reemplaza las pestañas)
   ------------------------------------------------------------ */
.woocommerce div.product .woocommerce-tabs{ display:none; }

.pt-accordion{
  border-top:1px solid var(--pt-rule);
  margin:1.75rem 0 0;
}
.pt-accordion__item{ border-bottom:1px solid var(--pt-rule); }
.pt-accordion__trigger{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  background:none;
  border:none;
  padding:1.05rem 0;
  cursor:pointer;
  font-family:var(--pt-sans);
  font-size:.9rem;
  font-weight:600;
  color:var(--pt-ink);
  text-align:left;
  letter-spacing:-.01em;
}
.pt-accordion__sign{
  flex-shrink:0;
  width:.7rem; height:.7rem;
  position:relative;
}
.pt-accordion__sign::before,
.pt-accordion__sign::after{
  content:"";
  position:absolute;
  background:var(--pt-ink);
  transition:transform .22s ease, opacity .22s ease;
}
.pt-accordion__sign::before{ left:0; top:50%; width:100%; height:1px; margin-top:-.5px; }
.pt-accordion__sign::after{ top:0; left:50%; height:100%; width:1px; margin-left:-.5px; }
.pt-accordion__trigger[aria-expanded="true"] .pt-accordion__sign::after{
  transform:scaleY(0);
  opacity:0;
}
.pt-accordion__panel{
  padding:0 0 1.25rem;
  font-size:.9rem;
  line-height:1.65;
  color:var(--pt-slate);
  max-width:58ch;
}
.pt-accordion__panel[hidden]{ display:none; }
.pt-accordion__panel p{ margin:0 0 .7rem; }
.pt-accordion__panel p:last-child{ margin-bottom:0; }
.pt-accordion__panel table{
  width:100%;
  border-collapse:collapse;
  font-size:.845rem;
}
.pt-accordion__panel th,
.pt-accordion__panel td{
  text-align:left;
  padding:.45rem 0;
  border-bottom:1px solid var(--pt-rule);
  font-weight:400;
}
.pt-accordion__panel th{ color:var(--pt-ash); width:38%; font-weight:500; }

/* ------------------------------------------------------------
   COMPLETA EL LOOK
   ------------------------------------------------------------ */
.single-product .pt-shop > .pt-look{
  width:100%;
  padding-left:var(--pt-gut);
  padding-right:var(--pt-gut);
}
.pt-look{
  border-top:1px solid var(--pt-rule);
  margin-top:clamp(3rem,6.4vw,5.5rem);
  padding-top:clamp(2.25rem,4.4vw,3.5rem);
  padding-bottom:clamp(2.5rem,5vw,4.5rem);
}
.pt-look__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom:1.5rem;
}
.pt-look__head h2{
  font-family:var(--pt-sans);
  font-size:clamp(1.15rem,2.2vw,1.5rem);
  font-weight:600;
  letter-spacing:-.02em;
  margin:.35rem 0 0;
}
.pt-look__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(.85rem,1.8vw,1.4rem);
  list-style:none;
  margin:0;
  padding:0;
}
.pt-look-card{ margin:0; min-width:0; }
.pt-look-card__link{
  display:block;
  color:var(--pt-ink);
  text-decoration:none;
}
.pt-look-card__stage{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  background:var(--pt-bone);
}
.pt-look-card__img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  margin:0!important;
  transition:transform .45s cubic-bezier(.2,.7,.3,1);
}
.pt-look-card__link:hover .pt-look-card__img{ transform:scale(1.025); }
.pt-look-card__name{
  display:block;
  margin-top:.72rem;
  font-size:.9rem;
  font-weight:600;
  line-height:1.3;
}
.pt-look-card__price{
  display:block;
  margin-top:.18rem;
  font-size:.82rem;
  font-weight:600;
  font-variant-numeric:tabular-nums;
}
.pt-look-card__price del{
  color:var(--pt-ash);
  font-weight:400;
  margin-right:.35rem;
}
.pt-look-card__price ins{
  color:var(--pt-ink);
  background:none;
  text-decoration:none;
}
.pt-look-card__cta{
  display:inline-block;
  margin-top:.55rem;
  padding-bottom:.1rem;
  border-bottom:1px solid var(--pt-rule);
  color:var(--pt-slate);
  font-size:.62rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.pt-look-card__link:hover .pt-look-card__cta{
  color:var(--pt-ink);
  border-bottom-color:var(--pt-ink);
}
.pt-look--empty{
  padding-bottom:0;
}
.pt-look--empty p{
  max-width:54rem;
  margin:.6rem 0 0;
  padding:.9rem 1rem;
  border:1px dashed var(--pt-rule);
  color:var(--pt-slate);
  font-size:.82rem;
}

/* ------------------------------------------------------------
   RESEÑAS Y RELACIONADOS
   ------------------------------------------------------------ */
.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2{
  font-family:var(--pt-sans);
  font-size:clamp(1.15rem,2.2vw,1.5rem);
  font-weight:600;
  letter-spacing:-.02em;
  margin:0 0 1.5rem;
  padding:0 var(--pt-gut);
}
.woocommerce div.product .related,
.woocommerce div.product .upsells{
  border-top:1px solid var(--pt-rule);
  margin-top:clamp(3rem,6.4vw,5.5rem);
  padding-top:clamp(2.25rem,4.4vw,3.5rem);
}
.woocommerce div.product .related ul.products,
.woocommerce div.product .upsells ul.products{ margin-top:0; }

/* ------------------------------------------------------------
   BARRA FIJA EN MÓVIL
   ------------------------------------------------------------ */
.pt-stickybar{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:300;
  background:var(--pt-paper);
  border-top:1px solid var(--pt-rule);
  padding:.7rem var(--pt-gut);
  padding-bottom:calc(.7rem + env(safe-area-inset-bottom, 0px));
  display:none;
  align-items:center;
  gap:1rem;
  transform:translateY(105%);
  transition:transform .28s ease;
}
.pt-stickybar.is-visible{ transform:translateY(0); }
.pt-stickybar__info{ flex:1; min-width:0; }
.pt-stickybar__price{
  font-size:.9rem;
  font-weight:600;
  font-variant-numeric:tabular-nums;
  display:block;
  line-height:1.2;
}
.pt-stickybar__meta{
  font-size:.66rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--pt-ash);
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pt-stickybar__btn{
  flex-shrink:0;
  font-family:var(--pt-sans);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:.95rem 1.35rem;
  background:var(--pt-ink);
  color:var(--pt-paper);
  border:none;
  cursor:pointer;
}

/* ------------------------------------------------------------
   RESPONSIVE
   ------------------------------------------------------------ */
@media(max-width:900px){
  .woocommerce div.product{
    grid-template-columns:1fr;
    gap:1.5rem;
  }
  .woocommerce div.product .summary.entry-summary{
    grid-column:1;
    position:static;
    padding-top:1.25rem;
  }

  .pt-stickybar{ display:flex; }
  body.single-product{ padding-bottom:5rem; }

  /* Tallas más grandes para el pulgar */
  .woo-variation-swatches .variable-item.button-variable-item{
    min-width:3.15rem !important;
    height:3.15rem !important;
  }

  .pt-look__grid{
    display:flex;
    overflow-x:auto;
    gap:.75rem;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:.15rem;
  }
  .pt-look__grid::-webkit-scrollbar{ display:none; }
  .pt-look-card{
    flex:0 0 min(78vw,19rem);
    scroll-snap-align:start;
  }
}

/* ------------------------------------------------------------
   GUÍA DE TALLAS PERSONALIZADA DENTRO DEL ACORDEÓN
   ------------------------------------------------------------ */
.pt-size-reference__last{
  margin:0 0 .45rem!important;
  color:var(--pt-ink);
}
.pt-size-reference__note{
  margin:0 0 .85rem!important;
  color:var(--pt-slate);
}
.pt-size-reference__scroll{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin:.35rem 0 .55rem;
}
.pt-accordion__panel .pt-size-reference__table{
  width:100%;
  min-width:430px;
  border-collapse:collapse;
  font-size:.82rem;
  font-variant-numeric:tabular-nums;
}
.pt-accordion__panel .pt-size-reference__table th,
.pt-accordion__panel .pt-size-reference__table td{
  width:auto;
  padding:.52rem .7rem .52rem 0;
  white-space:nowrap;
  text-align:left;
  border-bottom:1px solid var(--pt-rule);
}
.pt-accordion__panel .pt-size-reference__table th{
  font-size:.62rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--pt-ash);
}
.pt-accordion__panel .pt-size-reference__table td strong{
  color:var(--pt-ink);
  font-weight:600;
}
.pt-size-reference__caption{
  margin:.55rem 0 0!important;
  font-size:.75rem;
  color:var(--pt-ash);
}


/* 2.2.6 — la fila de guía siempre existe; el fallback nunca inventa medidas. */
.pt-size-reference__empty{
  margin:0 0 .75rem!important;
  color:var(--pt-slate);
}
.pt-size-reference__open{
  appearance:none;
  background:transparent;
  border:0;
  border-bottom:1px solid currentColor;
  padding:0 0 .18rem;
  margin:.3rem 0 0;
  font:inherit;
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--pt-ink);
  cursor:pointer;
}
.pt-size-reference__open:hover{ opacity:.62; }
