🌐 Language / Region
Why Strong Products Go Silent in Europe · BRCN Studio
How it works · Failure patterns · Europe entry

Why strong products go silent in Europe.It is almost never about the product.

Asian companies with genuinely strong industrial technology products arrive in Europe — and still fail to build commercial momentum. The product is not the problem. The commercial layer around the first serious conversation is. These are the six patterns that cause it.

The core insight

European industrial markets are concentrated, relationship-driven and have long memories. A weak first impression with the best 15 contacts in DACH is not easily repaired. The product quality rarely becomes visible — because the conversation dies before the product gets a fair evaluation.

The six failure patterns

Where European market entry loses momentum — even for strong products.

These are not theoretical. They are the consistent patterns observed across Asian companies entering DACH and Western European industrial markets.

01

Wrong partner type approached first

The first outreach targets distributors when integrators, OEMs or pilot customers would have been the natural first route. European distributors need existing market demand and a proven support structure before they commit. Approaching them too early gets polite deflection — and uses up the contact.

Company contacts 20 European distributors. None convert. Company assumes “Europe doesn’t want the product.” Actual issue: the partner type was wrong from the start.
02

Broad outreach before route clarity

LinkedIn campaigns, trade fair blasts and cold email sequences start before the story, proof and support logic are ready. The message is not adapted to European partner evaluation criteria. The best contacts receive an unready story — and remember it.

50-company LinkedIn outreach with a translated Chinese marketing deck. Three polite “will forward to the team.” No follow-up. Top contacts used, route still unclear.
03

No local follow-up ownership

Interest is shown. The demo goes well. The partner says “we’ll discuss internally.” Then silence — because no one locally owns the follow-up. The right tone, the right timing and the right next step never arrive. European B2B decisions require a local follow-up owner.

Trade fair meeting goes very well. Partner visits the booth twice. Three weeks later, no follow-up from either side. Partner moves to a competitor who followed up in German within five days.
04

Unready support and proof layer

CE documentation status, warranty logic, after-sales pathway and technical documentation are not partner-ready when the first serious question arrives. European partners ask these questions in the first or second conversation. An unclear answer is a blocker — not a negotiation point.

Integrator asks: “What happens if a unit fails on a customer site in Germany?” Answer: “We will look into this.” Conversation does not continue.
05

No local bridge in first meetings

The first meeting is handled remotely, with a 3-day email delay for any technical question that goes back to Asia. The European contact cannot get answers in the right timezone, the right language or at the right pace. The relationship never builds traction.

All questions answered within 72 hours, via email, in English. Competitor answers in German within hours, with a local contact number. Which company does the partner call back?
06

No internal forwarding case built

The person at the first meeting is rarely the decision-maker. They need to forward the case internally. If the story, the proof layer and the local responsibility logic are not built for internal forwarding — it dies at that step. No one champions an incomplete case to their management.

Meeting contact says “sounds interesting, I’ll mention it to our purchasing team.” Never happens — because the contact has nothing structured to forward. The conversation was fine, the case was not.

What changes with BRCN on the ground

Each failure pattern has a specific fix.

🎯

Route logic first

BRCN identifies the right partner type before any outreach starts — so the first conversations go to the contacts who are actually likely to move.

📋

Readiness confirmed before outreach

Story, proof, support logic and partner-facing materials are reviewed before serious contacts are approached. No unready case goes to the market.

🌍

Local follow-up owner

BRCN takes ownership of follow-up in German and English — with the right tone, the right timing and the right next-step logic for each partner type.

🤝

Bridge in the first meeting

BRCN joins the first conversations as the local commercial bridge — handling questions at the right pace, in the right language, without a 72-hour delay.

📢

Forwarding case built

The case is structured for internal forwarding — story, proof, support logic and local responsibility all present before the first conversation happens.

🔁

Honest feedback loop

After every meaningful conversation, the market’s actual response is reported back — including what went well, what the objection was and what needs to change.

