/* Explicit opt-in only. CF7 controls, validation tips and native semantics stay intact. */
.dde-form-ui {
	--form-ink: var(--color-ink);
	--form-surface: var(--color-paper);
	--form-tint: var(--color-surface);
	--form-border: var(--color-border);
	--form-error: #982222;
}
.dde-form-ui.dde-form-card,
.dde-form-ui .dde-form-card {
	min-width: 0;
	margin-block: 0 var(--space-4);
	padding: clamp(1rem, 3vw, 1.75rem);
	border: 1px solid var(--form-border);
	border-radius: var(--radius-control);
	background: var(--form-surface);
}
.dde-form-ui .dde-form-card > :first-child { margin-block-start: 0; }
.dde-form-ui .dde-form-card > :last-child { margin-block-end: 0; }
.dde-form-ui .dde-form-card > h2,
.dde-form-ui .dde-form-section > h2 {
	margin-block: 0 var(--space-4);
	padding-block-end: var(--space-2);
	border-bottom: 1px solid var(--form-border);
	color: var(--form-ink);
	font-size: 1.3rem;
	line-height: 1.35;
}
.dde-form-ui .form-field {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: .4rem;
	min-width: 0;
	margin-block: 0 var(--space-3);
}
.dde-form-ui .form-field > span:first-child,
.dde-form-ui .dde-form-label,
.dde-form-ui legend { font-size: .95rem; font-weight: 600; line-height: 1.45; }
.dde-form-ui .form-field > .wpcf7-form-control-wrap { display: block; min-width: 0; }
.wpcf7-form.dde-form-ui :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]), select, textarea) {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	min-height: 2.8rem;
	padding: .65rem .75rem;
	border: 1px solid #a7bacb;
	border-radius: var(--radius-control);
	background: var(--form-surface);
	color: var(--color-text);
	font: inherit;
	line-height: 1.4;
}
.wpcf7-form.dde-form-ui textarea { min-height: 10rem; resize: vertical; }
.wpcf7-form.dde-form-ui :where(input:hover:not(:disabled):not([readonly]), select:hover:not(:disabled):not([readonly]), textarea:hover:not(:disabled):not([readonly])) { border-color: var(--color-action); }
.dde-form-ui :where(input, select, textarea, button, a):focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
.dde-form-ui :where(input, select, textarea):disabled { background: var(--form-tint); color: var(--color-muted); cursor: not-allowed; }
.dde-form-ui :where(input, textarea)[readonly] { background: var(--form-tint); }
.dde-form-ui fieldset:not(.hidden-fields-container) { min-width: 0; margin: 0 0 var(--space-4); padding: 0; border: 0; }
.dde-form-ui legend { margin-block-end: var(--space-2); padding: 0; color: var(--form-ink); }
.dde-form-ui :where(.wpcf7-checkbox, .wpcf7-radio) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
.dde-form-ui :where(.wpcf7-checkbox, .wpcf7-radio) .wpcf7-list-item { display: block; margin: 0; }
.dde-form-ui :where(.wpcf7-checkbox, .wpcf7-radio) label { display: flex; align-items: center; gap: var(--space-2); min-height: 3rem; height: 100%; padding: .7rem .85rem; border: 1px solid var(--form-border); border-radius: var(--radius-control); background: var(--form-tint); cursor: pointer; }
.dde-form-ui :where(.wpcf7-checkbox, .wpcf7-radio) label:has(input:checked) { border-color: var(--color-action); color: var(--form-ink); font-weight: 650; }
.dde-form-ui :where(input[type="checkbox"], input[type="radio"]) { flex: 0 0 auto; width: 1.2rem; height: 1.2rem; margin: .1rem 0; accent-color: var(--color-action); }
.dde-form-ui .wpcf7-acceptance .wpcf7-list-item { display: block; margin: var(--space-3) 0; }
.dde-form-ui .wpcf7-acceptance label { display: flex; align-items: flex-start; gap: var(--space-2); line-height: 1.6; }
.dde-form-ui .wpcf7-list-item-label { min-width: 0; overflow-wrap: anywhere; }
.dde-form-ui .dde-form-actions { margin-block-start: var(--space-4); }
.wpcf7-form.dde-form-ui :where(.wpcf7-submit, .dde-form-primary) { width: auto; min-height: 3rem; padding: .8rem 1.6rem; border: 1px solid var(--color-action); border-radius: var(--radius-control); background: var(--color-action); color: var(--color-paper); font: inherit; font-weight: 700; cursor: pointer; }
.wpcf7-form.dde-form-ui :where(.wpcf7-submit, .dde-form-primary):hover:not(:disabled) { background: var(--color-action-hover); }
.wpcf7-form.dde-form-ui :where(.wpcf7-submit, .dde-form-primary):disabled { opacity: .65; cursor: not-allowed; }
.dde-form-ui .wpcf7-not-valid { border-color: var(--form-error); }
.dde-form-ui .wpcf7-not-valid-tip { display: block; margin-block-start: .4rem; color: var(--form-error); font-size: var(--font-size-small); line-height: 1.45; }
.dde-form-ui .wpcf7-response-output { margin-inline: 0; padding: var(--space-3); border-radius: var(--radius-control); overflow-wrap: anywhere; }
.dde-form-ui .dde-form-required { color: var(--form-error); font-weight: 700; }
.dde-form-ui .dde-form-help { margin-block: 0 var(--space-4); color: var(--color-muted); font-size: var(--font-size-small); line-height: 1.6; }
@media (max-width: 36rem) {
	.dde-form-ui :where(.wpcf7-checkbox, .wpcf7-radio) { grid-template-columns: minmax(0, 1fr); }
	.wpcf7-form.dde-form-ui :where(.wpcf7-submit, .dde-form-primary) { width: 100%; }
}

