/* ==========================================================================
   ATEH LAW — Contact page
   Form markup is Forminator's; this restyles it to the design without
   touching plugin files.
   ========================================================================== */

.ateh-talk > .et_pb_row:first-of-type .et_pb_module { margin-bottom: 16px !important; }
.ateh-talk > .et_pb_row:first-of-type .et_pb_module:last-child { margin-bottom: 0 !important; }
.ateh-talk .ateh-center { max-width: 768px; margin-left: auto !important; margin-right: auto !important; }

.et_pb_row.ateh-talkgrid { display: flex; flex-wrap: wrap; align-items: stretch; gap: 32px; }
.ateh-talkgrid .et_pb_column { float: none; margin: 0 !important; }
.ateh-firmcard { width: calc((100% - 32px) * 0.4) !important; }
.ateh-formcard { width: calc((100% - 32px) * 0.6) !important; }

/* --- Firm details card ---------------------------------------------------- */
.ateh-firmcard,
.ateh-formcard {
	background: var(--ateh-surface);
	border: 1px solid var(--ateh-border);
	padding: 32px !important;
}
.ateh-firmcard > .et_pb_module { margin-bottom: 12px !important; }
.ateh-firmcard > .et_pb_module:last-child { margin-bottom: 0 !important; }

.ateh-firmcard__head { padding-bottom: 20px; border-bottom: 1px solid var(--ateh-border); margin-bottom: 20px !important; }
.ateh-firmcard__head h3 {
	font-family: var(--ateh-font-body);
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	color: var(--ateh-navy);
	padding: 0 0 8px;
}
.ateh-firmcard__sub {
	margin: 0 0 12px !important;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ateh-slate-400);
}
.ateh-firmcard__serving { margin: 0 !important; font-size: 12px; line-height: 1.6; color: var(--ateh-slate-500); }

/* Info tiles: icon square + label + value */
.ateh-infotile {
	position: relative;
	background: var(--ateh-silver-pale);
	border: 1px solid var(--ateh-border);
	padding: 16px 16px 16px 66px;
}
.ateh-infotile::before {
	font-family: 'ETmodules';
	position: absolute;
	left: 16px;
	top: 16px;
	width: 34px;
	height: 34px;
	line-height: 34px;
	text-align: center;
	background: var(--ateh-navy);
	color: var(--ateh-white);
	font-size: 16px;
}
.ateh-infotile--phone::before { content: "\00e00b"; }
.ateh-infotile--mail::before  { content: "\00e010"; }
.ateh-infotile--pin::before   { content: "\00e01d"; }
.ateh-infotile--clock::before { content: "\00007d"; }

.ateh-infotile__label {
	margin: 0 0 5px !important;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ateh-slate-400);
}
.ateh-infotile__value {
	margin: 0 !important;
	font-size: 15px;
	font-weight: 700;
	color: var(--ateh-navy);
	line-height: 1.35;
}
.ateh-infotile__value--sm { font-size: 12px; font-weight: 600; }
.ateh-infotile__alt { margin: 3px 0 0 !important; font-size: 11px; color: var(--ateh-slate-400); line-height: 1.5; }

/* --- Form card ------------------------------------------------------------ */
.ateh-formcard > .et_pb_module { margin-bottom: 20px !important; }
.ateh-formcard > .et_pb_module:last-child { margin-bottom: 0 !important; }
.ateh-formcard__head { padding-bottom: 16px; border-bottom: 1px solid var(--ateh-border); }
.ateh-formcard__head h3 {
	font-family: var(--ateh-font-body);
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	color: var(--ateh-navy);
	padding: 0 0 6px;
}
.ateh-formcard__head p { margin: 0; font-size: 12px; color: var(--ateh-slate-500); }

.ateh-formcard__note p {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	padding-top: 16px;
	border-top: 1px solid var(--ateh-border);
	font-size: 11px;
	line-height: 1.6;
	color: var(--ateh-slate-400);
}
.ateh-formcard__note p::before {
	content: "\00e0d9";
	font-family: 'ETmodules';
	font-size: 13px;
	flex: none;
	color: var(--ateh-slate-400);
}

/* --- Forminator restyling ------------------------------------------------- */
.ateh-formwrap .forminator-ui.forminator-custom-form { margin: 0 !important; }
.ateh-formwrap .forminator-row { margin-bottom: 16px !important; }
.ateh-formwrap .forminator-row:last-of-type { margin-bottom: 0 !important; }

