/* ==========================================================================
   Alto Control Widgets — PÁGINAS INTERNAS (producto, industrias, nosotros…)
   ========================================================================== */

/* Etiquetas */
.ac-badges { display: flex; flex-wrap: wrap; align-items: center; }
.ac-badge { display: inline-flex; align-items: center; gap: 8px; padding: var(--b-pad); border-radius: var(--b-rad); font-family: var(--b-ff), sans-serif; font-weight: var(--b-fw); font-size: var(--b-fs); line-height: 1.22; white-space: nowrap; }
.ac-badge img { width: var(--b-ico); height: var(--b-ico); }
.ac-badges--turq .ac-badge { background: rgba(74,232,205,.2); box-shadow: inset 0 0 0 .7px var(--ac-turq); color: var(--ac-text); }
.ac-badges--dark .ac-badge { background: var(--ac-dark); color: var(--ac-turq); }
.ac-badges--outline .ac-badge { box-shadow: inset 0 0 0 1px rgba(38,38,38,.2); color: var(--ac-text); }

/* Tarjeta de información */
.ac-card { display: flex; flex-direction: column; gap: var(--c-gap); padding: var(--c-pad); border-radius: var(--c-rad); height: 100%; position: relative; }
.ac-card--white { background: #fff; box-shadow: 0 0 30px rgba(0,0,0,.05); }
.ac-card--outline { box-shadow: inset 0 0 0 1.3px rgba(38,38,38,.2); }
.ac-card--glass { background: rgba(255,255,255,.03); box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.08); }
.ac-card--dark { background: var(--ac-dark); box-shadow: 0 0 31.2px rgba(0,0,0,.1); }
.ac-card--center { align-items: center; text-align: center; }
.ac-card__head { display: flex; align-items: center; gap: 16px; }
.ac-card__ico { flex: 0 0 auto; width: var(--c-ico); height: var(--c-ico); display: block; }
.ac-card__ico img { width: 100%; height: 100%; }
.ac-w .ac-card__title { font-size: var(--c-ts); line-height: var(--c-tlh); font-weight: var(--c-tw); letter-spacing: var(--c-tls, 0); color: var(--ac-text); }
.ac-card__desc { margin-top: calc(var(--c-tgap) - var(--c-gap)) !important; font-size: var(--c-ds); line-height: var(--c-dlh); color: var(--ac-grey); }
.ac-card--glass .ac-card__title, .ac-card--dark .ac-card__title, .ac-card--glass .ac-card__desc, .ac-card--dark .ac-card__desc { color: #fff; }
.ac-card__chips { display: flex; flex-wrap: wrap; gap: 10.4px; }
.ac-card--dark .ac-chip { border-color: rgba(255,255,255,.2); color: #fff; font-size: 13.5px; padding: 6.2px 10.4px; border-radius: 10.4px; }
.ac-card__tag { align-self: flex-start; padding: 4px 12px; border-radius: 100px; background: var(--ac-dark); color: var(--ac-turq); font-family: "Inter", sans-serif; font-weight: 700; font-size: 12px; line-height: 15px; }
.ac-card__link { display: inline-flex; align-items: center; gap: 5px; margin-top: auto; font-weight: 700; font-size: 16px; color: var(--ac-grey); }

/* Línea de tiempo */
.ac-tl { width: 1140px; max-width: 100%; margin: 0 auto; display: flex; flex-direction: column; }
.ac-tl__row { display: grid; grid-template-columns: 520px 100px 520px; min-height: 180px; align-items: center; }
.ac-tl__mid { display: flex; flex-direction: column; align-items: center; align-self: stretch; }
.ac-tl__line { width: 4px; flex: 1 1 62px; background: var(--ac-turq); }
.ac-tl__line.is-empty { background: transparent; }
.ac-tl__num { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(74,232,205,.1); box-shadow: inset 0 0 0 2px var(--ac-turq); font-weight: 700; font-size: 20px; color: var(--ac-text); }
.ac-tl__card { padding: 32px; border-radius: 24px; box-shadow: inset 0 0 0 1.3px rgba(38,38,38,.2); display: flex; flex-direction: column; gap: 16px; }
.ac-tl__head { display: flex; align-items: center; gap: 16px; }
.ac-tl__ico { flex: 0 0 45px; width: 45px; height: 45px; }
.ac-tl__ico img { width: 100%; height: 100%; }
.ac-w .ac-tl__title { font-size: 21px; line-height: 22px; color: var(--ac-text); }
.ac-tl__desc { font-size: 16px; line-height: 20px; color: var(--ac-grey); }

/* Tarjetas con foto desplegables */
.ac-pcards { display: grid; grid-template-columns: repeat(var(--pc-cols), var(--pc-w)); gap: var(--pc-gap); justify-content: center; }
.ac-pcard { position: relative; height: var(--pc-h); border-radius: 40px; overflow: hidden; outline: none; }
.ac-pcard__img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; }
.ac-pcard__panel {
	position: absolute; left: 0; right: 0; top: var(--pc-top); height: var(--pc-h); background: #fff; border-radius: 40px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.4);
	padding: 50px 60px; display: flex; flex-direction: column; align-items: center; gap: 55px; transition: top .45s cubic-bezier(.4,0,.2,1);
}
.ac-pcard:hover .ac-pcard__panel, .ac-pcard:focus-within .ac-pcard__panel, .ac-pcard.is-open .ac-pcard__panel { top: 0; }
.ac-pcard__chev { position: absolute; top: 9px; left: 50%; width: 12px; height: 7px; transform: translateX(-50%); transition: transform .3s ease; }
.ac-pcard:hover .ac-pcard__chev, .ac-pcard.is-open .ac-pcard__chev { transform: translateX(-50%) rotate(180deg); }
.ac-pcard__chev svg { width: 100%; height: 100%; display: block; }
.ac-pcard__head { display: flex; flex-direction: column; align-items: center; gap: 25px; text-align: center; }
.ac-pcard__ico { width: 55px; height: 55px; }
.ac-pcard__ico img { width: 100%; height: 100%; }
.ac-w .ac-pcard__title { font-size: 30px; line-height: 38.2px; font-weight: 700; color: var(--ac-text); }
.ac-pcard__desc { margin-top: -15.8px !important; font-size: 19px; line-height: 21.6px; color: var(--ac-grey); opacity: .8; }
.ac-pcard__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 10.7px; }
.ac-chip--sm { font-size: 15.1px; padding: 6.6px 10.5px; border-radius: 11.2px; gap: 6.6px; }
.ac-chip--sm::before { font-size: 13.1px; line-height: 16px; }

