.ctr-panel {
  padding: clamp(1rem, 3vw, 1.75rem);
  border: 1px solid var(--ctr-border, #746b7d);
  border-radius: var(--ctr-radius, 10px);
  background: var(--ctr-surface, #403b47);
  color: var(--ctr-text, #f4efe7);
}

.ctr-form {
  display: grid;
  gap: 1rem;
}

.ctr-form label {
  display: grid;
  gap: 0.35rem;
  color: var(--ctr-text-soft, #d1c9d4);
  font-weight: 650;
}

.ctr-form .ctr-registration-other[hidden] {
  display: none !important;
}

.ctr-form h2 {
  margin: 0;
}

.ctr-form button {
  justify-self: start;
}

.ctr-profile-fieldset {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  border: 1px solid var(--ctr-border-soft, #5c5564);
  padding: 1rem;
}

.ctr-profile-fieldset legend {
  padding-inline: 0.35rem;
  color: var(--ctr-text, #f4efe7);
  font-weight: 850;
}

.ctr-field-hint {
  margin: 0;
  color: var(--ctr-muted, #b2a6b5);
  font-size: 0.86rem;
  line-height: 1.45;
}

.ctr-registration-choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(4, minmax(42px, auto));
  grid-auto-flow: column;
  align-items: stretch;
  gap: 0.45rem 1rem;
}

.ctr-registration-choice {
  display: grid !important;
  grid-template-columns: auto 1fr;
  align-items: start;
  min-height: 100%;
  gap: 0.55rem !important;
}

.ctr-registration-choice input {
  width: auto;
  margin-top: 0.3rem;
}

.ctr-registration-choices > .ctr-registration-choice:last-child:nth-child(odd) {
  justify-self: stretch;
  width: 100%;
}

.ctr-profile-forum-fields {
  display: grid;
  gap: 1rem;
  margin-top: 0.35rem;
}

.ctr-profile-forum-fields[hidden] {
  display: none;
}

.ctr-profile-forum-fields small {
  color: var(--ctr-muted, #b2a6b5);
  font-size: 0.8rem;
  font-weight: 500;
}

.ctr-registration-professional {
  display: grid;
  gap: 0.8rem;
  margin-top: 0.35rem;
  border-top: 1px solid var(--ctr-border-soft, #5c5564);
  padding-top: 1rem;
}

.ctr-registration-professional[hidden] {
  display: none;
}

@media (max-width: 620px) {
  .ctr-registration-choices {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
  }

  .ctr-registration-choices > .ctr-registration-choice:last-child:nth-child(odd) {
    grid-column: auto;
    justify-self: stretch;
    width: 100%;
  }
}

.ctr-check {
  display: flex !important;
  align-items: flex-start;
  grid-template-columns: auto 1fr;
  gap: 0.65rem !important;
}

.ctr-check input {
  width: auto;
  margin-top: 0.3rem;
}

.ctr-notice {
  padding: 0.8rem 1rem;
  margin: 0 0 1rem;
  border: 1px solid var(--ctr-border, #746b7d);
  border-left-width: 5px;
  border-radius: 6px;
  background: var(--ctr-surface, #403b47);
  color: var(--ctr-text, #f4efe7);
}

.ctr-notice--warning {
  border-left-color: var(--ctr-gold, #d8b45d);
}

.ctr-notice--danger {
  border-left-color: var(--ctr-danger, #ef9da9);
}

.ctr-notice--success {
  border-left-color: var(--ctr-positive, #9bd6b2);
}

.ctr-locked {
  padding: 1.4rem;
  border: 1px dashed var(--ctr-gold, #d8b45d);
  border-radius: 8px;
  background: color-mix(in srgb, var(--ctr-surface, #403b47) 88%, transparent);
  color: var(--ctr-text, #f4efe7);
  text-align: center;
}

.ctr-exhibitions {
  display: grid;
  gap: 1.25rem;
}

.ctr-exhibition-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.ctr-exhibition-summary > div {
  min-height: 92px;
  display: grid;
  align-content: center;
  gap: 0.15rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--ctr-border, #746b7d);
  background: var(--ctr-surface, #403b47);
  text-align: center;
}

.ctr-exhibition-summary strong {
  color: var(--ctr-gold-bright, #efd282);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.65rem, 4vw, 2.4rem);
  line-height: 1;
}

.ctr-exhibition-summary span {
  color: var(--ctr-text-soft, #d1c9d4);
  font-size: 0.76rem;
  font-weight: 750;
}

.ctr-filter {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(150px, 230px) auto;
  gap: 0.65rem;
}

.ctr-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--ctr-border, #746b7d);
  border-radius: 8px;
  background: var(--ctr-surface, #403b47);
}

.ctr-table {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
}

.ctr-table th,
.ctr-table td {
  padding: 0.78rem;
  border-bottom: 1px solid var(--ctr-border-soft, #5c5564);
  text-align: left;
  vertical-align: top;
}

.ctr-table th {
  background: var(--ctr-surface-soft, #36313c);
  color: var(--ctr-text, #f4efe7);
  font-size: 0.78rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.ctr-table td {
  color: var(--ctr-text-soft, #d1c9d4);
  font-size: 0.9rem;
}

.ctr-table tbody tr:hover td {
  background: var(--ctr-surface-raised, #4a4452);
}

.ctr-table small {
  display: block;
  margin-top: 0.2rem;
  color: var(--ctr-muted, #b8afbd);
}

.ctr-table-wrap--locked .ctr-table {
  min-width: 700px;
}

.ctr-report-button {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 0.25rem 0;
  margin-top: 1.2rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ctr-muted, #b8afbd);
  font-size: 0.75rem;
  font-weight: 650;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 0.2em;
}

.ctr-report-button:hover {
  background: transparent;
  color: var(--ctr-danger, #ef9da9);
}

.ctr-report-dialog {
  width: min(560px, calc(100% - 2rem));
  padding: 1.5rem;
  border: 1px solid var(--ctr-border, #746b7d);
  border-radius: 10px;
  background: var(--ctr-surface, #403b47);
  color: var(--ctr-text, #f4efe7);
  box-shadow: 0 28px 80px rgb(0 0 0 / 50%);
}

.ctr-report-dialog::backdrop {
  background: rgb(4 3 5 / 72%);
  backdrop-filter: blur(3px);
}

.ctr-report-dialog__close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
}

.ctr-report-dialog__close button {
  min-width: 38px;
  min-height: 38px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ctr-text, #f4efe7);
  font-size: 1.5rem;
}

.ctr-report-dialog__actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.65rem;
}

.ctr-report-dialog__status {
  min-height: 1.5em;
  margin: 0;
  color: var(--ctr-positive, #9bd6b2);
}

.ctr-report-dialog__status.is-error {
  color: var(--ctr-danger, #ef9da9);
}

.ctr-article-preview {
  position: relative;
}

.ctr-article-preview > p {
  max-height: 8em;
  overflow: hidden;
  mask-image: linear-gradient(#000 45%, transparent);
}

.ctr-forum-author-card {
  display: grid;
  gap: 0.35rem;
  margin-top: 0.65rem;
  font-size: 0.72rem;
  line-height: 1.35;
}

.ctr-forum-author-card dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.12rem 0.4rem;
  margin: 0.25rem 0 0;
}

.ctr-forum-author-card dt {
  color: var(--ctr-muted, #b8afbd);
}

.ctr-forum-author-card dd {
  margin: 0;
  color: var(--ctr-text-soft, #d1c9d4);
  overflow-wrap: anywhere;
}

.ctr-role-badge {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  padding: 0.18rem 0.38rem;
  border: 1px solid var(--ctr-border, #746b7d);
  border-radius: 3px;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.2;
}

.ctr-role-badge--staff {
  border-color: #9b7bac;
  background: color-mix(in srgb, #745c83 28%, transparent);
  color: #ead8f4;
}

html[data-theme="light"] .ctr-role-badge--staff {
  color: #4e2e5d;
}

.ctr-role-badge--fci {
  border-color: #4f9a6c;
  background: color-mix(in srgb, #34704b 34%, transparent);
  color: #c8f2d7;
}

html[data-theme="light"] .ctr-role-badge--fci {
  color: #185633;
}

.ctr-role-badge--other {
  background: color-mix(in srgb, var(--ctr-muted, #b8afbd) 16%, transparent);
  color: var(--ctr-text-soft, #d1c9d4);
}

@media (max-width: 680px) {
  .ctr-filter {
    grid-template-columns: 1fr;
  }

  .ctr-exhibition-summary {
    grid-template-columns: 1fr;
  }
}


/* Edytowalna lista psów — jeden pies w jednym, czytelnym wierszu. */
.ctr-profile-optional {
  margin-left: .35rem;
  color: var(--ctr-muted, #c7bdca);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.ctr-dog-list {
  display: grid;
  gap: .65rem;
}

.ctr-dog-row {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  align-items: center;
  gap: .65rem;
}

.ctr-dog-row label {
  color: var(--ctr-text, #f4efe7);
}

.ctr-dog-row input {
  width: 100%;
  min-width: 0;
}

.ctr-form .ctr-dog-remove,
.ctr-form .ctr-dog-add {
  min-height: 40px;
  border: 1px solid var(--ctr-border, #746b7d);
  border-radius: 7px;
  background: transparent;
  padding: .5rem .8rem;
  color: var(--ctr-text, #f4efe7);
  font-weight: 700;
  cursor: pointer;
}

.ctr-form .ctr-dog-add {
  border-color: var(--ctr-accent, #d8b45d);
  color: var(--ctr-accent, #e1bd66);
}

.ctr-form .ctr-dog-remove:hover,
.ctr-form .ctr-dog-remove:focus,
.ctr-form .ctr-dog-add:hover,
.ctr-form .ctr-dog-add:focus {
  background: rgb(255 255 255 / 8%);
}

@media (max-width: 620px) {
  .ctr-dog-row {
    grid-template-columns: 1fr auto;
  }

  .ctr-dog-row label {
    grid-column: 1 / -1;
  }
}


/* Mój profil — czytelny układ i wyraźne stany */
.ctr-profile-form {
  width: min(100%, 1180px);
  margin-inline: auto;
  gap: 1.15rem;
  padding: clamp(1.15rem, 3vw, 2rem);
  border: 1px solid #8f8298;
  background: linear-gradient(145deg, #47404d 0%, #3d3744 100%);
  box-shadow: 0 22px 55px rgb(8 5 10 / 24%);
}

.ctr-profile-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1.5rem;
  padding-bottom: 0.25rem;
}

.ctr-profile-head h2,
.ctr-profile-head p {
  margin: 0;
}

.ctr-profile-head > p {
  max-width: 520px;
  color: #ded5df;
  line-height: 1.5;
}

.ctr-profile-kicker {
  color: #f0cf78;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.15em;
}

.ctr-profile-form label,
.ctr-profile-form legend {
  color: #fff9f0;
}

.ctr-profile-form .ctr-field-hint,
.ctr-profile-form .ctr-field-help,
.ctr-profile-form small {
  color: #ddd3df;
  line-height: 1.5;
}

.ctr-profile-form input[type="text"],
.ctr-profile-form input[type="email"],
.ctr-profile-form select,
.ctr-profile-form textarea {
  min-height: 46px;
  border: 2px solid #92859b;
  border-radius: 6px;
  background: #2f2934;
  color: #fff;
  box-shadow: inset 0 1px 2px rgb(0 0 0 / 22%);
}

.ctr-profile-form input::placeholder,
.ctr-profile-form textarea::placeholder {
  color: #bdb3c1;
  opacity: 1;
}

.ctr-profile-form input:focus,
.ctr-profile-form select:focus,
.ctr-profile-form textarea:focus {
  border-color: #efc75f;
  outline: 3px solid rgb(239 199 95 / 23%);
  outline-offset: 1px;
  box-shadow: none;
}

.ctr-profile-card,
.ctr-profile-fieldset,
.ctr-profile-optional-details {
  border-radius: 10px;
}

.ctr-profile-card {
  padding: 1rem;
  border: 1px solid #746a7c;
  background: #39333f;
}

.ctr-profile-forum {
  gap: 1rem;
  padding: clamp(1rem, 2.4vw, 1.4rem);
  border: 1px solid #c5a34f;
  background: linear-gradient(145deg, #403746 0%, #39313e 100%);
}

.ctr-profile-forum > legend {
  padding-inline: 0.55rem;
  color: #f2d37d;
  font-size: 1.05rem;
}

.ctr-profile-forum-toggle {
  align-items: center;
  padding: 1rem;
  border: 1px solid #807488;
  border-radius: 8px;
  background: #2e2833;
  cursor: pointer;
}

.ctr-profile-forum-toggle:hover {
  border-color: #d2b15b;
  background: #332c38;
}

.ctr-profile-forum-toggle input,
.ctr-profile-consent input,
.ctr-profile-form .ctr-registration-choice input {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  accent-color: #dfb84e;
}

.ctr-profile-forum-toggle span {
  display: grid;
  gap: 0.15rem;
}

.ctr-profile-forum-toggle strong {
  color: #fffaf0;
  font-size: 1.03rem;
}

.ctr-profile-forum-fields {
  gap: 1.15rem;
  padding-top: 0.25rem;
}

.ctr-profile-subfieldset {
  display: grid;
  gap: 0.85rem;
  margin: 0;
  padding: 1rem;
  border: 1px solid #766b7e;
  border-radius: 8px;
  background: rgb(31 26 35 / 23%);
}

.ctr-profile-subfieldset > legend {
  padding-inline: 0.4rem;
  font-weight: 800;
}

.ctr-profile-breeder {
  display: grid;
  gap: 0.8rem;
  padding: 1rem;
  border: 1px solid #887a91;
  border-left: 4px solid #d3ad4f;
  border-radius: 8px;
  background: #342d39;
}

.ctr-profile-breeder[hidden] {
  display: none;
}

.ctr-profile-breeder h3 {
  margin: 0;
  color: #f3d37b;
  font-size: 1rem;
}

.ctr-profile-two-cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.ctr-profile-consent {
  padding: 0.85rem 1rem;
  border-radius: 8px;
  background: #302a35;
}

.ctr-profile-visibility {
  margin: 0;
  padding: 0.85rem 1rem;
  border-left: 3px solid #8d8196;
  background: rgb(27 22 31 / 24%);
  color: #ddd4df;
  font-size: 0.86rem;
  line-height: 1.55;
}

.ctr-profile-optional-details {
  overflow: clip;
  border: 1px solid #7e7386;
  background: #39333f;
}

.ctr-profile-optional-details summary {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 1rem;
  color: #fff9f0;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.ctr-profile-optional-details summary::-webkit-details-marker {
  display: none;
}

.ctr-profile-optional-details summary::after {
  content: "+";
  color: #efcb6d;
  font-size: 1.45rem;
  line-height: 1;
}

.ctr-profile-optional-details[open] summary::after {
  content: "−";
}

.ctr-profile-optional-details summary span {
  margin-left: auto;
  color: #d8ceda;
  font-size: 0.78rem;
  font-weight: 650;
}

.ctr-profile-optional-content {
  display: grid;
  gap: 1rem;
  padding: 0 1rem 1rem;
}

.ctr-profile-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.ctr-profile-actions > span {
  color: #d8ceda;
  font-size: 0.84rem;
}

.ctr-profile-form .ctr-profile-save {
  min-height: 48px;
  padding: 0.75rem 1.35rem;
  border: 1px solid #f1cf72;
  border-radius: 6px;
  background: linear-gradient(180deg, #eccb70 0%, #d8ad45 100%);
  color: #251f2a;
  font-weight: 850;
  box-shadow: 0 7px 18px rgb(9 6 11 / 22%);
}

.ctr-profile-form .ctr-profile-save:hover,
.ctr-profile-form .ctr-profile-save:focus-visible {
  background: #f3d67f;
  color: #1e1922;
  transform: translateY(-1px);
}

.ctr-profile-form .ctr-notice {
  margin: 0;
  background: #312b36;
}

.ctr-profile-form .ctr-notice p {
  margin: 0.55rem 0 0;
}

@media (max-width: 680px) {
  .ctr-profile-head,
  .ctr-profile-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .ctr-profile-two-cols {
    grid-template-columns: 1fr;
  }

  .ctr-profile-form .ctr-profile-save {
    width: 100%;
    justify-self: stretch;
  }
}


/* Jednorazowe dokończenie zgłoszenia do Forum po pierwszym logowaniu */
.ctr-forum-onboarding-panel {
  display: grid;
  width: min(100%, 1180px);
  margin: 0 auto 1rem;
  gap: 0.8rem;
  padding: clamp(1rem, 2.5vw, 1.4rem);
  border: 1px solid #b99a4e;
  border-left: 4px solid #efc75f;
  border-radius: 10px;
  background: linear-gradient(145deg, #4a414f 0%, #3d3643 100%);
  color: #fff9f0;
  box-shadow: 0 16px 38px rgb(8 5 10 / 22%);
}

.ctr-forum-onboarding-panel strong {
  color: #fffaf1;
  font-size: clamp(1.15rem, 2vw, 1.35rem);
}

.ctr-forum-onboarding-panel p,
.ctr-forum-onboarding-panel small {
  margin: 0.35rem 0 0;
  color: #e5dce6;
  line-height: 1.55;
}

.ctr-forum-onboarding-dismiss {
  margin: 0;
}

.ctr-forum-onboarding-dismiss button {
  min-height: 44px;
  padding: 0.7rem 1rem;
  border: 1px solid #d8b45d;
  border-radius: 6px;
  background: transparent;
  color: #f4d77f;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.ctr-forum-onboarding-dismiss button:hover,
.ctr-forum-onboarding-dismiss button:focus-visible {
  background: rgb(239 199 95 / 12%);
  color: #fff3c7;
  outline: 2px solid rgb(239 199 95 / 28%);
  outline-offset: 2px;
}

#ctr-forum-application {
  scroll-margin-top: 110px;
}


/* Psy przy profilu i wpisach na Forum */
.ctr-profile-form .ctr-dog-row {
  grid-template-columns: 100px minmax(180px, 1fr) minmax(190px, 240px) auto;
  align-items: end;
}

.ctr-profile-form .ctr-dog-row > input,
.ctr-profile-form .ctr-dog-row select {
  min-height: 44px;
}

.ctr-dog-sex {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.5rem !important;
}

.ctr-dog-sex > span {
  color: #e8dfe9;
  font-size: 0.78rem;
  font-weight: 700;
}

.ctr-dog-sex select {
  width: 100%;
  min-width: 0;
}

.ctr-dog-list-actions {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin-top: 0.75rem;
}

.ctr-dog-list-actions small {
  color: #d8ceda;
  font-variant-numeric: tabular-nums;
}

.ctr-form .ctr-dog-add:disabled {
  border-color: #746b7d;
  background: rgb(255 255 255 / 4%);
  color: #bdb3c0;
  cursor: default;
  opacity: 0.82;
}

.ctr-dog-display-options {
  margin: 1rem 0 0;
  border: 0;
  padding: 0;
}

.ctr-dog-display-options > legend {
  margin-bottom: 0.65rem;
  font-size: 0.92rem;
  font-weight: 800;
}

.ctr-dog-display-choices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}

.ctr-dog-display-choices > label {
  display: flex !important;
  min-width: 0;
  align-items: flex-start;
  gap: 0.55rem !important;
  border: 1px solid #756b7c;
  border-radius: 8px;
  background: #38323e;
  padding: 0.75rem;
  cursor: pointer;
}

.ctr-dog-display-choices > label:has(input:checked) {
  border-color: #e3bd5e;
  background: #463d46;
  box-shadow: inset 3px 0 #e3bd5e;
}

.ctr-dog-display-choices input {
  width: auto;
  margin-top: 0.22rem;
  accent-color: #dcb759;
}

.ctr-dog-display-choices span {
  display: grid;
  gap: 0.2rem;
}

.ctr-dog-display-choices strong {
  color: #fff8ed;
  font-size: 0.96rem;
}

.ctr-dog-display-choices small {
  color: #d8ceda;
}

.ctr-forum-preview {
  display: grid;
  gap: 0.45rem;
  border: 1px solid #807486;
  border-left: 4px solid #e3bd5e;
  border-radius: 9px;
  background: #332e39;
  padding: 1rem;
}

.ctr-forum-preview > p,
.ctr-forum-preview > h3,
.ctr-forum-preview > small {
  margin: 0;
}

.ctr-forum-preview__kicker {
  color: #f0cf78;
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.13em;
}

.ctr-forum-preview > h3 {
  color: #fff9f0;
  font-size: 1rem;
}

.ctr-forum-preview__card {
  width: min(100%, 440px);
  margin-top: 0.25rem;
  border: 1px solid #655c6c;
  border-radius: 7px;
  background: #29242f;
  padding: 0.8rem;
}

.ctr-forum-preview__card > strong {
  color: #fff8ed;
  font-size: 0.95rem;
}

.ctr-forum-preview__card dl {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.28rem 0.65rem;
  margin: 0.55rem 0 0;
  font-size: 0.78rem;
}

.ctr-forum-preview__card dt {
  color: #bfb4c2;
}

.ctr-forum-preview__card dd {
  min-width: 0;
  margin: 0;
  color: #eee6ef;
}

.ctr-author-dogs {
  display: flex !important;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: .3rem 1rem;
}

.ctr-author-dog-chip,
.ctr-author-dog-icon {
  display: inline-flex;
  max-width: 100%;
  align-items: center;
  gap: 0.18rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ctr-text, #f4efe7);
  line-height: 1.2;
}

.ctr-author-dog-chip {
  padding: 0;
}

.ctr-author-dog-icon {
  min-width: 0;
  min-height: 0;
  justify-content: flex-start;
  padding: 0;
  cursor: help;
}

.ctr-dog-paw {
  font-size: 0.88em;
}

.ctr-dog-sex-symbol {
  color: var(--ctr-gold, #e1bd66);
  font-size: 1.05em;
  font-weight: 900;
  line-height: 1;
}

.ctr-dog-name,
.ctr-author-dog-name {
  overflow-wrap: anywhere;
}

.ctr-author-dogs--names {
  gap: 0.18rem;
}

.ctr-author-dogs--names .ctr-author-dog-name:not(:last-child)::after {
  content: ",";
}

html[data-theme="light"] .ctr-dog-display-choices > label {
  border-color: #b9aebd;
  background: #f5f1f6;
}

html[data-theme="light"] .ctr-dog-display-choices > label:has(input:checked) {
  border-color: #9a7424;
  background: #fff8e5;
}

html[data-theme="light"] .ctr-dog-display-choices strong,
html[data-theme="light"] .ctr-forum-preview > h3,
html[data-theme="light"] .ctr-forum-preview__card > strong {
  color: #2d2631;
}

html[data-theme="light"] .ctr-dog-display-choices small,
html[data-theme="light"] .ctr-dog-sex > span,
html[data-theme="light"] .ctr-dog-list-actions small {
  color: #5f5663;
}

html[data-theme="light"] .ctr-forum-preview {
  border-color: #b8aebc;
  border-left-color: #a77d22;
  background: #f7f3f8;
}

html[data-theme="light"] .ctr-forum-preview__card {
  border-color: #c8becb;
  background: #fff;
}

html[data-theme="light"] .ctr-forum-preview__card dt {
  color: #655b69;
}

html[data-theme="light"] .ctr-forum-preview__card dd {
  color: #332b36;
}

@media (max-width: 800px) {
  .ctr-profile-form .ctr-dog-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .ctr-profile-form .ctr-dog-row > [data-ctr-dog-label],
  .ctr-profile-form .ctr-dog-row > input {
    grid-column: 1 / -1;
  }

  .ctr-profile-form .ctr-dog-row > .ctr-dog-sex {
    grid-column: 1;
  }

  .ctr-dog-display-choices {
    grid-template-columns: 1fr;
  }
}


.ctr-dog-sex-key {
  width: fit-content;
  margin: -0.15rem 0 0.75rem;
  border-radius: 999px;
  background: rgb(227 189 94 / 10%);
  padding: 0.28rem 0.55rem;
  color: #efe5ef;
  font-size: 0.82rem;
}

.ctr-dog-sex-key strong {
  color: #f0cf78;
}

html[data-theme="light"] .ctr-dog-sex-key {
  background: #fff4d6;
  color: #403746;
}

html[data-theme="light"] .ctr-dog-sex-key strong {
  color: #765315;
}


.ctr-profile-motto {
  display: grid !important;
  gap: 0.45rem !important;
}

.ctr-author-motto {
  margin: 0.55rem 0 0;
  border-top: 1px solid color-mix(in srgb, var(--ctr-border, #746b7d) 70%, transparent);
  padding-top: 0.5rem;
  color: var(--ctr-text-soft, #d1c9d4);
  font-size: 0.78rem;
  font-style: italic;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.ctr-author-motto::before {
  content: "„";
}

.ctr-author-motto::after {
  content: "”";
}

html[data-theme="light"] .ctr-author-motto {
  color: #4d4451;
}


/* Wyraźna hierarchia formularza profilu */
.ctr-profile-form {
  background: linear-gradient(145deg, #3f3745 0%, #332d39 100%);
}

#ctr-forum-application {
  border-color: #b59343;
  background: #29242f;
  padding: clamp(1rem, 2.6vw, 1.45rem);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 2%);
}

#ctr-forum-application > legend {
  padding-inline: 0.55rem;
  color: #f0cf78;
  font-size: 1.08rem;
  font-weight: 850;
}

.ctr-profile-forum-toggle {
  border-color: #aa8b43 !important;
  background: #211d27 !important;
  padding: 1rem !important;
}

.ctr-profile-forum-fields {
  gap: 1.35rem;
  margin-top: 1rem;
}

.ctr-profile-section {
  border: 1px solid #786c80 !important;
  border-radius: 9px;
  background: #403845;
  padding: clamp(1rem, 2vw, 1.2rem) !important;
  box-shadow: 0 10px 24px rgb(10 7 12 / 12%);
}

.ctr-profile-basics {
  display: grid;
  gap: 0.9rem;
}

.ctr-profile-basics > h3 {
  margin: 0 0 0.1rem;
  color: #f0cf78;
  font-size: 1rem;
}

.ctr-profile-subfieldset.ctr-profile-section > legend {
  padding-inline: 0.45rem;
  color: #f0cf78;
  font-size: 1rem;
  font-weight: 850;
}

.ctr-profile-dogs.ctr-profile-section {
  border-color: #9c8145 !important;
  background: #342e3a;
}

.ctr-profile-motto.ctr-profile-section {
  background: #38313e;
}

.ctr-profile-form input[type="text"],
.ctr-profile-form input[type="email"],
.ctr-profile-form textarea,
.ctr-profile-form select {
  border-color: #918499 !important;
  background: #231f29 !important;
  color: #fffaf2 !important;
}

.ctr-profile-form input[type="text"]:focus,
.ctr-profile-form input[type="email"]:focus,
.ctr-profile-form textarea:focus,
.ctr-profile-form select:focus {
  border-color: #edc760 !important;
  outline: 2px solid rgb(237 199 96 / 20%);
  outline-offset: 1px;
  box-shadow: none !important;
}

.ctr-profile-form .ctr-field-hint,
.ctr-profile-form .ctr-field-help,
.ctr-profile-form small {
  color: #d9cfdb;
}

.ctr-profile-section .ctr-registration-choice {
  border-radius: 6px;
  padding: 0.34rem 0.42rem;
}

.ctr-profile-section .ctr-registration-choice:hover {
  background: rgb(255 255 255 / 4%);
}

.ctr-profile-consent {
  border: 1px solid #695f70;
  border-radius: 8px;
  background: #211d27;
  padding: 0.95rem !important;
}

.ctr-profile-visibility {
  margin: 0;
  border-left: 4px solid #9f91a7;
  border-radius: 0 7px 7px 0;
  background: #25212b;
  padding: 0.85rem 1rem;
  color: #ded5df;
}

.ctr-profile-optional-details {
  background: #2d2833;
}

html[data-theme="light"] #ctr-forum-application {
  border-color: #9c7829;
  background: #f7f3f8;
}

html[data-theme="light"] .ctr-profile-forum-toggle,
html[data-theme="light"] .ctr-profile-consent {
  background: #fff !important;
}

html[data-theme="light"] .ctr-profile-section {
  border-color: #c3b8c7 !important;
  background: #fff;
}

html[data-theme="light"] .ctr-profile-dogs.ctr-profile-section,
html[data-theme="light"] .ctr-profile-motto.ctr-profile-section {
  background: #faf7fb;
}

html[data-theme="light"] .ctr-profile-form input[type="text"],
html[data-theme="light"] .ctr-profile-form input[type="email"],
html[data-theme="light"] .ctr-profile-form textarea,
html[data-theme="light"] .ctr-profile-form select {
  border-color: #918699 !important;
  background: #fff !important;
  color: #2e2732 !important;
}

html[data-theme="light"] .ctr-profile-visibility {
  background: #f2edf4;
  color: #403746;
}

@media (max-width: 680px) {
  #ctr-forum-application {
    padding: 0.85rem;
  }

  .ctr-profile-section {
    padding: 0.9rem !important;
  }
}


/* Jeden obrys strony profilu; pola zachowują własne obramowanie. */
.ctr-profile-form,
html[data-theme="light"] .ctr-profile-form {
  width: 100%;
  max-width: none;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.ctr-profile-card--identity,
html[data-theme="light"] .ctr-profile-card--identity {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.ctr-exhibition-cta { display:flex; justify-content:center; flex-wrap:wrap; gap:.75rem; margin-top:1rem; }
.ctr-exhibition-cta a { display:inline-flex; align-items:center; justify-content:center; padding:.65rem 1rem; border:1px solid #d8b764; border-radius:7px; background:#d8b764; color:#201a24; font-weight:750; text-decoration:none; }
.ctr-exhibition-cta a:first-child { background:transparent; color:#f1d78d; }
html[data-theme="light"] .ctr-exhibition-cta a:first-child { color:#6c4b12; }

.ctr-profile-forum-toggle,
html[data-theme="light"] .ctr-profile-forum-toggle {
  border: 0 !important;
  background: transparent !important;
  padding: .45rem 0 !important;
}

/* Profil: karta psów otwiera się dopiero po wyborze relacji z rasą. */
.ctr-profile-dogs.ctr-profile-section { display: block !important; }
.ctr-profile-dogs[hidden] { display: none !important; }
.ctr-profile-dogs > summary { cursor: pointer; color: #f0cf78; font-weight: 850; list-style: none; }
.ctr-profile-dogs > summary::-webkit-details-marker { display: none; }
.ctr-profile-dogs > summary::after { content: "▾"; float: right; }
.ctr-profile-dogs[open] > summary::after { transform: rotate(180deg); }
.ctr-profile-dogs__content { display: grid; gap: .75rem; margin-top: .75rem; }
html[data-theme="light"] .ctr-profile-dogs > summary { color: #5d421e; }
.ctr-registration-contact-name { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1rem; }
.ctr-registration-contact-name > .ctr-field-help { grid-column: 1 / -1; }
@media (max-width: 680px) { .ctr-registration-contact-name { grid-template-columns: 1fr; } }

/* Profil: krótkie imię domowe i miejsce na pełne imię rodowodowe. */
@media (min-width: 1050px) {
  .ctr-profile-form .ctr-dog-row { grid-template-columns: 100px minmax(120px, 170px) minmax(240px, 1fr) minmax(160px, 210px) minmax(68px, 78px); }
}
@media (max-width: 1049px) {
  .ctr-profile-form .ctr-dog-row { grid-template-columns: minmax(0, 1fr) auto; }
  .ctr-profile-form .ctr-dog-row > [data-ctr-dog-label] { grid-column: 1; grid-row: 1; }
  .ctr-profile-form .ctr-dog-row > [data-ctr-remove-dog] { grid-column: 2; grid-row: 1; }
  .ctr-profile-form .ctr-dog-row > .ctr-dog-name-field { grid-column: 1 / -1; grid-row: 2; width: 100%; max-width: 190px; }
  .ctr-profile-form .ctr-dog-row > .ctr-dog-affix-field { grid-column: 1 / -1; grid-row: 3; width: 100%; }
  .ctr-profile-form .ctr-dog-row > .ctr-dog-sex { grid-column: 1 / -1; grid-row: 4; max-width: 280px; }
}
.ctr-profile-form .ctr-profile-basics > label { color: #f0cf78; font-weight: 850; }
html[data-theme="light"] .ctr-profile-form .ctr-profile-basics > label { color: #5d421e; }

/* Psy jako podsekcja związku użytkownika z rasą. */
.ctr-profile-forum-fields > .ctr-profile-dogs { margin-inline-start: 1.5rem; width: calc(100% - 1.5rem); }
@media (max-width: 680px) { .ctr-profile-forum-fields > .ctr-profile-dogs { margin-inline-start: .75rem; width: calc(100% - .75rem); } }

/* Wybór płci i statusu psa bez list rozwijanych. */
.ctr-profile-form .ctr-dog-row > .ctr-dog-sex,
.ctr-profile-form .ctr-dog-row > .ctr-dog-life { display: flex !important; flex-wrap: wrap; align-items: center; gap: .25rem .65rem !important; min-width: 0; margin: 0; border: 0; padding: 0; }
.ctr-profile-form .ctr-dog-row > :is(.ctr-dog-sex, .ctr-dog-life) > legend { float: none; width: 100%; margin: 0 0 .1rem; padding: 0; color: #d9cfdb; font-size: .8rem; font-weight: 700; }
.ctr-profile-form .ctr-dog-row > :is(.ctr-dog-sex, .ctr-dog-life) > label { display: inline-flex !important; align-items: center; gap: .3rem !important; width: auto; font-size: .85rem; font-weight: 600; white-space: nowrap; cursor: pointer; }
.ctr-profile-form .ctr-dog-row :is(.ctr-dog-sex, .ctr-dog-life, .ctr-dog-forum-name) input[type="checkbox"] { width: auto !important; min-width: 0; margin: 0; accent-color: #e5c36e; }
.ctr-profile-form .ctr-dog-row > .ctr-dog-forum-name { display: inline-flex !important; align-items: center; gap: .45rem !important; width: 100%; min-width: 0; font-size: .85rem; font-weight: 600; cursor: pointer; }
.ctr-profile-form .ctr-dog-forum-name:has(input:disabled) { opacity: .62; cursor: default; }
.ctr-author-dog-chip .ctr-dog-name { min-width: 0; overflow-wrap: anywhere; }
.ctr-author-dog-name { overflow-wrap: anywhere; }
.ctr-dog-life-marker { font-size: .78em; white-space: nowrap; opacity: .88; }
@media (min-width: 1050px) {
 .ctr-profile-form .ctr-dog-row > [data-ctr-dog-label] { grid-column: 1; grid-row: 1; }
 .ctr-profile-form .ctr-dog-row > .ctr-dog-name-field { grid-column: 2; grid-row: 1; }
 .ctr-profile-form .ctr-dog-row > .ctr-dog-affix-field { grid-column: 3; grid-row: 1; }
 .ctr-profile-form .ctr-dog-row > .ctr-dog-sex { grid-column: 4; grid-row: 1; }
 .ctr-profile-form .ctr-dog-row > [data-ctr-remove-dog] { grid-column: 5; grid-row: 1; }
 .ctr-profile-form .ctr-dog-row > .ctr-dog-life { grid-column: 2; grid-row: 2; }
 .ctr-profile-form .ctr-dog-row > .ctr-dog-forum-name { grid-column: 3 / 6; grid-row: 2; }
}
@media (max-width: 1049px) {
 .ctr-profile-form .ctr-dog-row > .ctr-dog-life { grid-column: 1 / -1; grid-row: 5; }
 .ctr-profile-form .ctr-dog-row > .ctr-dog-forum-name { grid-column: 1 / -1; grid-row: 6; }
}

/* Formularz psów: jedna karta na psa, pola w kolejności wypełniania. */
.ctr-profile-form .ctr-dog-list { gap: 1rem; }
.ctr-profile-dogs__content > .ctr-field-hint { margin: 0; line-height: 1.45; }
.ctr-profile-dogs__content > .ctr-dogs-required-hint { color: #f2d37b; font-weight: 750; }
.ctr-profile-form .ctr-dog-row {
  display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  align-items: start;
  gap: .85rem 1.2rem;
  border: 1px solid #82758b;
  border-radius: 9px;
  background: #413947;
  padding: 1rem 1.15rem;
}
.ctr-profile-form .ctr-dog-row > [data-ctr-dog-label] { grid-column: 1; grid-row: 1; align-self: center; color: #f0cf78; font-size: 1rem; }
.ctr-profile-form .ctr-dog-row > [data-ctr-remove-dog] { grid-column: 2; grid-row: 1; justify-self: end; min-height: 34px; padding: .3rem .65rem; font-size: .85rem; }
.ctr-profile-form .ctr-dog-row > .ctr-dog-name-field { grid-column: 1; grid-row: 2; max-width: none; min-width: 0; width: 100%; }
.ctr-profile-form .ctr-dog-row > .ctr-dog-affix-field { grid-column: 2; grid-row: 2; min-width: 0; width: 100%; }
.ctr-profile-form .ctr-dog-row > .ctr-dog-sex { grid-column: 1; grid-row: 3; max-width: none; }
.ctr-profile-form .ctr-dog-row > .ctr-dog-life { grid-column: 2; grid-row: 3; }
.ctr-profile-form .ctr-dog-row > .ctr-dog-forum-name { grid-column: 1 / -1; grid-row: 4; }
.ctr-profile-form .ctr-dog-row > :is(.ctr-dog-name-field, .ctr-dog-affix-field) { display: grid; align-content: start; gap: .35rem; font-size: .9rem; font-weight: 750; }
.ctr-profile-form .ctr-dog-row > :is(.ctr-dog-name-field, .ctr-dog-affix-field) > span { min-height: 1.4rem; }
.ctr-profile-form .ctr-dog-row > :is(.ctr-dog-name-field, .ctr-dog-affix-field) small { font-weight: 600; }
.ctr-profile-form .ctr-dog-row .ctr-dog-required { color: #f4cf68; font-style: normal; font-weight: 900; }
.ctr-profile-form .ctr-dog-row > :is(.ctr-dog-sex, .ctr-dog-life) > legend { margin-bottom: .25rem; font-size: .88rem; color: #f0e9f0; }
.ctr-profile-form .ctr-dog-row > :is(.ctr-dog-sex, .ctr-dog-life) > label { min-height: 32px; padding: .2rem .35rem; font-size: .91rem; }
.ctr-profile-form .ctr-dog-row :is(.ctr-dog-sex, .ctr-dog-life, .ctr-dog-forum-name) input[type=checkbox] { width: 18px !important; height: 18px; flex: 0 0 18px; }
.ctr-profile-form .ctr-dog-row > .ctr-dog-forum-name { border-top: 1px solid #726577; padding-top: .65rem; font-size: .9rem; }
.ctr-profile-form .ctr-dog-row > .ctr-dog-forum-name:has(input:disabled) { display: none !important; }
.ctr-dog-list-actions { margin-top: .1rem; }
.ctr-dog-display-options { margin-top: .45rem; }
.ctr-dog-display-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.ctr-dog-display-choices > label { align-items: center; padding: .55rem .7rem; }
.ctr-dog-display-choices strong { font-size: .9rem; }
.ctr-dog-display-choices small { font-size: .78rem; }
.ctr-profile-breeder [hidden] { display: none !important; }
html[data-theme="light"] .ctr-profile-form .ctr-dog-row { border-color: #b6aabc; background: #fff; }
html[data-theme="light"] .ctr-profile-form .ctr-dog-row > [data-ctr-dog-label],
html[data-theme="light"] .ctr-profile-form .ctr-dog-row .ctr-dog-required { color: #78520b; }
html[data-theme="light"] .ctr-profile-form .ctr-dog-row > :is(.ctr-dog-sex, .ctr-dog-life) > legend { color: #403746; }
html[data-theme="light"] .ctr-profile-form .ctr-dog-row > .ctr-dog-forum-name { border-color: #d6cbd9; }
@media (max-width: 720px) {
  .ctr-profile-form .ctr-dog-row { grid-template-columns: minmax(0, 1fr); gap: .7rem; padding: .85rem; }
  .ctr-profile-form .ctr-dog-row > [data-ctr-dog-label] { grid-column: 1; grid-row: 1; }
  .ctr-profile-form .ctr-dog-row > [data-ctr-remove-dog] { grid-column: 1; grid-row: 1; }
  .ctr-profile-form .ctr-dog-row > .ctr-dog-name-field { grid-column: 1; grid-row: 2; max-width: 220px; }
  .ctr-profile-form .ctr-dog-row > .ctr-dog-affix-field { grid-column: 1; grid-row: 3; }
  .ctr-profile-form .ctr-dog-row > .ctr-dog-sex { grid-column: 1; grid-row: 4; }
  .ctr-profile-form .ctr-dog-row > .ctr-dog-life { grid-column: 1; grid-row: 5; }
  .ctr-profile-form .ctr-dog-row > .ctr-dog-forum-name { grid-column: 1; grid-row: 6; }
  .ctr-dog-display-choices { grid-template-columns: 1fr; }
}

/* Psy za Tęczowym Mostem: świeczka i spokojny odcień zamiast tekstu statusu. */
.ctr-author-dog-chip.ctr-dog--memorial,
.ctr-author-dog-icon.ctr-dog--memorial {
  color: #e8cfe9;
}
.ctr-author-dog-name.ctr-dog--memorial { color: #e8cfe9; }
.ctr-dog--memorial .ctr-dog-sex-symbol { color: #d8bee6; }
.ctr-dog-memorial { display: inline-block; width: 1.55rem; height: 1.75rem; flex: 0 0 1.55rem; margin-inline-start: .12rem; vertical-align: -.35rem; background: url("https://czarnyterier.org/wp-content/uploads/2026/09/swieczka-za-tm.png") center / contain no-repeat; }
html[data-theme="light"] .ctr-author-dog-chip.ctr-dog--memorial,
html[data-theme="light"] .ctr-author-dog-icon.ctr-dog--memorial {
  color: #644568;
}
html[data-theme="light"] .ctr-author-dog-name.ctr-dog--memorial { color: #644568; }
html[data-theme="light"] .ctr-dog--memorial .ctr-dog-sex-symbol { color: #754d80; }

/* Czytelność objaśnień formularza w jasnym motywie. */
html[data-theme="light"] .ctr-profile-form :is(.ctr-field-hint, .ctr-field-help, small, .ctr-profile-optional),
html[data-theme="light"] .ctr-profile-form .ctr-profile-actions > span,
html[data-theme="light"] .ctr-profile-form .ctr-profile-head > p { color: #574d5d; }
html[data-theme="light"] .ctr-profile-form .ctr-dogs-required-hint,
html[data-theme="light"] .ctr-forum-preview__kicker { color: #765316; }
html[data-theme="light"] .ctr-profile-form input::placeholder,
html[data-theme="light"] .ctr-profile-form textarea::placeholder { color: #6d626f; }
html[data-theme="light"] .ctr-profile-form legend { color: #403746; }
html[data-theme="light"] .ctr-profile-form :is(.ctr-profile-subfieldset, .ctr-profile-forum) > legend { color: #765316; }
html[data-theme="light"] .ctr-form .ctr-dog-add { color: #704f16; border-color: #a98537; }

/* Nagłówek Forum i ostrzeżenie w jasnym motywie. */
html[data-theme="light"] #ctr-forum-application > legend { color: #765316 !important; }
html[data-theme="light"] #ctr-forum-application .ctr-profile-forum-toggle strong { color: #2e2732 !important; }
html[data-theme="light"] .ctr-profile-form .ctr-notice--warning { color: #493c2b; background: #fff3dc; border-left-color: #9b742c; }

/* Jedyny status do zaznaczenia: za TM, świeczka jak symbol płci. */
.ctr-profile-form .ctr-dog-row .ctr-dog-life label > span { display: inline-flex; align-items: center; gap: .18rem; }
.ctr-profile-form .ctr-dog-row .ctr-dog-life .ctr-dog-memorial { width: 1.3rem; height: 1.55rem; flex: 0 0 1.3rem; margin: 0; vertical-align: middle; }


/* Paleta strony profilu: ustawiana w Wygląd portalu, osobno dla obu trybów. */
body.ctr-section-profile {
  --ctr-profile-field-bg-active: var(--ctr-profile-field-bg-dark);
  --ctr-profile-field-text-active: var(--ctr-profile-field-text-dark);
  --ctr-profile-field-border-active: var(--ctr-profile-field-border-dark);
}
html[data-theme="light"] body.ctr-section-profile {
  --ctr-profile-field-bg-active: var(--ctr-profile-field-bg-light);
  --ctr-profile-field-text-active: var(--ctr-profile-field-text-light);
  --ctr-profile-field-border-active: var(--ctr-profile-field-border-light);
}
body.ctr-section-profile .ctr-profile-form { color: var(--ctr-section-body-active); }
body.ctr-section-profile .ctr-profile-head h2,
body.ctr-section-profile .ctr-profile-kicker,
body.ctr-section-profile .ctr-profile-form .ctr-profile-basics > label,
body.ctr-section-profile .ctr-profile-form :is(.ctr-profile-subfieldset, .ctr-profile-forum) > legend,
body.ctr-section-profile .ctr-profile-dogs > summary,
body.ctr-section-profile .ctr-profile-breeder h3 {
  color: var(--ctr-section-heading-active);
}
body.ctr-section-profile .ctr-profile-head h2 { font-size: var(--ctr-section-heading-size-active); }
body.ctr-section-profile .ctr-profile-head > p,
body.ctr-section-profile .ctr-profile-form :is(.ctr-field-hint, .ctr-field-help, small, .ctr-profile-actions > span) {
  color: color-mix(in srgb, var(--ctr-section-body-active) 84%, var(--ctr-section-card-body-active));
}
body.ctr-section-profile .ctr-profile-form :is(label, legend, .ctr-profile-forum-toggle strong) {
  color: var(--ctr-section-body-active);
}
body.ctr-section-profile .ctr-profile-section,
body.ctr-section-profile .ctr-profile-dogs.ctr-profile-section,
body.ctr-section-profile .ctr-profile-motto.ctr-profile-section {
  background: var(--ctr-section-card-body-active);
  border-color: color-mix(in srgb, var(--ctr-section-heading-active) 35%, var(--ctr-section-card-body-active)) !important;
  color: var(--ctr-section-body-active);
}
body.ctr-section-profile :is(.ctr-profile-forum, .ctr-profile-breeder, .ctr-profile-form .ctr-dog-row, .ctr-profile-optional-details) {
  background: var(--ctr-section-card-header-active);
  color: var(--ctr-section-body-active);
}
body.ctr-section-profile .ctr-profile-form :is(input[type="text"], input[type="email"], textarea, select) {
  background: var(--ctr-profile-field-bg-active) !important;
  color: var(--ctr-profile-field-text-active) !important;
  border-color: var(--ctr-profile-field-border-active) !important;
}
html[data-theme="light"] body.ctr-section-profile .ctr-profile-section,
html[data-theme="light"] body.ctr-section-profile .ctr-profile-dogs.ctr-profile-section,
html[data-theme="light"] body.ctr-section-profile .ctr-profile-motto.ctr-profile-section {
  background: var(--ctr-section-card-body-active);
  border-color: color-mix(in srgb, var(--ctr-section-heading-active) 35%, var(--ctr-section-card-body-active)) !important;
}
html[data-theme="light"] body.ctr-section-profile :is(.ctr-profile-forum, .ctr-profile-breeder, .ctr-profile-form .ctr-dog-row, .ctr-profile-optional-details) {
  background: var(--ctr-section-card-header-active);
}
html[data-theme="light"] body.ctr-section-profile .ctr-profile-form :is(input[type="text"], input[type="email"], textarea, select) {
  background: var(--ctr-profile-field-bg-active) !important;
  color: var(--ctr-profile-field-text-active) !important;
  border-color: var(--ctr-profile-field-border-active) !important;
}
html[data-theme="light"] body.ctr-section-profile .ctr-profile-form :is(.ctr-field-hint, .ctr-field-help, small, .ctr-profile-actions > span, .ctr-profile-head > p) {
  color: color-mix(in srgb, var(--ctr-section-body-active) 84%, var(--ctr-section-card-body-active));
}

body.ctr-section-profile .ctr-profile-form :is(input, textarea)::placeholder { color: color-mix(in srgb, var(--ctr-profile-field-text-active) 68%, var(--ctr-profile-field-bg-active)); opacity: 1; }


/* Jasna informacja o dostępie do Forum zamiast formularza publikowania. */
#bbpress-forums .ctr-forum-access-notice {
  display: flex;
  align-items: center;
  gap: .85rem;
  margin: 1rem 0 1.3rem;
  padding: .9rem 1.1rem;
  border: 1px solid #aa874e;
  border-left: 5px solid #e3bd70;
  border-radius: 8px;
  background: #3b3038;
  color: #fff1d9;
  box-shadow: 0 8px 24px rgb(0 0 0 / 16%);
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.45;
}
#bbpress-forums .ctr-forum-access-notice p { margin: 0; color: inherit; }
#bbpress-forums .ctr-forum-access-icon { width: 68px; height: 68px; flex: 0 0 68px; }
#bbpress-forums .ctr-forum-access-notice a { color: #ffe296; font-weight: 850; text-decoration: underline; text-underline-offset: .18em; }
#bbpress-forums .ctr-forum-access-notice a:hover { color: #fff; }
html[data-theme="light"] #bbpress-forums .ctr-forum-access-notice { border-color: #aa874e; background: #fff1d0; color: #392b21; box-shadow: 0 6px 18px rgb(69 47 29 / 10%); }

html[data-theme="light"] #bbpress-forums .ctr-forum-access-notice a { color: #6a3908; }
@media (max-width: 600px) { #bbpress-forums .ctr-forum-access-notice { align-items: flex-start; } }

/* Emotikony edytora Forum, dostępne po zatwierdzeniu konta. */
#bbpress-forums .ctr-forum-emotes { position: relative; display: flex; margin: .4rem 0 .65rem; }
#bbpress-forums .ctr-forum-emotes__trigger { min-height: 38px; padding: .4rem .85rem; border: 1px solid #ad936a; border-radius: 7px; background: #433a42; color: #ffdf99; font: inherit; font-weight: 700; cursor: pointer; }
#bbpress-forums .ctr-forum-emotes__trigger:hover, #bbpress-forums .ctr-forum-emotes__trigger[aria-expanded="true"] { background: #5b4751; border-color: #ebca85; }
#bbpress-forums .ctr-forum-emotes__palette { position: absolute; z-index: 20; top: calc(100% + 4px); left: 0; display: flex; flex-wrap: wrap; gap: .25rem; padding: .4rem; border: 1px solid #bba17c; border-radius: 9px; background: #39323c; box-shadow: 0 10px 25px rgb(0 0 0 / 25%); }
#bbpress-forums .ctr-forum-emotes__palette[hidden] { display: none; }
#bbpress-forums .ctr-forum-emotes__item { display: grid; place-items: center; width: 42px; height: 42px; padding: 3px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: #ffdf99; font-size: 1.4rem; cursor: pointer; }
#bbpress-forums .ctr-forum-emotes__item:hover, #bbpress-forums .ctr-forum-emotes__item:focus-visible { border-color: #e7bf73; background: #554650; }
#bbpress-forums .ctr-forum-emotes__item img { display: block; width: 24px; height: 28px; object-fit: contain; }
#bbpress-forums img.ctr-forum-candle-emoji { display: inline-block; width: 1.3em; height: 1.55em; object-fit: contain; vertical-align: -.38em; }
html[data-theme="light"] #bbpress-forums .ctr-forum-emotes__trigger { background: #fff4dd; color: #553609; }
html[data-theme="light"] #bbpress-forums .ctr-forum-emotes__palette { background: #fff8ed; border-color: #b59c78; box-shadow: 0 8px 25px rgb(67 47 31 / 17%); }
html[data-theme="light"] #bbpress-forums .ctr-forum-emotes__item { color: #553609; }
html[data-theme="light"] #bbpress-forums .ctr-forum-emotes__item:hover, html[data-theme="light"] #bbpress-forums .ctr-forum-emotes__item:focus-visible { background: #fae7c4; }

/* Odpowiedzi z rejestracji są wczytane: na Forum pokazujemy krótki podgląd. */
body.ctr-section-profile .ctr-profile-relationship-edit { margin: .2rem 0; }
body.ctr-section-profile .ctr-profile-relationship-edit > summary { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .8rem .9rem; border: 1px solid color-mix(in srgb, var(--ctr-section-heading-active) 38%, var(--ctr-section-card-body-active)); border-radius: 7px; background: color-mix(in srgb, var(--ctr-section-heading-active) 10%, var(--ctr-section-card-body-active)); color: var(--ctr-section-body-active); font-weight: 700; list-style: none; cursor: pointer; }
body.ctr-section-profile .ctr-profile-relationship-edit > summary::-webkit-details-marker { display: none; }
body.ctr-section-profile .ctr-profile-relationship-edit > summary strong { flex: 0 0 auto; color: var(--ctr-section-heading-active); text-decoration: underline; text-underline-offset: .17em; }
body.ctr-section-profile .ctr-profile-relationship-edit > summary:focus-visible { outline: 2px solid var(--ctr-section-heading-active); outline-offset: 2px; }
body.ctr-section-profile .ctr-profile-relationship-edit[open] > summary { margin-bottom: .8rem; }
body.ctr-section-profile .ctr-profile-relationship-edit__fields { display: grid; gap: .75rem; }

/* Sekcje profilu jak czytelne, zwijane karty. */
body.ctr-section-profile .ctr-profile-form { width: min(100%, 1180px); padding: 0; border: 0; background: transparent; box-shadow: none; gap: .9rem; }
body.ctr-section-profile .ctr-profile-head { padding: .35rem .15rem .55rem; }
body.ctr-section-profile .ctr-profile-accordion { width: 100%; margin: 0; overflow: hidden; border: 1px solid color-mix(in srgb, var(--ctr-section-heading-active) 35%, var(--ctr-section-card-body-active)); border-radius: 8px; background: var(--ctr-section-card-body-active); box-shadow: 0 6px 18px rgb(0 0 0 / 9%); }
body.ctr-section-profile .ctr-profile-accordion > summary { display: flex; align-items: center; min-height: 66px; padding: .82rem 3.2rem .82rem 1.2rem; position: relative; list-style: none; cursor: pointer; background: var(--ctr-section-card-header-active); color: var(--ctr-section-body-active); }
body.ctr-section-profile .ctr-profile-accordion > summary::-webkit-details-marker { display: none; }
body.ctr-section-profile .ctr-profile-accordion > summary::after { content: '⌄'; position: absolute; right: 1.3rem; top: 50%; transform: translateY(-55%); font-size: 1.45rem; line-height: 1; color: var(--ctr-section-heading-active); transition: transform .18s ease; }
body.ctr-section-profile .ctr-profile-accordion[open] > summary::after { transform: translateY(-40%) rotate(180deg); }
body.ctr-section-profile .ctr-profile-accordion > summary:focus-visible { outline: 3px solid var(--ctr-section-heading-active); outline-offset: -4px; }
body.ctr-section-profile .ctr-profile-accordion > summary > span { display: grid; gap: .15rem; }
body.ctr-section-profile .ctr-profile-accordion > summary strong { font-size: 1.05rem; color: var(--ctr-section-heading-active); }
body.ctr-section-profile .ctr-profile-accordion > summary small { font-size: .84rem; font-weight: 500; color: var(--ctr-section-body-active); }
body.ctr-section-profile .ctr-profile-accordion__content { padding: 1.1rem 1.2rem 1.25rem; border-top: 1px solid color-mix(in srgb, var(--ctr-section-heading-active) 22%, transparent); }
body.ctr-section-profile .ctr-profile-accordion--account .ctr-profile-card { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
body.ctr-section-profile #ctr-forum-application { display: grid; gap: 1rem; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
body.ctr-section-profile .ctr-profile-accordion--preview { box-shadow: none; }
body.ctr-section-profile .ctr-profile-accordion--preview > summary { min-height: 56px; }
body.ctr-section-profile .ctr-profile-accordion--preview .ctr-forum-preview { margin: 0; border: 0; border-radius: 0; box-shadow: none; }
body.ctr-section-profile .ctr-profile-actions { margin-top: .3rem; }
@media (max-width: 640px) { body.ctr-section-profile .ctr-profile-head { display: grid; gap: .5rem; } body.ctr-section-profile .ctr-profile-accordion__content { padding: .9rem; } }

body.ctr-section-profile article.content-card { padding: 0; border: 0; background: transparent; box-shadow: none; }

/* Zdjęcie profilowe w sekcji danych, także w jasnej palecie. */
body.ctr-section-profile .ctr-profile-identity-grid { display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: 1.3rem; align-items: start; }
body.ctr-section-profile .ctr-profile-avatar-card { display: grid; gap: .75rem; padding-right: 1.25rem; border-right: 1px solid color-mix(in srgb, var(--ctr-section-heading-active) 25%, transparent); }
body.ctr-section-profile .ctr-profile-avatar-card > strong { color: var(--ctr-section-heading-active); }
body.ctr-section-profile .ctr-profile-avatar-row { display: flex; align-items: flex-start; gap: .8rem; }
body.ctr-section-profile .ctr-profile-avatar-row > img { display: block; flex: 0 0 82px; width: 82px; height: 82px; object-fit: cover; border: 1px solid color-mix(in srgb, var(--ctr-section-heading-active) 38%, var(--ctr-section-card-body-active)); border-radius: 7px; background: var(--ctr-section-card-header-active); }
body.ctr-section-profile .ctr-profile-avatar-row > label { flex: 1 1 auto; min-width: 0; font-size: .9rem; }
body.ctr-section-profile .ctr-profile-avatar-row input[type="file"] { display: block; width: 100%; max-width: 100%; margin: .35rem 0; color: var(--ctr-section-body-active); font-size: .8rem; }
body.ctr-section-profile .ctr-profile-avatar-row input[type="file"]::file-selector-button { margin-right: .45rem; padding: .45rem .65rem; border: 0; border-radius: 5px; background: var(--ctr-section-heading-active); color: var(--ctr-section-card-body-active); font: inherit; font-weight: 750; cursor: pointer; }
body.ctr-section-profile .ctr-profile-avatar-option { display: flex; gap: .55rem; align-items: center; font-size: .86rem; }
body.ctr-section-profile .ctr-profile-avatar-option input { width: 18px; height: 18px; accent-color: var(--ctr-section-heading-active); }
body.ctr-section-profile .ctr-profile-name-card { display: grid; gap: .3rem; min-width: 0; }
body.ctr-section-profile .ctr-forum-preview__name-row { display: flex; align-items: center; gap: .75rem; }
body.ctr-section-profile .ctr-forum-preview__name-row img { width: 44px; height: 44px; object-fit: cover; border-radius: 7px; }
@media (max-width: 700px) { body.ctr-section-profile .ctr-profile-identity-grid { grid-template-columns: 1fr; } body.ctr-section-profile .ctr-profile-avatar-card { padding: 0 0 .9rem; border-right: 0; border-bottom: 1px solid color-mix(in srgb, var(--ctr-section-heading-active) 25%, transparent); } }

/* Zdjęcie wybiera jeden czytelny przycisk zamiast systemowego pola pliku. */
body.ctr-section-profile .ctr-profile-avatar-controls { display: flex; flex: 1 1 auto; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; gap: .45rem; }
body.ctr-section-profile .ctr-profile-avatar-controls input[type="file"] { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); border: 0; white-space: nowrap; }
body.ctr-section-profile .ctr-profile-avatar-button { display: inline-flex; justify-content: center; align-items: center; max-width: 100%; padding: .5rem .75rem; border-radius: 5px; background: var(--ctr-section-heading-active); color: var(--ctr-section-card-body-active); font-size: .84rem; font-weight: 750; line-height: 1.2; cursor: pointer; }
body.ctr-section-profile .ctr-profile-avatar-controls input[type="file"]:focus-visible + .ctr-profile-avatar-button { outline: 3px solid var(--ctr-section-heading-active); outline-offset: 3px; }
body.ctr-section-profile .ctr-profile-avatar-controls small { display: block; overflow-wrap: anywhere; font-size: .76rem; line-height: 1.35; }

body.ctr-section-profile .ctr-profile-form .ctr-profile-avatar-controls label.ctr-profile-avatar-button { color: var(--ctr-section-card-body-active); }

/* Komunikat dla zalogowanego: wyraźne zaproszenie i osobny wiersz decyzji. */
#bbpress-forums .ctr-forum-access-notice .ctr-forum-access-notice__approval { display: block; margin-top: .35rem; }
#bbpress-forums .ctr-forum-access-notice a.ctr-forum-access-notice__join,
#bbpress-forums .ctr-forum-access-notice a.ctr-forum-access-notice__join:is(:hover, :focus-visible) { color: #ffe296; }
html[data-theme="light"] #bbpress-forums .ctr-forum-access-notice a.ctr-forum-access-notice__join { color: #8c6300; }
html[data-theme="light"] #bbpress-forums .ctr-forum-access-notice a.ctr-forum-access-notice__join:is(:hover, :focus-visible) { color: #795400; }

/* Oba komunikaty: szerokość treści, środek forum i fioletowe tło. */
#bbpress-forums .ctr-forum-access-notice { clear: both; width: max-content; max-width: 100%; margin-inline: auto; font-size: .875rem; background: linear-gradient(115deg, #5a4a66, #4e4259); }
html[data-theme="light"] #bbpress-forums .ctr-forum-access-notice { background: linear-gradient(115deg, #f3e9f3, #f8f0f4); color: #372c3b; }
