/* ==========================================================================
   AIC – Consultation page (page-consultation.php)
   Left: Contact Form 7 consult form. Right: featured image + highlights.
   ========================================================================== */

.aic-consult { padding: 48px 0 72px; }

.aic-consult__head { text-align: center; max-width: 660px; margin: 0 auto 44px; }
.aic-consult__title { font-size: clamp(28px, 3.4vw, 42px); font-weight: 700; margin: 6px 0 12px; }
.aic-consult__sub { color: var(--aic-muted); line-height: 1.6; margin: 0; }

.aic-consult__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	gap: 44px;
	align-items: start;
}

/* --------------------------------------------------------------------------
   LEFT – form card
   -------------------------------------------------------------------------- */
.aic-consult__form {
	background: #fff;
	border: 1px solid var(--aic-line);
	border-radius: 20px;
	padding: 34px;
	box-shadow: var(--aic-shadow);
}
.aic-consult__form-title { font-size: 22px; font-weight: 700; margin: 0 0 6px; }
.aic-consult__form-note { color: var(--aic-muted); font-size: 14px; margin: 0 0 24px; }

/* --------------------------------------------------------------------------
   RIGHT – featured image
   -------------------------------------------------------------------------- */
.aic-consult__aside { position: sticky; top: 96px; }

.aic-consult__media { margin: 0; border-radius: 20px; overflow: hidden; box-shadow: var(--aic-shadow); }
.aic-consult__media img { display: block; width: 100%; height: auto; }

/* --------------------------------------------------------------------------
   Contact Form 7 – match the theme
   -------------------------------------------------------------------------- */
.aic-consult__form .wpcf7 { margin: 0; }
.aic-consult__form .wpcf7 p { margin: 0 0 18px; }
.aic-consult__form label { display: block; font-size: 13px; font-weight: 600; color: var(--aic-ink); margin-bottom: 6px; }
.aic-consult__form .wpcf7-form-control-wrap { display: block; }

.aic-consult__form input.wpcf7-form-control:not(.wpcf7-submit):not([type="checkbox"]):not([type="radio"]),
.aic-consult__form textarea.wpcf7-form-control,
.aic-consult__form select.wpcf7-form-control {
	width: 100%;
	border: 1px solid var(--aic-line);
	border-radius: 10px;
	padding: 13px 15px;
	font: inherit;
	background: #fff;
	color: var(--aic-ink);
	line-height: 1.4;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.aic-consult__form textarea.wpcf7-form-control { min-height: 140px; resize: vertical; }

.aic-consult__form input.wpcf7-form-control:not(.wpcf7-submit):focus,
.aic-consult__form textarea.wpcf7-form-control:focus,
.aic-consult__form select.wpcf7-form-control:focus {
	border-color: var(--aic-green);
	outline: none;
	box-shadow: 0 0 0 3px rgba(92, 174, 92, .18);
}
.aic-consult__form input.wpcf7-form-control::placeholder,
.aic-consult__form textarea.wpcf7-form-control::placeholder { color: #9aa39c; }

/* the CF7 form body lays its fields out in .form-row / .form-grp */
.aic-consult__form .form-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 20px;
	align-items: start;
}
.aic-consult__form .form-grp { margin: 0; min-width: 0; }
.aic-consult__form .form-grp--full { grid-column: 1 / -1; }
.aic-consult__form .form-hint { display: block; margin-top: 6px; color: var(--aic-muted); font-size: 12.5px; }

/* file upload */
.aic-consult__form input[type="file"] {
	width: 100%;
	border: 1px dashed #cfd6cf;
	border-radius: 10px;
	padding: 12px 14px;
	background: #fbfcfb;
	font: inherit;
	font-size: 14px;
	color: var(--aic-muted);
	cursor: pointer;
}
.aic-consult__form input[type="file"]::file-selector-button {
	margin-right: 12px;
	border: 0;
	border-radius: 999px;
	padding: 8px 16px;
	background: var(--aic-mint);
	color: var(--aic-green-d);
	font: inherit;
	font-weight: 600;
	font-size: 13px;
	cursor: pointer;
}
.aic-consult__form input[type="file"]:hover { border-color: var(--aic-green); }

.aic-consult__form .form-btn { margin-top: 6px; }

/* checkbox / radio groups – flow into columns so long option lists stay compact
   (the 6 health-concern options fill 2 rows instead of stacking 6 deep) */
.aic-consult__form .wpcf7-checkbox,
.aic-consult__form .wpcf7-radio {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px 18px;
}
.aic-consult__form .wpcf7-list-item { margin: 0; }
.aic-consult__form .wpcf7-list-item label {
	display: flex;
	align-items: flex-start; /* long options ("Others: …") wrap under their own text */
	gap: 10px;
	margin: 0;
	font-weight: 400;
	font-size: 15px;
	line-height: 1.35;
	cursor: pointer;
}
.aic-consult__form .wpcf7-list-item input[type="checkbox"],
.aic-consult__form .wpcf7-list-item input[type="radio"] {
	flex: none;
	width: 18px;
	height: 18px;
	accent-color: var(--aic-green);
	margin: 0;
}

.aic-consult__form input.wpcf7-submit {
	background: var(--aic-green);
	color: #fff;
	border: 0;
	border-radius: 999px;
	padding: 14px 34px;
	font-weight: 600;
	font-size: 15px;
	cursor: pointer;
	transition: background .15s ease, transform .15s ease;
}
.aic-consult__form input.wpcf7-submit:hover { background: var(--aic-green-d); transform: translateY(-1px); }

.aic-consult__form .wpcf7-spinner { margin: 0 0 0 12px; }
.aic-consult__form .wpcf7-not-valid-tip { color: var(--aic-rose); font-size: 12.5px; margin-top: 4px; }
.aic-consult__form .wpcf7-response-output {
	margin: 16px 0 0;
	border-radius: 10px;
	padding: 12px 16px;
	font-size: 14px;
}

/* --------------------------------------------------------------------------
   RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width: 960px) {
	.aic-consult__grid { grid-template-columns: 1fr; gap: 28px; }
	.aic-consult__aside { position: static; }
	.aic-consult__form { padding: 24px; }
}

@media (max-width: 600px) {
	.aic-consult__form .form-row { grid-template-columns: 1fr; }
	.aic-consult__form .wpcf7-checkbox,
	.aic-consult__form .wpcf7-radio { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 420px) {
	.aic-consult__form .wpcf7-checkbox,
	.aic-consult__form .wpcf7-radio { grid-template-columns: 1fr; }
}