/* Carrusel de tarjetas */
.ac-ccar { position: relative; width: 1381px; max-width: 100%; margin: 0 auto; padding: 0 47px; }
.ac-ccar__vp { overflow: hidden; padding: 23px 0; margin: -23px 0; }
.ac-ccar__track { display: flex; gap: 30px; transition: transform .5s cubic-bezier(.4,0,.2,1); }
.ac-ccar__card { flex: 0 0 401px; min-height: 271px; padding: 40px; background: #fff; border-radius: 25px; box-shadow: 0 0 40px rgba(0,0,0,.05); display: flex; flex-direction: column; gap: 20px; }
.ac-ccar__head { display: flex; align-items: center; gap: 13px; }
.ac-ccar__ico { flex: 0 0 54.9px; width: 54.9px; height: 54.9px; }
.ac-ccar__ico img { width: 100%; height: 100%; }
.ac-w .ac-ccar__title { font-size: 21px; line-height: 25px; letter-spacing: -.4px; color: var(--ac-text); }
.ac-ccar__desc { font-size: 16px; line-height: 1.22; letter-spacing: -.3px; color: var(--ac-grey); min-height: 60px; }
.ac-ccar__link { margin-top: 16.3px; display: inline-flex; align-items: center; gap: 5px; font-weight: 700; font-size: 16px; color: var(--ac-grey) !important; }
.ac-ccar__link img { width: 22px; height: 20px; }
.ac-ccar__btn { position: absolute; top: 50%; width: 35px; height: 35px; padding: 0; margin-top: -17.5px; border: 0; background: none; cursor: pointer; right: 0; }
.ac-ccar__btn--prev { left: 0; right: auto; transform: rotate(180deg); }
.ac-ccar__btn svg, .ac-ccar__btn img { width: 100%; height: 100%; display: block; }
.ac-ccar__btn:disabled { opacity: .35; cursor: default; }

/* Video con temas */
.ac-vf { display: flex; align-items: center; gap: 76px; width: 100%; }
.ac-vf__topics { flex: 0 0 524px; display: flex; flex-direction: column; gap: 45px; }
.ac-vf__ttl { font-size: 25px; line-height: 32px; letter-spacing: -.5px; color: var(--ac-dark); }
.ac-vf__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 31.1px; }
.ac-vf__list li { display: flex; align-items: center; gap: 16.6px; }
.ac-vf__ico { flex: 0 0 46.7px; height: 46.7px; }
.ac-vf__ico img { width: 100%; height: 100%; }
.ac-vf__txt { display: flex; flex-direction: column; font-family: "Inter", sans-serif; font-size: 15.6px; line-height: 22.8px; color: var(--ac-grey); }
.ac-vf__txt b { font-family: var(--ac-font); font-size: 18.7px; line-height: 23px; color: var(--ac-dark); }
.ac-vf__player { position: relative; flex: 0 0 800px; height: 450px; border-radius: 32px; background: var(--ac-dark); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); overflow: hidden; cursor: pointer; }
.ac-vf__poster { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; opacity: .35; }
.ac-vf__glow { position: absolute; left: 0; top: 0; width: 120px; height: 120px; border-radius: 50%; background: rgba(74,232,205,.2); filter: blur(16px); }
.ac-vf__play { position: absolute; left: 358px; top: 183px; width: 84px; height: 84px; border: 0; border-radius: 50%; background: var(--ac-turq); box-shadow: 0 8px 24px rgba(0,0,0,.2); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: transform .2s ease; }
.ac-vf__player:hover .ac-vf__play { transform: scale(1.06); }
.ac-vf__play svg { width: 28px; height: 28px; margin-left: 4px; }
.ac-vf__time { position: absolute; right: 24px; bottom: 24px; padding: 6px 12px; border-radius: 8px; background: rgba(32,38,44,.8); font-family: "Inter", sans-serif; font-weight: 700; font-size: 14px; line-height: 17px; color: #fff; }
.ac-vf__player.is-playing .ac-vf__play, .ac-vf__player.is-playing .ac-vf__time, .ac-vf__player.is-playing .ac-vf__glow { display: none; }
.ac-vf__player iframe, .ac-vf__player video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Grilla de logos */
.ac-lgrid { display: grid; }
.ac-lgrid__item { height: var(--lg-h); border-radius: var(--lg-r); background: #fff; overflow: hidden; box-shadow: inset 0 0 0 1.3px rgba(38,38,38,.1); }
.ac-lgrid__item img { width: 100%; height: 100% !important; object-fit: contain; }

/* Separador con texto */
.ac-divl { display: flex; align-items: center; gap: 24px; width: 100%; }
.ac-divl span { flex: 1 1 auto; height: 1px; background: rgba(38,38,38,.2); }
.ac-divl p { font-weight: 700; font-size: 13px; line-height: 16px; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(38,38,38,.3); white-space: nowrap; }

/* Preguntas frecuentes */
.ac-faq { margin: 0 auto; width: 100%; font-family: "Roboto", sans-serif; }
.ac-faq__item { border-bottom: 1px solid rgba(38,38,38,.2); padding: 14.2px 0 12.6px; }
.ac-faq__q { display: flex; align-items: center; justify-content: center; gap: 9.6px; width: 100%; padding: 10px 20px; background: none; border: 0; cursor: pointer; font-family: "Roboto", sans-serif !important; font-size: 20.7px; line-height: 16px; color: #8c8c8c; text-align: center; transition: color .2s ease; }
.ac-faq__q:hover, .ac-faq__q[aria-expanded="true"] { color: var(--ac-text); background: none; }
.ac-faq__caret { width: 10px; height: 6px; flex: 0 0 10px; transition: transform .25s ease; }
.ac-faq__q[aria-expanded="true"] .ac-faq__caret { transform: rotate(180deg); }
.ac-faq__a { padding: 11px 9.6px 4px; }
.ac-faq__a p { font-family: "Roboto", sans-serif; font-size: 17px; line-height: 1.5; color: var(--ac-grey); text-align: center; }

/* Franja destacada */
.ac-strip { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 40px; min-height: 212px; padding: 48px 60px; border-radius: 32px; background: var(--ac-dark); overflow: hidden; isolation: isolate; }
.ac-strip__bg { position: absolute; inset: 0; background-size: cover; background-position: center; z-index: -1; }
.ac-strip__txt { max-width: 640px; display: flex; flex-direction: column; gap: 24px; }
.ac-strip__brand { display: flex; align-items: center; gap: 16px; }
.ac-strip__ico { width: 44px; height: 44px; }
.ac-strip__ico img { width: 100%; height: 100%; }
.ac-strip__title { font-weight: 700; font-size: 28px; line-height: 1.22; color: #fff; }
.ac-strip__desc { font-size: 18px; line-height: 24px; color: var(--ac-light); opacity: .9; }
.ac-strip__btn { background: var(--ac-turq); color: var(--ac-text) !important; font-size: 20.97px; line-height: 1.22; padding: 12.25px 25px 9.75px; border-radius: 35.52px; }

/* Barra de características en recuadro */
.ac-feats--boxed { gap: 54px; padding: 15px 32px; border-radius: 25px; box-shadow: inset 0 0 0 1px rgba(38,38,38,.2); min-height: 106.4px; }
.ac-feats--boxed .ac-feat { height: auto; gap: 13.8px; }
.ac-feats--boxed .ac-feat .ac-ico { width: 40.3px; height: 40.3px; }
.ac-feats--boxed .ac-feat p { font-size: 20.7px; line-height: 20.9px; letter-spacing: -.4px; }
.ac-feats--boxed .ac-feats__sep { align-self: center; height: 74.4px; flex-basis: 1px; }

@media (max-width: 1440px) {
	.ac-tl__row { grid-template-columns: 1fr 100px 1fr; }
	.ac-pcards { grid-template-columns: repeat(var(--pc-cols), minmax(0, var(--pc-w))); gap: 40px; }
	.ac-vf__player { flex: 1 1 0%; min-width: 0; height: auto; aspect-ratio: 16 / 9; } /* con flex-basis auto y sin contenido medía 0px */
	.ac-vf__play { left: 50%; top: 50%; transform: translate(-50%, -50%); }
	.ac-vf__player:hover .ac-vf__play { transform: translate(-50%, -50%) scale(1.06); }
	.ac-feats--boxed { gap: 28px; }
}
@media (max-width: 1024px) {
	.ac-tl__row { grid-template-columns: 64px 1fr; }
	.ac-tl__mid { grid-column: 1; grid-row: 1; }
	.ac-tl__side { grid-column: 2; grid-row: 1; }
	.ac-tl__side:empty { display: none; }
	.ac-tl__card { margin: 12px 0; }
	.ac-pcards { grid-template-columns: 1fr; }
	.ac-pcard { max-width: 568px; width: 100%; margin: 0 auto; }
	.ac-vf { flex-direction: column; gap: 40px; }
	.ac-vf__topics { flex-basis: auto; }
	.ac-vf__player { width: 100%; }
	.ac-strip { flex-direction: column; align-items: flex-start; padding: 40px 32px; }
	.ac-lgrid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	.ac-feats--boxed { flex-wrap: wrap; justify-content: center; }
}
@media (max-width: 1024px) {
	/* el widget no debe encogerse al centrar la columna (quedaba con 0px de ancho) */
	.elementor-widget-ac-photo-cards { width: 100%; align-self: stretch; }
}
@media (max-width: 767px) {
	/* en el celular no hay hover: foto arriba y contenido completo debajo */
	.ac-pcard:not(.ac-pcard--cta) { height: auto; min-height: 0; display: flex; flex-direction: column; background: #fff; border-radius: 32px; }
	.ac-pcard__img { position: relative; inset: auto; height: 220px !important; flex: 0 0 auto; }
	.ac-pcard__panel { position: relative; top: auto !important; height: auto; margin-top: -32px; border-radius: 32px; padding: 32px 24px 36px; gap: 24px; }
	.ac-pcard__chev { display: none; }
	.ac-pcard--cta { height: auto; min-height: 0; padding: 48px 24px; }
	.ac-pcards--compact .ac-pcard__panel { padding-top: 32px; gap: 24px; }
	.ac-pcard__desc { margin-top: -8px !important; font-size: 17px; line-height: 1.3; }
	.ac-w .ac-pcard__title { font-size: 24px; line-height: 1.2; }
	.ac-ccar { padding: 0 40px; }
	.ac-ccar__card { flex-basis: calc(100vw - 120px); padding: 28px; }
	.ac-faq__q { font-size: 17px; line-height: 1.3; }
	.ac-lgrid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.ac-card { height: auto; }
}

/* Tarjeta con imagen (caso de éxito) */
.ac-mcard { border-radius: 24px; overflow: hidden; display: flex; flex-direction: column; gap: 24px; height: 100%; }
.ac-mcard__img { position: relative; height: var(--mc-h); background: var(--ac-dark); overflow: hidden; }
.ac-mcard__img img { width: 100%; height: 100% !important; object-fit: cover; }
.ac-mcard__tag { position: absolute; top: 20px; left: 20px; padding: 4px 12px; border-radius: 100px; background: rgba(32,38,44,.87); color: var(--ac-turq); font-family: "Inter", sans-serif; font-weight: 700; font-size: 11px; line-height: 13px; text-transform: uppercase; }
.ac-mcard__txt { display: flex; flex-direction: column; gap: 12px; padding: 0 24px 32px; }
.ac-w .ac-mcard__title { font-size: 28px; line-height: 32px; color: var(--ac-dark); }
.ac-mcard__desc { font-size: 16px; line-height: 24px; color: var(--ac-grey); }
.ac-mcard--right { flex-direction: row; align-items: center; gap: 48px; padding: 48px; border-radius: 32px; }
.ac-mcard--right .ac-mcard__txt { flex: 0 0 656px; padding: 0; gap: 16px; }
.ac-mcard--right .ac-mcard__tag { position: static; align-self: flex-start; background: var(--ac-dark); font-size: 12px; line-height: 15px; }
.ac-mcard--right .ac-w .ac-mcard__title, .ac-mcard--right .ac-mcard__title { line-height: 36px; }
.ac-mcard--right .ac-mcard__img { flex: 1 1 600px; height: 284px; border-radius: 20px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
@media (max-width: 1024px) {
	.ac-mcard--right { flex-direction: column; align-items: stretch; padding: 32px; gap: 32px; }
	.ac-mcard--right .ac-mcard__txt { flex-basis: auto; }
	.ac-mcard--right .ac-mcard__img { flex-basis: auto; height: 240px; }
}

.ac-pcard--cta { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 60px 80px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); }
.ac-w .ac-pcard__ctitle { font-size: 40px; line-height: 45px; color: #fff; }
.ac-pcard__cdesc { margin: 25px 0 60px !important; font-size: 20px; line-height: 25px; color: #fff; }
@media (max-width: 767px) { .ac-pcard--cta { padding: 40px 24px; } .ac-w .ac-pcard__ctitle { font-size: 28px; line-height: 1.15; } }

/* ---------- Tarjetas con foto: impar al final, centrada ---------- */
@media (min-width: 768px) {
	.ac-pcards > .ac-pcard:last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: var(--pc-w); max-width: 100%; }
}

/* ---------- Flujo de proceso ---------- */
.ac-flow { display: flex; align-items: center; justify-content: center; gap: var(--fl-gap, 36px); padding: 20px var(--fl-px, 48px); border-radius: 27px; box-shadow: inset 0 0 0 1.1px rgba(38,38,38,.2); }
.ac-flow__step { display: flex; flex-direction: column; align-items: center; gap: 14.9px; text-align: center; }
.ac-flow__ico { width: 43.6px; height: 43.6px; display: block; }
.ac-flow__ico img, .ac-flow__arrow { display: block; width: 100%; height: 100%; }
.ac-flow__arrow { width: 21.6px; height: 12px; flex: 0 0 auto; }
.ac-flow__txt { font-size: 22.4px; line-height: 22.5px; letter-spacing: -.4px; color: var(--ac-text); }

/* ---------- Tarjetas de módulos (se despliegan) ---------- */
.ac-mods { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: center; gap: var(--md-gap); max-width: calc(var(--md-w) * 3 + var(--md-gap) * 2); margin: 0 auto; }
.ac-mod { position: relative; flex: 0 0 var(--md-w); max-width: 100%; min-height: 135px; padding: 40px; background: #fff; border-radius: 25px; box-shadow: 0 0 40px rgba(0,0,0,.05); outline: 0; }
.ac-mod__head { display: flex; align-items: center; gap: 13px; }
.ac-mod__ico { flex: 0 0 54.9px; width: 54.9px; height: 54.9px; }
.ac-mod__ico img { width: 100%; height: 100%; display: block; }
.ac-w .ac-mod__title { font-size: 21px; line-height: 25px; color: var(--ac-text); }
.ac-mod__more { max-height: 0; overflow: hidden; opacity: 0; transition: max-height .35s ease, opacity .3s ease, margin-top .35s ease; }
.ac-mod:hover .ac-mod__more, .ac-mod:focus .ac-mod__more, .ac-mod:focus-within .ac-mod__more { max-height: 160px; margin-top: 20px; opacity: 1; }
.ac-mod__desc { margin: 0; font-size: 16px; line-height: 19.5px; color: var(--ac-grey); }

/* ---------- Herramientas integradas ---------- */
.ac-tools { display: flex; flex-direction: column; align-items: center; gap: 35px; }
.ac-tools__row { display: flex; flex-wrap: wrap; justify-content: center; gap: 35px; }
.ac-tools__tile { height: 98.5px; display: flex; align-items: center; justify-content: center; gap: 13.9px; padding: 6.8px 20px; background: #fff; border-radius: 17.8px; box-shadow: 0 0 42px rgba(0,0,0,.1); overflow: hidden; }
.ac-tools__tile--logo { padding: 0; }
.ac-tools__tile--logo img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.ac-tools__ico { flex: 0 0 51.1px; width: 51.1px; height: 51.1px; }
.ac-tools__ico img { width: 100%; height: 100%; display: block; }
.ac-tools__txt { font-size: 23.2px; line-height: 20.1px; color: var(--ac-text); }

@media (max-width: 1024px) {
	.ac-flow { flex-wrap: wrap; gap: 24px; padding: 24px; }
	.ac-mods { max-width: 100%; }
	.ac-mod { flex-basis: calc(50% - var(--md-gap) / 2); }
}
@media (max-width: 767px) {
	.ac-flow .ac-flow__arrow { display: none; }
	.ac-flow__step { flex: 0 0 calc(50% - 12px); }
	.ac-mod { flex-basis: 100%; }
	.ac-mod__more { max-height: none; margin-top: 16px; opacity: 1; }
	.ac-tools, .ac-tools__row { gap: 16px; }
	.ac-tools__tile { transform: none; }
	/* 2 logos por fila: el ancho fijo del diseño dejaba una sola columna */
	.ac-tools__row { width: 100%; }
	.ac-tools__tile { width: calc(50% - 8px) !important; height: 78px; box-shadow: 0 0 24px rgba(0,0,0,.08); }
	.ac-tools__tile--logo img { object-fit: contain; }
	.ac-tools__txt { font-size: 18px; }
}
.ac-pcard__btn { align-self: center; padding: 9.5px 24px 6.5px !important; font-size: 17.5px !important; line-height: 1.22 !important; border-radius: 40px !important; margin-top: 24px; }
.ac-pcards--compact .ac-pcard__panel { gap: 32px; padding-top: 52px; }
.ac-pcards--compact .ac-pcard__head { gap: 14px; }
.ac-w.ac-pcards--compact .ac-pcard__title { line-height: 31.2px; }
.ac-pcards--compact .ac-pcard__btn { margin-top: 3px; }
.ac-pcards--compact .ac-pcard__head .ac-pcard__title { padding: 14.6px 0; }

/* ---------- Hero de industrias: tarjeta blanca con el dashboard ---------- */
.ac-dash-card .ac-pw__main { background: #fff; border-radius: 20.8px !important; box-shadow: 0 0 41.7px rgba(0,0,0,.1); }
.ac-dash-card .ac-pw__main + .ac-pw__item { border-radius: 20.8px; overflow: hidden; }

/* ---------- FAQ en recuadro (página Preguntas Frecuentes) ---------- */
.ac-faq--panel, .ac-faq--panel-sm { font-family: var(--ac-font); background: #fff; border-radius: 24px; box-shadow: inset 0 0 0 1px #e5e7eb; overflow: hidden; }
.ac-faq--panel .ac-faq__item, .ac-faq--panel-sm .ac-faq__item { border-bottom: 1px solid #e5e7eb; padding: 0; }
.ac-faq--panel .ac-faq__item:last-child, .ac-faq--panel-sm .ac-faq__item:last-child { border-bottom: 0; }
.ac-faq--panel .ac-faq__q, .ac-faq--panel-sm .ac-faq__q { justify-content: space-between; text-align: left; gap: 24px; min-height: 80px; padding: 24px 32px; font-family: var(--ac-font) !important; font-size: 18px; line-height: 28px; color: var(--ac-text); }
.ac-faq--panel-sm .ac-faq__q { min-height: 72px; padding: 20px 24px; font-size: 17px; line-height: 22px; }
.ac-faq__plus { flex: 0 0 32px; width: 32px; height: 32px; border-radius: 16px; background: rgba(74,232,205,.2); display: flex; align-items: center; justify-content: center; transition: transform .25s ease; }
.ac-faq__plus svg { width: 16px; height: 16px; }
.ac-faq__q[aria-expanded="true"] .ac-faq__plus { transform: rotate(45deg); }
.ac-faq--panel .ac-faq__a, .ac-faq--panel-sm .ac-faq__a { padding: 0 88px 24px 32px; margin-top: -10px; }
.ac-faq--panel-sm .ac-faq__a { padding: 0 24px 20px; }
.ac-faq--panel .ac-faq__a p, .ac-faq--panel-sm .ac-faq__a p { font-family: var(--ac-font); font-size: 17px; line-height: 22px; color: #505050; text-align: left; margin: 0; }
@media (max-width: 767px) { .ac-faq--panel .ac-faq__q { padding: 20px; font-size: 17px; line-height: 24px; } .ac-faq--panel .ac-faq__a { padding: 0 20px 20px; } }

/* ---------- Datos de contacto + mapa ---------- */
.ac-ccard { display: flex; flex-direction: column; gap: 40px; }
.ac-ccard__box { background: #fff; border-radius: 24px; box-shadow: 0 0 40px rgba(0,0,0,.05); padding: 32px; display: flex; flex-direction: column; gap: 24px; }
.ac-w .ac-ccard__title { font-size: 28px; line-height: 34px; font-weight: 700; color: var(--ac-text); }
.ac-ccard ul { list-style: none; margin: 0; padding: 0; }
.ac-ccard__list { display: flex; flex-direction: column; gap: 20px; }
.ac-ccard__list li { display: flex; align-items: center; gap: 16px; font-size: 16px; line-height: 24px; color: var(--ac-text); }
.ac-ccard__list a { color: inherit; }
.ac-ccard__ico { flex: 0 0 44px; width: 44px; height: 44px; }
.ac-ccard__ico img { width: 100%; height: 100%; display: block; }
.ac-ccard__hours { border-top: 1px solid #e5e7eb; border-bottom: 1px solid #e5e7eb; padding: 24px 0; display: flex; flex-direction: column; gap: 16px; }
.ac-w.ac-ccard h4 { margin: 0; font-size: 22px; line-height: 27px; font-weight: 700; color: var(--ac-text); }
.ac-ccard__hours ul { display: flex; flex-direction: column; gap: 5px; }
.ac-ccard__hours li { font-size: 16px; line-height: 24px; color: var(--ac-text); padding-left: 16px; position: relative; }
.ac-ccard__hours li::before { content: '•'; position: absolute; left: 3px; }
.ac-ccard__social { display: flex; flex-direction: column; gap: 16px; }
.ac-ccard__social > div { display: flex; gap: 16px; }
.ac-ccard__soc { width: 48px; height: 48px; border-radius: 24px; background: #262626; display: flex; align-items: center; justify-content: center; transition: background .2s ease; }
.ac-ccard__soc:hover { background: var(--ac-dark); }
.ac-ccard__soc img { width: 22px; height: 22px; display: block; }
.ac-ccard__map { background: #f3f4f6; border-radius: 24px; box-shadow: inset 0 0 0 1px #d9e2e6; padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.ac-ccard__maphead { display: flex; justify-content: space-between; align-items: center; }
.ac-w .ac-ccard__maphead h4 { font-size: 20px; line-height: 24px; }
.ac-ccard__maphead img { width: 20px; height: 20px; }
.ac-ccard__maparea { height: 266px; border-radius: 16px; overflow: hidden; background: #e5e7eb; }
.ac-ccard__maparea iframe { width: 100%; height: 100%; border: 0; display: block; }

/* ---------- Comunidad ---------- */
.ac-comm__bar { display: flex; align-items: center; justify-content: space-between; gap: 40px; margin-bottom: 60px; }
.ac-comm__pills { display: flex; flex-wrap: wrap; gap: 12px; }
.ac-comm__pill { padding: 11px 22px !important; border-radius: 44px !important; border: 0 !important; background: none !important; box-shadow: inset 0 0 0 1px rgba(38,38,38,.13); font-family: var(--ac-font) !important; font-size: 17px !important; line-height: 21px !important; font-weight: 400 !important; color: var(--ac-grey) !important; cursor: pointer; transition: background .2s ease, color .2s ease; }
.ac-comm__pill:hover { color: var(--ac-text) !important; }
.ac-comm__pill.is-active { background: var(--ac-turq) !important; box-shadow: none; font-weight: 700 !important; color: var(--ac-text) !important; }
.ac-comm__search { flex: 0 0 137px; display: flex; align-items: center; gap: 10px; height: 40px; padding-right: 18px; border-bottom: 1px solid rgba(38,38,38,.13); }
.ac-comm__search svg { flex: 0 0 18px; width: 18px; height: 18px; }
.ac-comm__search input { width: 100%; min-width: 0; border: 0 !important; background: none !important; padding: 0 !important; box-shadow: none !important; font-family: var(--ac-font); font-size: 17px; color: var(--ac-text); outline: 0; }
.ac-comm__search input::placeholder { color: var(--ac-grey); opacity: 1; }
.ac-comm__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 35px; }
.ac-comm__card { display: flex; flex-direction: column; justify-content: space-between; min-height: 467px; background: #fff; border-radius: 25px; box-shadow: 0 0 40px rgba(0,0,0,.1); overflow: hidden; }
.ac-comm__card[hidden] { display: none; }
.ac-comm__link { display: block; color: inherit; }
.ac-comm__img { position: relative; height: 220px; overflow: hidden; background: #eef1f2; }
.ac-comm__img img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .5s ease; }
.ac-comm__card:hover .ac-comm__img img { transform: scale(1.04); }
.ac-comm__badge { position: absolute; top: 17px; left: 17px; padding: 6px 14px; border-radius: 30px; background: var(--ac-turq); font-size: 13px; line-height: 16px; font-weight: 700; color: var(--ac-text); }
.ac-comm__body { padding: 30px 35px; display: flex; flex-direction: column; gap: 14px; }
.ac-w .ac-comm__title { font-size: 21px; line-height: 26px; font-weight: 700; color: var(--ac-text); }
.ac-comm__desc { margin: 0; font-size: 16px; line-height: 21px; color: var(--ac-grey); }
.ac-comm__foot { display: flex; justify-content: space-between; align-items: center; padding: 20px 35px; border-top: 1px solid rgba(38,38,38,.08); font-size: 15px; line-height: 18px; color: var(--ac-grey); }
.ac-comm__foot b { color: var(--ac-text); }
.ac-comm__like { display: flex; align-items: center; gap: 7px; padding: 0 !important; border: 0 !important; background: none !important; cursor: pointer; font-family: var(--ac-font) !important; font-size: 15px !important; font-weight: 700 !important; color: var(--ac-text) !important; }
.ac-comm__like svg { width: 16px; height: 16px; transition: transform .2s ease; }
.ac-comm__like:hover svg { transform: scale(1.15); }
.ac-comm__like.is-liked path { fill: var(--ac-turq); }
.ac-comm__empty { margin: 40px 0 0; text-align: center; font-size: 18px; color: var(--ac-grey); }
@media (max-width: 1024px) {
	.ac-comm__bar { flex-direction: column; align-items: stretch; gap: 24px; }
	.ac-comm__search { flex-basis: auto; }
	.ac-comm__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
}
@media (max-width: 767px) {
	.ac-comm__pills { flex-wrap: nowrap; overflow-x: auto; margin: 0 -20px; padding: 0 20px 4px; }
	.ac-comm__pill { flex: 0 0 auto; }
	.ac-comm__grid { grid-template-columns: 1fr; }
	.ac-comm__card { min-height: 0; }
}

/* ---------- Formulario "Trabaja con nosotros": campo de CV como zona para soltar el archivo ---------- */
.ac-cv-form .elementor-field-type-upload { position: relative; }
.ac-cv-form .elementor-field-type-upload .elementor-upload-field { position: relative; z-index: 2; width: 100%; height: 113px; opacity: 0; cursor: pointer; }
.ac-cv-form .elementor-field-type-upload::after {
	content: attr(data-ac-file); position: absolute; left: 0; right: 0; bottom: 0; height: 113px; box-sizing: border-box; padding: 64px 24px 0;
	border: 1px solid #d1d5db; border-radius: 8px; background: #fff url(../img/upload-cloud.svg) center 32px / 24px 24px no-repeat;
	font-family: var(--ac-font); font-size: 14px; line-height: 17px; color: var(--ac-grey); text-align: center; pointer-events: none;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: border-color .2s ease;
}
.ac-cv-form .elementor-field-type-upload.is-drag::after, .ac-cv-form .elementor-field-type-upload:hover::after { border-color: var(--ac-turq); }
.ac-cv-form .elementor-field-type-upload.has-file::after { color: var(--ac-text); }

/* ---------- Nosotros: línea de tiempo por años ---------- */
.ac-hist { display: flex; flex-direction: column; gap: 64px; }
.ac-hist__panel { display: flex; align-items: center; gap: 24px; min-height: 361px; padding: 50px; background: #fff; border-radius: 30px; box-shadow: 0 6px 40px rgba(0,0,0,.07); }
.ac-hist__panel[hidden] { display: none; }
.ac-hist__panel.is-active { animation: acHistIn .45s ease; }
@keyframes acHistIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.ac-hist__content { flex: 1 1 auto; display: flex; flex-direction: column; gap: 25px; max-width: 701px; }
.ac-hist__ico { width: 48px; height: 48px; border-radius: 16px; background: #e0f5f1; display: flex; align-items: center; justify-content: center; }
.ac-hist__ico img { width: 24px; height: 24px; }
.ac-hist__txt { display: flex; flex-direction: column; gap: 12px; }
.ac-w .ac-hist__title { font-family: "Geist", var(--ac-font); font-size: 24px; line-height: 31.2px; font-weight: 700; color: var(--ac-text); }
.ac-hist__desc { margin: 0; max-width: 597px; font-family: "Geist", var(--ac-font); font-size: 15px; line-height: 24px; color: #64748b; }
.ac-hist__img { flex: 0 0 575px; height: 261px; margin-left: auto; border-radius: 30px; overflow: hidden; }
.ac-hist__img img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.ac-hist__years { position: relative; display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.ac-hist__years::before { content: ''; position: absolute; left: 50%; top: 21px; width: 434px; max-width: 100%; height: 1px; transform: translateX(-50%); background: rgba(38,38,38,.2); z-index: 0; }
.ac-hist__year { position: relative; z-index: 1; padding: 10px 18px !important; border-radius: 20px !important; border: 0 !important; background: #fff !important; box-shadow: inset 0 0 0 1.2px rgba(38,38,38,.2); font-family: "Geist", var(--ac-font) !important; font-size: 18px !important; line-height: 22px !important; font-weight: 400 !important; color: var(--ac-grey) !important; cursor: pointer; transition: background .2s ease, color .2s ease; }
.ac-hist__year:hover { color: var(--ac-text) !important; }
.ac-hist__year.is-active { background: var(--ac-turq) !important; box-shadow: none; font-weight: 700 !important; color: var(--ac-text) !important; }
@media (max-width: 1024px) {
	.ac-hist__panel { flex-direction: column-reverse; align-items: stretch; padding: 32px; }
	.ac-hist__img { flex-basis: auto; width: 100%; margin: 0; height: 240px; }
	.ac-hist { gap: 32px; }
}
@media (max-width: 767px) {
	.ac-hist__years { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin: 0 -20px; padding: 0 20px 4px; }
	.ac-hist__years::before { display: none; }
	.ac-hist__year { flex: 0 0 auto; }
	.ac-hist__panel { padding: 24px; min-height: 0; }
}

/* ---------- Nosotros: testimonios en tarjetas ---------- */
.ac-ccar.ac-revs { width: 100%; padding: 0; }
.ac-revs .ac-ccar__track { gap: 32px; }
.ac-revs .ac-ccar__vp { padding: 0; margin: 0; }
.ac-ccar__card.ac-rev { flex: 0 0 calc((100% - 64px) / 3); min-height: 320px; margin: 0; padding: 40px; gap: 32px; border-radius: 24px; box-shadow: inset 0 0 0 1px rgba(38,38,38,.1); }
.ac-rev__who { display: flex; align-items: center; gap: 16px; }
.ac-rev__photo { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 28px; overflow: hidden; box-shadow: inset 0 0 0 1px #e6e6e6; background: #fff; }
.ac-rev__photo img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.ac-rev__id { display: flex; flex-direction: column; gap: 4px; }
.ac-rev__id b { font-family: "Outfit", var(--ac-font); font-size: 16px; line-height: 20px; font-weight: 700; color: #1a1a1a; }
.ac-rev__id small { font-family: "Inter", sans-serif; font-size: 13px; line-height: 16px; color: #8f9ca3; }
.ac-rev__quote { margin: 0; padding: 0; border: 0; font-family: "Inter", sans-serif; font-size: 16px; line-height: 26px; font-style: italic; color: #1a1a1a; }
.ac-rev__stars { display: flex; gap: 4px; margin-top: auto; }
.ac-rev__stars svg { width: 16px; height: 16px; }
.ac-revs__nav { display: flex; justify-content: center; gap: 8.7px; margin-top: 50px; }
.ac-revs .ac-ccar__btn { position: static; margin: 0; width: 38.2px; height: 38.2px; }
.ac-revs .ac-ccar__btn--prev { transform: rotate(180deg); }
@media (max-width: 1024px) { .ac-ccar__card.ac-rev { flex-basis: calc((100% - 32px) / 2); } }
@media (max-width: 767px) { .ac-ccar__card.ac-rev { flex-basis: 100%; padding: 28px; } }

/* ==========================================================================
   HOVERS según las variantes de los componentes del Figma (página "z")
   ========================================================================== */
.ac-newscard { transition: transform .3s ease, box-shadow .3s ease; }

/* Recuadros "vidrio" sobre fondo oscuro (+20 años, Tecnología uruguaya, Customizable, Innovación, Soporte):
   fondo blanco, texto oscuro y la caja del icono pasa a #262626 sin borde */
.ac-tray__glass, .ac-card--glass, .ac-glass-hover { transition: background-color .25s ease, box-shadow .25s ease, border-color .25s ease; }
.ac-tray__glass:hover, .ac-card--glass:hover, .ac-glass-hover:hover { background: #fff; border-color: #fff; box-shadow: none; }
.ac-tray__glass:hover p, .ac-tray__glass:hover p *, .ac-card--glass:hover .ac-card__title,
.ac-glass-hover:hover .elementor-heading-title, .ac-glass-hover:hover .elementor-widget-text-editor, .ac-glass-hover:hover .elementor-widget-text-editor * { color: var(--ac-text) !important; }
.ac-card--glass:hover .ac-card__desc { color: var(--ac-grey); }
.ac-tray__glass:hover .ac-ico svg > rect:first-of-type, .ac-card--glass:hover .ac-ico svg > rect:first-of-type,
.ac-tray__glass:hover .ac-ico svg > g > path:first-child, .ac-card--glass:hover .ac-ico svg > g > path:first-child,
.ac-glass-hover:hover .ac-ico svg > rect:first-of-type, .ac-glass-hover:hover .ac-ico svg > g > path:first-child,
.ac-glass-hover:hover .elementor-icon svg > rect:first-of-type, .ac-glass-hover:hover .elementor-icon svg > g > path:first-child { fill: #262626; fill-opacity: 1; }
.ac-tray__glass:hover .ac-ico svg > rect:nth-of-type(2), .ac-card--glass:hover .ac-ico svg > rect:nth-of-type(2),
.ac-tray__glass:hover .ac-ico svg > g > path:first-child + g[clip-path] > path, .ac-card--glass:hover .ac-ico svg > g > path:first-child + g[clip-path] > path,
.ac-glass-hover:hover .ac-ico svg > rect:nth-of-type(2), .ac-glass-hover:hover .ac-ico svg > g > path:first-child + g[clip-path] > path,
.ac-glass-hover:hover .elementor-icon svg > g > path:first-child + g[clip-path] > path { stroke: transparent; }
.ac-glass-hover .elementor-icon svg path { transition: fill .25s ease, stroke .25s ease; }
.ac-ico svg rect, .ac-ico svg path { transition: fill .25s ease, stroke .25s ease; }

/* Tarjeta de estadística (98% de respuestas efectivas): borde turquesa y el ícono se invierte */
.ac-stat { transition: box-shadow .25s ease; }
.ac-stat:hover { box-shadow: 0 0 50px rgba(0,0,0,.15), inset 0 0 0 1.6px var(--ac-turq); }
.ac-stat:hover .ac-ico svg > rect:first-of-type, .ac-stat:hover .ac-ico svg > g > path:first-child { fill: var(--ac-turq); fill-opacity: 1; }
.ac-stat:hover .ac-ico svg > rect:nth-of-type(2), .ac-stat:hover .ac-ico svg > g > path:first-child + g[clip-path] > path { stroke: transparent; }
.ac-stat:hover .ac-ico svg path[stroke="#ffffff"], .ac-stat:hover .ac-ico svg path[stroke="white"], .ac-stat:hover .ac-ico svg path[stroke="#FFFFFF"] { stroke: #262626; }

/* Pasos numerados "Registrá / Actualizá / Administrá…" (recuadro con borde): fondo #eef1f2 sin borde */
.ac-card--outline { transition: background-color .25s ease, box-shadow .25s ease; }
.ac-card--outline:hover { background: #eef1f2; box-shadow: none; }

/* Carruseles "Para quién está pensada": borde turquesa y la flecha del enlace gira de ↗ a → */
.ac-ccar__card { transition: box-shadow .25s ease; }
.ac-ccar__card:hover { box-shadow: 0 0 40px rgba(0,0,0,.05), inset 0 0 0 1.5px var(--ac-turq); }
.ac-ccar__card.ac-rev:hover { box-shadow: inset 0 0 0 1px rgba(38,38,38,.1); }
.ac-ccar__link img { transition: transform .25s ease; }
.ac-ccar__card:hover .ac-ccar__link img { transform: rotate(45deg); }
/* Flechas del carrusel: círculo relleno gris oscuro 50% y chevron blanco */
.ac-ccar__btn { border-radius: 50%; }
.ac-ccar__ring, .ac-ccar__chev { transition: fill .2s ease, stroke .2s ease, stroke-opacity .2s ease; }
.ac-ccar__btn:not(:disabled):hover .ac-ccar__ring { fill: rgba(38,38,38,.5); stroke-opacity: 0; }
.ac-ccar__btn:not(:disabled):hover .ac-ccar__chev { stroke: #fff; stroke-opacity: 1; stroke-width: 1.5; }

/* Tarjetas con foto desplegables: borde turquesa de 3px */
.ac-pcard::after { content: ''; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 3px var(--ac-turq); opacity: 0; transition: opacity .25s ease; pointer-events: none; z-index: 3; }
.ac-pcard:hover::after, .ac-pcard:focus-within::after { opacity: 1; }

/* FAQ en recuadro: el "+" se intensifica */
.ac-faq__q:hover .ac-faq__plus { background: rgba(74,232,205,.7); }

/* Línea de tiempo: año no seleccionado en hover */
.ac-hist__year:not(.is-active):hover { background: #ccc !important; box-shadow: none; color: #808080 !important; }

/* Enlace de texto con flecha ("Conocé cómo podemos ayudarte ↗") */
.ac-tlink .elementor-heading-title, .ac-tlink img { transition: color .2s ease, transform .25s ease, filter .2s ease; }
.ac-tlink:hover .elementor-heading-title, .ac-tlink:hover .elementor-heading-title a { color: #3f4245 !important; }
.ac-tlink:hover img { transform: rotate(45deg); filter: brightness(.6); }

/* ---------- Barra de funcionalidades en el celular: grilla de 2 columnas compacta ---------- */
@media (max-width: 767px) {
	.ac-feats--boxed { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; padding: 20px; }
	.ac-feats--boxed .ac-feat { padding: 8px 0; gap: 10px; }
	.ac-feats--boxed .ac-feat .ac-ico { flex: 0 0 36px; width: 36px; height: 36px; }
	.ac-feats--boxed .ac-feat p { font-size: 17px; line-height: 1.15; white-space: normal; }
}

/* ---------- Ondas de transición: en el celular no se ven como curva y tapaban el inicio de la sección siguiente ---------- */
@media (max-width: 767px) {
	.elementor-widget-ac-wave { display: none; }
}

/* ---------- Tarjeta de dashboard del hero (Industrias): su contenedor flex se colapsaba a 0px en pantallas chicas ---------- */
@media (max-width: 1024px) {
	/* con aspect-ratio y sin ancho definido, el widget de fotos medía 0px dentro de columnas flex */
	.elementor-widget-ac-photo-widgets { width: 100%; }
	.e-con:has(> .elementor-widget.ac-dash-card) { display: block !important; }
	.elementor-widget.ac-dash-card { margin-bottom: 40px; }
}

/* ---------- Filas desplazables (categorías de Comunidad, años de la historia): sin barra de scroll visible ---------- */
.ac-comm__pills, .ac-hist__years { scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.ac-comm__pills::-webkit-scrollbar, .ac-hist__years::-webkit-scrollbar { display: none; }
@media (max-width: 767px) {
	.ac-comm__pills, .ac-hist__years { margin-right: -30px; padding-right: 30px; }
}
@media (max-width: 767px) {
	/* texto de la zona de carga del CV en dos líneas en lugar de cortarse */
	.ac-cv-form .elementor-field-type-upload::after { white-space: normal; padding: 60px 20px 0; }
}

/* ---------- Celular: textos cortos en una sola línea ---------- */
@media (max-width: 767px) {
	/* etiquetas de las tarjetas con foto: lista a todo el ancho, texto más chico para que entren en una línea */
	.ac-pcard__chips { flex-direction: column; align-items: stretch; gap: 8px; width: 100%; }
	.ac-pcard__chips .ac-chip--sm { justify-content: flex-start; text-align: left; font-size: 14px; padding: 7px 10px; gap: 6px; }
	.ac-pcard__panel { padding-left: 16px; padding-right: 16px; }
}
@media (max-width: 480px) {
	/* barra de funcionalidades del hero: una columna, cada ítem en una línea */
	.ac-feats--boxed { grid-template-columns: 1fr; gap: 4px; }
	.ac-feats--boxed .ac-feat p { white-space: nowrap; }
}
@media (max-width: 480px) {
	/* etiquetas de las tarjetas oscuras (integraciones): en lista, una por línea */
	.ac-card--dark .ac-card__chips { flex-direction: column; align-items: flex-start; gap: 8px; }
	.ac-card--dark .ac-chip { white-space: nowrap; font-size: 13px; }
}
@media (max-width: 400px) {
	.ac-pcard__chips .ac-chip--sm { font-size: 13px; padding: 7px 8px; }
	.ac-pcard__chips .ac-chip--sm::before { font-size: 12px; }
	.ac-pcard__panel { padding-left: 12px; padding-right: 12px; }
}

/* ---------- Flujo de proceso: íconos alineados arriba, flecha a la altura del ícono, etiqueta en una línea ---------- */
@media (min-width: 768px) {
	.ac-flow { align-items: flex-start; }
	.ac-flow .ac-flow__arrow { align-self: flex-start; margin-top: 15.8px; }
	.ac-flow__txt { white-space: nowrap; }
	.ac-flow__txt br { display: none; }
	/* 7 u 8 pasos no entran en una fila: 2 filas de 4, sin la flecha que cerraba la primera fila */
	.ac-flow:has(> .ac-flow__step:nth-of-type(7)) {
		display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; justify-items: center; row-gap: 36px; column-gap: 24px; padding: 32px 48px; width: 100%; max-width: 1100px; margin: 0 auto; box-sizing: border-box;
	}
	.ac-flow:has(> .ac-flow__step:nth-of-type(7)) > .ac-flow__arrow:nth-of-type(4) { display: none; }
}
@media (min-width: 768px) {
	/* mismo ancho en todas las páginas de Industrias (el widget se ajustaba al largo de las etiquetas) */
	.elementor-widget:has(> .elementor-widget-container > .ac-flow > .ac-flow__step:nth-of-type(7)) { width: 100%; }
}

/* Insignias (hero, indicadores de casos de éxito): el texto quedaba ~2px más alto que el ícono; se centra por la altura de las mayúsculas */
.ac-badge > span { position: relative; top: .14em; }

/* ---------- Preguntas frecuentes de Soluciones e Industrias: 2 columnas en escritorio (una sola columna centrada ocupaba demasiado alto) ---------- */
@media (min-width: 1025px) {
	.ac-faq:not(.ac-faq--panel):not(.ac-faq--panel-sm) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 64px; align-items: start; max-width: 1240px !important; }
	.ac-faq:not(.ac-faq--panel):not(.ac-faq--panel-sm) .ac-faq__q { justify-content: space-between; text-align: left; padding: 10px 4px; line-height: 1.3; gap: 24px; }
	.ac-faq:not(.ac-faq--panel):not(.ac-faq--panel-sm) .ac-faq__a { padding: 8px 4px 6px; }
	.ac-faq:not(.ac-faq--panel):not(.ac-faq--panel-sm) .ac-faq__a p { text-align: left; }
}

/* ---------- Carrusel de tarjetas: la sombra se cortaba en los bordes del área visible ----------
   Se recorta 28px por fuera del área (menos que el espacio de 30px entre tarjetas, así no asoma la siguiente). */
.ac-ccar__vp { overflow: clip; overflow-clip-margin: 28px; }

/* ---------- Carrusel de tarjetas: las tarjetas se adaptan para que siempre entren 3 (escritorio) o 2 (tablet) sin huecos ---------- */
@media (min-width: 1025px) and (max-width: 1440px) { .ac-ccar:not(.ac-revs) .ac-ccar__card { flex-basis: calc((100% - 60px) / 3); } }
@media (min-width: 768px) and (max-width: 1024px) { .ac-ccar:not(.ac-revs) .ac-ccar__card { flex-basis: calc((100% - 30px) / 2); } }

/* Video con temas: el widget se encogía al ancho de la lista y el reproductor quedaba en 0px entre 1025 y 1440px */
.elementor-widget:has(> .elementor-widget-container > .ac-vf) { width: 100%; align-self: stretch; }
@media (min-width: 1025px) and (max-width: 1280px) { .ac-vf { gap: 48px; } .ac-vf__topics { flex: 0 1 420px; } }
