🌐 Language / Region
BRCN Studio · On the Ground in Europe
日本 → 欧州 · ロボティクス・産業技術・B2B · DACH(ドイツ語圏)

高い技術力があっても、欧州市場では商談が進まないことがあります。 BRCN Studioが現地で対話をつなぎ、次の商談機会へ進めます。 すべての案件を Bircan Öztürk が責任を持って直接担当します。

DACH(ドイツ語圏)・西欧への進出を本格的に検討する、日本のロボティクス・産業技術・B2B企業へ。 適切な候補企業を選定し、最初の接点をつくり、貴社チームとともに商談へ参加します。現地採用、法人設立、販売代理店契約といった大きな投資に進む前に、パートナー候補、実証案件、商談機会を具体化します。

納品するのは市場調査レポートや企業リストだけではありません。ドイツ語・英語で意思決定者に直接働きかけ、貴社製品について具体的な対話を始めます。

貴社に代わる現地アプローチ ドイツ語・英語対応 初回商談を現地で支援 現場からの率直な市場フィードバック DACH(ドイツ語圏)・西欧 専任責任者が直接担当
OP
外部担当者への丸投げはありません。責任者が直接対応します。 ロボティクス、CAD/CAM、産業オートメーション分野での技術営業経験をもとに、欧州企業が判断前に確認するポイントを理解しています。
まず市場で検証し、その後に本格投資へ
欧州現地から、実際の商談を動かします。 候補選定 · アプローチ · 商談同席 · フィードバック · 次の判断
欧州アクティブ
貴社製品 日本で実績のある製品を、欧州で適切な最初の商談へ。
最初のパートナー 販売代理店、システムインテグレーター、OEM、実証顧客など、製品に最も適した相手を見極めます。
候補選定一般的な企業データベースではなく、適切なパートナー類型に基づいて候補を絞り込みます。
アプローチドイツ語・英語で、候補企業ごとに訴求内容を調整してアプローチします。
商談欧州側の商務窓口として初回商談に参加します。
市場の反応欧州市場の反応を、明確かつ実務的にお伝えします。
成果物は、見栄えのよい資料だけではありません。

実際のアプローチ、商談、懸念点を通じて、次に追うべきパートナー候補、実証案件、商談進出方針を具体的に判断できる状態をつくります。

産業技術・ロボティクス分野では、欧州の有力なパートナー候補は限られています。 対象を誤ったアプローチ、曖昧なサポート体制、準備不足の第一印象は、その後の商談に長く影響します。広範囲に連絡する前に、BRCNとともに優先すべき相手と進出方針を現地で検証してください。
市場参入で重要なこと

BRCN Studioは、遠隔から助言するだけのコンサルタントではなく、貴社にとって最初の欧州現地ビジネス窓口です。 合意した期間と範囲の中で、候補企業の選定、ドイツ語・英語でのアプローチ、初回商談への参加、継続フォローまでを行い、優先すべきパートナー候補や実証・商談進出方針を明確にします。すべて Bircan Öztürk が直接担当します。

展示会で名刺は集まったものの、適切なフォローができず、なぜ商談化しないのかも分からない。その間にも、有力候補は貴社への評価を固め始めています。

一般的な失敗パターン・ロボティクス・産業技術

販売代理店を1社選んだものの、数か月にわたるメールの往復だけで前進しない。原因が製品、伝え方、パートナー選定のどこにあるのかも判断できません。

一般的な失敗パターン・製造と自動化

製品デモの反応は良かったのに、その後は連絡が途絶える。現地でのフォローや社内質問への回答、次のステップを推進する担当者がいないことが原因です。

一般的な失敗パターン · B2Bテクノロジーとソフトウェア

早期の市場開拓が明らかにできること

現地で商談を動かすことで、早い段階から見えてくること。

初期のパートナー候補との対話から、課題が進出方針、サポート体制、相手の種類、製品の位置づけのどこにあるのかを早期に把握できます。

