/* TJC Shop: Shop page and post product blocks. Mobile first; tablet 768px+, desktop 1024px+. */
.tjcshop{--tjc-accent:#58718C;--tjc-accent-dark:#334252;--tjc-text:#3B3737;--tjc-muted:#5E5858;--tjc-panel:#F7F7F7;--tjc-image-bg:#FFFFFF;--tjc-line:#E6E6E6;--tjc-chip-line:#D6DEE5;--tjc-serif:minion-pro,Georgia,serif;--tjc-sans:brandon-grotesque,sans-serif;--tjc-radius:4px;box-sizing:border-box;color:var(--tjc-text);font-family:var(--tjc-serif)}
.tjcshop *,.tjcshop *::before,.tjcshop *::after{box-sizing:inherit}
/* Doubled class: beats the theme's post-content spacing (.single-content p etc.) without !important. */
.tjcshop.tjcshop p,.tjcshop.tjcshop h1,.tjcshop.tjcshop h2,.tjcshop.tjcshop h3,.tjcshop.tjcshop ul,.tjcshop.tjcshop li{margin:0;padding:0}
.tjcshop.tjcshop ul{list-style:none}
.tjcshop a{color:inherit;text-decoration:none;box-shadow:none}
.tjcshop a:focus-visible,.tjcshop-inline:focus-visible{outline:2px solid var(--tjc-accent-dark);outline-offset:2px}
.tjcshop img{display:block;max-width:100%;border-radius:0}

/* Shared pieces */
.tjcshop .tjcshop__img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;background:var(--tjc-image-bg)}
.tjcshop__ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;background:#E9EDF1;font:10px/1.2 var(--tjc-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--tjc-muted)}
.tjcshop__ph svg{width:28px;height:28px;fill:none;stroke:var(--tjc-accent);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.tjcshop__retailer{font:600 10px/1.3 var(--tjc-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--tjc-accent)}
.tjcshop__btn{display:flex;align-items:center;justify-content:center;height:44px;padding:0 12px;border-radius:var(--tjc-radius);background:var(--tjc-accent);color:#fff!important;font:700 12px/1 var(--tjc-sans);letter-spacing:.08em;text-transform:uppercase;text-align:center;transition:background-color .15s}
.tjcshop__btn:hover{background:var(--tjc-accent-dark)}
.tjcshop__price{font:600 15px/1.3 var(--tjc-serif)}
.tjcshop__price span{display:block;font:italic 400 12px/1.3 var(--tjc-serif);color:var(--tjc-muted)}

/* Shop page */
.tjcshop-page{width:100%;max-width:1120px;margin:0 auto}
.tjcshop__hero{display:flex;flex-direction:column;align-items:center;gap:12px;padding:36px 20px 28px;text-align:center}
.tjcshop__eyebrow{font:600 13px/1.2 var(--tjc-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--tjc-accent)}
.tjcshop .tjcshop__title{font:400 34px/1.12 var(--tjc-serif);color:var(--tjc-text);letter-spacing:0;text-transform:none}
.tjcshop__intro{font-size:18px;line-height:1.55}
.tjcshop.tjcshop .tjcshop__disclosure{margin-top:6px}
.tjcshop__disclosure{font-size:14px;font-style:italic;line-height:1.5;color:var(--tjc-muted)}
.tjcshop__jump{position:sticky;top:var(--tjc-sticky-offset,0px);z-index:20;display:flex;align-items:center;height:64px;background:#fff;border-top:1px solid var(--tjc-line);border-bottom:1px solid var(--tjc-line);box-shadow:0 6px 10px -10px rgba(59,55,55,.4)}
.tjcshop__chips{display:flex;gap:8px;width:100%;padding:0 16px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tjcshop__chips::-webkit-scrollbar{display:none}
.tjcshop__chip{flex:0 0 auto;display:inline-flex;align-items:center;height:38px;padding:0 14px;border:1px solid var(--tjc-chip-line);border-radius:var(--tjc-radius);background:#fff;font:500 12px/1 var(--tjc-sans);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.tjcshop__chip:hover{border-color:var(--tjc-accent)}
.tjcshop__chip.is-active{background:var(--tjc-accent);border-color:var(--tjc-accent);color:#fff;font-weight:600}
.tjcshop__section{padding-top:40px;/* The theme's html scroll-padding-top already clears its pinned header; this clears the jump menu. */scroll-margin-top:64px}
.tjcshop__head{display:flex;flex-direction:column;gap:6px;padding:0 20px 20px;text-align:center}
.tjcshop .tjcshop__h2{font:500 21px/1.2 var(--tjc-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--tjc-text)}
.tjcshop__blurb{font-size:17px;font-style:italic;line-height:1.45;color:var(--tjc-muted)}
.tjcshop.tjcshop .tjcshop__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;padding:0 16px}
.tjcshop__card{display:flex;flex-direction:column;min-width:0;background:var(--tjc-panel)}
.tjcshop__media{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:var(--tjc-image-bg)}
.tjcshop__badge{position:absolute;top:0;left:0;padding:6px 9px;background:var(--tjc-accent);color:#fff;font:600 10px/1.2 var(--tjc-sans);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.tjcshop__body{display:flex;flex:1;flex-direction:column;gap:6px;padding:12px 12px 14px}
.tjcshop .tjcshop__name{font:500 18px/1.2 var(--tjc-serif);color:var(--tjc-text);letter-spacing:0;text-transform:none}
.tjcshop__name a:hover{color:var(--tjc-accent-dark)}
.tjcshop__note{display:-webkit-box;overflow:hidden;font-size:15px;line-height:1.4;color:var(--tjc-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical}
.tjcshop__spacer{flex:1}
.tjcshop__card .tjcshop__btn{margin-top:6px}

/* Post blocks fill their column, even inside a flex group or column, and never push it wider. */
.tjcshop-featured,.tjcshop-row,.tjcshop-inline{width:100%;max-width:100%;min-width:0;align-self:stretch}

/* Featured product */
.tjcshop-featured{container:tjcshop/inline-size;margin-block:1.5em;background:var(--tjc-panel)}
.tjcshop-featured__in{display:grid;grid-template-columns:132px minmax(0,1fr);grid-template-areas:"media text" "btn btn"}
.tjcshop-featured__media{grid-area:media;position:relative;display:block;width:132px;height:132px;background:var(--tjc-image-bg)}
.tjcshop-featured__text{grid-area:text;display:flex;flex-direction:column;gap:5px;padding:12px 14px}
.tjcshop-featured__name{font:500 19px/1.2 var(--tjc-serif)}
.tjcshop-featured__name a:hover{color:var(--tjc-accent-dark)}
.tjcshop-featured__note{font-size:15px;line-height:1.4;color:var(--tjc-muted)}
.tjcshop-featured__btn{grid-area:btn;margin:12px 14px 14px}

/* Product row */
.tjcshop-row{container:tjcshop/inline-size;margin-block:1.5em}
.tjcshop-row__in{display:flex;flex-direction:column;gap:14px;padding:22px 0;background:var(--tjc-panel)}
.tjcshop-row__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 20px}
.tjcshop-row__title{font:500 16px/1.2 var(--tjc-sans);letter-spacing:.06em;text-transform:uppercase}
.tjcshop-row__all{flex:0 0 auto;font:600 11px/1.2 var(--tjc-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--tjc-accent)!important}
.tjcshop-row__all:hover{color:var(--tjc-accent-dark)!important}
.tjcshop.tjcshop .tjcshop-row__list{display:flex;gap:12px;padding:0 20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 20px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tjcshop-row__list::-webkit-scrollbar{display:none}
.tjcshop-row__list li{flex:0 0 142px;scroll-snap-align:start}
.tjcshop-row__card{display:flex;flex-direction:column;height:100%;background:var(--tjc-image-bg)}
.tjcshop-row__media{position:relative;display:block;width:142px;height:142px}
.tjcshop-row__body{display:flex;flex-direction:column;gap:4px;padding:10px 10px 12px}
.tjcshop-row__name{font:500 16px/1.2 var(--tjc-serif)}
.tjcshop-row__card:hover .tjcshop-row__name{color:var(--tjc-accent-dark)}

/* Inline product */
.tjcshop-inline{display:flex!important;align-items:center;gap:12px;min-height:44px;margin-block:1.5em;padding:8px 12px 8px 8px;background:var(--tjc-panel);color:var(--tjc-text)!important;text-decoration:none!important;box-sizing:border-box;font-family:var(--tjc-serif)}
.tjcshop-inline__media{position:relative;flex:0 0 52px;width:52px;height:52px}
.tjcshop-inline__text{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}
.tjcshop-inline__name{font:500 17px/1.25 var(--tjc-serif)}
.tjcshop-inline:hover .tjcshop-inline__name{color:var(--tjc-accent-dark)}
.tjcshop-inline__go{flex:0 0 18px;fill:none;stroke:var(--tjc-accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tjcshop-inline .tjcshop__ph svg,.tjcshop-row .tjcshop__ph svg{width:24px;height:24px}
.tjcshop-inline .tjcshop__ph span{display:none}

/* Tablet */
@media (min-width:768px){
.tjcshop.tjcshop .tjcshop__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
}

/* Desktop */
@media (min-width:1024px){
.tjcshop__hero{gap:14px;padding:60px 0 40px}
.tjcshop__eyebrow{font-size:14px;letter-spacing:.18em}
.tjcshop .tjcshop__title{max-width:760px;font-size:50px;line-height:1.08}
.tjcshop__intro{max-width:640px;font-size:21px}
.tjcshop__disclosure{max-width:640px;font-size:15px}
.tjcshop__jump{top:var(--tjc-sticky-offset-lg,0px);height:auto;padding:16px 0}
.tjcshop__chips{flex-wrap:wrap;justify-content:center;gap:10px;overflow:visible}
.tjcshop__chip{height:40px;padding:0 18px;font-size:13px}
.tjcshop__section{padding-top:60px;scroll-margin-top:74px}
.tjcshop .tjcshop__h2{font-size:24px}
.tjcshop__blurb{font-size:19px}
.tjcshop__head{padding-bottom:26px}
.tjcshop.tjcshop .tjcshop__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:0}
.tjcshop__body{gap:7px;padding:16px 16px 18px}
.tjcshop__badge{padding:7px 11px;font-size:11px}
.tjcshop__retailer{font-size:11px}
.tjcshop .tjcshop__name{font-size:21px}
.tjcshop__note{font-size:17px}
.tjcshop__btn{font-size:13px}
.tjcshop__card .tjcshop__btn{margin-top:8px}
}

/* Featured and row switch to their desktop layout by their own width (a normal post column on desktop),
   so they stay readable if placed in a narrow column or sidebar. */
@container tjcshop (min-width:600px){
.tjcshop-featured__in{grid-template-columns:180px minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"media text" "media btn"}
.tjcshop-featured__media{width:180px;height:180px}
.tjcshop-featured__btn{justify-self:start;align-self:start;min-width:200px;margin:0 14px 14px;padding:0 24px}
.tjcshop.tjcshop .tjcshop-row__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;scroll-snap-type:none}
.tjcshop-row__list li{flex:none}
.tjcshop-row__media{width:100%;height:auto;aspect-ratio:1/1}
}

/* Editor-only notice */
.tjcshop-notice{padding:12px 14px;background:var(--tjc-panel);border-left:3px solid var(--tjc-accent);font:14px/1.4 var(--tjc-sans)}
