.tbh-beer-wrapper{width:100%}.tbh-beer-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}.tbh-filter{border:1px solid #d5d5d5;background:#fff;color:#333;border-radius:999px;padding:9px 16px;cursor:pointer;font-size:14px}.tbh-filter:hover,.tbh-filter.active{background:#222;color:#fff;border-color:#222}.tbh-beer-portfolio{display:grid;gap:28px}.tbh-columns-1{grid-template-columns:1fr}.tbh-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tbh-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tbh-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tbh-beer-card{overflow:hidden;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:16px;box-shadow:0 6px 24px rgba(0,0,0,.07);transition:.2s}.tbh-beer-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.11)}.tbh-beer-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.tbh-no-image{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:#f4f4f4;font-size:55px}.tbh-beer-content{padding:20px}.tbh-beer-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.tbh-beer-style{color:#777;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.tbh-beer-status{border-radius:999px;padding:5px 9px;background:#eee;color:#555;font-size:11px;font-weight:700;white-space:nowrap}.tbh-beer-title{margin:0 0 14px;font-size:1.5rem;line-height:1.15}.tbh-beer-stats{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 15px}.tbh-beer-stats span{padding:7px 10px;background:#f6f6f6;border-radius:7px;font-size:12px;color:#666}.tbh-beer-stats strong{color:#222}.tbh-beer-description{color:#555;line-height:1.65}.tbh-beer-description p:last-child{margin-bottom:0}.tbh-beer-empty{padding:30px;text-align:center;border:1px dashed #bbb;border-radius:12px}@media(max-width:1000px){.tbh-columns-3,.tbh-columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.tbh-columns-2,.tbh-columns-3,.tbh-columns-4{grid-template-columns:1fr}}

.tbh-beer-card{border-radius:var(--tbh-radius,16px)}
.tbh-beer-image img{aspect-ratio:var(--tbh-image-ratio,4/3)}
.tbh-no-shadow{box-shadow:none}
.tbh-has-shadow{box-shadow:0 6px 24px rgba(0,0,0,.07)}
.tbh-no-hover{transition:none}
.tbh-has-hover{transition:transform .2s ease,box-shadow .2s ease}
.tbh-has-hover:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.11)}
.tbh-style-classic .tbh-beer-card{border-radius:3px}
.tbh-style-classic .tbh-beer-content{padding:18px}
.tbh-style-classic .tbh-beer-title{font-family:Georgia,serif}
.tbh-style-minimal .tbh-beer-card{border:0;box-shadow:none}
.tbh-style-minimal .tbh-beer-content{padding:16px 4px}
.tbh-style-minimal .tbh-beer-image img{border-radius:var(--tbh-radius,16px)}

