.lbdf,
.lbdf-buy-page,
.lbdf-careers {
    --lbdf-white: #fff;
    --lbdf-ink: #161616;
    --lbdf-muted: #6f706d;
    --lbdf-line: #e6e6e3;
    --lbdf-green: #a8ad5f;
    font: inherit;
}

.lbdf, .lbdf *, .lbdf-buy-page, .lbdf-buy-page *, .lbdf-careers, .lbdf-careers * { box-sizing: border-box; }
.lbdf { width:100%; background:#fff; color:var(--lbdf-ink); }
.lbdf a { color:inherit; text-decoration:none; transition:opacity .2s ease, transform .2s ease; }
.lbdf a:hover { opacity:.62; }
.lbdf__shell { width:min(1440px, calc(100% - 64px)); margin:0 auto; }
.lbdf__eyebrow { display:block; text-transform:uppercase; letter-spacing:.12em; font-size:12px; line-height:1.2; font-weight:700; color:var(--lbdf-green); }

/* Conventional footer first */
.lbdf__main { background:#fff; border-top:1px solid var(--lbdf-line); border-bottom:1px solid var(--lbdf-line); }
.lbdf__columns { display:grid; grid-template-columns:minmax(210px,1.55fr) repeat(5,minmax(112px,1fr)); gap:38px; align-items:start; padding:42px 0 40px; }
.lbdf__brand-column { min-width:0; }
.lbdf__logo { display:inline-block; max-width:190px; margin-bottom:15px; }
.lbdf__logo--faded { opacity:.28; transition:opacity .2s ease; }
.lbdf__logo--faded:hover { opacity:.42; }
.lbdf__logo-image { display:block; width:auto; max-width:190px; max-height:70px; object-fit:contain; }
.lbdf__wordmark { display:inline-block; font-size:26px; font-weight:700; margin-bottom:16px; }
.lbdf__address { display:flex; flex-direction:column; gap:2px; margin:0 0 16px; font-style:normal; font-size:14px; line-height:1.45; color:#323232; }
.lbdf__contact-line { display:grid; grid-template-columns:38px 1fr; gap:6px; font-size:14px; line-height:1.55; margin-top:5px; }
.lbdf__nav-column { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
.lbdf__nav-column h3 { margin:0 0 8px; font:inherit; font-size:14px; font-weight:700; line-height:1.15; text-transform:uppercase; letter-spacing:.02em; color:#111; }
.lbdf__nav-column a { font-size:13.5px; line-height:1.35; color:#363636; }

/* Compact black rail below conventional lists */
.lbdf__rail { background:#111; color:#fff; }
.lbdf__rail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.lbdf__rail-card { min-width:0; padding:22px 28px 21px; border-right:1px solid rgba(255,255,255,.12); display:flex; flex-direction:column; gap:5px; color:#fff !important; }
.lbdf__rail-card:last-child { border-right:0; }
.lbdf__rail-card strong { font:inherit; font-weight:650; font-size:21px; line-height:1.1; letter-spacing:-.02em; margin-top:2px; }
.lbdf__rail-card > span:last-child { color:rgba(255,255,255,.62); font-size:13.5px; line-height:1.4; }
.lbdf__rail-card b { color:var(--lbdf-green); font-size:16px; }
.lbdf__rail-card:hover { opacity:1 !important; background:#171717; }
.lbdf__rail-card:hover b { display:inline-block; transform:translateX(3px); }

/* Existing-style copyright/payment row */
.lbdf__bottom { background:#fafafa; }
.lbdf__bottom-grid { min-height:64px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:32px; }
.lbdf__copyright { font-size:12.5px; color:#5e5e5b; }
.lbdf__payments { display:flex; align-items:center; justify-content:flex-end; gap:16px; color:#777; }
.lbdf__payments-label { font-size:12.5px; margin-right:8px; }
.lbdf__payment-mark { font-size:14px; font-weight:700; letter-spacing:-.03em; white-space:nowrap; }

/* Careers page */
.lbdf-careers { background:#fff; color:var(--lbdf-ink); }
.lbdf-careers > section { width:min(1280px, calc(100% - 48px)); margin:0 auto; }
.lbdf-careers__hero { padding:72px 0 54px; }
.lbdf-careers__hero h1 { font:inherit; font-size:clamp(44px,6vw,78px); line-height:.96; letter-spacing:-.04em; margin:12px 0 22px; max-width:12ch; }
.lbdf-careers__hero p { max-width:68ch; font-size:19px; line-height:1.55; color:#4b4b48; }
.lbdf-careers__notice { width:100% !important; padding:34px max(24px, calc((100% - 1280px)/2)); background:#111; color:#fff; display:grid; grid-template-columns:minmax(220px,.75fr) 1.4fr; gap:46px; align-items:center; }
.lbdf-careers__notice h2 { margin:6px 0 0; font:inherit; font-size:31px; line-height:1; }
.lbdf-careers__notice p { margin:0; color:rgba(255,255,255,.7); font-size:15px; line-height:1.6; }
.lbdf-careers__grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; padding:64px 0; }
.lbdf-careers h2 { font:inherit; font-size:clamp(30px,3vw,44px); line-height:1.05; margin:0 0 20px; letter-spacing:-.025em; }
.lbdf-careers__grid li { margin:0 0 11px; line-height:1.45; }
.lbdf-careers__grid p { line-height:1.65; color:#4b4b48; }
.lbdf-careers__unitemps a { color:var(--lbdf-green); font-weight:700; }
.lbdf-careers__form { border-top:1px solid var(--lbdf-line); padding:58px 0 78px; display:grid; grid-template-columns:minmax(260px,.8fr) 1.25fr; gap:70px; align-items:start; }
.lbdf-careers__form-intro p { max-width:46ch; line-height:1.65; color:#4b4b48; }
.lbdf-careers__form-wrap { min-width:0; }
.lbdf-careers__form-wrap input:not([type="submit"]), .lbdf-careers__form-wrap textarea, .lbdf-careers__form-wrap select { width:100%; border:1px solid #d7d7d2; background:#fff; border-radius:0; padding:11px 12px; }
.lbdf-careers__form-wrap input[type="submit"], .lbdf-careers__form-wrap button { background:#111; color:#fff; border:0; border-radius:0; padding:12px 18px; font-weight:700; cursor:pointer; }
.lbdf-careers__form-wrap input[type="submit"]:hover, .lbdf-careers__form-wrap button:hover { background:var(--lbdf-green); }

/* Buying page */
.lbdf-buy-page { background:#fff; color:#151515; }
.lbdf-buy-page > section { width:min(1280px, calc(100% - 48px)); margin:0 auto; }
.lbdf-buy-page__hero { padding:72px 0 48px; }
.lbdf-buy-page__hero h1 { font:inherit; font-size:clamp(50px,7vw,94px); line-height:.9; margin:12px 0 24px; max-width:10ch; }
.lbdf-buy-page__lead { font-size:clamp(20px,2vw,30px); line-height:1.25; max-width:36ch; }
.lbdf-buy-page__statement { background:#111; color:#fff; width:100% !important; padding:42px max(24px, calc((100% - 1280px)/2)); margin-top:18px !important; }
.lbdf-buy-page__statement strong { display:block; font-size:clamp(36px,5vw,66px); line-height:.92; }
.lbdf-buy-page__statement p { max-width:62ch; color:#c9c9c5; font-size:17px; }
.lbdf-buy-page__grid { display:grid; grid-template-columns:1fr 1fr; gap:54px; padding:64px 0; }
.lbdf-buy-page h2 { font:inherit; font-size:clamp(30px,3.5vw,48px); line-height:1; margin:0 0 22px; }
.lbdf-buy-page li { margin:0 0 12px; }
.lbdf-buy-page__international,.lbdf-buy-page__process { padding:54px 0; border-top:1px solid #ddd; }
.lbdf-buy-page__process ol { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding-left:22px; }
.lbdf-buy-page__process li { padding-right:16px; }
.lbdf-buy-page__cta { margin-top:36px !important; padding:56px 0 72px; border-top:1px solid #ddd; }
.lbdf__cta { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:0 15px; border:1px solid currentColor; white-space:nowrap; font-size:12px; font-weight:650; text-transform:uppercase; letter-spacing:.05em; }
.lbdf__cta::after { content:'→'; margin-left:9px; }
.lbdf__cta--dark { color:#111 !important; border-color:#111; margin-top:12px; }

@media (max-width:1180px) {
    .lbdf__columns { grid-template-columns:1.5fr repeat(3,1fr); }
}

@media (max-width:800px) {
    .lbdf__shell { width:min(100% - 32px,1440px); }
    .lbdf__columns { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; padding:36px 0; }
    .lbdf__brand-column { grid-column:1 / -1; }
    .lbdf__rail-grid { grid-template-columns:1fr; }
    .lbdf__rail-card { padding:20px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
    .lbdf__rail-card:last-child { border-bottom:0; }
    .lbdf__bottom-grid { grid-template-columns:1fr; gap:10px; padding:17px 0; }
    .lbdf__payments { justify-content:flex-start; flex-wrap:wrap; gap:12px; }
    .lbdf-careers > section, .lbdf-buy-page > section { width:min(100% - 32px,1280px); }
    .lbdf-careers__notice { grid-template-columns:1fr; gap:15px; }
    .lbdf-careers__grid, .lbdf-careers__form, .lbdf-buy-page__grid { grid-template-columns:1fr; gap:34px; }
    .lbdf-careers-generator__grid { grid-template-columns:1fr; gap:0; }
    .lbdf-careers-generator__actions { align-items:flex-start; flex-direction:column; }
    .lbdf-buy-page__process ol { grid-template-columns:1fr; gap:12px; }
}

@media (max-width:480px) {
    .lbdf__columns { grid-template-columns:1fr 1fr; }
    .lbdf__rail-card strong { font-size:19px; }
    .lbdf__payments-label { width:100%; }
}


/* Careers page: remove Rey/Elementor page chrome only when this shortcode owns the page. */
body.lbdf-careers-page .rey-siteContainer { padding:0 !important; }
body.lbdf-careers-page h1.rey-pageTitle.entry-title,
body.lbdf-careers-page .rey-pageTitle.entry-title { display:none !important; margin:0 !important; }
body.lbdf-careers-page .rey-siteContainer > .elementor,
body.lbdf-careers-page .rey-siteContainer > main { margin-top:0 !important; }

/* Careers enquiry generator - hands off to the site's normal Contact Form 7 page. */
.lbdf-careers-generator { width:100%; }
.lbdf-careers-generator__grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.lbdf-careers-generator label { display:block; margin:0 0 18px; color:#20201f; font-size:14px; font-weight:650; line-height:1.3; }
.lbdf-careers-generator label > span { display:block; margin:0 0 7px; }
.lbdf-careers-generator small { font:inherit; font-weight:400; color:#777; }
.lbdf-careers-generator input,
.lbdf-careers-generator select,
.lbdf-careers-generator textarea { width:100%; border:1px solid #d5d6d0; background:#fff; color:#20201f; border-radius:0; padding:13px 14px; font:inherit; font-size:15px; line-height:1.4; box-shadow:none; }
.lbdf-careers-generator textarea { resize:vertical; min-height:150px; }
.lbdf-careers-generator input:focus,
.lbdf-careers-generator select:focus,
.lbdf-careers-generator textarea:focus { outline:2px solid color-mix(in srgb, var(--lbdf-green) 55%, transparent); outline-offset:1px; border-color:var(--lbdf-green); }
.lbdf-careers-generator__actions { display:flex; align-items:center; gap:18px; margin-top:2px; }
.lbdf-careers-generator__actions button { appearance:none; border:0; border-radius:0; background:#111; color:#fff; padding:14px 18px; font:inherit; font-size:14px; font-weight:750; text-transform:uppercase; letter-spacing:.045em; cursor:pointer; white-space:nowrap; }
.lbdf-careers-generator__actions button:hover { background:var(--lbdf-green); color:#111; }
.lbdf-careers-generator__actions p { margin:0; max-width:46ch; color:#777; font-size:12.5px; line-height:1.45; }
.lbdf-careers-generator__error { margin:14px 0 0; color:#8e2d2d; font-size:13px; font-weight:650; }

/* Review block shown on Contact Form 7 after a Careers handoff. */
.lbdf-careers-cf7-review { box-sizing:border-box; max-width:100%; margin:0 0 20px; padding:14px 16px; border:1px solid #d7d9bc; border-left:4px solid var(--lbdf-green); background:#f7f7f0; color:#484e4b; font-family:inherit; line-height:1.5; }
.lbdf-careers-cf7-review strong { display:block; margin-bottom:8px; color:#666a35; }
.lbdf-careers-cf7-review pre { display:block; overflow-wrap:anywhere; white-space:pre-wrap; font:inherit; font-size:13px; background:transparent; border:0; padding:0; margin:0; }
.lbdf-careers-cf7-review p { font-size:12px; margin:10px 0 0; }
