.tr-consent {
  position: fixed;
  z-index: 2147483000;
  right: 18px;
  bottom: 18px;
  width: min(430px, calc(100vw - 36px));
  padding: 20px;
  border: 1px solid rgba(201, 169, 97, .45);
  border-radius: 14px;
  background: #0f3024;
  color: #f3efe6;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .28);
  font: 14px/1.55 Geist, Arial, sans-serif;
}

.tr-consent[hidden] { display: none; }
.tr-consent h2 { margin: 0 0 7px; font: inherit; font-size: 16px; font-weight: 700; }
.tr-consent p { margin: 0; color: rgba(243, 239, 230, .82); }
.tr-consent a { color: #e3c67f; text-decoration: underline; }
.tr-consent-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }
.tr-consent button {
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid #c9a961;
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  font-weight: 600;
}
.tr-consent button:focus-visible,
.tr-consent a:focus-visible,
.tr-consent-manage:focus-visible {
  outline: 3px solid #f3efe6;
  outline-offset: 3px;
}
.tr-consent-accept { background: #c9a961; color: #0f3024; }
.tr-consent-reject { background: transparent; color: #f3efe6; }
.tr-consent-analytics { background: #f3efe6; color: #0f3024; }
.tr-consent-copy-mobile,
.tr-consent-label-mobile { display: none; }
.tr-consent-manage {
  position: fixed;
  z-index: 2147482999;
  left: 12px;
  bottom: 12px;
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid rgba(201, 169, 97, .55);
  border-radius: 999px;
  background: #0f3024;
  color: #f3efe6;
  cursor: pointer;
  font: 12px/1.2 Geist, Arial, sans-serif;
}

@media (max-width: 560px) {
  .tr-consent {
    right: 12px;
    bottom: 8px;
    width: calc(100vw - 24px);
    padding: 10px 12px;
    font-size: 12px;
    line-height: 1.35;
  }
  .tr-consent h2 {
    display: inline;
    margin: 0;
    font-size: 13px;
    line-height: 1.35;
  }
  .tr-consent h2::after { content: " —"; }
  .tr-consent p { display: inline; font-size: 12px; line-height: 1.35; }
  .tr-consent-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-top: 7px;
  }
  .tr-consent-actions button {
    min-width: 0;
    min-height: 44px;
    padding: 5px 2px;
    font-size: 11px;
    line-height: 1.1;
  }
  .tr-consent-copy-default { display: none; }
  .tr-consent-copy-mobile { display: inline; }
  .tr-consent-label-default { display: none; }
  .tr-consent-label-mobile { display: inline; }
  .tr-consent-manage { min-width: 44px; min-height: 44px; }
}