.ateh-formwrap .forminator-label {
	font-family: var(--ateh-font-body) !important;
	font-size: 9px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--ateh-slate-500) !important;
	margin-bottom: 7px !important;
}
.ateh-formwrap .forminator-required { color: var(--ateh-gold) !important; }

.ateh-formwrap .forminator-input,
.ateh-formwrap .forminator-textarea,
.ateh-formwrap select.forminator-select2,
.ateh-formwrap .forminator-select .select2-selection {
	font-family: var(--ateh-font-body) !important;
	font-size: 13px !important;
	color: var(--ateh-navy) !important;
	background: var(--ateh-white) !important;
	border: 1px solid var(--ateh-border) !important;
	border-radius: var(--ateh-radius) !important;
	padding: 12px 14px !important;
	height: auto !important;
	min-height: 44px !important;
	transition: var(--ateh-transition);
}
.ateh-formwrap .forminator-textarea { min-height: 110px !important; }
.ateh-formwrap .forminator-input:focus,
.ateh-formwrap .forminator-textarea:focus { border-color: var(--ateh-navy) !important; box-shadow: none !important; }
.ateh-formwrap ::placeholder { color: var(--ateh-slate-400) !important; opacity: 1; }

/* Urgency radios as a segmented control, per the design. */
.ateh-formwrap .forminator-field-radio .forminator-radio {
	flex: 1;
	margin: 0 !important;
	justify-content: center;
}
.ateh-formwrap .forminator-field-radio {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.ateh-formwrap .forminator-radio {
	border: 1px solid var(--ateh-border);
	background: var(--ateh-white);
	padding: 11px 10px;
	cursor: pointer;
	transition: var(--ateh-transition);
}
.ateh-formwrap .forminator-radio-bullet { display: none !important; }
.ateh-formwrap .forminator-radio-label {
	font-size: 9px !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--ateh-slate-600) !important;
	margin: 0 !important;
}
.ateh-formwrap .forminator-radio:has(input:checked) { background: var(--ateh-navy); border-color: var(--ateh-navy); }
.ateh-formwrap .forminator-radio:has(input:checked) .forminator-radio-label { color: var(--ateh-white) !important; }

/* Submit */
.ateh-formwrap .forminator-button-submit {
	width: 100% !important;
	justify-content: center !important;
	background: var(--ateh-navy) !important;
	color: var(--ateh-white) !important;
	border: 0 !important;
	border-radius: var(--ateh-radius) !important;
	font-family: var(--ateh-font-body) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	padding: 16px 24px !important;
	transition: var(--ateh-transition);
}
.ateh-formwrap .forminator-button-submit:hover { background: var(--ateh-navy-soft) !important; }