🔄

進出ルートの見直し

ディストリビュータが想定されるルートでしたが、インテグレーターとの商談により、より強力な技術的な適合性とフォローアップが実現されました。

⏸️

市場投入時期の見直し

優れた製品、準備ができていないサポート体制の説明 – 連絡先が消える前に意図的に候補企業への連絡を停止しました。

🎯

対象企業の見直し

大規模な総合的なチャネルは製品を無視しましたが、専門的な技術パートナーは実際の関心を示しました。

初期の支援で見られた傾向を匿名化して掲載しています。 すべての支援事例→

支援内容

欧州での商談推進はBRCNに。貴社は製品と顧客対応に集中できます。

合意した期間、貴社にとって最初の欧州現地ビジネス担当として活動します。資料を納品して終わるのではなく、候補企業の選定、アプローチ、初回商談、フォローアップまでを担い、有望な機会を止めずに次の段階へ進めます。

これは、十分な検証なしに販売代理店を選ぶことと、早すぎる段階で欧州法人を設立することの間にある、実務的な選択肢です。法務、税務、認証、銀行などの専門領域は、資格を持つ外部専門家と連携します。

01
適切なパートナー類型を見極める 販売代理店、システムインテグレーター、OEM、ロボット開発者、実証顧客または代表ルート – 製品、市場、段階に応じて異なります。推測ではなく、データベースではありません。
02
ドイツ語・英語で候補企業へアプローチ 各パートナータイプに適した角度で、お客様の代わりに選定した候補企業への個別連絡を行います。LinkedInでの一斉送信や定型文による大量営業は行いません。候補企業ごとに内容を調整します。
03
貴社とともに初回商談へ参加 私は貴社の現地の事業開発の橋渡し役として、関連する初回商談に参加します。私は質問に対応し、流れを維持し、フォローアップが静かに死なないようにします。
04
市場の率直な反応を共有 欧州のパートナーは何を尋ねますか?次のステップを妨げているものは何ですか?何が変わらなければなりませんか?貴社は直接的な答えを得ます。フィルターされた楽観主義ではなく、洗練された会社・製品紹介資料ではありません。
実行ギャップ

業界ネットワーク、視察団、戦略会議だけでは、欧州市場で商談は進みません。 最終的には、適切な意思決定者へ連絡し、対話を始め、継続的にフォローし、機会を前へ進める担当者が必要です。BRCNはその実行部分を担います。

優れた製品が欧州で埋もれる理由

欧州の産業市場で商談が止まる本当の理由

問題は製品そのものよりも、パートナー選定、実績の示し方、サポート体制、そして最初の重要商談後の現地フォローにあることが少なくありません。

🎯

間違ったパートナータイプ

より良い最初の進出方針がインテグレーター、OEM、代理店、実証顧客である場合、販売代理店を依頼することはできません。市場はすぐに不一致に気づきます。

📋

価値提案と実績資料の準備不足

製品は強力ですが、サポートの方針、導入・検証の進め方、CE背景情報、および社内共有・決裁用の資料は、質問が来たときに十分に説明できません。

🌐

現地ビジネス窓口がない

興味のあるパートナーには質問があります。現地の誰もそれらに答えることができず、適格性を確認したり、適切なトーンと言語で商談を維持したりすることはできません。

📢

接触数を増やす前に、進出方針を明確に

見積もりや取引先紹介、LinkedInの投稿、ランダムな紹介など、どのルートやパートナータイプが製品や段階に最も適しているかを知る前に、すべてが混在しています。

🔇

初回商談後のフォロー不足

デモまでは順調でも、その後の検討が止まることがあります。現地での継続的なフォローがなく、社内からの質問にも十分に回答できず、次の対応を担う担当者も決まっていませんでした。

損なった第一印象の回復には時間がかかります

集中的な産業市場では、有望な候補企業との最初の印象が弱い場合、その連絡先がまだ開いている場合でも、修復に6〜12ヶ月かかることがあります。

