/* CF7 Form Layout Builder – front-end layout */
.lfc-canvas { --lfc-gap: 16px; box-sizing: border-box; }
.lfc-canvas *, .lfc-canvas *::before, .lfc-canvas *::after { box-sizing: border-box; }
.lfc-form { display: flex; flex-direction: column; gap: var(--lfc-gap); }
.lfc-row { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--lfc-gap); align-items: start; }
.lfc-col { display: flex; flex-direction: column; gap: var(--lfc-gap); min-width: 0; }
.lfc-col-1 { grid-column: span 1; } .lfc-col-2 { grid-column: span 2; } .lfc-col-3 { grid-column: span 3; }
.lfc-col-4 { grid-column: span 4; } .lfc-col-5 { grid-column: span 5; } .lfc-col-6 { grid-column: span 6; }
.lfc-col-7 { grid-column: span 7; } .lfc-col-8 { grid-column: span 8; } .lfc-col-9 { grid-column: span 9; }
.lfc-col-10 { grid-column: span 10; } .lfc-col-11 { grid-column: span 11; } .lfc-col-12 { grid-column: span 12; }

.lfc-field { margin: 0; }
.lfc-label { display: block; margin: 0 0 6px; line-height: 1.4; }
.lfc-required { margin-left: 2px; }
.lfc-control .wpcf7-form-control-wrap { display: block; }
.lfc-control input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=file]),
.lfc-control select,
.lfc-control textarea { width: 100%; max-width: 100%; font: inherit; line-height: 1.4; }
.lfc-control textarea { resize: vertical; }
.lfc-help { margin: 6px 0 0; font-size: .875em; opacity: .75; }

.lfc-control .wpcf7-checkbox, .lfc-control .wpcf7-radio { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.lfc-inline-no .wpcf7-checkbox, .lfc-inline-no .wpcf7-radio { flex-direction: column; }
.lfc-control .wpcf7-list-item { margin: 0; }
.lfc-control .wpcf7-list-item label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }

.lfc-heading { margin: 0; line-height: 1.3; }
.lfc-text { margin: 0; line-height: 1.6; }
.lfc-text > :first-child { margin-top: 0; } .lfc-text > :last-child { margin-bottom: 0; }
.lfc-divider { border: 0; border-top: 1px solid currentColor; opacity: .15; margin: 0; width: 100%; }
.lfc-image img { max-width: 100%; height: auto; display: inline-block; }
.lfc-align-center { text-align: center; } .lfc-align-right { text-align: right; } .lfc-align-left { text-align: left; }

.lfc-canvas .wpcf7-spinner { vertical-align: middle; }
.lfc-canvas .wpcf7-not-valid-tip { font-size: .85em; margin-top: 4px; }

@media (max-width: 640px) {
	.lfc-row { grid-template-columns: 1fr; }
	.lfc-row > .lfc-col { grid-column: 1 / -1; }
}