/* Contact-only arrangement: one outer card, a quiet final subsection. */
.dde-form-ui--contact .dde-form-section > :first-child { margin-block-start: 0; }
.dde-form-ui--contact .dde-form-section > :last-child { margin-block-end: 0; }
.dde-form-ui--contact .dde-form-section--final { margin-block-start: var(--space-5); padding-block-start: var(--space-4); border-top: 1px solid var(--form-border); }
.dde-form-ui--contact .dde-form-section--final > h2 { border: 0; padding: 0; }
.page-id-87 .entry-content > .dde-contact-block,
.page-id-87 .entry-content > .wpcf7 { margin-block: 0 var(--space-5); }
.page-id-87 .entry-content > .dde-contact-block > h2:first-child { margin-block-start: 0; }
/* Contact composition: retain controls, typography and institutional palette. */
.page-id-87 .site-main--page > .layout-container > article { width: min(100%, 70rem); }
.page-id-87 .dde-contact-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); max-width: var(--content-width); margin-inline: auto; align-items: start; }
.page-id-87 :where(.dde-contact-details, .dde-contact-message) { min-width: 0; }
.page-id-87 .dde-contact-details .dde-contact-block + .dde-contact-block { margin-block-start: var(--space-5); }
.page-id-87 .dde-contact-details .dde-contact-block > h2:first-child { margin-block-start: 0; }
.page-id-87 .entry-content .dde-contact-channels { display: grid; gap: var(--space-3); margin: var(--space-4) 0; padding: 0; list-style: none; }
.page-id-87 .dde-contact-channels > li { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: var(--space-2); align-items: start; margin: 0; }
.page-id-87 .dde-contact-channel-icon { display: flex; align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; margin-block-start: .1em; color: var(--color-ink); }
.page-id-87 .dde-contact-channel-icon svg { display: block; width: 1.35rem; height: 1.35rem; }
.page-id-87 .dde-contact-channel-icon :where(svg:not([fill="none"])) { fill: currentColor; }
.page-id-87 .dde-contact-message .wpcf7-form { margin-block: 0; }
.page-id-87 .dde-contact-team { max-width: var(--content-width); margin-inline: auto; padding-block-start: var(--space-4); }
.page-id-87 .dde-form-ui--contact .dde-form-section--final { padding: var(--space-4); background: var(--color-surface); border-top: 0; border-radius: var(--radius-control); }
@media (min-width: 64rem) {
 .page-id-87 .dde-contact-layout { max-width: none; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: var(--space-5); }
 .page-id-87 .dde-contact-team { margin-inline: 0; }
 .page-id-87 .dde-contact-message { width: 100%; max-width: 36rem; justify-self: end; }
}

