/* Buffalo Nation content blocks styled for the Vintclub theme (theme colours and fonts kept) */
:root{--bnv-dark:#281e1a;--bnv-dark-2:#3a2a22;--bnv-cream:#f7ebd5;--bnv-tan:#d1c4b0;--bnv-rust:#7f3a2d;--bnv-copper:#bc7037;--bnv-ink:#333333;--bnv-muted:#6b5a4e;--bnv-line:#d1c4b0;--bnv-wrap:1170px;--bnv-gutter:clamp(16px,4vw,30px)}

/* full-bleed helper for block groups */
.bn-home.alignfull,.wp-block-group.alignfull.bn-section,.wp-block-group.alignfull.bn-trust,.wp-block-group.alignfull.bn-heritage{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;box-sizing:border-box}
.bn-section{padding:clamp(48px,7vw,96px) 0}
.bn-section>.wp-block-group__inner-container,.bn-trust>.wp-block-group__inner-container{max-width:var(--bnv-wrap);margin:0 auto;padding:0 var(--bnv-gutter)}
.bn-head{margin-bottom:28px}
.bn-head h2{margin:0 0 6px}
.bn-head p{margin:0;color:var(--bnv-muted)}
.bn-lede{font-size:1.08em;max-width:58ch}

/* Hero banner */
.bn-hero--banner{position:relative;overflow:hidden;background:var(--bnv-dark);min-height:clamp(480px,64vh,660px);display:flex;align-items:center;margin-top:0!important}
.bn-hero--banner>.wp-block-group__inner-container{width:100%}
.bn-hero--banner .bn-hero__bg{position:absolute;inset:0;margin:0!important;z-index:0}
.bn-hero--banner .bn-hero__bg img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:68% 60%;display:block;border:0;box-shadow:none}
.bn-hero--banner:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(40,30,26,.9) 0%,rgba(40,30,26,.7) 40%,rgba(40,30,26,.1) 70%,rgba(40,30,26,0) 100%)}
.bn-hero__inner{position:relative;z-index:2;max-width:var(--bnv-wrap);margin:0 auto;padding:clamp(56px,8vw,110px) var(--bnv-gutter)}
.bn-hero__inner>.wp-block-group__inner-container{max-width:620px}
.bn-hero--banner h1{color:var(--bnv-cream)!important;font-size:clamp(2.3rem,4.4vw,4rem);line-height:1;margin:0 0 20px;text-transform:uppercase}
.bn-hero--banner .bn-lede{color:var(--bnv-tan)}
.bn-hero--banner .wp-block-buttons{gap:12px;margin-top:24px}
.bn-hero--banner .wp-block-button__link{background:var(--bnv-rust);color:#fff;border-radius:30px;padding:.8em 1.6em;text-decoration:none}
.bn-hero--banner .wp-block-button__link:hover{background:var(--bnv-copper)}
.bn-hero--banner .is-style-outline .wp-block-button__link{background:transparent;color:var(--bnv-cream);border:2px solid var(--bnv-cream)}

/* Trust strip */
.bn-trust{background:var(--bnv-rust);color:var(--bnv-cream);padding:16px 0}
.bn-trust ul{list-style:none;margin:0 auto;padding:0 var(--bnv-gutter);max-width:var(--bnv-wrap);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 32px}
.bn-trust li{margin:0;padding-left:20px;position:relative;font-size:.95em}
.bn-trust li:before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border:2px solid var(--bnv-cream);transform:rotate(45deg)}

/* Category bento */
.bn-bento__grid>.wp-block-group__inner-container,.bn-bento__grid:not(:has(>.wp-block-group__inner-container)){display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:auto auto;gap:16px}
.bn-tile{position:relative;overflow:hidden;border-radius:6px;background:var(--bnv-dark);min-height:260px;margin:0!important}
.bn-tile--lg{grid-row:span 2;min-height:540px}
.bn-tile>.wp-block-group__inner-container{position:static}
.bn-tile figure{margin:0!important;position:absolute;inset:0}
.bn-tile figure img{width:100%;height:100%;object-fit:cover;max-width:none;border:0;box-shadow:none;transition:transform .5s ease}
.bn-tile:hover figure img{transform:scale(1.035)}
.bn-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,30,26,0) 35%,rgba(40,30,26,.9) 100%);pointer-events:none}
.bn-tile__body{position:absolute!important;left:0;right:0;bottom:0;z-index:2;padding:clamp(18px,2.4vw,30px)}
.bn-tile h3{color:var(--bnv-cream)!important;margin:0 0 4px;font-size:clamp(1.4rem,2.2vw,2rem);text-transform:uppercase}
.bn-tile h3 a{color:inherit!important;text-decoration:none}
.bn-tile h3 a:after{content:"";position:absolute;inset:0;z-index:3}
.bn-tile p{margin:0;color:var(--bnv-tan)}

