:root{
  --tl-bg:#12100e; --tl-panel:#1c1814; --tl-ink:#f3e6d2; --tl-muted:#b8a48a;
  --tl-amber:#e8a84a; --tl-brass:#c48a3a; --tl-char:#2a2420; --tl-line:#3a322b;
  --tl-display:'Syne',sans-serif; --tl-body:'Inter',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--tl-bg); color:var(--tl-ink);
  font-family:var(--tl-body); font-weight:400; line-height:1.65; letter-spacing:.01em;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
h1,h2,h3{font-family:var(--tl-display); font-weight:600; line-height:1.12; margin:0 0 .5em; letter-spacing:-.02em}
.tl-kicker{font-family:var(--tl-body); text-transform:uppercase; letter-spacing:.26em; font-size:.68rem; color:var(--tl-amber); margin:0 0 .6em}
.tl-wrap{max-width:1180px; margin:0 auto; padding:0 22px}
.tl-btn{display:inline-block; padding:.9em 1.7em; border:1px solid var(--tl-amber); border-radius:2px; font-family:var(--tl-body); font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; transition:.2s}
.tl-btn-fill{background:var(--tl-amber); color:#161310; border-color:var(--tl-amber)}
.tl-btn-fill:hover{background:var(--tl-brass); border-color:var(--tl-brass)}

.tl-head{display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 22px; position:sticky; top:0; z-index:20; background:rgba(18,16,14,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--tl-line)}
.tl-brand{display:flex; align-items:center; gap:10px}
.tl-brand-mark{width:36px; height:36px; object-fit:contain}
.tl-brand-name{font-family:var(--tl-display); font-size:1.28rem; letter-spacing:.08em; text-transform:uppercase}
.tl-nav{display:flex; gap:20px; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase}
.tl-nav a{color:var(--tl-muted)} .tl-nav a:hover{color:var(--tl-amber)}
.tl-cart{font-size:.78rem; border:1px solid var(--tl-brass); padding:.5em 1em; letter-spacing:.12em; text-transform:uppercase}
.tl-cart-n{display:inline-block; margin-left:.4em; color:var(--tl-amber)}
.tl-announce{background:var(--tl-char); color:var(--tl-muted); text-align:center; padding:.5em 16px; font-size:.72rem; letter-spacing:.12em; border-bottom:1px solid var(--tl-line)}
.tl-announce p{margin:0}

.tl-hero{position:relative; height:360px; overflow:hidden; background:var(--tl-char)}
.tl-hero img{width:100%; height:100%; object-fit:cover}
.tl-hero-copy{position:absolute; left:0; top:0; bottom:0; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; padding:0 22px 28px; max-width:640px; background:linear-gradient(90deg,rgba(18,16,14,.88),rgba(18,16,14,0) 78%)}
.tl-hero-copy h1{font-size:2.45rem; margin-bottom:.25em}
.tl-hero-copy p{max-width:440px; color:var(--tl-muted)}
.tl-hero-copy .tl-btn{margin-top:1em}

.tl-albums{display:grid; grid-template-columns:repeat(4,1fr); gap:2px; padding:2px 0}
.tl-album{position:relative; height:240px; overflow:hidden}
.tl-album img{width:100%; height:100%; object-fit:cover; transition:.4s}
.tl-album:hover img{transform:scale(1.05)}
.tl-album div{position:absolute; left:0; right:0; bottom:0; padding:14px; background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,0))}
.tl-album .tl-kicker{color:var(--tl-amber)}
.tl-album h2{color:#fff; font-size:1.12rem}

.tl-section{padding:66px 0 20px}
.tl-sec-title{font-size:2rem}
.tl-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:34px}
.tl-card{display:block}
.tl-card-media{display:block; aspect-ratio:1/1; overflow:hidden; background:var(--tl-char)}
.tl-card-media img{width:100%!important; height:100%!important; object-fit:cover!important}
.tl-card h3{font-size:1.05rem; margin:14px 0 2px}
.tl-meta{color:var(--tl-muted); font-size:.9rem}

