
/* Beerplanet Club Core v1.41.0 — Editorial single post */
body.beerplanet-blog-post-page{
    background:#f5f7f5!important;
    color:#172019;
    margin:0!important;
}
body.beerplanet-blog-post-page #wpadminbar{z-index:100000}
.bp-blog-shell{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    min-height:100vh;
}
.bp-blog-topbar{
    align-items:center;
    background:#fff;
    border-bottom:1px solid #e8ede9;
    display:flex;
    justify-content:space-between;
    min-height:84px;
    padding:10px max(24px,calc((100vw - 1180px)/2));
    position:relative;
    z-index:20;
}
.bp-blog-brand{display:block}
.bp-blog-brand img{
    display:block;
    max-height:62px;
    max-width:220px;
    object-fit:contain;
}
.bp-blog-top-actions{align-items:center;display:flex;gap:26px}
.bp-blog-top-actions a{
    color:#263128!important;
    font-size:13px;
    font-weight:800;
    text-decoration:none!important;
}
.bp-blog-top-actions a:last-child{
    background:#21a746;
    border-radius:7px;
    color:#fff!important;
    padding:11px 16px;
}
.bp-blog-main{
    margin:0 auto;
    max-width:1180px;
    padding:38px 20px 58px;
}
.bp-blog-article{
    background:#fff;
    border:1px solid #e3e9e4;
    border-radius:20px;
    box-shadow:0 12px 32px rgba(16,41,22,.055);
    overflow:hidden;
}
.bp-blog-hero{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
    min-height:490px;
}
.bp-blog-hero-copy{
    align-self:center;
    padding:58px 56px;
}
.bp-blog-back{
    color:#66736a!important;
    display:inline-block;
    font-size:12px;
    font-weight:700;
    margin-bottom:30px;
    text-decoration:none!important;
}
.bp-blog-category{
    color:#21a746;
    display:block;
    font-size:11px;
    font-weight:900;
    letter-spacing:.14em;
    margin-bottom:12px;
    text-transform:uppercase;
}
.bp-blog-hero h1{
    color:#111713!important;
    font-size:50px!important;
    letter-spacing:-1.7px!important;
    line-height:1.02!important;
    margin:0 0 18px!important;
}
.bp-blog-excerpt{
    color:#647068;
    font-size:18px;
    line-height:1.55;
    margin:0 0 24px;
}
.bp-blog-meta{
    color:#879189;
    display:flex;
    font-size:12px;
    gap:16px;
}
.bp-blog-meta span+span:before{content:"•";margin-right:16px}
.bp-blog-hero-image{
    background:#0a140d;
    min-height:100%;
}
.bp-blog-hero-image img{
    display:block;
    height:100%!important;
    object-fit:cover;
    width:100%!important;
}
.bp-blog-content{
    color:#29322c;
    font-size:18px;
    line-height:1.76;
    margin:0 auto;
    max-width:820px;
    padding:58px 28px 70px;
}
.bp-blog-content>*:first-child{margin-top:0}
.bp-blog-content>*:last-child{margin-bottom:0}
.bp-blog-content p{margin:0 0 1.35em}
.bp-blog-content h2{
    color:#141b16!important;
    font-size:32px!important;
    letter-spacing:-.6px;
    line-height:1.15!important;
    margin:1.7em 0 .65em!important;
}
.bp-blog-content h3{
    color:#172019!important;
    font-size:24px!important;
    line-height:1.2!important;
    margin:1.6em 0 .6em!important;
}
.bp-blog-content a{color:#19933c;font-weight:700}
.bp-blog-content img{
    border-radius:12px;
    height:auto!important;
    max-width:100%!important;
}
.bp-blog-content figure{
    margin:2em 0!important;
    max-width:none!important;
}
.bp-blog-content blockquote{
    border-left:4px solid #21a746;
    color:#47534b;
    font-size:20px;
    margin:2em 0;
    padding:8px 0 8px 22px;
}
.bp-blog-content ul,.bp-blog-content ol{margin:0 0 1.5em;padding-left:1.35em}
.bp-blog-content li{margin:.45em 0}
.bp-blog-content input,
.bp-blog-content textarea,
.bp-blog-content select{
    border:1px solid #cfd9d1!important;
    border-radius:8px!important;
    box-shadow:none!important;
    font-size:16px!important;
    min-height:48px;
    padding:10px 12px!important;
    width:100%;
}
.bp-blog-content textarea{min-height:140px}
.bp-blog-content input[type=submit],
.bp-blog-content button{
    background:#21a746!important;
    border:0!important;
    border-radius:8px!important;
    color:#fff!important;
    cursor:pointer;
    font-size:14px!important;
    font-weight:800!important;
    min-height:48px;
    padding:12px 18px!important;
    width:auto;
}
.bp-blog-related{margin-top:40px}
.bp-blog-section-head span{
    color:#21a746;
    font-size:11px;
    font-weight:900;
    letter-spacing:.14em;
}
.bp-blog-section-head h2{
    color:#151d17!important;
    font-size:30px!important;
    margin:7px 0 20px!important;
}
.bp-blog-related-grid{
    display:grid;
    gap:18px;
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.bp-blog-related-card{
    background:#fff;
    border:1px solid #e1e8e2;
    border-radius:14px;
    color:#172019!important;
    overflow:hidden;
    text-decoration:none!important;
}
.bp-blog-related-media{
    background:#e9eeea;
    height:185px;
}
.bp-blog-related-media img{
    height:100%!important;
    object-fit:cover;
    width:100%!important;
}
.bp-blog-related-copy{padding:18px}
.bp-blog-related-copy>span{color:#879189;font-size:11px}
.bp-blog-related-copy h3{
    color:#172019!important;
    font-size:18px!important;
    line-height:1.25!important;
    margin:8px 0 18px!important;
}
.bp-blog-related-copy strong{color:#21a746;font-size:12px}
.bp-blog-shop-cta{
    align-items:center;
    background:linear-gradient(115deg,#07130c,#102016);
    border-radius:18px;
    color:#fff;
    display:flex;
    gap:24px;
    justify-content:space-between;
    margin-top:34px;
    padding:30px 34px;
}
.bp-blog-shop-cta span{
    color:#70d843;
    font-size:10px;
    font-weight:900;
    letter-spacing:.14em;
}
.bp-blog-shop-cta h2{
    color:#fff!important;
    font-size:27px!important;
    margin:6px 0 5px!important;
}
.bp-blog-shop-cta p{color:#c5d0c8;margin:0}
.bp-blog-shop-cta>a{
    background:#5bcf31;
    border-radius:8px;
    color:#071109!important;
    flex:0 0 auto;
    font-size:12px;
    font-weight:900;
    padding:14px 20px;
    text-decoration:none!important;
}
.bp-blog-footer{
    align-items:center;
    background:#07100a;
    color:#8c9a90;
    display:flex;
    justify-content:center;
    gap:12px;
    min-height:110px;
    padding:20px;
}
.bp-blog-footer img{
    max-height:54px;
    max-width:170px;
    object-fit:contain;
}
.bp-blog-footer span{font-size:12px}
body.beerplanet-blog-post-page .post-navigation,
body.beerplanet-blog-post-page .author-info,
body.beerplanet-blog-post-page .author-box,
body.beerplanet-blog-post-page .entry-author,
body.beerplanet-blog-post-page .shoptimizer-author-box,
body.beerplanet-blog-post-page .wp-block-post-author,
body.beerplanet-blog-post-page .wp-armour-notice,
body.beerplanet-blog-post-page [class*="wpa-notice"]{display:none!important}

@media(max-width:900px){
    .bp-blog-topbar{min-height:72px;padding:8px 18px}
    .bp-blog-brand img{max-height:54px;max-width:180px}
    .bp-blog-top-actions{gap:10px}
    .bp-blog-top-actions a:first-child{display:none}
    .bp-blog-top-actions a:last-child{font-size:11px;padding:9px 12px}
    .bp-blog-main{padding:18px 14px 40px}
    .bp-blog-hero{display:flex;flex-direction:column-reverse;min-height:0}
    .bp-blog-hero-image{height:270px;min-height:270px}
    .bp-blog-hero-copy{padding:30px 24px 34px}
    .bp-blog-back{margin-bottom:22px}
    .bp-blog-hero h1{font-size:38px!important;letter-spacing:-1px!important}
    .bp-blog-excerpt{font-size:17px}
    .bp-blog-content{font-size:17px;line-height:1.72;padding:38px 22px 48px}
    .bp-blog-content h2{font-size:28px!important}
    .bp-blog-content h3{font-size:22px!important}
    .bp-blog-related-grid{grid-template-columns:1fr}
    .bp-blog-related-card{display:grid;grid-template-columns:120px 1fr}
    .bp-blog-related-media{height:100%;min-height:135px}
    .bp-blog-shop-cta{align-items:flex-start;flex-direction:column;padding:26px 24px}
    .bp-blog-shop-cta h2{font-size:24px!important}
}
@media(max-width:520px){
    .bp-blog-topbar{padding-left:14px;padding-right:14px}
    .bp-blog-brand img{max-width:155px}
    .bp-blog-main{padding:12px 10px 32px}
    .bp-blog-article{border-radius:15px}
    .bp-blog-hero-image{height:230px;min-height:230px}
    .bp-blog-hero-copy{padding:26px 20px 30px}
    .bp-blog-hero h1{font-size:34px!important}
    .bp-blog-content{font-size:17px;padding:32px 18px 42px}
    .bp-blog-content h2{font-size:26px!important}
    .bp-blog-related{margin-top:30px}
    .bp-blog-related-card{grid-template-columns:105px 1fr}
    .bp-blog-related-copy{padding:15px}
    .bp-blog-related-copy h3{font-size:16px!important;margin-bottom:12px!important}
    .bp-blog-footer{padding-bottom:90px}
}


/* ==========================================================================
   Beerplanet Club v1.41.1 — Force editorial post shell
   ========================================================================== */

/* Defensive cleanup: no Shoptimizer public header/footer may coexist with the
   Beerplanet editorial template. The Beerplanet template owns the whole page. */
body.beerplanet-blog-post-page > #page,
body.beerplanet-blog-post-page .site-header,
body.beerplanet-blog-post-page #masthead,
body.beerplanet-blog-post-page .top-bar,
body.beerplanet-blog-post-page .header-widget-region,
body.beerplanet-blog-post-page .main-navigation,
body.beerplanet-blog-post-page .shoptimizer-sticky-header,
body.beerplanet-blog-post-page .site-footer:not(.bp-blog-footer),
body.beerplanet-blog-post-page .below-content,
body.beerplanet-blog-post-page .copyright {
    display: none !important;
}

/* Our custom shell must remain visible even under broad theme rules. */
body.beerplanet-blog-post-page .bp-blog-shell {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Mobile article: slightly stronger editorial hierarchy and less dead space. */
@media (max-width: 520px) {
    .bp-blog-topbar {
        min-height: 68px !important;
    }

    .bp-blog-hero-copy {
        padding-top: 22px !important;
    }

    .bp-blog-category {
        margin-bottom: 10px !important;
    }

    .bp-blog-hero h1 {
        font-size: 32px !important;
        line-height: 1.06 !important;
    }

    .bp-blog-content {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}
