:root{--lr-ink:#24170f;--lr-cream:#f7f0e5;--lr-accent:#b84f2a;--lr-line:#dbcbbb}
.labroast-card{box-sizing:border-box;background:var(--lr-cream);border:1px solid var(--lr-line);border-radius:18px;color:var(--lr-ink);margin:2rem 0;padding:clamp(1.25rem,3vw,2.5rem)}
.labroast-card h2,.labroast-card h3{color:inherit;margin-top:.2em}.labroast-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:700;color:var(--lr-accent)}
.labroast-journey textarea{box-sizing:border-box;width:100%;border:1px solid var(--lr-line);border-radius:12px;padding:1rem;background:#fff;font:inherit;resize:vertical}
.labroast-card button{border:0;border-radius:999px;background:var(--lr-ink);color:#fff;cursor:pointer;font-weight:700;margin-top:.75rem;padding:.8rem 1.2rem;transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease}.labroast-card button:not(:disabled):hover{background:var(--lr-accent);box-shadow:0 4px 12px rgba(36,23,15,.18);transform:translateY(-1px)}.labroast-card button:disabled{opacity:.55;cursor:wait}
.labroast-status{min-height:1.5em;margin-top:1rem}.labroast-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.25rem}
.labroast-results-title,.labroast-results-intro{grid-column:1/-1}.labroast-results-intro{margin-top:-.6rem}.labroast-divider{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;color:#7a685b}.labroast-divider:before,.labroast-divider:after{content:"";height:1px;background:var(--lr-line);flex:1}.labroast-quiz{background:#fff;border:1px solid var(--lr-line);border-radius:12px;padding:1rem;transition:border-color .18s ease,box-shadow .18s ease}.labroast-quiz>summary{cursor:pointer;font-weight:700;transition:color .18s ease}.labroast-quiz>summary:hover{color:var(--lr-accent)}.labroast-quiz:has(>summary:hover){border-color:var(--lr-accent);box-shadow:0 3px 10px rgba(36,23,15,.1)}.labroast-quiz fieldset{border:0;border-top:1px solid var(--lr-line);margin:1rem 0 0;padding:1rem 0 0}.labroast-quiz legend{font-weight:700;padding-top:1rem}.labroast-options{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.65rem}.labroast-options label,.labroast-profile-brew label{cursor:pointer}.labroast-options input,.labroast-profile-brew input{position:absolute;opacity:0;pointer-events:none}.labroast-options span,.labroast-profile-brew span{display:block;border:1px solid var(--lr-line);border-radius:999px;padding:.55rem .8rem;background:#fff;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.labroast-options label:hover span,.labroast-profile-brew label:hover span{border-color:var(--lr-accent);color:var(--lr-accent)}.labroast-options input:checked+span,.labroast-profile-brew input:checked+span{background:var(--lr-ink);border-color:var(--lr-ink);color:#fff}.labroast-options input:focus-visible+span,.labroast-profile-brew input:focus-visible+span{outline:2px solid var(--lr-accent);outline-offset:2px}.labroast-profile-actions{background:#efe3d3;border-left:4px solid var(--lr-accent);border-radius:10px;margin-top:1.5rem;padding:1rem}.labroast-profile-actions h3{margin-bottom:.25rem}.labroast-profile-brew,.labroast-profile-buttons{display:flex;flex-wrap:wrap;gap:.55rem}.labroast-profile-buttons button{margin-top:.25rem}.labroast-experimental{background:var(--lr-accent)!important}.labroast-experimental:hover{background:var(--lr-ink)!important}
.labroast-profile-disclosure .labroast-profile-actions{margin-top:1rem}
.labroast-product{background:#fff;border-radius:12px;padding:.8rem;box-shadow:0 2px 10px rgba(36,23,15,.06)}.labroast-product img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;margin-bottom:.6rem}.labroast-product a{color:inherit;text-decoration:none}.labroast-product p{font-size:.88rem}
.labroast-product .labroast-product-cta{display:block;background:var(--lr-ink);border:1px solid var(--lr-ink);border-radius:999px;color:#fff;font-size:.86rem;font-weight:700;margin-top:.75rem;padding:.65rem .9rem;text-align:center;transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease}.labroast-product .labroast-product-cta:hover{background:var(--lr-accent);border-color:var(--lr-accent);box-shadow:0 4px 12px rgba(36,23,15,.18);transform:translateY(-1px)}
.labroast-product-details{border-top:1px solid var(--lr-line);font-size:.8rem;line-height:1.3;margin:.55rem 0;padding-top:.4rem;text-align:left}.labroast-product-details>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:.25rem;margin:.12rem 0}.labroast-product-details dt{font-weight:700;text-align:left}.labroast-product-details dd{margin:0;text-align:left}
.labroast-tags{display:flex;flex-wrap:wrap;gap:.4rem}.labroast-tags span{background:#fff;border:1px solid var(--lr-line);border-radius:99px;padding:.3rem .65rem;font-size:.82rem}
.labroast-taste{border-top:1px solid #eee;clear:both;margin:2rem 0 4rem;padding-top:2rem}.labroast-related-header{margin:0 0 1.35rem;text-align:left}.labroast-related-header h2{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.15;margin:0 0 .2rem}.labroast-related-header h3{font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.3;margin:0 0 .65rem}.labroast-related-intro{color:#666;margin:.15rem 0 .75rem;max-width:760px}.labroast-taste ul.labroast-products{display:grid!important;float:none!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,28px);margin:1.35rem 0 0!important;padding:0!important}.labroast-taste ul.labroast-products:before,.labroast-taste ul.labroast-products:after{display:none!important}.labroast-taste ul.labroast-products li.product{clear:none!important;float:none!important;margin:0!important;width:100%!important}.labroast-taste .labroast-related-product .product_thumbnail img{aspect-ratio:1;display:block;height:auto;object-fit:cover;width:100%}.labroast-taste .labroast-related-product .woocommerce-loop-product__title{line-height:1.3;margin:.65rem 0 .25rem!important}.labroast-taste .labroast-related-reason{background:var(--lr-cream);border-left:3px solid var(--lr-accent);font-size:.82rem;line-height:1.45;margin:.55rem 0 .45rem;padding:.6rem .65rem}.labroast-taste .labroast-related-reason strong{display:block;margin-bottom:.1rem}.labroast-taste dl.labroast-product-details{line-height:1.15;margin:.25rem 0 .4rem;padding-top:.3rem}.labroast-taste dl.labroast-product-details>div{gap:.15rem;margin:0}.labroast-taste dl.labroast-product-details dt,.labroast-taste dl.labroast-product-details dd{line-height:1.15;margin:0;padding:0}.labroast-taste .product_after_shop_loop{margin-top:.35rem}.labroast-taste .product_after_shop_loop_switcher{height:42px;min-height:42px;overflow:hidden;position:relative}.labroast-taste .product_after_shop_loop_switcher>.price,.labroast-taste .product_after_shop_loop_switcher>.labroast-template-cta{align-items:center;display:flex!important;height:42px!important;inset:0!important;justify-content:flex-start;margin:0!important;opacity:1;position:absolute!important;visibility:visible!important;transition:transform .25s ease!important}.labroast-taste .product_after_shop_loop_switcher>.price{transform:translateY(0)!important}.labroast-taste .product_after_shop_loop_switcher>.labroast-template-cta{justify-content:center;transform:translateY(100%)!important}.labroast-taste li.product:hover .product_after_shop_loop_switcher>.price{opacity:1;visibility:visible;transform:translateY(-100%)!important}.labroast-taste li.product:hover .product_after_shop_loop_switcher>.labroast-template-cta{opacity:1;visibility:visible;transform:translateY(0)!important}.labroast-taste .microtastes{min-height:1.5em}
@media(max-width:900px){.labroast-taste ul.labroast-products{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.labroast-taste{margin-top:1.5rem;padding-top:1.5rem}.labroast-taste ul.labroast-products{grid-template-columns:1fr}}
.labroast-rating-list{display:grid;gap:.75rem;margin-bottom:1.5rem}.labroast-rating{display:grid;grid-template-columns:minmax(150px,1fr) minmax(190px,auto) minmax(180px,1fr) auto auto;align-items:center;gap:.7rem;background:#fff;border-radius:10px;padding:.75rem}.labroast-rating input,.labroast-rating select{border:1px solid var(--lr-line);border-radius:6px;padding:.4rem}.labroast-rating button{margin:0;padding:.55rem .8rem}.labroast-choice{display:grid;gap:.25rem;font-size:.9rem}
@media(max-width:720px){.labroast-rating{grid-template-columns:1fr}.labroast-rating label{display:grid;gap:.3rem}.labroast-results{grid-template-columns:1fr}}
.labroast-email{border-top:1px solid var(--lr-line);margin-top:2rem;padding-top:1rem}.labroast-email button{margin-left:.5rem;padding:.55rem .8rem}
.labroast-profile-contexts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.labroast-profile-contexts>div{background:#fff;border-radius:10px;padding:1rem}@media(max-width:600px){.labroast-profile-contexts{grid-template-columns:1fr}.labroast-experimental{margin-left:0}}
.labroast-active-advice{border-top:1px solid var(--lr-line);margin-top:1.5rem;padding-top:1.5rem;scroll-margin-top:140px}.labroast-reset{display:inline-block;border:1px solid var(--lr-ink);border-radius:999px;color:var(--lr-ink);font-weight:700;padding:.65rem 1rem;text-decoration:none;transition:background-color .18s ease,color .18s ease}.labroast-reset:hover{background:var(--lr-ink);color:#fff}.labroast-server-results{margin-bottom:1rem}
@media(prefers-reduced-motion:reduce){.labroast-card button,.labroast-product .labroast-product-cta{transition:none}.labroast-card button:not(:disabled):hover,.labroast-product .labroast-product-cta:hover{transform:none}}
.labroast-intent-explanation{background:#fff;border-left:4px solid var(--lr-accent);border-radius:8px;margin:.75rem 0 1rem;padding:.8rem 1rem}.labroast-intent-explanation p{margin:.25rem 0 0}
.labroast-continuation-heading{clear:both;margin:2rem 0 1rem}.labroast-continuation-heading h2{margin-bottom:.25rem}.labroast-continuation-heading p{margin-top:0}
/* Shopkeeper-safe related-card motion: use a short bounded slide instead of translating full element heights. */
.labroast-taste dl.labroast-product-details{line-height:1.25}.labroast-taste dl.labroast-product-details>div{margin:.16rem 0}.labroast-taste dl.labroast-product-details dt,.labroast-taste dl.labroast-product-details dd{line-height:1.25}
.labroast-taste .product_after_shop_loop_switcher>.price,.labroast-taste .product_after_shop_loop_switcher>.labroast-template-cta{box-sizing:border-box;transition:opacity .2s ease,transform .25s ease!important}.labroast-taste .product_after_shop_loop_switcher>.price{opacity:1!important;transform:translateY(0)!important;visibility:visible!important}.labroast-taste .product_after_shop_loop_switcher>.labroast-template-cta{opacity:0!important;transform:translateY(10px)!important;visibility:hidden!important}.labroast-taste li.product:hover .product_after_shop_loop_switcher>.price{opacity:0!important;transform:translateY(-10px)!important;visibility:hidden!important}.labroast-taste li.product:hover .product_after_shop_loop_switcher>.labroast-template-cta{opacity:1!important;transform:translateY(0)!important;visibility:visible!important}
/* Stable card footer: keep both price and action visible; only the action changes on hover. */
.labroast-taste dl.labroast-product-details{margin:.7rem 0 .85rem;padding-top:.6rem}.labroast-taste .product_after_shop_loop_switcher{height:auto;min-height:0;overflow:visible}.labroast-taste .product_after_shop_loop_switcher>.price,.labroast-taste .product_after_shop_loop_switcher>.labroast-template-cta,.labroast-taste li.product:hover .product_after_shop_loop_switcher>.price,.labroast-taste li.product:hover .product_after_shop_loop_switcher>.labroast-template-cta{display:flex!important;height:auto!important;inset:auto!important;opacity:1!important;position:relative!important;transform:none!important;visibility:visible!important}.labroast-taste .product_after_shop_loop_switcher>.price{margin:0 0 .55rem!important}.labroast-taste .product_after_shop_loop_switcher>.labroast-template-cta{background:var(--lr-ink)!important;border-color:var(--lr-ink)!important;color:#fff!important;justify-content:center;padding:.7rem .9rem!important;transition:background-color .18s ease,border-color .18s ease,transform .18s ease!important}.labroast-taste .product_after_shop_loop_switcher>.labroast-template-cta:hover{background:var(--lr-accent)!important;border-color:var(--lr-accent)!important;transform:translateY(-1px)!important}
/* Match Shopkeeper's native 33px price/action strip exactly. */
.labroast-taste .product_after_shop_loop{height:33px!important;margin-top:0;overflow:hidden!important}.labroast-taste .product_after_shop_loop_switcher{height:66px!important;min-height:66px!important;overflow:hidden!important;position:static!important;transform:translateY(0)!important;transition:transform .3s ease!important}.labroast-taste .product_after_shop_loop_switcher>.price,.labroast-taste .product_after_shop_loop_switcher>.button{box-sizing:border-box!important;display:block!important;height:33px!important;inset:auto!important;margin:0!important;opacity:1!important;overflow:hidden!important;position:static!important;transform:none!important;visibility:visible!important}.labroast-taste .product_after_shop_loop_switcher>.price{padding-top:4px!important}.labroast-taste .product_after_shop_loop_switcher>.button{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:inherit!important;padding:0!important;text-align:left!important}.labroast-taste li.product:not(.catalog_mode):hover .product_after_shop_loop_switcher{transform:translateY(-33px)!important}
@media(max-width:1023px){.labroast-taste .product_after_shop_loop{height:66px!important}.labroast-taste li.product:not(.catalog_mode):hover .product_after_shop_loop_switcher{transform:none!important}}
/* Labroast child theme renders the native strip at 28px rather than Shopkeeper's 33px default. */
.labroast-taste .product_after_shop_loop{height:28px!important}.labroast-taste .product_after_shop_loop_switcher{height:56px!important;min-height:56px!important}.labroast-taste .product_after_shop_loop_switcher>.price,.labroast-taste .product_after_shop_loop_switcher>.button{height:28px!important;line-height:28px!important}.labroast-taste .product_after_shop_loop_switcher>.price{padding-top:0!important}.labroast-taste li.product:not(.catalog_mode):hover .product_after_shop_loop_switcher{transform:translateY(-28px)!important}
@media(max-width:1023px){.labroast-taste .product_after_shop_loop{height:56px!important}.labroast-taste li.product:not(.catalog_mode):hover .product_after_shop_loop_switcher{transform:none!important}}