.tl-strip{position:relative; height:180px; overflow:hidden; margin-top:50px}
.tl-strip img{width:100%; height:100%; object-fit:cover}
.tl-strip-copy{position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; padding:0 22px; color:#fff; text-shadow:0 1px 10px rgba(0,0,0,.5)}
.tl-strip-copy .tl-kicker{color:var(--tl-amber)}
.tl-strip-copy h2{font-size:1.7rem}

.tl-page{padding:60px 0}
.tl-article{max-width:780px; margin:0 auto; background:var(--tl-panel); padding:42px 40px; border:1px solid var(--tl-line)}
.tl-page-title{font-size:2.3rem}
.tl-entry{font-size:1.02rem; color:var(--tl-ink)}
.tl-entry h2{font-size:1.35rem; margin-top:1.7em; color:var(--tl-amber); font-family:var(--tl-display)}
.tl-entry h3{font-size:1.08rem; color:var(--tl-brass)}
.tl-entry p{margin:0 0 1em}
.tl-entry ol{margin:0 0 1.2em; padding-left:1.35em}
.tl-entry ul{margin:0 0 1.2em; padding-left:1.2em}
.tl-entry a{color:var(--tl-amber); text-decoration:underline}
.tl-entry .tl-clause{border-top:1px solid var(--tl-line); padding:14px 0}
.tl-wrap-head{padding:48px 0 8px}
.tl-wrap-head h1{font-size:2.2rem}

.tl-pdp{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:start; padding:60px 22px}
.tl-pdp-media img{background:var(--tl-char)}
.tl-pdp-body{position:sticky; top:78px}
.tl-pdp-title{font-size:2.05rem}
.tl-pdp-price{font-size:1.28rem; color:var(--tl-amber); margin:.5em 0 1em}
.tl-buy{display:flex; flex-direction:column; gap:14px; margin-top:10px}
.tl-qty{display:inline-flex; border:1px solid var(--tl-brass); overflow:hidden; width:max-content}
.tl-qty-btn{background:none; border:0; width:44px; height:44px; font-size:1.3rem; cursor:pointer; color:var(--tl-ink)}
.tl-qty-input{width:64px; border:0; text-align:center; font-size:1rem; background:none; color:var(--tl-ink); -moz-appearance:textfield}
.tl-qty-input::-webkit-outer-spin-button,.tl-qty-input::-webkit-inner-spin-button{-webkit-appearance:none; margin:0}
.tl-btn-add{width:100%; border-radius:2px; padding:1em}
.tl-trust{display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; margin-top:26px; border-top:1px solid var(--tl-line); padding-top:22px}
.tl-trust p{margin:0; font-size:.86rem}
.tl-trust b{display:block; text-transform:uppercase; letter-spacing:.14em; font-size:.66rem; color:var(--tl-amber)}
.tl-trust span{color:var(--tl-muted)}

.tl-ledge{max-width:1180px; margin:30px auto; padding:0 22px}
.tl-ledge dl{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin:0}
.tl-ledge-i{border-top:1px solid var(--tl-line); padding-top:12px}
.tl-ledge dt{font-family:var(--tl-display); color:var(--tl-amber); margin-bottom:4px}
.tl-ledge dd{margin:0; color:var(--tl-muted); font-size:.9rem}
.tl-note,.tl-specs{max-width:1180px; margin:30px auto; padding:0 22px}
.tl-note h3{color:var(--tl-amber)}
.tl-note ul{padding-left:1.1em}
.tl-specs table{width:100%; border-collapse:collapse}
.tl-specs td{padding:9px 4px; border-bottom:1px solid var(--tl-line); font-size:.92rem}
.tl-specs td:first-child{color:var(--tl-amber); font-family:var(--tl-display); width:140px}

.tl-foot{background:var(--tl-panel); margin-top:60px; border-top:1px solid var(--tl-line)}
.tl-foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:30px; max-width:1180px; margin:0 auto; padding:50px 22px 30px}
.tl-foot-brand{font-family:var(--tl-display); font-size:1.35rem; margin:0 0 .2em; letter-spacing:.08em; text-transform:uppercase}
.tl-foot-tag{color:var(--tl-muted); font-size:.9rem}
.tl-foot-h{font-family:var(--tl-display); color:var(--tl-amber); margin:0 0 .6em}
.tl-foot a{display:block; color:var(--tl-muted); font-size:.9rem; padding:.2em 0}
.tl-foot a:hover{color:var(--tl-amber)}
.tl-foot-base{display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; border-top:1px solid var(--tl-line); max-width:1180px; margin:0 auto; padding:16px 22px; font-size:.8rem; color:var(--tl-muted)}

.woocommerce-product-gallery{opacity:1!important}
.related,.upsells{display:none}

.reveal{opacity:0; transform:translateY(16px); transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1; transform:none}

@media (max-width:900px){
  .tl-head{flex-wrap:wrap}
  .tl-nav{order:3; width:100%; justify-content:flex-start; gap:14px; flex-wrap:wrap}
  .tl-albums{grid-template-columns:repeat(2,1fr)}
  .tl-album{height:160px}
  .tl-grid{grid-template-columns:repeat(2,1fr); gap:16px}
  .tl-pdp{grid-template-columns:1fr; gap:20px}
  .tl-pdp-body{position:static}
  .tl-ledge dl{grid-template-columns:1fr 1fr}
  .tl-foot-grid{grid-template-columns:1fr 1fr}
  .tl-hero{height:240px}
  .tl-hero-copy h1{font-size:1.7rem}
  .tl-article{padding:28px 20px}
}
@media (max-width:520px){
  .tl-grid{grid-template-columns:1fr}
  .tl-trust{grid-template-columns:1fr}
  .tl-foot-grid{grid-template-columns:1fr}
  .tl-ledge dl{grid-template-columns:1fr}
}