/* Contact-only finishing: compact proportions without changing native controls. */
.page-id-87 .dde-form-ui--contact .form-field { gap: .35rem; margin-block-end: .85rem; }
.page-id-87 .wpcf7-form.dde-form-ui--contact textarea { height: 9rem; min-height: 8rem; }
.page-id-87 .dde-form-ui--contact .dde-form-section--final { margin-block-start: var(--space-4); padding: var(--space-3); }
.page-id-87 .dde-form-ui--contact .dde-form-section--final > h2 { margin-block: 0 var(--space-2); font-size: 1rem; font-weight: 600; line-height: 1.4; }
.page-id-87 .dde-form-ui--contact .dde-form-label { margin-block: 0 .35rem; }
.page-id-87 .dde-form-ui--contact input[name="pregunta-seguridad"] { display: block; max-width: 10rem; margin-block-start: .35rem; }
.page-id-87 .dde-form-ui--contact .wpcf7-acceptance .wpcf7-list-item { margin-block: var(--space-2); }
.page-id-87 .dde-form-ui--contact .wpcf7-acceptance label { font-size: var(--font-size-small); line-height: 1.5; }
.page-id-87 .dde-form-ui--contact .dde-form-actions { margin-block-start: var(--space-2); }

/* Formation pilot only: shared controls with compact semantic sections. */
.dde-form-ui--formation .dde-form-section > :first-child { margin-block-start: 0; }
.dde-form-ui--formation .dde-form-section > :last-child { margin-block-end: 0; }
.dde-form-ui--formation .dde-form-section + .dde-form-section { margin-block-start: var(--space-4); }
.dde-form-ui--formation .dde-form-section--final { padding: var(--space-3); background: var(--form-tint); border-radius: var(--radius-control); }
.dde-form-ui--formation .dde-form-section--final > h2 { margin-block: 0 var(--space-2); border: 0; padding: 0; font-size: 1rem; font-weight: 600; }
.dde-form-ui--formation .dde-form-label { margin-block: 0 .35rem; }
.dde-form-ui--formation input[name="pregunta-seguridad"] { display: block; max-width: 10rem; margin-block-start: .35rem; }
.dde-form-ui--formation .wpcf7-acceptance .wpcf7-list-item,
.dde-form-ui--formation .dde-form-actions { margin-block: var(--space-2) 0; }
.dde-form-ui--formation .wpcf7-acceptance label { font-size: var(--font-size-small); line-height: 1.5; }

/* Opt-in Activities: preserve conditional groups, calculators and repeater controls. */
.dde-form-ui--activity > h3,
.dde-form-ui--activity .form-container > h3 { margin-block: var(--space-4) var(--space-3); color: var(--form-ink); }
.dde-form-ui--activity .wpcf7-field-group { margin-block: var(--space-3); padding: var(--space-3); border: 1px solid var(--form-border); border-radius: var(--radius-control); }
.dde-form-ui--activity :where(.wpcf7-field-group-add, .wpcf7-field-group-remove) { min-width: 2.75rem; min-height: 2.75rem; margin-inline-end: var(--space-1); }
.dde-form-ui--activity .occf7cal-total { background: var(--form-tint); font-weight: 700; }

/* Ratings: native exclusive checkboxes, original 1–4 values and question legends. */
.dde-form-ui--ratings .dde-rating-item { min-width: 0; margin-block-end: var(--space-3); }
.dde-form-ui--ratings .dde-rating-question .wpcf7-checkbox { grid-template-columns: repeat(4, minmax(0, 1fr)); width: min(100%, 22rem); gap: var(--space-1); }
.dde-form-ui--ratings .dde-rating-question .wpcf7-list-item label { justify-content: center; padding: .5rem .35rem; gap: .35rem; }
.dde-form-ui--ratings .dde-rating-question label:has(input:checked) { background: var(--color-institutional-surface); }
.wpcf7-form.dde-form-ui--ratings textarea { height: 8rem; min-height: 6rem; }
.dde-form-ui--ratings #dde-rating-send { font-size: 1rem; }
.dde-form-ui--ratings [aria-labelledby="dde-rating-send"] { background: var(--form-tint); }
.dde-form-ui--ratings [aria-labelledby="dde-rating-send"] .wpcf7-acceptance label { font-size: var(--font-size-small); }
.dde-form-ui--ratings input[name="pregunta-seguridad"] { display: block; max-width: 10rem; }
.dde-form-ui--ratings .dde-rating-item:last-child { margin-block-end: 0; }
.dde-form-ui--ratings .dde-rating-item > h4 { font-size: var(--font-size-small); font-weight: 400; line-height: 1.6; color: var(--color-muted); }
