/*
Block: Form
Last updated: 12/03/2025
*/

.wp-block-acf-form .edit-form {
    aspect-ratio: 1;
    height: 48px;
    border: 1px solid #1e1e1e;
	color: #1e1e1e;
    border-radius: 2px;
    justify-content: center;
    align-items: center;
    background-color: white;
    position: absolute;
    bottom: calc(100% + 8px);
    right: 0;
    pointer-events: auto !important;
	font-size: 15px;
	display: none;
	z-index: 4;
}

.block-editor-block-list__block.is-selected.wp-block-acf-form .edit-form {
	display: flex;
}

.wp-block-acf-form .edit-form:hover {
	color: var(--wp-admin-theme-color);
}
.wp-block-acf-form .edit-form:focus {
	box-shadow: none;
}
.wp-block-acf-form .edit-form .material-symbols {
    width: 30px;
    height: 32px;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wp-block-acf-form .gfield_required {
	position: relative;
	font-size: 0;
}

.wp-block-acf-form .gfield_required::after {
	content: '*';
    font-size: initial;
    margin-left: .1em;
    color: var(--error-message);
}

.wp-block-acf-form .gfield_required > .gfield_required::after {
	content: none;
}

.wp-block-acf-form .edit-form:focus .material-symbols {
	box-shadow: inset 0 0 0 1px #fff, 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
    outline: 2px solid #0000;
}

:root body .wp-block-acf-form {
	background-color: transparent !important;
	border-width: 0 !important;
	border-radius: 0 !important;
	border-style: none !important;
	color: var(--label-text);
	box-shadow: none !important;
}

.wp-block-acf-form ::placeholder {
	color: var(--placeholder);
}

.wp-block-acf-form legend,
.wp-block-acf-form label:not(.gform-field-label--type-inline):not(.gform-field-label--type-sub) {
	display: block;
}

.wp-block-acf-form .validation_message,
.wp-block-acf-form .gform_submission_error {
	color: var(--error-message);
	font-size: inherit;
}


.wp-block-acf-form {
	--form-gap: 20px;
}

.wp-block-acf-form .gform_heading {
	display: none;
}

.wp-block-acf-form select {
	-webkit-appearance: none;
}

.wp-block-acf-form input,
.wp-block-acf-form select,
.wp-block-acf-form textarea {
    margin-inline: 0;
    padding-block: 0;
    padding-inline: 0;
	display: block;
	width: 100%;
	border: 0;
	border-radius: 0;
	padding: 0;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	padding: calc(var(--padding) * .5) var(--padding);
	background-color: var(--input-background);
	color: var(--input-text);
	border-color: var(--input-border);
	border-width: var(--border-width);
	border-radius: var(--border-radius);
	border-style: solid;
	outline-color: transparent;
	outline-offset: 2px;
	outline-style: solid;
	transition: var(--time);
}

.wp-block-acf-form input:focus,
.wp-block-acf-form select:focus,
.wp-block-acf-form textarea:focus {
	outline-color: var(--focus-outline);
}

.wp-block-acf-form input[disabled],
.wp-block-acf-form select[disabled],
.wp-block-acf-form textarea[disabled] {
	opacity: .4;
}

.wp-block-acf-form select option,
.wp-block-acf-form legend,
.wp-block-acf-form fieldset {
	padding: 0;
    border: 0;
    margin-inline: 0;
    padding-block: 0;
    padding-inline: 0;
}

.wp-block-acf-form .gfield.hidden_label > label,
.wp-block-acf-form .gfield.hidden_label > legend {
	display: none;
}

.wp-block-acf-form .ginput_complex.ginput_container_name,
.wp-block-acf-form .gform_fields {
  display: grid;
  grid-template-columns: repeat(12, 1fr); /* 12 equal columns */
  gap: var(--form-gap);
}

/* Full width item */
.wp-block-acf-form .gfield {
  grid-column: 1 / -1; /* spans all 12 columns */
}

/* Half width item (50%) */
.wp-block-acf-form .gfield--width-half,
.wp-block-acf-form .ginput_complex.ginput_container_name.gf_name_has_2 > * {
  grid-column: span 6;
}

/* One third width item (~33.33%) */
.wp-block-acf-form .gfield--width-third,
.wp-block-acf-form .ginput_complex.ginput_container_name.gf_name_has_3 > * {
  grid-column: span 4;
}

/* One quarter width item (25%) */
.wp-block-acf-form .gfield--width-quarter,
.wp-block-acf-form .ginput_complex.ginput_container_name.gf_name_has_4 > * {
  grid-column: span 3;
}

/* Address Left and Right */
.wp-block-acf-form .ginput_complex > * {
	width: 100%;
}
.wp-block-acf-form .ginput_complex .ginput_right,
.wp-block-acf-form .ginput_complex .ginput_left {
	width: calc(50% - (var(--form-gap) / 2));
}

/* Select */

.wp-core-ui .wp-block-acf-form .gform_wrapper select,
.wp-block-acf-form .gform_wrapper select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon points='16.2,7.1 15.1,6.6 10,11.7 4.9,6.6 3.8,7.1 10,13.3' fill='%23000000' /%3E%3C/svg%3E");
	background-position: right calc(var(--padding) / 1.5) top 50%;
	background-size: 20px 20px;
	background-repeat: no-repeat;
	max-width: 100%;
	cursor: pointer;
    padding-right: calc(var(--padding) + 12px);
}

