.catalog-toolbar{display:flex;align-items:end;gap:20px;flex-wrap:wrap}.catalog-toolbar label{flex:1;min-width:180px}.catalog-toolbar input,.catalog-toolbar select{width:100%;margin-top:8px;padding:12px}.catalog-toolbar a{padding:14px 0;color:#254936}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.catalog-card{background:#fffdf7;border:1px solid #e0dbd0;border-radius:18px;overflow:hidden;display:flex;flex-direction:column}.catalog-card>img,.photo-empty{width:100%;height:280px;object-fit:contain;background:#f1ede4}.photo-empty{display:grid;place-items:center;color:#655e50}.catalog-card-body{padding:22px;display:flex;flex-direction:column;flex:1}.catalog-card h2{font:1.5rem Georgia,serif;margin:10px 0}.catalog-card-body>p{line-height:1.5;flex:1}.catalog-category{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:#68644d}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.catalog-card button,#custom-next{background:#254936;color:white;border:0;border-radius:8px;padding:12px 16px}.catalog-card button:disabled{background:#d9d8d1;color:#555}.store-page .store-intro{background:linear-gradient(105deg,#203c2e,#3d5943);box-shadow:none}.store-page{background:#f6f2e9}.store-page .store-intro h1{font-weight:normal}.store-page .store-intro p{max-width:650px}#customizer{box-sizing:border-box;width:min(1000px,95vw);max-height:94vh;overflow:auto;border:0;border-radius:18px;padding:28px;color:#243a2d;background:#fffcf5}#customizer::backdrop{background:#14261fbd}.custom-header,.custom-footer{display:flex;justify-content:space-between;align-items:center;gap:16px}.custom-header h2{font:2rem Georgia,serif;margin:8px 0}.custom-header .eyebrow{margin:0;font-size:.75rem;letter-spacing:.12em}.custom-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:28px}.main-product-photo{width:100%;height:340px;object-fit:contain;background:#eeeae1;border-radius:12px}.photo-thumbs{display:flex;gap:8px;overflow:auto;padding:12px 0}.photo-thumbs button{padding:2px;background:white;border:1px solid #d3cbbd;border-radius:6px}.photo-thumbs img{width:64px;height:64px;object-fit:contain}.choice-grid,.design-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.choice{border:1px solid #d3cbbd;border-radius:8px;padding:12px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.95rem}.choice:has(input:checked){outline:2px solid #315c41;background:#edf1e8}.choice:has(input:disabled){opacity:.55;cursor:default}.choice input{width:auto!important;margin:0!important}.swatch{width:20px;height:20px;flex-shrink:0;border:1px solid #999;border-radius:50%}#custom-content fieldset{border:0;padding:0;margin:0 0 20px}#custom-content legend{font-weight:bold;margin:0 0 10px}#custom-content>label{display:block;margin:20px 0}#custom-content input[type=number],#custom-content textarea{box-sizing:border-box;width:100%;padding:12px;margin-top:8px}.design-choice{flex-direction:column;align-items:start}.design-choice img{height:110px;width:100%;object-fit:contain}.custom-footer{border-top:1px solid #d3cbbd;padding-top:18px;margin-top:24px}.custom-footer button,#custom-close{padding:10px 16px}.summary-list{padding-left:20px;line-height:1.8}#custom-error{color:#a12d21}.order-estimate{font-size:1.3rem}.cart-product p{overflow-wrap:anywhere}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a56b13;outline-offset:3px}@media(max-width:800px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.custom-layout{grid-template-columns:1fr}.main-product-photo{height:220px}}@media(max-width:500px){.catalog-grid{grid-template-columns:1fr}.catalog-card>img{height:280px}#customizer{padding:18px}.custom-footer{align-items:start;flex-direction:column}.catalog-toolbar{gap:8px}.choice-grid,.design-grid{grid-template-columns:1fr 1fr}.store-intro h1{font-size:2.5rem!important}}

.custom-footer{position:sticky;bottom:-28px;background:#fffcf5;padding-bottom:12px;z-index:2}@media(max-width:500px){.custom-footer{bottom:-18px}}
/* Collection entrance and category pages */
[hidden]{display:none!important}.shop-nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:0 0 28px}.shop-nav a{color:#294734;text-decoration:none;font-weight:650}.shop-nav a:last-child{margin-left:auto}#cart-count{display:inline-block;background:#294734;color:#fff;border-radius:50%;padding:3px 8px;margin-left:5px}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.collection-card{border:1px solid #e0d9ca;background:#fffdf7;border-radius:18px;overflow:hidden;color:#253e30;text-decoration:none;transition:transform .15s,box-shadow .15s}.collection-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #24392b18}.collection-art{height:160px;display:grid;place-items:center;background:#e2e9df}.collection-art svg{height:94px;width:94px}.collection-card.cup .collection-art{background:#e4e9ec;color:#355563}.collection-card.board .collection-art{background:#eee1cc;color:#73532e}.collection-card.jar .collection-art{background:#eddfdf;color:#784749}.collection-card.art .collection-art{background:#e4deeb;color:#605072}.collection-card.bake .collection-art{background:#f1e3d3;color:#805531}.collection-copy{padding:22px}.collection-copy h2{font:1.55rem Georgia,serif;margin:0 0 12px}.collection-copy p{line-height:1.5;margin:0 0 20px;color:#656456;min-height:3em}.collection-copy>span{display:flex;justify-content:space-between;font-size:.9rem;font-weight:650}.collection-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:15px 0 24px}.collection-heading h2{font:2rem Georgia,serif;margin:8px 0}.collection-heading .eyebrow{font-size:.72rem;letter-spacing:.1em}.catalog-toolbar{margin-bottom:24px}.quote-notice{padding:14px;background:#f7ecd4;border-left:3px solid #9d762f}#custom-size{box-sizing:border-box;width:100%;padding:12px;margin-top:8px}@media(max-width:800px){.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.collection-grid{grid-template-columns:1fr;gap:16px}.collection-card{display:grid;grid-template-columns:100px 1fr}.collection-art{height:100%;min-height:180px}.collection-art svg{width:70px;height:70px}.collection-copy{padding:18px}.collection-copy h2{font-size:1.25rem}.collection-copy p{font-size:.9rem;margin-bottom:12px;min-height:0}.shop-nav{gap:14px;font-size:.9rem}.shop-nav a:last-child{margin-left:0}}

.store-page .store-intro{padding:28px 36px;margin-bottom:22px}.store-page .store-intro h1{font-size:clamp(2rem,4vw,3rem)}.store-page .store-intro p{margin:12px 0;font-size:1rem}.collection-art{height:115px}.collection-art svg{height:78px;width:78px}.collection-copy{padding:18px 22px}.collection-copy p{font-size:.95rem;margin-bottom:14px}@media(max-width:500px){.store-page .store-intro{padding:24px}.collection-art{height:100%}}

/* Clothing collection icon filters */
.clothing-types{display:flex;gap:12px;flex:1;justify-content:flex-start}.clothing-types button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:112px;padding:10px 20px;border:2px solid #d5dccf;border-radius:12px;background:#fffdf7;color:#294734;cursor:pointer;font:inherit;font-weight:650}.clothing-types svg{width:48px;height:48px}.clothing-types button:hover{background:#edf1e8;border-color:#66816a}.clothing-types button[aria-pressed=true]{background:#294734;border-color:#294734;color:#fff}.catalog-toolbar:has(.clothing-types:not([hidden])){align-items:center}@media(max-width:500px){.clothing-types{flex-basis:100%;gap:10px}.clothing-types button{flex:1;min-width:0;padding:10px}.clothing-types svg{width:42px;height:42px}}

.blank-design-upload{background:#edf1e8;border:1px solid #b9c9b4;border-radius:12px;padding:18px;margin-bottom:24px}.blank-design-upload h3{margin:0 0 12px}.blank-design-upload input[type=file]{display:block;max-width:100%;margin-top:10px}.blank-design-upload .customer-art-preview{max-width:100%;max-height:180px;object-fit:contain}

/* Decorative cup photographs: only the mugs/tumblers collection. */
.store-page.cups-photo-background{background:#f6f2e9;isolation:isolate}
 .cup-ghosts{display:none;position:fixed;inset:0;z-index:0;pointer-events:none;--cup-size:25vmin}
.cups-photo-background .cup-ghosts{display:block}
.cup-ghosts img{position:absolute;width:var(--cup-size);height:var(--cup-size);object-fit:contain;left:calc((100% - var(--cup-size))*var(--x));top:calc((100% - var(--cup-size))*var(--y));opacity:.16;transition:opacity .2s ease}
.cup-ghosts img.is-clear{opacity:1}
@media(max-width:600px){.cup-ghosts{--cup-size:31vmin}.cup-ghosts img{opacity:.12}}
@media(prefers-reduced-motion:reduce){.cup-ghosts img{transition:none}}

.store-page.cups-photo-background main{position:relative;z-index:1}

/* Clear featured cups in the collection banner. */
.cups-banner-photos{display:none}
.cups-photo-background .store-intro{position:relative;padding-right:44%;min-height:220px}
.cups-photo-background .cups-banner-photos{display:flex;position:absolute;right:16px;top:20px;bottom:20px;width:41%;align-items:center;justify-content:center;pointer-events:none}
.cups-banner-photos img{width:50%;height:100%;max-height:280px;object-fit:contain;filter:drop-shadow(0 10px 9px #0004)}
@media(max-width:650px){.cups-photo-background .store-intro{padding-right:24px}.cups-photo-background .cups-banner-photos{position:static;width:100%;height:210px;margin-top:16px}.cups-banner-photos img{height:210px}}

/* Cutting board decoration, scoped to this collection. */
.store-page.boards-photo-background{background:#f6f2e9;isolation:isolate}
.board-ghosts{display:none;position:fixed;inset:0;z-index:0;pointer-events:none;--board-size:22vmin}
.boards-photo-background .board-ghosts{display:block}
.board-ghosts img{position:absolute;width:var(--board-size);height:var(--board-size);object-fit:contain;left:calc((100% - var(--board-size))*var(--x));top:calc((100% - var(--board-size))*var(--y));opacity:.16;transition:opacity .2s ease}
.board-ghosts img.is-clear{opacity:1}
.store-page.boards-photo-background main{position:relative;z-index:1}
.boards-banner-photos{display:none}
.boards-photo-background .store-intro{position:relative;padding-right:44%;min-height:220px}
.boards-photo-background .boards-banner-photos{display:flex;position:absolute;right:16px;top:20px;bottom:20px;width:41%;align-items:center;justify-content:center;gap:10px;pointer-events:none}
.boards-banner-photos img{width:47%;height:100%;max-height:250px;object-fit:contain;filter:drop-shadow(0 10px 9px #0004)}
@media(max-width:650px){.boards-photo-background .store-intro{padding-right:24px}.boards-photo-background .boards-banner-photos{position:static;width:100%;height:200px;margin-top:16px}.boards-banner-photos img{height:200px}}
@media(max-width:600px){.board-ghosts{--board-size:29vmin}.board-ghosts img{opacity:.12}}
@media(prefers-reduced-motion:reduce){.board-ghosts img{transition:none}}
