/* ============================================
   SHAY RUNWAY BRANDS — Product Detail Page
   ============================================ */

/* ====== PDP LAYOUT ====== */
.pdp{max-width:1400px;margin:0 auto;padding:clamp(1.5rem,3vw,2.5rem) clamp(1.5rem,4vw,4rem)}
.pdp__inner{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start}

/* ====== GALLERY ====== */
.pdp__gallery{display:grid;grid-template-columns:72px 1fr;gap:1rem;position:sticky;top:80px}
.pdp__thumbs{display:flex;flex-direction:column;gap:.6rem}
.pdp__thumb{width:72px;height:90px;overflow:hidden;border:1px solid transparent;cursor:pointer;background:none;padding:0;transition:border-color .3s}
.pdp__thumb.active{border-color:var(--gold)}
.pdp__thumb img{width:100%;height:100%;object-fit:cover}
.pdp__thumb:hover{border-color:var(--taupe-lt)}
.pdp__main-img{overflow:hidden;background:var(--cream-dk);position:relative}
.pdp__main-img img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .4s var(--ease-out);cursor:zoom-in}
.pdp__main-img:hover img{transform:scale(1.03)}

/* ====== PRODUCT INFO ====== */
.pdp__info{padding-top:.5rem}
.pdp__badge{display:inline-block;font-size:.48rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold);padding:.35rem .8rem;margin-bottom:1rem}
.pdp__name{font-family:var(--serif);font-size:clamp(2rem,3.5vw,2.8rem);font-weight:400;color:var(--char);line-height:1.05;margin-bottom:.2rem}
.pdp__variant{font-family:var(--serif);font-size:1.1rem;font-style:italic;color:var(--taupe);margin-bottom:.6rem}
.pdp__price{font-size:1.2rem;font-weight:500;color:var(--char);margin-bottom:1rem;letter-spacing:.02em}
.pdp__disclaimer{font-size:.7rem;color:var(--taupe);font-style:italic;margin-top:-.5rem;margin-bottom:1rem;letter-spacing:.03em}

/* Rating */
.pdp__rating{display:flex;align-items:center;gap:.6rem;margin-bottom:1.2rem}
.pdp__stars{color:var(--gold);font-size:.9rem;letter-spacing:1px}
.pdp__reviews{font-size:.65rem;font-weight:400;color:var(--taupe);letter-spacing:.05em}
.pdp__reviews a{color:var(--taupe);text-decoration:underline;text-underline-offset:2px;transition:color .3s}
.pdp__reviews a:hover{color:var(--gold)}

.pdp__desc{font-size:.78rem;font-weight:300;color:var(--taupe);line-height:1.85;margin-bottom:1.8rem}

/* ====== SHADE SELECTOR ====== */
.pdp__shades{margin-bottom:1.8rem}
.pdp__shades-label{font-size:.65rem;font-weight:500;letter-spacing:.1em;color:var(--char);margin-bottom:.7rem}
.pdp__shades-label strong{font-weight:600}
.pdp__swatch-row{display:flex;gap:.5rem;flex-wrap:wrap}
.pdp__swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .3s;outline:none;position:relative}
.pdp__swatch:hover{transform:scale(1.12)}
.pdp__swatch.active{border-color:var(--char);box-shadow:0 0 0 2px var(--cream),0 0 0 3.5px var(--char)}
.pdp__swatch--lg{width:40px;height:40px}

/* ====== SIZE SELECTOR ====== */
.pdp__sizes{margin-bottom:1.8rem}
.pdp__sizes-label{font-size:.65rem;font-weight:500;letter-spacing:.1em;color:var(--char);margin-bottom:.7rem}
.pdp__sizes-label strong{font-weight:600}
.pdp__size-row{display:flex;gap:.5rem;flex-wrap:wrap}
.pdp__size-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.05em;color:var(--char);background:none;border:1px solid rgba(45,45,45,.15);cursor:pointer;transition:all .3s;outline:none}
.pdp__size-btn:hover{border-color:var(--char);background:var(--cream-dk)}
.pdp__size-btn.active{border-color:var(--char);background:var(--char);color:var(--white)}
.pdp__size-btn.out-of-stock{opacity:.35;cursor:not-allowed;text-decoration:line-through}