.wp-core-ui .wp-block-acf-form .gform_wrapper select[multiple],
.wp-block-acf-form .gform_wrapper select[multiple] {
	background-image: none !important;
	padding: var(--padding) !important;
	background-color: var(--input-background);
}

/* Checkboxes and radios */

.wp-block-acf-form .gfield-image-choice-wrapper-inner,
.wp-block-acf-form .ginput_container_consent,
.wp-block-acf-form .gchoice {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: calc(var(--form-gap) / 2);
}

.wp-block-acf-form .ginput_container_consent input,
.wp-block-acf-form .ginput_container_consent label,
.wp-block-acf-form .gchoice input,
.wp-block-acf-form .gchoice label {
	cursor: pointer;
}

.wp-block-acf-form input[type=checkbox],
.wp-block-acf-form input[type=radio] {
	-webkit-appearance: none;
	appearance: none;
	width: 1em;
	height: 1em;
	border-width: 1px;
	border-style: solid;
	border-color: color-mix(in srgb, var(--radio-checkbox) 50%, transparent);
	border-radius: 4px;
	padding: 0;
	background-size: .7em;
	background-repeat: no-repeat;
	background-position: center;
}

.wp-block-acf-form .ginput_container_consent:hover input,
.wp-block-acf-form .gchoice:hover input[type=checkbox],
.wp-block-acf-form .gchoice:hover input[type=radio] {
	border-color: var(--radio-checkbox);
}


.wp-block-acf-form input[type="radio" i] {
	margin: 0;
}

.wp-block-acf-form input[type=radio] {
	background-size: 59%;
}

.wp-block-acf-form input[type=radio] {
	border-radius: 50%;
}

/* Buttons */

.wp-block-acf-form .gfield--type-submit[data-field-position="inline"] button,
.wp-block-acf-form .gform_button {
	color: var(--submit-text);
	background-color: var(--submit-background);
	border-color: var(--submit-border);
	border-style: solid;
	display: inline-flex;
    align-items: center;
	cursor: pointer;
	margin-top: 30px;
}

.wp-block-acf-form .gfield--type-submit[data-field-position="inline"] {
	display: flex;
    justify-content: flex-end;
}

.wp-block-acf-form .gfield--type-submit[data-field-position="inline"] button {
	margin-top: 0;
}

.wp-block-acf-form .gform---width-full,
.wp-block-acf-form .gform_button.gform---width-full {
	width: 100%;
    justify-content: center;
}

.wp-block-acf-form input[type="file"] {
	padding: 0;
	border: 0;
	background-color: transparent;
}

