/* ANLIN About — Elementor V4 layout helpers */

.anlin-container {
  width: 100%;
  max-width: 80rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media (min-width: 768px) {
  .anlin-container { padding-inline: 2rem; }
}

/* Card chrome (shadow/hover — Elementor Atomic has limited box-shadow support) */
.anlin-card-hover,
.anlin-feature-card,
.anlin-icon-card,
.anlin-hub-card,
.anlin-track-card,
.anlin-cert-card,
.anlin-serve-card,
.anlin-ops-card,
.anlin-timeline-card,
.anlin-flow-card,
.anlin-step-card {
  box-shadow: 0 8px 30px rgba(34, 25, 23, 0.06) !important;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.anlin-card-hover:hover,
.anlin-feature-card:hover,
.anlin-icon-card:hover,
.anlin-hub-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(214, 0, 34, 0.12) !important;
  border-color: rgba(214, 0, 34, 0.3) !important;
}

.anlin-btn-primary,
.anlin-btn-outline {
  text-transform: uppercase;
  letter-spacing: .05em;
  text-decoration: none !important;
  transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.anlin-btn-primary:hover { background: #B8001E !important; transform: translateY(-2px); }
.anlin-btn-outline:hover { border-color: #D60022 !important; color: #D60022 !important; transform: translateY(-2px); }

.anlin-placeholder img {
  width: 100% !important;
  height: 16rem !important;
  object-fit: cover !important;
  display: block !important;
}

.anlin-section-intro-center { align-items: center !important; text-align: center; }
.anlin-section-cta .anlin-container { align-items: center; }
.anlin-hub-card-current { box-shadow: 0 8px 30px rgba(214,0,34,.08) !important; }
.anlin-market-pill { box-shadow: 0 2px 8px rgba(34,25,23,.04); }

/* R&D breakthrough modules (5/7 pain + innovation) */
.anlin-rd-pain-card,
.anlin-rd-innov-card {
  box-shadow: 0 1px 3px rgba(0,0,0,.05) !important;
}
.anlin-rd-innov-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 30px 60px rgba(234, 88, 12, 0.06) !important;
  border-color: rgba(234, 88, 12, 0.3) !important;
}
@media (min-width: 64rem) {
  .anlin-rd-grid-57 > .anlin-rd-pain-card {
    flex: 0 0 calc((100% - 2rem) * 5 / 12) !important;
    width: calc((100% - 2rem) * 5 / 12) !important;
    max-width: calc((100% - 2rem) * 5 / 12) !important;
  }
  .anlin-rd-grid-57 > .anlin-rd-innov-card {
    flex: 0 0 calc((100% - 2rem) * 7 / 12) !important;
    width: calc((100% - 2rem) * 7 / 12) !important;
    max-width: calc((100% - 2rem) * 7 / 12) !important;
  }
}

/* Mobile: 2-col grids stack */
@media (max-width: 63.99rem) {
  .anlin-grid-2.e-flexbox,
  .anlin-grid-2.e-con {
    flex-direction: column !important;
  }
  .anlin-grid-2 > .anlin-col.e-flexbox,
  .anlin-grid-2 > .anlin-col.e-con {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Desktop CSS backup for tiling (Atomic flex props are primary) */
@media (min-width: 64rem) {
  .anlin-grid-2 > .e-flexbox:not(.anlin-container),
  .anlin-grid-2 > .e-con:not(.anlin-container) {
    flex: 0 0 calc((100% - 1.5rem) / 2) !important;
    width: calc((100% - 1.5rem) / 2) !important;
    max-width: calc((100% - 1.5rem) / 2) !important;
  }
  .anlin-grid-2.anlin-grid-2 > .anlin-col {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
  }
  .anlin-grid-3 > .e-flexbox:not(.anlin-container),
  .anlin-grid-3 > .e-con:not(.anlin-container) {
    flex: 0 0 calc((100% - 3rem) / 3) !important;
    width: calc((100% - 3rem) / 3) !important;
    max-width: calc((100% - 3rem) / 3) !important;
  }
  .anlin-grid-4 > .e-flexbox:not(.anlin-container),
  .anlin-grid-4 > .e-con:not(.anlin-container) {
    flex: 0 0 calc((100% - 4.5rem) / 4) !important;
    width: calc((100% - 4.5rem) / 4) !important;
    max-width: calc((100% - 4.5rem) / 4) !important;
  }
  .anlin-grid-5 > .e-flexbox:not(.anlin-container),
  .anlin-grid-5 > .e-con:not(.anlin-container) {
    flex: 0 0 calc((100% - 4rem) / 5) !important;
    width: calc((100% - 4rem) / 5) !important;
    max-width: calc((100% - 4rem) / 5) !important;
  }
  .anlin-grid-6 > .e-flexbox:not(.anlin-container),
  .anlin-grid-6 > .e-con:not(.anlin-container) {
    flex: 0 0 calc((100% - 7.5rem) / 6) !important;
    width: calc((100% - 7.5rem) / 6) !important;
    max-width: calc((100% - 7.5rem) / 6) !important;
  }
  .anlin-grid-2-media > .e-flexbox,
  .anlin-grid-2-media > .e-con {
    flex: 0 0 calc((100% - 1rem) / 2) !important;
    width: calc((100% - 1rem) / 2) !important;
    max-width: calc((100% - 1rem) / 2) !important;
  }
}