/* ====== QUANTITY ====== */
.pdp__qty{margin-bottom:1.5rem}
.pdp__qty-label{font-size:.65rem;font-weight:500;letter-spacing:.1em;color:var(--char);margin-bottom:.5rem}
.pdp__qty-control{display:inline-flex;align-items:center;border:1px solid rgba(45,45,45,.15)}
.pdp__qty-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:.9rem;color:var(--char);background:none;border:none;cursor:pointer;transition:background .3s}
.pdp__qty-btn:hover{background:var(--cream-dk)}
.pdp__qty-num{width:40px;text-align:center;font-size:.8rem;font-weight:500;color:var(--char);border-left:1px solid rgba(45,45,45,.1);border-right:1px solid rgba(45,45,45,.1)}

/* ====== ADD TO BAG ====== */
.pdp__add-btn{width:100%;padding:1rem;font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--white);background:var(--char);border:none;cursor:pointer;transition:all .4s var(--ease);margin-bottom:.8rem}
.pdp__add-btn:hover{background:var(--gold)}
.pdp__add-btn--preorder{background:var(--gold)}
.pdp__add-btn--preorder:hover{background:var(--char)}
.pdp__add-btn--disabled{background:var(--taupe-lt);cursor:not-allowed}
.pdp__add-btn--disabled:hover{background:var(--taupe-lt)}
.pdp__stock-note{font-size:.68rem;color:var(--taupe);font-style:italic;margin-bottom:2rem;text-align:center}
.pdp__stock-note--low{color:#C0392B;font-weight:600;font-style:normal}

/* ====== ACCORDION ====== */
.pdp__details{border-top:1px solid rgba(201,169,98,.1)}
.pdp__accordion{border-bottom:1px solid rgba(201,169,98,.1)}
.pdp__accordion-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 0;font-family:var(--sans);font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--char);background:none;border:none;cursor:pointer;transition:color .3s}
.pdp__accordion-btn:hover{color:var(--gold)}
.pdp__accordion-btn::after{content:'+';font-size:1rem;font-weight:300;transition:transform .3s}
.pdp__accordion-btn.active::after{content:'\2212'}
.pdp__accordion-body{max-height:0;overflow:hidden;transition:max-height .4s var(--ease),padding .4s}
.pdp__accordion-body.open{max-height:200px;padding:0 0 1rem}
.pdp__accordion-body p{font-size:.72rem;font-weight:300;color:var(--taupe);line-height:1.8}

/* ====== RELATED / YOU MAY ALSO LIKE ====== */
.related{padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,4vw,4rem);border-top:1px solid rgba(201,169,98,.06)}
.related__inner{max-width:1400px;margin:0 auto}
.related__title{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.2rem);font-weight:400;color:var(--char);text-align:center;margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.related__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.5rem)}

/* ====== RESPONSIVE ====== */
@media(max-width:1024px){
  .pdp__inner{grid-template-columns:1fr 1fr;gap:2rem}
  .related__grid{grid-template-columns:repeat(4,1fr)}
}

@media(max-width:768px){
  .pdp__inner{grid-template-columns:1fr}
  .pdp__gallery{grid-template-columns:1fr;position:static}
  .pdp__thumbs{flex-direction:row;order:2}
  .pdp__thumb{width:60px;height:75px}
  .pdp__main-img{order:1}
  .related__grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:480px){
  .pdp__swatch-row{gap:.4rem}
  .pdp__swatch{width:24px;height:24px}
  .pdp__size-btn{width:40px;height:40px;font-size:.65rem}
}

/* ====== REVIEWS SECTION ====== */
.reviews{padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,4vw,4rem);background:var(--cream-dk);border-top:1px solid rgba(201,169,98,.1)}
.reviews__inner{max-width:900px;margin:0 auto}
.reviews__title{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2rem);font-weight:400;color:var(--char);text-align:center;margin-bottom:2rem}

