/* This stylesheet only loads on pages carrying the [miam_form] shortcode,
   so it's safe to collapse the active theme's own page-title banner here —
   the source form's theme never renders one above the form. */
.page-banner {
	display: none !important;
}

/* Match the source form's plain dark header: no phone/contact top bar,
   no CTA button, just logo + nav on a solid brand-dark background. */
.topbar {
	display: none !important;
}

.site-header {
	background: #474242 !important;
}

.site-header .header-actions {
	display: none !important;
}

.site-header .nav-menu > li > a,
.site-header .nav-menu .sub-menu a {
	color: #fff !important;
}

.site-header .nav-menu > li > a:hover {
	color: var(--miam-accent, #FF8080) !important;
}

.miam-form-wrap {
	max-width: 900px;
	margin: 0;
	padding: 30px;
	background: #F1F1F1;
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	color: #474242;
	box-sizing: border-box;
	--miam-accent: #FF8080;
	--miam-accent-dark: #f25e5e;
	--miam-text-muted: #7A7A7A;
	--miam-border: #ced4da;
	--miam-hr: #dadbdd;
}

.miam-intro-box {
	background: #fff;
	padding: 30px 30px 24px;
	margin: -30px -30px 20px;
	border-bottom: 2px solid var(--miam-accent);
}

.miam-page-title {
	font-family: 'Libre Baskerville', serif;
	font-size: 30px;
	font-weight: 400;
	color: var(--miam-accent);
	margin: 0 0 12px;
}

.miam-page-intro {
	margin: 0;
	font-size: 0.95rem;
}

.miam-section {
	margin-bottom: 20px;
}

.miam-section-title {
	font-family: 'Libre Baskerville', serif;
	font-size: 24px;
	line-height: 24px;
	font-weight: 400;
	letter-spacing: 0;
	color: var(--miam-accent);
	margin: 0 0 5px;
	padding: 0 0 5px 0;
}

.miam-section-note {
	color: #474242;
	font-size: 0.95rem;
	margin: 0 0 8px;
}

.miam-section-hr {
	background-color: var(--miam-hr);
	border: none;
	height: 1px;
	margin: 0 0 16px;
}

.miam-field {
	margin-bottom: 20px;
}

.miam-label {
	display: block;
	font-weight: 400;
	margin-bottom: 6px;
}

.miam-required {
	display: none;
}

.miam-hint {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--miam-accent);
	color: #fff;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 10px;
	font-weight: 700;
	font-style: italic;
	line-height: 1;
	padding-top: 1px;
	box-sizing: border-box;
	cursor: help;
	vertical-align: middle;
}

.miam-field input[type="text"],
.miam-field input[type="email"],
.miam-field input[type="tel"],
.miam-field select,
.miam-field textarea {
	display: block;
	width: 100%;
	padding: 8px 12px;
	border: 1px solid var(--miam-accent);
	border-radius: 4px;
	font-family: inherit;
	font-size: 0.95rem;
	background: #fff;
	box-sizing: border-box;
}

.miam-field textarea {
	resize: vertical;
}

.miam-field input:focus,
.miam-field select:focus,
.miam-field textarea:focus {
	outline: none;
	border-color: var(--miam-accent-dark);
	box-shadow: 0 0 0 3px rgba(255, 128, 128, 0.25);
}

/* Two-column row layout, matching the source form's paired fields. */
.miam-row {
	display: flex;
	gap: 15px;
	width: 100%;
}

.miam-row-col {
	flex: 1 1 0;
	min-width: 0;
}

.miam-radio-group,
.miam-checkbox-group {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.miam-radio-option,
.miam-checkbox-option {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 400;
	cursor: pointer;
}

.miam-checkbox-label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-weight: 400;
	cursor: pointer;
}

.miam-checkbox-label a {
	color: var(--miam-accent-dark);
}

/* Square coral checkbox style, used for both radio and checkbox inputs
   to match the source form's look (it renders every choice as a square
   tick box, not native round radio buttons). */
.miam-radio-option input[type="radio"],
.miam-checkbox-option input[type="checkbox"],
.miam-checkbox-label input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 18px;
	height: 18px;
	min-width: 18px;
	margin: 0;
	border: 1.5px solid var(--miam-accent);
	border-radius: 3px;
	background: #fff;
	position: relative;
	cursor: pointer;
	flex-shrink: 0;
}

.miam-radio-option input[type="radio"]:checked,
.miam-checkbox-option input[type="checkbox"]:checked,
.miam-checkbox-label input[type="checkbox"]:checked {
	background: var(--miam-accent);
	border-color: var(--miam-accent);
}

.miam-radio-option input[type="radio"]:checked::after,
.miam-checkbox-option input[type="checkbox"]:checked::after,
.miam-checkbox-label input[type="checkbox"]:checked::after {
	content: '';
	position: absolute;
	left: 5px;
	top: 1px;
	width: 5px;
	height: 9px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.miam-radio-option input[type="radio"]:focus-visible,
.miam-checkbox-option input[type="checkbox"]:focus-visible,
.miam-checkbox-label input[type="checkbox"]:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(255, 128, 128, 0.3);
}

/* Repeater tables (children, investment/overseas property) */
.miam-repeater-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 5px;
}

.miam-repeater-table th {
	font-size: 90%;
	font-weight: 500;
	text-align: left;
	padding: 0 15px 5px 0;
}

.miam-repeater-table td {
	padding: 0 15px 15px 0;
	vertical-align: top;
}

.miam-repeater-actions {
	width: 60px;
	white-space: nowrap;
	padding-top: 2px !important;
}

.miam-repeat-add,
.miam-repeat-remove {
	width: 26px;
	height: 26px;
	line-height: 24px;
	padding: 0;
	text-align: center;
	border-radius: 50%;
	border: 1.5px solid var(--miam-accent);
	background: #fff;
	color: var(--miam-accent);
	font-size: 16px;
	cursor: pointer;
}

.miam-repeat-add:hover,
.miam-repeat-remove:hover {
	background: var(--miam-accent);
	color: #fff;
}

.miam-btn {
	display: inline-block;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
	font-size: 17px;
	padding: 10px 25px;
	border-radius: 0;
	border: none;
	cursor: pointer;
	transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.miam-btn-primary {
	background: var(--miam-accent);
	color: #fff;
}

.miam-btn-primary:hover {
	background: var(--miam-accent-dark);
}

.miam-btn-secondary {
	background: #fff;
	color: var(--miam-accent);
	border: 1px solid var(--miam-accent);
	margin-right: 12px;
}

.miam-btn-secondary:hover {
	background: var(--miam-accent);
	color: #fff;
}

.miam-actions {
	margin-top: 8px;
	padding: 16px 0;
}

.miam-form-message {
	margin-top: 14px;
	padding: 12px 16px;
	border-radius: 4px;
	font-size: 0.95rem;
	display: none;
}

.miam-form-message.miam-success {
	display: block;
	background: #e6f6ec;
	color: #1e7e34;
	border: 1px solid #b6e5c5;
}

.miam-form-message.miam-error {
	display: block;
	background: #fdecea;
	color: #a71d2a;
	border: 1px solid #f5c2c7;
}

@media (max-width: 600px) {
	.miam-row {
		flex-direction: column;
		gap: 0;
	}
}