なぜ現地で雇用する前にBRCNを使用するのか?

誤った現地採用より低リスクで、市場調査レポートより実践的です。

多くの企業にとって、最初から欧州法人や専任営業担当者を置く必要はありません。まず必要なのは、適切な意思決定者を見極め、選定した企業との対話を始め、関心を具体的な次のステップへ変える現地担当者です。

それがBRCNが果たす役割です。専任責任者が直接担当の実行、必要に応じて専門家のパートナーサポート、そして次に何を構築すべきかについての明確な推奨事項です。

Bircanが直接担当 若手担当者や複数階層の代理店へ引き継ぐことはありません。すべての対話に一人の責任者が対応します。
必要に応じて専門家がいます。 法務、税務、コンプライアンス、認証、銀行関連の業務については、資格ある専門家と連携します。BRCNは事業面の調整を担当します。
ランダムな販売業者よりも安全です 販売代理店を任命する前に、BRCNは、販売代理店、インテグレーター、OEM、または実証顧客が実際に貴社製品とステージに適合するかどうかを理解するのに役立ちます。
本格投資前に市場の反応を確認 法人設立、現地採用、広範囲なアプローチを始める前に、選定した候補企業との対話から実際のフィードバックを得られます。

ご支援の流れ

初回相談から最初のパートナー候補との商談まで

明確な範囲を持つ集中的な支援。目標はプレゼンテーションではありません。目標は、選ばれた欧州のパートナーが貴社製品を正しい方法で知って、実際の質問をし、行動を起こすか、行動を起こさない理由を明確に示すことです。

期待した反応が得られなかった場合も、本格投資の前に、対象市場、価値提案、価格、サポート体制のどこを見直すべきかを把握できます。

01 無料の初回相談

貴社は製品、対象市場、そしてすでに試されてきたことを説明します。有料の範囲が提案される前に、現実的な適合性があるかどうかを率直に教えてくれます。

02 進出方針と準備状況

私は、有望な候補企業への連絡が始まる前に、どのパートナータイプが最も適しているか、最初の対象市場、そして各パートナーに必要な価値提案を定義します。

03 積極的な候補企業への直接アプローチ

私は貴社に代わって選択された企業に連絡し、関心のある資格を確認し、初回商談をサポートします。これには、現地のブリッジとして通話を参加することも含まれます。

04 フィードバックと次のステップ

貴社は直接の市場フィードバックと明確な推奨を受け取ります。継続、調整、一時停止、またはより永続的な現地事業体制を構築する。

誰のためにですか

欧州市場への本格進出を検討する日本企業のためのサービスです。

ロボティクス、産業技術、製造ソフトウェア、B2Bハードウェア、エンタープライズ技術。実用化済みの製品があり、DACH(ドイツ語圏)・西欧への進出を本気で検討し、現地で実行する担当者を必要としている企業が対象です。

ロボティクス・産業技術

DACH(ドイツ語圏)・西欧への進出を目指す日本のロボティクス、オートメーション、CNC、産業用ハードウェア、製造ソフトウェア企業向けです。技術営業の経験とDACH(ドイツ語圏)産業市場への理解を生かして支援します。

  • 関節アクチュエータ、コボット、AMR/AGV、産業ロボット
  • CNCソフトウェア、CAD/CAM、シミュレーションツール
  • ハードウェアと生産コンポーネントの製造
  • ロボットオフラインプログラミング環境
  • 産業用IoT、センサー、自動化プラットフォーム
日本→欧州を探検する

B2Bテクノロジーとソフトウェア

明確な産業またはB2Bの角度を持つ日本のB2B SaaS、AIプラットフォーム、ハードウェア、エンタープライズテクノロジー企業 – 最初の欧州のパートナーまたは実証顧客を探しています。

  • 産業または企業に焦点を当てたB2B SaaS
  • AIと自動化プラットフォーム
  • 産業向けのハードウェアとIoT
  • 最初のEUパートナーまたは実証顧客を探している企業
  • 海外市場での本格的な検証ニーズを持つ資金提供されたスタートアップ
