|
339 | 339 | display: flex; |
340 | 340 | justify-content: flex-end; |
341 | 341 | margin-bottom: 1.5em; |
| 342 | + position: relative; |
342 | 343 | } |
343 | 344 |
|
344 | | -.lang-switcher-label { |
| 345 | +.lang-trigger { |
345 | 346 | display: inline-flex; |
346 | 347 | align-items: center; |
347 | | - gap: 6px; |
| 348 | + gap: 8px; |
| 349 | + padding: 7px 12px 7px 10px; |
| 350 | + background: var(--blog-card-bg); |
| 351 | + border: 1px solid var(--blog-border); |
| 352 | + border-radius: 10px; |
348 | 353 | font-family: 'Lato', sans-serif; |
349 | | - font-size: 0.85em; |
350 | | - color: var(--blog-text-muted); |
| 354 | + font-size: 0.88em; |
| 355 | + color: var(--blog-text); |
| 356 | + cursor: pointer; |
| 357 | + transition: border-color 0.2s, box-shadow 0.2s, background 0.2s; |
| 358 | + user-select: none; |
| 359 | + line-height: 1; |
| 360 | +} |
| 361 | + |
| 362 | +.lang-trigger:hover { |
| 363 | + border-color: var(--blog-green); |
| 364 | + background: var(--blog-bg-subtle); |
| 365 | +} |
| 366 | + |
| 367 | +.lang-trigger--open { |
| 368 | + border-color: var(--blog-green); |
| 369 | + box-shadow: 0 0 0 3px rgba(0, 148, 144, 0.12); |
| 370 | +} |
| 371 | + |
| 372 | +.lang-trigger:focus-visible { |
| 373 | + outline: none; |
| 374 | + border-color: var(--blog-green); |
| 375 | + box-shadow: 0 0 0 3px rgba(0, 148, 144, 0.18); |
| 376 | +} |
| 377 | + |
| 378 | +.lang-flag { |
| 379 | + font-size: 1.25em; |
| 380 | + line-height: 1; |
| 381 | +} |
| 382 | + |
| 383 | +.lang-trigger .lang-name { |
| 384 | + font-weight: 600; |
351 | 385 | } |
352 | 386 |
|
353 | | -.lang-switcher-label svg { |
| 387 | +.lang-chevron { |
| 388 | + transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1); |
| 389 | + opacity: 0.5; |
354 | 390 | flex-shrink: 0; |
355 | 391 | } |
356 | 392 |
|
357 | | -.lang-switcher select { |
358 | | - appearance: none; |
359 | | - -webkit-appearance: none; |
| 393 | +.lang-chevron--open { |
| 394 | + transform: rotate(180deg); |
| 395 | +} |
| 396 | + |
| 397 | +/* Dropdown menu */ |
| 398 | +.lang-menu { |
| 399 | + position: absolute; |
| 400 | + top: calc(100% + 6px); |
| 401 | + right: 0; |
| 402 | + z-index: 100; |
| 403 | + min-width: 180px; |
| 404 | + margin: 0; |
| 405 | + padding: 6px; |
| 406 | + list-style: none; |
360 | 407 | background: var(--blog-card-bg); |
361 | 408 | border: 1px solid var(--blog-border); |
362 | | - border-radius: 6px; |
363 | | - padding: 4px 28px 4px 10px; |
| 409 | + border-radius: 12px; |
| 410 | + box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.04); |
| 411 | +} |
| 412 | + |
| 413 | +.dark .lang-menu { |
| 414 | + box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35), 0 2px 8px rgba(0, 0, 0, 0.2); |
| 415 | +} |
| 416 | + |
| 417 | +.lang-option { |
| 418 | + display: flex; |
| 419 | + align-items: center; |
| 420 | + gap: 10px; |
| 421 | + padding: 9px 12px; |
| 422 | + border-radius: 8px; |
| 423 | + cursor: pointer; |
364 | 424 | font-family: 'Lato', sans-serif; |
365 | | - font-size: 1em; |
| 425 | + font-size: 0.9em; |
366 | 426 | color: var(--blog-text); |
367 | | - cursor: pointer; |
368 | | - background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); |
369 | | - background-repeat: no-repeat; |
370 | | - background-position: right 8px center; |
| 427 | + transition: background 0.15s; |
| 428 | + position: relative; |
| 429 | + margin: 0; |
371 | 430 | } |
372 | 431 |
|
373 | | -.dark .lang-switcher select { |
374 | | - background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); |
| 432 | +.lang-option::before { |
| 433 | + display: none; |
375 | 434 | } |
376 | 435 |
|
377 | | -.lang-switcher select:hover { |
378 | | - border-color: var(--blog-green); |
| 436 | +.lang-option:hover { |
| 437 | + background: var(--blog-bg-subtle); |
379 | 438 | } |
380 | 439 |
|
381 | | -.lang-switcher select:focus { |
382 | | - outline: none; |
383 | | - border-color: var(--blog-green); |
384 | | - box-shadow: 0 0 0 2px rgba(0, 148, 144, 0.2); |
| 440 | +.lang-option--active { |
| 441 | + color: var(--blog-green); |
| 442 | + font-weight: 600; |
| 443 | +} |
| 444 | + |
| 445 | +.lang-option--active:hover { |
| 446 | + background: rgba(0, 148, 144, 0.06); |
| 447 | +} |
| 448 | + |
| 449 | +.lang-option .lang-name { |
| 450 | + flex: 1; |
| 451 | +} |
| 452 | + |
| 453 | +.lang-check { |
| 454 | + color: var(--blog-green); |
| 455 | + flex-shrink: 0; |
| 456 | +} |
| 457 | + |
| 458 | +/* Dropdown animation */ |
| 459 | +.lang-dropdown-enter-active { |
| 460 | + transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), |
| 461 | + transform 0.2s cubic-bezier(0.4, 0, 0.2, 1); |
| 462 | +} |
| 463 | + |
| 464 | +.lang-dropdown-leave-active { |
| 465 | + transition: opacity 0.15s cubic-bezier(0.4, 0, 1, 1), |
| 466 | + transform 0.15s cubic-bezier(0.4, 0, 1, 1); |
| 467 | +} |
| 468 | + |
| 469 | +.lang-dropdown-enter-from { |
| 470 | + opacity: 0; |
| 471 | + transform: translateY(-6px) scale(0.97); |
| 472 | +} |
| 473 | + |
| 474 | +.lang-dropdown-leave-to { |
| 475 | + opacity: 0; |
| 476 | + transform: translateY(-4px) scale(0.98); |
385 | 477 | } |
386 | 478 |
|
387 | 479 | /* Infographic image */ |
|
0 commit comments