/* ==========================================================================
   Grupró Core — tokens y componentes de los inmuebles
   Colores canónicos: rellenos vectoriales del PSD "GRUPRO_Home Grupo 4".
   El acento (--grupro-accent) y el fondo suave (--grupro-soft) los inyecta el
   plugin según GRUPRO_SITE. Si Elementor define Global Colors con estos mismos
   nombres, basta con mapearlos aquí.
   ========================================================================== */

:root {
  --grupro-navy:        #2b3c4e;   /* texto, barras, footer, botones oscuros */
  --grupro-navy-bar:    #1d394e;   /* subnav/footer tal como renderiza el Marvel */
  --grupro-accent:      #b4cbe4;   /* inmobiliaria por defecto; suelo #b29c60; inversión #798b81 */
  --grupro-soft:        #eef5fb;   /* fondos suaves: inmo #eef5fb · suelo #f2ece0 · inversión #e3e9e7 */
  --grupro-hero:        #dbdfe2;
  --grupro-grey:        #b6b6b6;
  --grupro-grey-light:  #ececec;
  --grupro-text-2:      #555555;
  --grupro-white:       #ffffff;

  /* Tipografía (decisión 02/10/2026): Figtree cuerpo · PT Serif títulos · Cinzel solo H1 de hero */
  --grupro-font-body:   "Figtree", system-ui, sans-serif;
  --grupro-font-title:  "PT Serif", Georgia, serif;
  --grupro-font-hero:   "Cinzel", "PT Serif", serif;

  --grupro-container:   1440px;
  --grupro-gutter:      clamp(16px, 4vw, 64px);
  --grupro-radius:      24px;
  --grupro-dot:         34px;
}

