.mkap-form-wrap {
    box-sizing: border-box;
    max-width: 760px;
    margin-inline: auto;
    padding: 0 20px;
    max-width: 835px;
}



/* Some themes override the browser's default [hidden] rule. */

.mkap-form [hidden] {

	display: none !important;

}



.mkap-form {

	display: grid;

	gap: 1.5rem;

}



.mkap-fields {

	display: grid;

	grid-template-columns: minmax(9rem, 13rem) minmax(0, 1fr);

	gap: 1rem 1.25rem;

	align-items: start;

	grid-template-columns: 20% 80%;

}



.mkap-fields > label {

	font-weight: 700;

	padding-top: 0.7rem;

	font-size:1.4rem;

}



.mkap-fields span{

	font-size:1.4rem;

}



.mkap-form input[type="text"],

.mkap-form input[type="email"],

.mkap-form input[type="file"],

.mkap-form textarea {

	width: 100%;

	box-sizing: border-box;

	padding: 0.75rem;

	font: inherit;

	appearance: none;

	-webkit-appearance: none;

	border-radius:5px;

    border: solid 1px #aaa;

}



.mkap-form input[type="file"]{

	border:none;

}



.mkap-field-note {

	margin: 0.35rem 0 0;

	font-size: 0.9em;

}



.mkap-form button {

    padding: 1.6rem 4rem;

    font: inherit;

    cursor: pointer;

    background: #FF7BAB;

    color: #FFF;

    border: none;

    border-radius: 5px;

}



.mkap-consent {

	display: flex;

	gap: 0.65rem;

	align-items: flex-start;

	margin-block: 0.5rem;

}



.mkap-consent input {

	margin-top: 0.7rem;

}



.mkap-consent input[type="checkbox"] {

	transform: scale(1.5);

}



.mkap-consent span{

	font-size:1.4rem;

	font-weight:700;

}



.mkap-required-note {

	margin: 0;

	color: #c62828;

	font-weight: 700;

	font-size:1.4rem;

}



.mkap-guidelines {

	padding: clamp(1rem, 3vw, 1.75rem);

	border: 1px solid #aaa;

}



.mkap-guidelines h2,

.mkap-confirm h2 {

	margin: 0 0 1rem;

	font-size: 1.8rem;

	text-align: center;

	font-weight:700;

}



.mkap-guidelines > p { margin: 0 0 0.75rem; }

.mkap-guidelines ul { margin: 0; padding-left: 1.4rem; line-height: 1.75; font-size:1.4rem; padding-bottom:10px; border-bottom:solid 1px #aaa}

.mkap-guidelines .mkap-consent { margin-top: 1.25rem; }



.mkap-suffix-field,

.mkap-name-fields {

	display: flex;

	align-items: center;

	gap: 0.5rem;

}



.mkap-suffix-field input { max-width: 13rem; }

.mkap-name-fields input { min-width: 0; }



.mkap-form__actions {

	display: flex;

	justify-content: center;

	flex-wrap: wrap;

	gap: 0.75rem;

}



.mkap-confirm {

	padding: 1.5rem;

	border: 1px solid #aaa;

}



.mkap-confirm__list {

	display: grid;

	grid-template-columns: minmax(8rem, 12rem) minmax(0, 1fr);

	gap: 0.75rem 1rem;

	margin: 0 0 1.5rem;

	font-size:1.4rem;

}



.mkap-confirm__list dt { font-weight: 700; }

.mkap-confirm__list dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }



.mkap-submitting {

	display: flex;

	align-items: center;

	justify-content: center;

	gap: 0.8rem;

	margin-top: 1.25rem;

	font-size: 1.2rem;

	font-weight: 700;

}



.mkap-spinner {

	width: 1.5rem;

	height: 1.5rem;

	border: 3px solid #f6bfd3;

	border-top-color: #FF7BAB;

	border-radius: 50%;

	animation: mkap-spin 0.8s linear infinite;

}



.mkap-form[aria-busy="true"] .mkap-form__actions button {

	cursor: wait;

	opacity: 0.65;

}



@keyframes mkap-spin {

	to { transform: rotate(360deg); }

}



.mkap-message {

	padding: 1rem;

	margin-bottom: 1rem;

	border: 1px solid currentColor;

}



.mkap-message--success {

	white-space: pre-line;

	color: #176b36;

}



.mkap-message--error {

	color: #a12424;

}



.mkap-honeypot {

	position: absolute !important;

	left: -10000px !important;

	width: 1px !important;

	height: 1px !important;

	overflow: hidden !important;

}



@media (max-width: 640px) {

	.mkap-fields,

	.mkap-confirm__list { grid-template-columns: 1fr; }

	.mkap-fields > label { padding-top: 0; margin-bottom: -0.6rem; }

}

.mkap-image-fields input[type="file"] { display: block; margin: 4px 0 16px; max-width: 100%; }


/* Confirmation photos stay side by side, including on small screens. */
.mkap-confirm__list dd.mkap-confirm__images {
 display: flex;
 flex-wrap: nowrap;
 gap: 12px;
 min-width: 0;
 white-space: normal;
}
.mkap-confirm__images figure {
 flex: 1 1 0;
 min-width: 0;
 max-width: 180px;
 margin: 0;
}
.mkap-confirm__images img {
 display: block;
 width: 100%;
 height: auto;
 object-fit: contain;
 background: #f5f5f5;
}
.mkap-confirm__images figcaption {
 margin-top: 6px;
 font-size: 0.8em;
 overflow-wrap: anywhere;
}

/* Leave room for the fixed menu (75px) and an extra 25px when scrolling. */
.mkap-form,
.mkap-form .mkap-confirm {
 scroll-margin-top: 100px;
}
