🌐 Language / Region
Why Strong Products Go Silent in Europe · BRCN Studio
运作原理 · 失败模式 · 进入欧洲

为什么强大的产品在欧洲却陷入沉默。这几乎与产品无关。

拥有真正强大工业技术产品的亚洲公司抵达欧洲,但仍然未能建立商业动力。产品不是问题。围绕第一次严肃对话的商业层是。这些是导致它的六种模式。

核心洞察

欧洲工业市场集中、关系驱动、历史悠久。 对 达赫 中最好的 15 个联系人的第一印象不好,很难修复。产品质量很少变得可见——因为在产品得到公平评估之前,对话就结束了。

六种失败模式

即使对于强势产品来说,进入欧洲市场也失去了动力。

这些都不是理论上的。这些是进入 达赫 和西欧工业市场的亚洲公司所观察到的一致模式。

01

首先接触的合作伙伴类型错误

第一个主动触达目标是分销商,而集成商、原始设备制造商或试点客户自然是第一条路线。欧洲分销商在做出承诺之前需要现有的市场需求和经过验证的支持结构。过早接近他们会遭到礼貌性的偏转,并耗尽接触的机会。

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

在路线明确之前进行广泛的宣传

在故事、证据和支持逻辑准备好之前,LinkedIn 活动、展会爆炸和冷冰冰的电子邮件序列就开始了。该消息不符合欧洲合作伙伴评估标准。最好的联系人会收到一个尚未准备好的故事,并记住它。

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

无当地后续所有权

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.

展会会议进展顺利。合作伙伴两次参观展位。三周后,双方都没有任何后续行动。合作伙伴交接到竞争对手,后者在五天内用德语跟进。
04

未准备好支撑层和证明层

当第一个严重问题出现时,合作伙伴尚未准备好 CE 文档状态、保修逻辑、售后途径和技术文档。欧洲合作伙伴在第一次或第二次对话中提出这些问题。一个不明确的答案是一个障碍——而不是一个谈判点。

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

第一次会议中没有本地桥梁

第一次会议是远程处理的,对于返回亚洲的任何技术问题,电子邮件延迟 3 天。欧洲联系人无法在正确的时区、正确的语言或以正确的速度得到答案。这种关系永远不会产生吸引力。

所有问题都会在 72 小时内通过电子邮件以英语得到答复。竞争对手会在数小时内用德语回答并提供当地联系电话。合作伙伴回电给哪家公司?
06

未建立内部转发案例

第一次会议的人很少是决策者。他们需要在内部转发案件。如果故事、证明层和本地责任逻辑不是为内部转发而构建的——它就会在那一步消亡。没有人会向管理层提出不完整的案例。

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.

BRCN 现场发生了什么变化

每个故障模式都有特定的修复方法。

🎯

首先路由逻辑

BRCN 在任何主动触达活动开始之前都会确定正确的合作伙伴类型,因此首先会与实际可能跳槽的联系人进行对话。

📋

主动触达前确认准备情况

在进行认真的接触之前,会对故事、证据、支持逻辑和面向合作伙伴的材料进行审查。没有准备好的箱子不会流入市场。

🌍

当地后续业主

BRCN 负责以德语和英语进行后续行动——为每种合作伙伴类型提供正确的语气、正确的时机和正确的下一步逻辑。

🤝

第一次见面时的桥梁

BRCN 作为当地商业桥梁加入了首次对话——以正确的速度、用正确的语言处理问题,没有 72 小时的延迟。

📢

已建立转发案例

该案例的结构适合内部转发——故事、证据、支持逻辑和本地责任都在第一次对话发生之前呈现。

🔁

诚实的反馈循环

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. 首次商业匹配沟通免费。

--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; } }