/* PRODUCT DETAIL PAGE */

.breadcrumb{ display:flex; flex-wrap:wrap; gap:8px; padding-block: var(--sp-4); font-size:0.8rem; color: var(--c-text-muted); }
.breadcrumb a:hover{ color: var(--tt-black); text-decoration:underline; }
.breadcrumb span[aria-current]{ color: var(--c-text); }

.pdp{ display:grid; grid-template-columns: 1fr; gap: var(--sp-7); padding-bottom: var(--sp-8); }
@media(min-width:900px){ .pdp{ grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); } }

.gallery{ display:flex; flex-direction:column-reverse; gap: var(--sp-3); }
.gallery__main{ position:relative; aspect-ratio: 3/4; background: var(--c-surface); overflow:hidden; }
.gallery__main .ph{ position:absolute; inset:0; }
.gallery__thumbs{ display:flex; gap: var(--sp-2); overflow-x:auto; }
.gallery__thumb{ position:relative; flex-shrink:0; width:64px; height:80px; overflow:hidden; border:1.5px solid transparent; }
.gallery__thumb .ph{ position:absolute; inset:0; }
.gallery__thumb.is-active{ border-color: var(--tt-black); }
@media(min-width:900px){
  .gallery{ flex-direction:row; }
  .gallery__thumbs{ flex-direction:column; overflow-x:visible; overflow-y:auto; order:-1; }
  .gallery__thumb{ width:88px; height:110px; }
  .gallery__main{ flex:1; aspect-ratio:3/4; }
}

.pdp-price{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }

.qty-stepper{
  display:inline-flex; align-items:center; border:1.5px solid var(--c-border); width:fit-content;
}
.qty-stepper button{ width:40px; height:44px; font-size:1.1rem; }
.qty-stepper input{
  width:48px; height:44px; text-align:center; border:0; border-left:1.5px solid var(--c-border); border-right:1.5px solid var(--c-border);
  -moz-appearance: textfield;
}
.qty-stepper input::-webkit-outer-spin-button, .qty-stepper input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

.pdp-actions{ display:flex; flex-direction:column; gap: var(--sp-3); margin-top: var(--sp-6); }
@media(min-width:480px){ .pdp-actions{ flex-direction:row; } }

.pdp-trust{ margin-top: var(--sp-6); display:flex; flex-direction:column; gap: var(--sp-3); }
.pdp-trust li{ display:flex; align-items:center; gap:10px; font-size:0.85rem; color: var(--c-text-muted); }
.pdp-trust svg{ width:18px; height:18px; flex-shrink:0; color: var(--c-text); }

.acc-item{ border-bottom:1px solid var(--c-border); }
.acc-trigger{
  width:100%; display:flex; justify-content:space-between; align-items:center;
  padding: var(--sp-4) 0; font-family: var(--font-display); font-weight:600;
  letter-spacing: var(--ls-cap); text-transform:uppercase; font-size:0.9rem;
}
.acc-trigger::after{ content:"+"; font-family:var(--font-body); font-weight:400; font-size:1.1rem; }
.acc-trigger[aria-expanded="true"]::after{ content:"–"; }
.acc-panel{ padding-bottom: var(--sp-4); max-width:56ch; }

.reviews-layout{ display:grid; grid-template-columns: 1fr; gap: var(--sp-7); margin-top: var(--sp-6); }
@media(min-width:900px){ .reviews-layout{ grid-template-columns: 280px minmax(0,1fr); } }
.reviews-summary{ padding: var(--sp-5); background: var(--c-surface); height:fit-content; }
.rating-bars{ display:flex; flex-direction:column; gap:6px; margin-top: var(--sp-4); }
.rating-bar{ display:grid; grid-template-columns: 24px minmax(0,1fr) 32px; align-items:center; gap:8px; font-size:0.75rem; }
.rating-bar__track{ height:6px; background: var(--tt-gray-200); }
.rating-bar__fill{ height:100%; background: var(--tt-black); }
.reviews-list{ display:flex; flex-direction:column; gap: var(--sp-6); }
.review{ padding-bottom: var(--sp-6); border-bottom:1px solid var(--c-border); }

