/* Invitera Itinerarios 1.1 · scoped, Divi-safe */
.inv-itinerary{--inv-active:#9b8465;--inv-line:#e6e1dc;--inv-bg:#fff;--inv-text:#272522;--inv-muted:#746f69;--inv-font:inherit;--inv-icon-size:48px;--inv-event-gap:125px;--inv-title-size:26px;--inv-heading-size:48px;--inv-time-size:14px;box-sizing:border-box;width:100%;max-width:940px;margin:0 auto;padding:48px 16px 64px;background:var(--inv-bg);color:var(--inv-text);font-family:var(--inv-font);overflow:visible}
.inv-itinerary *{box-sizing:border-box}.inv-itinerary-header{text-align:center;margin:0 0 55px}.inv-itinerary .inv-itinerary-header h2{font-family:var(--inv-font)!important;font-size:var(--inv-heading-size);font-weight:400;line-height:1.2;margin:0 0 12px;color:var(--inv-text)}.inv-itinerary .inv-itinerary-header p{font-family:var(--inv-font);font-size:15px;margin:0;color:var(--inv-muted)}
.inv-itinerary-track{position:relative;isolation:isolate}.inv-rail{position:absolute;z-index:1;left:50%;top:0;width:2px;height:0;transform:translateX(-50%);background:var(--inv-line);pointer-events:none}.inv-rail-progress{position:absolute;left:0;top:0;width:100%;height:0;background:var(--inv-active)}.inv-traveler{position:absolute;left:50%;top:0;width:12px;height:12px;transform:translate(-50%,-50%);background:var(--inv-active);border-radius:50%;box-shadow:0 0 0 5px var(--inv-bg),0 0 14px 3px color-mix(in srgb,var(--inv-active) 30%,transparent)}
.inv-itinerary .inv-stop{position:relative;width:100%;min-height:var(--inv-event-gap);display:grid;grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);align-items:start;margin:0;padding:0 0 20px;opacity:.36;transition:opacity .35s ease}.inv-itinerary .inv-stop:last-child{min-height:75px;padding-bottom:0}.inv-stop-content{grid-column:1;text-align:right;padding:0 18px 0 0;min-width:0;overflow-wrap:anywhere;display:flex;flex-direction:column;align-items:flex-end}.inv-stop:nth-of-type(even) .inv-stop-content{grid-column:3;text-align:left;padding:0 0 0 18px;align-items:flex-start}
.inv-itinerary .inv-stop h3{font-family:var(--inv-font)!important;color:var(--inv-text);font-weight:400;font-size:var(--inv-title-size);line-height:1.25;margin:0 0 8px}.inv-itinerary .inv-stop-time{font-family:var(--inv-font);color:var(--inv-active);font-size:var(--inv-time-size);font-weight:500;letter-spacing:.04em}.inv-itinerary .inv-stop p{font-family:var(--inv-font);font-size:14px;line-height:1.55;color:var(--inv-muted);margin:8px 0 0}
.inv-itinerary .inv-stop-icon{display:block;width:var(--inv-icon-size);height:var(--inv-icon-size);max-width:100%;object-fit:contain;object-position:center;margin:0 0 16px;padding:0;border:0;flex-shrink:0;transform:none}.inv-stop-dot{position:absolute;z-index:2;top:9px;left:50%;width:14px;height:14px;transform:translateX(-50%);border-radius:50%;border:2px solid var(--inv-line);background:var(--inv-bg);transition:background .3s,border-color .3s,scale .3s}.inv-stop.inv-reached .inv-stop-dot{background:var(--inv-active);border-color:var(--inv-active)}.inv-stop.inv-current .inv-stop-dot{scale:1.22}.inv-stop.inv-reached{opacity:.72}.inv-stop.inv-current{opacity:1}
@media(max-width:520px){.inv-itinerary{padding:42px 8px 55px}.inv-itinerary-header{margin-bottom:44px}.inv-itinerary .inv-stop{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);min-height:max(110px,calc(var(--inv-event-gap)*.88))}.inv-stop-content{padding-right:8px}.inv-stop:nth-of-type(even) .inv-stop-content{padding-left:8px}.inv-itinerary .inv-stop h3{font-size:clamp(15px,4.8vw,var(--inv-title-size))}.inv-itinerary .inv-itinerary-header h2{font-size:clamp(28px,8vw,var(--inv-heading-size))}.inv-itinerary .inv-stop-time,.inv-itinerary .inv-stop p{font-size:12px}.inv-itinerary .inv-stop-icon{width:min(42px,var(--inv-icon-size));height:min(42px,var(--inv-icon-size));margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.inv-stop,.inv-stop-dot{transition:none}.inv-traveler{box-shadow:0 0 0 4px var(--inv-bg)}}

