/*
Theme Name: Mehdiani Divi Child
Theme URI: https://www.mehdiani.com/
Description: Site-specific presentation layer for Mehdiani Tax Advisors, built on Divi.
Author: Mehdiani Tax Advisors
Author URI: https://www.mehdiani.com/
Template: Divi
Version: 1.0.44
Text Domain: mehdiani-divi-child
*/

.mfm-form-a11y-message[hidden] {
    display: none !important;
}

.mfm-form-a11y-message.error {
    margin-top: 12px;
    padding: 12px 14px;
    border-left: 4px solid #b42318;
    background: #fff1f0;
    color: #7a271a;
    font-weight: 700;
}

/* Shared content-component typography formerly delivered as inline CSS. */
.office-tag {
    font-size: .75rem !important;
}

.fact-pill span,
.pain span,
.submit-shell .submit-copy .privacy-note,
.mode-button span {
    color: #425866 !important;
    font-size: .875rem !important;
}

.career-eyebrow:not(.career-eyebrow-light),
.remote-card-number,
.career-value span,
.application-step b {
    color: #0b5f9d !important;
    font-size: .75rem !important;
}

.gform_drop_instructions {
    color: #425866 !important;
}

.mini-list,
.mini-list > li {
    list-style: none !important;
}

.mini-list > li::marker {
    content: "";
}

/* Shared consultation form controls — keyed to a semantic class so migrations may change form IDs safely. */
body #page-container form.mfm-consultation-form :is(
			input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
			select,
			textarea
		) {
			border: 1px solid #686e77 !important;
			border-radius: 3px !important;
			box-shadow: none !important;
			font-family: var(--mfm-font-body, inherit) !important;
			font-size: 14px !important;
			line-height: 1.35 !important;
		}

		body #page-container form.mfm-consultation-form :is(
			input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
			select
		) {
			height: 38px !important;
			min-height: 38px !important;
			padding: 7px 12px !important;
		}

		body #page-container form.mfm-consultation-form textarea {
			padding: 10px 12px !important;
		}

		body #page-container form.mfm-consultation-form .gfield--type-phone .gform-phone__country-selector {
			border: 1px solid #686e77 !important;
			border-right: 0 !important;
			border-radius: 3px 0 0 3px !important;
			height: 38px !important;
			min-height: 38px !important;
		}

		body #page-container form.mfm-consultation-form .gfield--type-phone input.gform-phone__input {
			border-radius: 0 3px 3px 0 !important;
		}

		body #page-container form.mfm-consultation-form :is(
			input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
			select,
			textarea
		):focus {
			border-color: #0c71c3 !important;
			box-shadow: 0 0 0 3px rgba(12, 113, 195, 0.14) !important;
		}

/* Shared decorative checklist contract.
 * Components that draw a checkmark must not also expose the browser's list marker.
 * Keep ordinary editorial lists untouched; new checklists should use .mfm-checklist.
 */
:where(
  ul.mfm-checklist,
  ul.form-benefits,
  ul.boundary-list,
  ul.origin-list,
  ul.role-list,
  ul.team-points,
  ul.application-points,
  ul.quick-list,
  ul.credential-list,
  ul.mini-list,
  ul.hero-list,
  ul.scope-list,
  .mfm-pinfo ul,
  .mfm-framework-col ul,
  .mfm-handoff-panel ul,
  .route ul,
  .why-check-card ul
) {
  margin-left: 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
}

:where(
  ul.mfm-checklist,
  ul.form-benefits,
  ul.boundary-list,
  ul.origin-list,
  ul.role-list,
  ul.team-points,
  ul.application-points,
  ul.quick-list,
  ul.credential-list,
  ul.mini-list,
  ul.hero-list,
  ul.scope-list,
  .mfm-pinfo ul,
  .mfm-framework-col ul,
  .mfm-handoff-panel ul,
  .route ul,
  .why-check-card ul
) > li {
  list-style: none !important;
}