スタートアップ向け支援を探索する

サービス

まずは無料の初回相談から。適合する場合のみ、明確な支援範囲をご提案します。

初回相談前に長い提案手続きは必要ありません。60分のオンライン相談で、現実的な支援可能性を確認します。適合する場合は、期間、業務内容、成果物、費用を明確にしたうえで支援範囲を決定します。

パイロット後・継続中

現地ビジネス継続支援

4,500ユーロから/月

すでにルートの明確さが確立されており、パイロットが完了した後も欧州での継続的な現地事業開発支援を希望する企業向けです。

  • 継続中のパートナーフォローアップ
  • 地域の事業開発の橋渡し役の役割
  • 選択された候補企業への直接アプローチの継続
  • 商談に同席し、市場の反応を継続的に共有
  • 毎月の報告と推奨
パイロットの後、製品、進出方針、作業リズムがすでに明確になった後、利用可能です。
継続支援について相談する

信号後・設定

欧州事業体制の構築支援

22,000ユーロから外部コストは別途

市場の反応が早期に準備され、より永続的な欧州構造、現地代表体制、または運営体制を構築する準備ができている企業向けです。

  • ルート調整の設定
  • 専門家のブリーフィング:法律、税務、銀行業
  • 運営役割と責任マップ
  • 顧客情報管理と報告方法
  • 30 / 60 / 90ロードマップ
なぜなら、市場がより多くの構造を正当化する十分なシグナルを示した後だからです。
設定について話し合う

16週間 · 深層プログラム

スタートアップ市場参入プログラム

17,500ユーロから範囲に基づく

実用化済みの製品と海外展開予算があり、初期反応の確認だけでなく、想定顧客や価値提案を市場との対話を通じて改善したいB2Bスタートアップ向けです。

  • パートナー開拓パイロット内のすべて
  • 初期段階の価値提案と営業メッセージの改善
  • 初回商談だけでなく、複数のパートナー候補との商談を通じて、継続的な実践的なサポートを提供します。
  • 支援全体を通して、Closerの創設者がチェックインします。
  • 日本→欧州および欧州→アジアで利用可能
製品と想定顧客がある程度明確であっても、価値提案やパートナー向け資料を市場との対話を通じて磨く必要があるスタートアップには、より長期の市場参入プログラムをご提案します。
スタートアップの軌跡について話し合う

価格はEURの参照基準点であり、範囲、複雑さ、市場によって異なる場合があります。価格はVATを除きます。外部法務、税務、会計、公証人、銀行、IP、認定、設立、給与計算、コンプライアンスコストは、明示的に合意されていない限り含まれていません。BRCN Studioは法律事務所、税務アドバイザー、銀行、公証人、採用担当者、Employer of Record(EOR)、記録上の輸入業者、販売業者、保証提供者、EU責任者ではありません。

補助的な支援領域

欧州→アジアもパートナーがサポートする進出方針として利用可能です。

BRCNは対象市場、進出方針、パートナー像を整理します。現地語での営業や商談が必要な場合は、日本、韓国、中国、ベトナム、インド、ASEAN各市場のパートナーと連携します。

欧州→アジア進出方針とパートナーの市場開拓

「そこで誰か知っている人がある」「ある販売代理店を試してみよう」というよりも、より規律を持ってアジアに参入する欧州の産業、製造、テクノロジー企業向けです。

  • 市場選択:日本、韓国、中国、ベトナム、インドまたはアセアン
  • 各市場におけるパートナータイプ、商談の進め方、意思決定文化
  • BRCNは対象市場と事業展開方針を整理します。
  • 市場固有のパートナーは、必要に応じて現地での実行をサポートします。
  • 代表者、チャネルパートナー、または段階的な導入ルート
