
@font-face { font-family: txh-fallback; src: local("Arial"); size-adjust: 104%; ascent-override: 92%; descent-override: 22%; line-gap-override: 0%; }
:root { --paper:#fff; --ink:#141414; --pine:#b02125; --sun:#b02125; --sand:#f6f6f6; --moss:#3a3a3a; }
body.txh-body { background:#fff; color:#141414; font-family: Outfit, txh-fallback, Arial, sans-serif; }
.txh-announce { background:#000; color:#fff; text-align:center; font-size:13px; letter-spacing:.04em; padding:8px 16px; }
.txh-topbar { background:#fff; border-bottom:1px solid #ececec; position:sticky; top:0; z-index:5; }
.txh-nav a, .txh-nav summary { text-transform:uppercase; letter-spacing:.06em; font-size:12px; font-weight:600; }
.txh-sitename { color:#b02125; }
.txh-hero { display:grid; grid-template-columns: 1.15fr .85fr; gap:28px; align-items:center; background:#fff; margin:0 0 8px; }
.txh-hero img { width:100%; height:auto; aspect-ratio:1; object-fit:cover; object-position:center 30%; background:#f6f6f6; max-height:620px; }
.txh-hero-copy h1 { font-size:44px; line-height:1.05; margin:8px 0 12px; }
.txh-hero-copy p { margin:0 0 16px; max-width:36ch; }
.txh-pdp { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; margin:8px 0 28px; }
.txh-pdp img { width:100%; height:480px !important; object-fit:cover; object-position:center 42%; background:#f6f6f6; }
.txh-pdp ul { margin:8px 0 16px; padding-left:18px; }
.txh-product-grid { display:grid !important; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; align-items:stretch; }
.txh-pcard { display:flex; flex-direction:column; height:100%; border:1px solid #ececec; background:#fff; padding:12px; box-sizing:border-box; }
.txh-pcard-body { flex:1 1 auto; }
.txh-photo, .txh-photo-tile { margin:0 0 10px; }
.txh-photo img { width:100%; aspect-ratio:1; object-fit:contain; background:#f6f6f6; display:block; }
.txh-pcard h3 { font-size:18px; margin:0 0 6px; }
.txh-pcard-pitch { margin:0; }
.txh-pcard-buy { margin-top:12px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.txh-buy, a.txh-buy { display:inline-block; background:#111; color:#fff !important; border-radius:999px; padding:10px 16px; text-decoration:none; font-weight:600; border:1px solid #111; }
.txh-details { display:inline-block; background:#fff; color:#111; border:1px solid #111; border-radius:999px; padding:10px 16px; text-decoration:none; font-weight:600; }
.txh-sizerow { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.txh-sizepill { border:1px solid #ddd; border-radius:999px; padding:4px 10px; font-size:12px; text-decoration:none; color:#111; background:#fff; }
.txh-catnav { display:flex; gap:8px; overflow-x:auto; flex-wrap:nowrap; padding-bottom:8px; -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 28px),transparent); mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 28px),transparent); }
.txh-catnav a { flex:0 0 auto; border:1px solid #ddd; border-radius:999px; padding:6px 12px; text-decoration:none; }
.txh-authorbox { display:flex; gap:12px; align-items:center; border-top:1px solid #ececec; margin-top:24px; padding-top:16px; }
.txh-authorbox img { width:96px; height:96px; object-fit:cover; border-radius:50%; }
.txh-prose table { width:100%; border-collapse:collapse; margin:12px 0 20px; }
.txh-prose th, .txh-prose td { border-bottom:1px solid #ececec; text-align:left; padding:8px; vertical-align:top; }
@media (max-width:800px) {
  .txh-hero, .txh-pdp { grid-template-columns:1fr; }
  .txh-hero img { width:60vw; height:60vw; margin:0 auto; }
  .txh-pdp img { width:60vw !important; height:60vw !important; margin:0 auto; }
  .txh-hero-copy h1 { font-size:32px; }
  .txh-lead { padding:8px 12px !important; margin:0 0 6px !important; }
  .txh-lead h1 { margin:0 0 4px !important; }
  .txh-deck, .txh-catalog-count { margin:0 !important; }
  .txh-pdp { margin:4px 0 !important; }
  .txh-pdp ul { margin:4px 0 8px !important; }
  .txh-product-grid { grid-template-columns:1fr !important; }
  .txh-nav { display:none; }
}

/* qc visual pass */
.txh-brand { display: none !important; }
.txh-pcard .txh-photo,
.txh-pcard .txh-photo-tile,
.txh-home .txh-pcard .txh-photo-tile {
  aspect-ratio: 1 / 1 !important;
  max-height: none !important;
  height: auto !important;
  background: #fff !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
  display: block !important;
  border: 0 !important;
}
.txh-pcard .txh-photo-tile picture { position: static !important; inset: auto !important; display: block !important; }
.txh-pcard .txh-photo img,
.txh-pcard .txh-photo-tile img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff !important;
  display: block !important;
}
.txh-product-grid { align-items: stretch !important; }
.txh-pcard {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
.txh-pcard-body { flex: 0 0 auto !important; }
.txh-pcard-buy { margin-top: 0 !important; padding: 0 !important; flex: 1 1 auto !important; display: flex !important; flex-direction: column !important; }
.txh-offer { display: flex !important; flex-direction: column !important; flex: 1 1 auto !important; height: auto !important; }
.txh-pcard .txh-sizerow { order: 0; margin: 0 0 12px !important; }
.txh-pcard .txh-buyrow {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  width: auto !important;
  margin-top: auto !important;
  padding: 0 !important;
}
.txh-buy, a.txh-buy, .txh-details, a.txh-details {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 16px !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  border-radius: 999px !important;
  border-width: 1px !important;
  border-style: solid !important;
  width: auto !important;
  max-width: none !important;
  white-space: nowrap !important;
  margin: 0 !important;
}
.txh-buy, a.txh-buy { background: #111 !important; color: #fff !important; border-color: #111 !important; }
.txh-details, a.txh-details { background: #fff !important; color: #111 !important; border-color: #111 !important; }
.txh-pdp > div { display: flex; flex-wrap: wrap; align-items: center; column-gap: 12px; row-gap: 8px; }
.txh-pdp > div h2, .txh-pdp > div ul { flex: 1 0 100%; }
.txh-lead { padding: 16px 20px !important; }

.txh-pcard .txh-offer { display: contents !important; }
.txh-pcard .txh-sizerow { order: 1 !important; }
.txh-pcard-review { order: 2 !important; margin: 8px 0 0 !important; }
.txh-pcard .txh-buyrow { order: 3 !important; }
/* category pills: one scroll row with an edge fade; inline page styles cannot wrap it */
.txh-catnav { display:flex !important; flex-wrap:nowrap !important; overflow-x:auto !important; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-right:28px !important; }
.txh-catnav::-webkit-scrollbar { display:none; }
.txh-catnav a { flex:0 0 auto !important; white-space:nowrap; }

/* home banner hero: beat legacy grid/aspect hero */
.txh-home .txh-hero { display:block !important; grid-template-columns:none !important; gap:0 !important; background:#3a1a1c !important; align-items:stretch !important; }
.txh-home .txh-hero img.txh-hero-img { width:100% !important; height:min(42vw,300px) !important; max-height:300px !important; aspect-ratio:auto !important; object-fit:cover !important; margin:0 !important; }
@media (min-width:721px) and (max-height:900px) {
  .txh-home .txh-hero img.txh-hero-img { height:min(32vw,240px) !important; max-height:240px !important; }
}