/* Summary */
.reviews__summary{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;background:var(--white);margin-bottom:2rem}
.reviews__avg{display:flex;align-items:center;gap:1rem}
.reviews__avg-num{font-family:var(--serif);font-size:2.5rem;font-weight:400;color:var(--char)}
.reviews__avg-stars{color:var(--gold);font-size:1.2rem;letter-spacing:2px}
.reviews__avg-count{font-size:.7rem;color:var(--taupe);letter-spacing:.05em}
.reviews__write-btn{padding:.8rem 1.5rem;font-family:var(--sans);font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--white);background:var(--char);border:none;cursor:pointer;transition:background .3s}
.reviews__write-btn:hover{background:var(--gold)}

/* Review Form */
.reviews__form-wrap{background:var(--white);padding:2rem;margin-bottom:2rem}
.reviews__form h3{font-family:var(--serif);font-size:1.3rem;font-weight:400;color:var(--char);margin-bottom:1.5rem}
.reviews__form-group{margin-bottom:1.2rem}
.reviews__form-group label{display:block;font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--char);margin-bottom:.5rem}
.reviews__form-group input,.reviews__form-group textarea{width:100%;padding:.8rem 1rem;font-family:var(--sans);font-size:.8rem;color:var(--char);border:1px solid rgba(45,45,45,.15);background:var(--cream);transition:border-color .3s}
.reviews__form-group input:focus,.reviews__form-group textarea:focus{outline:none;border-color:var(--gold)}
.reviews__form-group textarea{min-height:120px;resize:vertical}
.reviews__star-select{display:flex;gap:.3rem}
.reviews__star-btn{width:32px;height:32px;font-size:1.4rem;color:rgba(201,169,98,.3);background:none;border:none;cursor:pointer;transition:color .2s,transform .2s}
.reviews__star-btn:hover,.reviews__star-btn.active{color:var(--gold);transform:scale(1.1)}
.reviews__form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}
.reviews__cancel-btn{padding:.7rem 1.2rem;font-family:var(--sans);font-size:.6rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--taupe);background:none;border:1px solid rgba(45,45,45,.2);cursor:pointer;transition:all .3s}
.reviews__cancel-btn:hover{border-color:var(--char);color:var(--char)}
.reviews__submit-btn{padding:.7rem 1.5rem;font-family:var(--sans);font-size:.6rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--white);background:var(--gold);border:none;cursor:pointer;transition:background .3s}
.reviews__submit-btn:hover{background:var(--char)}

/* Reviews List */
.reviews__list{display:flex;flex-direction:column;gap:1.5rem}
.reviews__empty{text-align:center;font-size:.85rem;font-style:italic;color:var(--taupe);padding:3rem 0}
.review-card{background:var(--white);padding:1.5rem 2rem}
.review-card__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.8rem}
.review-card__author{font-weight:600;font-size:.8rem;color:var(--char)}
.review-card__date{font-size:.65rem;color:var(--taupe)}
.review-card__stars{color:var(--gold);font-size:.8rem;letter-spacing:1px;margin-bottom:.5rem}
.review-card__title{font-weight:600;font-size:.85rem;color:var(--char);margin-bottom:.5rem}
.review-card__text{font-size:.75rem;font-weight:300;color:var(--taupe);line-height:1.8}

@media(max-width:768px){
  .reviews__summary{flex-direction:column;gap:1rem;text-align:center}
  .reviews__avg{flex-direction:column;gap:.3rem}
}

/* ====== PLACEHOLDER IMAGE ====== */
.pdp__placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--cream-dk) 0%,#e8e4dc 100%);width:100%;aspect-ratio:3/4;position:relative}
.pdp__placeholder::before{content:'';position:absolute;width:80px;height:80px;border:2px solid var(--gold);border-radius:50%;opacity:.3}
.pdp__placeholder::after{content:'Image Coming Soon';font-family:var(--sans);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--taupe)}