/* Invitera Itinerarios 1.2 · visual variants and production controls */
.inv-itinerary{padding-top:var(--inv-section-padding);padding-bottom:var(--inv-section-padding)}
.inv-itinerary-header{margin-bottom:var(--inv-heading-gap)}
.inv-itinerary .inv-itinerary-header p{font-size:var(--inv-subtitle-size)}
.inv-itinerary .inv-stop h3{font-weight:var(--inv-text-weight)}
.inv-itinerary .inv-stop p{font-size:var(--inv-description-size)}
.inv-itinerary .inv-stop-icon{margin-bottom:var(--inv-icon-gap)}
.inv-itinerary .inv-rail{width:var(--inv-line-width)}
.inv-itinerary .inv-stop-dot{width:var(--inv-dot-size);height:var(--inv-dot-size);top:9px}
.inv-stop-number{display:none}
.inv-hide-line .inv-rail,.inv-hide-line .inv-stop-dot{display:none!important}
.inv-align-left .inv-stop-content{grid-column:1!important;text-align:right!important;align-items:flex-end!important;padding:0 18px 0 0!important}
.inv-align-right .inv-stop-content{grid-column:3!important;text-align:left!important;align-items:flex-start!important;padding:0 0 0 18px!important}
.inv-animation-none .inv-stop{opacity:1!important;transition:none!important}
.inv-animation-reveal .inv-stop.inv-reached{opacity:1}
/* Journey: left progress line with softly framed event cards */
.inv-style-journey .inv-rail{left:22px}
.inv-style-journey .inv-stop{display:block;padding:0 0 28px 64px;min-height:var(--inv-event-gap)}
.inv-style-journey .inv-stop-content,.inv-style-journey .inv-stop:nth-of-type(even) .inv-stop-content{display:flex;align-items:flex-start!important;text-align:left!important;padding:20px!important;grid-column:auto!important;border:1px solid var(--inv-line);border-radius:var(--inv-rounding);background:var(--inv-bg)}
.inv-style-journey .inv-stop-dot{left:22px}
.inv-style-journey .inv-stop-icon{align-self:flex-start}
/* Organic: flowing curved SVG-like path via alternating rounded rails */
.inv-style-organic .inv-rail{width:4px;border-radius:50px;transform:translateX(-50%)}
.inv-style-organic .inv-stop-dot{border-radius:40% 60% 60% 40%;transform:translateX(-50%) rotate(35deg)}
.inv-style-organic .inv-stop-content{padding-top:12px}
.inv-style-organic .inv-stop:nth-of-type(odd) .inv-stop-content{transform:translateX(-5px)}
.inv-style-organic .inv-stop:nth-of-type(even) .inv-stop-content{transform:translateX(5px)}
/* Editorial: numbered typographic timeline */
.inv-style-editorial .inv-stop-number{display:block;font-family:var(--inv-font);font-size:clamp(48px,8vw,90px);line-height:1;color:var(--inv-active);opacity:.38;margin-bottom:8px;font-weight:300}
.inv-style-editorial .inv-stop{min-height:calc(var(--inv-event-gap) + 45px)}
.inv-style-editorial .inv-stop-dot{border-radius:2px}
.inv-style-editorial .inv-stop h3{letter-spacing:.02em}
@media(max-width:520px){
 .inv-itinerary .inv-stop-icon{width:calc(var(--inv-icon-size)*var(--inv-mobile-scale));height:calc(var(--inv-icon-size)*var(--inv-mobile-scale));max-width:100%}
 .inv-itinerary .inv-stop h3{font-size:clamp(13px,calc(var(--inv-title-size)*var(--inv-mobile-scale)),var(--inv-title-size))}
 .inv-itinerary .inv-stop-time{font-size:calc(var(--inv-time-size)*var(--inv-mobile-scale))}
 .inv-style-journey .inv-stop{padding-left:46px}.inv-style-journey .inv-rail,.inv-style-journey .inv-stop-dot{left:15px}
 .inv-style-journey .inv-stop-content,.inv-style-journey .inv-stop:nth-of-type(even) .inv-stop-content{padding:12px!important}
 .inv-style-editorial .inv-stop-number{font-size:46px}
}
/* v1.3 · Distinct design systems + event location buttons */
.inv-itinerary .inv-location-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;align-self:inherit;margin-top:16px;padding:9px 16px;border:1px solid var(--inv-active);border-radius:100px;color:var(--inv-active)!important;background:transparent;font-family:var(--inv-font);font-size:clamp(12px, .95em, 14px);font-weight:500;line-height:1.25;text-decoration:none!important;transition:background .2s,color .2s;max-width:100%;text-align:center}
.inv-itinerary .inv-location-button:hover,.inv-itinerary .inv-location-button:focus-visible{background:var(--inv-active);color:var(--inv-bg)!important}
.inv-location-symbol{font-size:19px;line-height:12px}
.inv-itinerary .inv-stop-icon{object-fit:contain;object-position:center;align-self:inherit}
.inv-itinerary .inv-stop-content{gap:0}
.inv-itinerary .inv-stop-dot{z-index:4}
.inv-organic-svg{display:none;position:absolute;inset:0;width:100%;overflow:visible;pointer-events:none;z-index:1}
.inv-organic-svg path{fill:none;stroke-width:var(--inv-line-width);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.inv-organic-base{stroke:var(--inv-line)}.inv-organic-progress{stroke:var(--inv-active)}
/* Organic: genuine adaptive Bezier curve, animated SVG stroke */
.inv-style-organic .inv-organic-svg{display:block}
.inv-style-organic .inv-rail{background:transparent!important;width:0!important;left:0!important;transform:none!important}
.inv-style-organic .inv-rail-progress{display:none}
.inv-style-organic .inv-traveler{position:absolute;z-index:5;transform:translate(-50%,-50%)}
.inv-style-organic .inv-stop-dot{transform:translateX(-50%);border-radius:50%}
.inv-style-organic .inv-stop-content{transform:none!important}
.inv-style-organic .inv-stop:nth-of-type(odd) .inv-stop-content{padding-right:35px}
.inv-style-organic .inv-stop:nth-of-type(even) .inv-stop-content{padding-left:35px}
/* Journey: spacious vertical feature cards with offset timeline */
.inv-style-journey .inv-itinerary-track{max-width:850px;margin:auto}
.inv-style-journey .inv-stop{padding-left:74px;padding-bottom:22px}
.inv-style-journey .inv-rail,.inv-style-journey .inv-stop-dot{left:27px}
.inv-style-journey .inv-stop-content,.inv-style-journey .inv-stop:nth-of-type(even) .inv-stop-content{box-shadow:0 12px 35px rgba(0,0,0,.025);border-radius:max(12px,var(--inv-rounding));transition:transform .4s,box-shadow .4s,background .4s}
.inv-style-journey .inv-stop.inv-current .inv-stop-content{transform:translateX(6px);box-shadow:0 16px 35px rgba(0,0,0,.07);background:color-mix(in srgb,var(--inv-active) 6%,var(--inv-bg))}
.inv-style-journey .inv-stop-icon{margin-bottom:var(--inv-icon-gap)}
/* Editorial: no central rail, oversized numerals and full-width horizontal rules */
.inv-style-editorial .inv-rail,.inv-style-editorial .inv-stop-dot{display:none!important}
.inv-style-editorial .inv-stop{display:block;min-height:0;padding:32px 0 36px;border-top:1px solid var(--inv-line)}
.inv-style-editorial .inv-stop:last-child{border-bottom:1px solid var(--inv-line)}
.inv-style-editorial .inv-stop-content,.inv-style-editorial .inv-stop:nth-of-type(even) .inv-stop-content{display:grid;grid-template-columns:minmax(70px,25%) minmax(0,1fr);column-gap:22px;align-items:center;text-align:left;padding:0;max-width:100%;transform:none}
.inv-style-editorial .inv-stop-number{grid-column:1;grid-row:1 / span 5;font-size:clamp(65px,11vw,150px);opacity:.25;margin:0;line-height:1}
.inv-style-editorial .inv-stop-icon,.inv-style-editorial .inv-stop h3,.inv-style-editorial .inv-stop-time,.inv-style-editorial .inv-stop p,.inv-style-editorial .inv-location-button{grid-column:2;justify-self:start}
.inv-style-editorial .inv-stop h3{font-size:clamp(25px,3.5vw,48px);margin:4px 0}
.inv-style-editorial .inv-stop-icon{margin:0 0 10px}
.inv-style-editorial .inv-location-button{margin-top:12px}
.inv-hide-line .inv-organic-svg{display:none}
@media(max-width:520px){
 .inv-style-organic .inv-stop:nth-of-type(odd) .inv-stop-content{padding-right:12px}
 .inv-style-organic .inv-stop:nth-of-type(even) .inv-stop-content{padding-left:12px}
 .inv-style-journey .inv-stop{padding-left:45px}.inv-style-journey .inv-rail,.inv-style-journey .inv-stop-dot{left:15px}
 .inv-style-editorial .inv-stop{padding:22px 0}
 .inv-style-editorial .inv-stop-content,.inv-style-editorial .inv-stop:nth-of-type(even) .inv-stop-content{grid-template-columns:minmax(60px,28%) minmax(0,1fr);column-gap:10px}
 .inv-style-editorial .inv-stop-number{font-size:clamp(52px,14vw,80px)}
 .inv-style-editorial .inv-stop h3{font-size:clamp(20px,5vw,28px)}
 .inv-itinerary .inv-location-button{font-size:11px;padding:8px 10px;gap:4px}
}

/* v1.3.1 · Production layout corrections */
/* Light Path: every element shares the same centered axis within its half. */
.inv-style-light-path .inv-stop-content,
.inv-style-light .inv-stop-content,
.inv-itinerary:not(.inv-style-organic):not(.inv-style-journey):not(.inv-style-editorial) .inv-stop-content{
  align-items:center!important;text-align:center!important;
  padding-left:12px!important;padding-right:12px!important;
}
.inv-style-light-path .inv-stop-content > *,
.inv-style-light .inv-stop-content > *,
.inv-itinerary:not(.inv-style-organic):not(.inv-style-journey):not(.inv-style-editorial) .inv-stop-content > *{
  align-self:center!important;text-align:center!important;
}
.inv-style-light-path .inv-location-button,
.inv-style-light .inv-location-button,
.inv-itinerary:not(.inv-style-organic):not(.inv-style-journey):not(.inv-style-editorial) .inv-location-button{margin-left:auto;margin-right:auto}
/* Organic: the SVG stays in a protected central corridor. Text, icons and
   buttons occupy their own side, with generous breathing room. */
.inv-style-organic .inv-stop{grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr)}
.inv-style-organic .inv-stop-content,
.inv-style-organic .inv-stop:nth-of-type(even) .inv-stop-content{
  width:100%;max-width:100%;align-items:center!important;text-align:center!important;
  padding:0 10px!important;transform:none!important;
}
.inv-style-organic .inv-stop-content > *{align-self:center!important;text-align:center!important;max-width:100%}
.inv-style-organic .inv-stop-icon{object-fit:contain;object-position:center}
.inv-style-organic .inv-location-button{margin-left:auto;margin-right:auto;white-space:normal;overflow-wrap:anywhere}
.inv-style-organic .inv-stop-dot{z-index:4}
@media(max-width:520px){
 .inv-style-organic .inv-stop{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr)}
 .inv-style-organic .inv-stop-content,
 .inv-style-organic .inv-stop:nth-of-type(even) .inv-stop-content{padding:0 4px!important}
 .inv-style-organic .inv-stop h3{overflow-wrap:anywhere}
 .inv-style-light-path .inv-stop-content,
 .inv-style-light .inv-stop-content,
 .inv-itinerary:not(.inv-style-organic):not(.inv-style-journey):not(.inv-style-editorial) .inv-stop-content{padding-left:3px!important;padding-right:3px!important}
}