欧州→アジアを探検する

日本・韓国・中国・ベトナム・インド

各アジア市場には、異なる信頼構築、パートナーの役割、初回商談の進め方が必要です。「アジア全体」を一つの戦略で扱うことはできません。現地語での実務は、各市場に詳しいパートナーと連携して進めます。

  • 日本:関係の深さと意思決定のペース
  • 韓国:エコシステム方針と市場参入の進め方
  • 中国:パートナー像、法規制対応、知的財産保護
  • ベトナムとアセアン:国別販売チャネルの構造
  • インド:セグメントの適合性と意思決定者のマッピング
まず適合性性を話し合う

プロジェクト責任者の経歴

BRCNが一般的なコンサルティング会社と異なる理由

貴社と最初の欧州のパートナー候補との商談の間にある代理店ではなく、一人の責任ある事業開発責任者。

BRCN Studioの創設者兼プロジェクト責任者であるBircan Öztürk

Bircan Öztürk

創設者兼プロジェクト責任者 · BRCN Studio / BRCN Group OÜ

Bircan Öztürkは、ロボティクス、CAD/CAM、CNCシミュレーション、ロボット・オフラインプログラミング、製造ソフトウェアなど、技術系B2B製品の販売と事業開発に携わってきました。CAMWERKではCEO / Geschäftsführerとして、Mastercam関連のCAD/CAM統合事業を担当しました。この経験を、進出方針、初期検証、現地サポート、フォローアップの設計に生かしています。

BRCN Studioは、企業が間違った欧州ルートに多額の投資をする前の瞬間のために構築されました。つまり、大規模な販売代理店への一斉アプローチ、早すぎる法人設立、盲目的な現地の採用、そして十分に整理されていない価値提案で有望な候補企業にアプローチする前の瞬間です。

技術的なB2B販売 ロボット工学と自動化 CAD/CAMエコシステム CNCシミュレーション ロボットオフラインプログラミング CEO/GF CAMWERK DACH(ドイツ語圏)市場 日本 → 欧州 パートナーの市場開拓
Bircanとつながる→ BRCN Studioをフォロー→

フィルターを適合性させる

すべての企業に適したサービスではありません。

十分な準備が整っていない段階で営業活動を始めても、期待する成果にはつながりません。BRCNは、実用化済みの製品、明確な欧州展開方針、初回商談に参加できる社内体制を持つ企業に最も効果的です。

適している企業

  • 貴社は単なる会社・製品紹介資料やアイデアではなく、実際のB2B製品を持っています。
  • 貴社は今年、日本→欧州を本格的な事業展開方針として望んでいます。
  • 製品資料、価格設定方針、技術的な回答を提供できます。
  • 貴社は最初の通話に参加し、フォローアップのサポートを適切に行うことを望んでいます。
  • 貴社は、目標は保証された契約ではなく、市場の反応とパートナーの勢いであることを理解しています。
  • 欧州市場を検証する前に社内調整だけで何か月も費やすのではなく、現地企業との具体的な商談を始めたい。

現時点では適していない企業

  • 貴社は無料のパートナーの連絡先や未払いの紹介だけが欲しいのです。
  • 貴社は、有償の範囲なしに、成功のみに基づく報酬を期待しています。
  • 基本的な技術、サポート、事業面の質問には回答できません。
  • BRCNが輸入業者、再販業者、保証提供者、または法的代理人として機能することを望んでいます。
  • 貴社は3ヶ月後に保証された販売代理店、収益、または署名された契約を期待しています。

明確な支援範囲

実行型の市場開拓と、明確な支援範囲。

本サービスは、明確な範囲の市場開拓であり、ランダムな紹介、未払いの市場開発、または欧州でのプレゼンスに対する法的責任ではありません。

🚫

パートナーデータベースではありません

BRCNは連絡先リストを販売しません。候補企業は、進出方針と求めるパートナー像を明確にしたうえで個別に選定し、一般的なデータベースからエクスポートされるものではありません。