/* --- Shopify-style PDP (Torchley: top gallery, centered info, specs table) --- */
.tl-crumb{font-size:.8rem; color:#9a8a72; padding:16px 22px 0}
.tl-crumb a{color:#c9a36a}
.tl-pdp{display:block}
.tl-pdp-media{padding:0 22px}
.tl-pdp-media img{border-radius:16px; width:100%}
.tl-pdp-body{max-width:720px; margin:0 auto; padding:28px 22px 40px; text-align:left}
.tl-announce{background:#20180f; color:#e9dcc2; border:1px solid #3a2e1d; border-radius:10px; padding:.6em 1em; font-size:.84rem; letter-spacing:.02em; margin-bottom:18px}
.tl-announce::before{content:''; display:inline-block; width:8px; height:8px; border-radius:50%; background:#c9a36a; margin-right:8px}
.tl-head{text-align:center}
.tl-rating{display:inline-flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:center}
.tl-stars{color:#7a6a4e}.tl-stars .on{color:#c9a36a}
.tl-rating-txt{color:#9a8a72; font-size:.86rem}
.tl-reviewlink{font-size:.86rem; text-decoration:underline; color:#c9a36a}
.tl-pdp-title{font-size:2.2rem; margin:.5em 0 .3em}
.tl-pdp-price{display:flex; align-items:center; justify-content:center; gap:12px}
.tl-price-now{font-size:1.6rem; color:#f4ead7}
.tl-price-now ins{text-decoration:none; color:#c9a36a}
.tl-price-now del{color:#9a8a72; font-size:1.05rem; margin-right:8px}
.tl-sale-tag{background:#c9a36a; color:#20180f; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; padding:.35em .7em; border-radius:999px}
.tl-pdp-desc{color:#b7a483; margin:.6em auto 0; max-width:560px}
.tl-finish{display:flex; align-items:center; gap:8px; justify-content:center; flex-wrap:wrap; margin:16px 0}
.tl-finish-h{font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; color:#9a8a72}
.tl-chip{border:1px solid #3a2e1d; border-radius:999px; padding:.35em .9em; font-size:.82rem; color:#e9dcc2}
.tl-buy{display:flex; gap:12px; justify-content:center; align-items:center; margin:20px 0}
.tl-qty{display:inline-flex; border:1px solid #4a3b28; border-radius:999px; overflow:hidden}
.tl-qty-btn{background:none; border:0; width:46px; height:46px; font-size:1.3rem; cursor:pointer; color:#e9dcc2}
.tl-qty-input{width:64px; border:0; text-align:center; font-size:1rem; background:#20180f; color:#e9dcc2; -moz-appearance:textfield}
.tl-qty-input::-webkit-inner-spin-button,.tl-qty-input::-webkit-outer-spin-button{-webkit-appearance:none; margin:0}
.tl-btn-add{flex:1; border-radius:999px; padding:1.05em; background:#c9a36a; border-color:#c9a36a; color:#20180f}
.tl-btn-add:hover{background:#dcb877}
.tl-trust{display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin:8px 0 16px; border-top:1px solid #2c2417; padding-top:16px}
.tl-trust p{margin:0; text-align:center; font-size:.74rem; color:#9a8a72; border:1px solid #2c2417; border-radius:10px; padding:10px 4px}
.tl-trust b{display:block; color:#c9a36a; font-size:.8rem; margin-bottom:2px}
.tl-acc{border-top:1px solid #2c2417}
.tl-acc details{border-bottom:1px solid #2c2417; padding:12px 0}
.tl-acc summary{cursor:pointer; font-weight:700; font-size:1rem; list-style:none; display:flex; justify-content:space-between; color:#f4ead7}
.tl-acc summary::after{content:'+'; color:#c9a36a}
.tl-acc details[open] summary::after{content:'−'}
.tl-acc-body{padding:10px 0 4px; color:#b7a483; font-size:.95rem}
.tl-acc-body ul{margin:0; padding-left:1.1em}
.tl-acc-body a{color:#c9a36a; text-decoration:underline}
.tl-specs{width:100%; border-collapse:collapse}
.tl-specs td{padding:8px 4px; border-bottom:1px solid #2c2417; font-size:.9rem; color:#b7a483}
.tl-specs td:first-child{color:#c9a36a; width:130px}
.tl-pay{display:flex; justify-content:space-between; gap:10px; margin-top:18px; font-size:.78rem; color:#9a8a72; flex-wrap:wrap}
.tl-reviews h2{font-size:1.8rem; color:#f4ead7}
@media (max-width:640px){
  .tl-buy{flex-direction:column}
  .tl-trust{grid-template-columns:repeat(2,1fr)}
}
