/* Specificity deliberately exceeds Blocksy's generated :root, regardless of print order.
   Neutral palette slots 3-8 remain owned by the active child theme. */
html:root {
  --theme-palette-color-1: var(--ld-primary);
  --theme-palette-color-2: var(--ld-primary-hover);
  --theme-link-initial-color: var(--ld-link);
  --theme-link-hover-color: var(--ld-link-hover);
  --theme-button-text-initial-color: var(--ld-on-primary);
  --theme-button-text-hover-color: var(--ld-on-primary);
  --theme-button-background-initial-color: var(--ld-primary);
  --theme-button-background-hover-color: var(--ld-primary-hover);
  --theme-form-field-border-focus-color: var(--ld-focus);
  --theme-selection-background-color: var(--ld-primary);
  --theme-selection-text-color: var(--ld-on-primary);
}

/* Prose only: headings, navigation, image links and button labels keep their roles. */
:is(.entry-content,.wp-block-post-content) :where(p,li,figcaption,blockquote) a:where(:not(.button,.ct-button,.ct-button-ghost,.wp-element-button,.wp-block-button__link,.ld-button)):where(:not(:has(img))):where(:not(:is(h1,h2,h3,h4,h5,h6,nav) a)),
.ld-home .ld-text-link,.ld-public-support a,.ld-policy-link,#ldPolicyOpenNewTab {
  color: var(--ld-link);
  text-decoration: underline;
  text-underline-offset: .2em;
}
:is(.entry-content,.wp-block-post-content) :where(p,li,figcaption,blockquote) a:where(:not(.button,.ct-button,.ct-button-ghost,.wp-element-button,.wp-block-button__link,.ld-button)):where(:not(:has(img))):where(:not(:is(h1,h2,h3,h4,h5,h6,nav) a)):is(:hover,:focus-visible),
.ld-home .ld-text-link:is(:hover,:focus-visible),.ld-public-support a:is(:hover,:focus-visible),.ld-policy-link:is(:hover,:focus-visible),#ldPolicyOpenNewTab:is(:hover,:focus-visible) {
  color: var(--ld-link-hover);
}
/* Explicit visited button labels also protect the staged release before CSS migration. */
:is(.entry-content,.wp-block-post-content,main) :is(.ct-button,.ct-button-ghost,.button,.wp-element-button,.wp-block-button__link):visited {
  color: var(--theme-button-text-initial-color);
}
:is(.entry-content,.wp-block-post-content,main) :is(.ct-button,.ct-button-ghost,.button,.wp-element-button,.wp-block-button__link):visited:hover {
  color: var(--theme-button-text-hover-color);
}
:is(main,footer) :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 3px solid var(--ld-focus);
  outline-offset: 3px;
}
/* The existing outlined/ghost variant is the secondary role. */
.ct-button-ghost,.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link,.wp-block-buttons .wp-block-button .wp-block-button__link.is-style-outline {
  --theme-button-text-initial-color: var(--ld-secondary-text);
  --theme-button-text-hover-color: var(--ld-secondary-text);
  --theme-button-background-initial-color: var(--ld-secondary-bg);
  --theme-button-background-hover-color: var(--ld-secondary-hover);
  color: var(--ld-secondary-text);
  background-color: var(--ld-secondary-bg);
  border-color: var(--ld-secondary-border);
}
.ct-button-ghost:hover,.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link:hover,.wp-block-buttons .wp-block-button .wp-block-button__link.is-style-outline:hover {
  color: var(--ld-secondary-text);
  background-color: var(--ld-secondary-hover);
  border-color: var(--ld-secondary-border);
}

/* Registration palette migrated from Additional CSS; structure stays in place.
   !important is limited to fields already governed by the legacy important rules. */
:is(#pms_register-form,#ld-register-form) :is(input[type=text],input[type=email],input[type=password],input[type=tel],input[type=url],input[type=number],textarea,select) {
  background-color: var(--ld-surface) !important;
  color: #111 !important;
  border-color: var(--ld-secondary-border) !important;
}
:is(#pms_register-form,#ld-register-form) :is(input,textarea,select):focus-visible {
  border-color: var(--ld-focus) !important;
  outline: 3px solid var(--ld-focus);
  outline-offset: 3px;
}
:is(#pms_register-form,#ld-register-form) .ld-ok { color: var(--ld-success); opacity: 1; }
:is(#pms_register-form,#ld-register-form) :is(.pms-error,p.pms-error,.ld-bad) { color: var(--ld-error-text); opacity: 1; }

:is(#pms_register-form,#ld-register-form) .ld-help:is(.ld-ok,.ld-bad) { opacity: 1; }

/* Only the existing final account-creation control is a conversion action. */
#ld-register-form #ld-register-submit {
  background-color: var(--ld-cta);
  color: var(--ld-cta-text);
  box-shadow: inset 0 0 0 1px var(--ld-cta-focus);
}
#ld-register-form #ld-register-submit:is(:hover,:focus-visible) {
  background-color: var(--ld-cta-hover);
  color: var(--ld-cta-text);
}
#ld-register-form #ld-register-submit:focus-visible {
  outline: 3px solid var(--ld-cta-focus);
  outline-offset: 2px;
  box-shadow: inset 0 0 0 1px var(--ld-cta-focus),0 0 0 2px var(--ld-surface);
}
