/**
 * ANIEF Documenti Condivisi — AP/ANIEF frontend design-system bridge.
 *
 * Layer finale caricato dopo frontend.css. Non definisce una grafica autonoma:
 * mappa gli shortcode e i componenti frontend ai token CSS generati dalla
 * Mother/AP License Client.
 *
 * @package ANIEF_Documenti_Condivisi
 * @version 0.2.27
 * @author Andrea Parenti
 */

/* -------------------------------------------------------------------------
 * Shortcode shell: larghezza, spacing, card e font governati dalla Mother.
 * ---------------------------------------------------------------------- */
.adc-shortcode-shell,
.adc-shortcode,
.adc-shortcode.apui-shortcode,
.adc-shortcode.aplc-ui-shortcode {
	box-sizing: border-box;
	width: 100%;
	inline-size: 100%;
	max-width: var(--apui-shortcode-max-width, 100%);
	max-inline-size: var(--apui-shortcode-max-width, 100%);
	margin-inline: auto;
	margin-block: var(--apui-shortcode-container-padding, var(--apui-shortcode-padding, var(--apui-card-padding, var(--apui-spacing-lg, 24px))));
	color: var(--apui-shortcode-text, var(--apui-card-text, var(--apui-text, var(--plugin-text, #1f2937))));
	font-family: var(--apui-font, var(--plugin-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif));
	font-size: var(--apui-shortcode-font-size, var(--apui-font-size-base, 16px));
	line-height: var(--apui-shortcode-line-height, var(--apui-line-height-base, 1.5));
}

.adc-shortcode-shell *,
.adc-shortcode-shell *::before,
.adc-shortcode-shell *::after,
.adc-shortcode *,
.adc-shortcode *::before,
.adc-shortcode *::after {
	box-sizing: border-box;
}

.adc-shortcode.apui-shortcode,
.adc-shortcode.aplc-ui-shortcode,
.adc-document-group-shortcode,
.adc-documents-index-shortcode,
.adc-documents-create-form-shortcode,
.adc-documents-button-wrap,
.adc-message {
	padding: var(--apui-shortcode-container-padding, var(--apui-shortcode-padding, var(--apui-card-padding, var(--apui-spacing-lg, 24px))));
	background: var(--apui-shortcode-bg, var(--apui-card-bg, var(--apui-surface, var(--plugin-surface, #fff))));
	color: var(--apui-shortcode-text, var(--apui-card-text, var(--apui-text, var(--plugin-text, #1f2937))));
	border: var(--apui-shortcode-border-width, 1px) solid var(--apui-shortcode-border, var(--apui-card-border-color, var(--apui-border, var(--plugin-border, #d9e2f1))));
	border-radius: var(--apui-shortcode-radius, var(--apui-card-radius, var(--apui-radius-lg, var(--plugin-radius-lg, 18px))));
	box-shadow: var(--apui-shortcode-shadow, var(--apui-card-shadow, var(--apui-shadow-soft, var(--plugin-shadow-soft, none))));
	font-family: var(--apui-font, var(--plugin-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif));
}

/* Il banner può essere usato come elemento grafico semplice, ma eredita comunque i token Mother. */
.adc-document-banner.adc-shortcode-shell {
	display: block;
	width: 100%;
	max-width: var(--apui-shortcode-max-width, 100%);
	margin-inline: auto;
	margin-block: var(--apui-shortcode-container-padding, var(--apui-shortcode-padding, var(--apui-card-padding, var(--apui-spacing-lg, 24px))));
	background: var(--apui-shortcode-bg, var(--apui-card-bg, var(--apui-surface, var(--plugin-surface, #fff))));
	color: var(--apui-shortcode-text, var(--apui-card-text, var(--apui-text, var(--plugin-text, #1f2937))));
	border-color: var(--apui-shortcode-border, var(--apui-card-border-color, var(--apui-border, var(--plugin-border, #d9e2f1))));
	border-radius: var(--apui-shortcode-radius, var(--apui-card-radius, var(--apui-radius-lg, var(--plugin-radius-lg, 18px))));
	box-shadow: var(--apui-shortcode-shadow, var(--apui-card-shadow, var(--apui-shadow-soft, var(--plugin-shadow-soft, none))));
}

.adc-document-banner.adc-shortcode-shell:hover {
	box-shadow: var(--apui-card-hover-shadow, var(--apui-shortcode-hover-shadow, var(--apui-shadow, var(--plugin-shadow, none))));
}

/* I contenitori interni devono occupare la shell governata dalla Mother, non la viewport. */
.adc-shortcode .apui-shortcode__body,
.adc-shortcode .aplc-ui-shortcode__body,
.adc-documents-index-list,
.adc-documents-list,
.adc-index-filters,
.adc-index-group-card,
.adc-document-card,
.adc-documents-button-wrap .adc-documents-index-button {
	width: 100%;
	inline-size: 100%;
	max-width: 100%;
	max-inline-size: 100%;
}

.adc-frontend-create-form {
	width: var(--apui-form-width, var(--apui-shortcode-form-width, 100%));
	inline-size: var(--apui-form-width, var(--apui-shortcode-form-width, 100%));
	max-width: var(--apui-form-max-width, var(--apui-shortcode-form-max-width, var(--apui-content-max-width, var(--apui-shortcode-max-width, 100%))));
	max-inline-size: var(--apui-form-max-width, var(--apui-shortcode-form-max-width, var(--apui-content-max-width, var(--apui-shortcode-max-width, 100%))));
	margin-inline: var(--apui-form-margin-inline, auto);
}

/* -------------------------------------------------------------------------
 * Header, titoli, testi e link.
 * ---------------------------------------------------------------------- */
.adc-shortcode .apui-shortcode__header,
.adc-shortcode .aplc-ui-shortcode__header {
	gap: var(--apui-shortcode-header-gap, var(--apui-spacing-sm, 10px));
	margin: 0 0 var(--apui-shortcode-header-margin-bottom, var(--apui-spacing-md, 16px));
	padding: var(--apui-shortcode-header-padding, 0);
	background: var(--apui-shortcode-header-bg, transparent);
	color: var(--apui-shortcode-header-text, var(--apui-heading, var(--plugin-heading, var(--apui-text, #1f2937))));
	border-color: var(--apui-shortcode-header-border-color, transparent);
}

.adc-shortcode .apui-shortcode__icon,
.adc-shortcode .aplc-ui-shortcode__icon {
	color: var(--apui-shortcode-icon-color, var(--apui-heading, var(--plugin-heading, currentColor)));
	inline-size: var(--apui-shortcode-icon-size, 1.4em);
	block-size: var(--apui-shortcode-icon-size, 1.4em);
	font-size: var(--apui-shortcode-icon-size, 1.4em);
	line-height: 1;
}

.adc-shortcode .apui-shortcode__title,
.adc-shortcode .aplc-ui-shortcode__title,
.adc-shortcode h1,
.adc-shortcode h2,
.adc-shortcode h3,
.adc-shortcode h4,
.adc-group-inline-title,
.adc-document-title,
.adc-index-group-title,
.adc-documents-create-form-shortcode .adc-frontend-form-section h3 {
	color: var(--apui-shortcode-title, var(--apui-heading, var(--plugin-heading, var(--apui-text, #1f2937)))) !important;
	font-family: var(--apui-font, var(--plugin-font, inherit));
	font-size: var(--apui-shortcode-title-size, var(--apui-heading-font-size, var(--apui-font-size-xl, inherit)));
	font-weight: var(--apui-shortcode-title-weight, var(--apui-heading-font-weight, 700));
	line-height: var(--apui-shortcode-title-line-height, var(--apui-heading-line-height, 1.2));
}

.adc-document-title {
	font-size: var(--apui-card-title-size, var(--apui-font-size-lg, 1.05rem));
}

.adc-index-group-title {
	font-size: var(--apui-card-title-size, var(--apui-font-size-lg, 1.15rem));
}

.adc-shortcode p,
.adc-shortcode li,
.adc-shortcode span,
.adc-group-description,
.adc-document-description,
.adc-index-group-description {
	color: var(--apui-text, var(--plugin-text, #1f2937));
	font-family: var(--apui-font, var(--plugin-font, inherit));
	font-size: var(--apui-font-size-base, 16px);
	line-height: var(--apui-line-height-base, 1.5);
}

.adc-shortcode .description,
.adc-shortcode .help,
.adc-shortcode small,
.adc-shortcode .aplc-ui-description,
.adc-document-meta,
.adc-index-group-meta,
.adc-index-group-meta-item {
	color: var(--apui-muted, var(--plugin-muted, #64748b));
	font-size: var(--apui-font-size-sm, 14px);
	line-height: var(--apui-line-height-sm, 1.45);
}

.adc-shortcode a:not(.apui-button):not(.aplc-ui-button) {
	color: var(--apui-link-color, var(--apui-primary, var(--plugin-blue-700, #174ea6)));
	text-decoration-color: currentColor;
}

.adc-shortcode a:not(.apui-button):not(.aplc-ui-button):hover,
.adc-shortcode a:not(.apui-button):not(.aplc-ui-button):focus {
	color: var(--apui-link-hover-color, var(--apui-primary-hover, var(--plugin-blue-800, #123f88)));
}

/* -------------------------------------------------------------------------
 * Card, pannelli, liste e contenitori secondari.
 * ---------------------------------------------------------------------- */
.adc-index-group-card,
.adc-document-card,
.adc-index-filters,
.adc-documents-create-form-shortcode .adc-frontend-form-section {
	background: var(--apui-card-bg, var(--apui-panel-bg, var(--apui-surface, var(--plugin-surface, #fff))));
	color: var(--apui-card-text, var(--apui-text, var(--plugin-text, #1f2937)));
	border: var(--apui-card-border-width, 1px) solid var(--apui-card-border-color, var(--apui-border-color, var(--apui-border, var(--plugin-border, #d9e2f1))));
	border-radius: var(--apui-card-radius, var(--apui-radius-md, var(--plugin-radius-md, 12px)));
	box-shadow: var(--apui-card-shadow, var(--apui-shadow-soft, var(--plugin-shadow-soft, none)));
	padding: var(--apui-card-padding, var(--apui-spacing-md, 16px));
}

.adc-documents-list,
.adc-documents-index-list,
.adc-shortcode .apui-shortcode__body,
.adc-shortcode .aplc-ui-shortcode__body,
.adc-documents-create-form-shortcode .adc-frontend-create-form,
.adc-documents-create-form-shortcode .adc-frontend-form-section,
.adc-documents-create-form-shortcode .adc-frontend-form-grid {
	gap: var(--apui-section-gap, var(--apui-spacing-lg, 20px));
}

.adc-admin-badges,
.adc-document-action,
.adc-index-filter-actions,
.adc-documents-create-form-shortcode .adc-frontend-form-actions {
	gap: var(--apui-actions-gap, var(--apui-action-button-gap, var(--apui-spacing-sm, 10px)));
}

/* -------------------------------------------------------------------------
 * Form, label, input, textarea, select, file input.
 * ---------------------------------------------------------------------- */
.adc-shortcode label,
.adc-shortcode .aplc-ui-label,
.adc-shortcode .apui-field label,
.adc-index-filter-field label {
	color: var(--apui-label-color, var(--apui-heading, var(--plugin-heading, var(--apui-text, #1f2937))));
	font-family: var(--apui-font, var(--plugin-font, inherit));
	font-size: var(--apui-label-font-size, var(--apui-font-size-sm, 14px));
	font-weight: var(--apui-label-font-weight, 600);
	line-height: var(--apui-label-line-height, 1.35);
}

.adc-shortcode input[type="text"],
.adc-shortcode input[type="email"],
.adc-shortcode input[type="tel"],
.adc-shortcode input[type="url"],
.adc-shortcode input[type="number"],
.adc-shortcode input[type="date"],
.adc-shortcode input[type="search"],
.adc-shortcode input[type="password"],
.adc-shortcode input[type="file"],
.adc-shortcode textarea,
.adc-shortcode select,
.adc-index-filter-field input {
	width: var(--apui-field-width, var(--apui-input-width, 100%));
	inline-size: var(--apui-field-width, var(--apui-input-width, 100%));
	max-width: var(--apui-field-max-width, var(--apui-input-max-width, 100%));
	max-inline-size: var(--apui-field-max-width, var(--apui-input-max-width, 100%));
	min-height: var(--apui-input-height, var(--apui-field-height, 42px));
	background: var(--apui-input-bg, var(--apui-field-bg, var(--apui-surface, #fff)));
	color: var(--apui-input-text, var(--apui-field-text, var(--apui-text, #1f2937)));
	border: var(--apui-input-border-width, var(--apui-field-border-width, 1px)) solid var(--apui-input-border-color, var(--apui-field-border-color, var(--apui-border, #d9e2f1)));
	border-radius: var(--apui-input-radius, var(--apui-field-radius, var(--apui-radius-md, 12px)));
	padding: var(--apui-input-padding-y, var(--apui-field-padding-y, 10px)) var(--apui-input-padding-x, var(--apui-field-padding-x, 12px));
	font-family: var(--apui-font, var(--plugin-font, inherit));
	font-size: var(--apui-input-font-size, var(--apui-font-size-base, 16px));
	line-height: var(--apui-input-line-height, 1.4);
	box-shadow: var(--apui-input-shadow, none);
	appearance: auto;
}

.adc-shortcode input::placeholder,
.adc-shortcode textarea::placeholder {
	color: var(--apui-input-placeholder, var(--apui-muted, #64748b));
	opacity: 1;
}

.adc-shortcode input:focus,
.adc-shortcode textarea:focus,
.adc-shortcode select:focus,
.adc-index-filter-field input:focus {
	outline: none;
	background: var(--apui-input-focus-bg, var(--apui-input-bg, var(--apui-surface, #fff)));
	color: var(--apui-input-focus-text, var(--apui-input-text, var(--apui-text, #1f2937)));
	border-color: var(--apui-input-focus-border-color, var(--apui-primary, var(--plugin-blue-700, #174ea6)));
	box-shadow: var(--apui-input-focus-shadow, var(--apui-focus-ring, 0 0 0 3px rgba(23, 78, 166, .16)));
}

.adc-shortcode input[type="checkbox"],
.adc-shortcode input[type="radio"] {
	accent-color: var(--apui-primary, var(--plugin-blue-700, #174ea6));
}

.adc-index-filter-field {
	gap: var(--apui-field-gap, var(--apui-spacing-xs, 6px));
}

/* -------------------------------------------------------------------------
 * Bottoni e azioni: nessuna grafica autonoma, solo token Mother/AP.
 * ---------------------------------------------------------------------- */
.adc-shortcode button,
.adc-shortcode .button,
.adc-shortcode input[type="submit"],
.adc-shortcode input[type="button"],
.adc-shortcode .apui-button,
.adc-shortcode .aplc-ui-button,
.adc-documents-button-wrap .adc-documents-index-button,
.adc-index-group-link,
.adc-open-document-modal,
.adc-document-action .apui-button,
.adc-document-action .aplc-ui-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--apui-button-gap, var(--apui-action-button-gap, var(--apui-spacing-xs, 8px)));
	min-height: var(--apui-button-min-height, var(--apui-action-button-min-height, 42px));
	background: var(--apui-button-bg, var(--apui-action-button-bg, var(--apui-primary, var(--plugin-blue-700, #174ea6))));
	color: var(--apui-button-text, var(--apui-action-button-text, #fff));
	border: var(--apui-button-border-width, var(--apui-action-button-border-width, 1px)) solid var(--apui-button-border, var(--apui-action-button-border, var(--apui-primary, var(--plugin-blue-700, #174ea6))));
	border-radius: var(--apui-button-radius, var(--apui-action-button-radius, var(--apui-radius-md, var(--plugin-radius-md, 12px))));
	padding: var(--apui-button-padding-y, var(--apui-action-button-padding-y, 10px)) var(--apui-button-padding-x, var(--apui-action-button-padding-x, 16px));
	font-family: var(--apui-button-font-family, var(--apui-font, var(--plugin-font, inherit)));
	font-size: var(--apui-button-font-size, var(--apui-action-button-font-size, var(--apui-font-size-base, 16px)));
	font-weight: var(--apui-button-font-weight, var(--apui-action-button-font-weight, 600));
	line-height: var(--apui-button-line-height, var(--apui-action-button-line-height, 1.2));
	box-shadow: var(--apui-button-shadow, var(--apui-action-button-shadow, none));
	text-decoration: none;
	cursor: pointer;
	transition:
		background-color var(--apui-transition-duration, 160ms) ease,
		border-color var(--apui-transition-duration, 160ms) ease,
		color var(--apui-transition-duration, 160ms) ease,
		box-shadow var(--apui-transition-duration, 160ms) ease,
		transform var(--apui-transition-duration, 160ms) ease;
}

.adc-shortcode button:hover,
.adc-shortcode .button:hover,
.adc-shortcode input[type="submit"]:hover,
.adc-shortcode input[type="button"]:hover,
.adc-shortcode .apui-button:hover,
.adc-shortcode .aplc-ui-button:hover,
.adc-documents-button-wrap .adc-documents-index-button:hover,
.adc-index-group-link:hover,
.adc-open-document-modal:hover,
.adc-document-action .apui-button:hover,
.adc-document-action .aplc-ui-button:hover {
	background: var(--apui-button-hover-bg, var(--apui-action-button-hover-bg, var(--apui-primary-hover, var(--plugin-blue-800, #123f88))));
	color: var(--apui-button-hover-text, var(--apui-action-button-hover-text, #fff));
	border-color: var(--apui-button-hover-border, var(--apui-action-button-hover-border, var(--apui-primary-hover, var(--plugin-blue-800, #123f88))));
	box-shadow: var(--apui-button-hover-shadow, var(--apui-action-button-hover-shadow, var(--apui-button-shadow, none)));
	text-decoration: none;
	transform: var(--apui-button-hover-transform, var(--apui-action-button-hover-transform, none));
}

.adc-shortcode button:focus-visible,
.adc-shortcode .button:focus-visible,
.adc-shortcode input[type="submit"]:focus-visible,
.adc-shortcode input[type="button"]:focus-visible,
.adc-shortcode .apui-button:focus-visible,
.adc-shortcode .aplc-ui-button:focus-visible,
.adc-documents-button-wrap .adc-documents-index-button:focus-visible,
.adc-index-group-link:focus-visible,
.adc-open-document-modal:focus-visible,
.adc-document-action .apui-button:focus-visible,
.adc-document-action .aplc-ui-button:focus-visible {
	outline: var(--apui-button-focus-outline, 2px solid transparent);
	box-shadow: var(--apui-button-focus-shadow, var(--apui-focus-ring, 0 0 0 3px rgba(23, 78, 166, .18)));
}

.adc-shortcode .aplc-ui-button--secondary,
.adc-shortcode .apui-action-button--secondary,
.adc-shortcode a.aplc-ui-button--secondary,
.adc-shortcode a.apui-action-button--secondary,
.adc-index-group-link,
.adc-document-action a.apui-action-button--secondary,
.adc-document-action a.aplc-ui-button--secondary {
	background: var(--apui-button-secondary-bg, var(--apui-action-button-secondary-bg, var(--apui-surface, #fff)));
	color: var(--apui-button-secondary-text, var(--apui-action-button-secondary-text, var(--apui-primary, #174ea6)));
	border-color: var(--apui-button-secondary-border, var(--apui-action-button-secondary-border, var(--apui-border, #d9e2f1)));
	box-shadow: var(--apui-button-secondary-shadow, var(--apui-action-button-secondary-shadow, var(--apui-button-shadow, none)));
}

.adc-shortcode .aplc-ui-button--secondary:hover,
.adc-shortcode .apui-action-button--secondary:hover,
.adc-shortcode a.aplc-ui-button--secondary:hover,
.adc-shortcode a.apui-action-button--secondary:hover,
.adc-index-group-link:hover,
.adc-document-action a.apui-action-button--secondary:hover,
.adc-document-action a.aplc-ui-button--secondary:hover {
	background: var(--apui-button-secondary-hover-bg, var(--apui-action-button-secondary-hover-bg, var(--apui-soft, #f8fafc)));
	color: var(--apui-button-secondary-hover-text, var(--apui-action-button-secondary-hover-text, var(--apui-primary-hover, #123f88)));
	border-color: var(--apui-button-secondary-hover-border, var(--apui-action-button-secondary-hover-border, var(--apui-primary-hover, #123f88)));
	box-shadow: var(--apui-button-secondary-hover-shadow, var(--apui-action-button-secondary-hover-shadow, var(--apui-button-hover-shadow, none)));
}

.adc-shortcode button svg,
.adc-shortcode .button svg,
.adc-shortcode .apui-button svg,
.adc-shortcode .aplc-ui-button svg,
.adc-documents-index-button svg {
	width: var(--apui-button-icon-size, var(--apui-action-button-icon-size, 18px));
	height: var(--apui-button-icon-size, var(--apui-action-button-icon-size, 18px));
	color: var(--apui-button-icon-color, currentColor);
	flex: 0 0 auto;
}

.adc-shortcode button:disabled,
.adc-shortcode .button:disabled,
.adc-shortcode input[type="submit"]:disabled,
.adc-shortcode input[type="button"]:disabled,
.adc-shortcode .apui-button[aria-disabled="true"],
.adc-shortcode .aplc-ui-button[aria-disabled="true"] {
	background: var(--apui-button-disabled-bg, var(--apui-action-button-disabled-bg, #e5e7eb));
	color: var(--apui-button-disabled-color, var(--apui-action-button-disabled-color, #9ca3af));
	border-color: var(--apui-button-disabled-border, var(--apui-action-button-disabled-border, #e5e7eb));
	opacity: var(--apui-button-disabled-opacity, var(--apui-action-button-disabled-opacity, .65));
	cursor: var(--apui-button-disabled-cursor, var(--apui-action-button-disabled-cursor, not-allowed));
	box-shadow: var(--apui-button-disabled-shadow, none);
}

/* -------------------------------------------------------------------------
 * Tabelle e liste.
 * ---------------------------------------------------------------------- */
.adc-shortcode table {
	width: 100%;
	background: var(--apui-table-bg, var(--apui-surface, #fff));
	color: var(--apui-table-text, var(--apui-text, #1f2937));
	border-color: var(--apui-table-border-color, var(--apui-border, #d9e2f1));
	border-radius: var(--apui-table-radius, var(--apui-radius-md, 12px));
	font-size: var(--apui-table-font-size, var(--apui-font-size-base, 16px));
	border-collapse: collapse;
}

.adc-shortcode th {
	background: var(--apui-table-head-bg, var(--apui-soft, #f8fafc));
	color: var(--apui-table-head-text, var(--apui-heading, #1f2937));
	font-weight: var(--apui-table-head-font-weight, 700);
}

.adc-shortcode td,
.adc-shortcode th {
	padding: var(--apui-table-cell-padding-y, 12px) var(--apui-table-cell-padding-x, 14px);
	border-color: var(--apui-table-border-color, var(--apui-border, #d9e2f1));
}

.adc-shortcode ul,
.adc-shortcode ol {
	color: var(--apui-text, var(--plugin-text, #1f2937));
}

/* -------------------------------------------------------------------------
 * Badge, stati, notice e messaggi.
 * ---------------------------------------------------------------------- */
.adc-pill,
.adc-shortcode .apui-pill,
.adc-shortcode .aplc-ui-status-pill {
	background: var(--apui-pill-bg, var(--apui-info-bg, #eff8ff));
	color: var(--apui-pill-text, var(--apui-info, #175cd3));
	border: var(--apui-pill-border-width, 1px) solid var(--apui-pill-border-color, transparent);
	border-radius: var(--apui-pill-radius, 999px);
	padding: var(--apui-pill-padding-y, 4px) var(--apui-pill-padding-x, 8px);
	font-size: var(--apui-pill-font-size, var(--apui-font-size-xs, .8rem));
	font-weight: var(--apui-pill-font-weight, 600);
	line-height: var(--apui-pill-line-height, 1.2);
}

.adc-form-message,
.adc-shortcode .apui-notice,
.adc-shortcode .aplc-ui-notice,
.adc-message {
	padding: var(--apui-notice-padding, var(--apui-spacing-md, 12px 14px));
	border: var(--apui-notice-border-width, 1px) solid var(--apui-notice-border-color, var(--apui-border, #d9e2f1));
	border-radius: var(--apui-notice-radius, var(--apui-radius-md, 12px));
	font-size: var(--apui-notice-font-size, var(--apui-font-size-base, 16px));
	line-height: var(--apui-notice-line-height, 1.45);
}

.adc-form-message--success,
.adc-shortcode .apui-notice-success,
.adc-message--success {
	background: var(--apui-success-bg, #ecfdf3);
	color: var(--apui-success, #027a48);
	border-color: var(--apui-success-border, var(--apui-success, #027a48));
}

.adc-form-message--warning,
.adc-shortcode .apui-notice-warning,
.adc-message--warning {
	background: var(--apui-warning-bg, #fffaeb);
	color: var(--apui-warning, #b54708);
	border-color: var(--apui-warning-border, var(--apui-warning, #b54708));
}

.adc-form-message--error,
.adc-shortcode .apui-notice-error,
.adc-message--error,
.adc-message--locked {
	background: var(--apui-danger-bg, #fef3f2);
	color: var(--apui-danger, #b42318);
	border-color: var(--apui-danger-border, var(--apui-danger, #b42318));
}

.adc-message--info {
	background: var(--apui-info-bg, #eff8ff);
	color: var(--apui-info, #175cd3);
	border-color: var(--apui-info-border, var(--apui-info, #175cd3));
}

.adc-empty,
.adc-shortcode .apui-empty-state,
.adc-shortcode .aplc-ui-empty-state {
	background: var(--apui-empty-state-bg, var(--apui-soft, #f8fafc));
	color: var(--apui-empty-state-text, var(--apui-muted, #64748b));
	border: var(--apui-empty-state-border-width, 1px) solid var(--apui-empty-state-border-color, var(--apui-border, #d9e2f1));
	border-radius: var(--apui-empty-state-radius, var(--apui-radius-md, 12px));
	padding: var(--apui-empty-state-padding, var(--apui-spacing-lg, 24px));
}

/* -------------------------------------------------------------------------
 * Icone SVG: il colore viene sempre ereditato dal testo/titolo.
 * ---------------------------------------------------------------------- */
.adc-shortcode svg,
.adc-document-banner svg,
.adc-document-modal svg {
	fill: currentColor;
	color: inherit;
}

.adc-shortcode svg [fill]:not([fill="none"]),
.adc-document-banner svg [fill]:not([fill="none"]),
.adc-document-modal svg [fill]:not([fill="none"]) {
	fill: currentColor;
}

.adc-shortcode svg [stroke]:not([stroke="none"]),
.adc-document-banner svg [stroke]:not([stroke="none"]),
.adc-document-modal svg [stroke]:not([stroke="none"]) {
	stroke: currentColor;
}

/* -------------------------------------------------------------------------
 * Modale documenti: adattamento ai token Mother/AP.
 * ---------------------------------------------------------------------- */
.adc-document-modal {
	padding: var(--apui-modal-viewport-padding, clamp(12px, 2vw, 28px));
}

.adc-document-modal__backdrop {
	background: var(--apui-modal-overlay-bg, var(--apui-modal-overlay-base, rgba(0, 0, 0, .64)));
}

.adc-document-modal__panel {
	width: min(var(--apui-modal-width, 1180px), 96%);
	max-width: 96%;
	background: var(--apui-modal-bg, var(--apui-shortcode-bg, var(--apui-surface, #fff)));
	color: var(--apui-modal-text, var(--apui-shortcode-text, var(--apui-text, #1f2937)));
	border: var(--apui-modal-border-width, 1px) solid var(--apui-modal-border-color, var(--apui-border, #d9e2f1));
	border-radius: var(--apui-modal-radius, var(--apui-shortcode-radius, 16px));
	box-shadow: var(--apui-modal-shadow, var(--apui-shadow, none));
	font-family: var(--apui-font, var(--plugin-font, inherit));
}

.adc-document-modal__header {
	gap: var(--apui-modal-header-gap, 14px);
	padding: var(--apui-modal-header-padding-y, 14px) var(--apui-modal-header-padding-x, 18px);
	background: var(--apui-modal-header-bg, transparent);
	color: var(--apui-modal-header-text, var(--apui-heading, #1f2937));
	border-bottom: var(--apui-modal-header-border-width, 1px) solid var(--apui-modal-header-border-color, var(--apui-border, #d9e2f1));
}

.adc-document-modal__title {
	color: var(--apui-modal-header-title, var(--apui-heading, #1f2937));
	font-size: var(--apui-modal-header-title-size, var(--apui-shortcode-title-size, 1.1rem));
	font-weight: var(--apui-modal-header-title-weight, var(--apui-shortcode-title-weight, 700));
	line-height: var(--apui-modal-header-title-line-height, 1.2);
}

.adc-document-modal__close {
	width: var(--apui-modal-close-size, 38px);
	height: var(--apui-modal-close-size, 38px);
	background: var(--apui-modal-close-bg, var(--apui-surface, #fff));
	color: var(--apui-modal-close-color, var(--apui-text, #1f2937));
	border: var(--apui-modal-close-border-width, 1px) solid var(--apui-modal-close-border-color, var(--apui-border, #d9e2f1));
	border-radius: var(--apui-modal-close-radius, 999px);
	font-size: var(--apui-modal-close-font-size, 24px);
	font-weight: var(--apui-modal-close-font-weight, 400);
}

.adc-document-modal__close:hover,
.adc-document-modal__close:focus {
	background: var(--apui-modal-close-hover-bg, var(--apui-soft, #f8fafc));
	color: var(--apui-modal-close-hover-color, var(--apui-text, #1f2937));
	border-color: var(--apui-modal-close-hover-border-color, var(--apui-primary, #174ea6));
}

/* -------------------------------------------------------------------------
 * Responsive: non usare full-bleed viewport per i box shortcode.
 * ---------------------------------------------------------------------- */
@media (max-width: 700px) {
	.adc-document-modal {
		padding: var(--apui-modal-viewport-padding, 0);
	}

	.adc-document-modal__panel {
		width: 100%;
		max-width: 100%;
		height: 100dvh;
		border-radius: var(--apui-modal-mobile-radius, 0);
	}

	.adc-document-action .apui-button,
	.adc-document-action .aplc-ui-button,
	.adc-index-filter-actions .apui-button,
	.adc-index-filter-actions .aplc-ui-button,
	.adc-documents-index-button,
	.adc-index-group-link {
		width: 100%;
		justify-content: center;
	}
}


/* 0.2.16 — Stato riservato/loggati mappato ai token Mother/AP. */
.adc-index-group-card--logged-in {
	background: var(--apui-reserved-bg, var(--apui-info-bg, var(--plugin-info-bg, #eff6ff))) !important;
	border-color: var(--apui-reserved-border-color, var(--apui-info, var(--plugin-info, #2563eb))) !important;
	box-shadow: var(--apui-reserved-shadow, var(--apui-card-shadow, var(--apui-shadow-soft, none))) !important;
}

.adc-index-group-card--logged-in .adc-index-group-title {
	color: var(--apui-reserved-title, var(--apui-heading, var(--plugin-heading, #1f2937))) !important;
}

.adc-index-group-access-badge {
	color: var(--apui-reserved-badge-text, var(--apui-info, var(--plugin-info, #175cd3))) !important;
	background: var(--apui-reserved-badge-bg, var(--apui-info-bg, #eff6ff)) !important;
	border-color: var(--apui-reserved-badge-border, color-mix(in srgb, var(--apui-info, #2563eb) 28%, transparent)) !important;
}

.adc-index-group-access {
	color: var(--apui-reserved-meta-text, var(--apui-info, var(--plugin-info, #175cd3))) !important;
}


/* Mother governs the frontend form width. Do not force a viewport/full-content form
   when the synchronized Mother theme provides max-width tokens. */
.adc-documents-create-form-shortcode {
	max-width: var(--apui-shortcode-max-width, var(--apui-content-max-width, 100%));
	max-inline-size: var(--apui-shortcode-max-width, var(--apui-content-max-width, 100%));
	margin-inline: var(--apui-shortcode-margin-inline, auto);
}

.adc-documents-create-form-shortcode .apui-shortcode__body,
.adc-documents-create-form-shortcode .aplc-ui-shortcode__body {
	max-width: var(--apui-shortcode-body-max-width, var(--apui-form-container-max-width, 100%));
	max-inline-size: var(--apui-shortcode-body-max-width, var(--apui-form-container-max-width, 100%));
	margin-inline: var(--apui-shortcode-body-margin-inline, auto);
}

.adc-documents-create-form-shortcode .adc-frontend-form-section {
	width: var(--apui-form-section-width, 100%);
	inline-size: var(--apui-form-section-width, 100%);
	max-width: var(--apui-form-section-max-width, var(--apui-form-max-width, 100%));
	max-inline-size: var(--apui-form-section-max-width, var(--apui-form-max-width, 100%));
	margin-inline: var(--apui-form-section-margin-inline, 0);
}

.adc-documents-create-form-shortcode .adc-frontend-form-grid {
	width: var(--apui-form-grid-width, 100%);
	inline-size: var(--apui-form-grid-width, 100%);
	max-width: var(--apui-form-grid-max-width, 100%);
	max-inline-size: var(--apui-form-grid-max-width, 100%);
}

.adc-documents-create-form-shortcode .aplc-ui-field,
.adc-documents-create-form-shortcode .apui-field,
.adc-documents-create-form-shortcode .adc-frontend-field {
	min-width: 0;
	max-width: var(--apui-field-wrapper-max-width, 100%);
	max-inline-size: var(--apui-field-wrapper-max-width, 100%);
}



/* 0.2.18 — Guida caricamento/condivisione documenti. */
.adc-create-help {
	display: grid;
	gap: var(--apui-notice-gap, var(--apui-spacing-sm, 10px));
	margin: 0 0 var(--apui-section-gap, var(--apui-spacing-lg, 24px));
	padding: var(--apui-notice-padding, var(--apui-card-padding, var(--apui-spacing-md, 16px)));
	background: var(--apui-info-bg, var(--plugin-info-bg, var(--apui-soft, #eef6ff)));
	color: var(--apui-info-text, var(--apui-text, var(--plugin-text, #1f2937)));
	border: var(--apui-notice-border-width, 1px) solid var(--apui-info-border, var(--plugin-info, var(--apui-border, #bfd7ff)));
	border-radius: var(--apui-notice-radius, var(--apui-card-radius, var(--apui-radius-md, 12px)));
	box-shadow: var(--apui-notice-shadow, none);
}

.adc-create-help__title {
	margin: 0;
	color: var(--apui-info-title, var(--apui-heading, var(--plugin-heading, #111827)));
	font-size: var(--apui-notice-title-size, var(--apui-font-size-md, 1rem));
	font-weight: var(--apui-notice-title-weight, 700);
	line-height: var(--apui-heading-line-height, 1.25);
}

.adc-create-help__steps {
	display: grid;
	gap: var(--apui-spacing-xs, 8px);
	margin: 0;
	padding-inline-start: var(--apui-list-indent, 1.25rem);
}

.adc-create-help__steps li {
	padding-inline-start: var(--apui-spacing-2xs, 4px);
}

.adc-create-help__note {
	margin: 0;
	color: var(--apui-muted, var(--plugin-muted, #64748b));
	font-size: var(--apui-font-size-sm, .92rem);
}


/* -------------------------------------------------------------------------
 * 0.2.19 — Form frontend: rispetto contenitore padre e token Mother.
 * Non usare misure viewport/full-bleed; gli elementi restano entro lo shortcode.
 * ---------------------------------------------------------------------- */
.adc-documents-create-form-shortcode,
.adc-documents-create-form-shortcode.apui-shortcode,
.adc-documents-create-form-shortcode.aplc-ui-shortcode {
	box-sizing: border-box;
	width: auto;
	inline-size: auto;
	max-width: 100%;
	max-inline-size: 100%;
	margin-inline: 0;
	overflow-x: clip;
}

.adc-documents-create-form-shortcode .apui-shortcode__body,
.adc-documents-create-form-shortcode .aplc-ui-shortcode__body {
	box-sizing: border-box;
	width: 100%;
	inline-size: 100%;
	max-width: 100%;
	max-inline-size: 100%;
	margin-inline: 0;
}

.adc-documents-create-form-shortcode .adc-frontend-create-form {
	box-sizing: border-box;
	width: var(--apui-form-width, var(--apui-shortcode-form-width, 100%));
	inline-size: var(--apui-form-width, var(--apui-shortcode-form-width, 100%));
	max-width: min(100%, var(--apui-form-max-width, var(--apui-shortcode-form-max-width, 100%)));
	max-inline-size: min(100%, var(--apui-form-max-width, var(--apui-shortcode-form-max-width, 100%)));
	margin-inline: var(--apui-form-margin-inline, 0);
}

/* Le sezioni del form non devono sembrare card annidate dentro lo shortcode. */
.adc-documents-create-form-shortcode .adc-frontend-form-section {
	background: var(--apui-form-section-bg, transparent);
	border: var(--apui-form-section-border-width, 0) solid var(--apui-form-section-border-color, transparent);
	border-radius: var(--apui-form-section-radius, 0);
	box-shadow: var(--apui-form-section-shadow, none);
	padding: var(--apui-form-section-padding, 0);
	margin: var(--apui-form-section-margin, 0 0 var(--apui-section-gap, var(--apui-spacing-lg, 24px)));
	width: 100%;
	inline-size: 100%;
	max-width: 100%;
	max-inline-size: 100%;
}

.adc-documents-create-form-shortcode .adc-frontend-form-section h3 {
	margin: var(--apui-form-section-title-margin, 0 0 var(--apui-spacing-md, 16px));
	padding: var(--apui-form-section-title-padding, 0);
	color: var(--apui-form-section-title-color, var(--apui-heading, var(--plugin-heading, #1f2937)));
	font-size: var(--apui-form-section-title-size, var(--apui-font-size-lg, 1.125rem));
	font-weight: var(--apui-form-section-title-weight, 700);
}

.adc-documents-create-form-shortcode .adc-frontend-form-grid {
	width: 100%;
	inline-size: 100%;
	max-width: 100%;
	max-inline-size: 100%;
}

/* Pulsanti frontend: nessuna larghezza rigida, colori e misure dai token Mother/AP. */
.adc-shortcode button,
.adc-shortcode .button,
.adc-shortcode input[type="submit"],
.adc-shortcode input[type="button"],
.adc-shortcode .apui-button,
.adc-shortcode .aplc-ui-button,
.adc-documents-button-wrap .adc-documents-index-button,
.adc-index-group-link,
.adc-open-document-modal,
.adc-document-action .apui-button,
.adc-document-action .aplc-ui-button {
	width: var(--apui-button-width, auto);
	inline-size: var(--apui-button-width, auto);
	max-width: 100%;
	max-inline-size: 100%;
	min-width: var(--apui-button-min-width, 0);
	background: var(--apui-button-bg, var(--apui-primary, var(--plugin-blue-700, #174ea6)));
	color: var(--apui-button-text, #fff);
	border-color: var(--apui-button-border, var(--apui-primary, var(--plugin-blue-700, #174ea6)));
}

.adc-shortcode button:hover,
.adc-shortcode .button:hover,
.adc-shortcode input[type="submit"]:hover,
.adc-shortcode input[type="button"]:hover,
.adc-shortcode .apui-button:hover,
.adc-shortcode .aplc-ui-button:hover,
.adc-documents-button-wrap .adc-documents-index-button:hover,
.adc-index-group-link:hover,
.adc-open-document-modal:hover,
.adc-document-action .apui-button:hover,
.adc-document-action .aplc-ui-button:hover {
	background: var(--apui-button-hover-bg, var(--apui-primary-hover, var(--plugin-blue-800, #123f88)));
	color: var(--apui-button-hover-text, #fff);
	border-color: var(--apui-button-hover-border, var(--apui-primary-hover, var(--plugin-blue-800, #123f88)));
}

.adc-frontend-form-actions {
	justify-content: var(--apui-form-actions-justify, flex-start);
}

/* -------------------------------------------------------------------------
 * Patch 0.2.21 — Form create shortcode governed by Mother tokens only.
 * La shell dello shortcode e la form interna non devono usare larghezze
 * viewport/full-page: leggono i token esposti da Mother/APLC e restano entro
 * il contenitore del tema.
 * ---------------------------------------------------------------------- */
.adc-shortcode.adc-documents-create-form-shortcode,
.adc-shortcode-shell.adc-documents-create-form-shortcode,
.apui-shortcode.adc-documents-create-form-shortcode,
.aplc-ui-shortcode.adc-documents-create-form-shortcode {
	--adc-create-form-width: var(--apui-documents-create-form-width, var(--apui-create-form-width, var(--apui-shortcode-form-width, var(--apui-form-width, 100%))));
	--adc-create-form-max-width: var(--apui-documents-create-form-max-width, var(--apui-create-form-max-width, var(--apui-shortcode-form-max-width, var(--apui-form-max-width, var(--apui-content-max-width, var(--apui-shortcode-max-width, 100%))))));
	box-sizing: border-box;
	inline-size: min(100%, var(--adc-create-form-width));
	width: min(100%, var(--adc-create-form-width));
	max-inline-size: min(100%, var(--adc-create-form-max-width));
	max-width: min(100%, var(--adc-create-form-max-width));
	margin-inline: var(--apui-shortcode-form-margin-inline, var(--apui-form-margin-inline, auto));
}

.adc-documents-create-form-shortcode .apui-shortcode__body,
.adc-documents-create-form-shortcode .aplc-ui-shortcode__body {
	box-sizing: border-box;
	inline-size: 100%;
	width: 100%;
	max-inline-size: 100%;
	max-width: 100%;
}

.adc-documents-create-form-shortcode .adc-frontend-create-form {
	--adc-create-inner-form-width: var(--apui-form-width, var(--apui-shortcode-form-width, 100%));
	--adc-create-inner-form-max-width: var(--apui-form-max-width, var(--apui-shortcode-form-max-width, 100%));
	box-sizing: border-box;
	inline-size: min(100%, var(--adc-create-inner-form-width));
	width: min(100%, var(--adc-create-inner-form-width));
	max-inline-size: min(100%, var(--adc-create-inner-form-max-width));
	max-width: min(100%, var(--adc-create-inner-form-max-width));
	margin-inline: var(--apui-form-margin-inline, auto);
}

.adc-documents-create-form-shortcode .adc-frontend-form-section,
.adc-documents-create-form-shortcode .adc-frontend-form-grid,
.adc-documents-create-form-shortcode .adc-field,
.adc-documents-create-form-shortcode .aplc-ui-field,
.adc-documents-create-form-shortcode .apui-field {
	min-inline-size: 0;
	max-inline-size: 100%;
}

/* Pulsanti: ultimo layer specifico, senza colori proprietari. */
.adc-shortcode.adc-documents-create-form-shortcode button,
.adc-shortcode.adc-documents-create-form-shortcode .button,
.adc-shortcode.adc-documents-create-form-shortcode input[type="submit"],
.adc-shortcode.adc-documents-create-form-shortcode input[type="button"],
.adc-shortcode.adc-documents-create-form-shortcode .apui-button,
.adc-shortcode.adc-documents-create-form-shortcode .aplc-ui-button,
.adc-shortcode .adc-open-document-modal,
.adc-shortcode .adc-index-group-link,
.adc-documents-button-wrap .adc-documents-index-button {
	background: var(--apui-button-bg, var(--apui-primary, var(--plugin-blue-700, #174ea6)));
	color: var(--apui-button-text, #fff);
	border-color: var(--apui-button-border, var(--apui-button-bg, var(--apui-primary, var(--plugin-blue-700, #174ea6))));
	border-radius: var(--apui-button-radius, var(--apui-radius-md, var(--plugin-radius-md, 12px)));
	box-shadow: var(--apui-button-shadow, none);
	padding-block: var(--apui-button-padding-y, 10px);
	padding-inline: var(--apui-button-padding-x, 16px);
	font-family: var(--apui-font, var(--plugin-font, inherit));
	font-size: var(--apui-button-font-size, var(--apui-font-size-sm, .95rem));
	font-weight: var(--apui-button-font-weight, 700);
	line-height: var(--apui-button-line-height, 1.2);
}

.adc-shortcode.adc-documents-create-form-shortcode button:hover,
.adc-shortcode.adc-documents-create-form-shortcode .button:hover,
.adc-shortcode.adc-documents-create-form-shortcode input[type="submit"]:hover,
.adc-shortcode.adc-documents-create-form-shortcode input[type="button"]:hover,
.adc-shortcode.adc-documents-create-form-shortcode .apui-button:hover,
.adc-shortcode.adc-documents-create-form-shortcode .aplc-ui-button:hover,
.adc-shortcode .adc-open-document-modal:hover,
.adc-shortcode .adc-index-group-link:hover,
.adc-documents-button-wrap .adc-documents-index-button:hover {
	background: var(--apui-button-hover-bg, var(--apui-primary-hover, var(--plugin-blue-800, #123f88)));
	color: var(--apui-button-hover-text, var(--apui-button-text, #fff));
	border-color: var(--apui-button-hover-border, var(--apui-button-hover-bg, var(--apui-primary-hover, var(--plugin-blue-800, #123f88))));
	box-shadow: var(--apui-button-hover-shadow, var(--apui-button-shadow, none));
}



/* -------------------------------------------------------------------------
 * Patch 0.2.26 — Button foreground is governed by Mother.
 *
 * Mother exposes the configured common foreground through --apui-button-text.
 * It must take precedence over legacy primary/action aliases: otherwise a
 * legacy blue foreground can be rendered on a blue primary background.
 * Label, icon and SVG descendants explicitly inherit the resolved foreground
 * so Client/Divi rules cannot reintroduce a different link/icon colour.
 * ---------------------------------------------------------------------- */
.apui-theme-scope .adc-shortcode :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button--primary),
.adc-shortcode.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button--primary),
.adc-shortcode-shell.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button--primary) {
	background: var(--apui-button-primary-bg, var(--apui-button-bg, var(--apui-primary, var(--plugin-blue-700, #174ea6))));
	border-color: var(--apui-button-primary-border, var(--apui-button-border, var(--apui-primary, var(--plugin-blue-700, #174ea6))));
	color: var(--apui-button-text, var(--apui-action-button-text, var(--apui-button-primary-text, var(--apui-action-primary-text, var(--apui-button-primary-color, var(--apui-button-text-on-primary, var(--apui-on-primary, var(--apui-on-dark, #fff)))))))) !important;
}

.apui-theme-scope .adc-shortcode :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button--primary) :is(.aplc-ui-button__label, .aplc-ui-button__icon, .dashicons, svg),
.adc-shortcode.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button--primary) :is(.aplc-ui-button__label, .aplc-ui-button__icon, .dashicons, svg),
.adc-shortcode-shell.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button--primary) :is(.aplc-ui-button__label, .aplc-ui-button__icon, .dashicons, svg) {
	color: inherit !important;
}

.apui-theme-scope .adc-shortcode :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button--primary):is(:hover, :focus, :focus-visible),
.adc-shortcode.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button--primary):is(:hover, :focus, :focus-visible),
.adc-shortcode-shell.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button--primary):is(:hover, :focus, :focus-visible) {
	background: var(--apui-button-primary-hover-bg, var(--apui-button-hover-bg, var(--apui-primary-hover, var(--plugin-blue-800, #123f88))));
	border-color: var(--apui-button-primary-hover-border, var(--apui-button-hover-border, var(--apui-primary-hover, var(--plugin-blue-800, #123f88))));
	color: var(--apui-button-hover-text, var(--apui-action-button-hover-text, var(--apui-button-primary-hover-text, var(--apui-action-primary-hover-text, var(--apui-button-primary-hover-color, var(--apui-button-hover-text-on-primary, var(--apui-on-primary, var(--apui-on-dark, #fff)))))))) !important;
}

.apui-theme-scope .adc-shortcode :is(.aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button--secondary),
.adc-shortcode.apui-theme-scope :is(.aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button--secondary),
.adc-shortcode-shell.apui-theme-scope :is(.aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button--secondary) {
	background: var(--apui-button-secondary-bg, var(--apui-surface, #fff));
	border-color: var(--apui-button-secondary-border, var(--apui-border, #d0d5dd));
	color: var(--apui-button-secondary-text, var(--apui-action-button-secondary-text, var(--apui-button-secondary-color, var(--apui-primary, var(--plugin-blue-700, #174ea6))))) !important;
}

.apui-theme-scope .adc-shortcode :is(.aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button--secondary) :is(.aplc-ui-button__label, .aplc-ui-button__icon, .dashicons, svg),
.adc-shortcode.apui-theme-scope :is(.aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button--secondary) :is(.aplc-ui-button__label, .aplc-ui-button__icon, .dashicons, svg),
.adc-shortcode-shell.apui-theme-scope :is(.aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button--secondary) :is(.aplc-ui-button__label, .aplc-ui-button__icon, .dashicons, svg) {
	color: inherit !important;
}


/* -------------------------------------------------------------------------
 * AP UI runtime / Divi 4 compatibility bridge — 0.2.25
 * This layer is scoped, so it does not alter Divi modules outside ADC.
 * ---------------------------------------------------------------------- */
.apui-theme-scope.aplc-divi-safe-scope.adc-shortcode,
.apui-theme-scope.aplc-divi-safe-scope .adc-shortcode,
.apui-theme-scope.aplc-divi-safe-scope .adc-document-modal {
	--adc-primary: var(--apui-primary-700, #1565c0);
	--adc-primary-hover: var(--apui-primary-900, #0d47a1);
	--adc-surface: var(--apui-surface, #ffffff);
	--adc-text: var(--apui-text, #212121);
	--adc-muted: var(--apui-muted, #667085);
	--adc-border: var(--apui-border, #d0d5dd);
	--adc-radius: var(--apui-shortcode-radius, var(--apui-radius-md, 8px));
	--adc-shadow: var(--apui-shortcode-shadow, var(--apui-shadow-soft, none));
	font-family: var(--apui-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	color: var(--adc-text);
}

.apui-theme-scope.aplc-divi-safe-scope .adc-shortcode *,
.apui-theme-scope.aplc-divi-safe-scope .adc-shortcode *::before,
.apui-theme-scope.aplc-divi-safe-scope .adc-shortcode *::after,
.apui-theme-scope.aplc-divi-safe-scope .adc-document-modal *,
.apui-theme-scope.aplc-divi-safe-scope .adc-document-modal *::before,
.apui-theme-scope.aplc-divi-safe-scope .adc-document-modal *::after {
	box-sizing: border-box;
}

.apui-theme-scope.aplc-divi-safe-scope .adc-shortcode input:not([type="checkbox"]):not([type="radio"]),
.apui-theme-scope.aplc-divi-safe-scope .adc-shortcode select,
.apui-theme-scope.aplc-divi-safe-scope .adc-shortcode textarea {
	width: 100%;
	max-width: 100%;
	font: inherit;
	color: var(--apui-input-text, var(--adc-text));
	background: var(--apui-input-bg, var(--adc-surface));
	border: var(--apui-input-border-width, 1px) solid var(--apui-input-border, var(--adc-border));
	border-radius: var(--apui-input-radius, var(--apui-radius-sm, 4px));
	box-shadow: none;
}

.apui-theme-scope.aplc-divi-safe-scope .adc-shortcode input:not([type="checkbox"]):not([type="radio"]):focus,
.apui-theme-scope.aplc-divi-safe-scope .adc-shortcode select:focus,
.apui-theme-scope.aplc-divi-safe-scope .adc-shortcode textarea:focus {
	border-color: var(--apui-input-focus, var(--adc-primary));
	outline: 2px solid var(--apui-focus-ring, rgba(21, 101, 192, .25));
	outline-offset: 1px;
}

.apui-theme-scope.aplc-divi-safe-scope .adc-shortcode button,
.apui-theme-scope.aplc-divi-safe-scope .adc-shortcode .apui-button,
.apui-theme-scope.aplc-divi-safe-scope .adc-shortcode .aplc-ui-button {
	font: inherit;
}

/* -------------------------------------------------------------------------
 * Patch 0.2.27 — Containment della shell e varianti pulsante Mother/AP.
 *
 * Le classi "page-shell"/"frontend-window" sono intenzionalmente assenti dal
 * markup degli shortcode: la componente deve misurare il proprio contenitore
 * Divi/WordPress e non la viewport. Questo layer protegge inoltre il risultato
 * da vecchi runtime Client che applicano misure full-bleed.
 *
 * Per i pulsanti la priorità è data ai token semanticamente corretti per il
 * testo su una superficie primary/secondary. Il token generico è solo fallback:
 * evita di riusare un colore link blu su un background primary blu.
 * ---------------------------------------------------------------------- */
.apui-theme-scope.aplc-divi-safe-scope.adc-shortcode-shell,
.apui-theme-scope.aplc-divi-safe-scope .adc-shortcode-shell {
	box-sizing: border-box !important;
	position: static !important;
	inset: auto !important;
	float: none !important;
	width: 100% !important;
	inline-size: 100% !important;
	max-width: 100% !important;
	max-inline-size: 100% !important;
	min-width: 0;
	min-inline-size: 0;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Primary actions: foreground intended for a filled primary background. */
.apui-theme-scope .adc-shortcode :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button-primary, .adc-ui-button--primary),
.adc-shortcode.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button-primary, .adc-ui-button--primary),
.adc-shortcode-shell.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button-primary, .adc-ui-button--primary) {
	--adc-button-foreground: var(--apui-button-primary-text, var(--apui-action-primary-text, var(--apui-button-text-on-primary, var(--apui-on-primary, var(--apui-on-dark, var(--apui-button-text, #fff))))));
	background: var(--apui-button-primary-bg, var(--apui-button-bg, var(--apui-primary, var(--plugin-blue-700, #174ea6)))) !important;
	border-color: var(--apui-button-primary-border, var(--apui-button-border, var(--apui-primary, var(--plugin-blue-700, #174ea6)))) !important;
	color: var(--adc-button-foreground) !important;
}

/* Primary hover/focus preserves a readable foreground instead of link colour. */
.apui-theme-scope .adc-shortcode :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button-primary, .adc-ui-button--primary):is(:hover, :focus, :focus-visible),
.adc-shortcode.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button-primary, .adc-ui-button--primary):is(:hover, :focus, :focus-visible),
.adc-shortcode-shell.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button-primary, .adc-ui-button--primary):is(:hover, :focus, :focus-visible) {
	--adc-button-foreground: var(--apui-button-primary-hover-text, var(--apui-action-primary-hover-text, var(--apui-button-hover-text-on-primary, var(--apui-on-primary, var(--apui-on-dark, var(--apui-button-primary-text, var(--apui-action-primary-text, var(--apui-button-text, #fff))))))));
	background: var(--apui-button-primary-hover-bg, var(--apui-button-hover-bg, var(--apui-primary-hover, var(--plugin-blue-800, #123f88)))) !important;
	border-color: var(--apui-button-primary-hover-border, var(--apui-button-hover-border, var(--apui-primary-hover, var(--plugin-blue-800, #123f88)))) !important;
	color: var(--adc-button-foreground) !important;
}

/* Secondary actions remain secondary even when the Client runtime uses !important. */
.apui-theme-scope .adc-shortcode :is(.aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button-secondary, .adc-ui-button--secondary),
.adc-shortcode.apui-theme-scope :is(.aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button-secondary, .adc-ui-button--secondary),
.adc-shortcode-shell.apui-theme-scope :is(.aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button-secondary, .adc-ui-button--secondary) {
	--adc-button-foreground: var(--apui-button-secondary-text, var(--apui-action-button-secondary-text, var(--apui-button-secondary-color, var(--apui-primary, var(--plugin-blue-700, #174ea6)))));
	background: var(--apui-button-secondary-bg, var(--apui-action-button-secondary-bg, var(--apui-surface, #fff))) !important;
	border-color: var(--apui-button-secondary-border, var(--apui-action-button-secondary-border, var(--apui-border, #d0d5dd))) !important;
	color: var(--adc-button-foreground) !important;
}

.apui-theme-scope .adc-shortcode :is(.aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button-secondary, .adc-ui-button--secondary):is(:hover, :focus, :focus-visible),
.adc-shortcode.apui-theme-scope :is(.aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button-secondary, .adc-ui-button--secondary):is(:hover, :focus, :focus-visible),
.adc-shortcode-shell.apui-theme-scope :is(.aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button-secondary, .adc-ui-button--secondary):is(:hover, :focus, :focus-visible) {
	--adc-button-foreground: var(--apui-button-secondary-hover-text, var(--apui-action-button-secondary-hover-text, var(--apui-button-secondary-hover-color, var(--apui-primary-hover, var(--plugin-blue-800, #123f88)))));
	background: var(--apui-button-secondary-hover-bg, var(--apui-action-button-secondary-hover-bg, var(--apui-soft, #f8fafc))) !important;
	border-color: var(--apui-button-secondary-hover-border, var(--apui-action-button-secondary-hover-border, var(--apui-primary-hover, var(--plugin-blue-800, #123f88)))) !important;
	color: var(--adc-button-foreground) !important;
}

/* Client helpers can colour labels and SVGs independently: make them inherit
 * the resolved variant foreground, including the fallback HTML generated here. */
.apui-theme-scope .adc-shortcode :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button-primary, .adc-ui-button--primary, .aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button-secondary, .adc-ui-button--secondary) :is(.aplc-ui-button__label, .aplc-ui-button__icon, .apui-button__label, .apui-button__icon, .dashicons),
.adc-shortcode.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button-primary, .adc-ui-button--primary, .aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button-secondary, .adc-ui-button--secondary) :is(.aplc-ui-button__label, .aplc-ui-button__icon, .apui-button__label, .apui-button__icon, .dashicons),
.adc-shortcode-shell.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button-primary, .adc-ui-button--primary, .aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button-secondary, .adc-ui-button--secondary) :is(.aplc-ui-button__label, .aplc-ui-button__icon, .apui-button__label, .apui-button__icon, .dashicons) {
	color: inherit !important;
}

.apui-theme-scope .adc-shortcode :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button-primary, .adc-ui-button--primary, .aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button-secondary, .adc-ui-button--secondary) svg,
.adc-shortcode.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button-primary, .adc-ui-button--primary, .aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button-secondary, .adc-ui-button--secondary) svg,
.adc-shortcode-shell.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button-primary, .adc-ui-button--primary, .aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button-secondary, .adc-ui-button--secondary) svg,
.apui-theme-scope .adc-shortcode :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button-primary, .adc-ui-button--primary, .aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button-secondary, .adc-ui-button--secondary) svg *,
.adc-shortcode.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button-primary, .adc-ui-button--primary, .aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button-secondary, .adc-ui-button--secondary) svg *,
.adc-shortcode-shell.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button-primary, .adc-ui-button--primary, .aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button-secondary, .adc-ui-button--secondary) svg * {
	color: inherit !important;
	fill: currentColor !important;
}
