/* Shared responsive corrections; keep content visible instead of clipping it. */
.policy-card, .source-card, .source-copy, .source-media,
.contact-layout > *, .config-main, .quote-summary, .footer-col {
  min-width: 0;
}
.policy-card, .source-copy, .footer-col a, .quote-item {
  overflow-wrap: anywhere;
}
.footer-col a, .cookie-settings-button { max-width: 100%; }
.cookie-panel {
  max-height: 100dvh;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.cookie-panel-inner > * { min-width: 0; }
.parapet-app .config-chip--color {
  grid-template-columns: 54px minmax(0, 1fr);
  overflow-wrap: anywhere;
}
.parapet-app .config-chip--color > * { min-width: 0; }
@media (min-width: 901px) and (max-width: 1100px) {
  .parapet-app .config-chip-grid--colors {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 1100px) {
  .parapet-app .cart-table { display: block; min-width: 0; }
  .parapet-app .cart-table thead { display: none; }
  .parapet-app .cart-table tbody { display: grid; gap: 12px; }
  .parapet-app .cart-table tr {
    display: grid; background: #fff; border: 1px solid var(--line);
    border-radius: 6px; min-width: 0;
  }
  .parapet-app .cart-table td {
    display: grid; grid-template-columns: minmax(92px, .46fr) minmax(0, 1fr);
    gap: 8px; padding: 10px 12px; overflow-wrap: anywhere;
  }
  .parapet-app .cart-table td::before {
    content: attr(data-label); font-size: 12px; color: var(--muted);
    font-weight: 700;
  }
  .parapet-app .cart-actions { white-space: normal; }
}
@media (max-width: 1100px) {
  .menu-toggle { display: block; }
  .nav-links {
    position: absolute; top: 100%; left: 24px; right: 24px;
    display: none; flex-direction: column; align-items: stretch;
    gap: 0; padding: 10px; background: var(--white);
    border: 1px solid var(--line); border-radius: 8px;
    max-height: calc(100dvh - 160px); overflow-y: auto;
  }
  .nav-links.is-open { display: flex; }
  .nav-links a { padding: 12px 14px; }
  .nav-links a::after { display: none; }
}
@media (max-width: 960px) {
  .topbar-inner {
    flex-wrap: wrap; justify-content: center;
    white-space: normal; overflow: visible;
    gap: 4px 14px; padding-block: 7px;
    text-align: center; font-size: 12px;
  }
  .topbar-inner > * { max-width: 100%; overflow-wrap: anywhere; }
}
@media (max-width: 680px) {
  .parapet-app .config-chip--color { grid-template-columns: minmax(0, 1fr); }
  .policy-card h2, .source-copy h3 { font-size: 24px; }
  .policy-card table { table-layout: fixed; }
  .policy-card th, .policy-card td {
    padding: 7px 4px; font-size: 12px; overflow-wrap: anywhere;
  }
  .source-card, .source-card:not(.has-media) {
    grid-template-columns: minmax(0, 1fr);
  }
  .cookie-actions { grid-template-columns: minmax(0, 1fr); }
  .cookie-actions .button { white-space: normal; }
  .nav-links { left: 16px; right: 16px; }
}
