.pdp{ display:grid; grid-template-columns:1fr 1fr; gap:56px; max-width:var(--max); margin:0 auto; padding:48px 32px 64px; }

.gallery-main{
  background:var(--paper-deep); border-radius:12px; overflow:hidden;
  aspect-ratio:4/5; margin-bottom:14px; position:relative;
}
.gallery-main img{ width:100%; height:100%; object-fit:cover; cursor:zoom-in; }

.img-magnifier-glass{
  position:absolute; display:none;
  width:170px; height:170px;
  border:3px solid var(--paper); border-radius:50%;
  box-shadow:0 14px 30px rgba(43,36,32,.4);
  background-repeat:no-repeat; pointer-events:none; z-index:5;
}

.gallery-thumbs{ display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.gallery-thumbs .thumb{
  background:var(--paper-deep); border-radius:6px; overflow:hidden;
  aspect-ratio:1/1; border:2px solid transparent; cursor:pointer;
}
.gallery-thumbs .thumb.active{ border-color:var(--amber); }
.gallery-thumbs img{ width:100%; height:100%; object-fit:cover; }

.badge{
  display:inline-block; border:1.5px solid var(--forest); color:var(--forest);
  font-size:12px; font-weight:700; letter-spacing:.03em; padding:6px 14px;
  border-radius:20px; margin-bottom:18px;
}
.pdp h1{ font-size:36px; margin-bottom:6px; }
.medium{ color:var(--ink-soft); font-size:14px; margin-bottom:18px; }
.share{ display:flex; gap:14px; font-size:15px; color:var(--ink-soft); margin-bottom:20px; }

.social-sharing ul{ display:flex; align-items:center; gap:14px; list-style:none; margin:0; padding:0; }
.social-sharing a{ color:var(--amber); display:flex; transition:transform .2s, filter .2s; }
.social-sharing a:hover{ color:var(--ink); transform:translateY(-2px); filter:drop-shadow(0 6px 10px rgba(43,36,32,.25)); }
.social-sharing svg{ width:30px; height:30px; }
.price{ font-family:'Fraunces', serif; font-size:30px; font-weight:600; margin-bottom:4px; color:var(--amber); }
/* productcomments' "Write your review" button/link is hidden - reviews are not used in this shop */
.post-product-comment, .btn-comment{ display:none !important; }
.price-note{ font-size:13px; color:var(--ink-soft); margin-bottom:22px; }
.lede{ color:var(--ink-soft); margin-bottom:26px; max-width:52ch; }

.specs{ border-top:1px solid var(--amber); border-bottom:1px solid var(--amber); padding:18px 0; margin-bottom:26px; }
.specs dl{ display:grid; grid-template-columns:120px 1fr; gap:10px 16px; margin:0; font-size:14px; }
.specs dt{ color:var(--amber); }
.specs dd{ margin:0; font-weight:600; }

.secondary-links{ display:flex; gap:20px; font-size:13px; color:var(--ink-soft); margin-top:16px; }
.secondary-links a:hover{ color:var(--ink); }

.tabs-section{ max-width:var(--max); margin:0 auto; padding:0 32px 72px; display:grid; grid-template-columns:220px 1fr; gap:48px; }
.tab-list{ display:flex; flex-direction:column; }
.tab-list a{ padding:16px 0; border-bottom:1px solid var(--line); font-size:14px; font-weight:600; color:var(--ink-soft); }
.tab-list a.active{ color:var(--amber); border-bottom-color:var(--amber); }
.tab-content p{ color:var(--ink-soft); margin-bottom:16px; max-width:62ch; }
.tab-content h4{ font-size:15px; margin-bottom:10px; }

.section{ padding:64px 32px; max-width:var(--max); margin:0 auto; }
.section-head{ margin-bottom:36px; }
.section-head h2{ font-size:26px; }
.grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }

@media(max-width:860px){
  .pdp,.tabs-section{ grid-template-columns:minmax(0,1fr); }
  .pdp{ padding:20px 16px 40px; gap:28px; }
  .tabs-section{ padding:0 16px 40px; gap:20px; }
  .section{ padding:40px 16px; }
  .grid{ grid-template-columns:repeat(2,1fr); }
}

#mainProductImage {
  cursor: none;
}

.gallery-thumbs .thumb {
  overflow: hidden;
}

.gallery-thumbs .thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.2);
}

/* Mobile: shorter gallery so title + price are visible on the first screen; thumbnails in one scrolling row */
@media(max-width:860px){
  .gallery-main{ aspect-ratio:1/1; max-height:52vh; width:100%; }
  .gallery-thumbs{ display:flex; gap:8px; overflow-x:auto; padding-bottom:4px; scrollbar-width:thin; }
  .gallery-thumbs .thumb{ flex:0 0 64px; }
}


/* Full-size photo lightbox (click on the main product photo) */
.lightbox{
  position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center;
  background:rgba(43,36,32,.9); padding:40px;
}
.lightbox[hidden]{ display:none; }
.lightbox__frame{ position:relative; line-height:0; border-radius:4px; }
.lightbox__frame.is-loading{ visibility:hidden; }
.lightbox__frame.is-cropped{ overflow:hidden; background:var(--paper-deep); box-shadow:0 20px 60px rgba(0,0,0,.45); }
.lightbox__frame.is-cropped .lightbox__img{ position:absolute; max-width:none; max-height:none; box-shadow:none; border-radius:0; }
.lightbox__img{
  display:block; width:auto; height:auto;
  max-width:calc(100vw - 80px); max-height:calc(100vh - 80px); max-height:calc(100dvh - 80px);
  background:#fff; border-radius:4px; box-shadow:0 20px 60px rgba(0,0,0,.45);
}
.lightbox__close,.lightbox__nav{
  position:absolute; display:flex; align-items:center; justify-content:center;
  width:40px; height:40px; padding:0; cursor:pointer;
  border:1px solid rgba(255,255,255,.55); border-radius:50%;
  background:rgba(193,135,47,.55); color:var(--ink);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  transition:background .15s, transform .15s;
}
.lightbox__close svg,.lightbox__nav svg{ fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.lightbox__close:hover,.lightbox__nav:hover{ background:rgba(193,135,47,.92); transform:scale(1.06); }
.lightbox__close:focus-visible,.lightbox__nav:focus-visible{ outline:2px solid var(--amber); outline-offset:2px; }
.lightbox__close{ top:14px; right:14px; }
.lightbox__nav{ top:50%; margin-top:-20px; }
.lightbox__prev{ left:14px; }
.lightbox__next{ right:14px; }
.lightbox__nav[hidden]{ display:none; }
html.lightbox-open{ overflow:hidden; }
@media (max-width:760px){
  .lightbox{ padding:12px; }
  .lightbox__img{ max-width:calc(100vw - 24px); max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); }
  .lightbox__close{ top:8px; right:8px; }
  .lightbox__prev{ left:8px; }
  .lightbox__next{ right:8px; }
}
