/* Digitalizar Church alpha.27 — contrato global de botões e ações.
 * Esta camada fica isolada aos componentes da suíte para impedir que o tema
 * WordPress/Elementor altere cor de texto, hover ou ícones dos controles. */
:root{
  --pdcm-control-primary:var(--pdcm-brand-primary,#173d5b);
  --pdcm-control-primary-dark:var(--pdcm-brand-primary-dark,#0f2c42);
  --pdcm-control-on-primary:var(--pdcm-brand-on-primary,#fff);
  --pdcm-control-on-primary-dark:var(--pdcm-brand-on-primary-dark,#fff);
  --pdcm-control-surface:var(--pdcm-brand-surface,#fff);
  --pdcm-control-text:var(--pdcm-brand-text,#263946);
  --pdcm-control-muted:var(--pdcm-brand-muted,#687986);
  --pdcm-control-border:var(--pdcm-brand-input-border,#cbd7df);
  --pdcm-control-soft:var(--pdcm-brand-primary-soft,#e9eef2);
  --pdcm-control-danger:var(--pdcm-brand-danger,#a93f49);
  --pdcm-control-on-danger:var(--pdcm-brand-on-danger,#fff);
  --pdcm-control-danger-soft:var(--pdcm-brand-danger-soft,#f6e9ea);
}

/* Botões WordPress usados dentro das telas administrativas da suíte. */
.pdcm-admin :is(a.button,button.button,input.button),
.pdcf-admin :is(a.button,button.button,input.button),
.pdch-portal-management :is(a.button,button.button,input.button),
.pdck-unified :is(a.button,button.button,input.button){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:38px!important;
  box-sizing:border-box!important;
  padding:7px 12px!important;
  border:1px solid var(--pdcm-control-border)!important;
  border-radius:9px!important;
  background:var(--pdcm-control-surface)!important;
  color:var(--pdcm-control-primary)!important;
  font-weight:800!important;
  line-height:1.2!important;
  text-decoration:none!important;
  text-shadow:none!important;
  box-shadow:none!important;
  cursor:pointer;
  transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease!important;
}
.pdcm-admin :is(a.button,button.button,input.button):hover,
.pdcm-admin :is(a.button,button.button,input.button):focus,
.pdcf-admin :is(a.button,button.button,input.button):hover,
.pdcf-admin :is(a.button,button.button,input.button):focus,
.pdch-portal-management :is(a.button,button.button,input.button):hover,
.pdch-portal-management :is(a.button,button.button,input.button):focus,
.pdck-unified :is(a.button,button.button,input.button):hover,
.pdck-unified :is(a.button,button.button,input.button):focus{
  background:var(--pdcm-control-soft)!important;
  border-color:var(--pdcm-control-primary)!important;
  color:var(--pdcm-control-primary-dark)!important;
  text-decoration:none!important;
  text-shadow:none!important;
}

/* Primário: texto sempre calculado contra o fundo, inclusive no hover. */
.pdcm-admin :is(.button-primary,.button.button-primary),
.pdcf-admin :is(.button-primary,.button.button-primary),
.pdch-portal-management :is(.button-primary,.button.button-primary),
.pdck-unified :is(.button-primary,.button.button-primary),
.pdcm-portal :is(.pdcm-button:not(.is-secondary):not(.is-danger),.pdcm-small-button:not(.is-secondary):not(.is-danger),.pdca-connect-submit),
.pdcm-suite-shell :is(.pdcm-suite-primary-action,.pdcm-suite-mobile-toggle),
.pdck-unified :is(.pdck-big-action,.pdck-child-submit),
.dc-prayer-public :is(.dc-prayer-submit,.dc-private-primary),
.dc-intercession-internal :is(.dc-prayer-submit,.dc-private-primary,.dc-request-actions button:not(.is-secondary),.dc-request-card__footer button:not(.is-secondary)){
  background:var(--pdcm-control-primary)!important;
  border-color:var(--pdcm-control-primary)!important;
  color:var(--pdcm-control-on-primary)!important;
  text-shadow:none!important;
  text-decoration:none!important;
}
.pdcm-admin :is(.button-primary,.button.button-primary):hover,
.pdcm-admin :is(.button-primary,.button.button-primary):focus,
.pdcf-admin :is(.button-primary,.button.button-primary):hover,
.pdcf-admin :is(.button-primary,.button.button-primary):focus,
.pdch-portal-management :is(.button-primary,.button.button-primary):hover,
.pdch-portal-management :is(.button-primary,.button.button-primary):focus,
.pdck-unified :is(.button-primary,.button.button-primary):hover,
.pdck-unified :is(.button-primary,.button.button-primary):focus,
.pdcm-portal :is(.pdcm-button:not(.is-secondary):not(.is-danger),.pdcm-small-button:not(.is-secondary):not(.is-danger),.pdca-connect-submit):hover,
.pdcm-portal :is(.pdcm-button:not(.is-secondary):not(.is-danger),.pdcm-small-button:not(.is-secondary):not(.is-danger),.pdca-connect-submit):focus,
.pdcm-suite-shell :is(.pdcm-suite-primary-action,.pdcm-suite-mobile-toggle):hover,
.pdcm-suite-shell :is(.pdcm-suite-primary-action,.pdcm-suite-mobile-toggle):focus,
.pdck-unified :is(.pdck-big-action,.pdck-child-submit):hover,
.pdck-unified :is(.pdck-big-action,.pdck-child-submit):focus,
.dc-prayer-public :is(.dc-prayer-submit,.dc-private-primary):hover,
.dc-prayer-public :is(.dc-prayer-submit,.dc-private-primary):focus,
.dc-intercession-internal :is(.dc-prayer-submit,.dc-private-primary,.dc-request-actions button:not(.is-secondary),.dc-request-card__footer button:not(.is-secondary)):hover,
.dc-intercession-internal :is(.dc-prayer-submit,.dc-private-primary,.dc-request-actions button:not(.is-secondary),.dc-request-card__footer button:not(.is-secondary)):focus{
  background:var(--pdcm-control-primary-dark)!important;
  border-color:var(--pdcm-control-primary-dark)!important;
  color:var(--pdcm-control-on-primary-dark)!important;
  filter:none!important;
  text-shadow:none!important;
  text-decoration:none!important;
}

/* Secundários e ações neutras. */
.pdcm-portal :is(.pdcm-button.is-secondary,.pdcm-button--secondary),
.pdcm-suite-shell .pdcm-suite-secondary-action,
.pdcpv-dashboard .pdcpv-button-secondary,
.dc-intercession-internal :is(button.is-secondary,.dc-intercession-head__actions a),
.dc-prayer-public .dc-private-secondary,
.pdck-unified :is(.pdck-link-button,.pdck-child-form-cancel),
.dc-calendar-page :is(.dc-calendar-secondary,.dc-calendar-nav-button,.dc-calendar-action--edit,.dc-calendar-link-button,.dc-calendar-cancel){
  background:var(--pdcm-control-surface)!important;
  border-color:var(--pdcm-control-border)!important;
  color:var(--pdcm-control-primary)!important;
  text-shadow:none!important;
  text-decoration:none!important;
}
.pdcm-portal :is(.pdcm-button.is-secondary,.pdcm-button--secondary):hover,
.pdcm-portal :is(.pdcm-button.is-secondary,.pdcm-button--secondary):focus,
.pdcm-suite-shell .pdcm-suite-secondary-action:hover,
.pdcm-suite-shell .pdcm-suite-secondary-action:focus,
.pdcpv-dashboard .pdcpv-button-secondary:hover,
.pdcpv-dashboard .pdcpv-button-secondary:focus,
.dc-intercession-internal :is(button.is-secondary,.dc-intercession-head__actions a):hover,
.dc-intercession-internal :is(button.is-secondary,.dc-intercession-head__actions a):focus,
.dc-prayer-public .dc-private-secondary:hover,
.dc-prayer-public .dc-private-secondary:focus,
.pdck-unified :is(.pdck-link-button,.pdck-child-form-cancel):hover,
.pdck-unified :is(.pdck-link-button,.pdck-child-form-cancel):focus,
.dc-calendar-page :is(.dc-calendar-secondary,.dc-calendar-nav-button,.dc-calendar-action--edit,.dc-calendar-link-button,.dc-calendar-cancel):hover,
.dc-calendar-page :is(.dc-calendar-secondary,.dc-calendar-nav-button,.dc-calendar-action--edit,.dc-calendar-link-button,.dc-calendar-cancel):focus{
  background:var(--pdcm-control-soft)!important;
  border-color:var(--pdcm-control-primary)!important;
  color:var(--pdcm-control-primary-dark)!important;
  text-decoration:none!important;
}

/* Ação destrutiva: nunca fica vermelha sobre vermelho, nem invisível no hover. */
.pdcm-admin :is(.pdcm-danger,.button-link-delete),
.pdcf-admin .pdcm-danger,
.pdck-unified .pdcm-danger,
.pdcm-portal :is(.pdcm-link-danger,.pdcm-button.is-danger),
.dc-calendar-page .dc-calendar-action--delete{
  background:var(--pdcm-control-surface)!important;
  border:1px solid color-mix(in srgb,var(--pdcm-control-danger) 58%,var(--pdcm-control-border))!important;
  color:var(--pdcm-control-danger)!important;
  text-shadow:none!important;
  text-decoration:none!important;
}
.pdcm-admin :is(.pdcm-danger,.button-link-delete):hover,
.pdcm-admin :is(.pdcm-danger,.button-link-delete):focus,
.pdcf-admin .pdcm-danger:hover,
.pdcf-admin .pdcm-danger:focus,
.pdck-unified .pdcm-danger:hover,
.pdck-unified .pdcm-danger:focus,
.pdcm-portal :is(.pdcm-link-danger,.pdcm-button.is-danger):hover,
.pdcm-portal :is(.pdcm-link-danger,.pdcm-button.is-danger):focus,
.dc-calendar-page .dc-calendar-action--delete:hover,
.dc-calendar-page .dc-calendar-action--delete:focus{
  background:var(--pdcm-control-danger)!important;
  border-color:var(--pdcm-control-danger)!important;
  color:var(--pdcm-control-on-danger)!important;
  text-shadow:none!important;
  text-decoration:none!important;
  filter:none!important;
}

/* Linhas de ação do Kids recebem a mesma regra neutra. */
.pdck-unified .pdck-row-actions :is(a,.pdck-link-button):not(.pdcm-danger){
  background:var(--pdcm-control-surface)!important;
  border-color:var(--pdcm-control-border)!important;
  color:var(--pdcm-control-primary)!important;
}
.pdck-unified .pdck-row-actions :is(a,.pdck-link-button):not(.pdcm-danger):hover,
.pdck-unified .pdck-row-actions :is(a,.pdck-link-button):not(.pdcm-danger):focus{
  background:var(--pdcm-control-soft)!important;
  border-color:var(--pdcm-control-primary)!important;
  color:var(--pdcm-control-primary-dark)!important;
}

/* Ícones sempre acompanham a cor legível do texto do botão. */
.pdcm-admin :is(.button,.button-primary,.pdcm-danger) :is(svg,.pdcm-ui-icon),
.pdcm-portal :is(.pdcm-button,.pdcm-small-button,.pdcm-link-danger) :is(svg,.pdcm-ui-icon),
.pdcm-suite-shell :is(.pdcm-suite-primary-action,.pdcm-suite-secondary-action,.pdcm-suite-mobile-toggle) :is(svg,.pdcm-ui-icon),
.pdck-unified :is(.button,.pdck-big-action,.pdck-link-button,.pdck-child-submit) :is(svg,.pdcm-ui-icon),
.dc-calendar-page .dc-calendar-action :is(svg,.pdcm-ui-icon){
  color:inherit!important;
  stroke:currentColor!important;
}

/* Focus e disabled consistentes. */
.pdcm-admin :is(.button,.button-primary,.pdcm-danger):focus-visible,
.pdcm-portal :is(.pdcm-button,.pdcm-small-button,.pdcm-link-danger):focus-visible,
.pdcm-suite-shell :is(.pdcm-suite-primary-action,.pdcm-suite-secondary-action,.pdcm-suite-mobile-toggle):focus-visible,
.pdck-unified :is(.button,.pdck-big-action,.pdck-link-button,.pdck-child-submit):focus-visible,
.dc-calendar-page :is(.dc-calendar-action,.dc-calendar-secondary,.dc-calendar-nav-button):focus-visible{
  outline:3px solid color-mix(in srgb,var(--pdcm-control-primary) 24%,transparent)!important;
  outline-offset:2px!important;
}
.pdcm-admin :is(.button,.button-primary):disabled,
.pdcm-admin :is(.button,.button-primary).disabled,
.pdcm-portal :is(.pdcm-button,.pdcm-small-button):disabled,
.pdck-unified :is(.button,.pdck-big-action,.pdck-child-submit):disabled{
  opacity:.55!important;
  background:#edf1f3!important;
  border-color:#d4dde3!important;
  color:#657582!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
  transform:none!important;
}

/* Não permitir que o tema pinte spans/strong internos com a cor dos links. */
.pdcm-admin :is(.button,.button-primary,.pdcm-danger) :is(span,strong,small),
.pdcm-portal :is(.pdcm-button,.pdcm-small-button,.pdcm-link-danger) :is(span,strong,small),
.pdcm-suite-shell :is(.pdcm-suite-primary-action,.pdcm-suite-secondary-action) :is(span,strong,small),
.pdck-unified :is(.button,.pdck-big-action,.pdck-link-button,.pdck-child-submit) :is(span,strong,small),
.dc-calendar-page .dc-calendar-action :is(span,strong,small){color:inherit!important}

@media(max-width:700px){
  .pdcm-admin .pdcm-inline .button,
  .pdcf-admin .pdcm-inline .button,
  .pdck-unified .pdck-row-actions :is(a,.pdck-link-button,.button){min-height:40px!important}
}

/* Entrada/login também segue o mesmo contrato visual. */
.pdcm-login input[type="submit"],
.pdcm-login .pdcm-button{
  min-height:44px!important;
  border:1px solid var(--pdcm-control-primary)!important;
  border-radius:9px!important;
  background:var(--pdcm-control-primary)!important;
  color:var(--pdcm-control-on-primary)!important;
  font-weight:800!important;
  text-shadow:none!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.pdcm-login input[type="submit"]:hover,
.pdcm-login input[type="submit"]:focus,
.pdcm-login .pdcm-button:hover,
.pdcm-login .pdcm-button:focus{
  background:var(--pdcm-control-primary-dark)!important;
  border-color:var(--pdcm-control-primary-dark)!important;
  color:var(--pdcm-control-on-primary-dark)!important;
  text-shadow:none!important;
}

/* Controles específicos que não usam as classes genéricas. */
.dc-private-gateway input[type="submit"],
.dc-private-gateway .dc-private-primary{
  background:var(--pdcm-control-primary)!important;
  border-color:var(--pdcm-control-primary)!important;
  color:var(--pdcm-control-on-primary)!important;
}
.dc-private-gateway input[type="submit"]:hover,
.dc-private-gateway input[type="submit"]:focus,
.dc-private-gateway .dc-private-primary:hover,
.dc-private-gateway .dc-private-primary:focus{
  background:var(--pdcm-control-primary-dark)!important;
  border-color:var(--pdcm-control-primary-dark)!important;
  color:var(--pdcm-control-on-primary-dark)!important;
}
.dc-prayer-public .dc-prayer-wall__card button{
  background:var(--pdcm-control-surface)!important;
  border:1px solid var(--pdcm-control-border)!important;
  color:var(--pdcm-control-primary)!important;
}
.dc-prayer-public .dc-prayer-wall__card button:hover,
.dc-prayer-public .dc-prayer-wall__card button:focus{
  background:var(--pdcm-control-soft)!important;
  border-color:var(--pdcm-control-primary)!important;
  color:var(--pdcm-control-primary-dark)!important;
}
.dc-prayer-public .dc-prayer-wall__card button span{color:inherit!important}
.dc-calendar-page .dc-calendar-day__add:hover,
.dc-calendar-page .dc-calendar-day__add:focus{
  background:var(--pdcm-control-soft)!important;
  border-color:var(--pdcm-control-primary)!important;
  color:var(--pdcm-control-primary-dark)!important;
}
