/* ============================================================
   THE COLLECTION SHOP
   PRODUCT DETAIL  — RESTORED GALLERY FIRST
   Same  files. Full navigation retained.
   ============================================================ */

:root{
  --t3-ink:#171717;
  --t3-copy:#3d3935;
  --t3-muted:#6d6863;
  --t3-line:#e5dfd8;
  --t3-warm:#faf8f5;
  --t3-wine:#680033;
  --t3-wine-dark:#4a0024;
  --t3-green:#17633b;
  --t3-green-bg:#f2f8f3;
  --t3-wide:1720px;
  --t3-reading:1240px;
}

*,
*::before,
*::after{box-sizing:border-box}

body.tcs-product-page{
  margin:0;
  background:#fff;
  color:var(--t3-ink);
  font-family:Arial,Helvetica,sans-serif;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

body.tcs-product-page img{max-width:100%}
body.tcs-product-page a{color:inherit}


/* ============================================================
   BREADCRUMBS — SLIM UTILITY STRIP
   ============================================================ */

.tcs-detail-breadcrumbs{
  background:#fff;
  border-bottom:1px solid #eee9e4;
}

.tcs-detail-breadcrumbs__inner{
  width:min(96vw,var(--t3-wide));
  margin:0 auto;

  min-height:0;
  height:auto;

  padding:7px 0 6px;

  display:flex;
  align-items:center;

  gap:6px;

  color:#77716b;

  font-size:12px;
  line-height:1.2;

  white-space:nowrap;
  overflow:hidden;
}

.tcs-detail-breadcrumbs__inner a{
  color:#5b5651;
  font-weight:600;
  text-decoration:none;
}

.tcs-detail-breadcrumbs__inner a:hover{
  color:var(--t3-wine);
}

.tcs-detail-breadcrumbs__separator{
  color:#bbb3ab;
  font-size:13px;
  line-height:1;
}

.tcs-detail-breadcrumbs__current{
  min-width:0;
  overflow:hidden;
  color:#8a837c;
  font-weight:400;
  text-overflow:ellipsis;
}

@media(max-width:900px){
  .tcs-detail-breadcrumbs__inner{
    width:calc(100% - 28px);
    padding:6px 0 5px;
    font-size:11px;
  }
}

/* Hero */
.tcs-detail-hero{
  padding:14px 0 58px;
  background:#fff;
}
.tcs-detail-hero__inner{
  width:min(96vw,var(--t3-wide));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,760px) minmax(520px,1fr);
  gap:64px;
  align-items:start;
}

