/* Reusable v2 components. New templates can adopt these without changing legacy markup. */
.be-button { display:inline-flex; min-height:44px; align-items:center; justify-content:center; gap:.55rem; padding:.75rem 1.15rem; border:2px solid var(--be-colour-ink); border-radius:var(--be-radius-sm); background:var(--be-colour-ink); color:#fff!important; font-weight:800; line-height:1; text-decoration:none!important; transition:transform var(--be-transition), background var(--be-transition), color var(--be-transition); cursor:pointer; }
.be-button:hover { transform:translateY(-1px); }
.be-button--secondary { background:#fff; color:var(--be-colour-ink)!important; }
.be-button--quiet { border-color:transparent; background:transparent; color:var(--be-colour-ink)!important; }
.be-button--full { width:100%; }

.be-hero { position:relative; overflow:hidden; padding-block:clamp(3.5rem,8vw,7rem); background:var(--be-colour-ink); color:#fff; }
.be-hero__inner { display:grid; gap:var(--be-space-4); align-items:center; grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); }
.be-hero .be-lead { color:#e7e7e7; }
.be-hero__media img { width:100%; height:auto; border-radius:var(--be-radius-md); box-shadow:var(--be-shadow-card); }

.be-card { height:100%; padding:var(--be-space-3); border:1px solid var(--be-colour-line); border-radius:var(--be-radius-md); background:var(--be-colour-surface); box-shadow:0 1px 0 rgba(0,0,0,.03); }
.be-card--interactive { transition:transform var(--be-transition), box-shadow var(--be-transition), border-color var(--be-transition); }
.be-card--interactive:hover { transform:translateY(-3px); border-color:#aaa; box-shadow:var(--be-shadow-card); }
.be-card__title { margin:0 0 .65rem; font-size:1.2rem; }
.be-card__meta { color:var(--be-colour-muted); font-size:var(--be-size-sm); }

.be-cta { display:grid; gap:var(--be-space-3); align-items:center; padding:clamp(1.5rem,4vw,3rem); border-radius:var(--be-radius-md); background:var(--be-colour-ink); color:#fff; grid-template-columns:minmax(0,1fr) auto; }
.be-cta p { color:#e7e7e7; }
.be-cta .be-button--secondary { border-color:#fff; }

.be-logo-grid { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); }
.be-logo-tile { display:flex; min-height:110px; align-items:center; justify-content:center; padding:1rem; border:1px solid var(--be-colour-line); border-radius:var(--be-radius-sm); background:#fff; }
.be-logo-tile img { max-width:150px; max-height:58px; width:auto; height:auto; object-fit:contain; }

.be-download { display:grid; gap:var(--be-space-2); padding:var(--be-space-3); border-left:5px solid var(--be-colour-ink); background:var(--be-colour-surface-alt); }
.be-faq { border-top:1px solid var(--be-colour-line); }
.be-faq details { border-bottom:1px solid var(--be-colour-line); }
.be-faq summary { padding:1rem 2.25rem 1rem 0; font-weight:800; cursor:pointer; }
.be-faq__answer { padding:0 0 1.25rem; max-width:75ch; }

.be-form-grid { display:grid; gap:var(--be-space-2); grid-template-columns:repeat(2,minmax(0,1fr)); }
.be-field { display:grid; gap:.4rem; }
.be-field label { font-weight:800; }
.be-field input,.be-field select,.be-field textarea { width:100%; min-height:46px; padding:.7rem .8rem; border:1px solid #aaa; border-radius:var(--be-radius-sm); background:#fff; color:var(--be-colour-ink); font:inherit; }
.be-field textarea { min-height:130px; resize:vertical; }
.be-field--full { grid-column:1/-1; }
.be-status { padding:1rem; border-left:5px solid var(--be-colour-ink); background:var(--be-colour-surface-alt); }

.be-breadcrumbs { padding-block:.8rem; font-size:var(--be-size-sm); color:var(--be-colour-muted); }
.be-breadcrumbs ol { display:flex; flex-wrap:wrap; gap:.4rem; margin:0; padding:0; list-style:none; }
.be-breadcrumbs li:not(:last-child)::after { content:'/'; margin-left:.4rem; color:#999; }

@media (max-width:760px) {
  .be-hero__inner,.be-cta,.be-form-grid { grid-template-columns:1fr; }
  .be-hero { padding-block:3rem; }
  .be-cta .be-cluster { align-items:stretch; }
  .be-cta .be-button { width:100%; }
}

/* Safety Footwear v2 – stage 1 */
.footwear-v2-hero{position:relative;background:#111 var(--footwear-bg) center/cover no-repeat;color:#fff;isolation:isolate}.footwear-v2-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.78) 52%,rgba(0,0,0,.38) 100%);z-index:-1}.footwear-v2-hero-grid{min-height:620px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);align-items:center;gap:clamp(2rem,5vw,5rem);padding-top:clamp(4.5rem,8vw,7rem);padding-bottom:clamp(4.5rem,8vw,7rem)}.footwear-v2-hero-copy{max-width:800px}.footwear-v2-hero h1{font-size:clamp(2.8rem,6vw,5.4rem);line-height:.98;letter-spacing:-.045em;max-width:900px;margin:.5rem 0 1.5rem}.footwear-v2-hero-copy>p{font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.65;max-width:760px;color:rgba(255,255,255,.86)}.btn-text-light{color:#fff;text-decoration:none;font-weight:700;padding:.9rem .25rem}.footwear-v2-trust{list-style:none;padding:0;margin:2rem 0 0;display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;color:rgba(255,255,255,.82);font-size:.95rem}.footwear-v2-trust li:before{content:"✓";margin-right:.5rem;font-weight:900}.footwear-v2-hero-panel{background:rgba(255,255,255,.96);color:#111;padding:2rem;border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.28);backdrop-filter:blur(8px)}.footwear-v2-hero-panel strong{display:block;font-size:1.55rem;line-height:1.2;margin:.45rem 0 .8rem}.panel-kicker,.wizard-step-label{display:inline-block;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:#555}.footwear-wizard-section{background:#f4f4f2}.footwear-wizard-heading{align-items:end}.wizard-progress{width:min(320px,100%);background:#ddd;height:8px;border-radius:99px;position:relative;margin-bottom:1.2rem}.wizard-progress-bar{position:absolute;inset:0 auto 0 0;width:20%;background:#111;border-radius:99px;transition:width .25s ease}.wizard-progress b{display:block;padding-top:14px;font-size:.85rem}.footwear-wizard{background:#fff;border:1px solid #deded9;border-radius:20px;padding:clamp(1.25rem,3vw,2.5rem);box-shadow:0 18px 50px rgba(0,0,0,.07)}.wizard-step h3{font-size:clamp(1.55rem,3vw,2.25rem);margin:.45rem 0 1.5rem}.wizard-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.wizard-choice,.wizard-check{position:relative;cursor:pointer}.wizard-choice input,.wizard-check input{position:absolute;opacity:0}.wizard-choice span,.wizard-check span{display:flex;align-items:center;min-height:76px;padding:1rem 1.1rem;border:2px solid #deded9;border-radius:12px;font-weight:750;background:#fff;transition:.18s ease}.wizard-choice input:focus-visible+span,.wizard-check input:focus-visible+span{outline:3px solid #777;outline-offset:3px}.wizard-choice input:checked+span,.wizard-check input:checked+span{border-color:#111;background:#111;color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.16)}.wizard-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.wizard-form-grid label,.footwear-wide{font-weight:750}.wizard-form-grid select,.wizard-form-grid input,.footwear-wide textarea{display:block;width:100%;margin-top:.5rem;min-height:52px;border:1px solid #bbb;border-radius:9px;padding:.8rem;background:#fff}.wizard-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.wizard-check span{min-height:58px;font-size:.92rem}.wizard-controls{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e5e0}.footwear-v2-result{margin-top:2rem;padding:clamp(1.25rem,3vw,2rem);background:#f4f4f2;border-radius:16px;display:grid;grid-template-columns:1.4fr .6fr;gap:2rem}.footwear-v2-result[hidden]{display:none}.footwear-spec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.footwear-spec>div{background:#fff;border:1px solid #ddd;border-radius:10px;padding:.85rem 1rem}.footwear-spec dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#666;font-weight:800}.footwear-spec dd{margin:.3rem 0 0;font-weight:750}.footwear-benefit-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:3rem;align-items:center}.footwear-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.footwear-benefits div{background:#fff;border:1px solid #ddd;border-radius:12px;padding:1.2rem;display:flex;gap:.7rem;align-items:center}.footwear-benefits span{font-weight:900}.footwear-brand-grid-v2 span{min-height:72px;display:flex;align-items:center;justify-content:center;font-weight:800;border:1px solid #ddd;background:#fff;border-radius:10px;padding:1rem;text-align:center}
@media(max-width:900px){.footwear-v2-hero-grid{grid-template-columns:1fr;min-height:auto}.footwear-v2-hero-panel{max-width:520px}.wizard-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-form-grid{grid-template-columns:1fr}.wizard-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footwear-v2-result,.footwear-benefit-grid{grid-template-columns:1fr}}
@media(max-width:600px){.footwear-v2-hero h1{font-size:2.65rem}.hero-actions{align-items:stretch}.hero-actions .btn,.hero-actions a{text-align:center}.footwear-v2-trust{display:grid;grid-template-columns:1fr 1fr}.wizard-choice-grid,.wizard-check-grid,.footwear-spec,.footwear-benefits{grid-template-columns:1fr}.wizard-controls{position:sticky;bottom:0;background:#fff;padding-bottom:.25rem}.footwear-wizard-heading{display:block}.wizard-progress{margin-top:1.5rem}}
@media print{body *{visibility:hidden}.footwear-v2-result,.footwear-v2-result *{visibility:visible}.footwear-v2-result{position:absolute;left:0;top:0;width:100%;display:block!important}.footwear-v2-result aside{display:none}}

/* Stage 1.1: ensure wizard controls obey the HTML hidden attribute.
   Author button display rules can otherwise override the browser default. */
.footwear-wizard [hidden],
.footwear-wizard button[hidden],
.footwear-v2-result[hidden] {
  display: none !important;
}

/* Safety Footwear v2 – stage 2 recommendation engine */
.wizard-help{max-width:780px;margin:-.7rem 0 1.4rem;color:#5d5d5d}.wizard-form-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.recommendation-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding-bottom:1.25rem;border-bottom:1px solid #ddd}.recommendation-header h3{margin:.2rem 0 0;font-size:clamp(1.6rem,3vw,2.25rem)}.recommendation-check{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#111;color:#fff;font-size:1.5rem;font-weight:900}.recommendation-confidence{display:inline-flex;align-items:center;min-height:34px;padding:.45rem .75rem;border-radius:99px;background:#e7f3e8;color:#174d20;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.recommendation-confidence[data-level="medium"]{background:#fff1d8;color:#76500b}.recommendation-summary{font-size:1.08rem;line-height:1.65;margin:1.25rem 0 1.4rem}.recommendation-reason,.recommendation-brands{margin-top:1.25rem;padding:1.1rem 1.2rem;border-left:4px solid #111;background:#fff}.recommendation-reason h4,.recommendation-brands h4{margin:0 0 .45rem;font-size:1rem;text-transform:uppercase;letter-spacing:.04em}.recommendation-reason p{margin:0;color:#444}.recommendation-brand-list{display:flex;flex-wrap:wrap;gap:.55rem}.recommendation-brand-list span{padding:.55rem .75rem;border:1px solid #cfcfcf;border-radius:7px;background:#f8f8f6;font-weight:800;font-size:.9rem}.recommendation-actions{align-self:start;padding:1.35rem;background:#111;color:#fff;border-radius:12px}.recommendation-actions strong{display:block;font-size:1.25rem}.recommendation-actions p{color:#ddd}.recommendation-actions .btn{width:100%;margin-top:.65rem}.recommendation-actions .btn-outline{background:#fff;color:#111;border-color:#fff}.recommendation-catalogue-link{display:block;margin:1rem 0;color:#fff;font-weight:800;text-decoration:underline}.recommendation-actions small{display:block;color:#bdbdbd;line-height:1.5}.recommendation-main{min-width:0}
@media(max-width:700px){.wizard-form-grid-two{grid-template-columns:1fr}.recommendation-header{grid-template-columns:auto 1fr}.recommendation-confidence{grid-column:1/-1;justify-self:start}.recommendation-check{width:42px;height:42px}.recommendation-actions{margin-top:.5rem}}


/* Milestone 2: technical recommendation experience */
.recommendation-reference{margin:.35rem 0 0;color:#666;font-size:.86rem}.recommendation-reference strong{color:#111;letter-spacing:.04em}.recommendation-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.recommendation-product-card{display:flex;flex-direction:column;align-items:flex-start;min-height:230px;padding:1rem;border:1px solid #d5d5d0;border-radius:12px;background:#fff}.recommendation-product-card>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#666;font-weight:800}.recommendation-product-card h5{font-size:1.3rem;margin:.35rem 0 .15rem}.recommendation-product-card>strong{font-size:.95rem}.recommendation-product-card p{font-size:.88rem;color:#555;line-height:1.5}.recommendation-product-card .btn{margin-top:auto;width:100%}.footwear-home-feature{background:#111;color:#fff}.footwear-home-feature-inner{display:grid;grid-template-columns:1.4fr .6fr;gap:3rem;align-items:center}.footwear-home-feature h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.02;text-transform:uppercase;margin:.5rem 0 1rem}.footwear-home-feature p{color:#d2d2d2;max-width:760px;font-size:1.08rem}.footwear-home-feature aside{display:grid;gap:.75rem;padding:1.5rem;border:1px solid #444;background:#181818}.footwear-home-feature aside strong{font-size:1.25rem;text-transform:uppercase}.footwear-home-feature aside span:before{content:'✓';font-weight:900;margin-right:.65rem}.footwear-home-feature .btn-ghost{border-color:#fff;color:#fff}
@media(max-width:800px){.recommendation-product-grid,.footwear-home-feature-inner{grid-template-columns:1fr}}
@media print{.recommendation-reference{display:block!important}.recommendation-product-card .btn,.recommendation-actions{display:none!important}.recommendation-product-grid{grid-template-columns:repeat(2,1fr)}}


/* Milestone 4 test 1: advisor narrative and alternatives */
.recommendation-advice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:1.25rem}.recommendation-advice{padding:1rem;border:1px solid #d7d7d2;border-radius:10px;background:#fff}.recommendation-advice h4{margin:0 0 .5rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em}.recommendation-advice p{margin:0;color:#4d4d4d;font-size:.9rem;line-height:1.55}.recommendation-guidance{margin-top:1.25rem;padding:1.15rem 1.25rem;border:1px solid #111;border-radius:10px;background:#111;color:#fff}.recommendation-guidance strong{font-size:1.05rem}.recommendation-guidance p{margin:.35rem 0 0;color:#ddd}.recommendation-copy{margin-left:.4rem;padding:.25rem .5rem;border:1px solid #bbb;border-radius:5px;background:#fff;color:#111;font-size:.72rem;font-weight:800;cursor:pointer}.recommendation-copy:hover{background:#111;color:#fff;border-color:#111}
@media(max-width:850px){.recommendation-advice-grid{grid-template-columns:1fr}}
@media print{.recommendation-copy{display:none!important}.recommendation-advice-grid{grid-template-columns:repeat(3,1fr)}.recommendation-guidance{background:#fff!important;color:#111!important;border-color:#111}.recommendation-guidance p{color:#333!important}}
/* Bearing Finder - Beta 5 Milestone 1 */
.bearing-hero{min-height:590px;background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.46)),var(--bearing-bg) center/cover;color:#fff;display:flex;align-items:center}.bearing-hero-grid{display:grid;grid-template-columns:1.55fr .65fr;gap:55px;align-items:center;padding:90px 0}.bearing-hero h1{font-size:clamp(52px,7vw,86px);line-height:.94;text-transform:uppercase;margin:16px 0 24px}.bearing-hero p{font-size:19px;max-width:760px;color:#ddd}.bearing-hero aside{background:#fff;color:#111;padding:30px;border-top:5px solid #111}.bearing-hero aside strong{font-size:22px;text-transform:uppercase}.bearing-hero aside p{color:#555;font-size:15px}.bearing-hero aside ul{padding-left:20px}.bearing-heading{align-items:end}.bearing-route-panel{border:1px solid #ddd;background:#fafafa;padding:26px}.bearing-route-panel label{display:grid;gap:8px;font-weight:800}.bearing-route-panel input,.bearing-route-panel textarea{width:100%;padding:15px;border:1px solid #aaa;background:#fff}.wizard-form-grid-three{grid-template-columns:repeat(3,1fr)}.bearing-brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.bearing-brand-grid span{padding:14px;border:1px solid #ccc;text-align:center;font-weight:800;background:#fff}.bearing-warning{margin-top:22px;padding:20px;background:#f4f4f4;border-left:5px solid #111}.bearing-warning ul{margin:8px 0 0;padding-left:20px}.bearing-info-grid article{background:#fff;border-top:4px solid #111;padding:24px}.bearing-info-grid h3{text-transform:uppercase;margin-top:0}.bearing-info-grid p{color:#666;margin-bottom:0}@media(max-width:800px){.bearing-hero-grid{grid-template-columns:1fr;padding:70px 0}.bearing-hero aside{display:none}.wizard-form-grid-three,.bearing-brand-grid{grid-template-columns:1fr}.bearing-hero{min-height:auto}}@media print{.bearing-hero,.bearing-wizard-section>.wrap>.section-heading,.bearing-wizard .wizard-step,.bearing-wizard .wizard-controls,.bearing-page>.section.alt,.site-header,.site-footer{display:none!important}.bearing-result{display:grid!important;border:0!important}.bearing-result .recommendation-actions{display:none!important}}

/* Bearing Finder Milestone 1.1 integration */
.tech-feature-link{font-weight:900!important;background:#fff!important;color:#111!important}
.technical-feature-section{padding:34px 0 0;background:#f3f3f3}
.technical-feature-card{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;background:#fff;border:1px solid #d5d5d5;border-top:6px solid #111;padding:34px}
.technical-feature-card h2{font-size:clamp(30px,4vw,48px);text-transform:uppercase;margin:8px 0 12px}
.technical-feature-card p{max-width:820px;color:#555;margin:0}
.technical-feature-actions{display:grid;gap:10px;text-align:center;min-width:220px}
.technical-feature-actions span{font-size:13px;color:#666}
@media(max-width:800px){.technical-feature-card{grid-template-columns:1fr;gap:24px;padding:25px}.technical-feature-actions{min-width:0;text-align:left}}

/* Bearing Finder Milestone 2: parser, dimensional candidates and cross-references */
.bearing-result-section{margin-top:1.25rem;padding:1.15rem;border:1px solid #d6d6d1;border-radius:10px;background:#f8f8f6}
.bearing-result-section h4{margin:0 0 .7rem;text-transform:uppercase;font-size:.95rem;letter-spacing:.05em}
.bearing-section-note{margin:-.25rem 0 .85rem;color:#5b5b5b;font-size:.88rem}
.bearing-match-grid,.bearing-equivalent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.bearing-match-grid article,.bearing-equivalent-grid article{display:flex;flex-direction:column;gap:.25rem;padding:.9rem;border:1px solid #d0d0cb;border-radius:8px;background:#fff}
.bearing-match-grid strong,.bearing-equivalent-grid strong{font-size:1.05rem}.bearing-match-grid span,.bearing-equivalent-grid span{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#555;font-weight:800}.bearing-match-grid small,.bearing-equivalent-grid small{color:#666;line-height:1.4}
.bearing-brand-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.bearing-brand-grid-compact span{padding:.55rem;font-size:.78rem}
.recommendation-advice ul{margin:.4rem 0 0;padding-left:1.1rem}.recommendation-advice li{margin:.35rem 0;color:#444;font-size:.88rem;line-height:1.45}
@media(max-width:850px){.bearing-match-grid,.bearing-equivalent-grid{grid-template-columns:1fr}.bearing-brand-grid-compact{grid-template-columns:1fr}}
@media print{.bearing-result-section{break-inside:avoid}.bearing-match-grid,.bearing-equivalent-grid{grid-template-columns:repeat(3,1fr)}}