.complete-look{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--sp-4); }
.complete-look__item .ph{ aspect-ratio: 3/4; }

/* ---------------------------------------------------------
   WooCommerce-generated add-to-cart form (variations, quantity,
   add-to-cart button) — WooCommerce owns this markup so stock
   validation / variation pricing / AJAX keep working; we only
   restyle its default classes to match the design system instead
   of replacing the templates outright.
   --------------------------------------------------------- */
.pdp-info form.cart{ margin-top: var(--sp-5); }
.pdp-info table.variations{ width:100%; border:0; margin:0 0 var(--sp-5); }
.pdp-info table.variations tr{ display:block; margin-bottom: var(--sp-5); }
.pdp-info table.variations td, .pdp-info table.variations th{ display:block; padding:0; border:0; text-align:left; }
.pdp-info table.variations label{
  font-family: var(--font-display); font-weight:600; font-size: var(--fs-label);
  letter-spacing: var(--ls-wide); text-transform:uppercase; display:block; margin-bottom: var(--sp-3);
}
.pdp-info table.variations select{
  width:auto; min-width:140px; padding:13px 14px; border:1.5px solid var(--tt-gray-300);
  font-family: var(--font-body); font-size: var(--fs-body); background: var(--tt-white);
}
.pdp-info .reset_variations{ display:inline-block; margin-left: var(--sp-3); font-size: var(--fs-body-sm); text-decoration:underline; }
.pdp-info .woocommerce-variation-price{ margin: var(--sp-3) 0; }
.pdp-info .woocommerce-variation-availability{ margin-bottom: var(--sp-3); }

.pdp-info .quantity{ display:inline-flex; }
.pdp-info .quantity .qty{
  width:64px; height:48px; text-align:center; border:1.5px solid var(--c-border);
  font-family: var(--font-body); font-size:1rem;
}
.pdp-info .single_add_to_cart_button,
.pdp-info button.checkout-button{
  display:inline-flex; align-items:center; justify-content:center; gap: var(--sp-2);
  font-family: var(--font-display); font-weight:600; font-size:0.95rem;
  letter-spacing: var(--ls-cap); text-transform: uppercase;
  padding: 15px 28px; border: 1.5px solid var(--tt-black);
  background: var(--tt-black); color: var(--tt-white); border-radius:0;
  transition: background var(--dur-fast) var(--ease);
  margin-top: var(--sp-4);
}
.pdp-info .single_add_to_cart_button:hover{ background: var(--tt-red); border-color: var(--tt-red); }
.pdp-info .single_add_to_cart_button.disabled{ opacity:.4; pointer-events:none; }
.pdp-info form.cart .button{ width:100%; }
.pdp-info p.stock{ font-size: var(--fs-body-sm); color: var(--c-text-muted); margin-top: var(--sp-3); }
.pdp-info p.stock.out-of-stock{ color: var(--tt-red); }
.pdp-info .woocommerce-message{
  background: var(--c-surface); border-left:3px solid var(--tt-black); padding: var(--sp-3) var(--sp-4);
  font-size: var(--fs-body-sm); margin-bottom: var(--sp-4); list-style:none;
}

.sticky-atc{
  position:fixed; left:0; right:0; bottom:0; z-index:70;
  background: var(--tt-white); border-top:1px solid var(--c-border);
  padding: var(--sp-3) var(--sp-4);
  display:flex; align-items:center; gap: var(--sp-4);
  transform: translateY(100%); transition: transform var(--dur-base) var(--ease);
}
.sticky-atc.is-visible{ transform: translateY(0); }
@media(min-width:900px){ .sticky-atc{ display:none; } }