/* Validation messaging */
.ateh-formwrap .forminator-error-message {
	font-size: 11px !important;
	color: #B91C1C !important;
	margin-top: 6px !important;
}
.ateh-formwrap .forminator-has_error .forminator-input,
.ateh-formwrap .forminator-has_error .forminator-textarea { border-color: #B91C1C !important; }

@media (max-width: 980px) {
	.ateh-firmcard, .ateh-formcard { width: 100% !important; }
}
/* --- Field layout ---------------------------------------------------------
   Forminator's own cols-6 grid does not survive here, so each row is laid out
   as a flex line: rows holding two fields split 50/50, single-field rows fill.
   -------------------------------------------------------------------------- */
.ateh-formwrap .forminator-row {
	display: flex !important;
	flex-wrap: wrap;
	gap: 16px;
}
/* Forminator emits its own col-6 / col-12 classes — honour them rather than
   flexing every column equally, which forced three fields onto a line. */
.ateh-formwrap .forminator-row > .forminator-col {
	margin: 0 !important;
	padding: 0 !important;
	max-width: none !important;
}
.ateh-formwrap .forminator-row > .forminator-col-6  { flex: 0 0 calc(50% - 8px) !important; }
.ateh-formwrap .forminator-row > .forminator-col-12 { flex: 0 0 100% !important; }

/* Urgency radios as a 4-across segmented control. */
.ateh-formwrap .forminator-field:has(> .forminator-radio),
.ateh-formwrap .forminator-field-radio {
	display: flex !important;
	flex-wrap: wrap;
	gap: 8px;
}
.ateh-formwrap .forminator-field > .forminator-radio {
	flex: 1 1 0;
	min-width: 110px;
	justify-content: center;
	text-align: center;
}

/* The admin-only "Edit form" link Forminator prints for logged-in editors. */
.ateh-formwrap .forminator-edit-module { display: none !important; }
/* ==========================================================================
   SERVING CLIENTS ACROSS ALBERTA
   ========================================================================== */

.ateh-coverage > .et_pb_row:first-of-type .et_pb_module { margin-bottom: 16px !important; }
.ateh-coverage > .et_pb_row:first-of-type .et_pb_module:last-child { margin-bottom: 0 !important; }
.ateh-coverage .ateh-center { max-width: 768px; margin-left: auto !important; margin-right: auto !important; }

.et_pb_row.ateh-covgrid { display: flex; flex-wrap: wrap; align-items: stretch; gap: 24px; }
.ateh-covgrid .et_pb_column { float: none; margin: 0 !important; }
.ateh-mapcard   { width: calc((100% - 24px) * 0.6) !important; }
.ateh-hourscard { width: calc((100% - 24px) * 0.4) !important; }

/* --- Navy jurisdiction panel --------------------------------------------- */
.ateh-mapcard {
	background: var(--ateh-navy);
	padding: 28px !important;
	display: flex;
	flex-direction: column;
}
.ateh-mapcard > .et_pb_module { margin-bottom: 20px !important; }
.ateh-mapcard > .et_pb_module:last-child { margin-bottom: 0 !important; }

.ateh-mapcard__head p { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; }
.ateh-mapcard__title {
	display: inline-flex;
	align-items: center;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ateh-white);
}
.ateh-mapcard__title::before {
	content: "\00e01d";
	font-family: 'ETmodules';
	font-size: 15px;
	margin-right: 9px;
	color: var(--ateh-white);
	letter-spacing: 0;
}
.ateh-mapcard__badge {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ateh-silver);
	background: var(--ateh-navy-soft);
	border: 1px solid #334155;
	padding: 5px 10px;
	line-height: 1;
	white-space: nowrap;
}

.ateh-mapcard__list {
	background: var(--ateh-navy-darkest);
	border: 1px solid #1E293B;
	padding: 20px;
}
.ateh-mapcard__label {
	margin: 0 0 14px !important;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ateh-slate-400);
}
.ateh-mapcard__list ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px 20px;
}
.ateh-mapcard__list li {
	position: relative;
	padding-left: 22px;
	font-size: 12px;
	color: var(--ateh-silver);
	line-height: 1.4;
}
.ateh-mapcard__list li::before {
	content: "\00004e";
	font-family: 'ETmodules';
	position: absolute;
	left: 0;
	top: 1px;
	font-size: 12px;
	color: var(--ateh-gold);
}

.ateh-mapcard__emergency { margin-top: auto !important; }
.ateh-mapcard__emergency p {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	background: var(--ateh-navy-soft);
	border: 1px solid #334155;
	/* Divi zeroes padding-bottom on a last-child <p>; without !important the
	   bar's bottom padding is dropped and the Call link sits on its edge. */
	padding: 14px 16px !important;
	font-size: 11px;
	color: var(--ateh-silver);
}
.ateh-mapcard__emergency a {
	color: var(--ateh-white);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
}

/* --- Office hours card ---------------------------------------------------- */
.ateh-hourscard {
	background: var(--ateh-surface);
	border: 1px solid var(--ateh-border);
	padding: 28px !important;
	display: flex;
	flex-direction: column;
}
.ateh-hourscard > .et_pb_module { margin-bottom: 20px !important; }
.ateh-hourscard__head {
	padding-bottom: 16px;
	border-bottom: 1px solid var(--ateh-border);
}
.ateh-hourscard__head h3 {
	font-family: var(--ateh-font-body);
	font-size: 17px;
	font-weight: 800;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--ateh-navy);
	padding: 0;
}
.ateh-hoursrow { position: relative; padding-left: 30px; }
.ateh-hoursrow::before {
	font-family: 'ETmodules';
	position: absolute;
	left: 0;
	top: 1px;
	font-size: 15px;
	color: var(--ateh-slate-400);
}
.ateh-hoursrow--clock::before { content: "\00007d"; }
.ateh-hoursrow--pin::before   { content: "\00e01d"; }
.ateh-hoursrow--video::before { content: "\00e0e2"; }
.ateh-hoursrow__label {
	margin: 0 0 5px !important;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ateh-navy);
}
.ateh-hoursrow__value { margin: 0 !important; font-size: 12px; color: var(--ateh-slate-600); line-height: 1.55; }
.ateh-hoursrow__value--sm { font-size: 11.5px; }
.ateh-hoursrow__alt { margin: 3px 0 0 !important; font-size: 11px; color: var(--ateh-slate-400); }

