.bag-type-help{margin:.15rem 0 .7rem;color:var(--text-muted);font-size:.78rem}
.bag-type-select-native{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.bag-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;max-height:332px;overflow:auto;padding:.15rem .2rem .25rem .05rem}
.bag-type-option{position:relative;display:flex;min-width:0;min-height:126px;cursor:pointer}
.bag-type-option input{position:absolute;opacity:0;pointer-events:none}
.bag-type-card{display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:.55rem .35rem;border:1px solid #dce4d8;border-radius:6px;background:#fbfdf9;color:#24462f;text-align:center;transition:border-color .18s,box-shadow .18s,transform .18s,background .18s}
.bag-type-card svg{display:block;width:72px;height:64px;flex:0 0 auto}
.bag-type-card img{display:block;width:100%;height:90px;object-fit:contain;flex:0 0 auto}
.bag-type-card span{font-size:.7rem;font-weight:700;line-height:1.2}
.bag-type-option:hover .bag-type-card{transform:translateY(-2px);border-color:#8db68d;box-shadow:0 7px 18px rgba(36,99,60,.1)}
.bag-type-option input:checked + .bag-type-card{border-color:#27683f;background:#eef7e9;box-shadow:0 0 0 2px rgba(39,104,63,.16)}
.bag-type-option input:focus-visible + .bag-type-card{outline:3px solid rgba(201,168,76,.6);outline-offset:2px}
.pc-detail-link{display:block;color:inherit;text-decoration:none}
.pc-name .pc-detail-link:hover{color:#9a7721}
.product-knowledge{background:#f6f5f0;border-top:1px solid var(--gray-200)}
.knowledge-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.knowledge-copy{position:sticky;top:110px}
.knowledge-copy p{color:var(--text-muted);margin-top:1rem;line-height:1.75}
.knowledge-list{display:grid;gap:1rem}
.knowledge-item{padding:1.35rem 0;border-top:1px solid #d8d6cd}
.knowledge-item h3{font-family:var(--font-body);font-size:1rem;margin-bottom:.45rem}
.knowledge-item p{color:var(--text-muted);font-size:.9rem;line-height:1.7}
.product-faq{max-width:900px;margin:0 auto}
.product-faq details{border-top:1px solid var(--gray-200);padding:1.1rem 0}
.product-faq details:last-child{border-bottom:1px solid var(--gray-200)}
.product-faq summary{cursor:pointer;list-style:none;font-weight:750;color:var(--ink);padding-right:2rem;position:relative}
.product-faq summary::after{content:"+";position:absolute;right:.15rem;top:-.15rem;color:var(--gold);font-size:1.35rem}
.product-faq details[open] summary::after{content:"-"}
.product-faq p{color:var(--text-muted);line-height:1.75;margin-top:.75rem;max-width:760px}

.product-detail-hero{padding:calc(var(--nav-h) + 4rem) 0 4rem;background:#111;color:#fff}
.product-detail-hero .container{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,7vw,6rem)}
.product-detail-hero h1{color:#fff;margin:.65rem 0 1rem;font-size:clamp(2.25rem,5vw,4.5rem)}
.product-detail-hero p{color:rgba(255,255,255,.72);line-height:1.75;max-width:620px}
.product-detail-hero img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;border-radius:6px;padding:1rem}
.product-proof-row{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.4rem 0}
.product-proof-row span{border:1px solid rgba(255,255,255,.2);padding:.42rem .68rem;border-radius:3px;font-size:.76rem;color:rgba(255,255,255,.82)}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:clamp(2rem,7vw,6rem);align-items:start}
.detail-content h2{margin:2.6rem 0 .9rem;font-size:clamp(1.55rem,3vw,2.25rem)}
.detail-content h2:first-child{margin-top:0}
.detail-content h3{font-family:var(--font-body);font-size:1.05rem;margin:1.7rem 0 .55rem}
.detail-content p,.detail-content li{color:#4f4f4f;line-height:1.82}
.detail-content ul{padding-left:1.1rem;margin:.75rem 0}
.detail-table{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:.88rem}
.detail-table th,.detail-table td{text-align:left;padding:.8rem;border:1px solid var(--gray-200);vertical-align:top}
.detail-table th{background:#f5f2e9;color:var(--ink)}
.coffee-size-chart{margin:1.35rem 0 1rem;border:1px solid var(--gray-200);border-radius:10px;overflow:hidden;background:#fff}
.coffee-size-chart table{width:100%;border-collapse:collapse}
.coffee-size-chart caption{padding:.85rem 1rem;background:#f5f2e9;color:var(--ink);font-weight:750;text-align:left}
.coffee-size-chart th,.coffee-size-chart td{padding:.9rem 1rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--gray-200)}
.coffee-size-chart thead th{font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:#5d594f;background:#faf9f5}
.coffee-size-chart tbody tr:last-child th,.coffee-size-chart tbody tr:last-child td{border-bottom:0}
.coffee-size-chart tbody th{font-size:1.15rem;color:var(--ink);white-space:nowrap}
.coffee-size-chart td strong,.coffee-size-chart td span{display:block}
.coffee-size-chart td strong{color:var(--ink)}
.coffee-size-chart td span{margin-top:.15rem;font-size:.72rem;color:var(--text-muted)}
.coffee-size-notes{margin:1rem 0 2rem;padding:1.1rem 1.2rem;border-left:3px solid var(--gold);background:#f8f5ec}
.detail-content .coffee-size-notes h3{margin:0 0 .55rem}
.coffee-size-notes p:last-child{margin-bottom:0}
.detail-aside{position:sticky;top:105px;border:1px solid var(--gray-200);padding:1.3rem;background:#fff}
.detail-aside strong{display:block;margin-bottom:.7rem}
.detail-aside a{display:block;padding:.5rem 0;color:var(--text-muted);font-size:.84rem;border-bottom:1px solid var(--gray-100)}
.detail-aside .btn{margin-top:1rem;color:#111;text-align:center;border:0}
.related-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.related-product{border:1px solid var(--gray-200);background:#fff;text-decoration:none;color:inherit}
.related-product img{width:100%;aspect-ratio:4/3;object-fit:contain;padding:.75rem;background:#fafafa}
.related-product div{padding:1rem;font-weight:750;font-size:.88rem}
.related-product--text{min-height:132px;display:flex;align-items:stretch}
.related-product--text div{display:flex;flex:1;flex-direction:column;justify-content:space-between;gap:1rem;font-size:1rem}
.related-product--text span{color:var(--gold);font-size:.78rem}
.page-review-note{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:0 0 1.5rem;padding:1rem 1.1rem;border-left:3px solid var(--gold);background:#f8f5ec;color:var(--text-muted);font-size:.82rem}
.page-review-note strong{color:var(--ink);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}
.page-review-note a{color:#765814;text-decoration:underline}
@media(max-width:900px){.knowledge-grid,.detail-layout,.product-detail-hero .container{grid-template-columns:1fr}.knowledge-copy,.detail-aside{position:static}.detail-aside{order:-1}.related-product-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.bag-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:360px}.bag-type-option{min-height:116px}.related-product-grid{grid-template-columns:1fr}.product-detail-hero{padding-top:calc(var(--nav-h) + 2.5rem)}.page-review-note{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.coffee-size-chart{border:0;background:transparent;overflow:visible}.coffee-size-chart caption{border:1px solid var(--gray-200);border-radius:10px 10px 0 0}.coffee-size-chart thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.coffee-size-chart tbody{display:grid;gap:.7rem}.coffee-size-chart tr{display:grid;grid-template-columns:.7fr 1.3fr;padding:.9rem 1rem;border:1px solid var(--gray-200);border-radius:10px;background:#fff}.coffee-size-chart th,.coffee-size-chart td{padding:.2rem 0;border:0}.coffee-size-chart tbody th{grid-row:1 / span 2;align-self:center}.coffee-size-chart td::before{content:attr(data-label);display:block;margin-bottom:.1rem;font-size:.68rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:#6b675d}}