.tbh-beer-card{border-width:var(--tbh-border-width,1px);border-color:var(--tbh-border-color,#ddd)}
.tbh-beer-content{padding:var(--tbh-padding,20px)}
.tbh-beer-title{font-size:var(--tbh-title-size,24px)}
.tbh-beer-description{font-size:var(--tbh-description-size,15px)}
.tbh-beer-image img{object-fit:var(--tbh-image-fit,cover);object-position:var(--tbh-image-position,center)}
.tbh-align-center .tbh-beer-content{text-align:center}.tbh-align-center .tbh-beer-topline,.tbh-align-center .tbh-beer-stats{justify-content:center}
.tbh-stats-plain .tbh-beer-stats span{background:transparent;padding:0;border-radius:0}.tbh-stats-hidden .tbh-beer-stats{display:none}
.tbh-beer-status{background:var(--tbh-accent,#222);color:#fff}
.tbh-status-on-tap{background:#e8f3ff!important;color:#175a91!important}

/* Additional Beer Card Styles */
.tbh-style-brewery .tbh-beer-card{
    border:0;
    border-radius:8px;
    box-shadow:0 8px 24px rgba(0,0,0,.12);
    background:#fffdf8;
}
.tbh-style-brewery .tbh-beer-image img{border-bottom:4px solid var(--tbh-accent,#222)}
.tbh-style-brewery .tbh-beer-title{font-weight:700}
.tbh-style-brewery .tbh-beer-style{letter-spacing:.12em}

.tbh-style-glass .tbh-beer-card{
    border:1px solid rgba(255,255,255,.45);
    border-radius:22px;
    background:rgba(255,255,255,.72);
    backdrop-filter:blur(10px);
    box-shadow:0 12px 35px rgba(0,0,0,.12);
}
.tbh-style-glass .tbh-beer-image img{border-radius:22px 22px 0 0}

.tbh-style-label .tbh-beer-card{
    border:6px double var(--tbh-accent,#222);
    border-radius:4px;
    background:#faf7ef;
    box-shadow:none;
}
.tbh-style-label .tbh-beer-content{text-align:center}
.tbh-style-label .tbh-beer-topline,.tbh-style-label .tbh-beer-stats{justify-content:center}
.tbh-style-label .tbh-beer-title{
    
    text-transform:uppercase;
    letter-spacing:.04em;
}
.tbh-style-label .tbh-beer-image img{aspect-ratio:1/1}

.tbh-style-dark .tbh-beer-card{
    background:#171717;
    border-color:#333;
    color:#fff;
    box-shadow:0 10px 30px rgba(0,0,0,.25);
}
.tbh-style-dark .tbh-beer-description,
.tbh-style-dark .tbh-beer-style{color:#c9c9c9}
.tbh-style-dark .tbh-beer-stats span{background:#272727;color:#bbb}
.tbh-style-dark .tbh-beer-stats strong{color:#fff}
.tbh-style-dark .tbh-beer-status{background:#fff;color:#111}

.tbh-style-flat .tbh-beer-card{
    border:0;
    border-radius:0;
    box-shadow:none;
    background:#f5f5f5;
}
.tbh-style-flat .tbh-beer-content{padding:18px}

.tbh-style-elegant .tbh-beer-card{
    border:1px solid #d8d0c2;
    border-radius:2px;
    background:#fff;
    box-shadow:0 5px 20px rgba(55,45,35,.08);
}
.tbh-style-elegant .tbh-beer-title{
    
    font-weight:500;
    letter-spacing:.02em;
}
.tbh-style-elegant .tbh-beer-style{font-family:Georgia,serif}

.tbh-style-compact .tbh-beer-card{
    border-radius:10px;
    display:flex;
    flex-direction:row;
}
.tbh-style-compact .tbh-beer-image{width:38%;flex:0 0 38%}
.tbh-style-compact .tbh-beer-image img{height:100%;aspect-ratio:auto}
.tbh-style-compact .tbh-beer-content{width:62%;padding:16px}
.tbh-style-compact .tbh-beer-title{font-size:20px}
.tbh-style-compact .tbh-beer-description{font-size:13px}
@media(max-width:600px){
    .tbh-style-compact .tbh-beer-card{display:block}
    .tbh-style-compact .tbh-beer-image,.tbh-style-compact .tbh-beer-content{width:100%}
    .tbh-style-compact .tbh-beer-image img{aspect-ratio:4/3}
}

/* Remove the unwanted gray outline around beer cards */
.tbh-beer-card {
    border: 0 !important;
    outline: 0 !important;
}

/* Final card border reset */
.tbh-beer-portfolio .tbh-beer-card,
.tbh-beer-portfolio .tbh-beer-card:hover,
.tbh-beer-portfolio .tbh-beer-card:focus,
.tbh-beer-portfolio .tbh-beer-card:focus-within {
    border: 0 !important;
    outline: 0 !important;
}
.tbh-beer-portfolio .tbh-beer-image {
    border: 0 !important;
    outline: 0 !important;
}
.tbh-beer-portfolio .tbh-beer-image img {
    border: 0 !important;
    outline: 0 !important;
}

/* v11: remove every visible border/outline from the portfolio */
.tbh-beer-wrapper,
.tbh-beer-portfolio,
.tbh-beer-portfolio *,
.tbh-beer-card,
.tbh-beer-card::before,
.tbh-beer-card::after,
.tbh-beer-image,
.tbh-beer-image::before,
.tbh-beer-image::after,
.tbh-beer-image img {
    outline: none !important;
}

.tbh-beer-portfolio,
.tbh-beer-card,
.tbh-beer-image,
.tbh-beer-image img {
    border-style: none !important;
    border-width: 0 !important;
    border-color: transparent !important;
}

.tbh-beer-card {
    box-sizing: border-box !important;
}

/* Keep the Beer Label style's decorative double border optional only
   through its existing design, but default all cards to borderless. */
.tbh-style-label .tbh-beer-card {
    border: 0 !important;
}

/* v12: completely disable card hover movement when Hover Animation is off */
.tbh-beer-portfolio .tbh-beer-card.tbh-no-hover,
.tbh-beer-portfolio .tbh-beer-card.tbh-no-hover:hover,
.tbh-beer-portfolio .tbh-beer-card.tbh-no-hover:focus,
.tbh-beer-portfolio .tbh-beer-card.tbh-no-hover:focus-within {
    transform: none !important;
    transition: none !important;
    animation: none !important;
}

/* Prevent themes from adding their own hover movement */
.tbh-beer-portfolio .tbh-beer-card.tbh-no-hover:hover {
    top: auto !important;
    left: auto !important;
    translate: none !important;
    scale: 1 !important;
    rotate: none !important;
}

/* v14: inherit typography from the active WordPress theme */
.tbh-beer-wrapper,
.tbh-beer-wrapper *,
.tbh-beer-wrapper button,
.tbh-beer-wrapper input,
.tbh-beer-wrapper select,
.tbh-beer-wrapper textarea {
    font-family: inherit !important;
}

/* v15: customizable beer image size */
.tbh-beer-portfolio .tbh-beer-image{width:var(--tbh-image-width,100%);margin-left:auto;margin-right:auto}
.tbh-beer-portfolio .tbh-beer-image img{width:100%;height:var(--tbh-image-height,300px)!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:var(--tbh-image-fit,contain)!important;object-position:var(--tbh-image-position,center)!important}