.ateh-hourscard > .et_pb_button_module_wrapper:last-child { margin-top: auto !important; margin-bottom: 0 !important; }

@media (max-width: 980px) {
	.ateh-mapcard, .ateh-hourscard { width: 100% !important; }
	.ateh-mapcard__list ul { grid-template-columns: 1fr; }
}
/* ==========================================================================
   CONSULTATION MODAL
   Divi has no popup module, so this is a plain dialog driven by the child
   theme's JS (focus trap, Escape, backdrop click, practice-area preselect).
   ========================================================================== */

.ateh-modalhost { padding: 0 !important; }
.ateh-modalhost .et_pb_row { padding: 0 !important; margin: 0 !important; }
.ateh-modalcode { margin: 0 !important; }

.ateh-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	align-items: flex-start;
	justify-content: center;
	padding: 40px 20px;
	background: rgba(15, 23, 42, 0.55);
	backdrop-filter: blur(2px);
	overflow-y: auto;
}
.ateh-modal.is-open { display: flex; }
body.ateh-modal-open { overflow: hidden; }

.ateh-modal__dialog {
	position: relative;
	width: 100%;
	max-width: 680px;
	background: var(--ateh-white);
	box-shadow: 0 40px 90px -20px rgba(2, 6, 23, 0.55);
	animation: ateh-modal-in 0.22s ease-out;
}
@keyframes ateh-modal-in {
	from { opacity: 0; transform: translateY(-12px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* --- Navy header bar ------------------------------------------------------ */
.ateh-modal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: var(--ateh-navy);
	padding: 18px 24px;
}
.ateh-modal__head h2 {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	font-family: var(--ateh-font-body);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ateh-white);
}
.ateh-modal__head h2::before {
	content: "\00e0d9";
	font-family: 'ETmodules';
	font-size: 16px;
	margin-right: 11px;
	letter-spacing: 0;
	font-weight: normal;
}
.ateh-modal__head .ateh-modal-close {
	background: none;
	border: 0;
	color: var(--ateh-silver);
	font-size: 26px;
	line-height: 1;
	padding: 0 2px;
	cursor: pointer;
	transition: var(--ateh-transition);
}
.ateh-modal__head .ateh-modal-close:hover { color: var(--ateh-white); }

.ateh-modal__body { padding: 26px 24px 24px; }

/* --- Forminator inside the modal ----------------------------------------- */
.ateh-modal .forminator-row { display: flex !important; flex-wrap: wrap; gap: 16px; margin-bottom: 16px !important; }
.ateh-modal .forminator-row > .forminator-col { margin: 0 !important; padding: 0 !important; max-width: none !important; }
.ateh-modal .forminator-row > .forminator-col-6  { flex: 0 0 calc(50% - 8px) !important; }
.ateh-modal .forminator-row > .forminator-col-12 { flex: 0 0 100% !important; }

.ateh-modal .forminator-label {
	font-family: var(--ateh-font-body) !important;
	font-size: 9px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--ateh-slate-500) !important;
	margin-bottom: 7px !important;
}
.ateh-modal .forminator-required { color: var(--ateh-gold) !important; }

.ateh-modal .forminator-input,
.ateh-modal .forminator-textarea,
.ateh-modal select,
.ateh-modal input[type="date"] {
	font-family: var(--ateh-font-body) !important;
	font-size: 13px !important;
	color: var(--ateh-navy) !important;
	background: var(--ateh-white) !important;
	border: 1px solid var(--ateh-border) !important;
	border-radius: var(--ateh-radius) !important;
	padding: 12px 14px !important;
	min-height: 46px !important;
	width: 100%;
}
.ateh-modal .forminator-textarea { min-height: 92px !important; }
.ateh-modal .forminator-input:focus,
.ateh-modal .forminator-textarea:focus,
.ateh-modal select:focus { border-color: var(--ateh-navy) !important; outline: none; box-shadow: none !important; }