/* v1.3.2: spacing and typographic controls, scoped to Invitera */
.inv-itinerary .inv-stop h3{margin-bottom:var(--inv-title-time-gap,8px)!important;text-transform:uppercase!important}
.inv-itinerary .inv-stop p{font-style:var(--inv-description-font-style,normal)!important}

/* v1.3.3 — Botón sólido, sin icono, en todos los estilos */
.inv-itinerary a.inv-location-button,
.inv-itinerary a.inv-location-button:link,
.inv-itinerary a.inv-location-button:visited{
  display:inline-flex;justify-content:center;align-items:center;
  background:var(--inv-active,#a48a68)!important;
  color:var(--inv-bg,#fff)!important;
  border:1px solid var(--inv-active,#a48a68)!important;
  text-decoration:none!important;
}
.inv-itinerary a.inv-location-button:hover,
.inv-itinerary a.inv-location-button:focus-visible{
  background:var(--inv-active,#a48a68)!important;
  color:var(--inv-bg,#fff)!important;
  filter:brightness(.88);
}
.inv-itinerary .inv-location-symbol{display:none!important}

/* v1.3.4: preserve the last event as the visual end of the journey. */
.inv-itinerary-track{padding-bottom:18px}
.inv-style-journey .inv-stop:last-child{padding-bottom:18px}

/* v1.4.0: CLASICO and PRO are independent layouts without timeline rails. */
.inv-style-clasico .inv-rail,.inv-style-clasico .inv-organic-svg,.inv-style-clasico .inv-stop-dot,.inv-style-pro .inv-rail,.inv-style-pro .inv-organic-svg,.inv-style-pro .inv-stop-dot{display:none!important}
.inv-style-clasico .inv-itinerary-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2.5vw,32px);align-items:stretch}
.inv-style-clasico .inv-stop,.inv-style-clasico .inv-stop:nth-of-type(even){display:flex!important;min-height:0!important;padding:0!important;margin:0!important;opacity:1!important;width:100%;height:100%;align-items:stretch;transform:none!important}
.inv-style-clasico .inv-stop-content,.inv-style-clasico .inv-stop:nth-of-type(even) .inv-stop-content{box-sizing:border-box;display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;justify-content:flex-start!important;grid-column:auto!important;width:100%;height:100%;padding:clamp(24px,3vw,48px) clamp(12px,2vw,30px)!important;background:#fff!important;border:0!important;border-radius:0!important;transform:none!important}
.inv-style-clasico .inv-stop-icon{width:var(--inv-icon-size)!important;height:var(--inv-icon-size)!important;max-width:100%!important;object-fit:contain;align-self:center!important;margin:0 auto 20px!important;transform:scale(.78);opacity:.4;transition:transform .55s cubic-bezier(.2,1.4,.4,1),opacity .45s}
.inv-style-clasico .inv-stop.inv-reached .inv-stop-icon,.inv-style-clasico .inv-stop.inv-current .inv-stop-icon,.inv-style-clasico.inv-animation-none .inv-stop-icon{transform:scale(1);opacity:1}
.inv-style-clasico .inv-stop h3{font-size:var(--inv-title-size);font-weight:var(--inv-text-weight);letter-spacing:.12em;text-transform:uppercase;text-align:center!important;margin:0 0 18px!important}
.inv-style-clasico .inv-stop p{order:1;font-size:var(--inv-description-size);font-style:normal;line-height:1.55;font-weight:600;letter-spacing:.07em;color:var(--inv-text);text-align:center!important;margin:0 0 14px!important}
.inv-style-clasico .inv-stop-time{order:2;color:var(--inv-text);font-size:var(--inv-time-size);letter-spacing:.12em;margin:0 0 22px!important;text-align:center!important}
.inv-style-clasico .inv-location-button{order:3;align-self:center!important;margin:auto auto 0!important;border-radius:2px!important;min-height:42px;padding:12px 22px!important}
.inv-style-clasico .inv-stop-number,.inv-style-pro .inv-stop-number{display:none!important}
.inv-style-pro .inv-itinerary-track{display:flex;flex-direction:column;gap:clamp(30px,5vw,70px)}
.inv-style-pro .inv-stop,.inv-style-pro .inv-stop:nth-of-type(even){display:block!important;min-height:0!important;padding:0!important;margin:0!important;opacity:1!important;transform:none!important}
.inv-style-pro .inv-stop-content,.inv-style-pro .inv-stop:nth-of-type(even) .inv-stop-content{box-sizing:border-box;display:grid!important;grid-template-columns:var(--inv-icon-size) minmax(0,1fr);column-gap:clamp(15px,3vw,32px);align-items:start!important;text-align:left!important;width:100%;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;transform:none!important}
.inv-style-pro .inv-stop-icon{grid-column:1;grid-row:1 / span 5;width:var(--inv-icon-size)!important;height:var(--inv-icon-size)!important;max-width:100%;object-fit:contain;margin:0!important;align-self:start!important}
.inv-style-pro .inv-stop h3{grid-column:2;font-size:var(--inv-title-size);letter-spacing:.12em;text-transform:uppercase;line-height:1.25;margin:0 0 18px!important;padding:0 0 15px;border-bottom:1px solid var(--inv-text);text-align:left!important}
.inv-style-pro .inv-stop p{grid-column:2;font-size:var(--inv-description-size);font-weight:600;letter-spacing:.07em;font-style:normal;line-height:1.5;margin:0 0 18px!important;color:var(--inv-text);text-align:left!important}
.inv-style-pro .inv-stop-time{grid-column:2;font-size:var(--inv-time-size);letter-spacing:.12em;color:var(--inv-text);margin:0 0 20px!important;text-align:left!important}
.inv-style-pro .inv-location-button{grid-column:2;justify-self:start;align-self:start!important;margin:0!important;border-radius:2px!important;padding:12px 22px!important}
@media(max-width:767px){.inv-style-clasico .inv-itinerary-track{grid-template-columns:1fr;gap:18px}.inv-style-clasico .inv-stop-content{padding:30px 20px!important}.inv-style-pro .inv-stop-content,.inv-style-pro .inv-stop:nth-of-type(even) .inv-stop-content{grid-template-columns:min(65px,var(--inv-icon-size)) minmax(0,1fr);column-gap:14px}.inv-style-pro .inv-stop h3{font-size:clamp(18px,5vw,var(--inv-title-size))}}
@media(min-width:768px) and (max-width:980px){.inv-style-clasico .inv-itinerary-track{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.inv-style-clasico .inv-stop-icon{transition:none;opacity:1;transform:none}}

/* 1.4.1 · Eventos solamente; tarjetas clásicas visibles y PRO editorial alineado */
.inv-itinerary{background:transparent!important;padding-top:0!important;padding-bottom:0!important}
.inv-style-clasico .inv-itinerary-track{gap:clamp(18px,3vw,36px)!important}
.inv-style-clasico .inv-stop,.inv-style-clasico .inv-stop:nth-of-type(even){height:auto!important;min-height:100%!important}
.inv-style-clasico .inv-stop-content,.inv-style-clasico .inv-stop:nth-of-type(even) .inv-stop-content{background:#fff!important;border:1px solid #ece9e5!important;box-shadow:0 3px 20px rgba(0,0,0,.035)!important;padding:clamp(30px,3.5vw,52px) clamp(18px,2.5vw,34px)!important;min-height:390px!important}
.inv-style-clasico .inv-stop-icon{margin-bottom:26px!important}
.inv-style-clasico .inv-stop h3{margin-bottom:26px!important}
.inv-style-clasico .inv-stop p{margin-bottom:16px!important}
.inv-style-pro .inv-stop-content,.inv-style-pro .inv-stop:nth-of-type(even) .inv-stop-content{display:grid!important;grid-template-columns:clamp(54px,12%,90px) minmax(0,1fr)!important;grid-template-rows:auto auto auto auto!important;column-gap:clamp(18px,4vw,34px)!important;row-gap:0!important;align-items:start!important;text-align:left!important}
.inv-style-pro .inv-stop-icon{grid-column:1!important;grid-row:1!important;justify-self:center!important;align-self:start!important;width:min(100%,var(--inv-icon-size))!important;height:var(--inv-icon-size)!important;margin:0!important}
.inv-style-pro .inv-stop h3{grid-column:2!important;grid-row:1!important;align-self:start!important;text-align:left!important;width:100%!important;margin:0 0 16px!important;padding:0 0 14px!important;line-height:1.2!important}
.inv-style-pro .inv-stop p{grid-column:2!important;grid-row:2!important;text-align:left!important;margin:0 0 18px!important}
.inv-style-pro .inv-stop-time{grid-column:2!important;grid-row:3!important;text-align:left!important;margin:0 0 20px!important}
.inv-style-pro .inv-location-button{grid-column:2!important;grid-row:4!important;justify-self:start!important;margin:0!important}
@media(max-width:767px){.inv-style-clasico .inv-itinerary-track{grid-template-columns:1fr!important;gap:22px!important}.inv-style-clasico .inv-stop-content,.inv-style-clasico .inv-stop:nth-of-type(even) .inv-stop-content{min-height:340px!important;padding:35px 25px!important}.inv-style-pro .inv-stop-content,.inv-style-pro .inv-stop:nth-of-type(even) .inv-stop-content{grid-template-columns:60px minmax(0,1fr)!important;column-gap:18px!important}}

/* v1.4.2 · Tipografías separadas, cursivas y alineación estable */
.inv-itinerary .inv-stop h3{font-family:var(--inv-title-font,inherit)!important}
.inv-itinerary .inv-stop p{font-family:var(--inv-font,inherit)!important;font-style:italic!important}
.inv-itinerary .inv-stop-time,.inv-itinerary .inv-location-button{font-family:var(--inv-font,inherit)!important}
.inv-style-clasico .inv-stop h3::after{content:"";display:block;width:48px;height:1px;background:var(--inv-active);opacity:.65;margin:19px auto 0}
.inv-style-pro .inv-stop-content,.inv-style-pro .inv-stop:nth-of-type(even) .inv-stop-content{justify-items:stretch!important}
.inv-style-pro .inv-stop h3,.inv-style-pro .inv-stop p,.inv-style-pro .inv-stop-time{justify-self:stretch!important;width:100%!important;text-align:left!important;padding-left:0!important;margin-left:0!important;transform:none!important}
.inv-style-pro .inv-location-button{justify-self:start!important;text-align:center!important;margin-left:0!important;transform:none!important}
.inv-style-pro.inv-pro-blur .inv-stop{opacity:0!important;filter:blur(9px);transition:opacity .75s ease,filter .75s ease!important}
.inv-style-pro.inv-pro-blur .inv-stop.inv-pro-visible{opacity:1!important;filter:blur(0)}
@media(prefers-reduced-motion:reduce){.inv-style-pro.inv-pro-blur .inv-stop{opacity:1!important;filter:none!important;transition:none!important}}

/* 1.4.3 PRO: neutralizar las reglas de alineación heredadas de Light Path/Divi. */
.inv-itinerary.inv-style-pro .inv-itinerary-track{gap:clamp(72px,10vw,120px)!important;}
.inv-itinerary.inv-style-pro .inv-stop,
.inv-itinerary.inv-style-pro .inv-stop:nth-of-type(even){display:block!important;width:100%!important;min-height:0!important;padding:0!important;margin:0!important;}
.inv-itinerary.inv-style-pro .inv-stop .inv-stop-content,
.inv-itinerary.inv-style-pro .inv-stop:nth-of-type(even) .inv-stop-content{
 grid-column:1 / -1!important;display:grid!important;
 grid-template-columns:clamp(58px,15%,90px) minmax(0,1fr)!important;
 grid-template-rows:repeat(4,auto)!important;column-gap:clamp(18px,4vw,34px)!important;
 width:100%!important;max-width:none!important;box-sizing:border-box!important;
 padding:0!important;margin:0!important;align-items:start!important;justify-items:stretch!important;
 text-align:left!important;transform:none!important;
}
.inv-itinerary.inv-style-pro .inv-stop .inv-stop-icon{grid-column:1!important;grid-row:1!important;justify-self:center!important;}
.inv-itinerary.inv-style-pro .inv-stop .inv-stop-content > h3,
.inv-itinerary.inv-style-pro .inv-stop .inv-stop-content > p,
.inv-itinerary.inv-style-pro .inv-stop .inv-stop-content > .inv-stop-time{
 grid-column:2!important;justify-self:stretch!important;align-self:start!important;
 text-align:left!important;width:100%!important;max-width:none!important;
 margin-left:0!important;margin-right:0!important;padding-left:0!important;
 text-indent:0!important;transform:none!important;box-sizing:border-box!important;
}
.inv-itinerary.inv-style-pro .inv-stop .inv-stop-content > h3{grid-row:1!important;}
.inv-itinerary.inv-style-pro .inv-stop .inv-stop-content > p{grid-row:2!important;}
.inv-itinerary.inv-style-pro .inv-stop .inv-stop-content > .inv-stop-time{grid-row:3!important;}
.inv-itinerary.inv-style-pro .inv-stop .inv-stop-content > .inv-location-button{
 grid-column:2!important;grid-row:4!important;justify-self:start!important;
 margin:0!important;transform:none!important;
}
@media(max-width:767px){.inv-itinerary.inv-style-pro .inv-itinerary-track{gap:84px!important}}

/* v1.4.4: tamaño consistente en las cinco variantes; respetar el ajuste del editor incluso en móvil */
.inv-itinerary .inv-stop h3,
.inv-itinerary.inv-style-organic .inv-stop h3,
.inv-itinerary.inv-style-pro .inv-stop h3,
.inv-itinerary.inv-style-clasico .inv-stop h3,
.inv-itinerary.inv-style-journey .inv-stop h3,
.inv-itinerary.inv-style-light-path .inv-stop h3{font-size:var(--inv-title-size)!important;max-width:100%;overflow-wrap:normal;word-break:normal;hyphens:none}
@media(max-width:767px){
 .inv-itinerary .inv-stop h3{font-size:calc(var(--inv-title-size) * var(--inv-mobile-scale,1))!important}
}
/* PRO: un solo eje de alineación desde el inicio del separador */
.inv-itinerary.inv-style-pro .inv-stop .inv-stop-content,
.inv-itinerary.inv-style-pro .inv-stop:nth-of-type(even) .inv-stop-content{
 display:grid!important;grid-template-columns:clamp(58px,15%,90px) minmax(0,1fr)!important;
 grid-template-rows:auto auto auto auto!important;column-gap:clamp(18px,4vw,34px)!important;
 text-align:left!important;align-items:start!important;justify-items:stretch!important;
}
.inv-itinerary.inv-style-pro .inv-stop .inv-stop-content > h3,
.inv-itinerary.inv-style-pro .inv-stop .inv-stop-content > p,
.inv-itinerary.inv-style-pro .inv-stop .inv-stop-content > .inv-stop-time,
.inv-itinerary.inv-style-pro .inv-stop .inv-stop-content > .inv-location-button{
 grid-column:2!important;position:static!important;float:none!important;transform:none!important;
 margin-left:0!important;margin-right:0!important;padding-left:0!important;
 text-align:left!important;justify-self:start!important;align-self:start!important;
}
.inv-itinerary.inv-style-pro .inv-stop .inv-stop-content > h3{
 grid-row:1!important;width:100%!important;margin-top:0!important;
 padding-right:0!important;border-bottom:1px solid var(--inv-text)!important;
 letter-spacing:.08em!important;
}
.inv-itinerary.inv-style-pro .inv-stop .inv-stop-content > p{grid-row:2!important;width:100%!important;margin-top:12px!important}
.inv-itinerary.inv-style-pro .inv-stop .inv-stop-content > .inv-stop-time{grid-row:3!important;width:100%!important}
.inv-itinerary.inv-style-pro .inv-stop .inv-stop-content > .inv-location-button{grid-row:4!important;text-align:center!important}
.inv-itinerary.inv-style-pro .inv-itinerary-track{gap:110px!important}
@media(max-width:767px){
 .inv-itinerary.inv-style-pro .inv-itinerary-track{gap:115px!important}
 .inv-itinerary.inv-style-pro .inv-stop .inv-stop-content,
 .inv-itinerary.inv-style-pro .inv-stop:nth-of-type(even) .inv-stop-content{grid-template-columns:clamp(54px,17%,75px) minmax(0,1fr)!important;column-gap:20px!important}
}
/* PRO blur por desplazamiento: se habilita para scroll o reveal, nunca para none */
.inv-itinerary.inv-style-pro.inv-pro-blur .inv-stop:not(.inv-pro-visible){opacity:0!important;filter:blur(10px)!important}
.inv-itinerary.inv-style-pro.inv-pro-blur .inv-stop.inv-pro-visible{opacity:1!important;filter:blur(0)!important}
@media(prefers-reduced-motion:reduce){.inv-itinerary.inv-style-pro.inv-pro-blur .inv-stop{opacity:1!important;filter:none!important}}

/* v1.4.5 PRO: dedicated semantic columns, independent of Divi typography alignment */
.inv-itinerary.inv-style-pro .inv-itinerary-track{display:flex!important;flex-direction:column!important;gap:var(--inv-event-gap)!important}
.inv-itinerary.inv-style-pro .inv-stop{display:block!important;min-height:0!important;opacity:1;filter:none}
.inv-itinerary.inv-style-pro .inv-stop .inv-stop-content,
.inv-itinerary.inv-style-pro .inv-stop:nth-of-type(even) .inv-stop-content{display:flex!important;flex-direction:row!important;align-items:flex-start!important;justify-content:flex-start!important;gap:clamp(14px,4vw,30px)!important;padding:0!important;margin:0!important;width:100%!important;max-width:none!important;text-align:left!important}
.inv-itinerary.inv-style-pro .inv-pro-icon-slot{display:block!important;flex:0 0 clamp(52px,16%,82px)!important;min-width:0!important}
.inv-itinerary.inv-style-pro .inv-pro-icon-slot .inv-stop-icon{display:block!important;width:100%!important;max-width:var(--inv-icon-size)!important;height:auto!important;aspect-ratio:1;object-fit:contain;margin:0!important}
.inv-itinerary.inv-style-pro .inv-pro-details{display:flex!important;flex:1 1 0!important;min-width:0!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;text-align:left!important;gap:0!important}
.inv-itinerary.inv-style-pro .inv-pro-details > h3{display:block!important;position:static!important;float:none!important;align-self:stretch!important;justify-self:auto!important;grid-column:auto!important;grid-row:auto!important;width:100%!important;max-width:100%!important;min-width:0!important;font-size:var(--inv-title-size)!important;font-family:var(--inv-title-font,inherit)!important;font-weight:var(--inv-text-weight)!important;line-height:1.2!important;letter-spacing:.08em!important;text-align:left!important;margin:0 0 20px!important;padding:0 0 14px!important;border-bottom:1px solid var(--inv-text)!important;overflow-wrap:break-word!important;word-break:normal!important}
.inv-itinerary.inv-style-pro .inv-pro-details > p{display:block!important;position:static!important;float:none!important;align-self:stretch!important;grid-column:auto!important;grid-row:auto!important;width:100%!important;min-width:0!important;font-family:var(--inv-font,inherit)!important;font-size:var(--inv-description-size)!important;font-style:italic!important;font-weight:400!important;line-height:1.6!important;text-align:left!important;margin:0 0 22px!important;padding:0!important}
.inv-itinerary.inv-style-pro .inv-pro-details > .inv-stop-time{display:block!important;align-self:stretch!important;grid-column:auto!important;grid-row:auto!important;width:100%!important;text-align:left!important;font-family:var(--inv-font,inherit)!important;font-size:var(--inv-time-size)!important;margin:0 0 24px!important;padding:0!important}
.inv-itinerary.inv-style-pro .inv-pro-details > .inv-location-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;align-self:flex-start!important;flex:0 0 auto!important;grid-column:auto!important;grid-row:auto!important;width:auto!important;min-width:135px!important;max-width:100%!important;min-height:48px!important;white-space:nowrap!important;line-height:1.3!important;box-sizing:border-box!important;text-align:center!important;padding:13px 22px!important;margin:0!important;overflow:visible!important}
@media(max-width:767px){.inv-itinerary.inv-style-pro .inv-pro-details > h3{font-size:calc(var(--inv-title-size) * var(--inv-mobile-scale,1))!important}.inv-itinerary.inv-style-pro .inv-itinerary-track{gap:var(--inv-event-gap)!important}}
.inv-itinerary.inv-style-pro.inv-pro-blur .inv-stop{transition:opacity .85s ease,filter .85s ease!important}
.inv-itinerary.inv-style-pro.inv-pro-blur .inv-stop:not(.inv-pro-visible){opacity:0!important;filter:blur(12px)!important}
.inv-itinerary.inv-style-pro.inv-pro-blur .inv-stop.inv-pro-visible{opacity:1!important;filter:blur(0)!important}
@media(prefers-reduced-motion:reduce){.inv-itinerary.inv-style-pro.inv-pro-blur .inv-stop{opacity:1!important;filter:none!important;transition:none!important}}

/* v1.4.6: PRO icon is anchored to title row, not vertically centered in event */
.inv-itinerary.inv-style-pro .inv-stop .inv-stop-content > .inv-pro-icon-slot{align-self:flex-start!important;position:relative!important;top:0!important;margin:0!important;padding:0!important;transform:none!important;}
.inv-itinerary.inv-style-pro .inv-pro-icon-slot .inv-stop-icon{margin:0 auto!important;vertical-align:top!important;}
.inv-itinerary.inv-style-pro .inv-pro-details > h3{margin-top:0!important;padding-top:0!important;}

/* v1.4.7: tamaños configurables de botón y entrada del icono PRO */
.inv-itinerary a.inv-location-button{font-size:var(--inv-button-font-size,14px)!important;padding:var(--inv-button-pad-v,13px) var(--inv-button-pad-h,22px)!important;min-height:0!important;height:auto!important;line-height:1.4!important;box-sizing:border-box!important}
.inv-itinerary.inv-style-pro .inv-pro-details > .inv-location-button{font-size:var(--inv-button-font-size,14px)!important;padding:var(--inv-button-pad-v,13px) var(--inv-button-pad-h,22px)!important;min-height:0!important}
.inv-itinerary.inv-style-pro .inv-pro-icon-slot{align-self:flex-start!important;display:flex!important;align-items:flex-start!important;justify-content:center!important;padding:0!important;margin:0!important}
.inv-itinerary.inv-style-pro .inv-pro-icon-slot .inv-stop-icon{display:block!important;transform-origin:center center;transform:scale(.78)!important;opacity:.25!important;transition:transform .6s cubic-bezier(.2,1.4,.4,1),opacity .6s ease!important}
.inv-itinerary.inv-style-pro .inv-stop.inv-pro-visible .inv-pro-icon-slot .inv-stop-icon,.inv-itinerary.inv-style-pro.inv-animation-none .inv-pro-icon-slot .inv-stop-icon{transform:scale(1)!important;opacity:1!important}
@media(prefers-reduced-motion:reduce){.inv-itinerary.inv-style-pro .inv-pro-icon-slot .inv-stop-icon{opacity:1!important;transform:none!important;transition:none!important}}

/* v1.4.8 · Espacio inferior específico para tarjetas CLÁSICO.
   No modifica el espaciado ni la estructura de otros diseños. */
.inv-itinerary.inv-style-clasico .inv-stop .inv-stop-content,
.inv-itinerary.inv-style-clasico .inv-stop:nth-of-type(even) .inv-stop-content{
 padding-bottom:var(--inv-classic-bottom-space,65px)!important;
}

/* v1.4.9 · nombres de lugares y respiración de tarjetas */
/* El nombre largo se distribuye en varias líneas sin desbordar la tarjeta. */
.inv-itinerary.inv-style-clasico .inv-stop p{
  width:100%!important;max-width:30ch!important;min-width:0!important;
  margin-left:auto!important;margin-right:auto!important;
  overflow-wrap:break-word!important;word-break:normal!important;
  text-wrap:pretty;line-height:1.55!important;
}
/* Journey: margen superior para el icono y espacio libre tras el botón. */
.inv-itinerary.inv-style-journey .inv-stop .inv-stop-content,
.inv-itinerary.inv-style-journey .inv-stop:nth-of-type(even) .inv-stop-content{
  padding-top:clamp(32px,5vw,48px)!important;
  padding-bottom:clamp(36px,5vw,54px)!important;
}
/* También se limitan los nombres largos en las tarjetas Journey. */
.inv-itinerary.inv-style-journey .inv-stop p{
  max-width:34ch!important;min-width:0!important;
  overflow-wrap:break-word!important;word-break:normal!important;
  text-wrap:pretty;
}
