/* France-AJ-inspired visual refresh for Trading-B BV.
 * Uses Trading-B BV branding/content only; no third-party brand assets or copy.
 */

:root {
  --tbbv-ink: #14231f;
  --tbbv-green: #123f34;
  --tbbv-green-2: #1f5a49;
  --tbbv-gold: #d7a34a;
  --tbbv-cream: #f7f5ee;
  --tbbv-line: #e6e3d9;
  --tbbv-muted: #66736e;
}

body.tbbv-site { background:#fff; color:var(--tbbv-ink); }
.tbbv-topline { background:#0f312a; color:#fff; }
.tbbv-topline__inner { min-height:42px; }
.tbbv-topline__group { gap:22px; }
.tbbv-header { background:rgba(255,255,255,.97); border-bottom:1px solid #eceae4; box-shadow:0 6px 24px rgba(20,35,31,.04); }
.tbbv-header__inner { min-height:92px; gap:28px; }
.tbbv-brand__logo { width:205px; max-height:68px; }
.tbbv-nav { gap:24px; }
.tbbv-nav > a,.tbbv-nav__dropdown > a { font-size:12px; text-transform:uppercase; letter-spacing:.07em; font-weight:800; color:#263731; }
.tbbv-nav a:hover { color:var(--tbbv-gold); }
.tbbv-nav__dropdown { position:relative; display:flex; align-items:center; min-height:92px; }
.tbbv-nav__mega { top:calc(100% - 8px); border:1px solid #e6e2d7; border-radius:14px; box-shadow:0 24px 60px rgba(14,42,35,.14); }
.tbbv-nav__mega::before { content:""; position:absolute; left:0; right:0; top:-14px; height:14px; }
.tbbv-phone strong { color:var(--tbbv-green); }
.tbbv-button { border-radius:7px; min-height:50px; padding-inline:24px; background:var(--tbbv-green); border-color:var(--tbbv-green); text-transform:uppercase; letter-spacing:.05em; font-size:11px; }
.tbbv-button:hover { background:#0b2e26; }
.tbbv-button--outline { background:#fff; color:var(--tbbv-green)!important; }

/* Homepage hero */
.ref-hero { position:relative; min-height:690px; overflow:hidden; background:#102e27; color:#fff; }
.ref-hero__slides,.ref-hero__slide,.ref-hero__shade { position:absolute; inset:0; }
.ref-hero__slide { opacity:0; animation:refHeroFade 21s infinite; }
.ref-hero__slide:nth-child(1) { opacity:1; animation-delay:0s; }
.ref-hero__slide:nth-child(2) { animation-delay:7s; }
.ref-hero__slide:nth-child(3) { animation-delay:14s; }
.ref-hero__slide img { width:100%; height:100%; object-fit:cover; }
.ref-hero__shade { background:linear-gradient(90deg,rgba(8,31,25,.90) 0%,rgba(8,31,25,.76) 39%,rgba(8,31,25,.25) 70%,rgba(8,31,25,.15) 100%),linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.25)); }
.ref-hero__inner { position:relative; z-index:3; min-height:690px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.6fr); align-items:center; gap:72px; padding-block:86px; }
.ref-eyebrow { display:inline-flex; align-items:center; gap:10px; margin-bottom:18px; color:#f2ca83; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.18em; }
.ref-eyebrow::before { content:""; width:32px; height:2px; background:var(--tbbv-gold); }
.ref-hero h1 { margin:0; max-width:850px; color:#fff; font-size:clamp(52px,6.3vw,88px); line-height:.98; }
.ref-hero__lead { max-width:670px; margin:25px 0 0; color:rgba(255,255,255,.82); font-size:17px; }
.ref-hero__actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }
.ref-hero .tbbv-button { background:var(--tbbv-gold); border-color:var(--tbbv-gold); color:#173329!important; }
.ref-hero .tbbv-button--outline { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.42); color:#fff!important; }
.ref-hero__panel { background:rgba(255,255,255,.94); color:var(--tbbv-ink); border-radius:16px; padding:28px; box-shadow:0 25px 70px rgba(0,0,0,.18); backdrop-filter:blur(10px); }
.ref-hero__panel small { display:block; color:var(--tbbv-gold); font-weight:800; text-transform:uppercase; letter-spacing:.13em; margin-bottom:10px; }
.ref-hero__panel h2 { margin:0; font-size:31px; color:var(--tbbv-green); }
.ref-hero__panel p { margin:12px 0 18px; color:#66736e; font-size:13px; }
.ref-hero__panel ul { list-style:none; padding:0; margin:0 0 20px; }
.ref-hero__panel li { padding:10px 0; border-top:1px solid #e8e5dc; font-size:12px; font-weight:700; }
.ref-hero__panel li::before { content:"✓"; margin-right:8px; color:var(--tbbv-gold); }
@keyframes refHeroFade { 0%,28%{opacity:1} 33%,95%{opacity:0} 100%{opacity:1} }

.ref-category-strip { margin-top:-1px; background:#fff; border-bottom:1px solid var(--tbbv-line); }
.ref-category-strip__grid { display:grid; grid-template-columns:repeat(4,1fr); }
.ref-mini-cat { min-height:150px; padding:26px; border-right:1px solid var(--tbbv-line); text-decoration:none; display:flex; flex-direction:column; justify-content:space-between; transition:background .2s ease,transform .2s ease; }
.ref-mini-cat:last-child { border-right:0; }
.ref-mini-cat:hover { background:var(--tbbv-cream); }
.ref-mini-cat__num { font-size:11px; color:#a48042; font-weight:800; letter-spacing:.15em; }
.ref-mini-cat h3 { margin:10px 0 3px; font-size:27px; color:var(--tbbv-green); }
.ref-mini-cat span { font-size:12px; color:var(--tbbv-muted); }

.ref-section { padding:92px 0; }
.ref-section--soft { background:var(--tbbv-cream); }
.ref-section--dark { background:#0f3028; color:#fff; }
.ref-section__head { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:42px; }
.ref-section__head h2 { margin:0; color:var(--tbbv-green); font-size:clamp(38px,4.7vw,62px); max-width:760px; }
.ref-section__head p { margin:0; max-width:470px; color:var(--tbbv-muted); font-size:14px; }
.ref-section--dark .ref-section__head h2 { color:#fff; }
.ref-section--dark .ref-section__head p { color:rgba(255,255,255,.66); }

.ref-category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.ref-category-card { display:block; overflow:hidden; border-radius:12px; border:1px solid #e8e4db; background:#fff; text-decoration:none; transition:transform .25s ease,box-shadow .25s ease; }
.ref-category-card:hover { transform:translateY(-5px); box-shadow:0 18px 40px rgba(18,63,52,.10); }
.ref-category-card__image { position:relative; height:205px; overflow:hidden; background:#e7e7e1; }
.ref-category-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.ref-category-card:hover img { transform:scale(1.045); }
.ref-category-card__body { padding:20px; }
.ref-category-card__body small { color:#a27b38; text-transform:uppercase; letter-spacing:.12em; font-size:9px; font-weight:800; }
.ref-category-card__body h3 { margin:5px 0 8px; color:var(--tbbv-green); font-size:25px; }
.ref-category-card__body p { margin:0; color:#76817d; font-size:12px; }

.ref-trade-feature { display:grid; grid-template-columns:1.05fr .95fr; min-height:520px; background:#fff; }
.ref-trade-feature__media { min-height:520px; overflow:hidden; }
.ref-trade-feature__media img { width:100%; height:100%; object-fit:cover; }
.ref-trade-feature__content { padding:64px; display:flex; flex-direction:column; justify-content:center; }
.ref-trade-feature__content h2 { margin:0; color:var(--tbbv-green); font-size:clamp(40px,4.5vw,60px); }
.ref-trade-feature__content p { color:#66736e; font-size:15px; }
.ref-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:26px 0 30px; background:#e6e3da; border:1px solid #e6e3da; }
.ref-fact { background:#fff; padding:22px; }
.ref-fact strong { display:block; color:var(--tbbv-green); font-family:"DM Serif Display",serif; font-size:28px; font-weight:400; }
.ref-fact span { display:block; color:#77827e; font-size:11px; margin-top:4px; }

.ref-buyer-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ref-buyer-card { padding:28px; background:#fff; border:1px solid #e8e5dc; border-radius:10px; }
.ref-buyer-card__icon { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#eef4f1; color:var(--tbbv-green); font-weight:900; }
.ref-buyer-card h3 { margin:22px 0 8px; color:var(--tbbv-green); font-size:26px; }
.ref-buyer-card p { margin:0; color:#74807b; font-size:13px; }

.ref-process { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid rgba(255,255,255,.16); }
.ref-process__item { min-height:300px; padding:30px; border-right:1px solid rgba(255,255,255,.16); }
.ref-process__item:last-child { border-right:0; }
.ref-process__num { color:#e8c584; font-size:12px; font-weight:800; letter-spacing:.14em; }
.ref-process__item h3 { color:#fff; font-size:29px; margin:80px 0 12px; }
.ref-process__item p { margin:0; color:rgba(255,255,255,.66); font-size:13px; }

.ref-quality { display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:center; }
.ref-quality__card { background:#fff; border:1px solid #e8e4db; border-radius:12px; padding:30px; }
.ref-quality__card + .ref-quality__card { margin-top:12px; }
.ref-quality__card strong { color:var(--tbbv-green); display:block; font-size:16px; }
.ref-quality__card span { color:#74807b; font-size:12px; }
.ref-quality h2 { margin:0 0 18px; font-size:clamp(40px,4.7vw,60px); color:var(--tbbv-green); }
.ref-quality p { color:#66736e; }

.ref-cta { background:linear-gradient(120deg,#d9a54d,#c68a31); color:#112f29; padding:72px 0; }
.ref-cta__inner { display:grid; grid-template-columns:1fr auto; align-items:center; gap:50px; }
.ref-cta h2 { margin:0; font-size:clamp(40px,4.8vw,64px); max-width:820px; }
.ref-cta p { margin:12px 0 0; max-width:650px; color:rgba(17,47,41,.76); }
.ref-cta__actions { display:flex; gap:10px; flex-direction:column; min-width:250px; }
.ref-cta .tbbv-button { background:#11382f; border-color:#11382f; }
.ref-cta .tbbv-button--outline { background:transparent; border-color:rgba(17,47,41,.42); color:#11382f!important; }

/* Commerce and inner-page alignment */
.tbbv-commerce-hero,.tbbv-page-hero { padding:64px 0 44px; background:linear-gradient(120deg,#f3f1e9,#fff); border-bottom:1px solid var(--tbbv-line); }
.tbbv-commerce-hero h1,.tbbv-page-hero h1 { color:var(--tbbv-green); font-size:clamp(44px,5.4vw,68px); }
.tbbv-category-nav { padding-top:32px; }
.tbbv-category-tile { min-height:145px; border-radius:10px; border-color:#e6e3da; box-shadow:none; }
.tbbv-category-tile:hover { border-color:#d8aa5b; box-shadow:0 14px 35px rgba(18,63,52,.08); }
.tbbv-wc-grid { gap:16px; }
.tbbv-wc-card { border-radius:10px; border-color:#e7e4dc; box-shadow:none; transition:transform .2s ease,box-shadow .2s ease; }
.tbbv-wc-card:hover { transform:translateY(-4px); box-shadow:0 16px 38px rgba(18,63,52,.08); }
.tbbv-wc-card__body { padding:18px; }
.tbbv-wc-card__title { font-size:14px; color:#20352e; }
.tbbv-wc-link { min-height:42px; border-radius:6px; background:var(--tbbv-green); text-transform:uppercase; letter-spacing:.04em; font-size:10px; }
.tbbv-wc-link--ghost { background:#f2f0e9; color:var(--tbbv-green)!important; }
.tbbv-single { padding-top:54px; }
.tbbv-single__main-image { border-radius:10px; border:1px solid #e8e5dc; }
.tbbv-single h1 { color:var(--tbbv-green); }
.tbbv-single__quote { border-radius:10px; background:var(--tbbv-green); }
.tbbv-single__cart { border-radius:10px; }
.tbbv-single__cart .quantity input.qty,.tbbv-single__cart .single_add_to_cart_button { border-radius:6px; }
.tbbv-prose { max-width:980px; }
.tbbv-prose h2,.tbbv-prose h3 { color:var(--tbbv-green); }

.tbbv-footer { background:#0b2922; }
.tbbv-footer__main { padding-top:72px; }
.tbbv-footer h2 { color:#e0b96f; }
.tbbv-footer__bottom { min-height:74px; }

@media (max-width:1100px){
  .ref-hero__inner{grid-template-columns:1fr;gap:36px;padding-block:74px}
  .ref-hero__panel{max-width:520px}
  .ref-category-grid{grid-template-columns:repeat(2,1fr)}
  .ref-trade-feature{grid-template-columns:1fr}
  .ref-trade-feature__media{min-height:390px}
  .ref-buyer-grid{grid-template-columns:repeat(2,1fr)}
  .ref-process{grid-template-columns:repeat(2,1fr)}
  .ref-process__item:nth-child(2){border-right:0}
  .ref-quality{grid-template-columns:1fr}
}

@media (max-width:980px){
  .tbbv-nav__dropdown{min-height:auto}
}

@media (max-width:760px){
  .tbbv-header__inner{min-height:78px}
  .tbbv-brand__logo{width:160px;max-height:56px}
  .ref-hero,.ref-hero__inner{min-height:620px}
  .ref-hero__inner{padding-block:58px}
  .ref-hero h1{font-size:48px}
  .ref-hero__lead{font-size:15px}
  .ref-hero__panel{padding:22px}
  .ref-category-strip__grid{grid-template-columns:1fr 1fr}
  .ref-mini-cat{min-height:130px;border-bottom:1px solid var(--tbbv-line)}
  .ref-mini-cat:nth-child(2){border-right:0}
  .ref-section{padding:68px 0}
  .ref-section__head{align-items:flex-start;flex-direction:column;margin-bottom:30px}
  .ref-category-grid{grid-template-columns:1fr}
  .ref-category-card__image{height:240px}
  .ref-trade-feature__content{padding:36px 22px}
  .ref-facts{grid-template-columns:1fr}
  .ref-buyer-grid{grid-template-columns:1fr}
  .ref-process{grid-template-columns:1fr}
  .ref-process__item{min-height:230px;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
  .ref-process__item h3{margin-top:45px}
  .ref-cta__inner{grid-template-columns:1fr;gap:30px}
  .ref-cta__actions{min-width:0;width:100%}
  .ref-cta__actions .tbbv-button{width:100%}
}

@media (prefers-reduced-motion:reduce){
  .ref-hero__slide{animation:none;opacity:0}
  .ref-hero__slide:first-child{opacity:1}
}