:where(
  ul.mfm-checklist,
  ul.form-benefits,
  ul.boundary-list,
  ul.origin-list,
  ul.role-list,
  ul.team-points,
  ul.application-points,
  ul.quick-list,
  ul.credential-list,
  ul.mini-list,
  ul.hero-list,
  ul.scope-list,
  .mfm-pinfo ul,
  .mfm-framework-col ul,
  .mfm-handoff-panel ul,
  .route ul,
  .why-check-card ul
) > li::marker {
  content: "" !important;
  font-size: 0 !important;
}


/* Global site footer.
 * Structure lives in Footer Area #1; presentation lives here so every page
 * inherits one responsive, accessible footer without page-level overrides.
 */
#main-footer {
  background: #082b47 !important;
}

#footer-widgets {
  padding: 58px 0 42px !important;
}

#footer-widgets .footer-widget:first-child {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}

#footer-widgets .footer-widget:first-child .fwidget,
#footer-widgets .footer-widget:first-child .widget_block {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}

#mfm-site-locations {
  color: #dceaf3;
  font-family: var(--mfm-font-body, Inter, Arial, sans-serif);
}

#mfm-site-locations,
#mfm-site-locations * {
  box-sizing: border-box;
}

#mfm-site-locations .mfm-footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr .9fr;
  gap: 20px;
  align-items: stretch;
}

#mfm-site-locations .mfm-footer-brand,
#mfm-site-locations .mfm-footer-card {
  min-width: 0;
  margin: 0;
  padding: 24px;
  border: 1px solid rgba(114, 201, 238, .20);
  border-radius: 15px;
  background: rgba(255, 255, 255, .045);
}

#mfm-site-locations .mfm-footer-brand {
  background: linear-gradient(145deg, rgba(255, 255, 255, .055), rgba(14, 78, 121, .34));
}

#mfm-site-locations .mfm-footer-kicker {
  display: block;
  margin: 0 0 12px;
  color: #72c9ee;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
  line-height: 1.45;
  text-transform: uppercase;
}

#mfm-site-locations h2,
#mfm-site-locations h3 {
  margin: 0;
  padding: 0;
  color: #fff !important;
  line-height: 1.25;
}

#mfm-site-locations h2 {
  font-size: 20px;
}

#mfm-site-locations h3 {
  font-size: 17px;
}

#mfm-site-locations p,
#mfm-site-locations address {
  margin: 11px 0 0;
  padding: 0;
  color: #c9dce8;
  font-size: 13px;
  line-height: 1.65;
}

#mfm-site-locations address {
  font-style: normal;
}

#mfm-site-locations a {
  color: #fff !important;
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}

#mfm-site-locations a:hover {
  text-decoration: underline;
}

#mfm-site-locations a:focus-visible,
#et-footer-nav a:focus-visible,
#footer-bottom a:focus-visible {
  outline: 3px solid var(--mfm-focus-ring, #72c9ee);
  outline-offset: 4px;
  border-radius: 2px;
}

#mfm-site-locations .mfm-footer-link {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin-top: 14px;
  color: #72c9ee !important;
  font-size: 13px;
  font-weight: 800;
}

#mfm-site-locations .mfm-contact-list {
  display: grid;
  gap: 9px;
  margin: 13px 0 0;
  padding: 0;
  list-style: none;
}

#mfm-site-locations .mfm-contact-list li {
  margin: 0;
  padding: 0 !important;
  color: #c9dce8;
  font-size: 13px;
  line-height: 1.45;
  list-style: none;
}

#mfm-site-locations .mfm-contact-list li::before,
#mfm-site-locations .mfm-contact-list li::marker {
  display: none !important;
  content: "" !important;
}

#mfm-site-locations .mfm-contact-list strong {
  display: block;
  margin-bottom: 2px;
  color: #72c9ee;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

#et-footer-nav {
  background: #0e4e79 !important;
}

#et-footer-nav .bottom-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px 24px;
  padding: 14px 0 !important;
  text-align: center;
}