/* Promise split */
.bn-promise .wp-block-columns{align-items:center;gap:40px}
.bn-promise figure img{border-radius:6px;width:100%;aspect-ratio:4/5;object-fit:cover}
.bn-dl{list-style:none!important;margin:20px 0 24px!important;padding:0!important;border-top:1px solid var(--bnv-line)}
.bn-dl li{padding:16px 0!important;border-bottom:1px solid var(--bnv-line);margin:0!important}
.bn-dl li:before{display:none!important}
.bn-dl li strong{display:block;color:var(--bnv-rust);font-size:1.05em;margin-bottom:2px}

/* Heritage band */
.bn-heritage.bn-dark{background:var(--bnv-dark);color:var(--bnv-tan)}
.bn-heritage .bn-heritage__inner{max-width:820px}
.bn-heritage h2{color:var(--bnv-cream)!important}
.bn-heritage a{color:var(--bnv-cream)}
.bn-note{border-left:3px solid var(--bnv-copper);padding:4px 0 4px 18px}
.bn-heritage .wp-block-button__link{background:transparent;color:var(--bnv-cream);border:2px solid var(--bnv-cream);border-radius:30px;text-decoration:none}

/* Guide helper */
.bn-guide .wp-block-columns{align-items:flex-start;gap:40px}
.bn-guide__item{border-top:1px solid var(--bnv-line);padding-top:18px;margin-bottom:24px}
.bn-guide__item h3{margin:0 0 6px}

/* Product page additions */
.bn-keyspecs{list-style:none!important;margin:6px 0 18px!important;padding:0!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;border-top:1px solid var(--bnv-line)}
.bn-keyspecs li{margin:0!important;padding:9px 0!important;border-bottom:1px solid var(--bnv-line);display:flex;justify-content:space-between;gap:12px;font-size:.92em}
.bn-keyspecs li:before{display:none!important}
.bn-keyspecs li span:first-child{color:var(--bnv-muted)}
.bn-keyspecs li span:last-child{font-weight:700;text-align:right}
.bn-assure{margin:18px 0 0!important;padding:16px 18px!important;background:rgba(255,255,255,.45);border:1px solid var(--bnv-line);border-radius:6px;list-style:none!important;font-size:.92em}
.bn-assure li{margin:0 0 6px!important;padding-left:20px!important;position:relative}
.bn-assure li:before{content:""!important;position:absolute;left:2px;top:.55em;width:8px;height:8px;border:2px solid var(--bnv-rust);transform:rotate(45deg);background:none!important}
.bn-helplinks,.bn-disclaimer{font-size:.85em;color:var(--bnv-muted)}
.bn-disclaimer{border-top:1px solid var(--bnv-line);padding-top:14px;margin-top:20px}
.bn-cat-bottom{max-width:820px;margin:56px auto 0;padding-top:36px;border-top:1px solid var(--bnv-line)}
.bn-cat-bottom table,.bn-page table{width:100%;border-collapse:collapse;margin:16px 0}
.bn-cat-bottom th,.bn-cat-bottom td{border-bottom:1px solid var(--bnv-line);padding:10px 8px;text-align:left}
.bn-age-row{margin:14px 0}

@media (max-width:781px){
 .bn-hero--banner{display:block;min-height:0}
 .bn-hero--banner>.wp-block-group__inner-container{display:flex;flex-direction:column}
 .bn-hero--banner .bn-hero__bg{position:relative;inset:auto;order:2}
 .bn-hero--banner .bn-hero__bg img{height:auto;aspect-ratio:3/2;object-position:84% 60%}
 .bn-hero--banner .bn-hero__inner{order:1;padding-top:36px;padding-bottom:32px}
 .bn-hero--banner:after{display:none}
 .bn-trust ul{justify-content:flex-start}
 .bn-bento__grid>.wp-block-group__inner-container,.bn-bento__grid:not(:has(>.wp-block-group__inner-container)){grid-template-columns:1fr}
 .bn-tile,.bn-tile--lg{grid-row:auto;min-height:300px}
 .bn-keyspecs{grid-template-columns:1fr}
}

/* Vintclub page-header title: keep long product and page names inside the banner */
.header_box.bg_page_header .page_title .title h1{font-size:clamp(2rem,4.2vw,3.8rem)!important;line-height:1.04!important;max-width:980px;margin-left:auto;margin-right:auto;overflow-wrap:break-word}
.single-product .header_box.bg_page_header .page_title .title h1,.tax-product_cat .header_box.bg_page_header .page_title .title h1{font-size:clamp(1.6rem,3vw,2.7rem)!important}
@media (max-width:781px){.header_box.bg_page_header .page_title .title h1{font-size:clamp(1.5rem,7vw,2.2rem)!important}}
.woocommerce table.shop_attributes td,.woocommerce table.shop_attributes td p{color:#333!important;font-style:normal!important;text-transform:none!important;opacity:1!important}
.woocommerce table.shop_attributes th{text-transform:none!important;color:#281e1a!important}
.header_box.bg_page_header .page_title{padding-top:70px}