⚖️

法務・税務・輸入者業務は対象外

規制されたトピックは資格のある専門家と共有されます。 BRCN は輸入業者、法的な販売事業者、保証提供者、法律顧問、または EU 責任者ではありません。 このサイトで「貴社に代わって」と記載されている場合、それは候補企業への直接アプローチのみを意味します。法的代理人または署名権限ではありません。

🔒

無料の紹介はありません

パートナー候補の特定、候補企業リストの作成、紹介、個別連絡には有料の範囲または書面による契約が必要です。例外はありません。

🎯

成功の保証はありません

約束は、業務範囲を明確にした市場開拓と実際の市場フィードバックであり、保証された販売代理店の獲得、契約締結、または販売結果ではありません。

🏭

具体的な海外展開計画を持つB2B企業のみ

産業技術、ロボット工学、自動化、製造ソフトウェア、B2Bテクノロジー。対象は産業技術、ロボティクス、自動化、製造ソフトウェア、B2Bテクノロジーです。消費財、EC、小規模な営業代行のみのご依頼は対象外です。

🧭

本格投資の前に市場で検証

現地で雇用したり、現地法人を開設したり、販売代理店を任命したり、十分に整理されていない価値提案で有望な候補企業との関係を損なう前に、進出方針をテストしてください。

よくあるご質問

曖昧な約束ではなく、明確な回答を。

市場調査・助言だけのサービスですか?

いいえ。BRCNは候補企業の選定、個別連絡、初回商談への同席、フォローアップまで実行します。市場調査レポートや戦略提案だけを納品するサービスではありません。

なぜ日本→欧州を主な焦点にするのですか?

日本企業の欧州進出支援が、BRCNの経験とDACH市場での強みを最も直接的に生かせる領域だからです。日本のB2Bテクノロジー企業は、現地法人、雇用、または販売代理店構造に正式に取り組む前に、欧州で信頼できる現地窓口を必要としています。 BRCNは、まさにその投資前の段階を支援します。

貴社はまだ欧州→アジアをサポートしていますか?

はい。ただし、補助的な支援領域として提供しています。BRCNは進出方針と事業展開の基本方針を調整し、市場固有の連絡先やパートナーは、日本、韓国、中国、ベトナム、インド、アセアンでの現地実行をサポートします。

スタートアップと仕事はしますか?

はい、選択的に。スタートアップ市場参入プログラムは、実用化済みの製品、海外展開の予算、具体的な市場仮説を持ち、価値提案やパートナー向け資料を市場との対話を通じて磨く必要があるB2Bスタートアップが対象です。アイデア段階の事業相談や無償の市場調査は対象外です。

貴社は販売代理店や契約を保証しますか?

いいえ。約束は、選定した有望な候補企業への直接アプローチ、初回商談、フォローアップサポート、そして率直な市場フィードバックです。保証された契約、販売数、または販売代理店の署名ではありません。誰もそれらを率直に保証することはできません。

もし私が成功に基づく報酬だけが欲しいとしたらどうでしょうか?

BRCNは、業務範囲を定めた固定料金、または月額制の継続支援で対応します。 結果に関係なく、候補企業への連絡と初回商談への同席・進行支援には専用の時間が必要であるため、成功報酬のみの契約は承っていません。

100社へ一斉に連絡する前に、現地で優先順位と進出方針を確認しませんか。

短い初回相談で、製品、進出方針、タイミングが現実的かを確認できます。支援可能な場合は、曖昧な助言ではなく、明確な業務範囲をご提案します。初回相談は無料です。

現在の状況をお聞かせください

具体的な海外展開計画を持つB2B企業リクエストのみ。無料のパートナーリスト、無料の紹介、またはコミッションのみの市場開発は行いません。

ショートで十分です。BRCNは、有料の支援契約を提案する前に、適合性性をレビューします。無料のパートナーリストや未払いの市場開発はありません。

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