.wp-block-acf-form input::file-selector-button {
	background-color: var(--radio-checkbox);
	color: var(--input-background);
	border: 0;
	border-radius: var(--border-radius);
	padding: .5em .75em;
	cursor: pointer;
	font-size: 80%;
	margin-right: .75em;
}

.wp-block-acf-form input::file-selector-button:hover {
	opacity: .9;
}

/* List Field */

.wp-block-acf-form .gfield_list_groups {
	display: flex;
    flex-direction: column;
    gap: .5em;
}

.wp-block-acf-form .gfield--type-list .ginput_list .gfield_list_group {
	display: flex;
}

.wp-block-acf-form .gfield--type-list .ginput_list .gfield_list_group .gfield_list_group_item {
	flex: 1;
}

.wp-block-acf-form .delete_list_item[style*="hidden"] {
	display: none;
}

.wp-block-acf-form .gfield_list_icons.gform-grid-col {
	display: flex;
	gap: 0.5em;
    padding-left: .5em;
}

.wp-block-acf-form button.add_list_item {
	order: 2;
}

.wp-block-acf-form button.add_list_item,
.wp-block-acf-form button.delete_list_item {
	color: transparent;
	font-size: 0px;
	border: 0;
	padding: 0;
	cursor: pointer;
	background-color: transparent;
}

.wp-block-acf-form button.add_list_item::after,
.wp-block-acf-form button.delete_list_item::after {
	font-size: 20px;
	width: 20px;
	height: 20px;
	background-color: var(--radio-checkbox);
	border-radius: 50%;
	color: var(--input-background);
	font-family: var(--mi-style);
	font-variation-settings: 'FILL' var(--mi-fill), 'wght' var(--mi-wght), 'GRAD' var(--mi-grad), 'opsz' var(--mi-opsz);
    display: flex;
    align-items: center;
    justify-content: center;
	outline: 3px solid transparent;
	transition: var(--time);
}

.wp-block-acf-form button.add_list_item:hover::after,
.wp-block-acf-form button.delete_list_item:hover::after {
	outline: 3px solid color-mix(in srgb, var(--radio-checkbox) 50%, transparent);
}

.wp-block-acf-form button.add_list_item::after {
	content: '\e145';
}
.wp-block-acf-form button.delete_list_item::after {
	content: '\e15b';
}

/* Time Field */

.wp-block-acf-form fieldset.gfield.gfield--type-time  > .ginput_container {
	display: flex;
	gap: calc(var(--form-gap) / 2);
	align-items: center;
} 

.wp-block-acf-form fieldset.gfield.gfield--type-time  > .ginput_container > * {
	flex: 1;
}

.wp-block-acf-form fieldset.gfield.gfield--type-time  > .ginput_container > .hour_minute_colon {
	flex: 0;
}

.wp-block-acf-form fieldset.gfield.gfield--type-time input,
.wp-block-acf-form fieldset.gfield.gfield--type-time select {
	min-width: calc(var(--padding) + 3.5em);
}

/* Sublabels */

.wp-block-acf-form .gform-field-label--type-sub {
	font-size: 80%;
	display: block;
}

/* Address Fieldset */

.wp-block-acf-form .ginput_complex.ginput_container_address {
    display: flex;
    flex-wrap: wrap;
    row-gap: calc(var(--form-gap) / 1.5);
    column-gap: var(--form-gap);
}

/* Date Picker */

.wp-block-acf-form .ginput_container_date {
	position: relative;
}

.wp-block-acf-form .ginput_container_date input {
	padding-right: calc(var(--padding) + 12px);
}

.wp-block-acf-form .ginput_container_date:after {
	content: '\e916';
    font-family: var(--mi-style);
    font-variation-settings: 'FILL' var(--mi-fill), 'wght' var(--mi-wght), 'GRAD' var(--mi-grad), 'opsz' var(--mi-opsz);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: calc(var(--padding) - 5px);
    color: var(--radio-checkbox);
	pointer-events: none;
}

.ui-datepicker.gform-theme-datepicker {
	border-style: solid;
}

