/* MIRÓ ADVOCATS theme override — monochrome + burgundy */
:root {
  --ast-global-color-0: #0a0a0a;
  --ast-global-color-1: #404040;
  --ast-global-color-2: #7c1d1d;
  --ast-global-color-3: #fafafa;
  --ast-global-color-4: #ffffff;
  --ast-global-color-5: #ffffff;
  --ast-global-color-6: #e5e5e5;
  --ast-global-color-7: #171717;
  --ast-global-color-8: #9b2424;

  --e-global-color-astglobalcolor0: var(--ast-global-color-0);
  --e-global-color-astglobalcolor1: var(--ast-global-color-1);
  --e-global-color-astglobalcolor2: var(--ast-global-color-2);
  --e-global-color-astglobalcolor3: var(--ast-global-color-3);
  --e-global-color-astglobalcolor4: var(--ast-global-color-4);
  --e-global-color-astglobalcolor5: var(--ast-global-color-5);
  --e-global-color-astglobalcolor6: var(--ast-global-color-6);
  --e-global-color-astglobalcolor7: var(--ast-global-color-7);
  --e-global-color-astglobalcolor8: var(--ast-global-color-8);

  --e-global-color-primary: #0a0a0a;
  --e-global-color-secondary: #404040;
  --e-global-color-accent: #7c1d1d;
  --e-global-color-text: #404040;
}

.elementor-heading-title {
  letter-spacing: -0.005em;
}

/* Logo sizing — keep wordmark legible at header */
.custom-logo {
  width: auto !important;
  height: 56px !important;
  max-width: none;
}

/* /equip/ — clean 3-card team grid */
.miro-equip { padding: 96px 24px; background: #fafafa; }
.miro-equip__inner { max-width: 1200px; margin: 0 auto; }
.miro-equip__header { max-width: 720px; margin-bottom: 64px; }
.miro-equip__eyebrow {
  font-family: "Avenir", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 14px;
  color: #7c1d1d;
  margin: 0 0 12px;
}
.miro-equip__title {
  font-family: "DM Serif Display", serif;
  font-size: 48px;
  line-height: 1.1;
  color: #0a0a0a;
  margin: 0 0 16px;
}
.miro-equip__intro {
  font-family: "Avenir", sans-serif;
  font-size: 18px;
  line-height: 1.6;
  color: #404040;
  margin: 0;
}
.miro-equip__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (max-width: 1024px) { .miro-equip__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .miro-equip__grid { grid-template-columns: 1fr; } }
.miro-equip__card {
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.miro-equip__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(10, 10, 10, 0.06);
}
.miro-equip__photo {
  aspect-ratio: 4 / 5;
  background: #e5e5e5;
  overflow: hidden;
}
.miro-equip__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.miro-equip__photo--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0a0a0a;
  color: #ffffff;
  font-family: "DM Serif Display", serif;
  font-size: 96px;
}
.miro-equip__body { padding: 28px; }
.miro-equip__role {
  font-family: "Avenir", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 12px;
  color: #7c1d1d;
  margin: 0 0 8px;
}
.miro-equip__name {
  font-family: "DM Serif Display", serif;
  font-size: 28px;
  line-height: 1.2;
  color: #0a0a0a;
  margin: 0 0 16px;
}
.miro-equip__bio {
  font-family: "Avenir", sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: #404040;
  margin: 0 0 16px;
}
.miro-equip__meta {
  font-family: "Avenir", sans-serif;
  font-size: 13px;
  color: #737373;
  border-top: 1px solid #e5e5e5;
  padding-top: 16px;
  margin: 0;
}

/* Post-grid thumbnails: live site relies on .elementor-has-item-ratio added
   by JS at runtime; our static crawl missed it. Apply the rule unconditionally. */
.elementor-posts-container .elementor-post__thumbnail img {
  position: absolute;
  height: auto;
  left: calc(50% + 1px);
  top: calc(50% + 1px);
  transform: scale(1.01) translate(-50%, -50%);
}

/* Footer: dark slate background needs light text for contrast */
footer p, footer li, footer a, footer span, footer address {
  color: #d4d4d4;
}
footer a:hover { color: #ffffff; }
footer .elementor-heading-title, footer h1, footer h2, footer h3 {
  color: #ffffff;
}

/* Footer v2: stronger contrast + plug leaks */
footer, footer p, footer li, footer span, footer address,
footer a, footer a[href^="tel:"], footer a[href^="mailto:"] {
  color: #f1f1f1 !important;
}
footer .elementor-heading-title, footer h1, footer h2, footer h3 {
  color: #ffffff !important;
}
footer a:hover, footer a:focus { color: #ffffff !important; }
footer svg { fill: currentColor !important; }
footer nav a { color: #cfcfcf !important; }

/* Header v2 — solid nav links, burgundy MASC, softer top bar, visible chevrons */
.main-header-menu .menu-link,
.main-navigation .menu-link,
.ast-builder-menu .menu-link {
  color: #0a0a0a !important;
}
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current_page_item > .menu-link {
  color: #7c1d1d !important;
}

.ast-custom-button-link,
.ast-custom-button-link .ast-custom-button {
  background-color: #7c1d1d !important;
  color: #ffffff !important;
  border-color: #7c1d1d !important;
}
.ast-custom-button-link:hover,
.ast-custom-button-link:hover .ast-custom-button {
  background-color: #5b1515 !important;
  color: #ffffff !important;
}

.ast-above-header,
.ast-above-header-wrap,
.ast-above-header-bar {
  background-color: #1f1f1f !important;
}

.ast-arrow-svg,
.ast-arrow-svg path {
  fill: #0a0a0a !important;
}
