/* Directory Manager unified frontend button system. */
:is(.dm-auth-submit,.dm-primary-action,.dm-action,.dm-profile-actions a,.dm-profile-actions button,.dm-search>button,.dm-form-actions button,.dm-contact-card form>button,.dm-review-form>button,.dm-inline-response button,.dm-sidebar-panel form>button,.dm-panel form>button,.dm-pricing-grid article>a,.dm-checkout form button){box-sizing:border-box;display:inline-flex;min-height:44px;margin:0;align-items:center;justify-content:center;gap:7px;padding:10px 18px;border:1px solid transparent;border-radius:9px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease,filter .18s ease}

/* Primary actions. */
:is(.dm-auth-submit,.dm-primary-action,.dm-search>button,.dm-contact-card form>button,.dm-review-form>button,.dm-inline-response button,.dm-sidebar-panel form>button,.dm-panel form>button,.dm-checkout form button,.dm-form-actions button:last-child){border-color:var(--dm-primary,var(--dm-brand));background:var(--dm-primary,var(--dm-brand));box-shadow:0 5px 14px color-mix(in srgb,var(--dm-primary,var(--dm-brand)) 17%,transparent);color:#fff!important}
:is(.dm-auth-submit,.dm-primary-action,.dm-search>button,.dm-contact-card form>button,.dm-review-form>button,.dm-inline-response button,.dm-sidebar-panel form>button,.dm-panel form>button,.dm-checkout form button,.dm-form-actions button:last-child):hover{filter:brightness(.94);box-shadow:0 7px 18px color-mix(in srgb,var(--dm-primary,var(--dm-brand)) 22%,transparent);color:#fff!important;transform:translateY(-1px)}

/* Secondary and outline actions. */
.dm-form-actions .dm-secondary{border-color:#cbd7d2;background:#fff;box-shadow:0 1px 3px rgba(23,34,45,.035);color:var(--dm-secondary,var(--dm-ink))}
.dm-form-actions .dm-secondary:hover{border-color:#9fb1a9;background:#f8faf9;box-shadow:0 4px 12px rgba(23,34,45,.06);transform:translateY(-1px)}
.dm-action{border-color:color-mix(in srgb,var(--dm-primary,var(--dm-brand)) 18%,white);background:var(--dm-soft);color:var(--dm-primary,var(--dm-brand))}
.dm-action:hover{border-color:color-mix(in srgb,var(--dm-primary,var(--dm-brand)) 35%,white);background:color-mix(in srgb,var(--dm-primary,var(--dm-brand)) 13%,white);color:var(--dm-primary,var(--dm-brand));transform:translateY(-1px)}

/* Listing action bar. */
.dm-profile-actions .dm-profile-inner{gap:10px;padding-block:13px}
.dm-profile-actions a,.dm-profile-actions button{flex:0 0 auto;min-height:42px;padding:9px 16px;border-color:#bdcbc6;background:#f7faf8;box-shadow:0 2px 5px rgba(23,34,45,.055);color:#26363d}
.dm-profile-actions a:hover,.dm-profile-actions button:hover{border-color:color-mix(in srgb,var(--dm-primary) 55%,#bdcbc6);background:var(--dm-soft);box-shadow:0 5px 14px rgba(23,34,45,.09);color:var(--dm-primary);transform:translateY(-1px)}
.dm-profile-actions .dm-action-primary{border-color:var(--dm-primary);background:var(--dm-primary);box-shadow:0 5px 14px color-mix(in srgb,var(--dm-primary) 17%,transparent);color:#fff!important}
.dm-profile-actions .dm-action-primary:hover{filter:brightness(.94);background:var(--dm-primary);color:#fff!important}

/* Form action alignment and widths. */
.dm-form-actions{align-items:center;justify-content:flex-end;gap:12px}
.dm-form-actions button{min-width:142px;min-height:44px;padding-inline:19px}
.dm-contact-card form>button,.dm-sidebar-panel form>button,.dm-checkout form button{width:100%}
.dm-review-form>button{min-width:150px;margin-top:26px!important}
.dm-inline-response button{min-width:112px}
.dm-auth-submit{width:100%}
.dm-primary-action{width:auto;white-space:nowrap}
.dm-search>button{height:45px;min-height:45px;padding-inline:22px;align-self:end}

/* Pricing buttons. */
.dm-pricing-grid article>a{width:100%;border-color:color-mix(in srgb,var(--dm-primary,var(--dm-brand)) 18%,white);background:var(--dm-soft);color:var(--dm-primary,var(--dm-brand))}
.dm-pricing-grid article.is-popular>a{border-color:var(--dm-primary,var(--dm-brand));background:var(--dm-primary,var(--dm-brand));color:#fff!important}

/* Special-purpose controls remain compact and predictable. */
.dm-all-photos{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:6px;padding:8px 13px;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.2}
.dm-password-toggle{min-width:48px;min-height:32px;margin:0;padding:6px 8px;border:0;border-radius:7px;background:transparent;box-shadow:none;font-family:inherit;font-size:12px;line-height:1;cursor:pointer}
.dm-password-toggle:hover{background:var(--dm-soft)}
.dm-lightbox>button{display:grid;width:38px;height:38px;min-height:38px;padding:0;place-items:center;border:0;border-radius:50%;font-size:24px;line-height:1}
.dm-review-form .dm-star-picker button{display:grid;width:38px;height:38px;min-height:38px;margin:0;padding:0;place-items:center;border:0;border-radius:8px;box-shadow:none}

/* Accessibility and state handling. */
:is(.dm-auth-submit,.dm-primary-action,.dm-action,.dm-profile-actions a,.dm-profile-actions button,.dm-search>button,.dm-form-actions button,.dm-contact-card form>button,.dm-review-form>button,.dm-inline-response button,.dm-sidebar-panel form>button,.dm-panel form>button,.dm-pricing-grid article>a,.dm-checkout form button):focus-visible{outline:3px solid color-mix(in srgb,var(--dm-primary,var(--dm-brand)) 20%,transparent);outline-offset:2px}
:is(.dm-search>button,.dm-form-actions button,.dm-contact-card form>button,.dm-review-form>button,.dm-inline-response button,.dm-sidebar-panel form>button,.dm-panel form>button,.dm-checkout form button):disabled{border-color:#d8e0dd;background:#e9eeec;box-shadow:none;color:#89958f!important;cursor:not-allowed;filter:none;transform:none}

@media(max-width:620px){
	.dm-profile-actions .dm-profile-inner{gap:8px;padding-block:11px}
	.dm-profile-actions a,.dm-profile-actions button{min-height:40px;padding:8px 12px;font-size:13px}
	.dm-form-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
	.dm-form-actions button{width:100%;min-width:0;padding-inline:12px}
	.dm-review-form>button,.dm-inline-response button,.dm-primary-action{width:100%}
	.dm-search>button{width:100%}
}

@media(max-width:420px){.dm-form-actions{grid-template-columns:1fr}}

/* Keep every standard action stable and typographically identical across templates. */
:is(.dm-auth-submit,.dm-primary-action,.dm-action,.dm-profile-actions a,.dm-profile-actions button,.dm-search>button,.dm-form-actions button,.dm-contact-card form>button,.dm-review-form>button,.dm-inline-response button,.dm-sidebar-panel form>button,.dm-panel form>button,.dm-pricing-grid article>a,.dm-checkout form button,.dm-service-enquire){font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;letter-spacing:0}
:is(.dm-auth-submit,.dm-primary-action,.dm-action,.dm-profile-actions a,.dm-profile-actions button,.dm-search>button,.dm-form-actions button,.dm-contact-card form>button,.dm-review-form>button,.dm-inline-response button,.dm-sidebar-panel form>button,.dm-panel form>button,.dm-pricing-grid article>a,.dm-checkout form button,.dm-service-enquire):hover{transform:none}
