/* Suite Microsoft 365 — logos de producto a color */
.lm-ms365-suite { position: relative; overflow: hidden; }
.lm-ms365-suite img {
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}
.lm-ms365-suite__hero {
  position: relative;
  background: linear-gradient(125deg, #0b1f3a 0%, #0f3d7a 38%, #0078d4 72%, #106ebe 100%);
  color: #fff;
  border-radius: 1.15rem;
  padding: 2rem 1.6rem 1.75rem;
  margin-bottom: 1.25rem;
  box-shadow: 0 16px 48px rgba(11, 31, 58, 0.28);
  overflow: hidden;
}
.lm-ms365-suite__hero::before,
.lm-ms365-suite__hero::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.lm-ms365-suite__hero::before {
  width: 220px; height: 220px;
  top: -60px; right: -40px;
  background: radial-gradient(circle, rgba(242,200,17,0.4) 0%, transparent 70%);
}
.lm-ms365-suite__hero::after {
  width: 180px; height: 180px;
  bottom: -50px; left: 35%;
  background: radial-gradient(circle, rgba(80,89,201,0.45) 0%, transparent 70%);
}
.lm-ms365-suite__hero .row { position: relative; z-index: 1; }
.lm-ms365-suite__hero .lm-kicker { color: #b8e0ff; }
.lm-ms365-suite__hero .lm-section-title { color: #fff; margin-bottom: 0.75rem; }
.lm-ms365-suite__hero .lm-section-lead { color: rgba(255,255,255,0.9); max-width: 40rem; }

.lm-ms365-logo-strip {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.85rem;
  margin: 0 0 1.75rem;
  padding: 0;
  list-style: none;
}
@media (max-width: 991.98px) {
  .lm-ms365-logo-strip { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 575.98px) {
  .lm-ms365-logo-strip { grid-template-columns: repeat(2, 1fr); }
}
.lm-ms365-logo-strip__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 1rem 0.5rem 0.85rem;
  background: #fff;
  border: 1px solid #e8ecf1;
  border-radius: 1rem;
  border-top: 4px solid var(--ms-accent, #0078d4);
  box-shadow: 0 8px 22px rgba(16, 24, 40, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.lm-ms365-logo-strip__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(16, 24, 40, 0.14);
}
.lm-ms365-logo-strip__item img {
  width: 56px !important;
  height: 56px !important;
  display: block;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(16,24,40,0.12);
}
.lm-ms365-logo-strip__item span {
  font-size: 0.78rem;
  font-weight: 700;
  color: #101828;
  text-align: center;
  line-height: 1.2;
}
.lm-ms365-logo-strip__item--microsoft { --ms-accent: #F25022; }
.lm-ms365-logo-strip__item--m365 { --ms-accent: #D83B01; }
.lm-ms365-logo-strip__item--entra { --ms-accent: #0078D4; }
.lm-ms365-logo-strip__item--powerbi { --ms-accent: #F2C811; }
.lm-ms365-logo-strip__item--automate { --ms-accent: #1152D4; }
.lm-ms365-logo-strip__item--sharepoint { --ms-accent: #1A9BA1; }
.lm-ms365-logo-strip__item--teams { --ms-accent: #4B53BC; }
.lm-ms365-logo-strip__item--forms { --ms-accent: #008272; }
.lm-ms365-logo-strip__item--onedrive { --ms-accent: #0A66C2; }
.lm-ms365-logo-strip__item--outlook { --ms-accent: #0F6CBD; }

.lm-ms365-logo-rail {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 1.1rem 0 0;
  padding: 0;
  list-style: none;
}
.lm-ms365-logo-rail__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  min-width: 4.4rem;
  padding: 0.55rem 0.4rem;
  background: rgba(255,255,255,0.16);
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 0.65rem;
}
.lm-ms365-logo-rail__item img {
  width: 40px !important;
  height: 40px !important;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
.lm-ms365-logo-rail__item span {
  font-size: 0.65rem;
  font-weight: 600;
  color: #fff;
  text-align: center;
}

.lm-ms365-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0.85rem;
  align-items: stretch;
}
@media (max-width: 767.98px) {
  .lm-ms365-flow { grid-template-columns: 1fr; }
  .lm-ms365-flow__arrow { transform: rotate(90deg); justify-self: center; }
}
.lm-ms365-flow__pane {
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: 0.85rem;
  padding: 1.15rem 1.2rem;
  box-shadow: 0 6px 20px rgba(16, 24, 40, 0.07);
}
.lm-ms365-flow__pane--ms {
  background: linear-gradient(165deg, #f3f9ff 0%, #fff 55%);
  border-color: #b6d6f5;
}
.lm-ms365-flow__pane h3 {
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0 0 0.55rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
}
.lm-ms365-flow__pane ul {
  margin: 0;
  padding-left: 1.1rem;
  font-size: 0.85rem;
  color: #475467;
}
.lm-ms365-flow__mini {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.85rem;
}
.lm-ms365-flow__mini img {
  width: 32px !important;
  height: 32px !important;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 1px 5px rgba(0,0,0,0.12);
}
.lm-ms365-flow__arrow {
  font-size: 1.65rem;
  color: #0078d4;
  font-weight: 700;
  align-self: center;
}

.lm-ms365-tile {
  height: 100%;
  border: 1px solid #e4e7ec;
  border-radius: 0.85rem;
  padding: 1.15rem;
  background: #fff;
  border-left: 5px solid var(--ms-accent, #0078d4);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.lm-ms365-tile:hover {
  box-shadow: 0 12px 32px rgba(0, 120, 212, 0.14);
  transform: translateY(-3px);
}
.lm-ms365-tile--entra { --ms-accent: #0078D4; }
.lm-ms365-tile--powerbi { --ms-accent: #F2C811; }
.lm-ms365-tile--automate { --ms-accent: #1152D4; }
.lm-ms365-tile--sharepoint { --ms-accent: #1A9BA1; }
.lm-ms365-tile--teams { --ms-accent: #4B53BC; }
.lm-ms365-tile--forms { --ms-accent: #008272; }
.lm-ms365-tile__head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.7rem;
}
.lm-ms365-tile__head img {
  width: 48px !important;
  height: 48px !important;
  border-radius: 11px;
  flex-shrink: 0;
  background: #fff;
  box-shadow: 0 3px 12px rgba(16,24,40,0.12);
}
.lm-ms365-tile__head h3 {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 700;
}
.lm-ms365-tile p { margin: 0; font-size: 0.875rem; color: #475467; }
.lm-ms365-tile__value {
  margin-top: 0.7rem !important;
  padding-top: 0.65rem;
  border-top: 1px dashed #e4e7ec;
  font-size: 0.8rem !important;
  color: #101828 !important;
}
.lm-ms365-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 1rem;
}
.lm-ms365-badge-row span {
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.16);
  border: 1px solid rgba(255,255,255,0.28);
  color: #fff;
}
.lm-int-ms-logos {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: center;
  margin: 0 0 1.25rem;
}
.lm-int-ms-logos img {
  width: 44px !important;
  height: 44px !important;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(16,24,40,0.12);
  filter: none !important;
}
.lm-int-ms-logos img:hover { transform: scale(1.08); }