/* Intrinsic sizing keeps translated labels, payment links and forms usable on every screen. */
.wrap, .field, .panel, .modal, .pay-card, .card { min-width: 0; }
main, .modal, .site-footer { overflow-wrap: anywhere; }
.input { min-width: 0; max-width: 100%; }
.btn { min-height: 44px; max-width: 100%; white-space: normal; text-align: center; }
.field-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pay-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.pay-option { display: grid; grid-template-columns: minmax(0, 1fr) auto; border-radius: var(--radius); }
.pay-option strong { min-width: 0; overflow-wrap: anywhere; }
.pay-option .btn { flex-shrink: 0; }
.pd-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.pd-row > * { min-width: 0; }
.hero-title { font-size: 64px; }
.site-nav .wrap { flex-wrap: nowrap; }
.logo { min-width: 0; flex-shrink: 0; }
.nav-actions { flex-shrink: 0; }
.language-selector { min-height: 44px; }
@media (max-width: 1100px) {
  .site-nav .wrap { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px 16px; }
  .language-control { grid-column: 2; grid-row: 1; }
  .site-nav .wrap > .btn { grid-column: 3; grid-row: 1; }
  .nav-links { display: flex; grid-column: 1 / -1; grid-row: 2; min-width: 0; gap: 10px 20px; flex-wrap: wrap; }
  .nav-links a { display: inline-flex; align-items: center; min-height: 44px; }
  .hero-title { font-size: 48px; }
}
@media (max-width: 640px) {
  .wrap { padding-inline: 16px; }
  .site-nav { position: relative; }
  .site-nav .wrap { padding-block: 8px; }
  .nav-links { flex-wrap: wrap; gap: 4px 18px; }
  .nav-links a { flex-shrink: 0; }
  .field-row { grid-template-columns: minmax(0, 1fr); }
  .input { font-size: 16px; }
  .hero-title { font-size: 38px; }
  .overlay { padding: 10px; }
  .modal { max-height: calc(100dvh - 20px); padding: 26px 16px; }
  .modal h2 { padding-inline-end: 24px; }
  .pricing-box, .avatar-explainer { flex-wrap: wrap; }
  .pricing-amount { flex-shrink: 0; }
  .filters { padding: 14px; }
  .filters > * { min-width: 0; max-width: 100%; }
  .panel { padding: 16px; }
  .pay-card { padding: 16px; }
  .pay-option { padding: 10px; gap: 8px; }
  .pay-option .btn { padding-inline: 12px; }
}
@media (max-width: 420px) {
  .site-nav .wrap { grid-template-columns: minmax(0, 1fr); }
  .nav-actions { grid-column: 1; grid-row: 2; display: grid; grid-template-columns: minmax(0, 1fr) auto; width: 100%; }
  .language-selector { width: 100%; }
  .nav-links { grid-row: 3; }
  .pd-row { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

.site-nav .wrap { height: auto; min-height: 78px; gap: 14px; padding-block: 10px; }
.language-control { min-width: 0; flex-shrink: 0; }
.language-control select { min-height: 44px; }
.language-control label { display: none; }
@media (max-width: 640px) {
 .site-nav .wrap { grid-template-columns: minmax(0, 1fr) auto; min-height: 64px; }
 .site-nav .logo { grid-column: 1; grid-row: 1; }
 .site-nav .wrap > .btn { grid-column: 2; grid-row: 1; padding-inline: 12px; }
 .language-control { grid-column: 1 / -1; grid-row: 2; width: 100%; margin: 0; }
 .language-control select { width: 100%; }
 .site-nav .nav-links { grid-row: 3; justify-content: flex-start; }
 .filters .input { min-width: 0 !important; }
}