.ui-datepicker .ui-datepicker-calendar {
	width: 100%;
}

.ui-datepicker .ui-datepicker-calendar tr {
	display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 7px;
    text-align: center;
    margin-top: 2px;
}

td.ui-datepicker-unselectable {
	opacity: .25;
}

.ui-datepicker-header {
	display: flex;
    flex-wrap: wrap;
    margin-bottom: 7px;
    justify-content: space-between;
	align-items: center;
}

.ui-datepicker thead th {
	font-weight: 500;
    font-size: 70%;
}

.ui-datepicker .ui-datepicker-calendar thead tr {
	margin-top: 10px;
	margin-bottom: 10px;
}

.ui-datepicker select {
    -webkit-appearance: none;
	cursor: pointer;
}

.ui-datepicker td[data-handler="selectDay"] {
    border-radius: 50%;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
	cursor: pointer;
	width: 2em;
}

.ui-datepicker-header a.ui-datepicker-prev,
.ui-datepicker-header a.ui-datepicker-next {
	/*display: inline-block;
	width: 50%;*/
}

.ui-datepicker-header a.ui-datepicker-prev span,
.ui-datepicker-header a.ui-datepicker-next span {
    cursor: pointer;
    font-size: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ui-datepicker-header a.ui-datepicker-prev span::after,
.ui-datepicker-header a.ui-datepicker-next span::after {
	font-size: 16px;
	font-family: var(--mi-style);
	font-variation-settings: 'FILL' var(--mi-fill), 'wght' var(--mi-wght), 'GRAD' var(--mi-grad), 'opsz' var(--mi-opsz);
}
.ui-datepicker-header a.ui-datepicker-prev span::after {
	content: '\e5e0';
}
.ui-datepicker-header a.ui-datepicker-next span::after {
	content: '\e5e1';
}

.ui-datepicker-title {
	display: flex;
}

.ui-datepicker-title > * {
	border: 0;
	font-family: inherit;
	padding: .15em .2em;
	font-weight: 500;
    font-size: 100%;
    opacity: .7;
}


.ui-datepicker-title > .ui-datepicker-month {
	border-top-right-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
	border-right: 0 !important;
	text-align: right;
}
.ui-datepicker-title > .ui-datepicker-year {
	border-top-left-radius: 0 !important;
	border-bottom-left-radius: 0 !important;
	border-left: 0 !important;
}


.ui-datepicker-title > .ui-datepicker-month,
.ui-datepicker-title > .ui-datepicker-year {
	field-sizing: content;
}


.ui-datepicker-header a.ui-datepicker-next {
	text-align: right;
	order: 2;
}

/* Underline style */

.wp-block-acf-form.is-style-underline input,
.wp-block-acf-form.is-style-underline select,
.wp-block-acf-form.is-style-underline textarea {
	border-left: unset !important;
	border-top: unset !important;
	border-right: unset !important;
}

/* Image Choice */

.wp-block-acf-form .gfield--type-image_choice .gfield_radio,
.wp-block-acf-form .gfield--type-image_choice .gfield_checkbox {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: var(--form-gap);
}

.wp-block-acf-form .gfield--type-image_choice .gchoice {
	cursor: pointer;
	flex: 1;
}

.wp-block-acf-form .gfield--type-image_choice .gchoice img {
	max-width: 100%;
	height: auto;
	border-radius: var(--border-radius);
	aspect-ratio: 1;
    object-fit: cover;
}

.wp-block-acf-form .gfield--type-image_choice.col2 .gfield_radio,
.wp-block-acf-form .gfield--type-image_choice.col2 .gfield_checkbox {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wp-block-acf-form .gfield--type-image_choice.col3 .gfield_radio,
.wp-block-acf-form .gfield--type-image_choice.col3 .gfield_checkbox {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wp-block-acf-form .gfield--type-image_choice.col4 .gfield_radio,
.wp-block-acf-form .gfield--type-image_choice.col4 .gfield_checkbox {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wp-block-acf-form .gform_fileupload_rules {
	font-size: 80%;
}