/* Shared responsive safeguards: keep component proportions stable on wide screens. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { min-width: 320px; overflow-x: hidden; }
img, video, svg { max-width: 100%; }
img, video { height: auto; }
button, input, select, textarea { font: inherit; }

.site-container { width: calc(100% - 48px); max-width: 1440px; margin-right: auto; margin-left: auto; }

.pcb-button, .pcb-btn, .btn, .action-button, .primary-button, .secondary-button {
  display: inline-flex; align-items: center; justify-content: center; min-width: 0; max-width: 100%;
  line-height: 1.2; text-align: center; writing-mode: horizontal-tb; text-orientation: mixed;
}
.pcb-button--nowrap, .pcb-btn--nowrap, .btn--nowrap { overflow: hidden; white-space: nowrap; word-break: keep-all; text-overflow: ellipsis; }

.pcb-tag, .tag, .chip, .badge, .pill {
  display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: auto;
  min-width: 0; max-width: 100%; white-space: nowrap; word-break: keep-all; line-height: 1.2;
}
.tags, .tag-list, .chip-list, .badge-list { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px 10px; min-width: 0; }
.pcb-site-header__brand, .pcb-site-header__nav, .pcb-site-header__account, .pcb-card__header { min-width: 0; }
.pcb-site-header__nav a, .pcb-site-header__auth, .pcb-button, .pcb-btn, .pcb-tag, .tag, .chip, .badge, .pill { word-break: keep-all; }

@media (max-width: 768px) { .site-container { width: calc(100% - 32px); } }