Recognise the pattern? Let’s get this right before it costs you.

A short intro call is enough to assess whether BRCN Studio can prevent these failure patterns in your specific situation. The first fit call is free.

--bs-lang-radius:30px; } .bs-lang-backdrop{ position:fixed; inset:0; background: radial-gradient(circle at 16% 0%, rgba(56,189,248,.26), transparent 34%), radial-gradient(circle at 86% 14%, rgba(37,99,235,.22), transparent 36%), radial-gradient(circle at 50% 95%, rgba(22,199,161,.14), transparent 36%), rgba(7,17,31,.58); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .24s ease, visibility .24s ease; z-index:2147483000; } .bs-lang-backdrop.is-active{ opacity:1; visibility:visible; pointer-events:auto; } .bs-lang-modal{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; z-index:2147483001; padding:20px; } .bs-lang-modal.is-open{ display:flex; } .bs-lang-card{ position:relative; width:min(94vw, 620px); max-height:min(88vh, 760px); overflow:auto; overscroll-behavior:contain; border-radius:var(--bs-lang-radius); padding:28px; color:var(--bs-lang-ink); background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(241,245,249,.90)); border:1px solid rgba(255,255,255,.78); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); box-shadow:var(--bs-lang-shadow); isolation:isolate; animation:bsLangFade .26s ease-out; font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; } .bs-lang-card::before{ content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; background: radial-gradient(circle at 8% 0%, rgba(56,189,248,.18), transparent 34%), radial-gradient(circle at 92% 4%, rgba(37,99,235,.16), transparent 32%), linear-gradient(135deg, rgba(255,255,255,.52), rgba(255,255,255,0)); pointer-events:none; } .bs-lang-card::after{ content:""; position:absolute; left:22px; right:22px; top:0; height:1px; background:linear-gradient(90deg, transparent, rgba(37,99,235,.34), rgba(56,189,248,.44), transparent); pointer-events:none; } @keyframes bsLangFade{ 0%{opacity:0;transform:translateY(-10px) scale(.982);} 100%{opacity:1;transform:translateY(0) scale(1);} } .bs-lang-close{ position:absolute; top:14px; right:16px; width:40px; height:40px; display:grid; place-items:center; border:none; border-radius:999px; background:rgba(255,255,255,.42); color:#64748b; font-size:30px; line-height:1; cursor:pointer; opacity:.92; transition:background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease; } .bs-lang-close:hover{ opacity:1; color:var(--bs-lang-ink); background:rgba(255,255,255,.78); transform:translateY(-1px); box-shadow:0 10px 24px rgba(15,23,42,.08); } .bs-lang-header{ text-align:center; margin:0 42px 24px; } .bs-lang-globe{ width:52px; height:52px; margin:0 auto 13px; display:grid; place-items:center; border-radius:18px; background: radial-gradient(circle at 30% 20%, rgba(255,255,255,.88), transparent 30%), linear-gradient(135deg, rgba(37,99,235,.14), rgba(56,189,248,.20)); color:var(--bs-lang-blue-2); box-shadow: inset 0 1px 0 rgba(255,255,255,.86), 0 16px 34px rgba(37,99,235,.14); } .bs-lang-globe svg{ width:26px; height:26px; display:block; } .bs-lang-kicker{ display:inline-flex; align-items:center; justify-content:center; gap:7px; margin:0 0 10px; padding:7px 11px; border-radius:999px; border:1px solid rgba(37,99,235,.13); background:rgba(255,255,255,.62); color:var(--bs-lang-blue-2); font-size:12px; line-height:1; font-weight:850; letter-spacing:.08em; text-transform:uppercase; } .bs-lang-header h3{ margin:0; color:var(--bs-lang-ink); font-size:clamp(28px, 4vw, 42px); line-height:.98; letter-spacing:-.06em; font-weight:950; } .bs-lang-sub{ max-width:460px; margin:13px auto 0; color:var(--bs-lang-muted); font-size:15.5px; line-height:1.5; font-weight:540; } .bs-lang-body{ display:block; } .bs-lang-label{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 10px; color:var(--bs-lang-ink); font-size:clamp(17px, 1.7vw, 21px); line-height:1.15; font-weight:880; letter-spacing:-.025em; } .bs-lang-label small{ color:var(--bs-lang-soft); font-size:12px; line-height:1; font-weight:750; letter-spacing:.02em; } .bs-lang-region-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 21px; } .bs-lang-region-card{ position:relative; min-height:118px; padding:17px 17px 16px; border-radius:22px; border:1px solid rgba(15,23,42,.09); background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(248,250,252,.76)); color:var(--bs-lang-ink); text-align:left; cursor:pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,.78), 0 12px 26px rgba(15,23,42,.06); overflow:hidden; isolation:isolate; transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease; } .bs-lang-region-card::before{ content:""; position:absolute; inset:-1px; z-index:-1; background: radial-gradient(circle at 18% 0%, rgba(56,189,248,.14), transparent 32%), radial-gradient(circle at 100% 0%, rgba(37,99,235,.10), transparent 36%); opacity:.75; pointer-events:none; } .bs-lang-region-card:hover{ transform:translateY(-2px); border-color:rgba(37,99,235,.20); box-shadow: inset 0 1px 0 rgba(255,255,255,.84), 0 18px 34px rgba(15,23,42,.10); } .bs-lang-region-card.is-active{ border-color:rgba(37,99,235,.34); background:linear-gradient(180deg, rgba(239,246,255,.98), rgba(255,255,255,.88)); box-shadow: inset 0 1px 0 rgba(255,255,255,.90), 0 18px 38px rgba(37,99,235,.14); } .bs-lang-region-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 12px; } .bs-lang-region-flag{ font-size:28px; line-height:1; } .bs-lang-region-dot{ width:10px; height:10px; border-radius:999px; background:rgba(100,116,139,.28); box-shadow:0 0 0 5px rgba(100,116,139,.08); transition:background .18s ease, box-shadow .18s ease; } .bs-lang-region-card.is-active .bs-lang-region-dot{ background:var(--bs-lang-green); box-shadow:0 0 0 5px rgba(22,199,161,.14); } .bs-lang-region-title{ display:block; margin:0 0 5px; color:var(--bs-lang-ink); font-size:19px; line-height:1.08; font-weight:920; letter-spacing:-.035em; } .bs-lang-region-meta{ display:block; color:var(--bs-lang-muted); font-size:13px; line-height:1.35; font-weight:620; } .bs-lang-region-codes{ display:flex; flex-wrap:wrap; gap:7px; margin:13px 0 0; } .bs-lang-region-codes .bs-lang-mini-flag{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:999px; background:rgba(255,255,255,.78); border:1px solid rgba(15,23,42,.06); box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 4px 10px rgba(15,23,42,.05); font-size:16px; line-height:1; } .bs-lang-select-wrap{ position:relative; margin-bottom:18px; } .bs-lang-select{ width:100%; min-height:66px; padding:0 56px 0 20px; border-radius:20px; border:1.5px solid rgba(15,23,42,.11); background:rgba(255,255,255,.90); color:#2f3640; font-size:clamp(17px, 1.7vw, 22px); font-weight:620; line-height:1.2; appearance:none; -webkit-appearance:none; box-shadow: inset 0 1px 2px rgba(15,23,42,.03), 0 1px 0 rgba(255,255,255,.85); font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; cursor:pointer; } .bs-lang-select:hover{ border-color:rgba(37,99,235,.22); } .bs-lang-choice{ display:flex; align-items:center; text-align:left; } .bs-lang-choice-current{ display:block; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; pointer-events:none; } .bs-lang-caret{ position:absolute; top:33px; right:22px; width:18px; height:18px; transform:translateY(-50%); pointer-events:none; } .bs-lang-caret::before{ content:""; display:block; width:0; height:0; border-left:8px solid transparent; border-right:8px solid transparent; border-top:9px solid #3f4650; transition:transform .18s ease; } .bs-lang-select-wrap.is-open .bs-lang-caret::before{ transform:rotate(180deg); } .bs-lang-menu{ display:none; margin-top:8px; max-height:278px; overflow:auto; overscroll-behavior:contain; padding:8px; border-radius:20px; border:1px solid rgba(15,23,42,.10); background:rgba(255,255,255,.98); box-shadow:0 18px 42px rgba(15,23,42,.16); } .bs-lang-select-wrap.is-open .bs-lang-menu{ display:grid; gap:6px; } .bs-lang-option{ width:100%; min-height:48px; padding:10px 12px; border:none; border-radius:14px; background:transparent; color:#111827; font-size:16px; font-weight:660; line-height:1.2; text-align:left; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px; font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; transition:background .16s ease, transform .16s ease; } .bs-lang-option:hover{ background:rgba(37,99,235,.08); transform:translateY(-1px); } .bs-lang-option.is-selected{ background:linear-gradient(135deg, rgba(37,99,235,.11), rgba(56,189,248,.13)); color:#0f172a; font-weight:780; } .bs-lang-option-label{ display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .bs-lang-option-mark{ opacity:0; color:var(--bs-lang-blue-2); font-size:12px; font-weight:900; white-space:nowrap; } .bs-lang-option.is-selected .bs-lang-option-mark{ opacity:1; } .bs-lang-hint{ margin:2px 2px 22px; color:var(--bs-lang-muted); font-size:15px; line-height:1.45; font-weight:520; } .bs-lang-actions{ display:grid; gap:10px; } .bs-lang-primary{ width:100%; min-height:60px; border:none; border-radius:18px; cursor:pointer; background:linear-gradient(90deg, #147fe8 0%, #16b8d7 56%, #16c7a1 100%); color:#fff; font-size:clamp(18px, 1.7vw, 22px); font-weight:900; line-height:1; box-shadow:0 16px 34px rgba(37,99,235,.25); transition:transform .18s ease, box-shadow .18s ease, filter .18s ease; } .bs-lang-primary:hover{ transform:translateY(-1px); box-shadow:0 20px 40px rgba(37,99,235,.32); filter:saturate(1.05); } .bs-lang-secondary{ width:100%; min-height:44px; border:none; border-radius:15px; cursor:pointer; background:transparent; color:var(--bs-lang-muted); font-size:14px; font-weight:780; line-height:1; transition:background .18s ease, color .18s ease; } .bs-lang-secondary:hover{ background:rgba(255,255,255,.62); color:var(--bs-lang-ink); } .bs-lang-close:focus-visible, .bs-lang-primary:focus-visible, .bs-lang-secondary:focus-visible, .bs-lang-region-card:focus-visible, .bs-lang-select:focus-visible, .bs-lang-option:focus-visible{ outline:3px solid rgba(37,99,235,.28); outline-offset:3px; } .bs-lang-card.is-shaking{ animation:bsLangShake .24s ease; } @keyframes bsLangShake{ 0%, 100%{ transform:translateX(0); } 25%{ transform:translateX(-5px); } 75%{ transform:translateX(5px); } } @media (max-width:767px){ .bs-lang-modal{ padding:14px; align-items:center; } .bs-lang-card{ width:min(94vw, 520px); max-height:88vh; border-radius:24px; padding:20px 16px 20px; } .bs-lang-close{ top:10px; right:10px; width:34px; height:34px; font-size:27px; } .bs-lang-header{ margin:0 36px 18px; } .bs-lang-globe{ width:44px; height:44px; border-radius:15px; margin-bottom:11px; } .bs-lang-globe svg{ width:22px; height:22px; } .bs-lang-kicker{ font-size:10.5px; padding:6px 9px; } .bs-lang-header h3{ font-size:29px; letter-spacing:-.055em; } .bs-lang-sub{ margin-top:10px; font-size:14px; } .bs-lang-label{ margin-bottom:8px; font-size:17px; } .bs-lang-label small{ display:none; } .bs-lang-region-grid{ grid-template-columns:1fr; gap:9px; margin-bottom:18px; } .bs-lang-region-card{ min-height:auto; padding:14px; border-radius:18px; } .bs-lang-region-top{ margin-bottom:8px; } .bs-lang-region-flag{ font-size:25px; } .bs-lang-region-title{ font-size:18px; } .bs-lang-region-meta{ font-size:12.5px; } .bs-lang-region-codes{ gap:6px; margin-top:10px; } .bs-lang-region-codes .bs-lang-mini-flag{ width:28px; height:28px; font-size:15px; } .bs-lang-select-wrap{ margin-bottom:16px; } .bs-lang-select{ min-height:58px; padding-left:16px; padding-right:48px; border-radius:17px; font-size:16px; } .bs-lang-caret{ top:29px; right:17px; } .bs-lang-caret::before{ border-left:7px solid transparent; border-right:7px solid transparent; border-top:8px solid #3f4650; } .bs-lang-menu{ max-height:238px; border-radius:17px; } .bs-lang-option{ min-height:45px; font-size:15px; } .bs-lang-hint{ margin-top:0; margin-bottom:18px; font-size:14px; } .bs-lang-primary{ min-height:54px; border-radius:17px; font-size:17px; } .bs-lang-secondary{ min-height:40px; font-size:13px; } } @supports (padding:env(safe-area-inset-left)){ @media (max-width:767px){ .bs-lang-modal{ padding-left:max(14px, env(safe-area-inset-left)); padding-right:max(14px, env(safe-area-inset-right)); padding-bottom:max(14px, env(safe-area-inset-bottom)); } } } @media (prefers-reduced-motion:reduce){ .bs-lang-backdrop, .bs-lang-card, .bs-lang-primary, .bs-lang-secondary, .bs-lang-close, .bs-lang-region-card, .bs-lang-option{ transition:none; animation:none; } } background: radial-gradient(circle at 16% 0%, rgba(56,189,248,.26), transparent 34%), radial-gradient(circle at 86% 14%, rgba(37,99,235,.22), transparent 36%), radial-gradient(circle at 50% 95%, rgba(22,199,161,.14), transparent 36%), rgba(7,17,31,.58); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .24s ease, visibility .24s ease; z-index:2147483000; } .bs-lang-backdrop.is-active{ opacity:1; visibility:visible; pointer-events:auto; } .bs-lang-modal{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; z-index:2147483001; padding:20px; } .bs-lang-modal.is-open{ display:flex; } .bs-lang-card{ position:relative; width:min(94vw, 620px); max-height:min(88vh, 760px); overflow:auto; overscroll-behavior:contain; border-radius:var(--bs-lang-radius); padding:28px; color:var(--bs-lang-ink); background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(241,245,249,.90)); border:1px solid rgba(255,255,255,.78); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); box-shadow:var(--bs-lang-shadow); isolation:isolate; animation:bsLangFade .26s ease-out; font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; } .bs-lang-card::before{ content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; background: radial-gradient(circle at 8% 0%, rgba(56,189,248,.18), transparent 34%), radial-gradient(circle at 92% 4%, rgba(37,99,235,.16), transparent 32%), linear-gradient(135deg, rgba(255,255,255,.52), rgba(255,255,255,0)); pointer-events:none; } .bs-lang-card::after{ content:""; position:absolute; left:22px; right:22px; top:0; height:1px; background:linear-gradient(90deg, transparent, rgba(37,99,235,.34), rgba(56,189,248,.44), transparent); pointer-events:none; } @keyframes bsLangFade{ 0%{opacity:0;transform:translateY(-10px) scale(.982);} 100%{opacity:1;transform:translateY(0) scale(1);} } .bs-lang-close{ position:absolute; top:14px; right:16px; width:40px; height:40px; display:grid; place-items:center; border:none; border-radius:999px; background:rgba(255,255,255,.42); color:#64748b; font-size:30px; line-height:1; cursor:pointer; opacity:.92; transition:background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease; } .bs-lang-close:hover{ opacity:1; color:var(--bs-lang-ink); background:rgba(255,255,255,.78); transform:translateY(-1px); box-shadow:0 10px 24px rgba(15,23,42,.08); } .bs-lang-header{ text-align:center; margin:0 42px 24px; } .bs-lang-globe{ width:52px; height:52px; margin:0 auto 13px; display:grid; place-items:center; border-radius:18px; background: radial-gradient(circle at 30% 20%, rgba(255,255,255,.88), transparent 30%), linear-gradient(135deg, rgba(37,99,235,.14), rgba(56,189,248,.20)); color:var(--bs-lang-blue-2); box-shadow: inset 0 1px 0 rgba(255,255,255,.86), 0 16px 34px rgba(37,99,235,.14); } .bs-lang-globe svg{ width:26px; height:26px; display:block; } .bs-lang-kicker{ display:inline-flex; align-items:center; justify-content:center; gap:7px; margin:0 0 10px; padding:7px 11px; border-radius:999px; border:1px solid rgba(37,99,235,.13); background:rgba(255,255,255,.62); color:var(--bs-lang-blue-2); font-size:12px; line-height:1; font-weight:850; letter-spacing:.08em; text-transform:uppercase; } .bs-lang-header h3{ margin:0; color:var(--bs-lang-ink); font-size:clamp(28px, 4vw, 42px); line-height:.98; letter-spacing:-.06em; font-weight:950; } .bs-lang-sub{ max-width:460px; margin:13px auto 0; color:var(--bs-lang-muted); font-size:15.5px; line-height:1.5; font-weight:540; } .bs-lang-body{ display:block; } .bs-lang-label{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 10px; color:var(--bs-lang-ink); font-size:clamp(17px, 1.7vw, 21px); line-height:1.15; font-weight:880; letter-spacing:-.025em; } .bs-lang-label small{ color:var(--bs-lang-soft); font-size:12px; line-height:1; font-weight:750; letter-spacing:.02em; } .bs-lang-region-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 21px; } .bs-lang-region-card{ position:relative; min-height:118px; padding:17px 17px 16px; border-radius:22px; border:1px solid rgba(15,23,42,.09); background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(248,250,252,.76)); color:var(--bs-lang-ink); text-align:left; cursor:pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,.78), 0 12px 26px rgba(15,23,42,.06); overflow:hidden; isolation:isolate; transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease; } .bs-lang-region-card::before{ content:""; position:absolute; inset:-1px; z-index:-1; background: radial-gradient(circle at 18% 0%, rgba(56,189,248,.14), transparent 32%), radial-gradient(circle at 100% 0%, rgba(37,99,235,.10), transparent 36%); opacity:.75; pointer-events:none; } .bs-lang-region-card:hover{ transform:translateY(-2px); border-color:rgba(37,99,235,.20); box-shadow: inset 0 1px 0 rgba(255,255,255,.84), 0 18px 34px rgba(15,23,42,.10); } .bs-lang-region-card.is-active{ border-color:rgba(37,99,235,.34); background:linear-gradient(180deg, rgba(239,246,255,.98), rgba(255,255,255,.88)); box-shadow: inset 0 1px 0 rgba(255,255,255,.90), 0 18px 38px rgba(37,99,235,.14); } .bs-lang-region-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 12px; } .bs-lang-region-flag{ font-size:28px; line-height:1; } .bs-lang-region-dot{ width:10px; height:10px; border-radius:999px; background:rgba(100,116,139,.28); box-shadow:0 0 0 5px rgba(100,116,139,.08); transition:background .18s ease, box-shadow .18s ease; } .bs-lang-region-card.is-active .bs-lang-region-dot{ background:var(--bs-lang-green); box-shadow:0 0 0 5px rgba(22,199,161,.14); } .bs-lang-region-title{ display:block; margin:0 0 5px; color:var(--bs-lang-ink); font-size:19px; line-height:1.08; font-weight:920; letter-spacing:-.035em; } .bs-lang-region-meta{ display:block; color:var(--bs-lang-muted); font-size:13px; line-height:1.35; font-weight:620; } .bs-lang-region-codes{ display:flex; flex-wrap:wrap; gap:7px; margin:13px 0 0; } .bs-lang-region-codes .bs-lang-mini-flag{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:999px; background:rgba(255,255,255,.78); border:1px solid rgba(15,23,42,.06); box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 4px 10px rgba(15,23,42,.05); font-size:16px; line-height:1; } .bs-lang-select-wrap{ position:relative; margin-bottom:18px; } .bs-lang-select{ width:100%; min-height:66px; padding:0 56px 0 20px; border-radius:20px; border:1.5px solid rgba(15,23,42,.11); background:rgba(255,255,255,.90); color:#2f3640; font-size:clamp(17px, 1.7vw, 22px); font-weight:620; line-height:1.2; appearance:none; -webkit-appearance:none; box-shadow: inset 0 1px 2px rgba(15,23,42,.03), 0 1px 0 rgba(255,255,255,.85); font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; cursor:pointer; } .bs-lang-select:hover{ border-color:rgba(37,99,235,.22); } .bs-lang-choice{ display:flex; align-items:center; text-align:left; } .bs-lang-choice-current{ display:block; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; pointer-events:none; } .bs-lang-caret{ position:absolute; top:33px; right:22px; width:18px; height:18px; transform:translateY(-50%); pointer-events:none; } .bs-lang-caret::before{ content:""; display:block; width:0; height:0; border-left:8px solid transparent; border-right:8px solid transparent; border-top:9px solid #3f4650; transition:transform .18s ease; } .bs-lang-select-wrap.is-open .bs-lang-caret::before{ transform:rotate(180deg); } .bs-lang-menu{ display:none; margin-top:8px; max-height:278px; overflow:auto; overscroll-behavior:contain; padding:8px; border-radius:20px; border:1px solid rgba(15,23,42,.10); background:rgba(255,255,255,.98); box-shadow:0 18px 42px rgba(15,23,42,.16); } .bs-lang-select-wrap.is-open .bs-lang-menu{ display:grid; gap:6px; } .bs-lang-option{ width:100%; min-height:48px; padding:10px 12px; border:none; border-radius:14px; background:transparent; color:#111827; font-size:16px; font-weight:660; line-height:1.2; text-align:left; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px; font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; transition:background .16s ease, transform .16s ease; } .bs-lang-option:hover{ background:rgba(37,99,235,.08); transform:translateY(-1px); } .bs-lang-option.is-selected{ background:linear-gradient(135deg, rgba(37,99,235,.11), rgba(56,189,248,.13)); color:#0f172a; font-weight:780; } .bs-lang-option-label{ display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .bs-lang-option-mark{ opacity:0; color:var(--bs-lang-blue-2); font-size:12px; font-weight:900; white-space:nowrap; } .bs-lang-option.is-selected .bs-lang-option-mark{ opacity:1; } .bs-lang-hint{ margin:2px 2px 22px; color:var(--bs-lang-muted); font-size:15px; line-height:1.45; font-weight:520; } .bs-lang-actions{ display:grid; gap:10px; } .bs-lang-primary{ width:100%; min-height:60px; border:none; border-radius:18px; cursor:pointer; background:linear-gradient(90deg, #147fe8 0%, #16b8d7 56%, #16c7a1 100%); color:#fff; font-size:clamp(18px, 1.7vw, 22px); font-weight:900; line-height:1; box-shadow:0 16px 34px rgba(37,99,235,.25); transition:transform .18s ease, box-shadow .18s ease, filter .18s ease; } .bs-lang-primary:hover{ transform:translateY(-1px); box-shadow:0 20px 40px rgba(37,99,235,.32); filter:saturate(1.05); } .bs-lang-secondary{ width:100%; min-height:44px; border:none; border-radius:15px; cursor:pointer; background:transparent; color:var(--bs-lang-muted); font-size:14px; font-weight:780; line-height:1; transition:background .18s ease, color .18s ease; } .bs-lang-secondary:hover{ background:rgba(255,255,255,.62); color:var(--bs-lang-ink); } .bs-lang-close:focus-visible, .bs-lang-primary:focus-visible, .bs-lang-secondary:focus-visible, .bs-lang-region-card:focus-visible, .bs-lang-select:focus-visible, .bs-lang-option:focus-visible{ outline:3px solid rgba(37,99,235,.28); outline-offset:3px; } .bs-lang-card.is-shaking{ animation:bsLangShake .24s ease; } @keyframes bsLangShake{ 0%, 100%{ transform:translateX(0); } 25%{ transform:translateX(-5px); } 75%{ transform:translateX(5px); } } @media (max-width:767px){ .bs-lang-modal{ padding:14px; align-items:center; } .bs-lang-card{ width:min(94vw, 520px); max-height:88vh; border-radius:24px; padding:20px 16px 20px; } .bs-lang-close{ top:10px; right:10px; width:34px; height:34px; font-size:27px; } .bs-lang-header{ margin:0 36px 18px; } .bs-lang-globe{ width:44px; height:44px; border-radius:15px; margin-bottom:11px; } .bs-lang-globe svg{ width:22px; height:22px; } .bs-lang-kicker{ font-size:10.5px; padding:6px 9px; } .bs-lang-header h3{ font-size:29px; letter-spacing:-.055em; } .bs-lang-sub{ margin-top:10px; font-size:14px; } .bs-lang-label{ margin-bottom:8px; font-size:17px; } .bs-lang-label small{ display:none; } .bs-lang-region-grid{ grid-template-columns:1fr; gap:9px; margin-bottom:18px; } .bs-lang-region-card{ min-height:auto; padding:14px; border-radius:18px; } .bs-lang-region-top{ margin-bottom:8px; } .bs-lang-region-flag{ font-size:25px; } .bs-lang-region-title{ font-size:18px; } .bs-lang-region-meta{ font-size:12.5px; } .bs-lang-region-codes{ gap:6px; margin-top:10px; } .bs-lang-region-codes .bs-lang-mini-flag{ width:28px; height:28px; font-size:15px; } .bs-lang-select-wrap{ margin-bottom:16px; } .bs-lang-select{ min-height:58px; padding-left:16px; padding-right:48px; border-radius:17px; font-size:16px; } .bs-lang-caret{ top:29px; right:17px; } .bs-lang-caret::before{ border-left:7px solid transparent; border-right:7px solid transparent; border-top:8px solid #3f4650; } .bs-lang-menu{ max-height:238px; border-radius:17px; } .bs-lang-option{ min-height:45px; font-size:15px; } .bs-lang-hint{ margin-top:0; margin-bottom:18px; font-size:14px; } .bs-lang-primary{ min-height:54px; border-radius:17px; font-size:17px; } .bs-lang-secondary{ min-height:40px; font-size:13px; } } @supports (padding:env(safe-area-inset-left)){ @media (max-width:767px){ .bs-lang-modal{ padding-left:max(14px, env(safe-area-inset-left)); padding-right:max(14px, env(safe-area-inset-right)); padding-bottom:max(14px, env(safe-area-inset-bottom)); } } } @media (prefers-reduced-motion:reduce){ .bs-lang-backdrop, .bs-lang-card, .bs-lang-primary, .bs-lang-secondary, .bs-lang-close, .bs-lang-region-card, .bs-lang-option{ transition:none; animation:none; } }