/* Acento por site (por si el inline style no está, p. ej. en el editor de Elementor) */
.grupro-site-inmobiliaria { --grupro-accent: #b4cbe4; --grupro-soft: #eef5fb; }
.grupro-site-suelo_prom   { --grupro-accent: #b29c60; --grupro-soft: #f2ece0; }
.grupro-site-inversiones  { --grupro-accent: #798b81; --grupro-soft: #e3e9e7; }

.grupro-container { max-width: var(--grupro-container); margin: 0 auto; padding: 0 var(--grupro-gutter); }

/* ---------- Tipos ---------- */
.grupro-h2, .grupro-ficha__h2, .grupro-featured__title, .grupro-card__title, .grupro-caso__title,
.grupro-banda__title, .grupro-formcard__title, .grupro-persona__name {
  font-family: var(--grupro-font-title); font-weight: 400; color: var(--grupro-navy); line-height: 1.15; margin: 0;
}
.grupro-h2 { font-size: clamp(28px, 3.2vw, 46px); text-align: center; margin-bottom: 40px; }
.grupro-eyebrow { font-family: var(--grupro-font-body); font-weight: 500; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; color: var(--grupro-accent); margin: 0 0 12px; }
.grupro-site-inmobiliaria .grupro-eyebrow { color: #7fa6c9; } /* el azul claro no contrasta en blanco */
.grupro-prose, .grupro-card__excerpt, .grupro-card__loc, .grupro-featured__excerpt, .grupro-caso__list, .grupro-caract {
  font-family: var(--grupro-font-body); font-weight: 300; color: var(--grupro-navy); font-size: 17px; line-height: 1.6;
}

/* ---------- Botones ---------- */
.grupro-btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 26px; border-radius: 999px; font-family: var(--grupro-font-body); font-weight: 600; font-size: 15px; text-decoration: none; border: 1.5px solid transparent; cursor: pointer; transition: transform .15s, filter .15s; }
.grupro-btn:hover { transform: translateY(-1px); filter: brightness(.96); }
/* Colores fijados también en :hover/:focus para que el color de enlace en hover de Elementor (a:hover) no los pise */
a.grupro-btn--accent, a.grupro-btn--accent:hover, a.grupro-btn--accent:focus, .grupro-btn--accent { background: var(--grupro-accent); color: var(--grupro-navy); }
.grupro-site-suelo_prom a.grupro-btn--accent, .grupro-site-suelo_prom a.grupro-btn--accent:hover, .grupro-site-inversiones a.grupro-btn--accent, .grupro-site-inversiones a.grupro-btn--accent:hover { color: var(--grupro-white); }
a.grupro-btn--navy, a.grupro-btn--navy:hover, a.grupro-btn--navy:focus, .grupro-btn--navy { background: var(--grupro-navy); color: var(--grupro-white); }
a.grupro-btn--outline, a.grupro-btn--outline:hover, a.grupro-btn--outline:focus, .grupro-btn--outline { background: var(--grupro-white); color: var(--grupro-navy); border-color: var(--grupro-navy); }
.grupro-site-suelo_prom .grupro-banda a.grupro-btn--navy, .grupro-site-suelo_prom .grupro-banda a.grupro-btn--navy:hover { background: transparent; border-color: var(--grupro-navy); color: var(--grupro-navy); }
.grupro-card__title a:hover, .grupro-featured__title a:hover { color: var(--grupro-navy); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.grupro-float:hover, .grupro-float:focus { color: var(--grupro-navy); }
.grupro-site-suelo_prom .grupro-float:hover, .grupro-site-inversiones .grupro-float:hover { color: var(--grupro-white); }
.grupro-icon { width: 1.1em; height: 1.1em; }

/* ---------- Badges ---------- */
.grupro-badge { display: inline-block; font: 600 12px/1 var(--grupro-font-body); letter-spacing: .04em; text-transform: uppercase; color: var(--grupro-white); background: var(--grupro-navy); padding: 6px 10px; border-radius: 4px; margin: 0 6px 10px 0; }
.grupro-badge--etiqueta { background: var(--grupro-accent); color: var(--grupro-navy); }

/* ---------- Dots ---------- */
.grupro-dots { display: flex; gap: 10px; list-style: none; margin: 0 0 22px; padding: 0; }
.grupro-dot { display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: var(--grupro-dot); }
.grupro-dot__circle { width: var(--grupro-dot); height: var(--grupro-dot); border-radius: 50%; background: var(--grupro-accent); color: var(--grupro-navy); display: grid; place-items: center; }
.grupro-dot__circle .grupro-icon { width: 18px; height: 18px; }
.grupro-dot__value { font: 400 12px/1 var(--grupro-font-body); color: var(--grupro-navy); white-space: nowrap; }
.grupro-dots--navy .grupro-dot__circle { background: var(--grupro-navy); color: var(--grupro-white); }
.grupro-site-suelo_prom .grupro-dot__circle, .grupro-site-inversiones .grupro-dot__circle { color: var(--grupro-white); }

/* ---------- Tarjeta fila (home / directorio) ---------- */
.grupro-directorio--filas { display: flex; flex-direction: column; }
.grupro-card--fila { display: grid; grid-template-columns: 1fr 1fr; min-height: 400px; }
.grupro-card--fila.grupro-card--reverse .grupro-card__body { order: 2; }
.grupro-card--fila .grupro-card__body { padding: clamp(32px, 5vw, 80px) var(--grupro-gutter); display: flex; flex-direction: column; justify-content: center; }
.grupro-card--fila .grupro-card__media { display: block; position: relative; min-height: 400px; background: var(--grupro-grey); }
.grupro-card--fila .grupro-card__media img, .grupro-card--fila .grupro-card__media .grupro-placeholder { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.grupro-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.grupro-placeholder { width: 100%; height: 100%; min-height: 240px; background: var(--grupro-grey); }
.grupro-card__title { font-size: clamp(22px, 2vw, 30px); margin-bottom: 8px; }
.grupro-card__title a { color: inherit; text-decoration: none; }
.grupro-card__loc { font-weight: 400; font-size: 15px; letter-spacing: .02em; margin: 0 0 18px; color: var(--grupro-navy); }
.grupro-card--grid .grupro-card__loc { color: var(--grupro-grey); }
.grupro-card__excerpt { font-size: 15px; margin: 0 0 28px; max-width: 48ch; }
.grupro-card__footer { display: flex; align-items: center; gap: 28px; }
.grupro-card__price { font-family: var(--grupro-font-title); font-size: 26px; color: var(--grupro-navy); }

/* ---------- Tarjeta grid (relacionados) ---------- */
.grupro-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; }
.grupro-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.grupro-card--grid .grupro-card__media { position: relative; display: block; aspect-ratio: 4/3; background: var(--grupro-grey); overflow: hidden; }
.grupro-card__price-badge { position: absolute; right: 0; bottom: 0; background: var(--grupro-navy); color: var(--grupro-white); font-family: var(--grupro-font-title); font-size: 26px; padding: 10px 24px; border-top-left-radius: 28px; }
.grupro-card--grid .grupro-card__body { padding-top: 18px; }
.grupro-card--grid .grupro-card__title { font-size: 24px; }

/* ---------- Destacados ---------- */
.grupro-featured { display: grid; grid-template-columns: 1fr 1fr; min-height: 500px; }
.grupro-featured__body { padding: clamp(32px, 5vw, 90px) var(--grupro-gutter); display: flex; flex-direction: column; justify-content: center; }
.grupro-featured__title { font-size: clamp(30px, 3vw, 44px); margin-bottom: 18px; }
.grupro-featured__title a { color: inherit; text-decoration: none; }
.grupro-featured__sub { font: 600 18px var(--grupro-font-body); color: var(--grupro-navy); margin: 0 0 18px; }
.grupro-featured__excerpt { font-size: 15px; max-width: 46ch; margin: 0 0 36px; }
.grupro-featured__media { display: block; position: relative; min-height: 500px; background: var(--grupro-grey); }
.grupro-featured__media img, .grupro-featured__media .grupro-placeholder { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- Slider genérico (destacados, casos, equipo) ---------- */
.grupro-slider { position: relative; overflow: hidden; }
.grupro-slider__track { display: flex; transition: transform .45s ease; }
.grupro-slider__slide { flex: 0 0 100%; }
.grupro-slider[data-per-view="4"] .grupro-slider__slide { flex-basis: 25%; padding: 0 12px; }
.grupro-slider__dots { display: flex; gap: 10px; padding: 24px var(--grupro-gutter) 0; }
.grupro-slider--equipo .grupro-slider__dots { justify-content: center; }
.grupro-slider__dots button { width: 10px; height: 10px; border-radius: 50%; border: 1.5px solid var(--grupro-navy); background: transparent; padding: 0; cursor: pointer; }
.grupro-slider__dots button[aria-current="true"] { background: var(--grupro-accent); border-color: var(--grupro-accent); }
.grupro-slider__arrow { position: absolute; top: 50%; transform: translateY(-50%); background: none; border: 0; font: 400 32px var(--grupro-font-body); color: var(--grupro-navy); cursor: pointer; padding: 8px 16px; z-index: 2; }
.grupro-slider__arrow--prev { left: 0; } .grupro-slider__arrow--next { right: 0; }

/* ---------- Casos de éxito ---------- */
.grupro-casos { background: var(--grupro-soft); padding: clamp(40px, 5vw, 80px) var(--grupro-gutter); }
.grupro-caso { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; padding: 0 clamp(24px, 6vw, 110px); }
.grupro-caso__media { aspect-ratio: 4/3; background: var(--grupro-grey); overflow: hidden; }
.grupro-caso__media img { width: 100%; height: 100%; object-fit: cover; }
.grupro-caso__title { font-size: 30px; margin-bottom: 20px; }
.grupro-caso__list { margin: 0 0 32px; padding-left: 18px; font-size: 15px; }
.grupro-caso__list li { margin-bottom: 8px; }

/* ---------- Equipo ---------- */
.grupro-persona { background: var(--grupro-white); box-shadow: 0 2px 12px rgba(43,60,78,.12); }
.grupro-persona__head { padding: 22px 18px 18px; }
.grupro-persona__name { font-size: 24px; }
.grupro-persona__role { font: 300 16px var(--grupro-font-body); color: var(--grupro-navy); margin: 4px 0 0; }
.grupro-persona__media { aspect-ratio: 1/1.1; background: var(--grupro-grey); }
.grupro-persona__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- Partners marquee ---------- */
.grupro-marquee { overflow: hidden; padding: 24px 0; }
.grupro-marquee__track { display: flex; gap: 72px; list-style: none; margin: 0; padding: 0; width: max-content; animation: grupro-marquee 40s linear infinite; }
.grupro-marquee__item img { height: 48px; width: auto; filter: brightness(0) invert(1); opacity: .9; }
@keyframes grupro-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .grupro-marquee__track { animation: none; flex-wrap: wrap; width: auto; justify-content: center; } }

/* ---------- Buscador ---------- */
.grupro-buscador { display: grid; grid-template-columns: 1fr 1.6fr 1.2fr auto; gap: 24px; align-items: center; background: var(--grupro-white); padding: 18px var(--grupro-gutter); box-shadow: 0 6px 18px rgba(43,60,78,.12); position: relative; z-index: 3; }
.grupro-buscador__field { border-left: 1px solid var(--grupro-grey); padding-left: 16px; display: flex; flex-direction: column; gap: 2px; }
.grupro-buscador__label { font: 400 18px var(--grupro-font-body); color: var(--grupro-navy); }
.grupro-buscador input[type="text"] { border: 0; outline: 0; font: 300 15px var(--grupro-font-body); color: var(--grupro-navy); background: transparent; }
.grupro-buscador input[type="text"]::placeholder { color: var(--grupro-grey); }
.grupro-range { position: relative; height: 28px; }
.grupro-range input[type="range"] { position: absolute; left: 0; right: 0; top: 12px; width: 100%; appearance: none; background: transparent; pointer-events: none; margin: 0; }
.grupro-range input[type="range"]::-webkit-slider-runnable-track { height: 2px; background: var(--grupro-navy); }
.grupro-range input[type="range"]::-webkit-slider-thumb { appearance: none; width: 12px; height: 12px; margin-top: -5px; border-radius: 50%; background: var(--grupro-navy); pointer-events: auto; cursor: pointer; }
.grupro-range input[type="range"]::-moz-range-thumb { width: 12px; height: 12px; border: 0; border-radius: 50%; background: var(--grupro-navy); pointer-events: auto; cursor: pointer; }
.grupro-range__out { position: absolute; top: -6px; left: 0; font: 400 11px var(--grupro-font-body); color: var(--grupro-navy); }
.grupro-buscador__submit { justify-self: end; }
.grupro-empty { font-family: var(--grupro-font-body); color: var(--grupro-text-2); padding: 40px var(--grupro-gutter); text-align: center; }
.grupro-paginacion { display: flex; justify-content: center; gap: 12px; padding: 32px 0; font-family: var(--grupro-font-body); }
.grupro-paginacion a, .grupro-paginacion span { color: var(--grupro-navy); text-decoration: none; padding: 6px 10px; }
.grupro-paginacion .current { border-bottom: 2px solid var(--grupro-accent); }
.grupro-directorio.is-loading { opacity: .5; pointer-events: none; }

/* ---------- Ficha ---------- */
.grupro-galeria { position: relative; background: var(--grupro-hero); overflow: hidden; }
.grupro-galeria__track { display: flex; height: clamp(320px, 42vw, 600px); transition: transform .45s ease; }
.grupro-galeria__slide { flex: 0 0 60%; margin: 0 1%; position: relative; background: var(--grupro-grey); }
.grupro-galeria__slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.grupro-galeria__slide iframe { width: 100%; height: 100%; border: 0; }
.grupro-galeria__play { position: absolute; inset: 0; margin: auto; width: 72px; height: 72px; border-radius: 50%; border: 0; background: rgba(43,60,78,.85); color: var(--grupro-white); display: grid; place-items: center; cursor: pointer; }
.grupro-galeria__play .grupro-icon { width: 32px; height: 32px; }
.grupro-galeria__nav { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 18px; color: var(--grupro-white); font: 400 18px var(--grupro-font-body); text-shadow: 0 1px 4px rgba(0,0,0,.5); }
.grupro-galeria__btn { background: none; border: 0; color: inherit; font: inherit; cursor: pointer; }

.grupro-banda { background: var(--grupro-accent); padding: clamp(32px, 4vw, 64px) 0; }
.grupro-banda__inner { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: start; }
.grupro-banda__title { font-size: clamp(30px, 3.4vw, 50px); color: var(--grupro-navy); margin-bottom: 10px; }
.grupro-banda__loc { font: 300 17px var(--grupro-font-body); letter-spacing: .02em; color: var(--grupro-navy); margin: 0 0 32px; }
.grupro-banda__price { font-family: var(--grupro-font-title); font-size: clamp(28px, 2.6vw, 40px); color: var(--grupro-navy); margin: 0; }
.grupro-banda__side { display: flex; flex-direction: column; align-items: flex-end; gap: 28px; }
.grupro-site-suelo_prom .grupro-banda .grupro-btn--navy { background: transparent; border-color: var(--grupro-navy); color: var(--grupro-navy); }

.grupro-ficha__cuerpo { display: grid; grid-template-columns: 1fr 440px; gap: 80px; padding-top: clamp(40px, 5vw, 90px); padding-bottom: clamp(40px, 5vw, 90px); }
.grupro-prose p:first-child { font-weight: 600; }
.grupro-ficha__h2 { font-family: var(--grupro-font-body); font-weight: 700; font-size: 15px; letter-spacing: .06em; text-transform: uppercase; margin: 48px 0 18px; padding-top: 32px; border-top: 1px solid var(--grupro-navy); }
.grupro-caract { display: grid; grid-template-columns: 1fr 1fr; gap: 0 60px; margin: 0; font-size: 15px; }
.grupro-caract__row { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; border-bottom: 1px solid var(--grupro-grey-light); }
.grupro-caract dt { font-weight: 300; } .grupro-caract dd { margin: 0; font-weight: 400; text-align: right; }
.grupro-docs { font-family: var(--grupro-font-body); font-size: 15px; }

.grupro-formcard { background: var(--grupro-white); box-shadow: 0 2px 14px rgba(43,60,78,.14); padding: 36px 40px; position: sticky; top: 120px; }
.grupro-formcard__head { display: flex; gap: 20px; justify-content: space-between; align-items: flex-start; margin-bottom: 24px; }
.grupro-formcard__head p { font: 300 16px/1.5 var(--grupro-font-body); color: var(--grupro-navy); margin: 8px 0 0; }
.grupro-formcard__title { font-size: 30px; }
.grupro-formcard__agente { width: 110px; height: 150px; object-fit: cover; flex: none; }

.grupro-relacionados-wrap { background: var(--grupro-soft); padding: clamp(48px, 6vw, 100px) 0; }

/* ---------- Botón flotante ---------- */
.grupro-float { position: fixed; right: 0; top: 45vh; z-index: 50; background: var(--grupro-accent); color: var(--grupro-navy); font: 600 15px var(--grupro-font-body); writing-mode: vertical-rl; transform: rotate(180deg); padding: 22px 12px; border-radius: 0 10px 10px 0; text-decoration: none; box-shadow: 0 2px 10px rgba(0,0,0,.2); }
.grupro-site-suelo_prom .grupro-float, .grupro-site-inversiones .grupro-float { color: var(--grupro-white); }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .grupro-ficha__cuerpo { grid-template-columns: 1fr; gap: 48px; }
  .grupro-formcard { position: static; }
  .grupro-grid-3 { grid-template-columns: 1fr 1fr; gap: 28px; }
  .grupro-grid-4 { grid-template-columns: 1fr 1fr; }
  .grupro-slider[data-per-view="4"] .grupro-slider__slide { flex-basis: 50%; }
  .grupro-buscador { grid-template-columns: 1fr 1fr; }
  .grupro-galeria__slide { flex-basis: 84%; }
}
@media (max-width: 680px) {
  .grupro-card--fila, .grupro-featured, .grupro-caso, .grupro-banda__inner { grid-template-columns: 1fr; }
  .grupro-card--fila.grupro-card--reverse .grupro-card__body { order: 0; }
  .grupro-card--fila .grupro-card__media, .grupro-featured__media { min-height: 240px; order: -1; }
  .grupro-grid-3, .grupro-grid-4 { grid-template-columns: 1fr; }
  .grupro-slider[data-per-view="4"] .grupro-slider__slide { flex-basis: 100%; }
  .grupro-buscador { grid-template-columns: 1fr; }
  .grupro-buscador__field { border-left: 0; padding-left: 0; }
  .grupro-banda__side { align-items: flex-start; }
  .grupro-caract { grid-template-columns: 1fr; }
  .grupro-formcard { padding: 24px; }
}

/* ---------- Blindaje frente a los estilos de etiqueta del kit de Elementor (.elementor-kit-N h1/h2/button) ---------- */
main.grupro-ficha h1.grupro-banda__title, main.grupro-ficha h2.grupro-formcard__title, main.grupro-ficha h2.grupro-h2,
.grupro-card h3.grupro-card__title, .grupro-featured h2.grupro-featured__title, .grupro-caso h3.grupro-caso__title, .grupro-persona h3.grupro-persona__name,
section.grupro-casos h2.grupro-h2, section.grupro-relacionados h2.grupro-h2 {
  font-family: var(--grupro-font-title); font-weight: 400; color: var(--grupro-navy); text-transform: none; letter-spacing: 0;
}
main.grupro-ficha h1.grupro-banda__title { font-size: clamp(28px, 3.4vw, 50px); line-height: 1.15; }
main.grupro-ficha h2.grupro-ficha__h2 { font-family: var(--grupro-font-body); font-weight: 700; font-size: 15px; letter-spacing: .06em; text-transform: uppercase; color: var(--grupro-navy); }
main.grupro-ficha button.grupro-galeria__btn, main.grupro-ficha button.grupro-galeria__play, .grupro-slider button, .grupro-slider__dots button {
  appearance: none; -webkit-appearance: none; box-shadow: none; text-transform: none; letter-spacing: 0;
}
main.grupro-ficha button.grupro-galeria__btn { background: none; border: 0; border-radius: 0; padding: 4px 10px; color: var(--grupro-white); font: 400 22px/1 var(--grupro-font-body); }
main.grupro-ficha button.grupro-galeria__btn:hover { background: none; color: var(--grupro-white); }
.grupro-badge--op { background: var(--grupro-grey); color: var(--grupro-navy); }
.grupro-cargar-mas { display: block; margin: 32px auto; }
button.grupro-cargar-mas[hidden] { display: none; }
@media (max-width: 680px) {
  .grupro-galeria__slide { flex-basis: 86%; }
  .grupro-galeria__track { height: 62vw; min-height: 240px; }
}

/* ---------- Ficha de caso de éxito (templates/single-caso.php) ---------- */
.grupro-hero-plano { background: var(--grupro-hero); padding: clamp(48px, 7vw, 110px) 0; }
main.grupro-ficha h1.grupro-hero-plano__title { font-family: var(--grupro-font-hero); font-weight: 400; color: var(--grupro-navy); font-size: clamp(32px, 3.8vw, 54px); line-height: 1.15; text-transform: none; letter-spacing: 0; max-width: 18ch; margin: 0; }
.grupro-caso-single__top { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; padding-top: clamp(40px, 5vw, 90px); }
.grupro-caso-single__media { aspect-ratio: 4/3; background: var(--grupro-grey); overflow: hidden; }
.grupro-caso-single__media img { width: 100%; height: 100%; object-fit: cover; }
.grupro-caso-single__datos .grupro-caso__list { margin-bottom: 28px; }
.grupro-caso-single .grupro-ficha__cuerpo { padding-top: clamp(32px, 4vw, 64px); }
@media (max-width: 1024px) { .grupro-caso-single__top { grid-template-columns: 1fr; gap: 32px; } }

/* Elementor aplica `.elementor img { height:auto }` con la misma especificidad y se carga después: se refuerza para que los
   recortes 4:3 llenen su caja también cuando el shortcode va dentro de una página de Elementor. */
.elementor .grupro-card__media img, .elementor .grupro-caso__media img, .elementor .grupro-persona__media img,
.elementor .grupro-galeria__slide img, .elementor .grupro-caso-single__media img, .elementor .grupro-featured__media img {
  width: 100%; height: 100%; object-fit: cover;
}
.elementor .grupro-marquee__item img { height: 48px; width: auto; }

/* Tamaños de título con la misma especificidad que el kit (.elementor-kit-N h2/h3), que en móvil los dejaba a 46px */
.grupro-featured h2.grupro-featured__title { font-size: clamp(30px, 3vw, 44px); }
.grupro-card h3.grupro-card__title { font-size: clamp(22px, 2vw, 30px); }
.grupro-card--grid h3.grupro-card__title { font-size: 24px; }
.grupro-caso h3.grupro-caso__title { font-size: clamp(24px, 2.2vw, 30px); }
.grupro-persona h3.grupro-persona__name { font-size: 24px; }
section.grupro-casos h2.grupro-h2, section.grupro-relacionados h2.grupro-h2, main.grupro-ficha h2.grupro-h2 { font-size: clamp(28px, 3.2vw, 46px); }

/* Carrusel de equipo: flechas fuera de las tarjetas y desplazamiento más suave (avanza de una en una) */
.grupro-slider--equipo { padding: 0 48px; }
.grupro-slider--equipo .grupro-slider__track { transition: transform .7s cubic-bezier(.22,.61,.36,1); }
.grupro-slider--equipo .grupro-slider__arrow--prev { left: 0; } .grupro-slider--equipo .grupro-slider__arrow--next { right: 0; }
@media (max-width: 680px) { .grupro-slider--equipo { padding: 0 32px; } }