/* Contact-method radios as a segmented control. */
.ateh-modal .forminator-field:has(> .forminator-radio) { display: flex !important; gap: 8px; flex-wrap: wrap; }
.ateh-modal .forminator-radio {
	flex: 1 1 0;
	min-width: 92px;
	justify-content: center;
	text-align: center;
	border: 1px solid var(--ateh-border);
	background: var(--ateh-white);
	padding: 12px 8px;
	margin: 0 !important;
	cursor: pointer;
	transition: var(--ateh-transition);
}
.ateh-modal .forminator-radio-bullet { display: none !important; }
.ateh-modal .forminator-radio-label {
	font-size: 9px !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--ateh-slate-600) !important;
	margin: 0 !important;
}
.ateh-modal .forminator-radio:has(input:checked) { background: var(--ateh-navy); border-color: var(--ateh-navy); }
.ateh-modal .forminator-radio:has(input:checked) .forminator-radio-label { color: var(--ateh-white) !important; }

/* --- Footer actions: Cancel + Submit on one right-aligned row ------------- */
.ateh-modal .forminator-row-last,
.ateh-modal .forminator-button-submit-container {
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	margin-bottom: 0 !important;
}
.ateh-modal .forminator-button-submit {
	background: var(--ateh-navy) !important;
	color: var(--ateh-white) !important;
	border: 0 !important;
	border-radius: var(--ateh-radius) !important;
	font-family: var(--ateh-font-body) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	padding: 14px 26px !important;
	width: auto !important;
}
.ateh-modal .forminator-button-submit:hover { background: var(--ateh-navy-soft) !important; }

.ateh-modal-cancel {
	order: -1;
	background: var(--ateh-silver-pale);
	color: var(--ateh-slate-600);
	border: 0;
	border-radius: var(--ateh-radius);
	font-family: var(--ateh-font-body);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 14px 26px;
	cursor: pointer;
	transition: var(--ateh-transition);
}
.ateh-modal-cancel:hover { background: var(--ateh-silver-light); color: var(--ateh-navy); }

.ateh-modal .forminator-error-message { font-size: 11px !important; color: #B91C1C !important; margin-top: 6px !important; }

@media (max-width: 640px) {
	.ateh-modal { padding: 16px 12px; }
	.ateh-modal__body { padding: 20px 16px; }
	.ateh-modal .forminator-row > .forminator-col-6 { flex: 0 0 100% !important; }
}
/* --- Modal field-layout corrections --------------------------------------
   1. Forminator puts the label INSIDE .forminator-field, so flexing that
      container turns the label into a flex item sitting beside the radios.
      Force it onto its own full-width line.
   2. Hide the admin-only "Edit form" link Forminator prints for editors.
   -------------------------------------------------------------------------- */
.ateh-modal .forminator-field:has(> .forminator-radio) { align-items: stretch; }
.ateh-modal .forminator-field > .forminator-label,
.ateh-formwrap .forminator-field > .forminator-label { flex: 0 0 100% !important; width: 100%; }

.ateh-modal .forminator-edit-module,
.ateh-modal a[href*="forminator"],
.ateh-formwrap .forminator-edit-module,
.ateh-formwrap a[href*="page=forminator"] { display: none !important; }

/* Practice-area select should read as a real choice, not a placeholder. */
.ateh-modal select.forminator-select2,
.ateh-modal select { color: var(--ateh-navy) !important; }
/* --- Modal action row -----------------------------------------------------
   Forminator wraps the submit in a plain .forminator-field (display:block),
   which is why an earlier `gap` on .forminator-row-last never applied. Flex
   the real parent, and pin both buttons to the same line-height so they match
   in height — Cancel inherits `normal` (40px) while Forminator's submit sets
   14.5px (43px).
   -------------------------------------------------------------------------- */
.ateh-modal .forminator-field:has(> .forminator-button-submit),
.ateh-modal .forminator-field:has(> .ateh-modal-cancel) {
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	gap: 14px;
}

.ateh-modal .forminator-button-submit,
.ateh-modal .ateh-modal-cancel {
	line-height: 1.5 !important;
	height: auto !important;
	margin: 0 !important;
}
/* "In-Person Office" is the only contact-method label that wraps to two lines;
   the inherited line-height leaves it looking loose against the single-line
   options. Tighten it. */
.ateh-modal .forminator-radio-label { line-height: 1.25 !important; }
/* On narrow screens the emergency bar wraps to two lines, which leaves the
   "Call ..." link sitting tight against the bottom edge. Give it breathing
   room and a row gap. Desktop is unaffected — there it stays on one line. */
@media (max-width: 980px) {
	.ateh-mapcard__emergency p {
		padding: 16px 16px 20px !important;
		row-gap: 12px;
	}
}