.kshop{background:var(--warm-paper,#f1eee5);color:var(--warm-ink,#202624);padding:2.5rem max(5vw,calc((100vw - 1280px)/2));font-size:1rem;line-height:1.65;--ink:#202624;--gold:#78551a}
.kshop *{box-sizing:border-box}.kshop a{color:inherit}.kshop h1,.kshop h2,.kshop h3{color:inherit;line-height:1.15;letter-spacing:-.025em}.kshop h1{font-size:clamp(2.4rem,4.5vw,4.5rem);margin:.65rem 0 1rem}.kshop h2{font-size:1.7rem}.kshop p{max-width:none}.kshop-eyebrow{font-size:.875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#78551a;margin:0}.kshop-intro{display:grid;grid-template-columns:1.6fr 1fr;gap:3rem;align-items:center;padding:1rem 0 2rem;border-bottom:1px solid #d8cfbd}.kshop-intro>div>p:last-child{max-width:38rem;font-size:1.125rem}.kshop-intro aside{border-left:3px solid #d8aa4c;padding:1rem 1.5rem;max-width:29rem}.kshop-intro aside strong{font-family:Georgia,serif;font-size:1.5rem}.kshop-intro aside p{margin:.8rem 0}.kshop-intro aside a{font-weight:600;text-underline-offset:4px}.kshop-filters{display:flex;flex-wrap:wrap;align-items:end;gap:1rem;padding:1.5rem 0}.kshop-filters label{display:grid;gap:.45rem;font-size:.875rem;font-weight:600;flex:1;min-width:10rem}.kshop-filters label:first-child{flex:1.5}.kshop-filters input,.kshop-filters select{font:inherit;font-size:1rem;color:#202624;background:#fffdf8;border:1px solid #8a7b61;border-radius:4px;padding:.8rem;width:100%;min-height:3.1rem}.kshop-button{display:inline-block;background:#243f34!important;color:#fffdf8!important;font:inherit;font-weight:600;padding:.85rem 1.25rem;border:1px solid #243f34;border-radius:4px;text-decoration:none;cursor:pointer;text-align:center}.kshop-button:hover{background:#365a49!important}.kshop-filters>a{align-self:center;margin-top:1rem}.kshop-list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.4rem 0 1rem}.kshop-list-heading h2,.kshop-list-heading p{margin:0}.kshop-list-heading p,.kshop-meta{font-size:.875rem;color:#59645e}.kshop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.kshop-card{background:#fffdf8;border:1px solid #d8cfbd;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.kshop-photo{margin:0;min-width:0}.kshop-photo-link{position:relative;display:block;overflow:hidden;background:#e9e1d1}.kshop-photo img{display:block;width:100%;height:14rem;object-fit:cover;transition:transform .25s}.kshop-photo-link:hover img{transform:scale(1.025)}.kshop-enlarge{position:absolute;bottom:.65rem;right:.65rem;padding:.25rem .6rem;background:#fffdf8ed;color:#202624;font-size:.8rem;border-radius:3px}.kshop-photo figcaption{font-size:.8rem;color:#59645e;padding:.65rem 1rem 0;line-height:1.5}.kshop-credit{font-size:.8rem;padding:.35rem 1rem .65rem;color:#59645e}.kshop-credit summary{cursor:pointer}.kshop-credit p{margin:.4rem 0}.kshop-card-copy{padding:1.2rem 1.25rem 1.5rem;display:flex;flex:1;flex-direction:column}.kshop-card-copy h2{font-family:Georgia,serif;font-size:1.7rem;margin:.55rem 0}.kshop-card-copy h2 a{text-decoration:none}.kshop-card-copy h2 a:hover{text-decoration:underline;text-underline-offset:4px}.kshop-card-copy>p{margin:.65rem 0}.kshop-card-copy>.kshop-eyebrow{font-size:.75rem}.kshop-detail-link{font-weight:700;text-underline-offset:5px;margin-top:auto;padding-top:1rem}.kshop-affiliate{font-size:.875rem!important;color:#59645e;display:block;margin-top:.75rem}.kshop-notes{display:grid;grid-template-columns:1fr 1fr;gap:3rem;border-top:1px solid #d8cfbd;margin:3rem 0 0;padding:2rem 0}.kshop-notes h2{font-size:1.3rem}.kshop-notes a{display:inline-block;margin:0 1rem .5rem 0}.kshop-breadcrumb{font-size:.875rem;margin-bottom:2rem}.kshop-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:3rem}.kshop-images .kshop-photo{margin-bottom:1.5rem;border:1px solid #d8cfbd;border-radius:6px;overflow:hidden}.kshop-images .kshop-photo img{height:auto;max-height:32rem;object-fit:contain}.kshop-product h1{font-size:clamp(2.3rem,3.7vw,3.6rem)}.kshop-product h2{font-size:1.4rem;margin-top:2rem}.kshop-lead{font-size:1.125rem}.kshop-purchase{border:1px solid #d8cfbd;border-left:4px solid #d8aa4c;background:#fffdf8;padding:1.2rem 1.5rem;margin:1.5rem 0}.kshop-purchase>p:first-child{margin-top:0}.kshop-related-links{display:grid;gap:.7rem;margin:2rem 0}.kshop-related{margin-top:3rem;border-top:1px solid #d8cfbd;padding-top:1.5rem}.kshop-empty{padding:3rem 1rem;text-align:center}.kshop :is(a,button,input,select):focus-visible{outline:3px solid #986311;outline-offset:4px}
@media(max-width:1000px){.kshop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kshop-product{gap:1.5rem}.kshop-intro{gap:1.5rem}}
@media(max-width:650px){.kshop{padding:1.5rem 5vw}.kshop-intro,.kshop-product,.kshop-notes{grid-template-columns:1fr;gap:1.2rem}.kshop-intro aside{padding:.7rem 1rem}.kshop-grid{grid-template-columns:1fr}.kshop-photo img{height:13rem}.kshop-filters label:first-child{flex-basis:100%}.kshop-filters .kshop-button{width:100%}.kshop-product-copy{grid-row:1}.kshop-images{grid-row:2}.kshop-product h1{font-size:2.5rem}.kshop-notes{gap:.5rem}.kshop-list-heading h2{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.kshop-photo img{transition:none}}

/* Souvenir photographs retain the complete object at every screen size. */
.kshop-card .kshop-photo-link{aspect-ratio:4/3;background:#f4eee3}.kshop-card .kshop-photo img{height:100%;width:100%;object-fit:contain}.kshop-photo-link:hover img{transform:none}.kshop-intro{grid-template-columns:1fr 1.05fr}.kshop-intro aside{border:0;padding:0;max-width:none}.kshop-intro aside>.kshop-photo{border-radius:12px;overflow:hidden;margin-bottom:1rem}.kshop-intro aside .kshop-photo img{height:auto;object-fit:contain}.kshop-gift-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}.kshop-gift-paths a{display:grid;gap:.5rem;padding:1.3rem;border:1px solid #d8cfbd;border-radius:8px;background:#fffaf0;text-decoration:none}.kshop-gift-paths a:nth-child(2){background:#e7eee2}.kshop-gift-paths a:nth-child(3){background:#f4e5df}.kshop-gift-paths span{font-size:.7rem;letter-spacing:.12em;color:#6e573a}.kshop-gift-paths strong{font:1.45rem Georgia,serif}.kshop-gift-paths small{font-size:.85rem}.kshop-gift-paths a:hover{border-color:#78551a}.kshop-card{border-radius:12px}.kshop-card .kshop-photo figcaption{min-height:3.65rem}.kshop-card-copy{padding:1.3rem}.kshop-images .kshop-photo img{max-height:none}
@media(max-width:650px){.kshop-intro,.kshop-gift-paths{grid-template-columns:1fr}.kshop-gift-paths{gap:.65rem}.kshop-gift-paths a{padding:1rem}.kshop-product-copy,.kshop-images{grid-row:auto}}

/* Modern gifts: products first, with clear recipient guidance. */
.kshop-gift-paths{grid-template-columns:repeat(2,minmax(0,1fr))}.kshop-gift-paths a{background:#e9e7f3;padding:1.5rem}.kshop-gift-paths a:nth-child(2){background:#e1ebef}.kshop-gift-paths strong{font-size:1.3rem;font-weight:600;line-height:1.4}.kshop-gift-paths span{font-size:.8rem;color:#314257}.kshop-gift-summary{display:grid;gap:.3rem;border-left:3px solid #456376;padding:.5rem .8rem;margin:.7rem 0;background:#edf2f3;font-size:.9rem}.kshop-gift-summary span{color:#4e5961}.kshop-recipient-note{font-size:.9rem;color:#56626a;margin-top:-1rem}.kshop-intro{grid-template-columns:1.15fr 1fr}.kshop-intro aside>.kshop-photo{max-width:36rem}.kshop-card .kshop-photo-link{background:#f5f5f2}.kshop-filters label{min-width:9rem}.kshop-card .kshop-photo img{height:100%;object-fit:contain}.kshop-gift-paths a[aria-current]{border:2px solid #456376}
@media(max-width:650px){.kshop-gift-paths,.kshop-intro{grid-template-columns:1fr}.kshop-gift-paths a{padding:1rem}}

.kshop-card-buy{display:block;margin-top:1rem;padding:.7rem .85rem;border:1px solid #345346;border-radius:5px;color:#234638!important;font-weight:600;text-decoration:none;font-size:.9rem}.kshop-card-buy:hover{background:#e7efe9}.kshop-departments{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.5rem 0}.kshop-departments a{padding:.6rem .9rem;border-radius:999px;background:#fffdf8;border:1px solid #c9cabc;text-decoration:none;font-size:.9rem}.kshop-departments span{display:inline-block;margin-left:.4rem;font-weight:700;color:#456376}.kshop-intro aside .kshop-photo img{max-height:260px;object-fit:contain}.kshop-intro h1{font-size:clamp(2.3rem,4vw,3.7rem)}.kshop-gift-paths{margin:1.4rem 0}
