/* v1.0.7 — línea DOM + centrado perfecto + alternado 45% + móvil centrado */
.miinvi-timeline{ position:relative; padding:40px 20px; background:transparent; }
.miinvi-timeline .center-line{ position:absolute; left:50%; top:0; bottom:0; width:6px; background:#c4a96a; transform:translateX(-50%); border-radius:6px; z-index:1; }
.elementor-editor-active .miinvi-timeline .center-line{ left:50% !important; transform:translateX(-50%) !important; }
.miinvi-timeline .timeline-item{ position:relative; min-height:80px; opacity:0; transform:translateY(30px); }
.miinvi-timeline .timeline-item.visible{ opacity:1; transform:translateY(0); transition:opacity .6s ease-out, transform .6s ease-out; }
.miinvi-timeline .timeline-item .dot{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:16px; height:16px; border-radius:50%; background:#c4a96a; z-index:2; }
.miinvi-timeline .timeline-item .inner{ max-width:520px; }
.miinvi-timeline .timeline-item.left .inner{ position:absolute; left:0; top:50%; transform:translateY(-50%); width:45%; display:flex; flex-direction:column; align-items:flex-end; text-align:right; padding-right:40px; }
.miinvi-timeline .timeline-item.right .inner{ position:absolute; left:55%; top:50%; transform:translateY(-50%); width:45%; display:flex; flex-direction:column; align-items:flex-start; text-align:left; padding-left:40px; }
.miinvi-timeline .time{ font-weight:700; font-size:18px; line-height:1.2; margin-bottom:6px; color:#1a1a1a; }
.miinvi-timeline .content{ display:flex; align-items:center; gap:10px; color:#1a1a1a; }
.miinvi-timeline .icon svg{ width:28px; height:28px; stroke:#c4a96a; stroke-width:1.5; }
.miinvi-timeline .title{ font-size:16px; }
@media (max-width:767px){
  .miinvi-timeline .center-line{ left:50%; transform:translateX(-50%); }
  .miinvi-timeline .timeline-item{ min-height:80px; }
  .miinvi-timeline .timeline-item .dot{ left:50%; transform:translate(-50%,-50%); }
  .miinvi-timeline .timeline-item .inner{ position:relative !important; left:0 !important; top:auto !important; transform:none !important; width:100% !important; padding:0 12px !important; display:flex; flex-direction:column; align-items:center; text-align:center; }
}