/* Gallery */
.tcs-detail-gallery{
  max-width:760px;
  width:100%;
}
.tcs-detail-gallery__stage{
  position:relative;
  width:100%;
  min-height:650px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
}
.tcs-detail-gallery__main{
  position:relative;
  width:100%;
  min-height:650px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  border:0;
  background:#fff;
  cursor:default;
}
.tcs-detail-gallery__main img{
  display:block;
  width:auto;
  max-width:100%;
  max-height:820px;
  margin:0 auto;
  object-fit:contain;
}
.tcs-detail-gallery__badge{
  position:absolute;
  top:14px;
  left:14px;
  z-index:3;
  padding:7px 10px;
  background:var(--t3-wine);
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.tcs-detail-gallery__zoom{
  position:absolute;
  right:14px;
  bottom:14px;
  padding:8px 12px;
  border:1px solid #d6d0ca;
  border-radius:2px;
  background:rgba(255,255,255,.96);
  color:#3f3f3f;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}

.tcs-detail-gallery__zoom:hover{
  border-color:var(--t3-wine);
  color:var(--t3-wine);
}
.tcs-detail-gallery__thumbs{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}
.tcs-detail-thumb{
  width:78px;
  height:78px;
  padding:5px;
  border:1px solid var(--t3-line);
  background:#fff;
  cursor:pointer;
}
.tcs-detail-thumb:hover,
.tcs-detail-thumb.is-active{border-color:#222}
.tcs-detail-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
}

/* Buy box */
.tcs-detail-buybox{
  position:sticky;
  top:24px;
  padding-top:4px;
}
.tcs-detail-eyebrow,
.tcs-detail-section-label{
  margin:0 0 8px;
  color:var(--t3-wine);
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.tcs-detail-buybox h1{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(38px,3.2vw,54px);
  line-height:1.05;
  font-weight:400;
  letter-spacing:-.025em;
}
.tcs-detail-byline{
  margin:10px 0 0;
  color:var(--t3-muted);
  font-size:17px;
}
.tcs-detail-byline a{
  color:var(--t3-ink);
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid #c7beb6;
}
.tcs-detail-buybox__price{
  margin-top:27px;
  padding-top:20px;
  border-top:1px solid var(--t3-line);
}
.tcs-detail-status{
  margin:0 0 5px;
  color:var(--t3-green);
  font-size:13px;
  font-weight:800;
}
.tcs-detail-status--unavailable{color:#992020}
.tcs-detail-price-line{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:12px;
}
.tcs-detail-price{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:39px;
  line-height:1.05;
  font-weight:500;
}
.tcs-detail-price-old{
  color:var(--t3-muted);
  font-size:17px;
}
.tcs-detail-contact-price{
  margin:0;
  font-size:22px;
  line-height:1.3;
  font-weight:700;
}
.tcs-detail-sale-savings{
  margin:7px 0 0;
  color:#9a2020;
  font-size:13px;
  font-weight:700;
}
.tcs-detail-sale-timer{
  margin:3px 0 0;
  color:var(--t3-muted);
  font-size:12px;
}
.tcs-detail-shipping-chip{
  display:inline-flex;
  margin:14px 0 0;
  padding:8px 12px;
  border:1px solid #d8e7db;
  border-radius:2px;
  background:var(--t3-green-bg);
  color:var(--t3-green);
  font-size:12px;
  font-weight:800;
}
.tcs-detail-purchase{margin-top:19px}
.tcs-detail-purchase form{margin:0}
.tcs-detail-button{
  width:100%;
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:13px 20px;
  border-radius:6px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:16px;
  font-weight:800;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
}
.tcs-detail-button--primary{
  border:1px solid var(--t3-wine);
  background:var(--t3-wine);
  color:#fff!important;
}
.tcs-detail-button--primary:hover{background:var(--t3-wine-dark)}
.tcs-detail-paypal{margin-top:9px!important}
.tcs-detail-button--paypal{
  border:1px solid #253b80;
  background:#fff;
  color:#253b80!important;
}
.tcs-detail-paypal__note{
  margin:5px 0 0;
  color:var(--t3-muted);
  font-size:10px;
}
.tcs-detail-quickfacts{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin:24px 0 0;
  border-top:1px solid var(--t3-line);
  border-bottom:1px solid var(--t3-line);
}
.tcs-detail-quickfacts>div{padding:12px 13px 12px 0}
.tcs-detail-quickfacts>div:nth-child(even){
  padding-left:13px;
  border-left:1px solid var(--t3-line);
}
.tcs-detail-quickfacts dt{
  color:var(--t3-muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.tcs-detail-quickfacts dd{
  margin:2px 0 0;
  color:var(--t3-copy);
  font-size:13px;
  font-weight:700;
}
.tcs-detail-financing{
  margin-top:17px;
  padding:13px 15px;
  background:var(--t3-warm);
}
.tcs-detail-financing strong,
.tcs-detail-financing span{display:block}
.tcs-detail-financing strong{font-size:13px}
.tcs-detail-financing span{
  margin-top:2px;
  color:var(--t3-muted);
  font-size:11px;
}
.tcs-detail-confidence{
  margin-top:20px;
  border-top:1px solid var(--t3-line);
}
.tcs-detail-confidence>div{
  padding:11px 0;
  border-bottom:1px solid var(--t3-line);
}
.tcs-detail-confidence strong,
.tcs-detail-confidence span{display:block}
.tcs-detail-confidence strong{font-size:12px}
.tcs-detail-confidence span{
  margin-top:2px;
  color:var(--t3-muted);
  font-size:11px;
  line-height:1.45;
}

/* Editorial content */
.tcs-detail-section{padding:78px 0}
.tcs-detail-section--paper{
  border-top:1px solid var(--t3-line);
  background:#fff;
}
.tcs-detail-section--warm{
  border-top:1px solid var(--t3-line);
  border-bottom:1px solid var(--t3-line);
  background:var(--t3-warm);
}
.tcs-detail-copy-layout{
  width:min(92vw,var(--t3-reading));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);
  gap:clamp(48px,7vw,90px);
  align-items:start;
}
.tcs-detail-copy{max-width:820px}
.tcs-detail-copy h2,
.tcs-detail-artist h2,
.tcs-detail-related-heading h2{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(34px,3.2vw,48px);
  line-height:1.1;
  font-weight:400;
  letter-spacing:-.02em;
}
.tcs-detail-copy>p:not(.tcs-detail-section-label),
.tcs-detail-rich-copy,
.tcs-detail-artist__bio{
  color:var(--t3-copy);
  font-size:17px;
  line-height:1.78;
}
.tcs-detail-copy>p:not(.tcs-detail-section-label){margin:24px 0 0}
.tcs-detail-rich-copy{margin-top:20px}
.tcs-detail-specs{
  padding:22px;
  border:1px solid var(--t3-line);
  background:#fff;
}
.tcs-detail-specs h3{
  margin:0 0 13px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;
  font-weight:400;
}
.tcs-detail-specs dl{margin:0}
.tcs-detail-specs dl>div{
  display:grid;
  grid-template-columns:105px 1fr;
  gap:14px;
  padding:10px 0;
  border-top:1px solid var(--t3-line);
}
.tcs-detail-specs dt{
  color:var(--t3-muted);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
}
.tcs-detail-specs dd{
  margin:0;
  font-size:13px;
  font-weight:700;
}

/* Artist */
.tcs-detail-artist{
  width:min(92vw,var(--t3-reading));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(280px,.6fr) minmax(0,1.4fr);
  gap:clamp(50px,7vw,95px);
  align-items:start;
}
.tcs-detail-text-link{
  display:inline-flex;
  margin-top:16px;
  color:var(--t3-wine)!important;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
}

/* Related */
.tcs-detail-wide{
  width:min(96vw,var(--t3-wide));
  margin:0 auto;
}
.tcs-detail-related-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:28px;
}
.tcs-detail-related-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
}
.tcs-detail-card__image{
  aspect-ratio:1/1;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#faf9f7;
  text-decoration:none;
}
.tcs-detail-card__image img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.tcs-detail-card__body{padding:13px 0 0}
.tcs-detail-card h3{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:19px;
  line-height:1.25;
  font-weight:400;
}
.tcs-detail-card h3 a{text-decoration:none}
.tcs-detail-card__price{
  margin:6px 0 0;
  font-size:14px;
  font-weight:800;
}

/* Assistance */
.tcs-detail-assistance{
  padding:54px 0;
  background:#171717;
  color:#fff;
}
.tcs-detail-assistance__inner{
  width:min(92vw,1320px);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 390px;
  gap:60px;
  align-items:center;
}
.tcs-detail-assistance h2{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:32px;
  font-weight:400;
}
.tcs-detail-assistance__actions{
  display:grid;
  gap:9px;
}
.tcs-detail-button--light{
  border:1px solid #fff;
  background:#fff;
  color:#171717!important;
}
.tcs-detail-button--outline-light{
  border:1px solid #777;
  background:transparent;
  color:#fff!important;
}
.tcs-detail-section-label--light{color:#d7c6cf}

/* Modal */
.tcs-detail-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:30px;
  background:rgba(0,0,0,.95);
}
.tcs-detail-modal[hidden]{display:none}
.tcs-detail-modal img{
  max-width:95vw;
  max-height:92vh;
  object-fit:contain;
}
.tcs-detail-modal__close{
  position:absolute;
  top:15px;
  right:18px;
  width:46px;
  height:46px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#111;
  font-size:28px;
  cursor:pointer;
}

/* Tablet */
@media(max-width:1100px){
  .tcs-detail-hero__inner{
    grid-template-columns:minmax(0,.82fr) minmax(390px,1fr);
    gap:36px;
  }
  .tcs-detail-gallery__stage,
  .tcs-detail-gallery__main{min-height:520px}
  .tcs-detail-gallery__main img{max-height:660px}
  .tcs-detail-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Mobile: essentials first, artwork next */
@media(max-width:900px){
  .tcs-detail-hero{padding:16px 0 34px}
  .tcs-detail-hero__inner{
    width:100%;
    display:flex;
    flex-direction:column;
    gap:21px;
  }
  .tcs-detail-buybox{
    order:1;
    position:static;
    width:calc(100% - 28px);
    margin:0 auto;
    padding:0;
  }
  .tcs-detail-gallery{
    order:2;
    width:100%;
  }
  .tcs-detail-buybox h1{font-size:clamp(30px,9vw,40px)}
  .tcs-detail-buybox__price{
    margin-top:14px;
    padding-top:13px;
  }
  .tcs-detail-price{font-size:31px}
  .tcs-detail-purchase{margin-top:12px}
  .tcs-detail-button{min-height:54px}
  .tcs-detail-quickfacts,
  .tcs-detail-financing,
  .tcs-detail-confidence{display:none}
  .tcs-detail-gallery__stage,
  .tcs-detail-gallery__main{min-height:0}
  .tcs-detail-gallery__main img{
    width:100%;
    max-width:100%;
    max-height:none;
  }
  .tcs-detail-gallery__thumbs{
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    gap:8px;
    margin:10px 14px 0;
  }
  .tcs-detail-thumb{
    flex:0 0 68px;
    width:68px;
    height:68px;
  }
  .tcs-detail-section{padding:50px 0}
  .tcs-detail-copy-layout,
  .tcs-detail-artist{
    width:calc(100% - 28px);
    grid-template-columns:1fr;
    gap:30px;
  }
  .tcs-detail-copy h2,
  .tcs-detail-artist h2,
  .tcs-detail-related-heading h2{font-size:30px}
  .tcs-detail-copy>p:not(.tcs-detail-section-label),
  .tcs-detail-rich-copy,
  .tcs-detail-artist__bio{
    font-size:17px;
    line-height:1.75;
  }
  .tcs-detail-wide{width:calc(100% - 28px)}
  .tcs-detail-related-heading{display:block}
  .tcs-detail-related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }
  .tcs-detail-card h3{font-size:17px}
  .tcs-detail-assistance__inner{
    width:calc(100% - 28px);
    grid-template-columns:1fr;
    gap:24px;
  }
}

@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important;
  }
}