#et-footer-nav .bottom-nav li {
  margin: 0;
  padding: 0;
}

#et-footer-nav .bottom-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  color: #dceaf3 !important;
  font-size: 13px;
  line-height: 1.35;
}

#et-footer-nav .bottom-nav a:hover {
  color: #fff !important;
  text-decoration: underline;
  text-underline-offset: .18em;
}

#footer-bottom {
  background: #061f34 !important;
  padding: 16px 0 12px !important;
}

#footer-info {
  float: none;
  width: 100%;
  padding: 0;
  color: #a9c0ce !important;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}

#footer-info a {
  color: #dceaf3 !important;
}

@media (max-width: 980px) {
  #mfm-site-locations .mfm-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  #footer-widgets {
    padding: 44px 0 32px !important;
  }

  #mfm-site-locations .mfm-footer-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  #mfm-site-locations .mfm-footer-brand,
  #mfm-site-locations .mfm-footer-card {
    padding: 21px;
  }

  #et-footer-nav .bottom-nav {
    gap: 2px 18px;
    padding: 12px 0 !important;
  }

  #et-footer-nav .bottom-nav a {
    min-height: 40px;
  }
}

/*
 * Shared typography roles.
 * Layout-specific type sizes stay with their page component; the roles below
 * keep display weight, supporting hierarchy, and eyebrow labels consistent.
 */
:root {
  --mfm-type-display-weight: 500;
  --mfm-type-heading-weight: 500;
  --mfm-type-eyebrow-size: 12px;
  --mfm-type-eyebrow-weight: 850;
  --mfm-type-eyebrow-leading: 1.7;
  --mfm-type-eyebrow-tracking: .17em;
  --mfm-type-h2-leading: 1.07;
  --mfm-type-h2-tracking: -.045em;
  --mfm-type-h3-leading: 1.2;
  --mfm-type-h3-tracking: -.025em;
}

/* A page title is a single display role, regardless of the page template. */
body.page #page-container #main-content h1 {
  font-weight: var(--mfm-type-display-weight);
}

body.page #page-container #main-content h1 :is(strong, b) {
  font-weight: inherit;
}

/*
 * Careers retains its unique layout, but shares the site's type hierarchy and
 * central brand palette rather than maintaining a competing local system.
 */
body #page-container #main-content .mfm-careers {
  --career-navy: var(--mfm-navy, #082b47);
  --career-navy-2: var(--mfm-navy-2, #0e4e79);
  --career-ink: var(--mfm-navy, #082b47);
  --career-blue: var(--mfm-brand-blue, #0c71c3);
  --career-sky: var(--mfm-sky, #72c9ee);
  --career-pale: var(--mfm-soft, #edf5fb);
  --career-pale-2: var(--mfm-soft-2, #f6f9fb);
  --career-red: var(--mfm-cta, #d13030);
  --career-line: var(--mfm-line, #d7e4ed);
  --career-muted: var(--mfm-body, #425866);
}

body #page-container #main-content .mfm-careers h2 {
  font-weight: var(--mfm-type-heading-weight);
  letter-spacing: var(--mfm-type-h2-tracking);
  line-height: var(--mfm-type-h2-leading);
}

body #page-container #main-content .mfm-careers h3,
body #page-container #main-content .mfm-contact h3 {
  font-weight: var(--mfm-type-heading-weight);
  letter-spacing: var(--mfm-type-h3-tracking);
  line-height: var(--mfm-type-h3-leading);
}

/* Repeated section-label role; contextual color and spacing remain local. */
body #page-container #main-content :is(
  .kicker,
  .eyebrow,
  .career-eyebrow,
  .su-eyebrow,
  .section-label
) {
  font-size: var(--mfm-type-eyebrow-size);
  font-weight: var(--mfm-type-eyebrow-weight);
  letter-spacing: var(--mfm-type-eyebrow-tracking);
  line-height: var(--mfm-type-eyebrow-leading);
}
